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 E6930345EA3 for ; Wed, 7 Oct 2026 23:54: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=1791417268; cv=none; b=lmxcWAg/y8w5BrWfaJV/cZ5SG/XpkxSafu2S/WXbxCRgv8womtdn906JAgeWaBzk2jW29ihFNsR35t18fKmatDE9CifdrzPhT0N2immBwgQQtkWxBtL54V1QlYC9pRMAeb8bSlPE9t0tzlSHNgrFhKRJcjTuHByRSYRe5V5eiWA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791417268; c=relaxed/simple; bh=kz9gezs2jrzcvlucq+RAVl1/YG9wnz88V290cDCGF2E=; h=Message-ID:Date:Content-Type:MIME-Version:From:To:Subject: In-Reply-To:References; b=qxmMEwh4gIsmTYkQMq5TOXdqIuW1sAtyGvZOqxT0J5+gqE4K0U1BnRAeU3nLTehH4A4lx6mSycAoZA3mSN2aPdtZC4ObPWMMNYFZyeR5uzApE5VdzFv+4PZfWjVDzQ02GJ88CiPLiDZGfDQBn97mFXq3ZMbC6+b3r4/5pxGwdu4= 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=Zq8YPMhs; 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="Zq8YPMhs" Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-4c5d8c7f326so1028230b6e.1 for ; Wed, 07 Oct 2026 16:54:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1791417263; x=1792022063; darn=vger.kernel.org; h=reply-to:references:in-reply-to:subject:to:from:mime-version :content-type:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=kz9gezs2jrzcvlucq+RAVl1/YG9wnz88V290cDCGF2E=; b=Zq8YPMhsixpDKg0jQ9ytrLmvqlEz/Tu3mXn0OFu162MzMEYBPRdlrM0RIdkpdrfFqM LZfOcnPVG+oonEuxNNQDQSqq0cpULmA7vBzIvxA+2QvMZeUqhl03vRz+CimZkjL1bxLr 1/9n3w9dli+Y1P1u9AYw9a25FT5DpQ/s/tpNP0V3K6XrNpMKkW+ufmFPnPkj/E+I11tv k+PGiK5zGZw1TOmOJBoSIqiUXlQxz/WOljMfwbHotW+mwMZwsRbr4jOzWTjxiOlm5iDk yJm6S4ae7CR5c9C2sC3CwqdHaFPDg6Z666b7xPKIU/mmbGYB8nbjz6b7lSsMW8DjLja4 k1Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791417263; x=1792022063; h=reply-to:references:in-reply-to:subject:to:from:mime-version :content-type:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=kz9gezs2jrzcvlucq+RAVl1/YG9wnz88V290cDCGF2E=; b=Z9R2jkUyNDjxUhys2Y9G0RJ7YhUxtZe+oiaE6DKp/HEQYDufwSbiiccYjTeP9oK5KW 1woB5054XkRnHIzWtk5FiCWZEiCPuigEQDW1+DJsLIfM8F383sKLA3lye4y1Dp6F8odf GmZqxJxaXkzlNSN8Hbp+Mi2CW26CzpBURmt30zsb0q+2l850pOPpimQ+lzMssvg3kThA sGsOGAwHMrHEOS4jmukkqKDL9YQyLz0rki663+Ipb/1ETL59SXVSLrpv7j15ecbLbImr wgnB1QcfGbuu3sqtthwN6I3qhwS/OrJa+7/ENd8j3DDgIoTcDQvtzIuEsPkxQLimi5cO ZbKg== X-Gm-Message-State: AFuF++kC0pZ4tzAIDifmBCHCC6N7fnLK2FyQtSmKSJPVGh3tjzQXjdMd qB2K637QzB/N9ZavPT9UeiJ9XpRQYbBYeTbpF9FBqi0cMC5M/Qy6sUPpGmpGVw== X-Gm-Gg: AYBFou2uaCC0RF7cQV99zonoWF+A/90eOwhkRNiAYx9ScXHlwwJHgxGhTroVzFu0QT9 6Uc+xnxaegUme7J0E9gc0Qg392NJvlP8eY2U7YzqlVDpgo91LeeN0cHbnuCW8wdV1YlWUgbjkvO 0A68f0pKQqE/RDYyYVsQUvkJQNM+shsHZ0rroeiOOa0f3QV/WZNAEINRlQEhMTXNpts7s5/2tsM gLOen06mHLksobWombIIFyp4ChVwtdb1kBl8C9weQbrVCfnGbioBNH3L46RuVk3NdAkWRPfxFek CMC/X42+37eT+YikIvS6KNQBxM/P89Ur618ntaMCkbF+s+UmY+mSpF+NYTOn/cauRaAJcAPHd5n NnFO/ql5y4khsWkKLLi4Glkzn5MIgq8bTLlle/b6Yi+TEBigJ0rkfnoXFb5XN0X4hAyr8yeSYFw aA/DNCmwL/PQezA9DD+AtOYCxweIEmHQKdXb6O08Kmb6LpdGbB+4yXlGSpya4gf4/dro5opFA3p Sog/Q== X-Received: by 2002:a05:6808:5394:b0:4f4:f3c1:72d5 with SMTP id 5614622812f47-4fc484f738amr3256097b6e.62.1791417262465; Wed, 07 Oct 2026 16:54:22 -0700 (PDT) Received: from [172.17.0.2] ([52.230.180.17]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4fc49044710sm4097649b6e.11.2026.10.07.16.54.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Oct 2026 16:54:21 -0700 (PDT) Message-ID: <6ac6dbad.6510e82a.91eb9.dd9e@mx.google.com> Date: Wed, 07 Oct 2026 16:54:21 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============8295016643073909907==" 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, benquike@gmail.com Subject: RE: sdp: Prevent integer underflow in string attribute length calculation In-Reply-To: <20261007194831.2275879-1-benquike@gmail.com> References: <20261007194831.2275879-1-benquike@gmail.com> Reply-To: linux-bluetooth@vger.kernel.org --===============8295016643073909907== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9zZXJpZXMvMTE4MTEwNC8KCi0tLVRlc3QgcmVzdWx0LS0tCgpUZXN0IFN1 bW1hcnk6CkNoZWNrUGF0Y2ggICAgICAgICAgICAgICAgICAgIEZBSUwgICAgICAwLjQxIHNlY29u ZHMKR2l0TGludCAgICAgICAgICAgICAgICAgICAgICAgUEFTUyAgICAgIDAuMjkgc2Vjb25kcwpC dWlsZEVsbCAgICAgICAgICAgICAgICAgICAgICBQQVNTICAgICAgMTcuMjQgc2Vjb25kcwpCbHVl ek1ha2UgICAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgMjg1LjY4IHNlY29uZHMKTWFrZUNo ZWNrICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDIuNjIgc2Vjb25kcwpNYWtlRGlzdGNo ZWNrICAgICAgICAgICAgICAgICBQQVNTICAgICAgMTI3LjIwIHNlY29uZHMKQ2hlY2tWYWxncmlu ZCAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDg4Ljk0IHNlY29uZHMKQ2hlY2tTbWF0Y2ggICAg ICAgICAgICAgICAgICAgRkFJTCAgICAgIDE1MS45MCBzZWNvbmRzCmJsdWV6bWFrZWV4dGVsbCAg ICAgICAgICAgICAgIEZBSUwgICAgICA1OS4yMiBzZWNvbmRzClRlc3RGdW5jdGlvbmFsICAgICAg ICAgICAgICAgIEVSUk9SICAgICAyODYuMDkgc2Vjb25kcwpJbmNyZW1lbnRhbEJ1aWxkICAgICAg ICAgICAgICBGQUlMICAgICAgMjgxLjczIHNlY29uZHMKU2NhbkJ1aWxkICAgICAgICAgICAgICAg ICAgICAgRkFJTCAgICAgIDI2Ni4yMiBzZWNvbmRzCgpEZXRhaWxzCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVja1BhdGNoIC0gRkFJTApEZXNjOiBSdW4gY2hlY2twYXRj aC5wbCBzY3JpcHQKT3V0cHV0OgpzZHA6IFByZXZlbnQgaW50ZWdlciB1bmRlcmZsb3cgaW4gc3Ry aW5nIGF0dHJpYnV0ZSBsZW5ndGggY2FsY3VsYXRpb24KV0FSTklORzpMT05HX0xJTkU6IGxpbmUg bGVuZ3RoIG9mIDgxIGV4Y2VlZHMgODAgY29sdW1ucwojMTQ4OiBGSUxFOiBsaWIvYmx1ZXRvb3Ro L3NkcC5jOjQ4NTk6CisJCQkJbGVuZ3Roc1tqXSA9IChkYXRhLT51bml0U2l6ZSA+IHNpemVvZih1 aW50OF90KSkgPwoKL2hvbWUvcnVubmVyL3dvcmsvYmx1ZXovYmx1ZXovc3JjL3BhdGNoLzE0ODcy ODg2LnBhdGNoIHRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMzggbGluZXMgY2hlY2tlZAoK Tk9URTogRm9yIHNvbWUgb2YgdGhlIHJlcG9ydGVkIGRlZmVjdHMsIGNoZWNrcGF0Y2ggbWF5IGJl IGFibGUgdG8KICAgICAgbWVjaGFuaWNhbGx5IGNvbnZlcnQgdG8gdGhlIHR5cGljYWwgc3R5bGUg dXNpbmcgLS1maXggb3IgLS1maXgtaW5wbGFjZS4KCi9ob21lL3J1bm5lci93b3JrL2JsdWV6L2Js dWV6L3NyYy9wYXRjaC8xNDg3Mjg4Ni5wYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSBy ZXZpZXcuCgpOT1RFOiBJZ25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBM RVhfTUFDUk8gQ09OU1RfU1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYg UFJFRkVSX1BBQ0tFRCBTUERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NU UlRPCgpOT1RFOiBJZiBhbnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVh c2UgcmVwb3J0CiAgICAgIHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGlu IE1BSU5UQUlORVJTLgoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBCbHVl ek1ha2UgLSBGQUlMCkRlc2M6IEJ1aWxkIEJsdWVaCk91dHB1dDoKCnRvb2xzL21nbXQtdGVzdGVy LmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6CnRvb2xzL21nbXQtdGVzdGVyLmM6MTM0NDA6NTog bm90ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFy LXRyYWNraW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CjEzNDQwIHwgaW50IG1h aW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYXZk dHAuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LWF2ZHRwLmM6NzY2OjU6IG5v dGU6IHZhcmlhYmxlIHRyYWNraW5nIHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10 cmFja2luZy1hc3NpZ25tZW50c+KAmSwgcmV0cnlpbmcgd2l0aG91dAogIDc2NiB8IGludCBtYWlu KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgIHwgICAgIF5+fn4KdW5pdC90ZXN0LWF2cmNw LmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6CnVuaXQvdGVzdC1hdnJjcC5jOjEzODI6NTogbm90 ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRy YWNraW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CiAxMzgyIHwgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgpsaWIvYmx1ZXRvb3RoL3Nk cC5jOiBJbiBmdW5jdGlvbiDigJhzZHBfZ2V0X2RhdGFfc2l6ZeKAmToKbGliL2JsdWV0b290aC9z ZHAuYzo3MzM6MzM6IGVycm9yOiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lvbnMgb2Yg ZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmGludOKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTi gJkgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQogIDczMyB8ICAgICAgICAgICAgICAgICBpZiAoZC0+ dW5pdFNpemUgPiBzaXplb2YodWludDhfdCkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCmxpYi9ibHVldG9vdGgvc2RwLmM6IEluIGZ1bmN0aW9uIOKAmHNkcF9kYXRh X3ZhbHVl4oCZOgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjE1MzA6NDg6IGVycm9yOiBjb21wYXJpc29u IG9mIGludGVnZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmGludOKA mSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQogMTUz MCB8ICAgICAgICAgICAgICAgICAgICAgICAgICpsZW4gPSAoZGF0YS0+dW5pdFNpemUgPiBzaXpl b2YodWludDhfdCkpID8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KbGliL2JsdWV0b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX3Nl dF9zdXBwX2ZlYXTigJk6CmxpYi9ibHVldG9vdGgvc2RwLmM6NDg1OTo2MjogZXJyb3I6IGNvbXBh cmlzb24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCY aW504oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSBbLVdlcnJvcj1zaWduLWNvbXBhcmVd CiA0ODU5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhzW2pdID0gKGRh dGEtPnVuaXRTaXplID4gc2l6ZW9mKHVpbnQ4X3QpKSA/CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KbGliL2JsdWV0 b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX2dldF9zdXBwX2ZlYXTigJk6CmxpYi9ibHVl dG9vdGgvc2RwLmM6NDkzNzo1NjogZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNz aW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYaW504oCZIGFuZCDigJhsb25nIHVuc2ln bmVkIGludOKAmSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiA0OTM3IHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsZW5ndGggPSAoZGQtPnVuaXRTaXplID4gc2l6ZW9mKHVpbnQ4X3Qp KSA/CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFr ZVsxXTogKioqIFtNYWtlZmlsZTo3MTQ2OiBsaWIvYmx1ZXRvb3RoL3NkcC5sb10gRXJyb3IgMQpt YWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgp1bml0L3Rlc3QtcmFw LmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6CnVuaXQvdGVzdC1yYXAuYzo5OTc6NTogbm90ZTog dmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNr aW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CiAgOTk3IHwgaW50IG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgptYWtlOiAqKiogW01ha2VmaWxl OjQyNDY6IGFsbF0gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDog TWFrZUNoZWNrIC0gRkFJTApEZXNjOiBSdW4gQmx1ZXogTWFrZSBDaGVjawpPdXRwdXQ6CgpsaWIv Ymx1ZXRvb3RoL3NkcC5jOiBJbiBmdW5jdGlvbiDigJhzZHBfZ2V0X2RhdGFfc2l6ZeKAmToKbGli L2JsdWV0b290aC9zZHAuYzo3MzM6MzM6IGVycm9yOiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhw cmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmGludOKAmSBhbmQg4oCYbG9uZyB1 bnNpZ25lZCBpbnTigJkgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQogIDczMyB8ICAgICAgICAgICAg ICAgICBpZiAoZC0+dW5pdFNpemUgPiBzaXplb2YodWludDhfdCkpCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCmxpYi9ibHVldG9vdGgvc2RwLmM6IEluIGZ1bmN0aW9u IOKAmHNkcF9kYXRhX3ZhbHVl4oCZOgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjE1MzA6NDg6IGVycm9y OiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5l c3M6IOKAmGludOKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgWy1XZXJyb3I9c2lnbi1j b21wYXJlXQogMTUzMCB8ICAgICAgICAgICAgICAgICAgICAgICAgICpsZW4gPSAoZGF0YS0+dW5p dFNpemUgPiBzaXplb2YodWludDhfdCkpID8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KbGliL2JsdWV0b290aC9zZHAuYzogSW4gZnVuY3Rp b24g4oCYc2RwX3NldF9zdXBwX2ZlYXTigJk6CmxpYi9ibHVldG9vdGgvc2RwLmM6NDg1OTo2Mjog ZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2ln bmVkbmVzczog4oCYaW504oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSBbLVdlcnJvcj1z aWduLWNvbXBhcmVdCiA0ODU5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5n dGhzW2pdID0gKGRhdGEtPnVuaXRTaXplID4gc2l6ZW9mKHVpbnQ4X3QpKSA/CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KbGliL2JsdWV0b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX2dldF9zdXBwX2ZlYXTi gJk6CmxpYi9ibHVldG9vdGgvc2RwLmM6NDkzNzo1NjogZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50 ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYaW504oCZIGFuZCDi gJhsb25nIHVuc2lnbmVkIGludOKAmSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiA0OTM3IHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSAoZGQtPnVuaXRTaXplID4gc2l6 ZW9mKHVpbnQ4X3QpKSA/CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh cyBlcnJvcnMKbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3MTQ2OiBsaWIvYmx1ZXRvb3RoL3NkcC5s b10gRXJyb3IgMQptYWtlOiAqKiogW01ha2VmaWxlOjEwOTg0OiBjaGVja10gRXJyb3IgMgojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQ2hlY2tWYWxncmluZCAtIEZBSUwKRGVz YzogUnVuIEJsdWV6IE1ha2UgQ2hlY2sgd2l0aCBWYWxncmluZApPdXRwdXQ6Cgp0b29scy9tZ210 LXRlc3Rlci5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgp0b29scy9tZ210LXRlc3Rlci5jOjEz NDQwOjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNraW5nIHNpemUgbGltaXQgZXhjZWVkZWQgd2l0aCDi gJgtZnZhci10cmFja2luZy1hc3NpZ25tZW50c+KAmSwgcmV0cnlpbmcgd2l0aG91dAoxMzQ0MCB8 IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgIHwgICAgIF5+fn4KbGliL2Js dWV0b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX2dldF9kYXRhX3NpemXigJk6CmxpYi9i bHVldG9vdGgvc2RwLmM6NzMzOjMzOiBlcnJvcjogY29tcGFyaXNvbiBvZiBpbnRlZ2VyIGV4cHJl c3Npb25zIG9mIGRpZmZlcmVudCBzaWduZWRuZXNzOiDigJhpbnTigJkgYW5kIOKAmGxvbmcgdW5z aWduZWQgaW504oCZIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KICA3MzMgfCAgICAgICAgICAgICAg ICAgaWYgKGQtPnVuaXRTaXplID4gc2l6ZW9mKHVpbnQ4X3QpKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgpsaWIvYmx1ZXRvb3RoL3NkcC5jOiBJbiBmdW5jdGlvbiDi gJhzZHBfZGF0YV92YWx1ZeKAmToKbGliL2JsdWV0b290aC9zZHAuYzoxNTMwOjQ4OiBlcnJvcjog Y29tcGFyaXNvbiBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIG9mIGRpZmZlcmVudCBzaWduZWRuZXNz OiDigJhpbnTigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZIFstV2Vycm9yPXNpZ24tY29t cGFyZV0KIDE1MzAgfCAgICAgICAgICAgICAgICAgICAgICAgICAqbGVuID0gKGRhdGEtPnVuaXRT aXplID4gc2l6ZW9mKHVpbnQ4X3QpKSA/CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCmxpYi9ibHVldG9vdGgvc2RwLmM6IEluIGZ1bmN0aW9u IOKAmHNkcF9zZXRfc3VwcF9mZWF04oCZOgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjQ4NTk6NjI6IGVy cm9yOiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25l ZG5lc3M6IOKAmGludOKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgWy1XZXJyb3I9c2ln bi1jb21wYXJlXQogNDg1OSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3Ro c1tqXSA9IChkYXRhLT51bml0U2l6ZSA+IHNpemVvZih1aW50OF90KSkgPwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CmxpYi9ibHVldG9vdGgvc2RwLmM6IEluIGZ1bmN0aW9uIOKAmHNkcF9nZXRfc3VwcF9mZWF04oCZ OgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjQ5Mzc6NTY6IGVycm9yOiBjb21wYXJpc29uIG9mIGludGVn ZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmGludOKAmSBhbmQg4oCY bG9uZyB1bnNpZ25lZCBpbnTigJkgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQogNDkzNyB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gKGRkLT51bml0U2l6ZSA+IHNpemVv Zih1aW50OF90KSkgPwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMg ZXJyb3JzCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NzE0NjogbGliL2JsdWV0b290aC9zZHAubG9d IEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFr ZTogKioqIFtNYWtlZmlsZToxMDk4NDogY2hlY2tdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjClRlc3Q6IENoZWNrU21hdGNoIC0gRkFJTApEZXNjOiBSdW4gc21hdGNoIHRv b2wgd2l0aCBzb3VyY2UKT3V0cHV0OgoKc3JjL3NoYXJlZC9jcnlwdG8uYzoyNzE6MjE6IHdhcm5p bmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2NyeXB0by5jOjI3 MjoyMzogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQv Z2F0dC1oZWxwZXJzLmM6NzY0OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMg dXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo4NDI6MzE6IHdhcm5pbmc6IFZhcmlhYmxl IGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzMzU6MzE6 IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQt aGVscGVycy5jOjEzNjY6MjM6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2Vk LgpzcmMvc2hhcmVkL2JhcC5jOjMxODoyNTogd2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3Ry dWN0dXJlcwpzcmMvc2hhcmVkL2JhcC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9z aGFyZWQvYXNjcy5oOjg4OjI1OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVz CnNyYy9zaGFyZWQvc2hlbGwuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCAvdXNy L2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS8vc3lzL2lvY3RsLmgsIC91c3IvaW5jbHVkZS94ODZf NjQtbGludXgtZ251Ly9zeXMvZXBvbGwuaCwgc3JjL3NoYXJlZC9tYWlubG9vcC5oKToKL3Vzci9p bmNsdWRlL3g4Nl82NC1saW51eC1nbnUvL3N5cy90dHlkZWZhdWx0cy5oOjU1Ojk6IHdhcm5pbmc6 IHByZXByb2Nlc3NvciB0b2tlbiBDVFJMIHJlZGVmaW5lZApzcmMvc2hhcmVkL3NoZWxsLmM6IG5v dGU6IGluIGluY2x1ZGVkIGZpbGUgKHRocm91Z2ggL3Vzci9pbmNsdWRlL3JlYWRsaW5lL2tleW1h cHMuaCwgL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JlYWRsaW5lLmgpOgovdXNyL2luY2x1ZGUvcmVh ZGxpbmUvY2hhcmRlZnMuaDo1MTo5OiB0aGlzIHdhcyB0aGUgb3JpZ2luYWwgZGVmaW5pdGlvbgpz cmMvc2hhcmVkL2NyeXB0by5jOjI3MToyMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5 IGlzIHVzZWQuCnNyYy9zaGFyZWQvY3J5cHRvLmM6MjcyOjIzOiB3YXJuaW5nOiBWYXJpYWJsZSBs ZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo3NjQ6MzE6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVs cGVycy5jOjg0MjozMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNy Yy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6MTMzNTozMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3Ro IGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6MTM2NjoyMzogd2Fybmlu ZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvYmFwLmM6MzE4OjI1 OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNyYy9zaGFyZWQvYmFwLmM6 IG5vdGU6IGluIGluY2x1ZGVkIGZpbGU6Ci4vc3JjL3NoYXJlZC9hc2NzLmg6ODg6MjU6IHdhcm5p bmc6IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKc3JjL3NoYXJlZC9zaGVsbC5jOiBub3Rl OiBpbiBpbmNsdWRlZCBmaWxlICh0aHJvdWdoIC91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251 Ly9zeXMvaW9jdGwuaCwgL3Vzci9pbmNsdWRlL3g4Nl82NC1saW51eC1nbnUvL3N5cy9lcG9sbC5o LCBzcmMvc2hhcmVkL21haW5sb29wLmgpOgovdXNyL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS8v c3lzL3R0eWRlZmF1bHRzLmg6NTU6OTogd2FybmluZzogcHJlcHJvY2Vzc29yIHRva2VuIENUUkwg cmVkZWZpbmVkCnNyYy9zaGFyZWQvc2hlbGwuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhy b3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUva2V5bWFwcy5oLCAvdXNyL2luY2x1ZGUvcmVhZGxp bmUvcmVhZGxpbmUuaCk6Ci91c3IvaW5jbHVkZS9yZWFkbGluZS9jaGFyZGVmcy5oOjUxOjk6IHRo aXMgd2FzIHRoZSBvcmlnaW5hbCBkZWZpbml0aW9uCnRvb2xzL21lc2gtY2ZndGVzdC5jOjE0NTM6 MTc6IHdhcm5pbmc6IHVua25vd24gZXNjYXBlIHNlcXVlbmNlOiAnXCUnCnRvb2xzL3Njby10ZXN0 ZXIuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZToKLi9saWIvYmx1ZXRvb3RoL2JsdWV0b290aC5o OjIzMjoxNTogd2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwouL2xpYi9ibHVl dG9vdGgvYmx1ZXRvb3RoLmg6MjM3OjMxOiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1 Y3R1cmVzCnRvb2xzL2JuZXB0ZXN0LmM6NjM0OjM5OiB3YXJuaW5nOiB1bmtub3duIGVzY2FwZSBz ZXF1ZW5jZTogJ1wlJwp0b29scy9zZXEyYnNlcS5jOjU3OjI2OiB3YXJuaW5nOiBWYXJpYWJsZSBs ZW5ndGggYXJyYXkgaXMgdXNlZC4KY2xpZW50L2J0cGNsaWVudC9nYXR0LmM6IG5vdGU6IGluIGlu Y2x1ZGVkIGZpbGU6Ci4vc3JjL3NoYXJlZC9idHAuaDozMzg6NDE6IHdhcm5pbmc6IGFycmF5IG9m IGZsZXhpYmxlIHN0cnVjdHVyZXMKLi9zcmMvc2hhcmVkL2J0cC5oOjM0Mzo1NTogd2FybmluZzog YXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwouL3NyYy9zaGFyZWQvYnRwLmg6MzY2OjQ3OiB3 YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCi4vc3JjL3NoYXJlZC9idHAuaDoz OTU6NDI6IHdhcm5pbmc6IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKc3JjL2FkdmVydGlz aW5nLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGU6Ci4vc3JjL3NoYXJlZC9tZ210Lmg6OTU6MjU6 IGVycm9yOiByZWRlZmluaXRpb24gb2YgdW5zaWduZWQgaW50IGVudW0gbWdtdF9pb19jYXBhYmls aXR5CnNyYy9hZ2VudC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgpzcmMvc2hhcmVkL3F1ZXVl Lmg6MTk6MjA6IGVycm9yOiByZWRlZmluaXRpb24gb2Ygc3RydWN0IHF1ZXVlX2VudHJ5CnNyYy9h ZHZfbW9uaXRvci5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvbWdtdC5o Ojk1OjI1OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHVuc2lnbmVkIGludCBlbnVtIG1nbXRfaW9f Y2FwYWJpbGl0eQp1bml0L2F2Y3RwLmM6NTA1OjM0OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGgg YXJyYXkgaXMgdXNlZC4KdW5pdC9hdmN0cC5jOjU1NjozNDogd2FybmluZzogVmFyaWFibGUgbGVu Z3RoIGFycmF5IGlzIHVzZWQuCnVuaXQvdGVzdC1hdnJjcC5jOjM3NDoyNjogd2FybmluZzogVmFy aWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnVuaXQvdGVzdC1hdnJjcC5jOjM5OToyNjogd2Fy bmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnVuaXQvdGVzdC1hdnJjcC5jOjQx NToyNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnVuaXQvYXZyY3At bGliLmM6MTA4NTozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnVu aXQvYXZyY3AtbGliLmM6MTU4MzozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlz IHVzZWQuCnVuaXQvYXZyY3AtbGliLmM6MTYxMjozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3Ro IGFycmF5IGlzIHVzZWQuCnVuaXQvYXZyY3AtbGliLmM6MTYzODozNDogd2FybmluZzogVmFyaWFi bGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9hZHZlcnRpc2luZy5jOiBub3RlOiBpbiBpbmNs dWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvbWdtdC5oOjk1OjI1OiBlcnJvcjogcmVkZWZpbml0aW9u IG9mIHVuc2lnbmVkIGludCBlbnVtIG1nbXRfaW9fY2FwYWJpbGl0eQpzcmMvYWdlbnQuYzogbm90 ZTogaW4gaW5jbHVkZWQgZmlsZToKc3JjL3NoYXJlZC9xdWV1ZS5oOjE5OjIwOiBlcnJvcjogcmVk ZWZpbml0aW9uIG9mIHN0cnVjdCBxdWV1ZV9lbnRyeQpzcmMvYWR2X21vbml0b3IuYzogbm90ZTog aW4gaW5jbHVkZWQgZmlsZToKLi9zcmMvc2hhcmVkL21nbXQuaDo5NToyNTogZXJyb3I6IHJlZGVm aW5pdGlvbiBvZiB1bnNpZ25lZCBpbnQgZW51bSBtZ210X2lvX2NhcGFiaWxpdHkKc3JjL21haW4u Yzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCBzcmMvZGV2aWNlLmgpOgouL3NyYy9z aGFyZWQvcXVldWUuaDoxOToyMDogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiBzdHJ1Y3QgcXVldWVf ZW50cnkKbWVzaC9tZXNoLWlvLW1nbXQuYzo1MjU6Njc6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0 aCBhcnJheSBpcyB1c2VkLgpsaWIvYmx1ZXRvb3RoL3NkcC5jOiBJbiBmdW5jdGlvbiDigJhzZHBf Z2V0X2RhdGFfc2l6ZeKAmToKbGliL2JsdWV0b290aC9zZHAuYzo3MzM6MzM6IGVycm9yOiBjb21w YXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKA mGludOKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgWy1XZXJyb3I9c2lnbi1jb21wYXJl XQogIDczMyB8ICAgICAgICAgICAgICAgICBpZiAoZC0+dW5pdFNpemUgPiBzaXplb2YodWludDhf dCkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmxpYi9ibHVldG9v dGgvc2RwLmM6IEluIGZ1bmN0aW9uIOKAmHNkcF9kYXRhX3ZhbHVl4oCZOgpsaWIvYmx1ZXRvb3Ro L3NkcC5jOjE1MzA6NDg6IGVycm9yOiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lvbnMg b2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmGludOKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBp bnTigJkgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQogMTUzMCB8ICAgICAgICAgICAgICAgICAgICAg ICAgICpsZW4gPSAoZGF0YS0+dW5pdFNpemUgPiBzaXplb2YodWludDhfdCkpID8KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KbGliL2JsdWV0 b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX3NldF9zdXBwX2ZlYXTigJk6CmxpYi9ibHVl dG9vdGgvc2RwLmM6NDg1OTo2MjogZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNz aW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYaW504oCZIGFuZCDigJhsb25nIHVuc2ln bmVkIGludOKAmSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiA0ODU5IHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsZW5ndGhzW2pdID0gKGRhdGEtPnVuaXRTaXplID4gc2l6ZW9mKHVp bnQ4X3QpKSA/CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KbGliL2JsdWV0b290aC9zZHAuYzogSW4gZnVuY3Rpb24g 4oCYc2RwX2dldF9zdXBwX2ZlYXTigJk6CmxpYi9ibHVldG9vdGgvc2RwLmM6NDkzNzo1NjogZXJy b3I6IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVk bmVzczog4oCYaW504oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSBbLVdlcnJvcj1zaWdu LWNvbXBhcmVdCiA0OTM3IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGgg PSAoZGQtPnVuaXRTaXplID4gc2l6ZW9mKHVpbnQ4X3QpKSA/CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4Kc3JjL3NoYXJlZC9j cnlwdG8uYzoyNzE6MjE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpz cmMvc2hhcmVkL2NyeXB0by5jOjI3MjoyMzogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5 IGlzIHVzZWQuCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2Vb MV06ICoqKiBbTWFrZWZpbGU6NzE0NjogbGliL2JsdWV0b290aC9zZHAubG9dIEVycm9yIDEKbWFr ZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZTogKioqIFtNYWtl ZmlsZTo0MjQ2OiBhbGxdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRl c3Q6IGJsdWV6bWFrZWV4dGVsbCAtIEZBSUwKRGVzYzogQnVpbGQgQmx1ZXogd2l0aCBFeHRlcm5h bCBFTEwKT3V0cHV0OgoKbGliL2JsdWV0b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX2dl dF9kYXRhX3NpemXigJk6CmxpYi9ibHVldG9vdGgvc2RwLmM6NzMzOjMzOiBlcnJvcjogY29tcGFy aXNvbiBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIG9mIGRpZmZlcmVudCBzaWduZWRuZXNzOiDigJhp bnTigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZIFstV2Vycm9yPXNpZ24tY29tcGFyZV0K ICA3MzMgfCAgICAgICAgICAgICAgICAgaWYgKGQtPnVuaXRTaXplID4gc2l6ZW9mKHVpbnQ4X3Qp KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpsaWIvYmx1ZXRvb3Ro L3NkcC5jOiBJbiBmdW5jdGlvbiDigJhzZHBfZGF0YV92YWx1ZeKAmToKbGliL2JsdWV0b290aC9z ZHAuYzoxNTMwOjQ4OiBlcnJvcjogY29tcGFyaXNvbiBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIG9m IGRpZmZlcmVudCBzaWduZWRuZXNzOiDigJhpbnTigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW50 4oCZIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KIDE1MzAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAqbGVuID0gKGRhdGEtPnVuaXRTaXplID4gc2l6ZW9mKHVpbnQ4X3QpKSA/CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmxpYi9ibHVldG9v dGgvc2RwLmM6IEluIGZ1bmN0aW9uIOKAmHNkcF9zZXRfc3VwcF9mZWF04oCZOgpsaWIvYmx1ZXRv b3RoL3NkcC5jOjQ4NTk6NjI6IGVycm9yOiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lv bnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmGludOKAmSBhbmQg4oCYbG9uZyB1bnNpZ25l ZCBpbnTigJkgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQogNDg1OSB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGVuZ3Roc1tqXSA9IChkYXRhLT51bml0U2l6ZSA+IHNpemVvZih1aW50 OF90KSkgPwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCmxpYi9ibHVldG9vdGgvc2RwLmM6IEluIGZ1bmN0aW9uIOKA mHNkcF9nZXRfc3VwcF9mZWF04oCZOgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjQ5Mzc6NTY6IGVycm9y OiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5l c3M6IOKAmGludOKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgWy1XZXJyb3I9c2lnbi1j b21wYXJlXQogNDkzNyB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0g KGRkLT51bml0U2l6ZSA+IHNpemVvZih1aW50OF90KSkgPwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5p bmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NzE0Njog bGliL2JsdWV0b290aC9zZHAubG9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVu ZmluaXNoZWQgam9icy4uLi4KbWFrZTogKioqIFtNYWtlZmlsZTo0MjQ2OiBhbGxdIEVycm9yIDIK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RGdW5jdGlvbmFsIC0gRVJS T1IKRGVzYzogUnVuIHRlc3QtZnVuY3Rpb25hbApPdXRwdXQ6CkZhaWxlZCB0byBidWlsZCBCbHVl WjoKRmFpbGVkIHRvIGJ1aWxkIEJsdWVaCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpU ZXN0OiBJbmNyZW1lbnRhbEJ1aWxkIC0gRkFJTApEZXNjOiBJbmNyZW1lbnRhbCBidWlsZCB3aXRo IHRoZSBwYXRjaGVzIGluIHRoZSBzZXJpZXMKT3V0cHV0OgoKdG9vbHMvbWdtdC10ZXN0ZXIuYzog SW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdG9vbHMvbWdtdC10ZXN0ZXIuYzoxMzQ0MDo1OiBub3Rl OiB2YXJpYWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJh Y2tpbmctYXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKMTM0NDAgfCBpbnQgbWFpbihp bnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+CnVuaXQvdGVzdC1hdmR0cC5j OiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgp1bml0L3Rlc3QtYXZkdHAuYzo3NjY6NTogbm90ZTog dmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNr aW5nLWFzc2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CiAgNzY2IHwgaW50IG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYXZyY3AuYzog SW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LWF2cmNwLmM6MTM4Mjo1OiBub3RlOiB2 YXJpYWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tp bmctYXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKIDEzODIgfCBpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+CmxpYi9ibHVldG9vdGgvc2RwLmM6 IEluIGZ1bmN0aW9uIOKAmHNkcF9nZXRfZGF0YV9zaXpl4oCZOgpsaWIvYmx1ZXRvb3RoL3NkcC5j OjczMzozMzogZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZm ZXJlbnQgc2lnbmVkbmVzczog4oCYaW504oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSBb LVdlcnJvcj1zaWduLWNvbXBhcmVdCiAgNzMzIHwgICAgICAgICAgICAgICAgIGlmIChkLT51bml0 U2l6ZSA+IHNpemVvZih1aW50OF90KSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KbGliL2JsdWV0b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX2RhdGFfdmFs dWXigJk6CmxpYi9ibHVldG9vdGgvc2RwLmM6MTUzMDo0ODogZXJyb3I6IGNvbXBhcmlzb24gb2Yg aW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYaW504oCZIGFu ZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiAxNTMwIHwg ICAgICAgICAgICAgICAgICAgICAgICAgKmxlbiA9IChkYXRhLT51bml0U2l6ZSA+IHNpemVvZih1 aW50OF90KSkgPwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgpsaWIvYmx1ZXRvb3RoL3NkcC5jOiBJbiBmdW5jdGlvbiDigJhzZHBfc2V0X3N1 cHBfZmVhdOKAmToKbGliL2JsdWV0b290aC9zZHAuYzo0ODU5OjYyOiBlcnJvcjogY29tcGFyaXNv biBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIG9mIGRpZmZlcmVudCBzaWduZWRuZXNzOiDigJhpbnTi gJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KIDQ4 NTkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aHNbal0gPSAoZGF0YS0+ dW5pdFNpemUgPiBzaXplb2YodWludDhfdCkpID8KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpsaWIvYmx1ZXRvb3Ro L3NkcC5jOiBJbiBmdW5jdGlvbiDigJhzZHBfZ2V0X3N1cHBfZmVhdOKAmToKbGliL2JsdWV0b290 aC9zZHAuYzo0OTM3OjU2OiBlcnJvcjogY29tcGFyaXNvbiBvZiBpbnRlZ2VyIGV4cHJlc3Npb25z IG9mIGRpZmZlcmVudCBzaWduZWRuZXNzOiDigJhpbnTigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQg aW504oCZIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KIDQ5MzcgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxlbmd0aCA9IChkZC0+dW5pdFNpemUgPiBzaXplb2YodWludDhfdCkpID8K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFd OiAqKiogW01ha2VmaWxlOjcxNDY6IGxpYi9ibHVldG9vdGgvc2RwLmxvXSBFcnJvciAxCm1ha2Vb MV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCnVuaXQvdGVzdC1yYXAuYzog SW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LXJhcC5jOjk5Nzo1OiBub3RlOiB2YXJp YWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmct YXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKICA5OTcgfCBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+Cm1ha2U6ICoqKiBbTWFrZWZpbGU6NDI0 NjogYWxsXSBFcnJvciAyCnNkcDogUHJldmVudCBpbnRlZ2VyIHVuZGVyZmxvdyBpbiBzdHJpbmcg YXR0cmlidXRlIGxlbmd0aCBjYWxjdWxhdGlvbgoKdG9vbHMvbWdtdC10ZXN0ZXIuYzogSW4gZnVu Y3Rpb24g4oCYbWFpbuKAmToKdG9vbHMvbWdtdC10ZXN0ZXIuYzoxMzQ0MDo1OiBub3RlOiB2YXJp YWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmct YXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKMTM0NDAgfCBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+CnVuaXQvdGVzdC1hdmR0cC5jOiBJbiBm dW5jdGlvbiDigJhtYWlu4oCZOgp1bml0L3Rlc3QtYXZkdHAuYzo3NjY6NTogbm90ZTogdmFyaWFi bGUgdHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNraW5nLWFz c2lnbm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CiAgNzY2IHwgaW50IG1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYXZyY3AuYzogSW4gZnVu Y3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LWF2cmNwLmM6MTM4Mjo1OiBub3RlOiB2YXJpYWJs ZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNz aWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKIDEzODIgfCBpbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+CmxpYi9ibHVldG9vdGgvc2RwLmM6IEluIGZ1 bmN0aW9uIOKAmHNkcF9nZXRfZGF0YV9zaXpl4oCZOgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjczMzoz MzogZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQg c2lnbmVkbmVzczog4oCYaW504oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSBbLVdlcnJv cj1zaWduLWNvbXBhcmVdCiAgNzMzIHwgICAgICAgICAgICAgICAgIGlmIChkLT51bml0U2l6ZSA+ IHNpemVvZih1aW50OF90KSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KbGliL2JsdWV0b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX2RhdGFfdmFsdWXigJk6 CmxpYi9ibHVldG9vdGgvc2RwLmM6MTUzMDo0ODogZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50ZWdl ciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYaW504oCZIGFuZCDigJhs b25nIHVuc2lnbmVkIGludOKAmSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiAxNTMwIHwgICAgICAg ICAgICAgICAgICAgICAgICAgKmxlbiA9IChkYXRhLT51bml0U2l6ZSA+IHNpemVvZih1aW50OF90 KSkgPwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgpsaWIvYmx1ZXRvb3RoL3NkcC5jOiBJbiBmdW5jdGlvbiDigJhzZHBfc2V0X3N1cHBfZmVh dOKAmToKbGliL2JsdWV0b290aC9zZHAuYzo0ODU5OjYyOiBlcnJvcjogY29tcGFyaXNvbiBvZiBp bnRlZ2VyIGV4cHJlc3Npb25zIG9mIGRpZmZlcmVudCBzaWduZWRuZXNzOiDigJhpbnTigJkgYW5k IOKAmGxvbmcgdW5zaWduZWQgaW504oCZIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KIDQ4NTkgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aHNbal0gPSAoZGF0YS0+dW5pdFNp emUgPiBzaXplb2YodWludDhfdCkpID8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpsaWIvYmx1ZXRvb3RoL3NkcC5j OiBJbiBmdW5jdGlvbiDigJhzZHBfZ2V0X3N1cHBfZmVhdOKAmToKbGliL2JsdWV0b290aC9zZHAu Yzo0OTM3OjU2OiBlcnJvcjogY29tcGFyaXNvbiBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIG9mIGRp ZmZlcmVudCBzaWduZWRuZXNzOiDigJhpbnTigJkgYW5kIOKAmGxvbmcgdW5zaWduZWQgaW504oCZ IFstV2Vycm9yPXNpZ24tY29tcGFyZV0KIDQ5MzcgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxlbmd0aCA9IChkZC0+dW5pdFNpemUgPiBzaXplb2YodWludDhfdCkpID8KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiog W01ha2VmaWxlOjcxNDY6IGxpYi9ibHVldG9vdGgvc2RwLmxvXSBFcnJvciAxCm1ha2VbMV06ICoq KiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCnVuaXQvdGVzdC1yYXAuYzogSW4gZnVu Y3Rpb24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LXJhcC5jOjk5Nzo1OiBub3RlOiB2YXJpYWJsZSB0 cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdu bWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKICA5OTcgfCBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqYXJndltdKQogICAgICB8ICAgICBefn5+Cm1ha2U6ICoqKiBbTWFrZWZpbGU6NDI0NjogYWxs XSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBTY2FuQnVpbGQg LSBGQUlMCkRlc2M6IFJ1biBTY2FuIEJ1aWxkCk91dHB1dDoKCnNyYy9zaGFyZWQvZ2F0dC1jbGll bnQuYzo0NTc6MjE6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3Vu aXguTWFsbG9jXQogIDQ1NyB8ICAgICAgICAgZ2F0dF9kYl91bnJlZ2lzdGVyKG9wLT5jbGllbnQt PmRiLCBvcC0+ZGJfaWQpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjcwMjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVt b3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KICA3MDIgfCAgICAgICAgIGRpc2Nv dmVyeV9vcF9jb21wbGV0ZShvcCwgZmFsc2UsIGF0dF9lY29kZSk7CiAgICAgIHwgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0 dC1jbGllbnQuYzoxMTA4OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJl ZWQgW3VuaXguTWFsbG9jXQogMTEwOCB8ICAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9w LCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMzAy OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9j XQogMTMwMiB8ICAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRf ZWNvZGUpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMzY3OjI6IHdhcm5pbmc6IFVz ZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMTM2NyB8ICAgICAg ICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICB8 ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNy Yy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxNjQyOjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0 ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMTY0MiB8ICAgICAgICAgaWYgKHJlYWRfZGJf aGFzaChvcCkpIHsKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFy ZWQvZ2F0dC1jbGllbnQuYzoxNjQ3OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQg aXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMTY0NyB8ICAgICAgICAgZGlzY292ZXJfYWxsKG9wKTsK ICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5j OjE3MDM6NTY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXgu TWFsbG9jXQogMTcwMyB8ICAgICAgICAgbm90aWZ5X2RhdGEtPmNocmMtPmNjY193cml0ZV9pZCA9 IG5vdGlmeV9kYXRhLT5hdHRfaWQgPSBhdHRfaWQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fiBeCnNyYy9zaGFyZWQv Z2F0dC1jbGllbnQuYzoyMTU2OjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMg ZnJlZWQgW3VuaXguTWFsbG9jXQogMjE1NiB8ICAgICAgICAgaWYgKHJlYWRfZGJfaGFzaChvcCkp IHsKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1j bGllbnQuYzoyMTY0Ojg6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQg W3VuaXguTWFsbG9jXQogMjE2NCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGlzY292ZXJ5X29wX3JlZihvcCksCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MzM1MDoyOiB3YXJuaW5nOiBV c2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDMzNTAgfCAgICAg ICAgIGNvbXBsZXRlX3dyaXRlX2xvbmdfb3AocmVxLCBzdWNjZXNzLCAwLCBmYWxzZSk7CiAgICAg IHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzozMzcyOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkg YWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMzM3MiB8ICAgICAgICAgcmVxdWVzdF91 bnJlZihyZXEpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CjEyIHdhcm5pbmdz IGdlbmVyYXRlZC4Kc3JjL3NoYXJlZC9yYXAuYzozMzQ0OjMwOiB3YXJuaW5nOiBBc3NpZ25lZCB2 YWx1ZSBpcyB1bmluaXRpYWxpemVkIFtjb3JlLnVuaW5pdGlhbGl6ZWQuQXNzaWduXQogMzM0NCB8 ICAgICAgICAgICAgICAgICAgICAgICAgIG91dC0+dG9uZV9wY3Rba10uaV9zYW1wbGUgPSB0b25l X3BjdF9pW2tdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvcmFwLmM6NDI5MToxMzogd2Fy bmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiA0Mjkx IHwgICAgICAgICBhdHRhY2hlZCA9IHF1ZXVlX2ZpbmQoc2Vzc2lvbnMsIE5VTEwsIHJhcCk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K MiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zaGFyZWQvYmFwLmM6MTU0Mzo4OiB3YXJuaW5nOiBV c2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDE1NDMgfCAgICAg ICAgIGJhcCA9IGJ0X2JhcF9yZWZfc2FmZShiYXApOwogICAgICB8ICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9iYXAuYzoyMzU5OjIwOiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDIzNTkgfCAgICAgICAg IHJldHVybiBxdWV1ZV9maW5kKHN0cmVhbS0+YmFwLT5zdHJlYW1zLCBOVUxMLCBzdHJlYW0pOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3 YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzo0NTc6MjE6IHdhcm5p bmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogIDQ1NyB8 ICAgICAgICAgZ2F0dF9kYl91bnJlZ2lzdGVyKG9wLT5jbGllbnQtPmRiLCBvcC0+ZGJfaWQpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9n YXR0LWNsaWVudC5jOjcwMjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZy ZWVkIFt1bml4Lk1hbGxvY10KICA3MDIgfCAgICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShv cCwgZmFsc2UsIGF0dF9lY29kZSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMTA4OjI6 IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQog MTEwOCB8ICAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNv ZGUpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMzAyOjI6IHdhcm5pbmc6IFVzZSBv ZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMTMwMiB8ICAgICAgICAg ZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICB8ICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9z aGFyZWQvZ2F0dC1jbGllbnQuYzoxMzY3OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIg aXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMTM2NyB8ICAgICAgICAgZGlzY292ZXJ5X29wX2Nv bXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGll bnQuYzoxNjQyOjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3Vu aXguTWFsbG9jXQogMTY0MiB8ICAgICAgICAgaWYgKHJlYWRfZGJfaGFzaChvcCkpIHsKICAgICAg fCAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzox NjQ3OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFs bG9jXQogMTY0NyB8ICAgICAgICAgZGlzY292ZXJfYWxsKG9wKTsKICAgICAgfCAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjE3MDM6NTY6IHdhcm5pbmc6 IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMTcwMyB8ICAg ICAgICAgbm90aWZ5X2RhdGEtPmNocmMtPmNjY193cml0ZV9pZCA9IG5vdGlmeV9kYXRhLT5hdHRf aWQgPSBhdHRfaWQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fiBeCnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoyMTU2 OjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9j XQogMjE1NiB8ICAgICAgICAgaWYgKHJlYWRfZGJfaGFzaChvcCkpIHsKICAgICAgfCAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoyMTY0Ojg6IHdh cm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMjE2 NCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGlzY292ZXJ5X29wX3JlZihvcCksCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMv c2hhcmVkL2dhdHQtY2xpZW50LmM6MzM1MDoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVy IGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDMzNTAgfCAgICAgICAgIGNvbXBsZXRlX3dyaXRl X2xvbmdfb3AocmVxLCBzdWNjZXNzLCAwLCBmYWxzZSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1j bGllbnQuYzozMzcyOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQg W3VuaXguTWFsbG9jXQogMzM3MiB8ICAgICAgICAgcmVxdWVzdF91bnJlZihyZXEpOwogICAgICB8 ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CjEyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3No YXJlZC9yYXAuYzozMzQ0OjMwOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1bmluaXRpYWxp emVkIFtjb3JlLnVuaW5pdGlhbGl6ZWQuQXNzaWduXQogMzM0NCB8ICAgICAgICAgICAgICAgICAg ICAgICAgIG91dC0+dG9uZV9wY3Rba10uaV9zYW1wbGUgPSB0b25lX3BjdF9pW2tdOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+ fn5+fn5+fn5+CnNyYy9zaGFyZWQvcmFwLmM6NDI5MToxMzogd2FybmluZzogVXNlIG9mIG1lbW9y eSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiA0MjkxIHwgICAgICAgICBhdHRhY2hl ZCA9IHF1ZXVlX2ZpbmQoc2Vzc2lvbnMsIE5VTEwsIHJhcCk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0 ZWQuCnRvb2xzL2hjaWF0dGFjaF9hdGgzay5jOjUzMDo5OiB3YXJuaW5nOiBGaWxlIHBvc2l0aW9u IG9mIHRoZSBzdHJlYW0gbWlnaHQgYmUgJ2luZGV0ZXJtaW5hdGUnIGFmdGVyIGEgZmFpbGVkIG9w ZXJhdGlvbi4gQ2FuIGNhdXNlIHVuZGVmaW5lZCBiZWhhdmlvciBbdW5peC5TdHJlYW1dCiAgNTMw IHwgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmZ2V0cyhieXRlLCAzLCBzdHJlYW0pKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgp0b29scy9oY2lhdHRhY2hfYXRoM2suYzo1MzA6OTogd2FybmluZzogUmVhZCBmdW5jdGlvbiBj YWxsZWQgd2hlbiBzdHJlYW0gaXMgaW4gRU9GIHN0YXRlLiBGdW5jdGlvbiBoYXMgbm8gZWZmZWN0 IFt1bml4LlN0cmVhbV0KICA1MzAgfCAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZnZXRz KGJ5dGUsIDMsIHN0cmVhbSkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9oY2lhdHRh Y2guYzo4MTc6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnbicgaXMg dXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1 YWxseSByZWFkIGZyb20gJ24nIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDgxNyB8ICAgICAgICAg aWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDEwKSkgPCAwKSB7CiAgICAgIHwgICAg ICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFj aC5jOjg2NTo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1 c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVh bGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgODY1IHwgICAgICAgICBp ZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkgewogICAgICB8ICAgICAg ICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFjaC5j Ojg4Nzo4OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1c2Vk IGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5 IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgODg3IHwgICAgICAgICAgICAg ICAgIGlmICgobiA9IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCAxMCkpIDwgMCkgewogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRv b2xzL2hjaWF0dGFjaC5jOjkwOTo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVk IHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlz IG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgOTA5 IHwgICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkgewog ICAgICB8ICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xz L2hjaWF0dGFjaC5jOjkzMDo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRv ICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5l dmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgOTMwIHwg ICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNCkpIDwgMCkgewogICAg ICB8ICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hj aWF0dGFjaC5jOjk3NDo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICdu JyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVy IGFjdHVhbGx5IHJlYWQgZnJvbSAnbicgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgOTc0IHwgICAg ICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgNikpIDwgMCkgewogICAgICB8 ICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjYgd2FybmluZ3Mg Z2VuZXJhdGVkLgpzcmMvb3VpLmM6NTA6Mjogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdod2Ri JyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogICA1MCB8ICAgICAgICAgaHdk YiA9IHVkZXZfaHdkYl91bnJlZihod2RiKTsKICAgICAgfCAgICAgICAgIF4gICAgICB+fn5+fn5+ fn5+fn5+fn5+fn5+fn4Kc3JjL291aS5jOjUzOjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn dWRldicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAgNTMgfCAgICAgICAg IHVkZXYgPSB1ZGV2X3VucmVmKHVkZXYpOwogICAgICB8ICAgICAgICAgXiAgICAgIH5+fn5+fn5+ fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zaGFyZWQvYmFwLmM6MTU0Mzo4OiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDE1 NDMgfCAgICAgICAgIGJhcCA9IGJ0X2JhcF9yZWZfc2FmZShiYXApOwogICAgICB8ICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9iYXAuYzoyMzU5OjIwOiB3YXJu aW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDIzNTkg fCAgICAgICAgIHJldHVybiBxdWV1ZV9maW5kKHN0cmVhbS0+YmFwLT5zdHJlYW1zLCBOVUxMLCBz dHJlYW0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL3JmY29tbS5jOjIzNDozOiB3YXJuaW5n OiBWYWx1ZSBzdG9yZWQgdG8gJ2knIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNd CiAgMjM0IHwgICAgICAgICAgICAgICAgIGkgPSBleGVjdnAoY21kYXJndlswXSwgY21kYXJndik7 CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvcmZjb21tLmM6MjM0Ojc6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0 IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnIFtjb3JlLk5vbk51bGxQYXJhbUNoZWNrZXJd CiAgMjM0IHwgICAgICAgICAgICAgICAgIGkgPSBleGVjdnAoY21kYXJndlswXSwgY21kYXJndik7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvcmZjb21tLmM6MzU0Ojg6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQg dG8gJ2ZkJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlz IG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnZmQnIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDM1 NCB8ICAgICAgICAgICAgICAgICBpZiAoKGZkID0gb3BlbihkZXZuYW1lLCBPX1JET05MWSB8IE9f Tk9DVFRZKSkgPCAwKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXiAgICB+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3JmY29tbS5jOjQ3Mzo2OiB3YXJuaW5n OiBUaGUgMXN0IGFyZ3VtZW50IHRvICdnZXRzb2NrbmFtZScgaXMgLTEgYnV0IHNob3VsZCBiZSA+ PSAwIFt1bml4LlN0ZENMaWJyYXJ5RnVuY3Rpb25zXQogIDQ3MyB8ICAgICAgICAgaWYgKGdldHNv Y2tuYW1lKG5zaywgKHN0cnVjdCBzb2NrYWRkciAqKSZsYWRkciwgJmFsZW4pIDwgMCkgewogICAg ICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CnRvb2xzL3JmY29tbS5jOjQ5NzoxNDogd2FybmluZzogQXNzaWduZWQgdmFsdWUg aXMgdW5pbml0aWFsaXplZCBbY29yZS51bmluaXRpYWxpemVkLkFzc2lnbl0KICA0OTcgfCAgICAg ICAgIHJlcS5jaGFubmVsID0gcmFkZHIucmNfY2hhbm5lbDsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fgp0b29scy9yZmNvbW0uYzo1MTU6ODogd2FybmluZzog QWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnZmQnIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2lu ZyBleHByZXNzaW9uLCB0aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICdmZCcg W2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNTE1IHwgICAgICAgICAgICAgICAgIGlmICgoZmQgPSBv cGVuKGRldm5hbWUsIE9fUkRPTkxZIHwgT19OT0NUVFkpKSA8IDApIHsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICBeICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KNiB3 YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2NpcHRvb2wuYzozNTE6Nzogd2FybmluZzogNXRoIGZ1 bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZSBbY29yZS5DYWxs QW5kTWVzc2FnZV0KICAzNTEgfCAgICAgICAgIHNrID0gZG9fY29ubmVjdChjdGwsIGRldl9pZCwg JnNyYywgJmRzdCwgcHNtLCAoMSA8PCBDTVRQX0xPT1BCQUNLKSk7CiAgICAgIHwgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL3NkcHRvb2wuYzo5NDE6MjY6IHdh cm5pbmc6IFJlc3VsdCBvZiAnbWFsbG9jJyBpcyBjb252ZXJ0ZWQgdG8gYSBwb2ludGVyIG9mIHR5 cGUgJ3VpbnQzMl90Jywgd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggc2l6ZW9mIG9wZXJhbmQg dHlwZSAnaW50JyBbdW5peC5NYWxsb2NTaXplb2ZdCiAgOTQxIHwgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgKnZhbHVlX2ludCA9IG1hbGxvYyhzaXplb2YoaW50KSk7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fiAgICAgICAgICAgIF5+fn5+fiB+fn5+ fn5+fn5+fgp0b29scy9zZHB0b29sLmM6OTgwOjQ6IHdhcm5pbmc6IDFzdCBmdW5jdGlvbiBjYWxs IGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUgW2NvcmUuQ2FsbEFuZE1lc3NhZ2Vd CiAgOTgwIHwgICAgICAgICAgICAgICAgICAgICAgICAgZnJlZShhbGxvY0FycmF5W2ldKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3Nk cHRvb2wuYzozNzc3OjI6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVk IHRvIGJ5ICdzaS5uYW1lJyBbdW5peC5NYWxsb2NdCiAzNzc3IHwgICAgICAgICByZXR1cm4gYWRk X3NlcnZpY2UoMCwgJnNpKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CnRvb2xzL3NkcHRvb2wuYzo0MTEyOjQ6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1l bW9yeSBwb2ludGVkIHRvIGJ5ICdjb250ZXh0LnN2YycgW3VuaXguTWFsbG9jXQogNDExMiB8ICAg ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn4KNCB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zZHAteG1sLmM6MTI5 OjEwOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1bmluaXRpYWxpemVkIFtjb3JlLnVuaW5p dGlhbGl6ZWQuQXNzaWduXQogIDEyOSB8ICAgICAgICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kg KyAxXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn4Kc3JjL3Nk cC14bWwuYzozMDk6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIHVuaW5pdGlhbGl6ZWQg W2NvcmUudW5pbml0aWFsaXplZC5Bc3NpZ25dCiAgMzA5IHwgICAgICAgICAgICAgICAgICAgICAg ICAgYnVmWzFdID0gZGF0YVtpICsgMV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4gfn5+fn5+fn5+fn4Kc3JjL3NkcC14bWwuYzozNDc6MTE6IHdhcm5pbmc6IEFzc2ln bmVkIHZhbHVlIGlzIHVuaW5pdGlhbGl6ZWQgW2NvcmUudW5pbml0aWFsaXplZC5Bc3NpZ25dCiAg MzQ3IHwgICAgICAgICAgICAgICAgICAgICAgICAgYnVmWzFdID0gZGF0YVtpICsgMV07CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn4KMyB3YXJuaW5n cyBnZW5lcmF0ZWQuCnRvb2xzL3JmY29tbS10ZXN0ZXIuYzo0MTA6Njogd2FybmluZzogVGhlIDFz dCBhcmd1bWVudCB0byAnYmluZCcgaXMgLTEgYnV0IHNob3VsZCBiZSA+PSAwIFt1bml4LlN0ZENM aWJyYXJ5RnVuY3Rpb25zXQogIDQxMCB8ICAgICAgICAgaWYgKGJpbmQoc2ssIChzdHJ1Y3Qgc29j a2FkZHIgKikgJmFkZHIsIHNpemVvZihhZGRyKSkgPCAwKSB7CiAgICAgIHwgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9y ZmNvbW0tdGVzdGVyLmM6NDI4Ojg6IHdhcm5pbmc6IFRoZSAxc3QgYXJndW1lbnQgdG8gJ2Nvbm5l Y3QnIGlzIC0xIGJ1dCBzaG91bGQgYmUgPj0gMCBbdW5peC5TdGRDTGlicmFyeUZ1bmN0aW9uc10K ICA0MjggfCAgICAgICAgIGVyciA9IGNvbm5lY3Qoc2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgJmFk ZHIsIHNpemVvZihhZGRyKSk7CiAgICAgIHwgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVk Lgp0b29scy9hdnRlc3QuYzoyNDM6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlz IG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMjQzIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2 dGVzdC5jOjI1Mzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVh ZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAyNTMgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDQpOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MjYy OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29k ZS5EZWFkU3RvcmVzXQogIDI2MiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVu ID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzoyNzY6NTogd2Fybmlu ZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9y ZXNdCiAgMjc2IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShz aywgYnVmLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+ fn5+fn5+fn5+fn4KICAyNzcgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAzICsgc2l6ZW9mKG1lZGlhX3RyYW5zcG9ydCkpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MjgzOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDI4MyB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+CiAgMjg0 IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSArIG1l ZGlhX3RyYW5zcG9ydF9zaXplKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVz dC5jOjI5MDo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBb ZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAyOTAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fgogIDI5MSB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgKyBtZWRpYV90cmFuc3BvcnRfc2l6ZSk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzoyOTc6NTogd2FybmluZzogVmFs dWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAg Mjk3IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVm LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+ fn5+fn4KICAyOTggfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAyICsgbWVkaWFfdHJhbnNwb3J0X3NpemUpOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6MzA5OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDMwOSB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRl c3QuYzozMTM6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQg W2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMzEzIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAyKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjMyMjo1 OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUu RGVhZFN0b3Jlc10KICAzMjIgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9 IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzI2OjU6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVz XQogIDMyNiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ss IGJ1ZiwgMik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzozMzU6NTogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMzM1IHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+ fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM0Mjo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xl bicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAzNDIgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9v bHMvYXZ0ZXN0LmM6MzY0OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZl ciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDM2NCB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3Qu YzozNjg6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2Rl YWRjb2RlLkRlYWRTdG9yZXNdCiAgMzY4IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsZW4gPSB3cml0ZShzaywgYnVmLCAyKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM3Nzo1OiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVh ZFN0b3Jlc10KICAzNzcgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdy aXRlKHNrLCBidWYsIDMpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzgxOjU6IHdhcm5pbmc6IFZh bHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQog IDM4MSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1 ZiwgMik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzozOTQ6NTogd2FybmluZzogVmFsdWUgc3RvcmVk IHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMzk0IHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCA0KTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+ fn5+CnRvb2xzL2F2dGVzdC5jOjM5ODo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicg aXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAzOTggfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMv YXZ0ZXN0LmM6NDA1OjQ6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciBy ZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDQwNSB8ICAgICAgICAgICAgICAgICAgICAgICAg IGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg IF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjQxNTo0OiB3YXJuaW5nOiBW YWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10K ICA0MTUgfCAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAyKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0 b29scy9hdnRlc3QuYzo1ODA6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5l dmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNTgwIHwgICAgICAgICAgICAgICAgIGxl biA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICB8ICAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo1ODg6Mzogd2FybmluZzogVmFsdWUgc3RvcmVk IHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNTg4IHwgICAg ICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIGludmFsaWQgPyAyIDogMyk7CiAgICAg IHwgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6NjAyOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDYwMiB8ICAgICAgICAgICAgICAgICBs ZW4gPSB3cml0ZShzaywgYnVmLCA0ICsgbWVkaWFfdHJhbnNwb3J0X3NpemUpOwogICAgICB8ICAg ICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CnRvb2xzL2F2dGVzdC5jOjYxNTozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicg aXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA2MTUgfCAgICAgICAgICAgICAg ICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICAg IH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjYyNTozOiB3YXJuaW5nOiBWYWx1ZSBz dG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA2MjUg fCAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgIHwgICAgICAg ICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjYzNzozOiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVh ZFN0b3Jlc10KICA2MzcgfCAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7 CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2 dGVzdC5jOjY1MjozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVh ZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA2NTIgfCAgICAgICAgICAgICAgICAgbGVuID0gd3Jp dGUoc2ssIGJ1ZiwgMyk7CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+ fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjY2NDozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xl bicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA2NjQgfCAgICAgICAgICAg ICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgIHwgICAgICAgICAgICAgICAgIF4g ICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjY3MzozOiB3YXJuaW5nOiBWYWx1 ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA2 NzMgfCAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgIHwgICAg ICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjY4MDoz OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUu RGVhZFN0b3Jlc10KICA2ODAgfCAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1Ziwg Mik7CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xz L2F2dGVzdC5jOjcxNjoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIg cmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA3MTYgfCAgICAgICAgIGxlbiA9IHdyaXRlKHNr LCBidWYsIEFWQ1RQX0hFQURFUl9MRU5HVEggKyBzaXplb2YocGxheV9wcmVzc2VkKSk7CiAgICAg IHwgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CjMyIHdhcm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMvY3JlYXRlLWlt YWdlLmM6NzY6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZCBb ZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAgNzYgfCAgICAgICAgICAgICAgICAgZmQgPSAtMTsKICAg ICAgfCAgICAgICAgICAgICAgICAgXiAgICB+fgp0b29scy9jcmVhdGUtaW1hZ2UuYzo4NDozOiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2ZkJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFk U3RvcmVzXQogICA4NCB8ICAgICAgICAgICAgICAgICBmZCA9IC0xOwogICAgICB8ICAgICAgICAg ICAgICAgICBeICAgIH5+CnRvb2xzL2NyZWF0ZS1pbWFnZS5jOjkyOjM6IHdhcm5pbmc6IFZhbHVl IHN0b3JlZCB0byAnZmQnIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgIDky IHwgICAgICAgICAgICAgICAgIGZkID0gLTE7CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICAg fn4KdG9vbHMvY3JlYXRlLWltYWdlLmM6MTA1OjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn ZmQnIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMTA1IHwgICAgICAgICBm ZCA9IC0xOwogICAgICB8ICAgICAgICAgXiAgICB+fgp0b29scy9jcmVhdGUtaW1hZ2UuYzoxMDg6 Mjogd2FybmluZzogTnVsbCBwb2ludGVyIHBhc3NlZCB0byAxc3QgcGFyYW1ldGVyIGV4cGVjdGlu ZyAnbm9ubnVsbCcgW2NvcmUuTm9uTnVsbFBhcmFtQ2hlY2tlcl0KICAxMDggfCAgICAgICAgIGZw cmludGYoZnAsIEhEUl9GTVQsIEhEUl9NQUdJQywgaW5vLCBtb2RlLCAwLCAwLCAxLCAwLAogICAg ICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CiAgMTA5IHwgICAgICAgICAgICAgICAgICh1aW50bWF4X3QpIHN0LnN0X3NpemUs IDAsIDAsIDAsIDAsIG5hbWVsZW4gKyAxLCAwLCBuYW1lKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CnRvb2xzL2NyZWF0ZS1pbWFnZS5jOjE4ODoyOiB3YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFz c2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxsJyBbY29yZS5Ob25OdWxsUGFy YW1DaGVja2VyXQogIDE4OCB8ICAgICAgICAgZmNsb3NlKGZwKTsKICAgICAgfCAgICAgICAgIF5+ fn5+fn5+fn4KNiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2J0Z2F0dC1jbGllbnQuYzoxODIy OjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnYXJndicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNv ZGUuRGVhZFN0b3Jlc10KIDE4MjIgfCAgICAgICAgIGFyZ3YgKz0gb3B0aW5kOwogICAgICB8ICAg ICAgICAgXiAgICAgICB+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KdG9vbHMvYnRnYXR0LXNl cnZlci5jOjEyMDQ6Mjogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdhcmd2JyBpcyBuZXZlciBy ZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogMTIwNCB8ICAgICAgICAgYXJndiAtPSBvcHRpbmQ7 CiAgICAgIHwgICAgICAgICBeICAgICAgIH5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgp0b29s cy9jaGVjay1zZWxmdGVzdC5jOjQyOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAncHRyJyBp cyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogICA0MiB8ICAgICAgICAgICAgICAg ICBwdHIgPSBmZ2V0cyhyZXN1bHQsIHNpemVvZihyZXN1bHQpLCBmcCk7CiAgICAgIHwgICAgICAg ICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5p bmcgZ2VuZXJhdGVkLgp0b29scy9nYXR0LXNlcnZpY2UuYzoyOTQ6Mjogd2FybmluZzogMm5kIGZ1 bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZSBbY29yZS5DYWxs QW5kTWVzc2FnZV0KICAyOTQgfCAgICAgICAgIGNocl93cml0ZShjaHIsIHZhbHVlLCBsZW4pOwog ICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVy YXRlZC4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHRvb2xzL29iZXgtc2VydmVyLXRvb2wuYzoxNzoK SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS9mY250bC5oOjM0MjoKL3Vzci9pbmNs dWRlL3g4Nl82NC1saW51eC1nbnUvYml0cy9mY250bDIuaDo3NjoxMDogd2FybmluZzogTnVsbCBw b2ludGVyIHBhc3NlZCB0byAxc3QgcGFyYW1ldGVyIGV4cGVjdGluZyAnbm9ubnVsbCcgW2NvcmUu Tm9uTnVsbFBhcmFtQ2hlY2tlcl0KICAgNzYgfCAgIHJldHVybiBfX29wZW5fYWxpYXMgKF9fcGF0 aCwgX19vZmxhZywgX19tb2RlKTsKICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpjbGllbnQvYnRwY2xpZW50 L2J0cGNsaWVudGN0bC5jOjQwMjozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2JpdCcgaXMg bmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA0MDIgfCAgICAgICAgICAgICAgICAg Yml0ID0gMDsKICAgICAgfCAgICAgICAgICAgICAgICAgXiAgICAgfgpjbGllbnQvYnRwY2xpZW50 L2J0cGNsaWVudGN0bC5jOjE2NTU6Mjogd2FybmluZzogTnVsbCBwb2ludGVyIHBhc3NlZCB0byAy bmQgcGFyYW1ldGVyIGV4cGVjdGluZyAnbm9ubnVsbCcgW2NvcmUuTm9uTnVsbFBhcmFtQ2hlY2tl cl0KIDE2NTUgfCAgICAgICAgIG1lbWNweShjcC0+ZGF0YSwgYWRfZGF0YSwgYWRfbGVuKTsKICAg ICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdz IGdlbmVyYXRlZC4Kc3JjL3NkcC1jbGllbnQuYzozNTM6MTQ6IHdhcm5pbmc6IEFjY2VzcyB0byBm aWVsZCAnY2InIHJlc3VsdHMgaW4gYSBkZXJlZmVyZW5jZSBvZiBhIG51bGwgcG9pbnRlciBbY29y ZS5OdWxsRGVyZWZlcmVuY2VdCiAgMzUzIHwgICAgICAgICAoKmN0eHQpLT5jYiA9IGNiOwogICAg ICB8ICAgICAgICAgfn5+fn5+fn5+fn5+Xn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpzcmMvc2Rw ZC1yZXF1ZXN0LmM6MjA5OjEzOiB3YXJuaW5nOiBSZXN1bHQgb2YgJ21hbGxvYycgaXMgY29udmVy dGVkIHRvIGEgcG9pbnRlciBvZiB0eXBlICdjaGFyJywgd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdp dGggc2l6ZW9mIG9wZXJhbmQgdHlwZSAndWludDE2X3QnIFt1bml4Lk1hbGxvY1NpemVvZl0KICAy MDkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBFbGVtID0gbWFsbG9jKHNpemVv Zih1aW50MTZfdCkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn4gfn5+fn5+fn5+fn5+fn5+fgpzcmMvc2RwZC1yZXF1ZXN0LmM6MjM3OjEzOiB3 YXJuaW5nOiBSZXN1bHQgb2YgJ21hbGxvYycgaXMgY29udmVydGVkIHRvIGEgcG9pbnRlciBvZiB0 eXBlICdjaGFyJywgd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggc2l6ZW9mIG9wZXJhbmQgdHlw ZSAndWludDMyX3QnIFt1bml4Lk1hbGxvY1NpemVvZl0KICAyMzcgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBFbGVtID0gbWFsbG9jKHNpemVvZih1aW50MzJfdCkpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4gfn5+fn5+fn5+ fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL2dhdHQtY2xpZW50LmM6MTU3MjoyOiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDE1 NzIgfCAgICAgICAgIG5vdGlmeV9jbGllbnRfdW5yZWYoY2xpZW50KTsKICAgICAgfCAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpzcmMvc2Rw LXhtbC5jOjEyOToxMDogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgdW5pbml0aWFsaXplZCBb Y29yZS51bmluaXRpYWxpemVkLkFzc2lnbl0KICAxMjkgfCAgICAgICAgICAgICAgICAgYnVmWzFd ID0gZGF0YVtpICsgMV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+ fn5+CnNyYy9zZHAteG1sLmM6MzA5OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1bmlu aXRpYWxpemVkIFtjb3JlLnVuaW5pdGlhbGl6ZWQuQXNzaWduXQogIDMwOSB8ICAgICAgICAgICAg ICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSArIDFdOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+CnNyYy9zZHAteG1sLmM6MzQ3OjExOiB3YXJu aW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1bmluaXRpYWxpemVkIFtjb3JlLnVuaW5pdGlhbGl6ZWQu QXNzaWduXQogIDM0NyB8ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSAr IDFdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+ CjMgd2FybmluZ3MgZ2VuZXJhdGVkLgp1bml0L2F2ZHRwLmM6NzU2OjI1OiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KICA3NTYgfCAgICAgICAg ICAgICAgICAgc2Vzc2lvbi0+cHJpb19xdWV1ZSA9IGdfc2xpc3RfcmVtb3ZlKHNlc3Npb24tPnBy aW9fcXVldWUsIHJlcSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnVuaXQvYXZkdHAu Yzo3NjM6MjQ6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXgu TWFsbG9jXQogIDc2MyB8ICAgICAgICAgICAgICAgICBzZXNzaW9uLT5yZXFfcXVldWUgPSBnX3Ns aXN0X3JlbW92ZShzZXNzaW9uLT5yZXFfcXVldWUsIHJlcSk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KdW5pdC9hdnJjcC1saWIuYzoxOTY4OjM6IHdh cm5pbmc6IDFzdCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFs dWUgW2NvcmUuQ2FsbEFuZE1lc3NhZ2VdCiAxOTY4IHwgICAgICAgICAgICAgICAgIGdfZnJlZSh0 ZXh0W2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+CnVuaXQvYXZy Y3AtbGliLmM6MzUxMDo0OiB3YXJuaW5nOiBBZGRyZXNzIG9mIHN0YWNrIG1lbW9yeSBhc3NvY2lh dGVkIHdpdGggbG9jYWwgdmFyaWFibGUgJ3ZhbCcgaXMgc3RpbGwgcmVmZXJyZWQgdG8gYnkgdGhl IGNhbGxlciB2YXJpYWJsZSAnaW92JyB1cG9uIHJldHVybmluZyB0byB0aGUgY2FsbGVyLiAgVGhp cyB3aWxsIGJlIGEgZGFuZ2xpbmcgcmVmZXJlbmNlIFtjb3JlLlN0YWNrQWRkcmVzc0VzY2FwZV0K IDM1MDMgfCAgICAgICAgIHN0cnVjdCBtZWRpYV9pdGVtIHZhbFtBVlJDUF9NRURJQV9BVFRSSUJV VEVfTEFTVF07CiAgICAgIHwgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CiAzNTA0IHwgCiAzNTA1IHwgICAgICAgICBmb3IgKGkgPSAwOyBp IDwgbnVtYmVyOyBpKyspIHsKIDM1MDYgfCAgICAgICAgICAgICAgICAgdWludDE2X3QgbGVuID0g MDsKIDM1MDcgfCAKIDM1MDggfCAgICAgICAgICAgICAgICAgaWYgKGF0dHJzW2ldID4gQVZSQ1Bf TUVESUFfQVRUUklCVVRFX0xBU1QgfHwKIDM1MDkgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGF0dHJzW2ldID09IEFWUkNQX01FRElBX0FUVFJJQlVURV9JTExFR0FMKQogMzUxMCB8 ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KdW5pdC9hdnJjcC1saWIuYzozNTI2OjI6IHdhcm5p bmc6IEFkZHJlc3Mgb2Ygc3RhY2sgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCBsb2NhbCB2YXJpYWJs ZSAndmFsJyBpcyBzdGlsbCByZWZlcnJlZCB0byBieSB0aGUgY2FsbGVyIHZhcmlhYmxlICdpb3Yn IHVwb24gcmV0dXJuaW5nIHRvIHRoZSBjYWxsZXIuICBUaGlzIHdpbGwgYmUgYSBkYW5nbGluZyBy ZWZlcmVuY2UgW2NvcmUuU3RhY2tBZGRyZXNzRXNjYXBlXQogMzUwMyB8ICAgICAgICAgcmV0dXJu IHRydWU7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fgozIHdhcm5pbmdzIGdlbmVyYXRlZC4K dW5pdC90ZXN0LXV0aWwuYzozMzo4OiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkg cG9pbnRlZCB0byBieSAncDEnIFt1bml4Lk1hbGxvY10KICAgMzMgfCAgICAgICAgIHAyWzBdID0g MTsKICAgICAgfCAgICAgICAgIH5+fn5+fl5+fgp1bml0L3Rlc3QtdXRpbC5jOjM2OjM6IHdhcm5p bmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdwMicgW3VuaXguTWFs bG9jXQogICAzNiB8ICAgICAgICAgICAgICAgICBfY2xlYW51cF9mcmVlXyB1aW50OF90ICpkYXRh ID0gTlVMTDsKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgouL3NyYy9zaGFyZWQvdXRpbC5oOjEzNDoyNDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNy byAnX2NsZWFudXBfZnJlZV8nCiAgMTM0IHwgI2RlZmluZSBfY2xlYW51cF9mcmVlXyBfY2xlYW51 cF8oZnJlZXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBeCi4vc3JjL3NoYXJlZC91 dGlsLmg6MTMyOjIyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdfY2xlYW51cF8nCiAgMTMy IHwgI2RlZmluZSBfY2xlYW51cF8oZikgX19hdHRyaWJ1dGVfXygoY2xlYW51cChmKSkpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgXgp1bml0L3Rlc3QtdXRpbC5jOjQyOjM6IHdhcm5pbmc6 IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdkYXRhJyBbdW5peC5NYWxs b2NdCiAgIDQyIHwgICAgICAgICAgICAgICAgIGFzc2VydChpc19udWxsX3RvbyA9PSBOVUxMKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci91c3Iv aW5jbHVkZS9hc3NlcnQuaDoxNzA6MTE6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ2Fzc2Vy dCcKICAxNzAgfCAgICgodm9pZCkgc2l6ZW9mICgoZXhwcikgPyAxIDogMCksIF9fZXh0ZW5zaW9u X18gKHsgICAgICAgICAgICAgICAgICAgICBcCiAgICAgIHwgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CjMgd2FybmluZ3MgZ2VuZXJhdGVkLgpwcm9maWxlcy9hdWRpby9tZWRpYS5j OjExMzQ6Nzogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5N YWxsb2NdCiAxMTM0IHwgICAgICAgICAgICAgICAgIGlmIChyZXEtPmNiICE9IHBhY19zZWxlY3Rf Y2IpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KMSB3YXJuaW5nIGdlbmVy YXRlZC4KcHJvZmlsZXMvYXVkaW8vYXZjdHAuYzoxNTg5OjM6IHdhcm5pbmc6IFVzZSBvZiBtZW1v cnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogMTU4OSB8ICAgICAgICAgICAgICAg ICBhdmN0cF9kaXNjb25uZWN0ZWQoc2VydmVyLT5zZXNzaW9ucy0+ZGF0YSk7CiAgICAgIHwgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgox IHdhcm5pbmcgZ2VuZXJhdGVkLgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDQyOjg6IHdhcm5pbmc6 IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogIDQ0MiB8ICAg ICAgICAgICAgICAgICBpZiAoIWNiLT5yZXN1bWVfY2IpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fgpwcm9maWxlcy9hdWRpby9hMmRwLmM6MzM5NToyMDogd2Fybmlu ZzogQWNjZXNzIHRvIGZpZWxkICdzdGFydGluZycgcmVzdWx0cyBpbiBhIGRlcmVmZXJlbmNlIG9m IGEgbnVsbCBwb2ludGVyIChsb2FkZWQgZnJvbSB2YXJpYWJsZSAnc3RyZWFtJykgW2NvcmUuTnVs bERlcmVmZXJlbmNlXQogMzM5NSB8ICAgICAgICAgICAgICAgICBzdHJlYW0tPnN0YXJ0aW5nID0g VFJVRTsKICAgICAgfCAgICAgICAgICAgICAgICAgfn5+fn5+ICAgICAgICAgICBeCnByb2ZpbGVz L2F1ZGlvL2EyZHAuYzozMzk4Ojg6IHdhcm5pbmc6IEFjY2VzcyB0byBmaWVsZCAnc3VzcGVuZGlu ZycgcmVzdWx0cyBpbiBhIGRlcmVmZXJlbmNlIG9mIGEgbnVsbCBwb2ludGVyIChsb2FkZWQgZnJv bSB2YXJpYWJsZSAnc3RyZWFtJykgW2NvcmUuTnVsbERlcmVmZXJlbmNlXQogMzM5OCB8ICAgICAg ICAgICAgICAgICBpZiAoIXN0cmVhbS0+c3VzcGVuZGluZyAmJiBzdHJlYW0tPnN1c3BlbmRfdGlt ZXIpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KcHJv ZmlsZXMvYXVkaW8vYTJkcC5jOjM0NTg6MjI6IHdhcm5pbmc6IEFjY2VzcyB0byBmaWVsZCAnc3Vz cGVuZGluZycgcmVzdWx0cyBpbiBhIGRlcmVmZXJlbmNlIG9mIGEgbnVsbCBwb2ludGVyIChsb2Fk ZWQgZnJvbSB2YXJpYWJsZSAnc3RyZWFtJykgW2NvcmUuTnVsbERlcmVmZXJlbmNlXQogMzQ1OCB8 ICAgICAgICAgICAgICAgICBzdHJlYW0tPnN1c3BlbmRpbmcgPSBUUlVFOwogICAgICB8ICAgICAg ICAgICAgICAgICB+fn5+fn4gICAgICAgICAgICAgXgo0IHdhcm5pbmdzIGdlbmVyYXRlZC4KcHJv ZmlsZXMvYXVkaW8vYXZkdHAuYzo4OTU6MjU6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIg aXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogIDg5NSB8ICAgICAgICAgICAgICAgICBzZXNzaW9u LT5wcmlvX3F1ZXVlID0gZ19zbGlzdF9yZW1vdmUoc2Vzc2lvbi0+cHJpb19xdWV1ZSwgcmVxKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KcHJvZmlsZXMvYXVkaW8vYXZkdHAuYzo5MDI6 MjQ6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9j XQogIDkwMiB8ICAgICAgICAgICAgICAgICBzZXNzaW9uLT5yZXFfcXVldWUgPSBnX3NsaXN0X3Jl bW92ZShzZXNzaW9uLT5yZXFfcXVldWUsIHJlcSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KcHJvZmlsZXMvYXVkaW8vYXZyY3AuYzoxOTM0OjI6IHdh cm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnb3BlcmFuZHMnIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2Rl LkRlYWRTdG9yZXNdCiAxOTM0IHwgICAgICAgICBvcGVyYW5kcyArPSBzaXplb2YoKnBkdSk7CiAg ICAgIHwgICAgICAgICBeICAgICAgICAgICB+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRl ZC4Kc3JjL3NkcGQtcmVxdWVzdC5jOjIwOToxMzogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2Mn IGlzIGNvbnZlcnRlZCB0byBhIHBvaW50ZXIgb2YgdHlwZSAnY2hhcicsIHdoaWNoIGlzIGluY29t cGF0aWJsZSB3aXRoIHNpemVvZiBvcGVyYW5kIHR5cGUgJ3VpbnQxNl90JyBbdW5peC5NYWxsb2NT aXplb2ZdCiAgMjA5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRWxlbSA9IG1h bGxvYyhzaXplb2YodWludDE2X3QpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NkcGQtcmVxdWVzdC5j OjIzNzoxMzogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2MnIGlzIGNvbnZlcnRlZCB0byBhIHBv aW50ZXIgb2YgdHlwZSAnY2hhcicsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHNpemVvZiBv cGVyYW5kIHR5cGUgJ3VpbnQzMl90JyBbdW5peC5NYWxsb2NTaXplb2ZdCiAgMjM3IHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwRWxlbSA9IG1hbGxvYyhzaXplb2YodWludDMyX3Qp KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ IH5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zZHAtY2xpZW50LmM6 MzUzOjE0OiB3YXJuaW5nOiBBY2Nlc3MgdG8gZmllbGQgJ2NiJyByZXN1bHRzIGluIGEgZGVyZWZl cmVuY2Ugb2YgYSBudWxsIHBvaW50ZXIgW2NvcmUuTnVsbERlcmVmZXJlbmNlXQogIDM1MyB8ICAg ICAgICAgKCpjdHh0KS0+Y2IgPSBjYjsKICAgICAgfCAgICAgICAgIH5+fn5+fn5+fn5+fl5+fn4K MSB3YXJuaW5nIGdlbmVyYXRlZC4Kc3JjL3NkcC14bWwuYzoxMjk6MTA6IHdhcm5pbmc6IEFzc2ln bmVkIHZhbHVlIGlzIHVuaW5pdGlhbGl6ZWQgW2NvcmUudW5pbml0aWFsaXplZC5Bc3NpZ25dCiAg MTI5IHwgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSArIDFdOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fgpzcmMvc2RwLXhtbC5jOjMwOToxMTogd2Fy bmluZzogQXNzaWduZWQgdmFsdWUgaXMgdW5pbml0aWFsaXplZCBbY29yZS51bmluaXRpYWxpemVk LkFzc2lnbl0KICAzMDkgfCAgICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kg KyAxXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+ fgpzcmMvc2RwLXhtbC5jOjM0NzoxMTogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgdW5pbml0 aWFsaXplZCBbY29yZS51bmluaXRpYWxpemVkLkFzc2lnbl0KICAzNDcgfCAgICAgICAgICAgICAg ICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kgKyAxXTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fgozIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL2dh dHQtY2xpZW50LmM6MTU3MjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZy ZWVkIFt1bml4Lk1hbGxvY10KIDE1NzIgfCAgICAgICAgIG5vdGlmeV9jbGllbnRfdW5yZWYoY2xp ZW50KTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5p bmcgZ2VuZXJhdGVkLgpnb2JleC9nb2JleC1oZWFkZXIuYzo5NToyOiB3YXJuaW5nOiBOdWxsIHBv aW50ZXIgcGFzc2VkIHRvIDJuZCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxsJyBbY29yZS5O b25OdWxsUGFyYW1DaGVja2VyXQogICA5NSB8ICAgICAgICAgbWVtY3B5KHRvLCBmcm9tLCBjb3Vu dCk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2Vu ZXJhdGVkLgpnb2JleC9nb2JleC10cmFuc2Zlci5jOjQyNDo3OiB3YXJuaW5nOiBVc2Ugb2YgbWVt b3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KICA0MjQgfCAgICAgICAgIGlmICgh Z19zbGlzdF9maW5kKHRyYW5zZmVycywgdHJhbnNmZXIpKQogICAgICB8ICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KbWVz aC9tYWluLmM6MTYyOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnb3B0YXJnJyBpcyBuZXZl ciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDE2MiB8ICAgICAgICAgICAgICAgICBvcHRh cmcgKz0gc3RybGVuKCJhdXRvIik7CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICAgICAgICB+ fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpsaWIvYmx1ZXRvb3RoL3NkcC5jOiBJ biBmdW5jdGlvbiDigJhzZHBfZ2V0X2RhdGFfc2l6ZeKAmToKbGliL2JsdWV0b290aC9zZHAuYzo3 MzM6MzM6IGVycm9yOiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVy ZW50IHNpZ25lZG5lc3M6IOKAmGludOKAmSBhbmQg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgWy1X ZXJyb3I9c2lnbi1jb21wYXJlXQogIDczMyB8ICAgICAgICAgICAgICAgICBpZiAoZC0+dW5pdFNp emUgPiBzaXplb2YodWludDhfdCkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCmxpYi9ibHVldG9vdGgvc2RwLmM6IEluIGZ1bmN0aW9uIOKAmHNkcF9kYXRhX3ZhbHVl 4oCZOgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjE1MzA6NDg6IGVycm9yOiBjb21wYXJpc29uIG9mIGlu dGVnZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmGludOKAmSBhbmQg 4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQogMTUzMCB8ICAg ICAgICAgICAgICAgICAgICAgICAgICpsZW4gPSAoZGF0YS0+dW5pdFNpemUgPiBzaXplb2YodWlu dDhfdCkpID8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KbGliL2JsdWV0b290aC9zZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX3NldF9zdXBw X2ZlYXTigJk6CmxpYi9ibHVldG9vdGgvc2RwLmM6NDg1OTo2MjogZXJyb3I6IGNvbXBhcmlzb24g b2YgaW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYaW504oCZ IGFuZCDigJhsb25nIHVuc2lnbmVkIGludOKAmSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiA0ODU5 IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhzW2pdID0gKGRhdGEtPnVu aXRTaXplID4gc2l6ZW9mKHVpbnQ4X3QpKSA/CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KbGliL2JsdWV0b290aC9z ZHAuYzogSW4gZnVuY3Rpb24g4oCYc2RwX2dldF9zdXBwX2ZlYXTigJk6CmxpYi9ibHVldG9vdGgv c2RwLmM6NDkzNzo1NjogZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBv ZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYaW504oCZIGFuZCDigJhsb25nIHVuc2lnbmVkIGlu dOKAmSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiA0OTM3IHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsZW5ndGggPSAoZGQtPnVuaXRTaXplID4gc2l6ZW9mKHVpbnQ4X3QpKSA/CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsxXTog KioqIFtNYWtlZmlsZTo3MTQ2OiBsaWIvYmx1ZXRvb3RoL3NkcC5sb10gRXJyb3IgMQptYWtlWzFd OiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgpsaWIvYmx1ZXRvb3RoL2hjaS5j OjkzOjQ6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAncHRyJyBpcyBuZXZlciByZWFkIFtkZWFk Y29kZS5EZWFkU3RvcmVzXQogICA5MyB8ICAgICAgICAgICAgICAgICAgICAgICAgIHB0ciArPSBz cHJpbnRmKHB0ciwgIiVzIiwgbS0+c3RyKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICBeICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4K Z2RidXMvd2F0Y2guYzoyMjY6Mzogd2FybmluZzogQXR0ZW1wdCB0byBmcmVlIHJlbGVhc2VkIG1l bW9yeSBbdW5peC5NYWxsb2NdCiAgMjI2IHwgICAgICAgICAgICAgICAgIGdfZnJlZShsLT5kYXRh KTsKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5l cmF0ZWQuCm1ha2U6ICoqKiBbTWFrZWZpbGU6NDI0NjogYWxsXSBFcnJvciAyCgoKaHR0cHM6Ly9n aXRodWIuY29tL2JsdWV6L2JsdWV6L3B1bGwvMjYzMgoKLS0tClJlZ2FyZHMsCkxpbnV4IEJsdWV0 b290aAoK --===============8295016643073909907==--