Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp2795461pxp; Tue, 22 Mar 2022 06:19:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzMx5u7IotSl8T9LQNsOK6UIpGYvWbfM7givCMM7Oeh723k7OuWd7nw1wKoCgNXPBsQ09To X-Received: by 2002:a17:902:e8c2:b0:151:cae6:46fa with SMTP id v2-20020a170902e8c200b00151cae646famr17996355plg.164.1647955187551; Tue, 22 Mar 2022 06:19:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647955187; cv=none; d=google.com; s=arc-20160816; b=xkcGZoVTuHzMc0RSMoaO76cRiEM68jh1H3bv78UR51fGFj67rV7ElHtzFG+PNRhuAJ 1wu/FStcgmsbK0Mq8mhrgJ2FXBnbZc8WaCJJSQ128QtxBWBy4mdFaw5tw5tjUtOuVcsp ASXK2RMlGAzRO9nbkMGtMFDcZvJR30GrRL0leD1L19f5pOQiB9f+2hyNfjLPlTIGm9GU p5Xs96tSz2AFUQr5/ThTBSl2NW4qrjzFsRX00+i/1XBGpEnPiUlsT6caI/vW/NUPDs0M PNn7MdPshaGde3FSi2DkIpuO1rOWeh357lelythxM1LJxPDHBEZCLTtYh8wdHXxFSFAf zXLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=dnp1qavOeNfOYoPbFGQ9US/5phfvS3Q2uCSIF3Ilslk=; b=O2LseWQq7k5mrnA48EnTw+UmoBekqZmYukzrzU+gF1+easRyHhMH3M04uwk9vRtCu0 KY7OlnSnEQmr0x2x8RiFi/d4Q1XSzw4OaolLpAaYKrwnBYRTQEWJS76Rv1bwsakN/OH3 LAx4V9UuQRcoAuU3q/1aQzVqnp/YoyjLtTAGvPN67GRUjNPuHRqJsjpka/SZi2hXyMP+ FR+cGhPSZKLoHJ7J57FNBr5+3R/76/BTeMmrvs61PnnH/3pClhXqxPXPWMpeBDeDkXxe URi7Fe49wpsVYnEil3UAJBnb86KMPHOOZtvnZSJK4/ZdM8iqJyG54hr8Z+4Eo9sulssH fAOg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t190-20020a6378c7000000b003816043f0acsi17486396pgc.673.2022.03.22.06.19.14; Tue, 22 Mar 2022 06:19:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233171AbiCVKmb (ORCPT + 99 others); Tue, 22 Mar 2022 06:42:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232261AbiCVKm2 (ORCPT ); Tue, 22 Mar 2022 06:42:28 -0400 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 37E6C80236 for ; Tue, 22 Mar 2022 03:41:00 -0700 (PDT) Received: by mail-lf1-f51.google.com with SMTP id p15so18299666lfk.8 for ; Tue, 22 Mar 2022 03:41:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=dnp1qavOeNfOYoPbFGQ9US/5phfvS3Q2uCSIF3Ilslk=; b=ZK7eF/j3KdWrMi1CAWQsruCn1M0o5uLSzLeoJJwxgA8yzJu2hY/ybmL4nllLS3OnPH sGXBEVXshmqkhmieJNMppkWNCACLGujcQ5n6adtBDHdMKvespD3o9Vy5yATKO3OsdCe+ pDfVejIwdxo8s0ZbQyuC/dAiS5QjJHqy/R0uC/wWDFqOuIyQtbok334RSYet9UanQNX2 v6rUYVkqtr9pAjrg5Nc0ofcjbfOlN5KYYGEpNj6Xl6IwBkdTCBvkvhGV+GceErwp7tig LnGj2LrJYaKHxT5i1O5h3lMqggwWguvfiR9MnI/VtrDUOzp+jwPkuEOxmCgzUr3zEqlo 2Bnw== X-Gm-Message-State: AOAM530GcmjiKiwyeIvyp4YPw83sDtTi8WmawR53+x3D0EYFuSJmYS9t MzVNdKtm52RTT/brwHLi5WLepENS1U4j9mmMx/GUBv9dPfk= X-Received: by 2002:a05:6512:3d89:b0:44a:2ee3:cce7 with SMTP id k9-20020a0565123d8900b0044a2ee3cce7mr5751735lfv.6.1647945658437; Tue, 22 Mar 2022 03:40:58 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Adam Pigg Date: Tue, 22 Mar 2022 10:40:46 +0000 Message-ID: Subject: Re: GATT issue, possible bluez bug? To: Luiz Augusto von Dentz Cc: "linux-bluetooth@vger.kernel.org" Content-Type: multipart/mixed; boundary="00000000000094b59d05dacc3f8b" X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org --00000000000094b59d05dacc3f8b Content-Type: text/plain; charset="UTF-8" Hi Luiz On Tue, 22 Mar 2022 at 07:55, Adam Pigg wrote: > > Hi Luiz > > On Tue, 22 Mar 2022 at 00:44, Luiz Augusto von Dentz > wrote: > > > > Hi Adam, > > > > On Mon, Mar 21, 2022 at 4:03 PM Adam Pigg wrote: > > > > > > Hi > > > > > > A bit of background, I write a linux desktop/mobile app called > > > Amazfish which interfaces with several watches over BLE using their > > > GATT services. To do this, I use the bluez dbus api (technically a > > > thin wrapper around it I wrote called qble > > > https://github.com/piggz/qble) > > > > > > All has been good so far, I support several generations of > > > Huami/Amazfit watches, as well as the open source Pinetime and > > > Bangle.js. For the Amazfit watches, i have implementations for older > > > devies such as the Bip, and newer ones such as the GTS. > > > > > > Much of the reverse engineering comes from the Android Gadget Bridge > > > project, which supports many more devices. > > > > > > My community of users donated to buy me a newer device called a GTR2, > > > which, according to the GB devs uses the same protocol as the slightly > > > older GTS, and the packet captures I have from Android would support > > > this. > > > > > > But this is where my trouble starts with Bluez, my existing > > > implementation doesnt work at all. Normally, after a connection, I > > > would wait for the ServicesResolved signal, which happens pretty fast > > > on all other devices, but on the GTR2, it takes about 30 seconds, by > > > which time, the watch has disconnected. (i get a disconnected signal > > > immediately after the ServicesResolved signal) > > > > > > To rule out my code, I have tried several things: > > > Gatttool > > > With gattool, i can connect, get the services, enable a notification, > > > write a value and get the expected results seemingly fine > > > > > > Python-gatt (using the bluez dbus api) > > > Im unable to iterate the services, like my app, it takes 30 seconds to > > > get the signal and then swiftly disconnects > > > > > > Gattlib (https://github.com/labapart/gattlib) > > > Gattlib is interesting as it appears to have "borrowed" much of its > > > code directly from bluez. When built against the system bluez, if the > > > version is > 5.42, it will use the dbus api. When I do this, again im > > > unable to list services on the watch. However, if I edit the build to > > > force it to use its internal gatt implementation, which appears to be > > > the same one used by gatttool, then, it IS able to interrogate the > > > watch. > > > > > > I have attached 3 files > > > 1. test python program which should print services, and associated btmon > > > 2. btmon output while using gatttool > > > 3. btmon output running gattlib discover example > > > > > > Note, other than discovery, I havnt been able to get gattlib to > > > read/write/notify! > > > > > > It seems as though I may be triggering a bug in the bluez dbus api? > > > Can anyone suggest anything? > > > > What version are you using? I would first try with the latest to see > > if that something already fixed. > > > > > Im using 5.63 already, which is the latest tag (on opensuse tumbleweed) > > I'll also try bluetoothctl and attach logs using that, though I > suspect it will behave the same as the python library and my own > library. > Attached is the output of btmon while using bluetoothctl bluetoothctl behaves the same as my lib and python, it is unable to list services, and after a while, emits the ServicesResolved and disconnected messages at the same time. Im sure it should be able to list the services immediately after connect just like gatttool can. Thanks > > -- > > Luiz Augusto von Dentz --00000000000094b59d05dacc3f8b Content-Type: text/plain; charset="US-ASCII"; name="btmon_bluetoothctl.txt" Content-Disposition: attachment; filename="btmon_bluetoothctl.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l1209gom0 Ymx1ZXRvb3RoY3RsOgoKW2JsdWV0b290aF0jIGNvbm5lY3QgRjg6QzM6RDE6QjA6NUE6M0EKQXR0 ZW1wdGluZyB0byBjb25uZWN0IHRvIEY4OkMzOkQxOkIwOjVBOjNBCltDSEddIERldmljZSBGODpD MzpEMTpCMDo1QTozQSBDb25uZWN0ZWQ6IHllcwpDb25uZWN0aW9uIHN1Y2Nlc3NmdWwKW0FtYXpm aXQgR1RSIDJdIyBtZW51IGdhdHQKTWVudSBnYXR0OgpBdmFpbGFibGUgY29tbWFuZHM6Ci0tLS0t LS0tLS0tLS0tLS0tLS0KbGlzdC1hdHRyaWJ1dGVzIFtkZXYvbG9jYWxdICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IGF0dHJpYnV0ZXMKc2VsZWN0LWF0dHJpYnV0ZSA8YXR0cmlidXRlL1VVSUQ+ ICAgICAgICAgICAgICAgICBTZWxlY3QgYXR0cmlidXRlCmF0dHJpYnV0ZS1pbmZvIFthdHRyaWJ1 dGUvVVVJRF0gICAgICAgICAgICAgICAgICAgU2VsZWN0IGF0dHJpYnV0ZQpyZWFkIFtvZmZzZXRd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWQgYXR0cmlidXRlIHZhbHVl CndyaXRlIDxkYXRhPXh4IHh4IC4uLj4gW29mZnNldF0gW3R5cGVdICAgICAgICAgICAgV3JpdGUg YXR0cmlidXRlIHZhbHVlCmFjcXVpcmUtd3JpdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQWNxdWlyZSBXcml0ZSBmaWxlIGRlc2NyaXB0b3IKcmVsZWFzZS13cml0ZSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIFdyaXRlIGZpbGUgZGVzY3Jp cHRvcgphY3F1aXJlLW5vdGlmeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFj cXVpcmUgTm90aWZ5IGZpbGUgZGVzY3JpcHRvcgpyZWxlYXNlLW5vdGlmeSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgTm90aWZ5IGZpbGUgZGVzY3JpcHRvcgpub3Rp ZnkgPG9uL29mZj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSBhdHRy aWJ1dGUgdmFsdWUKY2xvbmUgW2Rldi9hdHRyaWJ1dGUvVVVJRF0gICAgICAgICAgICAgICAgICAg ICAgICBDbG9uZSBhIGRldmljZSBvciBhdHRyaWJ1dGUKcmVnaXN0ZXItYXBwbGljYXRpb24gW1VV SUQgLi4uXSAgICAgICAgICAgICAgICAgICBSZWdpc3RlciBwcm9maWxlIHRvIGNvbm5lY3QKdW5y ZWdpc3Rlci1hcHBsaWNhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbnJlZ2lzdGVy IHByb2ZpbGUKcmVnaXN0ZXItc2VydmljZSA8VVVJRD4gW2hhbmRsZV0gICAgICAgICAgICAgICAg ICBSZWdpc3RlciBhcHBsaWNhdGlvbiBzZXJ2aWNlLgp1bnJlZ2lzdGVyLXNlcnZpY2UgPFVVSUQv b2JqZWN0PiAgICAgICAgICAgICAgICAgIFVucmVnaXN0ZXIgYXBwbGljYXRpb24gc2VydmljZQpy ZWdpc3Rlci1pbmNsdWRlcyA8VVVJRD4gW2hhbmRsZV0gICAgICAgICAgICAgICAgIFJlZ2lzdGVy IGFzIEluY2x1ZGVkIHNlcnZpY2UgaW4uCnVucmVnaXN0ZXItaW5jbHVkZXMgPFNlcnZpY2UtVVVJ RD48SW5jLVVVSUQ+ICAgICAgVW5yZWdpc3RlciBJbmNsdWRlZCBzZXJ2aWNlLgpyZWdpc3Rlci1j aGFyYWN0ZXJpc3RpYyA8VVVJRD4gPEZsYWdzPXJlYWQsd3JpdGUsbm90aWZ5Li4uPiBbaGFuZGxl XSBSZWdpc3RlciBhcHBsaWNhdGlvbiBjaGFyYWN0ZXJpc3RpYwp1bnJlZ2lzdGVyLWNoYXJhY3Rl cmlzdGljIDxVVUlEL29iamVjdD4gICAgICAgICAgIFVucmVnaXN0ZXIgYXBwbGljYXRpb24gY2hh cmFjdGVyaXN0aWMKcmVnaXN0ZXItZGVzY3JpcHRvciA8VVVJRD4gPEZsYWdzPXJlYWQsd3JpdGUu Li4+IFtoYW5kbGVdIFJlZ2lzdGVyIGFwcGxpY2F0aW9uIGRlc2NyaXB0b3IKdW5yZWdpc3Rlci1k ZXNjcmlwdG9yIDxVVUlEL29iamVjdD4gICAgICAgICAgICAgICBVbnJlZ2lzdGVyIGFwcGxpY2F0 aW9uIGRlc2NyaXB0b3IKYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gdG8gbWFpbiBtZW51CnZlcnNpb24gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSB2ZXJzaW9uCnF1aXQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXVpdCBwcm9ncmFtCmV4aXQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXVpdCBwcm9ncmFtCmhlbHAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBoZWxwIGFi b3V0IHRoaXMgcHJvZ3JhbQpleHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFByaW50IGVudmlyb25tZW50IHZhcmlhYmxlcwpbQW1hemZpdCBHVFIgMl0jIGxp c3QtYXR0cmlidXRlcwpbQW1hemZpdCBHVFIgMl0jIGxpc3QtYXR0cmlidXRlcwpbQ0hHXSBEZXZp Y2UgRjg6QzM6RDE6QjA6NUE6M0EgU2VydmljZXNSZXNvbHZlZDogeWVzCltDSEddIERldmljZSBG ODpDMzpEMTpCMDo1QTozQSBTZXJ2aWNlc1Jlc29sdmVkOiBubwpbQ0hHXSBEZXZpY2UgRjg6QzM6 RDE6QjA6NUE6M0EgQ29ubmVjdGVkOiBubwpbYmx1ZXRvb3RoXSMgbGlzdC1hdHRyaWJ1dGVzCk1p c3NpbmcgZGV2aWNlIGFkZHJlc3MgYXJndW1lbnQKW2JsdWV0b290aF0jCgoKCi0tLS0tLS0tLS0K CmJ0bW9uOgoKcGlnZ3pAYWRhbS1sYXB0b3AgfiAkIHN1ZG8gYnRtb24KQmx1ZXRvb3RoIG1vbml0 b3IgdmVyIDUuNjMKPSBOb3RlOiBMaW51eCB2ZXJzaW9uIDUuMTYuMTQtMS1kZWZhdWx0ICh4ODZf NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDAuNzg5NDgxCj0gTm90ZTogQmx1ZXRvb3RoIHN1YnN5c3Rl bSB2ZXJzaW9uIDIuMjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjc4OTQ5MQo9IE5ldyBJ bmRleDogREM6NTM6NjA6NTE6MDA6QzYgKFByaW1hcnksVVNCLGhjaTApICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGNp MF0gMC43ODk0OTMKPSBPcGVuIEluZGV4OiBEQzo1Mzo2MDo1MTowMDpDNiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgW2hjaTBdIDAuNzg5NDk1Cj0gSW5kZXggSW5mbzogREM6NTM6NjA6NTE6 MDA6QzYgKEludGVsIENvcnAuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoY2kwXSAwLjc4OTQ5NwpAIE1HTVQg T3BlbjogYmx1ZXRvb3RoZCAocHJpdmlsZWdlZCkgdmVyc2lvbiAxLjIxICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezB4MDAw MX0gMC43ODk1MDEKPCBIQ0kgQ29tbWFuZDogTEUgU2V0IFNjYW4gUGFyYW1ldGVycyAoMHgwOHww eDAwMGIpIHBsZW4gNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjMSBbaGNpMF0gMjMuODI4MTIxCiAgICAgICAgVHlwZTogUGFzc2l2ZSAoMHgw MCkKICAgICAgICBJbnRlcnZhbDogNjAuMDAwIG1zZWMgKDB4MDA2MCkKICAgICAgICBXaW5kb3c6 IDYwLjAwMCBtc2VjICgweDAwNjApCiAgICAgICAgT3duIGFkZHJlc3MgdHlwZTogUHVibGljICgw eDAwKQogICAgICAgIEZpbHRlciBwb2xpY3k6IEFjY2VwdCBhbGwgYWR2ZXJ0aXNlbWVudCAoMHgw MCkKPiBIQ0kgRXZlbnQ6IENvbW1hbmQgQ29tcGxldGUgKDB4MGUpIHBsZW4gNCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjMiBbaGNpMF0gMjMuOTQ1OTM0CiAgICAgIExFIFNldCBTY2FuIFBhcmFtZXRlcnMgKDB4MDh8 MHgwMDBiKSBuY21kIDEKICAgICAgICBTdGF0dXM6IFN1Y2Nlc3MgKDB4MDApCjwgSENJIENvbW1h bmQ6IExFIFNldCBTY2FuIEVuYWJsZSAoMHgwOHwweDAwMGMpIHBsZW4gMiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzMgW2hjaTBdIDIz Ljk0NTk1OQogICAgICAgIFNjYW5uaW5nOiBFbmFibGVkICgweDAxKQogICAgICAgIEZpbHRlciBk dXBsaWNhdGVzOiBFbmFibGVkICgweDAxKQo+IEhDSSBFdmVudDogQ29tbWFuZCBDb21wbGV0ZSAo MHgwZSkgcGxlbiA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICM0IFtoY2kwXSAyMy45NDY5MjMKICAgICAgTEUgU2V0 IFNjYW4gRW5hYmxlICgweDA4fDB4MDAwYykgbmNtZCAyCiAgICAgICAgU3RhdHVzOiBTdWNjZXNz ICgweDAwKQo+IEhDSSBFdmVudDogTEUgTWV0YSBFdmVudCAoMHgzZSkgcGxlbiA0MCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICM1IFtoY2kwXSAyNC4wMzY5NzYKICAgICAgTEUgQWR2ZXJ0aXNpbmcgUmVwb3J0ICgw eDAyKQogICAgICAgIE51bSByZXBvcnRzOiAxCiAgICAgICAgRXZlbnQgdHlwZTogU2Nhbm5hYmxl IHVuZGlyZWN0ZWQgLSBBRFZfU0NBTl9JTkQgKDB4MDIpCiAgICAgICAgQWRkcmVzcyB0eXBlOiBS YW5kb20gKDB4MDEpCiAgICAgICAgQWRkcmVzczogNTk6OTk6OTk6Nzk6NUE6QTIgKFJlc29sdmFi bGUpCiAgICAgICAgRGF0YSBsZW5ndGg6IDI4CiAgICAgICAgMTYtYml0IFNlcnZpY2UgVVVJRHMg KGNvbXBsZXRlKTogMSBlbnRyeQogICAgICAgICAgR29vZ2xlICgweGZlOWYpCiAgICAgICAgU2Vy dmljZSBEYXRhIChVVUlEIDB4ZmU5Zik6IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAKICAgICAgICBSU1NJOiAtNzkgZEJtICgweGIxKQo+IEhDSSBFdmVudDogTEUgTWV0 YSBFdmVudCAoMHgzZSkgcGxlbiA0MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2IFtoY2kwXSAyNC45MzU5NzIK ICAgICAgTEUgQWR2ZXJ0aXNpbmcgUmVwb3J0ICgweDAyKQogICAgICAgIE51bSByZXBvcnRzOiAx CiAgICAgICAgRXZlbnQgdHlwZTogQ29ubmVjdGFibGUgdW5kaXJlY3RlZCAtIEFEVl9JTkQgKDB4 MDApCiAgICAgICAgQWRkcmVzcyB0eXBlOiBSYW5kb20gKDB4MDEpCiAgICAgICAgQWRkcmVzczog Rjg6QzM6RDE6QjA6NUE6M0EgKFN0YXRpYykKICAgICAgICBEYXRhIGxlbmd0aDogMzEKICAgICAg ICBGbGFnczogMHgwMgogICAgICAgICAgTEUgR2VuZXJhbCBEaXNjb3ZlcmFibGUgTW9kZQogICAg ICAgIENvbXBhbnk6IEFuaHVpIEh1YW1pIEluZm9ybWF0aW9uIFRlY2hub2xvZ3kgQ28uLCBMdGQu ICgzNDMpCiAgICAgICAgICBEYXRhOiAwMmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm MDJmOGMzZDFiMDVhM2EKICAgICAgICBSU1NJOiAtNTUgZEJtICgweGM5KQo8IEhDSSBDb21tYW5k OiBMRSBTZXQgU2NhbiBFbmFibGUgKDB4MDh8MHgwMDBjKSBwbGVuIDIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM3IFtoY2kwXSAyNC45 MzYwNDkKICAgICAgICBTY2FubmluZzogRGlzYWJsZWQgKDB4MDApCiAgICAgICAgRmlsdGVyIGR1 cGxpY2F0ZXM6IERpc2FibGVkICgweDAwKQo+IEhDSSBFdmVudDogQ29tbWFuZCBDb21wbGV0ZSAo MHgwZSkgcGxlbiA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICM4IFtoY2kwXSAyNC45NjA5NjMKICAgICAgTEUgU2V0 IFNjYW4gRW5hYmxlICgweDA4fDB4MDAwYykgbmNtZCAyCiAgICAgICAgU3RhdHVzOiBTdWNjZXNz ICgweDAwKQo8IEhDSSBDb21tYW5kOiBMRSBDcmVhdGUgQ29ubmVjdGlvbiAoMHgwOHwweDAwMGQp IHBsZW4gMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICM5IFtoY2kwXSAyNC45NjExMDEKICAgICAgICBTY2FuIGludGVydmFsOiA2MC4wMDAg bXNlYyAoMHgwMDYwKQogICAgICAgIFNjYW4gd2luZG93OiA2MC4wMDAgbXNlYyAoMHgwMDYwKQog ICAgICAgIEZpbHRlciBwb2xpY3k6IEFjY2VwdCBsaXN0IGlzIG5vdCB1c2VkICgweDAwKQogICAg ICAgIFBlZXIgYWRkcmVzcyB0eXBlOiBSYW5kb20gKDB4MDEpCiAgICAgICAgUGVlciBhZGRyZXNz OiBGODpDMzpEMTpCMDo1QTozQSAoU3RhdGljKQogICAgICAgIE93biBhZGRyZXNzIHR5cGU6IFB1 YmxpYyAoMHgwMCkKICAgICAgICBNaW4gY29ubmVjdGlvbiBpbnRlcnZhbDogMzAuMDAgbXNlYyAo MHgwMDE4KQogICAgICAgIE1heCBjb25uZWN0aW9uIGludGVydmFsOiA1MC4wMCBtc2VjICgweDAw MjgpCiAgICAgICAgQ29ubmVjdGlvbiBsYXRlbmN5OiAwICgweDAwMDApCiAgICAgICAgU3VwZXJ2 aXNpb24gdGltZW91dDogNDIwIG1zZWMgKDB4MDAyYSkKICAgICAgICBNaW4gY29ubmVjdGlvbiBs ZW5ndGg6IDAuMDAwIG1zZWMgKDB4MDAwMCkKICAgICAgICBNYXggY29ubmVjdGlvbiBsZW5ndGg6 IDAuMDAwIG1zZWMgKDB4MDAwMCkKPiBIQ0kgRXZlbnQ6IENvbW1hbmQgU3RhdHVzICgweDBmKSBw bGVuIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMxMCBbaGNpMF0gMjQuOTYxODg4CiAgICAgIExFIENyZWF0ZSBD b25uZWN0aW9uICgweDA4fDB4MDAwZCkgbmNtZCAyCiAgICAgICAgU3RhdHVzOiBTdWNjZXNzICgw eDAwKQo+IEhDSSBFdmVudDogTEUgTWV0YSBFdmVudCAoMHgzZSkgcGxlbiAxOSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIzExIFtoY2kwXSAyNS43OTI5MDEKICAgICAgTEUgQ29ubmVjdGlvbiBDb21wbGV0ZSAoMHgw MSkKICAgICAgICBTdGF0dXM6IFN1Y2Nlc3MgKDB4MDApCiAgICAgICAgSGFuZGxlOiAzNTg1CiAg ICAgICAgUm9sZTogQ2VudHJhbCAoMHgwMCkKICAgICAgICBQZWVyIGFkZHJlc3MgdHlwZTogUmFu ZG9tICgweDAxKQogICAgICAgIFBlZXIgYWRkcmVzczogRjg6QzM6RDE6QjA6NUE6M0EgKFN0YXRp YykKICAgICAgICBDb25uZWN0aW9uIGludGVydmFsOiA1MC4wMCBtc2VjICgweDAwMjgpCiAgICAg ICAgQ29ubmVjdGlvbiBsYXRlbmN5OiAwICgweDAwMDApCiAgICAgICAgU3VwZXJ2aXNpb24gdGlt ZW91dDogNDIwIG1zZWMgKDB4MDAyYSkKICAgICAgICBDZW50cmFsIGNsb2NrIGFjY3VyYWN5OiAw eDAwCkAgTUdNVCBFdmVudDogRGV2aWNlIENvbm5lY3RlZCAoMHgwMDBiKSBwbGVuIDQ0ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezB4 MDAwMX0gW2hjaTBdIDI1Ljc5Mjk3MQogICAgICAgIExFIEFkZHJlc3M6IEY4OkMzOkQxOkIwOjVB OjNBIChTdGF0aWMpCiAgICAgICAgRmxhZ3M6IDB4MDAwMDAwMDgKICAgICAgICAgIENvbm5lY3Rp b24gTG9jYWxseSBJbml0aWF0ZWQKICAgICAgICBEYXRhIGxlbmd0aDogMzEKICAgICAgICBGbGFn czogMHgwMgogICAgICAgICAgTEUgR2VuZXJhbCBEaXNjb3ZlcmFibGUgTW9kZQogICAgICAgIENv bXBhbnk6IEFuaHVpIEh1YW1pIEluZm9ybWF0aW9uIFRlY2hub2xvZ3kgQ28uLCBMdGQuICgzNDMp CiAgICAgICAgICBEYXRhOiAwMmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDJmOGMz ZDFiMDVhM2EKPCBIQ0kgQ29tbWFuZDogTEUgUmVhZCBSZW1vdGUgVXNlZCBGZWF0dXJlcyAoMHgw OHwweDAwMTYpIHBsZW4gMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICMxMiBbaGNpMF0gMjUuNzkzMTkzCiAgICAgICAgSGFuZGxlOiAzNTg1Cj4gSENJIEV2 ZW50OiBDb21tYW5kIFN0YXR1cyAoMHgwZikgcGxlbiA0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMTMgW2hjaTBd IDI1Ljc5Mzg5NQogICAgICBMRSBSZWFkIFJlbW90ZSBVc2VkIEZlYXR1cmVzICgweDA4fDB4MDAx NikgbmNtZCAxCiAgICAgICAgU3RhdHVzOiBTdWNjZXNzICgweDAwKQo+IEhDSSBFdmVudDogTEUg TWV0YSBFdmVudCAoMHgzZSkgcGxlbiAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzE0IFtoY2kwXSAyNS44NDE4 OTMKICAgICAgTEUgUmVhZCBSZW1vdGUgVXNlZCBGZWF0dXJlcyAoMHgwNCkKICAgICAgICBTdGF0 dXM6IFN1Y2Nlc3MgKDB4MDApCiAgICAgICAgSGFuZGxlOiAzNTg1CiAgICAgICAgRmVhdHVyZXM6 IDB4MDEgMHgwMCAweDAwIDB4MDAgMHgwMCAweDAwIDB4MDAgMHgwMAogICAgICAgICAgTEUgRW5j cnlwdGlvbgo8IEhDSSBDb21tYW5kOiBMRSBTdGFydCBFbmNyeXB0aW9uICgweDA4fDB4MDAxOSkg cGxlbiAyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIzE1IFtoY2kwXSAyNS44NDE5OTcKICAgICAgICBIYW5kbGU6IDM1ODUKICAgICAgICBS YW5kb20gbnVtYmVyOiAweDQ0NjZkMTdhNGZlMGE2ZDQKICAgICAgICBFbmNyeXB0ZWQgZGl2ZXJz aWZpZXI6IDB4ZGM5NgogICAgICAgIExvbmcgdGVybSBrZXk6IDg2ZjJmOGQ1YzhiNTRhZjc4YWY2 NWJlNzFjZDk1YmMwCj4gSENJIEV2ZW50OiBDb21tYW5kIFN0YXR1cyAoMHgwZikgcGxlbiA0ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjMTYgW2hjaTBdIDI1Ljg0Mjg4MwogICAgICBMRSBTdGFydCBFbmNyeXB0aW9u ICgweDA4fDB4MDAxOSkgbmNtZCAxCiAgICAgICAgU3RhdHVzOiBTdWNjZXNzICgweDAwKQo+IEhD SSBFdmVudDogRW5jcnlwdGlvbiBDaGFuZ2UgKDB4MDgpIHBsZW4gNCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzE3IFto Y2kwXSAyNi4yOTA4ODYKICAgICAgICBTdGF0dXM6IFN1Y2Nlc3MgKDB4MDApCiAgICAgICAgSGFu ZGxlOiAzNTg1CiAgICAgICAgRW5jcnlwdGlvbjogRW5hYmxlZCB3aXRoIEFFUy1DQ00gKDB4MDEp CjwgQUNMIERhdGEgVFg6IEhhbmRsZSAzNTg1IGZsYWdzIDB4MDAgZGxlbiA3ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj MTggW2hjaTBdIDI2LjI5MTE1MAogICAgICBBVFQ6IEV4Y2hhbmdlIE1UVSBSZXF1ZXN0ICgweDAy KSBsZW4gMgogICAgICAgIENsaWVudCBSWCBNVFU6IDUxNwo+IEFDTCBEYXRhIFJYOiBIYW5kbGUg MzU4NSBmbGFncyAweDAyIGRsZW4gNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzE5IFtoY2kwXSAyNi4zNDA2MzYKICAg ICAgQVRUOiBFeGNoYW5nZSBNVFUgUmVxdWVzdCAoMHgwMikgbGVuIDIKICAgICAgICBDbGllbnQg UlggTVRVOiAyNDcKPCBBQ0wgRGF0YSBUWDogSGFuZGxlIDM1ODUgZmxhZ3MgMHgwMCBkbGVuIDcg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICMyMCBbaGNpMF0gMjYuMzQxMTA1CiAgICAgIEFUVDogRXhjaGFuZ2UgTVRVIFJl c3BvbnNlICgweDAzKSBsZW4gMgogICAgICAgIFNlcnZlciBSWCBNVFU6IDUxNwo+IEhDSSBFdmVu dDogTnVtYmVyIG9mIENvbXBsZXRlZCBQYWNrZXRzICgweDEzKSBwbGVuIDUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzIxIFtoY2kwXSAy Ni4zNDE4ODUKICAgICAgICBOdW0gaGFuZGxlczogMQogICAgICAgIEhhbmRsZTogMzU4NQogICAg ICAgIENvdW50OiAxCj4gSENJIEV2ZW50OiBOdW1iZXIgb2YgQ29tcGxldGVkIFBhY2tldHMgKDB4 MTMpIHBsZW4gNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjMjIgW2hjaTBdIDI2LjM5MTkwNwogICAgICAgIE51bSBoYW5kbGVzOiAxCiAg ICAgICAgSGFuZGxlOiAzNTg1CiAgICAgICAgQ291bnQ6IDEKPiBBQ0wgRGF0YSBSWDogSGFuZGxl IDM1ODUgZmxhZ3MgMHgwMiBkbGVuIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMyMyBbaGNpMF0gMjYuNDQwNjU4CiAg ICAgIEFUVDogRXhjaGFuZ2UgTVRVIFJlc3BvbnNlICgweDAzKSBsZW4gMgogICAgICAgIFNlcnZl ciBSWCBNVFU6IDI1Mgo8IEFDTCBEYXRhIFRYOiBIYW5kbGUgMzU4NSBmbGFncyAweDAwIGRsZW4g NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIzI0IFtoY2kwXSAyNi40NDExODYKICAgICAgQVRUOiBSZWFkIFJlcXVlc3Qg KDB4MGEpIGxlbiAyCiAgICAgICAgSGFuZGxlOiAweDAwMzIKPiBIQ0kgRXZlbnQ6IE51bWJlciBv ZiBDb21wbGV0ZWQgUGFja2V0cyAoMHgxMykgcGxlbiA1ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMyNSBbaGNpMF0gMjYuNDkwODkxCiAg ICAgICAgTnVtIGhhbmRsZXM6IDEKICAgICAgICBIYW5kbGU6IDM1ODUKICAgICAgICBDb3VudDog MQo+IEFDTCBEYXRhIFJYOiBIYW5kbGUgMzU4NSBmbGFncyAweDAyIGRsZW4gMTIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IzI2IFtoY2kwXSAyNi41NDA2NTgKICAgICAgQVRUOiBSZWFkIFJlc3BvbnNlICgweDBiKSBsZW4g NwogICAgICAgIFZhbHVlOiAwMTU3MDE0MDAwMDEwMQo8IEFDTCBEYXRhIFRYOiBIYW5kbGUgMzU4 NSBmbGFncyAweDAwIGRsZW4gNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzI3IFtoY2kwXSAyNi41NDExNDUKICAgICAg QVRUOiBSZWFkIFJlcXVlc3QgKDB4MGEpIGxlbiAyCiAgICAgICAgSGFuZGxlOiAweDAwMTYKPiBI Q0kgRXZlbnQ6IE51bWJlciBvZiBDb21wbGV0ZWQgUGFja2V0cyAoMHgxMykgcGxlbiA1ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMyOCBb aGNpMF0gMjYuNjQwODg4CiAgICAgICAgTnVtIGhhbmRsZXM6IDEKICAgICAgICBIYW5kbGU6IDM1 ODUKICAgICAgICBDb3VudDogMQo+IEFDTCBEYXRhIFJYOiBIYW5kbGUgMzU4NSBmbGFncyAweDAy IGRsZW4gMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIzI5IFtoY2kwXSAyNi42NDEyMzYKICAgICAgQVRUOiBSZWFkIFJl c3BvbnNlICgweDBiKSBsZW4gMTQKICAgICAgICBWYWx1ZTogNDE2ZDYxN2E2NjY5NzQyMDQ3NTQ1 MjIwMzIwMAo8IEFDTCBEYXRhIFRYOiBIYW5kbGUgMzU4NSBmbGFncyAweDAwIGRsZW4gNyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIzMwIFtoY2kwXSAyNi42NDE1NTcKICAgICAgQVRUOiBSZWFkIFJlcXVlc3QgKDB4MGEp IGxlbiAyCiAgICAgICAgSGFuZGxlOiAweDAwMTgKPiBIQ0kgRXZlbnQ6IE51bWJlciBvZiBDb21w bGV0ZWQgUGFja2V0cyAoMHgxMykgcGxlbiA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMzMSBbaGNpMF0gMjYuNjkwODg5CiAgICAgICAg TnVtIGhhbmRsZXM6IDEKICAgICAgICBIYW5kbGU6IDM1ODUKICAgICAgICBDb3VudDogMQo+IEFD TCBEYXRhIFJYOiBIYW5kbGUgMzU4NSBmbGFncyAweDAyIGRsZW4gNyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzMyIFto Y2kwXSAyOS4wNzMzNjYKICAgICAgQVRUOiBFeGNoYW5nZSBNVFUgUmVxdWVzdCAoMHgwMikgbGVu IDIKICAgICAgICBDbGllbnQgUlggTVRVOiAyNDcKPCBBQ0wgRGF0YSBUWDogSGFuZGxlIDM1ODUg ZmxhZ3MgMHgwMCBkbGVuIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMzMyBbaGNpMF0gMjkuMDczNzU0CiAgICAgIEFU VDogRXhjaGFuZ2UgTVRVIFJlc3BvbnNlICgweDAzKSBsZW4gMgogICAgICAgIFNlcnZlciBSWCBN VFU6IDI0Nwo+IEhDSSBFdmVudDogTnVtYmVyIG9mIENvbXBsZXRlZCBQYWNrZXRzICgweDEzKSBw bGVuIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIzM0IFtoY2kwXSAyOS4wOTA5MDkKICAgICAgICBOdW0gaGFuZGxlczogMQogICAgICAg IEhhbmRsZTogMzU4NQogICAgICAgIENvdW50OiAxCj4gQUNMIERhdGEgUlg6IEhhbmRsZSAzNTg1 IGZsYWdzIDB4MDIgZGxlbiAxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMzUgW2hjaTBdIDI5Ljc5MDYxNgogICAgICBB VFQ6IFJlYWQgQnkgVHlwZSBSZXF1ZXN0ICgweDA4KSBsZW4gNgogICAgICAgIEhhbmRsZSByYW5n ZTogMHgwMDAxLTB4ZmZmZgogICAgICAgIEF0dHJpYnV0ZSB0eXBlOiBDaGFyYWN0ZXJpc3RpYyAo MHgyODAzKQo8IEFDTCBEYXRhIFRYOiBIYW5kbGUgMzU4NSBmbGFncyAweDAwIGRsZW4gMjcgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIzM2IFtoY2kwXSAyOS43OTEyMzIKPCBBQ0wgRGF0YSBUWDogSGFuZGxlIDM1ODUgZmxh Z3MgMHgwMSBkbGVuIDI3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMzNyBbaGNpMF0gMjkuNzkxMjc0CjwgQUNMIERhdGEg VFg6IEhhbmRsZSAzNTg1IGZsYWdzIDB4MDEgZGxlbiA4ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMzggW2hjaTBdIDI5 Ljc5MTI4OQogICAgICBBVFQ6IFJlYWQgQnkgVHlwZSBSZXNwb25zZSAoMHgwOSkgbGVuIDU3CiAg ICAgICAgQXR0cmlidXRlIGRhdGEgbGVuZ3RoOiA3CiAgICAgICAgQXR0cmlidXRlIGRhdGEgbGlz dDogOCBlbnRyaWVzCiAgICAgICAgSGFuZGxlOiAweDAwMDIKICAgICAgICBWYWx1ZTogMDIwMzAw MDAyYQogICAgICAgIEhhbmRsZTogMHgwMDA0CiAgICAgICAgVmFsdWU6IDAyMDUwMDAxMmEKICAg ICAgICBIYW5kbGU6IDB4MDAwNgogICAgICAgIFZhbHVlOiAwMjA3MDBhNjJhCiAgICAgICAgSGFu ZGxlOiAweDAwMDkKICAgICAgICBWYWx1ZTogMjAwYTAwMDUyYQogICAgICAgIEhhbmRsZTogMHgw MDBjCiAgICAgICAgVmFsdWU6IDBhMGQwMDI5MmIKICAgICAgICBIYW5kbGU6IDB4MDAwZQogICAg ICAgIFZhbHVlOiAwMjBmMDAyYTJiCiAgICAgICAgSGFuZGxlOiAweDAwMTAKICAgICAgICBWYWx1 ZTogMDIxMTAwM2EyYgogICAgICAgIEhhbmRsZTogMHgwMDEzCiAgICAgICAgVmFsdWU6IDAyMTQw MDUwMmEKPiBIQ0kgRXZlbnQ6IE51bWJlciBvZiBDb21wbGV0ZWQgUGFja2V0cyAoMHgxMykgcGxl biA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICMzOSBbaGNpMF0gMjkuODQwOTAxCiAgICAgICAgTnVtIGhhbmRsZXM6IDEKICAgICAgICBI YW5kbGU6IDM1ODUKICAgICAgICBDb3VudDogMQo+IEhDSSBFdmVudDogTnVtYmVyIG9mIENvbXBs ZXRlZCBQYWNrZXRzICgweDEzKSBwbGVuIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIzQwIFtoY2kwXSAyOS44NDE4NzkKICAgICAgICBO dW0gaGFuZGxlczogMQogICAgICAgIEhhbmRsZTogMzU4NQogICAgICAgIENvdW50OiAxCj4gSENJ IEV2ZW50OiBOdW1iZXIgb2YgQ29tcGxldGVkIFBhY2tldHMgKDB4MTMpIHBsZW4gNSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNDEgW2hj aTBdIDI5Ljg0Mjg4MgogICAgICAgIE51bSBoYW5kbGVzOiAxCiAgICAgICAgSGFuZGxlOiAzNTg1 CiAgICAgICAgQ291bnQ6IDEKPiBBQ0wgRGF0YSBSWDogSGFuZGxlIDM1ODUgZmxhZ3MgMHgwMiBk bGVuIDExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICM0MiBbaGNpMF0gMjkuODkwNTc5CiAgICAgIEFUVDogUmVhZCBCeSBU eXBlIFJlcXVlc3QgKDB4MDgpIGxlbiA2CiAgICAgICAgSGFuZGxlIHJhbmdlOiAweDAwMTQtMHhm ZmZmCiAgICAgICAgQXR0cmlidXRlIHR5cGU6IENoYXJhY3RlcmlzdGljICgweDI4MDMpCjwgQUNM IERhdGEgVFg6IEhhbmRsZSAzNTg1IGZsYWdzIDB4MDAgZGxlbiA5ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNDMgW2hj aTBdIDI5Ljg5MDczOAogICAgICBBVFQ6IEVycm9yIFJlc3BvbnNlICgweDAxKSBsZW4gNAogICAg ICAgIFJlYWQgQnkgVHlwZSBSZXF1ZXN0ICgweDA4KQogICAgICAgIEhhbmRsZTogMHgwMDE0CiAg ICAgICAgRXJyb3I6IEF0dHJpYnV0ZSBOb3QgRm91bmQgKDB4MGEpCj4gSENJIEV2ZW50OiBOdW1i ZXIgb2YgQ29tcGxldGVkIFBhY2tldHMgKDB4MTMpIHBsZW4gNSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNDQgW2hjaTBdIDI5Ljk0MDg5 NQogICAgICAgIE51bSBoYW5kbGVzOiAxCiAgICAgICAgSGFuZGxlOiAzNTg1CiAgICAgICAgQ291 bnQ6IDEKPiBBQ0wgRGF0YSBSWDogSGFuZGxlIDM1ODUgZmxhZ3MgMHgwMiBkbGVuIDExICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICM0NSBbaGNpMF0gMjkuOTkwNTg4CiAgICAgIEFUVDogUmVhZCBCeSBUeXBlIFJlcXVlc3Qg KDB4MDgpIGxlbiA2CiAgICAgICAgSGFuZGxlIHJhbmdlOiAweDAwMDEtMHhmZmZmCiAgICAgICAg QXR0cmlidXRlIHR5cGU6IERldmljZSBOYW1lICgweDJhMDApCjwgQUNMIERhdGEgVFg6IEhhbmRs ZSAzNTg1IGZsYWdzIDB4MDAgZGxlbiAxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNDYgW2hjaTBdIDI5Ljk5MTAxNgog ICAgICBBVFQ6IFJlYWQgQnkgVHlwZSBSZXNwb25zZSAoMHgwOSkgbGVuIDEzCiAgICAgICAgQXR0 cmlidXRlIGRhdGEgbGVuZ3RoOiAxMgogICAgICAgIEF0dHJpYnV0ZSBkYXRhIGxpc3Q6IDEgZW50 cnkKICAgICAgICBIYW5kbGU6IDB4MDAwMwogICAgICAgIFZhbHVlOiA0MjZjNzU2NTVhMjAzNTJl MzYzMwo+IEhDSSBFdmVudDogTnVtYmVyIG9mIENvbXBsZXRlZCBQYWNrZXRzICgweDEzKSBwbGVu IDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIzQ3IFtoY2kwXSAzMC4wNDA5MDYKICAgICAgICBOdW0gaGFuZGxlczogMQogICAgICAgIEhh bmRsZTogMzU4NQogICAgICAgIENvdW50OiAxCjwgSENJIENvbW1hbmQ6IERpc2Nvbm5lY3QgKDB4 MDF8MHgwMDA2KSBwbGVuIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjNDggW2hjaTBdIDU4LjY3MzEyOAogICAgICAgIEhh bmRsZTogMzU4NQogICAgICAgIFJlYXNvbjogUmVtb3RlIFVzZXIgVGVybWluYXRlZCBDb25uZWN0 aW9uICgweDEzKQo+IEhDSSBFdmVudDogQ29tbWFuZCBTdGF0dXMgKDB4MGYpIHBsZW4gNCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIzQ5IFtoY2kwXSA1OC43OTA5MzkKICAgICAgRGlzY29ubmVjdCAoMHgwMXwweDAw MDYpIG5jbWQgMQogICAgICAgIFN0YXR1czogU3VjY2VzcyAoMHgwMCkKPiBIQ0kgRXZlbnQ6IERp c2Nvbm5lY3QgQ29tcGxldGUgKDB4MDUpIHBsZW4gNCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM1MCBbaGNpMF0gNTguNzkx OTM3CiAgICAgICAgU3RhdHVzOiBTdWNjZXNzICgweDAwKQogICAgICAgIEhhbmRsZTogMzU4NQog ICAgICAgIFJlYXNvbjogQ29ubmVjdGlvbiBUZXJtaW5hdGVkIEJ5IExvY2FsIEhvc3QgKDB4MTYp CkAgTUdNVCBFdmVudDogRGV2aWNlIERpc2Nvbm5lY3RlZCAoMHgwMDBjKSBwbGVuIDggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezB4MDAw MX0gW2hjaTBdIDU4Ljc5MTk5MwogICAgICAgIExFIEFkZHJlc3M6IEY4OkMzOkQxOkIwOjVBOjNB IChTdGF0aWMpCiAgICAgICAgUmVhc29uOiBDb25uZWN0aW9uIHRlcm1pbmF0ZWQgYnkgbG9jYWwg aG9zdCAoMHgwMikKCgo= --00000000000094b59d05dacc3f8b--