Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp2348899rdg; Mon, 16 Oct 2023 01:08:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEjfcjxaTLMv6FqQzf+2N/aliLxSdo3TnZq+3J5ZJdB87/1OOgmJMU9d7CgnVk0HTZ8r4g+ X-Received: by 2002:a17:90a:d914:b0:27c:f715:144 with SMTP id c20-20020a17090ad91400b0027cf7150144mr13865070pjv.19.1697443721707; Mon, 16 Oct 2023 01:08:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697443721; cv=none; d=google.com; s=arc-20160816; b=PwnFtk2vlGs7LmKdUN8hvKMOPJl/lUnAuSAvM2Zwcedirc2M/rqW/ueOqvwNUpsNvv ZKPRQtQm/yBZ7ACPSeHXxzpGTpK9o4XbSR7wZJD/DeQX5g4hwofO0ZvYRteCT9+k/8/k FpcRtxatXvU6OYEcimLEC1uDEfEyYChyq42yIEkmjDWIoFPDKNT3d9HBhOYMKk3J1riP B85ohqCdoxT1HLfCJlatqWyFh47UzW5+5YcZfQDPfVb/QfPwIHBhjfvzE5f9+EntK8WM TvDgigg/IQXwukk51BxDMdDNaLllWHmqIBk1OmxQQwFco/c16MXUZCeeAci9zw+tsxCy fs1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:reply-to:references:in-reply-to:subject:to:from :mime-version:date:message-id:dkim-signature; bh=x7XhcjdjGnLhpZgTZqz+6C/9VKr0rQ3/gQpSV1JIWvo=; fh=hDpjLvB+5lrS/w7MTge6FPc0l9ndhXniD+X8stxk9f4=; b=dYrctHCushPwNOqI3WUmBpgajEOO0otDOy8cvnPYmW/pgSuAy6zy1R8q+SgCGbp7cQ Vhl448fXSKJwPw6zElK1C663N7uKLsvY91jX4l0k0QcGcOW7UGejpuU7lgyiOT5fAFyt 5dkUQQN24PTVYALhyUcWN5cyJWEZUauheFuLVo6y/j4IZQ8KRLv0onWqUBBXKMNGCbw9 cgVbx3MEoYLH92Y2BRA1vApOaKYJtw8xmML7Kgl4xAtIzPaVZkokYQ6e3a0TcwhZ7ltR Ikhy9datN3z5aSf79zCKp4m7qDgssevHNifQC0l0ni8IlQAJyFXPgKDlRxRP13bMXGYs 4yog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="c/vtCWSf"; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id t19-20020a17090ad51300b00262e5a82047si5481185pju.44.2023.10.16.01.08.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 01:08:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="c/vtCWSf"; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 1B4C180C6534; Mon, 16 Oct 2023 01:08:33 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229501AbjJPIIc (ORCPT + 99 others); Mon, 16 Oct 2023 04:08:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52840 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229478AbjJPIIb (ORCPT ); Mon, 16 Oct 2023 04:08:31 -0400 Received: from mail-io1-xd2c.google.com (mail-io1-xd2c.google.com [IPv6:2607:f8b0:4864:20::d2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6346DA2 for ; Mon, 16 Oct 2023 01:08:27 -0700 (PDT) Received: by mail-io1-xd2c.google.com with SMTP id ca18e2360f4ac-79fe8986355so169783639f.2 for ; Mon, 16 Oct 2023 01:08:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697443706; x=1698048506; darn=vger.kernel.org; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=x7XhcjdjGnLhpZgTZqz+6C/9VKr0rQ3/gQpSV1JIWvo=; b=c/vtCWSf3K+SkhN1Vri7FhK3WhRkU7BatVdx4uoCSvFYmIFf4/OLWKMenpueJDuvwf Rg74FsY+ARXrzoAixwjILtE9NwaHfkmkgsDYqT8qv29aBQzJjpNhVKlrkQCdPT68y8Vw p5H5wV7WiC5nKwVlXxARbjRNe9oXqyZjUuHRfabqt8/qgUwzIb0cU6IvoQIWF7BgKh13 xtkYRcm55SFVn7mqCqQjYEmFvPrBbkcuZXzDbJo8Kb3vntm8Yf2dYaKZAXrzWbrZHLa1 LMqblswhz1Dh21Ut0kOVL0No3Nc1E+DdFgnmu81nf9FKhbrPWPKdT02dpwnSrASP/C2e AewA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697443706; x=1698048506; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=x7XhcjdjGnLhpZgTZqz+6C/9VKr0rQ3/gQpSV1JIWvo=; b=iJ+2beT8ijx8OYRWLaU7+BrxtXZ66J6WWMPv8QXO9m7GuWB0jpxlxDF133xuG22/iY FsldenFiLZ+wg49DORZWVo5IrNLWCANpzBKnL7KSnkYF0flQ4MQ20YgpftwECm26TtOr DOReUmYufXQAMSU+vyoE2XdGyzc2OM9kZ72FD+keweLkOD/wgfIED2RuiL/Xln0WtkfA pbucFLIkCPK7jqs1jsc/o+bP5BXVde0c6LJlLZDNGC7iEMVrAWjQzhAvVnl7x8vKCTUG fUdeEJf8Hm342LOjbsecKqqjaACZbSK3I6T6GpUFv71h/CpSgbeBeWujQqy89gyXKRiI xOOw== X-Gm-Message-State: AOJu0YwsXxkhabTCp1CD16nk3tBNLPAk12i43rXuircH3+iXO36oc918 IepSKIfAGmVG/eFnBS6LR455ncMRc4U= X-Received: by 2002:a6b:ec04:0:b0:787:34d:f223 with SMTP id c4-20020a6bec04000000b00787034df223mr37664403ioh.11.1697443705973; Mon, 16 Oct 2023 01:08:25 -0700 (PDT) Received: from [172.17.0.2] ([52.176.143.105]) by smtp.gmail.com with ESMTPSA id dp14-20020a0566381c8e00b0042b10d42c90sm1139888jab.113.2023.10.16.01.08.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 01:08:25 -0700 (PDT) Message-ID: <652cef79.050a0220.35420.0f1b@mx.google.com> Date: Mon, 16 Oct 2023 01:08:25 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============7352750074549204586==" MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, kiran.k@intel.com Subject: RE: [1/2] profiles: Add support for Audio Locations In-Reply-To: <20231016065228.424400-1-kiran.k@intel.com> References: <20231016065228.424400-1-kiran.k@intel.com> Reply-To: linux-bluetooth@vger.kernel.org X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Mon, 16 Oct 2023 01:08:33 -0700 (PDT) --===============7352750074549204586== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9NzkzNDAzCgotLS1U ZXN0IHJlc3VsdC0tLQoKVGVzdCBTdW1tYXJ5OgpDaGVja1BhdGNoICAgICAgICAgICAgICAgICAg ICBGQUlMICAgICAgMS4xNSBzZWNvbmRzCkdpdExpbnQgICAgICAgICAgICAgICAgICAgICAgIFBB U1MgICAgICAwLjUyIHNlY29uZHMKQnVpbGRFbGwgICAgICAgICAgICAgICAgICAgICAgUEFTUyAg ICAgIDI3Ljg5IHNlY29uZHMKQmx1ZXpNYWtlICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAg IDc2OC44OSBzZWNvbmRzCk1ha2VDaGVjayAgICAgICAgICAgICAgICAgICAgIEZBSUwgICAgICAx OC44NCBzZWNvbmRzCk1ha2VEaXN0Y2hlY2sgICAgICAgICAgICAgICAgIEZBSUwgICAgICAxMzcu Mzggc2Vjb25kcwpDaGVja1ZhbGdyaW5kICAgICAgICAgICAgICAgICBGQUlMICAgICAgMTgxLjI1 IHNlY29uZHMKQ2hlY2tTbWF0Y2ggICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDE1MS4wMCBz ZWNvbmRzCmJsdWV6bWFrZWV4dGVsbCAgICAgICAgICAgICAgIEZBSUwgICAgICA0MC42OCBzZWNv bmRzCkluY3JlbWVudGFsQnVpbGQgICAgICAgICAgICAgIEZBSUwgICAgICAxMjc4LjQxIHNlY29u ZHMKU2NhbkJ1aWxkICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDY1NC4wNiBzZWNvbmRz CgpEZXRhaWxzCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVja1BhdGNo IC0gRkFJTApEZXNjOiBSdW4gY2hlY2twYXRjaC5wbCBzY3JpcHQKT3V0cHV0OgpbMS8yXSBwcm9m aWxlczogQWRkIHN1cHBvcnQgZm9yIEF1ZGlvIExvY2F0aW9ucwpXQVJOSU5HOkNPTU1JVF9MT0df TE9OR19MSU5FOiBQb3NzaWJsZSB1bndyYXBwZWQgY29tbWl0IGRlc2NyaXB0aW9uIChwcmVmZXIg YSBtYXhpbXVtIDc1IGNoYXJzIHBlciBsaW5lKQojNjY6IApUaGlzIGFkZHMgc3VwcG9ydCB0byBw cm92aWRlIEF1ZGlvIExvY2F0aW9ucyBmb3IgQkFQIFNpbmsgYW5kIFNvdXJjZSBFbmRwb2ludHMK Ci9naXRodWIvd29ya3NwYWNlL3NyYy9zcmMvMTM0MjI2MDMucGF0Y2ggdG90YWw6IDAgZXJyb3Jz LCAxIHdhcm5pbmdzLCA4OSBsaW5lcyBjaGVja2VkCgpOT1RFOiBGb3Igc29tZSBvZiB0aGUgcmVw b3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUgYWJsZSB0bwogICAgICBtZWNoYW5pY2Fs bHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1c2luZyAtLWZpeCBvciAtLWZpeC1pbnBs YWNlLgoKL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy8xMzQyMjYwMy5wYXRjaCBoYXMgc3R5bGUg cHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENP TU1JVF9NRVNTQUdFIENPTVBMRVhfTUFDUk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VT IE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NU UklORyBTU0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFs c2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAgICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIs IHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKClsyLzJdIHNoYXJlZC9iYXA6IEFkZCBz dXBwb3J0IGZvciBBdWRpbyBMb2NhdGlvbnMKV0FSTklORzpDT01NSVRfTE9HX0xPTkdfTElORTog UG9zc2libGUgdW53cmFwcGVkIGNvbW1pdCBkZXNjcmlwdGlvbiAocHJlZmVyIGEgbWF4aW11bSA3 NSBjaGFycyBwZXIgbGluZSkKIzY4OiAKVGhpcyBhZGRzIHN1cHBvcnQgdG8gcHJvdmlkZSBBdWRp byBMb2NhdGlvbnMgZm9yIEJBUCBTaW5rIGFuZCBTb3VyY2UgRW5kcG9pbnRzCgovZ2l0aHViL3dv cmtzcGFjZS9zcmMvc3JjLzEzNDIyNjA0LnBhdGNoIHRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5n cywgMTYxIGxpbmVzIGNoZWNrZWQKCk5PVEU6IEZvciBzb21lIG9mIHRoZSByZXBvcnRlZCBkZWZl Y3RzLCBjaGVja3BhdGNoIG1heSBiZSBhYmxlIHRvCiAgICAgIG1lY2hhbmljYWxseSBjb252ZXJ0 IHRvIHRoZSB0eXBpY2FsIHN0eWxlIHVzaW5nIC0tZml4IG9yIC0tZml4LWlucGxhY2UuCgovZ2l0 aHViL3dvcmtzcGFjZS9zcmMvc3JjLzEzNDIyNjA0LnBhdGNoIGhhcyBzdHlsZSBwcm9ibGVtcywg cGxlYXNlIHJldmlldy4KCk5PVEU6IElnbm9yZWQgbWVzc2FnZSB0eXBlczogQ09NTUlUX01FU1NB R0UgQ09NUExFWF9NQUNSTyBDT05TVF9TVFJVQ1QgRklMRV9QQVRIX0NIQU5HRVMgTUlTU0lOR19T SUdOX09GRiBQUkVGRVJfUEFDS0VEIFNQRFhfTElDRU5TRV9UQUcgU1BMSVRfU1RSSU5HIFNTQ0FO Rl9UT19LU1RSVE8KCk5PVEU6IElmIGFueSBvZiB0aGUgZXJyb3JzIGFyZSBmYWxzZSBwb3NpdGl2 ZXMsIHBsZWFzZSByZXBvcnQKICAgICAgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlIENIRUNL UEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRl c3Q6IEJsdWV6TWFrZSAtIEZBSUwKRGVzYzogQnVpbGQgQmx1ZVoKT3V0cHV0OgoKdG9vbHMvbWdt dC10ZXN0ZXIuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdG9vbHMvbWdtdC10ZXN0ZXIuYzox Mjc2Mzo1OiBub3RlOiB2YXJpYWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg 4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKMTI3NjMg fCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+CnVuaXQv dGVzdC1hdmR0cC5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgp1bml0L3Rlc3QtYXZkdHAuYzo3 NjY6NTogbm90ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKA mC1mdmFyLXRyYWNraW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CiAgNzY2IHwg aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgp1bml0L3Rl c3QtYXZyY3AuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LWF2cmNwLmM6OTg5 OjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNraW5nIHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgt ZnZhci10cmFja2luZy1hc3NpZ25tZW50c+KAmSwgcmV0cnlpbmcgd2l0aG91dAogIDk4OSB8IGlu dCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgIHwgICAgIF5+fn4KdW5pdC90ZXN0 LWJhcC5jOiBJbiBmdW5jdGlvbiDigJh0ZXN0X2NsaWVudF9jb25maWfigJk6CnVuaXQvdGVzdC1i YXAuYzozNzY6MTY6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9i YXBfYWRkX3ZlbmRvcl9wYWPigJkKICAzNzYgfCAgICBkYXRhLT5zbmsgPSBidF9iYXBfYWRkX3Zl bmRvcl9wYWMoZGF0YS0+ZGIsCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSB1bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3No YXJlZC9iYXAuaDoxMzk6MjA6IG5vdGU6IGRlY2xhcmVkIGhlcmUKICAxMzkgfCBzdHJ1Y3QgYnRf YmFwX3BhYyAqYnRfYmFwX2FkZF92ZW5kb3JfcGFjKHN0cnVjdCBnYXR0X2RiICpkYiwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CnVuaXQvdGVzdC1iYXAu YzozODI6MTY6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBf YWRkX3BhY+KAmQogIDM4MiB8ICAgIGRhdGEtPnNuayA9IGJ0X2JhcF9hZGRfcGFjKGRhdGEtPmRi LCAidGVzdC1iYXAtc25rIiwKICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gdW5pdC90ZXN0LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFw Lmg6MTQ3OjIwOiBub3RlOiBkZWNsYXJlZCBoZXJlCiAgMTQ3IHwgc3RydWN0IGJ0X2JhcF9wYWMg KmJ0X2JhcF9hZGRfcGFjKHN0cnVjdCBnYXR0X2RiICpkYiwgY29uc3QgY2hhciAqbmFtZSwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KdW5pdC90ZXN0LWJhcC5jOjM5 MDoxNjogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRf dmVuZG9yX3BhY+KAmQogIDM5MCB8ICAgIGRhdGEtPnNyYyA9IGJ0X2JhcF9hZGRfdmVuZG9yX3Bh YyhkYXRhLT5kYiwKICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4K SW4gZmlsZSBpbmNsdWRlZCBmcm9tIHVuaXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2Jh cC5oOjEzOToyMDogbm90ZTogZGVjbGFyZWQgaGVyZQogIDEzOSB8IHN0cnVjdCBidF9iYXBfcGFj ICpidF9iYXBfYWRkX3ZlbmRvcl9wYWMoc3RydWN0IGdhdHRfZGIgKmRiLAogICAgICB8ICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KdW5pdC90ZXN0LWJhcC5jOjM5Njox NjogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfcGFj 4oCZCiAgMzk2IHwgICAgZGF0YS0+c3JjID0gYnRfYmFwX2FkZF9wYWMoZGF0YS0+ZGIsICJ0ZXN0 LWJhcC1zcmMiLAogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CkluIGZpbGUg aW5jbHVkZWQgZnJvbSB1bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDoxNDc6 MjA6IG5vdGU6IGRlY2xhcmVkIGhlcmUKICAxNDcgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFw X2FkZF9wYWMoc3RydWN0IGdhdHRfZGIgKmRiLCBjb25zdCBjaGFyICpuYW1lLAogICAgICB8ICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgptYWtlWzFdOiAqKiogW01ha2VmaWxlOjc4 MDM6IHVuaXQvdGVzdC1iYXAub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5m aW5pc2hlZCBqb2JzLi4uLgptYWtlOiAqKiogW01ha2VmaWxlOjQ2Njg6IGFsbF0gRXJyb3IgMgoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogTWFrZUNoZWNrIC0gRkFJTApEZXNj OiBSdW4gQmx1ZXogTWFrZSBDaGVjawpPdXRwdXQ6Cgp1bml0L3Rlc3QtYmFwLmM6IEluIGZ1bmN0 aW9uIOKAmHRlc3RfY2xpZW50X2NvbmZpZ+KAmToKdW5pdC90ZXN0LWJhcC5jOjM3NjoxNjogZXJy b3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfdmVuZG9yX3Bh Y+KAmQogIDM3NiB8ICAgIGRhdGEtPnNuayA9IGJ0X2JhcF9hZGRfdmVuZG9yX3BhYyhkYXRhLT5k YiwKICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIHVuaXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2JhcC5oOjEzOToy MDogbm90ZTogZGVjbGFyZWQgaGVyZQogIDEzOSB8IHN0cnVjdCBidF9iYXBfcGFjICpidF9iYXBf YWRkX3ZlbmRvcl9wYWMoc3RydWN0IGdhdHRfZGIgKmRiLAogICAgICB8ICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KdW5pdC90ZXN0LWJhcC5jOjM4MjoxNjogZXJyb3I6 IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfcGFj4oCZCiAgMzgy IHwgICAgZGF0YS0+c25rID0gYnRfYmFwX2FkZF9wYWMoZGF0YS0+ZGIsICJ0ZXN0LWJhcC1zbmsi LAogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQg ZnJvbSB1bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDoxNDc6MjA6IG5vdGU6 IGRlY2xhcmVkIGhlcmUKICAxNDcgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFwX2FkZF9wYWMo c3RydWN0IGdhdHRfZGIgKmRiLCBjb25zdCBjaGFyICpuYW1lLAogICAgICB8ICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fgp1bml0L3Rlc3QtYmFwLmM6MzkwOjE2OiBlcnJvcjogdG9v IGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF92ZW5kb3JfcGFj4oCZCiAg MzkwIHwgICAgZGF0YS0+c3JjID0gYnRfYmFwX2FkZF92ZW5kb3JfcGFjKGRhdGEtPmRiLAogICAg ICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gdW5pdC90ZXN0LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFwLmg6MTM5OjIwOiBub3Rl OiBkZWNsYXJlZCBoZXJlCiAgMTM5IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0X2JhcF9hZGRfdmVu ZG9yX3BhYyhzdHJ1Y3QgZ2F0dF9kYiAqZGIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fgp1bml0L3Rlc3QtYmFwLmM6Mzk2OjE2OiBlcnJvcjogdG9vIGZl dyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF9wYWPigJkKICAzOTYgfCAgICBk YXRhLT5zcmMgPSBidF9iYXBfYWRkX3BhYyhkYXRhLT5kYiwgInRlc3QtYmFwLXNyYyIsCiAgICAg IHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHVu aXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2JhcC5oOjE0NzoyMDogbm90ZTogZGVjbGFy ZWQgaGVyZQogIDE0NyB8IHN0cnVjdCBidF9iYXBfcGFjICpidF9iYXBfYWRkX3BhYyhzdHJ1Y3Qg Z2F0dF9kYiAqZGIsIGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgIHwgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+Cm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NzgwMzogdW5pdC90ZXN0LWJh cC5vXSBFcnJvciAxCm1ha2U6ICoqKiBbTWFrZWZpbGU6MTIxMjU6IGNoZWNrXSBFcnJvciAyCiMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBNYWtlRGlzdGNoZWNrIC0gRkFJTApE ZXNjOiBSdW4gQmx1ZXogTWFrZSBEaXN0Y2hlY2sKT3V0cHV0OgoKLi4vLi4vdW5pdC90ZXN0LWJh cC5jOiBJbiBmdW5jdGlvbiDigJh0ZXN0X2NsaWVudF9jb25maWfigJk6Ci4uLy4uL3VuaXQvdGVz dC1iYXAuYzozNzY6MTY6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhi dF9iYXBfYWRkX3ZlbmRvcl9wYWPigJkKICAzNzYgfCAgICBkYXRhLT5zbmsgPSBidF9iYXBfYWRk X3ZlbmRvcl9wYWMoZGF0YS0+ZGIsCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi91bml0L3Rlc3QtYmFwLmM6MzI6 Ci4uLy4uL3NyYy9zaGFyZWQvYmFwLmg6MTM5OjIwOiBub3RlOiBkZWNsYXJlZCBoZXJlCiAgMTM5 IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0X2JhcF9hZGRfdmVuZG9yX3BhYyhzdHJ1Y3QgZ2F0dF9k YiAqZGIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgou Li8uLi91bml0L3Rlc3QtYmFwLmM6MzgyOjE2OiBlcnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8g ZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF9wYWPigJkKICAzODIgfCAgICBkYXRhLT5zbmsgPSBidF9i YXBfYWRkX3BhYyhkYXRhLT5kYiwgInRlc3QtYmFwLXNuayIsCiAgICAgIHwgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uL3VuaXQvdGVzdC1i YXAuYzozMjoKLi4vLi4vc3JjL3NoYXJlZC9iYXAuaDoxNDc6MjA6IG5vdGU6IGRlY2xhcmVkIGhl cmUKICAxNDcgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFwX2FkZF9wYWMoc3RydWN0IGdhdHRf ZGIgKmRiLCBjb25zdCBjaGFyICpuYW1lLAogICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fgouLi8uLi91bml0L3Rlc3QtYmFwLmM6MzkwOjE2OiBlcnJvcjogdG9vIGZldyBh cmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF92ZW5kb3JfcGFj4oCZCiAgMzkwIHwg ICAgZGF0YS0+c3JjID0gYnRfYmFwX2FkZF92ZW5kb3JfcGFjKGRhdGEtPmRiLAogICAgICB8ICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g Li4vLi4vdW5pdC90ZXN0LWJhcC5jOjMyOgouLi8uLi9zcmMvc2hhcmVkL2JhcC5oOjEzOToyMDog bm90ZTogZGVjbGFyZWQgaGVyZQogIDEzOSB8IHN0cnVjdCBidF9iYXBfcGFjICpidF9iYXBfYWRk X3ZlbmRvcl9wYWMoc3RydWN0IGdhdHRfZGIgKmRiLAogICAgICB8ICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vLi4vdW5pdC90ZXN0LWJhcC5jOjM5NjoxNjogZXJy b3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfcGFj4oCZCiAg Mzk2IHwgICAgZGF0YS0+c3JjID0gYnRfYmFwX2FkZF9wYWMoZGF0YS0+ZGIsICJ0ZXN0LWJhcC1z cmMiLAogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi8uLi91bml0L3Rlc3QtYmFwLmM6MzI6Ci4uLy4uL3NyYy9zaGFyZWQvYmFwLmg6 MTQ3OjIwOiBub3RlOiBkZWNsYXJlZCBoZXJlCiAgMTQ3IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0 X2JhcF9hZGRfcGFjKHN0cnVjdCBnYXR0X2RiICpkYiwgY29uc3QgY2hhciAqbmFtZSwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KbWFrZVs0XTogKioqIFtNYWtlZmls ZTo3ODAzOiB1bml0L3Rlc3QtYmFwLm9dIEVycm9yIDEKbWFrZVs0XTogKioqIFdhaXRpbmcgZm9y IHVuZmluaXNoZWQgam9icy4uLi4KbWFrZVszXTogKioqIFtNYWtlZmlsZToxMTY5NDogY2hlY2st VEVTVFNdIEVycm9yIDIKbWFrZVsyXTogKioqIFtNYWtlZmlsZToxMjEyMzogY2hlY2stYW1dIEVy cm9yIDIKbWFrZVsxXTogKioqIFtNYWtlZmlsZToxMjEyNTogY2hlY2tdIEVycm9yIDIKbWFrZTog KioqIFtNYWtlZmlsZToxMjA0NjogZGlzdGNoZWNrXSBFcnJvciAxCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVja1ZhbGdyaW5kIC0gRkFJTApEZXNjOiBSdW4gQmx1ZXog TWFrZSBDaGVjayB3aXRoIFZhbGdyaW5kCk91dHB1dDoKCnRvb2xzL21nbXQtdGVzdGVyLmM6IElu IGZ1bmN0aW9uIOKAmG1haW7igJk6CnRvb2xzL21nbXQtdGVzdGVyLmM6MTI3NjM6NTogbm90ZTog dmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNr aW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CjEyNzYzIHwgaW50IG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYmFwLmM6IElu IGZ1bmN0aW9uIOKAmHRlc3RfY2xpZW50X2NvbmZpZ+KAmToKdW5pdC90ZXN0LWJhcC5jOjM3Njox NjogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfdmVu ZG9yX3BhY+KAmQogIDM3NiB8ICAgIGRhdGEtPnNuayA9IGJ0X2JhcF9hZGRfdmVuZG9yX3BhYyhk YXRhLT5kYiwKICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIHVuaXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2JhcC5o OjEzOToyMDogbm90ZTogZGVjbGFyZWQgaGVyZQogIDEzOSB8IHN0cnVjdCBidF9iYXBfcGFjICpi dF9iYXBfYWRkX3ZlbmRvcl9wYWMoc3RydWN0IGdhdHRfZGIgKmRiLAogICAgICB8ICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KdW5pdC90ZXN0LWJhcC5jOjM4MjoxNjog ZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfcGFj4oCZ CiAgMzgyIHwgICAgZGF0YS0+c25rID0gYnRfYmFwX2FkZF9wYWMoZGF0YS0+ZGIsICJ0ZXN0LWJh cC1zbmsiLAogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5j bHVkZWQgZnJvbSB1bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDoxNDc6MjA6 IG5vdGU6IGRlY2xhcmVkIGhlcmUKICAxNDcgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFwX2Fk ZF9wYWMoc3RydWN0IGdhdHRfZGIgKmRiLCBjb25zdCBjaGFyICpuYW1lLAogICAgICB8ICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgp1bml0L3Rlc3QtYmFwLmM6MzkwOjE2OiBlcnJv cjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF92ZW5kb3JfcGFj 4oCZCiAgMzkwIHwgICAgZGF0YS0+c3JjID0gYnRfYmFwX2FkZF92ZW5kb3JfcGFjKGRhdGEtPmRi LAogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gdW5pdC90ZXN0LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFwLmg6MTM5OjIw OiBub3RlOiBkZWNsYXJlZCBoZXJlCiAgMTM5IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0X2JhcF9h ZGRfdmVuZG9yX3BhYyhzdHJ1Y3QgZ2F0dF9kYiAqZGIsCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgp1bml0L3Rlc3QtYmFwLmM6Mzk2OjE2OiBlcnJvcjog dG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF9wYWPigJkKICAzOTYg fCAgICBkYXRhLT5zcmMgPSBidF9iYXBfYWRkX3BhYyhkYXRhLT5kYiwgInRlc3QtYmFwLXNyYyIs CiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIHVuaXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2JhcC5oOjE0NzoyMDogbm90ZTog ZGVjbGFyZWQgaGVyZQogIDE0NyB8IHN0cnVjdCBidF9iYXBfcGFjICpidF9iYXBfYWRkX3BhYyhz dHJ1Y3QgZ2F0dF9kYiAqZGIsIGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+Cm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NzgwMzogdW5pdC90 ZXN0LWJhcC5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpv YnMuLi4uCm1ha2U6ICoqKiBbTWFrZWZpbGU6MTIxMjU6IGNoZWNrXSBFcnJvciAyCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVja1NtYXRjaCAtIEZBSUwKRGVzYzogUnVu IHNtYXRjaCB0b29sIHdpdGggc291cmNlCk91dHB1dDoKCnNyYy9zaGFyZWQvY3J5cHRvLmM6Mjcx OjIxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9j cnlwdG8uYzoyNzI6MjM6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpz cmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjc2ODozMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3Ro IGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6ODMwOjMxOiB3YXJuaW5n OiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMu YzoxMzIzOjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3No YXJlZC9nYXR0LWhlbHBlcnMuYzoxMzU0OjIzOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJy YXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LXNlcnZlci5jOjI3NjoyNTogd2FybmluZzogVmFy aWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzo2MTk6 MjU6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dh dHQtc2VydmVyLmM6NzE4OjI1OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNl ZC4Kc3JjL3NoYXJlZC9zaGVsbC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlICh0aHJvdWdoIC91 c3IvaW5jbHVkZS9yZWFkbGluZS9yZWFkbGluZS5oKToKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3Js dHlwZWRlZnMuaDozNToyMzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24gJ0Z1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5o OjM2OjI1OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv biAnVkZ1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM3OjI3OiB3 YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnQ1BGdW5j dGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozODoyOTogd2FybmluZzog bm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQUEZ1bmN0aW9uJwpz cmMvc2hhcmVkL2NyeXB0by5jOjI3MToyMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5 IGlzIHVzZWQuCnNyYy9zaGFyZWQvY3J5cHRvLmM6MjcyOjIzOiB3YXJuaW5nOiBWYXJpYWJsZSBs ZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo3Njg6MzE6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVs cGVycy5jOjgzMDozMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNy Yy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6MTMyMzozMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3Ro IGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6MTM1NDoyMzogd2Fybmlu ZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIu YzoyNzY6MjU6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hh cmVkL2dhdHQtc2VydmVyLmM6NjE5OjI1OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkg aXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LXNlcnZlci5jOjcxODoyNTogd2FybmluZzogVmFyaWFi bGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvc2hlbGwuYzogbm90ZTogaW4gaW5j bHVkZWQgZmlsZSAodGhyb3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxpbmUuaCk6Ci91 c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzU6MjM6IHdhcm5pbmc6IG5vbi1BTlNJ IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdGdW5jdGlvbicKL3Vzci9pbmNsdWRl L3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNjoyNTogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24g ZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ1ZGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5l L3JsdHlwZWRlZnMuaDozNzoyNzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24gJ0NQRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVk ZWZzLmg6Mzg6Mjk6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1 bmN0aW9uICdDUFBGdW5jdGlvbicKdG9vbHMvbWVzaC1jZmd0ZXN0LmM6MTQ1MzoxNzogd2Fybmlu ZzogdW5rbm93biBlc2NhcGUgc2VxdWVuY2U6ICdcJScKdG9vbHMvc2NvLXRlc3Rlci5jOiBub3Rl OiBpbiBpbmNsdWRlZCBmaWxlOgouL2xpYi9ibHVldG9vdGguaDoyMTY6MTU6IHdhcm5pbmc6IGFy cmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKLi9saWIvYmx1ZXRvb3RoLmg6MjIxOjMxOiB3YXJu aW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnRvb2xzL2JuZXB0ZXN0LmM6NjM0OjM5 OiB3YXJuaW5nOiB1bmtub3duIGVzY2FwZSBzZXF1ZW5jZTogJ1wlJwp0b29scy9zZXEyYnNlcS5j OjU3OjI2OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KdG9vbHMvb2Jl eC1jbGllbnQtdG9vbC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlICh0aHJvdWdoIC91c3IvaW5j bHVkZS9yZWFkbGluZS9yZWFkbGluZS5oKToKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRl ZnMuaDozNToyMzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24gJ0Z1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM2OjI1 OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnVkZ1 bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM3OjI3OiB3YXJuaW5n OiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnQ1BGdW5jdGlvbicK L3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozODoyOTogd2FybmluZzogbm9uLUFO U0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQUEZ1bmN0aW9uJwphbmRyb2lk L2F2Y3RwLmM6NTA1OjM0OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4K YW5kcm9pZC9hdmN0cC5jOjU1NjozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlz IHVzZWQuCnVuaXQvdGVzdC1hdnJjcC5jOjM3MzoyNjogd2FybmluZzogVmFyaWFibGUgbGVuZ3Ro IGFycmF5IGlzIHVzZWQuCnVuaXQvdGVzdC1hdnJjcC5jOjM5ODoyNjogd2FybmluZzogVmFyaWFi bGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnVuaXQvdGVzdC1hdnJjcC5jOjQxNDoyNDogd2Fybmlu ZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmFuZHJvaWQvYXZyY3AtbGliLmM6MTA4 NTozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmFuZHJvaWQvYXZy Y3AtbGliLmM6MTU4MzozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQu CmFuZHJvaWQvYXZyY3AtbGliLmM6MTYxMjozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFy cmF5IGlzIHVzZWQuCmFuZHJvaWQvYXZyY3AtbGliLmM6MTYzODozNDogd2FybmluZzogVmFyaWFi bGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnVuaXQvdGVzdC1iYXAuYzogSW4gZnVuY3Rpb24g4oCY dGVzdF9jbGllbnRfY29uZmln4oCZOgp1bml0L3Rlc3QtYmFwLmM6Mzc2OjE2OiBlcnJvcjogdG9v IGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF92ZW5kb3JfcGFj4oCZCiAg Mzc2IHwgICAgZGF0YS0+c25rID0gYnRfYmFwX2FkZF92ZW5kb3JfcGFjKGRhdGEtPmRiLAogICAg ICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gdW5pdC90ZXN0LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFwLmg6MTM5OjIwOiBub3Rl OiBkZWNsYXJlZCBoZXJlCiAgMTM5IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0X2JhcF9hZGRfdmVu ZG9yX3BhYyhzdHJ1Y3QgZ2F0dF9kYiAqZGIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fgp1bml0L3Rlc3QtYmFwLmM6MzgyOjE2OiBlcnJvcjogdG9vIGZl dyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF9wYWPigJkKICAzODIgfCAgICBk YXRhLT5zbmsgPSBidF9iYXBfYWRkX3BhYyhkYXRhLT5kYiwgInRlc3QtYmFwLXNuayIsCiAgICAg IHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHVu aXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2JhcC5oOjE0NzoyMDogbm90ZTogZGVjbGFy ZWQgaGVyZQogIDE0NyB8IHN0cnVjdCBidF9iYXBfcGFjICpidF9iYXBfYWRkX3BhYyhzdHJ1Y3Qg Z2F0dF9kYiAqZGIsIGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgIHwgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+CnVuaXQvdGVzdC1iYXAuYzozOTA6MTY6IGVycm9yOiB0b28gZmV3IGFy Z3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBfYWRkX3ZlbmRvcl9wYWPigJkKICAzOTAgfCAg ICBkYXRhLT5zcmMgPSBidF9iYXBfYWRkX3ZlbmRvcl9wYWMoZGF0YS0+ZGIsCiAgICAgIHwgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSB1 bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDoxMzk6MjA6IG5vdGU6IGRlY2xh cmVkIGhlcmUKICAxMzkgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFwX2FkZF92ZW5kb3JfcGFj KHN0cnVjdCBnYXR0X2RiICpkYiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnVuaXQvdGVzdC1iYXAuYzozOTY6MTY6IGVycm9yOiB0b28gZmV3IGFyZ3Vt ZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBfYWRkX3BhY+KAmQogIDM5NiB8ICAgIGRhdGEtPnNy YyA9IGJ0X2JhcF9hZGRfcGFjKGRhdGEtPmRiLCAidGVzdC1iYXAtc3JjIiwKICAgICAgfCAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gdW5pdC90ZXN0 LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFwLmg6MTQ3OjIwOiBub3RlOiBkZWNsYXJlZCBoZXJl CiAgMTQ3IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0X2JhcF9hZGRfcGFjKHN0cnVjdCBnYXR0X2Ri ICpkYiwgY29uc3QgY2hhciAqbmFtZSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn4KbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3ODAzOiB1bml0L3Rlc3QtYmFwLm9dIEVy cm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZTog KioqIFtNYWtlZmlsZTo0NjY4OiBhbGxdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjClRlc3Q6IGJsdWV6bWFrZWV4dGVsbCAtIEZBSUwKRGVzYzogQnVpbGQgQmx1ZXogd2l0 aCBFeHRlcm5hbCBFTEwKT3V0cHV0OgoKdW5pdC90ZXN0LWJhcC5jOiBJbiBmdW5jdGlvbiDigJh0 ZXN0X2NsaWVudF9jb25maWfigJk6CnVuaXQvdGVzdC1iYXAuYzozNzY6MTY6IGVycm9yOiB0b28g ZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBfYWRkX3ZlbmRvcl9wYWPigJkKICAz NzYgfCAgICBkYXRhLT5zbmsgPSBidF9iYXBfYWRkX3ZlbmRvcl9wYWMoZGF0YS0+ZGIsCiAgICAg IHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQg ZnJvbSB1bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDoxMzk6MjA6IG5vdGU6 IGRlY2xhcmVkIGhlcmUKICAxMzkgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFwX2FkZF92ZW5k b3JfcGFjKHN0cnVjdCBnYXR0X2RiICpkYiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+CnVuaXQvdGVzdC1iYXAuYzozODI6MTY6IGVycm9yOiB0b28gZmV3 IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBfYWRkX3BhY+KAmQogIDM4MiB8ICAgIGRh dGEtPnNuayA9IGJ0X2JhcF9hZGRfcGFjKGRhdGEtPmRiLCAidGVzdC1iYXAtc25rIiwKICAgICAg fCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gdW5p dC90ZXN0LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFwLmg6MTQ3OjIwOiBub3RlOiBkZWNsYXJl ZCBoZXJlCiAgMTQ3IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0X2JhcF9hZGRfcGFjKHN0cnVjdCBn YXR0X2RiICpkYiwgY29uc3QgY2hhciAqbmFtZSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn4KdW5pdC90ZXN0LWJhcC5jOjM5MDoxNjogZXJyb3I6IHRvbyBmZXcgYXJn dW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfdmVuZG9yX3BhY+KAmQogIDM5MCB8ICAg IGRhdGEtPnNyYyA9IGJ0X2JhcF9hZGRfdmVuZG9yX3BhYyhkYXRhLT5kYiwKICAgICAgfCAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHVu aXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2JhcC5oOjEzOToyMDogbm90ZTogZGVjbGFy ZWQgaGVyZQogIDEzOSB8IHN0cnVjdCBidF9iYXBfcGFjICpidF9iYXBfYWRkX3ZlbmRvcl9wYWMo c3RydWN0IGdhdHRfZGIgKmRiLAogICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn4KdW5pdC90ZXN0LWJhcC5jOjM5NjoxNjogZXJyb3I6IHRvbyBmZXcgYXJndW1l bnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfcGFj4oCZCiAgMzk2IHwgICAgZGF0YS0+c3Jj ID0gYnRfYmFwX2FkZF9wYWMoZGF0YS0+ZGIsICJ0ZXN0LWJhcC1zcmMiLAogICAgICB8ICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSB1bml0L3Rlc3Qt YmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDoxNDc6MjA6IG5vdGU6IGRlY2xhcmVkIGhlcmUK ICAxNDcgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFwX2FkZF9wYWMoc3RydWN0IGdhdHRfZGIg KmRiLCBjb25zdCBjaGFyICpuYW1lLAogICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fgptYWtlWzFdOiAqKiogW01ha2VmaWxlOjc4MDM6IHVuaXQvdGVzdC1iYXAub10gRXJy b3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlOiAq KiogW01ha2VmaWxlOjQ2Njg6IGFsbF0gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKVGVzdDogSW5jcmVtZW50YWxCdWlsZCAtIEZBSUwKRGVzYzogSW5jcmVtZW50YWwgYnVp bGQgd2l0aCB0aGUgcGF0Y2hlcyBpbiB0aGUgc2VyaWVzCk91dHB1dDoKWzIvMl0gc2hhcmVkL2Jh cDogQWRkIHN1cHBvcnQgZm9yIEF1ZGlvIExvY2F0aW9ucwoKdG9vbHMvbWdtdC10ZXN0ZXIuYzog SW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdG9vbHMvbWdtdC10ZXN0ZXIuYzoxMjc2Mzo1OiBub3Rl OiB2YXJpYWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJh Y2tpbmctYXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKMTI3NjMgfCBpbnQgbWFpbihp bnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+CnVuaXQvdGVzdC1hdmR0cC5j OiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgp1bml0L3Rlc3QtYXZkdHAuYzo3NjY6NTogbm90ZTog dmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNr aW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CiAgNzY2IHwgaW50IG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYXZyY3AuYzog SW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LWF2cmNwLmM6OTg5OjU6IG5vdGU6IHZh cmlhYmxlIHRyYWNraW5nIHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2lu Zy1hc3NpZ25tZW50c+KAmSwgcmV0cnlpbmcgd2l0aG91dAogIDk4OSB8IGludCBtYWluKGludCBh cmdjLCBjaGFyICphcmd2W10pCiAgICAgIHwgICAgIF5+fn4KdW5pdC90ZXN0LWJhcC5jOiBJbiBm dW5jdGlvbiDigJh0ZXN0X2NsaWVudF9jb25maWfigJk6CnVuaXQvdGVzdC1iYXAuYzozNzY6MTY6 IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBfYWRkX3ZlbmRv cl9wYWPigJkKICAzNzYgfCAgICBkYXRhLT5zbmsgPSBidF9iYXBfYWRkX3ZlbmRvcl9wYWMoZGF0 YS0+ZGIsCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CkluIGZp bGUgaW5jbHVkZWQgZnJvbSB1bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDox Mzk6MjA6IG5vdGU6IGRlY2xhcmVkIGhlcmUKICAxMzkgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRf YmFwX2FkZF92ZW5kb3JfcGFjKHN0cnVjdCBnYXR0X2RiICpkYiwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CnVuaXQvdGVzdC1iYXAuYzozODI6MTY6IGVy cm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBfYWRkX3BhY+KAmQog IDM4MiB8ICAgIGRhdGEtPnNuayA9IGJ0X2JhcF9hZGRfcGFjKGRhdGEtPmRiLCAidGVzdC1iYXAt c25rIiwKICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gdW5pdC90ZXN0LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFwLmg6MTQ3OjIwOiBu b3RlOiBkZWNsYXJlZCBoZXJlCiAgMTQ3IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0X2JhcF9hZGRf cGFjKHN0cnVjdCBnYXR0X2RiICpkYiwgY29uc3QgY2hhciAqbmFtZSwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KdW5pdC90ZXN0LWJhcC5jOjM5MDoxNjogZXJyb3I6 IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfdmVuZG9yX3BhY+KA mQogIDM5MCB8ICAgIGRhdGEtPnNyYyA9IGJ0X2JhcF9hZGRfdmVuZG9yX3BhYyhkYXRhLT5kYiwK ICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIHVuaXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2JhcC5oOjEzOToyMDog bm90ZTogZGVjbGFyZWQgaGVyZQogIDEzOSB8IHN0cnVjdCBidF9iYXBfcGFjICpidF9iYXBfYWRk X3ZlbmRvcl9wYWMoc3RydWN0IGdhdHRfZGIgKmRiLAogICAgICB8ICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KdW5pdC90ZXN0LWJhcC5jOjM5NjoxNjogZXJyb3I6IHRv byBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGJ0X2JhcF9hZGRfcGFj4oCZCiAgMzk2IHwg ICAgZGF0YS0+c3JjID0gYnRfYmFwX2FkZF9wYWMoZGF0YS0+ZGIsICJ0ZXN0LWJhcC1zcmMiLAog ICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJv bSB1bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDoxNDc6MjA6IG5vdGU6IGRl Y2xhcmVkIGhlcmUKICAxNDcgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFwX2FkZF9wYWMoc3Ry dWN0IGdhdHRfZGIgKmRiLCBjb25zdCBjaGFyICpuYW1lLAogICAgICB8ICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fgptYWtlWzFdOiAqKiogW01ha2VmaWxlOjc4MDM6IHVuaXQvdGVz dC1iYXAub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2Jz Li4uLgptYWtlOiAqKiogW01ha2VmaWxlOjQ2Njg6IGFsbF0gRXJyb3IgMgojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogU2NhbkJ1aWxkIC0gRkFJTApEZXNjOiBSdW4gU2NhbiBC dWlsZApPdXRwdXQ6CgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6NDUxOjIxOiB3YXJuaW5nOiBV c2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZ2F0dF9kYl91bnJlZ2lzdGVy KG9wLT5jbGllbnQtPmRiLCBvcC0+ZGJfaWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzo2OTY6Mjogd2FybmluZzogVXNlIG9m IG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShv cCwgZmFsc2UsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6OTkzOjI6IHdhcm5pbmc6 IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29t cGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMDk5 OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNj b3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1j bGllbnQuYzoxMjkxOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQK ICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9z aGFyZWQvZ2F0dC1jbGllbnQuYzoxMzU2OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIg aXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0 dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxNjMxOjY6IHdhcm5pbmc6IFVzZSBvZiBt ZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBpZiAocmVhZF9kYl9oYXNoKG9wKSkgewog ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxNjM2 OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNj b3Zlcl9hbGwob3ApOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNs aWVudC5jOjIxNDA6Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAog ICAgICAgIGlmIChyZWFkX2RiX2hhc2gob3ApKSB7CiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNDg6ODogd2FybmluZzogVXNlIG9mIG1lbW9y eSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRpc2NvdmVyeV9vcF9yZWYob3ApLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzozMjM3OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1v cnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBjb21wbGV0ZV93cml0ZV9sb25nX29wKHJlcSwg c3VjY2VzcywgMCwgZmFsc2UpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjMyNTk6Mjogd2Fybmlu ZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIHJlcXVlc3RfdW5yZWYo cmVxKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KMTIgd2FybmluZ3MgZ2VuZXJhdGVkLgpz cmMvc2hhcmVkL3NoZWxsLmM6MTIyODoxMzogd2FybmluZzogQWNjZXNzIHRvIGZpZWxkICdvcHRp b25zJyByZXN1bHRzIGluIGEgZGVyZWZlcmVuY2Ugb2YgYSBudWxsIHBvaW50ZXIgKGxvYWRlZCBm cm9tIHZhcmlhYmxlICdvcHQnKQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoYyAhPSBvcHQt Pm9wdGlvbnNbaW5kZXggLSBvZmZzZXRdLnZhbCkgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4Kc3JjL3NoYXJlZC9nYXR0 LWNsaWVudC5jOjQ1MToyMTogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVl ZAogICAgICAgIGdhdHRfZGJfdW5yZWdpc3RlcihvcC0+Y2xpZW50LT5kYiwgb3AtPmRiX2lkKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xp ZW50LmM6Njk2OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAg ICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIGZhbHNlLCBhdHRfZWNvZGUpOwogICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9n YXR0LWNsaWVudC5jOjk5MzoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZy ZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUp OwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpz cmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTA5OToyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNz LCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTI5MToyOiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRl KG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTM1NjoyOiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5 X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50 LmM6MTYzMTo2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAg ICAgaWYgKHJlYWRfZGJfaGFzaChvcCkpIHsKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgpz cmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTYzNjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJfYWxsKG9wKTsKICAgICAgICBefn5+fn5+ fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoyMTQwOjY6IHdhcm5pbmc6IFVzZSBv ZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBpZiAocmVhZF9kYl9oYXNoKG9wKSkg ewogICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoy MTQ4Ojg6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3Zlcnlf b3BfcmVmKG9wKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6 MzIzNzoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAg Y29tcGxldGVfd3JpdGVfbG9uZ19vcChyZXEsIHN1Y2Nlc3MsIDAsIGZhbHNlKTsKICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQv Z2F0dC1jbGllbnQuYzozMjU5OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMg ZnJlZWQKICAgICAgICByZXF1ZXN0X3VucmVmKHJlcSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+CjEyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3NoYXJlZC9zaGVsbC5jOjEyMjg6MTM6IHdh cm5pbmc6IEFjY2VzcyB0byBmaWVsZCAnb3B0aW9ucycgcmVzdWx0cyBpbiBhIGRlcmVmZXJlbmNl IG9mIGEgbnVsbCBwb2ludGVyIChsb2FkZWQgZnJvbSB2YXJpYWJsZSAnb3B0JykKICAgICAgICAg ICAgICAgICAgICAgICAgaWYgKGMgIT0gb3B0LT5vcHRpb25zW2luZGV4IC0gb2Zmc2V0XS52YWwp IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+CjEgd2Fybmlu ZyBnZW5lcmF0ZWQuCnRvb2xzL2hjaWF0dGFjaC5jOjgxNjo3OiB3YXJuaW5nOiBBbHRob3VnaCB0 aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lv biwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicKICAgICAgICBpZiAo KG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgMTApKSA8IDApIHsKICAgICAgICAgICAgIF4g ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFjaC5jOjg2NDo3OiB3 YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1c2VkIGluIHRoZSBl bmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJv bSAnbicKICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkg ewogICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9oY2lh dHRhY2guYzo4ODY6ODogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnbicg aXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBh Y3R1YWxseSByZWFkIGZyb20gJ24nCiAgICAgICAgICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9l dmVudChmZCwgcmVzcCwgMTApKSA8IDApIHsKICAgICAgICAgICAgICAgICAgICAgXiAgIH5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpYXR0YWNoLmM6OTA4Ojc6IHdhcm5pbmc6 IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ24nIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2lu ZyBleHByZXNzaW9uLCB0aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICduJwog ICAgICAgIGlmICgobiA9IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCA0KSkgPCAwKSB7CiAgICAg ICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFjaC5j OjkyOTo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1c2Vk IGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5 IHJlYWQgZnJvbSAnbicKICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwg NCkpIDwgMCkgewogICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0 b29scy9oY2lhdHRhY2guYzo5NzM6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3Jl ZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBp cyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nCiAgICAgICAgaWYgKChuID0gcmVhZF9oY2lf ZXZlbnQoZmQsIHJlc3AsIDYpKSA8IDApIHsKICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KNiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9vdWkuYzo1MDoyOiB3YXJu aW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2h3ZGInIGlzIG5ldmVyIHJlYWQKICAgICAgICBod2RiID0g dWRldl9od2RiX3VucmVmKGh3ZGIpOwogICAgICAgIF4gICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ fn4Kc3JjL291aS5jOjUzOjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAndWRldicgaXMgbmV2 ZXIgcmVhZAogICAgICAgIHVkZXYgPSB1ZGV2X3VucmVmKHVkZXYpOwogICAgICAgIF4gICAgICB+ fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9oY2lkdW1wLmM6MTgw Ojk6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdkcCcK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmRzW2ldLmZkID09IHNvY2spCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fgp0b29scy9oY2lkdW1wLmM6MjQ4 OjE3OiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRoLT50c19zZWMgID0gaHRvYmwoZnJtLnRzLnR2 X3NlYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9oY2lkdW1wLmM6MzI2Ojk6IHdhcm5pbmc6IDFzdCBmdW5j dGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZiAoYmUzMnRvaChkcC5mbGFncykgJiAweDAyKSB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci91c3IvaW5j bHVkZS9lbmRpYW4uaDo0NjoyMjogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnYmUzMnRvaCcK IyAgZGVmaW5lIGJlMzJ0b2goeCkgX19ic3dhcF8zMiAoeCkKICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVtcC5jOjM0MToyMDogd2FybmluZzogMXN0IGZ1bmN0 aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZybS5kYXRhX2xlbiA9IGJlMzJ0b2goZHAubGVuKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4K L3Vzci9pbmNsdWRlL2VuZGlhbi5oOjQ2OjIyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdi ZTMydG9oJwojICBkZWZpbmUgYmUzMnRvaCh4KSBfX2Jzd2FwXzMyICh4KQogICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fgp0b29scy9oY2lkdW1wLmM6MzQ2OjE0OiB3YXJuaW5nOiAx c3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Bjb2RlID0gYmUzMnRvaChkcC5mbGFncykgJiAw eGZmZmY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn4KL3Vzci9pbmNsdWRlL2VuZGlhbi5oOjQ2OjIyOiBub3RlOiBleHBhbmRlZCBmcm9t IG1hY3JvICdiZTMydG9oJwojICBkZWZpbmUgYmUzMnRvaCh4KSBfX2Jzd2FwXzMyICh4KQogICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgp0b29scy9oY2lkdW1wLmM6Mzg0OjE3OiB3 YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAg ICAgICAgICAgICAgICBmcm0uZGF0YV9sZW4gPSBidG9ocyhkaC5sZW4pOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWR1bXAuYzoz OTQ6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAg ICAgICAgICAgICAgICBmcm0ubGVuID0gZnJtLmRhdGFfbGVuOwogICAgICAgICAgICAgICAgICAg ICAgICBeIH5+fn5+fn5+fn5+fgp0b29scy9oY2lkdW1wLmM6Mzk4Ojk6IHdhcm5pbmc6IDFzdCBm dW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICAg ICAgICAgICAgICAgICAgdHMgPSBiZTY0dG9oKHBoLnRzKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fgovdXNyL2luY2x1ZGUvZW5kaWFuLmg6NTE6MjI6IG5vdGU6 IGV4cGFuZGVkIGZyb20gbWFjcm8gJ2JlNjR0b2gnCiMgIGRlZmluZSBiZTY0dG9oKHgpIF9fYnN3 YXBfNjQgKHgpCiAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWR1 bXAuYzo0MDM6MTM6IHdhcm5pbmc6IDFzdCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVu aW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgZnJtLmluID0gYmUzMnRv aChkcC5mbGFncykgJiAweDAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fgovdXNyL2luY2x1ZGUvZW5kaWFuLmg6NDY6MjI6IG5vdGU6IGV4cGFuZGVk IGZyb20gbWFjcm8gJ2JlMzJ0b2gnCiMgIGRlZmluZSBiZTMydG9oKHgpIF9fYnN3YXBfMzIgKHgp CiAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWR1bXAuYzo0MDg6 MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAg ICAgICAgICAgICAgICAgICAgIGZybS5pbiA9IGRoLmluOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXiB+fn5+fgp0b29scy9oY2lkdW1wLmM6NDM3Ojc6IHdhcm5pbmc6IE51bGwgcG9p bnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAg ZmQgPSBvcGVuKGZpbGUsIG9wZW5fZmxhZ3MsIDA2NDQpOwogICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgoxMSB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL3JmY29tbS5j OjIyODozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2knIGlzIG5ldmVyIHJlYWQKICAgICAg ICAgICAgICAgIGkgPSBleGVjdnAoY21kYXJndlswXSwgY21kYXJndik7CiAgICAgICAgICAgICAg ICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3JmY29tbS5jOjIyODo3OiB3 YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdu b25udWxsJwogICAgICAgICAgICAgICAgaSA9IGV4ZWN2cChjbWRhcmd2WzBdLCBjbWRhcmd2KTsK ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvcmZj b21tLmM6MzQ4Ojg6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ2ZkJyBp cyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFj dHVhbGx5IHJlYWQgZnJvbSAnZmQnCiAgICAgICAgICAgICAgICBpZiAoKGZkID0gb3BlbihkZXZu YW1lLCBPX1JET05MWSB8IE9fTk9DVFRZKSkgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgIF4g ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9yZmNvbW0uYzo0OTE6 MTQ6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAg ICAgcmVxLmNoYW5uZWwgPSByYWRkci5yY19jaGFubmVsOwogICAgICAgICAgICAgICAgICAgIF4g fn5+fn5+fn5+fn5+fn5+fgp0b29scy9yZmNvbW0uYzo1MDk6ODogd2FybmluZzogQWx0aG91Z2gg dGhlIHZhbHVlIHN0b3JlZCB0byAnZmQnIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNz aW9uLCB0aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICdmZCcKICAgICAgICAg ICAgICAgIGlmICgoZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRPTkxZIHwgT19OT0NUVFkpKSA8IDAp IHsKICAgICAgICAgICAgICAgICAgICAgXiAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CjUgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2RwLXhtbC5jOjEyNjoxMDogd2Fybmlu ZzogQXNzaWduZWQgdmFsdWUgaXMgZ2FyYmFnZSBvciB1bmRlZmluZWQKICAgICAgICAgICAgICAg IGJ1ZlsxXSA9IGRhdGFbaSArIDFdOwogICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn4Kc3JjL3NkcC14bWwuYzozMDA6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJh Z2Ugb3IgdW5kZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSAr IDFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fgpzcmMvc2Rw LXhtbC5jOjMzODoxMTogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgZ2FyYmFnZSBvciB1bmRl ZmluZWQKICAgICAgICAgICAgICAgICAgICAgICAgYnVmWzFdID0gZGF0YVtpICsgMV07CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+CjMgd2FybmluZ3MgZ2VuZXJh dGVkLgp0b29scy9jaXB0b29sLmM6MzUwOjc6IHdhcm5pbmc6IDV0aCBmdW5jdGlvbiBjYWxsIGFy Z3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICBzayA9IGRvX2Nvbm5lY3Qo Y3RsLCBkZXZfaWQsICZzcmMsICZkc3QsIHBzbSwgKDEgPDwgQ01UUF9MT09QQkFDSykpOwogICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KdG9vbHMvc2RwdG9vbC5jOjk0MToy Njogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2MnIGlzIGNvbnZlcnRlZCB0byBhIHBvaW50ZXIg b2YgdHlwZSAndWludDMyX3QnLCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBzaXplb2Ygb3Bl cmFuZCB0eXBlICdpbnQnCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICp2YWx1ZV9p bnQgPSBtYWxsb2Moc2l6ZW9mKGludCkpOwogICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+ fn5+ICAgICAgICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzo5ODA6NDog d2FybmluZzogMXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2 YWx1ZQogICAgICAgICAgICAgICAgICAgICAgICBmcmVlKGFsbG9jQXJyYXlbaV0pOwogICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzozNzc3 OjI6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdzaS5u YW1lJwogICAgICAgIHJldHVybiBhZGRfc2VydmljZSgwLCAmc2kpOwogICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzo0MTEyOjQ6IHdhcm5pbmc6IFBvdGVu dGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdjb250ZXh0LnN2YycKICAgICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn4KNCB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2F2dGVzdC5jOjIyNDo1OiB3YXJuaW5nOiBW YWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjIzNDo1OiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDQpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5j OjI0Mzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xz L2F2dGVzdC5jOjI1Nzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIg cmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn4KdG9v bHMvYXZ0ZXN0LmM6MjY0OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZl ciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1 ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fgp0 b29scy9hdnRlc3QuYzoyNzE6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5l dmVyIHJlYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywg YnVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+ CnRvb2xzL2F2dGVzdC5jOjI3ODo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMg bmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNr LCBidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+ fn4KdG9vbHMvYXZ0ZXN0LmM6Mjg5OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBp cyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUo c2ssIGJ1ZiwgNCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MjkzOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVu ID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAg ICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzAyOjU6IHdhcm5pbmc6IFZhbHVl IHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzA2OjU6IHdhcm5p bmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzE1 OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0 ZXN0LmM6MzIyOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFk CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6MzQ0OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ss IGJ1ZiwgNCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+ fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzQ4OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn bGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0g d3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAg fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzU3OjU6IHdhcm5pbmc6IFZhbHVlIHN0 b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzYxOjU6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mzc0OjU6 IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0 LmM6Mzc4OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9v bHMvYXZ0ZXN0LmM6Mzg1OjQ6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZl ciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwog ICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRl c3QuYzozOTU6NDogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQK ICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAg ICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjU1 OTozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAg ICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICBeICAgICB+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo1Njc6Mzogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNr LCBidWYsIGludmFsaWQgPyAyIDogMyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjU4MTozOiB3YXJuaW5nOiBWYWx1 ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3Jp dGUoc2ssIGJ1ZiwgNCArIHNpemVvZihtZWRpYV90cmFuc3BvcnQpKTsKICAgICAgICAgICAgICAg IF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMv YXZ0ZXN0LmM6NTk0OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciBy ZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAgICAgICAgICAg ICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjYwNDozOiB3YXJuaW5n OiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVu ID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+ fn5+fgp0b29scy9hdnRlc3QuYzo2MTY6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4n IGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwog ICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjMx OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAg ICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+ fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjY0MzozOiB3YXJuaW5nOiBWYWx1ZSBzdG9y ZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ss IGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9h dnRlc3QuYzo2NTI6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJl YWQKICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAg ICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjU5OjM6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4g PSB3cml0ZShzaywgYnVmLCAyKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+ fn5+CnRvb2xzL2F2dGVzdC5jOjY5NToyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicg aXMgbmV2ZXIgcmVhZAogICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIEFWQ1RQX0hFQURFUl9M RU5HVEggKyBzaXplb2YocGxheV9wcmVzc2VkKSk7CiAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgozMiB3YXJuaW5n cyBnZW5lcmF0ZWQuCnRvb2xzL2J0cHJveHkuYzo4MzY6MTU6IHdhcm5pbmc6IE51bGwgcG9pbnRl ciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgICAg ICAgICAgICAgICAgIHRjcF9wb3J0ID0gYXRvaShvcHRhcmcpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgp0b29scy9idHByb3h5LmM6ODM5Ojg6IHdhcm5p bmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51 bGwnCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsZW4ob3B0YXJnKSA+IDMgJiYgIXN0 cm5jbXAob3B0YXJnLCAiaGNpIiwgMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMvY3JlYXRlLWltYWdlLmM6NzY6 Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAg ICAgICAgZmQgPSAtMTsKICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRlLWltYWdl LmM6ODQ6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZAogICAg ICAgICAgICAgICAgZmQgPSAtMTsKICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRl LWltYWdlLmM6OTI6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVh ZAogICAgICAgICAgICAgICAgZmQgPSAtMTsKICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMv Y3JlYXRlLWltYWdlLmM6MTA1OjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnZmQnIGlzIG5l dmVyIHJlYWQKICAgICAgICBmZCA9IC0xOwogICAgICAgIF4gICAgfn4KNCB3YXJuaW5ncyBnZW5l cmF0ZWQuCnRvb2xzL2J0Z2F0dC1jbGllbnQuYzoxNTk3OjI6IHdhcm5pbmc6IFZhbHVlIHN0b3Jl ZCB0byAnYXJndicgaXMgbmV2ZXIgcmVhZAogICAgICAgIGFyZ3YgKz0gb3B0aW5kOwogICAgICAg IF4gICAgICAgfn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL2J0Z2F0dC1zZXJ2ZXIu YzoxMjEyOjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnYXJndicgaXMgbmV2ZXIgcmVhZAog ICAgICAgIGFyZ3YgLT0gb3B0aW5kOwogICAgICAgIF4gICAgICAgfn5+fn5+CjEgd2FybmluZyBn ZW5lcmF0ZWQuCnRvb2xzL2NoZWNrLXNlbGZ0ZXN0LmM6NDI6Mzogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdwdHInIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIHB0ciA9IGZnZXRzKHJl c3VsdCwgc2l6ZW9mKHJlc3VsdCksIGZwKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgp0b29scy9nYXR0 LXNlcnZpY2UuYzoyOTQ6Mjogd2FybmluZzogMm5kIGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMg YW4gdW5pbml0aWFsaXplZCB2YWx1ZQogICAgICAgIGNocl93cml0ZShjaHIsIHZhbHVlLCBsZW4p OwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQu CnRvb2xzL29iZXgtc2VydmVyLXRvb2wuYzoxMzM6MTM6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBw YXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgZGF0YS0+ ZmQgPSBvcGVuKG5hbWUsIE9fV1JPTkxZIHwgT19DUkVBVCB8IE9fTk9DVFRZLCAwNjAwKTsKICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CnRvb2xzL29iZXgtc2VydmVyLXRvb2wuYzoxOTI6MTM6IHdhcm5pbmc6IE51bGwgcG9p bnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAg ZGF0YS0+ZmQgPSBvcGVuKG5hbWUsIE9fUkRPTkxZIHwgT19OT0NUVFksIDApOwogICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdl bmVyYXRlZC4KdG9vbHMvdGVzdC1ydW5uZXIuYzo5NDU6Mjogd2FybmluZzogMm5kIGZ1bmN0aW9u IGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQogICAgICAgIHByaW50Zigi UnVubmluZyBjb21tYW5kICVzXG4iLCBjbWRuYW1lID8gY21kbmFtZSA6IGFyZ3ZbMF0pOwogICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL2J0cGNsaWVudGN0bC5jOjQwMjozOiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2JpdCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAg ICAgYml0ID0gMDsKICAgICAgICAgICAgICAgIF4gICAgIH4KdG9vbHMvYnRwY2xpZW50Y3RsLmM6 MTY1NToyOiB3YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDJuZCBwYXJhbWV0ZXIgZXhw ZWN0aW5nICdub25udWxsJwogICAgICAgIG1lbWNweShjcC0+ZGF0YSwgYWRfZGF0YSwgYWRfbGVu KTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBn ZW5lcmF0ZWQuCnNyYy9zZHBkLXJlcXVlc3QuYzoyMTE6MTM6IHdhcm5pbmc6IFJlc3VsdCBvZiAn bWFsbG9jJyBpcyBjb252ZXJ0ZWQgdG8gYSBwb2ludGVyIG9mIHR5cGUgJ2NoYXInLCB3aGljaCBp cyBpbmNvbXBhdGlibGUgd2l0aCBzaXplb2Ygb3BlcmFuZCB0eXBlICd1aW50MTZfdCcKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwRWxlbSA9IG1hbGxvYyhzaXplb2YodWludDE2X3Qp KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fiB+fn5+fn5+ fn5+fn5+fn5+CnNyYy9zZHBkLXJlcXVlc3QuYzoyMzk6MTM6IHdhcm5pbmc6IFJlc3VsdCBvZiAn bWFsbG9jJyBpcyBjb252ZXJ0ZWQgdG8gYSBwb2ludGVyIG9mIHR5cGUgJ2NoYXInLCB3aGljaCBp cyBpbmNvbXBhdGlibGUgd2l0aCBzaXplb2Ygb3BlcmFuZCB0eXBlICd1aW50MzJfdCcKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwRWxlbSA9IG1hbGxvYyhzaXplb2YodWludDMyX3Qp KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fiB+fn5+fn5+ fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgphbmRyb2lkL2F2cmNwLWxpYi5jOjE5Njg6 Mzogd2FybmluZzogMXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXpl ZCB2YWx1ZQogICAgICAgICAgICAgICAgZ19mcmVlKHRleHRbaV0pOwogICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnVuaXQvdGVzdC1iYXAuYzogSW4g ZnVuY3Rpb24g4oCYdGVzdF9jbGllbnRfY29uZmln4oCZOgp1bml0L3Rlc3QtYmFwLmM6Mzc2OjE2 OiBlcnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF92ZW5k b3JfcGFj4oCZCiAgMzc2IHwgICAgZGF0YS0+c25rID0gYnRfYmFwX2FkZF92ZW5kb3JfcGFjKGRh dGEtPmRiLAogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gdW5pdC90ZXN0LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFwLmg6 MTM5OjIwOiBub3RlOiBkZWNsYXJlZCBoZXJlCiAgMTM5IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0 X2JhcF9hZGRfdmVuZG9yX3BhYyhzdHJ1Y3QgZ2F0dF9kYiAqZGIsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgp1bml0L3Rlc3QtYmFwLmM6MzgyOjE2OiBl cnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYnRfYmFwX2FkZF9wYWPigJkK ICAzODIgfCAgICBkYXRhLT5zbmsgPSBidF9iYXBfYWRkX3BhYyhkYXRhLT5kYiwgInRlc3QtYmFw LXNuayIsCiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIHVuaXQvdGVzdC1iYXAuYzozMjoKLi9zcmMvc2hhcmVkL2JhcC5oOjE0NzoyMDog bm90ZTogZGVjbGFyZWQgaGVyZQogIDE0NyB8IHN0cnVjdCBidF9iYXBfcGFjICpidF9iYXBfYWRk X3BhYyhzdHJ1Y3QgZ2F0dF9kYiAqZGIsIGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CnVuaXQvdGVzdC1iYXAuYzozOTA6MTY6IGVycm9y OiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBfYWRkX3ZlbmRvcl9wYWPi gJkKICAzOTAgfCAgICBkYXRhLT5zcmMgPSBidF9iYXBfYWRkX3ZlbmRvcl9wYWMoZGF0YS0+ZGIs CiAgICAgIHwgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5j bHVkZWQgZnJvbSB1bml0L3Rlc3QtYmFwLmM6MzI6Ci4vc3JjL3NoYXJlZC9iYXAuaDoxMzk6MjA6 IG5vdGU6IGRlY2xhcmVkIGhlcmUKICAxMzkgfCBzdHJ1Y3QgYnRfYmFwX3BhYyAqYnRfYmFwX2Fk ZF92ZW5kb3JfcGFjKHN0cnVjdCBnYXR0X2RiICpkYiwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CnVuaXQvdGVzdC1iYXAuYzozOTY6MTY6IGVycm9yOiB0 b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhidF9iYXBfYWRkX3BhY+KAmQogIDM5NiB8 ICAgIGRhdGEtPnNyYyA9IGJ0X2JhcF9hZGRfcGFjKGRhdGEtPmRiLCAidGVzdC1iYXAtc3JjIiwK ICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gdW5pdC90ZXN0LWJhcC5jOjMyOgouL3NyYy9zaGFyZWQvYmFwLmg6MTQ3OjIwOiBub3RlOiBk ZWNsYXJlZCBoZXJlCiAgMTQ3IHwgc3RydWN0IGJ0X2JhcF9wYWMgKmJ0X2JhcF9hZGRfcGFjKHN0 cnVjdCBnYXR0X2RiICpkYiwgY29uc3QgY2hhciAqbmFtZSwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn4KbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3ODAzOiB1bml0L3Rl c3QtYmFwLm9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9i cy4uLi4KbWFrZTogKioqIFtNYWtlZmlsZTo0NjY4OiBhbGxdIEVycm9yIDIKCgotLS0KUmVnYXJk cywKTGludXggQmx1ZXRvb3RoCgo= --===============7352750074549204586==--