From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8A09C43381 for ; Fri, 15 Mar 2019 01:47:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2FBF12085A for ; Fri, 15 Mar 2019 01:47:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726844AbfCOBrx (ORCPT ); Thu, 14 Mar 2019 21:47:53 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:51924 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726571AbfCOBrx (ORCPT ); Thu, 14 Mar 2019 21:47:53 -0400 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::3d5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id D63A414D85C70 for ; Thu, 14 Mar 2019 18:47:47 -0700 (PDT) Date: Thu, 14 Mar 2019 18:47:45 -0700 (PDT) Message-Id: <20190314.184745.1825414914048598600.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Thu_Mar_14_18_47_45_2019_728)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Thu, 14 Mar 2019 18:47:49 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Thu_Mar_14_18_47_45_2019_728)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following bug fixes for v4.20 and v5.0 -stable, respectively. Thank you! ----Next_Part(Thu_Mar_14_18_47_45_2019_728)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_420.mbox" RnJvbSAwYzQ1NjBkMWRlNGExZDM4MThiMTIxMWExNzM3MjZkNjNkOTNjZWQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaSBSb25nUWluZyA8bGlyb25ncWluZ0BiYWlkdS5jb20+CkRh dGU6IFdlZCwgNiBNYXIgMjAxOSAxNDo0NjoyNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMzhd IGNvbm5lY3RvcjogZml4IHVuc2FmZSB1c2FnZSBvZiAtPnJlYWxfcGFyZW50CgpbIFVwc3RyZWFt IGNvbW1pdCA2ZDJiMGYwMmY1YTA3YTRiZjAyZTRjYmM5MGQ3ZWFhODVjYWMyOTg2IF0KCnByb2Nf ZXhpdF9jb25uZWN0b3IoKSB1c2VzIC0+cmVhbF9wYXJlbnQgbG9ja2xlc3MuIFRoaXMgaXMgbm90 CnNhZmUgdGhhdCBpdHMgcGFyZW50IGNhbiBnbyBhd2F5IGF0IGFueSBtb21lbnQsIHNvIHVzZSBS Q1UgdG8KcHJvdGVjdCBpdCwgYW5kIGVuc3VyZSB0aGF0IHRoaXMgdGFzayBpcyBub3QgcmVsZWFz ZWQuCgpbICA3NDcuNjI0NTUxXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KWyAgNzQ3LjYzMjk0Nl0gQlVHOiBLQVNBTjog dXNlLWFmdGVyLWZyZWUgaW4gcHJvY19leGl0X2Nvbm5lY3RvcisweDFmNy8weDMxMApbICA3NDcu NjQwNjg2XSBSZWFkIG9mIHNpemUgNCBhdCBhZGRyIGZmZmY4OGEwMjc2OTg4ZTAgYnkgdGFzayBz c2hkLzI4ODIKWyAgNzQ3LjY0ODAzMl0KWyAgNzQ3LjY0OTgwNF0gQ1BVOiAxMSBQSUQ6IDI4ODIg Q29tbTogc3NoZCBUYWludGVkOiBHICAgICAgICAgICAgRSAgICAgNC4xOS4yNi1yYzIgIzExClsg IDc0Ny42NTg2MjldIEhhcmR3YXJlIG5hbWU6IElCTSB4MzU1ME00IC1bNzkxNE9GVl0tLzAwQU01 NDQsIEJJT1MgLVtEN0UxNDJCVVMtMS43MV0tIDA3LzMxLzIwMTQKWyAgNzQ3LjY2ODQxOV0gQ2Fs bCBUcmFjZToKWyAgNzQ3LjY3MTI2OV0gIGR1bXBfc3RhY2srMHhmMC8weDE5YgpbICA3NDcuNjc1 MTg2XSAgPyBzaG93X3JlZ3NfcHJpbnRfaW5mbysweDUvMHg1ClsgIDc0Ny42Nzk5ODhdICA/IGtt c2dfZHVtcF9yZXdpbmRfbm9sb2NrKzB4NTkvMHg1OQpbICA3NDcuNjg1MzAyXSAgcHJpbnRfYWRk cmVzc19kZXNjcmlwdGlvbisweDZhLzB4MjcwClsgIDc0Ny42OTExNjJdICBrYXNhbl9yZXBvcnQr MHgyNTgvMHgzODAKWyAgNzQ3LjY5NTgzNV0gID8gcHJvY19leGl0X2Nvbm5lY3RvcisweDFmNy8w eDMxMApbICA3NDcuNzAxNDAyXSAgcHJvY19leGl0X2Nvbm5lY3RvcisweDFmNy8weDMxMApbICA3 NDcuNzA2NzY3XSAgPyBwcm9jX2NvcmVkdW1wX2Nvbm5lY3RvcisweDJkMC8weDJkMApbICA3NDcu NzEyNzE1XSAgPyBfcmF3X3dyaXRlX3VubG9ja19pcnErMHgyOS8weDUwClsgIDc0Ny43MTgyNzBd ICA/IF9yYXdfd3JpdGVfdW5sb2NrX2lycSsweDI5LzB4NTAKWyAgNzQ3LjcyMzgyMF0gID8gX19f cHJlZW1wdF9zY2hlZHVsZSsweDE2LzB4MTgKWyAgNzQ3LjcyOTE5M10gID8gX19fcHJlZW1wdF9z Y2hlZHVsZSsweDE2LzB4MTgKWyAgNzQ3LjczNDU3NF0gIGRvX2V4aXQrMHhhMTEvMHgxNGYwClsg IDc0Ny43Mzg4ODBdICA/IG1tX3VwZGF0ZV9uZXh0X293bmVyKzB4NTkwLzB4NTkwClsgIDc0Ny43 NDQ1MjVdICA/IGRlYnVnX3Nob3dfYWxsX2xvY2tzKzB4M2MwLzB4M2MwClsgIDc0Ny43NjE0NDhd ICA/IGt0aW1lX2dldF9jb2Fyc2VfcmVhbF90czY0KzB4ZWIvMHgxYzAKWyAgNzQ3Ljc2NzU4OV0g ID8gbG9ja2RlcF9oYXJkaXJxc19vbisweDFhNi8weDI5MApbICA3NDcuNzczMTU0XSAgPyBjaGVj a19jaGFpbl9rZXkrMHgxMzkvMHgxZjAKWyAgNzQ3Ljc3ODM0NV0gID8gY2hlY2tfZmxhZ3MucGFy dC4zNSsweDI0MC8weDI0MApbICA3NDcuNzgzOTA4XSAgPyBfX2xvY2tfYWNxdWlyZSsweDIzMDAv MHgyMzAwClsgIDc0Ny43ODkxNzFdICA/IF9yYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDU5 LzB4NzAKWyAgNzQ3Ljc5NTMxNl0gID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4NTkv MHg3MApbICA3NDcuODAxNDU3XSAgPyBkb19yYXdfc3Bpbl91bmxvY2srMHgxMGYvMHgxZTAKWyAg NzQ3LjgwNjkxNF0gID8gZG9fcmF3X3NwaW5fdHJ5bG9jaysweDEyMC8weDEyMApbICA3NDcuODEy NDgxXSAgPyBwcmVlbXB0X2NvdW50X3N1YisweDE0LzB4YzAKWyAgNzQ3LjgxNzY0NV0gID8gX3Jh d19zcGluX3VubG9jaysweDJlLzB4NTAKWyAgNzQ3LjgyMjcwOF0gID8gX19oYW5kbGVfbW1fZmF1 bHQrMHgxMmRiLzB4MWZhMApbICA3NDcuODI4MzY3XSAgPyBfX3BtZF9hbGxvYysweDJkMC8weDJk MApbICA3NDcuODMzMTQzXSAgPyBjaGVja19ub25jaXJjdWxhcisweDUwLzB4NTAKWyAgNzQ3Ljgz ODMwOV0gID8gbWF0Y2hfaGVsZF9sb2NrKzB4N2YvMHgzNDAKWyAgNzQ3Ljg0MzM4MF0gID8gY2hl Y2tfbm9uY2lyY3VsYXIrMHg1MC8weDUwClsgIDc0Ny44NDg1NjFdICA/IGhhbmRsZV9tbV9mYXVs dCsweDIxYS8weDVmMApbICA3NDcuODUzNzMwXSAgPyBjaGVja19mbGFncy5wYXJ0LjM1KzB4MjQw LzB4MjQwClsgIDc0Ny44NTkyOTBdICA/IGNoZWNrX2NoYWluX2tleSsweDEzOS8weDFmMApbICA3 NDcuODY0NDc0XSAgPyBfX2RvX3BhZ2VfZmF1bHQrMHg0MGYvMHg3NjAKWyAgNzQ3Ljg2OTY1NV0g ID8gX19hdWRpdF9zeXNjYWxsX2VudHJ5KzB4NGIvMHgxZjAKWyAgNzQ3Ljg3NTMxOV0gID8gc3lz Y2FsbF90cmFjZV9lbnRlcisweDFkNS8weDdiMApbICA3NDcuODgwODc3XSAgPyB0cmFjZV9yYXdf b3V0cHV0X3ByZWVtcHRpcnFfdGVtcGxhdGUrMHg5MC8weDkwClsgIDc0Ny44ODc4OTVdICA/IHRy YWNlX3Jhd19vdXRwdXRfc3lzX2V4aXQrMHg4MC8weDgwClsgIDc0Ny44OTM4NjBdICA/IHVwX3Jl YWQrMHgzYi8weDkwClsgIDc0Ny44OTgxNDJdICA/IHN0b3BfY3JpdGljYWxfdGltaW5ncysweDI2 MC8weDI2MApbICA3NDcuOTAzOTA5XSAgZG9fZ3JvdXBfZXhpdCsweGUwLzB4MWMwClsgIDc0Ny45 MDg1OTFdICA/IF9feDY0X3N5c19leGl0KzB4MzAvMHgzMApbICA3NDcuOTEzNDYwXSAgPyB0cmFj ZV9yYXdfb3V0cHV0X3ByZWVtcHRpcnFfdGVtcGxhdGUrMHg5MC8weDkwClsgIDc0Ny45MjA0ODVd ICA/IHRyYWNlcl9oYXJkaXJxc19vbisweDI3MC8weDI3MApbICA3NDcuOTI1OTU2XSAgX194NjRf c3lzX2V4aXRfZ3JvdXArMHgyOC8weDMwClsgIDc0Ny45MzEyMTRdICBkb19zeXNjYWxsXzY0KzB4 MTE3LzB4NDAwClsgIDc0Ny45MzU5ODhdICA/IHN5c2NhbGxfcmV0dXJuX3Nsb3dwYXRoKzB4MmYw LzB4MmYwClsgIDc0Ny45NDE5MzFdICA/IHRyYWNlX2hhcmRpcnFzX29mZl90aHVuaysweDFhLzB4 MWMKWyAgNzQ3Ljk0Nzc4OF0gID8gdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKzB4MWQwLzB4MWQw ClsgIDc0Ny45NTM4MzhdICA/IGxvY2tkZXBfc3lzX2V4aXQrMHgxNi8weDhlClsgIDc0Ny45NTg5 MTVdICA/IHRyYWNlX2hhcmRpcnFzX29mZl90aHVuaysweDFhLzB4MWMKWyAgNzQ3Ljk2NDc4NF0g IGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKWyAgNzQ3Ljk3MTAyMV0g UklQOiAwMDMzOjB4N2Y1NzJmMTU0YzY4ClsgIDc0Ny45NzU2MDZdIENvZGU6IEJhZCBSSVAgdmFs dWUuClsgIDc0Ny45Nzk3OTFdIFJTUDogMDAyYjowMDAwN2ZmZWQyZGZhYTU4IEVGTEFHUzogMDAw MDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwZTcKWyAgNzQ3Ljk4OTMyNF0gUkFYOiBmZmZm ZmZmZmZmZmZmZmRhIFJCWDogMDAwMDdmNTcyZjQzMTg0MCBSQ1g6IDAwMDA3ZjU3MmYxNTRjNjgK WyAgNzQ3Ljk5NzkxMF0gUkRYOiAwMDAwMDAwMDAwMDAwMDAxIFJTSTogMDAwMDAwMDAwMDAwMDAz YyBSREk6IDAwMDAwMDAwMDAwMDAwMDEKWyAgNzQ4LjAwNjQ5NV0gUkJQOiAwMDAwMDAwMDAwMDAw MDAxIFIwODogMDAwMDAwMDAwMDAwMDBlNyBSMDk6IGZmZmZmZmZmZmZmZmZlZTAKWyAgNzQ4LjAx NTA3OV0gUjEwOiAwMDAwN2Y1NzJmNDM4N2U4IFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAw MDA3ZjU3MmY0MzE4NDAKWyAgNzQ4LjAyMzY2NF0gUjEzOiAwMDAwNTVhN2Y5MGYyYzUwIFIxNDog MDAwMDU1YTdmOTZlMjMxMCBSMTU6IDAwMDA1NWE3Zjk2ZTIzMTAKWyAgNzQ4LjAzMjI4N10KWyAg NzQ4LjAzNDUwOV0gQWxsb2NhdGVkIGJ5IHRhc2sgMjMwMDoKWyAgNzQ4LjAzODk4Ml0gIGthc2Fu X2ttYWxsb2MrMHhhMC8weGQwClsgIDc0OC4wNDM1NjJdICBrbWVtX2NhY2hlX2FsbG9jX25vZGUr MHhmNS8weDJlMApbICA3NDguMDQ5MDE4XSAgY29weV9wcm9jZXNzKzB4MTc4MS8weDQ3OTAKWyAg NzQ4LjA1Mzg4NF0gIF9kb19mb3JrKzB4MTY2LzB4OWEwClsgIDc0OC4wNTgxNjNdICBkb19zeXNj YWxsXzY0KzB4MTE3LzB4NDAwClsgIDc0OC4wNjI5NDNdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVy X2h3ZnJhbWUrMHg0OS8weGJlClsgIDc0OC4wNjkxODBdClsgIDc0OC4wNzE0MDVdIEZyZWVkIGJ5 IHRhc2sgMTUzOTU6ClsgIDc0OC4wNzU1OTFdICBfX2thc2FuX3NsYWJfZnJlZSsweDEzMC8weDE4 MApbICA3NDguMDgwNzUyXSAga21lbV9jYWNoZV9mcmVlKzB4YzIvMHgzMTAKWyAgNzQ4LjA4NTYx OV0gIGZyZWVfdGFzaysweGVhLzB4MTMwClsgIDc0OC4wODk5MDFdICBfX3B1dF90YXNrX3N0cnVj dCsweDE3Ny8weDIzMApbICA3NDguMDk1MDYzXSAgZmluaXNoX3Rhc2tfc3dpdGNoKzB4NTFiLzB4 NWQwClsgIDc0OC4xMDAzMTVdICBfX3NjaGVkdWxlKzB4NTA2LzB4ZmEwClsgIDc0OC4xMDQ3OTFd ICBzY2hlZHVsZSsweGNhLzB4MjYwClsgIDc0OC4xMDg5NzhdICBmdXRleF93YWl0X3F1ZXVlX21l KzB4MjdlLzB4NDIwClsgIDc0OC4xMTQzMzNdICBmdXRleF93YWl0KzB4MjUxLzB4NTUwClsgIDc0 OC4xMTg4MTRdICBkb19mdXRleCsweDc1Yi8weGY4MApbICA3NDguMTIzMDk3XSAgX194NjRfc3lz X2Z1dGV4KzB4MjMxLzB4MmEwClsgIDc0OC4xMjgwNjVdICBkb19zeXNjYWxsXzY0KzB4MTE3LzB4 NDAwClsgIDc0OC4xMzI4MzVdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8w eGJlClsgIDc0OC4xMzkwNjZdClsgIDc0OC4xNDEyODldIFRoZSBidWdneSBhZGRyZXNzIGJlbG9u Z3MgdG8gdGhlIG9iamVjdCBhdCBmZmZmODhhMDI3Njk4MDAwClsgIDc0OC4xNDEyODldICB3aGlj aCBiZWxvbmdzIHRvIHRoZSBjYWNoZSB0YXNrX3N0cnVjdCBvZiBzaXplIDEyMTYwClsgIDc0OC4x NTY1ODldIFRoZSBidWdneSBhZGRyZXNzIGlzIGxvY2F0ZWQgMjI3MiBieXRlcyBpbnNpZGUgb2YK WyAgNzQ4LjE1NjU4OV0gIDEyMTYwLWJ5dGUgcmVnaW9uIFtmZmZmODhhMDI3Njk4MDAwLCBmZmZm ODhhMDI3NjlhZjgwKQpbICA3NDguMTcxMTE0XSBUaGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRv IHRoZSBwYWdlOgpbICA3NDguMTc3MDU1XSBwYWdlOmZmZmZlYTAwODA5ZGE2MDAgY291bnQ6MSBt YXBjb3VudDowIG1hcHBpbmc6ZmZmZjg4ODEwN2QwMWUwMCBpbmRleDoweDAgY29tcG91bmRfbWFw Y291bnQ6IDAKWyAgNzQ4LjE4OTEzNl0gZmxhZ3M6IDB4NTdmZmZmYzAwMDgxMDAoc2xhYnxoZWFk KQpbICA3NDguMTk0Njg4XSByYXc6IDAwNTdmZmZmYzAwMDgxMDAgZmZmZmVhMDA4MDlhMzIwMCAw MDAwMDAwMzAwMDAwMDAzIGZmZmY4ODgxMDdkMDFlMDAKWyAgNzQ4LjIwNDQyNF0gcmF3OiAwMDAw MDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMjAwMDIgMDAwMDAwMDFmZmZmZmZmZiAwMDAwMDAwMDAw MDAwMDAwClsgIDc0OC4yMTQxNDZdIHBhZ2UgZHVtcGVkIGJlY2F1c2U6IGthc2FuOiBiYWQgYWNj ZXNzIGRldGVjdGVkClsgIDc0OC4yMjA5NzZdClsgIDc0OC4yMjMxOTddIE1lbW9yeSBzdGF0ZSBh cm91bmQgdGhlIGJ1Z2d5IGFkZHJlc3M6ClsgIDc0OC4yMjkxMjhdICBmZmZmODhhMDI3Njk4Nzgw OiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbICA3NDgu MjM4MjcxXSAgZmZmZjg4YTAyNzY5ODgwMDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIKWyAgNzQ4LjI0NzQxNF0gPmZmZmY4OGEwMjc2OTg4ODA6IGZiIGZi IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiClsgIDc0OC4yNTY1NjRd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe ClsgIDc0OC4yNjQyNjddICBmZmZmODhhMDI3Njk4OTAwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbICA3NDguMjczNDkzXSAgZmZmZjg4YTAyNzY5ODk4 MDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKWyAgNzQ4 LjI4MjYzMF0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CgpGaXhlczogYjA4NmZmODcyNTFiNGE0ICgiY29ubmVjdG9yOiBh ZGQgcGFyZW50IHBpZCBhbmQgdGdpZCB0byBjb3JlZHVtcCBhbmQgZXhpdCBldmVudHMiKQpTaWdu ZWQtb2ZmLWJ5OiBaaGFuZyBZdSA8emhhbmd5dTMxQGJhaWR1LmNvbT4KU2lnbmVkLW9mZi1ieTog TGkgUm9uZ1FpbmcgPGxpcm9uZ3FpbmdAYmFpZHUuY29tPgpBY2tlZC1ieTogRXZnZW5peSBQb2x5 YWtvdiA8emJyQGlvcmVtYXAubmV0PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9jb25uZWN0b3IvY25fcHJvYy5jIHwgMjIg KysrKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb25uZWN0b3IvY25fcHJvYy5j IGIvZHJpdmVycy9jb25uZWN0b3IvY25fcHJvYy5jCmluZGV4IGVkNWU0MjQ2MTA5NC4uYWQ0OGZk NTJjYjUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Nvbm5lY3Rvci9jbl9wcm9jLmMKKysrIGIvZHJp dmVycy9jb25uZWN0b3IvY25fcHJvYy5jCkBAIC0yNTAsNiArMjUwLDcgQEAgdm9pZCBwcm9jX2Nv cmVkdW1wX2Nvbm5lY3RvcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCiB7CiAJc3RydWN0IGNu X21zZyAqbXNnOwogCXN0cnVjdCBwcm9jX2V2ZW50ICpldjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3Qg KnBhcmVudDsKIAlfX3U4IGJ1ZmZlcltDTl9QUk9DX01TR19TSVpFXSBfX2FsaWduZWQoOCk7CiAK IAlpZiAoYXRvbWljX3JlYWQoJnByb2NfZXZlbnRfbnVtX2xpc3RlbmVycykgPCAxKQpAQCAtMjYy LDggKzI2MywxNCBAQCB2b2lkIHByb2NfY29yZWR1bXBfY29ubmVjdG9yKHN0cnVjdCB0YXNrX3N0 cnVjdCAqdGFzaykKIAlldi0+d2hhdCA9IFBST0NfRVZFTlRfQ09SRURVTVA7CiAJZXYtPmV2ZW50 X2RhdGEuY29yZWR1bXAucHJvY2Vzc19waWQgPSB0YXNrLT5waWQ7CiAJZXYtPmV2ZW50X2RhdGEu Y29yZWR1bXAucHJvY2Vzc190Z2lkID0gdGFzay0+dGdpZDsKLQlldi0+ZXZlbnRfZGF0YS5jb3Jl ZHVtcC5wYXJlbnRfcGlkID0gdGFzay0+cmVhbF9wYXJlbnQtPnBpZDsKLQlldi0+ZXZlbnRfZGF0 YS5jb3JlZHVtcC5wYXJlbnRfdGdpZCA9IHRhc2stPnJlYWxfcGFyZW50LT50Z2lkOworCisJcmN1 X3JlYWRfbG9jaygpOworCWlmIChwaWRfYWxpdmUodGFzaykpIHsKKwkJcGFyZW50ID0gcmN1X2Rl cmVmZXJlbmNlKHRhc2stPnJlYWxfcGFyZW50KTsKKwkJZXYtPmV2ZW50X2RhdGEuY29yZWR1bXAu cGFyZW50X3BpZCA9IHBhcmVudC0+cGlkOworCQlldi0+ZXZlbnRfZGF0YS5jb3JlZHVtcC5wYXJl bnRfdGdpZCA9IHBhcmVudC0+dGdpZDsKKwl9CisJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAltZW1j cHkoJm1zZy0+aWQsICZjbl9wcm9jX2V2ZW50X2lkLCBzaXplb2YobXNnLT5pZCkpOwogCW1zZy0+ YWNrID0gMDsgLyogbm90IHVzZWQgKi8KQEAgLTI3Niw2ICsyODMsNyBAQCB2b2lkIHByb2NfZXhp dF9jb25uZWN0b3Ioc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQogewogCXN0cnVjdCBjbl9tc2cg Km1zZzsKIAlzdHJ1Y3QgcHJvY19ldmVudCAqZXY7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwYXJl bnQ7CiAJX191OCBidWZmZXJbQ05fUFJPQ19NU0dfU0laRV0gX19hbGlnbmVkKDgpOwogCiAJaWYg KGF0b21pY19yZWFkKCZwcm9jX2V2ZW50X251bV9saXN0ZW5lcnMpIDwgMSkKQEAgLTI5MCw4ICsy OTgsMTQgQEAgdm9pZCBwcm9jX2V4aXRfY29ubmVjdG9yKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFz aykKIAlldi0+ZXZlbnRfZGF0YS5leGl0LnByb2Nlc3NfdGdpZCA9IHRhc2stPnRnaWQ7CiAJZXYt PmV2ZW50X2RhdGEuZXhpdC5leGl0X2NvZGUgPSB0YXNrLT5leGl0X2NvZGU7CiAJZXYtPmV2ZW50 X2RhdGEuZXhpdC5leGl0X3NpZ25hbCA9IHRhc2stPmV4aXRfc2lnbmFsOwotCWV2LT5ldmVudF9k YXRhLmV4aXQucGFyZW50X3BpZCA9IHRhc2stPnJlYWxfcGFyZW50LT5waWQ7Ci0JZXYtPmV2ZW50 X2RhdGEuZXhpdC5wYXJlbnRfdGdpZCA9IHRhc2stPnJlYWxfcGFyZW50LT50Z2lkOworCisJcmN1 X3JlYWRfbG9jaygpOworCWlmIChwaWRfYWxpdmUodGFzaykpIHsKKwkJcGFyZW50ID0gcmN1X2Rl cmVmZXJlbmNlKHRhc2stPnJlYWxfcGFyZW50KTsKKwkJZXYtPmV2ZW50X2RhdGEuZXhpdC5wYXJl bnRfcGlkID0gcGFyZW50LT5waWQ7CisJCWV2LT5ldmVudF9kYXRhLmV4aXQucGFyZW50X3RnaWQg PSBwYXJlbnQtPnRnaWQ7CisJfQorCXJjdV9yZWFkX3VubG9jaygpOwogCiAJbWVtY3B5KCZtc2ct PmlkLCAmY25fcHJvY19ldmVudF9pZCwgc2l6ZW9mKG1zZy0+aWQpKTsKIAltc2ctPmFjayA9IDA7 IC8qIG5vdCB1c2VkICovCi0tIAoyLjIwLjEKCgpGcm9tIGQxNzRjMjA2YjZhODczYTY4MGQ3MjFh MGZjODNiMmE1NjYwMmY1ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogU3VuLCAxMCBNYXIgMjAxOSAxMDozOToz NyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMzhdIGdyb19jZWxsczogbWFrZSBzdXJlIGRldmlj ZSBpcyB1cCBpbgogZ3JvX2NlbGxzX3JlY2VpdmUoKQoKWyBVcHN0cmVhbSBjb21taXQgMmE1ZmYw N2EwZWI5NDVmMjkxZTM2MWFhNmY2YmVjY2E4MzQwYmE0NiBdCgpXZSBrZWVwIHJlY2VpdmluZyBz eXpib3QgcmVwb3J0cyBbMV0gdGhhdCBzaG93IHRoYXQgdHVubmVscyBkbyBub3QgcGxheQp0aGUg cmN1L0lGRl9VUCBydWxlcyBwcm9wZXJseS4KCkF0IGRldmljZSBkaXNtYW50bGUgcGhhc2UsIGdy b19jZWxsc19kZXN0cm95KCkgd2lsbCBiZSBjYWxsZWQKb25seSBhZnRlciBhIGZ1bGwgcmN1IGdy YWNlIHBlcmlvZCBpcyBvYnNlcnZlZCBhZnRlciBJRkZfVVAKaGFzIGJlZW4gY2xlYXJlZC4KClRo aXMgbWVhbnMgdGhhdCBJRkZfVVAgbmVlZHMgdG8gYmUgdGVzdGVkIGJlZm9yZSBxdWV1ZWluZyBw YWNrZXRzCmludG8gbmV0aWZfcngoKSBvciBncm9fY2VsbHMuCgpUaGlzIHBhdGNoIGltcGxlbWVu dHMgdGhlIHRlc3QgaW4gZ3JvX2NlbGxzX3JlY2VpdmUoKSBiZWNhdXNlCnRvbyBtYW55IGNhbGxl cnMgZG8gbm90IHNlZW0gdG8gYm90aGVyIGVub3VnaC4KClsxXQpCVUc6IHVuYWJsZSB0byBoYW5k bGUga2VybmVsIHBhZ2luZyByZXF1ZXN0IGF0IGZmZmZmNGNhMGI5ZmZmZmUKUEdEIDAgUDREIDAK T29wczogMDAwMCBbIzFdIFBSRUVNUFQgU01QIEtBU0FOCkNQVTogMCBQSUQ6IDIxIENvbW06IGt3 b3JrZXIvdTQ6MSBOb3QgdGFpbnRlZCA1LjAuMCsgIzk3CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBH b29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAw MS8wMS8yMDExCldvcmtxdWV1ZTogbmV0bnMgY2xlYW51cF9uZXQKUklQOiAwMDEwOl9fc2tiX3Vu bGluayBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oOjE5MjkgW2lubGluZV0KUklQOiAwMDEwOl9fc2ti X2RlcXVldWUgaW5jbHVkZS9saW51eC9za2J1ZmYuaDoxOTQ1IFtpbmxpbmVdClJJUDogMDAxMDpf X3NrYl9xdWV1ZV9wdXJnZSBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oOjI2NTYgW2lubGluZV0KUklQ OiAwMDEwOmdyb19jZWxsc19kZXN0cm95IG5ldC9jb3JlL2dyb19jZWxscy5jOjg5IFtpbmxpbmVd ClJJUDogMDAxMDpncm9fY2VsbHNfZGVzdHJveSsweDE5ZC8weDM2MCBuZXQvY29yZS9ncm9fY2Vs bHMuYzo3OApDb2RlOiAwMyA0MiA4MCAzYyAyMCAwMCAwZiA4NSA1MyAwMSAwMCAwMCA0OCA4ZCA3 YSAwOCA0OSA4YiA0NyAwOCA0OSBjNyAwNyAwMCAwMCAwMCAwMCA0OCA4OSBmOSA0OSBjNyA0NyAw OCAwMCAwMCAwMCAwMCA0OCBjMSBlOSAwMyA8NDI+IDgwIDNjIDIxIDAwIDBmIDg1IDEwIDAxIDAw IDAwIDQ4IDg5IGMxIDQ4IDg5IDQyIDA4IDQ4IGMxIGU5IDAzClJTUDogMDAxODpmZmZmODg4MGFh M2Y3OWE4IEVGTEFHUzogMDAwMTBhMDIKUkFYOiAwMGZmZmZmZmZmZmZmZmU4IFJCWDogZmZmZmU4 ZmZmZmM2NGI3MCBSQ1g6IDFmZmZmOGNhMGI5ZmZmZmUKUkRYOiBmZmZmYzY1MDVjZmZmZmU4IFJT STogZmZmZmZmZmY4NTg0MTBjYSBSREk6IGZmZmZjNjUwNWNmZmZmZjAKUkJQOiBmZmZmODg4MGFh M2Y3YTA4IFIwODogZmZmZjg4ODBhYTNlODU4MCBSMDk6IGZmZmZmYmZmZjEyNjM2NDUKUjEwOiBm ZmZmZmJmZmYxMjYzNjQ0IFIxMTogZmZmZmZmZmY4OTMxYjIyMyBSMTI6IGRmZmZmYzAwMDAwMDAw MDAKUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogZmZmZmU4ZmZmZmM2NGI4MCBSMTU6IGZmZmZl OGZmZmZjNjRiNzUKa29iamVjdDogJ2xvb3AyJyAoMDAwMDAwMDA0YmQ3ZDg0YSk6IGtvYmplY3Rf dWV2ZW50X2VudgpGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4ODBhZTgwMDAw MCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAw MCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiBmZmZmZjRjYTBiOWZmZmZlIENSMzogMDAwMDAw MDA5NDk0MTAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZjAKQ2FsbCBUcmFjZToKa29iamVjdDogJ2xv b3AyJyAoMDAwMDAwMDA0YmQ3ZDg0YSk6IGZpbGxfa29ial9wYXRoOiBwYXRoID0gJy9kZXZpY2Vz L3ZpcnR1YWwvYmxvY2svbG9vcDInCiBpcF90dW5uZWxfZGV2X2ZyZWUrMHgxOS8weDYwIG5ldC9p cHY0L2lwX3R1bm5lbC5jOjEwMTAKIG5ldGRldl9ydW5fdG9kbysweDUxYy8weDdkMCBuZXQvY29y ZS9kZXYuYzo4OTcwCiBydG5sX3VubG9jaysweGUvMHgxMCBuZXQvY29yZS9ydG5ldGxpbmsuYzox MTYKIGlwX3R1bm5lbF9kZWxldGVfbmV0cysweDQyMy8weDVmMCBuZXQvaXB2NC9pcF90dW5uZWwu YzoxMTI0CiB2dGlfZXhpdF9iYXRjaF9uZXQrMHgyMy8weDMwIG5ldC9pcHY0L2lwX3Z0aS5jOjQ5 NQogb3BzX2V4aXRfbGlzdC5pc3JhLjArMHgxMDUvMHgxNjAgbmV0L2NvcmUvbmV0X25hbWVzcGFj ZS5jOjE1NgogY2xlYW51cF9uZXQrMHgzZmIvMHg5NjAgbmV0L2NvcmUvbmV0X25hbWVzcGFjZS5j OjU1MQogcHJvY2Vzc19vbmVfd29yaysweDk4ZS8weDE3OTAga2VybmVsL3dvcmtxdWV1ZS5jOjIx NzMKIHdvcmtlcl90aHJlYWQrMHg5OC8weGU0MCBrZXJuZWwvd29ya3F1ZXVlLmM6MjMxOQoga3Ro cmVhZCsweDM1Ny8weDQzMCBrZXJuZWwva3RocmVhZC5jOjI0NgogcmV0X2Zyb21fZm9yaysweDNh LzB4NTAgYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUzozNTIKTW9kdWxlcyBsaW5rZWQgaW46CkNS MjogZmZmZmY0Y2EwYjlmZmZmZQogICBbIGVuZCB0cmFjZSA1MTNmYzljMTMzOGQxY2IzIF0KUklQ OiAwMDEwOl9fc2tiX3VubGluayBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oOjE5MjkgW2lubGluZV0K UklQOiAwMDEwOl9fc2tiX2RlcXVldWUgaW5jbHVkZS9saW51eC9za2J1ZmYuaDoxOTQ1IFtpbmxp bmVdClJJUDogMDAxMDpfX3NrYl9xdWV1ZV9wdXJnZSBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oOjI2 NTYgW2lubGluZV0KUklQOiAwMDEwOmdyb19jZWxsc19kZXN0cm95IG5ldC9jb3JlL2dyb19jZWxs cy5jOjg5IFtpbmxpbmVdClJJUDogMDAxMDpncm9fY2VsbHNfZGVzdHJveSsweDE5ZC8weDM2MCBu ZXQvY29yZS9ncm9fY2VsbHMuYzo3OApDb2RlOiAwMyA0MiA4MCAzYyAyMCAwMCAwZiA4NSA1MyAw MSAwMCAwMCA0OCA4ZCA3YSAwOCA0OSA4YiA0NyAwOCA0OSBjNyAwNyAwMCAwMCAwMCAwMCA0OCA4 OSBmOSA0OSBjNyA0NyAwOCAwMCAwMCAwMCAwMCA0OCBjMSBlOSAwMyA8NDI+IDgwIDNjIDIxIDAw IDBmIDg1IDEwIDAxIDAwIDAwIDQ4IDg5IGMxIDQ4IDg5IDQyIDA4IDQ4IGMxIGU5IDAzClJTUDog MDAxODpmZmZmODg4MGFhM2Y3OWE4IEVGTEFHUzogMDAwMTBhMDIKUkFYOiAwMGZmZmZmZmZmZmZm ZmU4IFJCWDogZmZmZmU4ZmZmZmM2NGI3MCBSQ1g6IDFmZmZmOGNhMGI5ZmZmZmUKUkRYOiBmZmZm YzY1MDVjZmZmZmU4IFJTSTogZmZmZmZmZmY4NTg0MTBjYSBSREk6IGZmZmZjNjUwNWNmZmZmZjAK UkJQOiBmZmZmODg4MGFhM2Y3YTA4IFIwODogZmZmZjg4ODBhYTNlODU4MCBSMDk6IGZmZmZmYmZm ZjEyNjM2NDUKUjEwOiBmZmZmZmJmZmYxMjYzNjQ0IFIxMTogZmZmZmZmZmY4OTMxYjIyMyBSMTI6 IGRmZmZmYzAwMDAwMDAwMDAKa29iamVjdDogJ2xvb3AzJyAoMDAwMDAwMDBlNGVlNTdhNik6IGtv YmplY3RfdWV2ZW50X2VudgpSMTM6IDAwMDAwMDAwMDAwMDAwMDAgUjE0OiBmZmZmZThmZmZmYzY0 YjgwIFIxNTogZmZmZmU4ZmZmZmM2NGI3NQpGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6 ZmZmZjg4ODBhZTgwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNTOiAgMDAxMCBE UzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiBmZmZmZjRjYTBiOWZm ZmZlIENSMzogMDAwMDAwMDA5NDk0MTAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZjAKCkZpeGVzOiBj OWU2YmM2NDRlNTUgKCJuZXQ6IGFkZCBncm9fY2VsbHMgaW5mcmFzdHJ1Y3R1cmUiKQpTaWduZWQt b2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBz eXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZ3JvX2NlbGxzLmMg fCAyMiArKysrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9ncm9fY2VsbHMuYyBi L25ldC9jb3JlL2dyb19jZWxscy5jCmluZGV4IGFjZjQ1ZGRiZTkyNC4uZTA5NWZiODcxZDkxIDEw MDY0NAotLS0gYS9uZXQvY29yZS9ncm9fY2VsbHMuYworKysgYi9uZXQvY29yZS9ncm9fY2VsbHMu YwpAQCAtMTMsMjIgKzEzLDM2IEBAIGludCBncm9fY2VsbHNfcmVjZWl2ZShzdHJ1Y3QgZ3JvX2Nl bGxzICpnY2VsbHMsIHN0cnVjdCBza19idWZmICpza2IpCiB7CiAJc3RydWN0IG5ldF9kZXZpY2Ug KmRldiA9IHNrYi0+ZGV2OwogCXN0cnVjdCBncm9fY2VsbCAqY2VsbDsKKwlpbnQgcmVzOwogCi0J aWYgKCFnY2VsbHMtPmNlbGxzIHx8IHNrYl9jbG9uZWQoc2tiKSB8fCBuZXRpZl9lbGlkZV9ncm8o ZGV2KSkKLQkJcmV0dXJuIG5ldGlmX3J4KHNrYik7CisJcmN1X3JlYWRfbG9jaygpOworCWlmICh1 bmxpa2VseSghKGRldi0+ZmxhZ3MgJiBJRkZfVVApKSkKKwkJZ290byBkcm9wOworCisJaWYgKCFn Y2VsbHMtPmNlbGxzIHx8IHNrYl9jbG9uZWQoc2tiKSB8fCBuZXRpZl9lbGlkZV9ncm8oZGV2KSkg eworCQlyZXMgPSBuZXRpZl9yeChza2IpOworCQlnb3RvIHVubG9jazsKKwl9CiAKIAljZWxsID0g dGhpc19jcHVfcHRyKGdjZWxscy0+Y2VsbHMpOwogCiAJaWYgKHNrYl9xdWV1ZV9sZW4oJmNlbGwt Pm5hcGlfc2ticykgPiBuZXRkZXZfbWF4X2JhY2tsb2cpIHsKK2Ryb3A6CiAJCWF0b21pY19sb25n X2luYygmZGV2LT5yeF9kcm9wcGVkKTsKIAkJa2ZyZWVfc2tiKHNrYik7Ci0JCXJldHVybiBORVRf UlhfRFJPUDsKKwkJcmVzID0gTkVUX1JYX0RST1A7CisJCWdvdG8gdW5sb2NrOwogCX0KIAogCV9f c2tiX3F1ZXVlX3RhaWwoJmNlbGwtPm5hcGlfc2ticywgc2tiKTsKIAlpZiAoc2tiX3F1ZXVlX2xl bigmY2VsbC0+bmFwaV9za2JzKSA9PSAxKQogCQluYXBpX3NjaGVkdWxlKCZjZWxsLT5uYXBpKTsK LQlyZXR1cm4gTkVUX1JYX1NVQ0NFU1M7CisKKwlyZXMgPSBORVRfUlhfU1VDQ0VTUzsKKwordW5s b2NrOgorCXJjdV9yZWFkX3VubG9jaygpOworCXJldHVybiByZXM7CiB9CiBFWFBPUlRfU1lNQk9M KGdyb19jZWxsc19yZWNlaXZlKTsKIAotLSAKMi4yMC4xCgoKRnJvbSA0YzU2ZmRiMTQ1MTA1NWZi YWVjZGVjNzI4NjQzZWRlOGZlMzhiODE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQ YW9sbyBBYmVuaSA8cGFiZW5pQHJlZGhhdC5jb20+CkRhdGU6IFdlZCwgNiBNYXIgMjAxOSAxMDo0 Mjo1MyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMzhdIGlwdjQvcm91dGU6IGZhaWwgZWFybHkg d2hlbiBpbmV0IGRldiBpcyBtaXNzaW5nCgpbIFVwc3RyZWFtIGNvbW1pdCAyMmM3NDc2NGFhMjk0 M2VjZGY5ZjA3YzkwMGQ4YTljOGJhNmM5MjY1IF0KCklmIGEgbm9uIGxvY2FsIG11bHRpY2FzdCBw YWNrZXQgcmVhY2hlcyBpcF9yb3V0ZV9pbnB1dF9yY3UoKSB3aGlsZQp0aGUgaW5ncmVzcyBkZXZp Y2UgSVB2NCBwcml2YXRlIGRhdGEgKGluX2RldikgaXMgTlVMTCwgd2UgZW5kIHVwCmRvaW5nIGEg TlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIElOX0RFVl9NRk9SV0FSRCgpLgoKU2luY2UgdGhl IGxhdGVyIGNhbGwgdG8gaXBfcm91dGVfaW5wdXRfbWMoKSBpcyBnb2luZyB0byBmYWlsIGlmCiFp bl9kZXYsIHdlIGNhbiBmYWlsIGVhcmx5IGluIHN1Y2ggc2NlbmFyaW8gYW5kIGF2b2lkIHRoZSBk YW5nZXJvdXMKY29kZSBwYXRoLgoKdjEgLT4gdjI6CiAtIGNsYXJpZmllZCB0aGUgY29tbWl0IG1l c3NhZ2UsIG5vIGNvZGUgY2hhbmdlcwoKUmVwb3J0ZWQtYnk6IFRpYW5oYW8gWmhhbyA8dGl6aGFv QHJlZGhhdC5jb20+CkZpeGVzOiBlNThlNDE1OTY4MTEgKCJuZXQ6IEVuYWJsZSBzdXBwb3J0IGZv ciBWUkYgd2l0aCBpcHY0IG11bHRpY2FzdCIpClNpZ25lZC1vZmYtYnk6IFBhb2xvIEFiZW5pIDxw YWJlbmlAcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWls LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9pcHY0L3JvdXRlLmMgfCA5ICsrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUg aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9yb3V0 ZS5jIGIvbmV0L2lwdjQvcm91dGUuYwppbmRleCBlZmU0NTIwMGRiNGYuLmE1NmM3M2VlOTY1YiAx MDA2NDQKLS0tIGEvbmV0L2lwdjQvcm91dGUuYworKysgYi9uZXQvaXB2NC9yb3V0ZS5jCkBAIC0y MTQ0LDEyICsyMTQ0LDEzIEBAIGludCBpcF9yb3V0ZV9pbnB1dF9yY3Uoc3RydWN0IHNrX2J1ZmYg KnNrYiwgX19iZTMyIGRhZGRyLCBfX2JlMzIgc2FkZHIsCiAJCWludCBvdXIgPSAwOwogCQlpbnQg ZXJyID0gLUVJTlZBTDsKIAotCQlpZiAoaW5fZGV2KQotCQkJb3VyID0gaXBfY2hlY2tfbWNfcmN1 KGluX2RldiwgZGFkZHIsIHNhZGRyLAotCQkJCQkgICAgICBpcF9oZHIoc2tiKS0+cHJvdG9jb2wp OworCQlpZiAoIWluX2RldikKKwkJCXJldHVybiBlcnI7CisJCW91ciA9IGlwX2NoZWNrX21jX3Jj dShpbl9kZXYsIGRhZGRyLCBzYWRkciwKKwkJCQkgICAgICBpcF9oZHIoc2tiKS0+cHJvdG9jb2wp OwogCiAJCS8qIGNoZWNrIGwzIG1hc3RlciBpZiBubyBtYXRjaCB5ZXQgKi8KLQkJaWYgKCghaW5f ZGV2IHx8ICFvdXIpICYmIG5ldGlmX2lzX2wzX3NsYXZlKGRldikpIHsKKwkJaWYgKCFvdXIgJiYg bmV0aWZfaXNfbDNfc2xhdmUoZGV2KSkgewogCQkJc3RydWN0IGluX2RldmljZSAqbDNfaW5fZGV2 OwogCiAJCQlsM19pbl9kZXYgPSBfX2luX2Rldl9nZXRfcmN1KHNrYi0+ZGV2KTsKLS0gCjIuMjAu MQoKCkZyb20gZjhhYTQ3ZGEzOGYxNTExZjBjNmZiNGZkMTdjZDIwMDhkODIwZGEyYSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpEYXRlOiBUdWUsIDEyIE1hciAyMDE5IDA2OjUwOjExIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAw NC8zOF0gbDJ0cDogZml4IGluZm9sZWFrIGluIGwydHBfaXA2X3JlY3Ztc2coKQoKWyBVcHN0cmVh bSBjb21taXQgMTYzZDFjM2Q2ZjE3NTU2ZWQzYzM0MGQzNzg5ZWE5M2JlOTVkNmMyOCBdCgpCYWNr IGluIDIwMTMgSGFubmVzIHRvb2sgY2FyZSBvZiBtb3N0IG9mIHN1Y2ggbGVha3MgaW4gY29tbWl0 CmJjZWFhOTAyNDBiNiAoImluZXQ6IHByZXZlbnQgbGVha2FnZSBvZiB1bmluaXRpYWxpemVkIG1l bW9yeSB0byB1c2VyIGluIHJlY3Ygc3lzY2FsbHMiKQoKQnV0IHRoZSBidWcgaW4gbDJ0cF9pcDZf cmVjdm1zZygpIGhhcyBub3QgYmVlbiBmaXhlZC4KCnN5emJvdCByZXBvcnQgOgoKQlVHOiBLTVNB Tjoga2VybmVsLWluZm9sZWFrIGluIF9jb3B5X3RvX3VzZXIrMHgxNmIvMHgxZjAgbGliL3VzZXJj b3B5LmM6MzIKQ1BVOiAxIFBJRDogMTA5OTYgQ29tbTogc3l6LWV4ZWN1dG9yMzYyIE5vdCB0YWlu dGVkIDUuMC4wKyAjMTEKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2lu ZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKQ2FsbCBUcmFj ZToKIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBkdW1wX3N0YWNr KzB4MTczLzB4MWQwIGxpYi9kdW1wX3N0YWNrLmM6MTEzCiBrbXNhbl9yZXBvcnQrMHgxMmUvMHgy YTAgbW0va21zYW4va21zYW4uYzo2MDAKIGttc2FuX2ludGVybmFsX2NoZWNrX21lbW9yeSsweDlm NC8weGIxMCBtbS9rbXNhbi9rbXNhbi5jOjY5NAoga21zYW5fY29weV90b191c2VyKzB4YWIvMHhj MCBtbS9rbXNhbi9rbXNhbl9ob29rcy5jOjYwMQogX2NvcHlfdG9fdXNlcisweDE2Yi8weDFmMCBs aWIvdXNlcmNvcHkuYzozMgogY29weV90b191c2VyIGluY2x1ZGUvbGludXgvdWFjY2Vzcy5oOjE3 NCBbaW5saW5lXQogbW92ZV9hZGRyX3RvX3VzZXIrMHgzMTEvMHg1NzAgbmV0L3NvY2tldC5jOjIy NwogX19fc3lzX3JlY3Ztc2crMHhiNjUvMHgxMzEwIG5ldC9zb2NrZXQuYzoyMjgzCiBkb19yZWN2 bW1zZysweDY0Ni8weDEwYzAgbmV0L3NvY2tldC5jOjIzOTAKIF9fc3lzX3JlY3ZtbXNnIG5ldC9z b2NrZXQuYzoyNDY5IFtpbmxpbmVdCiBfX2RvX3N5c19yZWN2bW1zZyBuZXQvc29ja2V0LmM6MjQ5 MiBbaW5saW5lXQogX19zZV9zeXNfcmVjdm1tc2crMHgxZDEvMHgzNTAgbmV0L3NvY2tldC5jOjI0 ODUKIF9feDY0X3N5c19yZWN2bW1zZysweDYyLzB4ODAgbmV0L3NvY2tldC5jOjI0ODUKIGRvX3N5 c2NhbGxfNjQrMHhiYy8weGYwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MQogZW50cnlfU1lT Q0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NjMvMHhlNwpSSVA6IDAwMzM6MHg0NDU4MTkKQ29kZTog ZTggNmMgYjYgMDIgMDAgNDggODMgYzQgMTggYzMgMGYgMWYgODAgMDAgMDAgMDAgMDAgNDggODkg ZjggNDggODkgZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMg MjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiAwZiA4MyAyYiAxMiBmYyBmZiBjMyA2NiAy ZSAwZiAxZiA4NCAwMCAwMCAwMCAwMApSU1A6IDAwMmI6MDAwMDdmNjQ0NTNlZGRiOCBFRkxBR1M6 IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMTJiClJBWDogZmZmZmZmZmZmZmZmZmZk YSBSQlg6IDAwMDAwMDAwMDA2ZGFjMjggUkNYOiAwMDAwMDAwMDAwNDQ1ODE5ClJEWDogMDAwMDAw MDAwMDAwMDAwNSBSU0k6IDAwMDAwMDAwMjAwMDJmODAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClJC UDogMDAwMDAwMDAwMDZkYWMyMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAw MDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAw MDAwMDAwMDAwNmRhYzJjClIxMzogMDAwMDdmZmViYThmODdhZiBSMTQ6IDAwMDA3ZjY0NDUzZWU5 YzAgUjE1OiAyMGM0OWJhNWUzNTNmN2NmCgpMb2NhbCB2YXJpYWJsZSBkZXNjcmlwdGlvbjogLS0t LWFkZHJAX19fc3lzX3JlY3Ztc2cKVmFyaWFibGUgd2FzIGNyZWF0ZWQgYXQ6CiBfX19zeXNfcmVj dm1zZysweGY2LzB4MTMxMCBuZXQvc29ja2V0LmM6MjI0NAogZG9fcmVjdm1tc2crMHg2NDYvMHgx MGMwIG5ldC9zb2NrZXQuYzoyMzkwCgpCeXRlcyAwLTMxIG9mIDMyIGFyZSB1bmluaXRpYWxpemVk Ck1lbW9yeSBhY2Nlc3Mgb2Ygc2l6ZSAzMiBzdGFydHMgYXQgZmZmZjg4ODBhZTYyZmJiMApEYXRh IGNvcGllZCB0byB1c2VyIGFkZHJlc3MgMDAwMDAwMDAyMDAwMDAwMAoKRml4ZXM6IGEzMmUwZWVj NzA0MiAoImwydHA6IGludHJvZHVjZSBMMlRQdjMgSVAgZW5jYXBzdWxhdGlvbiBzdXBwb3J0IGZv ciBJUHY2IikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9s MnRwL2wydHBfaXA2LmMgfCA0ICstLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvbDJ0cC9sMnRwX2lwNi5jIGIvbmV0L2wy dHAvbDJ0cF9pcDYuYwppbmRleCAwYWU2ODk5ZWRhYzAuLjM3YTY5ZGYxN2NhYiAxMDA2NDQKLS0t IGEvbmV0L2wydHAvbDJ0cF9pcDYuYworKysgYi9uZXQvbDJ0cC9sMnRwX2lwNi5jCkBAIC02NzQs OSArNjc0LDYgQEAgc3RhdGljIGludCBsMnRwX2lwNl9yZWN2bXNnKHN0cnVjdCBzb2NrICpzaywg c3RydWN0IG1zZ2hkciAqbXNnLCBzaXplX3QgbGVuLAogCWlmIChmbGFncyAmIE1TR19PT0IpCiAJ CWdvdG8gb3V0OwogCi0JaWYgKGFkZHJfbGVuKQotCQkqYWRkcl9sZW4gPSBzaXplb2YoKmxzYSk7 Ci0KIAlpZiAoZmxhZ3MgJiBNU0dfRVJSUVVFVUUpCiAJCXJldHVybiBpcHY2X3JlY3ZfZXJyb3Io c2ssIG1zZywgbGVuLCBhZGRyX2xlbik7CiAKQEAgLTcwNiw2ICs3MDMsNyBAQCBzdGF0aWMgaW50 IGwydHBfaXA2X3JlY3Ztc2coc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgbXNnaGRyICptc2csIHNp emVfdCBsZW4sCiAJCWxzYS0+bDJ0cF9jb25uX2lkID0gMDsKIAkJaWYgKGlwdjZfYWRkcl90eXBl KCZsc2EtPmwydHBfYWRkcikgJiBJUFY2X0FERFJfTElOS0xPQ0FMKQogCQkJbHNhLT5sMnRwX3Nj b3BlX2lkID0gaW5ldDZfaWlmKHNrYik7CisJCSphZGRyX2xlbiA9IHNpemVvZigqbHNhKTsKIAl9 CiAKIAlpZiAobnAtPnJ4b3B0LmFsbCkKLS0gCjIuMjAuMQoKCkZyb20gOTcxMjlmYWNkNGQ5MTU4 Y2E5NzYxNDY3NzRiYWRhYjQyMDgwZjQyMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog QnJ5YW4gV2hpdGVoZWFkIDxCcnlhbi5XaGl0ZWhlYWRAbWljcm9jaGlwLmNvbT4KRGF0ZTogTW9u LCAxMSBNYXIgMjAxOSAxMzozOTozOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMzhdIGxhbjc0 M3g6IEZpeCBSWCBLZXJuZWwgUGFuaWMKClsgVXBzdHJlYW0gY29tbWl0IGRkOWQ5ZjU5MDdiYjQ3 NWY4YjE3OTZjNDdkNGVjYzdmYjliNzIxMzYgXQoKSXQgaGFzIGJlZW4gbm90aWNlZCB0aGF0IHJ1 bm5pbmcgdGhlIHNwZWVkIHRlc3QgYXQKd3d3LnNwZWVkdGVzdC5uZXQgb2NjYXNpb25hbGx5IGNh dXNlcyBhIGtlcm5lbCBwYW5pYy4KCkludmVzdGlnYXRpb24gcmV2ZWFsZWQgdGhhdCB1bmRlciB0 aGlzIHRlc3QgUlggYnVmZmVyIGFsbG9jYXRpb24Kc29tZXRpbWVzIGZhaWxzIGFuZCByZXR1cm5z IE5VTEwuIEJ1dCB0aGUgbGFuNzQzeCBkcml2ZXIgZGlkCm5vdCBoYW5kbGUgdGhpcyBjYXNlLgoK VGhpcyBwYXRjaCBmaXhlcyB0aGlzIGlzc3VlIGJ5IGF0dGVtcHRpbmcgdG8gYWxsb2NhdGUgYSBi dWZmZXIKYmVmb3JlIHNlbmRpbmcgdGhlIG5ldyByeCBwYWNrZXQgdG8gdGhlIE9TLiBJZiB0aGUg YWxsb2NhdGlvbgpmYWlscyB0aGVuIHRoZSBuZXcgcnggcGFja2V0IGlzIGRyb3BwZWQgYW5kIHRo ZSBleGlzdGluZyBidWZmZXIKaXMgcmV1c2VkIGluIHRoZSBETUEgcmluZy4KClVwZGF0ZXMgZm9y IHYyOgogICAgQWRkaXRpb25hbCAyIGxvY2F0aW9ucyB3aGVyZSBhbGxvY2F0aW9uIHdhcyBub3Qg Y2hlY2tlZCwKICAgICAgICBoYXMgYmVlbiBjaGFuZ2VkIHRvIHJldXNlIGV4aXN0aW5nIGJ1ZmZl ci4KCkZpeGVzOiAyM2YwNzAzYzEyNWIgKCJsYW43NDN4OiBBZGQgbWFpbiBzb3VyY2UgZmlsZXMg Zm9yIG5ldyBsYW43NDN4IGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IEJyeWFuIFdoaXRlaGVhZCA8 QnJ5YW4uV2hpdGVoZWFkQG1pY3JvY2hpcC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9taWNy b2NoaXAvbGFuNzQzeF9tYWluLmMgfCA0NiArKysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWljcm9jaGlwL2xhbjc0M3hfbWFpbi5jIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWljcm9jaGlwL2xhbjc0M3hfbWFpbi5jCmluZGV4IDY3MWVhNzVkMGE0YS4uOWM3 YTY3OTlhYzAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9taWNyb2NoaXAvbGFu NzQzeF9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWljcm9jaGlwL2xhbjc0M3hf bWFpbi5jCkBAIC0xOTAyLDcgKzE5MDIsMTcgQEAgc3RhdGljIGludCBsYW43NDN4X3J4X25leHRf aW5kZXgoc3RydWN0IGxhbjc0M3hfcnggKnJ4LCBpbnQgaW5kZXgpCiAJcmV0dXJuICgoKytpbmRl eCkgJSByeC0+cmluZ19zaXplKTsKIH0KIAotc3RhdGljIGludCBsYW43NDN4X3J4X2FsbG9jYXRl X3JpbmdfZWxlbWVudChzdHJ1Y3QgbGFuNzQzeF9yeCAqcngsIGludCBpbmRleCkKK3N0YXRpYyBz dHJ1Y3Qgc2tfYnVmZiAqbGFuNzQzeF9yeF9hbGxvY2F0ZV9za2Ioc3RydWN0IGxhbjc0M3hfcngg KnJ4KQoreworCWludCBsZW5ndGggPSAwOworCisJbGVuZ3RoID0gKExBTjc0M1hfTUFYX0ZSQU1F X1NJWkUgKyBFVEhfSExFTiArIDQgKyBSWF9IRUFEX1BBRERJTkcpOworCXJldHVybiBfX25ldGRl dl9hbGxvY19za2IocngtPmFkYXB0ZXItPm5ldGRldiwKKwkJCQkgIGxlbmd0aCwgR0ZQX0FUT01J QyB8IEdGUF9ETUEpOworfQorCitzdGF0aWMgaW50IGxhbjc0M3hfcnhfaW5pdF9yaW5nX2VsZW1l bnQoc3RydWN0IGxhbjc0M3hfcnggKnJ4LCBpbnQgaW5kZXgsCisJCQkJCXN0cnVjdCBza19idWZm ICpza2IpCiB7CiAJc3RydWN0IGxhbjc0M3hfcnhfYnVmZmVyX2luZm8gKmJ1ZmZlcl9pbmZvOwog CXN0cnVjdCBsYW43NDN4X3J4X2Rlc2NyaXB0b3IgKmRlc2NyaXB0b3I7CkBAIC0xOTExLDkgKzE5 MjEsNyBAQCBzdGF0aWMgaW50IGxhbjc0M3hfcnhfYWxsb2NhdGVfcmluZ19lbGVtZW50KHN0cnVj dCBsYW43NDN4X3J4ICpyeCwgaW50IGluZGV4KQogCWxlbmd0aCA9IChMQU43NDNYX01BWF9GUkFN RV9TSVpFICsgRVRIX0hMRU4gKyA0ICsgUlhfSEVBRF9QQURESU5HKTsKIAlkZXNjcmlwdG9yID0g JnJ4LT5yaW5nX2NwdV9wdHJbaW5kZXhdOwogCWJ1ZmZlcl9pbmZvID0gJnJ4LT5idWZmZXJfaW5m b1tpbmRleF07Ci0JYnVmZmVyX2luZm8tPnNrYiA9IF9fbmV0ZGV2X2FsbG9jX3NrYihyeC0+YWRh cHRlci0+bmV0ZGV2LAotCQkJCQkgICAgICBsZW5ndGgsCi0JCQkJCSAgICAgIEdGUF9BVE9NSUMg fCBHRlBfRE1BKTsKKwlidWZmZXJfaW5mby0+c2tiID0gc2tiOwogCWlmICghKGJ1ZmZlcl9pbmZv LT5za2IpKQogCQlyZXR1cm4gLUVOT01FTTsKIAlidWZmZXJfaW5mby0+ZG1hX3B0ciA9IGRtYV9t YXBfc2luZ2xlKCZyeC0+YWRhcHRlci0+cGRldi0+ZGV2LApAQCAtMjA2MCw4ICsyMDY4LDE5IEBA IHN0YXRpYyBpbnQgbGFuNzQzeF9yeF9wcm9jZXNzX3BhY2tldChzdHJ1Y3QgbGFuNzQzeF9yeCAq cngpCiAJCS8qIHBhY2tldCBpcyBhdmFpbGFibGUgKi8KIAkJaWYgKGZpcnN0X2luZGV4ID09IGxh c3RfaW5kZXgpIHsKIAkJCS8qIHNpbmdsZSBidWZmZXIgcGFja2V0ICovCisJCQlzdHJ1Y3Qgc2tf YnVmZiAqbmV3X3NrYiA9IE5VTEw7CiAJCQlpbnQgcGFja2V0X2xlbmd0aDsKIAorCQkJbmV3X3Nr YiA9IGxhbjc0M3hfcnhfYWxsb2NhdGVfc2tiKHJ4KTsKKwkJCWlmICghbmV3X3NrYikgeworCQkJ CS8qIGZhaWxlZCB0byBhbGxvY2F0ZSBuZXh0IHNrYi4KKwkJCQkgKiBNZW1vcnkgaXMgdmVyeSBs b3cuCisJCQkJICogRHJvcCB0aGlzIHBhY2tldCBhbmQgcmV1c2UgYnVmZmVyLgorCQkJCSAqLwor CQkJCWxhbjc0M3hfcnhfcmV1c2VfcmluZ19lbGVtZW50KHJ4LCBmaXJzdF9pbmRleCk7CisJCQkJ Z290byBwcm9jZXNzX2V4dGVuc2lvbjsKKwkJCX0KKwogCQkJYnVmZmVyX2luZm8gPSAmcngtPmJ1 ZmZlcl9pbmZvW2ZpcnN0X2luZGV4XTsKIAkJCXNrYiA9IGJ1ZmZlcl9pbmZvLT5za2I7CiAJCQlk ZXNjcmlwdG9yID0gJnJ4LT5yaW5nX2NwdV9wdHJbZmlyc3RfaW5kZXhdOwpAQCAtMjA4MSw3ICsy MTAwLDcgQEAgc3RhdGljIGludCBsYW43NDN4X3J4X3Byb2Nlc3NfcGFja2V0KHN0cnVjdCBsYW43 NDN4X3J4ICpyeCkKIAkJCXNrYl9wdXQoc2tiLCBwYWNrZXRfbGVuZ3RoIC0gNCk7CiAJCQlza2It PnByb3RvY29sID0gZXRoX3R5cGVfdHJhbnMoc2tiLAogCQkJCQkJICAgICAgIHJ4LT5hZGFwdGVy LT5uZXRkZXYpOwotCQkJbGFuNzQzeF9yeF9hbGxvY2F0ZV9yaW5nX2VsZW1lbnQocngsIGZpcnN0 X2luZGV4KTsKKwkJCWxhbjc0M3hfcnhfaW5pdF9yaW5nX2VsZW1lbnQocngsIGZpcnN0X2luZGV4 LCBuZXdfc2tiKTsKIAkJfSBlbHNlIHsKIAkJCWludCBpbmRleCA9IGZpcnN0X2luZGV4OwogCkBA IC0yMDk0LDI2ICsyMTEzLDIzIEBAIHN0YXRpYyBpbnQgbGFuNzQzeF9yeF9wcm9jZXNzX3BhY2tl dChzdHJ1Y3QgbGFuNzQzeF9yeCAqcngpCiAJCQlpZiAoZmlyc3RfaW5kZXggPD0gbGFzdF9pbmRl eCkgewogCQkJCXdoaWxlICgoaW5kZXggPj0gZmlyc3RfaW5kZXgpICYmCiAJCQkJICAgICAgIChp bmRleCA8PSBsYXN0X2luZGV4KSkgewotCQkJCQlsYW43NDN4X3J4X3JlbGVhc2VfcmluZ19lbGVt ZW50KHJ4LAotCQkJCQkJCQkJaW5kZXgpOwotCQkJCQlsYW43NDN4X3J4X2FsbG9jYXRlX3Jpbmdf ZWxlbWVudChyeCwKLQkJCQkJCQkJCSBpbmRleCk7CisJCQkJCWxhbjc0M3hfcnhfcmV1c2Vfcmlu Z19lbGVtZW50KHJ4LAorCQkJCQkJCQkgICAgICBpbmRleCk7CiAJCQkJCWluZGV4ID0gbGFuNzQz eF9yeF9uZXh0X2luZGV4KHJ4LAogCQkJCQkJCQkgICAgICBpbmRleCk7CiAJCQkJfQogCQkJfSBl bHNlIHsKIAkJCQl3aGlsZSAoKGluZGV4ID49IGZpcnN0X2luZGV4KSB8fAogCQkJCSAgICAgICAo aW5kZXggPD0gbGFzdF9pbmRleCkpIHsKLQkJCQkJbGFuNzQzeF9yeF9yZWxlYXNlX3JpbmdfZWxl bWVudChyeCwKLQkJCQkJCQkJCWluZGV4KTsKLQkJCQkJbGFuNzQzeF9yeF9hbGxvY2F0ZV9yaW5n X2VsZW1lbnQocngsCi0JCQkJCQkJCQkgaW5kZXgpOworCQkJCQlsYW43NDN4X3J4X3JldXNlX3Jp bmdfZWxlbWVudChyeCwKKwkJCQkJCQkJICAgICAgaW5kZXgpOwogCQkJCQlpbmRleCA9IGxhbjc0 M3hfcnhfbmV4dF9pbmRleChyeCwKIAkJCQkJCQkJICAgICAgaW5kZXgpOwogCQkJCX0KIAkJCX0K IAkJfQogCitwcm9jZXNzX2V4dGVuc2lvbjoKIAkJaWYgKGV4dGVuc2lvbl9pbmRleCA+PSAwKSB7 CiAJCQlkZXNjcmlwdG9yID0gJnJ4LT5yaW5nX2NwdV9wdHJbZXh0ZW5zaW9uX2luZGV4XTsKIAkJ CWJ1ZmZlcl9pbmZvID0gJnJ4LT5idWZmZXJfaW5mb1tleHRlbnNpb25faW5kZXhdOwpAQCAtMjI5 MCw3ICsyMzA2LDkgQEAgc3RhdGljIGludCBsYW43NDN4X3J4X3JpbmdfaW5pdChzdHJ1Y3QgbGFu NzQzeF9yeCAqcngpCiAKIAlyeC0+bGFzdF9oZWFkID0gMDsKIAlmb3IgKGluZGV4ID0gMDsgaW5k ZXggPCByeC0+cmluZ19zaXplOyBpbmRleCsrKSB7Ci0JCXJldCA9IGxhbjc0M3hfcnhfYWxsb2Nh dGVfcmluZ19lbGVtZW50KHJ4LCBpbmRleCk7CisJCXN0cnVjdCBza19idWZmICpuZXdfc2tiID0g bGFuNzQzeF9yeF9hbGxvY2F0ZV9za2IocngpOworCisJCXJldCA9IGxhbjc0M3hfcnhfaW5pdF9y aW5nX2VsZW1lbnQocngsIGluZGV4LCBuZXdfc2tiKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gY2xl YW51cDsKIAl9Ci0tIAoyLjIwLjEKCgpGcm9tIDNjMzI4Y2RkMDA3N2M1NjZjNzE2NTg2YTRjOGQ5 ODkzY2EwMzQ1MjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEJyeWFuIFdoaXRlaGVh ZCA8QnJ5YW4uV2hpdGVoZWFkQG1pY3JvY2hpcC5jb20+CkRhdGU6IFdlZCwgMTMgTWFyIDIwMTkg MTU6NTU6NDggLTA0MDAKU3ViamVjdDogW1BBVENIIDA2LzM4XSBsYW43NDN4OiBGaXggVFggU3Rh bGwgSXNzdWUKClsgVXBzdHJlYW0gY29tbWl0IGRlYjZiZmFiZGJiNjM0ZTkxZjM2YTRlOWNiMDBh NzEzN2Q3MmQ4ODYgXQoKSXQgaGFzIGJlZW4gb2JzZXJ2ZWQgdGhhdCB0eCBxdWV1ZSBtYXkgc3Rh bGwgd2hpbGUgZG93bmxvYWRpbmcKZnJvbSBjZXJ0YWluIHdlYiBzaXRlcyAoZXhhbXBsZSB3d3cu c3BlZWR0ZXN0Lm5ldCkKClRoZSBjYXVzZSBoYXMgYmVlbiB0cmFja2VkIGRvd24gdG8gYSBjb3Ju ZXIgY2FzZSB3aGVyZQp0aGUgdHggaW50ZXJydXB0IHZlY3RvciB3YXMgZGlzYWJsZWQgYXV0b21h dGljYWxseSwgYnV0CndhcyBub3QgcmUgZW5hYmxlZCBsYXRlci4KClRoZSBsYW43NDN4IGhhcyB0 d28gbWVjaGFuaXNtcyB0byBlbmFibGUvZGlzYWJsZSBpbmRpdmlkdWFsCmludGVycnVwdHMuIElu dGVycnVwdHMgY2FuIGJlIGVuYWJsZWQvZGlzYWJsZWQgYnkgaW5kaXZpZHVhbApzb3VyY2UsIGFu ZCB0aGV5IGNhbiBhbHNvIGJlIGVuYWJsZWQvZGlzYWJsZWQgYnkgaW5kaXZpZHVhbAp2ZWN0b3Ig d2hpY2ggaGFzIGJlZW4gbWFwcGVkIHRvIHRoZSBzb3VyY2UuIEJvdGggbXVzdCBiZQplbmFibGVk IGZvciBpbnRlcnJ1cHRzIHRvIHdvcmsgcHJvcGVybHkuCgpUaGUgVFggY29kZSBwYXRoLCBwcmlt YXJpbHkgdXNlcyB0aGUgaW50ZXJydXB0IGVuYWJsZS9kaXNhYmxlIG9mCnRoZSBUWCBzb3VyY2Ug Yml0LCB3aGlsZSBsZWF2aW5nIHRoZSB2ZWN0b3IgZW5hYmxlZCBhbGwgdGhlIHRpbWUuCgpIb3dl dmVyLCB3aGlsZSBpbnZlc3RpZ2F0aW5nIHRoaXMgaXNzdWUgaXQgd2FzIG5vdGljZWQgdGhhdAp0 aGUgZHJpdmVyIHJlcXVlc3RlZCB0aGUgdXNlIG9mIHRoZSB2ZWN0b3IgYXV0byBjbGVhciBmZWF0 dXJlLgoKVGhlIHRlc3QgYWJvdmUgcmV2ZWFsZWQgYSBjYXNlIHdoZXJlIHRoZSB2ZWN0b3IgZW5h YmxlIHdhcwpjbGVhcmVkIHVuaW50ZW50aW9uYWxseS4KClRoaXMgcGF0Y2ggZml4ZXMgdGhlIGlz c3VlIGJ5IGRlbGV0aW5nIHRoZSBsaW5lcyB0aGF0IHJlcXVlc3QKdGhlIHZlY3RvciBhdXRvIGNs ZWFyIGZlYXR1cmUgdG8gYmUgdXNlZC4KCkZpeGVzOiAyM2YwNzAzYzEyNWIgKCJsYW43NDN4OiBB ZGQgbWFpbiBzb3VyY2UgZmlsZXMgZm9yIG5ldyBsYW43NDN4IGRyaXZlciIpClNpZ25lZC1vZmYt Ynk6IEJyeWFuIFdoaXRlaGVhZCA8QnJ5YW4uV2hpdGVoZWFkQG1pY3JvY2hpcC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9taWNyb2NoaXAvbGFuNzQzeF9tYWluLmMgfCA5ICstLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21pY3JvY2hpcC9sYW43NDN4X21haW4uYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21pY3JvY2hpcC9sYW43NDN4X21haW4uYwppbmRleCA5YzdhNjc5OWFj MDAuLjliYmU0MWFiZTg1NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWljcm9j aGlwL2xhbjc0M3hfbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21pY3JvY2hpcC9s YW43NDN4X21haW4uYwpAQCAtNTg1LDggKzU4NSw3IEBAIHN0YXRpYyBpbnQgbGFuNzQzeF9pbnRy X29wZW4oc3RydWN0IGxhbjc0M3hfYWRhcHRlciAqYWRhcHRlcikKIAogCQlpZiAoYWRhcHRlci0+ Y3NyLmZsYWdzICYKIAkJICAgTEFONzQzWF9DU1JfRkxBR19TVVBQT1JUU19JTlRSX0FVVE9fU0VU X0NMUikgewotCQkJZmxhZ3MgPSBMQU43NDNYX1ZFQ1RPUl9GTEFHX1ZFQ1RPUl9FTkFCTEVfQVVU T19DTEVBUiB8Ci0JCQkJTEFONzQzWF9WRUNUT1JfRkxBR19WRUNUT1JfRU5BQkxFX0FVVE9fU0VU IHwKKwkJCWZsYWdzID0gTEFONzQzWF9WRUNUT1JfRkxBR19WRUNUT1JfRU5BQkxFX0FVVE9fU0VU IHwKIAkJCQlMQU43NDNYX1ZFQ1RPUl9GTEFHX1NPVVJDRV9FTkFCTEVfQVVUT19TRVQgfAogCQkJ CUxBTjc0M1hfVkVDVE9SX0ZMQUdfU09VUkNFX0VOQUJMRV9BVVRPX0NMRUFSIHwKIAkJCQlMQU43 NDNYX1ZFQ1RPUl9GTEFHX1NPVVJDRV9TVEFUVVNfQVVUT19DTEVBUjsKQEAgLTU5OSwxMiArNTk4 LDYgQEAgc3RhdGljIGludCBsYW43NDN4X2ludHJfb3BlbihzdHJ1Y3QgbGFuNzQzeF9hZGFwdGVy ICphZGFwdGVyKQogCQkJLyogbWFwIFRYIGludGVycnVwdCB0byB2ZWN0b3IgKi8KIAkJCWludF92 ZWNfbWFwMSB8PSBJTlRfVkVDX01BUDFfVFhfVkVDXyhpbmRleCwgdmVjdG9yKTsKIAkJCWxhbjc0 M3hfY3NyX3dyaXRlKGFkYXB0ZXIsIElOVF9WRUNfTUFQMSwgaW50X3ZlY19tYXAxKTsKLQkJCWlm IChmbGFncyAmCi0JCQkgICAgTEFONzQzWF9WRUNUT1JfRkxBR19WRUNUT1JfRU5BQkxFX0FVVE9f Q0xFQVIpIHsKLQkJCQlpbnRfdmVjX2VuX2F1dG9fY2xyIHw9IElOVF9WRUNfRU5fKHZlY3Rvcik7 Ci0JCQkJbGFuNzQzeF9jc3Jfd3JpdGUoYWRhcHRlciwgSU5UX1ZFQ19FTl9BVVRPX0NMUiwKLQkJ CQkJCSAgaW50X3ZlY19lbl9hdXRvX2Nscik7Ci0JCQl9CiAKIAkJCS8qIFJlbW92ZSBUWCBpbnRl cnJ1cHQgZnJvbSBzaGFyZWQgbWFzayAqLwogCQkJaW50ci0+dmVjdG9yX2xpc3RbMF0uaW50X21h c2sgJj0gfmludF9iaXQ7Ci0tIAoyLjIwLjEKCgpGcm9tIDE1MzIwYzIzMzRjY2M4OThkZjlmMGQ4 MjY2NjQxNzVkZmVhZGUzNGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEppYW4gU2hl biA8c2hlbmppYW4xNUBodWF3ZWkuY29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMTkgMTE6MjY6Mzcg KzA4MDAKU3ViamVjdDogW1BBVENIIDA3LzM4XSBuZXQ6IGhuczM6IGFkZCBkbWFfcm1iKCkgZm9y IHJ4IGRlc2NyaXB0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCBkMzk0ZDMzYmVlMjI0MjFiMzlhMGJj ZGM1MWNhNmQ2OGJhMzA4NjI1IF0KCkhXIGNhbiBub3QgZ3VhcmFudGVlIGNvbXBsZXRlIHdyaXRl IGRlc2MtPnJ4LnNpemUsIGV2ZW4gdGhvdWdoCkhOUzNfUlhEX1ZMRF9CIGhhcyBiZWVuIHNldC4g RHJpdmVyIG5lZWRzIHRvIGFkZCBkbWFfcm1iKCkKaW5zdHJ1Y3Rpb24gdG8gbWFrZSBzdXJlIGRl c2MtPnJ4LnNpemUgaXMgYWx3YXlzIHZhbGlkLgoKRml4ZXM6IGU1NTk3MDk1MDU1NiAoIm5ldDog aG5zMzogQWRkIGhhbmRsaW5nIG9mIEdSTyBQa3RzIG5vdCBmdWxseSBSWCdlZCBpbiBOQVBJIHBv bGwiKQpTaWduZWQtb2ZmLWJ5OiBKaWFuIFNoZW4gPHNoZW5qaWFuMTVAaHVhd2VpLmNvbT4KU2ln bmVkLW9mZi1ieTogSHVhemhvbmcgVGFuIDx0YW5odWF6aG9uZ0BodWF3ZWkuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVy cy9uZXQvZXRoZXJuZXQvaGlzaWxpY29uL2huczMvaG5zM19lbmV0LmMgfCAzICsrKwogMSBmaWxl IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2hpc2lsaWNvbi9obnMzL2huczNfZW5ldC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaGlz aWxpY29uL2huczMvaG5zM19lbmV0LmMKaW5kZXggZDQyNGQ1YmMwNTA3Li5iMzk2ZTkzNGU4M2Yg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2lsaWNvbi9obnMzL2huczNfZW5l dC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2lsaWNvbi9obnMzL2huczNfZW5ldC5j CkBAIC0yMzczLDYgKzIzNzMsOSBAQCBzdGF0aWMgaW50IGhuczNfaGFuZGxlX3J4X2JkKHN0cnVj dCBobnMzX2VuZXRfcmluZyAqcmluZywKIAlsZW5ndGggPSBsZTE2X3RvX2NwdShkZXNjLT5yeC5z aXplKTsKIAliZF9iYXNlX2luZm8gPSBsZTMyX3RvX2NwdShkZXNjLT5yeC5iZF9iYXNlX2luZm8p OwogCisJLyogbWFrZSBzdXJlIEhXIHdyaXRlIGRlc2MgY29tcGxldGUgKi8KKwlkbWFfcm1iKCk7 CisKIAkvKiBDaGVjayB2YWxpZCBCRCAqLwogCWlmICh1bmxpa2VseSghaG5hZTNfZ2V0X2JpdChi ZF9iYXNlX2luZm8sIEhOUzNfUlhEX1ZMRF9CKSkpCiAJCXJldHVybiAtRUZBVUxUOwotLSAKMi4y MC4xCgoKRnJvbSA3NjI2Zjg0ZDg2NWE3ZGEzM2IwOTE1MTE4NzE2MDVkZDZjYjJkMzU2IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYW8gV2VuYW4gPG1hb3dlbmFuQGh1YXdlaS5jb20+ CkRhdGU6IFdlZCwgNiBNYXIgMjAxOSAyMjo0NTowMSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDgv MzhdIG5ldDogaHNyOiBmaXggbWVtb3J5IGxlYWsgaW4gaHNyX2Rldl9maW5hbGl6ZSgpCgpbIFVw c3RyZWFtIGNvbW1pdCAzZGM2ZGE0OTNhMjlkYmVkYTlmMTNiNjM3YmQ5YzAyYzQxNGIyMjYxIF0K CklmIGhzcl9hZGRfcG9ydChoc3IsIGhzcl9kZXYsIEhTUl9QVF9NQVNURVIpIGZhaWxlZCB0bwph ZGQgcG9ydCwgaXQgZGlyZWN0bHkgcmV0dXJucyByZXMgYW5kIGZvcmdldHMgdG8gZnJlZSB0aGUg bm9kZQp0aGF0IGFsbG9jYXRlZCBpbiBoc3JfY3JlYXRlX3NlbGZfbm9kZSgpLCBhbmQgZm9yZ2V0 cyB0byBkZWxldGUKdGhlIG5vZGUtPm1hY19saXN0IGxpbmtlZCBpbiBoc3ItPnNlbGZfbm9kZV9k Yi4KCkJVRzogbWVtb3J5IGxlYWsKdW5yZWZlcmVuY2VkIG9iamVjdCAweGZmZmY4ODgxY2ZhMGM3 ODAgKHNpemUgNjQpOgogIGNvbW0gInN5ei1leGVjdXRvci4wIiwgcGlkIDIwNzcsIGppZmZpZXMg NDI5NDcxNzk2OSAoYWdlIDI0MTUuMzc3cykKICBoZXggZHVtcCAoZmlyc3QgMzIgYnl0ZXMpOgog ICAgZTAgYzcgYTAgY2YgODEgODggZmYgZmYgMDAgMDIgMDAgMDAgMDAgMDAgYWQgZGUgIC4uLi4u Li4uLi4uLi4uLi4KICAgIDAwIGU2IDQ5IGNkIDgxIDg4IGZmIGZmIGMwIDliIDg3IGQwIDgxIDg4 IGZmIGZmICAuLkkuLi4uLi4uLi4uLi4uCiAgYmFja3RyYWNlOgogICAgWzwwMDAwMDAwMGUyZmY1 MDcwPl0gaHNyX2Rldl9maW5hbGl6ZSsweDczNi8weDk2MCBbaHNyXQogICAgWzwwMDAwMDAwMDNl ZDJlNTk3Pl0gaHNyX25ld2xpbmsrMHgyYjIvMHgzZTAgW2hzcl0KICAgIFs8MDAwMDAwMDAzZmE4 YzZiNj5dIF9fcnRubF9uZXdsaW5rKzB4ZjFmLzB4MTYwMCBuZXQvY29yZS9ydG5ldGxpbmsuYzoz MTgyCiAgICBbPDAwMDAwMDAwMTI0N2E3YWQ+XSBydG5sX25ld2xpbmsrMHg2Ni8weDkwIG5ldC9j b3JlL3J0bmV0bGluay5jOjMyNDAKICAgIFs8MDAwMDAwMDBlN2QxYjYxZD5dIHJ0bmV0bGlua19y Y3ZfbXNnKzB4NTRlLzB4YjkwIG5ldC9jb3JlL3J0bmV0bGluay5jOjUxMzAKICAgIFs8MDAwMDAw MDA1NTU2YmQzYT5dIG5ldGxpbmtfcmN2X3NrYisweDEyOS8weDM0MCBuZXQvbmV0bGluay9hZl9u ZXRsaW5rLmM6MjQ3NwogICAgWzwwMDAwMDAwMDc0MWQ1ZWU2Pl0gbmV0bGlua191bmljYXN0X2tl cm5lbCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMxMCBbaW5saW5lXQogICAgWzwwMDAwMDAw MDc0MWQ1ZWU2Pl0gbmV0bGlua191bmljYXN0KzB4NDlhLzB4NjUwIG5ldC9uZXRsaW5rL2FmX25l dGxpbmsuYzoxMzM2CiAgICBbPDAwMDAwMDAwOWQ1NmY5Yjc+XSBuZXRsaW5rX3NlbmRtc2crMHg4 OGIvMHhkZjAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjE5MTcKICAgIFs8MDAwMDAwMDA0NmIz NWM1OT5dIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0LmM6NjIxIFtpbmxpbmVdCiAgICBb PDAwMDAwMDAwNDZiMzVjNTk+XSBzb2NrX3NlbmRtc2crMHhjMy8weDEwMCBuZXQvc29ja2V0LmM6 NjMxCiAgICBbPDAwMDAwMDAwZDIwOGFkYzk+XSBfX3N5c19zZW5kdG8rMHgzM2UvMHg1NjAgbmV0 L3NvY2tldC5jOjE3ODYKICAgIFs8MDAwMDAwMDBiNTgyODM3YT5dIF9fZG9fc3lzX3NlbmR0byBu ZXQvc29ja2V0LmM6MTc5OCBbaW5saW5lXQogICAgWzwwMDAwMDAwMGI1ODI4MzdhPl0gX19zZV9z eXNfc2VuZHRvIG5ldC9zb2NrZXQuYzoxNzk0IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwYjU4Mjgz N2E+XSBfX3g2NF9zeXNfc2VuZHRvKzB4ZGQvMHgxYjAgbmV0L3NvY2tldC5jOjE3OTQKICAgIFs8 MDAwMDAwMDBjODY2ODAxZD5dIGRvX3N5c2NhbGxfNjQrMHgxNDcvMHg2MDAgYXJjaC94ODYvZW50 cnkvY29tbW9uLmM6MjkwCiAgICBbPDAwMDAwMDAwZmVhMzgyZDk+XSBlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCiAgICBbPDAwMDAwMDAwZTAxZGFjYjM+XSAweGZmZmZm ZmZmZmZmZmZmZmYKCkZpeGVzOiBjNWE3NTkxMTcyMTAgKCJuZXQvaHNyOiBVc2UgbGlzdF9oZWFk IChhbmQgcmN1KSBpbnN0ZWFkIG9mIGFycmF5IGZvciBzbGF2ZSBkZXZpY2VzLiIpClJlcG9ydGVk LWJ5OiBIdWxrIFJvYm90IDxodWxrY2lAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFvIFdl bmFuIDxtYW93ZW5hbkBodWF3ZWkuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2hzci9oc3JfZGV2aWNlLmMgICB8ICA0ICsr Ky0KIG5ldC9oc3IvaHNyX2ZyYW1lcmVnLmMgfCAxMiArKysrKysrKysrKysKIG5ldC9oc3IvaHNy X2ZyYW1lcmVnLmggfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaHNyL2hzcl9kZXZpY2UuYyBiL25ldC9oc3Iv aHNyX2RldmljZS5jCmluZGV4IGI4Y2Q0M2M5ZWQ1Yi4uYzQ2NzZiYWNiOGRiIDEwMDY0NAotLS0g YS9uZXQvaHNyL2hzcl9kZXZpY2UuYworKysgYi9uZXQvaHNyL2hzcl9kZXZpY2UuYwpAQCAtNDg2 LDcgKzQ4Niw3IEBAIGludCBoc3JfZGV2X2ZpbmFsaXplKHN0cnVjdCBuZXRfZGV2aWNlICpoc3Jf ZGV2LCBzdHJ1Y3QgbmV0X2RldmljZSAqc2xhdmVbMl0sCiAKIAlyZXMgPSBoc3JfYWRkX3BvcnQo aHNyLCBoc3JfZGV2LCBIU1JfUFRfTUFTVEVSKTsKIAlpZiAocmVzKQotCQlyZXR1cm4gcmVzOwor CQlnb3RvIGVycl9hZGRfcG9ydDsKIAogCXJlcyA9IHJlZ2lzdGVyX25ldGRldmljZShoc3JfZGV2 KTsKIAlpZiAocmVzKQpAQCAtNTA2LDYgKzUwNiw4IEBAIGludCBoc3JfZGV2X2ZpbmFsaXplKHN0 cnVjdCBuZXRfZGV2aWNlICpoc3JfZGV2LCBzdHJ1Y3QgbmV0X2RldmljZSAqc2xhdmVbMl0sCiBm YWlsOgogCWhzcl9mb3JfZWFjaF9wb3J0KGhzciwgcG9ydCkKIAkJaHNyX2RlbF9wb3J0KHBvcnQp OworZXJyX2FkZF9wb3J0OgorCWhzcl9kZWxfbm9kZSgmaHNyLT5zZWxmX25vZGVfZGIpOwogCiAJ cmV0dXJuIHJlczsKIH0KZGlmZiAtLWdpdCBhL25ldC9oc3IvaHNyX2ZyYW1lcmVnLmMgYi9uZXQv aHNyL2hzcl9mcmFtZXJlZy5jCmluZGV4IDI4NmNlYjQxYWMwYy4uOWFmMTZjYjY4Zjc2IDEwMDY0 NAotLS0gYS9uZXQvaHNyL2hzcl9mcmFtZXJlZy5jCisrKyBiL25ldC9oc3IvaHNyX2ZyYW1lcmVn LmMKQEAgLTEyNCw2ICsxMjQsMTggQEAgaW50IGhzcl9jcmVhdGVfc2VsZl9ub2RlKHN0cnVjdCBs aXN0X2hlYWQgKnNlbGZfbm9kZV9kYiwKIAlyZXR1cm4gMDsKIH0KIAordm9pZCBoc3JfZGVsX25v ZGUoc3RydWN0IGxpc3RfaGVhZCAqc2VsZl9ub2RlX2RiKQoreworCXN0cnVjdCBoc3Jfbm9kZSAq bm9kZTsKKworCXJjdV9yZWFkX2xvY2soKTsKKwlub2RlID0gbGlzdF9maXJzdF9vcl9udWxsX3Jj dShzZWxmX25vZGVfZGIsIHN0cnVjdCBoc3Jfbm9kZSwgbWFjX2xpc3QpOworCXJjdV9yZWFkX3Vu bG9jaygpOworCWlmIChub2RlKSB7CisJCWxpc3RfZGVsX3JjdSgmbm9kZS0+bWFjX2xpc3QpOwor CQlrZnJlZShub2RlKTsKKwl9Cit9CiAKIC8qIEFsbG9jYXRlIGFuIGhzcl9ub2RlIGFuZCBhZGQg aXQgdG8gbm9kZV9kYi4gJ2FkZHInIGlzIHRoZSBub2RlJ3MgQWRkcmVzc0E7CiAgKiBzZXFfb3V0 IGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSBmaWx0ZXJpbmcgb2Ygb3V0Z29pbmcgZHVwbGljYXRlIGZy YW1lcwpkaWZmIC0tZ2l0IGEvbmV0L2hzci9oc3JfZnJhbWVyZWcuaCBiL25ldC9oc3IvaHNyX2Zy YW1lcmVnLmgKaW5kZXggMzcwYjQ1OTk4MTIxLi41MzFmZDNkZmNhYzEgMTAwNjQ0Ci0tLSBhL25l dC9oc3IvaHNyX2ZyYW1lcmVnLmgKKysrIGIvbmV0L2hzci9oc3JfZnJhbWVyZWcuaApAQCAtMTYs NiArMTYsNyBAQAogCiBzdHJ1Y3QgaHNyX25vZGU7CiAKK3ZvaWQgaHNyX2RlbF9ub2RlKHN0cnVj dCBsaXN0X2hlYWQgKnNlbGZfbm9kZV9kYik7CiBzdHJ1Y3QgaHNyX25vZGUgKmhzcl9hZGRfbm9k ZShzdHJ1Y3QgbGlzdF9oZWFkICpub2RlX2RiLCB1bnNpZ25lZCBjaGFyIGFkZHJbXSwKIAkJCSAg ICAgIHUxNiBzZXFfb3V0KTsKIHN0cnVjdCBoc3Jfbm9kZSAqaHNyX2dldF9ub2RlKHN0cnVjdCBo c3JfcG9ydCAqcG9ydCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKLS0gCjIuMjAuMQoKCkZyb20gOTVi ZDliOGQ2MDNkMjdiMjFiN2I0NzQzMzQzMGNlY2Y3ZTk4MmVlMCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBUaHUs IDcgTWFyIDIwMTkgMDk6MzY6MzMgLTA4MDAKU3ViamVjdDogW1BBVENIIDA5LzM4XSBuZXQvaHNy OiBmaXggcG9zc2libGUgY3Jhc2ggaW4gYWRkX3RpbWVyKCkKClsgVXBzdHJlYW0gY29tbWl0IDFl MDI3OTYwZWRmYWE2YTQzZjljYTMxMDgxNzI5YjcxNjU5ODExMmIgXQoKc3l6Ym90IGZvdW5kIGFu b3RoZXIgYWRkX3RpbWVyKCkgaXNzdWUsIHRoaXMgdGltZSBpbiBuZXQvaHNyIFsxXQoKTGV0J3Mg dXNlIG1vZF90aW1lcigpIHdoaWNoIGlzIHNhZmUuCgpbMV0Ka2VybmVsIEJVRyBhdCBrZXJuZWwv dGltZS90aW1lci5jOjExMzYhCmludmFsaWQgb3Bjb2RlOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAg S0FTQU4KQ1BVOiAwIFBJRDogMTU5MDkgQ29tbTogc3l6LWV4ZWN1dG9yLjMgTm90IHRhaW50ZWQg NS4wLjArICM5NwpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dv b2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQprb2JqZWN0OiAnbG9v cDInICgwMDAwMDAwMGY1NjI5NzE4KToga29iamVjdF91ZXZlbnRfZW52ClJJUDogMDAxMDphZGRf dGltZXIga2VybmVsL3RpbWUvdGltZXIuYzoxMTM2IFtpbmxpbmVdClJJUDogMDAxMDphZGRfdGlt ZXIrMHg2NTQvMHhiZTAga2VybmVsL3RpbWUvdGltZXIuYzoxMTM0CkNvZGU6IDBmIDk0IGM1IDMx IGZmIDQ0IDg5IGVlIGU4IDA5IDYxIDBmIDAwIDQ1IDg0IGVkIDBmIDg0IDc3IGZkIGZmIGZmIGU4 IGJiIDVmIDBmIDAwIGU4IDA3IDEwIGEwIGZmIGU5IDY4IGZkIGZmIGZmIGU4IGFjIDVmIDBmIDAw IDwwZj4gMGIgZTggYTUgNWYgMGYgMDAgMGYgMGIgZTggOWUgNWYgMGYgMDAgNGMgODkgYjUgNTgg ZmYgZmYgZmYgZTkKUlNQOiAwMDE4OmZmZmY4ODgwNjU2ZWVjYTAgRUZMQUdTOiAwMDAxMDI0Ngpr b2JqZWN0OiAnbG9vcDInICgwMDAwMDAwMGY1NjI5NzE4KTogZmlsbF9rb2JqX3BhdGg6IHBhdGgg PSAnL2RldmljZXMvdmlydHVhbC9ibG9jay9sb29wMicKUkFYOiAwMDAwMDAwMDAwMDQwMDAwIFJC WDogMWZmZmYxMTAwY2FkZGQ5YSBSQ1g6IGZmZmZjOTAwMGM0MzYwMDAKUkRYOiAwMDAwMDAwMDAw MDQwMDAwIFJTSTogZmZmZmZmZmY4MTYwNTZjNCBSREk6IGZmZmY4ODgwNmEyZjZjYzgKUkJQOiBm ZmZmODg4MDY1NmVlZDU4IFIwODogZmZmZjg4ODA2N2Y0YTMwMCBSMDk6IGZmZmY4ODgwNjdmNGFi YzgKUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IGZmZmY4 ODgwNmEyZjZjYzAKUjEzOiBkZmZmZmMwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMSBS MTU6IGZmZmY4ODgwNjU2ZWVkMzAKRlM6ICAwMDAwN2ZjMjAxOWJmNzAwKDAwMDApIEdTOmZmZmY4 ODgwYWU4MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAw MDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDAwMDAwMDczODAwMCBD UjM6IDAwMDAwMDAwNjdlOGUwMDAgQ1I0OiAwMDAwMDAwMDAwMTQwNmYwCkRSMDogMDAwMDAwMDAw MDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwCkRSMzog MDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAw NDAwCkNhbGwgVHJhY2U6CiBoc3JfY2hlY2tfYW5ub3VuY2UgbmV0L2hzci9oc3JfZGV2aWNlLmM6 OTkgW2lubGluZV0KIGhzcl9jaGVja19jYXJyaWVyX2FuZF9vcGVyc3RhdGUrMHg1NjcvMHg2ZjAg bmV0L2hzci9oc3JfZGV2aWNlLmM6MTIwCiBoc3JfbmV0ZGV2X25vdGlmeSsweDI5Ny8weGEwMCBu ZXQvaHNyL2hzcl9tYWluLmM6NTEKIG5vdGlmaWVyX2NhbGxfY2hhaW4rMHhjNy8weDI0MCBrZXJu ZWwvbm90aWZpZXIuYzo5MwogX19yYXdfbm90aWZpZXJfY2FsbF9jaGFpbiBrZXJuZWwvbm90aWZp ZXIuYzozOTQgW2lubGluZV0KIHJhd19ub3RpZmllcl9jYWxsX2NoYWluKzB4MmUvMHg0MCBrZXJu ZWwvbm90aWZpZXIuYzo0MDEKIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVyc19pbmZvKzB4M2YvMHg5 MCBuZXQvY29yZS9kZXYuYzoxNzM5CiBjYWxsX25ldGRldmljZV9ub3RpZmllcnNfZXh0YWNrIG5l dC9jb3JlL2Rldi5jOjE3NTEgW2lubGluZV0KIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVycyBuZXQv Y29yZS9kZXYuYzoxNzY1IFtpbmxpbmVdCiBkZXZfb3BlbiBuZXQvY29yZS9kZXYuYzoxNDM2IFtp bmxpbmVdCiBkZXZfb3BlbisweDE0My8weDE2MCBuZXQvY29yZS9kZXYuYzoxNDI0CiB0ZWFtX3Bv cnRfYWRkIGRyaXZlcnMvbmV0L3RlYW0vdGVhbS5jOjEyMDMgW2lubGluZV0KIHRlYW1fYWRkX3Ns YXZlKzB4YTA3LzB4MTVkMCBkcml2ZXJzL25ldC90ZWFtL3RlYW0uYzoxOTMzCiBkb19zZXRfbWFz dGVyIG5ldC9jb3JlL3J0bmV0bGluay5jOjIzNTggW2lubGluZV0KIGRvX3NldF9tYXN0ZXIrMHgx ZDQvMHgyMzAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6MjMzMgogZG9fc2V0bGluaysweDk2Ni8weDM1 MTAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6MjQ5MwogcnRubF9zZXRsaW5rKzB4MjcxLzB4M2IwIG5l dC9jb3JlL3J0bmV0bGluay5jOjI3NDcKIHJ0bmV0bGlua19yY3ZfbXNnKzB4NDY1LzB4YjAwIG5l dC9jb3JlL3J0bmV0bGluay5jOjUxOTIKIG5ldGxpbmtfcmN2X3NrYisweDE3YS8weDQ2MCBuZXQv bmV0bGluay9hZl9uZXRsaW5rLmM6MjQ4NQogcnRuZXRsaW5rX3JjdisweDFkLzB4MzAgbmV0L2Nv cmUvcnRuZXRsaW5rLmM6NTIxMAogbmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9h Zl9uZXRsaW5rLmM6MTMxMCBbaW5saW5lXQogbmV0bGlua191bmljYXN0KzB4NTM2LzB4NzIwIG5l dC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzM2CiBuZXRsaW5rX3NlbmRtc2crMHg4YWUvMHhkNzAg bmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjE5MjUKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29j a2V0LmM6NjIyIFtpbmxpbmVdCiBzb2NrX3NlbmRtc2crMHhkZC8weDEzMCBuZXQvc29ja2V0LmM6 NjMyCiBzb2NrX3dyaXRlX2l0ZXIrMHgyN2MvMHgzZTAgbmV0L3NvY2tldC5jOjkyMwogY2FsbF93 cml0ZV9pdGVyIGluY2x1ZGUvbGludXgvZnMuaDoxODY5IFtpbmxpbmVdCiBkb19pdGVyX3JlYWR2 X3dyaXRldisweDVlMC8weDhlMCBmcy9yZWFkX3dyaXRlLmM6NjgwCiBkb19pdGVyX3dyaXRlIGZz L3JlYWRfd3JpdGUuYzo5NTYgW2lubGluZV0KIGRvX2l0ZXJfd3JpdGUrMHgxODQvMHg2MTAgZnMv cmVhZF93cml0ZS5jOjkzNwogdmZzX3dyaXRldisweDFiMy8weDJmMCBmcy9yZWFkX3dyaXRlLmM6 MTAwMQogZG9fd3JpdGV2KzB4ZjYvMHgyOTAgZnMvcmVhZF93cml0ZS5jOjEwMzYKIF9fZG9fc3lz X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6MTEwOSBbaW5saW5lXQogX19zZV9zeXNfd3JpdGV2IGZz L3JlYWRfd3JpdGUuYzoxMTA2IFtpbmxpbmVdCiBfX3g2NF9zeXNfd3JpdGV2KzB4NzUvMHhiMCBm cy9yZWFkX3dyaXRlLmM6MTEwNgogZG9fc3lzY2FsbF82NCsweDEwMy8weDYxMCBhcmNoL3g4Ni9l bnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4 YmUKUklQOiAwMDMzOjB4NDU3ZjI5CkNvZGU6IGFkIGI4IGZiIGZmIGMzIDY2IDJlIDBmIDFmIDg0 IDAwIDAwIDAwIDAwIDAwIDY2IDkwIDQ4IDg5IGY4IDQ4IDg5IGY3IDQ4IDg5IGQ2IDQ4IDg5IGNh IDRkIDg5IGMyIDRkIDg5IGM4IDRjIDhiIDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYg ZmYgMGYgODMgN2IgYjggZmIgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAKUlNQOiAw MDJiOjAwMDA3ZmMyMDE5YmVjNzggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAw MDAwMDAxNApSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAwMDAzIFJDWDog MDAwMDAwMDAwMDQ1N2YyOQpSRFg6IDAwMDAwMDAwMDAwMDAwMDEgUlNJOiAwMDAwMDAwMDIwMDAw MGMwIFJESTogMDAwMDAwMDAwMDAwMDAwMwpSQlA6IDAwMDAwMDAwMDA3M2JmMDAgUjA4OiAwMDAw MDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAwMDAwMDAg UjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDdmYzIwMTliZjZkNApSMTM6IDAwMDAwMDAw MDA0YzRhNjAgUjE0OiAwMDAwMDAwMDAwNGRkMjE4IFIxNTogMDAwMDAwMDBmZmZmZmZmZgoKRml4 ZXM6IGY0MjE0MzZhNTkxZCAoIm5ldC9oc3I6IEFkZCBzdXBwb3J0IGZvciB0aGUgSGlnaC1hdmFp bGFiaWxpdHkgU2VhbWxlc3MgUmVkdW5kYW5jeSBwcm90b2NvbCAoSFNSdjApIikKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6 Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KQ2M6IEFydmlkIEJyb2RpbiA8YXJ2aWQu YnJvZGluQGFsdGVuLnNlPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2hzci9oc3JfZGV2aWNlLmMgfCAxNCArKysrKystLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9uZXQvaHNyL2hzcl9kZXZpY2UuYyBiL25ldC9oc3IvaHNyX2RldmljZS5jCmluZGV4 IGM0Njc2YmFjYjhkYi4uYTk3YmYzMjZiMjMxIDEwMDY0NAotLS0gYS9uZXQvaHNyL2hzcl9kZXZp Y2UuYworKysgYi9uZXQvaHNyL2hzcl9kZXZpY2UuYwpAQCAtOTQsOSArOTQsOCBAQCBzdGF0aWMg dm9pZCBoc3JfY2hlY2tfYW5ub3VuY2Uoc3RydWN0IG5ldF9kZXZpY2UgKmhzcl9kZXYsCiAJCQkm JiAob2xkX29wZXJzdGF0ZSAhPSBJRl9PUEVSX1VQKSkgewogCQkvKiBXZW50IHVwICovCiAJCWhz ci0+YW5ub3VuY2VfY291bnQgPSAwOwotCQloc3ItPmFubm91bmNlX3RpbWVyLmV4cGlyZXMgPSBq aWZmaWVzICsKLQkJCQltc2Vjc190b19qaWZmaWVzKEhTUl9BTk5PVU5DRV9JTlRFUlZBTCk7Ci0J CWFkZF90aW1lcigmaHNyLT5hbm5vdW5jZV90aW1lcik7CisJCW1vZF90aW1lcigmaHNyLT5hbm5v dW5jZV90aW1lciwKKwkJCSAgamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMoSFNSX0FOTk9VTkNF X0lOVEVSVkFMKSk7CiAJfQogCiAJaWYgKChoc3JfZGV2LT5vcGVyc3RhdGUgIT0gSUZfT1BFUl9V UCkgJiYgKG9sZF9vcGVyc3RhdGUgPT0gSUZfT1BFUl9VUCkpCkBAIC0zMzIsNiArMzMxLDcgQEAg c3RhdGljIHZvaWQgaHNyX2Fubm91bmNlKHN0cnVjdCB0aW1lcl9saXN0ICp0KQogewogCXN0cnVj dCBoc3JfcHJpdiAqaHNyOwogCXN0cnVjdCBoc3JfcG9ydCAqbWFzdGVyOworCXVuc2lnbmVkIGxv bmcgaW50ZXJ2YWw7CiAKIAloc3IgPSBmcm9tX3RpbWVyKGhzciwgdCwgYW5ub3VuY2VfdGltZXIp OwogCkBAIC0zNDMsMTggKzM0MywxNiBAQCBzdGF0aWMgdm9pZCBoc3JfYW5ub3VuY2Uoc3RydWN0 IHRpbWVyX2xpc3QgKnQpCiAJCQkJaHNyLT5wcm90VmVyc2lvbik7CiAJCWhzci0+YW5ub3VuY2Vf Y291bnQrKzsKIAotCQloc3ItPmFubm91bmNlX3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsKLQkJ CQltc2Vjc190b19qaWZmaWVzKEhTUl9BTk5PVU5DRV9JTlRFUlZBTCk7CisJCWludGVydmFsID0g bXNlY3NfdG9famlmZmllcyhIU1JfQU5OT1VOQ0VfSU5URVJWQUwpOwogCX0gZWxzZSB7CiAJCXNl bmRfaHNyX3N1cGVydmlzaW9uX2ZyYW1lKG1hc3RlciwgSFNSX1RMVl9MSUZFX0NIRUNLLAogCQkJ CWhzci0+cHJvdFZlcnNpb24pOwogCi0JCWhzci0+YW5ub3VuY2VfdGltZXIuZXhwaXJlcyA9IGpp ZmZpZXMgKwotCQkJCW1zZWNzX3RvX2ppZmZpZXMoSFNSX0xJRkVfQ0hFQ0tfSU5URVJWQUwpOwor CQlpbnRlcnZhbCA9IG1zZWNzX3RvX2ppZmZpZXMoSFNSX0xJRkVfQ0hFQ0tfSU5URVJWQUwpOwog CX0KIAogCWlmIChpc19hZG1pbl91cChtYXN0ZXItPmRldikpCi0JCWFkZF90aW1lcigmaHNyLT5h bm5vdW5jZV90aW1lcik7CisJCW1vZF90aW1lcigmaHNyLT5hbm5vdW5jZV90aW1lciwgamlmZmll cyArIGludGVydmFsKTsKIAogCXJjdV9yZWFkX3VubG9jaygpOwogfQotLSAKMi4yMC4xCgoKRnJv bSBkODUzYmNiMGQ0OGJlOWExNjZkODdhN2JkZTE2MGUyZTA0MGVmOGQ4IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBNaWFvaGUgTGluIDxsaW5taWFvaGVAaHVhd2VpLmNvbT4KRGF0ZTog TW9uLCAxMSBNYXIgMjAxOSAxNjoyOTozMiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMzhdIG5l dDogc2l0OiBmaXggVUJTQU4gVW5kZWZpbmVkIGJlaGF2aW91ciBpbiBjaGVja182cmQKClsgVXBz dHJlYW0gY29tbWl0IGE4NDNkYzRlYmFlY2QxNWZjYTFmNGQzNWE5NzIxMGY3MmVhMTQ3M2IgXQoK SW4gZnVuYyBjaGVja182cmQsdHVubmVsLT5pcDZyZC5yZWxheV9wcmVmaXhsZW4gbWF5IGVxdWFs IHRvCjMyLHNvIFVCU0FOIGNvbXBsYWluIGFib3V0IGl0LgoKVUJTQU46IFVuZGVmaW5lZCBiZWhh dmlvdXIgaW4gbmV0L2lwdjYvc2l0LmM6NzgxOjQ3CnNoaWZ0IGV4cG9uZW50IDMyIGlzIHRvbyBs YXJnZSBmb3IgMzItYml0IHR5cGUgJ3Vuc2lnbmVkIGludCcKQ1BVOiA2IFBJRDogMjAwMzYgQ29t bTogc3l6LWV4ZWN1dG9yLjAgTm90IHRhaW50ZWQgNC4xOS4yNyAjMgpIYXJkd2FyZSBuYW1lOiBR RU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUyAxLjEwLjItMXVidW50 dTEKMDQvMDEvMjAxNApDYWxsIFRyYWNlOgpfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3 NyBbaW5saW5lXQpkdW1wX3N0YWNrKzB4Y2EvMHgxM2UgbGliL2R1bXBfc3RhY2suYzoxMTMKdWJz YW5fZXBpbG9ndWUrMHhlLzB4ODEgbGliL3Vic2FuLmM6MTU5Cl9fdWJzYW5faGFuZGxlX3NoaWZ0 X291dF9vZl9ib3VuZHMrMHgyOTMvMHgyZTggbGliL3Vic2FuLmM6NDI1CmNoZWNrXzZyZC5jb25z dHByb3AuOSsweDQzMy8weDRlMCBuZXQvaXB2Ni9zaXQuYzo3ODEKdHJ5XzZyZCBuZXQvaXB2Ni9z aXQuYzo4MDYgW2lubGluZV0KaXBpcDZfdHVubmVsX3htaXQgbmV0L2lwdjYvc2l0LmM6ODY2IFtp bmxpbmVdCnNpdF90dW5uZWxfeG1pdCsweDE0MWMvMHgyNzIwIG5ldC9pcHY2L3NpdC5jOjEwMzMK X19uZXRkZXZfc3RhcnRfeG1pdCBpbmNsdWRlL2xpbnV4L25ldGRldmljZS5oOjQzMDAgW2lubGlu ZV0KbmV0ZGV2X3N0YXJ0X3htaXQgaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaDo0MzA5IFtpbmxp bmVdCnhtaXRfb25lIG5ldC9jb3JlL2Rldi5jOjMyNDMgW2lubGluZV0KZGV2X2hhcmRfc3RhcnRf eG1pdCsweDE3Yy8weDc4MCBuZXQvY29yZS9kZXYuYzozMjU5Cl9fZGV2X3F1ZXVlX3htaXQrMHgx NjU2LzB4MjUwMCBuZXQvY29yZS9kZXYuYzozODI5Cm5laWdoX291dHB1dCBpbmNsdWRlL25ldC9u ZWlnaGJvdXIuaDo1MDEgW2lubGluZV0KaXA2X2ZpbmlzaF9vdXRwdXQyKzB4YTM2LzB4MjI5MCBu ZXQvaXB2Ni9pcDZfb3V0cHV0LmM6MTIwCmlwNl9maW5pc2hfb3V0cHV0KzB4M2U3LzB4YTIwIG5l dC9pcHY2L2lwNl9vdXRwdXQuYzoxNTQKTkZfSE9PS19DT05EIGluY2x1ZGUvbGludXgvbmV0Zmls dGVyLmg6Mjc4IFtpbmxpbmVdCmlwNl9vdXRwdXQrMHgxZTIvMHg3MjAgbmV0L2lwdjYvaXA2X291 dHB1dC5jOjE3MQpkc3Rfb3V0cHV0IGluY2x1ZGUvbmV0L2RzdC5oOjQ0NCBbaW5saW5lXQppcDZf bG9jYWxfb3V0KzB4OTkvMHgxNzAgbmV0L2lwdjYvb3V0cHV0X2NvcmUuYzoxNzYKaXA2X3NlbmRf c2tiKzB4OWQvMHgyZjAgbmV0L2lwdjYvaXA2X291dHB1dC5jOjE2OTcKaXA2X3B1c2hfcGVuZGlu Z19mcmFtZXMrMHhjMC8weDEwMCBuZXQvaXB2Ni9pcDZfb3V0cHV0LmM6MTcxNwpyYXd2Nl9wdXNo X3BlbmRpbmdfZnJhbWVzIG5ldC9pcHY2L3Jhdy5jOjYxNiBbaW5saW5lXQpyYXd2Nl9zZW5kbXNn KzB4MjQzNS8weDM1MzAgbmV0L2lwdjYvcmF3LmM6OTQ2CmluZXRfc2VuZG1zZysweGY4LzB4NWMw IG5ldC9pcHY0L2FmX2luZXQuYzo3OTgKc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2 MjEgW2lubGluZV0Kc29ja19zZW5kbXNnKzB4YzgvMHgxMTAgbmV0L3NvY2tldC5jOjYzMQpfX19z eXNfc2VuZG1zZysweDZjZi8weDg5MCBuZXQvc29ja2V0LmM6MjExNApfX3N5c19zZW5kbXNnKzB4 ZjAvMHgxYjAgbmV0L3NvY2tldC5jOjIxNTIKZG9fc3lzY2FsbF82NCsweGM4LzB4NTgwIGFyY2gv eDg2L2VudHJ5L2NvbW1vbi5jOjI5MAplbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0 OS8weGJlCgpTaWduZWQtb2ZmLWJ5OiBsaW5taWFvaGUgPGxpbm1pYW9oZUBodWF3ZWkuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L2lwdjYvc2l0LmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3NpdC5jIGIvbmV0L2lwdjYv c2l0LmMKaW5kZXggMDllNDQwZThkZmFlLi4wN2UyMWE4MmNlNGMgMTAwNjQ0Ci0tLSBhL25ldC9p cHY2L3NpdC5jCisrKyBiL25ldC9pcHY2L3NpdC5jCkBAIC03NzgsOCArNzc4LDkgQEAgc3RhdGlj IGJvb2wgY2hlY2tfNnJkKHN0cnVjdCBpcF90dW5uZWwgKnR1bm5lbCwgY29uc3Qgc3RydWN0IGlu Nl9hZGRyICp2NmRzdCwKIAkJcGJ3MCA9IHR1bm5lbC0+aXA2cmQucHJlZml4bGVuID4+IDU7CiAJ CXBiaTAgPSB0dW5uZWwtPmlwNnJkLnByZWZpeGxlbiAmIDB4MWY7CiAKLQkJZCA9IChudG9obCh2 NmRzdC0+czZfYWRkcjMyW3BidzBdKSA8PCBwYmkwKSA+PgotCQkgICAgdHVubmVsLT5pcDZyZC5y ZWxheV9wcmVmaXhsZW47CisJCWQgPSB0dW5uZWwtPmlwNnJkLnJlbGF5X3ByZWZpeGxlbiA8IDMy ID8KKwkJCShudG9obCh2NmRzdC0+czZfYWRkcjMyW3BidzBdKSA8PCBwYmkwKSA+PgorCQkgICAg dHVubmVsLT5pcDZyZC5yZWxheV9wcmVmaXhsZW4gOiAwOwogCiAJCXBiaTEgPSBwYmkwIC0gdHVu bmVsLT5pcDZyZC5yZWxheV9wcmVmaXhsZW47CiAJCWlmIChwYmkxID4gMCkKLS0gCjIuMjAuMQoK CkZyb20gOWU1NzhlMTgzYTM1MTU1NWVlOGIzOTViMTRhMWViODc4N2U5ODU2MyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpE YXRlOiBTdW4sIDEwIE1hciAyMDE5IDA5OjA3OjE0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMS8z OF0gbmV0L3gyNTogZml4IHVzZS1hZnRlci1mcmVlIGluIHgyNV9kZXZpY2VfZXZlbnQoKQoKWyBV cHN0cmVhbSBjb21taXQgOTVkNmViZDUzYzc5NTIyYmY5NTAyZGJjN2U4OWUwZDYzZjk0ZGFlNCBd CgpJbiBjYXNlIG9mIGZhaWx1cmUgeDI1X2Nvbm5lY3QoKSBkb2VzIGEgeDI1X25laWdoX3B1dCh4 MjUtPm5laWdoYm91cikKYnV0IGZvcmdldHMgdG8gY2xlYXIgeDI1LT5uZWlnaGJvdXIgcG9pbnRl ciwgdGh1cyB0cmlnZ2VyaW5nIHVzZS1hZnRlci1mcmVlLgoKU2luY2UgdGhlIHNvY2tldCBpcyB2 aXNpYmxlIGluIHgyNV9saXN0LCB3ZSBuZWVkIHRvIGhvbGQgeDI1X2xpc3RfbG9jawp0byBwcm90 ZWN0IHRoZSBvcGVyYXRpb24uCgpzeXpib3QgcmVwb3J0IDoKCkJVRzogS0FTQU46IHVzZS1hZnRl ci1mcmVlIGluIHgyNV9raWxsX2J5X2RldmljZSBuZXQveDI1L2FmX3gyNS5jOjIxNyBbaW5saW5l XQpCVUc6IEtBU0FOOiB1c2UtYWZ0ZXItZnJlZSBpbiB4MjVfZGV2aWNlX2V2ZW50KzB4Mjk2LzB4 MmIwIG5ldC94MjUvYWZfeDI1LmM6MjUyClJlYWQgb2Ygc2l6ZSA4IGF0IGFkZHIgZmZmZjg4ODBh MDMwZWRkMCBieSB0YXNrIHN5ei1leGVjdXRvcjAwMy83ODU0CgpDUFU6IDAgUElEOiA3ODU0IENv bW06IHN5ei1leGVjdXRvcjAwMyBOb3QgdGFpbnRlZCA1LjAuMCsgIzk3CkhhcmR3YXJlIG5hbWU6 IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9T IEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3Rh Y2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDE3Mi8weDFmMCBsaWIvZHVtcF9zdGFjay5j OjExMwogcHJpbnRfYWRkcmVzc19kZXNjcmlwdGlvbi5jb2xkKzB4N2MvMHgyMGQgbW0va2FzYW4v cmVwb3J0LmM6MTg3CiBrYXNhbl9yZXBvcnQuY29sZCsweDFiLzB4NDAgbW0va2FzYW4vcmVwb3J0 LmM6MzE3CiBfX2FzYW5fcmVwb3J0X2xvYWQ4X25vYWJvcnQrMHgxNC8weDIwIG1tL2thc2FuL2dl bmVyaWNfcmVwb3J0LmM6MTM1CiB4MjVfa2lsbF9ieV9kZXZpY2UgbmV0L3gyNS9hZl94MjUuYzoy MTcgW2lubGluZV0KIHgyNV9kZXZpY2VfZXZlbnQrMHgyOTYvMHgyYjAgbmV0L3gyNS9hZl94MjUu YzoyNTIKIG5vdGlmaWVyX2NhbGxfY2hhaW4rMHhjNy8weDI0MCBrZXJuZWwvbm90aWZpZXIuYzo5 MwogX19yYXdfbm90aWZpZXJfY2FsbF9jaGFpbiBrZXJuZWwvbm90aWZpZXIuYzozOTQgW2lubGlu ZV0KIHJhd19ub3RpZmllcl9jYWxsX2NoYWluKzB4MmUvMHg0MCBrZXJuZWwvbm90aWZpZXIuYzo0 MDEKIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVyc19pbmZvKzB4M2YvMHg5MCBuZXQvY29yZS9kZXYu YzoxNzM5CiBjYWxsX25ldGRldmljZV9ub3RpZmllcnNfZXh0YWNrIG5ldC9jb3JlL2Rldi5jOjE3 NTEgW2lubGluZV0KIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVycyBuZXQvY29yZS9kZXYuYzoxNzY1 IFtpbmxpbmVdCiBfX2Rldl9ub3RpZnlfZmxhZ3MrMHgxZTkvMHgyYzAgbmV0L2NvcmUvZGV2LmM6 NzYwNwogZGV2X2NoYW5nZV9mbGFncysweDEwZC8weDE3MCBuZXQvY29yZS9kZXYuYzo3NjQzCiBk ZXZfaWZzaW9jKzB4MmIwLzB4OTQwIG5ldC9jb3JlL2Rldl9pb2N0bC5jOjIzNwogZGV2X2lvY3Rs KzB4MWI4LzB4YzcwIG5ldC9jb3JlL2Rldl9pb2N0bC5jOjQ4OAogc29ja19kb19pb2N0bCsweDFi ZC8weDMwMCBuZXQvc29ja2V0LmM6OTk1CiBzb2NrX2lvY3RsKzB4MzJiLzB4NjEwIG5ldC9zb2Nr ZXQuYzoxMDk2CiB2ZnNfaW9jdGwgZnMvaW9jdGwuYzo0NiBbaW5saW5lXQogZmlsZV9pb2N0bCBm cy9pb2N0bC5jOjUwOSBbaW5saW5lXQogZG9fdmZzX2lvY3RsKzB4ZDZlLzB4MTM5MCBmcy9pb2N0 bC5jOjY5Ngoga3N5c19pb2N0bCsweGFiLzB4ZDAgZnMvaW9jdGwuYzo3MTMKIF9fZG9fc3lzX2lv Y3RsIGZzL2lvY3RsLmM6NzIwIFtpbmxpbmVdCiBfX3NlX3N5c19pb2N0bCBmcy9pb2N0bC5jOjcx OCBbaW5saW5lXQogX194NjRfc3lzX2lvY3RsKzB4NzMvMHhiMCBmcy9pb2N0bC5jOjcxOAogZG9f c3lzY2FsbF82NCsweDEwMy8weDYxMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5 X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKUklQOiAwMDMzOjB4NDQ2N2M5CkNv ZGU6IGU4IDBjIGU4IGZmIGZmIDQ4IDgzIGM0IDE4IGMzIDBmIDFmIDgwIDAwIDAwIDAwIDAwIDQ4 IDg5IGY4IDQ4IDg5IGY3IDQ4IDg5IGQ2IDQ4IDg5IGNhIDRkIDg5IGMyIDRkIDg5IGM4IDRjIDhi IDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYgZmYgMGYgODMgNWIgMDcgZmMgZmYgYzMg NjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAKUlNQOiAwMDJiOjAwMDA3ZmRiZWEyMjJkOTggRUZM QUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAxMApSQVg6IGZmZmZmZmZmZmZm ZmZmZGEgUkJYOiAwMDAwMDAwMDAwNmRiYzU4IFJDWDogMDAwMDAwMDAwMDQ0NjdjOQpSRFg6IDAw MDAwMDAwMjAwMDAzNDAgUlNJOiAwMDAwMDAwMDAwMDA4OTE0IFJESTogMDAwMDAwMDAwMDAwMDAw MwpSQlA6IDAwMDAwMDAwMDA2ZGJjNTAgUjA4OiAwMDAwN2ZkYmVhMjIzNzAwIFIwOTogMDAwMDAw MDAwMDAwMDAwMApSMTA6IDAwMDA3ZmRiZWEyMjM3MDAgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIx MjogMDAwMDAwMDAwMDZkYmM1YwpSMTM6IDYwMDAwMzAwMzA2MjY2NjkgUjE0OiAwMDAwMDAwMDAw MDAwMDAwIFIxNTogMDAwMDAwMDAzMDYyNjY2OQoKQWxsb2NhdGVkIGJ5IHRhc2sgNzg0MzoKIHNh dmVfc3RhY2srMHg0NS8weGQwIG1tL2thc2FuL2NvbW1vbi5jOjczCiBzZXRfdHJhY2sgbW0va2Fz YW4vY29tbW9uLmM6ODUgW2lubGluZV0KIF9fa2FzYW5fa21hbGxvYyBtbS9rYXNhbi9jb21tb24u Yzo0OTUgW2lubGluZV0KIF9fa2FzYW5fa21hbGxvYy5jb25zdHByb3AuMCsweGNmLzB4ZTAgbW0v a2FzYW4vY29tbW9uLmM6NDY4CiBrYXNhbl9rbWFsbG9jKzB4OS8weDEwIG1tL2thc2FuL2NvbW1v bi5jOjUwOQoga21lbV9jYWNoZV9hbGxvY190cmFjZSsweDE1MS8weDc2MCBtbS9zbGFiLmM6MzYx NQoga21hbGxvYyBpbmNsdWRlL2xpbnV4L3NsYWIuaDo1NDUgW2lubGluZV0KIHgyNV9saW5rX2Rl dmljZV91cCsweDQ2LzB4M2YwIG5ldC94MjUveDI1X2xpbmsuYzoyNDkKIHgyNV9kZXZpY2VfZXZl bnQrMHgxMTYvMHgyYjAgbmV0L3gyNS9hZl94MjUuYzoyNDIKIG5vdGlmaWVyX2NhbGxfY2hhaW4r MHhjNy8weDI0MCBrZXJuZWwvbm90aWZpZXIuYzo5MwogX19yYXdfbm90aWZpZXJfY2FsbF9jaGFp biBrZXJuZWwvbm90aWZpZXIuYzozOTQgW2lubGluZV0KIHJhd19ub3RpZmllcl9jYWxsX2NoYWlu KzB4MmUvMHg0MCBrZXJuZWwvbm90aWZpZXIuYzo0MDEKIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVy c19pbmZvKzB4M2YvMHg5MCBuZXQvY29yZS9kZXYuYzoxNzM5CiBjYWxsX25ldGRldmljZV9ub3Rp ZmllcnNfZXh0YWNrIG5ldC9jb3JlL2Rldi5jOjE3NTEgW2lubGluZV0KIGNhbGxfbmV0ZGV2aWNl X25vdGlmaWVycyBuZXQvY29yZS9kZXYuYzoxNzY1IFtpbmxpbmVdCiBfX2Rldl9ub3RpZnlfZmxh Z3MrMHgxMjEvMHgyYzAgbmV0L2NvcmUvZGV2LmM6NzYwNQogZGV2X2NoYW5nZV9mbGFncysweDEw ZC8weDE3MCBuZXQvY29yZS9kZXYuYzo3NjQzCiBkZXZfaWZzaW9jKzB4MmIwLzB4OTQwIG5ldC9j b3JlL2Rldl9pb2N0bC5jOjIzNwogZGV2X2lvY3RsKzB4MWI4LzB4YzcwIG5ldC9jb3JlL2Rldl9p b2N0bC5jOjQ4OAogc29ja19kb19pb2N0bCsweDFiZC8weDMwMCBuZXQvc29ja2V0LmM6OTk1CiBz b2NrX2lvY3RsKzB4MzJiLzB4NjEwIG5ldC9zb2NrZXQuYzoxMDk2CiB2ZnNfaW9jdGwgZnMvaW9j dGwuYzo0NiBbaW5saW5lXQogZmlsZV9pb2N0bCBmcy9pb2N0bC5jOjUwOSBbaW5saW5lXQogZG9f dmZzX2lvY3RsKzB4ZDZlLzB4MTM5MCBmcy9pb2N0bC5jOjY5Ngoga3N5c19pb2N0bCsweGFiLzB4 ZDAgZnMvaW9jdGwuYzo3MTMKIF9fZG9fc3lzX2lvY3RsIGZzL2lvY3RsLmM6NzIwIFtpbmxpbmVd CiBfX3NlX3N5c19pb2N0bCBmcy9pb2N0bC5jOjcxOCBbaW5saW5lXQogX194NjRfc3lzX2lvY3Rs KzB4NzMvMHhiMCBmcy9pb2N0bC5jOjcxOAogZG9fc3lzY2FsbF82NCsweDEwMy8weDYxMCBhcmNo L3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsw eDQ5LzB4YmUKCkZyZWVkIGJ5IHRhc2sgNzg2NToKIHNhdmVfc3RhY2srMHg0NS8weGQwIG1tL2th c2FuL2NvbW1vbi5jOjczCiBzZXRfdHJhY2sgbW0va2FzYW4vY29tbW9uLmM6ODUgW2lubGluZV0K IF9fa2FzYW5fc2xhYl9mcmVlKzB4MTAyLzB4MTUwIG1tL2thc2FuL2NvbW1vbi5jOjQ1Nwoga2Fz YW5fc2xhYl9mcmVlKzB4ZS8weDEwIG1tL2thc2FuL2NvbW1vbi5jOjQ2NQogX19jYWNoZV9mcmVl IG1tL3NsYWIuYzozNDk0IFtpbmxpbmVdCiBrZnJlZSsweGNmLzB4MjMwIG1tL3NsYWIuYzozODEx CiB4MjVfbmVpZ2hfcHV0IGluY2x1ZGUvbmV0L3gyNS5oOjI1MyBbaW5saW5lXQogeDI1X2Nvbm5l Y3QrMHg4ZDgvMHhkZTAgbmV0L3gyNS9hZl94MjUuYzo4MjQKIF9fc3lzX2Nvbm5lY3QrMHgyNjYv MHgzMzAgbmV0L3NvY2tldC5jOjE2ODUKIF9fZG9fc3lzX2Nvbm5lY3QgbmV0L3NvY2tldC5jOjE2 OTYgW2lubGluZV0KIF9fc2Vfc3lzX2Nvbm5lY3QgbmV0L3NvY2tldC5jOjE2OTMgW2lubGluZV0K IF9feDY0X3N5c19jb25uZWN0KzB4NzMvMHhiMCBuZXQvc29ja2V0LmM6MTY5MwogZG9fc3lzY2Fs bF82NCsweDEwMy8weDYxMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NB TExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKClRoZSBidWdneSBhZGRyZXNzIGJlbG9uZ3Mg dG8gdGhlIG9iamVjdCBhdCBmZmZmODg4MGEwMzBlZGMwCiB3aGljaCBiZWxvbmdzIHRvIHRoZSBj YWNoZSBrbWFsbG9jLTI1NiBvZiBzaXplIDI1NgpUaGUgYnVnZ3kgYWRkcmVzcyBpcyBsb2NhdGVk IDE2IGJ5dGVzIGluc2lkZSBvZgogMjU2LWJ5dGUgcmVnaW9uIFtmZmZmODg4MGEwMzBlZGMwLCBm ZmZmODg4MGEwMzBlZWMwKQpUaGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBwYWdlOgpw YWdlOmZmZmZlYTAwMDI4MGMzODAgY291bnQ6MSBtYXBjb3VudDowIG1hcHBpbmc6ZmZmZjg4ODEy YzNmMDdjMCBpbmRleDoweDAKZmxhZ3M6IDB4MWZmZmMwMDAwMDAwMjAwKHNsYWIpCnJhdzogMDFm ZmZjMDAwMDAwMDIwMCBmZmZmZWEwMDAyODA2Nzg4IGZmZmZlYTAwMDI3ZjAxODggZmZmZjg4ODEy YzNmMDdjMApyYXc6IDAwMDAwMDAwMDAwMDAwMDAgZmZmZjg4ODBhMDMwZTAwMCAwMDAwMDAwMTAw MDAwMDBjIDAwMDAwMDAwMDAwMDAwMDAKcGFnZSBkdW1wZWQgYmVjYXVzZToga2FzYW46IGJhZCBh Y2Nlc3MgZGV0ZWN0ZWQKClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCswNGJhYmNlZmNkMzk2ZmFiZWMzN0BzeXprYWxs ZXIuYXBwc3BvdG1haWwuY29tCkNjOiBhbmRyZXcgaGVuZHJ5IDxhbmRyZXcuaGVuZHJ5QGdtYWls LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC94MjUvYWZfeDI1LmMgfCA2ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMg Yi9uZXQveDI1L2FmX3gyNS5jCmluZGV4IGVjM2E4Mjg2NzJlZi4uN2MxN2NjN2UxOWJmIDEwMDY0 NAotLS0gYS9uZXQveDI1L2FmX3gyNS5jCisrKyBiL25ldC94MjUvYWZfeDI1LmMKQEAgLTgxNyw4 ICs4MTcsMTIgQEAgc3RhdGljIGludCB4MjVfY29ubmVjdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBz dHJ1Y3Qgc29ja2FkZHIgKnVhZGRyLAogCXNvY2stPnN0YXRlID0gU1NfQ09OTkVDVEVEOwogCXJj ID0gMDsKIG91dF9wdXRfbmVpZ2g6Ci0JaWYgKHJjKQorCWlmIChyYykgeworCQlyZWFkX2xvY2tf YmgoJngyNV9saXN0X2xvY2spOwogCQl4MjVfbmVpZ2hfcHV0KHgyNS0+bmVpZ2hib3VyKTsKKwkJ eDI1LT5uZWlnaGJvdXIgPSBOVUxMOworCQlyZWFkX3VubG9ja19iaCgmeDI1X2xpc3RfbG9jayk7 CisJfQogb3V0X3B1dF9yb3V0ZToKIAl4MjVfcm91dGVfcHV0KHJ0KTsKIG91dDoKLS0gCjIuMjAu MQoKCkZyb20gMjczY2IwZjlhZjlmYzYxY2I5MzY2YTc4MjQ3ZWQ1NTExYjI3NDZjYSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpEYXRlOiBNb24sIDExIE1hciAyMDE5IDEzOjQ4OjQ0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAx Mi8zOF0gbmV0L3gyNTogcmVzZXQgc3RhdGUgaW4geDI1X2Nvbm5lY3QoKQoKWyBVcHN0cmVhbSBj b21taXQgZWU3NGQwYmQ0MzI1ZWZiNDFlMzhhZmZlNTk1NWY5MjBlZDk3M2YyMyBdCgpJbiBjYXNl IHgyNV9jb25uZWN0KCkgZmFpbHMgYW5kIGZyZWVzIHRoZSBzb2NrZXQgbmVpZ2hib3VyLAp3ZSBh bHNvIG5lZWQgdG8gdW5kbyB0aGUgY2hhbmdlIGRvbmUgdG8geDI1LT5zdGF0ZS4KCkJlZm9yZSBt eSBsYXN0IGJ1ZyBmaXgsIHdlIGhhZCB1c2UtYWZ0ZXItZnJlZSBzbyB0aGlzCnBhdGNoIGZpeGVz IGEgbGF0ZW50IGJ1Zy4KCnN5emJvdCByZXBvcnQgOgoKa2FzYW46IENPTkZJR19LQVNBTl9JTkxJ TkUgZW5hYmxlZAprYXNhbjogR1BGIGNvdWxkIGJlIGNhdXNlZCBieSBOVUxMLXB0ciBkZXJlZiBv ciB1c2VyIG1lbW9yeSBhY2Nlc3MKZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0OiAwMDAwIFsjMV0g UFJFRU1QVCBTTVAgS0FTQU4KQ1BVOiAxIFBJRDogMTYxMzcgQ29tbTogc3l6LWV4ZWN1dG9yLjEg Tm90IHRhaW50ZWQgNS4wLjArICMxMTcKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21w dXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEK UklQOiAwMDEwOngyNV93cml0ZV9pbnRlcm5hbCsweDFlOC8weGRmMCBuZXQveDI1L3gyNV9zdWJy LmM6MTczCkNvZGU6IDAwIDQwIDg4IGI1IGUwIGZlIGZmIGZmIDBmIDg1IDAxIDBiIDAwIDAwIDQ4 IDhiIDhiIDgwIDA0IDAwIDAwIDQ4IGJhIDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ4IDhkIDc5 IDFjIDQ4IDg5IGZlIDQ4IGMxIGVlIDAzIDwwZj4gYjYgMzQgMTYgNDggODkgZmEgODMgZTIgMDcg ODMgYzIgMDMgNDAgMzggZjIgN2MgMDkgNDAgODQgZjYgMGYKUlNQOiAwMDE4OmZmZmY4ODgwNzY3 MTdhMDggRUZMQUdTOiAwMDAxMDIwNwpSQVg6IGZmZmY4ODgwNWYyZjIyOTIgUkJYOiBmZmZmODg4 MGEwYWU2MDAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMAprb2JqZWN0OiAnbG9vcDUnICgwMDAwMDAw MDE4ZDBkMGVlKToga29iamVjdF91ZXZlbnRfZW52ClJEWDogZGZmZmZjMDAwMDAwMDAwMCBSU0k6 IDAwMDAwMDAwMDAwMDAwMDMgUkRJOiAwMDAwMDAwMDAwMDAwMDFjClJCUDogZmZmZjg4ODA3Njcx N2I0MCBSMDg6IGZmZmY4ODgwOTUwZTA1ODAgUjA5OiBmZmZmZWQxMDBiZTVlNDZkClIxMDogZmZm ZmVkMTAwYmU1ZTQ2YyBSMTE6IGZmZmY4ODgwNWYyZjIzNjMgUjEyOiBmZmZmODg4MDY1NTc5ODQw CmtvYmplY3Q6ICdsb29wNScgKDAwMDAwMDAwMThkMGQwZWUpOiBmaWxsX2tvYmpfcGF0aDogcGF0 aCA9ICcvZGV2aWNlcy92aXJ0dWFsL2Jsb2NrL2xvb3A1JwpSMTM6IDFmZmZmMTEwMGVjZTJmNDcg UjE0OiAwMDAwMDAwMDAwMDAwMDEzIFIxNTogMDAwMDAwMDAwMDAwMDAxMwpGUzogIDAwMDA3ZmI4 OGNmNDM3MDAoMDAwMCkgR1M6ZmZmZjg4ODBhZTkwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAw MDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMK Q1IyOiAwMDAwN2Y5YTQyYTQxMDI4IENSMzogMDAwMDAwMDA4N2E2NzAwMCBDUjQ6IDAwMDAwMDAw MDAxNDA2ZTAKRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6 IDAwMDAwMDAwMDAwMDAwMDAKRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZl MGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKQ2FsbCBUcmFjZToKIHgyNV9yZWxlYXNlKzB4ZDAv MHgzNDAgbmV0L3gyNS9hZl94MjUuYzo2NTgKIF9fc29ja19yZWxlYXNlKzB4ZDMvMHgyYjAgbmV0 L3NvY2tldC5jOjU3OQogc29ja19jbG9zZSsweDFiLzB4MzAgbmV0L3NvY2tldC5jOjExNjIKIF9f ZnB1dCsweDJkZi8weDhkMCBmcy9maWxlX3RhYmxlLmM6Mjc4CiBfX19fZnB1dCsweDE2LzB4MjAg ZnMvZmlsZV90YWJsZS5jOjMwOQogdGFza193b3JrX3J1bisweDE0YS8weDFjMCBrZXJuZWwvdGFz a193b3JrLmM6MTEzCiBnZXRfc2lnbmFsKzB4MTk2MS8weDFkNTAga2VybmVsL3NpZ25hbC5jOjIz ODgKIGRvX3NpZ25hbCsweDg3LzB4MTk0MCBhcmNoL3g4Ni9rZXJuZWwvc2lnbmFsLmM6ODE2CiBl eGl0X3RvX3VzZXJtb2RlX2xvb3ArMHgyNDQvMHgyYzAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6 MTYyCiBwcmVwYXJlX2V4aXRfdG9fdXNlcm1vZGUgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MTk3 IFtpbmxpbmVdCiBzeXNjYWxsX3JldHVybl9zbG93cGF0aCBhcmNoL3g4Ni9lbnRyeS9jb21tb24u YzoyNjggW2lubGluZV0KIGRvX3N5c2NhbGxfNjQrMHg1MmQvMHg2MTAgYXJjaC94ODYvZW50cnkv Y29tbW9uLmM6MjkzCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlClJJ UDogMDAzMzoweDQ1N2YyOQpDb2RlOiBhZCBiOCBmYiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAw MCAwMCAwMCAwMCA2NiA5MCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4 OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDBm IDgzIDdiIGI4IGZiIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDogMDAyYjow MDAwN2ZiODhjZjQyYzc4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAw MmEKUkFYOiBmZmZmZmZmZmZmZmZmZTAwIFJCWDogMDAwMDAwMDAwMDAwMDAwMyBSQ1g6IDAwMDAw MDAwMDA0NTdmMjkKUkRYOiAwMDAwMDAwMDAwMDAwMDEyIFJTSTogMDAwMDAwMDAyMDAwMDA4MCBS REk6IDAwMDAwMDAwMDAwMDAwMDQKUkJQOiAwMDAwMDAwMDAwNzNiZjAwIFIwODogMDAwMDAwMDAw MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTog MDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3ZmI4OGNmNDM2ZDQKUjEzOiAwMDAwMDAwMDAwNGJl NDYyIFIxNDogMDAwMDAwMDAwMDRjZWM5OCBSMTU6IDAwMDAwMDAwZmZmZmZmZmYKTW9kdWxlcyBs aW5rZWQgaW46CgpGaXhlczogOTVkNmViZDUzYzc5ICgibmV0L3gyNTogZml4IHVzZS1hZnRlci1m cmVlIGluIHgyNV9kZXZpY2VfZXZlbnQoKSIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IGFuZHJldyBoZW5kcnkgPGFuZHJldy5oZW5kcnlAZ21h aWwuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC94MjUvYWZfeDI1LmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoK ZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMgYi9uZXQveDI1L2FmX3gyNS5jCmluZGV4IDdj MTdjYzdlMTliZi4uNWY3YTlmYWI4YmFkIDEwMDY0NAotLS0gYS9uZXQveDI1L2FmX3gyNS5jCisr KyBiL25ldC94MjUvYWZfeDI1LmMKQEAgLTgyMiw2ICs4MjIsNyBAQCBzdGF0aWMgaW50IHgyNV9j b25uZWN0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqdWFkZHIsCiAJCXgy NV9uZWlnaF9wdXQoeDI1LT5uZWlnaGJvdXIpOwogCQl4MjUtPm5laWdoYm91ciA9IE5VTEw7CiAJ CXJlYWRfdW5sb2NrX2JoKCZ4MjVfbGlzdF9sb2NrKTsKKwkJeDI1LT5zdGF0ZSA9IFgyNV9TVEFU RV8wOwogCX0KIG91dF9wdXRfcm91dGU6CiAJeDI1X3JvdXRlX3B1dChydCk7Ci0tIAoyLjIwLjEK CgpGcm9tIGM5ZDQ2ZTQ5ODY2YzgyZDZiOWQyYWYwMzc4MjMzMTU0ZjIwZmFmN2EgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAxMyBNYXIgMjAxOSAxNzowMDo0OCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMzhd IHBwdHA6IGRzdF9yZWxlYXNlIHNrX2RzdF9jYWNoZSBpbiBwcHRwX3NvY2tfZGVzdHJ1Y3QKClsg VXBzdHJlYW0gY29tbWl0IDk0MTdkODFmNGY4YWRmZTIwYTEyZGQxZmFkZjczYTYxOGNiZDk0NWQg XQoKc2tfc2V0dXBfY2FwcygpIGlzIGNhbGxlZCB0byBzZXQgc2stPnNrX2RzdF9jYWNoZSBpbiBw cHRwX2Nvbm5lY3QsCnNvIHdlIGhhdmUgdG8gZHN0X3JlbGVhc2Uoc2stPnNrX2RzdF9jYWNoZSkg aW4gcHB0cF9zb2NrX2Rlc3RydWN0LApvdGhlcndpc2UsIHRoZSBkc3QgcmVmY250IHdpbGwgbGVh ay4KCkl0IGNhbiBiZSByZXByb2R1Y2VkIGJ5IHRoaXMgc3l6IGxvZzoKCiAgcjEgPSBzb2NrZXQk cHB0cCgweDE4LCAweDEsIDB4MikKICBiaW5kJHBwdHAocjEsICYoMHg3ZjAwMDAwMDAxMDApPXsw eDE4LCAweDIsIHsweDAsIEBsb2NhbH19LCAweDFlKQogIGNvbm5lY3QkcHB0cChyMSwgJigweDdm MDAwMDAwMDAwMCk9ezB4MTgsIDB4MiwgezB4MywgQHJlbW90ZX19LCAweDFlKQoKQ29uc2VjdXRp dmUgZG1lc2cgd2FybmluZ3Mgd2lsbCBvY2N1cjoKCiAgdW5yZWdpc3Rlcl9uZXRkZXZpY2U6IHdh aXRpbmcgZm9yIGxvIHRvIGJlY29tZSBmcmVlLiBVc2FnZSBjb3VudCA9IDEKCnYxLT52MjoKICAt IHVzZSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKCkgaW5zdGVhZCBvZiByY3VfZGVyZWZlcmVu Y2VfY2hlY2soKSwKICAgIGFzIHN1Z2dlc3RlZCBieSBFcmljLgoKRml4ZXM6IDAwOTU5YWRlMzZh YyAoIlBQVFA6IFBQUCBvdmVyIElQdjQgKFBvaW50LXRvLVBvaW50IFR1bm5lbGluZyBQcm90b2Nv bCkiKQpSZXBvcnRlZC1ieTogWGl1bWVpIE11IDx4bXVAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1i eTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcHBwL3BwdHAu YyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvcHBwL3BwdHAuYyBiL2RyaXZlcnMvbmV0L3BwcC9wcHRwLmMKaW5kZXggNjdmZmU3 NDc0N2ExLi43MzIxYTRlY2EyMzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BwcC9wcHRwLmMK KysrIGIvZHJpdmVycy9uZXQvcHBwL3BwdHAuYwpAQCAtNTM3LDYgKzUzNyw3IEBAIHN0YXRpYyB2 b2lkIHBwdHBfc29ja19kZXN0cnVjdChzdHJ1Y3Qgc29jayAqc2spCiAJCXBwcG94X3VuYmluZF9z b2NrKHNrKTsKIAl9CiAJc2tiX3F1ZXVlX3B1cmdlKCZzay0+c2tfcmVjZWl2ZV9xdWV1ZSk7CisJ ZHN0X3JlbGVhc2UocmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChzay0+c2tfZHN0X2NhY2hlLCAx KSk7CiB9CiAKIHN0YXRpYyBpbnQgcHB0cF9jcmVhdGUoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qg c29ja2V0ICpzb2NrLCBpbnQga2VybikKLS0gCjIuMjAuMQoKCkZyb20gZjIxNWQ4NmRmODcxZTk0 MmIyNmZmMTE0NWY3M2U1NjJhY2Y1YTUwNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog TWFzYXJ1IE5hZ2FpIDxtYXNhcnUubmFnYWkudnhAcmVuZXNhcy5jb20+CkRhdGU6IFRodSwgNyBN YXIgMjAxOSAxMToyNDo0NyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMzhdIHJhdmI6IERlY3Jl YXNlIFR4RklGTyBkZXB0aCBvZiBRMyBhbmQgUTIgdG8gb25lCgpbIFVwc3RyZWFtIGNvbW1pdCBh ZTk4MTllMzM5YjQ1MWRhN2E4NmFiNmZlMzhlY2ZjYjY4MTRlNzhhIF0KCkhhcmR3YXJlIGhhcyB0 aGUgQ0JTIChDcmVkaXQgQmFzZWQgU2hhcGVyKSB3aGljaCBhZmZlY3RzIG9ubHkgUTMKYW5kIFEy LiBXaGVuIHVwZGF0aW5nIHRoZSBDQlMgc2V0dGluZ3MsIGV2ZW4gaWYgdGhlIGRyaXZlciBkb2Vz IHNvCmFmdGVyIHdhaXRpbmcgZm9yIFR4IERNQSBmaW5pc2hlZCwgdGhlcmUgaXMgYSBwb3NzaWJp bGl0eSB0aGF0IGZyYW1lCmRhdGEgc3RpbGwgcmVtYWlucyBpbiBUeEZJRk8uCgpUbyBhdm9pZCB0 aGlzLCBkZWNyZWFzZSBUeEZJRk8gZGVwdGggb2YgUTMgYW5kIFEyIHRvIG9uZS4KClRoaXMgcGF0 Y2ggaGFzIGJlZW4gZXhlcmNpc2VkIHRoaXMgdXNpbmcgbmV0cGVyZiBUQ1BfTUFFUlRTLCBUQ1Bf U1RSRUFNCmFuZCBVRFBfU1RSRUFNIHRlc3RzIHJ1biBvbiBhbiBFYmlzdSBib2FyZC4gTm8gcGVy Zm9ybWFuY2UgY2hhbmdlIHdhcwpkZXRlY3RlZCwgb3V0c2lkZSBvZiBub2lzZSBpbiB0aGUgdGVz dHMsIGJvdGggaW4gdGVybXMgb2YgdGhyb3VnaHB1dCBhbmQKQ1BVIHV0aWxpc2F0aW9uLgoKRml4 ZXM6IGMxNTY2MzNmMTM1MyAoIlJlbmVzYXMgRXRoZXJuZXQgQVZCIGRyaXZlciBwcm9wZXIiKQpT aWduZWQtb2ZmLWJ5OiBNYXNhcnUgTmFnYWkgPG1hc2FydS5uYWdhaS52eEByZW5lc2FzLmNvbT4K U2lnbmVkLW9mZi1ieTogS2F6dXlhIE1penVndWNoaSA8a2F6dXlhLm1penVndWNoaS5rc0ByZW5l c2FzLmNvbT4KW3NpbW9uOiB1cGRhdGVkIGNoYW5nZWxvZ10KU2lnbmVkLW9mZi1ieTogU2ltb24g SG9ybWFuIDxob3JtcytyZW5lc2FzQHZlcmdlLm5ldC5hdT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0 L3JlbmVzYXMvcmF2Yl9tYWluLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZW5l c2FzL3JhdmJfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVuZXNhcy9yYXZiX21haW4u YwppbmRleCBlN2Y4YWI2ZTQzOTEuLmIwM2Y3ZTI1N2RkZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvcmVuZXNhcy9yYXZiX21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9yZW5lc2FzL3JhdmJfbWFpbi5jCkBAIC00NjcsNyArNDY3LDcgQEAgc3RhdGljIGludCByYXZi X2RtYWNfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqbmRldikKIAkJICAgUkNSX0VGRlMgfCBSQ1Jf RU5DRiB8IFJDUl9FVFMwIHwgUkNSX0VTRiB8IDB4MTgwMDAwMDAsIFJDUik7CiAKIAkvKiBTZXQg RklGTyBzaXplICovCi0JcmF2Yl93cml0ZShuZGV2LCBUR0NfVFFQX0FWQk1PREUxIHwgMHgwMDIy MjIwMCwgVEdDKTsKKwlyYXZiX3dyaXRlKG5kZXYsIFRHQ19UUVBfQVZCTU9ERTEgfCAweDAwMTEy MjAwLCBUR0MpOwogCiAJLyogVGltZXN0YW1wIGVuYWJsZSAqLwogCXJhdmJfd3JpdGUobmRldiwg VENDUl9URkVOLCBUQ0NSKTsKLS0gCjIuMjAuMQoKCkZyb20gOTczNjI2Nzc3YTdmNjIyMzA0YmEw OGU0MWRkOTJlZjQzZDRjM2U2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWGluIExv bmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpEYXRlOiBGcmksIDggTWFyIDIwMTkgMTQ6NTA6NTQg KzA4MDAKU3ViamVjdDogW1BBVENIIDE1LzM4XSByb3V0ZTogc2V0IHRoZSBkZWxldGVkIGZuaGUg Zm5oZV9kYWRkciB0byAwIGluCiBpcF9kZWxfZm5oZSB0byBmaXggYSByYWNlCgpbIFVwc3RyZWFt IGNvbW1pdCBlZTYwYWQyMTlmNWM3YzRmYjJmMDQ3Zjg4MDM3NzcwMDYzZWY3ODVmIF0KClRoZSBy YWNlIG9jY3VycyBpbiBfX21rcm91dGVfb3V0cHV0KCkgd2hlbiAyIHRocmVhZHMgbG9va3VwIGEg ZHN0OgoKICBDUFUgQSAgICAgICAgICAgICAgICAgQ1BVIEIKICBmaW5kX2V4Y2VwdGlvbigpCiAg ICAgICAgICAgICAgICAgICAgICAgIGZpbmRfZXhjZXB0aW9uKCkgW2ZuaGUgZXhwaXJlc10KICAg ICAgICAgICAgICAgICAgICAgICAgaXBfZGVsX2ZuaGUoKSBbZm5oZSBpcyBkZWxldGVkXQogIHJ0 X2JpbmRfZXhjZXB0aW9uKCkKCkluIHJ0X2JpbmRfZXhjZXB0aW9uKCkgaXQgd2lsbCBiaW5kIGEg ZGVsZXRlZCBmbmhlIHdpdGggdGhlIG5ldyBkc3QsIGFuZAp0aGlzIGRzdCB3aWxsIGdldCBubyBj aGFuY2UgdG8gYmUgZnJlZWQuIEl0IGNhdXNlcyBhIGRldiBkZWZjbnQgbGVhayBhbmQKY29uc2Vj dXRpdmUgZG1lc2cgd2FybmluZ3M6CgogIHVucmVnaXN0ZXJfbmV0ZGV2aWNlOiB3YWl0aW5nIGZv ciBldGhYIHRvIGJlY29tZSBmcmVlLiBVc2FnZSBjb3VudCA9IDEKCkVzcGVjaWFsbHkgdGhhbmtz IEpvbiB0byBpZGVudGlmeSB0aGUgaXNzdWUuCgpUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IHNldHRp bmcgZm5oZV9kYWRkciB0byAwIGluIGlwX2RlbF9mbmhlKCkgdG8gc3RvcApiaW5kaW5nIHRoZSBk ZWxldGVkIGZuaGUgd2l0aCBhIG5ldyBkc3Qgd2hlbiBjaGVja2luZyBmbmhlJ3MgZm5oZV9kYWRk cgphbmQgZGFkZHIgaW4gcnRfYmluZF9leGNlcHRpb24oKS4KCkl0IHdvcmtzIGFzIGJvdGggaXBf ZGVsX2ZuaGUoKSBhbmQgcnRfYmluZF9leGNlcHRpb24oKSBhcmUgcHJvdGVjdGVkIGJ5CmZuaGVf bG9jayBhbmQgdGhlIGZobmUgaXMgZnJlZWQgYnkga2ZyZWVfcmN1KCkuCgpGaXhlczogZGVlZDQ5 ZGY3MzkwICgicm91dGU6IGNoZWNrIGFuZCByZW1vdmUgcm91dGUgY2FjaGUgd2hlbiB3ZSBnZXQg cm91dGUiKQpTaWduZWQtb2ZmLWJ5OiBKb24gTWF4d2VsbCA8am1heHdlbGwzN0BnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KUmV2aWV3ZWQt Ynk6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRlLmMgfCA0 ICsrKysKIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQv aXB2NC9yb3V0ZS5jIGIvbmV0L2lwdjQvcm91dGUuYwppbmRleCBhNTZjNzNlZTk2NWIuLjkzMmZm ZjI0NTI1MyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvcm91dGUuYworKysgYi9uZXQvaXB2NC9yb3V0 ZS5jCkBAIC0xMzAzLDYgKzEzMDMsMTAgQEAgc3RhdGljIHZvaWQgaXBfZGVsX2ZuaGUoc3RydWN0 IGZpYl9uaCAqbmgsIF9fYmUzMiBkYWRkcikKIAkJaWYgKGZuaGUtPmZuaGVfZGFkZHIgPT0gZGFk ZHIpIHsKIAkJCXJjdV9hc3NpZ25fcG9pbnRlcigqZm5oZV9wLCByY3VfZGVyZWZlcmVuY2VfcHJv dGVjdGVkKAogCQkJCWZuaGUtPmZuaGVfbmV4dCwgbG9ja2RlcF9pc19oZWxkKCZmbmhlX2xvY2sp KSk7CisJCQkvKiBzZXQgZm5oZV9kYWRkciB0byAwIHRvIGVuc3VyZSBpdCB3b24ndCBiaW5kIHdp dGgKKwkJCSAqIG5ldyBkc3RzIGluIHJ0X2JpbmRfZXhjZXB0aW9uKCkuCisJCQkgKi8KKwkJCWZu aGUtPmZuaGVfZGFkZHIgPSAwOwogCQkJZm5oZV9mbHVzaF9yb3V0ZXMoZm5oZSk7CiAJCQlrZnJl ZV9yY3UoZm5oZSwgcmN1KTsKIAkJCWJyZWFrOwotLSAKMi4yMC4xCgoKRnJvbSBjZWMxZDUwMDZk YzAyZWZmZDIyYjc5MTJiNDc1M2FjYmIxMDVkMzM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBTYXQsIDkgTWFy IDIwMTkgMDA6Mjk6NTggKzAwMDAKU3ViamVjdDogW1BBVENIIDE2LzM4XSByeHJwYzogRml4IGNs aWVudCBjYWxsIHF1ZXVlaW5nLCB3YWl0aW5nIGZvciBjaGFubmVsCgpbIFVwc3RyZWFtIGNvbW1p dCA2OWZmYWViYjkwMzY5Y2UwODY1N2I1YWVhNDg5Njc3N2I5ZDZlOGZjIF0KCnJ4cnBjX2dldF9j bGllbnRfY29ubigpIGFkZHMgYSBuZXcgY2FsbCB0byB0aGUgZnJvbnQgb2YgdGhlIHdhaXRpbmdf Y2FsbHMKcXVldWUgaWYgdGhlIGNvbm5lY3Rpb24gaXQncyBnb2luZyB0byB1c2UgYWxyZWFkeSBl eGlzdHMuICBUaGlzIGlzIGJhZCBhcwppdCBhbGxvd3MgY2FsbHMgdG8gZ2V0IHN0YXJ2ZWQgb3V0 LgoKRml4IHRoaXMgYnkgYWRkaW5nIHRvIHRoZSB0YWlsIGluc3RlYWQuCgpBbHNvIGNoYW5nZSB0 aGUgb3RoZXIgZW5xdWV1ZSBwb2ludCBpbiB0aGUgc2FtZSBmdW5jdGlvbiB0byBwdXQgaXQgb24g dGhlCmZyb250IChpZS4gd2hlbiB3ZSBoYXZlIGEgbmV3IGNvbm5lY3Rpb24pLiAgVGhpcyBtYWtl cyB0aGUgcG9pbnQgdGhhdCBpbgp0aGUgY2FzZSBvZiBhIG5ldyBjb25uZWN0aW9uIHRoZSBuZXcg Y2FsbCBnb2VzIGF0IHRoZSBmcm9udCAodGhvdWdoIGl0CmRvZXNuJ3QgYWN0dWFsbHkgbWF0dGVy IHNpbmNlIHRoZSBxdWV1ZSBzaG91bGQgYmUgdW5vY2N1cGllZCkuCgpGaXhlczogNDUwMjViY2Vl ZjE3ICgicnhycGM6IEltcHJvdmUgbWFuYWdlbWVudCBhbmQgY2FjaGluZyBvZiBjbGllbnQgY29u bmVjdGlvbiBvYmplY3RzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNA cmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IE1hcmMgRGlvbm5lIDxtYXJjLmRpb25uZUBhdXJpc3Rv ci5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBuZXQvcnhycGMvY29ubl9jbGllbnQuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvcnhycGMv Y29ubl9jbGllbnQuYyBiL25ldC9yeHJwYy9jb25uX2NsaWVudC5jCmluZGV4IDUyMTE4OWY0YjY2 Ni4uNmU0MTliMTVhOWY4IDEwMDY0NAotLS0gYS9uZXQvcnhycGMvY29ubl9jbGllbnQuYworKysg Yi9uZXQvcnhycGMvY29ubl9jbGllbnQuYwpAQCAtMzUzLDcgKzM1Myw3IEBAIHN0YXRpYyBpbnQg cnhycGNfZ2V0X2NsaWVudF9jb25uKHN0cnVjdCByeHJwY19zb2NrICpyeCwKIAkgKiBub3JtYWxs eSBoYXZlIHRvIHRha2UgY2hhbm5lbF9sb2NrIGJ1dCB3ZSBkbyB0aGlzIGJlZm9yZSBhbnlvbmUg ZWxzZQogCSAqIGNhbiBzZWUgdGhlIGNvbm5lY3Rpb24uCiAJICovCi0JbGlzdF9hZGRfdGFpbCgm Y2FsbC0+Y2hhbl93YWl0X2xpbmssICZjYW5kaWRhdGUtPndhaXRpbmdfY2FsbHMpOworCWxpc3Rf YWRkKCZjYWxsLT5jaGFuX3dhaXRfbGluaywgJmNhbmRpZGF0ZS0+d2FpdGluZ19jYWxscyk7CiAK IAlpZiAoY3AtPmV4Y2x1c2l2ZSkgewogCQljYWxsLT5jb25uID0gY2FuZGlkYXRlOwpAQCAtNDMy LDcgKzQzMiw3IEBAIHN0YXRpYyBpbnQgcnhycGNfZ2V0X2NsaWVudF9jb25uKHN0cnVjdCByeHJw Y19zb2NrICpyeCwKIAljYWxsLT5jb25uID0gY29ubjsKIAljYWxsLT5zZWN1cml0eV9peCA9IGNv bm4tPnNlY3VyaXR5X2l4OwogCWNhbGwtPnNlcnZpY2VfaWQgPSBjb25uLT5zZXJ2aWNlX2lkOwot CWxpc3RfYWRkKCZjYWxsLT5jaGFuX3dhaXRfbGluaywgJmNvbm4tPndhaXRpbmdfY2FsbHMpOwor CWxpc3RfYWRkX3RhaWwoJmNhbGwtPmNoYW5fd2FpdF9saW5rLCAmY29ubi0+d2FpdGluZ19jYWxs cyk7CiAJc3Bpbl91bmxvY2soJmNvbm4tPmNoYW5uZWxfbG9jayk7CiAJX2xlYXZlKCIgPSAwIFtl eHRhbnQgJWRdIiwgY29ubi0+ZGVidWdfaWQpOwogCXJldHVybiAwOwotLSAKMi4yMC4xCgoKRnJv bSAxZTI1MTYxNWI1ODQ5MDExYTVkY2EyMDVjZDlmYmZlZjJjM2RkNGIyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IEZy aSwgOCBNYXIgMjAxOSAxNTo0OToxNiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMzhdIHNjdHA6 IHJlbW92ZSBzY2hlZCBpbml0IGZyb20gc2N0cF9zdHJlYW1faW5pdAoKWyBVcHN0cmVhbSBjb21t aXQgMmU5OTBkZmQxMzk3NGQ5ZWFlNDkzMDA2ZjQyZmZiNDg3MDc5NzBlZiBdCgpzeXpib3QgcmVw b3J0ZWQgYSBOVUxMLXB0ciBkZXJlZiBjYXVzZWQgYnkgdGhhdCBzY2hlZC0+aW5pdCgpIGluCnNj dHBfc3RyZWFtX2luaXQoKSBzZXQgc3RyZWFtLT5ycl9uZXh0ID0gTlVMTC4KCiAga2FzYW46IEdQ RiBjb3VsZCBiZSBjYXVzZWQgYnkgTlVMTC1wdHIgZGVyZWYgb3IgdXNlciBtZW1vcnkgYWNjZXNz CiAgUklQOiAwMDEwOnNjdHBfc2NoZWRfcnJfZGVxdWV1ZSsweGQzLzB4MTcwIG5ldC9zY3RwL3N0 cmVhbV9zY2hlZF9yci5jOjE0MQogIENhbGwgVHJhY2U6CiAgICBzY3RwX291dHFfZGVxdWV1ZV9k YXRhIG5ldC9zY3RwL291dHF1ZXVlLmM6OTAgW2lubGluZV0KICAgIHNjdHBfb3V0cV9mbHVzaF9k YXRhIG5ldC9zY3RwL291dHF1ZXVlLmM6MTA3OSBbaW5saW5lXQogICAgc2N0cF9vdXRxX2ZsdXNo KzB4YmEyLzB4Mjc5MCBuZXQvc2N0cC9vdXRxdWV1ZS5jOjEyMDUKCkFsbCBzY2hlZCBpbmZvIGlz IHNhdmVkIGluIHNvdXQtPmV4dCBub3csIGluIHNjdHBfc3RyZWFtX2luaXQoKQpzY3RwX3N0cmVh bV9hbGxvY19vdXQoKSB3aWxsIG5vdCBjaGFuZ2UgaXQsIHRoZXJlJ3Mgbm8gbmVlZCB0bwpjYWxs IHNjaGVkLT5pbml0KCkgYWdhaW4sIHNpbmNlIHNjdHBfb3V0cV9pbml0KCkgaGFzIGFscmVhZHkK ZG9uZSBpdC4KCkZpeGVzOiA1YmJiYmUzMmE0MzEgKCJzY3RwOiBpbnRyb2R1Y2Ugc3RyZWFtIHNj aGVkdWxlciBmb3VuZGF0aW9ucyIpClJlcG9ydGVkLWJ5OiBzeXpib3QrNGM5OTM0ZjIwNTIyYzBl ZmQ2NTdAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8 bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhk cml2ZXIuY29tPgpBY2tlZC1ieTogTWFyY2VsbyBSaWNhcmRvIExlaXRuZXIgPG1hcmNlbG8ubGVp dG5lckBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zdHJlYW0uYyB8IDIgLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY3RwL3N0cmVhbS5jIGIvbmV0L3Nj dHAvc3RyZWFtLmMKaW5kZXggMjkzNmVkMTdiZjllLi4zYjQ3NDU3ODYyY2MgMTAwNjQ0Ci0tLSBh L25ldC9zY3RwL3N0cmVhbS5jCisrKyBiL25ldC9zY3RwL3N0cmVhbS5jCkBAIC0yMzAsOCArMjMw LDYgQEAgaW50IHNjdHBfc3RyZWFtX2luaXQoc3RydWN0IHNjdHBfc3RyZWFtICpzdHJlYW0sIF9f dTE2IG91dGNudCwgX191MTYgaW5jbnQsCiAJZm9yIChpID0gMDsgaSA8IHN0cmVhbS0+b3V0Y250 OyBpKyspCiAJCVNDVFBfU08oc3RyZWFtLCBpKS0+c3RhdGUgPSBTQ1RQX1NUUkVBTV9PUEVOOwog Ci0Jc2NoZWQtPmluaXQoc3RyZWFtKTsKLQogaW46CiAJc2N0cF9zdHJlYW1faW50ZXJsZWF2ZV9p bml0KHN0cmVhbSk7CiAJaWYgKCFpbmNudCkKLS0gCjIuMjAuMQoKCkZyb20gYjM1NGQ1MzEwMWJh YWYwZjI5NmY4NzRkM2U5ZWI4YTY0Mjc3ODIwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogU29oZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCA2 IE1hciAyMDE5IDEzOjAxOjM2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxOC8zOF0gdGNwOiBkbyBu b3QgcmVwb3J0IFRDUF9DTV9JTlEgb2YgMCBmb3IgY2xvc2VkCiBjb25uZWN0aW9ucwoKWyBVcHN0 cmVhbSBjb21taXQgNjQ2NmU3MTU2NTFmOWYzNThlNjBjNWVhNDg4MGU0NzMxMzI1ODI3ZiBdCgpS ZXR1cm5pbmcgMCBhcyBpbnEgdG8gdXNlcnNwYWNlIGluZGljYXRlcyB0aGVyZSBpcyBubyBtb3Jl IGRhdGEgdG8KcmVhZCwgYW5kIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byB3YWl0IGZvciBFUE9M TElOLiBGb3IgYSBjb25uZWN0aW9uCnRoYXQgaGFzIHJlY2VpdmVkIEZJTiBmcm9tIHRoZSByZW1v dGUgcGVlciwgaG93ZXZlciwgdGhlIGFwcGxpY2F0aW9uCm11c3QgY29udGludWUgcmVhZGluZyB1 bnRpbCBnZXR0aW5nIEVPRiAocmV0dXJuIHZhbHVlIG9mIDAKZnJvbSB0Y3BfcmVjdm1zZykgb3Ig YW4gZXJyb3IsIGlmIGVkZ2UtdHJpZ2dlcmVkIGVwb2xsIChFUE9MTEVUKSBpcwpiZWluZyB1c2Vk LiBPdGhlcndpc2UsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIG5ldmVyIHJlY2VpdmUgYSBuZXcKRVBP TExJTiwgc2luY2UgdGhlcmUgaXMgbm8gZXBvbGwgZWRnZSBhZnRlciB0aGUgRklOLgoKUmV0dXJu IDEgd2hlbiB0aGVyZSBpcyBubyBkYXRhIGxlZnQgb24gdGhlIHF1ZXVlIGJ1dCB0aGUKY29ubmVj dGlvbiBoYXMgcmVjZWl2ZWQgRklOLCBzbyB0aGF0IHRoZSBhcHBsaWNhdGlvbnMgY29udGludWUK cmVhZGluZy4KCkZpeGVzOiBiNzVlYmE3NmQzZDcyICh0Y3A6IHNlbmQgaW4tcXVldWUgYnl0ZXMg aW4gY21zZyB1cG9uIHJlYWQpClNpZ25lZC1vZmYtYnk6IFNvaGVpbCBIYXNzYXMgWWVnYW5laCA8 c29oZWlsQGdvb2dsZS5jb20+CkFja2VkLWJ5OiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29v Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpBY2tlZC1ieTogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90 Y3AuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9uZXQvaXB2NC90Y3AuYyBiL25ldC9pcHY0L3RjcC5jCmluZGV4IGIxMDI5NzMxMDJiOS4u ODY3MmIxM2NkNzJhIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3AuYworKysgYi9uZXQvaXB2NC90 Y3AuYwpAQCAtMTkxNCw2ICsxOTE0LDExIEBAIHN0YXRpYyBpbnQgdGNwX2lucV9oaW50KHN0cnVj dCBzb2NrICpzaykKIAkJaW5xID0gdHAtPnJjdl9ueHQgLSB0cC0+Y29waWVkX3NlcTsKIAkJcmVs ZWFzZV9zb2NrKHNrKTsKIAl9CisJLyogQWZ0ZXIgcmVjZWl2aW5nIGEgRklOLCB0ZWxsIHRoZSB1 c2VyLXNwYWNlIHRvIGNvbnRpbnVlIHJlYWRpbmcKKwkgKiBieSByZXR1cm5pbmcgYSBub24temVy byBpbnEuCisJICovCisJaWYgKGlucSA9PSAwICYmIHNvY2tfZmxhZyhzaywgU09DS19ET05FKSkK KwkJaW5xID0gMTsKIAlyZXR1cm4gaW5xOwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIDJhNjA4NTQx YmM3MDVjYTdkNTA1ZDQ2NzZjYzZlNGE2ZTFmOWY3NTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IENocmlzdG9waCBQYWFzY2ggPGNwYWFzY2hAYXBwbGUuY29tPgpEYXRlOiBNb24sIDEx IE1hciAyMDE5IDExOjQxOjA1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxOS8zOF0gdGNwOiBEb24n dCBhY2Nlc3MgVENQX1NLQl9DQiBiZWZvcmUgaW5pdGlhbGl6aW5nIGl0CgpbIFVwc3RyZWFtIGNv bW1pdCBmMmZlYWVmZGFiYjBhNjI1M2FhMDIwZjY1ZTczODhmMDdhOWVkNDdjIF0KClNpbmNlIGNv bW1pdCBlZWVhMTBiODNhMTMgKCJ0Y3A6IGFkZAp0Y3BfdjRfZmlsbF9jYigpL3RjcF92NF9yZXN0 b3JlX2NiKCkiKSwgdGNwX3ZYX2ZpbGxfY2IgaXMgb25seSBjYWxsZWQKYWZ0ZXIgdGNwX2ZpbHRl cigpLiBUaGF0IG1lYW5zLCBUQ1BfU0tCX0NCKHNrYiktPmVuZF9zZXEgc3RpbGwgcG9pbnRzIHRv CnRoZSBJUC1wYXJ0IG9mIHRoZSBjYi4KCldlIHRodXMgc2hvdWxkIG5vdCBtb2NrIHdpdGggaXQs IGFzIHRoaXMgY2FuIHRyaWdnZXIgYnVncyAodGhhbmtzCnN5emthbGxlcik6ClsgICAxMi4zNDkz OTZdID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpbICAgMTIuMzUwMTg4XSBCVUc6IEtBU0FOOiBzbGFiLW91dC1vZi1ib3Vu ZHMgaW4gaXA2X2RhdGFncmFtX3JlY3Zfc3BlY2lmaWNfY3RsKzB4MTliMy8weDFhMjAKWyAgIDEy LjM1MTAzNV0gUmVhZCBvZiBzaXplIDEgYXQgYWRkciBmZmZmODgwMDZhZGJjMjA4IGJ5IHRhc2sg dGVzdF9pcDZfZGF0YWdyLzE3OTkKClNldHRpbmcgZW5kX3NlcSBpcyBhY3R1YWxseSBubyBtb3Jl IG5lY2Vzc2FyeSBpbiB0Y3BfZmlsdGVyIGFzIGl0IGdldHMKaW5pdGlhbGl6ZWQgbGF0ZXIgb24g aW4gdGNwX3ZYX2ZpbGxfY2IuCgpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpGaXhlczogZWVlYTEwYjgzYTEzICgidGNwOiBhZGQgdGNwX3Y0X2ZpbGxfY2IoKS90Y3BfdjRf cmVzdG9yZV9jYigpIikKU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIFBhYXNjaCA8Y3BhYXNjaEBh cHBsZS5jb20+ClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC9pcHY0L3RjcF9pcHY0LmMgfCA5ICstLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9p cHY0LmMgYi9uZXQvaXB2NC90Y3BfaXB2NC5jCmluZGV4IGI2NTRmMjEwNjRiYi4uMTM0NGNhY2Ni YmRlIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3BfaXB2NC5jCisrKyBiL25ldC9pcHY0L3RjcF9p cHY0LmMKQEAgLTE2NDYsMTUgKzE2NDYsOCBAQCBFWFBPUlRfU1lNQk9MKHRjcF9hZGRfYmFja2xv Zyk7CiBpbnQgdGNwX2ZpbHRlcihzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2Ip CiB7CiAJc3RydWN0IHRjcGhkciAqdGggPSAoc3RydWN0IHRjcGhkciAqKXNrYi0+ZGF0YTsKLQl1 bnNpZ25lZCBpbnQgZWF0ZW4gPSBza2ItPmxlbjsKLQlpbnQgZXJyOwogCi0JZXJyID0gc2tfZmls dGVyX3RyaW1fY2FwKHNrLCBza2IsIHRoLT5kb2ZmICogNCk7Ci0JaWYgKCFlcnIpIHsKLQkJZWF0 ZW4gLT0gc2tiLT5sZW47Ci0JCVRDUF9TS0JfQ0Ioc2tiKS0+ZW5kX3NlcSAtPSBlYXRlbjsKLQl9 Ci0JcmV0dXJuIGVycjsKKwlyZXR1cm4gc2tfZmlsdGVyX3RyaW1fY2FwKHNrLCBza2IsIHRoLT5k b2ZmICogNCk7CiB9CiBFWFBPUlRfU1lNQk9MKHRjcF9maWx0ZXIpOwogCi0tIAoyLjIwLjEKCgpG cm9tIDM0Y2EzNGQ2ZGZmNjM2ZDNkYzE0YzhmNTZlMWI2NzE0YTM1MmRmZWIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEd1aWxsYXVtZSBOYXVsdCA8Z25hdWx0QHJlZGhhdC5jb20+CkRh dGU6IEZyaSwgOCBNYXIgMjAxOSAyMjowOTo0NyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMzhd IHRjcDogaGFuZGxlIGluZXRfY3NrX3JlcXNrX3F1ZXVlX2FkZCgpIGZhaWx1cmVzCgpbICBVcHN0 cmVhbSBjb21taXQgOWQzZTEzNjhiYjQ1ODkzYTc1YTVkZmI3Y2QyMWZkZWJmYTZiNDdhZiBdCgpD b21taXQgNzcxNjY4MmNjNThlICgidGNwL2RjY3A6IGZpeCBhbm90aGVyIHJhY2UgYXQgbGlzdGVu ZXIKZGlzbWFudGxlIikgbGV0IGluZXRfY3NrX3JlcXNrX3F1ZXVlX2FkZCgpIGZhaWwsIGFuZCBh ZGp1c3RlZAp7dGNwLGRjY3B9X2NoZWNrX3JlcSgpIGFjY29yZGluZ2x5LiBIb3dldmVyLCBURk8g YW5kIHN5bmNvb2tpZXMKd2VyZW4ndCBtb2RpZmllZCwgdGh1cyBsZWFraW5nIGFsbG9jYXRlZCBy ZXNvdXJjZXMgb24gZXJyb3IuCgpDb250cmFyeSB0byB0Y3BfY2hlY2tfcmVxKCksIGluIGJvdGgg c3luY29va2llcyBhbmQgVEZPIGNhc2VzLAp3ZSBuZWVkIHRvIGRyb3AgdGhlIHJlcXVlc3Qgc29j a2V0LiBBbHNvLCBzaW5jZSB0aGUgY2hpbGQgc29ja2V0IGlzCmNyZWF0ZWQgd2l0aCBpbmV0X2Nz a19jbG9uZV9sb2NrKCksIHdlIGhhdmUgdG8gdW5sb2NrIGl0IGFuZCBkcm9wIGFuCmV4dHJhIHJl ZmVyZW5jZSAoLT5za19yZWZjb3VudCBpcyBpbml0aWFsbHkgc2V0IHRvIDIgYW5kCmluZXRfY3Nr X3JlcXNrX3F1ZXVlX2FkZCgpIGRyb3BzIG9ubHkgb25lIHJlZikuCgpGb3IgVEZPLCB3ZSBhbHNv IG5lZWQgdG8gcmV2ZXJ0IHRoZSB3b3JrIGRvbmUgYnkgdGNwX3RyeV9mYXN0b3BlbigpCih3aXRo IHJlcXNrX2Zhc3RvcGVuX3JlbW92ZSgpKS4KCkZpeGVzOiA3NzE2NjgyY2M1OGUgKCJ0Y3AvZGNj cDogZml4IGFub3RoZXIgcmFjZSBhdCBsaXN0ZW5lciBkaXNtYW50bGUiKQpTaWduZWQtb2ZmLWJ5 OiBHdWlsbGF1bWUgTmF1bHQgPGduYXVsdEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBFcmlj IER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9zeW5jb29raWVzLmMgfCA3 ICsrKysrKy0KIG5ldC9pcHY0L3RjcF9pbnB1dC5jICB8IDggKysrKysrKy0KIDIgZmlsZXMgY2hh bmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQv aXB2NC9zeW5jb29raWVzLmMgYi9uZXQvaXB2NC9zeW5jb29raWVzLmMKaW5kZXggNjA2Zjg2OGQ5 ZjNmLi5lNTMxMzQ0NjExYTAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3N5bmNvb2tpZXMuYworKysg Yi9uZXQvaXB2NC9zeW5jb29raWVzLmMKQEAgLTIxNiw3ICsyMTYsMTIgQEAgc3RydWN0IHNvY2sg KnRjcF9nZXRfY29va2llX3NvY2soc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2ti LAogCQlyZWZjb3VudF9zZXQoJnJlcS0+cnNrX3JlZmNudCwgMSk7CiAJCXRjcF9zayhjaGlsZCkt PnRzb2Zmc2V0ID0gdHNvZmY7CiAJCXNvY2tfcnBzX3NhdmVfcnhoYXNoKGNoaWxkLCBza2IpOwot CQlpbmV0X2Nza19yZXFza19xdWV1ZV9hZGQoc2ssIHJlcSwgY2hpbGQpOworCQlpZiAoIWluZXRf Y3NrX3JlcXNrX3F1ZXVlX2FkZChzaywgcmVxLCBjaGlsZCkpIHsKKwkJCWJoX3VubG9ja19zb2Nr KGNoaWxkKTsKKwkJCXNvY2tfcHV0KGNoaWxkKTsKKwkJCWNoaWxkID0gTlVMTDsKKwkJCXJlcXNr X3B1dChyZXEpOworCQl9CiAJfSBlbHNlIHsKIAkJcmVxc2tfZnJlZShyZXEpOwogCX0KZGlmZiAt LWdpdCBhL25ldC9pcHY0L3RjcF9pbnB1dC5jIGIvbmV0L2lwdjQvdGNwX2lucHV0LmMKaW5kZXgg YTlkOTU1NWE5NzNmLi4xY2ViNDFjZjc4NWYgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcF9pbnB1 dC5jCisrKyBiL25ldC9pcHY0L3RjcF9pbnB1dC5jCkBAIC02NTExLDcgKzY1MTEsMTMgQEAgaW50 IHRjcF9jb25uX3JlcXVlc3Qoc3RydWN0IHJlcXVlc3Rfc29ja19vcHMgKnJza19vcHMsCiAJCWFm X29wcy0+c2VuZF9zeW5hY2soZmFzdG9wZW5fc2ssIGRzdCwgJmZsLCByZXEsCiAJCQkJICAgICZm b2MsIFRDUF9TWU5BQ0tfRkFTVE9QRU4pOwogCQkvKiBBZGQgdGhlIGNoaWxkIHNvY2tldCBkaXJl Y3RseSBpbnRvIHRoZSBhY2NlcHQgcXVldWUgKi8KLQkJaW5ldF9jc2tfcmVxc2tfcXVldWVfYWRk KHNrLCByZXEsIGZhc3RvcGVuX3NrKTsKKwkJaWYgKCFpbmV0X2Nza19yZXFza19xdWV1ZV9hZGQo c2ssIHJlcSwgZmFzdG9wZW5fc2spKSB7CisJCQlyZXFza19mYXN0b3Blbl9yZW1vdmUoZmFzdG9w ZW5fc2ssIHJlcSwgZmFsc2UpOworCQkJYmhfdW5sb2NrX3NvY2soZmFzdG9wZW5fc2spOworCQkJ c29ja19wdXQoZmFzdG9wZW5fc2spOworCQkJcmVxc2tfcHV0KHJlcSk7CisJCQlnb3RvIGRyb3A7 CisJCX0KIAkJc2stPnNrX2RhdGFfcmVhZHkoc2spOwogCQliaF91bmxvY2tfc29jayhmYXN0b3Bl bl9zayk7CiAJCXNvY2tfcHV0KGZhc3RvcGVuX3NrKTsKLS0gCjIuMjAuMQoKCkZyb20gNjhkY2My ODMxODUwZTNlMWM0OTRhYjU5NTMyZGM1ZTc3MGE4MGUyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KRGF0ZTogRnJpLCA4 IE1hciAyMDE5IDE2OjQwOjU3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMS8zOF0gdnhsYW46IEZp eCBHUk8gY2VsbHMgcmFjZSBjb25kaXRpb24gYmV0d2VlbiByZWNlaXZlIGFuZAogbGluayBkZWxl dGUKClsgVXBzdHJlYW0gY29tbWl0IGFkNmM5OTg2YmNiNjI3YzdjMjJiOGY5ZTlhOTM0YmVjYzI3 ZGY4N2MgXQoKSWYgd2UgcmVjZWl2ZSBhIHBhY2tldCB3aGlsZSBkZWxldGluZyBhIFZYTEFOIGRl dmljZSwgdGhlcmUncyBhIGNoYW5jZQp2eGxhbl9yY3YoKSBpcyBjYWxsZWQgYXQgdGhlIHNhbWUg dGltZSBhcyB2eGxhbl9kZWxsaW5rKCkuIFRoaXMgaXMgZmluZSwKZXhjZXB0IHRoYXQgdnhsYW5f ZGVsbGluaygpIHNob3VsZCBuZXZlciBldmVyIHRvdWNoIHN0dWZmIHRoYXQncyBzdGlsbCBpbgp1 c2UsIHN1Y2ggYXMgdGhlIEdSTyBjZWxscyBsaXN0LgoKT3RoZXJ3aXNlLCB2eGxhbl9yY3YoKSBj cmFzaGVzIHdoaWxlIHF1ZXVlaW5nIHBhY2tldHMgdmlhCmdyb19jZWxsc19yZWNlaXZlKCkuCgpN b3ZlIHRoZSBncm9fY2VsbHNfZGVzdHJveSgpIHRvIHZ4bGFuX3VuaW5pdCgpLCB3aGljaCBydW5z IGFmdGVyIHRoZSBSQ1UKZ3JhY2UgcGVyaW9kIGlzIGVsYXBzZWQgYW5kIG5vdGhpbmcgbmVlZHMg dGhlIGdyb19jZWxscyBhbnltb3JlLgoKVGhpcyBpcyBub3cgZG9uZSBpbiB0aGUgc2FtZSB3YXkg YXMgY29tbWl0IDhlODE2ZGY4Nzk5NyAoImdlbmV2ZTogVXNlIEdSTwpjZWxscyBpbmZyYXN0cnVj dHVyZS4iKSBvcmlnaW5hbGx5IGltcGxlbWVudGVkIGZvciBHRU5FVkUuCgpSZXBvcnRlZC1ieTog SmlhbmxpbiBTaGkgPGppc2hpQHJlZGhhdC5jb20+CkZpeGVzOiA1OGNlMzFjY2ExZmYgKCJ2eGxh bjogR1JPIHN1cHBvcnQgYXQgdHVubmVsIGxheWVyIikKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBC cml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IFNhYnJpbmEgRHVicm9jYSA8 c2RAcXVlYXN5c25haWwubmV0PgpSZXZpZXdlZC1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBn b29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdnhsYW4uYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv dnhsYW4uYyBiL2RyaXZlcnMvbmV0L3Z4bGFuLmMKaW5kZXggOGYwMjI5NjRiMmQxLi4wZjQ4ODJj YjY4MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Z4bGFuLmMKKysrIGIvZHJpdmVycy9uZXQv dnhsYW4uYwpAQCAtMjUyOSw2ICsyNTI5LDggQEAgc3RhdGljIHZvaWQgdnhsYW5fdW5pbml0KHN0 cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHZ4bGFuX2RldiAqdnhsYW4gPSBuZXRk ZXZfcHJpdihkZXYpOwogCisJZ3JvX2NlbGxzX2Rlc3Ryb3koJnZ4bGFuLT5ncm9fY2VsbHMpOwor CiAJdnhsYW5fZmRiX2RlbGV0ZV9kZWZhdWx0KHZ4bGFuLCB2eGxhbi0+Y2ZnLnZuaSk7CiAKIAlm cmVlX3BlcmNwdShkZXYtPnRzdGF0cyk7CkBAIC0zNjAxLDcgKzM2MDMsNiBAQCBzdGF0aWMgdm9p ZCB2eGxhbl9kZWxsaW5rKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBsaXN0X2hlYWQg KmhlYWQpCiAKIAl2eGxhbl9mbHVzaCh2eGxhbiwgdHJ1ZSk7CiAKLQlncm9fY2VsbHNfZGVzdHJv eSgmdnhsYW4tPmdyb19jZWxscyk7CiAJbGlzdF9kZWwoJnZ4bGFuLT5uZXh0KTsKIAl1bnJlZ2lz dGVyX25ldGRldmljZV9xdWV1ZShkZXYsIGhlYWQpOwogfQotLSAKMi4yMC4xCgoKRnJvbSBlMGQw ZmI1MGEwNWUwMTU0ODM1NTU2NjlkZTA1ZDg5ZmI1MmNlYTRhIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFN1biwg MTAgTWFyIDIwMTkgMTA6MzY6NDAgLTA3MDAKU3ViamVjdDogW1BBVENIIDIyLzM4XSB2eGxhbjog dGVzdCBkZXYtPmZsYWdzICYgSUZGX1VQIGJlZm9yZSBjYWxsaW5nCiBncm9fY2VsbHNfcmVjZWl2 ZSgpCgpbIFVwc3RyZWFtIGNvbW1pdCA1OWNiZjU2ZmNkOThiYTJhNzE1YjZlOTdjNGU0M2Y3NzNm OTU2MzkzIF0KClNhbWUgcmVhc29ucyB0aGFuIHRoZSBvbmVzIGV4cGxhaW5lZCBpbiBjb21taXQg NDE3OWNiNWE0YzkyCigidnhsYW46IHRlc3QgZGV2LT5mbGFncyAmIElGRl9VUCBiZWZvcmUgY2Fs bGluZyBuZXRpZl9yeCgpIikKCm5ldGlmX3J4KCkgb3IgZ3JvX2NlbGxzX3JlY2VpdmUoKSBtdXN0 IGJlIGNhbGxlZCB1bmRlciBhIHN0cmljdCBjb250cmFjdC4KCkF0IGRldmljZSBkaXNtYW50bGUg cGhhc2UsIGNvcmUgbmV0d29ya2luZyBjbGVhcnMgSUZGX1VQCmFuZCBmbHVzaF9hbGxfYmFja2xv Z3MoKSBpcyBjYWxsZWQgYWZ0ZXIgcmN1IGdyYWNlIHBlcmlvZAp0byBtYWtlIHN1cmUgbm8gaW5j b21pbmcgcGFja2V0IG1pZ2h0IGJlIGluIGEgY3B1IGJhY2tsb2cKYW5kIHN0aWxsIHJlZmVyZW5j aW5nIHRoZSBkZXZpY2UuCgpBIHNpbWlsYXIgcHJvdG9jb2wgaXMgdXNlZCBmb3IgZ3JvX2NlbGxz IGluZnJhc3RydWN0dXJlLCBhcwpncm9fY2VsbHNfZGVzdHJveSgpIHdpbGwgYmUgY2FsbGVkIG9u bHkgYWZ0ZXIgYSBmdWxsIHJjdQpncmFjZSBwZXJpb2QgaXMgb2JzZXJ2ZWQgYWZ0ZXIgSUZGX1VQ IGhhcyBiZWVuIGNsZWFyZWQuCgpNb3N0IGRyaXZlcnMgY2FsbCBuZXRpZl9yeCgpIGZyb20gdGhl aXIgaW50ZXJydXB0IGhhbmRsZXIsCmFuZCBzaW5jZSB0aGUgaW50ZXJydXB0cyBhcmUgZGlzYWJs ZWQgYXQgZGV2aWNlIGRpc21hbnRsZSwKbmV0aWZfcngoKSBkb2VzIG5vdCBoYXZlIHRvIGNoZWNr IGRldi0+ZmxhZ3MgJiBJRkZfVVAKClZpcnR1YWwgZHJpdmVycyBkbyBub3QgaGF2ZSB0aGlzIGd1 YXJhbnRlZSwgYW5kIG11c3QKdGhlcmVmb3JlIG1ha2UgdGhlIGNoZWNrIHRoZW1zZWx2ZXMuCgpP dGhlcndpc2Ugd2UgcmlzayB1c2UtYWZ0ZXItZnJlZSBhbmQvb3IgY3Jhc2hlcy4KCkZpeGVzOiBk MzQyODk0YzVkMmYgKCJ2eGxhbjogdmlydHVhbCBleHRlbnNpYmxlIGxhbiIpClNpZ25lZC1vZmYt Ynk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3Z4bGFu LmMgfCAxMSArKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC92eGxhbi5jIGIvZHJpdmVycy9uZXQvdnhsYW4uYwppbmRl eCAwZjQ4ODJjYjY4MzUuLjc1MzBhYTgzY2ZhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdnhs YW4uYworKysgYi9kcml2ZXJzL25ldC92eGxhbi5jCkBAIC0xNTM4LDYgKzE1MzgsMTQgQEAgc3Rh dGljIGludCB2eGxhbl9yY3Yoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQog CQlnb3RvIGRyb3A7CiAJfQogCisJcmN1X3JlYWRfbG9jaygpOworCisJaWYgKHVubGlrZWx5KCEo dnhsYW4tPmRldi0+ZmxhZ3MgJiBJRkZfVVApKSkgeworCQlyY3VfcmVhZF91bmxvY2soKTsKKwkJ YXRvbWljX2xvbmdfaW5jKCZ2eGxhbi0+ZGV2LT5yeF9kcm9wcGVkKTsKKwkJZ290byBkcm9wOwor CX0KKwogCXN0YXRzID0gdGhpc19jcHVfcHRyKHZ4bGFuLT5kZXYtPnRzdGF0cyk7CiAJdTY0X3N0 YXRzX3VwZGF0ZV9iZWdpbigmc3RhdHMtPnN5bmNwKTsKIAlzdGF0cy0+cnhfcGFja2V0cysrOwpA QCAtMTU0NSw2ICsxNTUzLDkgQEAgc3RhdGljIGludCB2eGxhbl9yY3Yoc3RydWN0IHNvY2sgKnNr LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXU2NF9zdGF0c191cGRhdGVfZW5kKCZzdGF0cy0+c3lu Y3ApOwogCiAJZ3JvX2NlbGxzX3JlY2VpdmUoJnZ4bGFuLT5ncm9fY2VsbHMsIHNrYik7CisKKwly Y3VfcmVhZF91bmxvY2soKTsKKwogCXJldHVybiAwOwogCiBkcm9wOgotLSAKMi4yMC4xCgoKRnJv bSBlYTUwMzFiZjI1MWM0N2VmMGVkNmY1M2IwMTQ4NzY4ZDAzYWYwNTNiIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKYWNrIE1vcmdlbnN0ZWluIDxqYWNrbUBkZXYubWVsbGFub3guY28u aWw+CkRhdGU6IFR1ZSwgMTIgTWFyIDIwMTkgMTc6MDU6NDcgKzAyMDAKU3ViamVjdDogW1BBVENI IDIzLzM4XSBuZXQvbWx4NF9jb3JlOiBGaXggcmVzZXQgZmxvdyB3aGVuIGluIGNvbW1hbmQgcG9s bGluZwogbW9kZQoKWyBVcHN0cmVhbSBjb21taXQgZTE1Y2U0YjhkMTEyMjcwMDc1NzdlNmRjMTM2 NGQyODhiODg3NGZiZSBdCgpBcyBwYXJ0IG9mIHVubG9hZGluZyBhIGRldmljZSwgdGhlIGRyaXZl ciBzd2l0Y2hlcyBmcm9tCkZXIGNvbW1hbmQgZXZlbnQgbW9kZSB0byBGVyBjb21tYW5kIHBvbGxp bmcgbW9kZS4KClBhcnQgb2Ygc3dpdGNoaW5nIG92ZXIgdG8gcG9sbGluZyBtb2RlIGlzIGZyZWVp bmcgdGhlIGNvbW1hbmQgY29udGV4dCBhcnJheQptZW1vcnkgKHVuZm9ydHVuYXRlbHksIGN1cnJl bnRseSwgd2l0aG91dCBOVUxMaW5nIHRoZSBjb21tYW5kIGNvbnRleHQgYXJyYXkKcG9pbnRlciku CgpUaGUgcmVzZXQgZmxvdyBjYWxscyAiY29tcGxldGUiIHRvIGNvbXBsZXRlIGFsbCBvdXRzdGFu ZGluZyBmdyBjb21tYW5kcwooaWYgd2UgYXJlIGluIGV2ZW50IG1vZGUpLiBUaGUgY2hlY2sgZm9y IGV2ZW50IHZzLiBwb2xsaW5nIG1vZGUgaGVyZQppcyB0byB0ZXN0IGlmIHRoZSBjb21tYW5kIGNv bnRleHQgYXJyYXkgcG9pbnRlciBpcyBOVUxMLgoKSWYgdGhlIHJlc2V0IGZsb3cgaXMgYWN0aXZh dGVkIGFmdGVyIHRoZSBzd2l0Y2ggdG8gcG9sbGluZyBtb2RlLCBpdCB3aWxsCmF0dGVtcHQgKGlu Y29ycmVjdGx5KSB0byBjb21wbGV0ZSBhbGwgdGhlIGNvbW1hbmRzIGluIHRoZSBjb250ZXh0IGFy cmF5IC0tCmJlY2F1c2UgdGhlIHBvaW50ZXIgd2FzIG5vdCBOVUxMZWQgd2hlbiB0aGUgZHJpdmVy IHN3aXRjaGVkIG92ZXIgdG8gcG9sbGluZwptb2RlLgoKQXMgYSByZXN1bHQsIHdlIGhhdmUgYSB1 c2UtYWZ0ZXItZnJlZSBzaXR1YXRpb24sIHdoaWNoIHJlc3VsdHMgaW4gYQprZXJuZWwgY3Jhc2gu CgpGb3IgZXhhbXBsZToKQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIg ZGVyZWZlcmVuY2UgYXQgICAgICAgICAgIChudWxsKQpJUDogWzxmZmZmZmZmZjg3NmM0YThlPl0g X193YWtlX3VwX2NvbW1vbisweDJlLzB4OTAKUEdEIDAKT29wczogMDAwMCBbIzFdIFNNUApNb2R1 bGVzIGxpbmtlZCBpbjogbmV0Y29uc29sZSBuZnN2MyBuZnNfYWNsIG5mcyBsb2NrZCBncmFjZSAu Li4KQ1BVOiAyIFBJRDogOTQwIENvbW06IGt3b3JrZXIvMjozIEtkdW1wOiBsb2FkZWQgTm90IHRh aW50ZWQgMy4xMC4wLTg2Mi5lbDcueDg2XzY0ICMxCkhhcmR3YXJlIG5hbWU6IE1pY3Jvc29mdCBD b3Jwb3JhdGlvbiBWaXJ0dWFsIE1hY2hpbmUvVmlydHVhbCBNYWNoaW5lLCBCSU9TIDA5MDAwNiAg MDQvMjgvMjAxNgpXb3JrcXVldWU6IGV2ZW50cyBodl9lamVjdF9kZXZpY2Vfd29yayBbcGNpX2h5 cGVydl0KdGFzazogZmZmZjhkMTczNGNhMGZkMCB0aTogZmZmZjhkMTczNTRiYzAwMCB0YXNrLnRp OiBmZmZmOGQxNzM1NGJjMDAwClJJUDogMDAxMDpbPGZmZmZmZmZmODc2YzRhOGU+XSAgWzxmZmZm ZmZmZjg3NmM0YThlPl0gX193YWtlX3VwX2NvbW1vbisweDJlLzB4OTAKUlNQOiAwMDE4OmZmZmY4 ZDE3MzU0YmZhMzggIEVGTEFHUzogMDAwMTAwODIKUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDog ZmZmZjhkMTczNjJkNDJjOCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKUkRYOiAwMDAwMDAwMDAwMDAw MDAxIFJTSTogMDAwMDAwMDAwMDAwMDAwMyBSREk6IGZmZmY4ZDE3MzYyZDQyYzgKUkJQOiBmZmZm OGQxNzM1NGJmYTcwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAK UjEwOiAwMDAwMDAwMDAwMDAwMjk4IFIxMTogZmZmZjhkMTczNjEwZTAwMCBSMTI6IGZmZmY4ZDE3 MzYyZDQyZDAKUjEzOiAwMDAwMDAwMDAwMDAwMjQ2IFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6 IDAwMDAwMDAwMDAwMDAwMDMKRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ZDE4 MDI2ODAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAg RVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDAwMDAwMDAwMDAwMCBDUjM6 IDAwMDAwMDAwZjE2ZDgwMDAgQ1I0OiAwMDAwMDAwMDAwMTQwNmUwCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODc2YzdhZGM+XSBjb21wbGV0ZSsweDNjLzB4NTAKIFs8ZmZmZmZmZmZjMDQyNDJmMD5d IG1seDRfY21kX3dha2VfY29tcGxldGlvbnMrMHg3MC8weDkwIFttbHg0X2NvcmVdCiBbPGZmZmZm ZmZmYzA0MWU3YjE+XSBtbHg0X2VudGVyX2Vycm9yX3N0YXRlKzB4ZTEvMHgzODAgW21seDRfY29y ZV0KIFs8ZmZmZmZmZmZjMDQxZmE0Yj5dIG1seDRfY29tbV9jbWQrMHgyOWIvMHgzNjAgW21seDRf Y29yZV0KIFs8ZmZmZmZmZmZjMDQxZmY1MT5dIF9fbWx4NF9jbWQrMHg0NDEvMHg5MjAgW21seDRf Y29yZV0KIFs8ZmZmZmZmZmY4NzdmNjJiMT5dID8gX19zbGFiX2ZyZWUrMHg4MS8weDJmMAogWzxm ZmZmZmZmZjg3OTUxMzg0Pl0gPyBfX3JhZGl4X3RyZWVfbG9va3VwKzB4ODQvMHhmMAogWzxmZmZm ZmZmZmMwNDNhOGViPl0gbWx4NF9mcmVlX210dF9yYW5nZSsweDViLzB4YjAgW21seDRfY29yZV0K IFs8ZmZmZmZmZmZjMDQzYTk1Nz5dIG1seDRfbXR0X2NsZWFudXArMHgxNy8weDIwIFttbHg0X2Nv cmVdCiBbPGZmZmZmZmZmYzA0MjcyYzc+XSBtbHg0X2ZyZWVfZXErMHhhNy8weDFjMCBbbWx4NF9j b3JlXQogWzxmZmZmZmZmZmMwNDI4MDNlPl0gbWx4NF9jbGVhbnVwX2VxX3RhYmxlKzB4ZGUvMHgx MzAgW21seDRfY29yZV0KIFs8ZmZmZmZmZmZjMDQzM2UwOD5dIG1seDRfdW5sb2FkX29uZSsweDEx OC8weDMwMCBbbWx4NF9jb3JlXQogWzxmZmZmZmZmZmMwNDM0MTkxPl0gbWx4NF9yZW1vdmVfb25l KzB4OTEvMHgxZjAgW21seDRfY29yZV0KClRoZSBmaXggaXMgdG8gc2V0IHRoZSBjb21tYW5kIGNv bnRleHQgYXJyYXkgcG9pbnRlciB0byBOVUxMIGFmdGVyIGZyZWVpbmcKdGhlIGFycmF5LgoKRml4 ZXM6IGY1YWVmNWFhMzUwNiAoIm5ldC9tbHg0X2NvcmU6IEFjdGl2YXRlIHJlc2V0IGZsb3cgdXBv biBmYXRhbCBjb21tYW5kIGNhc2VzIikKU2lnbmVkLW9mZi1ieTogSmFjayBNb3JnZW5zdGVpbiA8 amFja21AZGV2Lm1lbGxhbm94LmNvLmlsPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3VrYW4gPHRh cmlxdEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2Nt ZC5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2NtZC5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NC9jbWQuYwppbmRleCBlNjViYzNjOTU2MzAuLjI0MTQzZWUwNTQy NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9jbWQuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2NtZC5jCkBAIC0yNjg5LDYg KzI2ODksNyBAQCB2b2lkIG1seDRfY21kX3VzZV9wb2xsaW5nKHN0cnVjdCBtbHg0X2RldiAqZGV2 KQogCQlkb3duKCZwcml2LT5jbWQuZXZlbnRfc2VtKTsKIAogCWtmcmVlKHByaXYtPmNtZC5jb250 ZXh0KTsKKwlwcml2LT5jbWQuY29udGV4dCA9IE5VTEw7CiAKIAl1cCgmcHJpdi0+Y21kLnBvbGxf c2VtKTsKIAl1cF93cml0ZSgmcHJpdi0+Y21kLnN3aXRjaF9zZW0pOwotLSAKMi4yMC4xCgoKRnJv bSA2ZmVkODY0ZjdkYTgzOGQ4MmMyYTYyMDkwOTU3NzQ0NGRhZGUyYzFmIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKYWNrIE1vcmdlbnN0ZWluIDxqYWNrbUBkZXYubWVsbGFub3guY28u aWw+CkRhdGU6IFR1ZSwgMTIgTWFyIDIwMTkgMTc6MDU6NDggKzAyMDAKU3ViamVjdDogW1BBVENI IDI0LzM4XSBuZXQvbWx4NF9jb3JlOiBGaXggbG9ja2luZyBpbiBTUklPViBtb2RlIHdoZW4gc3dp dGNoaW5nCiBiZXR3ZWVuIGV2ZW50cyBhbmQgcG9sbGluZwoKWyBVcHN0cmVhbSBjb21taXQgYzA3 ZDI3OTI3ZjJmMmU5NmZjZDI3YmI5ZmIzMzBjOWVhNjU2MTJkMCBdCgpJbiBwcm9jZWR1cmVzIG1s eDRfY21kX3VzZV9ldmVudHMoKSBhbmQgbWx4NF9jbWRfdXNlX3BvbGxpbmcoKSwgd2UgbmVlZCB0 bwpndWFyYW50ZWUgdGhhdCB0aGVyZSBhcmUgbm8gRlcgY29tbWFuZHMgaW4gcHJvZ3Jlc3Mgb24g dGhlIGNvbW0gY2hhbm5lbAooZm9yIFZGcykgb3Igd3JhcHBlZCBGVyBjb21tYW5kcyAob24gdGhl IFBGKSB3aGVuIFNSSU9WIGlzIGFjdGl2ZS4KCldlIGRvIHRoaXMgYnkgYWxzbyB0YWtpbmcgdGhl IHNsYXZlX2NtZF9tdXRleCB3aGVuIFNSSU9WIGlzIGFjdGl2ZS4KClRoaXMgaXMgZXNwZWNpYWxs eSBpbXBvcnRhbnQgd2hlbiBzd2l0Y2hpbmcgZnJvbSBldmVudCB0byBwb2xsaW5nLCBzaW5jZSB3 ZQpmcmVlIHRoZSBjb21tYW5kLWNvbnRleHQgYXJyYXkgZHVyaW5nIHRoZSBzd2l0Y2guICBJZiB0 aGVyZSBhcmUgRlcgY29tbWFuZHMKaW4gcHJvZ3Jlc3MgKGUuZy4sIHdhaXRpbmcgZm9yIGEgY29t cGxldGlvbiBldmVudCksIHRoZSBjb21wbGV0aW9uIGV2ZW50CmhhbmRsZXIgd2lsbCBhY2Nlc3Mg ZnJlZWQgbWVtb3J5LgoKU2luY2UgdGhlIGRlY2lzaW9uIHRvIHVzZSBjb21tX3dhaXQgb3IgY29t bV9wb2xsIGlzIHRha2VuIGJlZm9yZSBncmFiYmluZwp0aGUgZXZlbnRfc2VtL3BvbGxfc2VtIGlu IG1seDRfY29tbV9jbWRfd2FpdC9wb2xsLCB3ZSBtdXN0IHRha2UgdGhlCnNsYXZlX2NtZF9tdXRl eCBhcyB3ZWxsICh0byBndWFyYW50ZWUgdGhhdCB0aGUgZGVjaXNpb24gdG8gdXNlIGV2ZW50cyBv cgpwb2xsaW5nIGFuZCB0aGUgY2FsbCB0byB0aGUgYXBwcm9wcmlhdGUgY21kIGZ1bmN0aW9uIGFy ZSBhdG9taWMpLgoKRml4ZXM6IGE3ZTFmMDQ5MDVlNSAoIm5ldC9tbHg0X2NvcmU6IEZpeCBkZWFk bG9jayB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIHBvbGxpbmcgYW5kIGV2ZW50IGZ3IGNvbW1hbmRz IikKU2lnbmVkLW9mZi1ieTogSmFjayBNb3JnZW5zdGVpbiA8amFja21AZGV2Lm1lbGxhbm94LmNv LmlsPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3VrYW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBk cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2NtZC5jIHwgOCArKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDQvY21kLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg0L2NtZC5jCmluZGV4IDI0MTQzZWUwNTQyNy4uODU3NTg4ZTI0ODhkIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2NtZC5jCisrKyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvY21kLmMKQEAgLTI2NDUsNiArMjY0NSw4IEBAIGlu dCBtbHg0X2NtZF91c2VfZXZlbnRzKHN0cnVjdCBtbHg0X2RldiAqZGV2KQogCWlmICghcHJpdi0+ Y21kLmNvbnRleHQpCiAJCXJldHVybiAtRU5PTUVNOwogCisJaWYgKG1seDRfaXNfbWZ1bmMoZGV2 KSkKKwkJbXV0ZXhfbG9jaygmcHJpdi0+Y21kLnNsYXZlX2NtZF9tdXRleCk7CiAJZG93bl93cml0 ZSgmcHJpdi0+Y21kLnN3aXRjaF9zZW0pOwogCWZvciAoaSA9IDA7IGkgPCBwcml2LT5jbWQubWF4 X2NtZHM7ICsraSkgewogCQlwcml2LT5jbWQuY29udGV4dFtpXS50b2tlbiA9IGk7CkBAIC0yNjcw LDYgKzI2NzIsOCBAQCBpbnQgbWx4NF9jbWRfdXNlX2V2ZW50cyhzdHJ1Y3QgbWx4NF9kZXYgKmRl dikKIAlkb3duKCZwcml2LT5jbWQucG9sbF9zZW0pOwogCXByaXYtPmNtZC51c2VfZXZlbnRzID0g MTsKIAl1cF93cml0ZSgmcHJpdi0+Y21kLnN3aXRjaF9zZW0pOworCWlmIChtbHg0X2lzX21mdW5j KGRldikpCisJCW11dGV4X3VubG9jaygmcHJpdi0+Y21kLnNsYXZlX2NtZF9tdXRleCk7CiAKIAly ZXR1cm4gZXJyOwogfQpAQCAtMjY4Miw2ICsyNjg2LDggQEAgdm9pZCBtbHg0X2NtZF91c2VfcG9s bGluZyhzdHJ1Y3QgbWx4NF9kZXYgKmRldikKIAlzdHJ1Y3QgbWx4NF9wcml2ICpwcml2ID0gbWx4 NF9wcml2KGRldik7CiAJaW50IGk7CiAKKwlpZiAobWx4NF9pc19tZnVuYyhkZXYpKQorCQltdXRl eF9sb2NrKCZwcml2LT5jbWQuc2xhdmVfY21kX211dGV4KTsKIAlkb3duX3dyaXRlKCZwcml2LT5j bWQuc3dpdGNoX3NlbSk7CiAJcHJpdi0+Y21kLnVzZV9ldmVudHMgPSAwOwogCkBAIC0yNjkzLDYg KzI2OTksOCBAQCB2b2lkIG1seDRfY21kX3VzZV9wb2xsaW5nKHN0cnVjdCBtbHg0X2RldiAqZGV2 KQogCiAJdXAoJnByaXYtPmNtZC5wb2xsX3NlbSk7CiAJdXBfd3JpdGUoJnByaXYtPmNtZC5zd2l0 Y2hfc2VtKTsKKwlpZiAobWx4NF9pc19tZnVuYyhkZXYpKQorCQltdXRleF91bmxvY2soJnByaXYt PmNtZC5zbGF2ZV9jbWRfbXV0ZXgpOwogfQogCiBzdHJ1Y3QgbWx4NF9jbWRfbWFpbGJveCAqbWx4 NF9hbGxvY19jbWRfbWFpbGJveChzdHJ1Y3QgbWx4NF9kZXYgKmRldikKLS0gCjIuMjAuMQoKCkZy b20gZGFlNmEyZTc1NTRiZjdjNGFiMjBiNmRmMjAzODIxN2U3NTA3ZTFlYiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSmFjayBNb3JnZW5zdGVpbiA8amFja21AZGV2Lm1lbGxhbm94LmNv LmlsPgpEYXRlOiBUdWUsIDEyIE1hciAyMDE5IDE3OjA1OjQ5ICswMjAwClN1YmplY3Q6IFtQQVRD SCAyNS8zOF0gbmV0L21seDRfY29yZTogRml4IHFwIG10dCBzaXplIGNhbGN1bGF0aW9uCgpbIFVw c3RyZWFtIGNvbW1pdCA4NTExYTY1M2U5MjUwZWYzNmI5NTgwM2MzNzVhN2JlMGUyZWRiNjI4IF0K CkNhbGN1bGF0aW9uIG9mIHFwIG10dCBzaXplIChpbiBmdW5jdGlvbiBtbHg0X1JTVDJJTklUX3dy YXBwZXIpCnVsdGltYXRlbHkgZGVwZW5kcyBvbiBmdW5jdGlvbiByb3VuZHVwX3Bvd19vZl90d28u CgpJZiB0aGUgYW1vdW50IG9mIG1lbW9yeSByZXF1aXJlZCBieSB0aGUgUVAgaXMgbGVzcyB0aGFu IG9uZSBwYWdlLApyb3VuZHVwX3Bvd19vZl90d28gaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgemVy by4gIEluIHRoaXMgY2FzZSwgdGhlCnJvdW5kdXBfcG93X29mX3R3byByZXN1bHQgaXMgdW5kZWZp bmVkLgoKQ2FsbGluZyByb3VuZHVwX3Bvd19vZl90d28gd2l0aCBhIHplcm8gYXJndW1lbnQgcmVz dWx0ZWQgaW4gdGhlCmZvbGxvd2luZyBzdGFjayB0cmFjZToKClVCU0FOOiBVbmRlZmluZWQgYmVo YXZpb3VyIGluIC4vaW5jbHVkZS9saW51eC9sb2cyLmg6NjE6MTMKc2hpZnQgZXhwb25lbnQgNjQg aXMgdG9vIGxhcmdlIGZvciA2NC1iaXQgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnCkNQVTogNCBQ SUQ6IDI2OTM5IENvbW06IHJwaW5nIFRhaW50ZWQ6IEcgT0UgNC4xOS4wLXJjMQpIYXJkd2FyZSBu YW1lOiBTdXBlcm1pY3JvIFg5RFIzLUYvWDlEUjMtRiwgQklPUyAzLjJhIDA3LzA5LzIwMTUKQ2Fs bCBUcmFjZToKZHVtcF9zdGFjaysweDlhLzB4ZWIKdWJzYW5fZXBpbG9ndWUrMHg5LzB4N2MKX191 YnNhbl9oYW5kbGVfc2hpZnRfb3V0X29mX2JvdW5kcysweDI1NC8weDI5ZAo/IF9fdWJzYW5faGFu ZGxlX2xvYWRfaW52YWxpZF92YWx1ZSsweDE4MC8weDE4MAo/IGRlYnVnX3Nob3dfYWxsX2xvY2tz KzB4MzEwLzB4MzEwCj8gc2NoZWRfY2xvY2srMHg1LzB4MTAKPyBzY2hlZF9jbG9jaysweDUvMHgx MAo/IHNjaGVkX2Nsb2NrX2NwdSsweDE4LzB4MjYwCj8gZmluZF9oZWxkX2xvY2srMHgzNS8weDFl MAo/IG1seDRfUlNUMklOSVRfUVBfd3JhcHBlcisweGZiMS8weDE0NDAgW21seDRfY29yZV0KbWx4 NF9SU1QySU5JVF9RUF93cmFwcGVyKzB4ZmIxLzB4MTQ0MCBbbWx4NF9jb3JlXQoKRml4IHRoaXMg YnkgZXhwbGljaXRseSB0ZXN0aW5nIGZvciB6ZXJvLCBhbmQgcmV0dXJuaW5nIG9uZSBpZiB0aGUK YXJndW1lbnQgaXMgemVybyAoYXNzdW1pbmcgdGhhdCB0aGUgbmV4dCBoaWdoZXIgcG93ZXIgb2Yg MiBpbiB0aGlzIGNhc2UKc2hvdWxkIGJlIG9uZSkuCgpGaXhlczogYzgyZTlhYTBhOGJjICgibWx4 NF9jb3JlOiByZXNvdXJjZSB0cmFja2luZyBmb3IgSENBIHJlc291cmNlcyB1c2VkIGJ5IGd1ZXN0 cyIpClNpZ25lZC1vZmYtYnk6IEphY2sgTW9yZ2Vuc3RlaW4gPGphY2ttQGRldi5tZWxsYW5veC5j by5pbD4KU2lnbmVkLW9mZi1ieTogVGFyaXEgVG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9yZXNvdXJjZV90cmFja2VyLmMgfCA2 ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L3Jlc291cmNl X3RyYWNrZXIuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvcmVzb3VyY2Vf dHJhY2tlci5jCmluZGV4IDMxYmQ1NjcyNzAyMi4uNjc2NDI4YTU3NjYyIDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L3Jlc291cmNlX3RyYWNrZXIuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L3Jlc291cmNlX3RyYWNrZXIuYwpA QCAtMjcxOSwxMyArMjcxOSwxMyBAQCBzdGF0aWMgaW50IHFwX2dldF9tdHRfc2l6ZShzdHJ1Y3Qg bWx4NF9xcF9jb250ZXh0ICpxcGMpCiAJaW50IHRvdGFsX3BhZ2VzOwogCWludCB0b3RhbF9tZW07 CiAJaW50IHBhZ2Vfb2Zmc2V0ID0gKGJlMzJfdG9fY3B1KHFwYy0+cGFyYW1zMikgPj4gNikgJiAw eDNmOworCWludCB0b3Q7CiAKIAlzcV9zaXplID0gMSA8PCAobG9nX3NxX3NpemUgKyBsb2dfc3Ff c3JpZGUgKyA0KTsKIAlycV9zaXplID0gKHNycXxyc3N8eHJjKSA/IDAgOiAoMSA8PCAobG9nX3Jx X3NpemUgKyBsb2dfcnFfc3RyaWRlICsgNCkpOwogCXRvdGFsX21lbSA9IHNxX3NpemUgKyBycV9z aXplOwotCXRvdGFsX3BhZ2VzID0KLQkJcm91bmR1cF9wb3dfb2ZfdHdvKCh0b3RhbF9tZW0gKyAo cGFnZV9vZmZzZXQgPDwgNikpID4+Ci0JCQkJICAgcGFnZV9zaGlmdCk7CisJdG90ID0gKHRvdGFs X21lbSArIChwYWdlX29mZnNldCA8PCA2KSkgPj4gcGFnZV9zaGlmdDsKKwl0b3RhbF9wYWdlcyA9 ICF0b3QgPyAxIDogcm91bmR1cF9wb3dfb2ZfdHdvKHRvdCk7CiAKIAlyZXR1cm4gdG90YWxfcGFn ZXM7CiB9Ci0tIAoyLjIwLjEKCgpGcm9tIDZkZmQ0YTRiMDViNGVlNmFmNTA3OTU1ZmI2NmE3MmQy MWQwNzRkMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZsYWQgQnVzbG92IDx2bGFk YnVAbWVsbGFub3guY29tPgpEYXRlOiBXZWQsIDYgTWFyIDIwMTkgMTY6MjI6MTIgKzAyMDAKU3Vi amVjdDogW1BBVENIIDI2LzM4XSBuZXQ6IHNjaGVkOiBmbG93ZXI6IGluc2VydCBuZXcgZmlsdGVy IHRvIGlkciBhZnRlcgogc2V0dGluZyBpdHMgbWFzawoKWyBVcHN0cmVhbSBjb21taXQgZWNiM2Rl YTQwMGQzYmVhZjYxMWNlNzZhYzdhNTFkNDIzMDQ5MmNmMiBdCgpXaGVuIGFkZGluZyBuZXcgZmls dGVyIHRvIGZsb3dlciBjbGFzc2lmaWVyLCBmbF9jaGFuZ2UoKSBpbnNlcnRzIGl0IHRvCmhhbmRs ZV9pZHIgYmVmb3JlIGluaXRpYWxpemluZyBmaWx0ZXIgZXh0ZW5zaW9ucyBhbmQgYXNzaWduaW5n IGl0IGEgbWFzay4KTm9ybWFsbHkgdGhpcyBvcmRlcmluZyBkb2Vzbid0IG1hdHRlciBiZWNhdXNl IGFsbCBmbG93ZXIgY2xhc3NpZmllciBvcHMKY2FsbGJhY2tzIGFzc3VtZSBydG5sIGxvY2sgcHJv dGVjdGlvbi4gSG93ZXZlciwgd2hlbiBmaWx0ZXIgaGFzIGFuIGFjdGlvbgp0aGF0IGRvZXNuJ3Qg aGF2ZSBpdHMga2VybmVsIG1vZHVsZSBsb2FkZWQsIHJ0bmwgbG9jayBpcyByZWxlYXNlZCBiZWZv cmUKY2FsbCB0byByZXF1ZXN0X21vZHVsZSgpLiBEdXJpbmcgdGhpcyB0aW1lIHRoZSBmaWx0ZXIg Y2FuIGJlIGFjY2Vzc2VkIGJ1CmNvbmN1cnJlbnQgdGFzayBiZWZvcmUgaXRzIGluaXRpYWxpemF0 aW9uIGlzIGNvbXBsZXRlZCwgd2hpY2ggY2FuIGxlYWQgdG8gYQpjcmFzaC4KCkV4YW1wbGUgY2Fz ZSBvZiBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gY29uY3VycmVudCBkdW1wOgoKVGFzayAx ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFzayAyCgp0Y19uZXdfdGZpbHRlcigpCiBmbF9j aGFuZ2UoKQogIGlkcl9hbGxvY191MzIoZm5ldykKICBmbF9zZXRfcGFybXMoKQogICB0Y2ZfZXh0 c192YWxpZGF0ZSgpCiAgICB0Y2ZfYWN0aW9uX2luaXQoKQogICAgIHRjZl9hY3Rpb25faW5pdF8x KCkKICAgICAgcnRubF91bmxvY2soKQogICAgICByZXF1ZXN0X21vZHVsZSgpCiAgICAgIC4uLiAg ICAgICAgICAgICAgICAgICAgICAgIHJ0bmxfbG9jaygpCiAgICAgIAkJCQkgdGNfZHVtcF90Zmls dGVyKCkKICAgICAgCQkJCSAgdGNmX2NoYWluX2R1bXAoKQoJCQkJICAgZmxfd2FsaygpCgkJCQkg ICAgaWRyX2dldF9uZXh0X3VsKCkKCQkJCSAgICB0Y2Zfbm9kZV9kdW1wKCkKCQkJCSAgICAgdGNm X2ZpbGxfbm9kZSgpCgkJCQkgICAgICBmbF9kdW1wKCkKCQkJCSAgICAgICBtYXNrID0gJmYtPm1h c2stPmtleTsgPC0gTlVMTCBwdHIKICAgICAgcnRubF9sb2NrKCkKCkV4dGVuc2lvbiBpbml0aWFs aXphdGlvbiBhbmQgbWFzayBhc3NpZ25tZW50IGRvbid0IGRlcGVuZCBvbiBmbmV3LT5oYW5kbGUK dGhhdCBpcyBhbGxvY2F0ZWQgYnkgaWRyX2FsbG9jX3UzMigpLiBNb3ZlIGlkciBhbGxvY2F0aW9u IGNvZGUgYWZ0ZXIgYWN0aW9uCmNyZWF0aW9uIGFuZCBtYXNrIGFzc2lnbm1lbnQgaW4gZmxfY2hh bmdlKCkgdG8gcHJldmVudCBjb25jdXJyZW50IGFjY2Vzcwp0byBub3QgZnVsbHkgaW5pdGlhbGl6 ZWQgZmlsdGVyIHdoZW4gcnRubCBsb2NrIGlzIHJlbGVhc2VkIHRvIGxvYWQgYWN0aW9uCm1vZHVs ZS4KCkZpeGVzOiAwMTY4M2ExNDY5OTkgKCJuZXQ6IHNjaGVkOiByZWZhY3RvciBmbG93ZXIgd2Fs ayB0byBpdGVyYXRlIG92ZXIgaWRyIikKU2lnbmVkLW9mZi1ieTogVmxhZCBCdXNsb3YgPHZsYWRi dUBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L3NjaGVkL2Nsc19mbG93ZXIuYyB8IDQzICsrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIxIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9jbHNfZmxvd2VyLmMgYi9uZXQvc2No ZWQvY2xzX2Zsb3dlci5jCmluZGV4IDJmNjRlMzUzODEyNy4uMmQ4MWNkOTk5ZDkyIDEwMDY0NAot LS0gYS9uZXQvc2NoZWQvY2xzX2Zsb3dlci5jCisrKyBiL25ldC9zY2hlZC9jbHNfZmxvd2VyLmMK QEAgLTEyMTMsNDYgKzEyMTMsNDYgQEAgc3RhdGljIGludCBmbF9jaGFuZ2Uoc3RydWN0IG5ldCAq bmV0LCBzdHJ1Y3Qgc2tfYnVmZiAqaW5fc2tiLAogCWlmIChlcnIgPCAwKQogCQlnb3RvIGVycm91 dDsKIAotCWlmICghaGFuZGxlKSB7Ci0JCWhhbmRsZSA9IDE7Ci0JCWVyciA9IGlkcl9hbGxvY191 MzIoJmhlYWQtPmhhbmRsZV9pZHIsIGZuZXcsICZoYW5kbGUsCi0JCQkJICAgIElOVF9NQVgsIEdG UF9LRVJORUwpOwotCX0gZWxzZSBpZiAoIWZvbGQpIHsKLQkJLyogdXNlciBzcGVjaWZpZXMgYSBo YW5kbGUgYW5kIGl0IGRvZXNuJ3QgZXhpc3QgKi8KLQkJZXJyID0gaWRyX2FsbG9jX3UzMigmaGVh ZC0+aGFuZGxlX2lkciwgZm5ldywgJmhhbmRsZSwKLQkJCQkgICAgaGFuZGxlLCBHRlBfS0VSTkVM KTsKLQl9Ci0JaWYgKGVycikKLQkJZ290byBlcnJvdXQ7Ci0JZm5ldy0+aGFuZGxlID0gaGFuZGxl OwotCiAJaWYgKHRiW1RDQV9GTE9XRVJfRkxBR1NdKSB7CiAJCWZuZXctPmZsYWdzID0gbmxhX2dl dF91MzIodGJbVENBX0ZMT1dFUl9GTEFHU10pOwogCiAJCWlmICghdGNfZmxhZ3NfdmFsaWQoZm5l dy0+ZmxhZ3MpKSB7CiAJCQllcnIgPSAtRUlOVkFMOwotCQkJZ290byBlcnJvdXRfaWRyOworCQkJ Z290byBlcnJvdXQ7CiAJCX0KIAl9CiAKIAllcnIgPSBmbF9zZXRfcGFybXMobmV0LCB0cCwgZm5l dywgbWFzaywgYmFzZSwgdGIsIHRjYVtUQ0FfUkFURV0sIG92ciwKIAkJCSAgIHRwLT5jaGFpbi0+ dG1wbHRfcHJpdiwgZXh0YWNrKTsKIAlpZiAoZXJyKQotCQlnb3RvIGVycm91dF9pZHI7CisJCWdv dG8gZXJyb3V0OwogCiAJZXJyID0gZmxfY2hlY2tfYXNzaWduX21hc2soaGVhZCwgZm5ldywgZm9s ZCwgbWFzayk7CiAJaWYgKGVycikKLQkJZ290byBlcnJvdXRfaWRyOworCQlnb3RvIGVycm91dDsK KworCWlmICghaGFuZGxlKSB7CisJCWhhbmRsZSA9IDE7CisJCWVyciA9IGlkcl9hbGxvY191MzIo JmhlYWQtPmhhbmRsZV9pZHIsIGZuZXcsICZoYW5kbGUsCisJCQkJICAgIElOVF9NQVgsIEdGUF9L RVJORUwpOworCX0gZWxzZSBpZiAoIWZvbGQpIHsKKwkJLyogdXNlciBzcGVjaWZpZXMgYSBoYW5k bGUgYW5kIGl0IGRvZXNuJ3QgZXhpc3QgKi8KKwkJZXJyID0gaWRyX2FsbG9jX3UzMigmaGVhZC0+ aGFuZGxlX2lkciwgZm5ldywgJmhhbmRsZSwKKwkJCQkgICAgaGFuZGxlLCBHRlBfS0VSTkVMKTsK Kwl9CisJaWYgKGVycikKKwkJZ290byBlcnJvdXRfbWFzazsKKwlmbmV3LT5oYW5kbGUgPSBoYW5k bGU7CiAKIAlpZiAoIWZvbGQgJiYgZmxfbG9va3VwKGZuZXctPm1hc2ssICZmbmV3LT5ta2V5KSkg ewogCQllcnIgPSAtRUVYSVNUOwotCQlnb3RvIGVycm91dF9tYXNrOworCQlnb3RvIGVycm91dF9p ZHI7CiAJfQogCiAJZXJyID0gcmhhc2h0YWJsZV9pbnNlcnRfZmFzdCgmZm5ldy0+bWFzay0+aHQs ICZmbmV3LT5odF9ub2RlLAogCQkJCSAgICAgZm5ldy0+bWFzay0+ZmlsdGVyX2h0X3BhcmFtcyk7 CiAJaWYgKGVycikKLQkJZ290byBlcnJvdXRfbWFzazsKKwkJZ290byBlcnJvdXRfaWRyOwogCiAJ aWYgKCF0Y19za2lwX2h3KGZuZXctPmZsYWdzKSkgewogCQllcnIgPSBmbF9od19yZXBsYWNlX2Zp bHRlcih0cCwgZm5ldywgZXh0YWNrKTsKQEAgLTEyOTEsMTIgKzEyOTEsMTMgQEAgc3RhdGljIGlu dCBmbF9jaGFuZ2Uoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc2tfYnVmZiAqaW5fc2tiLAogCXJo YXNodGFibGVfcmVtb3ZlX2Zhc3QoJmZuZXctPm1hc2stPmh0LCAmZm5ldy0+aHRfbm9kZSwKIAkJ CSAgICAgICBmbmV3LT5tYXNrLT5maWx0ZXJfaHRfcGFyYW1zKTsKIAotZXJyb3V0X21hc2s6Ci0J ZmxfbWFza19wdXQoaGVhZCwgZm5ldy0+bWFzaywgZmFsc2UpOwotCiBlcnJvdXRfaWRyOgogCWlm ICghZm9sZCkKIAkJaWRyX3JlbW92ZSgmaGVhZC0+aGFuZGxlX2lkciwgZm5ldy0+aGFuZGxlKTsK KworZXJyb3V0X21hc2s6CisJZmxfbWFza19wdXQoaGVhZCwgZm5ldy0+bWFzaywgZmFsc2UpOwor CiBlcnJvdXQ6CiAJdGNmX2V4dHNfZGVzdHJveSgmZm5ldy0+ZXh0cyk7CiAJa2ZyZWUoZm5ldyk7 Ci0tIAoyLjIwLjEKCgpGcm9tIDIzZDRlZmJmNDZkYWVhMGMwMTFhZTFiNzkzMjhlNzllMjdiZjMz MzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRA Z29vZ2xlLmNvbT4KRGF0ZTogU2F0LCAyMyBGZWIgMjAxOSAxNTo1MTo1MSAtMDgwMApTdWJqZWN0 OiBbUEFUQ0ggMjcvMzhdIHRjcDogcmVwYWlyZWQgc2ticyBtdXN0IGluaXQgdGhlaXIgdHNvX3Nl Z3MKClsgVXBzdHJlYW0gY29tbWl0IGJmNTBiNjA2Y2ZkODVhYzhkM2QwYWRiNzExZjNlMjIyMDQw NTk4NDggXQoKc3l6Ym90IHJlcG9ydGVkIGEgV0FSTl9PTighdGNwX3NrYl9wY291bnQoc2tiKSkK aW4gdGNwX3NlbmRfbG9zc19wcm9iZSgpIFsxXQoKVGhpcyB3YXMgY2F1c2VkIGJ5IFRDUF9SRVBB SVIgc2VudCBza2JzIHRoYXQgaW5hZHZlcnRlbmx5CndlcmUgbWlzc2luZyBhIGNhbGwgdG8gdGNw X2luaXRfdHNvX3NlZ3MoKQoKWzFdCldBUk5JTkc6IENQVTogMSBQSUQ6IDAgYXQgbmV0L2lwdjQv dGNwX291dHB1dC5jOjI1MzQgdGNwX3NlbmRfbG9zc19wcm9iZSsweDc3MS8weDhhMCBuZXQvaXB2 NC90Y3Bfb3V0cHV0LmM6MjUzNApLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogcGFuaWNfb25f d2FybiBzZXQgLi4uCkNQVTogMSBQSUQ6IDAgQ29tbTogc3dhcHBlci8xIE5vdCB0YWludGVkIDUu MC4wLXJjNysgIzc3CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUv R29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6 CiA8SVJRPgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGluZV0KIGR1bXBf c3RhY2srMHgxNzIvMHgxZjAgbGliL2R1bXBfc3RhY2suYzoxMTMKIHBhbmljKzB4MmNiLzB4NjVj IGtlcm5lbC9wYW5pYy5jOjIxNAogX193YXJuLmNvbGQrMHgyMC8weDQ1IGtlcm5lbC9wYW5pYy5j OjU3MQogcmVwb3J0X2J1ZysweDI2My8weDJiMCBsaWIvYnVnLmM6MTg2CiBmaXh1cF9idWcgYXJj aC94ODYva2VybmVsL3RyYXBzLmM6MTc4IFtpbmxpbmVdCiBmaXh1cF9idWcgYXJjaC94ODYva2Vy bmVsL3RyYXBzLmM6MTczIFtpbmxpbmVdCiBkb19lcnJvcl90cmFwKzB4MTFiLzB4MjAwIGFyY2gv eDg2L2tlcm5lbC90cmFwcy5jOjI3MQogZG9faW52YWxpZF9vcCsweDM3LzB4NTAgYXJjaC94ODYv a2VybmVsL3RyYXBzLmM6MjkwCiBpbnZhbGlkX29wKzB4MTQvMHgyMCBhcmNoL3g4Ni9lbnRyeS9l bnRyeV82NC5TOjk3MwpSSVA6IDAwMTA6dGNwX3NlbmRfbG9zc19wcm9iZSsweDc3MS8weDhhMCBu ZXQvaXB2NC90Y3Bfb3V0cHV0LmM6MjUzNApDb2RlOiA4OCBmYyBmZiBmZiA0YyA4OSBlZiBlOCBl ZCA3NSBjOCBmYiBlOSBjOCBmYyBmZiBmZiBlOCA0MyA3NiBjOCBmYiBlOSA2MyBmZCBmZiBmZiBl OCBkOSA3NSBjOCBmYiBlOSA5NCBmOSBmZiBmZiBlOCBiZiAwMyA5MSBmYiA8MGY+IDBiIGU5IDdk IGZhIGZmIGZmIGU4IGIzIDAzIDkxIGZiIDBmIGI2IDFkIDM3IDQzIDdhIDAzIDMxIGZmIDg5ClJT UDogMDAxODpmZmZmODg4MGFlOTA3YzYwIEVGTEFHUzogMDAwMTAyMDYKUkFYOiBmZmZmODg4MGE5 ODljMzQwIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IGZmZmZmZmZmODVkZWRiZGIKUkRYOiAw MDAwMDAwMDAwMDAwMTAwIFJTSTogZmZmZmZmZmY4NWRlZTBiMSBSREk6IDAwMDAwMDAwMDAwMDAw MDUKUkJQOiBmZmZmODg4MGFlOTA3YzkwIFIwODogZmZmZjg4ODBhOTg5YzM0MCBSMDk6IGZmZmZl ZDEwMTQ3ZDFhZTEKUjEwOiBmZmZmZWQxMDE0N2QxYWUwIFIxMTogZmZmZjg4ODBhM2U4ZDcwMyBS MTI6IGZmZmY4ODgwOTFiOTAwNDAKUjEzOiBmZmZmODg4MGEzZThkNTQwIFIxNDogMDAwMDAwMDAw MDAwODAwMCBSMTU6IGZmZmY4ODgwOTFiOTA4NjAKIHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4 NWMwLzB4OGEwIG5ldC9pcHY0L3RjcF90aW1lci5jOjU4MwogdGNwX3dyaXRlX3RpbWVyKzB4MTBl LzB4MWQwIG5ldC9pcHY0L3RjcF90aW1lci5jOjYwNwogY2FsbF90aW1lcl9mbisweDE5MC8weDcy MCBrZXJuZWwvdGltZS90aW1lci5jOjEzMjUKIGV4cGlyZV90aW1lcnMga2VybmVsL3RpbWUvdGlt ZXIuYzoxMzYyIFtpbmxpbmVdCiBfX3J1bl90aW1lcnMga2VybmVsL3RpbWUvdGltZXIuYzoxNjgx IFtpbmxpbmVdCiBfX3J1bl90aW1lcnMga2VybmVsL3RpbWUvdGltZXIuYzoxNjQ5IFtpbmxpbmVd CiBydW5fdGltZXJfc29mdGlycSsweDY1Mi8weDE3MDAga2VybmVsL3RpbWUvdGltZXIuYzoxNjk0 CiBfX2RvX3NvZnRpcnErMHgyNjYvMHg5NWEga2VybmVsL3NvZnRpcnEuYzoyOTIKIGludm9rZV9z b2Z0aXJxIGtlcm5lbC9zb2Z0aXJxLmM6MzczIFtpbmxpbmVdCiBpcnFfZXhpdCsweDE4MC8weDFk MCBrZXJuZWwvc29mdGlycS5jOjQxMwogZXhpdGluZ19pcnEgYXJjaC94ODYvaW5jbHVkZS9hc20v YXBpYy5oOjUzNiBbaW5saW5lXQogc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KzB4MTRhLzB4NTcw IGFyY2gveDg2L2tlcm5lbC9hcGljL2FwaWMuYzoxMDYyCiBhcGljX3RpbWVyX2ludGVycnVwdCsw eGYvMHgyMCBhcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TOjgwNwogPC9JUlE+ClJJUDogMDAxMDpu YXRpdmVfc2FmZV9oYWx0KzB4Mi8weDEwIGFyY2gveDg2L2luY2x1ZGUvYXNtL2lycWZsYWdzLmg6 NTgKQ29kZTogZmYgZmYgZmYgNDggODkgYzcgNDggODkgNDUgZDggZTggNTkgMGMgYTEgZmEgNDgg OGIgNDUgZDggZTkgY2UgZmUgZmYgZmYgNDggODkgZGYgZTggNDggMGMgYTEgZmEgZWIgODIgOTAg OTAgOTAgOTAgOTAgOTAgZmIgZjQgPGMzPiAwZiAxZiAwMCA2NiAyZSAwZiAxZiA4NCAwMCAwMCAw MCAwMCAwMCBmNCBjMyA5MCA5MCA5MCA5MCA5MCA5MApSU1A6IDAwMTg6ZmZmZjg4ODBhOThhZmQ3 OCBFRkxBR1M6IDAwMDAwMjg2IE9SSUdfUkFYOiBmZmZmZmZmZmZmZmZmZjEzClJBWDogMWZmZmZm ZmZmMTEyNTA2MSBSQlg6IGZmZmY4ODgwYTk4OWMzNDAgUkNYOiAwMDAwMDAwMDAwMDAwMDAwClJE WDogZGZmZmZjMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAwMDAwMDEgUkRJOiBmZmZmODg4MGE5 ODljYmJjClJCUDogZmZmZjg4ODBhOThhZmRhOCBSMDg6IGZmZmY4ODgwYTk4OWMzNDAgUjA5OiAw MDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAw MDAgUjEyOiAwMDAwMDAwMDAwMDAwMDAxClIxMzogZmZmZmZmZmY4ODkyODJmOCBSMTQ6IDAwMDAw MDAwMDAwMDAwMDEgUjE1OiAwMDAwMDAwMDAwMDAwMDAwCiBhcmNoX2NwdV9pZGxlKzB4MTAvMHgy MCBhcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jOjU1NQogZGVmYXVsdF9pZGxlX2NhbGwrMHgzNi8w eDkwIGtlcm5lbC9zY2hlZC9pZGxlLmM6OTMKIGNwdWlkbGVfaWRsZV9jYWxsIGtlcm5lbC9zY2hl ZC9pZGxlLmM6MTUzIFtpbmxpbmVdCiBkb19pZGxlKzB4Mzg2LzB4NTcwIGtlcm5lbC9zY2hlZC9p ZGxlLmM6MjYyCiBjcHVfc3RhcnR1cF9lbnRyeSsweDFiLzB4MjAga2VybmVsL3NjaGVkL2lkbGUu YzozNTMKIHN0YXJ0X3NlY29uZGFyeSsweDQwNC8weDVjMCBhcmNoL3g4Ni9rZXJuZWwvc21wYm9v dC5jOjI3MQogc2Vjb25kYXJ5X3N0YXJ0dXBfNjQrMHhhNC8weGIwIGFyY2gveDg2L2tlcm5lbC9o ZWFkXzY0LlM6MjQzCktlcm5lbCBPZmZzZXQ6IGRpc2FibGVkClJlYm9vdGluZyBpbiA4NjQwMCBz ZWNvbmRzLi4KCkZpeGVzOiA3OTg2MTkxOWI4ODkgKCJ0Y3A6IGZpeCBUQ1BfUkVQQUlSIHhtaXQg cXVldWUgc2V0dXAiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpD YzogQW5kcmV5IFZhZ2luIDxhdmFnaW5Ab3BlbnZ6Lm9yZz4KQ2M6IFNvaGVpbCBIYXNzYXMgWWVn YW5laCA8c29oZWlsQGdvb2dsZS5jb20+CkNjOiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29v Z2xlLmNvbT4KQWNrZWQtYnk6IFNvaGVpbCBIYXNzYXMgWWVnYW5laCA8c29oZWlsQGdvb2dsZS5j b20+CkFja2VkLWJ5OiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29vZ2xlLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9p cHY0L3RjcF9vdXRwdXQuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpk aWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX291dHB1dC5jIGIvbmV0L2lwdjQvdGNwX291dHB1dC5j CmluZGV4IGQxNjc2ZDhhNmVkNy4uNDkwZjhiODJiZmE4IDEwMDY0NAotLS0gYS9uZXQvaXB2NC90 Y3Bfb3V0cHV0LmMKKysrIGIvbmV0L2lwdjQvdGNwX291dHB1dC5jCkBAIC0yMzQxLDYgKzIzNDEs NyBAQCBzdGF0aWMgYm9vbCB0Y3Bfd3JpdGVfeG1pdChzdHJ1Y3Qgc29jayAqc2ssIHVuc2lnbmVk IGludCBtc3Nfbm93LCBpbnQgbm9uYWdsZSwKIAkJCS8qICJza2JfbXN0YW1wX25zIiBpcyB1c2Vk IGFzIGEgc3RhcnQgcG9pbnQgZm9yIHRoZSByZXRyYW5zbWl0IHRpbWVyICovCiAJCQlza2ItPnNr Yl9tc3RhbXBfbnMgPSB0cC0+dGNwX3dzdGFtcF9ucyA9IHRwLT50Y3BfY2xvY2tfY2FjaGU7CiAJ CQlsaXN0X21vdmVfdGFpbCgmc2tiLT50Y3BfdHNvcnRlZF9hbmNob3IsICZ0cC0+dHNvcnRlZF9z ZW50X3F1ZXVlKTsKKwkJCXRjcF9pbml0X3Rzb19zZWdzKHNrYiwgbXNzX25vdyk7CiAJCQlnb3Rv IHJlcGFpcjsgLyogU2tpcCBuZXR3b3JrIHRyYW5zbWlzc2lvbiAqLwogCQl9CiAKLS0gCjIuMjAu MQoKCkZyb20gZWZlNTAxOWRjN2JlNTJmMGFhY2RmZTkxNzI0MGY0NGE1ZDRhOTFlYyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpEYXRlOiBTYXQsIDIzIEZlYiAyMDE5IDEzOjI0OjU5IC0wODAwClN1YmplY3Q6IFtQQVRDSCAy OC8zOF0gbmV0L3gyNTogZml4IGEgcmFjZSBpbiB4MjVfYmluZCgpCgpbIFVwc3RyZWFtIGNvbW1p dCA3OTdhMjJiZDUyOThjMjY3NGQ5Mjc4OTNmNDZjYWRmNjE5ZGFkMTFkIF0KCnN5emJvdCB3YXMg YWJsZSB0byB0cmlnZ2VyIGFub3RoZXIgc29mdCBsb2NrdXAgWzFdCgpJIGZpcnN0IHRob3VnaHQg aXQgd2FzIHRoZSBPKE5eMikgaXNzdWUgSSBtZW50aW9uZWQgaW4gbXkKcHJpb3IgZml4IChmNjU3 ZDIyZWUxZiAibmV0L3gyNTogZG8gbm90IGhvbGQgdGhlIGNwdQp0b28gbG9uZyBpbiB4MjVfbmV3 X2xjaSgpIiksIGJ1dCBJIGV2ZW50dWFsbHkgZm91bmQKdGhhdCB4MjVfYmluZCgpIHdhcyBub3Qg Y2hlY2tpbmcgU09DS19aQVBQRUQgc3RhdGUgdW5kZXIKc29ja2V0IGxvY2sgcHJvdGVjdGlvbi4K ClRoaXMgbWVhbnMgdGhhdCBtdWx0aXBsZSB0aHJlYWRzIGNhbiBlbmQgdXAgY2FsbGluZwp4MjVf aW5zZXJ0X3NvY2tldCgpIGZvciB0aGUgc2FtZSBzb2NrZXQsIGFuZCBjb3JydXB0IHgyNV9saXN0 CgpbMV0Kd2F0Y2hkb2c6IEJVRzogc29mdCBsb2NrdXAgLSBDUFUjMCBzdHVjayBmb3IgMTIzcyEg W3N5ei1leGVjdXRvci4yOjEwNDkyXQpNb2R1bGVzIGxpbmtlZCBpbjoKaXJxIGV2ZW50IHN0YW1w OiAyNzUxNQpoYXJkaXJxcyBsYXN0ICBlbmFibGVkIGF0ICgyNzUxNCk6IFs8ZmZmZmZmZmY4MTAw NjY3Mz5dIHRyYWNlX2hhcmRpcnFzX29uX3RodW5rKzB4MWEvMHgxYwpoYXJkaXJxcyBsYXN0IGRp c2FibGVkIGF0ICgyNzUxNSk6IFs8ZmZmZmZmZmY4MTAwNjY4Zj5dIHRyYWNlX2hhcmRpcnFzX29m Zl90aHVuaysweDFhLzB4MWMKc29mdGlycXMgbGFzdCAgZW5hYmxlZCBhdCAoMzIpOiBbPGZmZmZm ZmZmODYzMmVlNzM+XSB4MjVfZ2V0X25laWdoKzB4YTMvMHhkMCBuZXQveDI1L3gyNV9saW5rLmM6 MzM2CnNvZnRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDM0KTogWzxmZmZmZmZmZjg2MzI0YmMzPl0g eDI1X2ZpbmRfc29ja2V0KzB4MjMvMHgxNDAgbmV0L3gyNS9hZl94MjUuYzozNDEKQ1BVOiAwIFBJ RDogMTA0OTIgQ29tbTogc3l6LWV4ZWN1dG9yLjIgTm90IHRhaW50ZWQgNS4wLjAtcmM3KyAjODgK SGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0 ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKUklQOiAwMDEwOl9fc2FuaXRpemVyX2Nv dl90cmFjZV9wYysweDQvMHg1MCBrZXJuZWwva2Nvdi5jOjk3CkNvZGU6IGY0IGZmIGZmIGZmIGU4 IDExIDlmIGVhIGZmIDQ4IGM3IDA1IDEyIGZiIGU1IDA4IDAwIDAwIDAwIDAwIGU5IGM4IGU5IGZm IGZmIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDU1IDQ4IDg5IGU1IDw0 OD4gOGIgNzUgMDggNjUgNDggOGIgMDQgMjUgNDAgZWUgMDEgMDAgNjUgOGIgMTUgMzggMGMgOTIg N2UgODEgZTIKUlNQOiAwMDE4OmZmZmY4ODgwNmU5NGZjNDggRUZMQUdTOiAwMDAwMDI4NiBPUklH X1JBWDogZmZmZmZmZmZmZmZmZmYxMwpSQVg6IDFmZmZmMTEwMGQ4NGRhYzUgUkJYOiAwMDAwMDAw MDAwMDAwMDAxIFJDWDogZmZmZmM5MDAwNjE5NzAwMApSRFg6IDAwMDAwMDAwMDAwNDAwMDAgUlNJ OiBmZmZmZmZmZjg2MzI0YmYzIFJESTogZmZmZjg4ODA2YzI2ZDYyOApSQlA6IGZmZmY4ODgwNmU5 NGZjNDggUjA4OiBmZmZmODg4MDZjMWM2NTAwIFIwOTogZmZmZmZiZmZmMTI4MjU2MQpSMTA6IGZm ZmZmYmZmZjEyODI1NjAgUjExOiBmZmZmZmZmZjg5NDEyYjAzIFIxMjogZmZmZjg4ODA2YzI2ZDYy OApSMTM6IGZmZmY4ODgwOTA0NTUyMDAgUjE0OiBkZmZmZmMwMDAwMDAwMDAwIFIxNTogMDAwMDAw MDAwMDAwMDAwMApGUzogIDAwMDA3ZjNhMTA3ZTQ3MDAoMDAwMCkgR1M6ZmZmZjg4ODBhZTgwMDAw MCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAw MCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiAwMDAwN2YzYTEwN2UzZGI4IENSMzogMDAwMDAw MDBhNTU0NDAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZjAKRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERS MTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKRFIzOiAwMDAwMDAwMDAw MDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKQ2FsbCBU cmFjZToKIF9feDI1X2ZpbmRfc29ja2V0IG5ldC94MjUvYWZfeDI1LmM6MzI3IFtpbmxpbmVdCiB4 MjVfZmluZF9zb2NrZXQrMHg3ZC8weDE0MCBuZXQveDI1L2FmX3gyNS5jOjM0MgogeDI1X25ld19s Y2kgbmV0L3gyNS9hZl94MjUuYzozNTUgW2lubGluZV0KIHgyNV9jb25uZWN0KzB4MzgwLzB4ZGUw IG5ldC94MjUvYWZfeDI1LmM6Nzg0CiBfX3N5c19jb25uZWN0KzB4MjY2LzB4MzMwIG5ldC9zb2Nr ZXQuYzoxNjYyCiBfX2RvX3N5c19jb25uZWN0IG5ldC9zb2NrZXQuYzoxNjczIFtpbmxpbmVdCiBf X3NlX3N5c19jb25uZWN0IG5ldC9zb2NrZXQuYzoxNjcwIFtpbmxpbmVdCiBfX3g2NF9zeXNfY29u bmVjdCsweDczLzB4YjAgbmV0L3NvY2tldC5jOjE2NzAKIGRvX3N5c2NhbGxfNjQrMHgxMDMvMHg2 MTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkwCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3 ZnJhbWUrMHg0OS8weGJlClJJUDogMDAzMzoweDQ1N2UyOQpDb2RlOiBhZCBiOCBmYiBmZiBjMyA2 NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCA2NiA5MCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4 OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+ IDNkIDAxIGYwIGZmIGZmIDBmIDgzIDdiIGI4IGZiIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAw IDAwIDAwClJTUDogMDAyYjowMDAwN2YzYTEwN2UzYzc4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19S QVg6IDAwMDAwMDAwMDAwMDAwMmEKUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAw MDAwMDAwMyBSQ1g6IDAwMDAwMDAwMDA0NTdlMjkKUkRYOiAwMDAwMDAwMDAwMDAwMDEyIFJTSTog MDAwMDAwMDAyMDAwMDIwMCBSREk6IDAwMDAwMDAwMDAwMDAwMDUKUkJQOiAwMDAwMDAwMDAwNzNj MDQwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAw MDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3ZjNhMTA3ZTQ2ZDQK UjEzOiAwMDAwMDAwMDAwNGJlMzYyIFIxNDogMDAwMDAwMDAwMDRjZWI5OCBSMTU6IDAwMDAwMDAw ZmZmZmZmZmYKU2VuZGluZyBOTUkgZnJvbSBDUFUgMCB0byBDUFVzIDE6Ck5NSSBiYWNrdHJhY2Ug Zm9yIGNwdSAxCkNQVTogMSBQSUQ6IDEwNDkzIENvbW06IHN5ei1leGVjdXRvci4zIE5vdCB0YWlu dGVkIDUuMC4wLXJjNysgIzg4CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBF bmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExClJJUDog MDAxMDpfX3JlYWRfb25jZV9zaXplIGluY2x1ZGUvbGludXgvY29tcGlsZXIuaDoxOTMgW2lubGlu ZV0KUklQOiAwMDEwOnF1ZXVlZF93cml0ZV9sb2NrX3Nsb3dwYXRoKzB4MTQzLzB4MjkwIGtlcm5l bC9sb2NraW5nL3Fyd2xvY2suYzo4NgpDb2RlOiA0YyA4ZCAyYyAwMSA0MSA4MyBjNyAwMyA0MSAw ZiBiNiA0NSAwMCA0MSAzOCBjNyA3YyAwOCA4NCBjMCAwZiA4NSAwYyAwMSAwMCAwMCA4YiAwMyAz ZCAwMCAwMSAwMCAwMCA3NCAxYSBmMyA5MCA0MSAwZiBiNiA1NSAwMCA8NDE+IDM4IGQ3IDdjIGVi IDg0IGQyIDc0IGU3IDQ4IDg5IGRmIGU4IGNjIGFhIDRlIDAwIGViIGRkIGJlIDA0IDAwClJTUDog MDAxODpmZmZmODg4MDg1YzQ3YmQ4IEVGTEFHUzogMDAwMDAyMDYKUkFYOiAwMDAwMDAwMDAwMDAw MzAwIFJCWDogZmZmZmZmZmY4OTQxMmIwMCBSQ1g6IDFmZmZmZmZmZjEyODI1NjAKUkRYOiAwMDAw MDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDAwNCBSREk6IGZmZmZmZmZmODk0MTJiMDAK UkJQOiBmZmZmODg4MDg1YzQ3YzcwIFIwODogMWZmZmZmZmZmMTI4MjU2MCBSMDk6IGZmZmZmYmZm ZjEyODI1NjEKUjEwOiBmZmZmZmJmZmYxMjgyNTYwIFIxMTogZmZmZmZmZmY4OTQxMmIwMyBSMTI6 IDAwMDAwMDAwMDAwMDAwZmYKUjEzOiBmZmZmZmJmZmYxMjgyNTYwIFIxNDogMWZmZmYxMTAxMGI4 OGY3ZCBSMTU6IDAwMDAwMDAwMDAwMDAwMDMKRlM6ICAwMDAwN2ZkZDA0MDg2NzAwKDAwMDApIEdT OmZmZmY4ODgwYWU5MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAg RFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDdmZGQwNDA2 NGRiOCBDUjM6IDAwMDAwMDAwOTBiZTAwMDAgQ1I0OiAwMDAwMDAwMDAwMTQwNmUwCkRSMDogMDAw MDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAw CkRSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAw MDAwMDAwNDAwCkNhbGwgVHJhY2U6CiBxdWV1ZWRfd3JpdGVfbG9jayBpbmNsdWRlL2FzbS1nZW5l cmljL3Fyd2xvY2suaDoxMDQgW2lubGluZV0KIGRvX3Jhd193cml0ZV9sb2NrKzB4MWQ2LzB4Mjkw IGtlcm5lbC9sb2NraW5nL3NwaW5sb2NrX2RlYnVnLmM6MjAzCiBfX3Jhd193cml0ZV9sb2NrX2Jo IGluY2x1ZGUvbGludXgvcndsb2NrX2FwaV9zbXAuaDoyMDQgW2lubGluZV0KIF9yYXdfd3JpdGVf bG9ja19iaCsweDNiLzB4NTAga2VybmVsL2xvY2tpbmcvc3BpbmxvY2suYzozMTIKIHgyNV9pbnNl cnRfc29ja2V0KzB4MjEvMHhlMCBuZXQveDI1L2FmX3gyNS5jOjI2NwogeDI1X2JpbmQrMHgyNzMv MHgzNDAgbmV0L3gyNS9hZl94MjUuYzo3MDMKIF9fc3lzX2JpbmQrMHgyM2YvMHgyOTAgbmV0L3Nv Y2tldC5jOjE0ODEKIF9fZG9fc3lzX2JpbmQgbmV0L3NvY2tldC5jOjE0OTIgW2lubGluZV0KIF9f c2Vfc3lzX2JpbmQgbmV0L3NvY2tldC5jOjE0OTAgW2lubGluZV0KIF9feDY0X3N5c19iaW5kKzB4 NzMvMHhiMCBuZXQvc29ja2V0LmM6MTQ5MAogZG9fc3lzY2FsbF82NCsweDEwMy8weDYxMCBhcmNo L3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsw eDQ5LzB4YmUKUklQOiAwMDMzOjB4NDU3ZTI5CgpGaXhlczogOTBjMjcyOTdhOWJmICgiWC4yNSBy ZW1vdmUgYmtsIGluIGJpbmQiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0 QGdvb2dsZS5jb20+CkNjOiBhbmRyZXcgaGVuZHJ5IDxhbmRyZXcuaGVuZHJ5QGdtYWlsLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC94MjUvYWZfeDI1LmMgfCAxMyArKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1 LmMgYi9uZXQveDI1L2FmX3gyNS5jCmluZGV4IDVmN2E5ZmFiOGJhZC4uMjBhNTExMzk4Mzg5IDEw MDY0NAotLS0gYS9uZXQveDI1L2FmX3gyNS5jCisrKyBiL25ldC94MjUvYWZfeDI1LmMKQEAgLTY3 OSw4ICs2NzksNyBAQCBzdGF0aWMgaW50IHgyNV9iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0 cnVjdCBzb2NrYWRkciAqdWFkZHIsIGludCBhZGRyX2xlbikKIAlzdHJ1Y3Qgc29ja2FkZHJfeDI1 ICphZGRyID0gKHN0cnVjdCBzb2NrYWRkcl94MjUgKil1YWRkcjsKIAlpbnQgbGVuLCBpLCByYyA9 IDA7CiAKLQlpZiAoIXNvY2tfZmxhZyhzaywgU09DS19aQVBQRUQpIHx8Ci0JICAgIGFkZHJfbGVu ICE9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfeDI1KSB8fAorCWlmIChhZGRyX2xlbiAhPSBzaXpl b2Yoc3RydWN0IHNvY2thZGRyX3gyNSkgfHwKIAkgICAgYWRkci0+c3gyNV9mYW1pbHkgIT0gQUZf WDI1KSB7CiAJCXJjID0gLUVJTlZBTDsKIAkJZ290byBvdXQ7CkBAIC02OTksOSArNjk4LDEzIEBA IHN0YXRpYyBpbnQgeDI1X2JpbmQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRy ICp1YWRkciwgaW50IGFkZHJfbGVuKQogCX0KIAogCWxvY2tfc29jayhzayk7Ci0JeDI1X3NrKHNr KS0+c291cmNlX2FkZHIgPSBhZGRyLT5zeDI1X2FkZHI7Ci0JeDI1X2luc2VydF9zb2NrZXQoc2sp OwotCXNvY2tfcmVzZXRfZmxhZyhzaywgU09DS19aQVBQRUQpOworCWlmIChzb2NrX2ZsYWcoc2ss IFNPQ0tfWkFQUEVEKSkgeworCQl4MjVfc2soc2spLT5zb3VyY2VfYWRkciA9IGFkZHItPnN4MjVf YWRkcjsKKwkJeDI1X2luc2VydF9zb2NrZXQoc2spOworCQlzb2NrX3Jlc2V0X2ZsYWcoc2ssIFNP Q0tfWkFQUEVEKTsKKwl9IGVsc2UgeworCQlyYyA9IC1FSU5WQUw7CisJfQogCXJlbGVhc2Vfc29j ayhzayk7CiAJU09DS19ERUJVRyhzaywgIngyNV9iaW5kOiBzb2NrZXQgaXMgYm91bmRcbiIpOwog b3V0OgotLSAKMi4yMC4xCgoKRnJvbSBiZWFiNjNhYWI5MWU0OWYzOTFjNTYxN2RlNjEyMmFmNDgw OWU2YWE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZdWVIYWliaW5nIDx5dWVoYWli aW5nQGh1YXdlaS5jb20+CkRhdGU6IFRodSwgMjEgRmViIDIwMTkgMjI6NDI6MDEgKzA4MDAKU3Vi amVjdDogW1BBVENIIDI5LzM4XSBtZGlvX2J1czogRml4IHVzZS1hZnRlci1mcmVlIG9uIGRldmlj ZV9yZWdpc3RlciBmYWlscwoKWyBVcHN0cmVhbSBjb21taXQgNmZmN2IwNjA1MzVlODdjMmFlMTRk ZDg1NDg1MTJhYmZkZGE1MjhmYiBdCgpLQVNBTiBoYXMgZm91bmQgdXNlLWFmdGVyLWZyZWUgaW4g Zml4ZWRfbWRpb19idXNfaW5pdCwKY29tbWl0IDBjNjkyZDA3ODQyYSAoImRyaXZlcnMvbmV0L3Bo eS9tZGlvX2J1cy5jOiBjYWxsCnB1dF9kZXZpY2Ugb24gZGV2aWNlX3JlZ2lzdGVyKCkgZmFpbHVy ZSIpIGNhbGwgcHV0X2RldmljZSgpCndoaWxlIGRldmljZV9yZWdpc3RlcigpIGZhaWxzLGdpdmUg dXAgdGhlIGxhc3QgcmVmZXJlbmNlCnRvIHRoZSBkZXZpY2UgYW5kIGFsbG93IG1kaW9idXNfcmVs ZWFzZSB0byBiZSBleGVjdXRlZAosa2ZyZWVpbmcgdGhlIGJ1cy4gSG93ZXZlciBpbiBtb3N0IGRy aXZlcywgbWRpb2J1c19mcmVlCmJlIGNhbGxlZCB0byBmcmVlIHRoZSBidXMgd2hpbGUgbWRpb2J1 c19yZWdpc3RlciBmYWlscy4KdXNlLWFmdGVyLWZyZWUgb2NjdXJzIHdoZW4gYWNjZXNzIGJ1cyBh Z2FpbiwgdGhpcyBwYXRjaApyZXZlcnQgaXQgdG8gbGV0IG1kaW9idXNfZnJlZSBmcmVlIHRoZSBi dXMuCgpLQVNBTiByZXBvcnQgZGV0YWlscyBhcyBiZWxvdzoKCkJVRzogS0FTQU46IHVzZS1hZnRl ci1mcmVlIGluIG1kaW9idXNfZnJlZSsweDg1LzB4OTAgZHJpdmVycy9uZXQvcGh5L21kaW9fYnVz LmM6NDgyClJlYWQgb2Ygc2l6ZSA0IGF0IGFkZHIgZmZmZjg4ODFkYzgyNGQ3OCBieSB0YXNrIHN5 ei1leGVjdXRvci4wLzM1MjQKCkNQVTogMSBQSUQ6IDM1MjQgQ29tbTogc3l6LWV4ZWN1dG9yLjAg Tm90IHRhaW50ZWQgNS4wLjAtcmM3KyAjNDUKSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQ QyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MgMS4xMC4yLTF1YnVudHUxIDA0LzAxLzIwMTQK Q2FsbCBUcmFjZToKIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBk dW1wX3N0YWNrKzB4ZmEvMHgxY2UgbGliL2R1bXBfc3RhY2suYzoxMTMKIHByaW50X2FkZHJlc3Nf ZGVzY3JpcHRpb24rMHg2NS8weDI3MCBtbS9rYXNhbi9yZXBvcnQuYzoxODcKIGthc2FuX3JlcG9y dCsweDE0OS8weDE4ZCBtbS9rYXNhbi9yZXBvcnQuYzozMTcKIG1kaW9idXNfZnJlZSsweDg1LzB4 OTAgZHJpdmVycy9uZXQvcGh5L21kaW9fYnVzLmM6NDgyCiBmaXhlZF9tZGlvX2J1c19pbml0KzB4 MjgzLzB4MTAwMCBbZml4ZWRfcGh5XQogPyAweGZmZmZmZmZmYzBlNDAwMDAKID8gMHhmZmZmZmZm ZmMwZTQwMDAwCiA/IDB4ZmZmZmZmZmZjMGU0MDAwMAogZG9fb25lX2luaXRjYWxsKzB4ZmEvMHg1 Y2EgaW5pdC9tYWluLmM6ODg3CiBkb19pbml0X21vZHVsZSsweDIwNC8weDVmNiBrZXJuZWwvbW9k dWxlLmM6MzQ2MAogbG9hZF9tb2R1bGUrMHg2NmIyLzB4ODU3MCBrZXJuZWwvbW9kdWxlLmM6Mzgw OAogX19kb19zeXNfZmluaXRfbW9kdWxlKzB4MjM4LzB4MmEwIGtlcm5lbC9tb2R1bGUuYzozOTAy CiBkb19zeXNjYWxsXzY0KzB4MTQ3LzB4NjAwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MAog ZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpSSVA6IDAwMzM6MHg0NjJl OTkKQ29kZTogZjcgZDggNjQgODkgMDIgYjggZmYgZmYgZmYgZmYgYzMgNjYgMGYgMWYgNDQgMDAg MDAgNDggODkgZjggNDggODkgZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzgg NGMgOGIgNGMgMjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiA3MyAwMSBjMyA0OCBjNyBj MSBiYyBmZiBmZiBmZiBmNyBkOCA2NCA4OSAwMSA0OApSU1A6IDAwMmI6MDAwMDdmNjIxNWMxOWM1 OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMTM5ClJBWDogZmZmZmZm ZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDA3M2JmMDAgUkNYOiAwMDAwMDAwMDAwNDYyZTk5ClJE WDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMjAwMDAwODAgUkRJOiAwMDAwMDAwMDAw MDAwMDAzClJCUDogMDAwMDdmNjIxNWMxOWM3MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAw MDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAy NDYgUjEyOiAwMDAwN2Y2MjE1YzFhNmJjClIxMzogMDAwMDAwMDAwMDRiY2VmYiBSMTQ6IDAwMDAw MDAwMDA2ZjcwMzAgUjE1OiAwMDAwMDAwMDAwMDAwMDA0CgpBbGxvY2F0ZWQgYnkgdGFzayAzNTI0 Ogogc2V0X3RyYWNrIG1tL2thc2FuL2NvbW1vbi5jOjg1IFtpbmxpbmVdCiBfX2thc2FuX2ttYWxs b2MuY29uc3Rwcm9wLjMrMHhhMC8weGQwIG1tL2thc2FuL2NvbW1vbi5jOjQ5Ngoga21hbGxvYyBp bmNsdWRlL2xpbnV4L3NsYWIuaDo1NDUgW2lubGluZV0KIGt6YWxsb2MgaW5jbHVkZS9saW51eC9z bGFiLmg6NzQwIFtpbmxpbmVdCiBtZGlvYnVzX2FsbG9jX3NpemUrMHg1NC8weDFiMCBkcml2ZXJz L25ldC9waHkvbWRpb19idXMuYzoxNDMKIGZpeGVkX21kaW9fYnVzX2luaXQrMHgxNjMvMHgxMDAw IFtmaXhlZF9waHldCiBkb19vbmVfaW5pdGNhbGwrMHhmYS8weDVjYSBpbml0L21haW4uYzo4ODcK IGRvX2luaXRfbW9kdWxlKzB4MjA0LzB4NWY2IGtlcm5lbC9tb2R1bGUuYzozNDYwCiBsb2FkX21v ZHVsZSsweDY2YjIvMHg4NTcwIGtlcm5lbC9tb2R1bGUuYzozODA4CiBfX2RvX3N5c19maW5pdF9t b2R1bGUrMHgyMzgvMHgyYTAga2VybmVsL21vZHVsZS5jOjM5MDIKIGRvX3N5c2NhbGxfNjQrMHgx NDcvMHg2MDAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkwCiBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpGcmVlZCBieSB0YXNrIDM1MjQ6CiBzZXRfdHJhY2sgbW0v a2FzYW4vY29tbW9uLmM6ODUgW2lubGluZV0KIF9fa2FzYW5fc2xhYl9mcmVlKzB4MTMwLzB4MTgw IG1tL2thc2FuL2NvbW1vbi5jOjQ1OAogc2xhYl9mcmVlX2hvb2sgbW0vc2x1Yi5jOjE0MDkgW2lu bGluZV0KIHNsYWJfZnJlZV9mcmVlbGlzdF9ob29rIG1tL3NsdWIuYzoxNDM2IFtpbmxpbmVdCiBz bGFiX2ZyZWUgbW0vc2x1Yi5jOjI5ODYgW2lubGluZV0KIGtmcmVlKzB4ZTEvMHgyNzAgbW0vc2x1 Yi5jOjM5MzgKIGRldmljZV9yZWxlYXNlKzB4NzgvMHgyMDAgZHJpdmVycy9iYXNlL2NvcmUuYzo5 MTkKIGtvYmplY3RfY2xlYW51cCBsaWIva29iamVjdC5jOjY2MiBbaW5saW5lXQoga29iamVjdF9y ZWxlYXNlIGxpYi9rb2JqZWN0LmM6NjkxIFtpbmxpbmVdCiBrcmVmX3B1dCBpbmNsdWRlL2xpbnV4 L2tyZWYuaDo2NyBbaW5saW5lXQoga29iamVjdF9wdXQrMHgxNDYvMHgyNDAgbGliL2tvYmplY3Qu Yzo3MDgKIHB1dF9kZXZpY2UrMHgxYy8weDMwIGRyaXZlcnMvYmFzZS9jb3JlLmM6MjA2MAogX19t ZGlvYnVzX3JlZ2lzdGVyKzB4NDgzLzB4NTYwIGRyaXZlcnMvbmV0L3BoeS9tZGlvX2J1cy5jOjM4 MgogZml4ZWRfbWRpb19idXNfaW5pdCsweDI2Yi8weDEwMDAgW2ZpeGVkX3BoeV0KIGRvX29uZV9p bml0Y2FsbCsweGZhLzB4NWNhIGluaXQvbWFpbi5jOjg4NwogZG9faW5pdF9tb2R1bGUrMHgyMDQv MHg1ZjYga2VybmVsL21vZHVsZS5jOjM0NjAKIGxvYWRfbW9kdWxlKzB4NjZiMi8weDg1NzAga2Vy bmVsL21vZHVsZS5jOjM4MDgKIF9fZG9fc3lzX2Zpbml0X21vZHVsZSsweDIzOC8weDJhMCBrZXJu ZWwvbW9kdWxlLmM6MzkwMgogZG9fc3lzY2FsbF82NCsweDE0Ny8weDYwMCBhcmNoL3g4Ni9lbnRy eS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUK ClRoZSBidWdneSBhZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIG9iamVjdCBhdCBmZmZmODg4MWRjODI0 YzgwCiB3aGljaCBiZWxvbmdzIHRvIHRoZSBjYWNoZSBrbWFsbG9jLTJrIG9mIHNpemUgMjA0OApU aGUgYnVnZ3kgYWRkcmVzcyBpcyBsb2NhdGVkIDI0OCBieXRlcyBpbnNpZGUgb2YKIDIwNDgtYnl0 ZSByZWdpb24gW2ZmZmY4ODgxZGM4MjRjODAsIGZmZmY4ODgxZGM4MjU0ODApClRoZSBidWdneSBh ZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIHBhZ2U6CnBhZ2U6ZmZmZmVhMDAwNzcyMDgwMCBjb3VudDox IG1hcGNvdW50OjAgbWFwcGluZzpmZmZmODg4MWY2YzAyODAwIGluZGV4OjB4MCBjb21wb3VuZF9t YXBjb3VudDogMApmbGFnczogMHgyZmZmYzAwMDAwMTAyMDAoc2xhYnxoZWFkKQpyYXc6IDAyZmZm YzAwMDAwMTAyMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwNTAwMDAwMDAxIGZmZmY4ODgxZjZj MDI4MDAKcmF3OiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwODAwZjAwMGYgMDAwMDAwMDFmZmZm ZmZmZiAwMDAwMDAwMDAwMDAwMDAwCnBhZ2UgZHVtcGVkIGJlY2F1c2U6IGthc2FuOiBiYWQgYWNj ZXNzIGRldGVjdGVkCgpNZW1vcnkgc3RhdGUgYXJvdW5kIHRoZSBidWdneSBhZGRyZXNzOgogZmZm Zjg4ODFkYzgyNGMwMDogZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMg ZmMgZmMKIGZmZmY4ODgxZGM4MjRjODA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZi IGZiIGZiIGZiIGZiIGZiCj5mZmZmODg4MWRjODI0ZDAwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogZmZmZjg4ODFkYzgyNGQ4MDogZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKIGZmZmY4ODgxZGM4 MjRlMDA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiCgpG aXhlczogMGM2OTJkMDc4NDJhICgiZHJpdmVycy9uZXQvcGh5L21kaW9fYnVzLmM6IGNhbGwgcHV0 X2RldmljZSBvbiBkZXZpY2VfcmVnaXN0ZXIoKSBmYWlsdXJlIikKU2lnbmVkLW9mZi1ieTogWXVl SGFpYmluZyA8eXVlaGFpYmluZ0BodWF3ZWkuY29tPgpSZXZpZXdlZC1ieTogQW5kcmV3IEx1bm4g PGFuZHJld0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcGh5L21kaW9fYnVzLmMgfCAxIC0KIDEgZmls ZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L21k aW9fYnVzLmMgYi9kcml2ZXJzL25ldC9waHkvbWRpb19idXMuYwppbmRleCA2NmI5Y2ZlNjkyZmMu LjczNjg2MTYyODZhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L21kaW9fYnVzLmMKKysr IGIvZHJpdmVycy9uZXQvcGh5L21kaW9fYnVzLmMKQEAgLTM3OSw3ICszNzksNiBAQCBpbnQgX19t ZGlvYnVzX3JlZ2lzdGVyKHN0cnVjdCBtaWlfYnVzICpidXMsIHN0cnVjdCBtb2R1bGUgKm93bmVy KQogCWVyciA9IGRldmljZV9yZWdpc3RlcigmYnVzLT5kZXYpOwogCWlmIChlcnIpIHsKIAkJcHJf ZXJyKCJtaWlfYnVzICVzIGZhaWxlZCB0byByZWdpc3RlclxuIiwgYnVzLT5pZCk7Ci0JCXB1dF9k ZXZpY2UoJmJ1cy0+ZGV2KTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0tIAoyLjIwLjEKCgpG cm9tIDE4OTY0OGE3YmUzYWE2NTMzZTQzZGFjOWM0M2YyMDc5M2E3Y2Y1YTEgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEthbGFzaCBOYWlud2FsIDxrYWxhc2hAYXJpc3RhLmNvbT4KRGF0 ZTogV2VkLCAyMCBGZWIgMjAxOSAxNjoyMzowNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMzAvMzhd IG5ldDogU2V0IHJ0bV90YWJsZSB0byBSVF9UQUJMRV9DT01QQVQgZm9yIGlwdjYgZm9yCiB0YWJs ZXMgPiAyNTUKClsgVXBzdHJlYW0gY29tbWl0IDk3ZjAwODJhMDU5MjIxMmZjMTVkNDY4MGY1YTRk ODBmNzlhMTY4N2MgXQoKU2V0IHJ0bV90YWJsZSB0byBSVF9UQUJMRV9DT01QQVQgZm9yIGlwdjYg Zm9yIHRhYmxlcyA+IDI1NSB0bwprZWVwIGxlZ2FjeSBzb2Z0d2FyZSBoYXBweS4gVGhpcyBpcyBz aW1pbGFyIHRvIHdoYXQgd2FzIGRvbmUgZm9yCmlwdjQgaW4gY29tbWl0IDcwOTc3MmU2ZTA2NSAo Im5ldDogRml4IHJvdXRpbmcgdGFibGVzIHdpdGgKaWQgPiAyNTUgZm9yIGxlZ2FjeSBzb2Z0d2Fy ZSIpLgoKU2lnbmVkLW9mZi1ieTogS2FsYXNoIE5haW53YWwgPGthbGFzaEBhcmlzdGEuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L2lwdjYvcm91dGUuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3JvdXRlLmMgYi9uZXQvaXB2Ni9y b3V0ZS5jCmluZGV4IGM4N2NlNTczMjMzOC4uYTRlYzYyOWUxNTYyIDEwMDY0NAotLS0gYS9uZXQv aXB2Ni9yb3V0ZS5jCisrKyBiL25ldC9pcHY2L3JvdXRlLmMKQEAgLTQ2NjAsNyArNDY2MCw3IEBA IHN0YXRpYyBpbnQgcnQ2X2ZpbGxfbm9kZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBza19idWZm ICpza2IsCiAJCXRhYmxlID0gcnQtPmZpYjZfdGFibGUtPnRiNl9pZDsKIAllbHNlCiAJCXRhYmxl ID0gUlQ2X1RBQkxFX1VOU1BFQzsKLQlydG0tPnJ0bV90YWJsZSA9IHRhYmxlOworCXJ0bS0+cnRt X3RhYmxlID0gdGFibGUgPCAyNTYgPyB0YWJsZSA6IFJUX1RBQkxFX0NPTVBBVDsKIAlpZiAobmxh X3B1dF91MzIoc2tiLCBSVEFfVEFCTEUsIHRhYmxlKSkKIAkJZ290byBubGFfcHV0X2ZhaWx1cmU7 CiAKLS0gCjIuMjAuMQoKCkZyb20gOTM1MWNmNzE4NzYzNmI2MTU3NWYzOGNlOTlkMWNkMjY4OGUw N2FlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGFvbG8gQWJlbmkgPHBhYmVuaUBy ZWRoYXQuY29tPgpEYXRlOiBXZWQsIDIwIEZlYiAyMDE5IDE4OjE4OjEyICswMTAwClN1YmplY3Q6 IFtQQVRDSCAzMS8zOF0gaXB2Njogcm91dGU6IHB1cmdlIGV4Y2VwdGlvbiBvbiByZW1vdmFsCgpb IFVwc3RyZWFtIGNvbW1pdCBmNWI1MWZlODA0ZWMyYTZlZGNlMGY4ZjZiMTFlYTU3MjgzZjU4NTdi IF0KCldoZW4gYSBuZXRkZXZpY2UgaXMgdW5yZWdpc3RlcmVkLCB3ZSBmbHVzaCB0aGUgcmVsZXZh bnQgZXhjZXB0aW9uCnZpYSBydDZfc3luY19kb3duX2RldigpIC0+IGZpYjZfaWZkb3duKCkgLT4g ZmliNl9kZWwoKSAtPiBmaWI2X2RlbF9yb3V0ZSgpLgoKRmluYWxseSwgd2UgZW5kLXVwIGNhbGxp bmcgcnQ2X3JlbW92ZV9leGNlcHRpb24oKSwgd2hlcmUgd2UgcmVsZWFzZQp0aGUgcmVsZXZhbnQg ZHN0LCB3aGlsZSB3ZSBrZWVwIHRoZSByZWZlcmVuY2VzIHRvIHRoZSByZWxhdGVkIGZpYjZfaW5m byBhbmQKZGV2LiBTdWNoIHJlZmVyZW5jZXMgc2hvdWxkIGJlIHJlbGVhc2VkIGxhdGVyIHdoZW4g dGhlIGRzdCB3aWxsIGJlCmRlc3Ryb3llZC4KClRoZXJlIGFyZSBhIG51bWJlciBvZiBjYWNoZXMg dGhhdCBjYW4ga2VlcCB0aGUgZXhjZXB0aW9uIGFyb3VuZCBmb3IgYW4KdW5saW1pdGVkIGFtb3Vu dCBvZiB0aW1lIC0gbmFtZWx5IGRzdF9jYWNoZSwgcG9zc2libHkgZXZlbiBzb2NrZXQgY2FjaGUu CkFzIGEgcmVzdWx0IGRldmljZSByZWdpc3RyYXRpb24gbWF5IGhhbmcsIGFzIGRlbW9uc3RyYXRl ZCBieSB0aGlzIHNjcmlwdDoKCmlwIG5ldG5zIGFkZCBjbAppcCBuZXRucyBhZGQgcnQKaXAgbmV0 bnMgYWRkIHNydgppcCBuZXRucyBleGVjIHJ0IHN5c2N0bCAtdyBuZXQuaXB2Ni5jb25mLmFsbC5m b3J3YXJkaW5nPTEKCmlwIGxpbmsgYWRkIG5hbWUgY2xfdmV0aCB0eXBlIHZldGggcGVlciBuYW1l IGNsX3J0X3ZldGgKaXAgbGluayBzZXQgZGV2IGNsX3ZldGggbmV0bnMgY2wKaXAgLW4gY2wgbGlu ayBzZXQgZGV2IGNsX3ZldGggdXAKaXAgLW4gY2wgYWRkciBhZGQgZGV2IGNsX3ZldGggMjAwMTo6 Mi82NAppcCAtbiBjbCByb3V0ZSBhZGQgZGVmYXVsdCB2aWEgMjAwMTo6MQoKaXAgLW4gY2wgbGlu ayBhZGQgdHVudjYgdHlwZSBpcDZ0bmwgbW9kZSBpcDZpcDYgbG9jYWwgMjAwMTo6MiByZW1vdGUg MjAwMjo6MSBob3BsaW1pdCA2NCBkZXYgY2xfdmV0aAppcCAtbiBjbCBsaW5rIHNldCB0dW52NiB1 cAppcCAtbiBjbCBhZGRyIGFkZCAyMDEzOjoyLzY0IGRldiB0dW52NgoKaXAgbGluayBzZXQgZGV2 IGNsX3J0X3ZldGggbmV0bnMgcnQKaXAgLW4gcnQgbGluayBzZXQgZGV2IGNsX3J0X3ZldGggdXAK aXAgLW4gcnQgYWRkciBhZGQgZGV2IGNsX3J0X3ZldGggMjAwMTo6MS82NAoKaXAgbGluayBhZGQg bmFtZSBydF9zcnZfdmV0aCB0eXBlIHZldGggcGVlciBuYW1lIHNydl92ZXRoCmlwIGxpbmsgc2V0 IGRldiBzcnZfdmV0aCBuZXRucyBzcnYKaXAgLW4gc3J2IGxpbmsgc2V0IGRldiBzcnZfdmV0aCB1 cAppcCAtbiBzcnYgYWRkciBhZGQgZGV2IHNydl92ZXRoIDIwMDI6OjEvNjQKaXAgLW4gc3J2IHJv dXRlIGFkZCBkZWZhdWx0IHZpYSAyMDAyOjoyCgppcCAtbiBzcnYgbGluayBhZGQgdHVudjYgdHlw ZSBpcDZ0bmwgbW9kZSBpcDZpcDYgbG9jYWwgMjAwMjo6MSByZW1vdGUgMjAwMTo6MiBob3BsaW1p dCA2NCBkZXYgc3J2X3ZldGgKaXAgLW4gc3J2IGxpbmsgc2V0IHR1bnY2IHVwCmlwIC1uIHNydiBh ZGRyIGFkZCAyMDEzOjoxLzY0IGRldiB0dW52NgoKaXAgbGluayBzZXQgZGV2IHJ0X3Nydl92ZXRo IG5ldG5zIHJ0CmlwIC1uIHJ0IGxpbmsgc2V0IGRldiBydF9zcnZfdmV0aCB1cAppcCAtbiBydCBh ZGRyIGFkZCBkZXYgcnRfc3J2X3ZldGggMjAwMjo6Mi82NAoKaXAgbmV0bnMgZXhlYyBzcnYgbmV0 c2VydmVyICYgc2xlZXAgMC4xCmlwIG5ldG5zIGV4ZWMgY2wgcGluZzYgLWMgNCAyMDEzOjoxCmlw IG5ldG5zIGV4ZWMgY2wgbmV0cGVyZiAtSCAyMDEzOjoxIC10IFRDUF9TVFJFQU0gLWwgMyAmIHNs ZWVwIDEKaXAgLW4gcnQgbGluayBzZXQgZGV2IHJ0X3Nydl92ZXRoIG10dSAxNDAwCndhaXQgJTIK CmlwIC1uIGNsIGxpbmsgZGVsIGNsX3ZldGgKClRoaXMgY29tbWl0IGFkZHJlc3NlcyB0aGUgaXNz dWUgcHVyZ2luZyBhbGwgdGhlIHJlZmVyZW5jZXMgaGVsZCBieSB0aGUKZXhjZXB0aW9uIGF0IHRp bWUsIGFzIHdlIGN1cnJlbnRseSBkbyBmb3IgZS5nLiBpcHY2IHBjcHUgZHN0IGVudHJpZXMuCgp2 MSAtPiB2MjoKIC0gcmUtb3JkZXIgdGhlIGNvZGUgdG8gYXZvaWQgYWNjZXNzaW5nIGRzdCBhbmQg bmV0IGFmdGVyIGRzdF9kZXZfcHV0KCkKCkZpeGVzOiA5MzUzMWM2NzQzMTUgKCJuZXQvaXB2Njog c2VwYXJhdGUgaGFuZGxpbmcgb2YgRklCIGVudHJpZXMgZnJvbSBkc3QgYmFzZWQgcm91dGVzIikK U2lnbmVkLW9mZi1ieTogUGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpSZXZpZXdlZC1i eTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvcm91dGUuYyB8IDEz ICsrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvcm91dGUuYyBiL25ldC9pcHY2L3JvdXRlLmMK aW5kZXggYTRlYzYyOWUxNTYyLi5lOGViNGRlMGI3OTIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3Jv dXRlLmMKKysrIGIvbmV0L2lwdjYvcm91dGUuYwpAQCAtMTI3MiwxOCArMTI3MiwyOSBAQCBzdGF0 aWMgREVGSU5FX1NQSU5MT0NLKHJ0Nl9leGNlcHRpb25fbG9jayk7CiBzdGF0aWMgdm9pZCBydDZf cmVtb3ZlX2V4Y2VwdGlvbihzdHJ1Y3QgcnQ2X2V4Y2VwdGlvbl9idWNrZXQgKmJ1Y2tldCwKIAkJ CQkgc3RydWN0IHJ0Nl9leGNlcHRpb24gKnJ0Nl9leCkKIHsKKwlzdHJ1Y3QgZmliNl9pbmZvICpm cm9tOwogCXN0cnVjdCBuZXQgKm5ldDsKIAogCWlmICghYnVja2V0IHx8ICFydDZfZXgpCiAJCXJl dHVybjsKIAogCW5ldCA9IGRldl9uZXQocnQ2X2V4LT5ydDZpLT5kc3QuZGV2KTsKKwluZXQtPmlw djYucnQ2X3N0YXRzLT5maWJfcnRfY2FjaGUtLTsKKworCS8qIHB1cmdlIGNvbXBsZXRlbHkgdGhl IGV4Y2VwdGlvbiB0byBhbGxvdyByZWxlYXNpbmcgdGhlIGhlbGQgcmVzb3VyY2VzOgorCSAqIHNv bWUgW3NrXSBjYWNoZSBtYXkga2VlcCB0aGUgZHN0IGFyb3VuZCBmb3IgdW5saW1pdGVkIHRpbWUK KwkgKi8KKwlmcm9tID0gcmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChydDZfZXgtPnJ0NmktPmZy b20sCisJCQkJCSBsb2NrZGVwX2lzX2hlbGQoJnJ0Nl9leGNlcHRpb25fbG9jaykpOworCXJjdV9h c3NpZ25fcG9pbnRlcihydDZfZXgtPnJ0NmktPmZyb20sIE5VTEwpOworCWZpYjZfaW5mb19yZWxl YXNlKGZyb20pOworCWRzdF9kZXZfcHV0KCZydDZfZXgtPnJ0NmktPmRzdCk7CisKIAlobGlzdF9k ZWxfcmN1KCZydDZfZXgtPmhsaXN0KTsKIAlkc3RfcmVsZWFzZSgmcnQ2X2V4LT5ydDZpLT5kc3Qp OwogCWtmcmVlX3JjdShydDZfZXgsIHJjdSk7CiAJV0FSTl9PTl9PTkNFKCFidWNrZXQtPmRlcHRo KTsKIAlidWNrZXQtPmRlcHRoLS07Ci0JbmV0LT5pcHY2LnJ0Nl9zdGF0cy0+ZmliX3J0X2NhY2hl LS07CiB9CiAKIC8qIFJlbW92ZSBvbGRlc3QgcnQ2X2V4IGluIGJ1Y2tldCBhbmQgZnJlZSB0aGUg bWVtb3J5Ci0tIAoyLjIwLjEKCgpGcm9tIDEwNWQ5MWI5ZGE0ZDE5NGI4YWU3MTgxNTU1Y2RmYTE1 YWNhZjg3NzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEdlb3JnZSBXaWxraWUgPGd3 aWxraWVAdnlhdHRhLmF0dC1tYWlsLmNvbT4KRGF0ZTogV2VkLCAyMCBGZWIgMjAxOSAwODoxOTox MSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMzIvMzhdIHRlYW06IHVzZSBvcGVyc3RhdGUgY29uc2lz dGVudGx5IGZvciBsaW5rdXAKClsgVXBzdHJlYW0gY29tbWl0IDhjN2E3NzI2N2VlYzgxZGQ4MWFm ODQxMmYyOWU1MGMwYjEwODI1NDggXQoKV2hlbiBhIHBvcnQgaXMgYWRkZWQgdG8gYSB0ZWFtLCBp dHMgaW5pdGlhbCBzdGF0ZSBpcyBkZXJpdmVkCmZyb20gbmV0aWZfY2Fycmllcl9vayByYXRoZXIg dGhhbiBuZXRpZl9vcGVyX3VwLgpJZiBpdCBpcyBjYXJyaWVyIHVwIGJ1dCBvcGVyYXRpb25hbGx5 IGRvd24gYXQgdGhlIHRpbWUgb2YgYmVpbmcKYWRkZWQsIHRoZSBwb3J0IHN0YXRlLmxpbmt1cCB3 aWxsIGJlIHNldCBwcmVtYXR1cmVseS4KcG9ydCBzdGF0ZS5saW5rdXAgc2hvdWxkIGJlIHNldCBj b25zaXN0ZW50bHkgdXNpbmcKbmV0aWZfb3Blcl91cCByYXRoZXIgdGhhbiBuZXRpZl9jYXJyaWVy X29rLgoKRml4ZXM6IGYxZDIyYTFlMDU5NSAoInRlYW06IGFjY291bnQgZm9yIG9wZXIgc3RhdGUi KQpTaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgV2lsa2llIDxnd2lsa2llQHZ5YXR0YS5hdHQtbWFpbC5j b20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0 L3RlYW0vdGVhbS5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3RlYW0vdGVhbS5jIGIvZHJp dmVycy9uZXQvdGVhbS90ZWFtLmMKaW5kZXggODZkYjEyMDVhMzk2Li4wMDYzMmE0NTkyOGYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3RlYW0vdGVhbS5jCisrKyBiL2RyaXZlcnMvbmV0L3RlYW0v dGVhbS5jCkBAIC0xMjU2LDcgKzEyNTYsNyBAQCBzdGF0aWMgaW50IHRlYW1fcG9ydF9hZGQoc3Ry dWN0IHRlYW0gKnRlYW0sIHN0cnVjdCBuZXRfZGV2aWNlICpwb3J0X2RldiwKIAlsaXN0X2FkZF90 YWlsX3JjdSgmcG9ydC0+bGlzdCwgJnRlYW0tPnBvcnRfbGlzdCk7CiAJdGVhbV9wb3J0X2VuYWJs ZSh0ZWFtLCBwb3J0KTsKIAlfX3RlYW1fY29tcHV0ZV9mZWF0dXJlcyh0ZWFtKTsKLQlfX3RlYW1f cG9ydF9jaGFuZ2VfcG9ydF9hZGRlZChwb3J0LCAhIW5ldGlmX2NhcnJpZXJfb2socG9ydF9kZXYp KTsKKwlfX3RlYW1fcG9ydF9jaGFuZ2VfcG9ydF9hZGRlZChwb3J0LCAhIW5ldGlmX29wZXJfdXAo cG9ydF9kZXYpKTsKIAlfX3RlYW1fb3B0aW9uc19jaGFuZ2VfY2hlY2sodGVhbSk7CiAKIAluZXRk ZXZfaW5mbyhkZXYsICJQb3J0IGRldmljZSAlcyBhZGRlZFxuIiwgcG9ydG5hbWUpOwpAQCAtMjkx NSw3ICsyOTE1LDcgQEAgc3RhdGljIGludCB0ZWFtX2RldmljZV9ldmVudChzdHJ1Y3Qgbm90aWZp ZXJfYmxvY2sgKnVudXNlZCwKIAogCXN3aXRjaCAoZXZlbnQpIHsKIAljYXNlIE5FVERFVl9VUDoK LQkJaWYgKG5ldGlmX2NhcnJpZXJfb2soZGV2KSkKKwkJaWYgKG5ldGlmX29wZXJfdXAoZGV2KSkK IAkJCXRlYW1fcG9ydF9jaGFuZ2VfY2hlY2socG9ydCwgdHJ1ZSk7CiAJCWJyZWFrOwogCWNhc2Ug TkVUREVWX0RPV046Ci0tIAoyLjIwLjEKCgpGcm9tIDQwZGNmOGIxNmNkZDUxOGU2YTRmZGQ2MjAz NjgzNjdlN2RhMDUwMmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhbmllbCBCb3Jr bWFubiA8ZGFuaWVsQGlvZ2VhcmJveC5uZXQ+CkRhdGU6IFdlZCwgMjAgRmViIDIwMTkgMDA6MTU6 MzAgKzAxMDAKU3ViamVjdDogW1BBVENIIDMzLzM4XSBpcHZsYW46IGRpc2FsbG93IHVzZXJucyBj YXBfbmV0X2FkbWluIHRvIGNoYW5nZSBnbG9iYWwKIG1vZGUvZmxhZ3MKClsgVXBzdHJlYW0gY29t bWl0IDdjYzlmNzAwM2E5NjlkMzU5ZjYwOGViYjcwMWQ0MmNhZmU3NWI4NGEgXQoKV2hlbiBydW5u aW5nIERvY2tlciB3aXRoIHVzZXJucyBpc29sYXRpb24gZS5nLiAtLXVzZXJucy1yZW1hcD0iZGVm YXVsdCIKYW5kIHNwYXduaW5nIHVwIHNvbWUgY29udGFpbmVycyB3aXRoIENBUF9ORVRfQURNSU4g dW5kZXIgdGhpcyByZWFsbSwgSQpub3RpY2VkIHRoYXQgbGluayBjaGFuZ2VzIG9uIGlwdmxhbiBz bGF2ZSBkZXZpY2UgaW5zaWRlIHRoYXQgY29udGFpbmVyCmNhbiBhZmZlY3QgYWxsIGRldmljZXMg ZnJvbSB0aGlzIGlwdmxhbiBncm91cCB3aGljaCBhcmUgaW4gb3RoZXIgbmV0Cm5hbWVzcGFjZXMg d2hlcmUgdGhlIGNvbnRhaW5lciBzaG91bGQgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIG1ha2UgY2hh bmdlcwp0bywgc3VjaCBhcyB0aGUgaW5pdCBuZXRucywgZm9yIGV4YW1wbGUuCgpUaGlzIGVmZmVj dGl2ZWx5IGFsbG93cyB0byB1bmRvIGlwdmxhbiBwcml2YXRlIG1vZGUgYW5kIHN3aXRjaCBnbG9i YWxseSB0bwpicmlkZ2UgbW9kZSB3aGVyZSBzbGF2ZXMgY2FuIGNvbW11bmljYXRlIGRpcmVjdGx5 IHdpdGhvdXQgZ29pbmcgdGhyb3VnaApob3N0bnMsIG9yIGl0IGFsbG93cyB0byBzd2l0Y2ggYmV0 d2VlbiBnbG9iYWwgb3BlcmF0aW9uIG1vZGUgKGwyL2wzL2wzcykKZm9yIGV2ZXJ5b25lIGJvdW5k IHRvIHRoZSBnaXZlbiBpcHZsYW4gbWFzdGVyIGRldmljZS4gbGlibmV0d29yayBwbHVnaW4KaGVy ZSBpcyBjcmVhdGluZyBhbiBpcHZsYW4gbWFzdGVyIGFuZCBpcHZsYW4gc2xhdmUgaW4gaG9zdG5z IGFuZCBhIHNsYXZlCmVhY2ggdGhhdCBpcyBtb3ZlZCBpbnRvIHRoZSBjb250YWluZXIncyBuZXRu cyB1cG9uIGNyZWF0aW9uIGV2ZW50LgoKKiBJbiBob3N0bnM6CgogICMgaXAgLWQgYQogIFsuLi5d CiAgODogY2lsaXVtX2hvc3RAYm9uZDA6IDxCUk9BRENBU1QsTVVMVElDQVNULE5PQVJQLFVQLExP V0VSX1VQPiBtdHUgMTUwMCBxZGlzYyBub3F1ZXVlIHN0YXRlIFVOS05PV04gZ3JvdXAgZGVmYXVs dCBxbGVuIDEwMDAKICAgICBsaW5rL2V0aGVyIDBjOmM0OjdhOmUxOjNkOmNjIGJyZCBmZjpmZjpm ZjpmZjpmZjpmZiBwcm9taXNjdWl0eSAwIG1pbm10dSA2OCBtYXhtdHUgNjU1MzUKICAgICBpcHZs YW4gIG1vZGUgbDMgYnJpZGdlIG51bXR4cXVldWVzIDEgbnVtcnhxdWV1ZXMgMSBnc29fbWF4X3Np emUgNjU1MzYgZ3NvX21heF9zZWdzIDY1NTM1CiAgICAgaW5ldCAxMC40MS4wLjEvMzIgc2NvcGUg bGluayBjaWxpdW1faG9zdAogICAgICAgdmFsaWRfbGZ0IGZvcmV2ZXIgcHJlZmVycmVkX2xmdCBm b3JldmVyCiAgWy4uLl0KCiogU3Bhd24gY29udGFpbmVyICYgY2hhbmdlIGlwdmxhbiBtb2RlIHNl dHRpbmcgaW5zaWRlIG9mIGl0OgoKICAjIGRvY2tlciBydW4gLWR0IC0tY2FwLWFkZD1ORVRfQURN SU4gLS1uZXR3b3JrIGNpbGl1bS1uZXQgLS1uYW1lIGNsaWVudCAtbCBhcHA9dGVzdCBjaWxpdW0v bmV0cGVyZgogIDlmZmY0ODVkNjlkY2I1Y2UzN2M5ZTMzY2EyMGExMWNjYWZjMjM2ZDY5MDEwNWFh ZGJmYjc3ZTRmNDE3MDg3OWMKCiAgIyBkb2NrZXIgZXhlYyAtdGkgY2xpZW50IGlwIC1kIGEKICBb Li4uXQogIDEwOiBjaWxpdW0wQGlmNDogPEJST0FEQ0FTVCxNVUxUSUNBU1QsTk9BUlAsVVAsTE9X RVJfVVA+IG10dSAxNTAwIHFkaXNjIG5vcXVldWUgc3RhdGUgVU5LTk9XTiBncm91cCBkZWZhdWx0 IHFsZW4gMTAwMAogICAgICBsaW5rL2V0aGVyIDBjOmM0OjdhOmUxOjNkOmNjIGJyZCBmZjpmZjpm ZjpmZjpmZjpmZiBwcm9taXNjdWl0eSAwIG1pbm10dSA2OCBtYXhtdHUgNjU1MzUKICAgICAgaXB2 bGFuICBtb2RlIGwzIGJyaWRnZSBudW10eHF1ZXVlcyAxIG51bXJ4cXVldWVzIDEgZ3NvX21heF9z aXplIDY1NTM2IGdzb19tYXhfc2VncyA2NTUzNQogICAgICBpbmV0IDEwLjQxLjE5Ny40My8zMiBi cmQgMTAuNDEuMTk3LjQzIHNjb3BlIGdsb2JhbCBjaWxpdW0wCiAgICAgICAgIHZhbGlkX2xmdCBm b3JldmVyIHByZWZlcnJlZF9sZnQgZm9yZXZlcgoKICAjIGRvY2tlciBleGVjIC10aSBjbGllbnQg aXAgbGluayBjaGFuZ2UgbGluayBjaWxpdW0wIG5hbWUgY2lsaXVtMCB0eXBlIGlwdmxhbiBtb2Rl IGwyCgogICMgZG9ja2VyIGV4ZWMgLXRpIGNsaWVudCBpcCAtZCBhCiAgWy4uLl0KICAxMDogY2ls aXVtMEBpZjQ6IDxCUk9BRENBU1QsTVVMVElDQVNULFVQLExPV0VSX1VQPiBtdHUgMTUwMCBxZGlz YyBub3F1ZXVlIHN0YXRlIFVOS05PV04gZ3JvdXAgZGVmYXVsdCBxbGVuIDEwMDAKICAgICAgbGlu ay9ldGhlciAwYzpjNDo3YTplMTozZDpjYyBicmQgZmY6ZmY6ZmY6ZmY6ZmY6ZmYgcHJvbWlzY3Vp dHkgMCBtaW5tdHUgNjggbWF4bXR1IDY1NTM1CiAgICAgIGlwdmxhbiAgbW9kZSBsMiBicmlkZ2Ug bnVtdHhxdWV1ZXMgMSBudW1yeHF1ZXVlcyAxIGdzb19tYXhfc2l6ZSA2NTUzNiBnc29fbWF4X3Nl Z3MgNjU1MzUKICAgICAgaW5ldCAxMC40MS4xOTcuNDMvMzIgYnJkIDEwLjQxLjE5Ny40MyBzY29w ZSBnbG9iYWwgY2lsaXVtMAogICAgICAgICB2YWxpZF9sZnQgZm9yZXZlciBwcmVmZXJyZWRfbGZ0 IGZvcmV2ZXIKCiogSW4gaG9zdG5zIChtb2RlIHN3aXRjaGVkIHRvIGwyKToKCiAgIyBpcCAtZCBh CiAgWy4uLl0KICA4OiBjaWxpdW1faG9zdEBib25kMDogPEJST0FEQ0FTVCxNVUxUSUNBU1QsVVAs TE9XRVJfVVA+IG10dSAxNTAwIHFkaXNjIG5vcXVldWUgc3RhdGUgVU5LTk9XTiBncm91cCBkZWZh dWx0IHFsZW4gMTAwMAogICAgICBsaW5rL2V0aGVyIDBjOmM0OjdhOmUxOjNkOmNjIGJyZCBmZjpm ZjpmZjpmZjpmZjpmZiBwcm9taXNjdWl0eSAwIG1pbm10dSA2OCBtYXhtdHUgNjU1MzUKICAgICAg aXB2bGFuICBtb2RlIGwyIGJyaWRnZSBudW10eHF1ZXVlcyAxIG51bXJ4cXVldWVzIDEgZ3NvX21h eF9zaXplIDY1NTM2IGdzb19tYXhfc2VncyA2NTUzNQogICAgICBpbmV0IDEwLjQxLjAuMS8zMiBz Y29wZSBsaW5rIGNpbGl1bV9ob3N0CiAgICAgICAgIHZhbGlkX2xmdCBmb3JldmVyIHByZWZlcnJl ZF9sZnQgZm9yZXZlcgogIFsuLi5dCgpTYW1lIGwzIC0+IGwyIHN3aXRjaCB3b3VsZCBhbHNvIGhh cHBlbiBieSBjcmVhdGluZyBhbm90aGVyIHNsYXZlIGluc2lkZQp0aGUgY29udGFpbmVyJ3MgbmV0 d29yayBuYW1lc3BhY2Ugd2hlbiBzcGVjaWZ5aW5nIHRoZSBleGlzdGluZyBjaWxpdW0wCmxpbmsg dG8gZGVyaXZlIHRoZSBhY3R1YWwgKGJvbmQwKSBtYXN0ZXI6CgogICMgZG9ja2VyIGV4ZWMgLXRp IGNsaWVudCBpcCBsaW5rIGFkZCBsaW5rIGNpbGl1bTAgbmFtZSBjaWxpdW0xIHR5cGUgaXB2bGFu IG1vZGUgbDIKCiAgIyBkb2NrZXIgZXhlYyAtdGkgY2xpZW50IGlwIC1kIGEKICBbLi4uXQogIDI6 IGNpbGl1bTFAaWY0OiA8QlJPQURDQVNULE1VTFRJQ0FTVD4gbXR1IDE1MDAgcWRpc2Mgbm9vcCBz dGF0ZSBET1dOIGdyb3VwIGRlZmF1bHQgcWxlbiAxMDAwCiAgICAgIGxpbmsvZXRoZXIgMGM6YzQ6 N2E6ZTE6M2Q6Y2MgYnJkIGZmOmZmOmZmOmZmOmZmOmZmIHByb21pc2N1aXR5IDAgbWlubXR1IDY4 IG1heG10dSA2NTUzNQogICAgICBpcHZsYW4gIG1vZGUgbDIgYnJpZGdlIG51bXR4cXVldWVzIDEg bnVtcnhxdWV1ZXMgMSBnc29fbWF4X3NpemUgNjU1MzYgZ3NvX21heF9zZWdzIDY1NTM1CiAgMTA6 IGNpbGl1bTBAaWY0OiA8QlJPQURDQVNULE1VTFRJQ0FTVCxVUCxMT1dFUl9VUD4gbXR1IDE1MDAg cWRpc2Mgbm9xdWV1ZSBzdGF0ZSBVTktOT1dOIGdyb3VwIGRlZmF1bHQgcWxlbiAxMDAwCiAgICAg IGxpbmsvZXRoZXIgMGM6YzQ6N2E6ZTE6M2Q6Y2MgYnJkIGZmOmZmOmZmOmZmOmZmOmZmIHByb21p c2N1aXR5IDAgbWlubXR1IDY4IG1heG10dSA2NTUzNQogICAgICBpcHZsYW4gIG1vZGUgbDIgYnJp ZGdlIG51bXR4cXVldWVzIDEgbnVtcnhxdWV1ZXMgMSBnc29fbWF4X3NpemUgNjU1MzYgZ3NvX21h eF9zZWdzIDY1NTM1CiAgICAgIGluZXQgMTAuNDEuMTk3LjQzLzMyIGJyZCAxMC40MS4xOTcuNDMg c2NvcGUgZ2xvYmFsIGNpbGl1bTAKICAgICAgICAgdmFsaWRfbGZ0IGZvcmV2ZXIgcHJlZmVycmVk X2xmdCBmb3JldmVyCgoqIEluIGhvc3RuczoKCiAgIyBpcCAtZCBhCiAgWy4uLl0KICA4OiBjaWxp dW1faG9zdEBib25kMDogPEJST0FEQ0FTVCxNVUxUSUNBU1QsVVAsTE9XRVJfVVA+IG10dSAxNTAw IHFkaXNjIG5vcXVldWUgc3RhdGUgVU5LTk9XTiBncm91cCBkZWZhdWx0IHFsZW4gMTAwMAogICAg ICBsaW5rL2V0aGVyIDBjOmM0OjdhOmUxOjNkOmNjIGJyZCBmZjpmZjpmZjpmZjpmZjpmZiBwcm9t aXNjdWl0eSAwIG1pbm10dSA2OCBtYXhtdHUgNjU1MzUKICAgICAgaXB2bGFuICBtb2RlIGwyIGJy aWRnZSBudW10eHF1ZXVlcyAxIG51bXJ4cXVldWVzIDEgZ3NvX21heF9zaXplIDY1NTM2IGdzb19t YXhfc2VncyA2NTUzNQogICAgICBpbmV0IDEwLjQxLjAuMS8zMiBzY29wZSBsaW5rIGNpbGl1bV9o b3N0CiAgICAgICAgIHZhbGlkX2xmdCBmb3JldmVyIHByZWZlcnJlZF9sZnQgZm9yZXZlcgogIFsu Li5dCgpPbmUgd2F5IHRvIG1pdGlnYXRlIGl0IGlzIHRvIGNoZWNrIENBUF9ORVRfQURNSU4gcGVy bWlzc2lvbnMgb2YKdGhlIGlwdmxhbiBtYXN0ZXIgZGV2aWNlJ3MgbnMsIGFuZCBvbmx5IHRoZW4g YWxsb3cgdG8gY2hhbmdlCm1vZGUgb3IgZmxhZ3MgZm9yIGFsbCBkZXZpY2VzIGJvdW5kIHRvIGl0 LiBBYm92ZSB0d28gY2FzZXMgYXJlCnRoZW4gZGlzYWxsb3dlZCBhZnRlciB0aGUgcGF0Y2guCgpT aWduZWQtb2ZmLWJ5OiBEYW5pZWwgQm9ya21hbm4gPGRhbmllbEBpb2dlYXJib3gubmV0PgpBY2tl ZC1ieTogTWFoZXNoIEJhbmRld2FyIDxtYWhlc2hiQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9p cHZsYW4vaXB2bGFuX21haW4uYyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lwdmxhbi9pcHZsYW5fbWFpbi5jIGIvZHJp dmVycy9uZXQvaXB2bGFuL2lwdmxhbl9tYWluLmMKaW5kZXggNWZiNTQxODk3ODYzLi42OGI4MDA3 ZGE4MmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lwdmxhbi9pcHZsYW5fbWFpbi5jCisrKyBi L2RyaXZlcnMvbmV0L2lwdmxhbi9pcHZsYW5fbWFpbi5jCkBAIC00OTQsNiArNDk0LDggQEAgc3Rh dGljIGludCBpcHZsYW5fbmxfY2hhbmdlbGluayhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCiAJ aWYgKCFkYXRhKQogCQlyZXR1cm4gMDsKKwlpZiAoIW5zX2NhcGFibGUoZGV2X25ldChpcHZsYW4t PnBoeV9kZXYpLT51c2VyX25zLCBDQVBfTkVUX0FETUlOKSkKKwkJcmV0dXJuIC1FUEVSTTsKIAog CWlmIChkYXRhW0lGTEFfSVBWTEFOX01PREVdKSB7CiAJCXUxNiBubW9kZSA9IG5sYV9nZXRfdTE2 KGRhdGFbSUZMQV9JUFZMQU5fTU9ERV0pOwpAQCAtNTk2LDYgKzU5OCw4IEBAIGludCBpcHZsYW5f bGlua19uZXcoc3RydWN0IG5ldCAqc3JjX25ldCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAkJ c3RydWN0IGlwdmxfZGV2ICp0bXAgPSBuZXRkZXZfcHJpdihwaHlfZGV2KTsKIAogCQlwaHlfZGV2 ID0gdG1wLT5waHlfZGV2OworCQlpZiAoIW5zX2NhcGFibGUoZGV2X25ldChwaHlfZGV2KS0+dXNl cl9ucywgQ0FQX05FVF9BRE1JTikpCisJCQlyZXR1cm4gLUVQRVJNOwogCX0gZWxzZSBpZiAoIW5l dGlmX2lzX2lwdmxhbl9wb3J0KHBoeV9kZXYpKSB7CiAJCS8qIEV4aXQgZWFybHkgaWYgdGhlIHVu ZGVybHlpbmcgbGluayBpcyBpbnZhbGlkIG9yIGJ1c3kgKi8KIAkJaWYgKHBoeV9kZXYtPnR5cGUg IT0gQVJQSFJEX0VUSEVSIHx8Ci0tIAoyLjIwLjEKCgpGcm9tIGVhYjU1MzBiMDE4MDA1YTc2ODFi OTMwYzY4NDI3MWNiYTBhZWU5YTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFBhb2xv IEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KRGF0ZTogVGh1LCAyMSBGZWIgMjAxOSAxMToxOTo0 MSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMzQvMzhdIGlwdjY6IHJvdXRlOiBlbmZvcmNlIFJDVSBw cm90ZWN0aW9uIGluCiBydDZfdXBkYXRlX2V4Y2VwdGlvbl9zdGFtcF9ydCgpCgpbIFVwc3RyZWFt IGNvbW1pdCAxOTNmMzY4NWQwNTQ2YjBjZWEyMGM5OTg5NGFhZGI3MDA5OGU0N2JmIF0KCldlIG11 c3QgYWNjZXNzIHJ0Nl9pbmZvLT5mcm9tIHVuZGVyIFJDVSByZWFkIGxvY2s6IG1vdmUgdGhlCmRl cmVmZXJlbmNlIHVuZGVyIHN1Y2ggbG9jaywgd2l0aCBwcm9wZXIgYW5ub3RhdGlvbi4KCnYxIC0+ IHYyOgogLSBhdm9pZCB1c2luZyBtdWx0aXBsZSwgcmFjeSwgZmV0Y2ggb3BlcmF0aW9ucyBmb3Ig cnQtPmZyb20KCkZpeGVzOiBhNjg4ODZhNjkxODAgKCJuZXQvaXB2NjogTWFrZSBmcm9tIGluIHJ0 Nl9pbmZvIHJjdSBwcm90ZWN0ZWQiKQpTaWduZWQtb2ZmLWJ5OiBQYW9sbyBBYmVuaSA8cGFiZW5p QHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBuZXQvaXB2Ni9yb3V0ZS5jIHwgMTEgKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvcm91dGUu YyBiL25ldC9pcHY2L3JvdXRlLmMKaW5kZXggZThlYjRkZTBiNzkyLi43ZTIxNzk3ZDdhZTggMTAw NjQ0Ci0tLSBhL25ldC9pcHY2L3JvdXRlLmMKKysrIGIvbmV0L2lwdjYvcm91dGUuYwpAQCAtMTYw OCwxNSArMTYwOCwxNSBAQCBzdGF0aWMgaW50IHJ0Nl9yZW1vdmVfZXhjZXB0aW9uX3J0KHN0cnVj dCBydDZfaW5mbyAqcnQpCiBzdGF0aWMgdm9pZCBydDZfdXBkYXRlX2V4Y2VwdGlvbl9zdGFtcF9y dChzdHJ1Y3QgcnQ2X2luZm8gKnJ0KQogewogCXN0cnVjdCBydDZfZXhjZXB0aW9uX2J1Y2tldCAq YnVja2V0OwotCXN0cnVjdCBmaWI2X2luZm8gKmZyb20gPSBydC0+ZnJvbTsKIAlzdHJ1Y3QgaW42 X2FkZHIgKnNyY19rZXkgPSBOVUxMOwogCXN0cnVjdCBydDZfZXhjZXB0aW9uICpydDZfZXg7Ci0K LQlpZiAoIWZyb20gfHwKLQkgICAgIShydC0+cnQ2aV9mbGFncyAmIFJURl9DQUNIRSkpCi0JCXJl dHVybjsKKwlzdHJ1Y3QgZmliNl9pbmZvICpmcm9tOwogCiAJcmN1X3JlYWRfbG9jaygpOworCWZy b20gPSByY3VfZGVyZWZlcmVuY2UocnQtPmZyb20pOworCWlmICghZnJvbSB8fCAhKHJ0LT5ydDZp X2ZsYWdzICYgUlRGX0NBQ0hFKSkKKwkJZ290byB1bmxvY2s7CisKIAlidWNrZXQgPSByY3VfZGVy ZWZlcmVuY2UoZnJvbS0+cnQ2aV9leGNlcHRpb25fYnVja2V0KTsKIAogI2lmZGVmIENPTkZJR19J UFY2X1NVQlRSRUVTCkBAIC0xNjM1LDYgKzE2MzUsNyBAQCBzdGF0aWMgdm9pZCBydDZfdXBkYXRl X2V4Y2VwdGlvbl9zdGFtcF9ydChzdHJ1Y3QgcnQ2X2luZm8gKnJ0KQogCWlmIChydDZfZXgpCiAJ CXJ0Nl9leC0+c3RhbXAgPSBqaWZmaWVzOwogCit1bmxvY2s6CiAJcmN1X3JlYWRfdW5sb2NrKCk7 CiB9CiAKLS0gCjIuMjAuMQoKCkZyb20gZTk3ZGYxNTU4NjNlNTgyNzdlZGM4MzljZTViMTU4NThi MGEyNmE1YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGFvbG8gQWJlbmkgPHBhYmVu aUByZWRoYXQuY29tPgpEYXRlOiBUaHUsIDIxIEZlYiAyMDE5IDExOjE5OjQyICswMTAwClN1Ympl Y3Q6IFtQQVRDSCAzNS8zOF0gaXB2Njogcm91dGU6IGVuZm9yY2UgUkNVIHByb3RlY3Rpb24gaW4K IGlwNl9yb3V0ZV9jaGVja19uaF9vbmxpbmsoKQoKWyBVcHN0cmVhbSBjb21taXQgYmYxZGM4YmFk MWQ0MjI4NzE2NGQyMTZkOGVmYjUxYzVjZDM4MWIxOCBdCgpXZSBuZWVkIGEgUkNVIGNyaXRpY2Fs IHNlY3Rpb24gYXJvdW5kIHJ0Nl9pbmZvLT5mcm9tIGRlZmVyZW5jZSwgYW5kCnByb3BlciBhbm5v dGF0aW9uLgoKRml4ZXM6IDRlZDU5MWM4YWI0NCAoIm5ldC9pcHY2OiBBbGxvdyBvbmxpbmsgcm91 dGVzIHRvIGhhdmUgYSBkZXZpY2UgbWlzbWF0Y2ggaWYgaXQgaXMgdGhlIGRlZmF1bHQgcm91dGUi KQpTaWduZWQtb2ZmLWJ5OiBQYW9sbyBBYmVuaSA8cGFiZW5pQHJlZGhhdC5jb20+ClJldmlld2Vk LWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9yb3V0ZS5jIHwg NiArKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9yb3V0ZS5jIGIvbmV0L2lwdjYvcm91dGUuYwppbmRleCA3 ZTIxNzk3ZDdhZTguLjYwMzQ4OGNmMTMyZCAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvcm91dGUuYwor KysgYi9uZXQvaXB2Ni9yb3V0ZS5jCkBAIC0yNzUyLDIwICsyNzUyLDI0IEBAIHN0YXRpYyBpbnQg aXA2X3JvdXRlX2NoZWNrX25oX29ubGluayhzdHJ1Y3QgbmV0ICpuZXQsCiAJdTMyIHRiaWQgPSBs M21kZXZfZmliX3RhYmxlKGRldikgPyA6IFJUX1RBQkxFX01BSU47CiAJY29uc3Qgc3RydWN0IGlu Nl9hZGRyICpnd19hZGRyID0gJmNmZy0+ZmNfZ2F0ZXdheTsKIAl1MzIgZmxhZ3MgPSBSVEZfTE9D QUwgfCBSVEZfQU5ZQ0FTVCB8IFJURl9SRUpFQ1Q7CisJc3RydWN0IGZpYjZfaW5mbyAqZnJvbTsK IAlzdHJ1Y3QgcnQ2X2luZm8gKmdydDsKIAlpbnQgZXJyOwogCiAJZXJyID0gMDsKIAlncnQgPSBp cDZfbmhfbG9va3VwX3RhYmxlKG5ldCwgY2ZnLCBnd19hZGRyLCB0YmlkLCAwKTsKIAlpZiAoZ3J0 KSB7CisJCXJjdV9yZWFkX2xvY2soKTsKKwkJZnJvbSA9IHJjdV9kZXJlZmVyZW5jZShncnQtPmZy b20pOwogCQlpZiAoIWdydC0+ZHN0LmVycm9yICYmCiAJCSAgICAvKiBpZ25vcmUgbWF0Y2ggaWYg aXQgaXMgdGhlIGRlZmF1bHQgcm91dGUgKi8KLQkJICAgIGdydC0+ZnJvbSAmJiAhaXB2Nl9hZGRy X2FueSgmZ3J0LT5mcm9tLT5maWI2X2RzdC5hZGRyKSAmJgorCQkgICAgZnJvbSAmJiAhaXB2Nl9h ZGRyX2FueSgmZnJvbS0+ZmliNl9kc3QuYWRkcikgJiYKIAkJICAgIChncnQtPnJ0NmlfZmxhZ3Mg JiBmbGFncyB8fCBkZXYgIT0gZ3J0LT5kc3QuZGV2KSkgewogCQkJTkxfU0VUX0VSUl9NU0coZXh0 YWNrLAogCQkJCSAgICAgICAiTmV4dGhvcCBoYXMgaW52YWxpZCBnYXRld2F5IG9yIGRldmljZSBt aXNtYXRjaCIpOwogCQkJZXJyID0gLUVJTlZBTDsKIAkJfQorCQlyY3VfcmVhZF91bmxvY2soKTsK IAogCQlpcDZfcnRfcHV0KGdydCk7CiAJfQotLSAKMi4yMC4xCgoKRnJvbSA4OGMwZWVhZmJhZTAy OWVlYjYwMmNhZjMzOTVmMzBmNjkwZGNlZjkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBNaWNoYWwgU29sdHlzIDxzb2x0eXNAeml1LmluZm8+CkRhdGU6IE1vbiwgMTggRmViIDIwMTkg MTc6NTU6MjggKzAxMDAKU3ViamVjdDogW1BBVENIIDM2LzM4XSBib25kaW5nOiBmaXggUEFDS0VU X09SSUdERVYgcmVncmVzc2lvbgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBV cHN0cmVhbSBjb21taXQgM2M5NjNhMzMwNmVhZGE5OTliZTVlYmY0ZjI5M2RmYTNkMzk0NTQ4NyBd CgpUaGlzIHBhdGNoIGZpeGVzIGEgc3VidGxlIFBBQ0tFVF9PUklHREVWIHJlZ3Jlc3Npb24gd2hp Y2ggd2FzIGEgc2lkZQplZmZlY3Qgb2YgZml4ZXMgaW50cm9kdWNlZCBieToKCjZhOWU0NjFmNmZl NCBib25kaW5nOiBwYXNzIGxpbmstbG9jYWwgcGFja2V0cyB0byBib25kaW5nIG1hc3RlciBhbHNv LgoKLi4uIHRvOgoKYjg5ZjA0YzYxZWZlIGJvbmRpbmc6IGRlbGl2ZXIgbGluay1sb2NhbCBwYWNr ZXRzIHdpdGggc2tiLT5kZXYgc2V0IHRvIGxpbmsgdGhhdCBwYWNrZXRzIGFycml2ZWQgb24KCldo aWxlIDZhOWU0NjFmNmZlNCByZXN0b3JlZCBwcmUtYjg5ZjA0YzYxZWZlIHByZXNlbmNlIG9mIGxp bmstbG9jYWwKcGFja2V0cyBvbiBib25kaW5nIG1hc3RlcnMgKHdoaWNoIGlzIHJlcXVpcmVkIGUu Zy4gYnkgbGludXggYnJpZGdlcwpwYXJ0aWNpcGF0aW5nIGluIHNwYW5uaW5nIHRyZWUgb3IgbmVl ZGVkIGZvciBsYWItbGlrZSBzZXR1cHMgY3JlYXRlZAp3aXRoIGdyb3VwX2Z3ZF9tYXNrKSBpdCBh bHNvIGNhdXNlZCB0aGUgb3JpZ2luYXRpbmcgZGV2aWNlCmluZm9ybWF0aW9uIHRvIGJlIGxvc3Qg ZHVlIHRvIGNsb25pbmcuCgpNYWNpZWogxbtlbmN6eWtvd3NraSBwcm9wb3NlZCBhbm90aGVyIHNv bHV0aW9uIHRoYXQgZG9lc24ndCByZXF1aXJlCnBhY2tldCBjbG9uaW5nIGFuZCByZXRhaW5zIG9y aWdpbmFsIGRldmljZSBpbmZvcm1hdGlvbiAtIGluc3RlYWQgb2YKcmV0dXJuaW5nIFJYX0hBTkRM RVJfUEFTUyBmb3IgYWxsIGxpbmstbG9jYWwgcGFja2V0cyBpdCdzIG5vdyBsaW1pdGVkCm9ubHkg dG8gcGFja2V0cyBmcm9tIGluYWN0aXZlIHNsYXZlcy4KCkF0IHRoZSBzYW1lIHRpbWUsIHBhY2tl dHMgcGFzc2VkIHRvIGJvbmRpbmcgbWFzdGVycyByZXRhaW4gY29ycmVjdAppbmZvcm1hdGlvbiBh Ym91dCB0aGUgb3JpZ2luYXRpbmcgZGV2aWNlIGFuZCBQQUNLRVRfT1JJR0RFViBjYW4gYmUgdXNl ZAp0byBkZXRlcm1pbmUgaXQuCgpUaGlzIGVsZWdhbnRseSBzb2x2ZXMgYWxsIGlzc3VlcyBzbyBm YXI6CgotIGxpbmstbG9jYWwgcGFja2V0cyB0aGF0IHdlcmUgcmVtb3ZlZCBmcm9tIGJvbmRpbmcg bWFzdGVycwotIExMRFAgZGFlbW9ucyBiZWluZyBmb3JjZWQgdG8gZXhwbGljaXRseSBiaW5kIHRv IHNsYXZlIGludGVyZmFjZXMKLSBQQUNLRVRfT1JJR0RFViBoYXZpbmcgbm8gZWZmZWN0IG9uIGJv bmQgaW50ZXJmYWNlcwoKRml4ZXM6IDZhOWU0NjFmNmZlNCAoYm9uZGluZzogcGFzcyBsaW5rLWxv Y2FsIHBhY2tldHMgdG8gYm9uZGluZyBtYXN0ZXIgYWxzby4pClJlcG9ydGVkLWJ5OiBWaW5jZW50 IEJlcm5hdCA8dmluY2VudEBiZXJuYXQuY2g+ClNpZ25lZC1vZmYtYnk6IE1pY2hhbCBTb2x0eXMg PHNvbHR5c0B6aXUuaW5mbz4KU2lnbmVkLW9mZi1ieTogTWFjaWVqIMW7ZW5jenlrb3dza2kgPG1h emVAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMgfCAzNSArKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRp b25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5n L2JvbmRfbWFpbi5jIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX21haW4uYwppbmRleCA2MjY1 OWFiZjczY2QuLmY2MTAwOTE4MzI4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9i b25kX21haW4uYworKysgYi9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfbWFpbi5jCkBAIC0xMTcy LDI5ICsxMTcyLDIyIEBAIHN0YXRpYyByeF9oYW5kbGVyX3Jlc3VsdF90IGJvbmRfaGFuZGxlX2Zy YW1lKHN0cnVjdCBza19idWZmICoqcHNrYikKIAkJfQogCX0KIAotCS8qIExpbmstbG9jYWwgbXVs dGljYXN0IHBhY2tldHMgc2hvdWxkIGJlIHBhc3NlZCB0byB0aGUKLQkgKiBzdGFjayBvbiB0aGUg bGluayB0aGV5IGFycml2ZSBhcyB3ZWxsIGFzIHBhc3MgdGhlbSB0byB0aGUKLQkgKiBib25kLW1h c3RlciBkZXZpY2UuIFRoZXNlIHBhY2tldHMgYXJlIG1vc3RseSB1c2FibGUgd2hlbgotCSAqIHN0 YWNrIHJlY2VpdmVzIGl0IHdpdGggdGhlIGxpbmsgb24gd2hpY2ggdGhleSBhcnJpdmUKLQkgKiAo ZS5nLiBMTERQKSB0aGV5IGFsc28gbXVzdCBiZSBhdmFpbGFibGUgb24gbWFzdGVyLiBTb21lIG9m Ci0JICogdGhlIHVzZSBjYXNlcyBpbmNsdWRlIChidXQgYXJlIG5vdCBsaW1pdGVkIHRvKTogTExE UCBhZ2VudHMKLQkgKiB0aGF0IG11c3QgYmUgYWJsZSB0byBvcGVyYXRlIGJvdGggb24gZW5zbGF2 ZWQgaW50ZXJmYWNlcyBhcwotCSAqIHdlbGwgYXMgb24gYm9uZHMgdGhlbXNlbHZlczsgbGludXgg YnJpZGdlcyB0aGF0IG11c3QgYmUgYWJsZQotCSAqIHRvIHByb2Nlc3MvcGFzcyBCUERVcyBmcm9t IGF0dGFjaGVkIGJvbmRzIHdoZW4gYW55IGtpbmQgb2YKLQkgKiBTVFAgdmVyc2lvbiBpcyBlbmFi bGVkIG9uIHRoZSBuZXR3b3JrLgorCS8qCisJICogRm9yIHBhY2tldHMgZGV0ZXJtaW5lZCBieSBi b25kX3Nob3VsZF9kZWxpdmVyX2V4YWN0X21hdGNoKCkgY2FsbCB0bworCSAqIGJlIHN1cHByZXNz ZWQgd2Ugd2FudCB0byBtYWtlIGFuIGV4Y2VwdGlvbiBmb3IgbGluay1sb2NhbCBwYWNrZXRzLgor CSAqIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBlLmcuIExMRFAgZGFlbW9ucyB0byBiZSBhYmxlIHRv IG1vbml0b3IKKwkgKiBpbmFjdGl2ZSBzbGF2ZSBsaW5rcyB3aXRob3V0IGJlaW5nIGZvcmNlZCB0 byBiaW5kIHRvIHRoZW0KKwkgKiBleHBsaWNpdGx5LgorCSAqCisJICogQXQgdGhlIHNhbWUgdGlt ZSwgcGFja2V0cyB0aGF0IGFyZSBwYXNzZWQgdG8gdGhlIGJvbmRpbmcgbWFzdGVyCisJICogKGlu Y2x1ZGluZyBsaW5rLWxvY2FsIG9uZXMpIGNhbiBoYXZlIHRoZWlyIG9yaWdpbmF0aW5nIGludGVy ZmFjZQorCSAqIGRldGVybWluZWQgdmlhIFBBQ0tFVF9PUklHREVWIHNvY2tldCBvcHRpb24uCiAJ ICovCi0JaWYgKGlzX2xpbmtfbG9jYWxfZXRoZXJfYWRkcihldGhfaGRyKHNrYiktPmhfZGVzdCkp IHsKLQkJc3RydWN0IHNrX2J1ZmYgKm5za2IgPSBza2JfY2xvbmUoc2tiLCBHRlBfQVRPTUlDKTsK LQotCQlpZiAobnNrYikgewotCQkJbnNrYi0+ZGV2ID0gYm9uZC0+ZGV2OwotCQkJbnNrYi0+cXVl dWVfbWFwcGluZyA9IDA7Ci0JCQluZXRpZl9yeChuc2tiKTsKLQkJfQotCQlyZXR1cm4gUlhfSEFO RExFUl9QQVNTOwotCX0KLQlpZiAoYm9uZF9zaG91bGRfZGVsaXZlcl9leGFjdF9tYXRjaChza2Is IHNsYXZlLCBib25kKSkKKwlpZiAoYm9uZF9zaG91bGRfZGVsaXZlcl9leGFjdF9tYXRjaChza2Is IHNsYXZlLCBib25kKSkgeworCQlpZiAoaXNfbGlua19sb2NhbF9ldGhlcl9hZGRyKGV0aF9oZHIo c2tiKS0+aF9kZXN0KSkKKwkJCXJldHVybiBSWF9IQU5ETEVSX1BBU1M7CiAJCXJldHVybiBSWF9I QU5ETEVSX0VYQUNUOworCX0KIAogCXNrYi0+ZGV2ID0gYm9uZC0+ZGV2OwogCi0tIAoyLjIwLjEK CgpGcm9tIDkxMDk2NTk0ZGE5ZjhkZTQ0ODQyNWRkZTAzYzUxM2I2ZmY3MjlhZWQgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFVyc3VsYSBCcmF1biA8dWJyYXVuQGxpbnV4LmlibS5jb20+ CkRhdGU6IFRodSwgMjEgRmViIDIwMTkgMTI6NTY6NTQgKzAxMDAKU3ViamVjdDogW1BBVENIIDM3 LzM4XSBuZXQvc21jOiBmaXggc21jX3BvbGwgaW4gU01DX0lOSVQgc3RhdGUKClsgVXBzdHJlYW0g Y29tbWl0IGQ3Y2Y0YTNiZjNhODNjOTc3YTI5MDU1ZTFjNGZmYWRhNzY5N2IzMWYgXQoKc21jX3Bv bGwoKSByZXR1cm5zIHdpdGggbWFzayBiaXQgRVBPTExQUkkgaWYgdGhlIGNvbm5lY3Rpb24gdXJn X3N0YXRlCmlzIFNNQ19VUkdfVkFMSUQuIFNpbmNlIFNNQ19VUkdfVkFMSUQgaXMgemVybywgc21j X3BvbGwgc2lnbmFscwpFUE9MTFBSSSBlcnJvcm5lb3VzbHkgaWYgY2FsbGVkIGluIHN0YXRlIFNN Q19JTklUIGJlZm9yZSB0aGUgY29ubmVjdGlvbgppcyBjcmVhdGVkLCBmb3IgaW5zdGFuY2UgaW4g YSBub24tYmxvY2tpbmcgY29ubmVjdCBzY2VuYXJpby4KClRoaXMgcGF0Y2ggc3dpdGNoZXMgdG8g bm9uLXplcm8gdmFsdWVzIGZvciB0aGUgdXJnIHN0YXRlcy4KClJldmlld2VkLWJ5OiBLYXJzdGVu IEdyYXVsIDxrZ3JhdWxAbGludXguaWJtLmNvbT4KRml4ZXM6IGRlODQ3NGViOWQ1MCAoIm5ldC9z bWM6IHVyZ2VudCBkYXRhIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBVcnN1bGEgQnJhdW4gPHVi cmF1bkBsaW51eC5pYm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NtYy9zbWMuaCB8IDYgKysrLS0tCiAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9z bWMvc21jLmggYi9uZXQvc21jL3NtYy5oCmluZGV4IDU3MjE0MTZkMDYwNS4uYWRiZGYxOTVlYjA4 IDEwMDY0NAotLS0gYS9uZXQvc21jL3NtYy5oCisrKyBiL25ldC9zbWMvc21jLmgKQEAgLTExMyw5 ICsxMTMsOSBAQCBzdHJ1Y3Qgc21jX2hvc3RfY2RjX21zZyB7CQkvKiBDb25uZWN0aW9uIERhdGEg Q29udHJvbCBtZXNzYWdlICovCiB9IF9fYWxpZ25lZCg4KTsKIAogZW51bSBzbWNfdXJnX3N0YXRl IHsKLQlTTUNfVVJHX1ZBTElELAkJCS8qIGRhdGEgcHJlc2VudCAqLwotCVNNQ19VUkdfTk9UWUVU LAkJCS8qIGRhdGEgcGVuZGluZyAqLwotCVNNQ19VUkdfUkVBRAkJCS8qIGRhdGEgd2FzIGFscmVh ZHkgcmVhZCAqLworCVNNQ19VUkdfVkFMSUQJPSAxLAkJCS8qIGRhdGEgcHJlc2VudCAqLworCVNN Q19VUkdfTk9UWUVUCT0gMiwJCQkvKiBkYXRhIHBlbmRpbmcgKi8KKwlTTUNfVVJHX1JFQUQJPSAz LAkJCS8qIGRhdGEgd2FzIGFscmVhZHkgcmVhZCAqLwogfTsKIAogc3RydWN0IHNtY19jb25uZWN0 aW9uIHsKLS0gCjIuMjAuMQoKCkZyb20gYWFjYTFmMzM3ZmU4YmQ2MGJjMDc0ODQxZTU3YTczOTU5 NTU3MjI0NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQWwgVmlybyA8dmlyb0B6ZW5p di5saW51eC5vcmcudWs+CkRhdGU6IEZyaSwgMTUgRmViIDIwMTkgMjA6MDk6MzUgKzAwMDAKU3Vi amVjdDogW1BBVENIIDM4LzM4XSBtaXNzaW5nIGJhcnJpZXJzIGluIHNvbWUgb2YgdW5peF9zb2Nr IC0+YWRkciBhbmQgLT5wYXRoCiBhY2Nlc3NlcwoKWyBVcHN0cmVhbSBjb21taXQgYWUzYjU2NDE3 OWJmZDA2ZjMyZDA1MWI5ZTVkNzJjZTRiMmEwN2MzNyBdCgpTZXZlcmFsIHUtPmFkZHIgYW5kIHUt PnBhdGggdXNlcnMgYXJlIG5vdCBob2xkaW5nIGFueSBsb2NrcyBpbgpjb21tb24gd2l0aCB1bml4 X2JpbmQoKS4gIHVuaXhfc3RhdGVfbG9jaygpIGlzIHVzZWxlc3MgZm9yIHRob3NlCnB1cnBvc2Vz LgoKdS0+YWRkciBpcyBhc3NpZ24tb25jZSBhbmQgKih1LT5hZGRyKSBpcyBmdWxseSBzZXQgdXAg YnkgdGhlIHRpbWUKd2Ugc2V0IHUtPmFkZHIgKGFsbCB1bmRlciB1bml4X3RhYmxlX2xvY2spLiAg dS0+cGF0aCBpcyBhbHNvCnNldCBpbiB0aGUgc2FtZSBjcml0aWNhbCBhcmVhLCBhbHNvIGJlZm9y ZSBzZXR0aW5nIHUtPmFkZHIsIGFuZAphbnkgdW5peF9zb2NrIHdpdGggLT5wYXRoIGZpbGxlZCB3 aWxsIGhhdmUgbm9uLU5VTEwgLT5hZGRyLgoKU28gc2V0dGluZyAtPmFkZHIgd2l0aCBzbXBfc3Rv cmVfcmVsZWFzZSgpIGlzIGFsbCB3ZSBuZWVkIGZvciB0aG9zZQoibG9ja2xlc3MiIHVzZXJzIC0g anVzdCBoYXZlIHRoZW0gZmV0Y2ggLT5hZGRyIHdpdGggc21wX2xvYWRfYWNxdWlyZSgpCmFuZCBk b24ndCBldmVuIGJvdGhlciBsb29raW5nIGF0IC0+cGF0aCBpZiB0aGV5IHNlZSBOVUxMIC0+YWRk ci4KClVzZXJzIG9mIC0+YWRkciBhbmQgLT5wYXRoIGZhbGwgaW50byBzZXZlcmFsIGNsYXNzZXMg bm93OgogICAgMSkgb25lcyB0aGF0IGRvIHNtcF9sb2FkX2FjcXVpcmUodS0+YWRkcikgYW5kIGFj Y2VzcyAqKHUtPmFkZHIpCmFuZCB1LT5wYXRoIG9ubHkgaWYgc21wX2xvYWRfYWNxdWlyZSgpIGhh cyByZXR1cm5lZCBub24tTlVMTC4KICAgIDIpIHBsYWNlcyBob2xkaW5nIHVuaXhfdGFibGVfbG9j ay4gIFRoZXNlIGFyZSBndWFyYW50ZWVkIHRoYXQKKih1LT5hZGRyKSBpcyBzZWVuIGZ1bGx5IGlu aXRpYWxpemVkLiAgSWYgdW5peF9zb2NrIGlzIGluIG9uZSBvZiB0aGUKImJvdW5kIiBjaGFpbnMs IHNvJ3MgLT5wYXRoLgogICAgMykgdW5peF9zb2NrX2Rlc3RydWN0b3IoKSB1c2luZyAtPmFkZHIg aXMgc2FmZS4gIEFsbCBwbGFjZXMKdGhhdCBzZXQgdS0+YWRkciBhcmUgZ3VhcmFudGVlZCB0byBo YXZlIHNlZW4gYWxsIHN0b3JlcyAqKHUtPmFkZHIpCndoaWxlIGhvbGRpbmcgYSByZWZlcmVuY2Ug dG8gdSBhbmQgdW5peF9zb2NrX2Rlc3RydWN0b3IoKSBpcyBjYWxsZWQKd2hlbiAoYXRvbWljKSBy ZWZjb3VudCBoaXRzIHplcm8uCiAgICA0KSB1bml4X3JlbGVhc2Vfc29jaygpIHVzaW5nIC0+cGF0 aCBpcyBzYWZlLiAgdW5peF9iaW5kKCkKaXMgc2VyaWFsaXplZCB3cnQgdW5peF9yZWxlYXNlKCkg KG5vcm1hbGx5IC0gYnkgc3RydWN0IGZpbGUKcmVmY291bnQpLCBhbmQgZm9yIHRoZSBpbnN0YW5j ZXMgdGhhdCBoYWQgLT5wYXRoIHNldCBieSB1bml4X2JpbmQoKQp1bml4X3JlbGVhc2Vfc29jaygp IGNvbWVzIGZyb20gdW5peF9yZWxlYXNlKCksIHNvIHRoZXkgYXJlIGZpbmUuCkluc3RhbmNlcyB0 aGF0IGhhZCBpdCBzZXQgaW4gdW5peF9zdHJlYW1fY29ubmVjdCgpIGVpdGhlciBlbmQgdXAKYXR0 YWNoZWQgdG8gYSBzb2NrZXQgKGluIHVuaXhfYWNjZXB0KCkpLCBpbiB3aGljaCBjYXNlIHRoZSBj YWxsCmNoYWluIHRvIHVuaXhfcmVsZWFzZV9zb2NrKCkgYW5kIHNlcmlhbGl6YXRpb24gYXJlIHRo ZSBzYW1lIGFzIGluCnRoZSBwcmV2aW91cyBjYXNlLCBvciB0aGV5IG5ldmVyIGdldCBhY2NlcHQn ZWQgYW5kIHVuaXhfcmVsZWFzZV9zb2NrKCkKaXMgY2FsbGVkIHdoZW4gdGhlIGxpc3RlbmVyIGlz IHNodXQgZG93biBhbmQgaXRzIHF1ZXVlIGdldHMgcHVyZ2VkLgpJbiB0aGF0IGNhc2UgdGhlIGxp c3RlbmVyJ3MgcXVldWUgbG9jayBwcm92aWRlcyB0aGUgYmFycmllcnMgbmVlZGVkIC0KdW5peF9z dHJlYW1fY29ubmVjdCgpIHNob3ZlcyBvdXIgdW5peF9zb2NrIGludG8gbGlzdGVuZXIncyBxdWV1 ZQp1bmRlciB0aGF0IGxvY2sgcmlnaHQgYWZ0ZXIgaGF2aW5nIHNldCAtPnBhdGggYW5kIGV2ZW50 dWFsCnVuaXhfcmVsZWFzZV9zb2NrKCkgY2FsbGVyIHBpY2tzIHRoZW0gZnJvbSB0aGF0IHF1ZXVl IHVuZGVyIHRoZQpzYW1lIGxvY2sgcmlnaHQgYmVmb3JlIGNhbGxpbmcgdW5peF9yZWxlYXNlX3Nv Y2soKS4KICAgIDUpIHVuaXhfZmluZF9vdGhlcigpIHVzZSBvZiAtPnBhdGggaXMgcG9pbnRsZXNz LCBidXQgc2FmZSAtCml0IGhhcHBlbnMgd2l0aCBzdWNjZXNzZnVsIGxvb2t1cCBieSAoYWJzdHJh Y3QpIG5hbWUsIHNvIC0+cGF0aC5kZW50cnkKaXMgZ3VhcmFudGVlZCB0byBiZSBOVUxMIHRoZXJl LgoKZWFybGllci12YXJpYW50LXJldmlld2VkLWJ5OiAiUGF1bCBFLiBNY0tlbm5leSIgPHBhdWxt Y2tAbGludXguaWJtLmNvbT4KU2lnbmVkLW9mZi1ieTogQWwgVmlybyA8dmlyb0B6ZW5pdi5saW51 eC5vcmcudWs+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBuZXQvdW5peC9hZl91bml4LmMgICB8IDU3ICsrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBuZXQvdW5peC9kaWFnLmMgICAgICB8ICAzICsrLQog c2VjdXJpdHkvbHNtX2F1ZGl0LmMgfCAxMCArKysrLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA0MSBp bnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdW5peC9hZl91 bml4LmMgYi9uZXQvdW5peC9hZl91bml4LmMKaW5kZXggNzRkMWVlZDdjYmQ0Li5hOTVkNDc5Y2Fl ZWEgMTAwNjQ0Ci0tLSBhL25ldC91bml4L2FmX3VuaXguYworKysgYi9uZXQvdW5peC9hZl91bml4 LmMKQEAgLTg5MCw3ICs4OTAsNyBAQCBzdGF0aWMgaW50IHVuaXhfYXV0b2JpbmQoc3RydWN0IHNv Y2tldCAqc29jaykKIAlhZGRyLT5oYXNoIF49IHNrLT5za190eXBlOwogCiAJX191bml4X3JlbW92 ZV9zb2NrZXQoc2spOwotCXUtPmFkZHIgPSBhZGRyOworCXNtcF9zdG9yZV9yZWxlYXNlKCZ1LT5h ZGRyLCBhZGRyKTsKIAlfX3VuaXhfaW5zZXJ0X3NvY2tldCgmdW5peF9zb2NrZXRfdGFibGVbYWRk ci0+aGFzaF0sIHNrKTsKIAlzcGluX3VubG9jaygmdW5peF90YWJsZV9sb2NrKTsKIAllcnIgPSAw OwpAQCAtMTA2MCw3ICsxMDYwLDcgQEAgc3RhdGljIGludCB1bml4X2JpbmQoc3RydWN0IHNvY2tl dCAqc29jaywgc3RydWN0IHNvY2thZGRyICp1YWRkciwgaW50IGFkZHJfbGVuKQogCiAJZXJyID0g MDsKIAlfX3VuaXhfcmVtb3ZlX3NvY2tldChzayk7Ci0JdS0+YWRkciA9IGFkZHI7CisJc21wX3N0 b3JlX3JlbGVhc2UoJnUtPmFkZHIsIGFkZHIpOwogCV9fdW5peF9pbnNlcnRfc29ja2V0KGxpc3Qs IHNrKTsKIAogb3V0X3VubG9jazoKQEAgLTEzMzEsMTUgKzEzMzEsMjkgQEAgc3RhdGljIGludCB1 bml4X3N0cmVhbV9jb25uZWN0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAq dWFkZHIsCiAJUkNVX0lOSVRfUE9JTlRFUihuZXdzay0+c2tfd3EsICZuZXd1LT5wZWVyX3dxKTsK IAlvdGhlcnUgPSB1bml4X3NrKG90aGVyKTsKIAotCS8qIGNvcHkgYWRkcmVzcyBpbmZvcm1hdGlv biBmcm9tIGxpc3RlbmluZyB0byBuZXcgc29jayovCi0JaWYgKG90aGVydS0+YWRkcikgewotCQly ZWZjb3VudF9pbmMoJm90aGVydS0+YWRkci0+cmVmY250KTsKLQkJbmV3dS0+YWRkciA9IG90aGVy dS0+YWRkcjsKLQl9CisJLyogY29weSBhZGRyZXNzIGluZm9ybWF0aW9uIGZyb20gbGlzdGVuaW5n IHRvIG5ldyBzb2NrCisJICoKKwkgKiBUaGUgY29udGVudHMgb2YgKihvdGhlcnUtPmFkZHIpIGFu ZCBvdGhlcnUtPnBhdGgKKwkgKiBhcmUgc2VlbiBmdWxseSBzZXQgdXAgaGVyZSwgc2luY2Ugd2Ug aGF2ZSBmb3VuZAorCSAqIG90aGVydSBpbiBoYXNoIHVuZGVyIHVuaXhfdGFibGVfbG9jay4gIElu c2VydGlvbgorCSAqIGludG8gdGhlIGhhc2ggY2hhaW4gd2UnZCBmb3VuZCBpdCBpbiBoYWQgYmVl biBkb25lCisJICogaW4gYW4gZWFybGllciBjcml0aWNhbCBhcmVhIHByb3RlY3RlZCBieSB1bml4 X3RhYmxlX2xvY2ssCisJICogdGhlIHNhbWUgb25lIHdoZXJlIHdlJ2Qgc2V0ICoob3RoZXJ1LT5h ZGRyKSBjb250ZW50cywKKwkgKiBhcyB3ZWxsIGFzIG90aGVydS0+cGF0aCBhbmQgb3RoZXJ1LT5h ZGRyIGl0c2VsZi4KKwkgKgorCSAqIFVzaW5nIHNtcF9zdG9yZV9yZWxlYXNlKCkgaGVyZSB0byBz ZXQgbmV3dS0+YWRkcgorCSAqIGlzIGVub3VnaCB0byBtYWtlIHRob3NlIHN0b3JlcywgYXMgd2Vs bCBhcyBzdG9yZXMKKwkgKiB0byBuZXd1LT5wYXRoIHZpc2libGUgdG8gYW55b25lIHdobyBnZXRz IG5ld3UtPmFkZHIKKwkgKiBieSBzbXBfbG9hZF9hY3F1aXJlKCkuICBJT1csIHRoZSBzYW1lIHdh cnJhbnRpZXMKKwkgKiBhcyBmb3IgdW5peF9zb2NrIGluc3RhbmNlcyBib3VuZCBpbiB1bml4X2Jp bmQoKSBvcgorCSAqIGluIHVuaXhfYXV0b2JpbmQoKS4KKwkgKi8KIAlpZiAob3RoZXJ1LT5wYXRo LmRlbnRyeSkgewogCQlwYXRoX2dldCgmb3RoZXJ1LT5wYXRoKTsKIAkJbmV3dS0+cGF0aCA9IG90 aGVydS0+cGF0aDsKIAl9CisJcmVmY291bnRfaW5jKCZvdGhlcnUtPmFkZHItPnJlZmNudCk7CisJ c21wX3N0b3JlX3JlbGVhc2UoJm5ld3UtPmFkZHIsIG90aGVydS0+YWRkcik7CiAKIAkvKiBTZXQg Y3JlZGVudGlhbHMgKi8KIAljb3B5X3BlZXJjcmVkKHNrLCBvdGhlcik7CkBAIC0xNDUzLDcgKzE0 NjcsNyBAQCBzdGF0aWMgaW50IHVuaXhfYWNjZXB0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVj dCBzb2NrZXQgKm5ld3NvY2ssIGludCBmbGFncywKIHN0YXRpYyBpbnQgdW5peF9nZXRuYW1lKHN0 cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqdWFkZHIsIGludCBwZWVyKQogewog CXN0cnVjdCBzb2NrICpzayA9IHNvY2stPnNrOwotCXN0cnVjdCB1bml4X3NvY2sgKnU7CisJc3Ry dWN0IHVuaXhfYWRkcmVzcyAqYWRkcjsKIAlERUNMQVJFX1NPQ0tBRERSKHN0cnVjdCBzb2NrYWRk cl91biAqLCBzdW5hZGRyLCB1YWRkcik7CiAJaW50IGVyciA9IDA7CiAKQEAgLTE0NjgsMTkgKzE0 ODIsMTUgQEAgc3RhdGljIGludCB1bml4X2dldG5hbWUoc3RydWN0IHNvY2tldCAqc29jaywgc3Ry dWN0IHNvY2thZGRyICp1YWRkciwgaW50IHBlZXIpCiAJCXNvY2tfaG9sZChzayk7CiAJfQogCi0J dSA9IHVuaXhfc2soc2spOwotCXVuaXhfc3RhdGVfbG9jayhzayk7Ci0JaWYgKCF1LT5hZGRyKSB7 CisJYWRkciA9IHNtcF9sb2FkX2FjcXVpcmUoJnVuaXhfc2soc2spLT5hZGRyKTsKKwlpZiAoIWFk ZHIpIHsKIAkJc3VuYWRkci0+c3VuX2ZhbWlseSA9IEFGX1VOSVg7CiAJCXN1bmFkZHItPnN1bl9w YXRoWzBdID0gMDsKIAkJZXJyID0gc2l6ZW9mKHNob3J0KTsKIAl9IGVsc2UgewotCQlzdHJ1Y3Qg dW5peF9hZGRyZXNzICphZGRyID0gdS0+YWRkcjsKLQogCQllcnIgPSBhZGRyLT5sZW47CiAJCW1l bWNweShzdW5hZGRyLCBhZGRyLT5uYW1lLCBhZGRyLT5sZW4pOwogCX0KLQl1bml4X3N0YXRlX3Vu bG9jayhzayk7CiAJc29ja19wdXQoc2spOwogb3V0OgogCXJldHVybiBlcnI7CkBAIC0yMDczLDEx ICsyMDgzLDExIEBAIHN0YXRpYyBpbnQgdW5peF9zZXFwYWNrZXRfcmVjdm1zZyhzdHJ1Y3Qgc29j a2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csCiAKIHN0YXRpYyB2b2lkIHVuaXhfY29weV9h ZGRyKHN0cnVjdCBtc2doZHIgKm1zZywgc3RydWN0IHNvY2sgKnNrKQogewotCXN0cnVjdCB1bml4 X3NvY2sgKnUgPSB1bml4X3NrKHNrKTsKKwlzdHJ1Y3QgdW5peF9hZGRyZXNzICphZGRyID0gc21w X2xvYWRfYWNxdWlyZSgmdW5peF9zayhzayktPmFkZHIpOwogCi0JaWYgKHUtPmFkZHIpIHsKLQkJ bXNnLT5tc2dfbmFtZWxlbiA9IHUtPmFkZHItPmxlbjsKLQkJbWVtY3B5KG1zZy0+bXNnX25hbWUs IHUtPmFkZHItPm5hbWUsIHUtPmFkZHItPmxlbik7CisJaWYgKGFkZHIpIHsKKwkJbXNnLT5tc2df bmFtZWxlbiA9IGFkZHItPmxlbjsKKwkJbWVtY3B5KG1zZy0+bXNnX25hbWUsIGFkZHItPm5hbWUs IGFkZHItPmxlbik7CiAJfQogfQogCkBAIC0yNTgxLDE1ICsyNTkxLDE0IEBAIHN0YXRpYyBpbnQg dW5peF9vcGVuX2ZpbGUoc3RydWN0IHNvY2sgKnNrKQogCWlmICghbnNfY2FwYWJsZShzb2NrX25l dChzayktPnVzZXJfbnMsIENBUF9ORVRfQURNSU4pKQogCQlyZXR1cm4gLUVQRVJNOwogCi0JdW5p eF9zdGF0ZV9sb2NrKHNrKTsKKwlpZiAoIXNtcF9sb2FkX2FjcXVpcmUoJnVuaXhfc2soc2spLT5h ZGRyKSkKKwkJcmV0dXJuIC1FTk9FTlQ7CisKIAlwYXRoID0gdW5peF9zayhzayktPnBhdGg7Ci0J aWYgKCFwYXRoLmRlbnRyeSkgewotCQl1bml4X3N0YXRlX3VubG9jayhzayk7CisJaWYgKCFwYXRo LmRlbnRyeSkKIAkJcmV0dXJuIC1FTk9FTlQ7Ci0JfQogCiAJcGF0aF9nZXQoJnBhdGgpOwotCXVu aXhfc3RhdGVfdW5sb2NrKHNrKTsKIAogCWZkID0gZ2V0X3VudXNlZF9mZF9mbGFncyhPX0NMT0VY RUMpOwogCWlmIChmZCA8IDApCkBAIC0yODMwLDcgKzI4MzksNyBAQCBzdGF0aWMgaW50IHVuaXhf c2VxX3Nob3coc3RydWN0IHNlcV9maWxlICpzZXEsIHZvaWQgKnYpCiAJCQkocy0+c2tfc3RhdGUg PT0gVENQX0VTVEFCTElTSEVEID8gU1NfQ09OTkVDVElORyA6IFNTX0RJU0NPTk5FQ1RJTkcpLAog CQkJc29ja19pX2lubyhzKSk7CiAKLQkJaWYgKHUtPmFkZHIpIHsKKwkJaWYgKHUtPmFkZHIpIHsJ Ly8gdW5kZXIgdW5peF90YWJsZV9sb2NrIGhlcmUKIAkJCWludCBpLCBsZW47CiAJCQlzZXFfcHV0 YyhzZXEsICcgJyk7CiAKZGlmZiAtLWdpdCBhL25ldC91bml4L2RpYWcuYyBiL25ldC91bml4L2Rp YWcuYwppbmRleCAzODRjODRlODM0NjIuLjMxODNkOWI4YWIzMyAxMDA2NDQKLS0tIGEvbmV0L3Vu aXgvZGlhZy5jCisrKyBiL25ldC91bml4L2RpYWcuYwpAQCAtMTAsNyArMTAsOCBAQAogCiBzdGF0 aWMgaW50IHNrX2RpYWdfZHVtcF9uYW1lKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYg Km5sc2tiKQogewotCXN0cnVjdCB1bml4X2FkZHJlc3MgKmFkZHIgPSB1bml4X3NrKHNrKS0+YWRk cjsKKwkvKiBtaWdodCBvciBtaWdodCBub3QgaGF2ZSB1bml4X3RhYmxlX2xvY2sgKi8KKwlzdHJ1 Y3QgdW5peF9hZGRyZXNzICphZGRyID0gc21wX2xvYWRfYWNxdWlyZSgmdW5peF9zayhzayktPmFk ZHIpOwogCiAJaWYgKCFhZGRyKQogCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2xz bV9hdWRpdC5jIGIvc2VjdXJpdHkvbHNtX2F1ZGl0LmMKaW5kZXggZjg0MDAxMDE5MzU2Li4zMzAy OGMwOThlZjMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2xzbV9hdWRpdC5jCisrKyBiL3NlY3VyaXR5 L2xzbV9hdWRpdC5jCkBAIC0zMjEsNiArMzIxLDcgQEAgc3RhdGljIHZvaWQgZHVtcF9jb21tb25f YXVkaXRfZGF0YShzdHJ1Y3QgYXVkaXRfYnVmZmVyICphYiwKIAkJaWYgKGEtPnUubmV0LT5zaykg ewogCQkJc3RydWN0IHNvY2sgKnNrID0gYS0+dS5uZXQtPnNrOwogCQkJc3RydWN0IHVuaXhfc29j ayAqdTsKKwkJCXN0cnVjdCB1bml4X2FkZHJlc3MgKmFkZHI7CiAJCQlpbnQgbGVuID0gMDsKIAkJ CWNoYXIgKnAgPSBOVUxMOwogCkBAIC0zNTEsMTQgKzM1MiwxNSBAQCBzdGF0aWMgdm9pZCBkdW1w X2NvbW1vbl9hdWRpdF9kYXRhKHN0cnVjdCBhdWRpdF9idWZmZXIgKmFiLAogI2VuZGlmCiAJCQlj YXNlIEFGX1VOSVg6CiAJCQkJdSA9IHVuaXhfc2soc2spOworCQkJCWFkZHIgPSBzbXBfbG9hZF9h Y3F1aXJlKCZ1LT5hZGRyKTsKKwkJCQlpZiAoIWFkZHIpCisJCQkJCWJyZWFrOwogCQkJCWlmICh1 LT5wYXRoLmRlbnRyeSkgewogCQkJCQlhdWRpdF9sb2dfZF9wYXRoKGFiLCAiIHBhdGg9IiwgJnUt PnBhdGgpOwogCQkJCQlicmVhazsKIAkJCQl9Ci0JCQkJaWYgKCF1LT5hZGRyKQotCQkJCQlicmVh azsKLQkJCQlsZW4gPSB1LT5hZGRyLT5sZW4tc2l6ZW9mKHNob3J0KTsKLQkJCQlwID0gJnUtPmFk ZHItPm5hbWUtPnN1bl9wYXRoWzBdOworCQkJCWxlbiA9IGFkZHItPmxlbi1zaXplb2Yoc2hvcnQp OworCQkJCXAgPSAmYWRkci0+bmFtZS0+c3VuX3BhdGhbMF07CiAJCQkJYXVkaXRfbG9nX2Zvcm1h dChhYiwgIiBwYXRoPSIpOwogCQkJCWlmICgqcCkKIAkJCQkJYXVkaXRfbG9nX3VudHJ1c3RlZHN0 cmluZyhhYiwgcCk7Ci0tIAoyLjIwLjEKCg== ----Next_Part(Thu_Mar_14_18_47_45_2019_728)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_50.mbox" RnJvbSBhMWJjY2NmMDUwM2FmMGI4Y2IwZTFiZjIxNzI5YjA2NTQ0ZTk3ZWExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaSBSb25nUWluZyA8bGlyb25ncWluZ0BiYWlkdS5jb20+CkRh dGU6IFdlZCwgNiBNYXIgMjAxOSAxNDo0NjoyNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMzBd IGNvbm5lY3RvcjogZml4IHVuc2FmZSB1c2FnZSBvZiAtPnJlYWxfcGFyZW50CgpbIFVwc3RyZWFt IGNvbW1pdCA2ZDJiMGYwMmY1YTA3YTRiZjAyZTRjYmM5MGQ3ZWFhODVjYWMyOTg2IF0KCnByb2Nf ZXhpdF9jb25uZWN0b3IoKSB1c2VzIC0+cmVhbF9wYXJlbnQgbG9ja2xlc3MuIFRoaXMgaXMgbm90 CnNhZmUgdGhhdCBpdHMgcGFyZW50IGNhbiBnbyBhd2F5IGF0IGFueSBtb21lbnQsIHNvIHVzZSBS Q1UgdG8KcHJvdGVjdCBpdCwgYW5kIGVuc3VyZSB0aGF0IHRoaXMgdGFzayBpcyBub3QgcmVsZWFz ZWQuCgpbICA3NDcuNjI0NTUxXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KWyAgNzQ3LjYzMjk0Nl0gQlVHOiBLQVNBTjog dXNlLWFmdGVyLWZyZWUgaW4gcHJvY19leGl0X2Nvbm5lY3RvcisweDFmNy8weDMxMApbICA3NDcu NjQwNjg2XSBSZWFkIG9mIHNpemUgNCBhdCBhZGRyIGZmZmY4OGEwMjc2OTg4ZTAgYnkgdGFzayBz c2hkLzI4ODIKWyAgNzQ3LjY0ODAzMl0KWyAgNzQ3LjY0OTgwNF0gQ1BVOiAxMSBQSUQ6IDI4ODIg Q29tbTogc3NoZCBUYWludGVkOiBHICAgICAgICAgICAgRSAgICAgNC4xOS4yNi1yYzIgIzExClsg IDc0Ny42NTg2MjldIEhhcmR3YXJlIG5hbWU6IElCTSB4MzU1ME00IC1bNzkxNE9GVl0tLzAwQU01 NDQsIEJJT1MgLVtEN0UxNDJCVVMtMS43MV0tIDA3LzMxLzIwMTQKWyAgNzQ3LjY2ODQxOV0gQ2Fs bCBUcmFjZToKWyAgNzQ3LjY3MTI2OV0gIGR1bXBfc3RhY2srMHhmMC8weDE5YgpbICA3NDcuNjc1 MTg2XSAgPyBzaG93X3JlZ3NfcHJpbnRfaW5mbysweDUvMHg1ClsgIDc0Ny42Nzk5ODhdICA/IGtt c2dfZHVtcF9yZXdpbmRfbm9sb2NrKzB4NTkvMHg1OQpbICA3NDcuNjg1MzAyXSAgcHJpbnRfYWRk cmVzc19kZXNjcmlwdGlvbisweDZhLzB4MjcwClsgIDc0Ny42OTExNjJdICBrYXNhbl9yZXBvcnQr MHgyNTgvMHgzODAKWyAgNzQ3LjY5NTgzNV0gID8gcHJvY19leGl0X2Nvbm5lY3RvcisweDFmNy8w eDMxMApbICA3NDcuNzAxNDAyXSAgcHJvY19leGl0X2Nvbm5lY3RvcisweDFmNy8weDMxMApbICA3 NDcuNzA2NzY3XSAgPyBwcm9jX2NvcmVkdW1wX2Nvbm5lY3RvcisweDJkMC8weDJkMApbICA3NDcu NzEyNzE1XSAgPyBfcmF3X3dyaXRlX3VubG9ja19pcnErMHgyOS8weDUwClsgIDc0Ny43MTgyNzBd ICA/IF9yYXdfd3JpdGVfdW5sb2NrX2lycSsweDI5LzB4NTAKWyAgNzQ3LjcyMzgyMF0gID8gX19f cHJlZW1wdF9zY2hlZHVsZSsweDE2LzB4MTgKWyAgNzQ3LjcyOTE5M10gID8gX19fcHJlZW1wdF9z Y2hlZHVsZSsweDE2LzB4MTgKWyAgNzQ3LjczNDU3NF0gIGRvX2V4aXQrMHhhMTEvMHgxNGYwClsg IDc0Ny43Mzg4ODBdICA/IG1tX3VwZGF0ZV9uZXh0X293bmVyKzB4NTkwLzB4NTkwClsgIDc0Ny43 NDQ1MjVdICA/IGRlYnVnX3Nob3dfYWxsX2xvY2tzKzB4M2MwLzB4M2MwClsgIDc0Ny43NjE0NDhd ICA/IGt0aW1lX2dldF9jb2Fyc2VfcmVhbF90czY0KzB4ZWIvMHgxYzAKWyAgNzQ3Ljc2NzU4OV0g ID8gbG9ja2RlcF9oYXJkaXJxc19vbisweDFhNi8weDI5MApbICA3NDcuNzczMTU0XSAgPyBjaGVj a19jaGFpbl9rZXkrMHgxMzkvMHgxZjAKWyAgNzQ3Ljc3ODM0NV0gID8gY2hlY2tfZmxhZ3MucGFy dC4zNSsweDI0MC8weDI0MApbICA3NDcuNzgzOTA4XSAgPyBfX2xvY2tfYWNxdWlyZSsweDIzMDAv MHgyMzAwClsgIDc0Ny43ODkxNzFdICA/IF9yYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDU5 LzB4NzAKWyAgNzQ3Ljc5NTMxNl0gID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4NTkv MHg3MApbICA3NDcuODAxNDU3XSAgPyBkb19yYXdfc3Bpbl91bmxvY2srMHgxMGYvMHgxZTAKWyAg NzQ3LjgwNjkxNF0gID8gZG9fcmF3X3NwaW5fdHJ5bG9jaysweDEyMC8weDEyMApbICA3NDcuODEy NDgxXSAgPyBwcmVlbXB0X2NvdW50X3N1YisweDE0LzB4YzAKWyAgNzQ3LjgxNzY0NV0gID8gX3Jh d19zcGluX3VubG9jaysweDJlLzB4NTAKWyAgNzQ3LjgyMjcwOF0gID8gX19oYW5kbGVfbW1fZmF1 bHQrMHgxMmRiLzB4MWZhMApbICA3NDcuODI4MzY3XSAgPyBfX3BtZF9hbGxvYysweDJkMC8weDJk MApbICA3NDcuODMzMTQzXSAgPyBjaGVja19ub25jaXJjdWxhcisweDUwLzB4NTAKWyAgNzQ3Ljgz ODMwOV0gID8gbWF0Y2hfaGVsZF9sb2NrKzB4N2YvMHgzNDAKWyAgNzQ3Ljg0MzM4MF0gID8gY2hl Y2tfbm9uY2lyY3VsYXIrMHg1MC8weDUwClsgIDc0Ny44NDg1NjFdICA/IGhhbmRsZV9tbV9mYXVs dCsweDIxYS8weDVmMApbICA3NDcuODUzNzMwXSAgPyBjaGVja19mbGFncy5wYXJ0LjM1KzB4MjQw LzB4MjQwClsgIDc0Ny44NTkyOTBdICA/IGNoZWNrX2NoYWluX2tleSsweDEzOS8weDFmMApbICA3 NDcuODY0NDc0XSAgPyBfX2RvX3BhZ2VfZmF1bHQrMHg0MGYvMHg3NjAKWyAgNzQ3Ljg2OTY1NV0g ID8gX19hdWRpdF9zeXNjYWxsX2VudHJ5KzB4NGIvMHgxZjAKWyAgNzQ3Ljg3NTMxOV0gID8gc3lz Y2FsbF90cmFjZV9lbnRlcisweDFkNS8weDdiMApbICA3NDcuODgwODc3XSAgPyB0cmFjZV9yYXdf b3V0cHV0X3ByZWVtcHRpcnFfdGVtcGxhdGUrMHg5MC8weDkwClsgIDc0Ny44ODc4OTVdICA/IHRy YWNlX3Jhd19vdXRwdXRfc3lzX2V4aXQrMHg4MC8weDgwClsgIDc0Ny44OTM4NjBdICA/IHVwX3Jl YWQrMHgzYi8weDkwClsgIDc0Ny44OTgxNDJdICA/IHN0b3BfY3JpdGljYWxfdGltaW5ncysweDI2 MC8weDI2MApbICA3NDcuOTAzOTA5XSAgZG9fZ3JvdXBfZXhpdCsweGUwLzB4MWMwClsgIDc0Ny45 MDg1OTFdICA/IF9feDY0X3N5c19leGl0KzB4MzAvMHgzMApbICA3NDcuOTEzNDYwXSAgPyB0cmFj ZV9yYXdfb3V0cHV0X3ByZWVtcHRpcnFfdGVtcGxhdGUrMHg5MC8weDkwClsgIDc0Ny45MjA0ODVd ICA/IHRyYWNlcl9oYXJkaXJxc19vbisweDI3MC8weDI3MApbICA3NDcuOTI1OTU2XSAgX194NjRf c3lzX2V4aXRfZ3JvdXArMHgyOC8weDMwClsgIDc0Ny45MzEyMTRdICBkb19zeXNjYWxsXzY0KzB4 MTE3LzB4NDAwClsgIDc0Ny45MzU5ODhdICA/IHN5c2NhbGxfcmV0dXJuX3Nsb3dwYXRoKzB4MmYw LzB4MmYwClsgIDc0Ny45NDE5MzFdICA/IHRyYWNlX2hhcmRpcnFzX29mZl90aHVuaysweDFhLzB4 MWMKWyAgNzQ3Ljk0Nzc4OF0gID8gdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKzB4MWQwLzB4MWQw ClsgIDc0Ny45NTM4MzhdICA/IGxvY2tkZXBfc3lzX2V4aXQrMHgxNi8weDhlClsgIDc0Ny45NTg5 MTVdICA/IHRyYWNlX2hhcmRpcnFzX29mZl90aHVuaysweDFhLzB4MWMKWyAgNzQ3Ljk2NDc4NF0g IGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKWyAgNzQ3Ljk3MTAyMV0g UklQOiAwMDMzOjB4N2Y1NzJmMTU0YzY4ClsgIDc0Ny45NzU2MDZdIENvZGU6IEJhZCBSSVAgdmFs dWUuClsgIDc0Ny45Nzk3OTFdIFJTUDogMDAyYjowMDAwN2ZmZWQyZGZhYTU4IEVGTEFHUzogMDAw MDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwZTcKWyAgNzQ3Ljk4OTMyNF0gUkFYOiBmZmZm ZmZmZmZmZmZmZmRhIFJCWDogMDAwMDdmNTcyZjQzMTg0MCBSQ1g6IDAwMDA3ZjU3MmYxNTRjNjgK WyAgNzQ3Ljk5NzkxMF0gUkRYOiAwMDAwMDAwMDAwMDAwMDAxIFJTSTogMDAwMDAwMDAwMDAwMDAz YyBSREk6IDAwMDAwMDAwMDAwMDAwMDEKWyAgNzQ4LjAwNjQ5NV0gUkJQOiAwMDAwMDAwMDAwMDAw MDAxIFIwODogMDAwMDAwMDAwMDAwMDBlNyBSMDk6IGZmZmZmZmZmZmZmZmZlZTAKWyAgNzQ4LjAx NTA3OV0gUjEwOiAwMDAwN2Y1NzJmNDM4N2U4IFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAw MDA3ZjU3MmY0MzE4NDAKWyAgNzQ4LjAyMzY2NF0gUjEzOiAwMDAwNTVhN2Y5MGYyYzUwIFIxNDog MDAwMDU1YTdmOTZlMjMxMCBSMTU6IDAwMDA1NWE3Zjk2ZTIzMTAKWyAgNzQ4LjAzMjI4N10KWyAg NzQ4LjAzNDUwOV0gQWxsb2NhdGVkIGJ5IHRhc2sgMjMwMDoKWyAgNzQ4LjAzODk4Ml0gIGthc2Fu X2ttYWxsb2MrMHhhMC8weGQwClsgIDc0OC4wNDM1NjJdICBrbWVtX2NhY2hlX2FsbG9jX25vZGUr MHhmNS8weDJlMApbICA3NDguMDQ5MDE4XSAgY29weV9wcm9jZXNzKzB4MTc4MS8weDQ3OTAKWyAg NzQ4LjA1Mzg4NF0gIF9kb19mb3JrKzB4MTY2LzB4OWEwClsgIDc0OC4wNTgxNjNdICBkb19zeXNj YWxsXzY0KzB4MTE3LzB4NDAwClsgIDc0OC4wNjI5NDNdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVy X2h3ZnJhbWUrMHg0OS8weGJlClsgIDc0OC4wNjkxODBdClsgIDc0OC4wNzE0MDVdIEZyZWVkIGJ5 IHRhc2sgMTUzOTU6ClsgIDc0OC4wNzU1OTFdICBfX2thc2FuX3NsYWJfZnJlZSsweDEzMC8weDE4 MApbICA3NDguMDgwNzUyXSAga21lbV9jYWNoZV9mcmVlKzB4YzIvMHgzMTAKWyAgNzQ4LjA4NTYx OV0gIGZyZWVfdGFzaysweGVhLzB4MTMwClsgIDc0OC4wODk5MDFdICBfX3B1dF90YXNrX3N0cnVj dCsweDE3Ny8weDIzMApbICA3NDguMDk1MDYzXSAgZmluaXNoX3Rhc2tfc3dpdGNoKzB4NTFiLzB4 NWQwClsgIDc0OC4xMDAzMTVdICBfX3NjaGVkdWxlKzB4NTA2LzB4ZmEwClsgIDc0OC4xMDQ3OTFd ICBzY2hlZHVsZSsweGNhLzB4MjYwClsgIDc0OC4xMDg5NzhdICBmdXRleF93YWl0X3F1ZXVlX21l KzB4MjdlLzB4NDIwClsgIDc0OC4xMTQzMzNdICBmdXRleF93YWl0KzB4MjUxLzB4NTUwClsgIDc0 OC4xMTg4MTRdICBkb19mdXRleCsweDc1Yi8weGY4MApbICA3NDguMTIzMDk3XSAgX194NjRfc3lz X2Z1dGV4KzB4MjMxLzB4MmEwClsgIDc0OC4xMjgwNjVdICBkb19zeXNjYWxsXzY0KzB4MTE3LzB4 NDAwClsgIDc0OC4xMzI4MzVdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8w eGJlClsgIDc0OC4xMzkwNjZdClsgIDc0OC4xNDEyODldIFRoZSBidWdneSBhZGRyZXNzIGJlbG9u Z3MgdG8gdGhlIG9iamVjdCBhdCBmZmZmODhhMDI3Njk4MDAwClsgIDc0OC4xNDEyODldICB3aGlj aCBiZWxvbmdzIHRvIHRoZSBjYWNoZSB0YXNrX3N0cnVjdCBvZiBzaXplIDEyMTYwClsgIDc0OC4x NTY1ODldIFRoZSBidWdneSBhZGRyZXNzIGlzIGxvY2F0ZWQgMjI3MiBieXRlcyBpbnNpZGUgb2YK WyAgNzQ4LjE1NjU4OV0gIDEyMTYwLWJ5dGUgcmVnaW9uIFtmZmZmODhhMDI3Njk4MDAwLCBmZmZm ODhhMDI3NjlhZjgwKQpbICA3NDguMTcxMTE0XSBUaGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRv IHRoZSBwYWdlOgpbICA3NDguMTc3MDU1XSBwYWdlOmZmZmZlYTAwODA5ZGE2MDAgY291bnQ6MSBt YXBjb3VudDowIG1hcHBpbmc6ZmZmZjg4ODEwN2QwMWUwMCBpbmRleDoweDAgY29tcG91bmRfbWFw Y291bnQ6IDAKWyAgNzQ4LjE4OTEzNl0gZmxhZ3M6IDB4NTdmZmZmYzAwMDgxMDAoc2xhYnxoZWFk KQpbICA3NDguMTk0Njg4XSByYXc6IDAwNTdmZmZmYzAwMDgxMDAgZmZmZmVhMDA4MDlhMzIwMCAw MDAwMDAwMzAwMDAwMDAzIGZmZmY4ODgxMDdkMDFlMDAKWyAgNzQ4LjIwNDQyNF0gcmF3OiAwMDAw MDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMjAwMDIgMDAwMDAwMDFmZmZmZmZmZiAwMDAwMDAwMDAw MDAwMDAwClsgIDc0OC4yMTQxNDZdIHBhZ2UgZHVtcGVkIGJlY2F1c2U6IGthc2FuOiBiYWQgYWNj ZXNzIGRldGVjdGVkClsgIDc0OC4yMjA5NzZdClsgIDc0OC4yMjMxOTddIE1lbW9yeSBzdGF0ZSBh cm91bmQgdGhlIGJ1Z2d5IGFkZHJlc3M6ClsgIDc0OC4yMjkxMjhdICBmZmZmODhhMDI3Njk4Nzgw OiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbICA3NDgu MjM4MjcxXSAgZmZmZjg4YTAyNzY5ODgwMDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIKWyAgNzQ4LjI0NzQxNF0gPmZmZmY4OGEwMjc2OTg4ODA6IGZiIGZi IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiClsgIDc0OC4yNTY1NjRd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe ClsgIDc0OC4yNjQyNjddICBmZmZmODhhMDI3Njk4OTAwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbICA3NDguMjczNDkzXSAgZmZmZjg4YTAyNzY5ODk4 MDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKWyAgNzQ4 LjI4MjYzMF0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CgpGaXhlczogYjA4NmZmODcyNTFiNGE0ICgiY29ubmVjdG9yOiBh ZGQgcGFyZW50IHBpZCBhbmQgdGdpZCB0byBjb3JlZHVtcCBhbmQgZXhpdCBldmVudHMiKQpTaWdu ZWQtb2ZmLWJ5OiBaaGFuZyBZdSA8emhhbmd5dTMxQGJhaWR1LmNvbT4KU2lnbmVkLW9mZi1ieTog TGkgUm9uZ1FpbmcgPGxpcm9uZ3FpbmdAYmFpZHUuY29tPgpBY2tlZC1ieTogRXZnZW5peSBQb2x5 YWtvdiA8emJyQGlvcmVtYXAubmV0PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9jb25uZWN0b3IvY25fcHJvYy5jIHwgMjIg KysrKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb25uZWN0b3IvY25fcHJvYy5j IGIvZHJpdmVycy9jb25uZWN0b3IvY25fcHJvYy5jCmluZGV4IGVkNWU0MjQ2MTA5NC4uYWQ0OGZk NTJjYjUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Nvbm5lY3Rvci9jbl9wcm9jLmMKKysrIGIvZHJp dmVycy9jb25uZWN0b3IvY25fcHJvYy5jCkBAIC0yNTAsNiArMjUwLDcgQEAgdm9pZCBwcm9jX2Nv cmVkdW1wX2Nvbm5lY3RvcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCiB7CiAJc3RydWN0IGNu X21zZyAqbXNnOwogCXN0cnVjdCBwcm9jX2V2ZW50ICpldjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3Qg KnBhcmVudDsKIAlfX3U4IGJ1ZmZlcltDTl9QUk9DX01TR19TSVpFXSBfX2FsaWduZWQoOCk7CiAK IAlpZiAoYXRvbWljX3JlYWQoJnByb2NfZXZlbnRfbnVtX2xpc3RlbmVycykgPCAxKQpAQCAtMjYy LDggKzI2MywxNCBAQCB2b2lkIHByb2NfY29yZWR1bXBfY29ubmVjdG9yKHN0cnVjdCB0YXNrX3N0 cnVjdCAqdGFzaykKIAlldi0+d2hhdCA9IFBST0NfRVZFTlRfQ09SRURVTVA7CiAJZXYtPmV2ZW50 X2RhdGEuY29yZWR1bXAucHJvY2Vzc19waWQgPSB0YXNrLT5waWQ7CiAJZXYtPmV2ZW50X2RhdGEu Y29yZWR1bXAucHJvY2Vzc190Z2lkID0gdGFzay0+dGdpZDsKLQlldi0+ZXZlbnRfZGF0YS5jb3Jl ZHVtcC5wYXJlbnRfcGlkID0gdGFzay0+cmVhbF9wYXJlbnQtPnBpZDsKLQlldi0+ZXZlbnRfZGF0 YS5jb3JlZHVtcC5wYXJlbnRfdGdpZCA9IHRhc2stPnJlYWxfcGFyZW50LT50Z2lkOworCisJcmN1 X3JlYWRfbG9jaygpOworCWlmIChwaWRfYWxpdmUodGFzaykpIHsKKwkJcGFyZW50ID0gcmN1X2Rl cmVmZXJlbmNlKHRhc2stPnJlYWxfcGFyZW50KTsKKwkJZXYtPmV2ZW50X2RhdGEuY29yZWR1bXAu cGFyZW50X3BpZCA9IHBhcmVudC0+cGlkOworCQlldi0+ZXZlbnRfZGF0YS5jb3JlZHVtcC5wYXJl bnRfdGdpZCA9IHBhcmVudC0+dGdpZDsKKwl9CisJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAltZW1j cHkoJm1zZy0+aWQsICZjbl9wcm9jX2V2ZW50X2lkLCBzaXplb2YobXNnLT5pZCkpOwogCW1zZy0+ YWNrID0gMDsgLyogbm90IHVzZWQgKi8KQEAgLTI3Niw2ICsyODMsNyBAQCB2b2lkIHByb2NfZXhp dF9jb25uZWN0b3Ioc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQogewogCXN0cnVjdCBjbl9tc2cg Km1zZzsKIAlzdHJ1Y3QgcHJvY19ldmVudCAqZXY7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwYXJl bnQ7CiAJX191OCBidWZmZXJbQ05fUFJPQ19NU0dfU0laRV0gX19hbGlnbmVkKDgpOwogCiAJaWYg KGF0b21pY19yZWFkKCZwcm9jX2V2ZW50X251bV9saXN0ZW5lcnMpIDwgMSkKQEAgLTI5MCw4ICsy OTgsMTQgQEAgdm9pZCBwcm9jX2V4aXRfY29ubmVjdG9yKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFz aykKIAlldi0+ZXZlbnRfZGF0YS5leGl0LnByb2Nlc3NfdGdpZCA9IHRhc2stPnRnaWQ7CiAJZXYt PmV2ZW50X2RhdGEuZXhpdC5leGl0X2NvZGUgPSB0YXNrLT5leGl0X2NvZGU7CiAJZXYtPmV2ZW50 X2RhdGEuZXhpdC5leGl0X3NpZ25hbCA9IHRhc2stPmV4aXRfc2lnbmFsOwotCWV2LT5ldmVudF9k YXRhLmV4aXQucGFyZW50X3BpZCA9IHRhc2stPnJlYWxfcGFyZW50LT5waWQ7Ci0JZXYtPmV2ZW50 X2RhdGEuZXhpdC5wYXJlbnRfdGdpZCA9IHRhc2stPnJlYWxfcGFyZW50LT50Z2lkOworCisJcmN1 X3JlYWRfbG9jaygpOworCWlmIChwaWRfYWxpdmUodGFzaykpIHsKKwkJcGFyZW50ID0gcmN1X2Rl cmVmZXJlbmNlKHRhc2stPnJlYWxfcGFyZW50KTsKKwkJZXYtPmV2ZW50X2RhdGEuZXhpdC5wYXJl bnRfcGlkID0gcGFyZW50LT5waWQ7CisJCWV2LT5ldmVudF9kYXRhLmV4aXQucGFyZW50X3RnaWQg PSBwYXJlbnQtPnRnaWQ7CisJfQorCXJjdV9yZWFkX3VubG9jaygpOwogCiAJbWVtY3B5KCZtc2ct PmlkLCAmY25fcHJvY19ldmVudF9pZCwgc2l6ZW9mKG1zZy0+aWQpKTsKIAltc2ctPmFjayA9IDA7 IC8qIG5vdCB1c2VkICovCi0tIAoyLjIwLjEKCgpGcm9tIDM4NTBhN2JjMTE3MWMwYzFhNThmOWUy ODE0MDEyYWM5YTFlMjg3NmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCA2IE1hciAyMDE5IDEwOjQxOjAw IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwMi8zMF0gZm91LCBmb3U2OiBhdm9pZCB1bmluaXQtdmFs dWUgaW4gZ3VlX2VycigpIGFuZAogZ3VlNl9lcnIoKQoKWyBVcHN0cmVhbSBjb21taXQgNTM1NWVk NjM4OGUyM2I2OWEwMGQ0ODM5OGE2OGQwMjIxMzVlNjQ4NiBdCgpNeSBwcmlvciBjb21taXQgbWlz c2VkIHRoZSBmYWN0IHRoYXQgdGhlc2UgZnVuY3Rpb25zCndlcmUgdXNpbmcgdWRwX2hkcigpIChh a2Egc2tiX3RyYW5zcG9ydF9oZWFkZXIoKSkKdG8gZ2V0IGFjY2VzcyB0byBHVUUgaGVhZGVyLgoK U2luY2UgcHNrYl90cmFuc3BvcnRfbWF5X3B1bGwoKSBkb2VzIG5vdCBleGlzdCB5ZXQsIHdlIGhh dmUgdG8gYWRkCnRyYW5zcG9ydF9vZmZzZXQgdG8gb3VyIHBza2JfbWF5X3B1bGwoKSBjYWxscy4K CkJVRzogS01TQU46IHVuaW5pdC12YWx1ZSBpbiBndWVfZXJyKzB4NTE0LzB4ZmEwIG5ldC9pcHY0 L2ZvdS5jOjEwMzIKQ1BVOiAxIFBJRDogMTA2NDggQ29tbTogc3l6LWV4ZWN1dG9yLjEgTm90IHRh aW50ZWQgNS4wLjArICMxMQpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5n aW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpDYWxsIFRy YWNlOgogPElSUT4KIF9fZHVtcF9zdGFjayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBk dW1wX3N0YWNrKzB4MTczLzB4MWQwIGxpYi9kdW1wX3N0YWNrLmM6MTEzCiBrbXNhbl9yZXBvcnQr MHgxMmUvMHgyYTAgbW0va21zYW4va21zYW4uYzo2MDAKIF9fbXNhbl93YXJuaW5nKzB4ODIvMHhm MCBtbS9rbXNhbi9rbXNhbl9pbnN0ci5jOjMxMwogZ3VlX2VycisweDUxNC8weGZhMCBuZXQvaXB2 NC9mb3UuYzoxMDMyCiBfX3VkcDRfbGliX2Vycl9lbmNhcF9ub19zayBuZXQvaXB2NC91ZHAuYzo1 NzEgW2lubGluZV0KIF9fdWRwNF9saWJfZXJyX2VuY2FwIG5ldC9pcHY0L3VkcC5jOjYyNiBbaW5s aW5lXQogX191ZHA0X2xpYl9lcnIrMHgxMmU2LzB4MWQ0MCBuZXQvaXB2NC91ZHAuYzo2NjUKIHVk cF9lcnIrMHg3NC8weDkwIG5ldC9pcHY0L3VkcC5jOjczNwogaWNtcF9zb2NrZXRfZGVsaXZlciBu ZXQvaXB2NC9pY21wLmM6NzY3IFtpbmxpbmVdCiBpY21wX3VucmVhY2grMHhiNjUvMHgxMDcwIG5l dC9pcHY0L2ljbXAuYzo4ODQKIGljbXBfcmN2KzB4MTFhMS8weDE5NTAgbmV0L2lwdjQvaWNtcC5j OjEwNjYKIGlwX3Byb3RvY29sX2RlbGl2ZXJfcmN1KzB4NTg0LzB4YmIwIG5ldC9pcHY0L2lwX2lu cHV0LmM6MjA4CiBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCBuZXQvaXB2NC9pcF9pbnB1dC5jOjIz NCBbaW5saW5lXQogTkZfSE9PSyBpbmNsdWRlL2xpbnV4L25ldGZpbHRlci5oOjI4OSBbaW5saW5l XQogaXBfbG9jYWxfZGVsaXZlcisweDYyNC8weDdiMCBuZXQvaXB2NC9pcF9pbnB1dC5jOjI1NQog ZHN0X2lucHV0IGluY2x1ZGUvbmV0L2RzdC5oOjQ1MCBbaW5saW5lXQogaXBfcmN2X2ZpbmlzaCBu ZXQvaXB2NC9pcF9pbnB1dC5jOjQxNCBbaW5saW5lXQogTkZfSE9PSyBpbmNsdWRlL2xpbnV4L25l dGZpbHRlci5oOjI4OSBbaW5saW5lXQogaXBfcmN2KzB4NmJkLzB4NzQwIG5ldC9pcHY0L2lwX2lu cHV0LmM6NTI0CiBfX25ldGlmX3JlY2VpdmVfc2tiX29uZV9jb3JlIG5ldC9jb3JlL2Rldi5jOjQ5 NzMgW2lubGluZV0KIF9fbmV0aWZfcmVjZWl2ZV9za2IgbmV0L2NvcmUvZGV2LmM6NTA4MyBbaW5s aW5lXQogcHJvY2Vzc19iYWNrbG9nKzB4NzU2LzB4MTBlMCBuZXQvY29yZS9kZXYuYzo1OTIzCiBu YXBpX3BvbGwgbmV0L2NvcmUvZGV2LmM6NjM0NiBbaW5saW5lXQogbmV0X3J4X2FjdGlvbisweDc4 Yi8weDFhNjAgbmV0L2NvcmUvZGV2LmM6NjQxMgogX19kb19zb2Z0aXJxKzB4NTNmLzB4OTNhIGtl cm5lbC9zb2Z0aXJxLmM6MjkzCiBpbnZva2Vfc29mdGlycSBrZXJuZWwvc29mdGlycS5jOjM3NSBb aW5saW5lXQogaXJxX2V4aXQrMHgyMTQvMHgyNTAga2VybmVsL3NvZnRpcnEuYzo0MTYKIGV4aXRp bmdfaXJxKzB4ZS8weDEwIGFyY2gveDg2L2luY2x1ZGUvYXNtL2FwaWMuaDo1MzYKIHNtcF9hcGlj X3RpbWVyX2ludGVycnVwdCsweDQ4LzB4NzAgYXJjaC94ODYva2VybmVsL2FwaWMvYXBpYy5jOjEw NjQKIGFwaWNfdGltZXJfaW50ZXJydXB0KzB4MmUvMHg0MCBhcmNoL3g4Ni9lbnRyeS9lbnRyeV82 NC5TOjgxNAogPC9JUlE+ClJJUDogMDAxMDpmaW5pc2hfbG9ja19zd2l0Y2grMHgyYi8weDQwIGtl cm5lbC9zY2hlZC9jb3JlLmM6MjU5NwpDb2RlOiA0OCA4OSBlNSA1MyA0OCA4OSBmYiBlOCA2MyBl NyA5NSAwMCA4YiBiOCA4OCAwYyAwMCAwMCA0OCA4YiAwMCA0OCA4NSBjMCA3NSAxMiA0OCA4OSBk ZiBlOCBkZCBkYiA5NSAwMCBjNiAwMCAwMCBjNiAwMyAwMCBmYiA1YiA8NWQ+IGMzIGU4IDRlIGU2 IDk1IDAwIGViIGU3IDY2IDkwIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIDU1ClJTUDog MDAxODpmZmZmODg4MDgxYTBmYzgwIEVGTEFHUzogMDAwMDAyOTYgT1JJR19SQVg6IGZmZmZmZmZm ZmZmZmZmMTMKUkFYOiBmZmZmODg4MjFmZDZiZDgwIFJCWDogZmZmZjg4ODAyNzg5ODAwMCBSQ1g6 IGNjY2NjY2NjY2NjY2QwMDAKUkRYOiBmZmZmODg4MjFmY2E4ZDgwIFJTSTogZmZmZjg4ODAwMDAw MDAwMCBSREk6IDAwMDAwMDAwMDAwMDA0YTAKUkJQOiBmZmZmODg4MDgxYTBmYzgwIFIwODogMDAw MDAwMDAwMDAwMDAwMiBSMDk6IGZmZmY4ODgwODFhMGZiMDgKUjEwOiAwMDAwMDAwMDAwMDAwMDAw IFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IDAwMDAwMDAwMDAwMDAwMDEKUjEzOiBmZmZmODg4 MTExMzBlMzg4IFIxNDogZmZmZjg4ODExMTMwZGEwMCBSMTU6IGZmZmY4ODgxMmZkYjdkODAKIGZp bmlzaF90YXNrX3N3aXRjaCsweGZjLzB4MmQwIGtlcm5lbC9zY2hlZC9jb3JlLmM6MjY5OAogY29u dGV4dF9zd2l0Y2gga2VybmVsL3NjaGVkL2NvcmUuYzoyODUxIFtpbmxpbmVdCiBfX3NjaGVkdWxl KzB4NmNjLzB4ODAwIGtlcm5lbC9zY2hlZC9jb3JlLmM6MzQ5MQogc2NoZWR1bGUrMHgxNWIvMHgy NDAga2VybmVsL3NjaGVkL2NvcmUuYzozNTM1CiBmcmVlemFibGVfc2NoZWR1bGUgaW5jbHVkZS9s aW51eC9mcmVlemVyLmg6MTcyIFtpbmxpbmVdCiBkb19uYW5vc2xlZXArMHgyYmEvMHg5ODAga2Vy bmVsL3RpbWUvaHJ0aW1lci5jOjE2NzkKIGhydGltZXJfbmFub3NsZWVwIGtlcm5lbC90aW1lL2hy dGltZXIuYzoxNzMzIFtpbmxpbmVdCiBfX2RvX3N5c19uYW5vc2xlZXAga2VybmVsL3RpbWUvaHJ0 aW1lci5jOjE3NjcgW2lubGluZV0KIF9fc2Vfc3lzX25hbm9zbGVlcCsweDc0Ni8weDk2MCBrZXJu ZWwvdGltZS9ocnRpbWVyLmM6MTc1NAogX194NjRfc3lzX25hbm9zbGVlcCsweDNlLzB4NjAga2Vy bmVsL3RpbWUvaHJ0aW1lci5jOjE3NTQKIGRvX3N5c2NhbGxfNjQrMHhiYy8weGYwIGFyY2gveDg2 L2VudHJ5L2NvbW1vbi5jOjI5MQogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NjMv MHhlNwpSSVA6IDAwMzM6MHg0ODU1YTAKQ29kZTogMDAgMDAgNDggYzcgYzAgZDQgZmYgZmYgZmYg NjQgYzcgMDAgMTYgMDAgMDAgMDAgMzEgYzAgZWIgYmUgNjYgMGYgMWYgNDQgMDAgMDAgODMgM2Qg YjEgMTEgNWQgMDAgMDAgNzUgMTQgYjggMjMgMDAgMDAgMDAgMGYgMDUgPDQ4PiAzZCAwMSBmMCBm ZiBmZiAwZiA4MyAwNCBlMiBmOCBmZiBjMyA0OCA4MyBlYyAwOCBlOCAzYSA1NSBmZCBmZgpSU1A6 IDAwMmI6MDAwMDAwMDAwMGE0ZmQ1OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAw MDAwMDAwMDIzClJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwODU3ODAgUkNY OiAwMDAwMDAwMDAwNDg1NWEwClJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAw MDAwMDAgUkRJOiAwMDAwMDAwMDAwYTRmZDYwClJCUDogMDAwMDAwMDAwMDAwMDdlYyBSMDg6IDAw MDAwMDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwY2ViOTQwClIxMDogMDAwMDAwMDAwMDAwMDAw MCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwMDAwMDAwMDAwMDA4ClIxMzogMDAwMDAw MDAwMGE0ZmRiMCBSMTQ6IDAwMDAwMDAwMDAwODU3MTEgUjE1OiAwMDAwMDAwMDAwYTRmZGMwCgpV bmluaXQgd2FzIGNyZWF0ZWQgYXQ6CiBrbXNhbl9zYXZlX3N0YWNrX3dpdGhfZmxhZ3MgbW0va21z YW4va21zYW4uYzoyMDUgW2lubGluZV0KIGttc2FuX2ludGVybmFsX3BvaXNvbl9zaGFkb3crMHg5 Mi8weDE1MCBtbS9rbXNhbi9rbXNhbi5jOjE1OQoga21zYW5fa21hbGxvYysweGE2LzB4MTMwIG1t L2ttc2FuL2ttc2FuX2hvb2tzLmM6MTc2CiBrbXNhbl9zbGFiX2FsbG9jKzB4ZS8weDEwIG1tL2tt c2FuL2ttc2FuX2hvb2tzLmM6MTg1CiBzbGFiX3Bvc3RfYWxsb2NfaG9vayBtbS9zbGFiLmg6NDQ1 IFtpbmxpbmVdCiBzbGFiX2FsbG9jX25vZGUgbW0vc2x1Yi5jOjI3NzMgW2lubGluZV0KIF9fa21h bGxvY19ub2RlX3RyYWNrX2NhbGxlcisweGU5ZS8weGZmMCBtbS9zbHViLmM6NDM5OAogX19rbWFs bG9jX3Jlc2VydmUgbmV0L2NvcmUvc2tidWZmLmM6MTQwIFtpbmxpbmVdCiBfX2FsbG9jX3NrYisw eDMwOS8weGEyMCBuZXQvY29yZS9za2J1ZmYuYzoyMDgKIGFsbG9jX3NrYiBpbmNsdWRlL2xpbnV4 L3NrYnVmZi5oOjEwMTIgW2lubGluZV0KIGFsbG9jX3NrYl93aXRoX2ZyYWdzKzB4MTg2LzB4YTYw IG5ldC9jb3JlL3NrYnVmZi5jOjUyODcKIHNvY2tfYWxsb2Nfc2VuZF9wc2tiKzB4YWZkLzB4MTBh MCBuZXQvY29yZS9zb2NrLmM6MjA5MQogc29ja19hbGxvY19zZW5kX3NrYisweGNhLzB4ZTAgbmV0 L2NvcmUvc29jay5jOjIxMDgKIF9faXBfYXBwZW5kX2RhdGErMHgzNGNkLzB4NTAwMCBuZXQvaXB2 NC9pcF9vdXRwdXQuYzo5OTgKIGlwX2FwcGVuZF9kYXRhKzB4MzI0LzB4NDgwIG5ldC9pcHY0L2lw X291dHB1dC5jOjEyMjAKIGljbXBfcHVzaF9yZXBseSsweDIzZC8weDdlMCBuZXQvaXB2NC9pY21w LmM6Mzc1CiBfX2ljbXBfc2VuZCsweDJlYTMvMHgzMGYwIG5ldC9pcHY0L2ljbXAuYzo3MzcKIGlj bXBfc2VuZCBpbmNsdWRlL25ldC9pY21wLmg6NDcgW2lubGluZV0KIGlwdjRfbGlua19mYWlsdXJl KzB4NmQvMHgyMzAgbmV0L2lwdjQvcm91dGUuYzoxMTkwCiBkc3RfbGlua19mYWlsdXJlIGluY2x1 ZGUvbmV0L2RzdC5oOjQyNyBbaW5saW5lXQogYXJwX2Vycm9yX3JlcG9ydCsweDEwNi8weDFhMCBu ZXQvaXB2NC9hcnAuYzoyOTcKIG5laWdoX2ludmFsaWRhdGUrMHgzNTkvMHg4ZTAgbmV0L2NvcmUv bmVpZ2hib3VyLmM6OTkyCiBuZWlnaF90aW1lcl9oYW5kbGVyKzB4ZGYyLzB4MTI4MCBuZXQvY29y ZS9uZWlnaGJvdXIuYzoxMDc4CiBjYWxsX3RpbWVyX2ZuKzB4Mjg1LzB4NjAwIGtlcm5lbC90aW1l L3RpbWVyLmM6MTMyNQogZXhwaXJlX3RpbWVycyBrZXJuZWwvdGltZS90aW1lci5jOjEzNjIgW2lu bGluZV0KIF9fcnVuX3RpbWVycysweGRiNC8weDExZDAga2VybmVsL3RpbWUvdGltZXIuYzoxNjgx CiBydW5fdGltZXJfc29mdGlycSsweDJlLzB4NTAga2VybmVsL3RpbWUvdGltZXIuYzoxNjk0CiBf X2RvX3NvZnRpcnErMHg1M2YvMHg5M2Ega2VybmVsL3NvZnRpcnEuYzoyOTMKCkZpeGVzOiAyNmZj MTgxZTZjYWMgKCJmb3UsIGZvdTY6IGRvIG5vdCBhc3N1bWUgbGluZWFyIHNrYnMiKQpTaWduZWQt b2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBz eXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpDYzogU3RlZmFubyBCcml2aW8gPHNi cml2aW9AcmVkaGF0LmNvbT4KQ2M6IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0 PgpBY2tlZC1ieTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0 L2ZvdS5jICB8IDQgKystLQogbmV0L2lwdjYvZm91Ni5jIHwgNCArKy0tCiAyIGZpbGVzIGNoYW5n ZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2 NC9mb3UuYyBiL25ldC9pcHY0L2ZvdS5jCmluZGV4IDQzNzA3MGQxZmZiMS4uNzllOThlMjFjZGQ3 IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9mb3UuYworKysgYi9uZXQvaXB2NC9mb3UuYwpAQCAtMTAy NCw3ICsxMDI0LDcgQEAgc3RhdGljIGludCBndWVfZXJyKHN0cnVjdCBza19idWZmICpza2IsIHUz MiBpbmZvKQogCWludCByZXQ7CiAKIAlsZW4gPSBzaXplb2Yoc3RydWN0IHVkcGhkcikgKyBzaXpl b2Yoc3RydWN0IGd1ZWhkcik7Ci0JaWYgKCFwc2tiX21heV9wdWxsKHNrYiwgbGVuKSkKKwlpZiAo IXBza2JfbWF5X3B1bGwoc2tiLCB0cmFuc3BvcnRfb2Zmc2V0ICsgbGVuKSkKIAkJcmV0dXJuIC1F SU5WQUw7CiAKIAlndWVoZHIgPSAoc3RydWN0IGd1ZWhkciAqKSZ1ZHBfaGRyKHNrYilbMV07CkBA IC0xMDU5LDcgKzEwNTksNyBAQCBzdGF0aWMgaW50IGd1ZV9lcnIoc3RydWN0IHNrX2J1ZmYgKnNr YiwgdTMyIGluZm8pCiAKIAlvcHRsZW4gPSBndWVoZHItPmhsZW4gPDwgMjsKIAotCWlmICghcHNr Yl9tYXlfcHVsbChza2IsIGxlbiArIG9wdGxlbikpCisJaWYgKCFwc2tiX21heV9wdWxsKHNrYiwg dHJhbnNwb3J0X29mZnNldCArIGxlbiArIG9wdGxlbikpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJ Z3VlaGRyID0gKHN0cnVjdCBndWVoZHIgKikmdWRwX2hkcihza2IpWzFdOwpkaWZmIC0tZ2l0IGEv bmV0L2lwdjYvZm91Ni5jIGIvbmV0L2lwdjYvZm91Ni5jCmluZGV4IDg2NzQ3NGFiZTI2OS4uZWM0 ZTJlZDk1ZjM2IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9mb3U2LmMKKysrIGIvbmV0L2lwdjYvZm91 Ni5jCkBAIC05NCw3ICs5NCw3IEBAIHN0YXRpYyBpbnQgZ3VlNl9lcnIoc3RydWN0IHNrX2J1ZmYg KnNrYiwgc3RydWN0IGluZXQ2X3NrYl9wYXJtICpvcHQsCiAJaW50IHJldDsKIAogCWxlbiA9IHNp emVvZihzdHJ1Y3QgdWRwaGRyKSArIHNpemVvZihzdHJ1Y3QgZ3VlaGRyKTsKLQlpZiAoIXBza2Jf bWF5X3B1bGwoc2tiLCBsZW4pKQorCWlmICghcHNrYl9tYXlfcHVsbChza2IsIHRyYW5zcG9ydF9v ZmZzZXQgKyBsZW4pKQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWd1ZWhkciA9IChzdHJ1Y3QgZ3Vl aGRyICopJnVkcF9oZHIoc2tiKVsxXTsKQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgaW50IGd1 ZTZfZXJyKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBpbmV0Nl9za2JfcGFybSAqb3B0LAog CiAJb3B0bGVuID0gZ3VlaGRyLT5obGVuIDw8IDI7CiAKLQlpZiAoIXBza2JfbWF5X3B1bGwoc2ti LCBsZW4gKyBvcHRsZW4pKQorCWlmICghcHNrYl9tYXlfcHVsbChza2IsIHRyYW5zcG9ydF9vZmZz ZXQgKyBsZW4gKyBvcHRsZW4pKQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWd1ZWhkciA9IChzdHJ1 Y3QgZ3VlaGRyICopJnVkcF9oZHIoc2tiKVsxXTsKLS0gCjIuMjAuMQoKCkZyb20gZjM2MGQyZGQz MDVkZmUzYTgwNTE2NzA1ZDBlNTI0NjViZTUxMmE4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBTdW4sIDEwIE1h ciAyMDE5IDEwOjM5OjM3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwMy8zMF0gZ3JvX2NlbGxzOiBt YWtlIHN1cmUgZGV2aWNlIGlzIHVwIGluCiBncm9fY2VsbHNfcmVjZWl2ZSgpCgpbIFVwc3RyZWFt IGNvbW1pdCAyYTVmZjA3YTBlYjk0NWYyOTFlMzYxYWE2ZjZiZWNjYTgzNDBiYTQ2IF0KCldlIGtl ZXAgcmVjZWl2aW5nIHN5emJvdCByZXBvcnRzIFsxXSB0aGF0IHNob3cgdGhhdCB0dW5uZWxzIGRv IG5vdCBwbGF5CnRoZSByY3UvSUZGX1VQIHJ1bGVzIHByb3Blcmx5LgoKQXQgZGV2aWNlIGRpc21h bnRsZSBwaGFzZSwgZ3JvX2NlbGxzX2Rlc3Ryb3koKSB3aWxsIGJlIGNhbGxlZApvbmx5IGFmdGVy IGEgZnVsbCByY3UgZ3JhY2UgcGVyaW9kIGlzIG9ic2VydmVkIGFmdGVyIElGRl9VUApoYXMgYmVl biBjbGVhcmVkLgoKVGhpcyBtZWFucyB0aGF0IElGRl9VUCBuZWVkcyB0byBiZSB0ZXN0ZWQgYmVm b3JlIHF1ZXVlaW5nIHBhY2tldHMKaW50byBuZXRpZl9yeCgpIG9yIGdyb19jZWxscy4KClRoaXMg cGF0Y2ggaW1wbGVtZW50cyB0aGUgdGVzdCBpbiBncm9fY2VsbHNfcmVjZWl2ZSgpIGJlY2F1c2UK dG9vIG1hbnkgY2FsbGVycyBkbyBub3Qgc2VlbSB0byBib3RoZXIgZW5vdWdoLgoKWzFdCkJVRzog dW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgZmZmZmY0Y2EwYjlmZmZm ZQpQR0QgMCBQNEQgMApPb3BzOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgS0FTQU4KQ1BVOiAwIFBJ RDogMjEgQ29tbToga3dvcmtlci91NDoxIE5vdCB0YWludGVkIDUuMC4wKyAjOTcKSGFyZHdhcmUg bmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUs IEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKV29ya3F1ZXVlOiBuZXRucyBjbGVhbnVwX25ldApSSVA6 IDAwMTA6X19za2JfdW5saW5rIGluY2x1ZGUvbGludXgvc2tidWZmLmg6MTkyOSBbaW5saW5lXQpS SVA6IDAwMTA6X19za2JfZGVxdWV1ZSBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oOjE5NDUgW2lubGlu ZV0KUklQOiAwMDEwOl9fc2tiX3F1ZXVlX3B1cmdlIGluY2x1ZGUvbGludXgvc2tidWZmLmg6MjY1 NiBbaW5saW5lXQpSSVA6IDAwMTA6Z3JvX2NlbGxzX2Rlc3Ryb3kgbmV0L2NvcmUvZ3JvX2NlbGxz LmM6ODkgW2lubGluZV0KUklQOiAwMDEwOmdyb19jZWxsc19kZXN0cm95KzB4MTlkLzB4MzYwIG5l dC9jb3JlL2dyb19jZWxscy5jOjc4CkNvZGU6IDAzIDQyIDgwIDNjIDIwIDAwIDBmIDg1IDUzIDAx IDAwIDAwIDQ4IDhkIDdhIDA4IDQ5IDhiIDQ3IDA4IDQ5IGM3IDA3IDAwIDAwIDAwIDAwIDQ4IDg5 IGY5IDQ5IGM3IDQ3IDA4IDAwIDAwIDAwIDAwIDQ4IGMxIGU5IDAzIDw0Mj4gODAgM2MgMjEgMDAg MGYgODUgMTAgMDEgMDAgMDAgNDggODkgYzEgNDggODkgNDIgMDggNDggYzEgZTkgMDMKUlNQOiAw MDE4OmZmZmY4ODgwYWEzZjc5YTggRUZMQUdTOiAwMDAxMGEwMgpSQVg6IDAwZmZmZmZmZmZmZmZm ZTggUkJYOiBmZmZmZThmZmZmYzY0YjcwIFJDWDogMWZmZmY4Y2EwYjlmZmZmZQpSRFg6IGZmZmZj NjUwNWNmZmZmZTggUlNJOiBmZmZmZmZmZjg1ODQxMGNhIFJESTogZmZmZmM2NTA1Y2ZmZmZmMApS QlA6IGZmZmY4ODgwYWEzZjdhMDggUjA4OiBmZmZmODg4MGFhM2U4NTgwIFIwOTogZmZmZmZiZmZm MTI2MzY0NQpSMTA6IGZmZmZmYmZmZjEyNjM2NDQgUjExOiBmZmZmZmZmZjg5MzFiMjIzIFIxMjog ZGZmZmZjMDAwMDAwMDAwMApSMTM6IDAwMDAwMDAwMDAwMDAwMDAgUjE0OiBmZmZmZThmZmZmYzY0 YjgwIFIxNTogZmZmZmU4ZmZmZmM2NGI3NQprb2JqZWN0OiAnbG9vcDInICgwMDAwMDAwMDRiZDdk ODRhKToga29iamVjdF91ZXZlbnRfZW52CkZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpm ZmZmODg4MGFlODAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERT OiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IGZmZmZmNGNhMGI5ZmZm ZmUgQ1IzOiAwMDAwMDAwMDk0OTQxMDAwIENSNDogMDAwMDAwMDAwMDE0MDZmMApDYWxsIFRyYWNl Ogprb2JqZWN0OiAnbG9vcDInICgwMDAwMDAwMDRiZDdkODRhKTogZmlsbF9rb2JqX3BhdGg6IHBh dGggPSAnL2RldmljZXMvdmlydHVhbC9ibG9jay9sb29wMicKIGlwX3R1bm5lbF9kZXZfZnJlZSsw eDE5LzB4NjAgbmV0L2lwdjQvaXBfdHVubmVsLmM6MTAxMAogbmV0ZGV2X3J1bl90b2RvKzB4NTFj LzB4N2QwIG5ldC9jb3JlL2Rldi5jOjg5NzAKIHJ0bmxfdW5sb2NrKzB4ZS8weDEwIG5ldC9jb3Jl L3J0bmV0bGluay5jOjExNgogaXBfdHVubmVsX2RlbGV0ZV9uZXRzKzB4NDIzLzB4NWYwIG5ldC9p cHY0L2lwX3R1bm5lbC5jOjExMjQKIHZ0aV9leGl0X2JhdGNoX25ldCsweDIzLzB4MzAgbmV0L2lw djQvaXBfdnRpLmM6NDk1CiBvcHNfZXhpdF9saXN0LmlzcmEuMCsweDEwNS8weDE2MCBuZXQvY29y ZS9uZXRfbmFtZXNwYWNlLmM6MTU2CiBjbGVhbnVwX25ldCsweDNmYi8weDk2MCBuZXQvY29yZS9u ZXRfbmFtZXNwYWNlLmM6NTUxCiBwcm9jZXNzX29uZV93b3JrKzB4OThlLzB4MTc5MCBrZXJuZWwv d29ya3F1ZXVlLmM6MjE3Mwogd29ya2VyX3RocmVhZCsweDk4LzB4ZTQwIGtlcm5lbC93b3JrcXVl dWUuYzoyMzE5CiBrdGhyZWFkKzB4MzU3LzB4NDMwIGtlcm5lbC9rdGhyZWFkLmM6MjQ2CiByZXRf ZnJvbV9mb3JrKzB4M2EvMHg1MCBhcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TOjM1MgpNb2R1bGVz IGxpbmtlZCBpbjoKQ1IyOiBmZmZmZjRjYTBiOWZmZmZlCiAgIFsgZW5kIHRyYWNlIDUxM2ZjOWMx MzM4ZDFjYjMgXQpSSVA6IDAwMTA6X19za2JfdW5saW5rIGluY2x1ZGUvbGludXgvc2tidWZmLmg6 MTkyOSBbaW5saW5lXQpSSVA6IDAwMTA6X19za2JfZGVxdWV1ZSBpbmNsdWRlL2xpbnV4L3NrYnVm Zi5oOjE5NDUgW2lubGluZV0KUklQOiAwMDEwOl9fc2tiX3F1ZXVlX3B1cmdlIGluY2x1ZGUvbGlu dXgvc2tidWZmLmg6MjY1NiBbaW5saW5lXQpSSVA6IDAwMTA6Z3JvX2NlbGxzX2Rlc3Ryb3kgbmV0 L2NvcmUvZ3JvX2NlbGxzLmM6ODkgW2lubGluZV0KUklQOiAwMDEwOmdyb19jZWxsc19kZXN0cm95 KzB4MTlkLzB4MzYwIG5ldC9jb3JlL2dyb19jZWxscy5jOjc4CkNvZGU6IDAzIDQyIDgwIDNjIDIw IDAwIDBmIDg1IDUzIDAxIDAwIDAwIDQ4IDhkIDdhIDA4IDQ5IDhiIDQ3IDA4IDQ5IGM3IDA3IDAw IDAwIDAwIDAwIDQ4IDg5IGY5IDQ5IGM3IDQ3IDA4IDAwIDAwIDAwIDAwIDQ4IGMxIGU5IDAzIDw0 Mj4gODAgM2MgMjEgMDAgMGYgODUgMTAgMDEgMDAgMDAgNDggODkgYzEgNDggODkgNDIgMDggNDgg YzEgZTkgMDMKUlNQOiAwMDE4OmZmZmY4ODgwYWEzZjc5YTggRUZMQUdTOiAwMDAxMGEwMgpSQVg6 IDAwZmZmZmZmZmZmZmZmZTggUkJYOiBmZmZmZThmZmZmYzY0YjcwIFJDWDogMWZmZmY4Y2EwYjlm ZmZmZQpSRFg6IGZmZmZjNjUwNWNmZmZmZTggUlNJOiBmZmZmZmZmZjg1ODQxMGNhIFJESTogZmZm ZmM2NTA1Y2ZmZmZmMApSQlA6IGZmZmY4ODgwYWEzZjdhMDggUjA4OiBmZmZmODg4MGFhM2U4NTgw IFIwOTogZmZmZmZiZmZmMTI2MzY0NQpSMTA6IGZmZmZmYmZmZjEyNjM2NDQgUjExOiBmZmZmZmZm Zjg5MzFiMjIzIFIxMjogZGZmZmZjMDAwMDAwMDAwMAprb2JqZWN0OiAnbG9vcDMnICgwMDAwMDAw MGU0ZWU1N2E2KToga29iamVjdF91ZXZlbnRfZW52ClIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6 IGZmZmZlOGZmZmZjNjRiODAgUjE1OiBmZmZmZThmZmZmYzY0Yjc1CkZTOiAgMDAwMDAwMDAwMDAw MDAwMCgwMDAwKSBHUzpmZmZmODg4MGFlODAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAw MDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6 IGZmZmZmNGNhMGI5ZmZmZmUgQ1IzOiAwMDAwMDAwMDk0OTQxMDAwIENSNDogMDAwMDAwMDAwMDE0 MDZmMAoKRml4ZXM6IGM5ZTZiYzY0NGU1NSAoIm5ldDogYWRkIGdyb19jZWxscyBpbmZyYXN0cnVj dHVyZSIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4K UmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6a2FsbGVyQGdvb2dsZWdyb3Vwcy5jb20+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29y ZS9ncm9fY2VsbHMuYyB8IDIyICsrKysrKysrKysrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAxOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3Jl L2dyb19jZWxscy5jIGIvbmV0L2NvcmUvZ3JvX2NlbGxzLmMKaW5kZXggYWNmNDVkZGJlOTI0Li5l MDk1ZmI4NzFkOTEgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2dyb19jZWxscy5jCisrKyBiL25ldC9j b3JlL2dyb19jZWxscy5jCkBAIC0xMywyMiArMTMsMzYgQEAgaW50IGdyb19jZWxsc19yZWNlaXZl KHN0cnVjdCBncm9fY2VsbHMgKmdjZWxscywgc3RydWN0IHNrX2J1ZmYgKnNrYikKIHsKIAlzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2ID0gc2tiLT5kZXY7CiAJc3RydWN0IGdyb19jZWxsICpjZWxsOwor CWludCByZXM7CiAKLQlpZiAoIWdjZWxscy0+Y2VsbHMgfHwgc2tiX2Nsb25lZChza2IpIHx8IG5l dGlmX2VsaWRlX2dybyhkZXYpKQotCQlyZXR1cm4gbmV0aWZfcngoc2tiKTsKKwlyY3VfcmVhZF9s b2NrKCk7CisJaWYgKHVubGlrZWx5KCEoZGV2LT5mbGFncyAmIElGRl9VUCkpKQorCQlnb3RvIGRy b3A7CisKKwlpZiAoIWdjZWxscy0+Y2VsbHMgfHwgc2tiX2Nsb25lZChza2IpIHx8IG5ldGlmX2Vs aWRlX2dybyhkZXYpKSB7CisJCXJlcyA9IG5ldGlmX3J4KHNrYik7CisJCWdvdG8gdW5sb2NrOwor CX0KIAogCWNlbGwgPSB0aGlzX2NwdV9wdHIoZ2NlbGxzLT5jZWxscyk7CiAKIAlpZiAoc2tiX3F1 ZXVlX2xlbigmY2VsbC0+bmFwaV9za2JzKSA+IG5ldGRldl9tYXhfYmFja2xvZykgeworZHJvcDoK IAkJYXRvbWljX2xvbmdfaW5jKCZkZXYtPnJ4X2Ryb3BwZWQpOwogCQlrZnJlZV9za2Ioc2tiKTsK LQkJcmV0dXJuIE5FVF9SWF9EUk9QOworCQlyZXMgPSBORVRfUlhfRFJPUDsKKwkJZ290byB1bmxv Y2s7CiAJfQogCiAJX19za2JfcXVldWVfdGFpbCgmY2VsbC0+bmFwaV9za2JzLCBza2IpOwogCWlm IChza2JfcXVldWVfbGVuKCZjZWxsLT5uYXBpX3NrYnMpID09IDEpCiAJCW5hcGlfc2NoZWR1bGUo JmNlbGwtPm5hcGkpOwotCXJldHVybiBORVRfUlhfU1VDQ0VTUzsKKworCXJlcyA9IE5FVF9SWF9T VUNDRVNTOworCit1bmxvY2s6CisJcmN1X3JlYWRfdW5sb2NrKCk7CisJcmV0dXJuIHJlczsKIH0K IEVYUE9SVF9TWU1CT0woZ3JvX2NlbGxzX3JlY2VpdmUpOwogCi0tIAoyLjIwLjEKCgpGcm9tIDlm MDQzZDFkNzkwNThiNzZkOGJhMDczZmJiYjZlMWE1NTIzZGI1NTMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFBhb2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA2 IE1hciAyMDE5IDEwOjQyOjUzICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNC8zMF0gaXB2NC9yb3V0 ZTogZmFpbCBlYXJseSB3aGVuIGluZXQgZGV2IGlzIG1pc3NpbmcKClsgVXBzdHJlYW0gY29tbWl0 IDIyYzc0NzY0YWEyOTQzZWNkZjlmMDdjOTAwZDhhOWM4YmE2YzkyNjUgXQoKSWYgYSBub24gbG9j YWwgbXVsdGljYXN0IHBhY2tldCByZWFjaGVzIGlwX3JvdXRlX2lucHV0X3JjdSgpIHdoaWxlCnRo ZSBpbmdyZXNzIGRldmljZSBJUHY0IHByaXZhdGUgZGF0YSAoaW5fZGV2KSBpcyBOVUxMLCB3ZSBl bmQgdXAKZG9pbmcgYSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gSU5fREVWX01GT1JXQVJE KCkuCgpTaW5jZSB0aGUgbGF0ZXIgY2FsbCB0byBpcF9yb3V0ZV9pbnB1dF9tYygpIGlzIGdvaW5n IHRvIGZhaWwgaWYKIWluX2Rldiwgd2UgY2FuIGZhaWwgZWFybHkgaW4gc3VjaCBzY2VuYXJpbyBh bmQgYXZvaWQgdGhlIGRhbmdlcm91cwpjb2RlIHBhdGguCgp2MSAtPiB2MjoKIC0gY2xhcmlmaWVk IHRoZSBjb21taXQgbWVzc2FnZSwgbm8gY29kZSBjaGFuZ2VzCgpSZXBvcnRlZC1ieTogVGlhbmhh byBaaGFvIDx0aXpoYW9AcmVkaGF0LmNvbT4KRml4ZXM6IGU1OGU0MTU5NjgxMSAoIm5ldDogRW5h YmxlIHN1cHBvcnQgZm9yIFZSRiB3aXRoIGlwdjQgbXVsdGljYXN0IikKU2lnbmVkLW9mZi1ieTog UGFvbG8gQWJlbmkgPHBhYmVuaUByZWRoYXQuY29tPgpSZXZpZXdlZC1ieTogRGF2aWQgQWhlcm4g PGRzYWhlcm5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvcm91dGUuYyB8IDkgKysrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L25ldC9pcHY0L3JvdXRlLmMgYi9uZXQvaXB2NC9yb3V0ZS5jCmluZGV4IDdiYjkxMjhjODM2My4u ZTQwZTU2ZTAxNGEwIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9yb3V0ZS5jCisrKyBiL25ldC9pcHY0 L3JvdXRlLmMKQEAgLTIxNDQsMTIgKzIxNDQsMTMgQEAgaW50IGlwX3JvdXRlX2lucHV0X3JjdShz dHJ1Y3Qgc2tfYnVmZiAqc2tiLCBfX2JlMzIgZGFkZHIsIF9fYmUzMiBzYWRkciwKIAkJaW50IG91 ciA9IDA7CiAJCWludCBlcnIgPSAtRUlOVkFMOwogCi0JCWlmIChpbl9kZXYpCi0JCQlvdXIgPSBp cF9jaGVja19tY19yY3UoaW5fZGV2LCBkYWRkciwgc2FkZHIsCi0JCQkJCSAgICAgIGlwX2hkcihz a2IpLT5wcm90b2NvbCk7CisJCWlmICghaW5fZGV2KQorCQkJcmV0dXJuIGVycjsKKwkJb3VyID0g aXBfY2hlY2tfbWNfcmN1KGluX2RldiwgZGFkZHIsIHNhZGRyLAorCQkJCSAgICAgIGlwX2hkcihz a2IpLT5wcm90b2NvbCk7CiAKIAkJLyogY2hlY2sgbDMgbWFzdGVyIGlmIG5vIG1hdGNoIHlldCAq LwotCQlpZiAoKCFpbl9kZXYgfHwgIW91cikgJiYgbmV0aWZfaXNfbDNfc2xhdmUoZGV2KSkgewor CQlpZiAoIW91ciAmJiBuZXRpZl9pc19sM19zbGF2ZShkZXYpKSB7CiAJCQlzdHJ1Y3QgaW5fZGV2 aWNlICpsM19pbl9kZXY7CiAKIAkJCWwzX2luX2RldiA9IF9faW5fZGV2X2dldF9yY3Uoc2tiLT5k ZXYpOwotLSAKMi4yMC4xCgoKRnJvbSA4YmM5MGRjYjA3OGE1NDk2NTRiZGY5MzViMzQ5ZGVlYmNj ODE0ZTJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgMTIgTWFyIDIwMTkgMDY6NTA6MTEgLTA3MDAKU3Vi amVjdDogW1BBVENIIDA1LzMwXSBsMnRwOiBmaXggaW5mb2xlYWsgaW4gbDJ0cF9pcDZfcmVjdm1z ZygpCgpbIFVwc3RyZWFtIGNvbW1pdCAxNjNkMWMzZDZmMTc1NTZlZDNjMzQwZDM3ODllYTkzYmU5 NWQ2YzI4IF0KCkJhY2sgaW4gMjAxMyBIYW5uZXMgdG9vayBjYXJlIG9mIG1vc3Qgb2Ygc3VjaCBs ZWFrcyBpbiBjb21taXQKYmNlYWE5MDI0MGI2ICgiaW5ldDogcHJldmVudCBsZWFrYWdlIG9mIHVu aW5pdGlhbGl6ZWQgbWVtb3J5IHRvIHVzZXIgaW4gcmVjdiBzeXNjYWxscyIpCgpCdXQgdGhlIGJ1 ZyBpbiBsMnRwX2lwNl9yZWN2bXNnKCkgaGFzIG5vdCBiZWVuIGZpeGVkLgoKc3l6Ym90IHJlcG9y dCA6CgpCVUc6IEtNU0FOOiBrZXJuZWwtaW5mb2xlYWsgaW4gX2NvcHlfdG9fdXNlcisweDE2Yi8w eDFmMCBsaWIvdXNlcmNvcHkuYzozMgpDUFU6IDEgUElEOiAxMDk5NiBDb21tOiBzeXotZXhlY3V0 b3IzNjIgTm90IHRhaW50ZWQgNS4wLjArICMxMQpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xl IENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEv MjAxMQpDYWxsIFRyYWNlOgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGlu ZV0KIGR1bXBfc3RhY2srMHgxNzMvMHgxZDAgbGliL2R1bXBfc3RhY2suYzoxMTMKIGttc2FuX3Jl cG9ydCsweDEyZS8weDJhMCBtbS9rbXNhbi9rbXNhbi5jOjYwMAoga21zYW5faW50ZXJuYWxfY2hl Y2tfbWVtb3J5KzB4OWY0LzB4YjEwIG1tL2ttc2FuL2ttc2FuLmM6Njk0CiBrbXNhbl9jb3B5X3Rv X3VzZXIrMHhhYi8weGMwIG1tL2ttc2FuL2ttc2FuX2hvb2tzLmM6NjAxCiBfY29weV90b191c2Vy KzB4MTZiLzB4MWYwIGxpYi91c2VyY29weS5jOjMyCiBjb3B5X3RvX3VzZXIgaW5jbHVkZS9saW51 eC91YWNjZXNzLmg6MTc0IFtpbmxpbmVdCiBtb3ZlX2FkZHJfdG9fdXNlcisweDMxMS8weDU3MCBu ZXQvc29ja2V0LmM6MjI3CiBfX19zeXNfcmVjdm1zZysweGI2NS8weDEzMTAgbmV0L3NvY2tldC5j OjIyODMKIGRvX3JlY3ZtbXNnKzB4NjQ2LzB4MTBjMCBuZXQvc29ja2V0LmM6MjM5MAogX19zeXNf cmVjdm1tc2cgbmV0L3NvY2tldC5jOjI0NjkgW2lubGluZV0KIF9fZG9fc3lzX3JlY3ZtbXNnIG5l dC9zb2NrZXQuYzoyNDkyIFtpbmxpbmVdCiBfX3NlX3N5c19yZWN2bW1zZysweDFkMS8weDM1MCBu ZXQvc29ja2V0LmM6MjQ4NQogX194NjRfc3lzX3JlY3ZtbXNnKzB4NjIvMHg4MCBuZXQvc29ja2V0 LmM6MjQ4NQogZG9fc3lzY2FsbF82NCsweGJjLzB4ZjAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6 MjkxCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg2My8weGU3ClJJUDogMDAzMzow eDQ0NTgxOQpDb2RlOiBlOCA2YyBiNiAwMiAwMCA0OCA4MyBjNCAxOCBjMyAwZiAxZiA4MCAwMCAw MCAwMCAwMCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4 OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDBmIDgzIDJiIDEy IGZjIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDogMDAyYjowMDAwN2Y2NDQ1 M2VkZGI4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAxMmIKUkFYOiBm ZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDZkYWMyOCBSQ1g6IDAwMDAwMDAwMDA0NDU4 MTkKUkRYOiAwMDAwMDAwMDAwMDAwMDA1IFJTSTogMDAwMDAwMDAyMDAwMmY4MCBSREk6IDAwMDAw MDAwMDAwMDAwMDMKUkJQOiAwMDAwMDAwMDAwNmRhYzIwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBS MDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAw MDAwMDI0NiBSMTI6IDAwMDAwMDAwMDA2ZGFjMmMKUjEzOiAwMDAwN2ZmZWJhOGY4N2FmIFIxNDog MDAwMDdmNjQ0NTNlZTljMCBSMTU6IDIwYzQ5YmE1ZTM1M2Y3Y2YKCkxvY2FsIHZhcmlhYmxlIGRl c2NyaXB0aW9uOiAtLS0tYWRkckBfX19zeXNfcmVjdm1zZwpWYXJpYWJsZSB3YXMgY3JlYXRlZCBh dDoKIF9fX3N5c19yZWN2bXNnKzB4ZjYvMHgxMzEwIG5ldC9zb2NrZXQuYzoyMjQ0CiBkb19yZWN2 bW1zZysweDY0Ni8weDEwYzAgbmV0L3NvY2tldC5jOjIzOTAKCkJ5dGVzIDAtMzEgb2YgMzIgYXJl IHVuaW5pdGlhbGl6ZWQKTWVtb3J5IGFjY2VzcyBvZiBzaXplIDMyIHN0YXJ0cyBhdCBmZmZmODg4 MGFlNjJmYmIwCkRhdGEgY29waWVkIHRvIHVzZXIgYWRkcmVzcyAwMDAwMDAwMDIwMDAwMDAwCgpG aXhlczogYTMyZTBlZWM3MDQyICgibDJ0cDogaW50cm9kdWNlIEwyVFB2MyBJUCBlbmNhcHN1bGF0 aW9uIHN1cHBvcnQgZm9yIElQdjYiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1h emV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91 cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L2wydHAvbDJ0cF9pcDYuYyB8IDQgKy0tLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9sMnRwL2wydHBf aXA2LmMgYi9uZXQvbDJ0cC9sMnRwX2lwNi5jCmluZGV4IDBhZTY4OTllZGFjMC4uMzdhNjlkZjE3 Y2FiIDEwMDY0NAotLS0gYS9uZXQvbDJ0cC9sMnRwX2lwNi5jCisrKyBiL25ldC9sMnRwL2wydHBf aXA2LmMKQEAgLTY3NCw5ICs2NzQsNiBAQCBzdGF0aWMgaW50IGwydHBfaXA2X3JlY3Ztc2coc3Ry dWN0IHNvY2sgKnNrLCBzdHJ1Y3QgbXNnaGRyICptc2csIHNpemVfdCBsZW4sCiAJaWYgKGZsYWdz ICYgTVNHX09PQikKIAkJZ290byBvdXQ7CiAKLQlpZiAoYWRkcl9sZW4pCi0JCSphZGRyX2xlbiA9 IHNpemVvZigqbHNhKTsKLQogCWlmIChmbGFncyAmIE1TR19FUlJRVUVVRSkKIAkJcmV0dXJuIGlw djZfcmVjdl9lcnJvcihzaywgbXNnLCBsZW4sIGFkZHJfbGVuKTsKIApAQCAtNzA2LDYgKzcwMyw3 IEBAIHN0YXRpYyBpbnQgbDJ0cF9pcDZfcmVjdm1zZyhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBt c2doZHIgKm1zZywgc2l6ZV90IGxlbiwKIAkJbHNhLT5sMnRwX2Nvbm5faWQgPSAwOwogCQlpZiAo aXB2Nl9hZGRyX3R5cGUoJmxzYS0+bDJ0cF9hZGRyKSAmIElQVjZfQUREUl9MSU5LTE9DQUwpCiAJ CQlsc2EtPmwydHBfc2NvcGVfaWQgPSBpbmV0Nl9paWYoc2tiKTsKKwkJKmFkZHJfbGVuID0gc2l6 ZW9mKCpsc2EpOwogCX0KIAogCWlmIChucC0+cnhvcHQuYWxsKQotLSAKMi4yMC4xCgoKRnJvbSAx NWQzMDIwYzM3NDdkNzM2MTFjNzc3MTU1MTRmZTdlMTQ2YzViY2Y3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBCcnlhbiBXaGl0ZWhlYWQgPEJyeWFuLldoaXRlaGVhZEBtaWNyb2NoaXAu Y29tPgpEYXRlOiBNb24sIDExIE1hciAyMDE5IDEzOjM5OjM5IC0wNDAwClN1YmplY3Q6IFtQQVRD SCAwNi8zMF0gbGFuNzQzeDogRml4IFJYIEtlcm5lbCBQYW5pYwoKWyBVcHN0cmVhbSBjb21taXQg ZGQ5ZDlmNTkwN2JiNDc1ZjhiMTc5NmM0N2Q0ZWNjN2ZiOWI3MjEzNiBdCgpJdCBoYXMgYmVlbiBu b3RpY2VkIHRoYXQgcnVubmluZyB0aGUgc3BlZWQgdGVzdCBhdAp3d3cuc3BlZWR0ZXN0Lm5ldCBv Y2Nhc2lvbmFsbHkgY2F1c2VzIGEga2VybmVsIHBhbmljLgoKSW52ZXN0aWdhdGlvbiByZXZlYWxl ZCB0aGF0IHVuZGVyIHRoaXMgdGVzdCBSWCBidWZmZXIgYWxsb2NhdGlvbgpzb21ldGltZXMgZmFp bHMgYW5kIHJldHVybnMgTlVMTC4gQnV0IHRoZSBsYW43NDN4IGRyaXZlciBkaWQKbm90IGhhbmRs ZSB0aGlzIGNhc2UuCgpUaGlzIHBhdGNoIGZpeGVzIHRoaXMgaXNzdWUgYnkgYXR0ZW1wdGluZyB0 byBhbGxvY2F0ZSBhIGJ1ZmZlcgpiZWZvcmUgc2VuZGluZyB0aGUgbmV3IHJ4IHBhY2tldCB0byB0 aGUgT1MuIElmIHRoZSBhbGxvY2F0aW9uCmZhaWxzIHRoZW4gdGhlIG5ldyByeCBwYWNrZXQgaXMg ZHJvcHBlZCBhbmQgdGhlIGV4aXN0aW5nIGJ1ZmZlcgppcyByZXVzZWQgaW4gdGhlIERNQSByaW5n LgoKVXBkYXRlcyBmb3IgdjI6CiAgICBBZGRpdGlvbmFsIDIgbG9jYXRpb25zIHdoZXJlIGFsbG9j YXRpb24gd2FzIG5vdCBjaGVja2VkLAogICAgICAgIGhhcyBiZWVuIGNoYW5nZWQgdG8gcmV1c2Ug ZXhpc3RpbmcgYnVmZmVyLgoKRml4ZXM6IDIzZjA3MDNjMTI1YiAoImxhbjc0M3g6IEFkZCBtYWlu IHNvdXJjZSBmaWxlcyBmb3IgbmV3IGxhbjc0M3ggZHJpdmVyIikKU2lnbmVkLW9mZi1ieTogQnJ5 YW4gV2hpdGVoZWFkIDxCcnlhbi5XaGl0ZWhlYWRAbWljcm9jaGlwLmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0 L2V0aGVybmV0L21pY3JvY2hpcC9sYW43NDN4X21haW4uYyB8IDQ2ICsrKysrKysrKysrKystLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9taWNyb2NoaXAvbGFuNzQzeF9tYWluLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9taWNyb2NoaXAvbGFuNzQzeF9tYWluLmMKaW5kZXggNGQx YjRhMjQ5MDdmLi4yODc2YmFiNjQyZTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21pY3JvY2hpcC9sYW43NDN4X21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9taWNy b2NoaXAvbGFuNzQzeF9tYWluLmMKQEAgLTE5MDIsNyArMTkwMiwxNyBAQCBzdGF0aWMgaW50IGxh bjc0M3hfcnhfbmV4dF9pbmRleChzdHJ1Y3QgbGFuNzQzeF9yeCAqcngsIGludCBpbmRleCkKIAly ZXR1cm4gKCgrK2luZGV4KSAlIHJ4LT5yaW5nX3NpemUpOwogfQogCi1zdGF0aWMgaW50IGxhbjc0 M3hfcnhfYWxsb2NhdGVfcmluZ19lbGVtZW50KHN0cnVjdCBsYW43NDN4X3J4ICpyeCwgaW50IGlu ZGV4KQorc3RhdGljIHN0cnVjdCBza19idWZmICpsYW43NDN4X3J4X2FsbG9jYXRlX3NrYihzdHJ1 Y3QgbGFuNzQzeF9yeCAqcngpCit7CisJaW50IGxlbmd0aCA9IDA7CisKKwlsZW5ndGggPSAoTEFO NzQzWF9NQVhfRlJBTUVfU0laRSArIEVUSF9ITEVOICsgNCArIFJYX0hFQURfUEFERElORyk7CisJ cmV0dXJuIF9fbmV0ZGV2X2FsbG9jX3NrYihyeC0+YWRhcHRlci0+bmV0ZGV2LAorCQkJCSAgbGVu Z3RoLCBHRlBfQVRPTUlDIHwgR0ZQX0RNQSk7Cit9CisKK3N0YXRpYyBpbnQgbGFuNzQzeF9yeF9p bml0X3JpbmdfZWxlbWVudChzdHJ1Y3QgbGFuNzQzeF9yeCAqcngsIGludCBpbmRleCwKKwkJCQkJ c3RydWN0IHNrX2J1ZmYgKnNrYikKIHsKIAlzdHJ1Y3QgbGFuNzQzeF9yeF9idWZmZXJfaW5mbyAq YnVmZmVyX2luZm87CiAJc3RydWN0IGxhbjc0M3hfcnhfZGVzY3JpcHRvciAqZGVzY3JpcHRvcjsK QEAgLTE5MTEsOSArMTkyMSw3IEBAIHN0YXRpYyBpbnQgbGFuNzQzeF9yeF9hbGxvY2F0ZV9yaW5n X2VsZW1lbnQoc3RydWN0IGxhbjc0M3hfcnggKnJ4LCBpbnQgaW5kZXgpCiAJbGVuZ3RoID0gKExB Tjc0M1hfTUFYX0ZSQU1FX1NJWkUgKyBFVEhfSExFTiArIDQgKyBSWF9IRUFEX1BBRERJTkcpOwog CWRlc2NyaXB0b3IgPSAmcngtPnJpbmdfY3B1X3B0cltpbmRleF07CiAJYnVmZmVyX2luZm8gPSAm cngtPmJ1ZmZlcl9pbmZvW2luZGV4XTsKLQlidWZmZXJfaW5mby0+c2tiID0gX19uZXRkZXZfYWxs b2Nfc2tiKHJ4LT5hZGFwdGVyLT5uZXRkZXYsCi0JCQkJCSAgICAgIGxlbmd0aCwKLQkJCQkJICAg ICAgR0ZQX0FUT01JQyB8IEdGUF9ETUEpOworCWJ1ZmZlcl9pbmZvLT5za2IgPSBza2I7CiAJaWYg KCEoYnVmZmVyX2luZm8tPnNrYikpCiAJCXJldHVybiAtRU5PTUVNOwogCWJ1ZmZlcl9pbmZvLT5k bWFfcHRyID0gZG1hX21hcF9zaW5nbGUoJnJ4LT5hZGFwdGVyLT5wZGV2LT5kZXYsCkBAIC0yMDYw LDggKzIwNjgsMTkgQEAgc3RhdGljIGludCBsYW43NDN4X3J4X3Byb2Nlc3NfcGFja2V0KHN0cnVj dCBsYW43NDN4X3J4ICpyeCkKIAkJLyogcGFja2V0IGlzIGF2YWlsYWJsZSAqLwogCQlpZiAoZmly c3RfaW5kZXggPT0gbGFzdF9pbmRleCkgewogCQkJLyogc2luZ2xlIGJ1ZmZlciBwYWNrZXQgKi8K KwkJCXN0cnVjdCBza19idWZmICpuZXdfc2tiID0gTlVMTDsKIAkJCWludCBwYWNrZXRfbGVuZ3Ro OwogCisJCQluZXdfc2tiID0gbGFuNzQzeF9yeF9hbGxvY2F0ZV9za2IocngpOworCQkJaWYgKCFu ZXdfc2tiKSB7CisJCQkJLyogZmFpbGVkIHRvIGFsbG9jYXRlIG5leHQgc2tiLgorCQkJCSAqIE1l bW9yeSBpcyB2ZXJ5IGxvdy4KKwkJCQkgKiBEcm9wIHRoaXMgcGFja2V0IGFuZCByZXVzZSBidWZm ZXIuCisJCQkJICovCisJCQkJbGFuNzQzeF9yeF9yZXVzZV9yaW5nX2VsZW1lbnQocngsIGZpcnN0 X2luZGV4KTsKKwkJCQlnb3RvIHByb2Nlc3NfZXh0ZW5zaW9uOworCQkJfQorCiAJCQlidWZmZXJf aW5mbyA9ICZyeC0+YnVmZmVyX2luZm9bZmlyc3RfaW5kZXhdOwogCQkJc2tiID0gYnVmZmVyX2lu Zm8tPnNrYjsKIAkJCWRlc2NyaXB0b3IgPSAmcngtPnJpbmdfY3B1X3B0cltmaXJzdF9pbmRleF07 CkBAIC0yMDgxLDcgKzIxMDAsNyBAQCBzdGF0aWMgaW50IGxhbjc0M3hfcnhfcHJvY2Vzc19wYWNr ZXQoc3RydWN0IGxhbjc0M3hfcnggKnJ4KQogCQkJc2tiX3B1dChza2IsIHBhY2tldF9sZW5ndGgg LSA0KTsKIAkJCXNrYi0+cHJvdG9jb2wgPSBldGhfdHlwZV90cmFucyhza2IsCiAJCQkJCQkgICAg ICAgcngtPmFkYXB0ZXItPm5ldGRldik7Ci0JCQlsYW43NDN4X3J4X2FsbG9jYXRlX3JpbmdfZWxl bWVudChyeCwgZmlyc3RfaW5kZXgpOworCQkJbGFuNzQzeF9yeF9pbml0X3JpbmdfZWxlbWVudChy eCwgZmlyc3RfaW5kZXgsIG5ld19za2IpOwogCQl9IGVsc2UgewogCQkJaW50IGluZGV4ID0gZmly c3RfaW5kZXg7CiAKQEAgLTIwOTQsMjYgKzIxMTMsMjMgQEAgc3RhdGljIGludCBsYW43NDN4X3J4 X3Byb2Nlc3NfcGFja2V0KHN0cnVjdCBsYW43NDN4X3J4ICpyeCkKIAkJCWlmIChmaXJzdF9pbmRl eCA8PSBsYXN0X2luZGV4KSB7CiAJCQkJd2hpbGUgKChpbmRleCA+PSBmaXJzdF9pbmRleCkgJiYK IAkJCQkgICAgICAgKGluZGV4IDw9IGxhc3RfaW5kZXgpKSB7Ci0JCQkJCWxhbjc0M3hfcnhfcmVs ZWFzZV9yaW5nX2VsZW1lbnQocngsCi0JCQkJCQkJCQlpbmRleCk7Ci0JCQkJCWxhbjc0M3hfcnhf YWxsb2NhdGVfcmluZ19lbGVtZW50KHJ4LAotCQkJCQkJCQkJIGluZGV4KTsKKwkJCQkJbGFuNzQz eF9yeF9yZXVzZV9yaW5nX2VsZW1lbnQocngsCisJCQkJCQkJCSAgICAgIGluZGV4KTsKIAkJCQkJ aW5kZXggPSBsYW43NDN4X3J4X25leHRfaW5kZXgocngsCiAJCQkJCQkJCSAgICAgIGluZGV4KTsK IAkJCQl9CiAJCQl9IGVsc2UgewogCQkJCXdoaWxlICgoaW5kZXggPj0gZmlyc3RfaW5kZXgpIHx8 CiAJCQkJICAgICAgIChpbmRleCA8PSBsYXN0X2luZGV4KSkgewotCQkJCQlsYW43NDN4X3J4X3Jl bGVhc2VfcmluZ19lbGVtZW50KHJ4LAotCQkJCQkJCQkJaW5kZXgpOwotCQkJCQlsYW43NDN4X3J4 X2FsbG9jYXRlX3JpbmdfZWxlbWVudChyeCwKLQkJCQkJCQkJCSBpbmRleCk7CisJCQkJCWxhbjc0 M3hfcnhfcmV1c2VfcmluZ19lbGVtZW50KHJ4LAorCQkJCQkJCQkgICAgICBpbmRleCk7CiAJCQkJ CWluZGV4ID0gbGFuNzQzeF9yeF9uZXh0X2luZGV4KHJ4LAogCQkJCQkJCQkgICAgICBpbmRleCk7 CiAJCQkJfQogCQkJfQogCQl9CiAKK3Byb2Nlc3NfZXh0ZW5zaW9uOgogCQlpZiAoZXh0ZW5zaW9u X2luZGV4ID49IDApIHsKIAkJCWRlc2NyaXB0b3IgPSAmcngtPnJpbmdfY3B1X3B0cltleHRlbnNp b25faW5kZXhdOwogCQkJYnVmZmVyX2luZm8gPSAmcngtPmJ1ZmZlcl9pbmZvW2V4dGVuc2lvbl9p bmRleF07CkBAIC0yMjkwLDcgKzIzMDYsOSBAQCBzdGF0aWMgaW50IGxhbjc0M3hfcnhfcmluZ19p bml0KHN0cnVjdCBsYW43NDN4X3J4ICpyeCkKIAogCXJ4LT5sYXN0X2hlYWQgPSAwOwogCWZvciAo aW5kZXggPSAwOyBpbmRleCA8IHJ4LT5yaW5nX3NpemU7IGluZGV4KyspIHsKLQkJcmV0ID0gbGFu NzQzeF9yeF9hbGxvY2F0ZV9yaW5nX2VsZW1lbnQocngsIGluZGV4KTsKKwkJc3RydWN0IHNrX2J1 ZmYgKm5ld19za2IgPSBsYW43NDN4X3J4X2FsbG9jYXRlX3NrYihyeCk7CisKKwkJcmV0ID0gbGFu NzQzeF9yeF9pbml0X3JpbmdfZWxlbWVudChyeCwgaW5kZXgsIG5ld19za2IpOwogCQlpZiAocmV0 KQogCQkJZ290byBjbGVhbnVwOwogCX0KLS0gCjIuMjAuMQoKCkZyb20gYjJmMmExMDE3YmNjOWUy NDI2Y2MyZjViMzZjZWQyNDA4OGE5MGEzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog QnJ5YW4gV2hpdGVoZWFkIDxCcnlhbi5XaGl0ZWhlYWRAbWljcm9jaGlwLmNvbT4KRGF0ZTogV2Vk LCAxMyBNYXIgMjAxOSAxNTo1NTo0OCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMzBdIGxhbjc0 M3g6IEZpeCBUWCBTdGFsbCBJc3N1ZQoKWyBVcHN0cmVhbSBjb21taXQgZGViNmJmYWJkYmI2MzRl OTFmMzZhNGU5Y2IwMGE3MTM3ZDcyZDg4NiBdCgpJdCBoYXMgYmVlbiBvYnNlcnZlZCB0aGF0IHR4 IHF1ZXVlIG1heSBzdGFsbCB3aGlsZSBkb3dubG9hZGluZwpmcm9tIGNlcnRhaW4gd2ViIHNpdGVz IChleGFtcGxlIHd3dy5zcGVlZHRlc3QubmV0KQoKVGhlIGNhdXNlIGhhcyBiZWVuIHRyYWNrZWQg ZG93biB0byBhIGNvcm5lciBjYXNlIHdoZXJlCnRoZSB0eCBpbnRlcnJ1cHQgdmVjdG9yIHdhcyBk aXNhYmxlZCBhdXRvbWF0aWNhbGx5LCBidXQKd2FzIG5vdCByZSBlbmFibGVkIGxhdGVyLgoKVGhl IGxhbjc0M3ggaGFzIHR3byBtZWNoYW5pc21zIHRvIGVuYWJsZS9kaXNhYmxlIGluZGl2aWR1YWwK aW50ZXJydXB0cy4gSW50ZXJydXB0cyBjYW4gYmUgZW5hYmxlZC9kaXNhYmxlZCBieSBpbmRpdmlk dWFsCnNvdXJjZSwgYW5kIHRoZXkgY2FuIGFsc28gYmUgZW5hYmxlZC9kaXNhYmxlZCBieSBpbmRp dmlkdWFsCnZlY3RvciB3aGljaCBoYXMgYmVlbiBtYXBwZWQgdG8gdGhlIHNvdXJjZS4gQm90aCBt dXN0IGJlCmVuYWJsZWQgZm9yIGludGVycnVwdHMgdG8gd29yayBwcm9wZXJseS4KClRoZSBUWCBj b2RlIHBhdGgsIHByaW1hcmlseSB1c2VzIHRoZSBpbnRlcnJ1cHQgZW5hYmxlL2Rpc2FibGUgb2YK dGhlIFRYIHNvdXJjZSBiaXQsIHdoaWxlIGxlYXZpbmcgdGhlIHZlY3RvciBlbmFibGVkIGFsbCB0 aGUgdGltZS4KCkhvd2V2ZXIsIHdoaWxlIGludmVzdGlnYXRpbmcgdGhpcyBpc3N1ZSBpdCB3YXMg bm90aWNlZCB0aGF0CnRoZSBkcml2ZXIgcmVxdWVzdGVkIHRoZSB1c2Ugb2YgdGhlIHZlY3RvciBh dXRvIGNsZWFyIGZlYXR1cmUuCgpUaGUgdGVzdCBhYm92ZSByZXZlYWxlZCBhIGNhc2Ugd2hlcmUg dGhlIHZlY3RvciBlbmFibGUgd2FzCmNsZWFyZWQgdW5pbnRlbnRpb25hbGx5LgoKVGhpcyBwYXRj aCBmaXhlcyB0aGUgaXNzdWUgYnkgZGVsZXRpbmcgdGhlIGxpbmVzIHRoYXQgcmVxdWVzdAp0aGUg dmVjdG9yIGF1dG8gY2xlYXIgZmVhdHVyZSB0byBiZSB1c2VkLgoKRml4ZXM6IDIzZjA3MDNjMTI1 YiAoImxhbjc0M3g6IEFkZCBtYWluIHNvdXJjZSBmaWxlcyBmb3IgbmV3IGxhbjc0M3ggZHJpdmVy IikKU2lnbmVkLW9mZi1ieTogQnJ5YW4gV2hpdGVoZWFkIDxCcnlhbi5XaGl0ZWhlYWRAbWljcm9j aGlwLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21pY3JvY2hpcC9sYW43NDN4X21haW4uYyB8 IDkgKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWljcm9jaGlwL2xhbjc0M3hf bWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWljcm9jaGlwL2xhbjc0M3hfbWFpbi5jCmlu ZGV4IDI4NzZiYWI2NDJlMi4uMTNlNmJmMTNhYzRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9taWNyb2NoaXAvbGFuNzQzeF9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWljcm9jaGlwL2xhbjc0M3hfbWFpbi5jCkBAIC01ODUsOCArNTg1LDcgQEAgc3RhdGljIGlu dCBsYW43NDN4X2ludHJfb3BlbihzdHJ1Y3QgbGFuNzQzeF9hZGFwdGVyICphZGFwdGVyKQogCiAJ CWlmIChhZGFwdGVyLT5jc3IuZmxhZ3MgJgogCQkgICBMQU43NDNYX0NTUl9GTEFHX1NVUFBPUlRT X0lOVFJfQVVUT19TRVRfQ0xSKSB7Ci0JCQlmbGFncyA9IExBTjc0M1hfVkVDVE9SX0ZMQUdfVkVD VE9SX0VOQUJMRV9BVVRPX0NMRUFSIHwKLQkJCQlMQU43NDNYX1ZFQ1RPUl9GTEFHX1ZFQ1RPUl9F TkFCTEVfQVVUT19TRVQgfAorCQkJZmxhZ3MgPSBMQU43NDNYX1ZFQ1RPUl9GTEFHX1ZFQ1RPUl9F TkFCTEVfQVVUT19TRVQgfAogCQkJCUxBTjc0M1hfVkVDVE9SX0ZMQUdfU09VUkNFX0VOQUJMRV9B VVRPX1NFVCB8CiAJCQkJTEFONzQzWF9WRUNUT1JfRkxBR19TT1VSQ0VfRU5BQkxFX0FVVE9fQ0xF QVIgfAogCQkJCUxBTjc0M1hfVkVDVE9SX0ZMQUdfU09VUkNFX1NUQVRVU19BVVRPX0NMRUFSOwpA QCAtNTk5LDEyICs1OTgsNiBAQCBzdGF0aWMgaW50IGxhbjc0M3hfaW50cl9vcGVuKHN0cnVjdCBs YW43NDN4X2FkYXB0ZXIgKmFkYXB0ZXIpCiAJCQkvKiBtYXAgVFggaW50ZXJydXB0IHRvIHZlY3Rv ciAqLwogCQkJaW50X3ZlY19tYXAxIHw9IElOVF9WRUNfTUFQMV9UWF9WRUNfKGluZGV4LCB2ZWN0 b3IpOwogCQkJbGFuNzQzeF9jc3Jfd3JpdGUoYWRhcHRlciwgSU5UX1ZFQ19NQVAxLCBpbnRfdmVj X21hcDEpOwotCQkJaWYgKGZsYWdzICYKLQkJCSAgICBMQU43NDNYX1ZFQ1RPUl9GTEFHX1ZFQ1RP Ul9FTkFCTEVfQVVUT19DTEVBUikgewotCQkJCWludF92ZWNfZW5fYXV0b19jbHIgfD0gSU5UX1ZF Q19FTl8odmVjdG9yKTsKLQkJCQlsYW43NDN4X2Nzcl93cml0ZShhZGFwdGVyLCBJTlRfVkVDX0VO X0FVVE9fQ0xSLAotCQkJCQkJICBpbnRfdmVjX2VuX2F1dG9fY2xyKTsKLQkJCX0KIAogCQkJLyog UmVtb3ZlIFRYIGludGVycnVwdCBmcm9tIHNoYXJlZCBtYXNrICovCiAJCQlpbnRyLT52ZWN0b3Jf bGlzdFswXS5pbnRfbWFzayAmPSB+aW50X2JpdDsKLS0gCjIuMjAuMQoKCkZyb20gNmQ3NWFiYjNi NjhlMjY5MGFkMTMxZGJjMzVjYjhiNTZkMTVlYjg4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogSmlhbiBTaGVuIDxzaGVuamlhbjE1QGh1YXdlaS5jb20+CkRhdGU6IFdlZCwgNiBNYXIg MjAxOSAxMToyNjozNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMzBdIG5ldDogaG5zMzogYWRk IGRtYV9ybWIoKSBmb3IgcnggZGVzY3JpcHRpb24KClsgVXBzdHJlYW0gY29tbWl0IGQzOTRkMzNi ZWUyMjQyMWIzOWEwYmNkYzUxY2E2ZDY4YmEzMDg2MjUgXQoKSFcgY2FuIG5vdCBndWFyYW50ZWUg Y29tcGxldGUgd3JpdGUgZGVzYy0+cnguc2l6ZSwgZXZlbiB0aG91Z2gKSE5TM19SWERfVkxEX0Ig aGFzIGJlZW4gc2V0LiBEcml2ZXIgbmVlZHMgdG8gYWRkIGRtYV9ybWIoKQppbnN0cnVjdGlvbiB0 byBtYWtlIHN1cmUgZGVzYy0+cnguc2l6ZSBpcyBhbHdheXMgdmFsaWQuCgpGaXhlczogZTU1OTcw OTUwNTU2ICgibmV0OiBobnMzOiBBZGQgaGFuZGxpbmcgb2YgR1JPIFBrdHMgbm90IGZ1bGx5IFJY J2VkIGluIE5BUEkgcG9sbCIpClNpZ25lZC1vZmYtYnk6IEppYW4gU2hlbiA8c2hlbmppYW4xNUBo dWF3ZWkuY29tPgpTaWduZWQtb2ZmLWJ5OiBIdWF6aG9uZyBUYW4gPHRhbmh1YXpob25nQGh1YXdl aS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaG5zMy9obnMzX2VuZXQuYyB8 IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaG5zMy9obnMzX2VuZXQuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L2hpc2lsaWNvbi9obnMzL2huczNfZW5ldC5jCmluZGV4IDFiZjdhNWYxMTZhMC4u ODgyZDJkMmFjZGZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24v aG5zMy9obnMzX2VuZXQuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaG5z My9obnMzX2VuZXQuYwpAQCAtMjQ3Niw2ICsyNDc2LDggQEAgc3RhdGljIGludCBobnMzX2FkZF9m cmFnKHN0cnVjdCBobnMzX2VuZXRfcmluZyAqcmluZywgc3RydWN0IGhuczNfZGVzYyAqZGVzYywK IAkJZGVzYyA9ICZyaW5nLT5kZXNjW3JpbmctPm5leHRfdG9fY2xlYW5dOwogCQlkZXNjX2NiID0g JnJpbmctPmRlc2NfY2JbcmluZy0+bmV4dF90b19jbGVhbl07CiAJCWJkX2Jhc2VfaW5mbyA9IGxl MzJfdG9fY3B1KGRlc2MtPnJ4LmJkX2Jhc2VfaW5mbyk7CisJCS8qIG1ha2Ugc3VyZSBIVyB3cml0 ZSBkZXNjIGNvbXBsZXRlICovCisJCWRtYV9ybWIoKTsKIAkJaWYgKCFobmFlM19nZXRfYml0KGJk X2Jhc2VfaW5mbywgSE5TM19SWERfVkxEX0IpKQogCQkJcmV0dXJuIC1FTlhJTzsKIAotLSAKMi4y MC4xCgoKRnJvbSBlMGJkYjU4ZjdiMzFiOTUzYjM1MDJkMzFjMTNjYmQ2NGZlZDAwYzQ1IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYW8gV2VuYW4gPG1hb3dlbmFuQGh1YXdlaS5jb20+ CkRhdGU6IFdlZCwgNiBNYXIgMjAxOSAyMjo0NTowMSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkv MzBdIG5ldDogaHNyOiBmaXggbWVtb3J5IGxlYWsgaW4gaHNyX2Rldl9maW5hbGl6ZSgpCgpbIFVw c3RyZWFtIGNvbW1pdCAzZGM2ZGE0OTNhMjlkYmVkYTlmMTNiNjM3YmQ5YzAyYzQxNGIyMjYxIF0K CklmIGhzcl9hZGRfcG9ydChoc3IsIGhzcl9kZXYsIEhTUl9QVF9NQVNURVIpIGZhaWxlZCB0bwph ZGQgcG9ydCwgaXQgZGlyZWN0bHkgcmV0dXJucyByZXMgYW5kIGZvcmdldHMgdG8gZnJlZSB0aGUg bm9kZQp0aGF0IGFsbG9jYXRlZCBpbiBoc3JfY3JlYXRlX3NlbGZfbm9kZSgpLCBhbmQgZm9yZ2V0 cyB0byBkZWxldGUKdGhlIG5vZGUtPm1hY19saXN0IGxpbmtlZCBpbiBoc3ItPnNlbGZfbm9kZV9k Yi4KCkJVRzogbWVtb3J5IGxlYWsKdW5yZWZlcmVuY2VkIG9iamVjdCAweGZmZmY4ODgxY2ZhMGM3 ODAgKHNpemUgNjQpOgogIGNvbW0gInN5ei1leGVjdXRvci4wIiwgcGlkIDIwNzcsIGppZmZpZXMg NDI5NDcxNzk2OSAoYWdlIDI0MTUuMzc3cykKICBoZXggZHVtcCAoZmlyc3QgMzIgYnl0ZXMpOgog ICAgZTAgYzcgYTAgY2YgODEgODggZmYgZmYgMDAgMDIgMDAgMDAgMDAgMDAgYWQgZGUgIC4uLi4u Li4uLi4uLi4uLi4KICAgIDAwIGU2IDQ5IGNkIDgxIDg4IGZmIGZmIGMwIDliIDg3IGQwIDgxIDg4 IGZmIGZmICAuLkkuLi4uLi4uLi4uLi4uCiAgYmFja3RyYWNlOgogICAgWzwwMDAwMDAwMGUyZmY1 MDcwPl0gaHNyX2Rldl9maW5hbGl6ZSsweDczNi8weDk2MCBbaHNyXQogICAgWzwwMDAwMDAwMDNl ZDJlNTk3Pl0gaHNyX25ld2xpbmsrMHgyYjIvMHgzZTAgW2hzcl0KICAgIFs8MDAwMDAwMDAzZmE4 YzZiNj5dIF9fcnRubF9uZXdsaW5rKzB4ZjFmLzB4MTYwMCBuZXQvY29yZS9ydG5ldGxpbmsuYzoz MTgyCiAgICBbPDAwMDAwMDAwMTI0N2E3YWQ+XSBydG5sX25ld2xpbmsrMHg2Ni8weDkwIG5ldC9j b3JlL3J0bmV0bGluay5jOjMyNDAKICAgIFs8MDAwMDAwMDBlN2QxYjYxZD5dIHJ0bmV0bGlua19y Y3ZfbXNnKzB4NTRlLzB4YjkwIG5ldC9jb3JlL3J0bmV0bGluay5jOjUxMzAKICAgIFs8MDAwMDAw MDA1NTU2YmQzYT5dIG5ldGxpbmtfcmN2X3NrYisweDEyOS8weDM0MCBuZXQvbmV0bGluay9hZl9u ZXRsaW5rLmM6MjQ3NwogICAgWzwwMDAwMDAwMDc0MWQ1ZWU2Pl0gbmV0bGlua191bmljYXN0X2tl cm5lbCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMxMCBbaW5saW5lXQogICAgWzwwMDAwMDAw MDc0MWQ1ZWU2Pl0gbmV0bGlua191bmljYXN0KzB4NDlhLzB4NjUwIG5ldC9uZXRsaW5rL2FmX25l dGxpbmsuYzoxMzM2CiAgICBbPDAwMDAwMDAwOWQ1NmY5Yjc+XSBuZXRsaW5rX3NlbmRtc2crMHg4 OGIvMHhkZjAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjE5MTcKICAgIFs8MDAwMDAwMDA0NmIz NWM1OT5dIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0LmM6NjIxIFtpbmxpbmVdCiAgICBb PDAwMDAwMDAwNDZiMzVjNTk+XSBzb2NrX3NlbmRtc2crMHhjMy8weDEwMCBuZXQvc29ja2V0LmM6 NjMxCiAgICBbPDAwMDAwMDAwZDIwOGFkYzk+XSBfX3N5c19zZW5kdG8rMHgzM2UvMHg1NjAgbmV0 L3NvY2tldC5jOjE3ODYKICAgIFs8MDAwMDAwMDBiNTgyODM3YT5dIF9fZG9fc3lzX3NlbmR0byBu ZXQvc29ja2V0LmM6MTc5OCBbaW5saW5lXQogICAgWzwwMDAwMDAwMGI1ODI4MzdhPl0gX19zZV9z eXNfc2VuZHRvIG5ldC9zb2NrZXQuYzoxNzk0IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwYjU4Mjgz N2E+XSBfX3g2NF9zeXNfc2VuZHRvKzB4ZGQvMHgxYjAgbmV0L3NvY2tldC5jOjE3OTQKICAgIFs8 MDAwMDAwMDBjODY2ODAxZD5dIGRvX3N5c2NhbGxfNjQrMHgxNDcvMHg2MDAgYXJjaC94ODYvZW50 cnkvY29tbW9uLmM6MjkwCiAgICBbPDAwMDAwMDAwZmVhMzgyZDk+XSBlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCiAgICBbPDAwMDAwMDAwZTAxZGFjYjM+XSAweGZmZmZm ZmZmZmZmZmZmZmYKCkZpeGVzOiBjNWE3NTkxMTcyMTAgKCJuZXQvaHNyOiBVc2UgbGlzdF9oZWFk IChhbmQgcmN1KSBpbnN0ZWFkIG9mIGFycmF5IGZvciBzbGF2ZSBkZXZpY2VzLiIpClJlcG9ydGVk LWJ5OiBIdWxrIFJvYm90IDxodWxrY2lAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFvIFdl bmFuIDxtYW93ZW5hbkBodWF3ZWkuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2hzci9oc3JfZGV2aWNlLmMgICB8ICA0ICsr Ky0KIG5ldC9oc3IvaHNyX2ZyYW1lcmVnLmMgfCAxMiArKysrKysrKysrKysKIG5ldC9oc3IvaHNy X2ZyYW1lcmVnLmggfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaHNyL2hzcl9kZXZpY2UuYyBiL25ldC9oc3Iv aHNyX2RldmljZS5jCmluZGV4IGI4Y2Q0M2M5ZWQ1Yi4uYzQ2NzZiYWNiOGRiIDEwMDY0NAotLS0g YS9uZXQvaHNyL2hzcl9kZXZpY2UuYworKysgYi9uZXQvaHNyL2hzcl9kZXZpY2UuYwpAQCAtNDg2 LDcgKzQ4Niw3IEBAIGludCBoc3JfZGV2X2ZpbmFsaXplKHN0cnVjdCBuZXRfZGV2aWNlICpoc3Jf ZGV2LCBzdHJ1Y3QgbmV0X2RldmljZSAqc2xhdmVbMl0sCiAKIAlyZXMgPSBoc3JfYWRkX3BvcnQo aHNyLCBoc3JfZGV2LCBIU1JfUFRfTUFTVEVSKTsKIAlpZiAocmVzKQotCQlyZXR1cm4gcmVzOwor CQlnb3RvIGVycl9hZGRfcG9ydDsKIAogCXJlcyA9IHJlZ2lzdGVyX25ldGRldmljZShoc3JfZGV2 KTsKIAlpZiAocmVzKQpAQCAtNTA2LDYgKzUwNiw4IEBAIGludCBoc3JfZGV2X2ZpbmFsaXplKHN0 cnVjdCBuZXRfZGV2aWNlICpoc3JfZGV2LCBzdHJ1Y3QgbmV0X2RldmljZSAqc2xhdmVbMl0sCiBm YWlsOgogCWhzcl9mb3JfZWFjaF9wb3J0KGhzciwgcG9ydCkKIAkJaHNyX2RlbF9wb3J0KHBvcnQp OworZXJyX2FkZF9wb3J0OgorCWhzcl9kZWxfbm9kZSgmaHNyLT5zZWxmX25vZGVfZGIpOwogCiAJ cmV0dXJuIHJlczsKIH0KZGlmZiAtLWdpdCBhL25ldC9oc3IvaHNyX2ZyYW1lcmVnLmMgYi9uZXQv aHNyL2hzcl9mcmFtZXJlZy5jCmluZGV4IDI4NmNlYjQxYWMwYy4uOWFmMTZjYjY4Zjc2IDEwMDY0 NAotLS0gYS9uZXQvaHNyL2hzcl9mcmFtZXJlZy5jCisrKyBiL25ldC9oc3IvaHNyX2ZyYW1lcmVn LmMKQEAgLTEyNCw2ICsxMjQsMTggQEAgaW50IGhzcl9jcmVhdGVfc2VsZl9ub2RlKHN0cnVjdCBs aXN0X2hlYWQgKnNlbGZfbm9kZV9kYiwKIAlyZXR1cm4gMDsKIH0KIAordm9pZCBoc3JfZGVsX25v ZGUoc3RydWN0IGxpc3RfaGVhZCAqc2VsZl9ub2RlX2RiKQoreworCXN0cnVjdCBoc3Jfbm9kZSAq bm9kZTsKKworCXJjdV9yZWFkX2xvY2soKTsKKwlub2RlID0gbGlzdF9maXJzdF9vcl9udWxsX3Jj dShzZWxmX25vZGVfZGIsIHN0cnVjdCBoc3Jfbm9kZSwgbWFjX2xpc3QpOworCXJjdV9yZWFkX3Vu bG9jaygpOworCWlmIChub2RlKSB7CisJCWxpc3RfZGVsX3JjdSgmbm9kZS0+bWFjX2xpc3QpOwor CQlrZnJlZShub2RlKTsKKwl9Cit9CiAKIC8qIEFsbG9jYXRlIGFuIGhzcl9ub2RlIGFuZCBhZGQg aXQgdG8gbm9kZV9kYi4gJ2FkZHInIGlzIHRoZSBub2RlJ3MgQWRkcmVzc0E7CiAgKiBzZXFfb3V0 IGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSBmaWx0ZXJpbmcgb2Ygb3V0Z29pbmcgZHVwbGljYXRlIGZy YW1lcwpkaWZmIC0tZ2l0IGEvbmV0L2hzci9oc3JfZnJhbWVyZWcuaCBiL25ldC9oc3IvaHNyX2Zy YW1lcmVnLmgKaW5kZXggMzcwYjQ1OTk4MTIxLi41MzFmZDNkZmNhYzEgMTAwNjQ0Ci0tLSBhL25l dC9oc3IvaHNyX2ZyYW1lcmVnLmgKKysrIGIvbmV0L2hzci9oc3JfZnJhbWVyZWcuaApAQCAtMTYs NiArMTYsNyBAQAogCiBzdHJ1Y3QgaHNyX25vZGU7CiAKK3ZvaWQgaHNyX2RlbF9ub2RlKHN0cnVj dCBsaXN0X2hlYWQgKnNlbGZfbm9kZV9kYik7CiBzdHJ1Y3QgaHNyX25vZGUgKmhzcl9hZGRfbm9k ZShzdHJ1Y3QgbGlzdF9oZWFkICpub2RlX2RiLCB1bnNpZ25lZCBjaGFyIGFkZHJbXSwKIAkJCSAg ICAgIHUxNiBzZXFfb3V0KTsKIHN0cnVjdCBoc3Jfbm9kZSAqaHNyX2dldF9ub2RlKHN0cnVjdCBo c3JfcG9ydCAqcG9ydCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKLS0gCjIuMjAuMQoKCkZyb20gNDdk NDI1M2JiZWU3NjA4YjY2MjE5NWE1NGJjM2U2YzUzNTA2YjFjNSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBUaHUs IDcgTWFyIDIwMTkgMDk6MzY6MzMgLTA4MDAKU3ViamVjdDogW1BBVENIIDEwLzMwXSBuZXQvaHNy OiBmaXggcG9zc2libGUgY3Jhc2ggaW4gYWRkX3RpbWVyKCkKClsgVXBzdHJlYW0gY29tbWl0IDFl MDI3OTYwZWRmYWE2YTQzZjljYTMxMDgxNzI5YjcxNjU5ODExMmIgXQoKc3l6Ym90IGZvdW5kIGFu b3RoZXIgYWRkX3RpbWVyKCkgaXNzdWUsIHRoaXMgdGltZSBpbiBuZXQvaHNyIFsxXQoKTGV0J3Mg dXNlIG1vZF90aW1lcigpIHdoaWNoIGlzIHNhZmUuCgpbMV0Ka2VybmVsIEJVRyBhdCBrZXJuZWwv dGltZS90aW1lci5jOjExMzYhCmludmFsaWQgb3Bjb2RlOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAg S0FTQU4KQ1BVOiAwIFBJRDogMTU5MDkgQ29tbTogc3l6LWV4ZWN1dG9yLjMgTm90IHRhaW50ZWQg NS4wLjArICM5NwpIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dv b2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQprb2JqZWN0OiAnbG9v cDInICgwMDAwMDAwMGY1NjI5NzE4KToga29iamVjdF91ZXZlbnRfZW52ClJJUDogMDAxMDphZGRf dGltZXIga2VybmVsL3RpbWUvdGltZXIuYzoxMTM2IFtpbmxpbmVdClJJUDogMDAxMDphZGRfdGlt ZXIrMHg2NTQvMHhiZTAga2VybmVsL3RpbWUvdGltZXIuYzoxMTM0CkNvZGU6IDBmIDk0IGM1IDMx IGZmIDQ0IDg5IGVlIGU4IDA5IDYxIDBmIDAwIDQ1IDg0IGVkIDBmIDg0IDc3IGZkIGZmIGZmIGU4 IGJiIDVmIDBmIDAwIGU4IDA3IDEwIGEwIGZmIGU5IDY4IGZkIGZmIGZmIGU4IGFjIDVmIDBmIDAw IDwwZj4gMGIgZTggYTUgNWYgMGYgMDAgMGYgMGIgZTggOWUgNWYgMGYgMDAgNGMgODkgYjUgNTgg ZmYgZmYgZmYgZTkKUlNQOiAwMDE4OmZmZmY4ODgwNjU2ZWVjYTAgRUZMQUdTOiAwMDAxMDI0Ngpr b2JqZWN0OiAnbG9vcDInICgwMDAwMDAwMGY1NjI5NzE4KTogZmlsbF9rb2JqX3BhdGg6IHBhdGgg PSAnL2RldmljZXMvdmlydHVhbC9ibG9jay9sb29wMicKUkFYOiAwMDAwMDAwMDAwMDQwMDAwIFJC WDogMWZmZmYxMTAwY2FkZGQ5YSBSQ1g6IGZmZmZjOTAwMGM0MzYwMDAKUkRYOiAwMDAwMDAwMDAw MDQwMDAwIFJTSTogZmZmZmZmZmY4MTYwNTZjNCBSREk6IGZmZmY4ODgwNmEyZjZjYzgKUkJQOiBm ZmZmODg4MDY1NmVlZDU4IFIwODogZmZmZjg4ODA2N2Y0YTMwMCBSMDk6IGZmZmY4ODgwNjdmNGFi YzgKUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IGZmZmY4 ODgwNmEyZjZjYzAKUjEzOiBkZmZmZmMwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMSBS MTU6IGZmZmY4ODgwNjU2ZWVkMzAKRlM6ICAwMDAwN2ZjMjAxOWJmNzAwKDAwMDApIEdTOmZmZmY4 ODgwYWU4MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAw MDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDAwMDAwMDczODAwMCBD UjM6IDAwMDAwMDAwNjdlOGUwMDAgQ1I0OiAwMDAwMDAwMDAwMTQwNmYwCkRSMDogMDAwMDAwMDAw MDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwCkRSMzog MDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAw NDAwCkNhbGwgVHJhY2U6CiBoc3JfY2hlY2tfYW5ub3VuY2UgbmV0L2hzci9oc3JfZGV2aWNlLmM6 OTkgW2lubGluZV0KIGhzcl9jaGVja19jYXJyaWVyX2FuZF9vcGVyc3RhdGUrMHg1NjcvMHg2ZjAg bmV0L2hzci9oc3JfZGV2aWNlLmM6MTIwCiBoc3JfbmV0ZGV2X25vdGlmeSsweDI5Ny8weGEwMCBu ZXQvaHNyL2hzcl9tYWluLmM6NTEKIG5vdGlmaWVyX2NhbGxfY2hhaW4rMHhjNy8weDI0MCBrZXJu ZWwvbm90aWZpZXIuYzo5MwogX19yYXdfbm90aWZpZXJfY2FsbF9jaGFpbiBrZXJuZWwvbm90aWZp ZXIuYzozOTQgW2lubGluZV0KIHJhd19ub3RpZmllcl9jYWxsX2NoYWluKzB4MmUvMHg0MCBrZXJu ZWwvbm90aWZpZXIuYzo0MDEKIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVyc19pbmZvKzB4M2YvMHg5 MCBuZXQvY29yZS9kZXYuYzoxNzM5CiBjYWxsX25ldGRldmljZV9ub3RpZmllcnNfZXh0YWNrIG5l dC9jb3JlL2Rldi5jOjE3NTEgW2lubGluZV0KIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVycyBuZXQv Y29yZS9kZXYuYzoxNzY1IFtpbmxpbmVdCiBkZXZfb3BlbiBuZXQvY29yZS9kZXYuYzoxNDM2IFtp bmxpbmVdCiBkZXZfb3BlbisweDE0My8weDE2MCBuZXQvY29yZS9kZXYuYzoxNDI0CiB0ZWFtX3Bv cnRfYWRkIGRyaXZlcnMvbmV0L3RlYW0vdGVhbS5jOjEyMDMgW2lubGluZV0KIHRlYW1fYWRkX3Ns YXZlKzB4YTA3LzB4MTVkMCBkcml2ZXJzL25ldC90ZWFtL3RlYW0uYzoxOTMzCiBkb19zZXRfbWFz dGVyIG5ldC9jb3JlL3J0bmV0bGluay5jOjIzNTggW2lubGluZV0KIGRvX3NldF9tYXN0ZXIrMHgx ZDQvMHgyMzAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6MjMzMgogZG9fc2V0bGluaysweDk2Ni8weDM1 MTAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6MjQ5MwogcnRubF9zZXRsaW5rKzB4MjcxLzB4M2IwIG5l dC9jb3JlL3J0bmV0bGluay5jOjI3NDcKIHJ0bmV0bGlua19yY3ZfbXNnKzB4NDY1LzB4YjAwIG5l dC9jb3JlL3J0bmV0bGluay5jOjUxOTIKIG5ldGxpbmtfcmN2X3NrYisweDE3YS8weDQ2MCBuZXQv bmV0bGluay9hZl9uZXRsaW5rLmM6MjQ4NQogcnRuZXRsaW5rX3JjdisweDFkLzB4MzAgbmV0L2Nv cmUvcnRuZXRsaW5rLmM6NTIxMAogbmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9h Zl9uZXRsaW5rLmM6MTMxMCBbaW5saW5lXQogbmV0bGlua191bmljYXN0KzB4NTM2LzB4NzIwIG5l dC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzM2CiBuZXRsaW5rX3NlbmRtc2crMHg4YWUvMHhkNzAg bmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjE5MjUKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29j a2V0LmM6NjIyIFtpbmxpbmVdCiBzb2NrX3NlbmRtc2crMHhkZC8weDEzMCBuZXQvc29ja2V0LmM6 NjMyCiBzb2NrX3dyaXRlX2l0ZXIrMHgyN2MvMHgzZTAgbmV0L3NvY2tldC5jOjkyMwogY2FsbF93 cml0ZV9pdGVyIGluY2x1ZGUvbGludXgvZnMuaDoxODY5IFtpbmxpbmVdCiBkb19pdGVyX3JlYWR2 X3dyaXRldisweDVlMC8weDhlMCBmcy9yZWFkX3dyaXRlLmM6NjgwCiBkb19pdGVyX3dyaXRlIGZz L3JlYWRfd3JpdGUuYzo5NTYgW2lubGluZV0KIGRvX2l0ZXJfd3JpdGUrMHgxODQvMHg2MTAgZnMv cmVhZF93cml0ZS5jOjkzNwogdmZzX3dyaXRldisweDFiMy8weDJmMCBmcy9yZWFkX3dyaXRlLmM6 MTAwMQogZG9fd3JpdGV2KzB4ZjYvMHgyOTAgZnMvcmVhZF93cml0ZS5jOjEwMzYKIF9fZG9fc3lz X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6MTEwOSBbaW5saW5lXQogX19zZV9zeXNfd3JpdGV2IGZz L3JlYWRfd3JpdGUuYzoxMTA2IFtpbmxpbmVdCiBfX3g2NF9zeXNfd3JpdGV2KzB4NzUvMHhiMCBm cy9yZWFkX3dyaXRlLmM6MTEwNgogZG9fc3lzY2FsbF82NCsweDEwMy8weDYxMCBhcmNoL3g4Ni9l bnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4 YmUKUklQOiAwMDMzOjB4NDU3ZjI5CkNvZGU6IGFkIGI4IGZiIGZmIGMzIDY2IDJlIDBmIDFmIDg0 IDAwIDAwIDAwIDAwIDAwIDY2IDkwIDQ4IDg5IGY4IDQ4IDg5IGY3IDQ4IDg5IGQ2IDQ4IDg5IGNh IDRkIDg5IGMyIDRkIDg5IGM4IDRjIDhiIDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYg ZmYgMGYgODMgN2IgYjggZmIgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAKUlNQOiAw MDJiOjAwMDA3ZmMyMDE5YmVjNzggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAw MDAwMDAxNApSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAwMDAzIFJDWDog MDAwMDAwMDAwMDQ1N2YyOQpSRFg6IDAwMDAwMDAwMDAwMDAwMDEgUlNJOiAwMDAwMDAwMDIwMDAw MGMwIFJESTogMDAwMDAwMDAwMDAwMDAwMwpSQlA6IDAwMDAwMDAwMDA3M2JmMDAgUjA4OiAwMDAw MDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAwMDAwMDAg UjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDdmYzIwMTliZjZkNApSMTM6IDAwMDAwMDAw MDA0YzRhNjAgUjE0OiAwMDAwMDAwMDAwNGRkMjE4IFIxNTogMDAwMDAwMDBmZmZmZmZmZgoKRml4 ZXM6IGY0MjE0MzZhNTkxZCAoIm5ldC9oc3I6IEFkZCBzdXBwb3J0IGZvciB0aGUgSGlnaC1hdmFp bGFiaWxpdHkgU2VhbWxlc3MgUmVkdW5kYW5jeSBwcm90b2NvbCAoSFNSdjApIikKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6 Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KQ2M6IEFydmlkIEJyb2RpbiA8YXJ2aWQu YnJvZGluQGFsdGVuLnNlPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRh dmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2hzci9oc3JfZGV2aWNlLmMgfCAxNCArKysrKystLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9uZXQvaHNyL2hzcl9kZXZpY2UuYyBiL25ldC9oc3IvaHNyX2RldmljZS5jCmluZGV4 IGM0Njc2YmFjYjhkYi4uYTk3YmYzMjZiMjMxIDEwMDY0NAotLS0gYS9uZXQvaHNyL2hzcl9kZXZp Y2UuYworKysgYi9uZXQvaHNyL2hzcl9kZXZpY2UuYwpAQCAtOTQsOSArOTQsOCBAQCBzdGF0aWMg dm9pZCBoc3JfY2hlY2tfYW5ub3VuY2Uoc3RydWN0IG5ldF9kZXZpY2UgKmhzcl9kZXYsCiAJCQkm JiAob2xkX29wZXJzdGF0ZSAhPSBJRl9PUEVSX1VQKSkgewogCQkvKiBXZW50IHVwICovCiAJCWhz ci0+YW5ub3VuY2VfY291bnQgPSAwOwotCQloc3ItPmFubm91bmNlX3RpbWVyLmV4cGlyZXMgPSBq aWZmaWVzICsKLQkJCQltc2Vjc190b19qaWZmaWVzKEhTUl9BTk5PVU5DRV9JTlRFUlZBTCk7Ci0J CWFkZF90aW1lcigmaHNyLT5hbm5vdW5jZV90aW1lcik7CisJCW1vZF90aW1lcigmaHNyLT5hbm5v dW5jZV90aW1lciwKKwkJCSAgamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMoSFNSX0FOTk9VTkNF X0lOVEVSVkFMKSk7CiAJfQogCiAJaWYgKChoc3JfZGV2LT5vcGVyc3RhdGUgIT0gSUZfT1BFUl9V UCkgJiYgKG9sZF9vcGVyc3RhdGUgPT0gSUZfT1BFUl9VUCkpCkBAIC0zMzIsNiArMzMxLDcgQEAg c3RhdGljIHZvaWQgaHNyX2Fubm91bmNlKHN0cnVjdCB0aW1lcl9saXN0ICp0KQogewogCXN0cnVj dCBoc3JfcHJpdiAqaHNyOwogCXN0cnVjdCBoc3JfcG9ydCAqbWFzdGVyOworCXVuc2lnbmVkIGxv bmcgaW50ZXJ2YWw7CiAKIAloc3IgPSBmcm9tX3RpbWVyKGhzciwgdCwgYW5ub3VuY2VfdGltZXIp OwogCkBAIC0zNDMsMTggKzM0MywxNiBAQCBzdGF0aWMgdm9pZCBoc3JfYW5ub3VuY2Uoc3RydWN0 IHRpbWVyX2xpc3QgKnQpCiAJCQkJaHNyLT5wcm90VmVyc2lvbik7CiAJCWhzci0+YW5ub3VuY2Vf Y291bnQrKzsKIAotCQloc3ItPmFubm91bmNlX3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsKLQkJ CQltc2Vjc190b19qaWZmaWVzKEhTUl9BTk5PVU5DRV9JTlRFUlZBTCk7CisJCWludGVydmFsID0g bXNlY3NfdG9famlmZmllcyhIU1JfQU5OT1VOQ0VfSU5URVJWQUwpOwogCX0gZWxzZSB7CiAJCXNl bmRfaHNyX3N1cGVydmlzaW9uX2ZyYW1lKG1hc3RlciwgSFNSX1RMVl9MSUZFX0NIRUNLLAogCQkJ CWhzci0+cHJvdFZlcnNpb24pOwogCi0JCWhzci0+YW5ub3VuY2VfdGltZXIuZXhwaXJlcyA9IGpp ZmZpZXMgKwotCQkJCW1zZWNzX3RvX2ppZmZpZXMoSFNSX0xJRkVfQ0hFQ0tfSU5URVJWQUwpOwor CQlpbnRlcnZhbCA9IG1zZWNzX3RvX2ppZmZpZXMoSFNSX0xJRkVfQ0hFQ0tfSU5URVJWQUwpOwog CX0KIAogCWlmIChpc19hZG1pbl91cChtYXN0ZXItPmRldikpCi0JCWFkZF90aW1lcigmaHNyLT5h bm5vdW5jZV90aW1lcik7CisJCW1vZF90aW1lcigmaHNyLT5hbm5vdW5jZV90aW1lciwgamlmZmll cyArIGludGVydmFsKTsKIAogCXJjdV9yZWFkX3VubG9jaygpOwogfQotLSAKMi4yMC4xCgoKRnJv bSA1YmMxZjczYWI5Y2E4NzcyNjYzYTZhYWViYjcyZGU2MjRmNzc2NjczIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBNaWFvaGUgTGluIDxsaW5taWFvaGVAaHVhd2VpLmNvbT4KRGF0ZTog TW9uLCAxMSBNYXIgMjAxOSAxNjoyOTozMiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMzBdIG5l dDogc2l0OiBmaXggVUJTQU4gVW5kZWZpbmVkIGJlaGF2aW91ciBpbiBjaGVja182cmQKClsgVXBz dHJlYW0gY29tbWl0IGE4NDNkYzRlYmFlY2QxNWZjYTFmNGQzNWE5NzIxMGY3MmVhMTQ3M2IgXQoK SW4gZnVuYyBjaGVja182cmQsdHVubmVsLT5pcDZyZC5yZWxheV9wcmVmaXhsZW4gbWF5IGVxdWFs IHRvCjMyLHNvIFVCU0FOIGNvbXBsYWluIGFib3V0IGl0LgoKVUJTQU46IFVuZGVmaW5lZCBiZWhh dmlvdXIgaW4gbmV0L2lwdjYvc2l0LmM6NzgxOjQ3CnNoaWZ0IGV4cG9uZW50IDMyIGlzIHRvbyBs YXJnZSBmb3IgMzItYml0IHR5cGUgJ3Vuc2lnbmVkIGludCcKQ1BVOiA2IFBJRDogMjAwMzYgQ29t bTogc3l6LWV4ZWN1dG9yLjAgTm90IHRhaW50ZWQgNC4xOS4yNyAjMgpIYXJkd2FyZSBuYW1lOiBR RU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUyAxLjEwLjItMXVidW50 dTEKMDQvMDEvMjAxNApDYWxsIFRyYWNlOgpfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3 NyBbaW5saW5lXQpkdW1wX3N0YWNrKzB4Y2EvMHgxM2UgbGliL2R1bXBfc3RhY2suYzoxMTMKdWJz YW5fZXBpbG9ndWUrMHhlLzB4ODEgbGliL3Vic2FuLmM6MTU5Cl9fdWJzYW5faGFuZGxlX3NoaWZ0 X291dF9vZl9ib3VuZHMrMHgyOTMvMHgyZTggbGliL3Vic2FuLmM6NDI1CmNoZWNrXzZyZC5jb25z dHByb3AuOSsweDQzMy8weDRlMCBuZXQvaXB2Ni9zaXQuYzo3ODEKdHJ5XzZyZCBuZXQvaXB2Ni9z aXQuYzo4MDYgW2lubGluZV0KaXBpcDZfdHVubmVsX3htaXQgbmV0L2lwdjYvc2l0LmM6ODY2IFtp bmxpbmVdCnNpdF90dW5uZWxfeG1pdCsweDE0MWMvMHgyNzIwIG5ldC9pcHY2L3NpdC5jOjEwMzMK X19uZXRkZXZfc3RhcnRfeG1pdCBpbmNsdWRlL2xpbnV4L25ldGRldmljZS5oOjQzMDAgW2lubGlu ZV0KbmV0ZGV2X3N0YXJ0X3htaXQgaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaDo0MzA5IFtpbmxp bmVdCnhtaXRfb25lIG5ldC9jb3JlL2Rldi5jOjMyNDMgW2lubGluZV0KZGV2X2hhcmRfc3RhcnRf eG1pdCsweDE3Yy8weDc4MCBuZXQvY29yZS9kZXYuYzozMjU5Cl9fZGV2X3F1ZXVlX3htaXQrMHgx NjU2LzB4MjUwMCBuZXQvY29yZS9kZXYuYzozODI5Cm5laWdoX291dHB1dCBpbmNsdWRlL25ldC9u ZWlnaGJvdXIuaDo1MDEgW2lubGluZV0KaXA2X2ZpbmlzaF9vdXRwdXQyKzB4YTM2LzB4MjI5MCBu ZXQvaXB2Ni9pcDZfb3V0cHV0LmM6MTIwCmlwNl9maW5pc2hfb3V0cHV0KzB4M2U3LzB4YTIwIG5l dC9pcHY2L2lwNl9vdXRwdXQuYzoxNTQKTkZfSE9PS19DT05EIGluY2x1ZGUvbGludXgvbmV0Zmls dGVyLmg6Mjc4IFtpbmxpbmVdCmlwNl9vdXRwdXQrMHgxZTIvMHg3MjAgbmV0L2lwdjYvaXA2X291 dHB1dC5jOjE3MQpkc3Rfb3V0cHV0IGluY2x1ZGUvbmV0L2RzdC5oOjQ0NCBbaW5saW5lXQppcDZf bG9jYWxfb3V0KzB4OTkvMHgxNzAgbmV0L2lwdjYvb3V0cHV0X2NvcmUuYzoxNzYKaXA2X3NlbmRf c2tiKzB4OWQvMHgyZjAgbmV0L2lwdjYvaXA2X291dHB1dC5jOjE2OTcKaXA2X3B1c2hfcGVuZGlu Z19mcmFtZXMrMHhjMC8weDEwMCBuZXQvaXB2Ni9pcDZfb3V0cHV0LmM6MTcxNwpyYXd2Nl9wdXNo X3BlbmRpbmdfZnJhbWVzIG5ldC9pcHY2L3Jhdy5jOjYxNiBbaW5saW5lXQpyYXd2Nl9zZW5kbXNn KzB4MjQzNS8weDM1MzAgbmV0L2lwdjYvcmF3LmM6OTQ2CmluZXRfc2VuZG1zZysweGY4LzB4NWMw IG5ldC9pcHY0L2FmX2luZXQuYzo3OTgKc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2 MjEgW2lubGluZV0Kc29ja19zZW5kbXNnKzB4YzgvMHgxMTAgbmV0L3NvY2tldC5jOjYzMQpfX19z eXNfc2VuZG1zZysweDZjZi8weDg5MCBuZXQvc29ja2V0LmM6MjExNApfX3N5c19zZW5kbXNnKzB4 ZjAvMHgxYjAgbmV0L3NvY2tldC5jOjIxNTIKZG9fc3lzY2FsbF82NCsweGM4LzB4NTgwIGFyY2gv eDg2L2VudHJ5L2NvbW1vbi5jOjI5MAplbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0 OS8weGJlCgpTaWduZWQtb2ZmLWJ5OiBsaW5taWFvaGUgPGxpbm1pYW9oZUBodWF3ZWkuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L2lwdjYvc2l0LmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3NpdC5jIGIvbmV0L2lwdjYv c2l0LmMKaW5kZXggMDllNDQwZThkZmFlLi4wN2UyMWE4MmNlNGMgMTAwNjQ0Ci0tLSBhL25ldC9p cHY2L3NpdC5jCisrKyBiL25ldC9pcHY2L3NpdC5jCkBAIC03NzgsOCArNzc4LDkgQEAgc3RhdGlj IGJvb2wgY2hlY2tfNnJkKHN0cnVjdCBpcF90dW5uZWwgKnR1bm5lbCwgY29uc3Qgc3RydWN0IGlu Nl9hZGRyICp2NmRzdCwKIAkJcGJ3MCA9IHR1bm5lbC0+aXA2cmQucHJlZml4bGVuID4+IDU7CiAJ CXBiaTAgPSB0dW5uZWwtPmlwNnJkLnByZWZpeGxlbiAmIDB4MWY7CiAKLQkJZCA9IChudG9obCh2 NmRzdC0+czZfYWRkcjMyW3BidzBdKSA8PCBwYmkwKSA+PgotCQkgICAgdHVubmVsLT5pcDZyZC5y ZWxheV9wcmVmaXhsZW47CisJCWQgPSB0dW5uZWwtPmlwNnJkLnJlbGF5X3ByZWZpeGxlbiA8IDMy ID8KKwkJCShudG9obCh2NmRzdC0+czZfYWRkcjMyW3BidzBdKSA8PCBwYmkwKSA+PgorCQkgICAg dHVubmVsLT5pcDZyZC5yZWxheV9wcmVmaXhsZW4gOiAwOwogCiAJCXBiaTEgPSBwYmkwIC0gdHVu bmVsLT5pcDZyZC5yZWxheV9wcmVmaXhsZW47CiAJCWlmIChwYmkxID4gMCkKLS0gCjIuMjAuMQoK CkZyb20gMDY5MDI4YmVmNTEwZTQ4YzI4MjU3YWY5ZjJhZmJmMWE4NmUyNDE3NyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpE YXRlOiBTdW4sIDEwIE1hciAyMDE5IDA5OjA3OjE0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMi8z MF0gbmV0L3gyNTogZml4IHVzZS1hZnRlci1mcmVlIGluIHgyNV9kZXZpY2VfZXZlbnQoKQoKWyBV cHN0cmVhbSBjb21taXQgOTVkNmViZDUzYzc5NTIyYmY5NTAyZGJjN2U4OWUwZDYzZjk0ZGFlNCBd CgpJbiBjYXNlIG9mIGZhaWx1cmUgeDI1X2Nvbm5lY3QoKSBkb2VzIGEgeDI1X25laWdoX3B1dCh4 MjUtPm5laWdoYm91cikKYnV0IGZvcmdldHMgdG8gY2xlYXIgeDI1LT5uZWlnaGJvdXIgcG9pbnRl ciwgdGh1cyB0cmlnZ2VyaW5nIHVzZS1hZnRlci1mcmVlLgoKU2luY2UgdGhlIHNvY2tldCBpcyB2 aXNpYmxlIGluIHgyNV9saXN0LCB3ZSBuZWVkIHRvIGhvbGQgeDI1X2xpc3RfbG9jawp0byBwcm90 ZWN0IHRoZSBvcGVyYXRpb24uCgpzeXpib3QgcmVwb3J0IDoKCkJVRzogS0FTQU46IHVzZS1hZnRl ci1mcmVlIGluIHgyNV9raWxsX2J5X2RldmljZSBuZXQveDI1L2FmX3gyNS5jOjIxNyBbaW5saW5l XQpCVUc6IEtBU0FOOiB1c2UtYWZ0ZXItZnJlZSBpbiB4MjVfZGV2aWNlX2V2ZW50KzB4Mjk2LzB4 MmIwIG5ldC94MjUvYWZfeDI1LmM6MjUyClJlYWQgb2Ygc2l6ZSA4IGF0IGFkZHIgZmZmZjg4ODBh MDMwZWRkMCBieSB0YXNrIHN5ei1leGVjdXRvcjAwMy83ODU0CgpDUFU6IDAgUElEOiA3ODU0IENv bW06IHN5ei1leGVjdXRvcjAwMyBOb3QgdGFpbnRlZCA1LjAuMCsgIzk3CkhhcmR3YXJlIG5hbWU6 IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9T IEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3Rh Y2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDE3Mi8weDFmMCBsaWIvZHVtcF9zdGFjay5j OjExMwogcHJpbnRfYWRkcmVzc19kZXNjcmlwdGlvbi5jb2xkKzB4N2MvMHgyMGQgbW0va2FzYW4v cmVwb3J0LmM6MTg3CiBrYXNhbl9yZXBvcnQuY29sZCsweDFiLzB4NDAgbW0va2FzYW4vcmVwb3J0 LmM6MzE3CiBfX2FzYW5fcmVwb3J0X2xvYWQ4X25vYWJvcnQrMHgxNC8weDIwIG1tL2thc2FuL2dl bmVyaWNfcmVwb3J0LmM6MTM1CiB4MjVfa2lsbF9ieV9kZXZpY2UgbmV0L3gyNS9hZl94MjUuYzoy MTcgW2lubGluZV0KIHgyNV9kZXZpY2VfZXZlbnQrMHgyOTYvMHgyYjAgbmV0L3gyNS9hZl94MjUu YzoyNTIKIG5vdGlmaWVyX2NhbGxfY2hhaW4rMHhjNy8weDI0MCBrZXJuZWwvbm90aWZpZXIuYzo5 MwogX19yYXdfbm90aWZpZXJfY2FsbF9jaGFpbiBrZXJuZWwvbm90aWZpZXIuYzozOTQgW2lubGlu ZV0KIHJhd19ub3RpZmllcl9jYWxsX2NoYWluKzB4MmUvMHg0MCBrZXJuZWwvbm90aWZpZXIuYzo0 MDEKIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVyc19pbmZvKzB4M2YvMHg5MCBuZXQvY29yZS9kZXYu YzoxNzM5CiBjYWxsX25ldGRldmljZV9ub3RpZmllcnNfZXh0YWNrIG5ldC9jb3JlL2Rldi5jOjE3 NTEgW2lubGluZV0KIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVycyBuZXQvY29yZS9kZXYuYzoxNzY1 IFtpbmxpbmVdCiBfX2Rldl9ub3RpZnlfZmxhZ3MrMHgxZTkvMHgyYzAgbmV0L2NvcmUvZGV2LmM6 NzYwNwogZGV2X2NoYW5nZV9mbGFncysweDEwZC8weDE3MCBuZXQvY29yZS9kZXYuYzo3NjQzCiBk ZXZfaWZzaW9jKzB4MmIwLzB4OTQwIG5ldC9jb3JlL2Rldl9pb2N0bC5jOjIzNwogZGV2X2lvY3Rs KzB4MWI4LzB4YzcwIG5ldC9jb3JlL2Rldl9pb2N0bC5jOjQ4OAogc29ja19kb19pb2N0bCsweDFi ZC8weDMwMCBuZXQvc29ja2V0LmM6OTk1CiBzb2NrX2lvY3RsKzB4MzJiLzB4NjEwIG5ldC9zb2Nr ZXQuYzoxMDk2CiB2ZnNfaW9jdGwgZnMvaW9jdGwuYzo0NiBbaW5saW5lXQogZmlsZV9pb2N0bCBm cy9pb2N0bC5jOjUwOSBbaW5saW5lXQogZG9fdmZzX2lvY3RsKzB4ZDZlLzB4MTM5MCBmcy9pb2N0 bC5jOjY5Ngoga3N5c19pb2N0bCsweGFiLzB4ZDAgZnMvaW9jdGwuYzo3MTMKIF9fZG9fc3lzX2lv Y3RsIGZzL2lvY3RsLmM6NzIwIFtpbmxpbmVdCiBfX3NlX3N5c19pb2N0bCBmcy9pb2N0bC5jOjcx OCBbaW5saW5lXQogX194NjRfc3lzX2lvY3RsKzB4NzMvMHhiMCBmcy9pb2N0bC5jOjcxOAogZG9f c3lzY2FsbF82NCsweDEwMy8weDYxMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5 X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKUklQOiAwMDMzOjB4NDQ2N2M5CkNv ZGU6IGU4IDBjIGU4IGZmIGZmIDQ4IDgzIGM0IDE4IGMzIDBmIDFmIDgwIDAwIDAwIDAwIDAwIDQ4 IDg5IGY4IDQ4IDg5IGY3IDQ4IDg5IGQ2IDQ4IDg5IGNhIDRkIDg5IGMyIDRkIDg5IGM4IDRjIDhi IDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYgZmYgMGYgODMgNWIgMDcgZmMgZmYgYzMg NjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAKUlNQOiAwMDJiOjAwMDA3ZmRiZWEyMjJkOTggRUZM QUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAxMApSQVg6IGZmZmZmZmZmZmZm ZmZmZGEgUkJYOiAwMDAwMDAwMDAwNmRiYzU4IFJDWDogMDAwMDAwMDAwMDQ0NjdjOQpSRFg6IDAw MDAwMDAwMjAwMDAzNDAgUlNJOiAwMDAwMDAwMDAwMDA4OTE0IFJESTogMDAwMDAwMDAwMDAwMDAw MwpSQlA6IDAwMDAwMDAwMDA2ZGJjNTAgUjA4OiAwMDAwN2ZkYmVhMjIzNzAwIFIwOTogMDAwMDAw MDAwMDAwMDAwMApSMTA6IDAwMDA3ZmRiZWEyMjM3MDAgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIx MjogMDAwMDAwMDAwMDZkYmM1YwpSMTM6IDYwMDAwMzAwMzA2MjY2NjkgUjE0OiAwMDAwMDAwMDAw MDAwMDAwIFIxNTogMDAwMDAwMDAzMDYyNjY2OQoKQWxsb2NhdGVkIGJ5IHRhc2sgNzg0MzoKIHNh dmVfc3RhY2srMHg0NS8weGQwIG1tL2thc2FuL2NvbW1vbi5jOjczCiBzZXRfdHJhY2sgbW0va2Fz YW4vY29tbW9uLmM6ODUgW2lubGluZV0KIF9fa2FzYW5fa21hbGxvYyBtbS9rYXNhbi9jb21tb24u Yzo0OTUgW2lubGluZV0KIF9fa2FzYW5fa21hbGxvYy5jb25zdHByb3AuMCsweGNmLzB4ZTAgbW0v a2FzYW4vY29tbW9uLmM6NDY4CiBrYXNhbl9rbWFsbG9jKzB4OS8weDEwIG1tL2thc2FuL2NvbW1v bi5jOjUwOQoga21lbV9jYWNoZV9hbGxvY190cmFjZSsweDE1MS8weDc2MCBtbS9zbGFiLmM6MzYx NQoga21hbGxvYyBpbmNsdWRlL2xpbnV4L3NsYWIuaDo1NDUgW2lubGluZV0KIHgyNV9saW5rX2Rl dmljZV91cCsweDQ2LzB4M2YwIG5ldC94MjUveDI1X2xpbmsuYzoyNDkKIHgyNV9kZXZpY2VfZXZl bnQrMHgxMTYvMHgyYjAgbmV0L3gyNS9hZl94MjUuYzoyNDIKIG5vdGlmaWVyX2NhbGxfY2hhaW4r MHhjNy8weDI0MCBrZXJuZWwvbm90aWZpZXIuYzo5MwogX19yYXdfbm90aWZpZXJfY2FsbF9jaGFp biBrZXJuZWwvbm90aWZpZXIuYzozOTQgW2lubGluZV0KIHJhd19ub3RpZmllcl9jYWxsX2NoYWlu KzB4MmUvMHg0MCBrZXJuZWwvbm90aWZpZXIuYzo0MDEKIGNhbGxfbmV0ZGV2aWNlX25vdGlmaWVy c19pbmZvKzB4M2YvMHg5MCBuZXQvY29yZS9kZXYuYzoxNzM5CiBjYWxsX25ldGRldmljZV9ub3Rp ZmllcnNfZXh0YWNrIG5ldC9jb3JlL2Rldi5jOjE3NTEgW2lubGluZV0KIGNhbGxfbmV0ZGV2aWNl X25vdGlmaWVycyBuZXQvY29yZS9kZXYuYzoxNzY1IFtpbmxpbmVdCiBfX2Rldl9ub3RpZnlfZmxh Z3MrMHgxMjEvMHgyYzAgbmV0L2NvcmUvZGV2LmM6NzYwNQogZGV2X2NoYW5nZV9mbGFncysweDEw ZC8weDE3MCBuZXQvY29yZS9kZXYuYzo3NjQzCiBkZXZfaWZzaW9jKzB4MmIwLzB4OTQwIG5ldC9j b3JlL2Rldl9pb2N0bC5jOjIzNwogZGV2X2lvY3RsKzB4MWI4LzB4YzcwIG5ldC9jb3JlL2Rldl9p b2N0bC5jOjQ4OAogc29ja19kb19pb2N0bCsweDFiZC8weDMwMCBuZXQvc29ja2V0LmM6OTk1CiBz b2NrX2lvY3RsKzB4MzJiLzB4NjEwIG5ldC9zb2NrZXQuYzoxMDk2CiB2ZnNfaW9jdGwgZnMvaW9j dGwuYzo0NiBbaW5saW5lXQogZmlsZV9pb2N0bCBmcy9pb2N0bC5jOjUwOSBbaW5saW5lXQogZG9f dmZzX2lvY3RsKzB4ZDZlLzB4MTM5MCBmcy9pb2N0bC5jOjY5Ngoga3N5c19pb2N0bCsweGFiLzB4 ZDAgZnMvaW9jdGwuYzo3MTMKIF9fZG9fc3lzX2lvY3RsIGZzL2lvY3RsLmM6NzIwIFtpbmxpbmVd CiBfX3NlX3N5c19pb2N0bCBmcy9pb2N0bC5jOjcxOCBbaW5saW5lXQogX194NjRfc3lzX2lvY3Rs KzB4NzMvMHhiMCBmcy9pb2N0bC5jOjcxOAogZG9fc3lzY2FsbF82NCsweDEwMy8weDYxMCBhcmNo L3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsw eDQ5LzB4YmUKCkZyZWVkIGJ5IHRhc2sgNzg2NToKIHNhdmVfc3RhY2srMHg0NS8weGQwIG1tL2th c2FuL2NvbW1vbi5jOjczCiBzZXRfdHJhY2sgbW0va2FzYW4vY29tbW9uLmM6ODUgW2lubGluZV0K IF9fa2FzYW5fc2xhYl9mcmVlKzB4MTAyLzB4MTUwIG1tL2thc2FuL2NvbW1vbi5jOjQ1Nwoga2Fz YW5fc2xhYl9mcmVlKzB4ZS8weDEwIG1tL2thc2FuL2NvbW1vbi5jOjQ2NQogX19jYWNoZV9mcmVl IG1tL3NsYWIuYzozNDk0IFtpbmxpbmVdCiBrZnJlZSsweGNmLzB4MjMwIG1tL3NsYWIuYzozODEx CiB4MjVfbmVpZ2hfcHV0IGluY2x1ZGUvbmV0L3gyNS5oOjI1MyBbaW5saW5lXQogeDI1X2Nvbm5l Y3QrMHg4ZDgvMHhkZTAgbmV0L3gyNS9hZl94MjUuYzo4MjQKIF9fc3lzX2Nvbm5lY3QrMHgyNjYv MHgzMzAgbmV0L3NvY2tldC5jOjE2ODUKIF9fZG9fc3lzX2Nvbm5lY3QgbmV0L3NvY2tldC5jOjE2 OTYgW2lubGluZV0KIF9fc2Vfc3lzX2Nvbm5lY3QgbmV0L3NvY2tldC5jOjE2OTMgW2lubGluZV0K IF9feDY0X3N5c19jb25uZWN0KzB4NzMvMHhiMCBuZXQvc29ja2V0LmM6MTY5MwogZG9fc3lzY2Fs bF82NCsweDEwMy8weDYxMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NB TExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKClRoZSBidWdneSBhZGRyZXNzIGJlbG9uZ3Mg dG8gdGhlIG9iamVjdCBhdCBmZmZmODg4MGEwMzBlZGMwCiB3aGljaCBiZWxvbmdzIHRvIHRoZSBj YWNoZSBrbWFsbG9jLTI1NiBvZiBzaXplIDI1NgpUaGUgYnVnZ3kgYWRkcmVzcyBpcyBsb2NhdGVk IDE2IGJ5dGVzIGluc2lkZSBvZgogMjU2LWJ5dGUgcmVnaW9uIFtmZmZmODg4MGEwMzBlZGMwLCBm ZmZmODg4MGEwMzBlZWMwKQpUaGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBwYWdlOgpw YWdlOmZmZmZlYTAwMDI4MGMzODAgY291bnQ6MSBtYXBjb3VudDowIG1hcHBpbmc6ZmZmZjg4ODEy YzNmMDdjMCBpbmRleDoweDAKZmxhZ3M6IDB4MWZmZmMwMDAwMDAwMjAwKHNsYWIpCnJhdzogMDFm ZmZjMDAwMDAwMDIwMCBmZmZmZWEwMDAyODA2Nzg4IGZmZmZlYTAwMDI3ZjAxODggZmZmZjg4ODEy YzNmMDdjMApyYXc6IDAwMDAwMDAwMDAwMDAwMDAgZmZmZjg4ODBhMDMwZTAwMCAwMDAwMDAwMTAw MDAwMDBjIDAwMDAwMDAwMDAwMDAwMDAKcGFnZSBkdW1wZWQgYmVjYXVzZToga2FzYW46IGJhZCBh Y2Nlc3MgZGV0ZWN0ZWQKClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCswNGJhYmNlZmNkMzk2ZmFiZWMzN0BzeXprYWxs ZXIuYXBwc3BvdG1haWwuY29tCkNjOiBhbmRyZXcgaGVuZHJ5IDxhbmRyZXcuaGVuZHJ5QGdtYWls LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC94MjUvYWZfeDI1LmMgfCA2ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMg Yi9uZXQveDI1L2FmX3gyNS5jCmluZGV4IGVmZjMxMzQ4ZTIwYi4uMjcxNzFhYzZmZTNiIDEwMDY0 NAotLS0gYS9uZXQveDI1L2FmX3gyNS5jCisrKyBiL25ldC94MjUvYWZfeDI1LmMKQEAgLTgyMCw4 ICs4MjAsMTIgQEAgc3RhdGljIGludCB4MjVfY29ubmVjdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBz dHJ1Y3Qgc29ja2FkZHIgKnVhZGRyLAogCXNvY2stPnN0YXRlID0gU1NfQ09OTkVDVEVEOwogCXJj ID0gMDsKIG91dF9wdXRfbmVpZ2g6Ci0JaWYgKHJjKQorCWlmIChyYykgeworCQlyZWFkX2xvY2tf YmgoJngyNV9saXN0X2xvY2spOwogCQl4MjVfbmVpZ2hfcHV0KHgyNS0+bmVpZ2hib3VyKTsKKwkJ eDI1LT5uZWlnaGJvdXIgPSBOVUxMOworCQlyZWFkX3VubG9ja19iaCgmeDI1X2xpc3RfbG9jayk7 CisJfQogb3V0X3B1dF9yb3V0ZToKIAl4MjVfcm91dGVfcHV0KHJ0KTsKIG91dDoKLS0gCjIuMjAu MQoKCkZyb20gYzI4OGQ4N2M1YzllY2Q5NzlmM2MxZDNlY2I4MmNkZDdjZDE2NzRjMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpEYXRlOiBNb24sIDExIE1hciAyMDE5IDEzOjQ4OjQ0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAx My8zMF0gbmV0L3gyNTogcmVzZXQgc3RhdGUgaW4geDI1X2Nvbm5lY3QoKQoKWyBVcHN0cmVhbSBj b21taXQgZWU3NGQwYmQ0MzI1ZWZiNDFlMzhhZmZlNTk1NWY5MjBlZDk3M2YyMyBdCgpJbiBjYXNl IHgyNV9jb25uZWN0KCkgZmFpbHMgYW5kIGZyZWVzIHRoZSBzb2NrZXQgbmVpZ2hib3VyLAp3ZSBh bHNvIG5lZWQgdG8gdW5kbyB0aGUgY2hhbmdlIGRvbmUgdG8geDI1LT5zdGF0ZS4KCkJlZm9yZSBt eSBsYXN0IGJ1ZyBmaXgsIHdlIGhhZCB1c2UtYWZ0ZXItZnJlZSBzbyB0aGlzCnBhdGNoIGZpeGVz IGEgbGF0ZW50IGJ1Zy4KCnN5emJvdCByZXBvcnQgOgoKa2FzYW46IENPTkZJR19LQVNBTl9JTkxJ TkUgZW5hYmxlZAprYXNhbjogR1BGIGNvdWxkIGJlIGNhdXNlZCBieSBOVUxMLXB0ciBkZXJlZiBv ciB1c2VyIG1lbW9yeSBhY2Nlc3MKZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0OiAwMDAwIFsjMV0g UFJFRU1QVCBTTVAgS0FTQU4KQ1BVOiAxIFBJRDogMTYxMzcgQ29tbTogc3l6LWV4ZWN1dG9yLjEg Tm90IHRhaW50ZWQgNS4wLjArICMxMTcKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21w dXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEK UklQOiAwMDEwOngyNV93cml0ZV9pbnRlcm5hbCsweDFlOC8weGRmMCBuZXQveDI1L3gyNV9zdWJy LmM6MTczCkNvZGU6IDAwIDQwIDg4IGI1IGUwIGZlIGZmIGZmIDBmIDg1IDAxIDBiIDAwIDAwIDQ4 IDhiIDhiIDgwIDA0IDAwIDAwIDQ4IGJhIDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ4IDhkIDc5 IDFjIDQ4IDg5IGZlIDQ4IGMxIGVlIDAzIDwwZj4gYjYgMzQgMTYgNDggODkgZmEgODMgZTIgMDcg ODMgYzIgMDMgNDAgMzggZjIgN2MgMDkgNDAgODQgZjYgMGYKUlNQOiAwMDE4OmZmZmY4ODgwNzY3 MTdhMDggRUZMQUdTOiAwMDAxMDIwNwpSQVg6IGZmZmY4ODgwNWYyZjIyOTIgUkJYOiBmZmZmODg4 MGEwYWU2MDAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMAprb2JqZWN0OiAnbG9vcDUnICgwMDAwMDAw MDE4ZDBkMGVlKToga29iamVjdF91ZXZlbnRfZW52ClJEWDogZGZmZmZjMDAwMDAwMDAwMCBSU0k6 IDAwMDAwMDAwMDAwMDAwMDMgUkRJOiAwMDAwMDAwMDAwMDAwMDFjClJCUDogZmZmZjg4ODA3Njcx N2I0MCBSMDg6IGZmZmY4ODgwOTUwZTA1ODAgUjA5OiBmZmZmZWQxMDBiZTVlNDZkClIxMDogZmZm ZmVkMTAwYmU1ZTQ2YyBSMTE6IGZmZmY4ODgwNWYyZjIzNjMgUjEyOiBmZmZmODg4MDY1NTc5ODQw CmtvYmplY3Q6ICdsb29wNScgKDAwMDAwMDAwMThkMGQwZWUpOiBmaWxsX2tvYmpfcGF0aDogcGF0 aCA9ICcvZGV2aWNlcy92aXJ0dWFsL2Jsb2NrL2xvb3A1JwpSMTM6IDFmZmZmMTEwMGVjZTJmNDcg UjE0OiAwMDAwMDAwMDAwMDAwMDEzIFIxNTogMDAwMDAwMDAwMDAwMDAxMwpGUzogIDAwMDA3ZmI4 OGNmNDM3MDAoMDAwMCkgR1M6ZmZmZjg4ODBhZTkwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAw MDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMK Q1IyOiAwMDAwN2Y5YTQyYTQxMDI4IENSMzogMDAwMDAwMDA4N2E2NzAwMCBDUjQ6IDAwMDAwMDAw MDAxNDA2ZTAKRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6 IDAwMDAwMDAwMDAwMDAwMDAKRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZl MGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKQ2FsbCBUcmFjZToKIHgyNV9yZWxlYXNlKzB4ZDAv MHgzNDAgbmV0L3gyNS9hZl94MjUuYzo2NTgKIF9fc29ja19yZWxlYXNlKzB4ZDMvMHgyYjAgbmV0 L3NvY2tldC5jOjU3OQogc29ja19jbG9zZSsweDFiLzB4MzAgbmV0L3NvY2tldC5jOjExNjIKIF9f ZnB1dCsweDJkZi8weDhkMCBmcy9maWxlX3RhYmxlLmM6Mjc4CiBfX19fZnB1dCsweDE2LzB4MjAg ZnMvZmlsZV90YWJsZS5jOjMwOQogdGFza193b3JrX3J1bisweDE0YS8weDFjMCBrZXJuZWwvdGFz a193b3JrLmM6MTEzCiBnZXRfc2lnbmFsKzB4MTk2MS8weDFkNTAga2VybmVsL3NpZ25hbC5jOjIz ODgKIGRvX3NpZ25hbCsweDg3LzB4MTk0MCBhcmNoL3g4Ni9rZXJuZWwvc2lnbmFsLmM6ODE2CiBl eGl0X3RvX3VzZXJtb2RlX2xvb3ArMHgyNDQvMHgyYzAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6 MTYyCiBwcmVwYXJlX2V4aXRfdG9fdXNlcm1vZGUgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MTk3 IFtpbmxpbmVdCiBzeXNjYWxsX3JldHVybl9zbG93cGF0aCBhcmNoL3g4Ni9lbnRyeS9jb21tb24u YzoyNjggW2lubGluZV0KIGRvX3N5c2NhbGxfNjQrMHg1MmQvMHg2MTAgYXJjaC94ODYvZW50cnkv Y29tbW9uLmM6MjkzCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlClJJ UDogMDAzMzoweDQ1N2YyOQpDb2RlOiBhZCBiOCBmYiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAw MCAwMCAwMCAwMCA2NiA5MCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4 OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDBm IDgzIDdiIGI4IGZiIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwClJTUDogMDAyYjow MDAwN2ZiODhjZjQyYzc4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAw MmEKUkFYOiBmZmZmZmZmZmZmZmZmZTAwIFJCWDogMDAwMDAwMDAwMDAwMDAwMyBSQ1g6IDAwMDAw MDAwMDA0NTdmMjkKUkRYOiAwMDAwMDAwMDAwMDAwMDEyIFJTSTogMDAwMDAwMDAyMDAwMDA4MCBS REk6IDAwMDAwMDAwMDAwMDAwMDQKUkJQOiAwMDAwMDAwMDAwNzNiZjAwIFIwODogMDAwMDAwMDAw MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTog MDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3ZmI4OGNmNDM2ZDQKUjEzOiAwMDAwMDAwMDAwNGJl NDYyIFIxNDogMDAwMDAwMDAwMDRjZWM5OCBSMTU6IDAwMDAwMDAwZmZmZmZmZmYKTW9kdWxlcyBs aW5rZWQgaW46CgpGaXhlczogOTVkNmViZDUzYzc5ICgibmV0L3gyNTogZml4IHVzZS1hZnRlci1m cmVlIGluIHgyNV9kZXZpY2VfZXZlbnQoKSIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IGFuZHJldyBoZW5kcnkgPGFuZHJldy5oZW5kcnlAZ21h aWwuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC94MjUvYWZfeDI1LmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoK ZGlmZiAtLWdpdCBhL25ldC94MjUvYWZfeDI1LmMgYi9uZXQveDI1L2FmX3gyNS5jCmluZGV4IDI3 MTcxYWM2ZmUzYi4uMjBhNTExMzk4Mzg5IDEwMDY0NAotLS0gYS9uZXQveDI1L2FmX3gyNS5jCisr KyBiL25ldC94MjUvYWZfeDI1LmMKQEAgLTgyNSw2ICs4MjUsNyBAQCBzdGF0aWMgaW50IHgyNV9j b25uZWN0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqdWFkZHIsCiAJCXgy NV9uZWlnaF9wdXQoeDI1LT5uZWlnaGJvdXIpOwogCQl4MjUtPm5laWdoYm91ciA9IE5VTEw7CiAJ CXJlYWRfdW5sb2NrX2JoKCZ4MjVfbGlzdF9sb2NrKTsKKwkJeDI1LT5zdGF0ZSA9IFgyNV9TVEFU RV8wOwogCX0KIG91dF9wdXRfcm91dGU6CiAJeDI1X3JvdXRlX3B1dChydCk7Ci0tIAoyLjIwLjEK CgpGcm9tIDJlMWNjOGY5MjcyN2U2OGUxMDM5Yjg0NTcyNWEyZDc3ZTk2ODNiMTcgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAxMyBNYXIgMjAxOSAxNzowMDo0OCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMzBd IHBwdHA6IGRzdF9yZWxlYXNlIHNrX2RzdF9jYWNoZSBpbiBwcHRwX3NvY2tfZGVzdHJ1Y3QKClsg VXBzdHJlYW0gY29tbWl0IDk0MTdkODFmNGY4YWRmZTIwYTEyZGQxZmFkZjczYTYxOGNiZDk0NWQg XQoKc2tfc2V0dXBfY2FwcygpIGlzIGNhbGxlZCB0byBzZXQgc2stPnNrX2RzdF9jYWNoZSBpbiBw cHRwX2Nvbm5lY3QsCnNvIHdlIGhhdmUgdG8gZHN0X3JlbGVhc2Uoc2stPnNrX2RzdF9jYWNoZSkg aW4gcHB0cF9zb2NrX2Rlc3RydWN0LApvdGhlcndpc2UsIHRoZSBkc3QgcmVmY250IHdpbGwgbGVh ay4KCkl0IGNhbiBiZSByZXByb2R1Y2VkIGJ5IHRoaXMgc3l6IGxvZzoKCiAgcjEgPSBzb2NrZXQk cHB0cCgweDE4LCAweDEsIDB4MikKICBiaW5kJHBwdHAocjEsICYoMHg3ZjAwMDAwMDAxMDApPXsw eDE4LCAweDIsIHsweDAsIEBsb2NhbH19LCAweDFlKQogIGNvbm5lY3QkcHB0cChyMSwgJigweDdm MDAwMDAwMDAwMCk9ezB4MTgsIDB4MiwgezB4MywgQHJlbW90ZX19LCAweDFlKQoKQ29uc2VjdXRp dmUgZG1lc2cgd2FybmluZ3Mgd2lsbCBvY2N1cjoKCiAgdW5yZWdpc3Rlcl9uZXRkZXZpY2U6IHdh aXRpbmcgZm9yIGxvIHRvIGJlY29tZSBmcmVlLiBVc2FnZSBjb3VudCA9IDEKCnYxLT52MjoKICAt IHVzZSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKCkgaW5zdGVhZCBvZiByY3VfZGVyZWZlcmVu Y2VfY2hlY2soKSwKICAgIGFzIHN1Z2dlc3RlZCBieSBFcmljLgoKRml4ZXM6IDAwOTU5YWRlMzZh YyAoIlBQVFA6IFBQUCBvdmVyIElQdjQgKFBvaW50LXRvLVBvaW50IFR1bm5lbGluZyBQcm90b2Nv bCkiKQpSZXBvcnRlZC1ieTogWGl1bWVpIE11IDx4bXVAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1i eTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcHBwL3BwdHAu YyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvcHBwL3BwdHAuYyBiL2RyaXZlcnMvbmV0L3BwcC9wcHRwLmMKaW5kZXggOGYwOWVk ZDgxMWU5Li41MGM2MDU1MGYyOTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BwcC9wcHRwLmMK KysrIGIvZHJpdmVycy9uZXQvcHBwL3BwdHAuYwpAQCAtNTMyLDYgKzUzMiw3IEBAIHN0YXRpYyB2 b2lkIHBwdHBfc29ja19kZXN0cnVjdChzdHJ1Y3Qgc29jayAqc2spCiAJCXBwcG94X3VuYmluZF9z b2NrKHNrKTsKIAl9CiAJc2tiX3F1ZXVlX3B1cmdlKCZzay0+c2tfcmVjZWl2ZV9xdWV1ZSk7CisJ ZHN0X3JlbGVhc2UocmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChzay0+c2tfZHN0X2NhY2hlLCAx KSk7CiB9CiAKIHN0YXRpYyBpbnQgcHB0cF9jcmVhdGUoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qg c29ja2V0ICpzb2NrLCBpbnQga2VybikKLS0gCjIuMjAuMQoKCkZyb20gZWY2NmNkZTI1MWE0OGFh YTVlZmEzNTg1OGVhMTY5Y2FmZjY2MzI5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog TWFzYXJ1IE5hZ2FpIDxtYXNhcnUubmFnYWkudnhAcmVuZXNhcy5jb20+CkRhdGU6IFRodSwgNyBN YXIgMjAxOSAxMToyNDo0NyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMzBdIHJhdmI6IERlY3Jl YXNlIFR4RklGTyBkZXB0aCBvZiBRMyBhbmQgUTIgdG8gb25lCgpbIFVwc3RyZWFtIGNvbW1pdCBh ZTk4MTllMzM5YjQ1MWRhN2E4NmFiNmZlMzhlY2ZjYjY4MTRlNzhhIF0KCkhhcmR3YXJlIGhhcyB0 aGUgQ0JTIChDcmVkaXQgQmFzZWQgU2hhcGVyKSB3aGljaCBhZmZlY3RzIG9ubHkgUTMKYW5kIFEy LiBXaGVuIHVwZGF0aW5nIHRoZSBDQlMgc2V0dGluZ3MsIGV2ZW4gaWYgdGhlIGRyaXZlciBkb2Vz IHNvCmFmdGVyIHdhaXRpbmcgZm9yIFR4IERNQSBmaW5pc2hlZCwgdGhlcmUgaXMgYSBwb3NzaWJp bGl0eSB0aGF0IGZyYW1lCmRhdGEgc3RpbGwgcmVtYWlucyBpbiBUeEZJRk8uCgpUbyBhdm9pZCB0 aGlzLCBkZWNyZWFzZSBUeEZJRk8gZGVwdGggb2YgUTMgYW5kIFEyIHRvIG9uZS4KClRoaXMgcGF0 Y2ggaGFzIGJlZW4gZXhlcmNpc2VkIHRoaXMgdXNpbmcgbmV0cGVyZiBUQ1BfTUFFUlRTLCBUQ1Bf U1RSRUFNCmFuZCBVRFBfU1RSRUFNIHRlc3RzIHJ1biBvbiBhbiBFYmlzdSBib2FyZC4gTm8gcGVy Zm9ybWFuY2UgY2hhbmdlIHdhcwpkZXRlY3RlZCwgb3V0c2lkZSBvZiBub2lzZSBpbiB0aGUgdGVz dHMsIGJvdGggaW4gdGVybXMgb2YgdGhyb3VnaHB1dCBhbmQKQ1BVIHV0aWxpc2F0aW9uLgoKRml4 ZXM6IGMxNTY2MzNmMTM1MyAoIlJlbmVzYXMgRXRoZXJuZXQgQVZCIGRyaXZlciBwcm9wZXIiKQpT aWduZWQtb2ZmLWJ5OiBNYXNhcnUgTmFnYWkgPG1hc2FydS5uYWdhaS52eEByZW5lc2FzLmNvbT4K U2lnbmVkLW9mZi1ieTogS2F6dXlhIE1penVndWNoaSA8a2F6dXlhLm1penVndWNoaS5rc0ByZW5l c2FzLmNvbT4KW3NpbW9uOiB1cGRhdGVkIGNoYW5nZWxvZ10KU2lnbmVkLW9mZi1ieTogU2ltb24g SG9ybWFuIDxob3JtcytyZW5lc2FzQHZlcmdlLm5ldC5hdT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0 L3JlbmVzYXMvcmF2Yl9tYWluLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZW5l c2FzL3JhdmJfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVuZXNhcy9yYXZiX21haW4u YwppbmRleCBkMjhjOGY5Y2E1NWIuLjgxNTRiMzhjMDhmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvcmVuZXNhcy9yYXZiX21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9yZW5lc2FzL3JhdmJfbWFpbi5jCkBAIC00NTgsNyArNDU4LDcgQEAgc3RhdGljIGludCByYXZi X2RtYWNfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqbmRldikKIAkJICAgUkNSX0VGRlMgfCBSQ1Jf RU5DRiB8IFJDUl9FVFMwIHwgUkNSX0VTRiB8IDB4MTgwMDAwMDAsIFJDUik7CiAKIAkvKiBTZXQg RklGTyBzaXplICovCi0JcmF2Yl93cml0ZShuZGV2LCBUR0NfVFFQX0FWQk1PREUxIHwgMHgwMDIy MjIwMCwgVEdDKTsKKwlyYXZiX3dyaXRlKG5kZXYsIFRHQ19UUVBfQVZCTU9ERTEgfCAweDAwMTEy MjAwLCBUR0MpOwogCiAJLyogVGltZXN0YW1wIGVuYWJsZSAqLwogCXJhdmJfd3JpdGUobmRldiwg VENDUl9URkVOLCBUQ0NSKTsKLS0gCjIuMjAuMQoKCkZyb20gMDNkZDcxNDIyNzM4NTlhZWIxMGYw ZTgwMTVjNGIxZTdlOWVlZDZlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWGluIExv bmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpEYXRlOiBGcmksIDggTWFyIDIwMTkgMTQ6NTA6NTQg KzA4MDAKU3ViamVjdDogW1BBVENIIDE2LzMwXSByb3V0ZTogc2V0IHRoZSBkZWxldGVkIGZuaGUg Zm5oZV9kYWRkciB0byAwIGluCiBpcF9kZWxfZm5oZSB0byBmaXggYSByYWNlCgpbIFVwc3RyZWFt IGNvbW1pdCBlZTYwYWQyMTlmNWM3YzRmYjJmMDQ3Zjg4MDM3NzcwMDYzZWY3ODVmIF0KClRoZSBy YWNlIG9jY3VycyBpbiBfX21rcm91dGVfb3V0cHV0KCkgd2hlbiAyIHRocmVhZHMgbG9va3VwIGEg ZHN0OgoKICBDUFUgQSAgICAgICAgICAgICAgICAgQ1BVIEIKICBmaW5kX2V4Y2VwdGlvbigpCiAg ICAgICAgICAgICAgICAgICAgICAgIGZpbmRfZXhjZXB0aW9uKCkgW2ZuaGUgZXhwaXJlc10KICAg ICAgICAgICAgICAgICAgICAgICAgaXBfZGVsX2ZuaGUoKSBbZm5oZSBpcyBkZWxldGVkXQogIHJ0 X2JpbmRfZXhjZXB0aW9uKCkKCkluIHJ0X2JpbmRfZXhjZXB0aW9uKCkgaXQgd2lsbCBiaW5kIGEg ZGVsZXRlZCBmbmhlIHdpdGggdGhlIG5ldyBkc3QsIGFuZAp0aGlzIGRzdCB3aWxsIGdldCBubyBj aGFuY2UgdG8gYmUgZnJlZWQuIEl0IGNhdXNlcyBhIGRldiBkZWZjbnQgbGVhayBhbmQKY29uc2Vj dXRpdmUgZG1lc2cgd2FybmluZ3M6CgogIHVucmVnaXN0ZXJfbmV0ZGV2aWNlOiB3YWl0aW5nIGZv ciBldGhYIHRvIGJlY29tZSBmcmVlLiBVc2FnZSBjb3VudCA9IDEKCkVzcGVjaWFsbHkgdGhhbmtz IEpvbiB0byBpZGVudGlmeSB0aGUgaXNzdWUuCgpUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IHNldHRp bmcgZm5oZV9kYWRkciB0byAwIGluIGlwX2RlbF9mbmhlKCkgdG8gc3RvcApiaW5kaW5nIHRoZSBk ZWxldGVkIGZuaGUgd2l0aCBhIG5ldyBkc3Qgd2hlbiBjaGVja2luZyBmbmhlJ3MgZm5oZV9kYWRk cgphbmQgZGFkZHIgaW4gcnRfYmluZF9leGNlcHRpb24oKS4KCkl0IHdvcmtzIGFzIGJvdGggaXBf ZGVsX2ZuaGUoKSBhbmQgcnRfYmluZF9leGNlcHRpb24oKSBhcmUgcHJvdGVjdGVkIGJ5CmZuaGVf bG9jayBhbmQgdGhlIGZobmUgaXMgZnJlZWQgYnkga2ZyZWVfcmN1KCkuCgpGaXhlczogZGVlZDQ5 ZGY3MzkwICgicm91dGU6IGNoZWNrIGFuZCByZW1vdmUgcm91dGUgY2FjaGUgd2hlbiB3ZSBnZXQg cm91dGUiKQpTaWduZWQtb2ZmLWJ5OiBKb24gTWF4d2VsbCA8am1heHdlbGwzN0BnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KUmV2aWV3ZWQt Ynk6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRlLmMgfCA0 ICsrKysKIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQv aXB2NC9yb3V0ZS5jIGIvbmV0L2lwdjQvcm91dGUuYwppbmRleCBlNDBlNTZlMDE0YTAuLmUwNGNk YjU4YTYwMiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvcm91dGUuYworKysgYi9uZXQvaXB2NC9yb3V0 ZS5jCkBAIC0xMzAzLDYgKzEzMDMsMTAgQEAgc3RhdGljIHZvaWQgaXBfZGVsX2ZuaGUoc3RydWN0 IGZpYl9uaCAqbmgsIF9fYmUzMiBkYWRkcikKIAkJaWYgKGZuaGUtPmZuaGVfZGFkZHIgPT0gZGFk ZHIpIHsKIAkJCXJjdV9hc3NpZ25fcG9pbnRlcigqZm5oZV9wLCByY3VfZGVyZWZlcmVuY2VfcHJv dGVjdGVkKAogCQkJCWZuaGUtPmZuaGVfbmV4dCwgbG9ja2RlcF9pc19oZWxkKCZmbmhlX2xvY2sp KSk7CisJCQkvKiBzZXQgZm5oZV9kYWRkciB0byAwIHRvIGVuc3VyZSBpdCB3b24ndCBiaW5kIHdp dGgKKwkJCSAqIG5ldyBkc3RzIGluIHJ0X2JpbmRfZXhjZXB0aW9uKCkuCisJCQkgKi8KKwkJCWZu aGUtPmZuaGVfZGFkZHIgPSAwOwogCQkJZm5oZV9mbHVzaF9yb3V0ZXMoZm5oZSk7CiAJCQlrZnJl ZV9yY3UoZm5oZSwgcmN1KTsKIAkJCWJyZWFrOwotLSAKMi4yMC4xCgoKRnJvbSA3NGI3YjVmZmUz MjI4MGEwZDhkZjhlYmEzNzU1YWRkYmMzYzM0OGY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBTYXQsIDkgTWFy IDIwMTkgMDA6Mjk6NTggKzAwMDAKU3ViamVjdDogW1BBVENIIDE3LzMwXSByeHJwYzogRml4IGNs aWVudCBjYWxsIHF1ZXVlaW5nLCB3YWl0aW5nIGZvciBjaGFubmVsCgpbIFVwc3RyZWFtIGNvbW1p dCA2OWZmYWViYjkwMzY5Y2UwODY1N2I1YWVhNDg5Njc3N2I5ZDZlOGZjIF0KCnJ4cnBjX2dldF9j bGllbnRfY29ubigpIGFkZHMgYSBuZXcgY2FsbCB0byB0aGUgZnJvbnQgb2YgdGhlIHdhaXRpbmdf Y2FsbHMKcXVldWUgaWYgdGhlIGNvbm5lY3Rpb24gaXQncyBnb2luZyB0byB1c2UgYWxyZWFkeSBl eGlzdHMuICBUaGlzIGlzIGJhZCBhcwppdCBhbGxvd3MgY2FsbHMgdG8gZ2V0IHN0YXJ2ZWQgb3V0 LgoKRml4IHRoaXMgYnkgYWRkaW5nIHRvIHRoZSB0YWlsIGluc3RlYWQuCgpBbHNvIGNoYW5nZSB0 aGUgb3RoZXIgZW5xdWV1ZSBwb2ludCBpbiB0aGUgc2FtZSBmdW5jdGlvbiB0byBwdXQgaXQgb24g dGhlCmZyb250IChpZS4gd2hlbiB3ZSBoYXZlIGEgbmV3IGNvbm5lY3Rpb24pLiAgVGhpcyBtYWtl cyB0aGUgcG9pbnQgdGhhdCBpbgp0aGUgY2FzZSBvZiBhIG5ldyBjb25uZWN0aW9uIHRoZSBuZXcg Y2FsbCBnb2VzIGF0IHRoZSBmcm9udCAodGhvdWdoIGl0CmRvZXNuJ3QgYWN0dWFsbHkgbWF0dGVy IHNpbmNlIHRoZSBxdWV1ZSBzaG91bGQgYmUgdW5vY2N1cGllZCkuCgpGaXhlczogNDUwMjViY2Vl ZjE3ICgicnhycGM6IEltcHJvdmUgbWFuYWdlbWVudCBhbmQgY2FjaGluZyBvZiBjbGllbnQgY29u bmVjdGlvbiBvYmplY3RzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNA cmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IE1hcmMgRGlvbm5lIDxtYXJjLmRpb25uZUBhdXJpc3Rv ci5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBuZXQvcnhycGMvY29ubl9jbGllbnQuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvcnhycGMv Y29ubl9jbGllbnQuYyBiL25ldC9yeHJwYy9jb25uX2NsaWVudC5jCmluZGV4IGIyYWRmYTgyNTM2 My4uNWNmNmQ5ZjQ3NjFkIDEwMDY0NAotLS0gYS9uZXQvcnhycGMvY29ubl9jbGllbnQuYworKysg Yi9uZXQvcnhycGMvY29ubl9jbGllbnQuYwpAQCAtMzUzLDcgKzM1Myw3IEBAIHN0YXRpYyBpbnQg cnhycGNfZ2V0X2NsaWVudF9jb25uKHN0cnVjdCByeHJwY19zb2NrICpyeCwKIAkgKiBub3JtYWxs eSBoYXZlIHRvIHRha2UgY2hhbm5lbF9sb2NrIGJ1dCB3ZSBkbyB0aGlzIGJlZm9yZSBhbnlvbmUg ZWxzZQogCSAqIGNhbiBzZWUgdGhlIGNvbm5lY3Rpb24uCiAJICovCi0JbGlzdF9hZGRfdGFpbCgm Y2FsbC0+Y2hhbl93YWl0X2xpbmssICZjYW5kaWRhdGUtPndhaXRpbmdfY2FsbHMpOworCWxpc3Rf YWRkKCZjYWxsLT5jaGFuX3dhaXRfbGluaywgJmNhbmRpZGF0ZS0+d2FpdGluZ19jYWxscyk7CiAK IAlpZiAoY3AtPmV4Y2x1c2l2ZSkgewogCQljYWxsLT5jb25uID0gY2FuZGlkYXRlOwpAQCAtNDMy LDcgKzQzMiw3IEBAIHN0YXRpYyBpbnQgcnhycGNfZ2V0X2NsaWVudF9jb25uKHN0cnVjdCByeHJw Y19zb2NrICpyeCwKIAljYWxsLT5jb25uID0gY29ubjsKIAljYWxsLT5zZWN1cml0eV9peCA9IGNv bm4tPnNlY3VyaXR5X2l4OwogCWNhbGwtPnNlcnZpY2VfaWQgPSBjb25uLT5zZXJ2aWNlX2lkOwot CWxpc3RfYWRkKCZjYWxsLT5jaGFuX3dhaXRfbGluaywgJmNvbm4tPndhaXRpbmdfY2FsbHMpOwor CWxpc3RfYWRkX3RhaWwoJmNhbGwtPmNoYW5fd2FpdF9saW5rLCAmY29ubi0+d2FpdGluZ19jYWxs cyk7CiAJc3Bpbl91bmxvY2soJmNvbm4tPmNoYW5uZWxfbG9jayk7CiAJX2xlYXZlKCIgPSAwIFtl eHRhbnQgJWRdIiwgY29ubi0+ZGVidWdfaWQpOwogCXJldHVybiAwOwotLSAKMi4yMC4xCgoKRnJv bSAyMTM2ODk4MmQzMDAwNzdiNjc2MGNlYjc3NTEyNDI2MTE1ZjNlMGEzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IEZy aSwgOCBNYXIgMjAxOSAxNTo0OToxNiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMzBdIHNjdHA6 IHJlbW92ZSBzY2hlZCBpbml0IGZyb20gc2N0cF9zdHJlYW1faW5pdAoKWyBVcHN0cmVhbSBjb21t aXQgMmU5OTBkZmQxMzk3NGQ5ZWFlNDkzMDA2ZjQyZmZiNDg3MDc5NzBlZiBdCgpzeXpib3QgcmVw b3J0ZWQgYSBOVUxMLXB0ciBkZXJlZiBjYXVzZWQgYnkgdGhhdCBzY2hlZC0+aW5pdCgpIGluCnNj dHBfc3RyZWFtX2luaXQoKSBzZXQgc3RyZWFtLT5ycl9uZXh0ID0gTlVMTC4KCiAga2FzYW46IEdQ RiBjb3VsZCBiZSBjYXVzZWQgYnkgTlVMTC1wdHIgZGVyZWYgb3IgdXNlciBtZW1vcnkgYWNjZXNz CiAgUklQOiAwMDEwOnNjdHBfc2NoZWRfcnJfZGVxdWV1ZSsweGQzLzB4MTcwIG5ldC9zY3RwL3N0 cmVhbV9zY2hlZF9yci5jOjE0MQogIENhbGwgVHJhY2U6CiAgICBzY3RwX291dHFfZGVxdWV1ZV9k YXRhIG5ldC9zY3RwL291dHF1ZXVlLmM6OTAgW2lubGluZV0KICAgIHNjdHBfb3V0cV9mbHVzaF9k YXRhIG5ldC9zY3RwL291dHF1ZXVlLmM6MTA3OSBbaW5saW5lXQogICAgc2N0cF9vdXRxX2ZsdXNo KzB4YmEyLzB4Mjc5MCBuZXQvc2N0cC9vdXRxdWV1ZS5jOjEyMDUKCkFsbCBzY2hlZCBpbmZvIGlz IHNhdmVkIGluIHNvdXQtPmV4dCBub3csIGluIHNjdHBfc3RyZWFtX2luaXQoKQpzY3RwX3N0cmVh bV9hbGxvY19vdXQoKSB3aWxsIG5vdCBjaGFuZ2UgaXQsIHRoZXJlJ3Mgbm8gbmVlZCB0bwpjYWxs IHNjaGVkLT5pbml0KCkgYWdhaW4sIHNpbmNlIHNjdHBfb3V0cV9pbml0KCkgaGFzIGFscmVhZHkK ZG9uZSBpdC4KCkZpeGVzOiA1YmJiYmUzMmE0MzEgKCJzY3RwOiBpbnRyb2R1Y2Ugc3RyZWFtIHNj aGVkdWxlciBmb3VuZGF0aW9ucyIpClJlcG9ydGVkLWJ5OiBzeXpib3QrNGM5OTM0ZjIwNTIyYzBl ZmQ2NTdAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8 bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhk cml2ZXIuY29tPgpBY2tlZC1ieTogTWFyY2VsbyBSaWNhcmRvIExlaXRuZXIgPG1hcmNlbG8ubGVp dG5lckBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zdHJlYW0uYyB8IDIgLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY3RwL3N0cmVhbS5jIGIvbmV0L3Nj dHAvc3RyZWFtLmMKaW5kZXggMjkzNmVkMTdiZjllLi4zYjQ3NDU3ODYyY2MgMTAwNjQ0Ci0tLSBh L25ldC9zY3RwL3N0cmVhbS5jCisrKyBiL25ldC9zY3RwL3N0cmVhbS5jCkBAIC0yMzAsOCArMjMw LDYgQEAgaW50IHNjdHBfc3RyZWFtX2luaXQoc3RydWN0IHNjdHBfc3RyZWFtICpzdHJlYW0sIF9f dTE2IG91dGNudCwgX191MTYgaW5jbnQsCiAJZm9yIChpID0gMDsgaSA8IHN0cmVhbS0+b3V0Y250 OyBpKyspCiAJCVNDVFBfU08oc3RyZWFtLCBpKS0+c3RhdGUgPSBTQ1RQX1NUUkVBTV9PUEVOOwog Ci0Jc2NoZWQtPmluaXQoc3RyZWFtKTsKLQogaW46CiAJc2N0cF9zdHJlYW1faW50ZXJsZWF2ZV9p bml0KHN0cmVhbSk7CiAJaWYgKCFpbmNudCkKLS0gCjIuMjAuMQoKCkZyb20gM2UxM2RhMTgyZmIz YWExOTI2ODlkMjUzMWI0ZDk1OGU3NGRiNDNkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogU29oZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCA2 IE1hciAyMDE5IDEzOjAxOjM2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxOS8zMF0gdGNwOiBkbyBu b3QgcmVwb3J0IFRDUF9DTV9JTlEgb2YgMCBmb3IgY2xvc2VkCiBjb25uZWN0aW9ucwoKWyBVcHN0 cmVhbSBjb21taXQgNjQ2NmU3MTU2NTFmOWYzNThlNjBjNWVhNDg4MGU0NzMxMzI1ODI3ZiBdCgpS ZXR1cm5pbmcgMCBhcyBpbnEgdG8gdXNlcnNwYWNlIGluZGljYXRlcyB0aGVyZSBpcyBubyBtb3Jl IGRhdGEgdG8KcmVhZCwgYW5kIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byB3YWl0IGZvciBFUE9M TElOLiBGb3IgYSBjb25uZWN0aW9uCnRoYXQgaGFzIHJlY2VpdmVkIEZJTiBmcm9tIHRoZSByZW1v dGUgcGVlciwgaG93ZXZlciwgdGhlIGFwcGxpY2F0aW9uCm11c3QgY29udGludWUgcmVhZGluZyB1 bnRpbCBnZXR0aW5nIEVPRiAocmV0dXJuIHZhbHVlIG9mIDAKZnJvbSB0Y3BfcmVjdm1zZykgb3Ig YW4gZXJyb3IsIGlmIGVkZ2UtdHJpZ2dlcmVkIGVwb2xsIChFUE9MTEVUKSBpcwpiZWluZyB1c2Vk LiBPdGhlcndpc2UsIHRoZSBhcHBsaWNhdGlvbiB3aWxsIG5ldmVyIHJlY2VpdmUgYSBuZXcKRVBP TExJTiwgc2luY2UgdGhlcmUgaXMgbm8gZXBvbGwgZWRnZSBhZnRlciB0aGUgRklOLgoKUmV0dXJu IDEgd2hlbiB0aGVyZSBpcyBubyBkYXRhIGxlZnQgb24gdGhlIHF1ZXVlIGJ1dCB0aGUKY29ubmVj dGlvbiBoYXMgcmVjZWl2ZWQgRklOLCBzbyB0aGF0IHRoZSBhcHBsaWNhdGlvbnMgY29udGludWUK cmVhZGluZy4KCkZpeGVzOiBiNzVlYmE3NmQzZDcyICh0Y3A6IHNlbmQgaW4tcXVldWUgYnl0ZXMg aW4gY21zZyB1cG9uIHJlYWQpClNpZ25lZC1vZmYtYnk6IFNvaGVpbCBIYXNzYXMgWWVnYW5laCA8 c29oZWlsQGdvb2dsZS5jb20+CkFja2VkLWJ5OiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29v Z2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpBY2tlZC1ieTogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90 Y3AuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9uZXQvaXB2NC90Y3AuYyBiL25ldC9pcHY0L3RjcC5jCmluZGV4IGNmM2M1MDk1YzEwZS4u Y2UzNjVjYmJhMWQxIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3AuYworKysgYi9uZXQvaXB2NC90 Y3AuYwpAQCAtMTkxNCw2ICsxOTE0LDExIEBAIHN0YXRpYyBpbnQgdGNwX2lucV9oaW50KHN0cnVj dCBzb2NrICpzaykKIAkJaW5xID0gdHAtPnJjdl9ueHQgLSB0cC0+Y29waWVkX3NlcTsKIAkJcmVs ZWFzZV9zb2NrKHNrKTsKIAl9CisJLyogQWZ0ZXIgcmVjZWl2aW5nIGEgRklOLCB0ZWxsIHRoZSB1 c2VyLXNwYWNlIHRvIGNvbnRpbnVlIHJlYWRpbmcKKwkgKiBieSByZXR1cm5pbmcgYSBub24temVy byBpbnEuCisJICovCisJaWYgKGlucSA9PSAwICYmIHNvY2tfZmxhZyhzaywgU09DS19ET05FKSkK KwkJaW5xID0gMTsKIAlyZXR1cm4gaW5xOwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIGVlZDU1ZTlm NjNmNmUyNjE3ZWU1MTkwOWFiNjQ0NTEzYWU1MTI1MmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IENocmlzdG9waCBQYWFzY2ggPGNwYWFzY2hAYXBwbGUuY29tPgpEYXRlOiBNb24sIDEx IE1hciAyMDE5IDExOjQxOjA1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyMC8zMF0gdGNwOiBEb24n dCBhY2Nlc3MgVENQX1NLQl9DQiBiZWZvcmUgaW5pdGlhbGl6aW5nIGl0CgpbIFVwc3RyZWFtIGNv bW1pdCBmMmZlYWVmZGFiYjBhNjI1M2FhMDIwZjY1ZTczODhmMDdhOWVkNDdjIF0KClNpbmNlIGNv bW1pdCBlZWVhMTBiODNhMTMgKCJ0Y3A6IGFkZAp0Y3BfdjRfZmlsbF9jYigpL3RjcF92NF9yZXN0 b3JlX2NiKCkiKSwgdGNwX3ZYX2ZpbGxfY2IgaXMgb25seSBjYWxsZWQKYWZ0ZXIgdGNwX2ZpbHRl cigpLiBUaGF0IG1lYW5zLCBUQ1BfU0tCX0NCKHNrYiktPmVuZF9zZXEgc3RpbGwgcG9pbnRzIHRv CnRoZSBJUC1wYXJ0IG9mIHRoZSBjYi4KCldlIHRodXMgc2hvdWxkIG5vdCBtb2NrIHdpdGggaXQs IGFzIHRoaXMgY2FuIHRyaWdnZXIgYnVncyAodGhhbmtzCnN5emthbGxlcik6ClsgICAxMi4zNDkz OTZdID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpbICAgMTIuMzUwMTg4XSBCVUc6IEtBU0FOOiBzbGFiLW91dC1vZi1ib3Vu ZHMgaW4gaXA2X2RhdGFncmFtX3JlY3Zfc3BlY2lmaWNfY3RsKzB4MTliMy8weDFhMjAKWyAgIDEy LjM1MTAzNV0gUmVhZCBvZiBzaXplIDEgYXQgYWRkciBmZmZmODgwMDZhZGJjMjA4IGJ5IHRhc2sg dGVzdF9pcDZfZGF0YWdyLzE3OTkKClNldHRpbmcgZW5kX3NlcSBpcyBhY3R1YWxseSBubyBtb3Jl IG5lY2Vzc2FyeSBpbiB0Y3BfZmlsdGVyIGFzIGl0IGdldHMKaW5pdGlhbGl6ZWQgbGF0ZXIgb24g aW4gdGNwX3ZYX2ZpbGxfY2IuCgpDYzogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29t PgpGaXhlczogZWVlYTEwYjgzYTEzICgidGNwOiBhZGQgdGNwX3Y0X2ZpbGxfY2IoKS90Y3BfdjRf cmVzdG9yZV9jYigpIikKU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIFBhYXNjaCA8Y3BhYXNjaEBh cHBsZS5jb20+ClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC9pcHY0L3RjcF9pcHY0LmMgfCA5ICstLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9p cHY0LmMgYi9uZXQvaXB2NC90Y3BfaXB2NC5jCmluZGV4IGVjM2NlYTlkNjgyOC4uMWFhZTlhYjU3 ZmU5IDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3BfaXB2NC5jCisrKyBiL25ldC9pcHY0L3RjcF9p cHY0LmMKQEAgLTE3MzQsMTUgKzE3MzQsOCBAQCBFWFBPUlRfU1lNQk9MKHRjcF9hZGRfYmFja2xv Zyk7CiBpbnQgdGNwX2ZpbHRlcihzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2Ip CiB7CiAJc3RydWN0IHRjcGhkciAqdGggPSAoc3RydWN0IHRjcGhkciAqKXNrYi0+ZGF0YTsKLQl1 bnNpZ25lZCBpbnQgZWF0ZW4gPSBza2ItPmxlbjsKLQlpbnQgZXJyOwogCi0JZXJyID0gc2tfZmls dGVyX3RyaW1fY2FwKHNrLCBza2IsIHRoLT5kb2ZmICogNCk7Ci0JaWYgKCFlcnIpIHsKLQkJZWF0 ZW4gLT0gc2tiLT5sZW47Ci0JCVRDUF9TS0JfQ0Ioc2tiKS0+ZW5kX3NlcSAtPSBlYXRlbjsKLQl9 Ci0JcmV0dXJuIGVycjsKKwlyZXR1cm4gc2tfZmlsdGVyX3RyaW1fY2FwKHNrLCBza2IsIHRoLT5k b2ZmICogNCk7CiB9CiBFWFBPUlRfU1lNQk9MKHRjcF9maWx0ZXIpOwogCi0tIAoyLjIwLjEKCgpG cm9tIDgwZjc3ZWQ5MDJmNmZkZGVjMDMzMTc5NzNmNjA0MWMzNzU4ZTg1MTUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEd1aWxsYXVtZSBOYXVsdCA8Z25hdWx0QHJlZGhhdC5jb20+CkRh dGU6IEZyaSwgOCBNYXIgMjAxOSAyMjowOTo0NyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjEvMzBd IHRjcDogaGFuZGxlIGluZXRfY3NrX3JlcXNrX3F1ZXVlX2FkZCgpIGZhaWx1cmVzCgpbICBVcHN0 cmVhbSBjb21taXQgOWQzZTEzNjhiYjQ1ODkzYTc1YTVkZmI3Y2QyMWZkZWJmYTZiNDdhZiBdCgpD b21taXQgNzcxNjY4MmNjNThlICgidGNwL2RjY3A6IGZpeCBhbm90aGVyIHJhY2UgYXQgbGlzdGVu ZXIKZGlzbWFudGxlIikgbGV0IGluZXRfY3NrX3JlcXNrX3F1ZXVlX2FkZCgpIGZhaWwsIGFuZCBh ZGp1c3RlZAp7dGNwLGRjY3B9X2NoZWNrX3JlcSgpIGFjY29yZGluZ2x5LiBIb3dldmVyLCBURk8g YW5kIHN5bmNvb2tpZXMKd2VyZW4ndCBtb2RpZmllZCwgdGh1cyBsZWFraW5nIGFsbG9jYXRlZCBy ZXNvdXJjZXMgb24gZXJyb3IuCgpDb250cmFyeSB0byB0Y3BfY2hlY2tfcmVxKCksIGluIGJvdGgg c3luY29va2llcyBhbmQgVEZPIGNhc2VzLAp3ZSBuZWVkIHRvIGRyb3AgdGhlIHJlcXVlc3Qgc29j a2V0LiBBbHNvLCBzaW5jZSB0aGUgY2hpbGQgc29ja2V0IGlzCmNyZWF0ZWQgd2l0aCBpbmV0X2Nz a19jbG9uZV9sb2NrKCksIHdlIGhhdmUgdG8gdW5sb2NrIGl0IGFuZCBkcm9wIGFuCmV4dHJhIHJl ZmVyZW5jZSAoLT5za19yZWZjb3VudCBpcyBpbml0aWFsbHkgc2V0IHRvIDIgYW5kCmluZXRfY3Nr X3JlcXNrX3F1ZXVlX2FkZCgpIGRyb3BzIG9ubHkgb25lIHJlZikuCgpGb3IgVEZPLCB3ZSBhbHNv IG5lZWQgdG8gcmV2ZXJ0IHRoZSB3b3JrIGRvbmUgYnkgdGNwX3RyeV9mYXN0b3BlbigpCih3aXRo IHJlcXNrX2Zhc3RvcGVuX3JlbW92ZSgpKS4KCkZpeGVzOiA3NzE2NjgyY2M1OGUgKCJ0Y3AvZGNj cDogZml4IGFub3RoZXIgcmFjZSBhdCBsaXN0ZW5lciBkaXNtYW50bGUiKQpTaWduZWQtb2ZmLWJ5 OiBHdWlsbGF1bWUgTmF1bHQgPGduYXVsdEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBFcmlj IER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9zeW5jb29raWVzLmMgfCA3 ICsrKysrKy0KIG5ldC9pcHY0L3RjcF9pbnB1dC5jICB8IDggKysrKysrKy0KIDIgZmlsZXMgY2hh bmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQv aXB2NC9zeW5jb29raWVzLmMgYi9uZXQvaXB2NC9zeW5jb29raWVzLmMKaW5kZXggNjA2Zjg2OGQ5 ZjNmLi5lNTMxMzQ0NjExYTAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3N5bmNvb2tpZXMuYworKysg Yi9uZXQvaXB2NC9zeW5jb29raWVzLmMKQEAgLTIxNiw3ICsyMTYsMTIgQEAgc3RydWN0IHNvY2sg KnRjcF9nZXRfY29va2llX3NvY2soc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2ti LAogCQlyZWZjb3VudF9zZXQoJnJlcS0+cnNrX3JlZmNudCwgMSk7CiAJCXRjcF9zayhjaGlsZCkt PnRzb2Zmc2V0ID0gdHNvZmY7CiAJCXNvY2tfcnBzX3NhdmVfcnhoYXNoKGNoaWxkLCBza2IpOwot CQlpbmV0X2Nza19yZXFza19xdWV1ZV9hZGQoc2ssIHJlcSwgY2hpbGQpOworCQlpZiAoIWluZXRf Y3NrX3JlcXNrX3F1ZXVlX2FkZChzaywgcmVxLCBjaGlsZCkpIHsKKwkJCWJoX3VubG9ja19zb2Nr KGNoaWxkKTsKKwkJCXNvY2tfcHV0KGNoaWxkKTsKKwkJCWNoaWxkID0gTlVMTDsKKwkJCXJlcXNr X3B1dChyZXEpOworCQl9CiAJfSBlbHNlIHsKIAkJcmVxc2tfZnJlZShyZXEpOwogCX0KZGlmZiAt LWdpdCBhL25ldC9pcHY0L3RjcF9pbnB1dC5jIGIvbmV0L2lwdjQvdGNwX2lucHV0LmMKaW5kZXgg NzY4NThiMTRlYmU5Li43YjFlZjg5N2IzOTggMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcF9pbnB1 dC5jCisrKyBiL25ldC9pcHY0L3RjcF9pbnB1dC5jCkBAIC02NTE5LDcgKzY1MTksMTMgQEAgaW50 IHRjcF9jb25uX3JlcXVlc3Qoc3RydWN0IHJlcXVlc3Rfc29ja19vcHMgKnJza19vcHMsCiAJCWFm X29wcy0+c2VuZF9zeW5hY2soZmFzdG9wZW5fc2ssIGRzdCwgJmZsLCByZXEsCiAJCQkJICAgICZm b2MsIFRDUF9TWU5BQ0tfRkFTVE9QRU4pOwogCQkvKiBBZGQgdGhlIGNoaWxkIHNvY2tldCBkaXJl Y3RseSBpbnRvIHRoZSBhY2NlcHQgcXVldWUgKi8KLQkJaW5ldF9jc2tfcmVxc2tfcXVldWVfYWRk KHNrLCByZXEsIGZhc3RvcGVuX3NrKTsKKwkJaWYgKCFpbmV0X2Nza19yZXFza19xdWV1ZV9hZGQo c2ssIHJlcSwgZmFzdG9wZW5fc2spKSB7CisJCQlyZXFza19mYXN0b3Blbl9yZW1vdmUoZmFzdG9w ZW5fc2ssIHJlcSwgZmFsc2UpOworCQkJYmhfdW5sb2NrX3NvY2soZmFzdG9wZW5fc2spOworCQkJ c29ja19wdXQoZmFzdG9wZW5fc2spOworCQkJcmVxc2tfcHV0KHJlcSk7CisJCQlnb3RvIGRyb3A7 CisJCX0KIAkJc2stPnNrX2RhdGFfcmVhZHkoc2spOwogCQliaF91bmxvY2tfc29jayhmYXN0b3Bl bl9zayk7CiAJCXNvY2tfcHV0KGZhc3RvcGVuX3NrKTsKLS0gCjIuMjAuMQoKCkZyb20gNjQ4YjA5 NDExOWI4ZTBkYmY0OTkzZTExY2ZlMjExNTEyMzcyNTYzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KRGF0ZTogRnJpLCA4 IE1hciAyMDE5IDE2OjQwOjU3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMi8zMF0gdnhsYW46IEZp eCBHUk8gY2VsbHMgcmFjZSBjb25kaXRpb24gYmV0d2VlbiByZWNlaXZlIGFuZAogbGluayBkZWxl dGUKClsgVXBzdHJlYW0gY29tbWl0IGFkNmM5OTg2YmNiNjI3YzdjMjJiOGY5ZTlhOTM0YmVjYzI3 ZGY4N2MgXQoKSWYgd2UgcmVjZWl2ZSBhIHBhY2tldCB3aGlsZSBkZWxldGluZyBhIFZYTEFOIGRl dmljZSwgdGhlcmUncyBhIGNoYW5jZQp2eGxhbl9yY3YoKSBpcyBjYWxsZWQgYXQgdGhlIHNhbWUg dGltZSBhcyB2eGxhbl9kZWxsaW5rKCkuIFRoaXMgaXMgZmluZSwKZXhjZXB0IHRoYXQgdnhsYW5f ZGVsbGluaygpIHNob3VsZCBuZXZlciBldmVyIHRvdWNoIHN0dWZmIHRoYXQncyBzdGlsbCBpbgp1 c2UsIHN1Y2ggYXMgdGhlIEdSTyBjZWxscyBsaXN0LgoKT3RoZXJ3aXNlLCB2eGxhbl9yY3YoKSBj cmFzaGVzIHdoaWxlIHF1ZXVlaW5nIHBhY2tldHMgdmlhCmdyb19jZWxsc19yZWNlaXZlKCkuCgpN b3ZlIHRoZSBncm9fY2VsbHNfZGVzdHJveSgpIHRvIHZ4bGFuX3VuaW5pdCgpLCB3aGljaCBydW5z IGFmdGVyIHRoZSBSQ1UKZ3JhY2UgcGVyaW9kIGlzIGVsYXBzZWQgYW5kIG5vdGhpbmcgbmVlZHMg dGhlIGdyb19jZWxscyBhbnltb3JlLgoKVGhpcyBpcyBub3cgZG9uZSBpbiB0aGUgc2FtZSB3YXkg YXMgY29tbWl0IDhlODE2ZGY4Nzk5NyAoImdlbmV2ZTogVXNlIEdSTwpjZWxscyBpbmZyYXN0cnVj dHVyZS4iKSBvcmlnaW5hbGx5IGltcGxlbWVudGVkIGZvciBHRU5FVkUuCgpSZXBvcnRlZC1ieTog SmlhbmxpbiBTaGkgPGppc2hpQHJlZGhhdC5jb20+CkZpeGVzOiA1OGNlMzFjY2ExZmYgKCJ2eGxh bjogR1JPIHN1cHBvcnQgYXQgdHVubmVsIGxheWVyIikKU2lnbmVkLW9mZi1ieTogU3RlZmFubyBC cml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IFNhYnJpbmEgRHVicm9jYSA8 c2RAcXVlYXN5c25haWwubmV0PgpSZXZpZXdlZC1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBn b29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdnhsYW4uYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv dnhsYW4uYyBiL2RyaXZlcnMvbmV0L3Z4bGFuLmMKaW5kZXggMmFhZTExZmVmZjBjLi42ZDExZTQ5 ZGI3NzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Z4bGFuLmMKKysrIGIvZHJpdmVycy9uZXQv dnhsYW4uYwpAQCAtMjY5Myw2ICsyNjkzLDggQEAgc3RhdGljIHZvaWQgdnhsYW5fdW5pbml0KHN0 cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHZ4bGFuX2RldiAqdnhsYW4gPSBuZXRk ZXZfcHJpdihkZXYpOwogCisJZ3JvX2NlbGxzX2Rlc3Ryb3koJnZ4bGFuLT5ncm9fY2VsbHMpOwor CiAJdnhsYW5fZmRiX2RlbGV0ZV9kZWZhdWx0KHZ4bGFuLCB2eGxhbi0+Y2ZnLnZuaSk7CiAKIAlm cmVlX3BlcmNwdShkZXYtPnRzdGF0cyk7CkBAIC0zNzk0LDcgKzM3OTYsNiBAQCBzdGF0aWMgdm9p ZCB2eGxhbl9kZWxsaW5rKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBsaXN0X2hlYWQg KmhlYWQpCiAKIAl2eGxhbl9mbHVzaCh2eGxhbiwgdHJ1ZSk7CiAKLQlncm9fY2VsbHNfZGVzdHJv eSgmdnhsYW4tPmdyb19jZWxscyk7CiAJbGlzdF9kZWwoJnZ4bGFuLT5uZXh0KTsKIAl1bnJlZ2lz dGVyX25ldGRldmljZV9xdWV1ZShkZXYsIGhlYWQpOwogfQotLSAKMi4yMC4xCgoKRnJvbSBmODFh ZmU0ZDQ2MGM0Yzk4OTFkNTViNDc3MDE4MGUyMGEzNGRhZDRiIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFN1biwg MTAgTWFyIDIwMTkgMTA6MzY6NDAgLTA3MDAKU3ViamVjdDogW1BBVENIIDIzLzMwXSB2eGxhbjog dGVzdCBkZXYtPmZsYWdzICYgSUZGX1VQIGJlZm9yZSBjYWxsaW5nCiBncm9fY2VsbHNfcmVjZWl2 ZSgpCgpbIFVwc3RyZWFtIGNvbW1pdCA1OWNiZjU2ZmNkOThiYTJhNzE1YjZlOTdjNGU0M2Y3NzNm OTU2MzkzIF0KClNhbWUgcmVhc29ucyB0aGFuIHRoZSBvbmVzIGV4cGxhaW5lZCBpbiBjb21taXQg NDE3OWNiNWE0YzkyCigidnhsYW46IHRlc3QgZGV2LT5mbGFncyAmIElGRl9VUCBiZWZvcmUgY2Fs bGluZyBuZXRpZl9yeCgpIikKCm5ldGlmX3J4KCkgb3IgZ3JvX2NlbGxzX3JlY2VpdmUoKSBtdXN0 IGJlIGNhbGxlZCB1bmRlciBhIHN0cmljdCBjb250cmFjdC4KCkF0IGRldmljZSBkaXNtYW50bGUg cGhhc2UsIGNvcmUgbmV0d29ya2luZyBjbGVhcnMgSUZGX1VQCmFuZCBmbHVzaF9hbGxfYmFja2xv Z3MoKSBpcyBjYWxsZWQgYWZ0ZXIgcmN1IGdyYWNlIHBlcmlvZAp0byBtYWtlIHN1cmUgbm8gaW5j b21pbmcgcGFja2V0IG1pZ2h0IGJlIGluIGEgY3B1IGJhY2tsb2cKYW5kIHN0aWxsIHJlZmVyZW5j aW5nIHRoZSBkZXZpY2UuCgpBIHNpbWlsYXIgcHJvdG9jb2wgaXMgdXNlZCBmb3IgZ3JvX2NlbGxz IGluZnJhc3RydWN0dXJlLCBhcwpncm9fY2VsbHNfZGVzdHJveSgpIHdpbGwgYmUgY2FsbGVkIG9u bHkgYWZ0ZXIgYSBmdWxsIHJjdQpncmFjZSBwZXJpb2QgaXMgb2JzZXJ2ZWQgYWZ0ZXIgSUZGX1VQ IGhhcyBiZWVuIGNsZWFyZWQuCgpNb3N0IGRyaXZlcnMgY2FsbCBuZXRpZl9yeCgpIGZyb20gdGhl aXIgaW50ZXJydXB0IGhhbmRsZXIsCmFuZCBzaW5jZSB0aGUgaW50ZXJydXB0cyBhcmUgZGlzYWJs ZWQgYXQgZGV2aWNlIGRpc21hbnRsZSwKbmV0aWZfcngoKSBkb2VzIG5vdCBoYXZlIHRvIGNoZWNr IGRldi0+ZmxhZ3MgJiBJRkZfVVAKClZpcnR1YWwgZHJpdmVycyBkbyBub3QgaGF2ZSB0aGlzIGd1 YXJhbnRlZSwgYW5kIG11c3QKdGhlcmVmb3JlIG1ha2UgdGhlIGNoZWNrIHRoZW1zZWx2ZXMuCgpP dGhlcndpc2Ugd2UgcmlzayB1c2UtYWZ0ZXItZnJlZSBhbmQvb3IgY3Jhc2hlcy4KCkZpeGVzOiBk MzQyODk0YzVkMmYgKCJ2eGxhbjogdmlydHVhbCBleHRlbnNpYmxlIGxhbiIpClNpZ25lZC1vZmYt Ynk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3Z4bGFu LmMgfCAxMSArKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC92eGxhbi5jIGIvZHJpdmVycy9uZXQvdnhsYW4uYwppbmRl eCA2ZDExZTQ5ZGI3NzMuLmQ2ZmI2YTg5ZjliMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdnhs YW4uYworKysgYi9kcml2ZXJzL25ldC92eGxhbi5jCkBAIC0xNjU3LDYgKzE2NTcsMTQgQEAgc3Rh dGljIGludCB2eGxhbl9yY3Yoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQog CQlnb3RvIGRyb3A7CiAJfQogCisJcmN1X3JlYWRfbG9jaygpOworCisJaWYgKHVubGlrZWx5KCEo dnhsYW4tPmRldi0+ZmxhZ3MgJiBJRkZfVVApKSkgeworCQlyY3VfcmVhZF91bmxvY2soKTsKKwkJ YXRvbWljX2xvbmdfaW5jKCZ2eGxhbi0+ZGV2LT5yeF9kcm9wcGVkKTsKKwkJZ290byBkcm9wOwor CX0KKwogCXN0YXRzID0gdGhpc19jcHVfcHRyKHZ4bGFuLT5kZXYtPnRzdGF0cyk7CiAJdTY0X3N0 YXRzX3VwZGF0ZV9iZWdpbigmc3RhdHMtPnN5bmNwKTsKIAlzdGF0cy0+cnhfcGFja2V0cysrOwpA QCAtMTY2NCw2ICsxNjcyLDkgQEAgc3RhdGljIGludCB2eGxhbl9yY3Yoc3RydWN0IHNvY2sgKnNr LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXU2NF9zdGF0c191cGRhdGVfZW5kKCZzdGF0cy0+c3lu Y3ApOwogCiAJZ3JvX2NlbGxzX3JlY2VpdmUoJnZ4bGFuLT5ncm9fY2VsbHMsIHNrYik7CisKKwly Y3VfcmVhZF91bmxvY2soKTsKKwogCXJldHVybiAwOwogCiBkcm9wOgotLSAKMi4yMC4xCgoKRnJv bSA5MWExY2JiOWU3ZTk2ZTllMTYzNDQxNDU1NDBmYzJmYzlkNDFjY2FhIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKYWNrIE1vcmdlbnN0ZWluIDxqYWNrbUBkZXYubWVsbGFub3guY28u aWw+CkRhdGU6IFR1ZSwgMTIgTWFyIDIwMTkgMTc6MDU6NDcgKzAyMDAKU3ViamVjdDogW1BBVENI IDI0LzMwXSBuZXQvbWx4NF9jb3JlOiBGaXggcmVzZXQgZmxvdyB3aGVuIGluIGNvbW1hbmQgcG9s bGluZwogbW9kZQoKWyBVcHN0cmVhbSBjb21taXQgZTE1Y2U0YjhkMTEyMjcwMDc1NzdlNmRjMTM2 NGQyODhiODg3NGZiZSBdCgpBcyBwYXJ0IG9mIHVubG9hZGluZyBhIGRldmljZSwgdGhlIGRyaXZl ciBzd2l0Y2hlcyBmcm9tCkZXIGNvbW1hbmQgZXZlbnQgbW9kZSB0byBGVyBjb21tYW5kIHBvbGxp bmcgbW9kZS4KClBhcnQgb2Ygc3dpdGNoaW5nIG92ZXIgdG8gcG9sbGluZyBtb2RlIGlzIGZyZWVp bmcgdGhlIGNvbW1hbmQgY29udGV4dCBhcnJheQptZW1vcnkgKHVuZm9ydHVuYXRlbHksIGN1cnJl bnRseSwgd2l0aG91dCBOVUxMaW5nIHRoZSBjb21tYW5kIGNvbnRleHQgYXJyYXkKcG9pbnRlciku CgpUaGUgcmVzZXQgZmxvdyBjYWxscyAiY29tcGxldGUiIHRvIGNvbXBsZXRlIGFsbCBvdXRzdGFu ZGluZyBmdyBjb21tYW5kcwooaWYgd2UgYXJlIGluIGV2ZW50IG1vZGUpLiBUaGUgY2hlY2sgZm9y IGV2ZW50IHZzLiBwb2xsaW5nIG1vZGUgaGVyZQppcyB0byB0ZXN0IGlmIHRoZSBjb21tYW5kIGNv bnRleHQgYXJyYXkgcG9pbnRlciBpcyBOVUxMLgoKSWYgdGhlIHJlc2V0IGZsb3cgaXMgYWN0aXZh dGVkIGFmdGVyIHRoZSBzd2l0Y2ggdG8gcG9sbGluZyBtb2RlLCBpdCB3aWxsCmF0dGVtcHQgKGlu Y29ycmVjdGx5KSB0byBjb21wbGV0ZSBhbGwgdGhlIGNvbW1hbmRzIGluIHRoZSBjb250ZXh0IGFy cmF5IC0tCmJlY2F1c2UgdGhlIHBvaW50ZXIgd2FzIG5vdCBOVUxMZWQgd2hlbiB0aGUgZHJpdmVy IHN3aXRjaGVkIG92ZXIgdG8gcG9sbGluZwptb2RlLgoKQXMgYSByZXN1bHQsIHdlIGhhdmUgYSB1 c2UtYWZ0ZXItZnJlZSBzaXR1YXRpb24sIHdoaWNoIHJlc3VsdHMgaW4gYQprZXJuZWwgY3Jhc2gu CgpGb3IgZXhhbXBsZToKQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIg ZGVyZWZlcmVuY2UgYXQgICAgICAgICAgIChudWxsKQpJUDogWzxmZmZmZmZmZjg3NmM0YThlPl0g X193YWtlX3VwX2NvbW1vbisweDJlLzB4OTAKUEdEIDAKT29wczogMDAwMCBbIzFdIFNNUApNb2R1 bGVzIGxpbmtlZCBpbjogbmV0Y29uc29sZSBuZnN2MyBuZnNfYWNsIG5mcyBsb2NrZCBncmFjZSAu Li4KQ1BVOiAyIFBJRDogOTQwIENvbW06IGt3b3JrZXIvMjozIEtkdW1wOiBsb2FkZWQgTm90IHRh aW50ZWQgMy4xMC4wLTg2Mi5lbDcueDg2XzY0ICMxCkhhcmR3YXJlIG5hbWU6IE1pY3Jvc29mdCBD b3Jwb3JhdGlvbiBWaXJ0dWFsIE1hY2hpbmUvVmlydHVhbCBNYWNoaW5lLCBCSU9TIDA5MDAwNiAg MDQvMjgvMjAxNgpXb3JrcXVldWU6IGV2ZW50cyBodl9lamVjdF9kZXZpY2Vfd29yayBbcGNpX2h5 cGVydl0KdGFzazogZmZmZjhkMTczNGNhMGZkMCB0aTogZmZmZjhkMTczNTRiYzAwMCB0YXNrLnRp OiBmZmZmOGQxNzM1NGJjMDAwClJJUDogMDAxMDpbPGZmZmZmZmZmODc2YzRhOGU+XSAgWzxmZmZm ZmZmZjg3NmM0YThlPl0gX193YWtlX3VwX2NvbW1vbisweDJlLzB4OTAKUlNQOiAwMDE4OmZmZmY4 ZDE3MzU0YmZhMzggIEVGTEFHUzogMDAwMTAwODIKUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDog ZmZmZjhkMTczNjJkNDJjOCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKUkRYOiAwMDAwMDAwMDAwMDAw MDAxIFJTSTogMDAwMDAwMDAwMDAwMDAwMyBSREk6IGZmZmY4ZDE3MzYyZDQyYzgKUkJQOiBmZmZm OGQxNzM1NGJmYTcwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAK UjEwOiAwMDAwMDAwMDAwMDAwMjk4IFIxMTogZmZmZjhkMTczNjEwZTAwMCBSMTI6IGZmZmY4ZDE3 MzYyZDQyZDAKUjEzOiAwMDAwMDAwMDAwMDAwMjQ2IFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6 IDAwMDAwMDAwMDAwMDAwMDMKRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ZDE4 MDI2ODAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAg RVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDAwMDAwMDAwMDAwMCBDUjM6 IDAwMDAwMDAwZjE2ZDgwMDAgQ1I0OiAwMDAwMDAwMDAwMTQwNmUwCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODc2YzdhZGM+XSBjb21wbGV0ZSsweDNjLzB4NTAKIFs8ZmZmZmZmZmZjMDQyNDJmMD5d IG1seDRfY21kX3dha2VfY29tcGxldGlvbnMrMHg3MC8weDkwIFttbHg0X2NvcmVdCiBbPGZmZmZm ZmZmYzA0MWU3YjE+XSBtbHg0X2VudGVyX2Vycm9yX3N0YXRlKzB4ZTEvMHgzODAgW21seDRfY29y ZV0KIFs8ZmZmZmZmZmZjMDQxZmE0Yj5dIG1seDRfY29tbV9jbWQrMHgyOWIvMHgzNjAgW21seDRf Y29yZV0KIFs8ZmZmZmZmZmZjMDQxZmY1MT5dIF9fbWx4NF9jbWQrMHg0NDEvMHg5MjAgW21seDRf Y29yZV0KIFs8ZmZmZmZmZmY4NzdmNjJiMT5dID8gX19zbGFiX2ZyZWUrMHg4MS8weDJmMAogWzxm ZmZmZmZmZjg3OTUxMzg0Pl0gPyBfX3JhZGl4X3RyZWVfbG9va3VwKzB4ODQvMHhmMAogWzxmZmZm ZmZmZmMwNDNhOGViPl0gbWx4NF9mcmVlX210dF9yYW5nZSsweDViLzB4YjAgW21seDRfY29yZV0K IFs8ZmZmZmZmZmZjMDQzYTk1Nz5dIG1seDRfbXR0X2NsZWFudXArMHgxNy8weDIwIFttbHg0X2Nv cmVdCiBbPGZmZmZmZmZmYzA0MjcyYzc+XSBtbHg0X2ZyZWVfZXErMHhhNy8weDFjMCBbbWx4NF9j b3JlXQogWzxmZmZmZmZmZmMwNDI4MDNlPl0gbWx4NF9jbGVhbnVwX2VxX3RhYmxlKzB4ZGUvMHgx MzAgW21seDRfY29yZV0KIFs8ZmZmZmZmZmZjMDQzM2UwOD5dIG1seDRfdW5sb2FkX29uZSsweDEx OC8weDMwMCBbbWx4NF9jb3JlXQogWzxmZmZmZmZmZmMwNDM0MTkxPl0gbWx4NF9yZW1vdmVfb25l KzB4OTEvMHgxZjAgW21seDRfY29yZV0KClRoZSBmaXggaXMgdG8gc2V0IHRoZSBjb21tYW5kIGNv bnRleHQgYXJyYXkgcG9pbnRlciB0byBOVUxMIGFmdGVyIGZyZWVpbmcKdGhlIGFycmF5LgoKRml4 ZXM6IGY1YWVmNWFhMzUwNiAoIm5ldC9tbHg0X2NvcmU6IEFjdGl2YXRlIHJlc2V0IGZsb3cgdXBv biBmYXRhbCBjb21tYW5kIGNhc2VzIikKU2lnbmVkLW9mZi1ieTogSmFjayBNb3JnZW5zdGVpbiA8 amFja21AZGV2Lm1lbGxhbm94LmNvLmlsPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3VrYW4gPHRh cmlxdEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2Nt ZC5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2NtZC5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NC9jbWQuYwppbmRleCBlNjViYzNjOTU2MzAuLjI0MTQzZWUwNTQy NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9jbWQuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2NtZC5jCkBAIC0yNjg5LDYg KzI2ODksNyBAQCB2b2lkIG1seDRfY21kX3VzZV9wb2xsaW5nKHN0cnVjdCBtbHg0X2RldiAqZGV2 KQogCQlkb3duKCZwcml2LT5jbWQuZXZlbnRfc2VtKTsKIAogCWtmcmVlKHByaXYtPmNtZC5jb250 ZXh0KTsKKwlwcml2LT5jbWQuY29udGV4dCA9IE5VTEw7CiAKIAl1cCgmcHJpdi0+Y21kLnBvbGxf c2VtKTsKIAl1cF93cml0ZSgmcHJpdi0+Y21kLnN3aXRjaF9zZW0pOwotLSAKMi4yMC4xCgoKRnJv bSA0NmE3ZWI0NmE2YjA1M2FiMmM4OGIwNTEyMmRhYTE4ODU4MmIyOWNjIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKYWNrIE1vcmdlbnN0ZWluIDxqYWNrbUBkZXYubWVsbGFub3guY28u aWw+CkRhdGU6IFR1ZSwgMTIgTWFyIDIwMTkgMTc6MDU6NDggKzAyMDAKU3ViamVjdDogW1BBVENI IDI1LzMwXSBuZXQvbWx4NF9jb3JlOiBGaXggbG9ja2luZyBpbiBTUklPViBtb2RlIHdoZW4gc3dp dGNoaW5nCiBiZXR3ZWVuIGV2ZW50cyBhbmQgcG9sbGluZwoKWyBVcHN0cmVhbSBjb21taXQgYzA3 ZDI3OTI3ZjJmMmU5NmZjZDI3YmI5ZmIzMzBjOWVhNjU2MTJkMCBdCgpJbiBwcm9jZWR1cmVzIG1s eDRfY21kX3VzZV9ldmVudHMoKSBhbmQgbWx4NF9jbWRfdXNlX3BvbGxpbmcoKSwgd2UgbmVlZCB0 bwpndWFyYW50ZWUgdGhhdCB0aGVyZSBhcmUgbm8gRlcgY29tbWFuZHMgaW4gcHJvZ3Jlc3Mgb24g dGhlIGNvbW0gY2hhbm5lbAooZm9yIFZGcykgb3Igd3JhcHBlZCBGVyBjb21tYW5kcyAob24gdGhl IFBGKSB3aGVuIFNSSU9WIGlzIGFjdGl2ZS4KCldlIGRvIHRoaXMgYnkgYWxzbyB0YWtpbmcgdGhl IHNsYXZlX2NtZF9tdXRleCB3aGVuIFNSSU9WIGlzIGFjdGl2ZS4KClRoaXMgaXMgZXNwZWNpYWxs eSBpbXBvcnRhbnQgd2hlbiBzd2l0Y2hpbmcgZnJvbSBldmVudCB0byBwb2xsaW5nLCBzaW5jZSB3 ZQpmcmVlIHRoZSBjb21tYW5kLWNvbnRleHQgYXJyYXkgZHVyaW5nIHRoZSBzd2l0Y2guICBJZiB0 aGVyZSBhcmUgRlcgY29tbWFuZHMKaW4gcHJvZ3Jlc3MgKGUuZy4sIHdhaXRpbmcgZm9yIGEgY29t cGxldGlvbiBldmVudCksIHRoZSBjb21wbGV0aW9uIGV2ZW50CmhhbmRsZXIgd2lsbCBhY2Nlc3Mg ZnJlZWQgbWVtb3J5LgoKU2luY2UgdGhlIGRlY2lzaW9uIHRvIHVzZSBjb21tX3dhaXQgb3IgY29t bV9wb2xsIGlzIHRha2VuIGJlZm9yZSBncmFiYmluZwp0aGUgZXZlbnRfc2VtL3BvbGxfc2VtIGlu IG1seDRfY29tbV9jbWRfd2FpdC9wb2xsLCB3ZSBtdXN0IHRha2UgdGhlCnNsYXZlX2NtZF9tdXRl eCBhcyB3ZWxsICh0byBndWFyYW50ZWUgdGhhdCB0aGUgZGVjaXNpb24gdG8gdXNlIGV2ZW50cyBv cgpwb2xsaW5nIGFuZCB0aGUgY2FsbCB0byB0aGUgYXBwcm9wcmlhdGUgY21kIGZ1bmN0aW9uIGFy ZSBhdG9taWMpLgoKRml4ZXM6IGE3ZTFmMDQ5MDVlNSAoIm5ldC9tbHg0X2NvcmU6IEZpeCBkZWFk bG9jayB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIHBvbGxpbmcgYW5kIGV2ZW50IGZ3IGNvbW1hbmRz IikKU2lnbmVkLW9mZi1ieTogSmFjayBNb3JnZW5zdGVpbiA8amFja21AZGV2Lm1lbGxhbm94LmNv LmlsPgpTaWduZWQtb2ZmLWJ5OiBUYXJpcSBUb3VrYW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBk cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2NtZC5jIHwgOCArKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDQvY21kLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg0L2NtZC5jCmluZGV4IDI0MTQzZWUwNTQyNy4uODU3NTg4ZTI0ODhkIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2NtZC5jCisrKyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvY21kLmMKQEAgLTI2NDUsNiArMjY0NSw4IEBAIGlu dCBtbHg0X2NtZF91c2VfZXZlbnRzKHN0cnVjdCBtbHg0X2RldiAqZGV2KQogCWlmICghcHJpdi0+ Y21kLmNvbnRleHQpCiAJCXJldHVybiAtRU5PTUVNOwogCisJaWYgKG1seDRfaXNfbWZ1bmMoZGV2 KSkKKwkJbXV0ZXhfbG9jaygmcHJpdi0+Y21kLnNsYXZlX2NtZF9tdXRleCk7CiAJZG93bl93cml0 ZSgmcHJpdi0+Y21kLnN3aXRjaF9zZW0pOwogCWZvciAoaSA9IDA7IGkgPCBwcml2LT5jbWQubWF4 X2NtZHM7ICsraSkgewogCQlwcml2LT5jbWQuY29udGV4dFtpXS50b2tlbiA9IGk7CkBAIC0yNjcw LDYgKzI2NzIsOCBAQCBpbnQgbWx4NF9jbWRfdXNlX2V2ZW50cyhzdHJ1Y3QgbWx4NF9kZXYgKmRl dikKIAlkb3duKCZwcml2LT5jbWQucG9sbF9zZW0pOwogCXByaXYtPmNtZC51c2VfZXZlbnRzID0g MTsKIAl1cF93cml0ZSgmcHJpdi0+Y21kLnN3aXRjaF9zZW0pOworCWlmIChtbHg0X2lzX21mdW5j KGRldikpCisJCW11dGV4X3VubG9jaygmcHJpdi0+Y21kLnNsYXZlX2NtZF9tdXRleCk7CiAKIAly ZXR1cm4gZXJyOwogfQpAQCAtMjY4Miw2ICsyNjg2LDggQEAgdm9pZCBtbHg0X2NtZF91c2VfcG9s bGluZyhzdHJ1Y3QgbWx4NF9kZXYgKmRldikKIAlzdHJ1Y3QgbWx4NF9wcml2ICpwcml2ID0gbWx4 NF9wcml2KGRldik7CiAJaW50IGk7CiAKKwlpZiAobWx4NF9pc19tZnVuYyhkZXYpKQorCQltdXRl eF9sb2NrKCZwcml2LT5jbWQuc2xhdmVfY21kX211dGV4KTsKIAlkb3duX3dyaXRlKCZwcml2LT5j bWQuc3dpdGNoX3NlbSk7CiAJcHJpdi0+Y21kLnVzZV9ldmVudHMgPSAwOwogCkBAIC0yNjkzLDYg KzI2OTksOCBAQCB2b2lkIG1seDRfY21kX3VzZV9wb2xsaW5nKHN0cnVjdCBtbHg0X2RldiAqZGV2 KQogCiAJdXAoJnByaXYtPmNtZC5wb2xsX3NlbSk7CiAJdXBfd3JpdGUoJnByaXYtPmNtZC5zd2l0 Y2hfc2VtKTsKKwlpZiAobWx4NF9pc19tZnVuYyhkZXYpKQorCQltdXRleF91bmxvY2soJnByaXYt PmNtZC5zbGF2ZV9jbWRfbXV0ZXgpOwogfQogCiBzdHJ1Y3QgbWx4NF9jbWRfbWFpbGJveCAqbWx4 NF9hbGxvY19jbWRfbWFpbGJveChzdHJ1Y3QgbWx4NF9kZXYgKmRldikKLS0gCjIuMjAuMQoKCkZy b20gZTI0MDcyYmVmMDI3YTUxYjM3YmJlOTNlNmE2MjY1MmJkYTI5OTU1YSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSmFjayBNb3JnZW5zdGVpbiA8amFja21AZGV2Lm1lbGxhbm94LmNv LmlsPgpEYXRlOiBUdWUsIDEyIE1hciAyMDE5IDE3OjA1OjQ5ICswMjAwClN1YmplY3Q6IFtQQVRD SCAyNi8zMF0gbmV0L21seDRfY29yZTogRml4IHFwIG10dCBzaXplIGNhbGN1bGF0aW9uCgpbIFVw c3RyZWFtIGNvbW1pdCA4NTExYTY1M2U5MjUwZWYzNmI5NTgwM2MzNzVhN2JlMGUyZWRiNjI4IF0K CkNhbGN1bGF0aW9uIG9mIHFwIG10dCBzaXplIChpbiBmdW5jdGlvbiBtbHg0X1JTVDJJTklUX3dy YXBwZXIpCnVsdGltYXRlbHkgZGVwZW5kcyBvbiBmdW5jdGlvbiByb3VuZHVwX3Bvd19vZl90d28u CgpJZiB0aGUgYW1vdW50IG9mIG1lbW9yeSByZXF1aXJlZCBieSB0aGUgUVAgaXMgbGVzcyB0aGFu IG9uZSBwYWdlLApyb3VuZHVwX3Bvd19vZl90d28gaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgemVy by4gIEluIHRoaXMgY2FzZSwgdGhlCnJvdW5kdXBfcG93X29mX3R3byByZXN1bHQgaXMgdW5kZWZp bmVkLgoKQ2FsbGluZyByb3VuZHVwX3Bvd19vZl90d28gd2l0aCBhIHplcm8gYXJndW1lbnQgcmVz dWx0ZWQgaW4gdGhlCmZvbGxvd2luZyBzdGFjayB0cmFjZToKClVCU0FOOiBVbmRlZmluZWQgYmVo YXZpb3VyIGluIC4vaW5jbHVkZS9saW51eC9sb2cyLmg6NjE6MTMKc2hpZnQgZXhwb25lbnQgNjQg aXMgdG9vIGxhcmdlIGZvciA2NC1iaXQgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnCkNQVTogNCBQ SUQ6IDI2OTM5IENvbW06IHJwaW5nIFRhaW50ZWQ6IEcgT0UgNC4xOS4wLXJjMQpIYXJkd2FyZSBu YW1lOiBTdXBlcm1pY3JvIFg5RFIzLUYvWDlEUjMtRiwgQklPUyAzLjJhIDA3LzA5LzIwMTUKQ2Fs bCBUcmFjZToKZHVtcF9zdGFjaysweDlhLzB4ZWIKdWJzYW5fZXBpbG9ndWUrMHg5LzB4N2MKX191 YnNhbl9oYW5kbGVfc2hpZnRfb3V0X29mX2JvdW5kcysweDI1NC8weDI5ZAo/IF9fdWJzYW5faGFu ZGxlX2xvYWRfaW52YWxpZF92YWx1ZSsweDE4MC8weDE4MAo/IGRlYnVnX3Nob3dfYWxsX2xvY2tz KzB4MzEwLzB4MzEwCj8gc2NoZWRfY2xvY2srMHg1LzB4MTAKPyBzY2hlZF9jbG9jaysweDUvMHgx MAo/IHNjaGVkX2Nsb2NrX2NwdSsweDE4LzB4MjYwCj8gZmluZF9oZWxkX2xvY2srMHgzNS8weDFl MAo/IG1seDRfUlNUMklOSVRfUVBfd3JhcHBlcisweGZiMS8weDE0NDAgW21seDRfY29yZV0KbWx4 NF9SU1QySU5JVF9RUF93cmFwcGVyKzB4ZmIxLzB4MTQ0MCBbbWx4NF9jb3JlXQoKRml4IHRoaXMg YnkgZXhwbGljaXRseSB0ZXN0aW5nIGZvciB6ZXJvLCBhbmQgcmV0dXJuaW5nIG9uZSBpZiB0aGUK YXJndW1lbnQgaXMgemVybyAoYXNzdW1pbmcgdGhhdCB0aGUgbmV4dCBoaWdoZXIgcG93ZXIgb2Yg MiBpbiB0aGlzIGNhc2UKc2hvdWxkIGJlIG9uZSkuCgpGaXhlczogYzgyZTlhYTBhOGJjICgibWx4 NF9jb3JlOiByZXNvdXJjZSB0cmFja2luZyBmb3IgSENBIHJlc291cmNlcyB1c2VkIGJ5IGd1ZXN0 cyIpClNpZ25lZC1vZmYtYnk6IEphY2sgTW9yZ2Vuc3RlaW4gPGphY2ttQGRldi5tZWxsYW5veC5j by5pbD4KU2lnbmVkLW9mZi1ieTogVGFyaXEgVG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9yZXNvdXJjZV90cmFja2VyLmMgfCA2 ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L3Jlc291cmNl X3RyYWNrZXIuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvcmVzb3VyY2Vf dHJhY2tlci5jCmluZGV4IGViMTNkMzYxODE2Mi4uNDM1NmYzYTU4MDAyIDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L3Jlc291cmNlX3RyYWNrZXIuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L3Jlc291cmNlX3RyYWNrZXIuYwpA QCAtMjcxOSwxMyArMjcxOSwxMyBAQCBzdGF0aWMgaW50IHFwX2dldF9tdHRfc2l6ZShzdHJ1Y3Qg bWx4NF9xcF9jb250ZXh0ICpxcGMpCiAJaW50IHRvdGFsX3BhZ2VzOwogCWludCB0b3RhbF9tZW07 CiAJaW50IHBhZ2Vfb2Zmc2V0ID0gKGJlMzJfdG9fY3B1KHFwYy0+cGFyYW1zMikgPj4gNikgJiAw eDNmOworCWludCB0b3Q7CiAKIAlzcV9zaXplID0gMSA8PCAobG9nX3NxX3NpemUgKyBsb2dfc3Ff c3JpZGUgKyA0KTsKIAlycV9zaXplID0gKHNycXxyc3N8eHJjKSA/IDAgOiAoMSA8PCAobG9nX3Jx X3NpemUgKyBsb2dfcnFfc3RyaWRlICsgNCkpOwogCXRvdGFsX21lbSA9IHNxX3NpemUgKyBycV9z aXplOwotCXRvdGFsX3BhZ2VzID0KLQkJcm91bmR1cF9wb3dfb2ZfdHdvKCh0b3RhbF9tZW0gKyAo cGFnZV9vZmZzZXQgPDwgNikpID4+Ci0JCQkJICAgcGFnZV9zaGlmdCk7CisJdG90ID0gKHRvdGFs X21lbSArIChwYWdlX29mZnNldCA8PCA2KSkgPj4gcGFnZV9zaGlmdDsKKwl0b3RhbF9wYWdlcyA9 ICF0b3QgPyAxIDogcm91bmR1cF9wb3dfb2ZfdHdvKHRvdCk7CiAKIAlyZXR1cm4gdG90YWxfcGFn ZXM7CiB9Ci0tIAoyLjIwLjEKCgpGcm9tIDAzYjQ0MmE1NDRjN2QzNThlMjMyNzYxZjMwNTg1YmNi NzY1ODUwYWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFuZHJldyBMdW5uIDxhbmRy ZXdAbHVubi5jaD4KRGF0ZTogRnJpLCA4IE1hciAyMDE5IDAxOjIxOjI3ICswMTAwClN1YmplY3Q6 IFtQQVRDSCAyNy8zMF0gbmV0OiBkc2E6IG12ODhlNnh4eDogU2V0IGNvcnJlY3QgaW50ZXJmYWNl IG1vZGUgZm9yCiBDUFUvRFNBIHBvcnRzCgpbIFVwc3RyZWFtIGNvbW1pdCA3Y2JiZWUwNTBjOTU5 ZjQxYjUxMjU5OWJhZmQ5OTY4NWY0MTljZTI2IF0KCkJ5IGRlZmF1bHQsIHRoZSBzd2l0Y2ggZHJp dmVyIGlzIGV4cGVjdGVkIHRvIGNvbmZpZ3VyZSBDUFUgYW5kIERTQQpwb3J0cyB0byB0aGVpciBt YXhpbXVtIHNwZWVkLiBGb3IgdGhlIDYzNDEgYW5kIDYzOTAgZmFtaWxpZXMsIHRoZQpwb3J0cyBp bnRlcmZhY2UgbW9kZSBoYXMgdG8gYmUgY29uZmlndXJlZCBhcyB3ZWxsLiBUaGUgNjM5MFggcmFu Z2UKc3VwcG9ydCAxMEcgcG9ydHMgdXNpbmcgWEFVSSwgd2hpbGUgdGhlIDYzNDEgYW5kIDYzOTAg c3VwcG9ydHMKMjUwMEJhc2VYLCBhcyB0aGVpciBtYXhpbXVtIHNwZWVkLgoKRml4ZXM6IDc4Nzc5 OWE5ZDU1NSAoIm5ldDogZHNhOiBtdjg4ZTZ4eHg6IERlZmF1bHQgcG9ydHMgOS8xMCA2MzkwWCBD TU9ERSB0byAxMDAwQmFzZVgiKQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1 bm4uY2g+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBkcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2NoaXAuYyB8IDExICsrKysrKysrKysr CiBkcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2NoaXAuaCB8ICAzICsrKwogZHJpdmVycy9uZXQv ZHNhL212ODhlNnh4eC9wb3J0LmMgfCAyNCArKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZl cnMvbmV0L2RzYS9tdjg4ZTZ4eHgvcG9ydC5oIHwgIDQgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA0 MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9j aGlwLmMgYi9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2NoaXAuYwppbmRleCA3NmNjMTYzYjNj ZjEuLjRhMGVjOGU4N2M3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9j aGlwLmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9jaGlwLmMKQEAgLTU1OSw2ICs1 NTksOSBAQCBzdGF0aWMgaW50IG12ODhlNnh4eF9wb3J0X3NldHVwX21hYyhzdHJ1Y3QgbXY4OGU2 eHh4X2NoaXAgKmNoaXAsIGludCBwb3J0LAogCQkJZ290byByZXN0b3JlX2xpbms7CiAJfQogCisJ aWYgKHNwZWVkID09IFNQRUVEX01BWCAmJiBjaGlwLT5pbmZvLT5vcHMtPnBvcnRfbWF4X3NwZWVk X21vZGUpCisJCW1vZGUgPSBjaGlwLT5pbmZvLT5vcHMtPnBvcnRfbWF4X3NwZWVkX21vZGUocG9y dCk7CisKIAlpZiAoY2hpcC0+aW5mby0+b3BzLT5wb3J0X3NldF9wYXVzZSkgewogCQllcnIgPSBj aGlwLT5pbmZvLT5vcHMtPnBvcnRfc2V0X3BhdXNlKGNoaXAsIHBvcnQsIHBhdXNlKTsKIAkJaWYg KGVycikKQEAgLTMwNDIsNiArMzA0NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXY4OGU2eHh4 X29wcyBtdjg4ZTYxNDFfb3BzID0gewogCS5wb3J0X3NldF9kdXBsZXggPSBtdjg4ZTZ4eHhfcG9y dF9zZXRfZHVwbGV4LAogCS5wb3J0X3NldF9yZ21paV9kZWxheSA9IG12ODhlNjM5MF9wb3J0X3Nl dF9yZ21paV9kZWxheSwKIAkucG9ydF9zZXRfc3BlZWQgPSBtdjg4ZTYzNDFfcG9ydF9zZXRfc3Bl ZWQsCisJLnBvcnRfbWF4X3NwZWVkX21vZGUgPSBtdjg4ZTYzNDFfcG9ydF9tYXhfc3BlZWRfbW9k ZSwKIAkucG9ydF90YWdfcmVtYXAgPSBtdjg4ZTYwOTVfcG9ydF90YWdfcmVtYXAsCiAJLnBvcnRf c2V0X2ZyYW1lX21vZGUgPSBtdjg4ZTYzNTFfcG9ydF9zZXRfZnJhbWVfbW9kZSwKIAkucG9ydF9z ZXRfZWdyZXNzX2Zsb29kcyA9IG12ODhlNjM1Ml9wb3J0X3NldF9lZ3Jlc3NfZmxvb2RzLApAQCAt MzM2MCw2ICszMzY0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdjg4ZTZ4eHhfb3BzIG12ODhl NjE5MF9vcHMgPSB7CiAJLnBvcnRfc2V0X2R1cGxleCA9IG12ODhlNnh4eF9wb3J0X3NldF9kdXBs ZXgsCiAJLnBvcnRfc2V0X3JnbWlpX2RlbGF5ID0gbXY4OGU2MzkwX3BvcnRfc2V0X3JnbWlpX2Rl bGF5LAogCS5wb3J0X3NldF9zcGVlZCA9IG12ODhlNjM5MF9wb3J0X3NldF9zcGVlZCwKKwkucG9y dF9tYXhfc3BlZWRfbW9kZSA9IG12ODhlNjM5MF9wb3J0X21heF9zcGVlZF9tb2RlLAogCS5wb3J0 X3RhZ19yZW1hcCA9IG12ODhlNjM5MF9wb3J0X3RhZ19yZW1hcCwKIAkucG9ydF9zZXRfZnJhbWVf bW9kZSA9IG12ODhlNjM1MV9wb3J0X3NldF9mcmFtZV9tb2RlLAogCS5wb3J0X3NldF9lZ3Jlc3Nf Zmxvb2RzID0gbXY4OGU2MzUyX3BvcnRfc2V0X2VncmVzc19mbG9vZHMsCkBAIC0zNDA0LDYgKzM0 MDksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG12ODhlNnh4eF9vcHMgbXY4OGU2MTkweF9vcHMg PSB7CiAJLnBvcnRfc2V0X2R1cGxleCA9IG12ODhlNnh4eF9wb3J0X3NldF9kdXBsZXgsCiAJLnBv cnRfc2V0X3JnbWlpX2RlbGF5ID0gbXY4OGU2MzkwX3BvcnRfc2V0X3JnbWlpX2RlbGF5LAogCS5w b3J0X3NldF9zcGVlZCA9IG12ODhlNjM5MHhfcG9ydF9zZXRfc3BlZWQsCisJLnBvcnRfbWF4X3Nw ZWVkX21vZGUgPSBtdjg4ZTYzOTB4X3BvcnRfbWF4X3NwZWVkX21vZGUsCiAJLnBvcnRfdGFnX3Jl bWFwID0gbXY4OGU2MzkwX3BvcnRfdGFnX3JlbWFwLAogCS5wb3J0X3NldF9mcmFtZV9tb2RlID0g bXY4OGU2MzUxX3BvcnRfc2V0X2ZyYW1lX21vZGUsCiAJLnBvcnRfc2V0X2VncmVzc19mbG9vZHMg PSBtdjg4ZTYzNTJfcG9ydF9zZXRfZWdyZXNzX2Zsb29kcywKQEAgLTM0NDgsNiArMzQ1NCw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXY4OGU2eHh4X29wcyBtdjg4ZTYxOTFfb3BzID0gewogCS5w b3J0X3NldF9kdXBsZXggPSBtdjg4ZTZ4eHhfcG9ydF9zZXRfZHVwbGV4LAogCS5wb3J0X3NldF9y Z21paV9kZWxheSA9IG12ODhlNjM5MF9wb3J0X3NldF9yZ21paV9kZWxheSwKIAkucG9ydF9zZXRf c3BlZWQgPSBtdjg4ZTYzOTBfcG9ydF9zZXRfc3BlZWQsCisJLnBvcnRfbWF4X3NwZWVkX21vZGUg PSBtdjg4ZTYzOTBfcG9ydF9tYXhfc3BlZWRfbW9kZSwKIAkucG9ydF90YWdfcmVtYXAgPSBtdjg4 ZTYzOTBfcG9ydF90YWdfcmVtYXAsCiAJLnBvcnRfc2V0X2ZyYW1lX21vZGUgPSBtdjg4ZTYzNTFf cG9ydF9zZXRfZnJhbWVfbW9kZSwKIAkucG9ydF9zZXRfZWdyZXNzX2Zsb29kcyA9IG12ODhlNjM1 Ml9wb3J0X3NldF9lZ3Jlc3NfZmxvb2RzLApAQCAtMzU0MSw2ICszNTQ4LDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBtdjg4ZTZ4eHhfb3BzIG12ODhlNjI5MF9vcHMgPSB7CiAJLnBvcnRfc2V0X2R1 cGxleCA9IG12ODhlNnh4eF9wb3J0X3NldF9kdXBsZXgsCiAJLnBvcnRfc2V0X3JnbWlpX2RlbGF5 ID0gbXY4OGU2MzkwX3BvcnRfc2V0X3JnbWlpX2RlbGF5LAogCS5wb3J0X3NldF9zcGVlZCA9IG12 ODhlNjM5MF9wb3J0X3NldF9zcGVlZCwKKwkucG9ydF9tYXhfc3BlZWRfbW9kZSA9IG12ODhlNjM5 MF9wb3J0X21heF9zcGVlZF9tb2RlLAogCS5wb3J0X3RhZ19yZW1hcCA9IG12ODhlNjM5MF9wb3J0 X3RhZ19yZW1hcCwKIAkucG9ydF9zZXRfZnJhbWVfbW9kZSA9IG12ODhlNjM1MV9wb3J0X3NldF9m cmFtZV9tb2RlLAogCS5wb3J0X3NldF9lZ3Jlc3NfZmxvb2RzID0gbXY4OGU2MzUyX3BvcnRfc2V0 X2VncmVzc19mbG9vZHMsCkBAIC0zNjcyLDYgKzM2ODAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IG12ODhlNnh4eF9vcHMgbXY4OGU2MzQxX29wcyA9IHsKIAkucG9ydF9zZXRfZHVwbGV4ID0gbXY4 OGU2eHh4X3BvcnRfc2V0X2R1cGxleCwKIAkucG9ydF9zZXRfcmdtaWlfZGVsYXkgPSBtdjg4ZTYz OTBfcG9ydF9zZXRfcmdtaWlfZGVsYXksCiAJLnBvcnRfc2V0X3NwZWVkID0gbXY4OGU2MzQxX3Bv cnRfc2V0X3NwZWVkLAorCS5wb3J0X21heF9zcGVlZF9tb2RlID0gbXY4OGU2MzQxX3BvcnRfbWF4 X3NwZWVkX21vZGUsCiAJLnBvcnRfdGFnX3JlbWFwID0gbXY4OGU2MDk1X3BvcnRfdGFnX3JlbWFw LAogCS5wb3J0X3NldF9mcmFtZV9tb2RlID0gbXY4OGU2MzUxX3BvcnRfc2V0X2ZyYW1lX21vZGUs CiAJLnBvcnRfc2V0X2VncmVzc19mbG9vZHMgPSBtdjg4ZTYzNTJfcG9ydF9zZXRfZWdyZXNzX2Zs b29kcywKQEAgLTM4NDcsNiArMzg1Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXY4OGU2eHh4 X29wcyBtdjg4ZTYzOTBfb3BzID0gewogCS5wb3J0X3NldF9kdXBsZXggPSBtdjg4ZTZ4eHhfcG9y dF9zZXRfZHVwbGV4LAogCS5wb3J0X3NldF9yZ21paV9kZWxheSA9IG12ODhlNjM5MF9wb3J0X3Nl dF9yZ21paV9kZWxheSwKIAkucG9ydF9zZXRfc3BlZWQgPSBtdjg4ZTYzOTBfcG9ydF9zZXRfc3Bl ZWQsCisJLnBvcnRfbWF4X3NwZWVkX21vZGUgPSBtdjg4ZTYzOTBfcG9ydF9tYXhfc3BlZWRfbW9k ZSwKIAkucG9ydF90YWdfcmVtYXAgPSBtdjg4ZTYzOTBfcG9ydF90YWdfcmVtYXAsCiAJLnBvcnRf c2V0X2ZyYW1lX21vZGUgPSBtdjg4ZTYzNTFfcG9ydF9zZXRfZnJhbWVfbW9kZSwKIAkucG9ydF9z ZXRfZWdyZXNzX2Zsb29kcyA9IG12ODhlNjM1Ml9wb3J0X3NldF9lZ3Jlc3NfZmxvb2RzLApAQCAt Mzg5NSw2ICszOTA1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdjg4ZTZ4eHhfb3BzIG12ODhl NjM5MHhfb3BzID0gewogCS5wb3J0X3NldF9kdXBsZXggPSBtdjg4ZTZ4eHhfcG9ydF9zZXRfZHVw bGV4LAogCS5wb3J0X3NldF9yZ21paV9kZWxheSA9IG12ODhlNjM5MF9wb3J0X3NldF9yZ21paV9k ZWxheSwKIAkucG9ydF9zZXRfc3BlZWQgPSBtdjg4ZTYzOTB4X3BvcnRfc2V0X3NwZWVkLAorCS5w b3J0X21heF9zcGVlZF9tb2RlID0gbXY4OGU2MzkweF9wb3J0X21heF9zcGVlZF9tb2RlLAogCS5w b3J0X3RhZ19yZW1hcCA9IG12ODhlNjM5MF9wb3J0X3RhZ19yZW1hcCwKIAkucG9ydF9zZXRfZnJh bWVfbW9kZSA9IG12ODhlNjM1MV9wb3J0X3NldF9mcmFtZV9tb2RlLAogCS5wb3J0X3NldF9lZ3Jl c3NfZmxvb2RzID0gbXY4OGU2MzUyX3BvcnRfc2V0X2VncmVzc19mbG9vZHMsCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2NoaXAuaCBiL2RyaXZlcnMvbmV0L2RzYS9tdjg4 ZTZ4eHgvY2hpcC5oCmluZGV4IDU0NjY1MWQ4YzNlMS4uZGZiMWFmNjVjMjA1IDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2NoaXAuaAorKysgYi9kcml2ZXJzL25ldC9kc2Ev bXY4OGU2eHh4L2NoaXAuaApAQCAtMzc3LDYgKzM3Nyw5IEBAIHN0cnVjdCBtdjg4ZTZ4eHhfb3Bz IHsKIAkgKi8KIAlpbnQgKCpwb3J0X3NldF9zcGVlZCkoc3RydWN0IG12ODhlNnh4eF9jaGlwICpj aGlwLCBpbnQgcG9ydCwgaW50IHNwZWVkKTsKIAorCS8qIFdoYXQgaW50ZXJmYWNlIG1vZGUgc2hv dWxkIGJlIHVzZWQgZm9yIG1heGltdW0gc3BlZWQ/ICovCisJcGh5X2ludGVyZmFjZV90ICgqcG9y dF9tYXhfc3BlZWRfbW9kZSkoaW50IHBvcnQpOworCiAJaW50ICgqcG9ydF90YWdfcmVtYXApKHN0 cnVjdCBtdjg4ZTZ4eHhfY2hpcCAqY2hpcCwgaW50IHBvcnQpOwogCiAJaW50ICgqcG9ydF9zZXRf ZnJhbWVfbW9kZSkoc3RydWN0IG12ODhlNnh4eF9jaGlwICpjaGlwLCBpbnQgcG9ydCwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvcG9ydC5jIGIvZHJpdmVycy9uZXQvZHNh L212ODhlNnh4eC9wb3J0LmMKaW5kZXggMTg0YzJiMWIzMTE1Li41ZTkyMWJiNmMyMTQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvcG9ydC5jCisrKyBiL2RyaXZlcnMvbmV0 L2RzYS9tdjg4ZTZ4eHgvcG9ydC5jCkBAIC0zMTIsNiArMzEyLDE0IEBAIGludCBtdjg4ZTYzNDFf cG9ydF9zZXRfc3BlZWQoc3RydWN0IG12ODhlNnh4eF9jaGlwICpjaGlwLCBpbnQgcG9ydCwgaW50 IHNwZWVkKQogCXJldHVybiBtdjg4ZTZ4eHhfcG9ydF9zZXRfc3BlZWQoY2hpcCwgcG9ydCwgc3Bl ZWQsICFwb3J0LCB0cnVlKTsKIH0KIAorcGh5X2ludGVyZmFjZV90IG12ODhlNjM0MV9wb3J0X21h eF9zcGVlZF9tb2RlKGludCBwb3J0KQoreworCWlmIChwb3J0ID09IDUpCisJCXJldHVybiBQSFlf SU5URVJGQUNFX01PREVfMjUwMEJBU0VYOworCisJcmV0dXJuIFBIWV9JTlRFUkZBQ0VfTU9ERV9O QTsKK30KKwogLyogU3VwcG9ydCAxMCwgMTAwLCAyMDAsIDEwMDAgTWJwcyAoZS5nLiA4OEU2MzUy IGZhbWlseSkgKi8KIGludCBtdjg4ZTYzNTJfcG9ydF9zZXRfc3BlZWQoc3RydWN0IG12ODhlNnh4 eF9jaGlwICpjaGlwLCBpbnQgcG9ydCwgaW50IHNwZWVkKQogewpAQCAtMzQ1LDYgKzM1MywxNCBA QCBpbnQgbXY4OGU2MzkwX3BvcnRfc2V0X3NwZWVkKHN0cnVjdCBtdjg4ZTZ4eHhfY2hpcCAqY2hp cCwgaW50IHBvcnQsIGludCBzcGVlZCkKIAlyZXR1cm4gbXY4OGU2eHh4X3BvcnRfc2V0X3NwZWVk KGNoaXAsIHBvcnQsIHNwZWVkLCB0cnVlLCB0cnVlKTsKIH0KIAorcGh5X2ludGVyZmFjZV90IG12 ODhlNjM5MF9wb3J0X21heF9zcGVlZF9tb2RlKGludCBwb3J0KQoreworCWlmIChwb3J0ID09IDkg fHwgcG9ydCA9PSAxMCkKKwkJcmV0dXJuIFBIWV9JTlRFUkZBQ0VfTU9ERV8yNTAwQkFTRVg7CisK KwlyZXR1cm4gUEhZX0lOVEVSRkFDRV9NT0RFX05BOworfQorCiAvKiBTdXBwb3J0IDEwLCAxMDAs IDIwMCwgMTAwMCwgMjUwMCwgMTAwMDAgTWJwcyAoZS5nLiA4OEU2MTkwWCkgKi8KIGludCBtdjg4 ZTYzOTB4X3BvcnRfc2V0X3NwZWVkKHN0cnVjdCBtdjg4ZTZ4eHhfY2hpcCAqY2hpcCwgaW50IHBv cnQsIGludCBzcGVlZCkKIHsKQEAgLTM2MCw2ICszNzYsMTQgQEAgaW50IG12ODhlNjM5MHhfcG9y dF9zZXRfc3BlZWQoc3RydWN0IG12ODhlNnh4eF9jaGlwICpjaGlwLCBpbnQgcG9ydCwgaW50IHNw ZWVkKQogCXJldHVybiBtdjg4ZTZ4eHhfcG9ydF9zZXRfc3BlZWQoY2hpcCwgcG9ydCwgc3BlZWQs IHRydWUsIHRydWUpOwogfQogCitwaHlfaW50ZXJmYWNlX3QgbXY4OGU2MzkweF9wb3J0X21heF9z cGVlZF9tb2RlKGludCBwb3J0KQoreworCWlmIChwb3J0ID09IDkgfHwgcG9ydCA9PSAxMCkKKwkJ cmV0dXJuIFBIWV9JTlRFUkZBQ0VfTU9ERV9YQVVJOworCisJcmV0dXJuIFBIWV9JTlRFUkZBQ0Vf TU9ERV9OQTsKK30KKwogaW50IG12ODhlNjM5MHhfcG9ydF9zZXRfY21vZGUoc3RydWN0IG12ODhl Nnh4eF9jaGlwICpjaGlwLCBpbnQgcG9ydCwKIAkJCSAgICAgIHBoeV9pbnRlcmZhY2VfdCBtb2Rl KQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9wb3J0LmggYi9kcml2 ZXJzL25ldC9kc2EvbXY4OGU2eHh4L3BvcnQuaAppbmRleCA0YWFkZjMyMWVkYjcuLmM3YmVkMjYz YTBmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9wb3J0LmgKKysrIGIv ZHJpdmVycy9uZXQvZHNhL212ODhlNnh4eC9wb3J0LmgKQEAgLTI4NSw2ICsyODUsMTAgQEAgaW50 IG12ODhlNjM1Ml9wb3J0X3NldF9zcGVlZChzdHJ1Y3QgbXY4OGU2eHh4X2NoaXAgKmNoaXAsIGlu dCBwb3J0LCBpbnQgc3BlZWQpOwogaW50IG12ODhlNjM5MF9wb3J0X3NldF9zcGVlZChzdHJ1Y3Qg bXY4OGU2eHh4X2NoaXAgKmNoaXAsIGludCBwb3J0LCBpbnQgc3BlZWQpOwogaW50IG12ODhlNjM5 MHhfcG9ydF9zZXRfc3BlZWQoc3RydWN0IG12ODhlNnh4eF9jaGlwICpjaGlwLCBpbnQgcG9ydCwg aW50IHNwZWVkKTsKIAorcGh5X2ludGVyZmFjZV90IG12ODhlNjM0MV9wb3J0X21heF9zcGVlZF9t b2RlKGludCBwb3J0KTsKK3BoeV9pbnRlcmZhY2VfdCBtdjg4ZTYzOTBfcG9ydF9tYXhfc3BlZWRf bW9kZShpbnQgcG9ydCk7CitwaHlfaW50ZXJmYWNlX3QgbXY4OGU2MzkweF9wb3J0X21heF9zcGVl ZF9tb2RlKGludCBwb3J0KTsKKwogaW50IG12ODhlNnh4eF9wb3J0X3NldF9zdGF0ZShzdHJ1Y3Qg bXY4OGU2eHh4X2NoaXAgKmNoaXAsIGludCBwb3J0LCB1OCBzdGF0ZSk7CiAKIGludCBtdjg4ZTZ4 eHhfcG9ydF9zZXRfdmxhbl9tYXAoc3RydWN0IG12ODhlNnh4eF9jaGlwICpjaGlwLCBpbnQgcG9y dCwgdTE2IG1hcCk7Ci0tIAoyLjIwLjEKCgpGcm9tIGFiYjdmMTg3ZTZhZTIwNTg2YTE2Y2Q2MTUw NmM1MmQxYjdiOGYzNzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNoaWp1IEpvc2Ug PHNoaWp1Lmpvc2VAaHVhd2VpLmNvbT4KRGF0ZTogU3VuLCAxMCBNYXIgMjAxOSAxNDo0Nzo1MSAr MDgwMApTdWJqZWN0OiBbUEFUQ0ggMjgvMzBdIG5ldDogaG5zMzogZml4IHRvIHN0b3AgbXVsdGlw bGUgSE5TIHJlc2V0IGR1ZSB0byB0aGUKIEFFUiBjaGFuZ2VzCgpbIFVwc3RyZWFtIGNvbW1pdCA2 OWI1MWJiYjAzZjczZTA0YzQ4NmY3OWQxNTU2YjJkOWJlY2Y0ZGJjIF0KClRoZSBjb21taXQgYmZj Yjc5ZmNhMTlkCigiUENJL0VSUjogUnVuIGVycm9yIHJlY292ZXJ5IGNhbGxiYWNrcyBmb3IgYWxs IGFmZmVjdGVkIGRldmljZXMiKQphZmZlY3RlZCB0aGUgbm9uLWZhdGFsIGVycm9yIHJlY292ZXJ5 IGxvZ2ljIGZvciB0aGUgSE5TIGFuZCBSRE1BIGRldmljZXMuClRoaXMgaXMgYmVjYXVzZSBlYWNo IEhOUyBQRiB1bmRlciBQQ0llIGJ1cyByZWNlaXZlIGNhbGxiYWNrcwpmcm9tIHRoZSBBRVIgZHJp dmVyIHdoZW4gYW4gZXJyb3IgaXMgcmVwb3J0ZWQgZm9yIG9uZSBvZiB0aGUgUEYuClRoaXMgY2F1 c2VzIHVud2FudGVkIFBGIHJlc2V0cyBiZWNhdXNlCnRoZSBITlMgZGVjaWRlcyB3aGljaCBQRiB0 byByZXNldCBiYXNlZCBvbiB0aGUgcmVzZXQgdHlwZSBzZXQuClRoZSBITlMgZXJyb3IgaGFuZGxp bmcgY29kZSBzZXRzIHRoZSByZXNldCB0eXBlIGJhc2VkIG9uIHRoZSBodyBlcnJvcgp0eXBlIGRl dGVjdGVkLgoKVGhpcyBwYXRjaCBwcm92aWRlcyBmaXggZm9yIHRoZSBhYm92ZSBpc3N1ZSBmb3Ig dGhlIHJlY292ZXJ5IG9mCnRoZSBodyBlcnJvcnMgaW4gdGhlIEhOUyBhbmQgUkRNQSBkZXZpY2Vz LgoKVGhpcyBwYXRjaCBuZWVkcyBiYWNrcG9ydGluZyB0byB0aGUga2VybmVsIHY1LjArCgpGaXhl czogMzMyZmJmNTc2NTc5ICgibmV0OiBobnMzOiBhZGQgaGFuZGxpbmcgb2YgaHcgcmFzIGVycm9y cyB1c2luZyBuZXcgc2V0IG9mIGNvbW1hbmRzIikKUmVwb3J0ZWQtYnk6IFhpYW9mZWkgVGFuIDx0 YW54aWFvZmVpQGh1YXdlaS5jb20+ClNpZ25lZC1vZmYtYnk6IFNoaWp1IEpvc2UgPHNoaWp1Lmpv c2VAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogSHVhemhvbmcgVGFuIDx0YW5odWF6aG9uZ0Bo dWF3ZWkuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvaGlzaWxpY29uL2huczMvaG5hZTMuaCAg ICAgICAgICAgIHwgMSArCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9oaXNpbGljb24vaG5zMy9obnMz X2VuZXQuYyAgICAgICAgfCA0ICsrKy0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2lsaWNvbi9o bnMzL2huczNwZi9oY2xnZV9lcnIuYyB8IDkgKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDEx IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvaGlzaWxpY29uL2huczMvaG5hZTMuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hp c2lsaWNvbi9obnMzL2huYWUzLmgKaW5kZXggMzZlYWIzN2Q4YTQwLi4wOWM3NzRmZTg4NTMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2lsaWNvbi9obnMzL2huYWUzLmgKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaGlzaWxpY29uL2huczMvaG5hZTMuaApAQCAtMTkyLDYg KzE5Miw3IEBAIHN0cnVjdCBobmFlM19hZV9kZXYgewogCWNvbnN0IHN0cnVjdCBobmFlM19hZV9v cHMgKm9wczsKIAlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7CiAJdTMyIGZsYWc7CisJdTggb3ZlcnJp ZGVfcGNpX25lZWRfcmVzZXQ7IC8qIGZpeCB0byBzdG9wIG11bHRpcGxlIHJlc2V0IGhhcHBlbmlu ZyAqLwogCWVudW0gaG5hZTNfZGV2X3R5cGUgZGV2X3R5cGU7CiAJZW51bSBobmFlM19yZXNldF90 eXBlIHJlc2V0X3R5cGU7CiAJdm9pZCAqcHJpdjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L2hpc2lsaWNvbi9obnMzL2huczNfZW5ldC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv aGlzaWxpY29uL2huczMvaG5zM19lbmV0LmMKaW5kZXggODgyZDJkMmFjZGZhLi5kODRjNTAwNjhm NjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2lsaWNvbi9obnMzL2huczNf ZW5ldC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2lsaWNvbi9obnMzL2huczNfZW5l dC5jCkBAIC0xODUyLDcgKzE4NTIsOSBAQCBzdGF0aWMgcGNpX2Vyc19yZXN1bHRfdCBobnMzX3Ns b3RfcmVzZXQoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiAKIAkvKiByZXF1ZXN0IHRoZSByZXNldCAq LwogCWlmIChhZV9kZXYtPm9wcy0+cmVzZXRfZXZlbnQpIHsKLQkJYWVfZGV2LT5vcHMtPnJlc2V0 X2V2ZW50KHBkZXYsIE5VTEwpOworCQlpZiAoIWFlX2Rldi0+b3ZlcnJpZGVfcGNpX25lZWRfcmVz ZXQpCisJCQlhZV9kZXYtPm9wcy0+cmVzZXRfZXZlbnQocGRldiwgTlVMTCk7CisKIAkJcmV0dXJu IFBDSV9FUlNfUkVTVUxUX1JFQ09WRVJFRDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L2hpc2lsaWNvbi9obnMzL2huczNwZi9oY2xnZV9lcnIuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L2hpc2lsaWNvbi9obnMzL2huczNwZi9oY2xnZV9lcnIuYwppbmRleCBkMGY2NTQx MjNiOWIuLmVmYjZjMWEyNTE3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaGlz aWxpY29uL2huczMvaG5zM3BmL2hjbGdlX2Vyci5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2hpc2lsaWNvbi9obnMzL2huczNwZi9oY2xnZV9lcnIuYwpAQCAtMTI1OSw4ICsxMjU5LDEwIEBA IHBjaV9lcnNfcmVzdWx0X3QgaGNsZ2VfaGFuZGxlX2h3X3Jhc19lcnJvcihzdHJ1Y3QgaG5hZTNf YWVfZGV2ICphZV9kZXYpCiAJCWhjbGdlX2hhbmRsZV9hbGxfcmFzX2Vycm9ycyhoZGV2KTsKIAl9 IGVsc2UgewogCQlpZiAodGVzdF9iaXQoSENMR0VfU1RBVEVfUlNUX0hBTkRMSU5HLCAmaGRldi0+ c3RhdGUpIHx8Ci0JCSAgICBoZGV2LT5wZGV2LT5yZXZpc2lvbiA8IDB4MjEpCisJCSAgICBoZGV2 LT5wZGV2LT5yZXZpc2lvbiA8IDB4MjEpIHsKKwkJCWFlX2Rldi0+b3ZlcnJpZGVfcGNpX25lZWRf cmVzZXQgPSAxOwogCQkJcmV0dXJuIFBDSV9FUlNfUkVTVUxUX1JFQ09WRVJFRDsKKwkJfQogCX0K IAogCWlmIChzdGF0dXMgJiBIQ0xHRV9SQVNfUkVHX1JPQ0VFX0VSUl9NQVNLKSB7CkBAIC0xMjY5 LDggKzEyNzEsMTEgQEAgcGNpX2Vyc19yZXN1bHRfdCBoY2xnZV9oYW5kbGVfaHdfcmFzX2Vycm9y KHN0cnVjdCBobmFlM19hZV9kZXYgKmFlX2RldikKIAl9CiAKIAlpZiAoc3RhdHVzICYgSENMR0Vf UkFTX1JFR19ORkVfTUFTSyB8fAotCSAgICBzdGF0dXMgJiBIQ0xHRV9SQVNfUkVHX1JPQ0VFX0VS Ul9NQVNLKQorCSAgICBzdGF0dXMgJiBIQ0xHRV9SQVNfUkVHX1JPQ0VFX0VSUl9NQVNLKSB7CisJ CWFlX2Rldi0+b3ZlcnJpZGVfcGNpX25lZWRfcmVzZXQgPSAwOwogCQlyZXR1cm4gUENJX0VSU19S RVNVTFRfTkVFRF9SRVNFVDsKKwl9CisJYWVfZGV2LT5vdmVycmlkZV9wY2lfbmVlZF9yZXNldCA9 IDE7CiAKIAlyZXR1cm4gUENJX0VSU19SRVNVTFRfUkVDT1ZFUkVEOwogfQotLSAKMi4yMC4xCgoK RnJvbSBjNTU3NDJiNjZkNzNkODQ0Yzg2N2Q0OTkyMGNlYjMwMDFlNmNmMTEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/QWRhbGJlcnQ9MjBMYXo9QzQ9ODNyPz0gPGFs YXphckBiaXRkZWZlbmRlci5jb20+CkRhdGU6IFdlZCwgNiBNYXIgMjAxOSAxMjoxMzo1MyArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMjkvMzBdIHZzb2NrL3ZpcnRpbzogZml4IGtlcm5lbCBwYW5pYyBm cm9tCiB2aXJ0aW9fdHJhbnNwb3J0X3Jlc2V0X25vX3NvY2sKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDRjNDA0Y2UyMzM1OGQ1ZDhmYmRlYjdhNjAy MWE5YjMzZDNjM2MxNjcgXQoKUHJldmlvdXMgdG8gY29tbWl0IDIyYjVjMGI2M2YzMiAoInZzb2Nr L3ZpcnRpbzogZml4IGtlcm5lbCBwYW5pYwphZnRlciBkZXZpY2UgaG90LXVucGx1ZyIpLCB2c29j a19jb3JlX2luaXQoKSB3YXMgY2FsbGVkIGZyb20KdmlydGlvX3Zzb2NrX3Byb2JlKCkuIE5vdywg dmlydGlvX3RyYW5zcG9ydF9yZXNldF9ub19zb2NrKCkgY2FuIGJlIGNhbGxlZApiZWZvcmUgdnNv Y2tfY29yZV9pbml0KCkgaGFzIHRoZSBjaGFuY2UgdG8gcnVuLgoKW1dlZCBGZWIgMjcgMTQ6MTc6 MDkgMjAxOV0gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZl cmVuY2UgYXQgMDAwMDAwMDAwMDAwMDExMApbV2VkIEZlYiAyNyAxNDoxNzowOSAyMDE5XSAjUEYg ZXJyb3I6IFtub3JtYWwga2VybmVsIHJlYWQgZmF1bHRdCltXZWQgRmViIDI3IDE0OjE3OjA5IDIw MTldIFBHRCAwIFA0RCAwCltXZWQgRmViIDI3IDE0OjE3OjA5IDIwMTldIE9vcHM6IDAwMDAgWyMx XSBTTVAgUFRJCltXZWQgRmViIDI3IDE0OjE3OjA5IDIwMTldIENQVTogMyBQSUQ6IDU5IENvbW06 IGt3b3JrZXIvMzoxIE5vdCB0YWludGVkIDUuMC4wLXJjNy0zOTAtZ2VuZXJpYy1odmkgIzM5MApb V2VkIEZlYiAyNyAxNDoxNzowOSAyMDE5XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBD IChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUyBVYnVudHUtMS44LjItMXVidW50dTEgMDQvMDEv MjAxNApbV2VkIEZlYiAyNyAxNDoxNzowOSAyMDE5XSBXb3JrcXVldWU6IHZpcnRpb192c29jayB2 aXJ0aW9fdHJhbnNwb3J0X3J4X3dvcmsgW3Ztd192c29ja192aXJ0aW9fdHJhbnNwb3J0XQpbV2Vk IEZlYiAyNyAxNDoxNzowOSAyMDE5XSBSSVA6IDAwMTA6dmlydGlvX3RyYW5zcG9ydF9yZXNldF9u b19zb2NrKzB4OGMvMHhjMCBbdm13X3Zzb2NrX3ZpcnRpb190cmFuc3BvcnRfY29tbW9uXQpbV2Vk IEZlYiAyNyAxNDoxNzowOSAyMDE5XSBDb2RlOiAzNSA4YiA0ZiAxNCA0OCA4YiA1NyAwOCAzMSBm NiA0NCA4YiA0ZiAxMCA0NCA4YiAwNyA0OCA4ZCA3ZCBjOCBlOCA4NCBmOCBmZiBmZiA0OCA4NSBj MCA0OCA4OSBjMyA3NCAyYSBlOCBmNyAzMSAwMyAwMCA0OCA4OSBkZiA8NDg+IDhiIDgwIDEwIDAx IDAwIDAwIGU4IDY4IGZiIDY5IGVkIDQ4IDhiIDc1IGYwIDY1IDQ4IDMzIDM0IDI1IDI4CltXZWQg RmViIDI3IDE0OjE3OjA5IDIwMTldIFJTUDogMDAxODpmZmZmYjQyNzAxYWI3ZDQwIEVGTEFHUzog MDAwMTAyODIKW1dlZCBGZWIgMjcgMTQ6MTc6MDkgMjAxOV0gUkFYOiAwMDAwMDAwMDAwMDAwMDAw IFJCWDogZmZmZjlkNzk2MzdlZTA4MCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDMKW1dlZCBGZWIgMjcg MTQ6MTc6MDkgMjAxOV0gUkRYOiAwMDAwMDAwMDAwMDAwMDAxIFJTSTogMDAwMDAwMDAwMDAwMDAw MiBSREk6IGZmZmY5ZDc5NjM3ZWUwODAKW1dlZCBGZWIgMjcgMTQ6MTc6MDkgMjAxOV0gUkJQOiBm ZmZmYjQyNzAxYWI3ZDc4IFIwODogZmZmZjlkNzk2ZmFlNzBlMCBSMDk6IGZmZmY5ZDc5NmY0MDM1 MDAKW1dlZCBGZWIgMjcgMTQ6MTc6MDkgMjAxOV0gUjEwOiBmZmZmYjQyNzAxYWI3ZDkwIFIxMTog MDAwMDAwMDAwMDAwMDAwMCBSMTI6IGZmZmY5ZDc5NjlkMDkyNDAKW1dlZCBGZWIgMjcgMTQ6MTc6 MDkgMjAxOV0gUjEzOiBmZmZmOWQ3OTYyNGU2ODQwIFIxNDogZmZmZjlkNzk2OWQwOTMxOCBSMTU6 IGZmZmY5ZDc5NmQ0OGZmODAKW1dlZCBGZWIgMjcgMTQ6MTc6MDkgMjAxOV0gRlM6ICAwMDAwMDAw MDAwMDAwMDAwKDAwMDApIEdTOmZmZmY5ZDc5NmZhYzAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAw MDAwMDAwMApbV2VkIEZlYiAyNyAxNDoxNzowOSAyMDE5XSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6 IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCltXZWQgRmViIDI3IDE0OjE3OjA5IDIwMTldIENS MjogMDAwMDAwMDAwMDAwMDExMCBDUjM6IDAwMDAwMDA0MjdmMjIwMDAgQ1I0OiAwMDAwMDAwMDAw MDAwNmUwCltXZWQgRmViIDI3IDE0OjE3OjA5IDIwMTldIERSMDogMDAwMDAwMDAwMDAwMDAwMCBE UjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwCltXZWQgRmViIDI3IDE0 OjE3OjA5IDIwMTldIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAg RFI3OiAwMDAwMDAwMDAwMDAwNDAwCltXZWQgRmViIDI3IDE0OjE3OjA5IDIwMTldIENhbGwgVHJh Y2U6CltXZWQgRmViIDI3IDE0OjE3OjA5IDIwMTldICB2aXJ0aW9fdHJhbnNwb3J0X3JlY3ZfcGt0 KzB4NjMvMHg4MjAgW3Ztd192c29ja192aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbl0KW1dlZCBGZWIg MjcgMTQ6MTc6MDkgMjAxOV0gID8ga2ZyZWUrMHgxN2UvMHgxOTAKW1dlZCBGZWIgMjcgMTQ6MTc6 MDkgMjAxOV0gID8gZGV0YWNoX2J1Zl9zcGxpdCsweDE0NS8weDE2MApbV2VkIEZlYiAyNyAxNDox NzowOSAyMDE5XSAgPyBfX3N3aXRjaF90b19hc20rMHg0MC8weDcwCltXZWQgRmViIDI3IDE0OjE3 OjA5IDIwMTldICB2aXJ0aW9fdHJhbnNwb3J0X3J4X3dvcmsrMHhhMC8weDEwNiBbdm13X3Zzb2Nr X3ZpcnRpb190cmFuc3BvcnRdCltXZWQgRmViIDI3IDE0OjE3OjA5IDIwMTldIE5FVDogUmVnaXN0 ZXJlZCBwcm90b2NvbCBmYW1pbHkgNDAKW1dlZCBGZWIgMjcgMTQ6MTc6MDkgMjAxOV0gIHByb2Nl c3Nfb25lX3dvcmsrMHgxNjcvMHg0MTAKW1dlZCBGZWIgMjcgMTQ6MTc6MDkgMjAxOV0gIHdvcmtl cl90aHJlYWQrMHg0ZC8weDQ2MApbV2VkIEZlYiAyNyAxNDoxNzowOSAyMDE5XSAga3RocmVhZCsw eDEwNS8weDE0MApbV2VkIEZlYiAyNyAxNDoxNzowOSAyMDE5XSAgPyByZXNjdWVyX3RocmVhZCsw eDM2MC8weDM2MApbV2VkIEZlYiAyNyAxNDoxNzowOSAyMDE5XSAgPyBrdGhyZWFkX2Rlc3Ryb3lf d29ya2VyKzB4NTAvMHg1MApbV2VkIEZlYiAyNyAxNDoxNzowOSAyMDE5XSAgcmV0X2Zyb21fZm9y aysweDM1LzB4NDAKW1dlZCBGZWIgMjcgMTQ6MTc6MDkgMjAxOV0gTW9kdWxlcyBsaW5rZWQgaW46 IHZtd192c29ja192aXJ0aW9fdHJhbnNwb3J0IHZtd192c29ja192aXJ0aW9fdHJhbnNwb3J0X2Nv bW1vbiBpbnB1dF9sZWRzIHZzb2NrIHNlcmlvX3JhdyBpMmNfcGlpeDQgbWFjX2hpZCBxZW11X2Z3 X2NmZyBhdXRvZnM0IGNpcnJ1cyB0dG0gZHJtX2ttc19oZWxwZXIgc3lzY29weWFyZWEgc3lzZmls bHJlY3Qgc3lzaW1nYmx0IGZiX3N5c19mb3BzIHZpcnRpb19uZXQgcHNtb3VzZSBkcm0gbmV0X2Zh aWxvdmVyIHBhdGFfYWNwaSB2aXJ0aW9fYmxrIGZhaWxvdmVyIGZsb3BweQoKRml4ZXM6IDIyYjVj MGI2M2YzMiAoInZzb2NrL3ZpcnRpbzogZml4IGtlcm5lbCBwYW5pYyBhZnRlciBkZXZpY2UgaG90 LXVucGx1ZyIpClJlcG9ydGVkLWJ5OiBBbGV4YW5kcnUgSGVyZ2hlbGVnaXUgPGFoZXJnaGVsZWdp dUBiaXRkZWZlbmRlci5jb20+ClNpZ25lZC1vZmYtYnk6IEFkYWxiZXJ0IExhesSDciA8YWxhemFy QGJpdGRlZmVuZGVyLmNvbT4KQ28tZGV2ZWxvcGVkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZh bmhhQHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJl ZGhhdC5jb20+ClJldmlld2VkLWJ5OiBTdGVmYW5vIEdhcnphcmVsbGEgPHNnYXJ6YXJlQHJlZGhh dC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBuZXQvdm13X3Zzb2NrL3ZpcnRpb190cmFuc3BvcnRfY29tbW9uLmMgfCAyMiArKysr KysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdm13X3Zzb2NrL3ZpcnRpb190cmFuc3BvcnRf Y29tbW9uLmMgYi9uZXQvdm13X3Zzb2NrL3ZpcnRpb190cmFuc3BvcnRfY29tbW9uLmMKaW5kZXgg M2FlM2EzM2RhNzBiLi42MDI3MTVmYzlhNzUgMTAwNjQ0Ci0tLSBhL25ldC92bXdfdnNvY2svdmly dGlvX3RyYW5zcG9ydF9jb21tb24uYworKysgYi9uZXQvdm13X3Zzb2NrL3ZpcnRpb190cmFuc3Bv cnRfY29tbW9uLmMKQEAgLTY2Miw2ICs2NjIsOCBAQCBzdGF0aWMgaW50IHZpcnRpb190cmFuc3Bv cnRfcmVzZXQoc3RydWN0IHZzb2NrX3NvY2sgKnZzaywKICAqLwogc3RhdGljIGludCB2aXJ0aW9f dHJhbnNwb3J0X3Jlc2V0X25vX3NvY2soc3RydWN0IHZpcnRpb192c29ja19wa3QgKnBrdCkKIHsK Kwljb25zdCBzdHJ1Y3QgdmlydGlvX3RyYW5zcG9ydCAqdDsKKwlzdHJ1Y3QgdmlydGlvX3Zzb2Nr X3BrdCAqcmVwbHk7CiAJc3RydWN0IHZpcnRpb192c29ja19wa3RfaW5mbyBpbmZvID0gewogCQku b3AgPSBWSVJUSU9fVlNPQ0tfT1BfUlNULAogCQkudHlwZSA9IGxlMTZfdG9fY3B1KHBrdC0+aGRy LnR5cGUpLApAQCAtNjcyLDE1ICs2NzQsMjEgQEAgc3RhdGljIGludCB2aXJ0aW9fdHJhbnNwb3J0 X3Jlc2V0X25vX3NvY2soc3RydWN0IHZpcnRpb192c29ja19wa3QgKnBrdCkKIAlpZiAobGUxNl90 b19jcHUocGt0LT5oZHIub3ApID09IFZJUlRJT19WU09DS19PUF9SU1QpCiAJCXJldHVybiAwOwog Ci0JcGt0ID0gdmlydGlvX3RyYW5zcG9ydF9hbGxvY19wa3QoJmluZm8sIDAsCi0JCQkJCSBsZTY0 X3RvX2NwdShwa3QtPmhkci5kc3RfY2lkKSwKLQkJCQkJIGxlMzJfdG9fY3B1KHBrdC0+aGRyLmRz dF9wb3J0KSwKLQkJCQkJIGxlNjRfdG9fY3B1KHBrdC0+aGRyLnNyY19jaWQpLAotCQkJCQkgbGUz Ml90b19jcHUocGt0LT5oZHIuc3JjX3BvcnQpKTsKLQlpZiAoIXBrdCkKKwlyZXBseSA9IHZpcnRp b190cmFuc3BvcnRfYWxsb2NfcGt0KCZpbmZvLCAwLAorCQkJCQkgICBsZTY0X3RvX2NwdShwa3Qt Pmhkci5kc3RfY2lkKSwKKwkJCQkJICAgbGUzMl90b19jcHUocGt0LT5oZHIuZHN0X3BvcnQpLAor CQkJCQkgICBsZTY0X3RvX2NwdShwa3QtPmhkci5zcmNfY2lkKSwKKwkJCQkJICAgbGUzMl90b19j cHUocGt0LT5oZHIuc3JjX3BvcnQpKTsKKwlpZiAoIXJlcGx5KQogCQlyZXR1cm4gLUVOT01FTTsK IAotCXJldHVybiB2aXJ0aW9fdHJhbnNwb3J0X2dldF9vcHMoKS0+c2VuZF9wa3QocGt0KTsKKwl0 ID0gdmlydGlvX3RyYW5zcG9ydF9nZXRfb3BzKCk7CisJaWYgKCF0KSB7CisJCXZpcnRpb190cmFu c3BvcnRfZnJlZV9wa3QocmVwbHkpOworCQlyZXR1cm4gLUVOT1RDT05OOworCX0KKworCXJldHVy biB0LT5zZW5kX3BrdChyZXBseSk7CiB9CiAKIHN0YXRpYyB2b2lkIHZpcnRpb190cmFuc3BvcnRf d2FpdF9jbG9zZShzdHJ1Y3Qgc29jayAqc2ssIGxvbmcgdGltZW91dCkKLS0gCjIuMjAuMQoKCkZy b20gMzk2M2FiNzRmNmM4ZGFmNGEwMTRiN2I1ODQ4ZGJkM2Y2MGM1NjU3MCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogVmxhZCBCdXNsb3YgPHZsYWRidUBtZWxsYW5veC5jb20+CkRhdGU6 IFdlZCwgNiBNYXIgMjAxOSAxNjoyMjoxMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzAvMzBdIG5l dDogc2NoZWQ6IGZsb3dlcjogaW5zZXJ0IG5ldyBmaWx0ZXIgdG8gaWRyIGFmdGVyCiBzZXR0aW5n IGl0cyBtYXNrCgpbIFVwc3RyZWFtIGNvbW1pdCBlY2IzZGVhNDAwZDNiZWFmNjExY2U3NmFjN2E1 MWQ0MjMwNDkyY2YyIF0KCldoZW4gYWRkaW5nIG5ldyBmaWx0ZXIgdG8gZmxvd2VyIGNsYXNzaWZp ZXIsIGZsX2NoYW5nZSgpIGluc2VydHMgaXQgdG8KaGFuZGxlX2lkciBiZWZvcmUgaW5pdGlhbGl6 aW5nIGZpbHRlciBleHRlbnNpb25zIGFuZCBhc3NpZ25pbmcgaXQgYSBtYXNrLgpOb3JtYWxseSB0 aGlzIG9yZGVyaW5nIGRvZXNuJ3QgbWF0dGVyIGJlY2F1c2UgYWxsIGZsb3dlciBjbGFzc2lmaWVy IG9wcwpjYWxsYmFja3MgYXNzdW1lIHJ0bmwgbG9jayBwcm90ZWN0aW9uLiBIb3dldmVyLCB3aGVu IGZpbHRlciBoYXMgYW4gYWN0aW9uCnRoYXQgZG9lc24ndCBoYXZlIGl0cyBrZXJuZWwgbW9kdWxl IGxvYWRlZCwgcnRubCBsb2NrIGlzIHJlbGVhc2VkIGJlZm9yZQpjYWxsIHRvIHJlcXVlc3RfbW9k dWxlKCkuIER1cmluZyB0aGlzIHRpbWUgdGhlIGZpbHRlciBjYW4gYmUgYWNjZXNzZWQgYnUKY29u Y3VycmVudCB0YXNrIGJlZm9yZSBpdHMgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGVkLCB3aGlj aCBjYW4gbGVhZCB0byBhCmNyYXNoLgoKRXhhbXBsZSBjYXNlIG9mIE5VTEwgcG9pbnRlciBkZXJl ZmVyZW5jZSBpbiBjb25jdXJyZW50IGR1bXA6CgpUYXNrIDEgICAgICAgICAgICAgICAgICAgICAg ICAgICBUYXNrIDIKCnRjX25ld190ZmlsdGVyKCkKIGZsX2NoYW5nZSgpCiAgaWRyX2FsbG9jX3Uz MihmbmV3KQogIGZsX3NldF9wYXJtcygpCiAgIHRjZl9leHRzX3ZhbGlkYXRlKCkKICAgIHRjZl9h Y3Rpb25faW5pdCgpCiAgICAgdGNmX2FjdGlvbl9pbml0XzEoKQogICAgICBydG5sX3VubG9jaygp CiAgICAgIHJlcXVlc3RfbW9kdWxlKCkKICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgICAg cnRubF9sb2NrKCkKICAgICAgCQkJCSB0Y19kdW1wX3RmaWx0ZXIoKQogICAgICAJCQkJICB0Y2Zf Y2hhaW5fZHVtcCgpCgkJCQkgICBmbF93YWxrKCkKCQkJCSAgICBpZHJfZ2V0X25leHRfdWwoKQoJ CQkJICAgIHRjZl9ub2RlX2R1bXAoKQoJCQkJICAgICB0Y2ZfZmlsbF9ub2RlKCkKCQkJCSAgICAg IGZsX2R1bXAoKQoJCQkJICAgICAgIG1hc2sgPSAmZi0+bWFzay0+a2V5OyA8LSBOVUxMIHB0cgog ICAgICBydG5sX2xvY2soKQoKRXh0ZW5zaW9uIGluaXRpYWxpemF0aW9uIGFuZCBtYXNrIGFzc2ln bm1lbnQgZG9uJ3QgZGVwZW5kIG9uIGZuZXctPmhhbmRsZQp0aGF0IGlzIGFsbG9jYXRlZCBieSBp ZHJfYWxsb2NfdTMyKCkuIE1vdmUgaWRyIGFsbG9jYXRpb24gY29kZSBhZnRlciBhY3Rpb24KY3Jl YXRpb24gYW5kIG1hc2sgYXNzaWdubWVudCBpbiBmbF9jaGFuZ2UoKSB0byBwcmV2ZW50IGNvbmN1 cnJlbnQgYWNjZXNzCnRvIG5vdCBmdWxseSBpbml0aWFsaXplZCBmaWx0ZXIgd2hlbiBydG5sIGxv Y2sgaXMgcmVsZWFzZWQgdG8gbG9hZCBhY3Rpb24KbW9kdWxlLgoKRml4ZXM6IDAxNjgzYTE0Njk5 OSAoIm5ldDogc2NoZWQ6IHJlZmFjdG9yIGZsb3dlciB3YWxrIHRvIGl0ZXJhdGUgb3ZlciBpZHIi KQpTaWduZWQtb2ZmLWJ5OiBWbGFkIEJ1c2xvdiA8dmxhZGJ1QG1lbGxhbm94LmNvbT4KUmV2aWV3 ZWQtYnk6IFJvaSBEYXlhbiA8cm9pZEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvY2xzX2Zsb3dl ci5jIHwgNDMgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbmV0L3NjaGVkL2Nsc19mbG93ZXIuYyBiL25ldC9zY2hlZC9jbHNfZmxvd2VyLmMKaW5kZXgg MTJjYTlkMTNkYjgzLi5iZjY3YWU1YWMxYzMgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9jbHNfZmxv d2VyLmMKKysrIGIvbmV0L3NjaGVkL2Nsc19mbG93ZXIuYwpAQCAtMTMyNyw0NiArMTMyNyw0NiBA QCBzdGF0aWMgaW50IGZsX2NoYW5nZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBza19idWZmICpp bl9za2IsCiAJaWYgKGVyciA8IDApCiAJCWdvdG8gZXJyb3V0OwogCi0JaWYgKCFoYW5kbGUpIHsK LQkJaGFuZGxlID0gMTsKLQkJZXJyID0gaWRyX2FsbG9jX3UzMigmaGVhZC0+aGFuZGxlX2lkciwg Zm5ldywgJmhhbmRsZSwKLQkJCQkgICAgSU5UX01BWCwgR0ZQX0tFUk5FTCk7Ci0JfSBlbHNlIGlm ICghZm9sZCkgewotCQkvKiB1c2VyIHNwZWNpZmllcyBhIGhhbmRsZSBhbmQgaXQgZG9lc24ndCBl eGlzdCAqLwotCQllcnIgPSBpZHJfYWxsb2NfdTMyKCZoZWFkLT5oYW5kbGVfaWRyLCBmbmV3LCAm aGFuZGxlLAotCQkJCSAgICBoYW5kbGUsIEdGUF9LRVJORUwpOwotCX0KLQlpZiAoZXJyKQotCQln b3RvIGVycm91dDsKLQlmbmV3LT5oYW5kbGUgPSBoYW5kbGU7Ci0KIAlpZiAodGJbVENBX0ZMT1dF Ul9GTEFHU10pIHsKIAkJZm5ldy0+ZmxhZ3MgPSBubGFfZ2V0X3UzMih0YltUQ0FfRkxPV0VSX0ZM QUdTXSk7CiAKIAkJaWYgKCF0Y19mbGFnc192YWxpZChmbmV3LT5mbGFncykpIHsKIAkJCWVyciA9 IC1FSU5WQUw7Ci0JCQlnb3RvIGVycm91dF9pZHI7CisJCQlnb3RvIGVycm91dDsKIAkJfQogCX0K IAogCWVyciA9IGZsX3NldF9wYXJtcyhuZXQsIHRwLCBmbmV3LCBtYXNrLCBiYXNlLCB0YiwgdGNh W1RDQV9SQVRFXSwgb3ZyLAogCQkJICAgdHAtPmNoYWluLT50bXBsdF9wcml2LCBleHRhY2spOwog CWlmIChlcnIpCi0JCWdvdG8gZXJyb3V0X2lkcjsKKwkJZ290byBlcnJvdXQ7CiAKIAllcnIgPSBm bF9jaGVja19hc3NpZ25fbWFzayhoZWFkLCBmbmV3LCBmb2xkLCBtYXNrKTsKIAlpZiAoZXJyKQot CQlnb3RvIGVycm91dF9pZHI7CisJCWdvdG8gZXJyb3V0OworCisJaWYgKCFoYW5kbGUpIHsKKwkJ aGFuZGxlID0gMTsKKwkJZXJyID0gaWRyX2FsbG9jX3UzMigmaGVhZC0+aGFuZGxlX2lkciwgZm5l dywgJmhhbmRsZSwKKwkJCQkgICAgSU5UX01BWCwgR0ZQX0tFUk5FTCk7CisJfSBlbHNlIGlmICgh Zm9sZCkgeworCQkvKiB1c2VyIHNwZWNpZmllcyBhIGhhbmRsZSBhbmQgaXQgZG9lc24ndCBleGlz dCAqLworCQllcnIgPSBpZHJfYWxsb2NfdTMyKCZoZWFkLT5oYW5kbGVfaWRyLCBmbmV3LCAmaGFu ZGxlLAorCQkJCSAgICBoYW5kbGUsIEdGUF9LRVJORUwpOworCX0KKwlpZiAoZXJyKQorCQlnb3Rv IGVycm91dF9tYXNrOworCWZuZXctPmhhbmRsZSA9IGhhbmRsZTsKIAogCWlmICghZm9sZCAmJiBf X2ZsX2xvb2t1cChmbmV3LT5tYXNrLCAmZm5ldy0+bWtleSkpIHsKIAkJZXJyID0gLUVFWElTVDsK LQkJZ290byBlcnJvdXRfbWFzazsKKwkJZ290byBlcnJvdXRfaWRyOwogCX0KIAogCWVyciA9IHJo YXNodGFibGVfaW5zZXJ0X2Zhc3QoJmZuZXctPm1hc2stPmh0LCAmZm5ldy0+aHRfbm9kZSwKIAkJ CQkgICAgIGZuZXctPm1hc2stPmZpbHRlcl9odF9wYXJhbXMpOwogCWlmIChlcnIpCi0JCWdvdG8g ZXJyb3V0X21hc2s7CisJCWdvdG8gZXJyb3V0X2lkcjsKIAogCWlmICghdGNfc2tpcF9odyhmbmV3 LT5mbGFncykpIHsKIAkJZXJyID0gZmxfaHdfcmVwbGFjZV9maWx0ZXIodHAsIGZuZXcsIGV4dGFj ayk7CkBAIC0xNDA1LDEyICsxNDA1LDEzIEBAIHN0YXRpYyBpbnQgZmxfY2hhbmdlKHN0cnVjdCBu ZXQgKm5ldCwgc3RydWN0IHNrX2J1ZmYgKmluX3NrYiwKIAlyaGFzaHRhYmxlX3JlbW92ZV9mYXN0 KCZmbmV3LT5tYXNrLT5odCwgJmZuZXctPmh0X25vZGUsCiAJCQkgICAgICAgZm5ldy0+bWFzay0+ ZmlsdGVyX2h0X3BhcmFtcyk7CiAKLWVycm91dF9tYXNrOgotCWZsX21hc2tfcHV0KGhlYWQsIGZu ZXctPm1hc2ssIGZhbHNlKTsKLQogZXJyb3V0X2lkcjoKIAlpZiAoIWZvbGQpCiAJCWlkcl9yZW1v dmUoJmhlYWQtPmhhbmRsZV9pZHIsIGZuZXctPmhhbmRsZSk7CisKK2Vycm91dF9tYXNrOgorCWZs X21hc2tfcHV0KGhlYWQsIGZuZXctPm1hc2ssIGZhbHNlKTsKKwogZXJyb3V0OgogCXRjZl9leHRz X2Rlc3Ryb3koJmZuZXctPmV4dHMpOwogCWtmcmVlKGZuZXcpOwotLSAKMi4yMC4xCgo= ----Next_Part(Thu_Mar_14_18_47_45_2019_728)----