From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oi1-f175.google.com (mail-oi1-f175.google.com [209.85.167.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 338D72F28FF for ; Thu, 12 Mar 2026 18:00:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773338426; cv=none; b=rZLMNlMRMAHxvyAW7n4UCRrJlDN3nD1pIs9b/BP68OEblDqOFUPtVvydcJKdsWwfQEbJXng2fXwUYWmi/yOMx1h443Fuofx1JQ8qUjJIIXUKLVM+9OWFNEwLL9mP67qwytVtBZAI8epy69ZlNZaccwNejb4XJ5AMPMIiBjylMOI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773338426; c=relaxed/simple; bh=q/hq3fBd1kdEzTpH9kOS5Xhs8tmENRzhjrWgjmOFPu8=; h=Message-ID:Date:Content-Type:MIME-Version:From:To:Subject: In-Reply-To:References; b=nmwAmjx9Iwk/E0G//W6hrNRqDgJ5okRvgoSwyhW0gWr71gvxHDOPbeQXpif1g/3deqLq+HFYDZ4zd1g1ZN9S4siMd5J8nzr89KRlJ0gV15LOPLc9aDKMAbgToqwtVChgPiHZnjBaxlXdH9qI4tYcfWkZs7qZebN2jBJA4u9Kqxw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=AGbGqJ4D; arc=none smtp.client-ip=209.85.167.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AGbGqJ4D" Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-4670676ba03so537222b6e.1 for ; Thu, 12 Mar 2026 11:00:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773338423; x=1773943223; 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=q/hq3fBd1kdEzTpH9kOS5Xhs8tmENRzhjrWgjmOFPu8=; b=AGbGqJ4DY45ygeo41VECYRlbAhl87wIhN6wbnK1T+oxTwMn+wYQ+VoYpLn7rBHCRpV 5YggJ3AQSSfb32FGG+BK45lpUuuHLEELFtih33obIrywF9rc2DIr1GlxxrPT3Gn4a0ct nnHDpSbCy56ldCchmVdj7qcly/bxMWhGzkKZ7nskQS1BQRmPQJvw9g61Rt2r3crVptQC kuutAv+aUtef9g0bK5sTwCSxp062klj3tiFJ1hfXgRyaI4VRPfYvKkQP9eJsX5GVnFfT hQgv7tJhurZzikobJUx1DZ1Ig5t6mSQYQ6EsshVinALDzRssJvmUAYJpJNYx+I04DZEI 7Wqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773338423; x=1773943223; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=q/hq3fBd1kdEzTpH9kOS5Xhs8tmENRzhjrWgjmOFPu8=; b=BqOrq2j8M/CBuBwbyOlchTui15X6osMlXoF/H1AYmZsBfMJVQo2HvwNJmmftO4PAs8 fseDRW5yVi/IkzITtuAbxYjSThT0OxlVwHMyIJzGLyktzZvtK+3rib7/EhdcPSpLpOAy VaLPAb5p9ynNUyBogACCHVZmSX1uoYs3lbtcQ+UVGENR2f4xff/Id4z7v153bKa46zbs hupw4olz5phcXbrPL0rcbs7Twk6Oz+qvyTHr+q4azEa8esjxBk9LwkXFhHlmaANdRcgF 89YB4iobthUmkAHBC5WXBDGvfYRnpLNm20gDcqaiFO0P6ml32NBknrvsXs3e1H/wtOUs xdkQ== X-Gm-Message-State: AOJu0YweNS9hq9v2lA5JoY00FB4dFF73bKB78Ku7ANMda0HDgw7BHGnD liYgU0kmSjlDp3bb/MgREHgMWsOk0MZxieFnrDR1q+zORdpvfx5/Jpy0vKU09w== X-Gm-Gg: ATEYQzwZecsZ2kqLb/xPjn2Gm8tZ/KNfbc8jBDx5gwxKB/UxmjwTcTT2AjRp54ZfylR 7tufEC6yjtQLWW35okIXxXudBgUKZOEts9bpEcZKFjI84OREbFH65Z8CBpGhDFq7gX7qVdFEHRT 7pt3+7xqXSHbJvFtDqRp9SbX77OI8PJyy7jSeuRVZuxCIbM6Uzt8ZVc/ZZRNHFIO0zin+PU5C5F fOL82EAvavH1Nymm1XyL45iAB0Qp7UOlz5hP43BS7qKWEQImBdMPV7uJtJF3Y5OVfxXWGBraUTH oH0p2t3P9A+vnMC0aSn+gcy9zLkS5yr6uejvpUNhTMSOGupfS1LcxA4ArKWU+6hoPacBJIuNHCz sAWMuPM2QLVrvan55kmH/soMLCnd2B2gPDPfFmuQa4CrfTrVmLU+zuy1+boGPPTzNDDTkjdZorH niCABY8Zs9uTVeeNA0M7yzyLZWdr0= X-Received: by 2002:a05:6808:2385:b0:467:1cf5:7684 with SMTP id 5614622812f47-467570a44f8mr159736b6e.6.1773338421039; Thu, 12 Mar 2026 11:00:21 -0700 (PDT) Received: from [172.17.0.2] ([52.176.37.65]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4177de88106sm5826600fac.0.2026.03.12.11.00.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 11:00:20 -0700 (PDT) Message-ID: <69b2ff34.050a0220.3108fc.cd3a@mx.google.com> Date: Thu, 12 Mar 2026 11:00:20 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============7885525714210148948==" Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, luiz.dentz@gmail.com Subject: RE: [BlueZ,v1,1/6] doc/btmon: Split Advertising and Scanning into btmon-advertising.rst In-Reply-To: <20260312171540.1065212-1-luiz.dentz@gmail.com> References: <20260312171540.1065212-1-luiz.dentz@gmail.com> Reply-To: linux-bluetooth@vger.kernel.org --===============7885525714210148948== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9MTA2NTgwNwoKLS0t VGVzdCByZXN1bHQtLS0KClRlc3QgU3VtbWFyeToKQ2hlY2tQYXRjaCAgICAgICAgICAgICAgICAg ICAgUEVORElORyAgIDAuNDAgc2Vjb25kcwpHaXRMaW50ICAgICAgICAgICAgICAgICAgICAgICBQ RU5ESU5HICAgMC4zOSBzZWNvbmRzCkJ1aWxkRWxsICAgICAgICAgICAgICAgICAgICAgIFBBU1Mg ICAgICAyMS4xNiBzZWNvbmRzCkJsdWV6TWFrZSAgICAgICAgICAgICAgICAgICAgIEZBSUwgICAg ICA1OTEuNzEgc2Vjb25kcwpNYWtlQ2hlY2sgICAgICAgICAgICAgICAgICAgICBGQUlMICAgICAg MjA4LjE1IHNlY29uZHMKTWFrZURpc3RjaGVjayAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDE0 LjAzIHNlY29uZHMKQ2hlY2tWYWxncmluZCAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDE4Ni4y OSBzZWNvbmRzCkNoZWNrU21hdGNoICAgICAgICAgICAgICAgICAgIEZBSUwgICAgICAyODQuNjkg c2Vjb25kcwpibHVlem1ha2VleHRlbGwgICAgICAgICAgICAgICBGQUlMICAgICAgMTYzLjU4IHNl Y29uZHMKSW5jcmVtZW50YWxCdWlsZCAgICAgICAgICAgICAgUEVORElORyAgIDAuNDAgc2Vjb25k cwpTY2FuQnVpbGQgICAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgMzQxLjk3IHNlY29uZHMK CkRldGFpbHMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IENoZWNrUGF0Y2gg LSBQRU5ESU5HCkRlc2M6IFJ1biBjaGVja3BhdGNoLnBsIHNjcmlwdApPdXRwdXQ6CgojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogR2l0TGludCAtIFBFTkRJTkcKRGVzYzogUnVu IGdpdGxpbnQKT3V0cHV0OgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IEJs dWV6TWFrZSAtIEZBSUwKRGVzYzogQnVpbGQgQmx1ZVoKT3V0cHV0OgoKdG9vbHMvbWdtdC10ZXN0 ZXIuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdG9vbHMvbWdtdC10ZXN0ZXIuYzoxMjk4NDo1 OiBub3RlOiB2YXJpYWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2 YXItdHJhY2tpbmctYXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKMTI5ODQgfCBpbnQg bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+CnVuaXQvdGVzdC1h dmR0cC5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgp1bml0L3Rlc3QtYXZkdHAuYzo3NjY6NTog bm90ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFy LXRyYWNraW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CiAgNzY2IHwgaW50IG1h aW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYXZy Y3AuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LWF2cmNwLmM6OTg5OjU6IG5v dGU6IHZhcmlhYmxlIHRyYWNraW5nIHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10 cmFja2luZy1hc3NpZ25tZW50c+KAmSwgcmV0cnlpbmcgd2l0aG91dAogIDk4OSB8IGludCBtYWlu KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgIHwgICAgIF5+fn4KZG9jL2J0bW9uLWNvbm5l Y3Rpb25zLnJzdDo3OiAoU0VWRVJFLzQpIFRpdGxlIGxldmVsIGluY29uc2lzdGVudDoKCkNPTk5F Q1RJT04gVFJBQ0tJTkcKPT09PT09PT09PT09PT09PT09PQpFeGl0aW5nIGR1ZSB0byBsZXZlbC00 IChTRVZFUkUpIHN5c3RlbSBtZXNzYWdlLgptYWtlWzFdOiAqKiogW01ha2VmaWxlOjEyMzgxOiBk b2MvYnRtb24uMV0gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBq b2JzLi4uLgptYWtlOiAqKiogW01ha2VmaWxlOjQyMjc6IGFsbF0gRXJyb3IgMgojIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogTWFrZUNoZWNrIC0gRkFJTApEZXNjOiBSdW4gQmx1 ZXogTWFrZSBDaGVjawpPdXRwdXQ6Cgpkb2MvYnRtb24tY29ubmVjdGlvbnMucnN0Ojc6IChTRVZF UkUvNCkgVGl0bGUgbGV2ZWwgaW5jb25zaXN0ZW50OgoKQ09OTkVDVElPTiBUUkFDS0lORwo9PT09 PT09PT09PT09PT09PT09CkV4aXRpbmcgZHVlIHRvIGxldmVsLTQgKFNFVkVSRSkgc3lzdGVtIG1l c3NhZ2UuCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6MTIzODE6IGRvYy9idG1vbi4xXSBFcnJvciAx Cm1ha2U6ICoqKiBbTWFrZWZpbGU6MTA5MDk6IGNoZWNrXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBNYWtlRGlzdGNoZWNrIC0gRkFJTApEZXNjOiBSdW4gQmx1 ZXogTWFrZSBEaXN0Y2hlY2sKT3V0cHV0OgoKZG9jL2J0bW9uLWNvbm5lY3Rpb25zLnJzdDo3OiAo U0VWRVJFLzQpIFRpdGxlIGxldmVsIGluY29uc2lzdGVudDoKCkNPTk5FQ1RJT04gVFJBQ0tJTkcK PT09PT09PT09PT09PT09PT09PQpFeGl0aW5nIGR1ZSB0byBsZXZlbC00IChTRVZFUkUpIHN5c3Rl bSBtZXNzYWdlLgptYWtlWzJdOiAqKiogW01ha2VmaWxlOjEyMzgxOiBkb2MvYnRtb24uMV0gRXJy b3IgMQptYWtlWzJdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlWzFd OiAqKiogW01ha2VmaWxlOjEwNzQyOiBkaXN0ZGlyXSBFcnJvciAyCm1ha2U6ICoqKiBbTWFrZWZp bGU6MTA4MTg6IGRpc3RdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRl c3Q6IENoZWNrVmFsZ3JpbmQgLSBGQUlMCkRlc2M6IFJ1biBCbHVleiBNYWtlIENoZWNrIHdpdGgg VmFsZ3JpbmQKT3V0cHV0OgoKdG9vbHMvbWdtdC10ZXN0ZXIuYzogSW4gZnVuY3Rpb24g4oCYbWFp buKAmToKdG9vbHMvbWdtdC10ZXN0ZXIuYzoxMjk4NDo1OiBub3RlOiB2YXJpYWJsZSB0cmFja2lu ZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdubWVudHPi gJksIHJldHJ5aW5nIHdpdGhvdXQKMTI5ODQgfCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJn dltdKQogICAgICB8ICAgICBefn5+CmRvYy9idG1vbi1jb25uZWN0aW9ucy5yc3Q6NzogKFNFVkVS RS80KSBUaXRsZSBsZXZlbCBpbmNvbnNpc3RlbnQ6CgpDT05ORUNUSU9OIFRSQUNLSU5HCj09PT09 PT09PT09PT09PT09PT0KRXhpdGluZyBkdWUgdG8gbGV2ZWwtNCAoU0VWRVJFKSBzeXN0ZW0gbWVz c2FnZS4KbWFrZVsxXTogKioqIFtNYWtlZmlsZToxMjM4MTogZG9jL2J0bW9uLjFdIEVycm9yIDEK bWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZTogKioqIFtN YWtlZmlsZToxMDkwOTogY2hlY2tdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjClRlc3Q6IENoZWNrU21hdGNoIC0gRkFJTApEZXNjOiBSdW4gc21hdGNoIHRvb2wgd2l0aCBz b3VyY2UKT3V0cHV0OgoKc3JjL3NoYXJlZC9jcnlwdG8uYzoyNzE6MjE6IHdhcm5pbmc6IFZhcmlh YmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2NyeXB0by5jOjI3MjoyMzogd2Fy bmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxw ZXJzLmM6NzY4OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3Jj L3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo4NDY6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBh cnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzMzk6MzE6IHdhcm5pbmc6 IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5j OjEzNzA6MjM6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hh cmVkL2dhdHQtc2VydmVyLmM6Mjc4OjI1OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkg aXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LXNlcnZlci5jOjYxODoyNTogd2FybmluZzogVmFyaWFi bGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzo3MTY6MjU6 IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2JhcC5j OjMxMjoyNTogd2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwpzcmMvc2hhcmVk L2JhcC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvYXNjcy5oOjg4OjI1 OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNyYy9zaGFyZWQvc2hlbGwu Yzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUv cmVhZGxpbmUuaCk6Ci91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzU6MjM6IHdh cm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdGdW5jdGlv bicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNjoyNTogd2FybmluZzogbm9u LUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ1ZGdW5jdGlvbicKL3Vzci9p bmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNzoyNzogd2FybmluZzogbm9uLUFOU0kgZnVu Y3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9y ZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzg6Mjk6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdDUFBGdW5jdGlvbicKc3JjL3NoYXJlZC9jcnlwdG8uYzoy NzE6MjE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVk L2NyeXB0by5jOjI3MjoyMzogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQu CnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6NzY4OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5n dGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo4NDY6MzE6IHdhcm5p bmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVy cy5jOjEzMzk6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMv c2hhcmVkL2dhdHQtaGVscGVycy5jOjEzNzA6MjM6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBh cnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtc2VydmVyLmM6Mjc4OjI1OiB3YXJuaW5nOiBW YXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LXNlcnZlci5jOjYx ODoyNTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQv Z2F0dC1zZXJ2ZXIuYzo3MTY6MjU6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1 c2VkLgpzcmMvc2hhcmVkL2JhcC5jOjMxMjoyNTogd2FybmluZzogYXJyYXkgb2YgZmxleGlibGUg c3RydWN0dXJlcwpzcmMvc2hhcmVkL2JhcC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3Ny Yy9zaGFyZWQvYXNjcy5oOjg4OjI1OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1 cmVzCnNyYy9zaGFyZWQvc2hlbGwuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCAv dXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxpbmUuaCk6Ci91c3IvaW5jbHVkZS9yZWFkbGluZS9y bHR5cGVkZWZzLmg6MzU6MjM6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9u IG9mIGZ1bmN0aW9uICdGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMu aDozNjoyNTogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24gJ1ZGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNzoyNzog d2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQRnVu Y3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzg6Mjk6IHdhcm5pbmc6 IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdDUFBGdW5jdGlvbicK dG9vbHMvbWVzaC1jZmd0ZXN0LmM6MTQ1MzoxNzogd2FybmluZzogdW5rbm93biBlc2NhcGUgc2Vx dWVuY2U6ICdcJScKdG9vbHMvc2NvLXRlc3Rlci5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgou L2xpYi9ibHVldG9vdGgvYmx1ZXRvb3RoLmg6MjMyOjE1OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4 aWJsZSBzdHJ1Y3R1cmVzCi4vbGliL2JsdWV0b290aC9ibHVldG9vdGguaDoyMzc6MzE6IHdhcm5p bmc6IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKdG9vbHMvYm5lcHRlc3QuYzo2MzQ6Mzk6 IHdhcm5pbmc6IHVua25vd24gZXNjYXBlIHNlcXVlbmNlOiAnXCUnCnRvb2xzL3NlcTJic2VxLmM6 NTc6MjY6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp0b29scy9vYmV4 LWNsaWVudC10b29sLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGUgKHRocm91Z2ggL3Vzci9pbmNs dWRlL3JlYWRsaW5lL3JlYWRsaW5lLmgpOgovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVm cy5oOjM1OjIzOiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiAnRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzY6MjU6 IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdWRnVu Y3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzc6Mjc6IHdhcm5pbmc6 IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdDUEZ1bmN0aW9uJwov dXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM4OjI5OiB3YXJuaW5nOiBub24tQU5T SSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnQ1BQRnVuY3Rpb24nCmNsaWVudC9i dHBjbGllbnQvZ2F0dC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvYnRw Lmg6MzA5OjQyOiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNyYy9hZHZl cnRpc2luZy5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvbWdtdC5oOjk1 OjI1OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHVuc2lnbmVkIGludCBlbnVtIG1nbXRfaW9fY2Fw YWJpbGl0eQpzcmMvYWR2X21vbml0b3IuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZToKLi9zcmMv c2hhcmVkL21nbXQuaDo5NToyNTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB1bnNpZ25lZCBpbnQg ZW51bSBtZ210X2lvX2NhcGFiaWxpdHkKdW5pdC9hdmN0cC5jOjUwNTozNDogd2FybmluZzogVmFy aWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnVuaXQvYXZjdHAuYzo1NTY6MzQ6IHdhcm5pbmc6 IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L3Rlc3QtYXZyY3AuYzozNzM6MjY6 IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L3Rlc3QtYXZyY3Au YzozOTg6MjY6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L3Rl c3QtYXZyY3AuYzo0MTQ6MjQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2Vk Lgp1bml0L2F2cmNwLWxpYi5jOjEwODU6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJh eSBpcyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjE1ODM6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjE2MTI6MzQ6IHdhcm5pbmc6IFZh cmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjE2Mzg6MzQ6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvYWR2ZXJ0aXNpbmcuYzog bm90ZTogaW4gaW5jbHVkZWQgZmlsZToKLi9zcmMvc2hhcmVkL21nbXQuaDo5NToyNTogZXJyb3I6 IHJlZGVmaW5pdGlvbiBvZiB1bnNpZ25lZCBpbnQgZW51bSBtZ210X2lvX2NhcGFiaWxpdHkKc3Jj L2Fkdl9tb25pdG9yLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGU6Ci4vc3JjL3NoYXJlZC9tZ210 Lmg6OTU6MjU6IGVycm9yOiByZWRlZmluaXRpb24gb2YgdW5zaWduZWQgaW50IGVudW0gbWdtdF9p b19jYXBhYmlsaXR5Cm1lc2gvbWVzaC1pby1tZ210LmM6NTI1OjY3OiB3YXJuaW5nOiBWYXJpYWJs ZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KZG9jL2J0bW9uLWNvbm5lY3Rpb25zLnJzdDo3OiAoU0VW RVJFLzQpIFRpdGxlIGxldmVsIGluY29uc2lzdGVudDoKCkNPTk5FQ1RJT04gVFJBQ0tJTkcKPT09 PT09PT09PT09PT09PT09PQpFeGl0aW5nIGR1ZSB0byBsZXZlbC00IChTRVZFUkUpIHN5c3RlbSBt ZXNzYWdlLgptYWtlWzFdOiAqKiogW01ha2VmaWxlOjEyMzgxOiBkb2MvYnRtb24uMV0gRXJyb3Ig MQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlOiAqKiog W01ha2VmaWxlOjQyMjc6IGFsbF0gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKVGVzdDogYmx1ZXptYWtlZXh0ZWxsIC0gRkFJTApEZXNjOiBCdWlsZCBCbHVleiB3aXRoIEV4 dGVybmFsIEVMTApPdXRwdXQ6Cgpkb2MvYnRtb24tY29ubmVjdGlvbnMucnN0Ojc6IChTRVZFUkUv NCkgVGl0bGUgbGV2ZWwgaW5jb25zaXN0ZW50OgoKQ09OTkVDVElPTiBUUkFDS0lORwo9PT09PT09 PT09PT09PT09PT09CkV4aXRpbmcgZHVlIHRvIGxldmVsLTQgKFNFVkVSRSkgc3lzdGVtIG1lc3Nh Z2UuCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6MTIzODE6IGRvYy9idG1vbi4xXSBFcnJvciAxCm1h a2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2U6ICoqKiBbTWFr ZWZpbGU6NDIyNzogYWxsXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpU ZXN0OiBJbmNyZW1lbnRhbEJ1aWxkIC0gUEVORElORwpEZXNjOiBJbmNyZW1lbnRhbCBidWlsZCB3 aXRoIHRoZSBwYXRjaGVzIGluIHRoZSBzZXJpZXMKT3V0cHV0OgoKIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjClRlc3Q6IFNjYW5CdWlsZCAtIEZBSUwKRGVzYzogUnVuIFNjYW4gQnVpbGQK T3V0cHV0OgoKc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjQ1NToyMTogd2FybmluZzogVXNlIG9m IG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGdhdHRfZGJfdW5yZWdpc3RlcihvcC0+ Y2xpZW50LT5kYiwgb3AtPmRiX2lkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6NzAwOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1v cnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIGZh bHNlLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjEwMDA6Mjogd2FybmluZzogVXNl IG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0 ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjExMDY6Mjog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVy eV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVu dC5jOjEzMDA6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAg ICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJl ZC9nYXR0LWNsaWVudC5jOjEzNjU6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBp cyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vj b2RlKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjE2NDA6Njogd2FybmluZzogVXNlIG9mIG1lbW9y eSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGlmIChyZWFkX2RiX2hhc2gob3ApKSB7CiAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjE2NDU6Mjog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVy X2FsbChvcCk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50 LmM6MTcwMTo1Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAg ICAgIG5vdGlmeV9kYXRhLT5jaHJjLT5jY2Nfd3JpdGVfaWQgPSBub3RpZnlfZGF0YS0+YXR0X2lk ID0gYXR0X2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+IF4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNTQ6Njogd2Fybmlu ZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGlmIChyZWFkX2RiX2hh c2gob3ApKSB7CiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNs aWVudC5jOjIxNjI6ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRp c2NvdmVyeV9vcF9yZWYob3ApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1j bGllbnQuYzozMzQwOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQK ICAgICAgICBjb21wbGV0ZV93cml0ZV9sb25nX29wKHJlcSwgc3VjY2VzcywgMCwgZmFsc2UpOwog ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3Jj L3NoYXJlZC9nYXR0LWNsaWVudC5jOjMzNjI6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRl ciBpdCBpcyBmcmVlZAogICAgICAgIHJlcXVlc3RfdW5yZWYocmVxKTsKICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KMTMgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2hhcmVkL2JhcC5jOjE1Mjk6 ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGJhcCA9 IGJ0X2JhcF9yZWZfc2FmZShiYXApOwogICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ CnNyYy9zaGFyZWQvYmFwLmM6MjM0MDoyMDogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBp dCBpcyBmcmVlZAogICAgICAgIHJldHVybiBxdWV1ZV9maW5kKHN0cmVhbS0+YmFwLT5zdHJlYW1z LCBOVUxMLCBzdHJlYW0pOwogICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6NDU1 OjIxOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZ2F0 dF9kYl91bnJlZ2lzdGVyKG9wLT5jbGllbnQtPmRiLCBvcC0+ZGJfaWQpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzo3MDA6Mjog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVy eV9vcF9jb21wbGV0ZShvcCwgZmFsc2UsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6 MTAwMDoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAg ZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dh dHQtY2xpZW50LmM6MTEwNjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZy ZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUp OwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpz cmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTMwMDoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNz LCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTM2NToyOiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRl KG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTY0MDo2OiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgaWYgKHJlYWRf ZGJfaGFzaChvcCkpIHsKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dh dHQtY2xpZW50LmM6MTY0NToyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZy ZWVkCiAgICAgICAgZGlzY292ZXJfYWxsKG9wKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNy Yy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxNzAxOjU2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkCiAgICAgICAgbm90aWZ5X2RhdGEtPmNocmMtPmNjY193cml0ZV9pZCA9 IG5vdGlmeV9kYXRhLT5hdHRfaWQgPSBhdHRfaWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn4gXgpzcmMvc2hhcmVkL2dhdHQtY2xp ZW50LmM6MjE1NDo2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAg ICAgICAgaWYgKHJlYWRfZGJfaGFzaChvcCkpIHsKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MjE2Mjo4OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5 IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGlzY292ZXJ5X29wX3JlZihvcCksCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjMzNDA6Mjogd2FybmluZzogVXNlIG9mIG1lbW9y eSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGNvbXBsZXRlX3dyaXRlX2xvbmdfb3AocmVxLCBz dWNjZXNzLCAwLCBmYWxzZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MzM2MjoyOiB3YXJuaW5n OiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgcmVxdWVzdF91bnJlZihy ZXEpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgoxMyB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRv b2xzL2hjaWF0dGFjaC5jOjgxNzo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVk IHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlz IG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicKICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9l dmVudChmZCwgcmVzcCwgMTApKSA8IDApIHsKICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFjaC5jOjg2NTo3OiB3YXJuaW5nOiBBbHRob3Vn aCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVz c2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicKICAgICAgICBp ZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkgewogICAgICAgICAgICAg XiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9oY2lhdHRhY2guYzo4ODc6ODog d2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnbicgaXMgdXNlZCBpbiB0aGUg ZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZy b20gJ24nCiAgICAgICAgICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwg MTApKSA8IDApIHsKICAgICAgICAgICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KdG9vbHMvaGNpYXR0YWNoLmM6OTA5Ojc6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2 YWx1ZSBzdG9yZWQgdG8gJ24nIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNzaW9uLCB0 aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICduJwogICAgICAgIGlmICgobiA9 IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCA0KSkgPCAwKSB7CiAgICAgICAgICAgICBeICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFjaC5jOjkzMDo3OiB3YXJuaW5n OiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3Np bmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicK ICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkgewogICAg ICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9oY2lhdHRhY2gu Yzo5NzQ6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnbicgaXMgdXNl ZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxs eSByZWFkIGZyb20gJ24nCiAgICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3As IDYpKSA8IDApIHsKICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K NiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zaGFyZWQvYmFwLmM6MTUyOTo4OiB3YXJuaW5nOiBV c2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgYmFwID0gYnRfYmFwX3JlZl9z YWZlKGJhcCk7CiAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9i YXAuYzoyMzQwOjIwOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAg ICAgICAgcmV0dXJuIHF1ZXVlX2ZpbmQoc3RyZWFtLT5iYXAtPnN0cmVhbXMsIE5VTEwsIHN0cmVh bSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJu aW5ncyBnZW5lcmF0ZWQuCnNyYy9vdWkuYzo1MDoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8g J2h3ZGInIGlzIG5ldmVyIHJlYWQKICAgICAgICBod2RiID0gdWRldl9od2RiX3VucmVmKGh3ZGIp OwogICAgICAgIF4gICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL291aS5jOjUzOjI6IHdh cm5pbmc6IFZhbHVlIHN0b3JlZCB0byAndWRldicgaXMgbmV2ZXIgcmVhZAogICAgICAgIHVkZXYg PSB1ZGV2X3VucmVmKHVkZXYpOwogICAgICAgIF4gICAgICB+fn5+fn5+fn5+fn5+fn5+CjIgd2Fy bmluZ3MgZ2VuZXJhdGVkLgp0b29scy9yZmNvbW0uYzoyMzQ6Mzogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdpJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBpID0gZXhlY3ZwKGNtZGFy Z3ZbMF0sIGNtZGFyZ3YpOwogICAgICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgp0b29scy9yZmNvbW0uYzoyMzQ6Nzogd2FybmluZzogTnVsbCBwb2ludGVyIHBhc3Nl ZCB0byAxc3QgcGFyYW1ldGVyIGV4cGVjdGluZyAnbm9ubnVsbCcKICAgICAgICAgICAgICAgIGkg PSBleGVjdnAoY21kYXJndlswXSwgY21kYXJndik7CiAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3JmY29tbS5jOjM1NDo4OiB3YXJuaW5nOiBBbHRo b3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4 cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ2ZkJwogICAg ICAgICAgICAgICAgaWYgKChmZCA9IG9wZW4oZGV2bmFtZSwgT19SRE9OTFkgfCBPX05PQ1RUWSkp IDwgMCkgewogICAgICAgICAgICAgICAgICAgICBeICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvcmZjb21tLmM6NDk3OjE0OiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1 ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZAogICAgICAgIHJlcS5jaGFubmVsID0gcmFkZHIucmNf Y2hhbm5lbDsKICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvcmZj b21tLmM6NTE1Ojg6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ2ZkJyBp cyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFj dHVhbGx5IHJlYWQgZnJvbSAnZmQnCiAgICAgICAgICAgICAgICBpZiAoKGZkID0gb3BlbihkZXZu YW1lLCBPX1JET05MWSB8IE9fTk9DVFRZKSkgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgIF4g ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo1IHdhcm5pbmdzIGdlbmVyYXRl ZC4KdG9vbHMvaGNpZHVtcC5jOjE4MDo5OiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1v cnkgcG9pbnRlZCB0byBieSAnZHAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg KGZkc1tpXS5mZCA9PSBzb2NrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn4KdG9vbHMvaGNpZHVtcC5jOjI0ODoxNzogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgZ2Fy YmFnZSBvciB1bmRlZmluZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaC0+dHNf c2VjICA9IGh0b2JsKGZybS50cy50dl9zZWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVtcC5jOjMy Njo5OiB3YXJuaW5nOiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxp emVkIHZhbHVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJlMzJ0b2goZHAu ZmxhZ3MpICYgMHgwMikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fgovdXNyL2luY2x1ZGUvZW5kaWFuLmg6NDY6MjI6IG5vdGU6IGV4cGFuZGVk IGZyb20gbWFjcm8gJ2JlMzJ0b2gnCiMgIGRlZmluZSBiZTMydG9oKHgpIF9fYnN3YXBfMzIgKHgp CiAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWR1bXAuYzozNDE6 MjA6IHdhcm5pbmc6IDFzdCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6 ZWQgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm0uZGF0YV9sZW4gPSBi ZTMydG9oKGRwLmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+Ci91c3IvaW5jbHVkZS9lbmRpYW4uaDo0NjoyMjogbm90ZTog ZXhwYW5kZWQgZnJvbSBtYWNybyAnYmUzMnRvaCcKIyAgZGVmaW5lIGJlMzJ0b2goeCkgX19ic3dh cF8zMiAoeCkKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVt cC5jOjM0NjoxNDogd2FybmluZzogMXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5p bml0aWFsaXplZCB2YWx1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wY29kZSA9 IGJlMzJ0b2goZHAuZmxhZ3MpICYgMHhmZmZmOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci91c3IvaW5jbHVkZS9lbmRpYW4uaDo0Njoy Mjogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnYmUzMnRvaCcKIyAgZGVmaW5lIGJlMzJ0b2go eCkgX19ic3dhcF8zMiAoeCkKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KdG9v bHMvaGNpZHVtcC5jOjM4NDoxNzogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgZ2FyYmFnZSBv ciB1bmRlZmluZWQKICAgICAgICAgICAgICAgICAgICAgICAgZnJtLmRhdGFfbGVuID0gYnRvaHMo ZGgubGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn5+fgp0b29scy9oY2lkdW1wLmM6Mzk0OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBn YXJiYWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgZnJtLmxlbiA9IGZybS5kYXRhX2xl bjsKICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVtcC5j OjM5ODo5OiB3YXJuaW5nOiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRp YWxpemVkIHZhbHVlCiAgICAgICAgICAgICAgICAgICAgICAgIHRzID0gYmU2NHRvaChwaC50cyk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KL3Vzci9pbmNsdWRl L2VuZGlhbi5oOjUxOjIyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdiZTY0dG9oJwojICBk ZWZpbmUgYmU2NHRvaCh4KSBfX2Jzd2FwXzY0ICh4KQogICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fgp0b29scy9oY2lkdW1wLmM6NDAzOjEzOiB3YXJuaW5nOiAxc3QgZnVuY3Rpb24g Y2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVlCiAgICAgICAgICAgICAgICAg ICAgICAgIGZybS5pbiA9IGJlMzJ0b2goZHAuZmxhZ3MpICYgMHgwMTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL3Vzci9pbmNsdWRlL2VuZGlhbi5o OjQ2OjIyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdiZTMydG9oJwojICBkZWZpbmUgYmUz MnRvaCh4KSBfX2Jzd2FwXzMyICh4KQogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fgp0b29scy9oY2lkdW1wLmM6NDA4OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJi YWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgICAgICAgICBmcm0uaW4gPSBkaC5pbjsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn4KdG9vbHMvaGNpZHVtcC5jOjQz Nzo3OiB3YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0 aW5nICdub25udWxsJwogICAgICAgIGZkID0gb3BlbihmaWxlLCBvcGVuX2ZsYWdzLCAwNjQ0KTsK ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMTEgd2FybmluZ3MgZ2Vu ZXJhdGVkLgp0b29scy9jaXB0b29sLmM6MzUxOjc6IHdhcm5pbmc6IDV0aCBmdW5jdGlvbiBjYWxs IGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICBzayA9IGRvX2Nvbm5l Y3QoY3RsLCBkZXZfaWQsICZzcmMsICZkc3QsIHBzbSwgKDEgPDwgQ01UUF9MT09QQkFDSykpOwog ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4Kc3JjL3NkcC14bWwuYzoxMjY6 MTA6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAg ICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICBe IH5+fn5+fn5+fn5+CnNyYy9zZHAteG1sLmM6MzA2OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1 ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0g PSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn4Kc3JjL3NkcC14bWwuYzozNDQ6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJh Z2Ugb3IgdW5kZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSAr IDFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fgozIHdhcm5p bmdzIGdlbmVyYXRlZC4KdG9vbHMvc2RwdG9vbC5jOjk0MToyNjogd2FybmluZzogUmVzdWx0IG9m ICdtYWxsb2MnIGlzIGNvbnZlcnRlZCB0byBhIHBvaW50ZXIgb2YgdHlwZSAndWludDMyX3QnLCB3 aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBzaXplb2Ygb3BlcmFuZCB0eXBlICdpbnQnCiAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICp2YWx1ZV9pbnQgPSBtYWxsb2Moc2l6ZW9mKGlu dCkpOwogICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+ICAgICAgICAgICAgXn5+fn5+ IH5+fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzo5ODA6NDogd2FybmluZzogMXN0IGZ1bmN0aW9u IGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQogICAgICAgICAgICAgICAg ICAgICAgICBmcmVlKGFsbG9jQXJyYXlbaV0pOwogICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzozNzc3OjI6IHdhcm5pbmc6IFBvdGVudGlh bCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdzaS5uYW1lJwogICAgICAgIHJldHVybiBh ZGRfc2VydmljZSgwLCAmc2kpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRv b2xzL3NkcHRvb2wuYzo0MTEyOjQ6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBw b2ludGVkIHRvIGJ5ICdjb250ZXh0LnN2YycKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IC0xOwogICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KNCB3YXJuaW5ncyBnZW5lcmF0 ZWQuCnRvb2xzL2F2dGVzdC5jOjI0Mzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicg aXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRl KHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+ fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI1Mzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQg dG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl biA9IHdyaXRlKHNrLCBidWYsIDQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4g ICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI2Mjo1OiB3YXJuaW5nOiBWYWx1 ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI3Njo1OiB3YXJu aW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MjgzOjU6IHdh cm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzoyOTA6NTog d2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI5Nzo1 OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzA5 OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0 ZXN0LmM6MzEzOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFk CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6MzIyOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ss IGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+ fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzI2OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn bGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0g d3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAg fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzM1OjU6IHdhcm5pbmc6IFZhbHVlIHN0 b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzQyOjU6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzY0OjU6 IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0 LmM6MzY4OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9v bHMvYXZ0ZXN0LmM6Mzc3OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZl ciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1 ZiwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+ fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzgxOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVu JyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3Jp dGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+ fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mzk0OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3Jl ZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mzk4OjU6IHdhcm5pbmc6IFZh bHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NDA1OjQ6IHdh cm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAg ICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICAgICAgICAgICAgICAgICAg ICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo0MTU6NDogd2FybmluZzog VmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgICAgICAg ICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgIF4gICAg IH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjU4MDozOiB3YXJuaW5nOiBWYWx1ZSBz dG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUo c2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29s cy9hdnRlc3QuYzo1ODg6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVy IHJlYWQKICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIGludmFsaWQgPyAyIDog Myk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CnRvb2xzL2F2dGVzdC5jOjYwMjozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMg bmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCArIG1lZGlh X3RyYW5zcG9ydF9zaXplKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjE1OjM6IHdhcm5pbmc6IFZh bHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3 cml0ZShzaywgYnVmLCAzKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+ CnRvb2xzL2F2dGVzdC5jOjYyNTozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMg bmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAg ICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2Mzc6Mzog d2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAg ICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjUyOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVm LCAzKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVz dC5jOjY2NDozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAog ICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICBe ICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2NzM6Mzogd2FybmluZzogVmFs dWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGxlbiA9IHdy aXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6NjgwOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAyKTsKICAgICAg ICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjcxNjoyOiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgIGxlbiA9 IHdyaXRlKHNrLCBidWYsIEFWQ1RQX0hFQURFUl9MRU5HVEggKyBzaXplb2YocGxheV9wcmVzc2Vk KSk7CiAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgozMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2J0cHJveHku Yzo4MzY6MTU6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBl eHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgICAgICAgICAgICAgICAgIHRjcF9wb3J0ID0gYXRv aShvcHRhcmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fgp0b29scy9idHByb3h5LmM6ODM5Ojg6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8g MXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgICAgICAgICAgICAgICAg IGlmIChzdHJsZW4ob3B0YXJnKSA+IDMgJiYgIXN0cm5jbXAob3B0YXJnLCAiaGNpIiwgMykpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVy YXRlZC4KdG9vbHMvY3JlYXRlLWltYWdlLmM6NzY6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRv ICdmZCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgZmQgPSAtMTsKICAgICAgICAgICAg ICAgIF4gICAgfn4KdG9vbHMvY3JlYXRlLWltYWdlLmM6ODQ6Mzogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgZmQgPSAtMTsKICAgICAg ICAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRlLWltYWdlLmM6OTI6Mzogd2FybmluZzogVmFs dWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgZmQgPSAtMTsK ICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRlLWltYWdlLmM6MTA1OjI6IHdhcm5p bmc6IFZhbHVlIHN0b3JlZCB0byAnZmQnIGlzIG5ldmVyIHJlYWQKICAgICAgICBmZCA9IC0xOwog ICAgICAgIF4gICAgfn4KNCB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2J0Z2F0dC1jbGllbnQu YzoxODIyOjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnYXJndicgaXMgbmV2ZXIgcmVhZAog ICAgICAgIGFyZ3YgKz0gb3B0aW5kOwogICAgICAgIF4gICAgICAgfn5+fn5+CjEgd2FybmluZyBn ZW5lcmF0ZWQuCnRvb2xzL2NoZWNrLXNlbGZ0ZXN0LmM6NDI6Mzogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdwdHInIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIHB0ciA9IGZnZXRzKHJl c3VsdCwgc2l6ZW9mKHJlc3VsdCksIGZwKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgp0b29scy9idGdh dHQtc2VydmVyLmM6MTIwODoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2FyZ3YnIGlzIG5l dmVyIHJlYWQKICAgICAgICBhcmd2IC09IG9wdGluZDsKICAgICAgICBeICAgICAgIH5+fn5+fgox IHdhcm5pbmcgZ2VuZXJhdGVkLgp0b29scy9nYXR0LXNlcnZpY2UuYzoyOTQ6Mjogd2FybmluZzog Mm5kIGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQogICAg ICAgIGNocl93cml0ZShjaHIsIHZhbHVlLCBsZW4pOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL29iZXgtc2VydmVyLXRvb2wuYzox MzM6MTM6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBl Y3RpbmcgJ25vbm51bGwnCiAgICAgICAgZGF0YS0+ZmQgPSBvcGVuKG5hbWUsIE9fV1JPTkxZIHwg T19DUkVBVCB8IE9fTk9DVFRZLCAwNjAwKTsKICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL29iZXgtc2VydmVyLXRv b2wuYzoxOTI6MTM6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRl ciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgZGF0YS0+ZmQgPSBvcGVuKG5hbWUsIE9fUkRP TkxZIHwgT19OT0NUVFksIDApOwogICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KY2xpZW50L2J0cGNsaWVudC9i dHBjbGllbnRjdGwuYzo0MDI6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdiaXQnIGlzIG5l dmVyIHJlYWQKICAgICAgICAgICAgICAgIGJpdCA9IDA7CiAgICAgICAgICAgICAgICBeICAgICB+ CmNsaWVudC9idHBjbGllbnQvYnRwY2xpZW50Y3RsLmM6MTY1NToyOiB3YXJuaW5nOiBOdWxsIHBv aW50ZXIgcGFzc2VkIHRvIDJuZCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxsJwogICAgICAg IG1lbWNweShjcC0+ZGF0YSwgYWRfZGF0YSwgYWRfbGVuKTsKICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zZHAtY2xpZW50 LmM6MzUzOjE0OiB3YXJuaW5nOiBBY2Nlc3MgdG8gZmllbGQgJ2NiJyByZXN1bHRzIGluIGEgZGVy ZWZlcmVuY2Ugb2YgYSBudWxsIHBvaW50ZXIKICAgICAgICAoKmN0eHQpLT5jYiA9IGNiOwogICAg ICAgIH5+fn5+fn5+fn5+fl5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4Kc3JjL3NkcGQtcmVxdWVz dC5jOjIxMToxMzogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2MnIGlzIGNvbnZlcnRlZCB0byBh IHBvaW50ZXIgb2YgdHlwZSAnY2hhcicsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHNpemVv ZiBvcGVyYW5kIHR5cGUgJ3VpbnQxNl90JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBFbGVtID0gbWFsbG9jKHNpemVvZih1aW50MTZfdCkpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NkcGQtcmVxdWVz dC5jOjIzOToxMzogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2MnIGlzIGNvbnZlcnRlZCB0byBh IHBvaW50ZXIgb2YgdHlwZSAnY2hhcicsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHNpemVv ZiBvcGVyYW5kIHR5cGUgJ3VpbnQzMl90JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBFbGVtID0gbWFsbG9jKHNpemVvZih1aW50MzJfdCkpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5l cmF0ZWQuCnNyYy9nYXR0LWRhdGFiYXNlLmM6MTE3NToxMDogd2FybmluZzogVmFsdWUgc3RvcmVk IHRvICdiaXRzJyBkdXJpbmcgaXRzIGluaXRpYWxpemF0aW9uIGlzIG5ldmVyIHJlYWQKICAgICAg ICB1aW50OF90IGJpdHNbXSA9IHsgQlRfR0FUVF9DSFJDX0NMSV9GRUFUX1JPQlVTVF9DQUNISU5H LAogICAgICAgICAgICAgICAgXn5+fiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnNyYy9nYXR0LWNsaWVudC5jOjE1Njk6Mjog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIG5vdGlmeV9j bGllbnRfdW5yZWYoY2xpZW50KTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K MSB3YXJuaW5nIGdlbmVyYXRlZC4KdW5pdC9hdnJjcC1saWIuYzoxOTY4OjM6IHdhcm5pbmc6IDFz dCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAg ICAgICAgICAgIGdfZnJlZSh0ZXh0W2ldKTsKICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgp1bml0L2F2ZHRwLmM6NzU2OjI1OiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgICAgICAgICBzZXNzaW9uLT5wcmlv X3F1ZXVlID0gZ19zbGlzdF9yZW1vdmUoc2Vzc2lvbi0+cHJpb19xdWV1ZSwgcmVxKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CnVuaXQvYXZkdHAuYzo3NjM6MjQ6IHdhcm5pbmc6IFVzZSBvZiBtZW1v cnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICAgICAgICAgIHNlc3Npb24tPnJlcV9xdWV1ZSA9 IGdfc2xpc3RfcmVtb3ZlKHNlc3Npb24tPnJlcV9xdWV1ZSwgcmVxKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KcHJvZmlsZXMvYXVkaW8vYXZkdHAuYzo4OTU6MjU6 IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICAgICAgICAg IHNlc3Npb24tPnByaW9fcXVldWUgPSBnX3NsaXN0X3JlbW92ZShzZXNzaW9uLT5wcmlvX3F1ZXVl LCByZXEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KcHJvZmlsZXMvYXVkaW8vYXZkdHAuYzo5MDI6 MjQ6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICAgICAg ICAgIHNlc3Npb24tPnJlcV9xdWV1ZSA9IGdfc2xpc3RfcmVtb3ZlKHNlc3Npb24tPnJlcV9xdWV1 ZSwgcmVxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KcHJvZmls ZXMvYXVkaW8vYTJkcC5jOjQ0Mjo4OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlz IGZyZWVkCiAgICAgICAgICAgICAgICBpZiAoIWNiLT5yZXN1bWVfY2IpCiAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn4KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjMzNTQ6MjA6IHdhcm5p bmc6IEFjY2VzcyB0byBmaWVsZCAnc3RhcnRpbmcnIHJlc3VsdHMgaW4gYSBkZXJlZmVyZW5jZSBv ZiBhIG51bGwgcG9pbnRlciAobG9hZGVkIGZyb20gdmFyaWFibGUgJ3N0cmVhbScpCiAgICAgICAg ICAgICAgICBzdHJlYW0tPnN0YXJ0aW5nID0gVFJVRTsKICAgICAgICAgICAgICAgIH5+fn5+fiAg ICAgICAgICAgXgpwcm9maWxlcy9hdWRpby9hMmRwLmM6MzM1Nzo4OiB3YXJuaW5nOiBBY2Nlc3Mg dG8gZmllbGQgJ3N1c3BlbmRpbmcnIHJlc3VsdHMgaW4gYSBkZXJlZmVyZW5jZSBvZiBhIG51bGwg cG9pbnRlciAobG9hZGVkIGZyb20gdmFyaWFibGUgJ3N0cmVhbScpCiAgICAgICAgICAgICAgICBp ZiAoIXN0cmVhbS0+c3VzcGVuZGluZyAmJiBzdHJlYW0tPnN1c3BlbmRfdGltZXIpIHsKICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzoz NDE3OjIyOiB3YXJuaW5nOiBBY2Nlc3MgdG8gZmllbGQgJ3N1c3BlbmRpbmcnIHJlc3VsdHMgaW4g YSBkZXJlZmVyZW5jZSBvZiBhIG51bGwgcG9pbnRlciAobG9hZGVkIGZyb20gdmFyaWFibGUgJ3N0 cmVhbScpCiAgICAgICAgICAgICAgICBzdHJlYW0tPnN1c3BlbmRpbmcgPSBUUlVFOwogICAgICAg ICAgICAgICAgfn5+fn5+ICAgICAgICAgICAgIF4KNCB3YXJuaW5ncyBnZW5lcmF0ZWQuCnByb2Zp bGVzL2F1ZGlvL2F2cmNwLmM6MTk2MToyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ29wZXJh bmRzJyBpcyBuZXZlciByZWFkCiAgICAgICAgb3BlcmFuZHMgKz0gc2l6ZW9mKCpwZHUpOwogICAg ICAgIF4gICAgICAgICAgIH5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgphdHRyaWIv Z2F0dC5jOjk3MDoyOiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0 byBieSAnbG9uZ193cml0ZScKICAgICAgICByZXR1cm4gcHJlcGFyZV93cml0ZShsb25nX3dyaXRl KTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2Vu ZXJhdGVkLgpzcmMvc2RwZC1yZXF1ZXN0LmM6MjExOjEzOiB3YXJuaW5nOiBSZXN1bHQgb2YgJ21h bGxvYycgaXMgY29udmVydGVkIHRvIGEgcG9pbnRlciBvZiB0eXBlICdjaGFyJywgd2hpY2ggaXMg aW5jb21wYXRpYmxlIHdpdGggc2l6ZW9mIG9wZXJhbmQgdHlwZSAndWludDE2X3QnCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcEVsZW0gPSBtYWxsb2Moc2l6ZW9mKHVpbnQxNl90KSk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4gfn5+fn5+fn5+ fn5+fn5+fgpzcmMvc2RwZC1yZXF1ZXN0LmM6MjM5OjEzOiB3YXJuaW5nOiBSZXN1bHQgb2YgJ21h bGxvYycgaXMgY29udmVydGVkIHRvIGEgcG9pbnRlciBvZiB0eXBlICdjaGFyJywgd2hpY2ggaXMg aW5jb21wYXRpYmxlIHdpdGggc2l6ZW9mIG9wZXJhbmQgdHlwZSAndWludDMyX3QnCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcEVsZW0gPSBtYWxsb2Moc2l6ZW9mKHVpbnQzMl90KSk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4gfn5+fn5+fn5+ fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3NkcC14bWwuYzoxMjY6MTA6IHdhcm5p bmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAgICAgICAgICAg ICBidWZbMV0gPSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+ fn5+CnNyYy9zZHAteG1sLmM6MzA2OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJi YWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kg KyAxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn4Kc3JjL3Nk cC14bWwuYzozNDQ6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5k ZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSArIDFdOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fgozIHdhcm5pbmdzIGdlbmVy YXRlZC4Kc3JjL3NkcC1jbGllbnQuYzozNTM6MTQ6IHdhcm5pbmc6IEFjY2VzcyB0byBmaWVsZCAn Y2InIHJlc3VsdHMgaW4gYSBkZXJlZmVyZW5jZSBvZiBhIG51bGwgcG9pbnRlcgogICAgICAgICgq Y3R4dCktPmNiID0gY2I7CiAgICAgICAgfn5+fn5+fn5+fn5+Xn5+fgoxIHdhcm5pbmcgZ2VuZXJh dGVkLgpzcmMvZ2F0dC1kYXRhYmFzZS5jOjExNzU6MTA6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnYml0cycgZHVyaW5nIGl0cyBpbml0aWFsaXphdGlvbiBpcyBuZXZlciByZWFkCiAgICAgICAg dWludDhfdCBiaXRzW10gPSB7IEJUX0dBVFRfQ0hSQ19DTElfRkVBVF9ST0JVU1RfQ0FDSElORywK ICAgICAgICAgICAgICAgIF5+fn4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpzcmMvZ2F0dC1jbGllbnQuYzoxNTY5OjI6IHdh cm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBub3RpZnlfY2xp ZW50X3VucmVmKGNsaWVudCk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjEg d2FybmluZyBnZW5lcmF0ZWQuCmdvYmV4L2dvYmV4LWhlYWRlci5jOjk1OjI6IHdhcm5pbmc6IE51 bGwgcG9pbnRlciBwYXNzZWQgdG8gMm5kIHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAg ICAgICAgbWVtY3B5KHRvLCBmcm9tLCBjb3VudCk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KZ29iZXgvZ29iZXgtdHJhbnNmZXIuYzo0MjM6Nzog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGlmICghZ19z bGlzdF9maW5kKHRyYW5zZmVycywgdHJhbnNmZXIpKQogICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCm1lc2gvbWFpbi5jOjE2 MjozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ29wdGFyZycgaXMgbmV2ZXIgcmVhZAogICAg ICAgICAgICAgICAgb3B0YXJnICs9IHN0cmxlbigiYXV0byIpOwogICAgICAgICAgICAgICAgXiAg ICAgICAgIH5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCmRvYy9idG1vbi1jb25u ZWN0aW9ucy5yc3Q6NzogKFNFVkVSRS80KSBUaXRsZSBsZXZlbCBpbmNvbnNpc3RlbnQ6CgpDT05O RUNUSU9OIFRSQUNLSU5HCj09PT09PT09PT09PT09PT09PT0KRXhpdGluZyBkdWUgdG8gbGV2ZWwt NCAoU0VWRVJFKSBzeXN0ZW0gbWVzc2FnZS4KbWFrZVsxXTogKioqIFtNYWtlZmlsZToxMjM4MTog ZG9jL2J0bW9uLjFdIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQg am9icy4uLi4KbWFrZTogKioqIFtNYWtlZmlsZTo0MjI3OiBhbGxdIEVycm9yIDIKCgpodHRwczov L2dpdGh1Yi5jb20vYmx1ZXovYmx1ZXovcHVsbC8xOTU5L2NoZWNrcwoKLS0tClJlZ2FyZHMsCkxp bnV4IEJsdWV0b290aAoK --===============7885525714210148948==--