Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kIrPq-0007DF-9K for pgadmin-hackers@arkaria.postgresql.org; Thu, 17 Sep 2020 10:45:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kIrPo-00031y-04 for pgadmin-hackers@arkaria.postgresql.org; Thu, 17 Sep 2020 10:45:24 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kIrPn-00031q-2e for pgadmin-hackers@lists.postgresql.org; Thu, 17 Sep 2020 10:45:23 +0000 Received: from mail-yb1-xb43.google.com ([2607:f8b0:4864:20::b43]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kIrPf-0008Vd-IJ for pgadmin-hackers@postgresql.org; Thu, 17 Sep 2020 10:45:21 +0000 Received: by mail-yb1-xb43.google.com with SMTP id g96so1322812ybi.12 for ; Thu, 17 Sep 2020 03:45:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=ONpRA2nJtPlbU3jw7kBEpOVIOLbxqnYGxpJM24WJJHw=; b=XP8kH2Upb3MH57KSgW99AQJNOK8rVrZXsSvOaZll6amF0p1AzGZQQIjL9M/TsnyeFx BIaPtfB6HQ0IJR6CKz2RwJQsO+rDm01p9z4yfe1kOP/n8JGU++BEBlPAJz57Fwat7RgN b/QGyNccgI89C+OwIszutb3eGKC4qjj8zWFdx0TQ1PbjpyfIAXeuFQFooodeBO6FLO1h V0lvVs3TMyUsRKuOdAJDY6ca1hRxx93H3f1rQdqSVSxcNRMTd2a0arZmsydKat+3nvso MIxwtW1DG3qfv4CTJtNYX07dtZ7wpChESjIL1P3MjjO9YJmK9c5xhjOgvyCPpnrIC5lJ 4iUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ONpRA2nJtPlbU3jw7kBEpOVIOLbxqnYGxpJM24WJJHw=; b=GzYWRfDQs/nAlmEZav+WHkWzM1QGYcoM/0sXUm3ekCYqrRCYieunoEzaV562JRjZKY 32tUD7qSqejQeyHFtOHH9AICIjp0jE/nrLOoGE2J5aq/qzkW/CBVgiJReTcUhcghAElb PRWHvrx64tILmb3ybvWzfAfctA+ka0aYoGdY+yLCUXwtxILyI7U8rOhXcqAzIG7S8cN+ D8O/Ql83vLXhCXI99X00BGpxIxjKm1WPK/fiaASF3G0BqGaMrbxCbt3i9RPnVZg3OSvH bGsd0P8NGV2iBwDwySOHGhC0u1kX64sclZ6liJMddZMgZtJtBOpNX4jP5QbijD5B+pL1 4V5A== X-Gm-Message-State: AOAM530OrW0HR4qLQ58YTXmghF+PW3c+F81jvQc/puXW1hK+mFG0LX3B ksxh0Cr4obOI3dYVDB9wwDgOyimqEKbwMjDUI9cGMYW9gy2HRxdysJUE8+ej42msgoeweaeAsP3 N1akB3ZSBGffucqVQ9SnrGaLCOu79oAUHrVyS1v1aHXXyrFGko0eAzp0Sws+AjFhSrxqt6speoi 7YKOJadTFVxG/IfRWZsjiaAhvCs+3tJ9N2K/cKyzCl/f+3AaL6VUq0kognJ5rY8ci/9xPb X-Google-Smtp-Source: ABdhPJx8NlhJ9BJZFBfryxcU/73oyEn6vK4a7N8JE+pMEvnV7WQTHtmq4XdOpPbxfNZldk381dsNBPQAdpTANY6TNyM= X-Received: by 2002:a25:7154:: with SMTP id m81mr18684676ybc.155.1600339514292; Thu, 17 Sep 2020 03:45:14 -0700 (PDT) MIME-Version: 1.0 From: Nikhil Mohite Date: Thu, 17 Sep 2020 16:15:03 +0530 Message-ID: Subject: [pgAdmin][RM3794]:Allow User to Change Database Connection from an Open Query Tool Tab To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000453e3205af801435" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000453e3205af801435 Content-Type: multipart/alternative; boundary="000000000000453e2f05af801433" --000000000000453e2f05af801433 Content-Type: text/plain; charset="UTF-8" Hi Team, Regarding RM-3794 allow the user to change the database connection from an open query tool: I have implemented the feature and also added documentation for it. PFA patch. -- *Thanks & Regards,* *Nikhil Mohite* *Software Engineer.* *EDB Postgres* *Mob.No: +91-7798364578.* --000000000000453e2f05af801433 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Team,

Regarding RM-3794 allow the=C2=A0user to chang= e the database connection from an open query tool:
I have impleme= nted the feature and also added documentation for it.

<= div>PFA patch.

--
Thanks & Regards,
Nikhil Mohite
Software Engineer.
Mob.No: +91-7798364578.
--000000000000453e2f05af801433-- --000000000000453e3205af801435 Content-Type: application/octet-stream; name="RM_3794_v1.patch" Content-Disposition: attachment; filename="RM_3794_v1.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kf6oqis50 ZGlmZiAtLWdpdCBhL2RvY3MvZW5fVVMvaW1hZ2VzL25ld19jb25uZWN0aW9uX2RpYWxvZy5wbmcg Yi9kb2NzL2VuX1VTL2ltYWdlcy9uZXdfY29ubmVjdGlvbl9kaWFsb2cucG5nCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu LmMyZjg3N2RjOTc3MWI4YjY5N2M5MjU0MzhlNGFiYjRmNzQzNmRiMzUKR0lUIGJpbmFyeSBwYXRj aApsaXRlcmFsIDQ0OTQyCnpjbWEmTjF5byRpNS0yKmpPTXVgYDA+UnpnLVE4VVZjWHRnQ0VJMCZy Y2g+fWg2SiY2QWNYdkw9PyNhRlh5fHZ6Kwp6d085QTw/ck4jKHM7O2k4MzBJSTRNfW8oTjJMSiNf a2BmfEgwMDRMfTAwOEN5MztrQWQwQkNVczAxJUNWIW9tdVkKeiFvdEp+aiZeMjFZZn1JfkIwTnpZ TW5pY0pHZ0RoaChqb3Y+MDxJJlJsK2B+MFJTT2NWQihPTzZMIyU/NDNAbndhCnp2bkpGbVU5UUgy Pk5gPCZiJUJ8eyZzTXFeVWFKfWtpWmVlfHQmN3s/O1B6VXB5aWRKWG0rcVoqTSpPN0FQQk9wKgp6 PGJOZylVTVR0aTtQWFErZihJMDRuKExpMF91bW5OUSF4TnF5UUFxOTF+fF5vODM5OEF1V2xZck5X PSMod2RyWXgKelMofnFfaCN7bVEwS2YtYDRWb013MSVMeEh6JiVgbW9GMzkyOH5WQ1k4TnQrJkNV aX4kODZ3IWQ1Tz4kJmpFVkt2Cno8ZUpTaG48U2poWEZNPXMoNERzakdOODNXVlQ9bEdPTXF9JDlK Tmg0MWRTNWxEVFdGSSpYdkV2RH5YQ2l7VkFvcQp6Jnh5bn1AUF9ITG82eUx3aFkwM2Z5Qz08e0N2 Vj9oIzR9c2ReamkkIUxQPXY7Rk1kZm9lJHMtU2pAQEFwKSt7d1YKelJEdjEmPD9CKUhnQTxsQUxD dy0+QDl+TiVTJGpgRTIrMXlrMzZ2T19zP18hb3ZTTkt8dUota1p0NyhmUiFiR2EhCno/MHEtK0c+ MldtTjNEKGFKcVd1Sig+WDBhSGFTMHxPKDdwdmUjKV5qU3poaWxVaVo4c29qNys+SDJ2dnFTKS1s bQp6JlBTKkVDLXo+XzZ+T0RFayVKT2R1TF4qe0dWYTRpT2U1WFRRNVlXSzZTI09JZyZIR0sxbDRp Vz11X3Y1ZitMdWMKeldXdWFaOGUpdytxPUh1VClDITFPayU8dT4rY2p0X1gpcXs2ZmRAZ3lYbElY YD47Y1ZzQUdTWkJvUEVhRkc9Zz9+Cno3eENpPFltMmNCRFheQUp8MHVKWmZrbHdKTmpyKENzLWJA e19lcjgqMT1AJk5SNTkwO2o7fER6UDdhQm1rY3wzXgp6e0E2I3FgT2J4U3p0elV+TkNDdlBLISRF YHNreiMybFVSZmdIbzhjPFhVUyRDenxSOGt3KmM/I0w2Kj5GYDhQMlYKej4mKSprZzd9SGl6PCNj XmtIMDlzYHhOKmZBRVklM0xOZDlIIU1xK0RmUVRXWDE1Nk1UeXtPJWNlTVI8XjI4K29TCnp5RmZW dyRGfTBMS0IpMEs7N354JW9Cam1qdUlVTXApTjV+cSVAfjAjPS1mQVlNJDd8PDJeZDQyPEZSS3VW TWpnMgp6Xjc+JmMjSnZ1LVA5LVNYJXFnaXZgYndVfUM7KVgmUip6JXVsZmlmYjtPc2I4OzZiZXdI djFOeTQjdktPQFVYdTIKemVZfW8rJUNXKHIlKnAmWW9kPF5idTU/Rj5KQXhhazA1Szw2O2FnYCQk emtweD8/NyhsLXQ2XjZaeUt3SD5kRCRiCnooQFRyfnY/bEUxbyppdlgkUTstYWhBVGRJNUo0WDww RChKeylvOGJkJSN4PSRsPD5NTDJoMHhjYEZ1LXxhRkdBJAp6eW4kfnpRS2ZtZCl2ZVdVRG1wLURx Rig0NGRRJmIqSGQpJVNILXJaSDNJNE1OUGw+QERMc0QyPDcmcVgrRUBGckUKekklNTh7TExrTXdZ ajNCZzFPTDxVO1VWe3ZEQXFIV2VeJGpobzRVXmdyKFIkYyMycGBCaGZhMF43U09yKkxEMWgwCnpn MTAkT0NnNVc9bHBGJlkke0daPzA0eXZfbyo9I2lJTTlIIXliaW40b0hHVTlFWUtxeEJPJUR0Zks+ eUFFdWd9SAp6VmgtWGEyLStTU0FFcW5OWF5wZlEtblFvJjFlT19PZGpAPykzTShZRTJNZlV7VDhg P35gfkY7RFA2OER6eHxiTUUKejB7M2g5N098MkBfPXcwMys0Y2F1MnwrRFhpSi0zI0dEJnxOdmpu I3pkUHxIbXNVSGNFMCVBZHFTVFdScmYzKDItCnpDenZSKV87RU4zV0cqT0xGfDJJcWFqQU9UPCox cHd7dDJmJlJoMUF2YVc0a3tlRks+aFQmSkVuWV49emgkckB7IQp6PStWQlJZV1E7OHZZeGF4ZWpn bFZMKXwmQVo9YWQlRjtBZHA/SitYSEFlPlImUyRpe2ZCQ20kZVpkVGx4S0psJFkKemBIXyNxP0xl dnJAJnx9eGl3fV48ZGB2KjJmP2I0emZ1bVRySnNAcjtLP3w0M0M3WnhIPjA+ZFhiQVdiV2JieFQ2 Cnp1U3VQZ15PaVV3aUlYViZwc3F3cjhRbnxxeztRT3ZtMUxWX3plS1ZHTEI4QUQzZzZFTTtTMCk5 TkRxRzhnMT99PAp6UGB2bmZmJG01em5xPyReVWV2MT9vVW9yemtZSk5RSl9JRU5ROz0qYTtGMXJt Nmtwc2o8dU41P05wU3QpOHU+YWcKekl5eVFrSV9zQVBMSElBNzQ1PHRzdHxGSXshfWNQYU5nV0Z2 RW9mT3VaSnxYJHRIUn57aiRGX19AKWZFbFM0VjdUCnp1JTBsI1YzKVhHKGVPQXk8dUtefCFMTnlt JCVAJkl7NzBkZlQ9U35faVMlT2lhYGhaSGZ6dj59V0lvWVYhS3x7ZQp6KntsbHYwelprQFJeSiR+ OSlvPHJaLU4yZWplPk5jJUBIJGt6YWtQS184XjZYQXxOKjVXLUBwV2JZbkxuKGd9QmAKempMcjNO NERLPEk7JlM0aWV7cVomaW5fc1d6O1ZJRCF9WT1gIWpAO1FXYTJYX0ghX2xlQSYqSE4oLX5TQ1l3 dnF2Cno9cnd7aHw3PGFrT1g0Qy1odlo/IUgxKGxaIzYtIWdjNk9fRDVKb3UoKmJMMHZjTFlJJCtS VTAkQmore2hPM2QmXgp6PDxlWWBTYUVSflIyYl41X2ctP0VNaWlafUUrSD4qY0M8Jncoci0wMXZf IU45WGxBcyZScXhmQlhvWUkqWGpSdG8KelNrNDF+Uj5Sa1IpdV5jREdRMGpfSTxpckhwX3kyJnJx PE5aOyohdVg9XjUjZz9vdCglQ3RFOFVLQnx9QSl+S1QwCnpYdyFJMXdUUVdCJVQzK0o9Km9PLWQy Qm5jZF5DUyFedkhUc2JoT0lGIUlqVkRlTEI4Jkhaez4zeDJ0aWFhcD5NMwp6ZXU4bnReMFE9Tkta MUU4XzR3T3ZgfWd9P2dvQk1eUXI4bTRtYkhsMWhoYH1xX1UxK3VHUT4rZmFzb0JwcWdLNHAKenM3 PHZrd0xAMXc0ayExS3YjO3cmSl5FaiZAIzZUNT9tc0omQHdJdWk/WTd4RGJANUt4WnwlaT5CdWZ7 Mio8Umx1CnpJVi0rcy1qS1pnYWB0VT1lKCEjQWN2XmFeVmQ1fjl5fnBkej9kPU5mTnx2e2AmbGFC eFVxK3tFWEtMcjZQZ1B5aQp6LTEqVlpCYWttLW1xSGgoWmBrdzc8S3JGSCF8Q2xTYjJsdzl5QDdm K05ISUUzQihFe2I2V2FvUDBBJmZTN35UbFYKejZ4cyReMn0mRjBHTj4kd0QwblV1Uj02PllYUHZ7 emsrWTRIVVQ5ZihJfG9MMSkkekhkdTZmaUBMJkhRdlEkeEdpCnooQjFLX15+fiFYK2RJeTg0ZXly WVJecGdSKUFMe3pDbHJWQ0RsY2k9IVMjQDt5eXtRKUgxbzljZkRfPnBocSorKAp6JkFrSzBYP0B3 b1Zsa1NXSjk2YmQ8dCZYUCRpMyRxWUpKTzVaZU95e1VXWVh7PUkmfSNqZnA2fSRmVHMmUV5temAK elAmJWtAcjAwKzQ3ZjNlNlhNOVpAcV4wenYjR3ohUnZ7VVg7UXFNMiNpXjY4TlQ1NGdiVzBCTXs9 QXp7Tj07UCUlCnpjNldBTyo2KEtHWmt9TUtsZks0YnhEZD5ZSzEja0wmJS0yWGh2cWpLQVJ9YUV4 bD1oM15UZ3JIK0M+cVcrYHcwKwp6LVRsNyY5Uz5HMHRVNFVHWGg4MSFUI0VVQ2RGdEElOW10Klhr JG51OU5hfGkpdmBVa1ZFbUs+U2xmdERZNCtqdEsKemktIXk0JVVqRz8xU1NNek51JmFnJChnflZf IyM9YDxkentSKF5BUzhXaXxRekI9Ty1VWVNmPlFxUSpKemMtcGhuCnp4aFQ3b1NMb3JYTn50e0FT eHBaRGZZNnxQJkBYd24pSn1fc18+SXBTTUNOUEVrano/VVQ0VWVYRkpFWVdtREFTNgp6JjE9P2FA NjckdVdHRkpXLUNEfUhFV1coaGN+O3hkdElnZklld3c8TU1XRGVQKExGbkI4I3VMO2M5R3NMbkMo S2oKel45MmNjPWE/OFNsOCVYNVZmb09aQ3VQdk8oTn0kWFpQdXYxSjM9QXpEfUt0Y2xmMyFiU2lt UkVQRGUlO1B1SkdTCno8OWAzXkp2NFFNSSokJmduZHZqdE9saHJabUFicl5Qdk1VO0JNfE5aP2wh S2ZzZl84U1IkSWdIaklSIWJvPzhQfAp6ejImTHI8I3BzdCpEfj52Sjx4Y2R1VD5UXmVUZHk+aiVN RTVTYjhoeiE3fVYxcU4yQSNSR1l8N2RmeFJ3ezNlRVYKemFrTWVuP3pMWEhSayhySyhBK0FAUElp PjtRZGluKUxkKD08X3ZGaG0pQHxASHUtdkledXtPRC0kKHZ9ZFh6QkstCnpYZTZ1aElBJiRsKGNk VGcjUVpVOW1kRkkzcmNDXnhYeDVHV0dvREhtRnpQcj1qS35yUVpeM21wZTVVVjstXmkhcQp6KHQ5 XkJuS3pZKDVQZF5IJXtLJDB1e3o8KGJiMnh6JlFEc1Q9Knd1SDxaNWc8SG58IUViJXtOQlplWitB KXFuenUKelBfb1lYbyVVIVJ0JFI0TG9VVjV9Iyl6SXFBRGU8fl8td0FSeXk7bz11RzszTl8pNEdt M2Y4M2k+QkRxaXVIakZJCnpURlBxRjdwcCQldz5qYGB3alA5QF4/fW13KzRXYmJUQnA2ZFA2JlF2 KVY0amlRSjx1KW1jMTxCLSohK0RPfipZTgp6LWo0QjBjLXVlYnRnVDspTX5EK35XQVlVOFNHcFRy PWtKdkNnTCpSRlduZzdSYE9UY2ArX1gyOVU3LVo9JnZlOykKem8/bTg+XytfM0YmTXUhVHowe3Nv e2o4R0ZLWHlPOVpZYGtiKys5ZnpXYmQjV1VQPGoteXc3fW9uRl5haWtAcWF9Cnp7b3FzbndEblo3 P3t1fXg/RX5mRyFfQGgwKWVvY0ZLKTl8Qj85S2BYYUshP14jIytCT1l+VDRjT2FGTiViME1iTgp6 Pz87LUtWYj5pJTBmemg5QSE4QS1ue04oKE42Mjw9Tzhoej4pISkrLW5YVGVlRWlXJk40dllJSE4m RGZVbW5qJmEKejFrUFhucU8pQGEkO1QmYWpvXko3b1dMYzxzSURAdGgmJWdTZEZOcVpJKDB3RjlU Q1BUP15QTG8qS3EoQklRXk47CnpFQiZLKnhEfVRNLTBhKH1CZ3NAbChvOXdzSz1xYn4xd2V0SjBV K0xUVX5mTUY3JWwrbiZwWkdpMSV+Jlp5Yns9Xwp6enVTTlYwQVdBPzxsayt5LXFKc3cqdGhvJGB0 S0N0WWJYSGI/RjtTZzRiQkd0ciF7elJIcEQtOUZvKEF+ZlN8SWwKenF+dSR3WjB1LWlZVV5aUz1a dWR0KERZVVNYRF59WTFPUS11e05ufGFSUWhvQ2M1UU03cyVTV0MkaldkVCt1Nl89CnpuJUVoYyh6 KUIlfElyVkMkRFFqZlloJnRjTmJHSzdaUl5ENCZQKTFkMyRDflBBSTA+ZiNENncldyZFcSNrWDBa Uwp6d3NTTmtXfkYxSFY8Nj4mQ25oSDVhV3BhR1FXNnBTOH5wOHltKDtAOSpgQUFALXAkUjgmVylN USZlNUVuayZ9fj8Kem9gSCM7aUhZe0QxKzl+WnQrU3khdCpzTjtVIURCWmtCRigwdV9Nc2w4RTl1 cXs3MWlyTXNfYUZ5cmlVbTREX0dwCnp1WCZvZjFPRlkjKjZIdE15KUJVYmp+YVNMSXRLZHg2UFBw NT9FZUR4TjZsWWdmM0VBVjtkdVYmajchelkpS1M+Wgp6Iz5VanZuZVNoV15aWXJ8ZV52ZkYmJVhj X2ZiT1EmOFh+fHFOVDtfb0BpRFM2dT4xfTd6ZzdRN1B8YmZxSXNPfisKengwPkd8fDV5Vzt5ZCZe IXFLMURVayZsc3d7e0w2QHp3TVB3byRSYiN7JUVkaDN2fWpWYFd4aGJpdk5iPHE1cCN9Cnp6dFFR aFA0SCp3K2ItYVA9YmBgNGpeY3kyS1JgWU4wMGFQJUI3IVJKVWBNKHoyQ0F4KWdwPXI9MnB2SnJz Q2NVSAp6LVlLWWJ1aSNtb1RHPF5RdzZaeEx4ODZMdiVfMWxMakwwUz4xX3pmcT9HUHBveklxdkJy O3E9cGJMITsqX1lyYygKejspSWdmezghNnJUZyt0Iz1lRjhucXBgWG5EYH57JSYpTX1+WG9pME1U NmJvcHFNPD4yc3pDKCljPk5yQ0BmRDRMCnooaHhed0UwOClOYT8+QXIyJUl1SjB6UkB7Z3Eobkts Q25+bkRuTGZeUT5DXyYzOGlwMURnemBVKnE7ZCVSRGRPPAp6KmZ4NHx2eHc1eTY2anliQTdXZDcw dXh9RTlCRXIyYjkyPT1APzIxMXJYVTx4RDxZZEU8aUMxPF9xIWpOKmYyNksKejc4OWEqa0hMXz47 Zj9XUzdZayRqWUVeeEZqJWFyeFheU09kamZxNzI9U1VQbk00KV9KMVAkOWlMO1gxLWhYZzkxCnpw WmF+b2ZGVCRiVFp3a2lGTV9FYyZzeilteEZkfTZxPFpFU2AtTFNfbVZeMUt7Uyt9YzM/YyRpan1l U2xnWnU+MQp6VlFsYkZlLVo9T3pZYFQhJGRuQzVqND8+X3QofVEpSGFKKUokMn0hfVJuWnVVWF8r NTAxIUtSOXYySWViYXdsKTMKelBfXyM0clg/TntPekNCdCtiJGZKNDUzbU5PelYtSXMqaEQ2VUkj JXtiKjgoNGltTj1MbVRNSm1SMTBzaj9gd15rCnoyJnlXRlNYe1MjTylIbVYrZ2NeOCN5YyVqY1R9 VjJEKTZZUEphT0NEaE5RZD4tN21GPndxYjRnSjZjekd1OWxmKAp6dHE/Zl8qQC0/cVo/ZnZ9Uj4x aXtIak0+Kj9OJllaeFVPSENvfn1QMkJec2VLRE9GRjNSPEU/TkxleVNDbGAzcWwKempNaVZFNigk KDlJIWR+cU1eeExIeHZrNSZlbG5ea3RJM2pVSG13Yy1jclZ2dUJzblBoczl5U3RYO3MkVHMya0pI CnpIdUckTWNiPi1Gc0M1bjszYCVUaz47UDhlKXU+bGBAVjdMe1Q7ZntrKzhxcm92c3xAJWJUUlEw Ryh7O200eHFNWQp6d2RpTnE0O3pmaFZ7T35RaXVYXnVmbVR7cStSTn40N3AjT1lLZmkwb2hMVT0m KHdmIVJRcW0kXlR3aFEqK0A3WlEKejJ9QHpKOXI8PUAhTnp7bGZBNEhrRz1tWXM4bD9SZF5waEV1 PWAtTUc1T2VkaEJnblZvZFdmfkVNIVVhaUIrKDBgCno9ZmkkbHMzP0RsK2goZlF3JGlUTVBtUGQt cUFHNnNoT3d0MW90RT8pJn49aT5yUGl1OEF4K2didUdPPT5rc1gyRQp6TzJjfCRWeHFYTng7T344 JSpJWXt4V2wyQCkzIXN3TU10eGAtZkNGMz9aTEpzb2xkJTZ6VmZZfjh4e2hvb3ViVkgKekQ9cCl5 UFZKTXpvWlpwS0w9VHNDNTFUUTFIUWxJWj1PTnt0MXFhYWtoSWkkZTNvfjxOPlh7Yj90KEJ3eVpA N3ZXCnpjcz5aJC1rQjl8OyFuRyZFMl56RXZlVUtlRVB3RUl0VWBLUSp6PHdzQEs3RjZyTDhAMDs/ c29nP3Myam87ZFJJWQp6PDA7ZyZDfD93KHpQSXhTbzg9NiNIfkhUbDhvTH43S14heXR1MXsyeXUt N0QoOH5GV1NqemJMU2ZkenxnbDJ9MVIKekJNMys4QjZqKmpuSStDI29mIU95cUFSPUU2Pj9FVDR9 USlsO2ZRP2ErbGQ2ezdsdVl7KjU1ZDJFbjVALWlGKWA5Cnomcnc2bW8xRWRjJjk1KDdWcio+IUlV T0VsKVRjZz45KTYhaFZ4Ujt8XyZLOWJGfm5RWjZgUEs5TkZsXypRaEhzRAp6anJWdVhNK31JQz9N QV5LRy0yVDhDJGk8bm92TUxydSt4ZSRAPF93dHA7X3d3N0JnQXIydDBvdnhMT1ImeiE+WFEKemh7 blB3MUVZMzRMWnJpJFFxb2Y1M2RNaC1YWDZVb08pRztfYzNGLW9Yck57Zj4pY3BiTCVUKjtgO0t9 cXtjTmRgCnpgWSojYGdUcHxCV3MrYkxMTkt9T2J3I3R9PiRfUjU8ZGNYcD0xQG1nd2VVaVk0Z01N fVBfPTNyUHYoRD8oO3c5cQp6WEVpMWJBXk5VZT58SjZwRypAd3VCXkZ7flIhWGNIPjFILT1XfG1J N25POTxTJSl5d0o5c0BMZ1pHfnlZei1LMz8KejNOKnFWOWEtfCQhX3BMYnZNMkohMH5hR2lzR1lP KGpDRm4jPXJLOVFgSHUrYzdYMGpRUGU8OyVJTyR8elVzVEFGCnpGbGRrKlR8dkRCST4zOzNAdG4k RFlVan52YUFCdWlQNz1DSz9FJjVlZygqTy1YbUl0PnohT0xoUVJoJGlFR1MyYwp6eGQ0eG9iZ3c0 dHRWJUZYckdQNUROd3Reb2F+KkpGK1d0bFhEVFhVfVU+XntiTStQVno1PG9TUDd2M0w/Zkg8PyUK enJCdVBQSlUtU3Y0UkNFMWdOZlU5aHhFfmRZaFNrejduO2R9OXZVbCE5Z2clOEo9YGs0YTkrdXI/ NlF9QXtuUksmCnpnSmR4UDcmUCVUbT8qQGlJZElGfndKMn5GQGNNYlhjNz85PmxjfT0ydHdETzNg PjxIfEMtaWwtMGZzY01nSX0peAp6Nm9CdTt4ZiRsWG5DfEMjZD43aChXb0xJejVQPEQ1NU1Abmc0 fCgpSmBPKy1oKEZ5d3owXztjfUJxfU9weihWYTEKelBQaWc1VFBTTDVJYXx5Jnh8fD8kdCUqITJH IzhBRGZaTjIzYjJPOFd7UU1qbUhgUz8lZSV8XiQhKCtRTj5aO3BuCno2U3pLdVZYMDEkSXE3c2tu YjtBd04zUWRBTFoofXcmelM7WXJ5PlZwTHhxYDVpN1VQKnYtUVVoYTd+V1hLMDtwUwp6WUkxdC1z bHslNXRePD47WkRrfkt3PmZnOGJnNkdqYihpa1o5UmVtVXNwcX5POXc7M1E3WnpOTlIoS0QpTWZ7 KnwKeipPRjdrVmwtWmVXV2JrUyZiVSp4Yld0cmc3K1JnSylYVTdhPFNzX142clZ8dEB9Mk9lSihe cnhQUGt6K3pBXiRyCnowVzw+TSU4blBHbDBjTDR2NzlxVl8qV19OYGAjJGthU0E1RnJ6aiVHRSlK KTJ2PjJtQShaMWhPbSp8OXFDT1Fmagp6TFl1cF43IV8rbjByeyl+JXs3Py13JEI/YU5FUCZuJDQz OTBLaUpAXkx8fXhRQXk0UFRNOGk3WnBrQ2FtZUtuejcKejc0UWh5UyM5RU1LNmpYXzFQTClfeUtZ Pk9HclRoeGIjX3ZHcCNYVTR5Mzc0X0Q+KkV0eVhQd3A9aFpyKkBuQX0pCno2NkxtP3RNTlQkQWVJ KyRRLUxYSFg8MVhIJFA9SG5fP142UmR8an1GUUU1eEk3TnBHPlo4bmdtTn1WaXZIM3YmcAp6VERk bVp7PUkjU3E5NF87VyMzUHcoS2AqVFVTS1JBWVNGJlQjdGozfFREMXpnVnNzPkxuPStNJjBQI0xY YXYkVG4Kek5SYFdUVDc4UCErTDBsdEQwbDZDYWl2WWs+NGFgRSZgNE03VFBuMilsOEVFKmlNNkZs NzVPIVBBPks3I0UmOCM8CnpEM3I+RXFLc01YT3o4MGsyWXhASkhVV2ZRMW5oTmBVVDAtWHd1LUBs X1o9eEk3SFF1U3pLaFVpSikjUjwmUXJJTAp6NzVRczleMUQ/PmckJC1UPUEjcjdwNGhwRjVsJX5l JklAa0ZVS3NRd2J8c0VXWCQpPVdHWEMwXj8raDxMJGk0K1oKelgycFFYZT57fHJoLXlJfHFxemgh Xl5PVmc/cVp6fUp2N2BScn09Jk4xX0IxS0k2aS1rV2pjfEQmQ1hMNiFrMzI2CnpmcEdlJCFheXZY VDI2diFeNkRNfSZTT3NQVzxFfmFVO3BsYy1FRCUzPndmMiFHRktJeF9qdyolPnMkfjB6KkJAOAp6 Y2NHUTlxbCt1TnYrRWV+Vjd7ZS1yUDtQZSYyeShpQEBsPklgMDhHXk5OTShGNm5MQS1WbVpNUUg+ ZThmYktYPE0Kel42KnBnPllUU3tLWlFfeUpjKnohI2gmZHclMGRoPz1EMVVxVG9GKkZuVUs0SEI3 P3UzZjRXcE4hPEQ+Zm9JQzQ5CnpxKUp8MkZscnZ9PyZraF5lPTQ5TyNoYENldEA4RFU3eUFDLXA8 SSFrPyYzTXkwZUlgLWc+dGJeVTkwblJmMHg0Uwp6LTZ6azdDRkF7I2NtMndJcndoUXYrO15qJTJU V1hVQk8weWV5PiFtIUkxdDVSUTNuWmBuUyVOKzlPKS1Te0s/VEoKelNtR0AqSmJCR3NpPWVzXmBT ZWlkJERiNitXamokT2JUNyVBKHRCfllNZFBJODYtYDs9O2REZUU7TH5OPWt4Ri1iCnp7Nyhud3Qm ZCZJZG10RkdhbUQzQCVrTUVRRCFlM191NyZ4RVVgPztUJSQ0X2s1KyNGe2RzQGUldSNnSFV5WGJQ SQp6VXdJUD9tJUsycTRHPUZpJXdOODtJIWBpWmZzWHNAYX1WazlnKmN4fFF+UXQoQ2ooNm5faih6 I0NJYGMoUSNDZiYKejFFQnNyYnZTZlRDMWhtX0xKK1cmanUjcUFqUWdXODI3bCQybSh5c35UZkZt dkU+b1BYKVRLO25pU3ZZa1h1aGsxCnorN240b3FkXzd3Tng5SCVxZSVCYHc0P2VfSytTJUo3cV98 aGdBOHFka0wrTV9HMyFhPF48flF8dCVXbSRlQXlFXgp6VzJ5PH1jJWRVfiMlQFZVK3w1b3RXfDw+ bS0tZ3c0RExkTDdZcTd5diRjbylNUHdQbXV7aSFeQFNwQ3MrcyRTNT4KejYydWVOJTNQeVU9UyUm d3VJT2s8YEVpMkwyNTtoTE0qNnNvYFpxemliNEN7OTZTUEw8PGRZVWwkY0I+bDtfNjVUCnpWdEhl bmwwMHIqdnw1ckdeVip5eyhGbXkkPy1qSlR5bW5LMTMtU3c8RXd3T05jVShmPUVPVE17KTUqMEl5 OGFOOQp6T1lKcms4SDtydm10QyR1TnROcXxWYmJXeng+JXxmOW55MSFvRGZZJGs9c1pYWGV8Kkxm UV93XyV8Pk9QSlZoa3kKekhgREpnXzJDND88U21Mezd4SU5TPzQ2V31EZkspd1NVZXA0XiE3VjxL NzMhS3loO35VPnxzUDtJYkJjRXU7VjNUCnpDV1A9fktIZGhBPmo1QDVUI317VVBUZ2BvQUZNKjdE fSNLUUYpKjZIayh5U3NDNm1vfE1LMCpVeCMrZUVgdlZiTwp6O1h6eHktRk5xbTdiZj9pbCVqN0NE cVVBRj1BNkZ+Jmc5Knx6KDk2WT1SP0g5XmBVc3ZzeFM5d0NVM2Rgc144ckAKejNAKGNXRHVLX3sx ZEdkbyVGdzNsaFhTNkU3akZkKUlTQz15NH4oKT5JUUl6fU98NXxSayp4P2ZmJF5JdThvZ0NhCnpO I290fWcwZiQpVXAmY1l2ZThyOSVlOSg5cU1OciYkJURvd2Y9anc7dXFxaiFUX25zJjM+blVAeDtr X0RJISs0NAp6JFZiMksmJUdTdURTRGJVJmlQcyQtT3t3Ql5XOGE/WmZVYnVOQEptTGkjP3BwUHth ZjBtV19jJiE4al5HTVk+aEUKek9CciVKbTMxPGx1bHFIKDdXUTM1ZGtyV1E3ZGw9bjlTcVNPKT9J WCVjcXJ7UkFEM1VVdlAhZ3tBdVlBSUdZTmhDCnoqbSV6XyV0Xkk+OTFAOVZKa2V5WjdBTU9yXlc5 eD1hTWojOElXS1JYIWs2JG9fdipGaCM/UFVyakRjcE1ybEpwPAp6T2lzPEgoNyNqa3pzVChKVHg2 cDVTZXRGSk07KHhmKyZ0NDRmbEFuWUJ1OyVmcXVqV31DI1FxRjckYD8kWiEleFUKeipyekgkdE5U QF9HNnJ+PlE+bmEjJk8jNmVlSW9BWT0lQ2Z2bGVOYl5MMjdwXl90bWJiSlVzb0VLLVVYdVEpdjlA CnpJSFRPVy1wdjtLZChUcS1FZUVkV2tnNXtENCMqK0hRYDZXbl5AYU0jZS0kbyNFIWd+YEIyYyt6 LUJ1eUZPcDNyNQp6fDBfPyZ7WjJaSSokNmdDQ35DTFlYWjE7dlY4QHF8WiQpMjMrNHJFQFQ8PFoy cktJM3UpNiRNZ2RaPk9ydzNvUnIKelgzfXRGN0FZTCt5cUFWKFllZH4+YlJJUTNtfUAweC1QNEtM cTA8IWFpOVF2cm4wdEliOFZvSFBwcmhFLUM8SHo2Cno9YCR1S0N1elBKMUxLaVR1PXxaV1dgYm9j UipoWjtGNnJaP1kwck07Z3QtSzZhd0FXSlBJXiUrcWIhZSQ3cHxfbQp6SXNiJEVra0c/ZTQ4bVRy NGJiX0psVTF9eUk/fmc1dEJ8MFUxUnxaSTgwY35ecGdhSWU5SyV3fXtQNjxBOG5YLUoKekYpZW04 dnBnTyhXM3d2RD9SSCFVZVNNJkNPM3JHIVl8IT5GeT9eTzRjcmBPOD5BWVZZejthKVo/KHg4Iyha Xmd2CnpATFpKej5fZitqOTMyK1Y1S3p6WExYKCU9I0oxME1yQTRSQSFyfVVIcVlJcTYtZXxtOW8+ M3dIbTBtKk5eK2VkVQp6I2JIfi09Sk49JHdqQWJlSWBebXQjentiQkBlbktiYig0cUFALTxxaGgt PigyTDhEKDNJPFZ2ZVh+fjBKT2AtdS0KelNwUlUmOGlQPV9AQUhINmdlY1pUdElPZFlOUz9ueXA2 QD1HQDk5aWZpMVVYbWA/NSQ7aEFZPns0PDk1dDZPdDlBCnpyMVpPYWcoXnZVXzE+ZDRLQ3RFanEy Zk9Wbj88JE1oKkgpITc9cHt7d01VWmt2d3VsciRhJmM0PWlJMzEyQE4rcgp6eWN3P3ptZiRNJFRs PDI/cGpeSGlNMWltcz5aWEl5Iy1MYUAha1EjV183VFIhVWRIVXdsWEYxZWdJXmtCN1E5Q1UKem1l YHc9MlIqNTNtcT5HJHZ1XjxuU0khXlRPOUAhWU1TWEIqJUFpYnQ9fTVNO2dSbChReV9qfi0jYlVx OTc/P0k4Cnokdj90Vm4mUW10T19iezxqRzhiKz81Pzw3X041TFUjK1RTRUxxPGR4I28jdn5xM0dh eWlQUms0bWF8PTMlJXs8Xgp6PntPZ2o2fVhVYkhKWGRKOStlOXN5NWtwXm5ARC1fa0xpaFUmZClw Z3I3bCR3bk85e2ElbmdVNV9IJjBDMztOYk0KelQwR2JkP3wqSV8tN2w/XlBqQ3I5X2NlPyRnRkoy QmRETHpLYT98UUhDWTRfOXF+Vml+T1YzKHdiRkFJYHFfZkhGCnpQdTUrJF5MT3ptVy08NT0+YnBA bmc1U1gmVmZUSUlrVT5+PVU5PUhgcERvdUVycSF5P19QRUBjTkh4IXRvWW5XXgp6Yj1lIXx2JlFk azVSJF9RYG5KfWJMZFQ9fXUpVzBFekU3NGFjUTZ+RCszWkRKRi0pMXlzRDR1cihDX2tJZWtCN1AK ek9MNExpPDZ5QjJVNihuWiUqOWVJT2YxOD4tcjRMUypKVDUwPiZCZmdUQHcyPmg4ZFJDMF5hSmlg ejU8YVIrLU4zCnpoZW8/JmRfTWNCTHsxTEhPWnYqYThDfSYrRTBNIy08SEdHU2MxMUcxXmdEUFdN JilNaXRkbE1paFVGZUJGYz89MAp6bnNoT1BGN2l7PzZGdXJxNikmKD1mPWVvTHBRIypaKzZ8WERN VlRwRW9hdG1xTyQ9VSEzeSN0O0pZbHR9KWdNKEoKemt+d0JCWGNpRCYhWmtESnNhfHZpPmt6Rz1t WkdTPHtAM2ZNQzg3U0FEQiNObChwUzBkRDJnSikyWU96ezghWEYoCno7KCZIS1hzaD97P0RZclJq cWdNPEl8PSFuVEdwbmtePVAlKTlQb1ZWT2J8eChJLTswcllreXZIWnM7cHBvSnx1Ywp6a1JNWGFS TE0jWDAqJiRqKm8tQnJCbCtXV3t+Qm9RdjU2SSE5KEZHbCNjeikwZygpZDFIK3FONiVyVS1jNGpB KjIKejs1KXpgSUEyMSttXyROMjR9RHtUd2hMMFhnN2V6ZV5FfkJsSnh6O3FLQWs0cFUkfHMwd3ls N2ErNXYqRlREfjxOCno8KUN6P2sqNzIyZDdMQGt3NE8oNlckTH1gNnQhSTRVYGctcVR2anMlPlY3 P297a1YtS2p+PXVRJiR4Kl4kak9jNAp6amUrM0khTHFlIU5jWk84eXh3TVlQUntUa2pnbVEqWkFl YCtqWDJpZER7dWdyZ2syKEdXZUgocklzeyZzemYzazwKentheyUhbjVAbTJiS2glS29UfUwjYkRr KGUtfUAjUD9yaFRHcDRQPmYlNFJMTyhjbmMzSm55cDJVZXRUfjt3STNQCnolXllAOXhZZkJfQX55 PVRrV2A8KEA/PyRNVjI0VlAtKXVVe2t5ZFRPSmdRbCo8dGtFUyNgRXp4NnpnJmtoX0g3OAp6Y0x9 dTV2U3IhVytIQFpeYTlmZVpyX2xRYEBHODV4ZjhrJW1AfDhXSGVCSWJJK1BMOzxxTWJJRl4kVj4+ LUpvNWgKekkld3olSnxEeElSezFtQyo+PngzKEM2MG5oUmJhNSpAKDhWKWhteTI2dkBveUghfWs9 SClKPFZISmttIyl9WnJnCnokTC18N2JYbXhnJjEkRXY+dzlENCFNcXFnc1RpSU0qejFGNz43QDBM NDxUUU9Fa3c3YlhJSmpkQDtSeHVOQkZJWQp6Jnl8cDMjbEl5aSh+eUxjUzEhbSE/bz8mI25CfUM5 WDBaQnc8YkN+cWQkcFlfSjV9e3c7dXJLbnR0RF5VPiYyYVcKejNoJmhmSk0kaj5YNXI7U2xZMGQ5 aGBJYjZhJDE4NEZELUNuY3JDWTcoTlQoT1JISHBRKXRkYSs7Q1VabVc7YD8pCnp5dEtib3c+QD5F c28pUkAtRFBBNypBemRCQENoT0htYDxsTnk2QD1gRlJoTCktMVIpSVhXdURWKGE7dnpsJG00bwp6 bkozSEUlWnYxdUgzSVgoYU94ZVdXOyt7MHkwMzExWGl9WWM0ViEkITJGO0lhP2BYcnhuZDF4U2Aw STRIQG1GNzYKekwzREd2OUxzc3s4JCh+aFhEJk1eLWpgRTJtaF5DQXlxb0M0JVBJT28lbFFuYyo5 UmImc1FKWncqcTMzYzZAZzI3CnpLSlo8aSV2ez9aQGRhO1lEQHhPJTAhallsaWd9VC1TMnlxdUhn biEjUXM4RXpOZzl8dUNBITRYUVlFSVFNNTtgbwp6K3AlMjFZNGI2eFpKeClkaFVlfEFPRzE1OE43 TkVaeCNFLUtnLSt9S2Eja19sRXE5Q2AodWh1Vmd6TkRWOEZ3S3sKem5fYStpXio9fVY4fTkmTWFQ XkQ9bDNsS2okQWVvaHRxIVpQQWkjbmRDQEk1TismN1d0ZnJ6elhDQnshQVFPNCRLCno8cjshLWla cj9xSGFhQGxjNSFsQ3M7Q29ZV3VlRTItTjZ9eDBDQGpfWTk1SnJRO311ZTRqbzxsWklzPW9ORUZr KQp6XmBSVk8/bW0qQ14hdX5AMCZtMTlMZCZAcEhBTDIoWW1lZnZLREVvSzE1ZSpGeEQtPVhVLVV1 JCleajVfZn5ybUoKeiFJaGZNQ3BGYWVDfVJwRCV4Q1VvIT1mV3dhXmM4SCQ3MSViZU1tYzROeTg0 I3JNQF47PDY8eGBvT24kKVdGblBPCno0Ml5DSld3S0RNdnZoRioxR2oyKDgkPFpwdSpGXlFnSkQ4 fVNpWXNQdEw2NX1te307LTY3Pkc2bk1sSzBFUktmcwp6dkkoXmx2WGVhQUNpWUBNN3BaTiZyPWMp YFZJaGdtbjNEJE01fFZmV2U8JnJ5VD5QS2c5S29Ka0w+eTUtP2NsPWMKenliPWhhZlN9SSZeUSNr QGZyIUcrXnR5ODEpbCpEY0Q7eSVUPD5aPnJydTJxdS04T3ZTTVNGWitiO3U4MlB8IzJTCnokU1co bzRgX0ZwNGA7a04tVmM/QzJQdnFzdkpxIzxwWFIzandiVVZoZ21mUUIyRlo2NSs0NDdGPjJlcmxB RV5XNgp6MGtjMXg4Rl8tJF4/Z3xGMnN4dXtUZWRNUlMzNWlLYDV7aDt4OCEtd2dIZVV7dFUzc0k5 YEYwYShmOWU4KWZDSUwKellBIVlxJmMwR3FhVkQwSWV5Yn0hPnR5ZGppYk1ePkYyUGNhJTB1TGk2 TzBrNEthPG41WFNRfClnbnYoOSl7RmJgCnokZHNhPzhxZFBWRzhLZis2Z3tfej5IZHVPSWVBRWNE TmEyNzZaKyZKPHpBMnFpR016NmZlRX0jUGFmclE0ZTV7fgp6PTZEajdXMU1kOztmdHxoMzBwSmEw KkZuQDY2eXJ5ODBJc3g3WlBYMVpBQG8mcmgySCo2NEEqdFFnSX1UKUpkSEwKejxsPT4lQG5FdDZZ PSVHPEw+MCpDU1l6UWczPWx3ZUx2PlJJejd0eGFFUjE1ZVU2T0VjYUcwdEdEenx0WFkwZm5wCnps QnNVQ2o7NkVJdis1I3Qpe3MlQSFtYTB7MkBNY1JhNm58V0tPfkh8ZWQhbnYlPTNSVTlmVU56Y2hz VXA5X25Aegp6PW8zTCtDSXRgWHh6cU08YnFJd3hmY21WUVAxcTx8T3EmU1FpfCNiXjBwdnJYdSVS eCFkPHA+RmpGWGgwRTZ9PkEKemw5b20jU0B5SjRESjYxezx3dFg0SHVucDRfV01JJFIzZzxeRng5 VSZBJkQ+O0BeOzg7ZlNkZnB1MnQteTd6cE1kCnpIVCshfCtDVjFnYHhgKD9oQFU/UEF7YklOK2Js S340NHBOOFJqYmZgcEc9Wk5DP3BGYmxnTk93V2tAZC0kenprRgp6SCV7elFwQnRtYjVaQU9jKzZH THkrOT8+UlFnOF94M2B+SGpnQXV9JWdEdSFHQ3JqfWlhRXV2YE09REEkSDIlI24KemdhayUtdyFT U3FGZmc9OVh9fndlIURvKzdZekdTbGdNJEg0N3lyQHBEO253TjFpYWUmREBeP0dGZFhxM0pyTm9N CnpDVUN2WnVXTjxVUW5hVDNjSnl8Zis4ZHlER3g0QXtWdn5uUiZ6IzIySl9HYE9FYmhMbj1WUWB6 UVMwXiUmbz9qOAp6M2doTkdMVXIrJiskU3hva2x8X0BMO1BaQTs2RiNiWCEjezRhNDd+KUFWMzVC dDxQPlNRR2hqfjlhKWR1bipNITUKenFpb1NnZTZuU3xXIyVYUCQhPz1NdkBWMHtOfm9sS0w2bDZ2 Wl83e0hRJjlDKGwhXk1oQml2dWtyOHRsK0JKVzg+Cnoza3BuIVQzSFEwRlpvWGhlKChTNyZeTGZw ZmQ/bEJhJWhBUV8rU2p7e1RTT1ZGSTNmYlJjen5YYDRsPjQzOVRMXgp6U0RmdlE/MXwmO2RwUmxG V15vXl9hKVRAZSYzMSpVK1VNK2A8dy11NiEhfkQjcj5pMEJTYFckUTdpe14lPFg/XkEKejU2e21k OSQwTEhNZG5KPlcrPGwzaW1WZ2M1eG4melo2dU4+U0xvbXhXVFBAYW9mY2FRXmchWGI5SCVNTmZ1 ZWdKCnpiUmQpRGhaSD1tfDlIRnBiVV91JUsmSGczTCF1d2ltdFlhbT5kO25+ZThBNnpIaVBOdFVK emFxcXN4aiV7RUF+dwp6cEVMcD1nZG56RVhPQm5aLTVpYzBTQHw+VWNEdlN5VzM7PmFILXBBbyZq SFZvMDFrWGA5LXNIPzdSNTBpZ0VYa0kKenZwKmtzWjFvYi1TcjVeXzFIOzs0UG8keXh2Zip+akNS c2opJm9yTGojRiplWSsmc1Z6TmZUVUVCXkVkaFlGeCY0Cno1eFZaNTQje00ldlUmSmZURUBnNFE7 KDshc0M2PVozc1BKKnNMNl5sWCNKJF82U2Q0IzBmUXMtWCRjJGAlJlhHMgp6Kj54QmMrRWBGQ0d3 dDJ7dGtQbE5nUSRBNGxHaGxpQHRFNyMhRFEhQSY5PnhlSWFgNHokOXMlJChCfEBOP0tQfmoKellT VWthOV9eekphfig5ViVBNDNgNkxKNz9Ce1ptN1NZeVNtcTI9PDk/Q3pTOTcqMSFuRUpuK2dmZEEy U2FRU0FxCnpjNlRBTFFzMnVgLWxjPUJBdX4ob3UrP1JXaVQhdistNnpxaU9HVnJgdkNaTEE+Vm00 KmBqcGRnViZhP00lKkpFZQp6X0VGRD1VelpqJXJgPUNxV3orMVVmPkp8LU51YGMrSy0lbil1Ylhi R2xfMEZzLWtMVzFYNCszOGlPUFA0LUlBKVQKenczUChUUSs5ZCFucCNwTyRoZT99bUY+PDxJMlg2 WmwwZiM1NUZfYjRBR3JAdFd6SU1xZCVFT285PDtTbUF0YW95Cnombn4oUmx7d3JLQTZaVjdFQlop VFlzZkVGJjsyWEctWUNBdEFPSFlPO0lZfUU7TEJ0TEw3O0YjP2k4UXx3S1p3OAp6e08oc181Q2Bt ezJTTjtTMjVhYVJTQmsqP1dfSjk7P30kJGIzd3loSHpZWGdhZVNnO00oa0FgUzRldXtzcy1TOzMK ekBsQzc8cT8mUz9gOFhsTUAwR34+a2w+WXFIPm1LZUdgRylyNThzPTJze1E0KWQkYXkkN2NybjND fURqaHtMJWdLCnozb2g3dSZaXkxpMnpMKnIwVzQoQkZKRVlgbUEweUZqLV5GV1JqJU5gZn5USnsh OSNUYWNIc1YqeigpOTZRLUx7cgp6amZXMl5PfmxPcEQqY2srfDk8VSomNT4/cEp+M28wYF9EQlda Jj1wU2Vzdn1Kdz0yK1o/JXpeKWFJbGxVUXpsRikKellgclNZX2ljKUEzVGBmdUlaZ0s0cHJ4OCow ZEg1SnBmcnxwWVVQMWVXbG5tMmVIbkcqdWheUGY0TmdVbGcyWHc4CnpVIWBNWi1IRn1fdXB9RG45 QVlyJiMyd3VWWE1vRkxha05eTDxJZGgmUGdlQy05cClrWTt0KUtWYH10bylBJStEWAp6ZnN0bFEz PkpoSm9NQ2B6XkZCNmZlRntoVSM2JVNWalNvdCN5P2FYMmVxbUlUQWNmVTRmTnpQLUJfKlN6cUVa P2wKejl2fnsjQCF0eUE2Tk5POUlxSWJ3TSRPfHBTVkoqRUhNUEpEUihoRSRqMT9zUiUlUU0yRXM2 KEEyfjRkbzhqJGAzCno8O3dVUXB9U0ZHcVhFanJwSz1zS095I2VrMmxQbGZwNEwmRXBERCNCVDYh S00qS0c7M204QzQ5cWgxfTVtKSQyQQp6Tlc0Jkt2XihObGl9SUQpVz0yWnttKHowRmUwRldnbyFo Tnpze0xvbVNCMWluNHdUQnchYnlYQ3UxcUl0OHhtM3oKeldlRkE9XjBpcE9MN25OMUM7ODNJOGE0 ZnZRO253UkxqeXhPMT1PPnspXjFeSnFiMU4/REw1cDJZLXZWITg2JWojCno2TyNkUU5DNURRVTJV Q212b15Ae1I3blo2Y1lEcGYtI0prdlM+VDxDOEVzT3ZPcSt+VV5rd0E4aDw/PmVVblp5SQp6YXpe MkhDajRzOGkrPmA7RG9pO1VuSElRbkk9cjdjVztUaF9VIU8tcT8mRnU8YG1KITtobiEmYzU7bTJ9 X2M8QFQKei10djtwYS10ZnU8NyNtMT5ofHpnYzlKYUs8ZzBJcnRnKDR7SHJNJXReRD5VbEN2eCk4 bSF+SStzV3hOZmclPDlwCnp1UyFKfHQ5SUN1UTdIeXl5SVlETXh7QnVtfDUwMjJiaj1Ja3o7PVdC TkNhU2VvUXBxeEVLKzx2VV83ZGJqMm1rNAp6ZkojV3I1VDQtaWBQTlBON1Q5TD8oKXAkRXNXVmpY YiRDMTFOaFBgOT5WWk9lRlR7KFUjTWdvOHFncVZpZ242ZEcKendkSEtLVCFuOTt5bClEMUBZJj0z ck53Qkgkd1Brem1RK1gwcyFTMHxTRWBgZj5wbWhVJjNXXzhfNU0yRXVSP2NRCnp1WjM/UG92LSkl QyZ0MFZCVGZqJHlhbD5PYmZ4a19aKW5wamxaQEtfYnRVfTQpNEBVbGclS2dCal8/VEFLVlVWOAp6 UWhHaXBebykyNj8/Mm81NipOZWV1dnwyfElgQDMrMHNoKShQfDR0UlVWVVpLS2VBbkZqViFFXiV5 cXNZSFgyPl4KengyKl85ezJ9KDM2dHglRFFieCglNn12O0REYkE/KXUydkszNUpLSTBOd0FFS1R2 Rk0rV3UtPH04diNlO3lNRz14Cno9d1ZkeT5nUjJwaUxCdjhDZ0txRmY8YShJWGUqcn0pIzg3MU5I PFhjWF8zSk1YWWRReCVBfWBAPEBpcCR3YmJ0Tgp6UFp1bElxUmIyfTw8JmVjJkBRXzlXVVZUbUNA KWM0Km5RVSlaKSFySD1mczJ9JWcpZXUzQGtrMTdMUiktUj5UYTYKejhfWFJDSzN3azVSMTM0K29s Q0k8Km9CfGhOKzlOOSo/NEd7dnRxSmRhI3RFKl4mWjM8QS0+bWhqTWtla0Q9Si1iCnp2WmVhbUlW cXFZbXZIaDB8MEFrdVFESGZ0ZCh4UUgwO2pXV1pNYSZUbHBofDdUQVdBa2deUThuZ0BTUzY3ISRy Rgp6ZWNVJC1jUyN2SG8jZ0VDbHFPOTZHSjtSeSYpSDdLODQ4enMhOC1SZGo7VXJNWm1RS21jV0NY fSZtNHVmR01+XjYKelUkOSR8TVdnSTlLITFsQGU8WFcyajhIVl87VT4xMG9FYTtVVkRMPXoqbE5Z LWNqMUt5TWckb185djxuNl5aM2E8CnohcjZGbTZickhORmJpaWB1UzRobmwkVCtCO09AM3o9ZSpL d3RGJnB0N2t9MTZ2OyNVTUApaF4tWUFuanlwLUNwXwp6Uj9sPUh0enNXQk1LS1dicFJQZnRYUXop KkpDPXl8RWMhTWNTP1BWYFE+c2xDLVJmYz9tP2ZWbiZkYmVgX2J3PT0KekFtTklwYmFYYHdeNm97 QnRDWThjJCt1OTMjQlBtcHBabnokJWt3ZjZvZ2Bfd2Y3JV9aP3RoVz80blJAUDx9PnMzCnpCV1Y7 QHY5MiYrUShzNmBTKmg4XzlBNVVwZ1liQnJgNHclJHhSQEhmSWpeKz10MlhwT2E8SnM7ZDhgWmNF NVhAdgp6ckl8MkdlTko9K2lCNzlDMn5MfWkwRj5ifUFKeWJBakk3bVojKyklJTZsTSlRVXZFUzRk XlFaT1gqWDlYTl91QGYKekV4RSRNd0FvYWs2MkhuYmRIcT4hdlpNVClQOCFSeDh5fnNAMHMqTGsw S0xjSm9iPC08KitXYHc3e2pAJEA+cUJ8CnpWKEBvQyNCdWEpdUhKKllWem9YQlpoZ2NmZ2ZeV1dJ VDk2fClnQWc4aVBaTks3NFR9UGVTM3Z4ZyhxPEkhXiNAJQp6P1RwajRGMyEjMVU1ZTgqdDxDUWBy KHUqbz5XP1Z4ZHkhO0U9dmN3PmVUYUpAZnVrSzQtUnorbkxyQXwqOztCaHEKem0mOEdwODNHKnUk KlVPJSRgRXw4bmkoZT5UcFNHZHF1KlN2cCNySX1rWmckd0MyQ3E9UldUNG1EdnJDSUcxekkyCnpS fHgmRm8yKUxsMCZgMWlxaXdGailBNiRsPWEzQ25gfnZkcD9gZjdwN2MmY3h7KSU/YGR2ITBMMXd2 cCtNaitrUQp6P0pxdWxnXiNWUEp2eUx1S1paRkNwWk9vJXAmS1FqbntKYWQtMTh+ciF+eEZSUjtz UVlzR0ApfjMwdGFzUkVCX28KenJMV3RmdCR2LWVNPVFRa3A+QUMrcD5GelZ3dGZOQnNAMzA2VmRg eVcxU0xeNilBK2tPNT5PZnFOUXJsY09+ZTQ9CnpIIX4mK0t1TmN1N0R4QTBBXzhlPUhNVXBVbns+ OHUla1hRbzN4UURgaiFsX2B5MUtNPXt7YE96MTZHfiRET1JCVQp6aEJnVyVwNihvI2tkT0Y3Wn54 JW9EUkxIZkJscXZJQkgxazlpajBiaTNIOCg9YlVzKFE1dTB2c25+OURPNTFial4Kenc3UkIjK3M7 R21EYk4xK0cpY0VxbSNoaEheayl3fFJoY3RVUjExNXgoZmFaMTRrT2MzYEhEVXlKcTVoXi15YU9P CnplXjxzO2JSaVF+VFZ4YDVnOUd4azMjfUp+RkB+JGNqRDtrOyVjVSlUczc/I21wQjU+c3E8LU5a U1dNSU5QOFdrTgp6VFFJa0x7JiNLeDV5V2R+Zj02aDVnTiV3Q0FvYD9Md3VfTWd2aDhqbFlGX3RM UDF5Kz03MGRCeCtjRiRFJFQ2eT8KejFZTT9vRUhzUG1pZT5MUCFUUTdDanZLfTlfS3ZjdllqbkY8 bTZrK1ItYV5mUFZXPjM5cE1tbFk7NHg0OUVvajx6CnpVNDUxbnhhNi1kaCgre3VoZGAhRDduNldT VWNjXzEpIW95K1FKPmROVFE2ZHRmPDdrYDM/XlMyIy1eQUAhPmNsUwp6KjAtOWdkakZzbUlPWHQm VEkkMzlYcSZuKWFZTzhNK35VfG9JSnZfMjdXTlJOYW9wRFVlQU9VaFZ8RGFLezZ2emQKendGUHcj T3tPTWY+JUI9eEl9WlcxJDxXISNNd3BKO3o/bCVqaDRVSEptWjNLdFNSS24weDFSOUFfWmcqTmNM OFkqCnpFfV99PU9AVklNalM/T3Qwaih7RnI0QnN9RFhKd2NVJVk5I0smP21yN3gme0Y4dks/U1ch PSVYWXNFc3gxZ24qNAp6UmlDQzJaNVM/R1ZrWn5INlpNP352ZzRXYUktLSUjd3xKOyZLQkZkbEFm JW53S3ZeYng2OHRhRz9ONSVOPXBteDcKejxIQmNGNnZVSio1QSN6QFFQVEMmTzE1flBSQ1N8TihP KX0qOW8zIWB5WWcycEEhPn1VazU7THgyJk5ve1c1dyhsCno7U3YmYkl2eTZ4IW9gVFU0QHlSPVdL NDBCI2w+QSUpJG1yWjlnKTYybHNSX0lTKj96aTlvcndaVWV7K0Jte090NAp6KCh5XzlnekJXKnpZ T3d5WlJjNU5eZjVPYFg1YCFXRVJqamFoYlN5MDZjU15eZ0UmI0V7Y2xpVWZHYHZvPkpNSG8KenJJ Nj1qQmpLPTN4PXJEMjtmQlpHdVdaPm91KzhvQ1FyPHNBOCpHZTRKcSVjTWU/Sjl+ITY0bVZJN3pF QipIRHtyCnorV3RyQ0krNms4NE1vblNLI3VCN0BWe14xdypVQDh1cDg4KkdeV1o2YmB5NGMyfnoq I3YtZTBHKzlsMU1ic2d+QQp6dXM+QEIqejhAZG1XPVlIPWMmO2k1PEx6amBHUiV6cEQhPjxaS0M2 UFFGdWRXUmJHV1E2czlfN2xBOHpFTk5NU24KejkpPE9Xc2hNd1hZUldxa3EqdVNVVl9PJTJINUFt NFFNcFl2dFFTNWItVlo4PHUwNktIaTJQTFZkaVdfTT1mMXNOCnpiRyVUSlExNUcmKzFHS3FfM29B TmFFe1Yjbk9fUypRel4rdXtscjw/eHxQWU1fWUx6YTk0V1RkaiFuS0NUJFI0Mgp6Z30wP3VkZ0h3 OFhxN2hueWpgXiQ2fDFLOGsrI3tzYXsoQFNQY0l9MGl+ZnxqO0UoVVglN0gpUTFuI31YelcjPDMK elNTJkM7LWNXck93Q3tGaVBWQ1c7Nnx7c3V2WCMpVyE0dHkoMHxzKCgoTkNnY1hLQGstQyNDSWxu IzJFS09kd0dKCnpAQnRNJGFjKWl7QjAzczU1K2pNcndOUHJRen52JVZUd3VfRWp0Rjw5K0UrSXND V2QkR2JsIUlTQTVES1E4OCpNYgp6ZURhcXJyRkFXQ3lwU0c9TWp5VW9aPlJOPUg0Z1lBSTJjZDhk eHBXWVhHMFg/MzQqfEE9d0YmLXdfJXQtKVdOdyoKemxia0d9ZHxna2c4KEZhN2NNflpYRyUhQDVh LVl3VTI9MzZzY1p5RUxaRHV6QWlSWGdoMT9SRlFBMygkLVZrbXxwCnpAdzUkUWZhRDxPO3l7SHBI e2JkYHA/bnpma0NMaXo1MVQ7OS1sSDlDN2hIWTgmd2QjMlBzTnwrMS1POC1Vcz5+cQp6dkw3cSlD aVElcHZpT0Yzcm1YayVJWlQ3cl8jKCRFc21BaGR4SGJJVkkyQSN5JURQdklNV3toQipZeGpiKzVx QUEKejBVWn5wTSQqakNjPkBDeW9RS2RKMiUhUnxCPnZfVCZwbnNMQjFPNEFMZUowRkkjI2RzVmA7 T1VtVjdEcnAwT2U1CnpfQyl2aF9rSWV+azAzVWRSflMrMXpxZFV7ezx9RzlBIzV4eDNLMGV9R0dT PUZ0c2E3R1dUNDlONGwrRVhKdXlZNQp6YzxpP2I9JjcmX0FBKWc7VjxLMW9mRn5kIWxYfjxld3Ym XlNeeCpJYFFLISFtakJoaFp2LXtxMiZodU08I2VeYHcKelBLSU5IPkNvUktSWWVQTWwqY2o3OXs7 fUd3N042N1h4QWFnJFhKdCpua3E7cG8qQHxvZ1l1M084cngyUTd0KmEtCnpGbTxRSFFONklTb29t SCRSTkxFfklEMmdLM2w4KCVBVnBSX282VysyO21yUjJLOHdpIUQlVzlvLVE4Wj0tRytITgp6Mkd0 V3N0LU5CeTZeYD9eYHdTQl5Hak9yZFd+JHg4REl4O2lIIyZhUlg8eG5ZaEQ1dT1sYT1ATj4yamsq ZFE3NWQKenkkSEZlWmo3JWpyVE5YSTlqV0tCe3I9JiZYKkhFJDJlY0xzNE5BPGIlRXg4M3tHOXFu M19fI3J2WHRLZ0NAYlByCnphQjwyTkJQJF5SQmFQUktPKldNJjxQVXBuc2VWXnk+QTJnZmtOOWNW RThwb3NiZWB3KyFOZWNWUkBybm1USm47Zwp6NWxNZHx5NFY+cXFNc1Y0Xkc+T0VfQD5lTHlgI19D KT90SXk/MDkwYnRfKyNqbSl4K0kyaVJyRCE+cylpWm80QS0KenpFXm9ASVliI29NbjxMcWdLUi05 Nz5jUVdxOU1pc1FsISg2bEBIRzZGaUxRb1M3JXRtZSRAIVAtYGI8djZQJGJ5CnohcX53Vm85cmwx aXg9Jj5HSGtteFUwV31JYXFuTV9AZlc/QmtRNFF2dkczam1uSE5uRiNTOGxFTkZgJEpnSDI+YAp6 eUdAMio+MWNSSXFaakgxP0YrM1lsRWtiZjBkYWlASTJ9SkFWS2V3PWRMQkBFWm1vLTNFSHloXk8t aj5DNjFZUnIKengxUn5edU9pVSUkaUxxOF5JSHJ+ZSFOUVZkSjRJP3hEWVdQUE5KPGg4Xng3OylJ RUNeXnkrJGZwdzk1dk54ak4/CnplRn1USVkzaDFFRTFtJWE2OzR6ZV9Vej9eNSQwbSl4ZCkpM3Ez c1A4V256NFZtKE4qNjtxR2NJQU5oLWAqU2QrYgp6SCh+S3sqTWJMNUJOYzI+YSRIVE9oWjNoNndC MnlJanhadzNFQHB9cSR2bHN2bnQlXnVweCFkMjRvP0BZVyZeUDIKemkoek0+Ujx8c15zWkpqbERZ PSFPZ2ZYa2RXfXw4S2p6OGZLPzBldFVONVUtSUVfOzFPTFVldW04K3VZZXYwY3xvCnplTVNlZmEt bUVpMG5lSi17ejZuVmNPfDxoQmFUazNOZXdEc3VjKUFLYSFAIUZVVUZuPyUtRWkpKlhiNTIoPTZ7 Ugp6WVBYWmVSLUN2fUJxbld5KlYmVE8qaEleMkNiZUdFT29jWTZQJlIkOUQ5YVpPI3BvQH1YbilR KWhXM1RASXx2JHcKejJndkpybUNnNm1aYVleayRZWStXblRpJkolTmx7cFctVzB6US1MbXojfWt2 bTwke0s/KEgjSkJLUUNBSzdRUXJlCnorMzlgbmNyRiljQWUrVVBmcUNZWkJOem1JQnVGSVZheGdf UVZFRnBZPX5yQmRmJWBMfEAxM0ZOP1hwfEp0OCRUQwp6VmtodDJTYGV1PyQ+K14qaWNFPk87UXN1 Vj1mfmxnO153Pk5qbUsrcGZqIWktV3l0d25Iej4lLWp+Pkt7Uy11YUgKejRLfEJ2JlRwfEItbVFt flpDaDwyVUpaWDx3QkptX1hUO1UhVn11U0UmQypeQkZXKXItJlleJFJNfSNedVFART16CnpXWT00 KlgxLXhwWm5NdTxYMGcjV3JAbyUkI3VaPF9Yfm1WPj52I2pXKCFSUmk+MjtjbU52bUQkJWxDWldz Qk48TAp6VyRrdVNrTXt3c2Ipej1ZLTlUNlJ7QWx+fXRtaFV1R2xJakBmRi1VR2I5Y2xuZjcjdWg/ bD49ZnV+YXQoPnV8SkcKeks7M2NvIS0/Zyo0TmwzTlo7fTZhRHUtbyMoR0skNDQ8US1Gbz1zKU5Q dnZeNTtzUEIkbzx1MXBQIW0xTGtScXE7CnptJXE/Kzw1TjtUZnkmPil6dXYzdjhRYCtNZEE3Nn50 dEVYUFp3amlxVWJOY0JpVjtwKEo1QkJrPnh9ITZOc08mIwp6RCteTmd1KXoodkAzLVEmYWV8WENe NWY7dT0hcTdAY3g1S3xFPVFPbCFDTTNVME4+SFdQVVpXZjJ9KUdVKVVOdXsKej9JZzBzWnxRVmYk MlZqNj4za202IS0pM1lTbWl4YWFrfTZjODlYR2A3TWtGakNCamM5allNY1MoQ2RjXiF3a3ZCCnpW P2hgQjFqPH57dHdLak1eP2V3amd2KVpQM2pzcFgtPEhCUiVkeFh9JilqNyV5OE03K1puQ35fcy1F QW9pfDB7SQp6fEsyY3Q3dElQc2FxSVQ2VD89b3AxcHVVM3ExOHxyKDtyb3xvQW42ZSEqcFVDJFpq YFJ0LUtGUXhKVEBGbWprbjMKem1+S340SC07PGVIQ2Z3QmM1eWtUNDdAdTdtM1lQRT9OenAmN1FE P1p1dl4hQShEZHJ3SlpwU0BfblJ+eHlYeyY0CnpPQ1U1ZHo2ayV6OEx5MzUpdnFBR2QrSUp3VmBG KG4+d2UjMUZFdEtQbVZtbWg1M1JmJXVXVEdvI2tjUVBlRjhrdwp6KUpsNTlHRl9IcntzbUNQSSZZ IT9lSXRISVp4ZT5sVTclZjsqZ3U1fD5pK3UhTT07cU9eS3k8YiUpQTVgM2hNdyMKenExQyE8NTA+ cnpXV2ZlZmFSMVNweUVxcXR1Mn4/Nz9kZnMjd1VEfjlTKlh5fnV0QGIjWkcjYlZAYS1odU5pbH1h CnpseXJ3IWs4NktAZEU5QEsrbkNfNlJmTXBjWn1DVUg1Tzd0P1otUlo4enFCdVcqWiVIb2VYN259 S0lNSTJ4UjtROQp6N0xYPVVMNVNpOTFLbDBwS34qMkBQMzlwI3JYYEZDcyFoT25GOGBTYkRhd3ol TWdsU0Ehb1RsPClrTFZ7ZXBRUz8KelEybzhWO3BuQ24+fUd8eT82eHZSLXk5PiNsVUxMSW51Y1h6 Q255bT1WVyUrb0pQd3NyNFF8e0tyTCtAeGpsXjlJCnprSVhMKG5neHFLZzlfIzFfVnhFVlolPHdh dnJ7ck4jWnE9a2B5Jl9YLVUxdyRDdDgldkp4dz5vN0hVMX01R3k7UAp6eHdQODNRamB7M1o0ZiUx Q0p9ZkJjQl8ta1c4OUl9ZDMjJEt7ODhWKG0tVntJQTI0VnE7KTd0OzZoI0gjcSUjPFQKek0tbFBz YE5rVTk+QFR+bT5LPTd5KlA0WDhnRT9AIWB3RjdmaEBzJGR3XnJZdFI1WSFpKXh1N09qKCpabTUz QmFOCnp3YmNYJUwqYlpkSDV6KUtGOSpUJUlUYV8+MnRCaj9qZmRhY0o8TkBhRj9ZZ2JkMCZLSSE0 WTsyIyMwUXBpY0c8Zgp6e0d7aVpkd098MUg2Nm0hY1hZPTtGUFFOSSNQJlV0NWRSdlo9SHdGX0Jy dGhFMzc4U2EzNnd0MkBmaz0hJSpgU20KelJAWmZUUHZBMTg9Klh8Zko+Sy1VRUslVHVVMGJ6I1lV OG1PQ3ItV29WSjV7dlI4MkB3NkFrd01TaG9lMWdlJk1mCno2aFJ1ZDh9ZjlpWUdoR00+amdqfnte NSFAVDhxVV9AYiN0M1otVCZXPHp3KTwyS2twIWNRLVJ+ZDFXTFZ0fWtpcQp6Uj0/Oyp5RGAqbDx0 cGRDNkVGREJRWHk+K0IqYkBTZWJTNUleTGFSNSF5NSE/QEFGOTllN3oxaDB+bnpYdmQtI0kKejky K1kxVnFtdWlhJXJleEskZlhyendeZ0IzZE9UVWptaD19VVJCMXoyI1MzMS1eQ2gzRVF+dXhCKyty NUh4PXNMCno4QjM/ZlE/QmcjfEplSmd4VHZ9fFVjZG97OXpmfHZMSz51YDg+SkREP3cwT3VCcVQq cnFAfD5XPyhYaHhrbldafgp6K3dXRTFANyRiPWJOJjUoYXsmezNfRmo4RVlkejBEb19UT0BgX2tI el94aWd3O0dHPkYzRH1hIXdmKW9gTVhXeUEKelokOSZafDFOfDdNYDwkZC1hflp2M0VNSEJLe3Mw blpIYFU3KF9XV18jZUJjKyk9PGpNQ3JKYGE4fWdpM1ZGUyNDCnpFa2NXQCFLV0BydXZifCtWbjRM YGU+QjQwaGtsSFZAZk9heDcrdDxTdGUzdyppcHVOTHFJbUopNTRAYm00bSE0fQp6aTRvdnRUNDhU QHpYRFJEe20tTik4Izwhaz1QY20rekh1RiZyVkVxVmVMcCkrVWl2N3VwVzhfY0k9bXttYUB5flEK em1vUU1ybzx0cFc4eXk9aGlNPFc7YSh9TGFnQnAoNFZDJXBgaV5seGBzQHdjTlQ5TTNeOzwpRGJE VFNoOF4mNiR0Cno0PytSfGIkd0Fwckw3QHRUNiRqVGhUc2BLfDVpMEM8dkFLN0cqV2dqdD4zNkFU bkN5RnFGVykjMVZfTzNAanxWRwp6YEdmeTtTcnRhfCpSRjdVTntnRXpKVWF3ITRAUEczNi1yQTs9 SW9QKmReNClnanFWcFFYdzxHJW1ATUxHN15ISlQKekVmYSt+ck9wX0heM1kzJjQlYSFYdnFJSlRO eEkjb012dX5KaHxfOXoqaGZeRSR1YG1KPDkzWEdicDBMKGxtdF88CnpgfX1CYFMpb08+YWNqKz00 VTVUN094cVApaWNQcEExJG1GUVFDVj5EI31ZUTwxNTcpVWFMUG94eTFVYlVWLXV2Sgp6NDRMbEtr NXhLTTd+fSpgY299SkZ6ZDBFREo7PkdGNF9BLTFVP1hCaVc/Wnw/RFo1YEA8OT5pSHh7Zm5Dai15 UTwKemBfP0tXd0IjIyE4X1lfSmZQTDtCYz44PlFsJiVSRnUyP1ZEcCNpRH0mNFcyNyRuQDZYcUtF NFdwXiRVfUx5an5QCnpQZytvI0dsRmFpVFQ7LTh5NDlrYUJwZG9AcioqUXlsfXNzekc/NSY1SXte a3speFhKVHp2cjVJVCh9I0J7P3FfJQp6TWZkU1d3UWVpYiEpUDZ4Vzdxdj8pM0NpVno7QnNAJE00 UjVhayFZPWJibVEtQU9nbkZ0Iz59P0kxQmt1UGRTN34KenpJQ2JKRjRecFRaI0swNSVKRjx1UW81 Y0BiPj11alM0dXtAe1ZiQGVxO2BgYSQtQXB+Mn1ueWM4aHA3OEF4YWZNCnopKXxlYW4meCRoLX1y TWF0a2JLbDNyb2dBKlIzPHxSQ04ydT1kbklvTGBJc0BTSXI8SUdsdDhQMXshZF5UVGx7egp6bHh7 JVQ9aF5DbCtkVil3YnF3cnlWXi1DUilPIWZhb0BjVWNiSkNVfXVrTyNzckhmMV9KalVFezI+PGNI RDVKeXUKenl1eTJJVDNffTZlUkNxM05oVlFBN08+RktBTVhtfkwofUI5PFRjfl87LVk0OVZuPygk VUdtdm4kOTBkem1lWHY2CnoxPERrOSNfUDdhe18kRD10VGwoN0lwLVJPNF8qYlEmQyt2fSVMM0lC I3JMKnRtQGlMfFBTKjRUTyVYWCtNQGxwKgp6VmA2NC1jQns/RC19VHc0KzNNJnBhY3IxeCElQFRG cGM4fFJKXmY8WVpOOHw8NiErRWZlJSVYcEA7PmYhZCRQWloKejAhbUh7Plp9dXo+R2ZDM007KWZo YVZRblM8dmVEdlh4V1YzPXViR1lXOUsoVSNfUGFQcy02aUFiM25GZng7OVo/CnozMWZaXkNVd1RC Kk9pTyl2byZaVz1QWH1JTkM3en5tRlNkZklFIVNGQ2h+T1U7QmVeP1EjNkViM3JedXZwYyNCagp6 WF88S3ooZD88aTM0NnRCKzQzWiRYfXZ6e0R1PFF0dE9qPzFZZjYrdGp9aj9vREJ9c0wwX2llO3Y9 T2chKlpwJmIKenxBM248dHNoeyM3WXI/MWJmTFp7QDZWPjVDKj5wT2UyJE1GOytmQUUzNH07RTlr O2UqclRBfF9rX0V7YFRoNWN2CnohKWVGT0liKlh2QEFoSUVIe34oKiphcVoxVlYyamtNSlhKR0xr YzdeOWBQR2coOTUkNUQqKjF4TGNiX0RMLSE3Swp6VyVUVVlJKEUhMVVGZW1Gb21iUj1DYnxmeGBQ bE8lTW5TRGVkJXROKyhCODFtTCVHdCtYdylne1p5ODNkS1V9OXUKelUqaGtmbXlRP213VXoraiEw RjUldzhTcmYoQy13fFctcDZoVW1mOXhoNCNXTktuNCt5U1dMU3RoaSR1NjM2XipnCnoqZVMzaTck czUxQDtXZCVBcXdjc0t7LV9WM0dGenJkPkR1MnRCOFRCLTMzUlJpfG0lUSpUQTtha0c+JkU+WlJO ZQp6TzdxcCRVeHZmdUF7dHtkTXxIRjRoXjhBT0thOG1rezJpLThfc2NZJVE9QFJkZzU8YjBWZTVK ME1tKk8pT2RLfm0KelcqIVNVaD0+UEQlYnN5c0pSb2JLRSRGZXRSLUt5Y1leOFF7RUpwVHF0OTg8 REpSfGpgRGd4VXhUd0hwQFM4MnwzCno9Qkl8PkBmSS1DWHBEYm0qbkRKaVApJm9JNGRLI19iJCNw RDYzPnorKWN1fEhLZGBmezg2e0xUQE9VSnM+Iyg+Qwp6NlU9dDJYfSQ+T19Wejc7NGU8a3shcVVm T3BsQUw7VnJLdDhrem82aUxMdE1ANmtXR3dlK1l2WCZoSHI8Vm51SG0KemZ4e2Q4NUhmJHdja2pH RHt8Kj95IS1uSDAkVjdRK3U/KV4yckYtYC1BTj0lJGZtJFBPRWBwN2FpJGFaQkVhJVVMCnpuaCh8 XkxtUkYpMiF5XkJxX3RTVUBDeU5kYnFPV2piRTl9Q3wyM18rZGY7fTN6QlZ3R1ViTDNwVlBuTD5z Z2RvKwp6OyEzNUcpVFJtZCFRN1BsVHpwcTVVOGo/T1okPTRRaHJMWkNyZDlVfnh9dXtBN2JrWUB6 QUJ1WGlJWFo2bTcrYzYKekd1ZmNBJm1RKWN3UlA1Vzk5bWo1aVQ7S3ElS1RGcGlySWoxM3R+fGhU YStvb1FkX1c+KF4mUCpUUU90cUVpbk02Cno+UH5IQ1JvJElTJjhsezBpV29JSUB6R2dkdFUxPjN3 NFBUaTVhTXp2IzQ2TlFeQ149IWlBKntlKlNPZT5QO2A2PQp6aXNVKk5ebC1YNnJGOTZIX2w5Mkgm RG1MejlxaV5ZQndDZGViMWA0dUElfiROVnFlR0E4KFZBSzs/YmUyRjVsa08KemFvJF9qNytjUjMx K3lEeylUaVlpSEhJJlY8aWcrd1JYNFhmIWhMelpQSjc7TnItdyhiSmkjRGYyNUFXaEozRHIhCnpJ KGl7Nk0hUFdObWghUFVWS2dwZEErRUtsNTdSPHBlekt1VUJYWShmSCtFbzlzQ3BadFEkeWJCSiEl cVJnJmZOKAp6TS19UWkmKFZnUzEoe0YhajNSfFQ7K2NZQ0lAJjVEcil6dztjTnNEdGo2MFV4aStQ TjBnNiZuT1dwQWdEYSNsKlMKem9IbEFsIXNZa0JqSSRmYSl+aSU3QnJaJWtqY2RzRnt+MDZ8K3xw ezktUSYpcUJgc34pK251PHdsOEBwYWRmZk0xCnpsXjFxOWNXajtmY2ckPEtuNUAlakd3Zn5MXjd3 V0d6aTspfjl4YkpkaGo1P34rc3F8aj9mJT9RKyhmOXAqRV9oYgp6VCVRd35uXmFWMW5iKjtfKGI+ TyNoSiVremVNO31yemZmXz5zIVVZZWJhbX15YnUoKVZ7STd7Ji10KTl3ITlCQWQKelMlPXQkIzJz d3k2UjshMSUqPnFUZD9HRGlWRFIlPGZqKCRuODRLWmNqPWRoSEZWRz4pP2Q4akl2O0x9LXI9Kyt1 Cno0VlZxTUtjIVkmViFGSik2Yn5jXkg3eUA4WUA2RnxFWnh2S15lWVluSXdzWGtSckswOU4yZ0Jg TGQybCQ4dUomWgp6YnwrT0V4d35APzxIZn1tLUxlSWRAejxScmNERkBONio3al5USF8mJm9HTC1+ VHJIOGh3aWoqWShwR3VKVTl7OGUKejJCMnhxUT1Rc150Z15DbTw7V1NyaDBCUmxVRVBYLXFOcUJK ViY/fFZeYilxQkp5cFE9VFZUY1k0aip0K3Q5Ri1ZCno/Ylk2bzJuZ1lQWjw9eUNjJVApSCtUVCM2 TVhWWlJVbXshV2xrcjFDLVUoNypeXkdIc3pmcU58PGM2VCROeXwmTgp6ZktQM3w1ez5eTGNnfVd4 dGIoeEtpOUpIaWlaVVlvR1d1UFR1Qk1MbXE+RUZmZlJUND0zRkQrdihvI1R0Sj9IKEwKekorUmo3 LUY4T2JSJVRoe0Z7KXlpJDYzXkpNY0pkeDY+b0ImVGx4K1J2fDsqU21jZz1wUDIhe3N7RnY1Pk5E UE5gCnpWaSgpS0MyTHs9S2xHSnZvNXpmcD9UPWFqe1ZuSmlFfitKcktRPU13RmJ9aEI8WSFfOTdH P2AmcD03PFgwYXV+PAp6OX4zJVdpVUphOHMkZXEhJlk7amc1ZXx0bjVjJCYhQVhMYldXSGFDdHAt fH5CbD1AN2xnKT5nczUyTHJ2Pzd1bSgKejJlQjZMPlZ3I3s8PUAyeV89RXlIZ2hmT1JVZn1zJj1L cUNNViM4e1IpKERQciV6SCEjYVItfHBJI0hWWjY/SmZmCnpGbG1RKkpTaFclU0R4N0JFbnhOTlM/ aUVJYCsqeX45PX1rWXFBKW48RiZeelA+fW8ma1dOJG5vZW1xQjhCNEMtUAp6VTc1e2xNOV5UfFY9 OzJgTUd+LSgrYUlKJkRiez02ZHx3QSM9fCFDNjwyPVJ1ak5eNklCKnh5dHg2ZnA5SGdxJncKemNk c3dIMy0kKUgmPXwrbjx8ayh1ZnZGTHc9Y1V4Pko0SVRlMH1NT0NUK3F+SVJyYmRCeX1tfUxqNGI8 Vk1wPXZmCnp4cnZJb3VeWlpId3JgYk1SJVdQNDIrZUc5KlBYNUJsPyNMKFJ5Rm9MQmErbnZnQklG eGx0KCVKXmo4SVlLPTU/Ugp6Nzs2TjEoaHx+MTdHN2E4Nm1qYXlKQUk3dDM4fDJjJFhKPGo9JnZs KCt9ITtSOTg5bzZZWSlDNCVlezVDLWt6KUkKelFYeXg/YnZ8Z0lBZWZFST49Nih3NWxhPFUtT3BX MzBwa0NsWU1CR2ArcnhXVHIlKHo/JHskbzF0MSUrTGQ/QCVlCnpBR2owaXB5QCgjPmZPRWpLQXNF cmJeRzRKV0ctaXxXQTd5YSZ3NEZrSnoofFUtIS0zJHQyT1RkdG5YOEgjdX1Ucwp6UyF7eSRkVGY8 aHIzSlZRMmYySFVYUGNBbnAhUlZWTHtjUmJZfFQ3TlkmSWxicWloa0NKX1BqfVUjOFRZKnIpNngK emVxQXVZb31TPExIOGBeJE88cnVPVjNnOTJTOUJHcD1HK0ApXm9qSU5uNWRWZ3AtcWgxK3c1MHYo T2t1dz4rSUZKCnphY1MkKz5TX3hUKHhUKUw3Vl8ha00oQFIkI2VVTihgTFI0T3dsTnA1UW8zdF9J O2R3fWA4SXlScUZyO2lzRCNhaQp6Q15CO0RXWV8lK1NsX2tRXilDQTI1ZyNvVHJZKXdFRl5aSDxY WDZpcDt7IWtAcmwkUyNRcGNJV3d5IWZWTUxOZ1UKejB1VyRiNXoxfWJjcGU9OUsrbyZwMUdkfTlg NUAwPEhkWXhQUk9Wb0ItV19TdypWfko8WEdLKyZ8QmNTYGQkMm1gCnppOE9WPnZjbFZEOVZfeUgp dz9uejFXY1hYMTYmMFhuYSRpMVdBOUJtMUg/LUA0ZiRJdmhJa0skSyMlIUlrNzRVTQp6YkNEUn11 aiE/eG9gaD1valkqNzIkeGYrdGcqeE5qM1NGcDVKaXArcC1HVF8pZEV9ZmUpOXctbXdmbFJPTHpt Xi0KejA+KWA7PEtfRDVgIVpXdj44NnN5IUZsSEMhYEFxdkcldkppPU5rN0dDYXB5Xj9faiZkSSp3 VlRMfk5XTm84K2h7CnopSmk8ajtIT1dZejctU1dOVFFSZF9iNHZ+REdocCl0SlM2ellpXm5yd15p TVIqRzh6WTkyYFYoPkZTaFFiMWhhKAp6ND1xKSNTNWBCaFpYNzdOVTVIKk5tWDJ9OVRDMX1pc0Il fWBJYVlZOTl8LUJoN3BFPGhGbnExTCUjS3w0SStESV4KendOJHhtXnE2TngyYD45Xz07ZHh6VXNn OGVwO1hOPGYyK3xYY3VQPXhWMCZTRXc3VHY4Ykc8dz1BezZ1OW1XWTBuCno5OGB5Y1A2cztJJEdC MSo1dVNBMDM7ekBIM2NjVzFoKTtIcXV9Y3FGZS08ejRIJmdPWUl9RFlsZSNiYi1gOylQeQp6KTl8 JWlOKik7c1FfaHpPX1g8fFlne0tlJmRIcyF4N0xDN2I4IylHdlA2ak1JbCRqfkBKKW1NXll3T0hG YT49WVEKek83Z1UoaFB5TigwXnhTPGFgbDlEVWk7bHN6eHh3RCllN2MhISsqJmZVMnJUKm9xWXcm K3hUdW9ncm5LPVU8QD8kCnpYcmJ0O0ZPfjArPzRHYkh1TFolWEFnVkNaTjApQ0hkP1J8IU9oTGlv Zld8KjdwZD8we2ZpV0FLTXkmK2NsX3JgKgp6NXpUUW8tbEh0V3laWiRlUi1OfSVjOyRnVSpLVWxJ RF54O2d5JUIyV1pgP2N0bTEyWUcmdndtOEBAa3g7cj0xbEoKejVuPkNOPW9MWWF3WmdfRE5gJUQ9 Vn1GKkA3Qyh7bmcrTkd2bnY0dVhrJFFRTTlJLW5FOGlfcX1TYGhJWVVLaUBvCno+OyFGTChJOGFw VmU7NEhhQTR2ZVdQVGJyMDdAMnklYjE/R1pNSGtJM1Z1YjJYdXE5X1lVT0t0SXpuI0A7RkNDTAp6 ZihNU2ZiNDkhdVV0ZHwkbChefnpHYSlFZF9+Qmh0JGdGUXVCb2B4TW0jc0N+QHVjbXxyWmJTTCQy SFdYclF9P2sKemIpJVZVN3toPEtZZnohVENpZyF6UCMtTjFETnB1KHltIzUxRXZNPTE+Z3MhMD0+ QzFyZX1uTz9Ed0dmSXtMWDBVCnpycjFqUT9ga2gzKVEhYlY7SzNVZG4rKFooIWoxS3VoOS1IZz5P a21mPT9hRiFZJE9fSz9TMCpTUmtGRUBKPS1yPgp6a2o8NDJ2KXozNV4qVGxYTHNUJE9TJn1Mazcj SVJWXm5lOHxSR1NDeztyX245N2AoYmBjLVNNdXtgaklpb3lIcj4Kem11YlZmQ2A4YWE1Y2NAZ3Il I0hXTCtIKHV7KWskcjN1Tjl1cFM8Wkhva0xXaD1yPCZFc355OVE2fj1rP2o0X3hLCno7cFd8Mypn RXtlRFdWfFUmRnVRd0J5KiY8OyZBfSVGbHZ0O0lqTjBPTTRFQSZJWF89ODdAIzxFMFo/RVpGdUNP IQp6X3M3NEBzaz9iMWYkWVZedzVxSUtSQTI7fHRkTmJuUEFzR052dTZyKnkkcFlMWXRmSmdBJTd+ LU8pOGdDPWFqRnIKej1xQHcwdEp2TlZiaU8oTm1fekJ8bjFQTGVvKFRYY0JmcF5nMF9KWE1SRFlN SFlnYDJZLVFPdmY3c01RdjRuUk9OCnord1VlRj9OS3krRDxPZzQja0ghYlFEWkJ4JXMjc0VJYW5j MHp6WkhHeTNYeSlKOFJJPT0zLVo2end9ajE1SVYwbwp6bT9ZPEd1NTV9M1YyWUhySlU/OE4tMVda YHpQJGV5TitFaG5nVWFeX0B1el51IV5qZnV4P25ERkhId358ZD97Vy0KelpXRzFZXiVRT0l6ZF5y eVVkM3R3VHY3ejUlYEFpMTUjU0Bzcml8aT9rcUV+Vm8tOXlKKDFndD08YUk5ZVkoZ1hDCnp7Tl56 OURpfndHa2lJTn1rWll7UVphb2tOc05lI05ZdTFwWi1uX345I1IyX3QpQl5QQGJwIzImTShXTnBg Z2JEJAp6OTYlQE4zWG9SZiR5XyEkaWRobkdjdUJvfldeXj4pVWxLMDV1MUVabTtOTlR9K25DKilA MD9PMXk1fEtqenVhdkUKemtrPC19WHtQcn00WWxWcXRnTVJyYm1UPkpYP18+dXxBZXNLQmMqUkNG Y315RG1oVkwqbmlIb1VreXhHR2RSTHBOCnpxWldmcjZySjxGJTs/KH11Rzk4MmhRWTRXYT5PJTNT c1hIUkU3emA8TnZzdDBueyNfY1hlKStNMHdWUDtNPiR6aAp6dWowUk9ub0FYRlIlV0V+Knx2KmJU fTxuYTBUJn5qcHYkVGVHR0EqTmstcEklazJPVlk7Q3B3fCZ6JGNUaFUwaHwKem9wSWpOP3ZydVVs cXwmWXtgdHQpKzQ3eFU4cSRPcCM7KCpyK3pxcUdBc0w4VmZXRG1jSkp1YmcpXkUza0czN2ttCnpC YVl6YnJpZUlmNFBobzlIRDU2bT17QmJwSD1OMihNQzR7WksyJGZxd0xmS28jbjtvdygqT2Y1QHts M0hCY0s7Qgp6IVB1OzZuaztrRVBtMjRpPUV1MD8qSFRpTWRuTGBPMVhQP0BZWEdJZmBITXt2aSU8 T3xjZVVpZkVHVyZmNFM8WWYKekdqN01OaCVkOz17cDVKZVMrYTktUEJBX1VPY2JpV2JhTXRjJE08 Z0Q1fEtvMnF+alNmMW4rbWBQczcqeSE0JWczCnomXl9pMGB5fGkjVkQzKXpodzA3Rl57REstXkt0 b0gtb3FOdmg2cHBmS3VwMXE7YCYzTFllb051WkZofkN2Zm1ZPQp6OSsoIWNQa0w7OGQ/IXYtQ3Uz VTJCVngoPioyO1k9I1U9M3h7fkxlOyErZ2xSY0B8MTkyMlQxVzEqNnpiK0Yrd3MKejk4eX5QSlli ZmQkN2olS3k4b090JDBKSGA2KlNrVF5RbE8pVDQ1e2xBZz4pJFFsVEZHVT8ocmpveX4wXllkdnlM CnpSRyNtWjFmS1BEQCM0JUEqWUI9NENuVEVESjt+TmhhWH1iQGFZMU9yR1EtVjNrdih0KGpoTi09 RGdufUgkI2FpNQp6JHNLXnNJSkRoJkhVTV9jeyM2RXs3PnZeVlV+K1ozUWdFOFkqKFAoJlJNR3Ml X2M7MlVUQSVRWWFYSD1xampIJEoKelBhKn5WZGJpbGZwVllsOHF8bm55PUBXJn5TcHZ8cU5Qd3tE ODZMQWMyWWB5dE9DQ3IzPlBrRnpZaHRAfG1HbVdjCnpqakBwe1RqKEkkIS1kKWsqQW9MYj8raXA2 NTxhSiZGQDdfeGR5Q2FKcSN3NlBwV29rSjtnKn5OakktRGxGeShXOAp6UTkydDV4PGxWaXpPNWE+ JT5eQU8kQDhvOTBoSCpRJWE0ZUIhYCZudmclaHhFSS07QHgpPVg9ekwtYHpfVElCJlEKenhIP3Zx I0RBKm5wR34hO14mPD43aik9ITVVeEpRJUswfm1ATUJiLXhlU207NjdJNjR0JWZrSXN4d18lJVpO PntqCnpyfVNzMVpKckcjR0Y8ajg/VnJCWDFzZiNkYiMtPXpiKzdsKkpqZ3s1YUt5SjM2SEotZFo0 ZlFsXypWalQ7Zn5EaQp6Km9SNSNXOFZqI018YTdiYkN4KFJeUjtUbmlefU9VbztIISU2RWtsYi1T X1k3QWhJPiR0USVvZj1fb2VLRmBaI34KejBGS0xkYUVHU3RhRFprPmxPU2hVZl9oJERlQFhYI3Nz Y2E3ciZXOSswcjR1JGBfQXRSMysmSjRNLVIhVj1sLUQwCnpBMUN6PkdwdVVxVCZnPEhXdC1uKHd2 PXhueEdybHpDRVdsdG85I1g8VWp4S2ZweXV6KHtNMXt+Wi0hQjsyQVV7QAp6UFFzVlNSST5zJStV YVBHS0hxNzUhe2ZBajlGPGZBR1JXMkN0TyN8PXtkcDF+U2FVKjJAdWF6UTx3SGpuYC05Sz0KelBD cytnSF8qfis0ITJYSUIhN3VwPT4oPXslJHU0dkNxZW5FP0s9UitgZlFsOFhASncxO3JPcUZSVHlS K3dUcU0/CnopSVNUZ0tZXz0ycFZrb2ttNzxQJUc1PjlgKEZicnc2QC18VyhnOzBPKndMZ25yankt enp4I1o5bktZTX13YHpQTgp6S31UJHU/LW5rX2ImVSpQTXdMT0FpOHdNNmIteUEhRWI2bjl1ZXJK VElTXnh+ZExCZ0R3eVR7WUlNWmllbXtGbWgKejhuI0szLSQyVj5hZEppYEdkK3ojIzBwO1ExR3Z3 UUohSTlmZGtnYHdpQG9XRElgeEx1PVRWSTs8fSUjRj4jZz97Cno8SExHSyVXIW9VUS1zXnUzQSYk VVM/bnc9JmVNdHdNQVlSUUxhcjhXZWIxP3FMK0tES1FCKktzRW9IYEZHSn17PQp6YkclREtMQm58 ZHNWVEpwNDhGOXdCLXwlTnc1cmBQN2FrPldeRSReXypaYlBvalJjQ0ljcmF5ZmJUd0NMNXIjd18K enw1RUhFaCNKaytgcVhWNDMkNipuWSVlcDZEZjRpIzl3b293KGVLdGNnNTNMQzN0PWR5OT4hOWUk NjstN3NAbzwkCnpgM0h+Tj81UEplJWlubWBIVz5fQy1aI2tKSmdkcFlfTlp0KVg9QFUrZExkZ3hz U0JCeiZvT2FXOyU9e2AtMFhaSwp6Vlo+cCRuVSt1emRXbFRQeHN1PGkkY0N+eG9Qe0NhJTR9T0de VTNjVUB0ZF96P0ooUkFYWXlgfkQjWjlMIVUmSm8KeiE+Uytvc1BGN2VzQkx0O3VIbChtbVJ+JSNC ZURAfDRmXzByIT1qZ21ET3owUyM0cGY0eH48KEdtIzZ2aCZ9V0RFCnp2Wlc8IXJ1cCQ/QkdYTTtx dzs7VyUqKmFHcD1PaThfd05WQzJMYGB6WSptSWRtdnl0ciFvYVdLZTgrKCEoQGk3QAp6K1FNSXop XllnZzxpbFl4NmBScnFFT3x3Ul8jWjUlM2YwUkgzYGYkMTFKUzVOZ1ZFelFrUEAzWnBSKGpjb0VV LXYKekZfYXBscn4hXmYwYFJKYUZmalRPNlROd3ZHfkNtWHB1aVU+YjNXbFFsVj9Zez4hb0ckPCZ7 SEBFM1VyQiFgKmVECnpHM3BHfHtfZG9eellFSzxzcUtxc0E8fTVtezI4TC1wRHN3UW08biZmbEpI YWdFfUtiO0FZelkobn5tT3Q4bT5NPwp6NnElPGY+UXpSVntRUjNwYEwqOG5KYXE/YF49MzBLYXtI ODdvbkBMJUhoQ3dpdVVQRWAkaWVnSiFaZUJtKnk2PVoKeiQpYSpSQyQxISptcGhUWE0+IVkqSC1T TkRfI081OSE8WnRrcUZxMSVGbCpkTkh5NENHY0FVZH1fZklpKV9sKGs7CnpLMjFNdSgrdUdWen5E Y0pMQmsqNTRSSmcxcTFWQXE5OG1KWTh5T2IzOyt5cWx5Rm5IfTIhNWxKRTBeTmRYWUc0Xwp6NTlE Xz1HTiRxP3ZNfW19VldLNC1GTUImMCkkYG9KRXolTEBZT1hpT3E5RFE3emdRaEVJRStRcEcleEM4 Ml9VWTsKelA7aSpZX0NZfmM3XiQxUU0tNTZqcH4zXnV7MiMkYktHQ3cmV0Z7RFYkMW8qU2BfaDg8 PWJ2U20rbW5PUXNNSmRRCno+VzxJTlRXLWAtNG0oUlpSZHBSV0plbyp6ckl+OFE7eUhoODtmPz90 MiF1SnE+XlkoODVae0BNZFJrNCliY05nKAp6X0JTRHZtSW50VmQ8UmpUelozSWQ1OyYkODlnRiZm YkdVKWZ4cFZiMTxZWjJ7QUZ3UjhlM0lORjhUeTV0ZU1WOFEKejErWnh5NWR0VzRDUlBye1VvZ2lT ViF0N2cmc3liPEIzZzxWWHBHLXNwUEFgOWw+M1NsQjE/KH5gVylqN3kpd2VzCno8SmAxWCN4QDhR Q2o1YThkS3okLSVLdzdGaFZDMjAza0lgPXB5WGhfeCkpdWtQJi1mezJZSG1uUlUzTVZHQ21+aAp6 TW9oa00jPW82YGt5eksydFQyTXVhfHNWIVRgfVclMEkkQHhudk9TXjh6aU5EQFd6Q1dCUCo1OHom R2YoQmI9WmMKeiUpUSQlZGpaVX5nO0YzSjNPXn5WVns8KHFZc2JMN0dqQm42Y2cwKmE/a1chPE1J R3NNMjs+TiZOJUpnPTdWa09uCnorKkt9fWxMJWk9ZkUqTHNfTEFnT3RnPEBKUHFAIUR7VFk9WVVz QVokYU5ISTQ8Wjl+UHBCdHU2ak1hM2ktUyhXbgp6TCZ5VlJxak4mUTRhQV5ZNypUamtNX3c/b2J+ IXgkWHx4NF9RZzI9e0F6WnA8MVY4PFpRI2cjKndnaWpmYG99ZGQKeiNvOVN2NShJU3M8RDgkYT10 fmJ+Z05SMVVacyYpODk7NURLUCFAcHVOel45fHdsZzZNbmUpMEBSUH1zdiF8KVYkCnoteHYtQTtx fHZlTWRRcE9pPWVfWiF5Yjt8K1RYaXV5a3haYmdHTDM0cjFKJHJmdStUYUNfdE9VPDd4cDBFPzV3 NAp6cTs8XzNMPXtqaFM0PGZZaTZ5RnZ5V3koSzFfdz8tczN1LXVkNE1kYHk+OEZTeGAxPG55Rld8 RmNNMjtZZlNWek0KenZtdD5LdSNzNnI1SUJuQVo5VTcmcGtRLTdXdmJ0Mm4rMlQkYEN8V15TbTch UnpWZHZyd3JsfmFsP0RELVlhZTt9Cnotdm8qMUhIZERYb0cmYDFxNihjRUJveTByMFU8JXtOcEVI djw7QS0oXjdeWH4/T1B7YkRBNFhnczNlQzlWJWllOQp6OCpASCt5WG41clNFd0tpQEF9bmc5bipq XjsyQ0pfYCl8MSprdXE0PndlTSRvOW0/Sy1lcEhMIT5CdFV+MFlxNHEKel5tMnN8PUopSkhXUUMp V3o3fXlCO3x0NmZWTzd0ak5iZ3NhZSlwakEtYklTVEl+e0Q2RlR3Y05AZnFrUilRZHtrCnpxdng2 aEshaHk1OUMxJj1WMHYoTExLRVlOWFFEZ0skYEdyYk9udiFWJTc0SUEyJHNVSnNwXjBiTH1Jc3Re YEFZbwp6VWAhVVR3Pz9lR3MyKGxFUTU9MGsteDN5M0Vge0Z5ZygyenVnLXFVWTkhU1k7STN5ZGtm NDg7KHhCS19UcUNiYUkKek9UKjw+PTFaPSFVaFdLekkmKHt+SGB3c298NHtrWUxhSG5hVnV7PjV3 ZXhmaGgwfEhfXkhnc0k+I0t2NDhzMCkkCnorUVcxP3VDRXBFT2lRb31WPS1DQGVvTTNTViErM3ww PEB7Mj1eaz57PlJiU1EhNE4yO1YtRUhPK0ZjbVk2PTZeUAp6YipVPm4hKDNyeUNtSyMpYGhxRFUt bkpIaTwjKTxBZlZoRkNtaXh5LTs3OH17WWVrbjJNO2haYWBVZ1krWmtwZUgKenM0ciZRZVE1RlFV c3dZOExePzg9VUxYfE5eWXhWWXBBenZHcVNeT0JYcUdUY0k7b3JeRm5hfCQmPjk0emdKSFN7Cnoj O0I2LXkhbXx4WSp7R041dFleZjM9ZUBhYUZ4UT9KP19fZDtYSW91ZUhySzkkbnBONFh8M1JkKzQ2 JDh3M0puIQp6UzB4PHNaZ0tifmBwOFd9Zj84WiRUdyMjbEI+MWp6NHZwWVhmNTJPMCpudlcwQmNs XnRnd0YwQHR7PypQMT1hMjMKejZmZlowUlM/PG0yKGlVTyhlQDVyKXw+U0Z4aHxsd1JofipZa0pX bSRtK3skY2AxO3lmLX0lJElvUzYyRi1hTF5qCnpicC1fPmM9JjVUKTVeR1d1fmJPenM0REx8Wllg a1lkYmomQz90QGBUPTdxPj9rbkZ1dXFyIW8hUSlNS2ZnO3o7Jgp6ZF9nZiskJVk1dlEzTjBjWE4r cHZlWlN1KiZwMTZwJm4mTkZNSzxMS3o0MVBeLU9jQjN6TSZKe3JANWtjKmRxISMKel91Q0pjazU2 N0F5OzI5eyE7dXdTTStjd2p1bGdGVV8zQiN0N0g/TCFZaUAyU2lMRlc3Q0pTRFp3cFNrSFptOStk CnpyMUtAcC0xZVowdj1ROVpJbFhedFpKbWt9OTZsKERoZWQrQDRndDxKZFgqfnQ8SHkqfFBzTGBv NzZ7U18tQmxLJQp6ZClJT0s0OVolZz9pLWMoLSV9TFd0UiRWLUZYSXZXRXZ9Y2ttWW4reU9CJFR8 dnI2ZytmRTtGbnorKz5odypXMGQKemJuO15TZ2RXOHRpJFBua1IjJTxuX097P289KDUkU1UtbEA8 Z1RCOXMtZXI2e2pFbDY4TDlPfElIYHN6d1pCZnRhCnpBbk1maTdFLUp1ZXVNWHEpRVJvaHtHSTY4 dig5eSg7e3N9LUczWDJ1NDt2a2QhM1dwKCp5aWV1O2tpfSNjbE08Qgp6a3R1THVQSDNgPDxoQHEm SlNLPGlaO2lIMkVBNCZ5ODthUyNJTE5AOyhQOCk8KXB5eUxXa2FlMmFFTVB4RTRGSUsKejFpVVNO VE1BWlNDPXwjPUxXSHItIyE1Pnx2K0YpcT5kPTxBMlRIZFpCKy1TcEVFVmImd3BDa2N8RGlQcEFi Qkc+CnpTVlljPVUlJCR7Y3V9OVBVY01RfkN0X3tRUkhSKVZNOEl3LTFtciVNY1h5dDJLWnZzdVRm MTcyR3hLMS1WYiNDRQp6KUpscEVePncyN1hlcXRLNmVJKXpFbz5vfV5JMDY4MS0oRHpUVDRQRloh WnRvUWE9ISRtaTApfTxlU0lUTGNHdTsKeldwen0qKnpwKGZlaDhFTUlMKzRoTEUmREpJUDk7e01J MkB3QzVyb2pIJUt8KC13c0k+V2dMYkY4eWowUjQze35SCnpfcmJGdVQ4TWE/WkVTcEpKSWZzPzxx QTNpTGoyZ3tobnc7aHZ3fGlAe2hvMGBZfUZgP2p5YjxHQGJHKiY0KDQySQp6PEM5Pz5De0NVdTR+ SXo9MXtCU0s2I2AxR09GeyFlMEZWYDNmTkgwc2xSNj1KeDA5UU9CZStneDNtJDFEb2VOPjAKekBZ WX41Vz5FNlNRO2N4PmMlRzNwRU5+TktVb0EpJWtvdkQ4SjxPTXpBY1BvPSZ3M3x+bzgrVHdvTjY9 UXdMUHs3CnpOMkRKXnNVcWJkZzI4MTdEeE5LJCN8N0xIclZNRnJQUj58WTFtTyNTX0lsYkhWMG1A OFNZYlhjZm5Pc0dXOVB1Rgp6IWI/TFZkRzJ5QnIhdj5IZiRCI0ZIZD1rPUIyI3Z9emJgWlEhYVZ2 Vmx7JVM7WW5BaTxqSDFsWF5lQVRCaGh0QV8KekRrYE13X1ZOZ0tgZ2V1dGZKUk56O0RfKV5JdHVU Tjx5d3BVI2QjfmpgU0N5Jj40PkU3VkpnNEokOVdPX25Acz97Cnp2JFhLWkYjT3dJS21pYTF3eiVk UDt1O0pWPSFtWiklaT5FTCtNYkBRWUB2PG1Hai18eHlnaDBqKXdGNGxge2JFUQp6Z3NAQzZzVmx4 JWUrNFAmaTR5ZGJDLXBvfGJwYEtEN3N5WDkraFJgXnNZWCRJLWJQR0ZPR3tfVnJTT2IqQ1RMTXQK em96N30xTUlnJGUxbz8pK3E7aCRaSCQ2VWh7OEJwdXNHIWdxNHhgM00xbFE4Kmg+ellDY1E8PF89 YT0pcVBjYTBjCnp5LTRBb2pSdTZ3YXgoWFRMaE85YnFOTFhXQT82YTA+N2NOUiZIfDlkSHQ/eCpP YEFyUWIwRW8tdlQzfSk7am1zdgp6b1U1eztIIyRsNkk5I1F8O0BBT0hzP3A7c1RMVmQ9em5+UTZU cj12RTclRkxTcHdtUjJCRD8qTW87Nk5nSyY1PlcKemwobXdSWUBHPWQ8ezw8Ql81JXA+amRZQGFT RGEyZkA2ekxxIyFhfioxSmYrQjRWMypWQnw2JCYlOzh9aFh3T1g0CnpfNnh0PVd5O2s9dj5DIS1w ZGModEdZaDIyQGZ3Mm8/KnwrbENsbj5ldiFlSyhFNGN1dU9PREh1VGk5WEttVm88Ugp6RDY0WSRK NE9Qb0wmSD8rJFpSeWlzcXZUY2c1c3ZCUFV2WEYmTDA7TnFYJj18elJvakNsZ0AhSG1tMVZWN0dD NmoKenJSWUdsJj1SaEpPZFohdjByRXh2VXMqXlVBbWhyblMjRU5DeFpWb0cjWW45JEQ2VygwQXZw S0FJK1hwRDk4Wj8kCnpyV0gze1lNZmtaZHRZeWVBZ3UwNEBaVC1eSmw8IVhNZnUhYEA8cDAkMGVO fHg+MF5Gd0R3WTlJPCpKP2RIeV5qNQp6b0tHYT9aVWd5RT9rfU5tZj1rWmB4eHA1SVNacDQzRFVQ e0JPTCZHbHkoaSVPUTt5KWxlSDBvYjtNZjd3O2x7eXAKemkwN1RTeCs3YUBLMUBUQWZUJiZTXj1w TW48aiFaKmZ5UnxWZW5zWnZuLSRndjFXNSQtJEM9WEdYKGkyNiNlK3ZRCnp2WUdGU0c/Y1V+aUVM IXZXTl99QWAmRn1XSUFKVStJSnN9bVp0ZVd8akhyMEYkQG5wTWwmO09XZT5iWmFnQlMhbwp6ZUVJ YGZONl9fWCNWJngwYDZjfmxANEZNcHgqc3ZwZEFpTnNZclZXejNsOH5DZHNGK041OEI/YztAeDg3 MDdBTHAKejYtRE1wPUI3NDNfcTgheHRxKD4hQEt5TyUmKHFXNiklTl5mPXZSMkU0MWx2Xjt4aHF5 NVYjY0pXJnVLUGtFQ30mCnpybHI3ZSM+VTVZUylmc05ZOWNYSGR5akgjNFhPZGM+ZCYwUXVZdX4q MlM9ViYpY1Vgb3NseylGc1FzdCYjYFkqMQp6TGFRQXQ7KH5jQGlVaTxEei1qcz5vbCY5Vnd1VChW d0BybGIlMkRDYjYrTE1oMkBzWFNLaVR5bF4/WTY/c09eVG8Kej0oRWh2IyRve04/O0ZhNUtpZXVy KyFBKmA0UShGM2BiPlJfbU8/KU05X3NnNFVWZGgqeiZKZFpjKEB0eyk5YCp+CnpxWm9FcipUOEB4 ZHRkSTtSdzx3I3JnJUg7e2BoY2otcyVyOCgkP2k4cHlPU2sqU0c/cGVNfm5CYTs2bCk1bWJwMQp6 NTtMX0hHKGhfPjtqdFJNNnRYR29rQkdAPCRIKTBENyRpfiokdH12NCVNWGBhenFHKyhLYCpRVjBy Kno5Mj9Oa30Kekt9eDlqY0Y4SXwmV3YlfHwwb0IhcEpPVT9zfVZaQykhU0VWQF9iYlpFTk5le1NL ZUwyYEBRKF9hbW4rOzZlTHE9Cno9NHFNVEk+TCN3OSRFV01RJHZheWRxZzd9OGFDbkJQenRYYnQ1 O2JlVEV8PX5BZkFxfnU2WkUxYDd3VD9UPnM5Qgp6Zlh5K25oYjUwPCNpWWdZUTxQcTJ6SHRtUmoy d2FoUn5QIV5kbT9mZF4oVVo4PzZKT04pVHwxRD1RQWJLN0pSJlcKengjKVF8Q18qdGxIZnxJX0hp WjtQJFIoRShNSVAofDhHZGQ2RHdHNjtmP3p2YlYxXnJHZ25MR3R1O2hzOUwydW5SCno7Izl8Z05N SWMxYDAqMmtYZn5GQHNfcFoyXlclTH5AeWQmWGxsNStDOyVLUVc5bGlPI1g3VGlPNDNvNSNqK1hH Sgp6SVVsYiZZWlI/OSRhJFdXeXM8RkpiSzBCQ2V0ZyhrPTQmfn5KZWFRPE99MSYwMUlvfiV1ZDwx cUkmb1BaUFB3N1cKenZlQ2xOJlh6e25ZWGZJT1FLTUc8O208eVJocllaTDFzZ2cjaFB4V3RKMik3 JVI3TmQ5MEl5UnRyXzg3VUJZQV8+CnpGTVBjZjErVGxDMWRXSjBgbW9fbD9pWGdAWCllP1BveVF9 VHNJcGxHWVdXPFFCbm54NUkjKXUkey01QCVZUkBldAp6U18jQWdlPEF6N2B0Xk9gdyMkVUBiJlRp QTxETGNgYnV1XktRTWxLenwwdzV7PWY2O1B6bkR9dDJJQD9HclQqX0sKejFzJEI7bGpobkNhNnZC UFIwKjl5NEVsZCt0RWM0WUl3SVUkRVY2fj15MD5raWZQYUZWMmJOaWZlK2ZTdmpyXiRMCnpmX2wr b1NYO1R9aUIyI2omc2dJWGV+JUg5fEwpMWNXdnFHZ2hAaEBsKHklPXRQM21WPTlrJjIxKlc8bUpk fkMwaQp6NFgqUHdsO0t7MlZteGE5WClPPGFqMWMmVloqUTxhKHRZNzZydmJWaDtLRisxTC0lazR0 JDxFbzY5dVp3Q29xYDsKei1WTUdwYHFMfl55TURmbjAwSilaMUIjN1QxfFhySzRgKnFRSnk5dlpY eXYldEYqIWZnYj5HUGpNNUV5TXhQMENOCnpIM3UjNiQmaEJEaWxIeHV7bGQ0d2Q2KEJ+VmF6IUEm Z3w+Qk1CYnpOMkBaQClWam42NDBwenMtcUl5bkRyfnleTgp6dWUkOFMpeDZhIXtnWmI9KEJVUj9o UUZ4SlJNPTYtdEVnWnxIbWV+JSFPYTw5Zmwhfmx2UGZqPkl3IzUqU1VHP1IKemAhSjFRRjAtcjsz OTNlQGs5TytBdzx1P0dMd208fip7MjZsUj0xOyE9Vmt5OSZrdj9xWnNRJG57R0I3NlhQX2coCnop SmchQG1yTGJ9VyYqfDBON3VXXz5aa0JqUWlZajU4IWtjTSVPeHwwWmNVQmJ5TFBSNTEjVXM0c2k3 fUdnbH5pbgp6aDBZZ05ybj1gdUt6eHRqVml+S2ZVdDheT243Qnl7V19AYjI9dUtPenxFI1JFdn13 d0xHR0tXaj16dXx4Q3BVb2IKemZQZT4ze3o0MnwwMGgyUj1DZTVvNThrbWJvRmVZSElvYGx4RD9T ZW5zLU53enZ2ZXV8bExlNHpnS3JxPHVGb2d+Cno9IztTWC1CPz8yOE1fZjtYd3ZRO0ZOWilhQUor IWZtJGU0P1EzcV8oe0swZ3QtQz1vUnZWNkZ6aDZWJUg2VkN9cwp6ST9Ue3I4bkxucl96ZH41M314 NX0pPjhecWxed2I4bkU1RXU7VjVYcUFAKnF3WXk7NWM8e1BoPDslNz8oJCpVS3IKentDRThnKH5+ Tj9VTWN7XmJSKzJHc0dEMkFqOTcxcVZEUm51aSQoRlE2c2tzfSolSlkzJj9AZGhZeGdlOHZhX3wq Cno+MSgqPkxjYm08Wl8/WlNBcmI3YnJqLTg5WE8tdz1xK0RYeWt0UjBBY0chVjw5cmIkbWU2ZEtr WS14TmtMVHFyWgp6UmImclhCRFQjaD9obWU7JCF7NndaMkJKP0U4YEo7c0RENzRBajdPMz8oTVZY cnYxYS1tb0trcTMxP2NFe2RIOzkKemV5WnRzPl5jdHA2I3cmdVZ0VUQtakxPbUdRU35weDJSVVky NTNETEFXQjlNaGh+Y1BmaiVgZ3JBdGxOZCQ4WWJLCno2cEFiUDk8TFRQbXZhS1JCN2U0dTwpbSRQ RThWQVI3S30zd2IwYkI9e0NiR1ZsMlE3ej5gSUoxTSF0YXd1LT5ffAp6ZzMqVXA0Mm9pMiUxalIk bD5gLUZVdTB1PkRvKTYhe2QyWD9BQEghc1pNMW5+clk3SkQhfU9ZUmlGd1FPKHc3fmsKekNTK3FN fDJidyRxJTJ1dXZVeHZGS1hFZFNNPjlXRzNuVXxgTCU7cSN4Zz5tYkw0Ung0S1ZSJCQrSFhwIzMz R3B5CnpwWT0yX2YwaVhUM0Bse0ghQ0A4dVdwMmZlYVl1JkdNTnZ0ZUAlTEY7eCZaSDFTQmtoYmdT TTZ5TiFhKCpGcDNOdQp6SWxANSNmcUw7fnhCV3VIQzA8fm5SO1VeT3dKKyRPI344Vjx2OD43QE4x M3glb1FKYkRrMTtLSEpWUHY1aj4/eW0KempsP3w/YGhKaXt5X14jZyNOJEBAQjA2WjVsN1RWc1lA Z15sZ2ZiQiR0WH1NJU8+PnpeSisqZ1NgT0AzMSs+Y2FSCnphJCF6U1FvMD9wd2VQeHtqRTJfMmpg eWFDNXY/MmdYIUowIWJZcn5iakN6Wkg4PD05VmVwYEFvcCEoZz0hZFpYVwp6Z2khOXY+KDxUTi1O TEd6WkF4JT8lMlJFVHlTaGVxWHVze2MqRTAjd2ZUfU5VRjdNbVBZeiRsOGRyQ3tjVGlUVUsKej9G NTktVSQ1QzdvZSRAS2RhPnd3SClZUmA0b2w8Njg9TE58OHFOZiNNS3VeNXlkPFJHT1M/VX0rempy JiokU2FsCnpeWUFaVW5nNi1RcGhmLUZiaS01N2R0c1ElWE8mJT1ZeCRqTjhScis5YXRfXmhVN285 bjFKcXh3SH0yfjYwIz4lTgp6empId3Nac3phRVglXjZ6PmxrQDBwN2NFcilCSG1HYEM0eDM2M1Ji PmN+X05GaFEjb0JVSVg4PDtfMCZoXz93IyoKenFVeFA3c2NmRk5rUXxFa2IwI1hpT2NwTSNYPDFV MjJHK3xjJTYtQCFAUGw5elNAeSt8KEwrcGo8c250aWZteTlsCnpsYjViSFFQcndMR3Y2cz5ZIXp9 aktJT0pqWXRoX3BXbSYqK1AjTjRAKW1JVT57NFNhOCh7ZF9qZz5mPjJwdD1WMgp6K0BpV2JSclk7 Um9FMFBVVnBIVj88PTNPTVRlfHtnXilETUFxVmdAM3ZUcnhXT0hVNSEqK143MFM4KzJhQTBHKX4K eldnWnIqYlk8fThPezVwKCRCfmB9P2tIcitDUDFMMWNGeFdga0JNKE5TWEV8fmNrPUpsK3teNUgj fER9ejRKR0BqCnomVVM4MypQJj0+dztQKU1YOXFGWU5De3xaIVRtMHNaWFdYIUk9NG56WlRJXmoh X1gpemVqOW5oeGlaPUtHektmcAp6YEd1czc+T2JmOUBjJXh5YEVAUD0mSEFWdShTJjVGdT8jVW5F SGM+TmtMQGxIRXg3KXEofEcjdGJvfnsqfDJiezYKei0lfW9sNT1UU2VzbH1nYiZjVmdtd0shRzBq JldZVTU4KVMlWCpQVCN0bFRGe2cpYl5Fc1ItJW0/VWwycl9rOEwhCnpQVkBXbzlkU2E9JlEkezBL K241UEJ9aCloJERvdXFXVWlXVEp9ZDc5YUxrX3Q5MWRgbkc1dFFEODY2fn1KenB0KAp6VmQxJktF SFc5d1hLMXtpZyR4YXxDTUc3Tk59SUJRLWFJNHgrKklGYiNHT288KW9fMSpmdFcxSmNxaWRecGs9 c30KejstQDlpMTh3SWJXZnxjYVdGaXdNR310QGF6MWBqSGlmOzw7U0clKHU1cWQ+YFJ1NGxzU0x4 bzVhVFd7clBjeHhLCno5M0t7eHZEVSpEd1VaLVg3fkkpPCNLK1l6UmI1YVg3OEFgZHt+MFNWPzBq X1NFdj9ESVNaJmw+aDt0eCZ6bkJ6Xgp6cGkjS0JwKWk5OGtMY25qJlhBIXV8M3AyUjFqc1Q3P0BC U09kZVJmUXRxUlFBSmRRTElIVH1AR2JCK0tOYEV4KVYKeigzblJRWW5feFpVZm9KIUBzSHZ1Tkd1 WiVoeUlOQ1dWeXpsMG5yQ0x4Kyk9VVd9VEdvQEk1WiUrXm9IM1dpQU9PCnopVWglJUdkdDhJeF4z bkJ7R2E5WCpJRmkyMmpZMVNDViNORXhCbiY/TUtaWThQfW52JXJAX0BgQX5ISSpaWSEyLQp6VlBU PUFiYXIrJnRgVWVJPnxHbDFkbnx6NlZ9IXVaOEFUK2RienduRXoxKlp5Q1FVJGdfdV87c0Z+aj0o YCZqYVQKejtKIW57Wmt8I3pVaCZkO0BkKmxnYHVTezQheGZxeTZpJHF2U3N6O344MmdOQyomeSRz b3VtOHZMflJxRUBZbWNuCnokZXhCRUMweWs7MVgkLXxHK3ZAbCk9aSVme2Rsamh4M3AkJEprSkVi PDwhO0gzVCpsNns/fCNNQXZ2MCU9PnlPTgp6Z0p6WFhsbHZNezhQTUAwemJIUSprUzZxVnNPckEo YWEkUmR2JjFoTDgrKkdtVGJ9VEFkJVRSaTRNTnNMdyVeeSsKeiQ2a2BGX2hzdFRIanJnY2VNd3Fq c3pYeXp1fmJAOEo8IzdAZ2ZVQFN0MmkmT1hHMWlSQkd6cDdSSHlNOTZnbzFTCnpQNlEkd1N8eFE3 b2VAI1h3QSRGJXhQa2QkYTFIMUlqQyo2YHNXam1XSVZZfnlyWjBnV2t9aU43d1VyYnViYVFRdgp6 ViRsMkxzPjl0PnZgdXM0TDM0czdgSlpfeG4hWlJHREV6VylMSDJVbkZmdlhfe3ZJUjB1ckw8VGtA TnY+TXNrbE0KemooMUphJEE+YjJOfl5Eays4cTQreyNwM19Fay1uOyE+TU5uemJZSX09SiUtTE1h TzZCSyZyVThhY0A7VjAwPSRoCnpTVmx+fipMSz9AYGI8YDxaU3ZvfmVHQHh5LTw5P0clJUl6KEpk VUV3OT17e29EMiE5VV4xJj55TUopMDBxYFM7fQp6ayFNRlJ6NGBvTGV0MHJxWGFEPG14QFclRVdk USR+cE8tZnd8QTlnS3JXVSo2Ml9qbUlfeCl8SEo+SH07MlozWTQKekA7bkREU20xNkkjeER4U0ZJ YlM8KGdAR3w1KXBPeyVwRHZOIUpRbU1tYXpRJFBDKlNady1kPV53eDVHcDdoYXpUCno8TUVxPmRt ZFFpPUJhNU8xfSttPEZWbEBMVF8+UjhhbGMtMmNsZj89eDtKbHA8YU8hZmV9digoT2pUfCY9dHpO KQp6NzRmO2FRQVorKjxYe1hhZS1nJnojVFNBfWhkdT9NbFE4NHpvRXk0Yjk/QTJieFhrVUNfUkxq cyohVE1BR0dOUjkKemJoK04tbDg9aUwoNGhOVlRyMV5tK3htZWB1TGI3JT9FYjJFSiZLPj1fVjVa bWlSWGdqZFojbT9DIXh1KTIwTFE8CnooTFNiMSlvOFUxLXV9bzdxWCZfY0E+cnVqM0ZFNkRCY2R0 Q28qUXVxOHZgJCF0Mjx3aE1fem1tKFh9QipBaXEzOAp6PntAOUokT2cqbFZyKVJkOz96NntoPFJT RTFgRHpzWVo0YXA2Uj0yVzYtbVF3NGtTXncyVj1QUzszKylxSStgbyoKentBWG02JFZVSkxMYmFL fnAzVEhnUlp2Z19BZl8pYW8rQGhna29ob1VVNEt5UXpsWTdtPURNWnI2Um8+d3BYfDkrCnpaYHls d1I1dT4rVzhtdmBsaChAfXNvSWtxJV4jUCVocHxaNVAweUpoOVh8R1owTT05RXRyV0BMcVV2U3A9 S0lCPwp6am1kPF45ZkBPZj9pQ0BvJV5qTVE1dl5NTFl+JmAlallnTnskKCFWX0JrZzhuZVg9UHhi cWxXUiVvezw7LXF8OUAKeiVeUGN2YjteO2ljMzt6Z1NwMHVSLXc1OCE3O2NuMm8+ZkhCO2BCYUMo NTFrPS09P3Zqb1NnMV53VXg+WS1+dnR0Cno1UStmKFROKnV8QENMeEtVYmdJZytzanpKdXR2fm1I Y0R9WSpvQWpiWCQrVzZ0dFhCRms4YSNBekc/fEBFfTVSfgp6bWsteW17U3Q1N1lSe2VxOXlDdz9q U2khRHA8b0djc3JpJD1oaEpyej5jYnVLaSpmVUxnMmp8dXola3A0XjJwbTYKekZ7ME52Ulo5bW84 QXhQR1BVZnN2WT5uV040Z2Q1dExvflFndTNlJT11fmApVG1DVnIzT0JkfURtVjxEYE1vc0dgCnoj VXxJRGo1NDV6PW5JSkFKQ3J6dG5uMEJMMDlPPDYhJkwmWShvQnNETWRYM1VUM1AxbiY4e0pHeEN1 T3A/IVlnIQp6QzQ4Y2t0aip1SnBJRjlVZXUjXyY0TFNRYGp4UXQqayZLanhFRzBkcDR2WmBJQW5+ fF5BMFl2V210N1RRdlEjRUcKelQjZSU1RiNRayteYWwqPW1LeWQpTUlrVzFtVjY8cEk1Z2lsOUUm MHl3V00wS15gRWBNazJxRSs3KHtMaiNVdGsxCnpaVkM5JmFPTz9jTmJnPjZ1MiRHeFBJJWZFTjU4 Oys3PWxTQD5fZmNSe3piVShGQFRLZG1BJEZrWnFuOTlDdk5JPQp6eyZMIUc/NVBrSkJkVzBUZj9h biU7UGR+bmxiYWUjU1h9PjM/eiRgQWUoZXAtOSMyYj93VXFsIWdeU35SK3hXWk4KelAjVUJ1bng+ bVJgWjluQnBILTJoYSZUKEVla2hIRV8mPGZpOzx8eC1nMyNDWmo5I204Y0o0QlFrUHRNbElnJXE+ Cno9Z3JFPythS1gqRnNSUDUpLWw+emJMUnA1dzE5Kzdvd3huaSFpWDw0VStNQG0tbGBAYSFya2BH Zn5OTmF0YDJTZQp6ZXB3aT1BbUFSPk83Z3E4NFJ+RXE4Ty0kZyZrXyFPZzFKMnRUbCg9a0g4SXRH S0NlVVl3aSY0eT42RGVlRzZEcl4KelI8TSQ7azJZdGFFXn5zbVUyU3ElciQhM15jaDtFQ25iWWs/ eURWSnxDdi1wRDFWIz5eZVYoX3V1ZiNVeylpd2ZrCnpmK0tpKE4yQSV9O29TN3FWfXBheVQhcWlo d2o0JGglY3x9NWMtakxrQSFuZ1dtUkd5VysjNDU7PHQrJmBSJkNUegp6IUdyWHFKOURnLSRnTkJw MWRBaTVCTFAwfkRIN3FmMzYtcCt0M251Yy1sZlV7aVRxME44fThGZ0EoRytmbzB9VXYKemUpVWk4 KEc4WVd6JnRWLT5ydEBENT8kXmg7UyFXJk1WVCVpJTNHYmZVUCp1ejVxTzh9QXtgT19ZfE5OUTZ9 UlhpCnpnZnZ+bEVPMXd1MF83TlI1WWpAYjR6TSY3eStCY1hRUnE3REBqNis/K3EjVkpfQWJuUkFe YCg4b1Bhe2VtbCptZQp6YUpzT1o9OChsYnZyKWZpVTAqeGUkK2V0RlhQUzBGb1d5Q0VMa1A+fmRn cj5NdlpPaXYhckdaSzVSZjVNZ2Ujd0AKejdWPHsybyg3ditPclF5Q0QzdlFkU2duYjxvcGtufFBJ ckBIVGhqZXBDcTB9fT48KHFLVUxmSnxRbG1vSV5lTURACnpZVUwxTXVgVnVIciQoKVBrSypSaWdf X2RsRXkyfElxeG1ePV5AYmcxYXFIYmpjLVhzI2coR1pTd0lAUi0hWXhOdwp6Wm9OYklZKHQ1RT9g UXlLJi1KMURtWDVqeDdULUZNMVJGbGpaZmNUcUNnbUVrQjVQJTV3WFVleUxHWHc2TW9iKUIKemVQ SGZVa3syTWE8I34zeVNVd2M1LU12b0BoJmB0aWxlOU09K0xSJjBqVypsVihSTHBEOFJLb2JQWDNV I3FQJntkCno0XzY8MFBmeG5mNzl5QVZGQmtmKXZ8Y2JVKmkhfXw2MWs+LT85ajBtTHlXNHk9ZHpa Xjd4MWg+WlhAdWpraipacAp6O1p1SU54WVJ0QVUoNmU4X1ZJYjh3OHUyNU5FWkhwSHVZam4rWnEy cjB6P2pTVWlOYXlGRFVxbz52JlZBPCthQWoKejw5ZGZtXjE7d2NEZ290eU8laTRwayU2QWt4akVP ZGFxZWglZjFFIzxfe3J9cis+cn16ZyFOWXs4THN4ZE5nc2JQCnpoKSZ6KUBrYUI9bnE7UUFMQG9e e3dgYEcpU09qX1JmSkhYZyQrYjVTK3EjVjN7bH1ocnFxfU1Gaj92Nm8hMEY2dAp6U2hCIVM9P3JP QklDbjV7cFordmtBazdmQGpPQTByYVpoTUZtfSp4QDtCKkNYRD9+SlhaSUlSI2pkLWB6ZU5ATCYK emZ5NjNeYWNLMykjciUhcmtNO0h1NHY/KWo2dnkkbnJSZX1HUDx2Y3NPNnFzWEp4PkVgbU5Ybis/ M20xO1IwKTtwCnpUcnJoU2tuWk0rJU9pV0s3O2hOfT9+bWUtK0pAPG1udSFpS1l7e3ctJT1iOzdo OEF1TytHKU1NJns0czdkU2AkOQp6Z21lP0ozaFckNyojWSNlK31FRmd6OzRPVG44aVMxVUkhRjA7 fCR7TFkrXlgweyNSMCNnNT54YjB0V19ST1c0MUsKeiQ1eD54QWIlSmphZFNxJEtyU19EVTZZbD8l UnQjQHo+d1U+big5bWI5RH5IUVR3VTR6T3NHfk54ayNYeWN4cUA8CnozWGw5eHhrMlY8RSVPVmJr Y2tOYFd1ZUVgPmZOdH5TWS1Hb3AyYHlOdV9tJCRlb0V8ZmBPYUJBSDhpIVdQeEFZZwp6MEV1bCFp VipWVHZuJVY7YCRhej9HblEmeiRJIXBeJDNZQVh7SG44P2BWMX1Qd0Y2NWNebHUjI2dKcV59a2li NEsKentmK0Vna0VRTSYoejMxaHgjPCsqTkJMb1gqaHlkZHBFcCtkeiZTNT5OUSpIbnkoQFNEb35Q KXpsY1Z1Zk1XUkAjCnplR01qaDtmVkphPm9DV0otZmprPWFjSmA4WElIayhTTEE9PT1wTFotaV5P V3RlZmktN2UzYFhaPCRSS2ttVTc7QQp6WHg1VGk8blArd25GI0o/aDBtKzsqdS1ubHJjIXgmViZe M3xZQHhBJjV2WnJFRmIldkRBVDN6fEFDPHhIUkhwbWYKeno0fn4oUn5UV0hkYno2JnJSQWkqWXxM VkV1NXlwUHl8IVc7P25ATFReNzQzR3UjNyYrb3A7bGBfYSpqXjZKT1lzCnpUPH1rYEczTzR0Kll0 PilyOHo/KCl6Pl5UZWB4MXlBfXpxK0VjITZEZXxKLTRUfGxZd3N1Xl9gRWtSVkhyWkRifQp6MzVv fShJbFN9VS1jUk5EVWB4fkUtWkwhdFYxTUQldTdaYndGOzF9aj8yS2ArWl9WdTVUTj8rMV54bDU2 cFpSRGoKemBLWmI+eTxzLTZLWF9QYVJeOXopOyY7QSUkWCVVTVQmM2c4dD0oNzNwWFQwdEp5eUxL VGk1QEUwdF8mKCYjUj9vCnpVd2h4eHFAQCp4WmA/ezJ5aV9MfnRYYEhsdm9RQ3JIUyskUE8rfis2 T3t2bkAjNEtxMjVOJmRCZGQ5ZEVwSGN+WAp6Kn1FMlJCNigoVSR4VXRIRis7S2lfU1JJSTE7clE1 dUFSOEt4KzhheGt4Wkt8NiZhT0whdDFscSQ/Vnl+e2JiJFIKemo+NU1ZNSFRT197dHApUll5TChm eitQP2hTR0s+X3VkOXx2WmV3cDVgKF49TmshKk5YVEtkZ0dxZWJJU3Q+ejc0CnppVDBuKkV1eGFp TU87dmhMOHFHZzJOP1FLTmZpI1JrVk1WWWQ+WTdGUzdTLXtAMD03OV9WczUkeyhrPUVjVkdmdgp6 JFZ3cTNqRiVQR25HXkdHTWZNYl51ZH52bigqQkpuMnFrZHVTP2twUGNkJWIwX3JFZHctXy1hT1JS MFU3fEUoSXAKemxLc0VNQCY5Vz5uSnMlSVFEbSgyZHFldlYxaiF+WFI3b1pZZWk7X0teZng3WFAz ODxMMUcqKnxPcSsyZ3s/MVQtCnp5LTQ7RmxuITVCQGMjWUZeJDRBUi18WSlCa2M4MS1zaDhCeioo VnI2XyFubntLezUpMHNZcGp8VE5yVDchdT8kawp6e1FgdmpXLXh0bTI5X0Y8PUVEdExIZkhxeGVX P2NtWXUwTUhuaV8rO2B0ODUpPU1adyhOcV42TThQcFFPV1NNXz0Keih4bTQ/IWlqSWJvY3wlM2Vy KilNUStWeFJVRFdAY2g3ZEs5MD5tVlMrVXdLNWB6PFEpUk0mQjRZNDUpcVp1QT90CnoqfHl2dnFa cGUxZSZhc2EkUj52KGR7TnZtO05Neypgd1c8NTlqPGQ/V1o8JkB6YG5xQmclSkFmVW9IRlM1KWN3 bgp6KGJHJStvUWtRQDdOfD0yY0xifGFnZjhufW4hSntpOD47ZmlNRXYpJSReNnU/ZFBxM2wkTGhg MTxtZE5CVjBEJEAKelRDKUZ9TU1NaClCTl5mMTtKZ0pwPEJfOExTS2VAa1dXKV5rS2l0c3RAOU51 MHs+P3tWa1NZPntJNX1mMT1QRSp6CnpyUkptfkZhTiNKNW1+U2lzZHZZeEw4WSE0Xk1TdTw1Ynlf cCohM3tJVkF8WVhpRjZ2QSklXkdUJSpmTWlpdSRgOAp6U15wRzN6ckx2akFtQ25oJW5+PmNFUnwz SGR3M3paTlRJNjZ6UWpHbT4jKUJCMCt9Q2l1dSVFc189fE98SH5XO1cKeilgbUBXKjRAe2IoQTxB TncqdDw/ODR3NUF5dldabEVeUVNWYD9uZl4jb0ZFa3V+MzgyTFpaVklUTkBnKkBNb0llCnpOYGtk RGBWO3MrQW5iUyg7VyRVU0A/MW05QXhzdUsrJjZDQVQrMHVvakoqQWxfJGJFfjA/e1VSPCkhV2kz d142Kgp6I2BvLWtpK3ZQPmNRKz9jYERHR2tAVmxZdk83e2FXRlRLVShJfisrQTZCfGtDdEVmI3he VWVNZSFreUxBaGd3b0QKek8oSE1TUmkxJk42NlNxR1BIPz1ueig3ZUZpNSE5JktNeEVIWH5HKlpW UHpDND5jYDllUnRsfUQpQXNFNDMoRG97CnppfWx7VnBnbVNYYGg7Q0c9aGR2KTtCbHB0K2VfflQ0 dityd3NgKi1DRk0jbm5KdXF7N3o7cnZGKlo4OGx3MTNhdQp6Kz5wSHZQUSRzWSh5WUBSRHB8SDw5 UTIlVmB4JGEpV0ZCdzVhZXU9dyptcXIzRzwkdXlOJEZgaE5VZnM3eSpQQlIKelR8Szx9UWZgJGBh UGMlSW58eWV6RDc3aypIVUx0RUA+YTl5XjlDaGE+bmBlJE1wTF9TK1pHZnhjaClUfEFzKzlQCnpB I21AIUtNQ09kdyVSND5sOWVBQTdiRXEzOyF9NmNFXy0qeUAld0VVNTRWeVV1U0hYcmIoYzkrN0Nn eUZUWmlycQp6MHFaWHBQPU9XPSooVFo2eGsyckB4ZGIwRGNYflo1PEFkMHxrTjJSQzdFdmtkYyRj OVMmPWVjUGdUTkh7PCl6KD0KekBkPFEhIWFLX3lESzYxTWUrWkpiT0s5IU5yKzxVdHdIX2lGMz51 ZypGRjlPPUI8U2ZuYGlQSjdmND9qPU5taWxmCnplQlh1ZUwwRyY7N3haczE/MXVvJGtpKWchRjdl NCZgUzNwelhmWHZRJGxZPkImR2YzMGUkVSFRSC1NKF84JTEwcAp6anJXKCVnWURAXmNGPDNgXyMt eEstUUxyN15VZEt0czxabXFZb2B2QXhGSmpwbWc8QHM3VUtCfE9NbDV9UH1veHwKeklSWVpCJmpG bnVgXjB6eVJsKjYlKnVQYGMzKEUrR01wQj0pXiR4TjtGJWB5LUsrTj9edSVzYGp7WnMjcnEjJl8j Cnp0WnFoV2VsTGE8bTkrQl83YyF0QWBTI3A4elE8dV8+RDNzZCFOWn5kbyhxREAqaT8+SGpKP3lO cGdMJWJKIXR7UQp6KkpvbEMtMHk0fVRHRW5ha0BkXztxUyk2WV5UMy1XWklkP0VzPCR9QWJaQEx1 ZW1oPjFWQ3o8PEJSTHUpTlIyMUsKeiVtSihYc29PaHpEWWI+alJOVXZuYH5Sbl52djZ6ajRnMDwq MHdNXkFiY35RdnkxUyRzRGRgNjM5TDtEIVheYCRsCnp4PEB3KDM+ZSpgcShedTImaUIjWmIzRlM0 Y0k+ezdZdio7d194bXs7amVobStYb2pqaDtHMldscjslJkhyakM1WAp6eiFfR3IkeE1RMShVK1N+ ckQmaF9RaD5mYylHeDl9WkNjR3o7WTJGdV44bFhKWm1MMS1tQyZ2b2lAcE4lYjFgM0YKejNJMl5B cUcwTmsxRilDIVN4OGlpaFB7KVlVQXczS29acz9LPTwhN1BYRFgmV2wxczFQTylDNnE9WkFZQHct TnFoCnpKWUV+Nj5SZXt5YU5LMksrMTl6QkV4KyhAcXdTKmNxSG4wSzRrISFCST9gMmdJeXFnSTd1 TVE/JXcxbFNfNUMmKgp6I3xzJF5KbTNwbm4wTFZxSXkkfHMoV3RRPV9RST0zIUFVSnx6XnRsRVUw ZnQzOz4/Y3pwN15IVGRQTCFHQm5zbXwKemRJWXRZT3pDTDFKNGNkaWR+P2Fsd0hBPGl4WTR8YjZV Tik5S3NPREk2JHxUPCFWX35DeD5DVnMoUHM5cikxQG07CnpFTjxTdFltUFA5KkY5WD9VPFdQaDda aGlRJTJnWHhGPXU9T1loI09GJktiVDBmYSt2UU81cDEwOGk/U21CPnNrMAp6VTNYT1A5PnYtNFYh bFpxVD84d0hrPDRqWEU5VGpgdTc+YDVqeEVMKlJjYUpAXlRXKmpyJXgqWDlmR1BoVHR8MEUKej8+ MDEwRzdJdWUxQVllNVd3XmQhRyt3O1k0VE1TZVNVdkVTNFpte1FCRXc8JWx4akZ+JjshemJCV25A bFQzaFMkCnotb1owNSRee3QkYzlzY0p0WmBpcmBMS2Yzb1pvSTdAMl4mRzlsWkpobUE4RFlIK3ok ZG58dDY4O0hmJnx5XmFhMgp6Ry12MTNDQUw+QSVHJENCPWRAM0o2IXdZSXlKYEZTdXwlekY9Yk59 TUZheFhZVUo/OV9sXnU8KGFiYDkpZlk3JDEKel5pYDVTOFk5RUlANlRVfnhNeDcyNHE1TEc5UXpw bTZOWDUxOSlPY1diYnB2UU0oYXo8MVZsWSQlY29VUUhLMEI4CnpWPktMPDNvbWY1V1ZpWkFuT3Q3 YD9VQ25QaTA/MnslamB9YHNHdzJXOXl9SGwpNj9gMFVVOXFOSV9EX154SVAjTgp6RXV1U0Jlfkhs VUZKISteUklibj95RE0wZUxhNyhLPXV6fWRuTktxSDE3dUkpQU5NK2JIa1ZZXiZRKUdtUXFpRXMK ejQqdkh0TT5FaTclZjBIK3lNK0ByaER9QmZ6ej1PV19wZENEXz8wTCR1R00heWlhV0RjN2R5UUBf Y3JBYll5bjBuCno/XiVOPWg2Y3VQSTU4KEltfTF0Sm9ffnpYcTY0Tjg+JD4yVDNPWWlrUmw5eE40 cnRVMGh2TyVkY3FpSztuYVNMKwp6O30raTdIV1BOVjNUblg2KyRpVU42UGh6fS1xcy10LVJ2KD9S ZVlQPWctcEdTVHJ+PGQ2Vl5sTl8/enhmTD9PU1gKeldeTFN9WDw1RnhseVpmbCp6KFUkc2MjQGd7 Tzk/bXpaWiZkdWBWbT8qKy11WSZ4X1UlTkw+ekBTTjNrdyZKYER0CnowRERLezBod1l4ZDZASGI4 Qzsyc0Yha3xQX1NZRS1LLUQqbHZuVV4lQipXe3xMfkNRejlQa35ZMn5RIX0+R340Iwp6JTlVYlco RU8mfko5eFF4ZjVUc0lzREZ7KHluQSRuR0N8JkZoRUZzVDsrUWZ9JEItRGM5a34rcWg5ODRQYSMt JDIKelA8PHpQRCpkQUpQJlcpK0ZlZml8YVFRM14xRkBYazh6cGRvIU9qWW1vcWlKd2hMRFRZZStk bzA9IyRGQGJ0LW1eCnpXPHlOZEJmQHhCK2s1QWYyPV9Xbi1PPm4haExYTXtzeUsxN05YRWdKN1Ze NXo0SDA2QDh7NW9WUGMhRUNXMFNrTgp6VXhZTUpWUDFwIXIoRSpzYTJ3aClgWkNDZnpibmI4PEpy RU9ZYz1vTmBPY0haQnhtbnJmPEYtNVNjTUkkMkxqbiQKekhXZzk/KyVzK0dDbjxieSZsMWAkPUc5 T3ooQTx6eV5xcEImQyozJEhedUJOWE8kQDVeYWI/YDE8cjVwcz5GI2NlCnpBOHE7YnNhRmo0aWYj KnhnUm5CVWtweiV1PVF8QEVOUHZyIzZOaFRNVUpEbFMmOT1BQlJlSSViTVlRbkNPWEMmIQp6MSRr TzYxMTlhISQrN0orTU0/TjhXaEFLIWZpdShHI3J7S3lDUU1wSTRmTFZAdSg0P155PERJQXVBYWh+ RFh2RDMKek9vUTt3QGYzJCEwP3VyTTEtbThuQHp9JiFFUWh7dGMrUmtNcDhpVnZjQl97PkFFWUI8 TUlMd1RgT2Fja2AwMDFfCnpKc1NKemJEOEZRYXNMRz9sN09Sby0wbCUldkt0ZEJ0UX0pcmAxX01Q cXBjciV6NiVPSjVpOXJUTT09cUQ8ZDFySwp6PXswUkJXZlBhckx0Kyg3eEojX3h2LUhSTkYpZFN8 ViRpI2pYZ3hUTFM8ZS1AOCZAU05MJlJwcWxyTDJoOW08UjIKenJidmoqUjRUPV9ZZjYraigkPGZ9 JW1ZPEJ6M3slZ3dDMHUjaURKSlBndk5IMF5WSmt1PGg4YW5EXyM3Y2NOV05uCnp6WVpMOFNtNXIl JXxKKHspUn52PD5SbXhON31yfTU0Sm8yVVptSkdxbmQ1eWdtbFZDdXdrZyNOeXx3WCZ2IzNNSwp6 eXV1TE5SfE8mZ3dAYW10P1RwflNzZWYwNThNMDU7MXd4ayZJb1dgMEFlXzUxTnFwTztueSRTc3k2 eHhkdFBzNj0KejBFRiFxREshbFomRzYzVz8rRk1QSUNLTj5jb29YMSpFbC03cT9wVnFoVHkmeFo2 Yzllb2RnTmw8eVNrd1ZKKmNJCno1fSRkTzJmTENzdmBKITYqPzJ2VWo2Nj89ZENWWDBGV3YzVkF5 OzwmV35Bc1o7c3tCIU5MWThiZXV6aXhvLSsrMwp6NiQkSVZVIUhCTSlWc2FNQzBqT3hVOGM5UCtF a3gwPzU7e1pzR3o5ekkjaVUhOWAxe1hFQWc4Yz9rcEUyMkBANCkKejdQailxU05QYX0hNUR4Zi1i PGUpPXFtOW1aMkh1eCpuNnhvNFYxdj5eS0tJJGJfRDYhKVMtJGVySilhJGE1JVNJCnowUSUxZVMj V1MzTWo3UUU7UlVUbUBCUGdNRnZSYnk9V3lXTz88UX10RDY4ZjFOU1grfENDdXpRRDlfUmFjbmND Owp6MT9jXjxIZlEqSUI0KmpwbDhhTFg5NGFDWkFYejJCVitqUHArQjtQZTVJb2c+ZCs7NyUhSk9H WjswPUgoNnc/JmwKemohO1FiNlF8TWEwT3lIRjl5d15IKDhsI3ZSdVRAaVJEVVB7dzdxQUhzPURk NzJpaDt2VWhGbGhhVntwbl8ybz8hCno+VjNiNHdoN00zPkI/fmJOcyMpemxvVmFWLStWezVJJT9r N2khY0AyZmpAdlN5fmVDT294TFZ7KFEkUXYtQiFocgp6WHRFTlYmaDZBWHFeREwlOWt7fnFGXyty K3Y4N2R4Uzx0TGImK31veGRCcT9QYyo4NjJIZk5Rcz1RdjtPSlkkOHMKei1xdkplV0BQP2p1ajd9 QG9acTVNJTZYVWR6KkludTRPRjBPP3NxdzdaQml3KWpQUSZpSDtZKVgzMnJXaCF7d3deCnpBeVFe VHJfYn5ZOzlpRTl7VnQ5M1BgKk5WeiRwKHExY28pKktyazxUdHchMGJvT2w5QndlOSU3SWJ0JnQ2 MFR0YQp6VVZgKCpvRnpveDlrdm1iOTcpMXE1a2N4WURwcWxiaGxqYFJ5ZT5sayNeR3p4R1c1R1lL aU9kTWxPKj9DJEtsY04Kei1ifUhTUSZmel5qWWFxJDVgYH4kMz13Vyo+ZUowKDdqYig4aTI/c0Fo KX09UHFrOD9rVXVgdj4+SHFWMDtXTjskCnp2ZyppPlEmVXFYVThuJXc5NTk1cmg0KWVPNXdUeCkx QSQyJXdgOVdhLXlYfTs3cGUlakZASEtYa3whdW1aRzY5VQp6M01sfnd2cjJ5eztVLWc0V2hgfGky SyFrQjswRkRRKnJ3KCZJME1vbGswcEJmXzcyUFFAQUF+V1JWRyZGRz5JUm0KekRlOztzRWZYRU5u Tk0xTHpYMVo+PH5kSl5oPHdOV3FTM0ZQbD5Vd207OEkxKDtoOTxuUS1MPUpTLXlqZUQ+XlNmCnpH WCYteWs2OVlWdDV3eyNMO3pzJmN4bTU7NnFzV3RseWI5bG5LOG9STzE0TnVrYmBTIyohZ2FAXlU/ eyslRjdjRgp6OTdoR19yYWZvQUpeOWQ8eUQ/S0tvXll7Uzt9IzZpZX0hPEorPmBEZilqdzMxP0d8 KF41RzsmcT07TktUPD5TN0MKelV5QypkKWhmZE87N2xEdGBfb2I0UT91KWpNYTIwMjxUdjFQX0E2 SnUqYkBXYmwqUn53KUU/X2N3OHlQPG0jRUllCno3aik/cTJ0JFdjOzJ9QFBidERFaz1XSyQ9ZSUo YStIYk8kN3dlb1kkMmQ9dnVfWHB8I3k2T1E4JUY8PTVPVkF2Zwp6QlNgLTNkeC1PSUA4dH5AeThR a0pMQ3lMdVkpbDs0Q1FJUCEoYVNnSks7bGREakxySzZaUng+NCF6P0M0bT9mUjMKelRiREpGd2tu a312ak1nQTtpUjx2TiQoMFJqUFdGYEx5KDApYDBQdT5jcUVPLWg7ZWl9cW88YH1oNXtqbmlsa3tz Cnp0RlQ+Xi11Vy1FeHNQWG5BUmpQUlAqfVVAT01PTFU2bzkoNDZze2w1aWcmLT53ajNpUWdfVDVM a1U/M3JjcE9PRAp6VT10R2NZSUM8NDVofjReO3J6KXpoUXM8amJ0Q0lubXY/dUdRKFg2ZiZWdmt3 TiR5Si1PcG9hJlNXUzF8dklmU2EKemVmeWdIJCh8ZVFhOzdOJVpCXipMP2pPKXBFelNlXy1raW4k QCNaS0FVej5wcXtBUjArTX48ZW4zPUBLfGdkMDhpCnpAaF4zN14tNDc+b3crQEJRSitjPm9tfFlA dXczc2JgQElWWjJ7fVFpalVXaXRoRCE9UnV0YXd1UkpEc1ApMXc8IQp6VFV0YDAqSk9DTk1zUEFC YUpWaD5AYTdOZkJtKWE9N0BeTzRmbE83SGxPdCoweFFhNFlXZ0sqT2xHTzFnTGMoTiEKej9UP2s1 WFY+Knl6QiN5eiF9Mjg/USQhP0h5b21PRGE4X2VoYGMqPVpuZDJqUik3fkVMZEoqbz17dmZGRCtv RVY5CnozWkJQcG5fPW84Pj54MWcoZiNeMyZqQXVrP0tNRHE5JDttQipeTXp3dkl0JjB7IzAhcCpg SDBkcXBMfU95QilTMQp6U1d2MygpaUlkS2YwTSM9UkomelFaTUdKQjNyV0EwVW9URn1OXz0paCZ8 KEdtQC0wUjBISSlrNWx8UCNLSERXZXQKejduKkxZM2VVSHhoJT1ea2lgfXJ7PyNFUllYODErc1Uz UDJwTGAwWkdidVkjUnBYekBgZyNsI0F7K1B1Xl5aMytXCnokciY3REplREoqO1Albk51blk8WDEh PzxmKXB5NyhzMC1AbCpCX1A7KGVyU2NOR1ZmclA3dyk8bHl+JDYtJkg2Swp6Zm9OZ0tsWnApZFFI clk4Skc8eCVWRkxGZmJvMXtLV0Q8QUolU0c+S3FmfG0wZTFPK0JXbH1WUSlnQmBgeUlCfHMKejdi eVkoUkokTCtmfGw9dlhPUmJkYkohI0stdGA/PVlFVjhyLSU+Vksmdn47JCo0Kj19JndjVDsjVzJB OU03SD87CnpnQF8yZWNTVERiIT0hfXBpbFVsU0Bfc2liSSEoOzZNeEd+WmFAVCY8VDFmbSF2dWxR cW1NIXhlSnA5SnJSYnN5RAp6MWNwbkJwb2kkV2xMVD52NHJ6K3tuIXFvQWxJZWhWZG9ZSiQ0QU4w VWB3cHdQYlhGJm1RKWM/ZFB5KFlob197NT4KekNfZ2Y1NH5tIzJpM31AUUlNP20ocE9HJG9ZX0Jn RG1MSH1nc2slb255TmctSHd4PiN5MVE2SnhYKT9RcFNBbm1uCnpMNDw2PHBNeHFIKUMmNyslcHI/ OVZybGJ6e2NrVWpsQ09kcmR1fUIyRC1Bb0E+Xj1zVlVVaHxTQVpSYzl5SW5LIQp6e0goNEFPPFJM Um1nJWVHWjJWe35Can1fMFRxSGFMTTw/UmZKclI9NWI5VGBLc3BuR19Id0hyVD51Wk0oWCYzLWYK eitYeUBTcHkqWl9YX3tWJkxMV3M4ZXctcH1vNCE8fC1udTZ5JHtgZSliWFBnVHg+ZD9obFB6I192 IT9ZZlBaTW0mCnpXczQ7LVl3QG5DSihwRkJuZzlNMXBTNGt3UGl3PXBQJD10ZmpNcjQwJHVaRk53 TytUbiQla0Qra3EwQnN5UFZzNgp6SWY3KHpQbCtsSndnfTteTytGZDMpeFhMMytpWVp0cEE7a2Jq R3JoRnNDKi1pYyFYSURZSW80TTY4TGhSI3FUPHQKeldUVTUhKXM2Qk5EZVZLUlB7ZllULWJkfm5j Zl9TSiROPzRuVUZoWXx2ZGBVd1ZFaXhnaSslUys+fGFsSj5AaitFCnp1PERqMk8rRXNMIXdjJV8p TSp1eHZzdjwhLSVGRF4xKmY1ZFp1aH0zUSMqeFgwfGVGRmN8QkctSEBRcndlbyk5QQp6bj5xfEZn RyZYT1FtWmBvWHRiVD9XV2lsSGJ7SChlSmFlflZ3eGg0UEMmNl57akxpZDgzSXphP2tENG5HbSVj d0QKelVscWtAeyNpMkhFd2ZxYE42em0xQE50UntTYVVkPVZVQzN0clItT3c9Ym1rd1ghO1glP2Uw NyFPVUIjQE9BOH1TCnomaS1NKmpIcEc7a25lWVgmJkpQRng8VEAhTVY3V3g2NHpoT249PzJqNjZ5 ZjdfM2RVOVJ8SCpkJUFldSlNMkFhNQp6eTR6K0dgKmpGYEtGMXpRIWlZVUNvY2l6bz9MZjNNNzxj LXtjbWshSCNHI2NFQG9aVE9YZVYmUE07I0BSZClLNV8KeiRCMTBJd0RIa3x2I1BqUWhUQDkzPElj SjFjYShxYGY/P3J8TmFJP3BqTEo/dzVHaWE0bSNNVzkySzJzUjYoJF8kCnokJGxrOyYtVkg9NTwq TGM5ZihhTGl3STxiMis8MEdgN1ZoWCU7bVd5Rz9RdHp6fn15YVdAbHVSMSE3YSNNdkwoMwp6eFdt YTJQP2lrfkc0en1UWktUfCkhVz5vVVpMaChNTCZvbkEyWDgmaS1FblJAZG16dVQxRyRHMURCdEFo WUFqKm8KelJkbnQjOW5kYntpTzBBMk9idC19eXtNPl8zMiZwfHIyRWAqdSFuJkJ7bHVaNSs2OXJv JDNrYygzc3smPj9kQ2diCnpVZFZOYGZObTV5KWlQKj4layNRaW84QTc1SE58Sl9uN3ZZSiMlYjQm MnkxPkB1ZWlHY3tsZkpBd2lYSW1Re0hVMAp6NVdFYGdhaH12Xy1AYEJFLWZpYFlJdjZxanVOQz9r ZkUwJDAoUTFAST9za1V8IXdzfGhUc2R3YjJVZ2I5ZTU2MzkKenlyU3NFUj19T0BVIW57cFVFPkRi OWtfU0lCaFdgZmBga1l7VVNiTEN2MDZSYDBxIzE8cTZIM2tgNEQ/fiUqT0wmCno/UjV5MVV2KmpG ayFTP3Q/RVZhKz12fFowQyUpKT5oU2VEUDdDfV50THMkQERVKUFjYSVXQig7T3pKKXt3X2xtaQp6 eWAkN1E0b20wdm9ucXFkVFMxITdBV0VsU29UWm4+VnBMUFRgbnZ4M0FqYEw5Z1MjRnd2eT4yaWtv NkF0KkxpJEIKenw5U1lpcFNKQVZtcmBpUUN+K15JJCEqa3g4Y3Rsa3Y0cDZHP3Y7fmh5YyQocWx1 Rl9Fams/PipCIz1PUEdsMWZZCnplU1JgVXZWTXhrdVZAJVU5ZVUzMntyIVFqKnVrRURBJkh7WUFr UVY/eVR8bT9BN0BNPj9vaEVJRyptbXopUXQwcwp6diQtX1h2KG9RayZ1KDBZU2J8SHV5ITxZSHY1 VUh8QWVLdElqcGhIdzVLI343PTJgTWtWe3YwbXpyUWtrcSV7PVUKej5EfVopcjZ0eHF3SW5kIU91 cnJuKkNnSDZTd0lFPHRIaDk2V2BeJVFzXjgja0xSSkVOKXhLZU9JNWIzSVRtNHc7Cnp1a35oTUx3 biRwQWs4RVIraj9xM01pRj5ES1V0aGNUflkhfDcwbmxHKyNwem8oODQmODBRNW9yVCozWClwMUEy QQp6Z19LZnZSYiRWKTQ0Sj5eNF5+fkN1OD9kQCVzSlYlM2c2b3tPLUBmaWlnNy1xLW56bUxBS29T MUUhKjw3KS0reXwKemJ5cHlqYHh0e0F0Q2VQJFZKZFdvJSUhbmlaUmxvWVFGal99RyVBJCt4VVhV XnAqNWIoTDQ8K15JeUdWIWRzXj5NCnp1YDBoU1lpYlUtMExvKjZUblZiWlpeUThFJEdFPGJCKjwj bXdGJnBJWUwmUl51WEA0VVlqaDNHXlBfUWVZNl43Iwp6PTZVVHlwNC1XSm5BIXpUZnpjMTxDJTtP ZWFwYiFfcE1uKSZKOEA5MHt3O19tMHs7TEh7TXo7bU9Ia0FUYHB7WDwKeilMRlhBX15DYlBeans8 Qj9XcGltWShzMXZaMGQpdzNgTldqdUV1N31LRn5oQyFCNmNrSU1TKTFnSWs7SCt6IX1jCnojRCVG aSZTJk4xX15pV0w7OypmYTAqbzVNYmNIc1QwV1VCdEZrQlhPI0FuP2t0NzV4QkgqUnNKPWRvPHFw MjxwNQp6cEF8OHYwOTU1LW1PP0hHJnxgdH54VHpaPklPPnhBVGszQm8+JTk4UFZLQD4jKl5EQkZa QSlLJmBTQGw3R29tUSkKengzPVZSUEV3bUJXPEZaJFNiKz9WPXQrMS1SUSZOTGNAbm1mIztlMWhm XjB3Y1JKMjR7KiN7SkcoZENvdiRhJHVACnpRQ3QwY25oZCFvZmhea297eWxVV28lY2xNbDtlOSNk a2ZTez18dXVvYGlePCNPaSskc09qO1ZfUD02UG42KWY+Nwp6PHlzRzNFYT10O1Zqb189UUQlSz82 fXhoREBFK3E0OGdZITB5Yi0kQ1M0PXYlWWNDZW5wXkFQfG5EbUdkR1dOdmEKejUjfHllJjJ4S3hr R3hWa2RGaHV4PjYhfmFrNGg+IVZtbms5K0xtYXFBcE1gOEJ+ZzFVVChnN0JSV1R4fiFmbSUyCnpY VVNmRUV1RTxEWDhicTNUM3x6M3tOMyVvWGw5amlDfmtBUFFHVzdUdkcqUV5XaH01Pl50eG1LKGMt XjswN3BzcAp6cHRQfkdIM0Jvcml3SS0rRkc8QSgmMiUwb0J0QVV2c0JicEZOdHpwWHZ7aio4JW9k MzI+aCE1SVBgaDtyIXMpKDkKenZTQTNBJmEzfVNJcU9iUV9la1pRe1RsempAeWhIZm55WDV4IzJg YkE7eT9rfU5wfXx3NEZyd2tXXjJESF5jOCR0CnpNYjlOK1NPPjNuTERqUTFDXypZdVd2Sk1YfEtE djtMRGxLNEMqMj5VQlExVCN8OGU8M2c/Nzc9Q0ZJYFkxYl9HWQp6TVo8ayhZRjIwLWkxaj8mPS0w WjIxdmdpNVhATFA7YVh9d3lFM2g1O3g1JiQtOEZqV2llSTVtZlpne3h6eEooaEgKejNvZUslbHUw U35qOEYhVCtnb002eTNDMVk+V1QqRT5vNXtoK1FOUj9zKnopUXJMLT9RPzlgMC1lJlp6JFFDYlBv CnpZTShSLWNUK1ZVKXdLQ0VuOCo/SV9xKjNWYmdtbXxUVUQyUnMtTVBlTjUxVTVJP0ppbUt9U080 b18qMTNHUjRvcAp6Xm4oMHFGP257aj1DdGFlMjR2VF51cEx8NFVEZWB+P0cpfnstZHxVc1FTKW1n WHAhMm9sVGAyeyR+TWpMQCtQWDkKekYza3RqJVhvSzdVcSVqKldSeypVWEVXfXtKSX5rem51fVNA T0ZzfjgyVkp4YDdiPE5JS2RPSig9MUJQIzk9SnVlCno4cnUxOSRfNU1aaGZVcEY/bFlDblIzczVg aHtXT2FwelF3RUo0KXdeNH5HP2k3cEFkM2AkeWkpSChrRkppU0dfMQp6ZWA8aj95QSRyWDd3byUx U0JwUVckVEJwKE1NcDQqVnRYM3RCd0JnJmtTS2heOXR8eiE5ejFUak5PRGxUJVowMTUKemlkJVBO Q012QzZOODlIYHZwWVN1M0FofD1xV2RQaGg1ezdJK3NrV2NwRXJ4SFJ2TGhGM1Z4IVFQUFp8XzUo TCV6CnpqSXN0LWElUUo5KE1rKCN7c3pyJCpRWEVuY0JeWHpUezZaK1VAQ0d2YWNXVGw0M2ZvVnVH dnwhUVpyTGxTeGRhRQp6bCN7My17VktFWWZobXRPZCReYEo5NnwwMlRtQmspTmF5P0JpeU97UyVa PWpFTXpRMXNEXmRwaFNlfF9nKFcqISsKenlSO1p5U1p2WFArUHd9Zz90ZlA7PWxTLVo/eXB9RVh+ fCYkJH5pUDdWU0ZwcFNBPCokdjZKOWp2fkghZUk5fV5KCnpzUSokQU9ncUMwPWM9Kz5xOWJpXm5C bHY3IVlpQ1gpP0JoUWF6T1ZsTT91bmtqU3ZBWUc+LTh8e1QhTikjdH0hTwp6XzVSZFFWMG57Vkt7 YzM5Y0MoSm1AJik1VlBKOD1Pbit+PV43P0dleSlxP3cyOWlQVyhnemtyQWB3IXdFRmhBekEKejwt elFGV0tJKSExNWM5d05MfkIyNlFRa0krYnxjYV99YE41bUA7Tj5YPUBufXpvWiNZT01CP0BaYkUm aEo7fk05Cno9aGsoTj5eTFBOYzR8V2tgWmBFRTV4KTstVXkwNmFrb29TM1cwO0Fmemx2VT9WfiUm b08xNDsjODNKcWUkRDVFTAp6akowR0U0QFZUKTx1WE9tV2M1fig3fktWNXlCdTVkcm05SypDaU11 I3NxVyhZY3dqfU9jZSZ4KTFnbnhXKlRFYV4KenttM0ZVMlhFaSpjQ044bTlLUXUhQX4ren0qdmpo MWBxb3k8K35VY0pHWHAoKzRDV0x0RGo8ISRBKG9GczJlIW9ECnpiTWIlMSM5NTtIYFdhO2daUyFy a1JiXiFnaGBuLSlecHc1RV9STWFAczZxQXpRJFB8UlNUQExCV1c8SDJZdC1ibgp6KWE9RkkxTSgt SzNEXiZMZl53NntxKVlxOV9hN0pjOGVCYDU3bDw3YT90MFVoVE5CT3NSUzYkSD5PN3NebCtfcmoK em9zXkkkVj1tZUJ0PW92JSh8WlNGTEZ8N0FgRU4ocm89IzBeakwqKX1fd35gIzgyNU9RO1NJJWlj UiRyYHZhWCs7CnpHIWQ7KjwlWnZNbXRrISZzVXMwRlF0aWM3X0pveFhnVkZtTjJEfmthWElueWlE O1V7dnRybXVKZCZ8QUxrcEs1NQp6Wmh0e201OU1SUEFHaFFgMl81RVdfPD5CS1dRMnMmQ0BUV0lW VSpmcTl+bHsoPTFGTThEe2VtNTJfWkFNKlVXUmMKel9aUkkmVH1YdWFAelJiNW5qUzU3WkYySHJa RzUxeHt1bVJyaXxlSEtKaWpHYWYpdjxAb3R6PkAjVS1RZzNFNkZVCnpTJlhidWdRO241VEVvbV9E eXImNHpPJVYpT0VkbWpMMVcyaDBjWWNgQCVuZm8pfWlhfV9oTXp3aTQmKUh0PlVpewp6NzY7Kyhq azFqUCRFeHhUTzR5KW9zJFl9YEZQWnRCKFJIR1Fje2VCcU9JTSE5VFZDRVJJUHpLXjU5fWs1WVM9 KzsKemxVSHlKeWFxNz10U241T1lITTlPZ2daITJkYiVvP0ZKQjVrVU04X1VLOCk9I1ZRJTY3IXMp c01UKSt8fEgqUF5iCnplaWViRVN+bDA5YCtAbHZUQSZQR3RmWHFyNHhkSilfcVoxIUhUWll6X3t0 ZzteKiNgZWp0OTIldD1yNHJecmo3Tgp6WEE/dDMzRHF0Z2VqcS1HYV5tSXxDSGFOJWIpcUhrIztz a15kdV5Jckt1NWNAcjs8YjQ3c013KmVxbjBmMU0oR0UKenJxdmQtTylDP2c0VGV7X29MWWZ+cnBN IzJQYShBN1gpTWRBO3xTXktlY3FJKl5tPlNJRENELW0qam9UQT18eGVmCnpaKzwpJGlPN31rJDM5 flJQaEs2LVRTaFZ+e0xBUTZqRFVAZT8kPSR+UDBhUmwoOFQ7Kyh9JmtENjc4b091NnY+eQp6ckQ4 dDJNZGlpWThaO01seG5QNCRScVA/MDVWaEZpWGpsTFhucHBVd2g7fHpRPnMzKS0/R3dhRFIjSGkj TGZrMHUKRnt7Y1lmRkFATCUKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL2Rv Y3MvZW5fVVMvaW1hZ2VzL25ld19jb25uZWN0aW9uX29wdGlvbnMucG5nIGIvZG9jcy9lbl9VUy9p bWFnZXMvbmV3X2Nvbm5lY3Rpb25fb3B0aW9ucy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2RlOGZjNGVlOWE1 MGQxYzkzYzM1YjI3NGNjMjFmZWM3ODRjMTEzOApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDcw MTUKemNtWl5KMTkpWjQociM9fFktN2lzU1E5NGBQd1pzSnd3KzlEK1l7VGk/VEt5TWNmTnp+b2Ny Slp1S2xkMVlnTkAtCno9PGZCYlVFTGlqfDZMcHI0aV5wdDFPIW8xOytyQX0yc2trYTImZ1IjKUV8 elpLMmFrRzIhZiVSaD17elRoelBOfgp6eSQjVUooaWo5cEF+YURJVDF7eUxHZlB1Wigkbyh8MD02 VFJsLSlOME1GUnF+I1EjP3lkNXBZKTM9Rns4UTV8eEwKekF4fnthMXl4ajRSZENWJnItZTRVJEVL UlIhczM5NjwqIztGKnJWMWUmcjhxRXdQJU5lYVVVdCpNSkF9QSsoN2NrCnpqZS17bFR0VSFIO0lS QitiRzsreEYpQT9fZkM7M3ZKQm0/JGAwTXBHR3N2am1yO0QyZEJKcyZiWkY8XmlfVUArJgp6TEoo O1gybmFkJjRxZExXSmN1MURoLTtgSUJfbzZ7SHE/RWk2MT1mRlVHVEM1NV9xNiU1JD5WczYkfF8x PzNVRiMKemhhe31sUGRyZkt4aEdGSUIjX24kYDYmUn1vKj8xNkk3KnZ6NUU+MUx5Qkc+SVlgLVQt emEkRFdFcDx4eXBhWTRzCnp7e3pjVTd2Yl5BbW9VfnRuPlkxPEgmNT9MOz5Fb00jeXpHYDtpUmVU NTEqdDFBOERhWmB8YzJNT1NUJGJmS2FBRAp6YEYzUmMkYyh2NksobGxqMjN+T2BkO2NaNXU8U2Fo VjJPZFRhX3R9P0l+SHx3d1lNKjlPPE4yUkNTbmEmS2tEcTsKekdJaismdHRNSmUwQ3B2JlZfSEU+ YXpTUkJkO3lIeXluU1Z8LTFuYiYtN0VHQzt5Z2BKakYqcFBqVyNMPTZifClvCnpvYypMNUFmS2xP YzhZKzBXZV9Jd1NhSiRYMU1RIVk9eCg3aXhPbjQ1WVU3YXYpdj5mKz1DNDxVI3hXKHlNQStaZAp6 IzJSQD9nKUE2cDxxYEo2NlQ+TGwpI3hrZig1WGJ0UDZFISt1M21SSntoRD5pX3NObTNleG1PaEst cl4pXzRjeTIKejcrUjU8KXBGPmJXdEI2cjNHcDsoQ0p8TE40MnxUeU5pPUxnOEwpfmY8VCozJm0h ZEZ5TS0oNj1xbTdXOD9HSDZNCnp4RGcrKyp5I3h1TUEtNlk+SVJjcXVJKUM4ZmhWYHBNJTJEYTI5 a3FhYFFoKEBweFZ4dkxqZW1PcTl3TGpRUEJlZwp6aHx4ZD93JVZzWjZpfSlDVSpyTmJDZ3U+MDkt fWV1ci1zMyFOZjx6OGg+MVJhSldSelF4bDRtYT1aTWBQVXhIeTwKekBMUWhMXz8mIXx8Qn1CejRl aEcjNHhaRitZazx1aGhBcmVjSUJgWUgzbGktJmd8Zl9SJVc9VnBhKnBORVliZWFLCno0WX5+dzVe ZCZeUjMhYlJPa3gmPGQ/dV5NRzRhWXx6NXdDc3hSJlFkc1RCY2NncjxYWHVFRD0tWn1tKnFhbjlR fQp6KnApZSR5cj1VKnZwJHNgWHoreWJLbyVuODJGaG8yV3xvfWhvJD9MbVJVUiRmJi1BQ1V0RXBV VTRMNXpYPXF7K2sKenlkSyVtKjkwd3RvfW9NQV44XnFLOykxflExaFgzKSl7dlI9SFV8XmxTTEs0 Knpga0dhMkAjRzZ5aj9mJkZDOzJBCnpGU1dYfmBwaWY5M0Q0OUUtJFUod1BtKWNSdyhrJDNMd2JZ enNtNUVQX3IjUEcoaVh4NGEkKnk5ejx3WExAPndDNgp6ViR5WVYoQVItYWVTVWglXkNwVio0KGdq LXZDWDBDSE4mT2pVal9jZSYpPWJ5bFluTEIqISZ7b1lYaT5Mb0c7QD8KelE0UlQ+aTQxdVE5ODNA ZjIwQzh8VWpvY2JrRj5sRnlWOFUhMXJGJSVtVj0lVVY2NFprMkY+QURwK35oMHt0eTZWCnppO1dO Njw/cGFYKzYtc2ljUnZUMzY8fmJAYnc+JiNFUE1uNSZNYUR2Oz9hK0JFeDBVIWYpPj9KM0BkPmY3 cklCUgp6XyRfcSYrWDMxQkZxeyFWRW82ejF3PWZkUFAlTnRpa051YUhYaCV7WDUrWnFvIWQkVW1r U0QlVGYtQlV9a3ooPUYKenUlPH1ka28wMCRJbnZXb158PFNpaX1eens0bzUxPUxIeXojT3VvbEBH VUs9b2VhcU5iO2VFMzttTkhRamdRTH1PCno8K3g+aVg8R3RiSTc8NTMlTmBqJlMjMj5kcHE2YVd2 bSlUSFhyMyVSbkxDai1Meml8ZG97Wm80SHpJdX5yKHE4dQp6UlEoMH4jSWVQUE5ufEp6JjtUJjJ1 K1hxbit0dyQ8P0lkV1NHST9ZKFNRbXFBMWBLdmtjRmNDKmM4b1F0JWlsZEUKeiZQWlk8aXBXKEpp RHt6eHNXOVRDQnJQUHtCIT91REI/dDsheyR6LTs1YFp1Q29sMUl5VmhgP3k7WVEoeDtedkR6Cnpx aUQ4KSs7d3JrTFNWdmlMU2NlYzBfNztBNm0oJi14dTg9NGx3JG1ebVUqeyVEUlk4KkBfVkhGI0hn c0skZiljfAp6SEc8R2R0eFR5KkZZYVFlaV9gWEVvTE1iWEVlJEFITmxvRVpBJmE4KmZ7d2hvVzI4 RzJja1lndSZPalh6MGlpQiYKenBXP0E7ZzM3VHVqRlpXa2lyST4jailHVT09c2M2RXBfJWt3c156 TT1FYHBjLUk/NFFebj9sKVRRJWwodXhgalJ4CnpwUkx9fXBuWkE7TEsjQVNKcTd7VlAkbWRqeE4h JnMyemBoXyFTRCE4eExIaHwhYDt9ODJuLV9LRE8xYVhVcV9DWgp6Tk84R3Z1T3NYdU08WEF3OCpy VFBATmhrRmltfk5iRF9Rc3IkXyklO3BlZHRNcj9mYGJyckhQSm5FRE4xT24jYVUKej1hRCN4RmQo e0Z1KntTOWU9fH05KS1MVXBqekI5Vm5LaGViOW94QEEmOXdvV1FeUXgoPlBtb2s2V2BPRTVaUTVZ CnpuVXRDOEVzczhPbzVtRiF1eD1yNGFTayptcnFVblApSEo/bjRBVSlZV0s8djM4ZmdUcDljV2I2 QHx2JWg0T0dMYAp6IztIfSphcyUlcGpLX0RYWmAyZFpmQmF9X1htTHR0bX57XyNOX1ZQPyUkS2N8 NFZ9PFFaKTtUNllfd2BUMmRyWVEKelRKekFoRip+IUtvMWFeK0Q0bmY1N2AoRFM2clhLIWY4e1JW X1BtX2x4fCpOcWszQ2Q3USMqQVgzY1d4LVY7ZDs+CnplSF9MKmxYeytVKnh2SjsyWTw0MlBVPjdA LT9BMGZgcUNfPSNvNjQ1T29uaWFNQGpJNUAybk1YQjY5Yn4tajdwZgp6cFJXJEM8NXpMcGg8Jjtk KXApVnwyRzJqMCRvU2hsKzc4PW45Sj1ec1pURjYxRGFne3JLSzhlRk5VbmF9SDE5fTAKek1xRmo9 dHtncWpqeDkqPEhPIW1fYk18PmVKVSh2RlopQUlWZGhQSyRAbj8yQWNjeWxwZFI1ZyRFPz1Kd29Y dlNkCnpiamYjZGQ1NjRqeXVMblJ5PDkkaXZVYnhHR3dQeyEmblpPWmY2SCUtYmpMUlJHS3s+Ml82 eURjKGlxQUxOZkE7TAp6YFprfn1mR0JWfDcpR1FxZ20/Ul5nRlJPcDdvK2dIJGJLJWckZm9eIU9J YERYek03aG1uITF7MXYlYWhTUXxweG4KekRoRGJUWTZJJGU+XyNqclg/aX00IWk+VUxlJnNFbEUw XypxbH1HKk1rJFMjbnpTJklaJXhOQWBlez10XlZjS0FoCnpwOyl2ISpUTUk0dVg0NlY1flRqP29n YWhpa3VETTBYckUoaEpJaFpzRHV6VDw1aSUqTXd0KDIhdVFZYjVKTHZffQp6MSU7QUxAdEpYbkJs SS14RyZuVHVHJlZ8b2ltQztyZ09TKnI3SGNoUmIhP0l2aFRKcks2a1o8Z1ElX2dkV2tXN1QKenR8 a2RVdEBOJDBgbzlCTnpmNGRiJG5tbUIrTXhOJmBwRjBiJT9+UWFxdTspSXZ2Kk8yQ3BZa3lYP0Ew anF3LTx9CnohPkdkWWkyQ0pXPFdhNW90PGN0SEEzeitHan59QiRodHV8SnFnNUpaP2lwSnZVbGdy MXghSmsjK2BRWjwtOUJRKgp6el9ZKzNOZ0BgeSVgVDI0I1RVejNDJTI0QjhKRSgwREUqSy1QNyl0 JHFEMntpNUgtdzI8ISNTYTwpLU9VK0Yqbk8KemxtZ3MyKl5OKjklJUo4OTx8Z0dfUWFlcHc7Jio9 VDVTZVZUTGE9SDhIS3NCK1okSWNKJWp4VDRTSmRrPzUwKXBACnpuVGlkcV90cjlSZjhFfDN5I0x0 SXNtPEhGZjE3YG5ne1ErRCpTQC1IOEBARGBjOVB5TlQ8U3U4QH0zaislcigrcQp6Qzdsd3IhMTd9 Rmw5V21CIWRPTjkqe29MbWJjUmdrXlhvMHdNKUQhOXY1O1N5bFl4dk9vfXNPZypZJFo0MUJ5MEcK emx+Oz1rWCM1VVhFVWlfa1FrQiMyRChXcFduOFE4Ni1OI2lpbU5ETWRYbG9jLV53eSUlYWNLYjVu X3MlJC1pSSVDCnp0ck1APW5pJm9jdyNzNnJrOCprfikyKDxLTzdBN1RuMWBIJVJyRlZnWTcqSDx1 UTtFR0tTWjt5UEJiUmxlQWJKIQp6aVpybjVuXjs4SiRXQWNhWUQtKHBYYyRgXlVQUD44SnFEaGVs ez1LSikrVjwhY0BpeGJ1UldkPms3cmsmTXtqSn0KemArRFZFbjduMiQ1Z0Ztcm01SEFlRlMmNjMj OFp3bWkjIWh6QlFpSUdHdiQ2N3lWNztXWnsqaTw+VkYhWiY3YVNRCnprOXJgVzx6SmttdiQpe1Nh KEw0cERAYTxVOHE5Mi08ISk+XkhAWHt7PmtAbCYtJDZmfHViSn5KTSRXeiNhNSRvUwp6d2R+YHtj RE8oNm0/QzxjY3g/KT47PHZpVEA/PlB3eG9jYVY9UCFMZkQlX0dEVmhxdiN4UUR3T1o3SGkhVTlG PGYKelpMe09zWjlOSVQ4a3xkaT1HNUgpdkBVcGZUb0NrVCowI080JnxhaSZtVks7MEtYdzMhN0do dVpBRXlLKUpaKWNkCnp4MytKXiFeRFlyRm5ObXZEcVJpazNsMigjPUszO0dHcUpLR2VITzJeOUA/ QUE/dk1pbjdRMVpTdVd6JFNlNmxWSAp6bSk1VHBLV1o8bDJDOElxJnQxPiZUTU1aPTQ+IXtOSVhp NXxIY35yUnBSP1hTPTBvT0A8PWwoQyQtVDxvX1RFYTQKejlxdFoheWRiXjJTVU5Le2ViQnIwTUMk NTVwRGR0Mz8kfClFdjlfUH0rWWNzfTc9SXBRe2ZfU1Q9fXEmez98SzR9CnpodnZEciVVbmgxPTNt QT81VmxeUDdyIXErQHBYNGM7OzVqbTw+Tz0xVnNxVWtYK0ombkZhYHhGZiVUUVU+Rm5HPAp6Xnp6 RXlCRVY+YTZ9Jn5DJnttQFY9RX1LVC1nKVl1UENKREJNMSglVWNVT2tyYj8oT3YjJn43KiRAblRC WVFlMXIKenlZIzIoTkhTS0YxakA+UzBSR1QwQWRzTUZBbUQhfSZfNiNBUCtTbm1mNnlReFFsTk4k KH42K2Z8SXpeaTBTUGUhCnpmJXVuPiMtSH1ERTlUR3IybVAtV0pUNGRuYHAqO0VwRjEhST9CQ2tw IzV2JnFyYV44MCRVdWFZTD9rOHV2YFU4ZAp6Iz5VblRyWiRkUD8yemh6N19oYnk+SkFfdm09dTVB cHB1SEBTMEVyQGolTGJnaiV1PHArPWV6KjRFamJrMkY0N28KelJ7eVhBIXQyV1locU4rdylGKmJl dmIxKktjSTZ9ZWhYKGZfYFkkI2tEZSpzNDk0K2ByKW53Jn5NUXJTaWlQOygwCno3Pz89OztmUlRl ZEZfcFcrPX0xQ3tzc1RAIzdBb0M9eEVFJCRtcnRZIXI7UW5VfUpCPiRqcnNYI21MME0kaWhQWgp6 TX15d00mRHY0bG1FUEtjPzRMJmRaUmVZQGdRMn5kdClyUVpIU3UzfF4kbCNDOVFqQnx8OG4mQV8w S3BSJjRCOyQKeldiTj47d0VpVD5fP0x1e25TcUolZX1mc2puKkQhWmVAWHJjYCR0fj9ialNPYkY+ WDB+R3ZoeDJ7fW1RTEd3KGtmCnp7OW5CUGchZk48TVBtbVdPUSpsb1Jqa2IlYEMweDJgNSl+Nkxq QzJOVGdBY0hVY3w9QT5XP2VffEJOZHk8TnFXNAp6cEZudnRTN1NASFopU2d4NCp2KnxnYE1NSHU+ VUZnVSFtJiVmd0ZVY3tjcSVkTiZiYzhXJkNTZ3slZjU2SVNLeTMKentXQTtyO2RtTVVvPkJhODZl Z3F1ZWA8OVEkIXxpK3VBcGJ5KDBVakhpfkk9P1hrZFFSOSskRVote2N7XzZfbF9FCnpxMD41TmNY VnZ0RDM/I15XT2R7JCk1N0tEIVRkczNENF4qT2YkMW5oaDF2ZXRiYX17MXBWKV4yQlMrOGxUVSpj TQp6Vnw2JTRVcy1ubVBHLT41bFRwd1U+KzdFYDUtNjZkRn41bVE2VVRWOSQmPHdMY3w0NCFJcEc8 dktBPmxxPl5CbzcKek8oP1hIUGJueWZRdDxQQzJsTUM9YztZdCk5bCZESGw1aHJ8QzNTY19OP0JU N2dLZHxmME1yWDReaDBTOyR6VGhtCnpCfXE2SWcjeFdzPDAtaDx3UUZtcWk9Ym1HYjBwI08yYCF9 O09USm1rV1dDfkBXX1BsUnB2N31ZWHQpUElFY2hTWAp6cjtISEU1fjxZeE9vKlQqVks0b1dhQ0ch NXBxQyE8VTJoZU1mNzhSTD5oZjcyP3wjPVhvTVNFRXFuWTNgRSNRMCMKenh7byRIe1Y5JjMwM3Ng TXpDUUQlb2UrTWlKTk0zT0NtfThQMFVWZmBZVEF7NSQ5QyhialA2ektTbl9wJXFzbGV6CnpiRz9u I21fMktDWiU/YFliMGZmUClHI1RAdEszTWRvSWlSWDlCWFh1N0tadytxcnYkZE5UYjg2UVRoVz1K WV5xQwp6RGs/ODBsNXB2a3dmZWQtZDJTbD5iY309TGVPYFFmY3N4YmIjRm5Ke28kIXQpZjxMQy1J PSk8fFA0WVdgT153a3UKei1WdmsjejJSQmY7Zk1YKHs7ZmBkOS1Bezg/al5TYCVOKG9vJG1xZjsk PW8tfEFiVksxLWM1VHVAZXA1PD9ufjBICnpYdXhhbU9VWEspdSgrY3xKazFGRlI1VGBTaH59O15i aVF2alF6dHIyeXdUWmpkVWEqTmBoJG0/WUFqeUA8bThVRQp6UzxNZSM3UGFSTTQ5eChkK1Vhbk9r JDFNRmppWCFsZGRLWXtpRFFSWmBEWjw5dD4pX0pXbTd1OSt3WXpDQXFoNGUKekV6fl8oe2Rhaz1S ajA9YnpFMCNvMFc2PT80K253Qk9yb1JDbmRmTWtKYGw+fm1mO0FmZGF7cTJAMFFZQ0Vjb1FoCnpt d3NOcGEwYHslc1YoeXNUX2Q7ODJPcVhJOT5MKEBsdSNlOGVTM25JWmY0WTE9dENmMnVkQklSZ0lJ SkpENik5dwp6KGR+JjklM1F6ZzFkaTxzWiU9d3xSKVN5b2NSelIkc2VINkhyaz1yeTwlY18pO0Nt VGdXdTVnbDVIT1JJWWtUTEkKeklzYEheUzdSVWgwK3RAYl5EZVJZaENBZ3hNOSM1bHZ+PDs1Yn1z V3I9OGlqXkNedFF3a3FiWXN5O0EqeigjdCFaCnpYQ0Foe3R+TDttc1czSHBZK3I5TCNvcTJYc05u fj1kb216SEF2YVFCKUpDUV45ck11UHh8VmpNbVpUV2NNUU1sTQp6N3NlIWo0UnFRRTwmITxkTUBN TTQ2e3REWkU3Tjc4SmFgZnI9NVJTam5MI3w2NFVoTFgjY3E7Jnh4e0l8YSRJQCgKelRuMWN1WSVq QDdaQUJrKTF0aTlMT31HP0xzczg0UldfaV4wPkdVbz08OSlBKm9xQmlNT1BWeDI4X3N3O1Q7Vnpf CnpefVB4aFM0YTZGLSE7Xjhfc3tgUXskKHJ3e1o1dE5vQDhaIVYxKUlUbjkoNk5ZIzVxMVRtcUdt SFE4Ym8lRHhoRQp6I2srNkY0VnJuV2E0c19Hb2E9RUU+YUBTKlJsdE5tUy1oUXpTfXAoTHtCUEM3 P2xQPTdUWEw+dGJeN0RZNTdRTDQKej1KVCVCTUdXZDI0UVJmazdoJTZnJHhWbThQNklFcSZ0Qytv WkhyTUZ4TlM4VTdMbWFne0xyeTRVVmdqNF9DMCZICno0WmUrXldnKFUlXythSkl0Xl9HXikka3da Uyp2PFB3Xj43NUpXSEVkeG5adzhjU3BaJCZqd2BwTyZtTGZOQ0N6fQp6YT97PSpBTWhlTFQpMkst cGAqSCVHUipKNnUydng1K2JAbno5ZlU0Qy14Ylo0c3FFbVA1a0MkaTQtdzlHI3AxbUwKeitOTHpz cjRGVGMza1BrT1k2JDdiSFZ8ZXt3bjUkcDsjUWF3bmxqYU5kT1R+Tip9eUpTJE96NXUpRGghTUh6 TUc1CnpKZj03KkAxYVB+ZT0yIVE7K1F6ZjZ4RnYrITkmUkl2fFpgbV43OFdLdnE4WUZXUjI0JDFp N1JWPS0rKWNOODRuVgp6dEpgZnFvTnpfbCZWbEdMIU1yPEA2TXRRbz5US3Y3cSQ3KiFpI2ZJQiFh JHp0NH0qZyM0SE1IN3BZTWk+LTk0b14KelYqWmVPK1Y2fGlvfF44JTtEem0/RWFXaEdrYU9OS0pR eSNGPkN6Yyh4O2YrZiopdzw2M1FnNz91KzllckkwajswCnp6a3BkPm99I0BiU1VxQTt5ZENYWVc0 KzNNWUxnKzVSNkg+JmtMY21XKE5+Kmx5PnpETyF3dUl3QFMxYypCZEM5bwp6QSpDVE1OXnp9RStR QnhEPk5BMmdINj1eeSN4JDJael9aLUZCQ1Z9JD9AN2krZkV5ZXtwU2wzdzRqajUrciolKEEKeml5 dSZ3RDNzWnlBPGBTMWZAaWNOYzxIPiNWd2J0JTY7RnUldV5QTUFMemc8OWpXdVRtbFYjTVU+OXJx QXRtYUdUCnpmQjR+O2hNJFYzbmR7TEJCTWxUVXkjNiQkcXowciFYSFZmOTw9aChULXhiV1hVdztf fmRAS0dNZ0dGJj1VdzQ+Ywp6bS17QXhDU3pHe2Z3bWQrc1VkbTJEfGZre3JKYTtXRnpTQ3RVaSh3 dEFPOUBLcHJMJiRrdGx3O0NBeGJ6Nk9+flAKejhWblQhMSVRdUpvd14zZVRESHAtc0tZVmpLIUph VzFSQ05pKG9NMzMwc19fb0ZQUDlNcXNYbFZJJnczTEpwQXRWCnpKZUJKNWJwSjhScz07Iyt5P0I5 UilyZTs0dk5yUWFgUmZiSlMtIThsPjAjYk5YcVFhIyRlZkFmYVU0Wn1iRitCJQp6TzFySX49NCQ8 Mj00YFckKSR3e3FTXk1wX2lKRGQ+NnAjNWI9X3ghblc2TXxFZjRRYFVgM2l2I19LeWcxaCo2ZnMK ekxHPyo4S3FhTitsQXApbzMpfX1GKmFyWVZkKk1tdDgyVUY1PFJCQWk2WHdqP29iWn40cDxNMykt WThrVmFRPStSCnojczNLWXpidGk9NVRoeDhaaHNTcz9YfSYtKE0wZ35zNlY1emU9QzI/MGFGQUVw RSZYaHh+R08zQWo0IXAkamBzSQp6MiVDMzhfK08mWUwtfD9tK3dCOzRBYSZPKzZpQGQtITA2V3cq YzF3R0xIeE99P09IbD8/Y2NPSl9vcEJKRlRiYC0KekYhJSZydUYhcUNgQSt9ST82MUU0T1lNVUwy N2VBdFZwOF8/Z0NuSWE/QztGfm1lO2BHdDNVP2coVFFSVlNocWF3CnpNd0srU3otSnlfZHMxbkU1 OzMtUWVpKFlobHJ7ZylZYDJJfWV6cnNINXdtPG5SfEheYU1hUU9QaypxNFltfUF4cQp6PGRPMztW Mig7Q3RSSHchVyRgS0luXlVNYWEhYy0xS2dZclVKP01ZTy0rZGszampBSH13TT1OQTM+KipOS3VP VlQKenkqIyNfS2JOX1kzX3hCTXpjQEI4YTRAYGhQN35LaXQ3UDVXKz9CQ1c2NXo/Xy0wc1BDQX0m ZC0wYD9rOTkxQVpGCnowcVR5TFB2JjF2N3ZpUF54fEdVdVhSfl5hZU1KKnx3fmFDYTNZSEQmbz0l bzE1YVY2TnRAUU0ycHFwfERIdHVlJgp6Y01uUktEUT9AZWJKaElfKXY+eXJeWXRkSks2VjItTHpj b2g8aFJXfExDfkFxVDZ7eSpxZCs2YEd2JWtIKCo4Y3YKekQxMjJ9b0FiWHJ4bXk2I2tGM2J8Tn5G V1hyUlojT2pjazgzRE1fPWNRe3JUKUFgeUh5T0l0M0hiS19ONWdUdTtLCno3TllIXyE/WVJuJDlB T2QkTD8yR3w0MmQ4UTVzOWFhRnNtMGJ+e1pMSEYkfVpTcWhiOTkkWmlONnBTIXhRJGpAVgp6MlVT WDBtPSFxfUp1eWFiSUpUaE95cX5tfkQjfXVjS1dBP0ZfPkg1JEVIeiNqUl9lKHh7NGFEP3p9KyNk TmxaXkkKel4oXmZ8WCUqVkx0NCpGTT89R3UhQW5sP3ArRHZzPz5APnJTZkk+Z1RlWmJ1bjg5RWBW IXpOfW4zTVRxM2s2ITNgCnokbXRDXipVWWRNVHFJVCRZbkk2eTAmN2kxMzhLcTVFclUrNEApUjRE R1hTSitgYEtfJm9MfVE7WGlgIU9aK2JjfQp6azxYJigzfFhIeEdCUFNYO0xrX0w2OVZJRXMyUFhE MV5qcWl7QHAja0JFK08la2Q/bWp6dygmR2RmST51UXN4RnUKel9sMVgmaUJjRnc/fUhPOGAlTzV0 VXdEJDZ4LUJLYml6ND9YQGZlNVBRS0NBLUJSO0kjK2FHJFVPQjVeYk5UTi19CnolSXtJNTNidXJF OWtDIXY7K0ZGUm14aiE5aCYlS3hZUy0rYS1DQzFKY2ROWEs2VVBSSz9BfTZXN151czZUKTxoKwp6 I1BoKiFuYzs5diFXJEsxMSZKPUZPSm5DdDY9Wml2SyZZc1NyRk1TYi0+aFo/cGBAYEVkTEFuUm1n QlAwNElqOTYKeihUYF9xRzY5NjVPIWpoLWRSUmN7XyhpTGo8R1JEcUQlTH1oO2khQWBFNjtLczRf KXJqaytuTTJudSghdTxQOzJ5Cnp1KVg7fDF6PU9+bnpKbGNpRlJHPHFLKFJxTW1zIWtecj9pRTB5 R1J9Jm9sRjBWbSswbFAmelJ8Nlk0SlJPQiFicQp6SDh0XlMmQ0Y1JU5ZfWA2d3Mtc3YoPmkmVXZa N1N+O1A0azBVMj9vRDlrPTg0U2I1Vk9kdXJBZT1BcTY7Sl9efiEKemcwcUJIbGAta2ZENjFZLWNB Vj1HPzNNSX01Y3R7bFJIWEt5cERTKUFFe1N1JG5fYCFqKW1CO0BpZTtjU2IpKCtaCnohXkFOWlNg QkBFbDVtbzF3ZzNHRk08SVlnbWlvI3M9V0kyVFNyeEIrYiZTYmFZZk9Zd3lHRWV+UE5xXlp3JV55 Mwp6Wj8/LX48I2ZGK01CQV42ZEtLREt2RFAwYiVNZzApbGJJPHIhU1RQbXJVfk4lYytFJXNQP3p8 STxOZXtxYERvNTsKemB7JT9JLWAjSGNrRm0kPSQ8UFJIMyRIMzJRTkIlaDIyaGZxZX1+Ujs7cyR6 fWtEMjZtQ082PTVrV0thR3FINjUpCnpUUj1xeHYtJXtCQFR2aCheJnw9LW1JamVjO3YkZEB3M0gj JHJYbmM5b28zYyplSWtOO3NjITQtWWlhWn0hMSFsZgp6RjUoOEFOfkpAYkR+I1chbDsrOUIjNnVM SVJ7Zm16Kmwod0wqPkI7SEtXYn1qdmsjYUMlZCREM2Zkd01vPEI/NykKek5nMCVmZmBUP0g8dXdz KzJqYzNXcGVocDx7O1UkZztKMWIhZHd0UVZIK21fTSpDUDxYTEJebyhOaDAkT3lFQWZxCnoyNHdm QkoyallJJUAoZ2VXPFNnU09xR199VEh7bFdrLSVQNWMpdzt4UGEyJGR0RntQIzdDdkF2VFp1Kykx cGsqKwp6Q01DclJEYWFEZHd4YVVZWUR2WXBTIztHS019c2steXYrQmMoRDxUfStkaEhCVDlvMDVn NWdiNyhfb3xiaF82ckoKenVWMmg/OTY+O15uUFdEITx4aWxwOWczN0ltMzIxVzlxUzdXYCFfZWtL M0t9TG5GTSVMd2Z2VlhwJlE5d2dCeGxECnpfKygye3pLPW56YkhLYztmNDNyMikkej1sXmUzbUpr T2FCa142aWdRKXVuVD9QKVhqLWoqNFlUUUlHKUZidXczdQp6PEBzUCZNalAhUGxQWlReP0kyVF5O QGshSjNDUmRnb2ZXJjhGVDM9WkxSdXZ7OVpGKn1DJF9WckFqaGViI3UhY2IKenclJX4wPCllbngz STk4TFNAfUVQXkVXZkt1RjM/VmJnVDdGNW9lUmdJTz0pMTs7XmVSb0RgblE0dkY2bCktKz4zCnpE d0FaKHo3JCVuS3lYIypHRSElJT5+JTRBZ3MtNU8wTWNsZUZNfEpgaDVqKDtEUFkyJk9jPDxxJW1h QlVPbXFtRQp6azI/ZF5iPSk2Y2Y0aENNK0RONH4/PG5SZ3MkKnpUVnxSWFJvMkhiMWxib3s3RUt1 S3RuIVVWPkgoRzNgeitOZSEKejgzaVF8MSF0JFpEWCM5MW95XjJtdWFZbEhBaC1Hcno7aUI7RT1l JmgzMEI5dk5We21GRSFJbTZNcU9VT1ltKCo7CnpUbmJ9KXtnb213V252Yyp3RjMpVFMlSDdQa3h9 a2NxVEN2SXBiSy0yLVlGTEtxSTQwc0hRUT5lPGFRVzhRKUBYUAp6V35OLW1nN3ttLVJvYyUjc281 PGdOdD5WIWFjelZUd1RQVDlvT2VkY21eQzN+KU9nbnp7eipJMTkjQHFYbkooWHsKenBXU2VZS3xR cnUpJnczUHEqZWpMeV9nNkYwNiZlNTt7NmRvaVAmb2JDZ1Z8Pm1xRCN9SzlwRkNuSyZTMXJFJkRA Cno/VEUtKmZnfiEwcVMpQjxgTHlUbzwtOX1AakJJTFFFY3BpXjA9JG9VWHlfXmhNamlqWV5uZ1RS cGxmS2JkSWFvQAp6KnBSMlhqZSM8QUtQTmhDe3J4Yn0hQUp3dntoWSQoUk9nNCNMNnNVNilxR1Z7 MFVeKmJ4bkZqYnh2WEJiRz99JiMKel8/PyMxZFZvJHVhXkd5fVYhYWokYHYqVyVOLTxadFYhMnV5 X1hqTiVNSHRvYHM/fjtXbjZ0I2xAVkF3a29OKDNjCnp3ZGpAYTw3bjhqJDdsbCYkN0paRW9JVXU1 e3RsQmRwb2UhY1p0JDM2U0lDXykzI1N9SFlVPnBIR2VjLWhhNlh0WAp6dytxUCNOcFVDPDBgSV4p PHRudXdzfW9tR21Vbjd5Kkw4TlkpJU5OdC0kI1hQSkQ8YURSYmJVcVFePDhhVSthez8KejdTWlFq XmQ5c3VQR3RGNHJxcUpGRHJuP2NFcXpCNlhCVTt7T0piQ1R5cDRPSEBlKXN+SSNjUnxLZks8SlhN WUs0Cnp5UFhaVnV2SlI2dSN7JWhSODxSOTNiaCZLWGBCRH1JbURfWnZ1TCRaOEhWeW9XXngtaE8r PlJyNzJ5MmRzOVhaUwp6dXxvOGBSPW19cytvRiY2IWlwWndWbUM/I2g8S1FxUlMkRlVRe2VfOFUz bEw/SzA5NW8oMWIrfHZGcjMlNlA2WXcKemhneHRCS2hlelAlNn1WaU49OGcjRGNzIyhYY0NCdi03 UFhGMHQ2Z2h5K31fY1A4SylEaGVPQFBCeVlaPm9reldwCnpvUWJzb2NiK0xKVUUzZTxoR3xXe3t+ fH1pYVlkMzU4NV4kWm51PiNSdlhFcSs0K0BpMVg1K21oc2lOblotNVpheAp6UWh2dGZ3NXhyNE8/ ODFObFAhPnMmQVZDNVp6QjFDO0w1I0xSPEFZKz5oQ29SeyVwQm4paiNoOCleOzlyT31SKz0KelVV SCtQMnBASmBQNz9ne3VXZEtVbTVYNGB1KHIkUXQpUSN1KTMkYzRXZX1aT0JPRTB6YkZSWCFaUj1W azl8XmgwCno/fFJiJF4zYH1IcW16Z2hLKkhQfURTcyNWUz1wfTlqKld3SU9rc3wmSl8oYCFfNDBf MU04YD5AcVpmPWdYOz0wZwp6azc9SFkrRWZMdjVBUnNmbVJnNUJxfWZKdXUxcUdzR15BXnFITSF3 QCVQQ0Y4eyhLfDdAeEBNfXtsfCpRdXJhdVkKejFZU0FVTzBgP3I8WTBkdTlVUFFzeE1HUCFKWjl3 Uz1tT1NWPzUoQGdwc0EmP3EqandjcW9ySnU4Y1ohWiU5RDhSCnpgKjsrVS0tWUd6WURJdURnWUZO XkR2NWQyd1U+c3soVFN5cGMmS31Hayo2P353d285QnZSXktZUUYxbzJsRjlNYQp6RDQoT1pRJVFB Z14meDlRbXdJaGB2d2peJGN3K2lYZFd7OUAwbCEmdFJJJGBNb1p9c1BCd24zRlVQZzsxKG4qWWoK ekt8O0QhaWgoTlFnIWloMTdKQUJGJEVFQ1h4ZXFyQSlGZEVzaFIzcjctdC1BfVE1biZ4RFZUXkIo ejdvVXdLemFRCnpIaG94Rl5LSiZqPCNwVFY9VVReUyExR0RTMndFaVNiRyM7ZHFCV0VCdiVgJTJA I1pkRGktRWlpN1k/c1k0PiMoSwp6STMyYUVVOWRtZDhYfExte1h6YEMjKmU8PTNyNmRNXnhaRCRh RyNYUTNlUUlvc0Uxe34+WW88YGc8Xj9lcWJAOHYKejdBaDZnTyolODt4Y1kzWlklZnkwNVJYT29y S2ZaLXNtM0B8WSRjNFVOUiU3Snp2d14yXnFBMi1YVUtzbnZ0bExDCnpZdFdDIVBeP2BRdmxvR3Nf SS11bTxtP29waVF3KlBXbnJqfjdLfkBLU1ErYzBDeVQlUSttfWtWV0lAeVl7SnJfTQp6KyN5Rz8/ WjJ5WCl0R3Mke04lNGlsQ3FHbzE5JTR8N1YlWiV4TmkkU1RkJkY0NTU/T15aRmlgZjh6Z3t8cUAw PkkKej0yZHhxXmVLbCVoc049enRaVEwjclM2Q285LSY5SEV7UyhOUyR2UjZablRQRzNAel57eGNs czxJbjdvbUw2M1dmCnpNJkpzbDFpak92eXp0YlVSaTFBYC0mWlI3eTwwfDMwPnElN2l2JkEoU2Z5 WEdSIzJaWkNfMTxzbHZwYnYkRylnNgp6VFd8Y1RUeXlWSEgtR3NTbDxRdC1LVElXKlIzU0IrM2h8 SF91ZmRUdDdXPEc8TnBSTzxuMDVIVHQqdk1tWk05TnUKekVxbENfe3tgc1lDQHN6X290I0BgLTl2 fWBgc0grP1JiOFpvQEhfYzNoalBwVGdGMXpSe0cjY0BMWE5aM0BrVD5GCnpva3AhUHEzYlVFQGsm dzZWcX1yWVlOTCVSQz1wOURANytnfXtkKjNmeSsla1FpfWVuPG85N2VPWSgwPS1KZmRIQwp6MVFt enA3PHMmKWVuRVpVbkR0WTZUdzNwNHFVcmxOMXM4PSVYWCtDeilLYFBZJmtKRm4hI1cqPXNxUD0r OFhlYWsKejVeZkszbSZWaG4jWm5gMmJ+Zyk7MHtOY35tez9MYzM4Z3cpWkowODNJdiQ1Z3BAUjs7 dEFXT1BhWnExb1NaM1NKCnpMP3BIMSR5dTU4ZGY1ZHk9ODdfRHA4Q0U1ZF9BZiFmfktVfGZSPC0m I0lUOCFsPiRBYipxSzdSSlkkZjVtekhrPwp6c0tid3BfIXVCP3hiITU9b0F3aEZDP0szOEtEd15i alhsPHtTdGdyRmhzNU81ZiFwSEAjVjRsNmJ2OW1NczVnbykKeko7OEx1aU53fEk7OW52Um41dXJN PWE8ZWAxVUhiUHlvOVk5Kz0qQzFyWDctN05zNnR8QEFaRjQ+bC1nREF0ejQ9CnpqKHBWTiRgeGho ZzUrNFFMaW0pJkQ3ND93TX0lMU5sam1tT3UzYC1RalI1MTtSLWhsP0tEJDV2cGhvPiFBYF94NQp6 dW53aTkqTD9hU1UzZVohWnY+NF9BTip0WmF6MCpqdGghaTcjVVpBI0xaZHF7a1pkOFNrT3ReJXok REJ+N2A4fUIKempnNCtRYi1hUUIqVCtEQlFLPyVNbUY2Pz1tKCFQOyQ0RTdpKUtrck14bG1EOFJI MFNsNCtuQFpudXhJfTkqLVMrCnphWlZpNWl4U1N8Q0w8RmA2RmZIZVFLV1N7TkpLP31WUmlyKUhQ WDllVjV6b1kjOEJvRW1QdTF1WkF4NillRSlXZQp6N3RPSilYVTdzKSFhJnVLcGh6Si1kWThKe19p bVM5Kj07RilpVyN8SXVrPjU4anVPISshSWU/MFImI0pES2d3ITwKejshejtwRjF8PF9hQF5pRnA8 VFNWKFNCZF91JXVlciohVFdWV3pxM3hLfDxvJD5eRUh8WUw0NE5ne24zJktAV0o0CnpENFpiYG5A eT9uZUtoWjVEfCYkTlQjPD9jT31hZGt6YyZkJU53Rj1MLTNmdlU4c3BpTF9OaHBHRE8oRHxMWTFh Pwp6WWomc1hndittYkZFO1BpakQ/MWRKS3A+K0dXSTlaZz5kXiQ9Tzdhd050S3pEQkpQPSNzPUN+ MnQ2e3R4PUpMOS0KemxVWTlKK09DR0gjQkRKKW12Z0lRTDhjeW5VQ1o9QXJnSVY/ODl5JH4/ekEo MCYwJChKezNNPz1DVzgoRHgjT2lLCnpXND0wZzY2V3FRKUU7aiE5KH4/d3dtd3paYyY4OXElJWJh WkU8Yz8ydTZMRVl2PVUofTFkUEUxaFFAYkNZU2FNSgp6MVVpQjRwKFBKUmMkWnxGKHJTKEp2JGRk V0YqSWVTenN6bEprUUBIJCZFaXNzWWR0NFMwVWR+VihkUDdQekt7OT8KemlQd1NjKmdUK2ZyQllW OTx1TyNYUGBDeGNFWntAZUFBVUVNUSs1cmA1SXlAbndobCtjKkdlRUlaYmwhJWd5eTlDCno4eSFL ZiVmMXdiYWJGU3Ilfip1bllfU0ktU0tIOT4oVl5gOFVJZ3wjemVRIWx0NWVqUHFvaEQ0cUxqNHM2 OTAlWgp6QU1EaVlFQE5pfSt6SThLcT04UHBoUlg1cCtSbkVZcWxVP0h5TldSfT5YSnZrMlFjVypM aUteISo/TjYjakFeUU8KejRvekdZYGVPS2RFe3AhNHFYQzdnT19PKHVMKk04WmQyPS04KHwkK2pG VnRAaW5CaHtGJFh6bjNgJGZpKUgkQmVOCnprfXdsZHRlKGJ0OHUjYlgwJUwpPy1VfXxOb0w+VDBG c1otNTk9IyY0UllVfllwUXItdnB1Q3FHTWAmPkRSfk44Owp6LTheRCVneVEqYE5WYmJPN0Qwezwh XzlCJiU3QDlGK1F6ajw5X35NYCtgYFlKYGR1R0h7az8/cGJyIX1KaDJJQ2YKejAwY215TiVCQHVS NGcrNmlfflMpdm9Ja0RAaUN9X01eWHRVNU9lYSNHaT1SJC0+c0d+SmQxfCtzKmVFdkhlYS1DCnp1 X1JfRWx9dyhFVXQqKmU0dShmQGN9cyVVQS1+cjR1LWFzPTd3PENPTUF1RHhmKWVXU3ZWeEt7V0Ji VmQyRylMTAp6JWUmVX1ueCpBblFyeEl9O2M9TDNzPWMmI1k5SG12PzBYLSN2KzI0X1YpUkpZMlRB ZTx1VDFkOU9eKVp3ZXZgKUsKej9jXn5PczgzZGdeUipTcj4obiNBUk4oRSo7d0dDKXdAPDx9eFpZ ZSpFLXsqMkBecjdyQlJlS01fTV5kdEtOenZ+CnomP3woSmJ9IVlSTHFybTArZVhsPWBUZTdLan13 TSF7V3A4RUckU14jI2JTQTQqQGRlYmwodEolYGB6SEhueD8kdQp6PG1IbW1xUj0ofmRIYXttQzlC R0UlWTclK2VqWGxDNEF0ampRQ2JTWipEQFhte1p7JldVSmszfUREX1l6RTlHQ0cKejR+Tkc5N15T VVVJYH0/b25FdUNKJVkjM2VDeDd5UHdnUjlKQDZUYm1lfiVZU3F5cko+OC0zV0hUREM4UzNPKk5I CnojPUpoP3Z1fUo+Vm43dlpKaSEqNzMjNGVMNmBvVT1KdTA9bFBYcHslPT09NXZVPipfeU55KWJf aj4jKngkcz8mRQp6cEs/VnF1T2Z4ckNiYCZhQUpleTZAWnJnKV5XN1RaN3EhTT9LVSNNRWl1ZCE8 MzFiZHp5VH5FVHAkdF5lIXc3QDgKemdDV05BSXYlZis/TmAwemhOdDl4eCVGZThGdDg5NER6SXkp cVFVKUVsbyUwe1o8eEFwU2FPO3kyazNCMnpDenN7CnpnRj0kWlVVPWBoPXthfXQtcCE5NFdxYkc7 YkIyYTZ3T1k/ezlLI3hpT1U7SW1idE43JjA3Z2RkSFRRWiFgUyN5SAp6Tys+Y249JHVhSDZFckoz bHVMaW02JDhjb29MJmkwKVJxKz1wVk5PYU1zcnxFXyUkTE9YRWdBOHFMJFl6VVBpa2IKeng2V313 TVBWSno/X0Z+Wlo/LThOSy1CZll1ZikqJkE7NUJeUUdjSSkzNkMqTCVnQylkbWNPRHlHKWAmUFhm P2hKCnpZeVopOGt2TH1LQUA3fldEPVVpJlpHZFN0LSNvJnltRGFgI1VMJXxoYE90PHteWER6bm59 Y2RfQiFHWTJCfHpxLQp6eipASHpjdiZxKkBpJGJfQ29NWFE0eU5EVGVCTkA8eVRqS3F7aUp3amVz JDY1K1BIeTYyWDgjfndZY2MxeUZ2dWsKem89QUxWWClFSSMkZEpqVnBwN09aOVRLJkl2dVlub3Mq THxBRG1lRiNZZiN+XlVKMzN4Wn1zSl57Rlg2Xk98R3hOCnpXZGM1S0d5PXI+WVNBTik9QCREYjBf KWpVVUdlTWdgaj5fSiFebHNkUFlAR0l0ISRFaDUjNSg1aWNMR21JS2pEJgp6TVhMSWsyM3ZlNHIk eHs2NWJ5WUp6eVRMTEBXZEYhNiFtVFE8VGgpMzAweHRpbHRhQF9OezI9ZSZQVytFeXdyWGIKejlo Qko0YmFyWlZ0SyZtbG85PSU7JntpbkpzKndGa3F6X1YxaSNVIyNZZFVDcFo0PVNka1VQKjklfThZ VDtMMGhfCnpUZW5zRldqMkV9S2VncGZpSk5yMl97VVdnUmhxWVo9TUk+ZlhoSWNTKD5RSTxMNHll NDs2bWA0N2smS15mPS0oRgp6VSpMZGJKTyNpM2kwOExnOGtVUlY1fGx0ZForJnJQZEM8QTElbE5l WHdBPVBYRyF0JlNiZWRySStrVWokNFF2OEQKejk4M3B5UX5hfX1XPENGJjFwKDBncW5rVVp5aiV1 eyp9bEJ9YkglZylgcTFEdmZXbER1TnNxd3ZMNkgpUD82PXlHCno5bl5SdV9RdDB0Zj1tRjFMP20z SEYjXlBBJUA7fXctaElyUXQ7bVMqMno9Sj44d0JqMiU+fD0zUE1RVX1SaDhWbQp6VVlBTiRCaVVu JTYxP3JBPm89UngjPD01P3hQbkp6aHwmQkElcWE+dno0eG9WaVAqWkV2O3Mxekc+bzBrZWxxXkUK ej0rSHNQcURRIX4yVG87WHQ7WjxEI3xAISUkZCZAdU5GIUdsQ1dpQTY2fklEPj1Zd1F7Si1pZUcx clZGMShpJUZnCnpIY3xLUE5FUzApZzZvbnJMaVAlNmJzKVczaygjXzMtKW5ARHZHb29tYD5DTmY5 O2MxcFJ0SHF0cTBZMTN5ZWtmPAp6c1F6VTh6ekpqdD87YFlacDcpZylYa0BzQGw3WTV9RHhEcT4m LS1vUCNoaTViO3F+fVl6PDdRK2JYPjdVNXROPCEKeiZXcldKI0JHMT4odmlhZUMtOVlAa0dzcm1m XjRkYjs+I2kzIWFkVT8/fFVKYFE+QXVVRms2WHxPMz9JajNOfW9MCnorMEJxWTFgNjA/LXVXUV9f QCRiTzd3WE5IOXVaNShNd3NBRm9pbSRTe2xVYSM7Nm9VdHA0K0kzN19ZRHlIU3t9fgp6YFZ5SiFM NlR7YzNgd08xaVgxWUdYPGBAcXc7dHY4QGhTOUpWdHsqM2AtIUY3YE4hISMzdzJWKTFrVXNNd2Ay NyMKejA1SkE8JiNPYGBANX02SzlFY15aYXVxUj01MnN9M3Z3cSV1SyVQalVIUjZrdjdWSCFPLVEk OGZUbzVeZClUJDs/CnpXRDteMEhrcmtlNGFDRGhBPkIpTWgzRlBMTWtRT3lfbDYtbCpqPDVPO1Jl U0FqZ2xaSTAtTEIwUU9ad2w/T21FWgp6aG5RfSRyIUp6O2FOZFV2WSF4LUwlSF4me29ZN3JHPFBQ JDV5KGtSJEQqNDBETSp7VkYkRG9ZZ21GeiQ8KXwjay0KemZgfSlCXjdjXm1lJndzaCpZVX1sQyRG Wl9fe1ZrZjA0QWoteWVaMDg5dXc+XktTc2R6MiRSeUBaKjx6XjZqWkxzCnphaTt6fXElMWA9T1VG cFFXK0pEeFpmS0duSj9LVGxFaE0pY1R2N20kQHtoUmM/Knw5OFAtUW5TQTExbnx7YFY0YQp6O0Mx XiU+JEMhcXFQT3Imelo0KUByQ2o9VWJ1cC1tOWctK1VST0k9ZzkqIz83eD9WP0FuTWwmMUVfSlBp VVY5cXkKel44ZEJVQDMjdkhEcHh5QldvOyVeM3JWKU5XV1hvPElMOUxlaFlzVHs8NiglKHBkSFdS YE1BcT9iMFRoNztPVXQkCnplUShOYGc2WUl7WiR1RjReT3BGaV4zP3BeOG0/a212e2VVNiozQ0E8 QkY3IWwyTUJfSiR+NXlNN1V+SXF3aWtOSAp6RDt6Ny1KVlorSWBpYUh4d0cjNVM+UlpIfk8tS3Y7 UWplYFJFTSU/dlpTcFRCI1pGSklrfFkhPSkoPFVXWlBoQTsKej9PZGxaQWF8KCVjcFg4TipCY19I LWpFYnpMPH5eYTc5TnRSaGxTPVRJb016OUhjUGE2c3ckI0chUHpoezcyZjBCCnpBYzUrTzgjN3lZ Mns8QTNvMmAmTCZOeDU7eUxJPTNCdipGKnFKPjdmUkhaVWQ7cEoteSlIZCpAOVAoeF5WWTdmJAp6 PTlqbll0N0l5eE9SanVSJUZgKkczYihsK2M5RT8oWHppLW14diErJV5rP29WbHg2PmxZdz9YVCpu dUhGTUoxQHMKemNsYWNfPGohVndENGtHKTlRNWVgUjZjR3lebUdybHYlcUpwK2lYNmNrfkQtRjVv Tj9ISzllM3IwPjkkV2RBMWI1Cnpnczw2cjFsUjM7Q1psKFpWJEY9Mmg+e292NWhTaCg2X2okSVh8 T281Z2ZjTX15KFliaVExUj1pOXc/OTk3NCNQZgp6RXt7SVEqKm5zfnB5bUNvaE14KGxoe3NmX3kz NHh6NksmU3hpbWRidWdxNllTRFZxbGpMRDFERF4xcl52RTc8VC0KemBiPXQpY1RLJikqTHtjSTxE dTRSQ2AkO0N7OWF5LVQ7QT1EMmlIfHsrQF9EQDZ4VFpLPCNQODhYU3RSVk5IdG81CnpIaTUoNXMj X0VAI1prYjhHdHBHPHk7Yi13UyNjbHpydTBPS1hjQlZ0Wm94SHZtRFgpKzx2RjZyRyRQJnFsQl8o UQp6bFE3SGlFM21UYGU8S0NFUkFpKHxwXjtwcyM1KzAzUkBHeURBNEBgJm4lLXZ8c19gaUwpOG1y MSM0cVRxUTE3UEMKejJeVWw1KkN3Sit3cClTMEgqVyRVey17QUA1KXhyZmJYXnhTTUQ+TVZQWFpS KXhvaiE5PiNfbHFBSzhtI25KUTVgCno/NzFIc2gmd2owO01jTn1TJFJZUW53REl6ZFZtZSg4KHtP fXVGY1ZXNzImYHxtTU1IJWhHOCYqWTw7dXk8cFBVNAp6VSNRQm9LY0Z0SktWPWBjWW1XPkw0aXd5 XkJaNFpESSleQXA3UXoldiU9bHEoNDcjYGU5TzQ9NUpBYC1FTT1eaFYKek9Han1ebDF9U2FAWWlN ZHpGYmNQbUFQS2MlMnMoYHpSeWZUZ3h9PkR2VXFmfHhvTyRqamlUYDU/IVJ7QHtkVGVhCnpKZTM1 Z3NpI2o+Sm17WU8+Pkh1cEhFbiQyIWBsYE0lNF5mT15xd00zKVREOGdRa3x6USM4YzJONFl5QFND d3xjagp6KENJS1kqMHopKUBoNVZEQldLJml4I2p9bUlpZ1IwQHdgRGklcWNHPVlla2A8SGRSPkdy JCFuR2pRYXZmKjs7VXEKeklxYjJvMVQqUm5CRmV+KUtFRiNgSnhsbHJJeGRLQz1HQl4oWXpIb3lj S1AtJldFcFcze2UkUHBjMDEreW8xdFRoCnpGdGdqUlo7VlgzdmxKKSNOaSh4JWZuYiNlYGlHPjVl I1VgUGV9czxiUzR9fk5SMkJrQEE0d0h6aDRxRXtxdH5RYgp6RWV5SjspQ0FRVzE/LURJOThjfVQ9 eVZmZEp+fGNtTCZBWWRFKkhWMSVTYWNac3czczF3RFd6NXkzNEhJXlljTlQKeiFvRDJpTjZiSE8x VWsmXiZjUG1+d3N5MnsyM3MjNmZ5JSgyXmNha2xCNXBANW9ZbURXYnI8alV6fm1AJWNhfF4wCnpr MzItdGljXk1YYXZ5QG9AKUB3WjI9S0NsS1hEZWchdmZMZz9GU0oydDN5X0Y/eUpTZGFoalZte1R1 WWZ2Vk1Tawp6YWZkSTEoU00wVjdCNSp7biR3RkxkXmJENzxVfW8hJXZpfVlYO2pSUj8zUCg+aFlY Kkc2fW9MKlB+cUErUXhiKV8KejxZRTNqXi1nUEFCeXRFbmtRWkw2MU98fUZ6ISh3YU50PUZ+IU98 VXJEN1RSV2stTktTS24kTjRmdih2Ql44eCZ7CnpSTktmYDB5JTllPVVlKDxucj5qdjFTJDZxb2Ql YXtyI3NBQVB8PCROVEl4IWt1RDJ4fXVpaEJBTWMqaFk3WFYrNAp6d319NSRaM29JWExxKHMrKkp4 RUJfXzRCaDdKY1ZEQjxOWXZVLSE7dF5KVzw9SmkzQiFVRVlpZWx1MzZmSG4zfGcKekhrRXNGWUsl emRtZnAkUCtsO3pMV3QtM3BjSWppaWowXkAjJi1Ec3hvXkRgPGJjT2RVa3tXYyZzJmR3dz8oLU5k Cno9TVlRJDZuX3YlOGBXbjFNRnE1SnJMTUhgekNsZGIyQiRAXjxPRSE9d09fPl5oS3pNSVhefGw2 R3BPZGZzfkYjUAp6JGNjfUg8YS1BdSpGJjd3SnhfSXZ7ZExhWnBabjg4UCslKiVjWVMqeXt6SF9f cjNIKiQhTWE3P0xtc290bVdUM2oKem9zbDtENnVPJTk5ejl6Q0J1eGYoK34rVVFgaXgpekI2Um1L cGA0NEtMMGJyU2tEb2k1TDxXQVlOI0F3QER1azt4Cnp4WmE0T0I5eTlZZ1ImTDIodEZfX2tAT198 K2BnPmVTQC0mQFVHTkVSaHgtRXswYTVpeUo/X3Z0NHRAO2NhVGRNZAp6Qz4/cnlqfUltKDFWM1k7 KmxER3M9ajNBTjxaaiFxcns5N3MoQ0ZrJV5POzVtKjB0RWE9WFF7ezh5VykqZFlCPDMKejBCSEUy KGIoT2JaaW9JYURwejYmTDkoLTckSnAqWnYqY0I0bFkqQGtKNjAwRCFVV2klSyowQ3BQbXc+e2oo OztsCnp4UmtGKj1iVWRLT1V+VFh6M3x3ZlB7SE1IeFcrX31ldFlxdGlDfmRBUUkzcndDVSNCMVB+ Zk4wbk4+bW9tKSY8Mwp6JH5ubD5mWklvcEQtbyNYTkFFVFo2QXl8Q2V7S1JWR2VAY1p4anVGbzRU aVoxK1d+Nz1wTExPMyFyU3JtS3l+JTgKenJ3PVRqaj1hUSN4I2Bhb0NZRFdZJS15YG91cmZfS3I9 fDR9cm1AP3YrfF9FSVAlcCtLYXdVfD9IaihQJXd6V1pNCnpeYmw+MSs7O350O0NNTFArQEd0N19m Xk1tNilCQGkpXik4KzZRbFFqOy1jbzs7QWNVZlp0OWgoMkUyZi1IJl49Ngp6NVVmKyVfKFJqfSNI WTY0Z31NRG5Te3lWMyRoKm8haDZjfHxTMEg0aytYaX1XN0tWR0cwYW9YNU15dEhYc2I/bzMKektL VygoQCN3YyZBYD91VkA9NXZURUV4c3slN2VQfi1ReU5LKj9pZCNFNmIwTyEtKCVoNjFUQEcqSFN+ WkNHRHRLCnpmVWgmJUYqPT40MWBpUUhGfEUodXg4K04jM0Z1KTUyJVREaW8wWn5LLTN7RzxOVVNQ QnBZbioqRlYpM2lHSH5zIQp6Yn1zZzx0TEkrcyhBdW9gOTB8RykkJCpyQnljPnlWXlghTmhQYG8m ZlNQdUkxVmNvdTlYfHgtMnEjPGFrLXVBUE8KenN6SiNQYXx7KEdzO1FDYFozX2c+LWFTOEtgej9S M0Fpd29RIWxJKio/Pkt0QUozcDdVK29nWkw7X3x1I1oxd3d8CnpkTndjYXVXJDxWKENQWEVgam85 IWgjcylNRjhBPHZBTVdUPVokR1glTGRxUE8hek5CWUR1Xkc1MkNlK3BzJG5NVAp6YThkK3ZUQHZ+ bSVocEd7RmswV0pOfTA7aEdHY0JSNz4pfkw1dD92YTVrU3ErZWUtOyZsKD82Vks/bW9mQ2F2OTYK el8tKntuZnA4SXRacz9jayNtOE9iZ0k8Jn04P349fDNeaWhwWEhWKDwzQlU+Ujtue1RhMFJsdGJ3 MEh7amUheH5sCnp0MztUcVM9V21BX0RBS3l6Pz4zUmw+I2U4UWo2YGl7UikmJl5lSktSeD8yVFhz a1Z4XlclME49SWRiT3s7bn5pJQp6NVIzJkpiKztYK3VSa3MlKjwhTVhuZUFYZTlVQSgwbzEtYTM3 bFRZZldPY2YzcWolZjl1aX5IfVhzbnM/PXEmYlMKemgoQXB0WXRpQkdxaUJhKnlmSm5uVm1JVmoo bTlQU3QpXnRGbyolYz47aTtpbEg8YDtPJSV3Nl8zRzZoJCl2ZmljCnoxWChaYkhoSTJXTjlFfCtn NXFRPEdtfFRnQUJzV09qTVB4TEkwPHFiYDxMZzBjN3hEWk5fc1BuXkxxc3dLazZ4Pgp6MGFMIW5z YEpJbEdeWHtSJD41SWQtdTQwc1UpcS1HOTAjeHAqUTskbjRPN0tSMHIwc1ZjSjF7S0l3XjBiR31z Mk0Kei1SOz9+SyMzKzZ4aHNvM254XlchKTA5YE5HfEw5TEV+YWtaQXlwV2s8YkJoJlU9bEVebj1l MW03YzF9MzZXN3tLCnpfLWZ5MnhCXz00NFlNcFZjfHNAY3BKSkNrZTZrI1VGcGZtIW8yX2xtYXlS fENQVyliLWxpdGdrNyt7aDBCMmxDVgp6YHQ9b0plWH5nTEk3ZUVna3FGJDVXIzQoZmJzYFJqbio0 ckNDPUFSREUmOyRHWj09PTRBPWMjcnpuWCl2Y3Y+eVQKekIlZk8tRkdaM2pnJEU5KTBeb3xzN2pH PFpJO319NjRhQGpsPm89flFScSphQ1YmOXN2SGZSeXg3TT4pMHlqQ158CnplYklHcHU4a21EeElZ SyRHaEI4VnNocGNzN3V+UEJxP35JQmFMY2UtaVF3PFVYJkYhfT5zY3hQQXVvU2V1fGFJWAp6dFFw KFBOMSY1Nk4tYkFUQ0lZanYxLW08UERxUFJfSVFfTjU+V2hqNW4weVJwWl9oVylhbzB2K08mY0t9 ejR1e3AKejxQQEdzamhjLXp5djAmRj9HUWZBdD0jWj8qYEQ3cTUwUVhnKSYtanx5SiooJDBlTjdt SitAV3RnajIpKmlLaGlyCno0fH1GNzwqXnFYSCZ8PExIYEBBQipseTM+YCVxdXVtTWJePDdPTSVW MTFieyhSSG9oVyRCYDJXKCpvQEtNeD4hMAp6THFnWWR8RXlxU0QrVzJVLXs9SCFtfXBuWEp8PVUl TE9rO1A0Z2lmais8WCR1XjFQO0JtK1poelVAckROTCp7YXMKemB1Rks4MXtmcGNLMDt0NXdlKjFB VCV7fmlsVzlhZHBxb0VTNyhLfGxtM3t2PUQxYXBUMXQ/NVM9Z29WQV9sKSlgCnpFOH55SUU9JExx MzhzJT57fmFIS3QhUWRXUD53PyNXZnJIaCg8bytzQz1JZHx3aUNsej5YOyp1RmM+KGxUWHs7Pwp6 YFI0NE93eV9xdHA0dzZqZ0MoUXVxJVd9aW9MIzw9PmZPeTlgbDFHM2piOE1ma0EmRm4kS2ZIKDlN Zm8qXiFtYz0KejFQIUQkZlZHaE1yVVF3QW82QkxRKm4+KTJ0SlVEMWBgT0BaPmNybVIlQ31EV1hy dFAhdTJwb3UyI0J5fDtvbHFfCnpTaE5NKGFiPTQqN14zU3tiem07Q3klMCphaTRWJlYmNXFQRGQ0 fU1TZChaTWRDQ2IjR2smbmtVK25MM25ifVdfWAp6NWl4eGlkR0pGTHI0cH11ZnE1ZTBVfGMlfjVB WntMMUwhbFV5PSpvQUd+NDQ8dHQkPm1mQX44YiYoTHJIJG5zaFIKeiR6bkY+WHtPd2Y3eEEpZjsk LTh3S3ltMDdKPEUrfU9ZP0EkUXZ4P3AqNjl5amd4TnFWR182aFp6OW9BU092XmFHCnp6U3g0RD5m dm9HSjRTYVVjJDs2Vik7IWUhZ1lNPWJHX3FTaFRGUVFFSlJod3pqfmBZVTRodWJ6WEJgOzZoRDdE WQp6WUV1ZnVxPH0pSjAldDRQUXxVZ3lhc3Z3bElTUEp3YkNfQ08wWi1GYnM1eDF2MnlZZTBgY3Ba TWBRbihBS3NeZGIKek9DXlRJSklQQnlLWFFxekFFRTclTkJGWiYkNzg7XzhKNyNHISlgUVFGNlcr UkY2TEt3V1gmaSV3Jml4T0x2MmhwCnpsanVjUFgzbXBnSmw7fHgzOVVsNypHbHl5U2BqZEctezVR cVhBPGVfS2x4YTlBcHY8Kk4wSlNfciZBZGhUU1Z1QQp6KXlfV2g+OWtWfHJZNk1oYStROChRYihg M01XJXNmZ31UcShNYitWMChwS1ZhLXd0UFhtaSl7Tj45OVJ1JjtyMk0Kejk4VUc/biF4ZVJBcjJu I1Z7T31YKlYjRTM+YUE4YjBJLTNiVnktdnxIdXhpfjdge19BYHNDfGBuXkJvI3IlU2xTCno5cyU9 I0U1QDhETXcxXkZvaWQqbSUpbXROSWVyZilecTN9bmpSRjI0Q3o4OWMxXkNtUnVYcnlMJkFKN0lf fClZUgp6VDghQ1ZfWEp3e2tGaDRmPnktaU1qQHoyQlN6WFByQi14Vk9XTHVWflpwMnZgYF8hNjY1 ZVQxNCNHNSpOOCVTM2MKekhUPEMkYnVDbnFALURPUGR2RGhfSEkzVlJvcWZNajhjbyYyRCslMkZa ZUV3KDJKQVBkYEFkMGdXc3VtV0EpSD9ECno9YkBpbzxfXmE8K2ppT19FdkIxZXljZ0YqUFl5VntI ZUYmem8kVVV6NnBvMjklbjJGakA1S2RVcTIhJWlBPFh7aAp6b3gpQHMzPlR9X0ZQb2RuTzB0JXxi XlZFJHlqcz12P1MwIyZkJVVrNiRFVDt6c2BkaG5BM25VYmNzSlZuNSFxPGMKendpO3gxR0UpbDRZ N3ZXMHFYQDVXekBJYnRTan50Ui0rfXs7Xyh7PXBqfVheISVII08/LURvKDZwRjh8ZF48SEdtCno4 MnUhSmclTktKY0RCVG8tQEJnNCpzLU5HNSRAQExkVjlEVHB9UEdPWjEhbm51NFlyPjMmdyVES0cw fWNzWShMRwp6dnpfZ1l0aUBCcD1oKDtETU9OQStZcCZXbVA/JnJvISpWZzBReC1LUk0qfnxKVTNg bl5iNXFsUDw9S20hQEFCNCQKenxLdEhsTShmQmE8aDJVSDxIb29KPl83eTNAO0RUfmdPXkxRaG47 d3BOdHkrTz4+ZDRzPllaQztpR2F4bVVjRVZJCnpyfmlzN3UjITtpPnZ5YnZjUnJpa19LeXYkUkAz YWE+NGN4SihGaCRtKiREblRLZmE4NnpaeW9Sc1NObE1NWkpDUgp6R3FeYV5BO2A3KCFaMnVCaXky fm5sejIpOGxkI3RZXkQtKUBNIWl8MjAjN0d6OWhEazthPGVzTzgtTzVteCEpdXAKejxeYHE0Nyo7 dDdFJGkwMlpBNHxNVlBZWUtLbnYlRG99ZG5zaCNIbjkqTThUQzAwfWc0NjN+V0p0KXgrfXdKZU55 CnpHRDFJTXh+LTxsSWk7Pl9lYlR5JXdidUFeaEhJM1Bjfj1IaWNLQzt8bl8wLW03fn5AeD56Z35C KX4wWXglamV7Jgp6QHlKYyROJHR9aFpPQWFlNjAqd3dWZF5UdytGR2BEZmc7NlErQFZtNHlJWVV+ RSQ7M1ZGQWx8Qml4emglI2YhVFgKemNMKVNgY1krMGk2JEBYXmBPWkR9ez5oTDFXWTM7RyVWeTFi KlNxdUcyYHo4TE5TfG1lKTgkNGEkTE1PUXhJI1Q9CnolZC1MZi0kI1doMnQrUVNEPXdVJjdlSUU+ IWdTfUNQc2c9OGQqa3QydmsxbEpacWcjI215cEBeMnN3c1pkKCUxWQp6T3xpUmokMDZ7RTdLdW5m UyRhWi0wR01DWDJvKE55MGs+RUlOOT44emF9fHEhR1M5PygwSEtYT0JITXt8b30yLXYKelFqY2Qm bXRUNEs3Nm0xZTZCV2FBUzEpQnhnP009OWQoZEtnIVVYMWFuU3MtRE47ODE4TmErUmY/SlA1NzZ4 bmEwCnp8OGkxZWZpNks3Z3t9MVklaGohKF9XWmtpYytHJE5jaSF3dDZePStKKjNrbHg3OEF5blUy OEQtQnR8NT5ua0hOQwp6d0dVcUBYMHl+SXdSRUVKaH1PazI3P0d6IWJUfD5tdkBINHd0LTtEP0pH K200TGFxUmNHa0c7YzIqIUhCIXx9T3oKendmQUw+enBiNTI5VmpNQEljZSlee1pmXjlIMCF7SHxG UUZiel5mWXNMNlNOPSoqbyVNQCR8QTZVM2RRTkZeQDIhCnpZWGhtSUBiO0lQaUlaYm5fZHBiSUBQ MTE5IVl+SUtBR2p1e01FPXdNY3RVU1JHfk9Qej1YYTlHZm8wNHF4Xyh9bwp6WT9gZnorfUAhZXZH dnhBOVdPVUlmLUBDQXxMNkw+aytrKlQ1blJJVlpDWWlJSDE+Nm00aElwPj5sXz87IVpGak0Keisw d1R3d1VPPn4lZHQjPClGa3B2I0ZIQEM/KU1iTDY9VXZROWtEQFk2LUhnVWEoemotVlE8UE87X3o5 eCFZMzd+CnopJHZ2NHJLdERDVUtefkFgeDA5TmpvV29OKTNyNDw5PXNpZldtci14bVI9JT0kPntP QER2QkNBezhheVdAdFd2Sgp6I3hZKnhEZTk1YXFnSkVlaD57YWBTaUpAJW5EJmxJZzt2PXhJKFB+ MyV2VFpiWkJecVlDTXkzKzRPMSNoUVQoJE8KelBQJF9XP29ebGIzfkc+KFVxTE8mVFpOc29IWUs5 RGppKkk8Kyt4dl9ER2dnfVprJkMjXypJdC13e1NfWCVZYTshCno9NldwSzFyPyUzWDQ1ejduNiE2 MVMpNjBtVz0kQjZ2IXc8fndecDBqT1hjJHBoPWM8diMmTChQXmlkZX4tYHNpNgp6NGJqb0RKbWUw PkJ0TjA4WHE9UkNldHRgcERLT1ZCZ21PYzNNJD5hcylKbjJ8S04lVnc/TERNNGZafERYSnV2TCYK ej0oV31POHJydjtwKy08SXB5NnI1V1dnNGVQLVhfPTx1YWYlc3g7R09qTm9QZHFNYj1MaDUwU0lP dyY0SWlPMzU1CnpGcmdnTEc5fEg9RkgqUm9ldGZaTndKWlBZXns1Y0RnaHhZc2BeYDY9YTY1eERf ZzxLTVNkZD82dkY1ZCVXfWlAJgp6TW4pSGxEbkd+UF9QRD9UN1dBYEtpd0UoN3tSO2ooUiorOzN6 eTt8eVVDZCMldGlHJUlod1h7KF9FdzxDWkFAOVgKekpFTVZsIWBDUEpiZXZPXzI8KmJRU1Nicj9E JXRTSHNRNS0yO2Q5SkY+b3ZtbjR6ckokMylOLXFVQyVvWj0mRjYxCnpvRmp3WHR5eGxjNSVaaDVC KkspcFJyVkw9QHt+IU9TOyh2Xndwd2h9JDhOKjRpYi07JkdEKVo3O19wNmxFQSh0ewp6ZVg0alBW bT1fbnhaUmZpQS0kfTI/YXBgVSVadDFgKSp0VmJ2aTswYGw1UjAzPWQrKE9hQXhXa0lIK3J8a2Nk ekMKemVMLWFgLVZoZGJgKnZMe3AlKl57SCgtYylIY2ZkUXomaDghQjtAXmdafD83YVhKTlMmezBa V1JmSDxOZjdgcDUyCnpLTWV3SzZjdnMlXkBnUSpCbyhySkNleCZhJXxsYj1ZO05BbztZOW09P3dE Ymw5IT5GZ3JAcFdRNlEwaUJZJChOPgp6O3hzY2E4UDJqKVJsWksqKD0rSjYmJWZmczJBTWF2LUZs YHFuWjZJV1k5IXlEQmklYGQoVj4mST88PHx5UVRJQysKejdxRW9CTCFZQWV7U0tMU1k2an1ZZUBI KCU3ZVd0YVN4YmttOXsja3NqN154aWlgSkdAVlhDTXtVdjBiKEx2QChlCnpPQFZ7WDc+KGNhbWxm PjRiRj0jR2duVi1vJG5sfjIhKWozYEF9JXJvMXxPN01VKnZ9IU9eWWgyJjFmSyVXd0NFPwp6ZE4w fUNrR0M9c2Q2RT56eiR2NWNiMndsRC1iNURXe1QtWl9CMD43V1g3a1lOaml0NDltNlhgd3RFaXdv ViNgJW0KekkoU2B6eVJ9aDtMQlF1SHE2O3AhaT9SV09AMDxFVXRnTHNoKGF8NUkxKTdZeTdSJjhG WV42cUZ1UHVuVlBqcWNJCnpkOVZAQUp5LTFVU0xsLURiX2tXMDZtQFlSPF48bFdQWmxRRHV2P3hG QkdhUz50YlI9TnR2aXxTNCN8dllCNX4wcQp6V3h6M0B0JGxAMlFSWD4wN1RMPjZBbSlKMlp3fSlr Yz9OMkhxNHg/MHJGVDRFZjd0U1YhTmlxKXkpOWAyYGc4S3AKenUpLUpENCVBZWBudlMhRUZUMVZF T21IST1sJEwmcWI7RTZoaHRvIVFHbDk8cWREKHdLcUs2JT8oQHN5WkNZK145Cnp1flRZMiNuXjRJ RGVYVV4/NTRyI2JwemxaaEgmbz5Ne0ZvZl5QTnEjQzFlTHZLKn5Pez17SVZQaGV4dWU7QXtgTgp6 NWYwPDZKLSg0Kk83Zn1hdnN2MmZqKF5VYGNRUzR6WjxwRWYrTkA3YFMhREQ7bSNoSVl4alhLPWJu IzNiZXFjJWAKejtOcDFwJEBBNThgMGN7K0hOPiZkVVNlVEYxSEtVfnpMd3BJbWV0VHIoSSYkXi0/ K0BISCtDR1ZweW84JnNPe0VNCnozdERQJWprc30tWmw9OV9QdVNvOC0rV3gpPHhSWUpDbkdoVio8 emNuVXBoWFAzUFBOYmRyUnFgREliVWF3cj9jMQp6JXw9ODgyUnNLUmY0PEQ+cTtvdncoXml0Rmwk YDZTakdfV0I2PjZlTk8temZXUygxWUIhWk9kaEp5R0ohaHwoQWMKemBkTEJCQC0qS04oWmpTVEdt P3hXLT9BYztxU3VuQXluaFd6ViNCN2FhY0RuISgtPUA5dTBzez1gRUJvRFE5c2EqCnptTyZ2Z1Jm SHF7VD5NPlYmfjQ/KGNeZmZTM2JuJGxidEAmNzt4c3hpSX04fjNYKTRtOXJxZVFiMDl1Q1RiZndR Sgp6YH51K0JpLWBlPmcqYmc3OzZgKTU4dlhEVnN6NEpqVkMqKz9IKGZjeSpkd04/eygkWUZlbFlm P0x1VV99OCt8eyEKemh2cFopLXR+djYmJF5VVnstbkA4ZTxWVWA1JVd9MyU0bmwhNlB8Znx7MWti VVVrZUN3eDR7R1F3UzE7bz0rb3xZCnpTXzhSTSZRTmVFI05Bdio4NFpVcDVhfmd4X0hEdW5aeCsr VCohP1cqb319IzRQfHU2M2FubVAteVBETnU0Q0k+QAp6VnpqWklgeD5LRno8d0skVHw7fUJyKTtP ez0hQm8kWXtBX2R4NF9IYmhzeE8jWE1hSThLKm0tWnFAdURvRzNCXn4KenFQeHB5TUdZfWdUKj5p aHo/dDtEJGVHWmoqKjx5QVk1SV9eOSspbG92ZjMkTldBKE51PUkxUi1eNj13aCZ8YyFrCnpRYGtB ckx4S0RNXyFNUjd7fiRCPjchNnAxaClSKSghVGF9RTFmYnE7ejY8ejswIShfWiRQKDdQcDd4STdr fS1eXgp6ezklZ01ha0RsNGg2RUxAOypESHstPjJQQS1zQC14emxwQWlIb3I+d3h7ZER3LVB1djMz Q2Nvbys0OCZgI0IjVFAKekc1KiRWMHlDMHxyKT13NXBATXJXU1F9bCFpOz0mQ1ZZfVJTNWdjXnJu ZGdGKWcxTmwhWUNqQlcmeypSUncmY0FlCnpXYkx2MVQ7UHQtU3szcE56MU1XJEwlV0V8a149cz5A TG4+NDFWNSsxUyM3ajI3akVlcjFQNXpieyszLW9zJTEyQwp6WChuYnctNEQ1c1pldFBZd1VzUm5X fityOD98N0c3VUNENH0xaVQmWjtsKm5VRV4tbiZsVD48eCZGY2RLfDZDJFUKeio4Jj1QeDc3MClp MGtMXnFZcykqdCFGPTkmMT4pc2RJIX14MGV7MjZsb2A+bk0yej5yUHJld2Y3eCtmcWY2YUVXCnpQ U004dWpgclQlVFdHOHgoNDNLaG1kQVA5YHxhQXAlbFojbnF4UE8mdXckZVlgdiRLZmpId1Ypc0p0 d0swWj9MMwp6a297P0RgZ2cmPHNCPn5lUyl3M2NVOEpBRUclcWRDNSY2eG5qSDZvUCY2PHJyRzlQ NiY2U1RqYFMjMllrbStrKz4KeklIWXt1UlBUR09tbVdWIUNvTjQpNURZfl5rREdLSCRjI0pacjZ3 UVFGUXBle2FoXmNzbF45azJjODs2PS1sME9eCnp3dUdhKFMhM1VOeG5DRWg/ZFB+YCN4PF9NUmpC eytzO2ZQPVZxb2JlI3JUaShBY1F1dWVXVWw3RzBkLXwxODwpQgp6VD1WKGtDVUc5ZiRHO3xXaEct Jj1sM1NUcjgjVFBMQlo/JGNqRXNUTV9EfENnbV9JcGwtX3pFPGdQZz5fM3dnUyoKekh1M3BMO1Fh MDFfeXE1WUR9RnNwZ3ZTeW1yaVFqTio4M08yc1VUXzlqZk0xZypwT3NiZGhfUzdNKjtnZENOajRZ Cnp5Jj9uT1ZURUd4RE9LSTJMRzZ4PXhIcWRrQjc3d3xVT357QnlzPEskc1gyI3RFTDs9Jmk5KVh3 ezVhfT4qRj5feQp6LS1uMTxhXnU0IUtPaUo4JFp+dDhfbCRGTW17U1hYXzsjXkFIazI/RkJnZDEm O2BIPXBxRC1PQWtsRE5ra1JlUnkKek01fjMwUFQzU1QyUyVgb05CKUEtVTtuIWNARz1oQyo5TXFo NzV4WUxASkUqUkozQmhzPiV6JHM7fVI5TGRLeWF7CnooQTErMFohTCFxYVNOI0xPeE03bFF1Szgp TXQyNXRITilzbTxURm9MeyElI0JFfHZXWlJ3QDx3QFBzbE5sJFNsSAp6WGYldHEhSXpjNGQyRiVE PnZ9OXpwWW8xRyo/Kzh2P1EqWElBPj5yQmZNe3JCOyRvNjI5Ki1kJkp4a0RQeCF3UDsKejE5Yz0k e2JRVjVMNXQpK1NaTmNnbXJ6OW5ReEx3PDNEUDBhaTZDTS1TJTU2ZGBFUV5qRHtOVCNvVigoWWZ8 SnJmCno7I3VlQXF1KDxYTXNXRWJSUzlhZmpkfjkqU3JaWTllI1c9NU1hfkJLfDBKWmlsR0pzR1p9 MzthTj0/PklSTTlGPwp6bGRrfH54ejwhc1lHbldzd2ctb3ZKWkVQbkZTY0tse3dCeDs+dyQ7Zk5v MEZkJjlOeHZxTWpgTXc4MCk2cnZ1VGgKelU0SVhAc1V5PzktaCR4YzkhN0VNS0Q1eTJmemckM2xR Nmx+UzdHTUE9YkhZN2R9YWcjeStDUyZwUDI5WDt5K3ZmCnopaXpNTTE1fXZHXnEoMjMqdnAtU2dN eSUkamdHTXBGbHdSMnJ2OX1qNHlyb2p2RTElNkA9TVJOLXJnUExQeD4kSAp6Tzw2diFCP1lgQTZq eGY4Tyg3dSltWTtvRj1iJkg1Nk5JNms+RSZEdClqUWUyRXBZaHEzNkkxJl5SdXFVK2N+aXcKejJS JjA1P1lGLUFNbXlvTkItN0FIcnsjfGVzYml4RHlifmxKOWViIyg4ZWokUjdWKWpVckg9REk9WE0x PFEpZiRACnopMXJWaTdeclVzeF9vMi1lJm03cXomczFDN1hiWFFrSDVRb0FINlBDc293NV55Qzhz eCp3aFFtKXs3KE12PXphYgp6Mmd0PVQpayFWfD9WMzNgZ3FzYDxDIVhvT3BYZDVsM1VHUUY3ZlZq YzkkO0RZbkc8ayViem90XjBTWStsdko/clMKellJZjNGa0g8ZlZ6dW1hYU9RSSpQaTJOPlEkfWJz dkFuaGNyYHdgc0RJS3Z0MVpHfTs2YGtMK0VqPnlmQSlIVSUkCnpFUUQ8WSFuQ3JvTHtwMFdaeHo4 KnVMaU07RzI+O15eXm0mOzRSJXl0K05vXlVebks7eDZTQCt5PWFodm9nV31uYAp6SShiMG9lcl9T Z1A5NXtVQX5VUylWUUpJVEtKQmByQ2kjKExWemZuajVRK3wtcjdxYSlsRXJTfWNwTUhvV0BhYEkK enJyNWZsMSpkPDI/fXUmWC1gT1lKPHllPCQ/WkoxSkNIJn1wRzh4bFUpeEpQeDtkTX5FQFh7QC1e Nz9JPiNuc2tECnpZTkJrbzZEM0w3QzhjQFktRX4jRkZAVkN7MSk4WHpkR1p4SDt7JkVHeHNVXmJI alh4eGNQX1N7XmZvPi1sZmBTUAp6USZ4aUptczk4YSo2K2lJLWIxYEREMldETEo9Xm4kOzw+Vm5l fWtUXmVmTXxtSHxsUFIleVlHSGZFKTQkWXFiS0QKenczbEQ1OHd6T2xeNUpNdGNBRG1QbVAhZyU5 STQ1VDgtRyUlXn1leVE4alMjSyFNb2U0JEo9XiFBSik3YXZFTDRxCnoyYjlFbXcmdyN3dUZ+NCRO KiZEUSF0cG8kbT19YUdvOGApX1dBeHtWdF5XbCo7b35BY2owSHtfclE3azFDTSEqagp6dWM0USYo azhNSkJ0YUxtY0V4RSplSEp+SWdlZSlPUkRiOEdobUlLWXA+c2puVUEkUyZ6aVMmfE02cj5Gb0Y0 fT4Kei1DRk5IY3ZSXmw/MGg7NT9nMyttaFlBYiplXllQd01QUm9XZEwqYSlnUFBNJHRALXRpV2ol TShhTkAkZjsqRFFBCno2NT5LX1h+X0RrS3wzS1dyYyRweiF5UUt0KyozNHopSio9ODBxc0hpZlcm emU4cks1Ul5oWHYpY3wxblBYVkhTQAp6b3R8PyVQJkw1I3hwblVwdTxTUCZjN1VmdTxpOVo7S0V6 RHt4IVhCaXA0TTVIRn41TT4zRz9kI1h7WCkpaCEkKjMKejErWGB9MHtqWWpWclQoeThVVm5wRkAp VStaeSZtSXopWH0jSnwqS1F5VXclaj5FTEAjJXQmMGgqNml5ZHRWajczCnomfTxqSXVgdlpicitU Xj9PYWpDbSRXVCMyeEAxVylQPHkpJVN6QH5rMCg4R3BgZF5qQVlvelgjeUhUR1gjSjVacQp6dClt LSl1X2owJmgpTkN3OG4/WUZiJDklJUEhX0NXNiN1cT9zTmthUXt0OFQ9SGwtPkxXKUtPMGg5KTJh aVokcSsKemRVSmw/ejEjMXBifn1fTU9uOTd4OyhYUWg5eUluKDw7OWomVzs5Z0BIUiozQmtpIWlF e2Zycm1CY3VZUzZPazZ2Cno9SHpYQzFpdX43KXE3NGpmWl5zZ0tUfVM0SiZXX2Vjdj4kXmNAb2Eq eDlYJUIzcUd7SS1saT57UTJKQCpQeHs9Tgp6NUhAc0l7ZDUzLTw+IXU3UTAjbzF6dEdAYXdRS2d9 K2VLOGJxdS1jQzdjPDx8QThGV21VfllkYyVnJFpVeX1sOCYKenJ1fFY/dj5ETWk7fTdzdzhnZV4z eSpRO3omSW1mQThXV3Y5aShpS31tPHY9c0ZONkJ4NzA0SnRSTW05VXoxO1pfCnpFOHtuYlZXZ040 c1dwTXdXdD9Ac01+R3sjSn5oU0pfQjEwK19fek5raDxGZHBfaXt1dkMrVTQ8Jns5M3NCUXxRKwp6 cTlGRjhfJEI0cUdodCRtdSpXQWBUY05LSzZKeH5fUjliT2cqZWNBTVI9Ozt5NVBlP3YrVC1EO2Jj dnBAPm0wJX0Kel5mY19OantqX2stRlZWbzN9andRc0pMYGkoSzBlJmp1fCZLSDtlaS0oeFVVTkgm ZWh6Ris0ZnUyViZuNWw7UXwkCno4aDtrSkMtN3BmX1ZBd3l2biohTmp1eWZORjhaXk1TJEslQ3I4 VDk8U3MxaU9JPWsjVnZYTmxEcmlJNHImYyh1UQp6O3A7U2hIWFgkSSEyZlRkYnw9Vm9gIXRgejg7 KnEmKSM7RXoqIU08TFFjRnUyWSlNVnRgeE4pIzt7ZjZsd2pYY1QKelRMMGJtVT1zIUhzM0Z2bjtP T0M9WFhubFMqelphRDQoLTlRbWw8P2VZR2FpaU9eSHFXcXZqa0RvaEE/WWR1RE1NCnpGOWpZe2V8 QGdfdmU9XjgpSkA8T2hXPXt0e1dvXlN5Nys9eTxCY0BpKmY1VldldklIMTRHbXY8eSY+cl5pbGwj bgp6cFZLTmU/czY4U1dvei1sSkpgQHlHXjdYZ1hNREY9bEs/LXJGSDJqX0huVj9fNVFDQWJlZDM0 UHkzT0lUMmd5YjkKejlrJmtVeTU+ekk7NGpMUTF7ZmA1PzwrdjllVlBtcDc4ODdzWVYyVjEkQDJF KGFLYUx4OCE/UXpxWX0hbEpWPTVBCnpkLXpJT3RNSHBkQi00ZTJAVStvSnIhYStwKEt6dmI9anAo Nz45QTw2Kl88eDN5YE9eTjMzaGd3M3EkQEUhfW4lQwp6IUwjPE4tTzkkYjAyb1V6bEc3I0gzJVI/ VHVrKWlBJlUycz1HWDZqKDZkKHc1SExmRXMrNDltTS1GdWIlSEhVVHoKemYkaD1lM0dBbzJgWDA1 UXpRR155X21GXmFiM3ZYRzFsOTJtJkBCMGhxQHhIMlVgdHNqaT14M0dASkNYNjdZcnVKCnplNj5U c0VsVFJuWFlBWG9tI2RaZkFIezw9TDwzJDZVPXdebElYYUhPUHh9Kngwc3lUP3ErQzMxTFIta30j SjEpNwp6WlF1SDlEQyV4YWZ4S257Syp0fEBQK3M9Z29HITtIKmQyVjBOemFSQ2QtTn1LaUA5VmNr ND1gYj4yPjVWPFkwUnwKemVCWEZ+eDY/Y0UkPXF2RV5xRl8hWCtmc1h5enRMPyVqeXZrPE43SDJN Qm5KdSg4SSlPPWQ8PGc+MHlAIyN7c0hiCnpTSnkqKE5yMSVMZzRqP214P0MxZmkwPDwwcC1hSWw8 JTEjNyQ2U0NUPiZpbVZCbHNyJlF1QFFzJWR7UTk/S198fAp6WD5MVDNZT2M3PWc1VnA5JkVDQkV5 bWpwWEtOayltYFEhSUJKfjgjSyF1UX1TfE1UIUo3TVoySURnRkVOZl87ZzUKejZCT3hNU2I9QSle X29IST9INk1ATmFRV3V3ZyR+QiU2ZyE/RSF1QGsmcCVaJURBaXdQUCNhJShkeDdROGE0azx0CnpL R0cpJHNDaUAjOSFVVEhfIzZ+S2lVQH5wbDVBeFBiUFdGSGJiQ3A/RTw4SiV7dzRKTSRuOEkpa1J1 YG9pd0RXPwp6S1NuT2Vhc1heTXtxWEFuc3JpbXs0eFoyTFAmV2hpTS0wLXBBUkh3RiVLelY1e2dE aVdtXzFvUldRPmt8UjUjTHgKenZAT1YrfDVmNipEa2tXV2oxPHtyOU9eSEFlIWhyXik/dUp9YG9Z REktO1pOKy1aJVF0SGFFMEl4SH5RVVNJN3o0CnpwK00tUXl6cmwwRENuVFE+KCR1bkQ+dH5RIUxE e1NxSlllS0pwVFAzZ295NmlGITNPLW99YmVSdD8lV2hZdEF7agp6bmRSak0yZk1LYTx4KlpWcTUy b21SZXcqUG1NOXYwMiVqRWQ+JmptVD49JGdQdWtVXzNtalplY3trX31vMjJkYm0KejlofFF4Y31n R1E7OyM+aGg0dU1OMnFFdm5NUGN5dHdgVU5TXy1vP0IpJThUYz0pQzgqUkJRJCVRUXw5ZyZNdWRO Cno/PyhnO1NMRGM3cjZfO0IqKyVVWEQ7Nyt+VnhhZ0hhSHRCWGh0WnZfe3c8MH0/JF9yPUc1SGR0 NmZkYCN4a35MeQp6d31ZbEFPMXZNcmVAQiF6e19SWiE2NDc/YzV6WFdWKCheMXdtdX4lO0pnfm03 cy10QW4qQTVnfD48NmNDP0c4WnAKenN3fEZvMG91MUk+RCNJX0BBX31DTGA+SDF1b31DZTRHS0A2 ZCk/YFhiaHFnVkBGMDFyWlU0IzQ3TFI5cWwpYypgCnpLeVBVISQxTnk2ezM4Yz1ZSi1Uam59dWpM SXlCbXR3Uj1MO25OVSlGJGlRemZ0TnRefTZSNG5NWjZIck5gLV9GYgp6KE5sSzB4cz13KiEtbkZR ayYoPm1wUHQ9RjNQN1J9MUQkaiprJm5zSUs9KHQ7UDZDO09nezM5PE9RYkMxQTNxOHAKekxlTGNB dXJBPUg1K2ZFVSNxJilHSH1nOEJJKGZDYF4jMCEmNDVQazsrUGBrfHRNSEVpcnhjemhOUWYkRj9h XlhuCnpBKmN6TzNoZWNWeVF0P2BMTjhpSz5jfmJCMEhPOCE+fWgwcV9kNF9UJVQrdSs1KTxkd3tV cCVJPEFRaFErUW1sZAp6a2o+MERnRSQ9IU1HfE8wXihaJU9YTnNuWlhBfmhUcVcxNXcmdWphcUUp KCohN05ubFVxTmRAaV9xKFZeNEBNcigKemF8V3lOZjNOJT5EX1JxWFo1RmNAazBnQHReT3I5TXJ+ Z0Z3JjAqQGxHQVYjSEtHWHhVIzJtbj9tPypEWSNhT2Y+CnpaO09SNEhTKik8UikqWlMyNzVMNjsp P2FSY0tyNDs0PVlWMiFfUDhmaUJ+YSgtdTZeT2QrPT9UVWwmV1ZzN15PWAp6b00xbnM4bT1xS2V5 blRDNGxMU05VfXxve19hbEwqPm1oSUlia1IrIzwyNmAzcE1CPzxUNmV+NHAoRmkoQkJTZGwKekhE WWQjKURwe0d8OXtrITBEJUducy1TJmNiZ3crbkdxPmBPbUIlcTUtaEI9cHNNZSFkM05zdV50SnQ3 bndOMExMCnpyPmZCWDt9KCRPYSMzZSU3Zng0bEhYQjg+UGFpYUE5dV5lXno+ajhQSV5CdG1fKnB6 PXo+d0RRU1RGfExOU1Vydgp6Umc4Njx0SGB9LUo7dTg4P3hre2gzS0swdk9POCFVI3skbjYpfnlO QHFSd2FGQ247dCVoZytJUlgwK257bFg0RXIKejFRemd3S2BsZz5ncTF6XnxBaT9VOzBgYWFWfj58 SzYrdSRwPSRPUjROe0Uhe2Vgb2VuYG01ISklOVk5MVNXekxDCnp2PUNgZmBVejtYTmdILWxCRk5Q c1dlK0VQQWpRdVN0OzZHe0ZXTlRTPnkzLUc3PTRfcCF6PFJDbDh6ZUFKNjdNagp6Oz0/TUVUPUU8 bFRARGQoVyNTVj1jUDJ1UGQkQlU1YUV7KHkpMWB8THo3fStUSVRNIW1KV2w7aENudSFMKXlPODYK eiVgQ18oTW5yfTM+cWVaezdAelUqUmkkO2M7Y2U2eWslQSVwS1B2ZyU8MGFHdnJKdVA1NExee24k bFBLayZXKDJ7CnppdFEpXmFRQnxTPjBMPjVhI1g2PmwmYVRlQWBJTTdMcnw9VEc0R2g+M2hfMiVN SE1qN1g4OUZhdkQjdS03YlIxNgp6bWpXc2Q2dX1WMmJ2Z2FeTWkwZXs7bmI1bHpvcipndGxxNXg+ ZCRpUylvdjt5byFmRih0ND4yZShkSERZWTZ+IyoKejFUWS03NXhLIyh0fWwlMVBuQHooSUBkMVlK V0ZyMXdpO1RlYmQ2QWp4QiMlRjJabEYoZzxQTX5ebkQ5T3UhV1UyCnpWZ3VAbGMxPVVKeCZFUGoz OEQ9Vz9fezk5UTchcXNNbkN1RmI4a0J4MypgcHVseXRQej1idnY5bylZdzE5bSpUbgp6aC1mWTNo aXNtJUM+PlR6M194O0xCfDh6VnBYVGJnVEoqXnZ2eztoRzUpSnI0S2s8bjQ3MVklN1NNZXw4KU5A UGsKeks3YShRSUVPfTMlKWtyI2FZJnM+TmxCKXArOF5ZUzhKc20qRUgzcSpNVksoaktqaFE8V15U NkdFd0dKa1RZUz5jCnpOUVR1fkM1ODdHbXQwLUJ7bCVWOTx1UlFfJV4xbyF7OEt0ZyZMSTBYVFgp P1hLbyMpbHlLQ05ySXlQI1lNPE0oKgp6XjE0M3Bvam0mVWFONSpqTFBsfE1GKj14PW80ZCNqSnBH MT5EbGE2SnIrdyhyJSo+M0FrMXRpIzN0TmoySTU5bEAKemVlSmkwZTNARjJPQ2RrJHh8TmBmam07 PmsqSCpwUnR0O0pWMzVGamZQeFhuMW90VlhHbyU0U2ZSSyM7JTVBKSt5CnpiZm1sZ1NrZVJ6QD4t a31ZU3lgb3FnVnZ6MzZmMUlQQXN4K3o/eEtxX15hcCVmWmtMVlJWJXBaQ1NAYXApXmBeYwp6Q1hZ dGhLSDZ7aEBYbm5GSEpoPT1fcn0hcUtKcV9hRUkhUT14KHRxdCgtckc5QEVAQyEqc3VsVVE0ej5k MlVoN2YKekUyWGo8UnxTSj5eQFEhRCg3aVEoWChaJFl6O3R6YWFqYXljOUM1ZjR1Km1wXnI7RnJH WilCNiYmQUF6PkNIN295CnpQTGBuQyhkP3NHe0h4UmxjPiRmUC1wN15Ebi14Yk95dHpxM2hpX343 e0JifGF2Q3lFXkJ+Z1hHPVJ5QUNjZGpEZgp6I3xVaFMtR1g/ciNOXzFVQDg1SXM4c0FUcFlnZjtB SiZ4VXFkeSF+cSY+USpSUyFtTVAmWCY/Pm1UUEk2MksraFMKelRBbU5iaX5zViNYK0ZxYy0pSzht YDFOI0l0eXFEPz5tRlFVMFplNiQhYnVURHhncHJUVGwzZmVeOCRmKENjMFVDCnpfS0MwWD0hZCZ0 KlgmKzVPSUFgN09xWlBOMmNSNWdCdmtDPUM8MTE9OTNsNkBGSDNkTSEtRHdIe2MpJCNBUTl+MQp6 djM5NzhQe34odk91ZX1JZkJZNllgZD1fK2YkaD1CRGhueV9NcDNHVyRmS31zMms0PjNeI2l7c3Qt MlR+eDJ9d2AKemVEYkFGKEBaPUkqaihOdV50R0soOz1KUWxRUU5FYE1xMnlLTDFpTVRQTj5wQWM+ Wm5LXy0tcyErQXhrZll9VzF9CnpMJV9jM1FOKnYpaHpXSHt4KmV6R0hVMnJMZmVLb2U8O0M0PUQ9 JU56LU5BSWVBTD4/VkdyO2s4YndYPSRZblJVIQp6X3tvZFB3JDFCdUFBRVRCPXs9a2ZMIzFZdmI7 SWQzSk54NUBRNlFDLSpXLUJ+aiNgKCRBSGBqcVRiP3N2b3UqT3IKek1PPG5jZlJFa1R0QjhnVnp3 e2FNM3shNCVLUTFtZkBPIXZQJCNVJH1SVDg9UXBlYn1iU048Tlo9ZTZoIXt4bTVDCnpgPFVpS2FW ZGhYYEBgXlNHKWVTfGlPZnxrbDU4IVRoeS08bFp5YXIpeT9CP3h4RCo2R2d3SS19YT1uaWo2QSNj NQp6cnVWN080THwlYEdiVFVveGkqey14cnstLV5RRTchSG0pQU1kIU9nfkhxRj8tNiY7cDZMZTFM dTBPP300JUpYWWwKejRTMFR2bnN+Z3M8YyloJlNGSXR6cl92Vzkrdik8SHU2bk11eHRFTEZFU2p0 M09DcDFwOF9RSypHaWtBYEIlcHdZCnphWjtOMCRGc18oZHdPMHIzOCY7ZG9jJmZOVX1CUD0qSkAx eFp+dlM1SSpHdX44MG1GaDJJaEpCbzl5aEU/TT8rOwp6cnlTP3JFNy0wPitlRitneGZ2PDY3NXJo JHNfUEdTdWAlVEgjKE1tZjFyM2tHZTgxRSt0SEE1eE5gNi11QiVGbUkKemclWVpGNClmQEQtZ0FV eT5San02RldzJUBSQzBlR0BxcW0mLWI0R1BuVHcxWFVBVE99TFM5YSpoPDlnQT4mcXhVCnpidjAr XmdJWHQ/aCZAdX49eDBOZz9oNCZvaGx+V1F6bmM7ajQ+dWNRWXQmM0lPTHFMQ1NFd2oxUzhBTD9L dW54aQp6UWwyRFpMdH4hbFh8R0JQY2M+czIhJFA1MXpUZWxVJHBCang5NjVWQ0M5ME9ePGB3flBv cmw3T2R+OThwcURVJmcKeiF3I0g9ZSQpZUM/WXVQd3smOHlpeFgxLVNmIWZvd1c5fUROezVhU1JD eigrYlY5eyVeUi0oS2A8YkszQm1APH4zCno4YERAcXV3JShXLWBuZzdEUk5rQXQyNjBBOTJvTyNx PW9SPyVgMj9MNmRZe2ohfGg1OT95Z2o+JTFVeVhHP315JAp6ZjxqUF50Ykp5UjZ7U3ZQLVU0OVo8 X3clbCM2dj5GNCZqd14oSEU5KmM1U08ka15eP0I+TEFVOC1yVXt+TGFeOFQKemxvYGdKMFgoWX1V eVBGY0ZTZyhQUWkhPWZWaXFoPiZRck12TEJVZCtEUlR1MCRfamx3VlNzQiNvbTEwUjlncj5RCnpB bEZDOURrVktQLSs1PEg9JUc4fkV6XjZjYUxpWUdlUiRDMUc7dHhiZnM3YGJuUFR0PnN1aiRrPio7 SHtpUHphYwp6TSFmMGNSc0B4OFE/fXBNN14ra31yUloqcyQ5alQxZHh3VHNyQk8jKXMtc1F2QFk4 P0tgVyVEQkpJNGNZYXF4NlYKeiY0dz1IRGNjcHF4KkY8Rks3TDlZX0ArWTdHYGFpaGA8TH1wbWZ1 Xyp1ZjtOVG9ZI2h0N0goM3VoI0p4V1hfYjlYCnpfXnBzXz8kNkxKKVpxWns9RU9zNVchYjE7cFM5 eCV4M3MrNiEwI187YntBVGlpKERrTCRHbz05ITBXWEhHNCtVUQp6emRwcFlJfFVHeHNueFEpcTtq TmpebHdnal8wRjs1SWAjM2s+cDVqND17PCgqRlR0T21Uci1VUUA3YCg5Z31wUUQKek9fJjtAM05Y bXp2SDl0eVpSQXhIcnhBZWBAP0ppYk1IUyhqK3h1KiU7OGg8O04xZlJLZFdXI3tfSkAzeC1xJWor CnpKRWViflZZZEsrV2dRdGN3TTB4Wks4NThiYHxeUyhve3MjSDVvc2RCTFZBSSooMUw5dUJoUCMl bmF4YlFzKVFMTwp6Vk1RekNeeFV0OT9Dc35sPW9hYElqJXtGaTNVQDBaeXFZRypqajk0TE9PfVh7 QDVLUTB4VmtIbTRqKGhHKFFXfXcKenZIQFdDMyt8LT57KmRleTs+NDJPJmxxWXckWXRJY2pLejQ+ OGNyZnhJRCEqcUpGVXZgQEJ9fUJXd2VfNnJSajJ6Cno8QUxyKSZsPVZfNU00X2BqfGpGfnNBOD98 eFhEfkU1Q15AcyZCOXUyYVZ9YFcyJUY5MXdmbUtVUzQrWlM2NCpwPwp6bmEqaCpacDAwMVQ1LVYz Z2lROF9VKzE0YzRVIyMyak5XSDB7SW87d0dOLTlNKGk/YDYhNGpJMEB2MmRAdGE1JioKentTdVV2 PVlSam5ybkV0YUleSDB1VGglWX5uRkNKSCNAZTZZI1plUS0pQSNmSHhUK2lhOTwyTHkwMUVva3Fx KzR8CnpUXko9MXQ2cmZqYG87K31kO3otfV5KPmBQMnhIbXslcjV7dHNyZWxIKWx5YTNRfClaPGtN SEFjXjtDUztsajhGZwp6eCY7Qz1GXjNeSVZ2ezFDZDJZe2w2OUkqQWp+WWN7TWM/XiFxYzc7dS03 MkltQSEmcGNVIzRDJUk7VTtTVEIrWW0KeippPSR2NnxpNVNUcmUyQm47JF9yP04lJjs+bDNifiFg fnlHSktpNVJAakB8QXBgfUV2eVNzRG5zKDxrNEJrWWdKCnpiYnFXSjd4cGAxV3ExVX0yTXhrXjhQ WDMpalhgQE8ta2Q1SUgyJUJzelFoI2N3WnRjUz9FbUJuZS1yPTNwfjJNfAp6PElpKVZgVjEwS3RL d0IqVmUhQHFGPFNTX3FhUjQyIXtqek1ufjl2fV5kUGo0Q0JLb2hNUzAlVmhgdXdsKntvI3gKekFt NnFjPzdeSiVCRFlHQyMmc2gxZ3szR1daWns4aD88Wj0oY2YyKXp2Ykg4KkN+cl9oTGs9bH5uSk18 a003aEYmCnp4TVRPK2ROV3lGPjZRMipqKDlxe0lMRTkybm4/Wl5udmJYXj1taSVsWG8lez8zYTw9 JlA4JU80QzRTN2R0YXRkSgp6UWxGcXVTRC1SIW02a2Y9P2p6en1BPnNgeHFwZj1HIzBLZCMrOUoh dWsoMnleWWdyPlgwfTRYU0EwfTE+TU1SRSkKelNLPTN3Y0lsTUpQNCs5clpYQjFCMHhUNis7c34k MHtseCtrWmVMdTRpMnU2UCFDfXh1Sy09O2pjT2pgNjdJWWVVCnptdTV7S0lgU2VwezYjV2lONFIo O1BkYGQ7UWZeV19IJUlfIShkUXtMIUxqcU1jdkAtX3ZtRzhxZipAVmJAUyR2Qwp6TCZuPlNjV31J ZC17eFB5P2F8QHx5OFBqP3ZhQTdoQ0BTPl82ZG5IUUNmaGw9blJvUWBENHRZTmBrUGgxJiF6PjsK emd6Vjs3dUR+Nm0zelBYJHlwKzhxWDR1Ryopa3s/elV7KEpnRHpAYW4qMmdGeTYwdE9uaUdCMlgy dkA8YU9lfEBVCnpoQFFYN249NyNnK0lkSFlha3gxWFE5fjlDSiN2aWp0VDBxV2MoSjNCcT47NU1i bitMKSkzR0A9RV9RflBIfFNjUAp6VkdvVWBGQEtgakoxNEpqKkxsJXtKeGVKVFdwJHtgIz1FXkdV U28pVm9FUH5QLV5pUGNVJGl3Ym1jaCtTRl93ZmMKejYkM2lIKjBzdFpGYlVBX3tOZmUoTHtjbzFu ZnJ1YnNoRjkyeUw3e25jNVMmZD8/SEBlQXEkcGk3blphazkmJDFBCnoyRVJLa1M3fHteUGUycHpu WDNDbm1kcmpyYkkrQjB8SDJYcmskXzF7I2koK19YMFZnJDJDJEV7Tjg0P2MoMzVORwp6NlE8TH1e SnBxbT5VJStRSWRkI2M4OEI+QlpQYkNOQClQayh7S3ZjUkk2R210cnY2MFRDTmhUXjdhS0V9Kmpx elQKem9pMW0ybGszZHVBcENhN29yQUxTMWxzNCVDK0g+K2RPdWkpKnZeSHkmNTAtNEtwV2teRGZ1 RWhWdFcyPzBDTU8lCno9dVZoIXEjdEA3WSs8X2xAWU1fd007aUs/eTUxIUJxRjNRbk9kcEh9S35w ZEk7TCN9KUYlZTthbWV0UlNud1FsTwp6MFJRPy1wb3lETjcoUU97dXJPZ2dpamV5ZWVzYChFJDN4 SFNJcWVpc0RBfX5DTTZpOXAzaylrTSQ9NH53PXc9KlUKekd+WkNyTHRfZGdPJWJBI2M7aDc3IW0y eSg8I3ZqZF5CaCF2YW54V2tHMl40YlFTQDhAXmY9aTBsMng5fkJZYi0pCnpJZlh4OCtBZWFAazRH eEltMUBKLXVtOXU2VnpxSkNpP0lyeChOSi04S1lWZXsoZWV4V3p6cDJ1WUZhfExxMzlKIwp6YTtB YEAjMXpgOzdNcE8hZDh3ejw7Xj5xRE9TPjEwMTFjQVklTkZjbCNDaUNtdFVDVlROSUw8SzdxV2At JGJFPGUKejtpIzBKO3lhd2VLY3xSdTdWTVl8VmNtUSo/RFRHemx5P3hnblFmbF5LR1JaVDUtLWRU dzQqV0NtVSUmWV9BOSp4Cnp6I1QpKGBQUypfZFYlY0kzdkwjS25FVWQmNWFjT0BuMC02M0BDbkRS cntkQTdjTzF4fWR2ezJlSnV5a2VNVXNPaQp6UU4/cmQmaUpWLWpkbnlvNUM9TykweThLUzQ8P2RF eHNUMEhDMURTQDVVT3I3RkdYe0ojXyZoazZCZCpDUFh6QT0KenN8e00hM013WmFRYUlPNV43XzY2 aVljZSZNc2R2NFJxT3h3SW9heEo2PkNMaENJJUJ6NVNvdmJUZGhHMjRAPjZpCnpUWl9+OWxmZ2Re dll6S3lubSgzTjY9elhxRHI7cT1KXnxpVEVHRjI/UUV0e3FjLTQ0ejIqZ25CM143dGlBcERkKwp6 YFhgeWNpeGNuNkd9JUhUTWQjc1hJSnh8WTQ3eFZUdlVKfSZWWTQ/dSY5KFJjKzNAM2lTV1pNcWI0 PHFqPUxEXloKejFRNm5tNFIhKkJ4ZC0oNXFicEo3UldpRz01cUNzNF57YUVTJjsrQ1cpPm9tMXlp QHNRYyM1QXwmQHpkP3ZrM3syCno/byVWcCMtSWV9N25pKWtLcEdFRVByYU16NTZkbUkyMEh4VjZi O0d2QT5SR0gzd0FJNjw0PFdCQ00yUVFeSjNjOwp6aWUjJEhYKDNgbVZtKWRlYlNGLSUtM2poWXJj QlppeUJNLT03VXhoP2IzS3NiWDNJcERBbDYhRllwe3dxfEZRJjUKenUjX0NidEMjV35aenVpe1Mo XjU/dEwpV2YoRm1VNihxVX1tYilnTjNyVDQ3Q0lFVlN+WHs5Xl8kem48eXo1I0pjCnpufCt4WENV Mj5xY1pCI3NEdEB8YkEqTz9fWT80Kio+PGJOSitRfVl1SmVHSjdQOU4tJXh3eW5AMTc1PFkqSWVH YAp6TmVLUT8tZik3cTt+KUJvPGZ4fnVSKFd6YT5RckdZTn01Tz1OMUkzYUVnUjI2ZWlgfFVFX0pi P2tjVFJfSy1IQCkKenMrQz5eenYxX19LYk9jdThrcllYb0wmbm5QQX00KldXfHNudkZxfHNtPmQ2 S3EqbVBXajBnWGJvdkFqKCFBXm99Cnp1JVk2UV5wYX5rSGZ5VXFZS2pIOW4ldDgjJT5KTjFJKE9q JmlibylrTzlrRSlFfV56SiNqU1dEYkE1KnkpeVVnRAp6SHdVZyN7NEZmO2QpJVRjOF9UJkMoPnlx JWFqPmE1KXxkWUlCTlhGez4yWDA1aD45UkhHanF2M3k/X1I7QHdxQmQKemVMYGF1KzQ7UEgzWiFg QWVxNHE/VGd5U0tvRXtEKTIxPGpAZT81cG09M24lS1o7VGlwNCVIN2lkZCNVWiZtI0AwCnp7RGZy TEBSNnk7P15TO0E8UFJMbG5rRUR0VzNZZjtJdCpyK3NDSVpgOFUwY08jSXVANDxKOGs+ekM1SCV1 RmBIagp6MztZVmh8RUA0eEZMTF5rQ2J7WH1VX3Y0JndyQkxtOCQ4QnphZ2RKJlVueGctenc4Mn4l NkljUzRIO3xNaUVDezkKejZVTDctVDZ4RihoaUEhaE5DZDN0dSteP1dkKXF5O1dJWH5qXmJYOEg9 NkRWNDNnNzV6JkdPWGdzUjUyMT53NHdBCno/JStMT1NPPXk3YkR5fXJfdC1reFNtdGJRP3QwOCZW eWNldyNfTUEldHZIRyQyYVJQTlJQfkNBNytneVUpX0xmOAp6R2RIcHNSRDIqSnk3TD5zZ3tpUD1F cDt4fm4jZjM8KnM3ekhTWEkyM3p4ZXVpekk8eypOUUtjJUlFemNWaGxIRGMKemxubGJIOyFNM2lO U2gpTDlTSip6Yl44eXhPWkxZaHAycUo0JXI8bld2Vn19TilIWXJqUkRpXzgoKD1fMGx6eVM5Cnpq RnsjOWhAZlo2Pm8zPS1ISXA7PEpWTiRBJEBHaHxjZUstcGFxTDMwdygpRiRiLVVqMXJ2QCE/NGFC JDlgT2FmOwp6OD99ayZVRHQ/cyEzbD9xejRpelVBTnQlMyVCQjM1Sz5nXkpVTnAkeEVwKVA9KitD T2JOSCp+cjlEN0xJM1Q7WUoKemMwVjBqX1hyMCN2YiQmcGw5LTQ3TnpkViE5KGFPJjhKd2FXdUsw MDtgS2VZO21abTNeOFcyemEqKlNTUm09UTw4Cnp7Rit9IyRCPGM8YjFjZktNP2tpWGs9engyNjhP aHA2TkVoS2MxcHNpR0Y7R1dRWlZJRCRfJTZgSWx6VW9lcGcwYwp6eiNxSm1IT2ghPGhzTXxRcnNC eGZ2PH5PP0B+NkQ2a2o3PG0yblZNJSp2IWIoPyslTkUwcmRYPk1YPlFQRzImZGYKelJUa3J0TDVH O2lQKkIoYXo5JCQ7TEB5YWRXbzZWZHluejRYOVF1c31Tc1A+IW5yODBhJGlzKGN3ampiSzNVMkFu Cnp3SUFGWml0KkpvWSUkNGBkITYheiQjSnpnKmhVfmt2TTZDdXtqbTlGUFltfTxmU0V+PGI0N0ds bW55aVBFOU9BSAp6UiVJZyhHK21EZ0olSj4oNTRHdipfNFUtU1FXKSE1c2tWRzFLYkJ9JTgofUFe Kmw/Vz9yNzQ7QHZiVlN4YzN9WSsKenQrYntMdzUlZWdrVEVzNzZ8S307REd2O2RudXJTTV9sYlFY V2ltQXdSeTZvQ3EkPmtjKWl1PXYkPCFJVXMwdncwCnozKmRjdndgU31KP0dZUX1je0dwZ0ZEYUBt Y3RnMzMhJTUkekYoe30kKDZybWh1OTExVlBHZm5SREVKPnY/YWRaKAp6WUpFOHx3bmZwZT17KSh2 cTJoUlRodFE7O1VROFFuUXQ3UnZBVzJqTFdPUXIzc0VyeTRzU2VxI1NzNlJWITs1JkAKei0ja3pH MyQpJmdiPmNNUnA+JU98R1lAempxKklVSyFNdElfYyF7akImKD1xJVVpPHMqPFRTOykxbWw0JCNz Slg/Cnp1eD1EKHlifEVhJjFVTG43O0s3X01mQk11LX14ZyN7JnI2V2Bycld9Z0UmYHVqV29qZDkh bWlvNUFQJXsoK0xqIQp6Wnk3SThLKXhLNEI5VUhCZDlPMXMmVDtKMkd8LUFCbF8ldDJDaHEyVVpk VEZBPWU5UnlgeWM2dD9gSn51PlA1XkgKeiNzcG1AaXBHeGNsO21BJDlCZ0lCdGw5YmpXLTxkfGwk fD10c1VzJSFGWmh0OEBARW1Qa1BtNF97flRieGMlVFMjCnpNdX5wIWgkK0dhSSl7cmFjaS14Wi1K cEtnS3BWQ3FrYzQ3VDUhMmhTS3dNY21KcGYqQSl8ejN1a3d3Mkwre3Q2KQp6VkBkT0pYXlF4eFp1 Jld8aTdRNSNiQCtCQ3pMXkIpIzxAIzNHdX1ZaXJnJCl4KU1pO2BGSnw9Ql5DRj1vJGVQfUUKekg+ RnFYMGU+WjBndFIpX2BLUXxPKkhfeCZHMz4mMUNlTDAxJUJYRllkUypSUCFTZG1RNnIqfHBzWD5Y Q1ApQjxnCnpmaiNtXzlGTDl2U2BiK2Z0ITEhIzE5UnJhcDhEYT43WWUzdkw1S2s0JnpWWCskQkNK SERqIzx2SWlIQE1AIWRLYAp6LVM4TyV3QDNVP1pUbD45ZilMNE1mbmNMS01BOzd7M0ljbkEkYXZe cT4xUjNQWHhuMjd6RntKSDxxTkE8dkhxeFcKelh1eC1QbHQ5KzNEQkg1O3c4Q3NqJFUjb015Qk53 dDZDdCsyNTJKSWF2YjVreGJmPWx2P0BYMj83X1lNcXw2c2NDCnooaUU4RiViOHZTeWMjMX5rSnIl VUsqJWB6VmlQd3d6Q2A/U05FZj9KajJAPjZDOCE+YWh4Z31xI35eZilrWEtOYAp6MzBoPGszXnhF IVRxM0stdno3fnNkJk9rdHJEU3dUeGg0b0BpZSh0X1NwSmU1I183WnRYLTh3ZFpWOFM9S3o4ZEoK emdUNy04RzV4JS1OfDNXSi05SysjZG5tSElvXkRmTmNxK0V6M0ckQDg4LWZZfmQpK0JEIyMkQzRy Jkx0OEQ9LU5JCnptPnN8UGMlckJ5PGtobmlqdjAmfV4/RVgpZTw0SEozOTB3dyFRbEI0JEApT001 YFJzcjxuUF9samRTXnFISUU4Wgp6PHR6aDRPa3Z5Wnd1PFhYIyQmLT47Qyh4bUhqMHt1PFRGMnAj Y25mI20mWHJFdHxmPCN3czkmbWFifm1EaVdAdXoKekojeGk5LTliKHYrNFpheUB5TndpPnRwZnp2 RHQhISttMWZYSFE0UGBNeDh8LUBLMXZMUXw1biFRd2h5czVWbzZoCnpaa2xfSUp4LU1xSmBkeENl dEtGI3NAOEdxYEhjfWs7PjRUKnxDVU9KJHJLaSg+NjgoOUtSb1NCWFgrSXFAaDY7Qgp6enVQcSRX JEJucHBUU0BYQDY4QG1EaDw4I3MrVHEwU2AoYk0pZWRGXnBDMmNJSUJRV3txQmtPRj5DeEo0ZzFs KXAKemcrLXskKTA1X31JfXtgKXdjXz0pUH1WeGRGc242aVo0dCphYDd2dDlXMXpPMjErd3c7NGFC ZUo/YVlSfE1hQypRCnpMYGtQOG5FMlklXzFiblYwIUBndnpmb3FANDlXaTNEV2dhVXJ9UVB9bT8+ RDt6bGM4Vkh5UFVNaSNZWihMbTZOKAp6JD9leW4+ZiZjYVRjSHY4QjxvKjg2PFFvdFF8YmtjcHYq Szh1RDstU0tvX34mUDRkUHJWaXM+NkI+ZUgmYG14QX4Kek95UmNjM20oY1BuPjJyQUtOOy0tMHN9 cTVTWSMraWJBI0lrJj9MUTlpNmVIIzdpXmchVm01KTxRUVhYbGYoQ3V3CnpTb2FoRXE/WW5UKXh9 Kk8pY3pKTl8tQ300KjZjI3xqJEteOU1kYEQpc09PbGhwV25jX2MwN1dzPWJYOGFqMCl5Wgp6cStv Pms7N2lMNzYwY1JvUSl9b3ZPd0ZHbWtUVS1eI3w1cUh0MSVfejNHUGVRXnMtKypqJSNoI3RAVmMy OGI/TH0Kejx1VWhTczZKWVE4KC08UEoyTHJFUUpQfXo8KkdHNklKOCs0SkN3SHAhcW92ISRNeiYw Sz88ans8KGIjMUAySVh1CnolfU1yT0VXKVlhYTtzfV5nTnwrJnUqJDFeP0dqbkRMSzFfN0U7U2tE d0w0cj1zKkE2MDZSUFIyZXR7K29ibFF3cQp6YjMmfTs3eD11Z3VJWmIheVl9YUReZU1keEpMLWZg R2ppKE45UTd8M0h1ZUtvUSFsP0JTYmFIUmI9SiNVLSFBRygKemROZ0VoJTdyPj1KTkIhUUpsWEY7 YzFIcXw5M2lgbzNDJW5tRnp4SFJ1THNPPUlxPHtyVCR1bTBPcngqKyhFZ0xYCnpifD51NzktM09e K2ZrK0ckVH0wPnEqe0dCPWdzVDYjeTloe1hDdWZeRjlmez5VIyYrVGN6RzlPRjhpaFpVVHdTXwp6 ZVUhNiFpYWtGND8yUUZ5YXI2R2R1MEpvRFhIeS1+WSUocXpaLUZjUjBeI04wSkMzM2tiUCFDUjVL eU9+PWhtUngKemExWk1LTCgjJmBibFV2fkYraiF5JWxeaWxsQCtZWExoLT1sbyZFNU4lWGtSKEZp eWpmN0gkczdkSSMkV2d7YypUCnp5UVVObGFUak5vPUhhYUdNNWhEb3c3c2wlYlN4ITxtTEx7JW1j JkFvSkhMTDNqNHdPU3YwUjkyamU3Jk0tVGQyQQp6UCF6TWcqI3haaGRRSSU3ZSRKSWgyKn17VStk VyljbzU+OWJmNkdJWCpFeGM3Qm1wXmhiR24qMllqZ2F9JEN3P1IKei1IS0x1P2lTK0JzJGs0SShD OUpudFgtKVJLdmxaZj1IQXI+IWFRYVFhV0lAQj5oVGgrbHY+SFowbjVkWDk/Q3lICnplcjMqKVNn Mj1pTCleNkwoYDt0MWp3cnZqcEtZXnt4NC1LdjM7NCh7dSNOSlNaLXJ8OHckMykqO1VGO3NxO2Zv Tgp6JFRmNHkkNWJIRTxWYDQhNjlQMURvO2doQVU1aEdPWD5EaF9FM2JDRG1icElFP3t7dyFwPm9w OG9HOypOZHl8WUsKemM2eF8yU0gjVEtfTiZOI3czXmBUVEg3bUpGSVEtI25wdj5UQFJONHZCT3p5 Xz5hb2dHbl82Kk9MciRBKiFCPWF0Cnp5K1VUPmAkVH1Ee1dQb201eGUyKjhHRVU9SEVfKV9kMUB6 Zz8rREBLYGdsUXE8TElRNXl9SkpYaGAtflZvYyt6fAp6ezVgTnxoVG1+SFRqP0pCJCs4XnYkbFdL KzBkPlkreXJePVd2Wng4RGJ2bkNJMFBEUC0/NU5oYXBIMVByUEk4ITsKekNTYnhFVUM1ZjtFZjh7 RiQqOXIqNkFHQDRtUk08aXVHQTtJPTBETVhYcGUyJUVgVXY2YShKZzMxbFpqLVokNFlMCno8RzY0 bjBrYm5WPS1pNzlvdUBaYFJ5bHdQZ3xZNHBDWkcyPHFVT3QobmM1YHReQCZgJipMP2AzZlYrVmtG aTwxYgp6ZWIlam5gezhKY0woejxWemBFQU4hczNqRWw2SSNYYX1KQ1c3PVV4e3F4emZJZGN7fHRY TVE2ZVdgN2lob2E9eW0KemEwZ3J8bkNPOUArNyYlNW9NdiVDUTx9Z1R0SHIqSj97NGpgRWhSfDZR TSEkOURfN0VUNHUwdWtCRHtwRlpJRCl3CnpBdEcrZFlSZCV8aFMrP1NwKmlaKzhoPkp3Ui1IQTtv dyFVeXUyLWB6aDBkLUdNZkFSRkxUVktmaXMrMHohYml8egp6WWt8NCZuaVAmOCQ3JG4xRkE4O0Fu NH19bWJkU3diJiVEYyFwJVNueCtjOFY0KXJBNCo8KCpMK1Zqd3pQQG8pZj8KenhFKCQ9a3dATHd0 RTZVOVhFU0N+JnZSaGJSIS19bnlxWkohZzxTKm0lPiF3UnBLS2E2cEIjM04lXmFVSCZQNDNaCnow YU5UOU4xMTE0amdVJEZ2Kk9zeFFCdyNTen0qSDxkZjBuVjN2YSkrTmBzNmw4IVZ5ODhIc2w2biFT PXtucGlHUgp6TCRNbytxcyFkMDluKDd0QmYoU1B7bzx1PiNnJlUqSz5YMjhUVi1kRmt3bSZmXmAt dF5KSUtYZ1ViRVApWkgmMygKemMoMzlNT2s+aDJPd2tHZzRPfnh+YX1gMCkjdCs8TXVVcDtRUCpM d3R5bHphJWElKiNaazEkOzU2TVJoQF95UTN2Cno4UyNsTWBGR2hwRUxpa2JDclJ2TGtFK0M2JS15 QiF5NzYpKXhha15fISVrJU0yIT1gTXlYI0Rld29qNzQ7USRSOAp6elQqNXpSUEhKeEBDSnwpa0xM OzY+NHY7e3tjZTxGNkIqUmZ3enBmVHpsMklQeX1mP3klPXxUVk1Ld1ZSbWN5Wm0KelJLNjdUUEx2 ZXcmUVVuKUhLXmphJEd8V19CXlQ2ckIjNCh8c0N+VyN3NWpsWW52SFByK2pHO2NRZVpFYyE9XkJ+ CnpwVmE3QGMxdHoxWVc4Q3xLSWJ1UmcxO3J1V2pXVStEfDU4MGVSQHVZPlhAWSYpTyp8LT5hKSt4 JXIjQU5ZYVREawp6eDVxd3dkfk1VPVpgPlJZeWlTP1B0Izx4dmViPE02OFJJa198NEtETmBHTXBp aWZmM0hCKmFgKntAVkwlS1B2eVUKelhBfEUmN3BjQmk3fn5FO3p4WjBjWCMkdmY/WDc+aipCLU1f P3djfTQ1Qz1FRG01cVg2Um0xJEckfH08UmxeM2prCnpSSSslak4lcW8wal48UlZzPFV0RUl7b0ww WUBTTjlRNXREV0pYTHxOP301aXZRcmJ4RipEfjVxU0l1UVR6LXopUAp6PHozczclZW1tQ0BIJG90 VTd0KEMjeWJtV2NTOUJxOWFqaWs5TXBsYFQoMX0zeV9qT3RlOzkxRSg8PHUyU3IoPmYKemEpQHRt X2kwcW1kKnQpRFReM3JMe1FVZjw3bkBfJk1maFlHSmk2fU0kWEN0SzVKPmh6VSpQS2Q3cTFeR04o PFZXCnpgemJSUGZgQ1k5TCRNM2ZQUlBPV1p6P3g+P1R3SHYjfDU+Rk4zNn1TYFV6PigzbE9sXyV7 YEI/bDg/Vj1odFZKbwp6NkEoYDllQUkrKj16aXstUW9XIz4lNj5UdHUyYjtLU3wwVWtpKzkpMGEh e1ItTjZPN016Qj53V3p5b2ZhKzFKfHwKemNsZmcobXslKWI/bGx9TiVwNjsyYmo9czZna1BEb1V7 NGJXOTVxb09lezNVQVprX3xyKHw1cHt7QTtUMnQ/Yk5+CnoyJGAjO0VgMStqYWp5Qml5Z1N6NlEh SjJKcGNtYkVybzRWKSp+MzcqeC1IZDU7e0ReSXhNR2VCVyZpKWQ/TF8zcgp6SSgkMVNvOyF8V0Ul I0t8d2ZEeUArQTdCaCtwcTJwKWJgRiYjO0t4VXtGTXszNGB8fjdLNmUyVWAoNWFZMmhJKnoKekQt N2pLclFjfHpHKFQwOVh2dSlyeClTdDJ5PD5WUzJmQX1ERF9WVHo8MFVOSTh7cCM4XnprQl9qTjxE RnRxRG9pCno4STF8RTtAQmgzNFpoZ2x1KUMmbW83VEg0Rkxsd15HeUJ1WkY0R1leekpRST8jN2wj d2w/UDRXQXlPQUMxOUM/agp6PEkjI051UHhxVyhFODVyUTY4WWNGMGUlZVphY259S1hBfHxNVHE/ UmVPYiRKRmE2Qm5Iej87dyRKU2tHPUlUaEsKelVNfnpmNW9EKWJ2WGwyKj5laiF0Rm5UKiotQUhs amA+Zj4+aXhpUkBIMkpqUkVufkpRRzIxT15vO3ppKTw2UiEtCno1SHhrbDRod1ZqcFhBKTFvNnpl M1o2QU43JkEyO2B3bGNJSEx2fH5sWWhDKUgtXm8tXmp0dnRmamtlIUVvPntzOAp6PGxNYWZVOEZT ZTYwRjU1eHskOThPcyhGaDswNlkzUkNtZFdrYCl7PFQ+VVorU2VYZ2Q9blBFeCk2O30xamlHYmgK elVrPmVKVUpHdXRLZlpaZndpaVlFUz42eEJqOWdERy1qb1c4NUVDSHpkJXU4Nyt8fHRuZT50NWpL RW4rRXlPbylsCnp2SCgmMyh+ZzVvVTtVN3tvQSZAdT1BKy1BbHk4dzxOdDI+eVNWSFpJYVhOPThY WVA7NTZDSWlMN2hpbWFsN19JSgp6QmdKd3hHRkZabWdKJUBRVkVqRGFMVFphfEtBYVg1K3VPKVJ4 QjAwcXBZOVZHY3ojLUx4UmRpQ1I2PlpUMF9rayMKenFmVDZ8ZVFyfjF5d0IyUk5KTT9BT0FAKE9V VEk9Jj8jMFRtMlYrU2VxJTtVJExxSyh8XzcoRipyV3pCIXVCXk1WCnpuaEY+ekU5eyNkPnJNPHho SURUWVI9OH5Nb1NWSD91akFXdDNYLUV8PVQpMW0qZXYkalBGLTA2WC16RGFPTHQjfQp6ZHthcVFp e2F0TDsrVz0yXkcrZlB4KWp0aUsraiNXQkJGTG1ofHVeISt5MTFCb01DVW9IXjlkcUJRXk5EIT1+ RkkKeiY0TnglI0gxZ3YoUkBMOSNoJWN9ZnBjaGA5IXx4TW1uMEJMKzA/TnZIV3RwUElVKGpySDlB KDNyV2ImezUlbWJFCnpkMnBuJmVYdl5UTTd1amVkUmpBWnlDfUx6R1M8KHYpWXt2Vzt4OWlNaml+ WndwZEtNcGh4eXFvcl5WTGZHYCMqUgp6Xykoe0p2clBuZ1VZMXlDNj17fVY+ZXBROW1ET2Y5VWhz fXY3JDZnT3kzUXNwZjcqdypIcHlMMG1JVEtzeUB3Y0YKemROVDMqNGMpLShjbjwxe21xdmVLP1Ay PmdMOEJBOEBLLWIoWnE+ZVFzQ2BpPGBONylRUmEqekokfSk7LXMmRGphCnotRz5iNCNsa0JrMlda dD5tN3F5eEhrdWNAUlJMSUVofk9AWiF6PF9wekduPF9gKH1pQ0RRX2AzVnNjOUNaYzw9Xwp6TVle SiMrWX0qdSorPTh1N3Ewfk5CNEhrOHwwYGJxOWtrJjs9YEdAUlpkMFAyZDdlbUZxI1Fnb0Qmb0Ao eEhmPEoKekt5OyQ/citVP1FtaDZxYUJ1bD0zJE1galRZYl4xdl4rdHJVZjhEUVJoQiR8JUMxMFYr Z1prSEtDSWhjPDExbm5DCnp0VV9NQCYreXFWNVFjWThiaC1hPnRBRzJ9N2xfUENmaUZHfXhDQGZT e0J6OzJyfHJIKDZRe1NEJG8hdnNiKHw0agp6UVpyV3BtclZYPSF1MFJPVXZMVGYlPlZEYlFTZSRl IWJnfUhqXjhtRygqSGFOam0wdE84d3hlTChBVHE3STg+PSoKej00ajM/d1Y2amg7PWoqKmZvU3Mr VmZialNkYDlmeUJuZSppJT5AWlYkZzZfU1FOUjg3UHUqTlpJPXRVYlhIdyRmCnpzR09vMVdxQGVU UlQ1UFo7MGZIfEhiYFBzeEM2TEthTyp9dSllLTA3OXFfbk9gc3R8aXsocSppZ1AqPWdARXo+Qwp6 R1V3PjtDbnQxfV9wQV4+PD09N0ROOTdCIS0pT1NXVVhmZS1AOU15MVgmVXMrMEFYcV8pP1JTWV5B OWFkY15OTUIKem5JKUBkKFQ9TmsmK0xwMHg9Sz1hQ1ZuI25JZ2Z7YSk2Yi10KERMa29KSHd7QTFw elJobSsrd0lqbEQ3QmltLSQ3CnooY2ZiRk9CbXM9NnpFPURwbnlxbXZFYisrWHJUbyE4Oy1VNmNZ VG5aUjAlWlRKfE1CTENJbks8cig5UXdRRn5UPQp6VDZxaFV0Y1ZjJHViTn5jKH58fXNWKEFEYDgj cmktVyM0WishI3Z1cXJzWmVtcz1vNjJFT3o+ZjJrZlAyN2V9K1QKejRkP25TKjtSTT0pPUhENW9p NFJGbzQ0JkklMUBgVj5RQlFTQWJDfigqWDFTZkQhU2U/Tzl8M2R2SGVvSm0jZmg4Cno8Szt8YXdj bHhqQzY9U1BlZ2k7VUVBJjVfcUdzfipSendwdTFoNFpZTjRVZG57UiFheitXWFNLQi04JEYlYHFG eAp6V29wV25GYFpeOVJ+cG1JMT1NTlIrO1R4aCNsfDY1YlRWPHBFaH01SyMrMk85VHZKcUJBd2Zg VShnR2RhUUFvNnUKejJvKjZ3NnhARTdIRk13aD1sS2hzN3h9X2hDKWFndS18YVkjXlNvcXo4VTJe aUdfeUlmVldMRUpEeXlSMT91RkxJCnphI3YpKmpROE8rZldJY2pJdWRoISo7dHIzTnFuOSNjZVN1 bGBAXmp0KCRBVGFNfD03Syk7U2x1QGBoSl9qQTEhWQp6JVVZSilZZFA8fWM3b1hxMiEyK2RyJl5V WXsldVlsPTVvZVlJN3xKREtzNmY0M2FVXmtXZHlfdjJxZFpnRTJEcHgKenNhXlMtJEFOTVVgUyh5 MC1jflVaSiZVZWBAdTQhez9jc1RfPzN8cE9kU2w4cikhKSZLdSQpS2xXNjgoWEtiKkQ3CnpPKmZ4 QER6MSZEPSZjRkRsazZ9KVFKJmA5TT10JEEod15WZDU8Wis5eFNgPkRMakFnTmJCVF5Vdlp7aX5x bF9VKQp6KlpMITxtR191RkFaUV5UR2NiZUlUQWZnOyRVc20xOzlkaClYJVFnOV5RZSskezc7STBg dj00QVE5NWA3cFY8QWcKejFkP1QjRSlUanx0PTt6VDNhMEdWSj0hTiVZSlA0WWJ6fkBXQnNianI0 O1U/PkxeOW9lUUs/YlpYQV9vaUFTfnZeCnpmcFEqTDcjc0JCcml5fFIoZjk4em1WLVUrVV9ualdi UU53a2AkKllKTjVlRHxkNjg+R1ZgbEFHZHo4djVHakY8Sgp6d3JuMlJ4dU40MllhN1MyN3wrNDMl Pzl2QDQ+aHJYNnN8MllrTnhJbiY4M2RYKzI5VW5uezA/dk93QXVJaUNkZnUKekxjfGs3JE5KOzU4 WmQ1bzI/dCFDKERacilnc2AjUE5XMHVsZ2MtYzAtXz5fVVktQjUxakkpPm1FKGRjTUBXbWAtCnps P3d+JTdrTCNNU0BeZlAlK3x8c3l7UUtXODhlY1Uxeko9UG1GaSU2Z2RVdG5rTVBQTXhUTV9nSHhV U2lCWDt+fQp6eT0tPl4+dCZTNVNlPTx8PilkWiNxY3BIYT4kb18jUDRpVDZ1WTRIYHI+NnY4VSUo Njs7TExCZTJ6MH0we1o1QHcKejFsNiZ0QT50PSRJLX1ZM3dePDtvVGY8OHdtWGk3bWB9bnoqMDJZ d3NfSntiMl9MRngkZEFIR3hIPXF0VCpKZFMzCno4VmduUSpQZCVvazVjJmQ7U0kpY1ZLaH0jNVZe dTBoeGg8VzUoUGVYQlg0fVF2dFI0dXQrT0tATjtLTDRMblo3Rgp6aDMmY1B0MmA/aG1mJkojMSpq PG82YntiSWgyKmlLTCNkPnpiMWdoQ0VIbDFhbHp1KXVYQHhEUVZyVTl1JmckVyEKeiZALV57Mjlu czAoUD1zRG9NQnRJdkM3TTJScjJoYC0qcWMhRW5BYmZsbzxJSW1iV2R4MWhFPSp5ZWhUO19jLSRI CnpDPSlNSl9sfGlqSGRUT29ya3pfM2daYnlyMyF2b2pDRjtePjt8YkRxRFdhbUhkX2FSYnVqcDB+ aU9aKzAwJXApMAp6WWFjUkpERDRpSTlvQkVRdnpielklJV95ezt2VjdPMCltcjkqem1XZGw/aFo4 bWZfK1BqSyQpaCVmTUJ2Q3x7Z3IKendjNEBlbkEpa1Beb1JwQjdaYm4jKlpiNEd7USFAPDh3MUI0 NHtKVCkxNHMteShSPjdrKXY9SFQ0ViUrIUhFPkgoCnpgJXxuZ0ohfmE/OVNNeGs5SzhCZ2pUb1Nf bnlxVWtNLWRlV0xtOGZ9O3hiVGtkazNaX0pXbitwckpnVyhWMGA0QAp6dD5NUCs7fjtOJDw2fnxw RGshVX5ub1glNkd2fTlQI0AjSlVrY3skeU5sVmwwaFgydV8yKH1vTGxxdH5geCN7fj8KeityNEko WnJefD5wOURadzx6dVhseHxeLUYlNypYYCFIcnIhN05RcWteQnRsfEUrbzNvK0BGYXs8bmdqaWBg WiZhCnojKUItP3IjKS1GJEJLRW04flVULUROeV88VUVmK05XNDQ4e09XUkt+YH5ySzJjS0dQVGgp Yzh6QVZCdmshVl5WIwp6ZChAOHpxS0lUNDtWPng2dCFWeiRTJXtHKXotOH1vdlloY2AqZWQ1em12 NFl7Kjt9aj82LWFtTGIqITlmcWphQzsKemRZV1gwTVAla1o9RCM+N3NTfVMwNlBlZmNENHVSeDwk P0BPM0Bqd3hJMHY7YjR2ZT9AYy15aEcla3VwJW0rezlwCnpnbjFqTDs1RUxaQlBkQnF1TXl+MEVS Y30pREJSaksmTXsleU1HfjVFTyQkN1R3KmhfY1dGMFp9QE5EXkUkajk2Ngp6NHJrX09zcVQ7QXwx cD5kamMyb1c+PGVUSiZ3eFV2blEtOzRnJDZ3MEdfVXdSQ1dDdHh3WHQteXVwJUJHQntpRXsKei1l bkZBVyVhakE2eCU1Y0Mlaz0kS34pdmYkJj5Xej93aXt8e0NxJTIra0RCTl9hQDJiamclSikyJmt7 ai1UZDJnCnpXMjlGfiYpSnZfV3VYeX0mWTglbHh1KDhydEZvMng0VVhCfHYmbEdRa30hVXB7YVVG aVI/fFhvUmAwYl5TJDNocQp6WjNuN2JNVyZqb2c9dzMjJEhNR2YtU0s9aE8oKGxoP0lzZVVnXm1Y TlloU19VdH5vQWpUa3U1ZFZicW9sYm0wNn4Kei0xTy13KiFAc1FWUztkflFDTlQ7WnAmMT1XPylj UURTV2U3OCFnRUg8TjRSVl93TnJ1UkhRPikxJU5vMG1GVmk4Cnoke1cyUGZLczNQQlYjX15nfS1A aWF8VUZwV1I7Q0F7SiEzSj07UVVubVFTd0lWVm5qTDVGJGJfNXJ5bUczSWxeUwp6Uk1rfT1hMWNl JHkxPXpwckNpSnNaRWZuWFJsTip8ZDJta187OW9USUhhYm5JZVI/SWcpZWA0WjNzIzQjOUg9Q0oK emV0MFkkUi1NbiM+dHBBcVpxKS1XbWlxJj51PX1VSENBZ1ZXQlNLXit1Z188O3R2QzFaKG5PUzdf bWdBO2c8ZGpaCnorWnI7QFlOb218NnIkdiVJVjREQlJrZWsxU0JqYEsjJkQkWDV7Yz5RdDlyKSNG Z0U3NSElN2JCemR4b2hKTkJsdQp6Q0Arcj5OajFGUk5XMDg8KFkzRCVtIVBaaEUmLXpWeFBeZko/ N3k+WCp5Z35PZX1xJW9tSyk/KzJwUFJraS05VjUKel5mYHl7SkR6Z2VOQipeblU2PHZDQXxJYyRh QEpmX29oMHJ8Rzg0XjRaWVd2eXsldUl+KFJ1OVpeZj53elZmczZDCno+MUwlYSs5bVpIej8jSyQ5 PlpQPWtoKXAzLUJyejlZU353UFM2SXhTJEk/WH5HbV9wa1JFVHlmc1FDSVdWcUBMfgp6V1kjfFpG ZEdYPVc8WU5wbXhQQGskV20xP3Q5IStEWGt5bko8NihJYmEqcX18a1RUJEIpanlJKzU3cGlhcUpI WCQKelhQZWE2JW5aNzE4KyRrT3pTQFlJNHt3UWliQEplRVR2WFl+KnRvayl6fTtSWnprQygkKmd1 LWs/OTZhcVVYVlJNCnp1TSE3Mm5mbXdvakIrPCs0dXgrTFFkY0IyTz59UVpIWGd8PVZ3Vl91MTU/ PG5YR1E5TkF+USspK2wpNjdhKnZ5Kgp6dSNAfn1GO2dqP0V3O1F7ZHFgPzxJcX05eD4zKCRSdjZw eTJRdVg1ZisjaEtjQk9+fCtRJDtrNmRVazNfYWluY0QKem5MUmN1dkdKa3c2KWdyb3o7RTY2JTlF SlJ6dz45bHVlZXhhXnUtM0xTeD9GSHtYP35sWVJtdHxZT2NOJDgyIXI9CnoxOD9HN2FNWGt3b1Q1 NmkrVE0mY2VJMlc1OU1UKG9gVkR9VSpDfHtBWEZoNFNWTztwSU0+cCRaQF5rakkobFlWYwp6T01f VyFYe0JSQUZsbDI9SThJKUNPYG48WU8ydFpGTDJifDxJVVkpIXtvLUpfaW43RFBraXZGfF8rQVJm cWIhT3QKel4lSUI+VVV+dX03e3s9WUtYM0hRKlErTHFKUUZPT2hMNyE5dzRwQ1luMiNfZ1crY2Rx eHZEYWc8KjJ9WW5vU2BiCnolK2s4cGgle0ZROChOKjwoNGB2Mzs+XkBlZ35iaXp2Q09DMkI3NTxt aEN1XnxuYzxxbyg0akkockUxUGZRUklmUgp6Uzlybkw3T01UVUJlPTErJFRfdGxxKzBGKnFjelll RFArRj0jZisjdkpRYWoqUD08KjBaKFVPYjNya0BRLXpFcFcKenMlaVk/ZjlEM3NXQnlXdTxSITBa KlhvMns0QzRIcDtDUXB2ezZrOHBQaSh1QlpsYXZyO2t4c3VZK1FSJjhGNSpICnpmeGA3QnZEVV93 MU16ZGtwKFVVU1Y9KGtWX312QzNYTD9qI0M5IUNsQG11UmM3WEFXfUcqbU8mP3lpS1ZWVE1kPAp6 dWMrd1p3SV5+ST0qI2BQUlZnPmxEeysqUUJWWEYyYT41cXghZElWVDtrX2EpRkFscT97K2hnfDxx UjMqeUkyS1gKelI0dDw5WFB7N0wxM3NiQFo1WTE8JlppPm48SVJMO2RzZDFUS1hlVkMqUlhoaEIl RiNGS0tqSl5lQ2swR1E9WXNQCno/fUZeaFFnNXF6JEE9Sn1IXlVLbSFKZD8mckpfe1Q9PiRfZCZv aGhEWih8cGUld2AqcWh8QWRGRURjM1crfTZ7Swp6Mk9zUno3U1o9PU9PTW9EZ3I1cnwjMDN1LS1U ayojeCZBR1g9SW9SditYWng/bnIrbTZwU2hFSUBZRHVscXFSYCsKejJPJHVfMWIoQXgqVm1xVDZJ VlprNTteSytOO1JUbVRPPztFeHNldWBZUmNCUlROVHhtWjZvaHloOXo4N0ZIUmRvCnpuYjs4NUVy RW9AKFdAPE52RU9FeyZQTSokKWBFdl5PQjVrZXNYZSR2XiVpUlQ8QWMrR0d0ZUcjNXRKRHAyMkot Xwp6VSZPKGBqeU1OSngyPXJEJVJtMkJmK0lUSFVed2VUIyFuNVR1eys3aSNwdmVvMHN4eXJGQll8 S01IYVVHKmlRRjIKenYoODtCIWt0bGA2PD07dFBfeWpLZSVSNzR6RmJZRDIjfHp4WXk8Ql9TIURB TVJ4QUZtPDEoYGtifXMzaV9zdEhgCnpHVkl2PFBaZ1VAWnZQN19AMk9nNm87PWkxamE3Kk81YHNY YjF6RTkwUzsjeXJ5dTFTVSFtZzAxRzByRU90fk5LQgp6YHdiV0FlSFdLaSVQQUApVVhUX3deMzFR K0xUUGNEYVNvPiN4KnJ6dE9SWVJgJkNfWTstVW5MZ2ooSCs+KFlJNV4KekQheXNoRTRfXys8fG0t KSNxQm56SyttQmtIcEZjfnVoaF9OVnV7e0p6cmlgcVd1S3E9MnVEV3hrbHc1KXBWeGlKCnpWRWFA JkVTN3wjJndPaysqY3hNb3RrPz0zRkhVWXgoXntXVHlJZS1sbyRxJSQwKXteXl4kWTQ8QVF7LVAl VDJSXwp6b1JZNmgkU1g8U2dWakh4cSNvaE0xNFRGKE5uajg0am0rWnRZcHB5azh3VkQkdV56S2p8 ST5Sb1JSeGt3NTNwTUMKekJxSlAlPEZXSF48dWdFQ3xJVWlLJEpia1NRTVQ7Vl5pYVlrcyNtN2s3 alRDJmwoWjg9OSQya2IzKjJJfTU+X1gqCnohdHAmcnhLSj5oQTE2NkVlKWZyO2NHcWBUP301e2Jn blJtR1ZDJlU0cmsoNEcqfkx4aTMkJGMtVyQjRk0tYkphYgp6REMpeG05T2BLTlZSeWF4aUQ5SS1G bGwyWSkwYzsxQH1eQSl0Yj59QFhJM3NtSV5xM0ooZlJHYEt0KytFMnJ4WlEKell9aUZPUmNAbiha UypkK0x5P1F0X34lMj5tbWo1JHpia3xPNjRFUGhCQ1hsdEh7N2c/cGI5ZkBRMy1qe3VjaHdDCnop Z3IlKihVSSRHSlV+KHxqY25uXj9vWm4wbGhUKDJVVD5SNGs+Yml2cihoezBRPiZCMzlyKGNTKERO TT5yZyltewp6bE1heXVsRT4hcztMPHpiRExobUlDSmlnOTN+LWAjWGhEYD4xRkJaNV5IWGJ3cVF9 Q0BHfUs/K2teZzU0c2UxJSUKemFmd3E1UGJlYEJZd2NEPUdpIVlZRVpTPV5JZSljayZHS0huWF9a eHRNcC1rI1BpSk5hVlI7TFY2fCFGYD16RHBECnphQ1dYTGMmZmRMaUgpQl5fUUB8U2R2VV95RERC I2A5MStlWnZvX3tLay1PQ1ZnU2VpMEA/Q1Y+aDdWfntiMXJhUAp6XyNgel8oTGBCeUtAVFJsKHsl eWN3KkpsOERicGlrJENGJV5JOG9aZDZ2c3JMPlZsamxxRGNfbEhJNGVpc3F1fXMKeiNJK2A1SkBG Kjs4IT1AY3o9fjFLNTgpa15NJnFjQGx8VlNUY1QrQTc0aXl7SE5WMlROYGFIWUJ1YW98diRCamdx CnpmUCE0cGhNKUxfdGpRSzdaJkZvUnlGSEZmSTludW1mPDVwJlhqbyopZmwoV0JnYFF1cCt4TG5B JUVeT2dkfTh9Mgp6IWp6fVAtWiMzcilmNENDWj9vUFoxYGA0TklJZ3RsZTBYXzNgKC0zT20jVEcm KEgtTVNAdFhraGtRKHNPVEkrS04KencraUJVa1gkY2UrRHNMSXl6KjwrRTVuPUMpXzBfWFBXRTIl PkJPSmpJcDBRQihGcDU0WSkkfHVDOWNON0RNb3ReCnpLV0VpNUdqKEVCYHJHNmlZfj9DOVVzYHh5 aDA3Wn1XUmYtWDJgO01FbWYhTj03WmdGYiUmeC1vUiQ0Uml2SllmNAp6VEB4UVFUfHkwdXJiVVJn N1lucUFUJiYmYkNAdE94UWo1b1ZRITZpa2R3Mj1uYypYIXF2amlSRDJCSUFKVF41MHoKejZXI205 PEFWSWckYDVqJDdmezFESGVLZT9KVU1gT3tuP20td259e31qQ3hFc2J+aEV7OHomdlo5WmJDWnJw cjhVCnpaWGkrcHQlJm51Ui1hU1MpK1l2STdgPzc0bXFwQ1hKY2BNTFctc0U3ZE5+WHJNaFQwc3hY VGFIWms5KFo1fXRZfAp6UGBEOVBVb0FhRyNTQnN1TT43WjR5amVGSXBQNyRwWH0rZkI9JVB0PXp+ Z0ppLUF3PDNSTXF7ZHhYcnFBV1d7YE0Kekt+Qn1kcXYybG54all5cWNkSnp8UD44LTZyZWA1JnRw c3R5MSt5OSU5a2x+UylyVUQ/N01sJj1qKDckeG9uVEhFCnptdmhsOzJ5QXd4OFkwJmJnVGlwPjtz X1NxeEo8ezl8M1dyfjNIVDNHUigocEliRkYhMmQ7Iyp6ZkFCd1J6aDQyQQp6WlAmR2M9Nl9SdlV9 QXVWVE9NU00lIUt8Z1lgMUh0MlVZJFNySG1Ob0NjR1olWCNtViRVRmxjTHJAU3dZKzR1dU0Kekwm fFF3SSg+eClLM1pWa2BaZkJeTz1iKDZ2S347OWJfZz1KYF9oKEFjOXY0VlRefSEzTnsmV2clcTQ5 SCs8YFdJCnppcHhkIUlIXnJxSyFhXzFiKFgqI2VnYFE5TEUobyZEfC1MZmdjYjkqTk9ic15sZ3FF Wko4WGpiI0ZyVXcpNmJDbQp6Ri1hJDFoNG5EMVpKXmo8d0M/cWZuKzJ3eFl0ZjFgenJMJHolZm5Z aU4+QExQWG1ZMj0mK19NOWByRC1hRVZAcUoKemteYWZ4ZnY+YWhlcH5QM21IWjVUS090JjNfMXBm PD8paTBaYENkVk45MnpfeHdCb3FeTHsmbT9jdkEybXRRU1V+CnpfVG85fiFkdlVvQVE1Q3pFOG4q SkIkOGt8VyU/UUEreTB9dmt6NX5QQzl5SGBGXiRZTG5zVkJ3JEJRMkBZVj57KAp6d0U1VmE/SVJU PjVRUX5TLUFkND8qcG1mbj5+PGNwK3lwZ0taZzBEO1Z2V3tmc2hPSihLP1h8RmVkflY3cyUxNGEK ektObD10KypOPE0zPlpSdHZHUWB3USNNZ31aczZFaE10czVKKkVNdyt1VTcyfUAzXlRPb3FralFs PTZiTWBLVDx0CnpJXkYqQWtPMDw0P0wkSjctRHI9SUMqWXQ4bEkpVSYzO1VAcSlNODk7b3VWVGsz T1BZVFJyfjF0cCsxOXZsMy1KQgp6ZCYwVmVsYHlOQSEwRURHM2V0KW5qaXxPJWk4fHRCRkcofnRG cypMZ0JTemFaWFQtODt8RSRGaDV0PHFfSjlBX1AKemdiQVQ3I25CPj1MR31uJmczY0pUWV8kUUwl WEJoeWFlJWdAd3Q+Z0hRZD4kR0olclVkRyo/PEFffUdCdUd+TV8wCnpvb3ZWbCFRUVZsQHVWWElD YmJuPUI1cXtNSnkxbkd2QSg5ZC0oLWcjKURZJFh3VlJXWGVMSHoza2A1K00pT2VxYwp6YTJ2KWZr QEIqYUVhQWYjWEhOI2VKfmxOIzlHQmBybFphTWQyMGpDfmExYWQ/bDRTK2dOMFlgTj9qNGEhS2kp VXMKei1oSDMxeVJGWm91I3N4bWBGVSZXd15+MXlgXiZWZz9kcVUhTHA9QVMobCFeKHdMPEBnbUlk MmAmWUZZNDF5Tkl0CnpOZTJ3eUpYVVIkaygjMGVgfFh4VUdYTD8pQzZ9bXoxdFctTENxKEY5dyRo WUEye3BycGFPeEpnPTUqOUA2OX1kaQp6emFDMURILW1Ge0dqdFBme0FoVj1vTDU0a0F3QUFoM3hm aXZQazFebzl8KD9qYz5wWllCTjVFdEMwTjJOWGM2NFYKejFUJSl7TilGc25rNE5XNj82WVNBNCRZ VH1eKTE5UmhhTCUwKHIzVWRCK1BRKDgtPjlMMjBvfkc+P1ZeTTFRQVImCnpjKkRUPDJ5aExnY0Ru YT1jMjZHT1I+S3peIzUkSFZ3fFVecCVofEJAQyRhUXQyNW93PCRNMlNGa0swUz57WjkjRQp6YD4p JXRaP2A3Wi13Oz58WTtRJnQ/fENSemNzTmJFNjsoZmB7cmx5Z2sqfHJEM1ptQ2YyVzViVkopR1Y+ KDAjZHkKeipfX2dOM1UzO3JCSTgqTnNKd3ptSzsleSQkKWBQNio9e3ZVSmdyVDVpezUhZ244ZUUx WWBKcnJNelNrIXRfZkVZCnpeO217ditFfVc7e0BRSHopeWghU3l8RzJoOHZlOGQyYj5ALU4zeD92 RjBTZTYjMTA0ZEo9PyFrV1NSQkxyWjR1Qwp6RlN5UUVwPTNOeXs0TDhXPisqdTJnMHZYZmxSRzNX d1dJRk96ZE01VGx2VFQ0ZnRPbTtaclNEYllPYHlBWk53O1UKeip7WiQhKXxSZ1hyKlBJYkB4OCVh bH0pO200fDhyYy1wd3pEMVJnNV9HTCFgelo4aXZDVUxaWlpjX3RTaF4qbGpiCnpicy02PnZ1VCta eDlxWHJRU0R0QUZHSiVYM09JSUVsfml9NiZZTW5idCVAYFdGTl8qR2o1VmxidzlSI3V5RV9rNgp6 PlRLUCNTXjJOX3hOR34jXntXey1nfTlDTWp4QmpEX3ZSNT5FaXJkNU0zKWJeUWtDQ1h4VSMhZyNa dV5jb0FUdnYKeihYUWRRYitqJUwjfkthbD5nRVM7MHshbFd3cC1Ed3hIej9eeTIkdyN4PTlPTTIx TT1MZzc8bnx7ejl9PylkIztUCnpifDB7cklwRzV5cy1MfjQ9akpGYHtfa2dZTWo9WXhRMWluYWkr SWpVI0BLPWJnOSVDbj0kSE5oeU9YPThhTX43RQp6c1k/NEc/KUgwRkJPS15WRlhRNU9wfTVZJHgr fXhyOzdtNUZIeWFYNmN9Tj1+SGJkR1R2eUZnQWZ1UXAqMntmREUKekplJTM7ekVRZnMzVnIwTzt6 OXs1LWVgZCl0aCg4eGFibjcxdnY2QTtSKFUlSiktZn1jZCoqZFQ5KjZ6K2V3cWRLCnp5QGw1OGEt fVJsYEVqeTJiRXJ2aDY0fn05O1ZaRHYxfEBNTUl0NHxXWERPKFcpeXkqJWRyOEBTTmlEfj5VKUZz YAp6JnxGX09fblJ9eDVjVEB5cWNUV2tOTXhYJFJ4e0B1Y2JlXjAyPTdNYiZgSTxMdURESzs/aUti MXdGOCVRRiYyM28KekpMaktwJDFTeDB7clo/UE5aaSZJMGhQTEdVcmV8eExsYTk0c3U2LSFJfUBu ZXRNSmRPKTJSKTM8MTAhNmVSXmd6CnpMQlp8V0xtfDFMP3FzfkBmdlAtUVJiejdPSzVqSktnUD4+ Xzx4PlZEI2hhODhWZmYoNmkqNztEREpsSnd0a30xKQp6X3MpS3VPZiV3Jkx2YVZuWDZHSiNMOyZf MCZzdHotaHVlWSVYIzg/ZzA2cEM2QF4/V1RSVn5iblE/NDMhSmhLODUKejxYaWg0MjktVTQkWjJ0 NGx3bGpIOWFsen03Vks2YDl7cmhiSys3eXopUzUwXjtJPXhoI0VjbHhhNyp4bjdURSR+CnplRkZG eD0kKTxHazV9Q2VoOW4pNDx5SXdePH0jYnMwKDBoK0R2fWFxOT9meEJ4NlhlRUo3OGVQPEB5fUBZ ayEtdgp6ZXFQYmpCYEhPeTdxMzJBKERhRGZ7eWRWcHlDWmQlJiVTIWZ2JEAqQHkrY0ZrQjtoUmlX MV9PbDxlbnBITypCKzwKejgzdkl9SClmTig8MDYmX0I/NiV9ZjVgN0FTPkgqfWR+WF55RFVMc15y KClhWjNUbDZha2NJVH1EdEF3QUBgYHwmCnpgRDwpRGtTczwtb2FvemdlUUs7bTszQzRoU0BARSp5 ZXVYUVYkV0N2bENTckpHZV84JEYhNjdMeVQ7JWVFfFZJOAp6JEhNS2psSjQjUyRqTzteZDd6Z2pn Zi0xMDZqfWJsUVU5WGZ2R3RLIXluZzlxampVVkxHbj5IQzhCSkJJTysyQ0kKenwweTdUUktCaWlF clVYdWp7UXljNzlpRyl1PngwSWBeb1dwb1V4N2YrQ1JlT1V4KXV5UmVRfU4qdGN8Pnh2U0Q8Cno1 PjsyS05HZnp1KERKY3ViUj0raUtGd2Q3UURqTCt4NHE2bSUtNUhpVm1kIXomLSF7UHo0RXU+b35K JlR3aGAtWQp6MTBhKEgqUG9VNER4YVJVNXxyJElGcD5eQ0hmQng9X3xfbjA2OWwjWEhmN3FzOCF8 cmx5VHZ5cHdeI1F1dHFMIW0KeikqZFMhNlImNHdxO1FSMntOc1EyRG4zYHpacVB9NlY5OHw1ITxf eVU7cTxndzJYS0ZeVGE3b0FmJE5ee1JCPnhhCnpSTVQ+MCotNHUrWDZ5KU04MTVPSk52XyopOHNZ ZDM5NzhuaWs5WUJociFqQEcyb2d2YnlJOVgjZDR7IU9xdUNNbQp6ZUF8SHskKl9vU25lYEVeckR1 TjxYMiF0NWNHeThWLWYwYkImWW1JWHV1TSFQa0lDZTZBOTBUUnolTFZ8NGNMWkkKem0kKTJ2Mk1q JWspSUhGMl5YR3VGX3xaJDsreSEoP2dRfFVvYFNRWGQzN3Beb3JyeDc5QSl5SjwySCEkU0p1UTFj CnpMRyk3RF4tUmNNNjUtVXIjY1NXdGFmentCc0pCRzJ0Sk9zdlRjZ2lSWG5WfDgqezlfVzwqcXhK cjBySGRkZEdNeQp6K2ltUkwoM2x4LUhhTHhBMDJRUExmVzRrbEZPNX5yWD9uUHR4Q1V7QjFhVjlE I3w0VjQ+TCNxQVZ5S0lIIUtAYloKelFKUHxPZFE1QDteMT92R1gtVHlxVnppdiF8RXdEQEUlcnIr a1FSY0o1REFDb1lecV5nIyg8YnZLfVUocCQhaWxMCnpzc0opaE5IPU9qbDh+YzdsVzFeVF58Ki1F MDA+QElvX1Ita219TTxCS3FUaDBEPXdNe1gjfmtUWUBgVl49P3tWeAp6RXtQKjdaRjNyY281flBx KGk9bFNCRDN7OXhlJEttYF8pVmIoRHpIYl5lRzZFJjYjfk1CYyFoKGBMe0wkUUY4bUMKenVsNGlm ZSglTVpVJkJROyNxej18TWpSSF48RkZGRkExSGA4aS18ZEdFNTxvKkA1bF51Vk5YYUBLNX1vc1Nj JEJ1CnpgSDRab1ZCOE5geGJUcEsjOXhSQSF4PSsqX1BgNjRNUjNhJTx9Y09qPWVoVFRUXmB8VDZR NmRCeGZvSXlnIzYjTQp6IXEqcmx0YiZlSl9WYG1pblZLSGRaJlhveHQpUXkqeH5uR3B6Pj5eTlNs JkZ+bz4odWM/R2Y3Xk9XNiN2eUx4JXAKekIjRTA9KVNBSkVCblFkQjw2bDRKQF96TVNXJjZuV3Jf RjVMSCtIPjFkZT1JVmAkRWZVaVFTflhqaTBVS3V0JFFeCnpzZmhhOGdWeX5yWElURGF3SUR5LTw7 KkQ2bmJzWT43SGRXfUFGNH0xXjJ6bThXI3F1SVhPT21BMjhIeC0qeXZmbgp6NXgpbDxhZzMoX3M7 TSpsPDhSXntfIW5KXiN8UGk5KnFxNkVhJGBrN3tfT2EqJX02U2pAX01gZXF9PWM3KDV8Sy0Kek0q Qn0wOWx0akEycyg9IS1OMzwjRlkyWEZAQlp4QF9ERkRgdGF+O2o3fVE0cS1YPGA0Kjs5RmQkPHck KGZCJT43Cno5PmE+WD1JRnRRbGhZb194O0Y9WD4wYkEhXlFoJSMhYEVlQEIxeSl4S1BYMTtLV2hV I3pMSE4rVDJ8Z2lRWSpxZwp6c0pUemRMOGpSd2BPZF92Vyg0d1ZOa3JUVDBxQylaPUZ+cm9sZUs9 ej9yKVFLYVE7LXM8cHBqUUV1U3F7WlZVYVMKenBRNTVSejJ3RCteNT8rdURYSmFYdUFZMnE0JE1t Ymx3Vy1NWE1HZj9oV3M/b1Q+VCR5IVl6R2t4dCVSYmZmb1BzCnp6eiNzZGExRkokPWskTXpFQTBr M2BFeWc4NjJYNjh5WH51OCtIemtIVW96SkM2eCUtc18qWHk7X0FvdyFAVHQ3ewp6KyhZI1gkI09x PnIxZzEhPkQ8M2RAbno8fD83MSVuQHhfKD0+b350UztWJSo1T0trbTttSGVCN2VNeTxWQiU1RS0K el5lOzhVelpLSiQ+ZyFBMGB1fWZIVF9nVyQmfj5WWilodXZmNihJPXI8Z2xNfnt3S0hCTjJhKFRk dUFmZFVuajk+CnpyKS0mb0JVP3g3e1I2X0hEZ3NHb2YzZyt2NTVAY1MpMGJuazg7Pl9TQSVjZ3oq bGJvTURtYWheZT0wRV5hJmcybAp6cGYmcGkoZC02JHpJX25haT8kajsod2BpXzNqSDE3LVN4d1FS OVA/azlwOFIhbncjS2xjbmxUYG54T31LMTN2O2QKemZ1TzhgaUo0R1gqa0ZWa3ZTY2pgaFJMcVFo ZDFxQ0RWd0lOITd2fmIqZ2doOHpWWkE0M2EqMExnJXdVMyFHcmQ8CnpUMjswOUJ3K3heJWVPKE5N P3x+QW1lSUp0dkMyQC1Ad3k9VlNwPHpBa3orKjNtbXBmSlNCJGVoU18xRG80anxJNAp6YEpLTSpp eT1wTjJfKUorTEctOVlxMiE5Xmlfam9Ac1hkK0hVaENhaSFFM3crZn5DNzwrI0puKy13MSkxTHUh WGwKenRQKCpiN1hmVWwzfURma0ttJmxyOXl1eDFGQ240THczc3VYMFhufVN6dSNuVnJDZihubk9A I2gpJWtNNmhmdE87CnokXk9LTkBCZSpiMERgYUkzTGg1UGZmelZqKSVBbmYmfCE7YnVBK1A8Y1FR Xz1FYVY4PXktZHMmaW56fl5FIy0/Ygp6eGYhXilhenBaT25hcUJpXmlNbE9NfVVqeyZ8flZqIStw XkVhJUV7WWF0dmA1V0JXc3AoIVk1S2ZIMlgwe1Y7bWsKekItXl5IeXVUeWNoblF1NjFvQGE/YUNk NndOPEEkI0U7YHMmKU96RFAxYDIlRFYwP0peTXBaQDR4XnNXbT11UE04CnpnSnM9RSpuUkhoSFJ9 WDFBP3tFR15EfHZAe1FzZUFsNSZYWjApdl41VG5QWUBSZHljPEQkJSNIJjJlVXlNSnpUMwp6Wmcp JDk5Zit6fUFNKyZDZlJUSkoldVNNRzdBZ01vO1ZXLT9zTUklVkZhbkBzclRRKzBSPTQ/fGokZVVG SnhkOU8KelEmRzZ1bVFYUytfXzQ1IS0lXmU5OGR5JGJSMlkhU1lkVjZSJD1oNnJkTnNiX08hdURk KG8oSHwqcyN4SmtoUCF1CnpTNio3YjBeK0VTdUkrVihSc1RII3c1YmQqP0FATyVfSVYjNFRNMVdp YEpZWCRvdCpzRHg+ZE9FcDUqTyRYMld2OApPLX0lIUhyKXEhb3lZXyRQa0s0b20KCmxpdGVyYWwg MApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL2RvY3MvZW5fVVMvcXVlcnlfdG9vbC5yc3QgYi9k b2NzL2VuX1VTL3F1ZXJ5X3Rvb2wucnN0CmluZGV4IDgzOTMzZjAuLjU0NWZiOTUgMTAwNjQ0Ci0t LSBhL2RvY3MvZW5fVVMvcXVlcnlfdG9vbC5yc3QKKysrIGIvZG9jcy9lbl9VUy9xdWVyeV90b29s LnJzdApAQCAtMzAwLDMgKzMwMCwyNCBAQCB0cmFuc2FjdGlvbiBzdGF0dXMgYnkgY2xpY2tpbmcg b24gdGhlIHN0YXR1cyBpY29uIGluIHRoZSBRdWVyeSBUb29sOgogLi4gaW1hZ2U6OiBpbWFnZXMv cXVlcnlfdG9vbF9jb25uZWN0aW9uX3N0YXR1cy5wbmcKICAgICA6YWx0OiBRdWVyeSB0b29sIGNv bm5lY3Rpb24gYW5kIHRyYW5zYWN0aW9uIHN0YXR1c2VzCiAgICAgOmFsaWduOiBjZW50ZXIKKwor Q2hhbmdlIGNvbm5lY3Rpb24KKyoqKioqKioqKioqKioqKioqCisKK1VzZXIgY2FuIGNvbm5lY3Qg dG8gYW5vdGhlciBzZXJ2ZXIgb3IgZGF0YWJhc2UgZnJvbSBleGlzdGluZyBvcGVuIHNlc3Npb24g b2YgcXVlcnkgdG9vbC4KKworKiBDbGljayBvbiB0aGUgY29ubmVjdGlvbiBsaW5rIG5leHQgdG8g Y29ubmVjdGlvbiBzdGF0dXMuCisqIE5vdyBjbGljayBvbiB0aGUgKjxOZXcgQ29ubmVjdGlvbj4q IG9wdGlvbiBmcm9tIHRoZSBkcm9wZG93bi4KKworLi4gaW1hZ2U6OiBpbWFnZXMvbmV3X2Nvbm5l Y3Rpb25fb3B0aW9ucy5wbmcKKyAgICA6YWx0OiBRdWVyeSB0b29sIGNvbm5lY3Rpb24gb3B0aW9u cworICAgIDphbGlnbjogY2VudGVyCisKKyogTm93IHNlbGVjdCBzZXJ2ZXIsIGRhdGFiYXNlLCB1 c2VyLCBhbmQgcGFzc3dvcmQgdG8gY29ubmVjdCBhbmQgY2xpY2sgT0suCisKKy4uIGltYWdlOjog aW1hZ2VzL25ld19jb25uZWN0aW9uX2RpYWxvZy5wbmcKKyAgICA6YWx0OiBRdWVyeSB0b29sIGNv bm5lY3Rpb24gZGlhbG9nCisgICAgOmFsaWduOiBjZW50ZXIKKworKiBBIG5ld2x5IGNyZWF0ZWQg Y29ubmVjdGlvbiB3aWxsIG5vdyBnZXQgbGlzdGVkIGluIHRoZSBvcHRpb25zLgorKiBUbyBjb25u ZWN0LCBzZWxlY3QgdGhlIG5ld2x5IGNyZWF0ZWQgY29ubmVjdGlvbiBmcm9tIHRoZSBkcm9wZG93 biBsaXN0LgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvcm9sZXMvdGVzdHMvdXRpbHMucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9yb2xlcy90ZXN0cy91dGlscy5weQppbmRleCAzYTdlZTU4Li4wMjhlZTY0 IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9y b2xlcy90ZXN0cy91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9yb2xlcy90ZXN0cy91dGlscy5weQpAQCAtMTUyLDMgKzE1MiwzOCBAQCBkZWYg ZGVsZXRlX3JvbGUoY29ubmVjdGlvbiwgcm9sZV9uYW1lcyk6CiAgICAgICAgIGV4Y2VwdGlvbiA9 ICJFcnJvciB3aGlsZSBkZWxldGluZyByb2xlOiAlczogbGluZTolcyAlcyIgJSAoCiAgICAgICAg ICAgICBmaWxlX25hbWUsIHN5cy5leGNfdHJhY2ViYWNrLnRiX2xpbmVubywgZXhjZXB0aW9uKQog ICAgICAgICBwcmludChleGNlcHRpb24sIGZpbGU9c3lzLnN0ZGVycikKKworCitkZWYgY3JlYXRl X3JvbGVfd2l0aF9wYXNzd29yZChzZXJ2ZXIsIHJvbGVfbmFtZSwgcm9sZV9wYXNzd29yZCk6Cisg ICAgIiIiCisgICAgIFRoaXMgZnVuY3Rpb24gY3JlYXRlIHRoZSByb2xlLgorICAgICA6cGFyYW0g c2VydmVyOgorICAgICA6cGFyYW0gcm9sZV9uYW1lOgorICAgICA6cGFyYW0gcm9sZV9wYXNzd29y ZDoKKyAgICAgOnJldHVybjoKKyAgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBjb25uZWN0aW9u ID0gdXRpbHMuZ2V0X2RiX2Nvbm5lY3Rpb24oc2VydmVyWydkYiddLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWyd1c2VybmFtZSddLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydkYl9wYXNzd29y ZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVy Wydob3N0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZXJ2ZXJbJ3BvcnQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlcnZlclsnc3NsbW9kZSddKQorICAgICAgICBwZ19jdXJzb3IgPSBjb25uZWN0aW9uLmN1 cnNvcigpCisgICAgICAgIHBnX2N1cnNvci5leGVjdXRlKAorICAgICAgICAgICAgIkNSRUFURSBS T0xFICVzIExPR0lOIFBBU1NXT1JEICclcyciICUgKHJvbGVfbmFtZSwgcm9sZV9wYXNzd29yZCkp CisgICAgICAgIGNvbm5lY3Rpb24uY29tbWl0KCkKKyAgICAgICAgIyBHZXQgJ29pZCcgZnJvbSBu ZXdseSBjcmVhdGVkIHRhYmxlc3BhY2UKKyAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoCisgICAg ICAgICAgICAiU0VMRUNUIHByLm9pZCBmcm9tIHBnX2NhdGFsb2cucGdfcm9sZXMgcHIgV0hFUkUg cHIucm9sbmFtZT0nJXMnIiAlCisgICAgICAgICAgICByb2xlX25hbWUpCisgICAgICAgIG9pZCA9 IHBnX2N1cnNvci5mZXRjaG9uZSgpCisgICAgICAgIHJvbGVfaWQgPSAnJworICAgICAgICBpZiBv aWQ6CisgICAgICAgICAgICByb2xlX2lkID0gb2lkWzBdCisgICAgICAgIGNvbm5lY3Rpb24uY2xv c2UoKQorICAgICAgICByZXR1cm4gcm9sZV9pZAorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhj ZXB0aW9uOgorICAgICAgICBleGNlcHRpb24gPSAiRXJyb3Igd2hpbGUgZGVsZXRpbmcgcm9sZTog JXM6IGxpbmU6JXMgJXMiICUgKAorICAgICAgICAgICAgZmlsZV9uYW1lLCBzeXMuZXhjX3RyYWNl YmFjay50Yl9saW5lbm8sIGV4Y2VwdGlvbikKKyAgICAgICAgcHJpbnQoZXhjZXB0aW9uLCBmaWxl PXN5cy5zdGRlcnIpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9tb2RlbC9fX2luaXRfXy5weSBi L3dlYi9wZ2FkbWluL21vZGVsL19faW5pdF9fLnB5CmluZGV4IGIzM2FkYzAuLmQyNGEzNTAgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL21vZGVsL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWlu L21vZGVsL19faW5pdF9fLnB5CkBAIC05NCw2ICs5NCwxNSBAQCBjbGFzcyBTZXJ2ZXJHcm91cChk Yi5Nb2RlbCk6CiAgICAgbmFtZSA9IGRiLkNvbHVtbihkYi5TdHJpbmcoMTI4KSwgbnVsbGFibGU9 RmFsc2UpCiAgICAgX190YWJsZV9hcmdzX18gPSAoZGIuVW5pcXVlQ29uc3RyYWludCgndXNlcl9p ZCcsICduYW1lJyksKQogCisgICAgQHByb3BlcnR5CisgICAgZGVmIHNlcmlhbGl6ZShzZWxmKToK KyAgICAgICAgIiIiUmV0dXJuIG9iamVjdCBkYXRhIGluIGVhc2lseSBzZXJpYWxpemFibGUgZm9y bWF0IiIiCisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAnaWQnOiBzZWxmLmlkLAorICAg ICAgICAgICAgJ3VzZXJfaWQnOiBzZWxmLnVzZXJfaWQsCisgICAgICAgICAgICAnbmFtZSc6IHNl bGYubmFtZSwKKyAgICAgICAgfQorCiAKIGNsYXNzIFNlcnZlcihkYi5Nb2RlbCk6CiAgICAgIiIi RGVmaW5lIGEgcmVnaXN0ZXJlZCBQb3N0Z3JlcyBzZXJ2ZXIiIiIKQEAgLTE3NSw2ICsxODQsNDQg QEAgY2xhc3MgU2VydmVyKGRiLk1vZGVsKToKICAgICB0dW5uZWxfcGFzc3dvcmQgPSBkYi5Db2x1 bW4oZGIuU3RyaW5nKDY0KSwgbnVsbGFibGU9VHJ1ZSkKICAgICBzaGFyZWQgPSBkYi5Db2x1bW4o ZGIuQm9vbGVhbigpLCBudWxsYWJsZT1GYWxzZSkKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBz ZXJpYWxpemUoc2VsZik6CisgICAgICAgICIiIlJldHVybiBvYmplY3QgZGF0YSBpbiBlYXNpbHkg c2VyaWFsaXphYmxlIGZvcm1hdCIiIgorICAgICAgICByZXR1cm4geworICAgICAgICAgICAgImlk Ijogc2VsZi5pZCwKKyAgICAgICAgICAgICJ1c2VyX2lkIjogc2VsZi51c2VyX2lkLAorICAgICAg ICAgICAgInNlcnZlcmdyb3VwX2lkIjogc2VsZi5zZXJ2ZXJncm91cF9pZCwKKyAgICAgICAgICAg ICJuYW1lIjogc2VsZi5uYW1lLAorICAgICAgICAgICAgImhvc3QiOiBzZWxmLmhvc3QsCisgICAg ICAgICAgICAiaG9zdGFkZHIiOiBzZWxmLmhvc3RhZGRyLAorICAgICAgICAgICAgInBvcnQiOiBz ZWxmLnBvcnQsCisgICAgICAgICAgICAibWFpbnRlbmFuY2VfZGIiOiBzZWxmLm1haW50ZW5hbmNl X2RiLAorICAgICAgICAgICAgInVzZXJuYW1lIjogc2VsZi51c2VybmFtZSwKKyAgICAgICAgICAg ICJwYXNzd29yZCI6IHNlbGYucGFzc3dvcmQsCisgICAgICAgICAgICAic2F2ZV9wYXNzd29yZCI6 IHNlbGYuc2F2ZV9wYXNzd29yZCwKKyAgICAgICAgICAgICJyb2xlIjogc2VsZi5yb2xlLAorICAg ICAgICAgICAgInNzbF9tb2RlIjogc2VsZi5zc2xfbW9kZSwKKyAgICAgICAgICAgICJjb21tZW50 Ijogc2VsZi5jb21tZW50LAorICAgICAgICAgICAgImRpc2NvdmVyeV9pZCI6IHNlbGYuZGlzY292 ZXJ5X2lkLAorICAgICAgICAgICAgImRiX3JlcyI6IHNlbGYuZGJfcmVzLAorICAgICAgICAgICAg InBhc3NmaWxlIjogc2VsZi5wYXNzZmlsZSwKKyAgICAgICAgICAgICJzc2xjZXJ0Ijogc2VsZi5z c2xjZXJ0LAorICAgICAgICAgICAgInNzbGtleSI6IHNlbGYuc3Nsa2V5LAorICAgICAgICAgICAg InNzbHJvb3RjZXJ0Ijogc2VsZi5zc2xyb290Y2VydCwKKyAgICAgICAgICAgICJzc2xjcmwiOiBz ZWxmLnNzbGNybCwKKyAgICAgICAgICAgICJzc2xjb21wcmVzc2lvbiI6IHNlbGYuc3NsY29tcHJl c3Npb24sCisgICAgICAgICAgICAiYmdjb2xvciI6IHNlbGYuYmdjb2xvciwKKyAgICAgICAgICAg ICJmZ2NvbG9yIjogc2VsZi5mZ2NvbG9yLAorICAgICAgICAgICAgInNlcnZpY2UiOiBzZWxmLnNl cnZpY2UsCisgICAgICAgICAgICAiY29ubmVjdF90aW1lb3V0Ijogc2VsZi5jb25uZWN0X3RpbWVv dXQsCisgICAgICAgICAgICAidXNlX3NzaF90dW5uZWwiOiBzZWxmLnVzZV9zc2hfdHVubmVsLAor ICAgICAgICAgICAgInR1bm5lbF9ob3N0Ijogc2VsZi50dW5uZWxfaG9zdCwKKyAgICAgICAgICAg ICJ0dW5uZWxfcG9ydCI6IHNlbGYudHVubmVsX3BvcnQsCisgICAgICAgICAgICAidHVubmVsX2F1 dGhlbnRpY2F0aW9uIjogc2VsZi50dW5uZWxfYXV0aGVudGljYXRpb24sCisgICAgICAgICAgICAi dHVubmVsX2lkZW50aXR5X2ZpbGUiOiBzZWxmLnR1bm5lbF9pZGVudGl0eV9maWxlLAorICAgICAg ICAgICAgInR1bm5lbF9wYXNzd29yZCI6IHNlbGYudHVubmVsX3Bhc3N3b3JkCisgICAgICAgIH0K KwogCiBjbGFzcyBNb2R1bGVQcmVmZXJlbmNlKGRiLk1vZGVsKToKICAgICAiIiJEZWZpbmUgYSBw cmVmZXJlbmNlcyB0YWJsZSBmb3IgYW55IG1vZHVsZXMuIiIiCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yL25ld19jb25uZWN0aW9uX2RpYWxvZy5qcyBiL3dlYi9w Z2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3IvbmV3X2Nvbm5lY3Rpb25fZGlhbG9nLmpzCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NmQ3MzYKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yL25ld19jb25uZWN0aW9uX2RpYWxvZy5q cwpAQCAtMCwwICsxLDI1MiBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwg VG9vbHMKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZl bG9wbWVudCBUZWFtCisvLyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0 Z3JlU1FMIExpY2VuY2UKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCitpbXBvcnQgZ2V0dGV4dCBmcm9tICdzb3VyY2Vz L2dldHRleHQnOworaW1wb3J0IHVybF9mb3IgZnJvbSAnc291cmNlcy91cmxfZm9yJzsKK2ltcG9y dCAkIGZyb20gJ2pxdWVyeSc7CitpbXBvcnQgQWxlcnRpZnkgZnJvbSAncGdhZG1pbi5hbGVydGlm eWpzJzsKK2ltcG9ydCBwZ0FkbWluIGZyb20gJ3NvdXJjZXMvcGdhZG1pbic7CitpbXBvcnQgQmFj a2Zvcm0gZnJvbSAncGdhZG1pbi5iYWNrZm9ybSc7CitpbXBvcnQgbmV3Q29ubmVjdGlvbkRpYWxv Z01vZGVsIGZyb20gJ3NvdXJjZXMvc3FsZWRpdG9yL25ld19jb25uZWN0aW9uX2RpYWxvZ19tb2Rl bCc7CisKKworbGV0IE5ld0Nvbm5lY3Rpb25EaWFsb2cgPSB7CisgICdkaWFsb2cnOiBmdW5jdGlv bihoYW5kbGVyLCByZWNvbm5lY3QpIHsKKyAgICBsZXQgdXJsID0gdXJsX2Zvcignc3FsZWRpdG9y LmdldF9uZXdfY29ubmVjdGlvbl9kYXRhJywgeworICAgICAgJ3NpZCc6IGhhbmRsZXIudXJsX3Bh cmFtcy5zaWQsCisgICAgICAnc2dpZCc6IGhhbmRsZXIudXJsX3BhcmFtcy5zZ2lkLAorICAgIH0p OworCisgICAgaWYocmVjb25uZWN0KSB7CisgICAgICB1cmwgKz0gJz9jb25uZWN0PTEnOworICAg IH0KKworICAgIGxldCB0aXRsZSA9IGdldHRleHQoJ0Nvbm5lY3QgdG8gc2VydmVyJyk7CisKKyAg ICAkLmFqYXgoeworICAgICAgdXJsOiB1cmwsCisgICAgICBoZWFkZXJzOiB7CisgICAgICAgICdD YWNoZS1Db250cm9sJyA6ICduby1jYWNoZScsCisgICAgICB9LAorICAgIH0pLmRvbmUoZnVuY3Rp b24gKHJlcykgeworICAgICAgbGV0IHJlc3BvbnNlID0gcmVzLmRhdGEucmVzdWx0OworICAgICAg cmVzcG9uc2UuZGF0YWJhc2VfbGlzdCA9IFtdOworICAgICAgcmVzcG9uc2UudXNlcl9saXN0ID0g W107CisgICAgICBpZiAoQWxlcnRpZnkubmV3Q29ubmVjdGlvbkRpYWxvZykgeworICAgICAgICBk ZWxldGUgQWxlcnRpZnkubmV3Q29ubmVjdGlvbkRpYWxvZzsKKyAgICAgIH0KKworICAgICAgLy8g Q3JlYXRlIERpYWxvZworICAgICAgQWxlcnRpZnkuZGlhbG9nKCduZXdDb25uZWN0aW9uRGlhbG9n JywgZnVuY3Rpb24gZmFjdG9yeSgpIHsKKyAgICAgICAgbGV0ICRjb250YWluZXIgPSAkKCc8ZGl2 IGNsYXNzPVwnbmV3LWNvbm5lY3Rpb24tZGlhbG9nXCc+PC9kaXY+Jyk7CisgICAgICAgIHJldHVy biB7CisgICAgICAgICAgbWFpbjogZnVuY3Rpb24obWVzc2FnZSkgeworICAgICAgICAgICAgdGhp cy5tc2cgPSBtZXNzYWdlOworICAgICAgICAgIH0sCisgICAgICAgICAgYnVpbGQ6IGZ1bmN0aW9u KCkgeworICAgICAgICAgICAgdGhpcy5lbGVtZW50cy5jb250ZW50LmFwcGVuZENoaWxkKCRjb250 YWluZXIuZ2V0KDApKTsKKyAgICAgICAgICAgIEFsZXJ0aWZ5LnBnRGlhbG9nQnVpbGQuYXBwbHko dGhpcyk7CisgICAgICAgICAgfSwKKyAgICAgICAgICBzZXR1cDogZnVuY3Rpb24oKXsKKyAgICAg ICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAgIGJ1dHRvbnM6IFsKKyAgICAgICAgICAgICAg ICB7CisgICAgICAgICAgICAgICAgICB0ZXh0OiAnJywKKyAgICAgICAgICAgICAgICAgIGtleTog MTEyLAorICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1wcmltYXJ5LWljb24g cHVsbC1sZWZ0IGZhIGZhLXF1ZXN0aW9uIHBnLWFsZXJ0aWZ5LWljb24tYnV0dG9uJywKKyAgICAg ICAgICAgICAgICAgIGF0dHJzOiB7CisgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdkaWFsb2df aGVscCcsCisgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLAorICAgICAgICAgICAg ICAgICAgICBsYWJlbDogZ2V0dGV4dCgnSGVscCcpLAorICAgICAgICAgICAgICAgICAgICAnYXJp YS1sYWJlbCc6IGdldHRleHQoJ0hlbHAnKSwKKyAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmxf Zm9yKCdoZWxwLnN0YXRpYycsIHsKKyAgICAgICAgICAgICAgICAgICAgICAnZmlsZW5hbWUnOiAn cXVlcnlfdG9vbC5odG1sJywKKyAgICAgICAgICAgICAgICAgICAgfSksCisgICAgICAgICAgICAg ICAgICB9LAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgdGV4dDogZ2V0dGV4dCgnQ2FuY2VsJyksCisgICAgICAgICAgICAgICAgICBrZXk6 IDI3LAorICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1zZWNvbmRhcnkgZmEg ZmEtdGltZXMgcGctYWxlcnRpZnktYnV0dG9uJywKKyAgICAgICAgICAgICAgICAgICdkYXRhLWJ0 bi1uYW1lJzogJ2NhbmNlbCcsCisgICAgICAgICAgICAgICAgfSwgeworICAgICAgICAgICAgICAg ICAgdGV4dDogZ2V0dGV4dCgnT0snKSwKKyAgICAgICAgICAgICAgICAgIGtleTogMTMsCisgICAg ICAgICAgICAgICAgICBjbGFzc05hbWU6ICdidG4gYnRuLXByaW1hcnkgZmEgZmEtY2hlY2sgcGct YWxlcnRpZnktYnV0dG9uJywKKyAgICAgICAgICAgICAgICAgICdkYXRhLWJ0bi1uYW1lJzogJ29r JywKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAv LyBTZXQgb3B0aW9ucyBmb3IgZGlhbG9nCisgICAgICAgICAgICAgIG9wdGlvbnM6IHsKKyAgICAg ICAgICAgICAgICB0aXRsZTogdGl0bGUsCisgICAgICAgICAgICAgICAgLy9kaXNhYmxlIGJvdGgg cGFkZGluZyBhbmQgb3ZlcmZsb3cgY29udHJvbC4KKyAgICAgICAgICAgICAgICBwYWRkaW5nOiAh MSwKKyAgICAgICAgICAgICAgICBvdmVyZmxvdzogITEsCisgICAgICAgICAgICAgICAgbW9kZWw6 IDAsCisgICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLAorICAgICAgICAgICAgICAgIG1h eGltaXphYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICBwaW5uYWJsZTogZmFsc2UsCisgICAg ICAgICAgICAgICAgY2xvc2FibGVCeURpbW1lcjogZmFsc2UsCisgICAgICAgICAgICAgICAgbW9k YWw6IGZhbHNlLAorICAgICAgICAgICAgICAgIGF1dG9SZXNldDogZmFsc2UsCisgICAgICAgICAg ICAgICAgY2xvc2FibGU6IHRydWUsCisgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICB9Owor ICAgICAgICAgIH0sCisgICAgICAgICAgcHJlcGFyZTogZnVuY3Rpb24oKSB7CisgICAgICAgICAg ICBsZXQgc2VsZiA9IHRoaXM7CisgICAgICAgICAgICAkY29udGFpbmVyLmh0bWwoJycpOworICAg ICAgICAgICAgLy8gRGlzYWJsZSBPayBidXR0b24KKyAgICAgICAgICAgIHRoaXMuX19pbnRlcm5h bC5idXR0b25zWzJdLmVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOworCisgICAgICAgICAgICAvLyBT dGF0dXMgYmFyCisgICAgICAgICAgICB0aGlzLnN0YXR1c0JhciA9ICQoCisgICAgICAgICAgICAg ICc8ZGl2IGNsYXNzPVwncGctcHJvcC1zdGF0dXMtYmFyIHBnLWVsLXhzLTEyIGQtbm9uZVwnPicg KworICAgICAgICAgICAgJyAgPGRpdiBjbGFzcz0iZXJyb3ItaW4tZm9vdGVyIj4gJyArCisgICAg ICAgICAgICAnICAgIDxkaXYgY2xhc3M9ImQtZmxleCBweC0yIHB5LTEiPiAnICsKKyAgICAgICAg ICAgICcgICAgICA8ZGl2IGNsYXNzPSJwci0yIj4gJyArCisgICAgICAgICAgICAnICAgICAgICA8 aSBjbGFzcz0iZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUgdGV4dC1kYW5nZXIiIGFyaWEtaGlk ZGVuPSJ0cnVlIj48L2k+ICcgKworICAgICAgICAgICAgJyAgICAgIDwvZGl2PiAnICsKKyAgICAg ICAgICAgICcgICAgICA8ZGl2IGNsYXNzPSJhbGVydC10ZXh0IiByb2xlPSJhbGVydCI+PC9kaXY+ ICcgKworICAgICAgICAgICAgJyAgICA8L2Rpdj4gJyArCisgICAgICAgICAgICAnICA8L2Rpdj4g JyArCisgICAgICAgICAgICAnPC9kaXY+JykuYXBwZW5kVG8oJGNvbnRhaW5lcik7CisKKyAgICAg ICAgICAgIC8vIFRvIHNob3cgcHJvZ3Jlc3Mgb24gZmlsdGVyIFNhdmluZy9VcGRhdGluZyBvbiBB SkFYCisgICAgICAgICAgICB0aGlzLnNob3dOZXdDb25uZWN0aW9uUHJvZ3Jlc3MgPSAkKAorICAg ICAgICAgICAgICBgPGRpdiBpZD0ic2hvd19maWx0ZXJfcHJvZ3Jlc3MiIGNsYXNzPSJwZy1zcC1j b250YWluZXIgc3FsLWVkaXRvci1idXN5LWZldGNoaW5nIGQtbm9uZSI+CisgICAgICAgICAgICAg ICAgPGRpdiBjbGFzcz0icGctc3AtY29udGVudCI+CisgICAgICAgICAgICAgICAgICAgIDxkaXYg Y2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLTEyIHBnLXNwLWljb24gc3FsLWVkaXRvci1idXN5 LWljb24iPjwvZGl2PjwvZGl2PgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ci PjxkaXYgY2xhc3M9ImNvbC0xMiBwZy1zcC10ZXh0IHNxbC1lZGl0b3ItYnVzeS10ZXh0Ij5gICsg Z2V0dGV4dCgnTG9hZGluZyBkYXRhLi4uJykgKyBgPC9kaXY+PC9kaXY+CisgICAgICAgICAgICAg ICAgPC9kaXY+CisgICAgICAgICAgICA8L2Rpdj5gCisgICAgICAgICAgICApLmFwcGVuZFRvKCRj b250YWluZXIpOworICAgICAgICAgICAgJCgKKyAgICAgICAgICAgICAgc2VsZi5zaG93TmV3Q29u bmVjdGlvblByb2dyZXNzWzBdCisgICAgICAgICAgICApLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTsK KworICAgICAgICAgICAgc2VsZi5uZXdDb25uQ29sbGVjdGlvbk1vZGVsID0gbmV3Q29ubmVjdGlv bkRpYWxvZ01vZGVsKHJlc3BvbnNlLCBoYW5kbGVyLnVybF9wYXJhbXMuc2dpZCwgaGFuZGxlci51 cmxfcGFyYW1zLnNpZCk7CisgICAgICAgICAgICBsZXQgZmllbGRzID0gQmFja2Zvcm0uZ2VuZXJh dGVWaWV3U2NoZW1hKG51bGwsIHNlbGYubmV3Q29ubkNvbGxlY3Rpb25Nb2RlbCwgJ2NyZWF0ZScs IG51bGwsIG51bGwsIHRydWUpOworCisgICAgICAgICAgICBsZXQgdmlldyA9IHRoaXMudmlldyA9 IG5ldyBCYWNrZm9ybS5EaWFsb2coeworICAgICAgICAgICAgICBlbDogJzxkaXY+PC9kaXY+JywK KyAgICAgICAgICAgICAgbW9kZWw6IHNlbGYubmV3Q29ubkNvbGxlY3Rpb25Nb2RlbCwKKyAgICAg ICAgICAgICAgc2NoZW1hOiBmaWVsZHMsCisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAg JCh0aGlzLmVsZW1lbnRzLmJvZHkuY2hpbGROb2Rlc1swXSkuYWRkQ2xhc3MoCisgICAgICAgICAg ICAgICdhbGVydGlmeV90b29sc19kaWFsb2dfcHJvcGVydGllcyBvYmpfcHJvcGVydGllcycKKyAg ICAgICAgICAgICk7CisKKyAgICAgICAgICAgICRjb250YWluZXIuYXBwZW5kKHZpZXcucmVuZGVy KCkuJGVsKTsKKworICAgICAgICAgICAgLy8gRW5hYmxlL2Rpc2FibGUgc2F2ZSBidXR0b24gYW5k IHNob3cvaGlkZSBzdGF0dXNiYXIgYmFzZWQgb24gc2Vzc2lvbgorICAgICAgICAgICAgdmlldy5s aXN0ZW5Ubyh2aWV3Lm1vZGVsLCAncGdhZG1pbi1zZXNzaW9uOnN0YXJ0JywgZnVuY3Rpb24oKSB7 CisgICAgICAgICAgICAgIHZpZXcubGlzdGVuVG8odmlldy5tb2RlbCwgJ3BnYWRtaW4tc2Vzc2lv bjppbnZhbGlkJywgZnVuY3Rpb24obXNnKSB7CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0dXNC YXIucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpOworICAgICAgICAgICAgICAgICQoc2VsZi5zdGF0dXNC YXIuZmluZCgnLmFsZXJ0LXRleHQnKSkuaHRtbChtc2cpOworICAgICAgICAgICAgICAgIC8vIERp c2FibGUgT2theSBidXR0b24KKyAgICAgICAgICAgICAgICBzZWxmLl9faW50ZXJuYWwuYnV0dG9u c1syXS5lbGVtZW50LmRpc2FibGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgfSk7CisKKyAgICAg ICAgICAgICAgdmlldy5saXN0ZW5Ubyh2aWV3Lm1vZGVsLCAncGdhZG1pbi1zZXNzaW9uOnZhbGlk JywgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0dXNCYXIuYWRkQ2xhc3Mo J2Qtbm9uZScpOworICAgICAgICAgICAgICAgICQoc2VsZi5zdGF0dXNCYXIuZmluZCgnLmFsZXJ0 LXRleHQnKSkuaHRtbCgnJyk7CisgICAgICAgICAgICAgICAgLy8gRW5hYmxlIE9rYXkgYnV0dG9u CisgICAgICAgICAgICAgICAgc2VsZi5fX2ludGVybmFsLmJ1dHRvbnNbMl0uZWxlbWVudC5kaXNh YmxlZCA9IGZhbHNlOworICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0pOworCisgICAg ICAgICAgICB2aWV3Lmxpc3RlblRvKHZpZXcubW9kZWwsICdwZ2FkbWluLXNlc3Npb246c3RvcCcs IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICB2aWV3LnN0b3BMaXN0ZW5pbmcodmlldy5tb2Rl bCwgJ3BnYWRtaW4tc2Vzc2lvbjppbnZhbGlkJyk7CisgICAgICAgICAgICAgIHZpZXcuc3RvcExp c3RlbmluZyh2aWV3Lm1vZGVsLCAncGdhZG1pbi1zZXNzaW9uOnZhbGlkJyk7CisgICAgICAgICAg ICB9KTsKKworICAgICAgICAgICAgLy8gU3RhcnRzIG1vbml0b3JpbmcgY2hhbmdlcyB0byBtb2Rl bAorICAgICAgICAgICAgdmlldy5tb2RlbC5zdGFydE5ld1Nlc3Npb24oKTsKKworICAgICAgICAg ICAgLy8gSGlkZSBQcm9ncmVzcyAuLi4KKyAgICAgICAgICAgICQoCisgICAgICAgICAgICAgIHNl bGYuc2hvd05ld0Nvbm5lY3Rpb25Qcm9ncmVzc1swXQorICAgICAgICAgICAgKS5hZGRDbGFzcygn ZC1ub25lJyk7CisgICAgICAgICAgfSwKKyAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oZSkg eworICAgICAgICAgICAgbGV0IHNlbGYgPSB0aGlzOworICAgICAgICAgICAgaWYgKGUuYnV0dG9u LmVsZW1lbnQubmFtZSA9PSAnZGlhbG9nX2hlbHAnKSB7CisgICAgICAgICAgICAgIGUuY2FuY2Vs ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgcGdBZG1pbi5Ccm93c2VyLnNob3dIZWxwKGUuYnV0dG9u LmVsZW1lbnQubmFtZSwgZS5idXR0b24uZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3VybCcpLAorICAg ICAgICAgICAgICAgIG51bGwsIG51bGwpOworICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg ICAgICB9IGVsc2UgaWYgKGUuYnV0dG9uWydkYXRhLWJ0bi1uYW1lJ10gPT09ICdvaycpIHsKKyAg ICAgICAgICAgICAgZS5jYW5jZWwgPSB0cnVlOyAvLyBEbyBub3QgY2xvc2UgZGlhbG9nCisgICAg ICAgICAgICAgIGxldCBuZXdDb25uQ29sbGVjdGlvbk1vZGVsID0gdGhpcy5uZXdDb25uQ29sbGVj dGlvbk1vZGVsLnRvSlNPTigpOworICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRfZGF0YWJhc2Vf bmFtZSA9IG51bGw7CisgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGFiYXNlX2xpc3QuZm9yRWFj aChmdW5jdGlvbihkYXRhKXsKKyAgICAgICAgICAgICAgICBpZihuZXdDb25uQ29sbGVjdGlvbk1v ZGVsWydkYXRhYmFzZSddID09IGRhdGFbJ3ZhbHVlJ10pIHsKKyAgICAgICAgICAgICAgICAgIHNl bGVjdGVkX2RhdGFiYXNlX25hbWUgPSBkYXRhWydsYWJlbCddOworICAgICAgICAgICAgICAgICAg cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgfSk7CisgICAg ICAgICAgICAgIGxldCBpc19jcmVhdGVfY29ubmVjdGlvbiA9IHRydWU7CisgICAgICAgICAgICAg IGxldCB0aXRsZSA9IHNlbGVjdGVkX2RhdGFiYXNlX25hbWUgKyAnLycgKyBuZXdDb25uQ29sbGVj dGlvbk1vZGVsWyd1c2VyJ10gKyAnQCcgKyByZXNwb25zZS5zZXJ2ZXJfbmFtZTsKKyAgICAgICAg ICAgICAgaGFuZGxlci5ncmlkVmlldy5jb25uZWN0aW9uX2xpc3QuZm9yRWFjaChmdW5jdGlvbihj b25uZWN0aW9uX2RhdGEpeworICAgICAgICAgICAgICAgIGlmKHBhcnNlSW50KGNvbm5lY3Rpb25f ZGF0YVsnc2VydmVyJ10pID09IG5ld0Nvbm5Db2xsZWN0aW9uTW9kZWxbJ3NlcnZlciddCisgICAg ICAgICAgICAgICAgJiYgcGFyc2VJbnQoY29ubmVjdGlvbl9kYXRhWydkYXRhYmFzZSddKSA9PSBu ZXdDb25uQ29sbGVjdGlvbk1vZGVsWydkYXRhYmFzZSddCisgICAgICAgICAgICAgICAgJiYgY29u bmVjdGlvbl9kYXRhWyd1c2VyJ10gPT0gbmV3Q29ubkNvbGxlY3Rpb25Nb2RlbFsndXNlciddKSB7 CisgICAgICAgICAgICAgICAgICBpc19jcmVhdGVfY29ubmVjdGlvbiA9IGZhbHNlOworICAgICAg ICAgICAgICAgICAgLy8gYnJlYWsgZm9yIGxvb3AgYnkgcmV0dXJuIGZhbHNlLgorICAgICAgICAg ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg ICAgIGlmKHRpdGxlID09IGNvbm5lY3Rpb25fZGF0YVsndGl0bGUnXSkgeworICAgICAgICAgICAg ICAgICAgaXNfY3JlYXRlX2Nvbm5lY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgIHJl dHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIH0pOworICAgICAg ICAgICAgICBpZighaXNfY3JlYXRlX2Nvbm5lY3Rpb24pIHsKKyAgICAgICAgICAgICAgICBsZXQg ZXJybXNnID0gJ0Nvbm5lY3Rpb24gd2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24gYWxyZWFkeSBwcmVz ZW50Lic7CisgICAgICAgICAgICAgICAgQWxlcnRpZnkuZXJyb3IoZXJybXNnKTsKKyAgICAgICAg ICAgICAgfWVsc2UgeworICAgICAgICAgICAgICAgIGxldCBjb25uZWN0aW9uX2RldGFpbHMgPSB7 CisgICAgICAgICAgICAgICAgICAnc2VydmVyX2dyb3VwJzogaGFuZGxlci5ncmlkVmlldy5oYW5k bGVyLnVybF9wYXJhbXMuc2dpZCwKKyAgICAgICAgICAgICAgICAgICdzZXJ2ZXInOiBuZXdDb25u Q29sbGVjdGlvbk1vZGVsWydzZXJ2ZXInXSwKKyAgICAgICAgICAgICAgICAgICdkYXRhYmFzZSc6 IG5ld0Nvbm5Db2xsZWN0aW9uTW9kZWxbJ2RhdGFiYXNlJ10sCisgICAgICAgICAgICAgICAgICAn dGl0bGUnOiB0aXRsZSwKKyAgICAgICAgICAgICAgICAgICd1c2VyJzogbmV3Q29ubkNvbGxlY3Rp b25Nb2RlbFsndXNlciddLAorICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkJzogbmV3Q29ubkNv bGxlY3Rpb25Nb2RlbFsncGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICB9OworICAgICAgICAg ICAgICAgIGhhbmRsZXIuZ3JpZFZpZXcub25fY2hhbmdlX2Nvbm5lY3Rpb24oY29ubmVjdGlvbl9k ZXRhaWxzLCBzZWxmKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgICAgICAgc2VsZi5jbG9zZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0sCisg ICAgICAgIH07CisgICAgICB9KTsKKyAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKKyAgICAg ICAgQWxlcnRpZnkubmV3Q29ubmVjdGlvbkRpYWxvZygnQ29ubmVjdCB0byBzZXJ2ZXIuJykucmVz aXplVG8ocGdBZG1pbi5Ccm93c2VyLnN0ZFcubWQscGdBZG1pbi5Ccm93c2VyLnN0ZEgubWQpOwor ICAgICAgfSwgNTAwKTsKKyAgICB9KS5mYWlsKGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICBBbGVy dGlmeS5hbGVydCgpLnNldHRpbmcoeworICAgICAgICAndGl0bGUnOiBnZXR0ZXh0KCdDb25uZWN0 aW9uIGxvc3QnKSwKKyAgICAgICAgJ2xhYmVsJzpnZXR0ZXh0KCdPaycpLAorICAgICAgICAnbWVz c2FnZSc6IGdldHRleHQoJ0Nvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBoYXMgYmVlbiBsb3N0Licp LAorICAgICAgICAnb25vayc6IGZ1bmN0aW9uKCl7CisgICAgICAgICAgYWxlcnQoZXJyb3IpOwor ICAgICAgICAgIC8vQ2xvc2UgdGhlIHdpbmRvdyBhZnRlciBjb25uZWN0aW9uIGlzIGxvc3QKKyAg ICAgICAgICB3aW5kb3cuY2xvc2UoKTsKKyAgICAgICAgfSwKKyAgICAgIH0pLnNob3coKTsKKyAg ICB9KTsKKworICB9LAorCit9OworCittb2R1bGUuZXhwb3J0cyA9IE5ld0Nvbm5lY3Rpb25EaWFs b2c7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yL25ld19jb25u ZWN0aW9uX2RpYWxvZ19tb2RlbC5qcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3Iv bmV3X2Nvbm5lY3Rpb25fZGlhbG9nX21vZGVsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjdmMzA5Y2QKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMv anMvc3FsZWRpdG9yL25ld19jb25uZWN0aW9uX2RpYWxvZ19tb2RlbC5qcwpAQCAtMCwwICsxLDIy OCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLworLy8KKy8vIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKy8vCisvLyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisv LyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK Ky8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLworCitpbXBvcnQgZ2V0dGV4dCBmcm9tICdzb3VyY2VzL2dldHRleHQnOworaW1w b3J0IF8gZnJvbSAndW5kZXJzY29yZSc7CitpbXBvcnQgJCBmcm9tICdqcXVlcnknOworaW1wb3J0 IHBnQWRtaW4gZnJvbSAnc291cmNlcy9wZ2FkbWluJzsKK2ltcG9ydCBCYWNrZm9ybSBmcm9tICdw Z2FkbWluLmJhY2tmb3JtJzsKK2ltcG9ydCB1cmxfZm9yIGZyb20gJ3NvdXJjZXMvdXJsX2Zvcic7 CitpbXBvcnQgYWxlcnRpZnkgZnJvbSAncGdhZG1pbi5hbGVydGlmeWpzJzsKKworZXhwb3J0IGRl ZmF1bHQgZnVuY3Rpb24gbmV3Q29ubmVjdGlvbkRpYWxvZ01vZGVsKHJlc3BvbnNlLCBzZ2lkLCBz aWQpIHsKKworICBsZXQgc2VydmVyX25hbWUgPSAnJzsKKyAgbGV0IGRhdGFiYXNlX25hbWUgPSAn JzsKKworICBsZXQgTmV3Q29ubmVjdGlvblNlbGVjdDJDb250cm9sID0gQmFja2Zvcm0uU2VsZWN0 MkNvbnRyb2wuZXh0ZW5kKHsKKyAgICBmZXRjaERhdGE6IGZ1bmN0aW9uKCl7CisgICAgICBsZXQg c2VsZiA9IHRoaXM7CisgICAgICB1cmwgPSBzZWxmLmZpZWxkLmdldCgndXJsJyk7CisKKyAgICAg IGxldCB1cmwgPSB1cmxfZm9yKHVybCwgeworICAgICAgICAnc2lkJzogc2VsZi5tb2RlbC5hdHRy aWJ1dGVzLnNlcnZlciwKKyAgICAgICAgJ3NnaWQnOiBzZ2lkLAorICAgICAgfSk7CisKKyAgICAg ICQuYWpheCh7CisgICAgICAgIGFzeW5jOiBmYWxzZSwKKyAgICAgICAgdXJsOiB1cmwsCisgICAg ICAgIGhlYWRlcnM6IHsKKyAgICAgICAgICAnQ2FjaGUtQ29udHJvbCcgOiAnbm8tY2FjaGUnLAor ICAgICAgICB9LAorICAgICAgfSkuZG9uZShmdW5jdGlvbiAocmVzKSB7CisgICAgICAgIHZhciB0 cmFuc2Zvcm0gPSBzZWxmLmZpZWxkLmdldCgndHJhbnNmb3JtJyk7CisgICAgICAgIGlmKHJlcy5k YXRhLnN0YXR1cyl7CisgICAgICAgICAgbGV0IGRhdGEgPSByZXMuZGF0YS5yZXN1bHQuZGF0YTsK KworICAgICAgICAgIGlmICh0cmFuc2Zvcm0gJiYgXy5pc0Z1bmN0aW9uKHRyYW5zZm9ybSkpIHsK KyAgICAgICAgICAgIHNlbGYuZmllbGQuc2V0KCdvcHRpb25zJywgdHJhbnNmb3JtLmJpbmQoc2Vs ZiwgZGF0YSkpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzZWxmLmZpZWxkLnNl dCgnb3B0aW9ucycsIGRhdGEpOworICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAg ICAgICBpZiAodHJhbnNmb3JtICYmIF8uaXNGdW5jdGlvbih0cmFuc2Zvcm0pKSB7CisgICAgICAg ICAgICBzZWxmLmZpZWxkLnNldCgnb3B0aW9ucycsIHRyYW5zZm9ybS5iaW5kKHNlbGYsIFtdKSk7 CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHNlbGYuZmllbGQuc2V0KCdvcHRpb25z JywgW10pOworICAgICAgICAgIH0KKyAgICAgICAgICBhbGVydGlmeS5lcnJvcihyZXMuZGF0YS5t c2cpOworICAgICAgICB9CisgICAgICB9KS5mYWlsKGZ1bmN0aW9uKGUpeworICAgICAgICBsZXQg bXNnID0gJyc7CisgICAgICAgIGlmKGUuc3RhdHVzID09IDQwNCkgeworICAgICAgICAgIG1zZyA9 ICdVbmFibGUgdG8gZmluZCB1cmwuJzsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBtc2cg PSBlLnJlc3BvbnNlSlNPTi5lcnJvcm1zZzsKKyAgICAgICAgfQorICAgICAgICBhbGVydGlmeS5l cnJvcihtc2cpOworICAgICAgfSk7CisgICAgfSwKKyAgICByZW5kZXI6IGZ1bmN0aW9uKCkgewor ICAgICAgdGhpcy5mZXRjaERhdGEoKTsKKyAgICAgIHJldHVybiBCYWNrZm9ybS5TZWxlY3QyQ29u dHJvbC5wcm90b3R5cGUucmVuZGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgfSwKKyAg ICBvbkNoYW5nZTogZnVuY3Rpb24oKSB7CisgICAgICBCYWNrZm9ybS5TZWxlY3QyQ29udHJvbC5w cm90b3R5cGUub25DaGFuZ2UuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICB9LAorICB9KTsK KworICBsZXQgbmV3Q29ubmVjdGlvbk1vZGVsID0gcGdBZG1pbi5Ccm93c2VyLkRhdGFNb2RlbC5l eHRlbmQoeworICAgIGlkQXR0cmlidXRlOiAnbmFtZScsCisgICAgZGVmYXVsdHM6IHsKKyAgICAg IHNlcnZlcjogcGFyc2VJbnQoc2lkKSwKKyAgICAgIGRhdGFiYXNlOiBudWxsLAorICAgICAgdXNl cjogbnVsbCwKKyAgICAgIHBhc3N3b3JkOiBudWxsLAorICAgICAgc2VydmVyX25hbWU6IHNlcnZl cl9uYW1lLAorICAgICAgZGF0YWJhc2VfbmFtZTogZGF0YWJhc2VfbmFtZSwKKyAgICB9LAorICAg IHNjaGVtYTogW3sKKyAgICAgIGlkOiAnc2VydmVyJywKKyAgICAgIG5hbWU6ICdzZXJ2ZXInLAor ICAgICAgbGFiZWw6IGdldHRleHQoJ1NlcnZlcicpLAorICAgICAgdHlwZTogJ3RleHQnLAorICAg ICAgZWRpdGFibGU6IHRydWUsCisgICAgICBkaXNhYmxlZDogZmFsc2UsCisgICAgICBzZWxlY3Qy OiB7CisgICAgICAgIGFsbG93Q2xlYXI6IGZhbHNlLAorICAgICAgfSwKKyAgICAgIGNvbnRyb2w6 IEJhY2tmb3JtLlNlbGVjdDJDb250cm9sLmV4dGVuZCh7CisgICAgICAgIG9uQ2hhbmdlOiBmdW5j dGlvbigpIHsKKyAgICAgICAgICB0aGlzLm1vZGVsLmF0dHJpYnV0ZXMuZGF0YWJhc2UgPSBudWxs OworICAgICAgICAgIHRoaXMubW9kZWwuYXR0cmlidXRlcy51c2VyID0gbnVsbDsKKyAgICAgICAg ICBsZXQgc2VsZiA9IHRoaXM7CisgICAgICAgICAgQmFja2Zvcm0uU2VsZWN0MkNvbnRyb2wucHJv dG90eXBlLm9uQ2hhbmdlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisKKyAgICAgICAgICByZXNw b25zZS5zZXJ2ZXJfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKG9iail7CisgICAgICAgICAgICBpZihv YmouaWQ9PXNlbGYubW9kZWwuY2hhbmdlZC5zZXJ2ZXIpIHsKKyAgICAgICAgICAgICAgcmVzcG9u c2Uuc2VydmVyX25hbWUgPSBvYmoubmFtZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9KTsK KyAgICAgICAgfSwKKyAgICAgIH0pLAorICAgICAgb3B0aW9uczogZnVuY3Rpb24oKSB7CisgICAg ICAgIHJldHVybiBfLm1hcChyZXNwb25zZS5zZXJ2ZXJfbGlzdCwgKG9iaikgPT4geworICAgICAg ICAgIGlmIChvYmouaWQgPT0gcGFyc2VJbnQoc2lkKSkKKyAgICAgICAgICAgIHJlc3BvbnNlLnNl cnZlcl9uYW1lID0gb2JqLm5hbWU7CisKKyAgICAgICAgICByZXR1cm4geworICAgICAgICAgICAg dmFsdWU6IG9iai5pZCwKKyAgICAgICAgICAgIGxhYmVsOiBvYmoubmFtZSwKKyAgICAgICAgICB9 OworICAgICAgICB9KTsKKyAgICAgIH0sCisgICAgfSwKKyAgICB7CisgICAgICBpZDogJ2RhdGFi YXNlJywKKyAgICAgIG5hbWU6ICdkYXRhYmFzZScsCisgICAgICBsYWJlbDogZ2V0dGV4dCgnRGF0 YWJhc2UnKSwKKyAgICAgIHR5cGU6ICd0ZXh0JywKKyAgICAgIGVkaXRhYmxlOiB0cnVlLAorICAg ICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgbGV0IHNlbGZfbG9jYWwgPSB0aGlz OworICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQobS5nZXQoJ3NlcnZlcicpKSAmJiAhXy5pc051 bGwobS5nZXQoJ3NlcnZlcicpKQorICAgICAgICAgICAgJiYgbS5nZXQoJ3NlcnZlcicpICE9PSAn JykgeworICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBpZihz ZWxmX2xvY2FsLm9wdGlvbnMubGVuZ3RoKSB7CisgICAgICAgICAgICAgIG0uc2V0KCdkYXRhYmFz ZScsIHNlbGZfbG9jYWwub3B0aW9uc1swXS52YWx1ZSk7CisgICAgICAgICAgICB9CisgICAgICAg ICAgfSwgMTApOworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAg IHJldHVybiB0cnVlOworICAgICAgfSwKKyAgICAgIGRlcHM6IFsnc2VydmVyJ10sCisgICAgICB1 cmw6ICdzcWxlZGl0b3IuZ2V0X25ld19jb25uZWN0aW9uX2RhdGFiYXNlJywKKyAgICAgIHNlbGVj dDI6IHsKKyAgICAgICAgYWxsb3dDbGVhcjogZmFsc2UsCisgICAgICAgIHdpZHRoOiAnMTAwJScs CisgICAgICAgIGZpcnN0X2VtcHR5OiB0cnVlLAorICAgICAgICBzZWxlY3RfZmlyc3Q6IGZhbHNl LAorICAgICAgfSwKKyAgICAgIGV4dHJhQ2xhc3NlczpbJ25ldy1jb25uZWN0aW9uLWRpYWxvZy1z dHlsZSddLAorICAgICAgY29udHJvbDogTmV3Q29ubmVjdGlvblNlbGVjdDJDb250cm9sLAorICAg ICAgdHJhbnNmb3JtOiBmdW5jdGlvbihkYXRhKSB7CisgICAgICAgIHJlc3BvbnNlLmRhdGFiYXNl X2xpc3QgPSBkYXRhOworICAgICAgICByZXR1cm4gZGF0YTsKKyAgICAgIH0sCisgICAgfSwKKyAg ICB7CisgICAgICBpZDogJ3VzZXInLAorICAgICAgbmFtZTogJ3VzZXInLAorICAgICAgbGFiZWw6 IGdldHRleHQoJ1VzZXInKSwKKyAgICAgIHR5cGU6ICd0ZXh0JywKKyAgICAgIGVkaXRhYmxlOiB0 cnVlLAorICAgICAgZGVwczogWydzZXJ2ZXInXSwKKyAgICAgIHNlbGVjdDI6IHsKKyAgICAgICAg YWxsb3dDbGVhcjogZmFsc2UsCisgICAgICAgIHdpZHRoOiAnMTAwJScsCisgICAgICB9LAorICAg ICAgY29udHJvbDogTmV3Q29ubmVjdGlvblNlbGVjdDJDb250cm9sLAorICAgICAgdXJsOiAnc3Fs ZWRpdG9yLmdldF9uZXdfY29ubmVjdGlvbl91c2VyJywKKyAgICAgIGRpc2FibGVkOiBmdW5jdGlv bihtKSB7CisgICAgICAgIGxldCBzZWxmX2xvY2FsID0gdGhpczsKKyAgICAgICAgaWYgKCFfLmlz VW5kZWZpbmVkKG0uZ2V0KCdzZXJ2ZXInKSkgJiYgIV8uaXNOdWxsKG0uZ2V0KCdzZXJ2ZXInKSkK KyAgICAgICAgICAgICYmIG0uZ2V0KCdzZXJ2ZXInKSAhPT0gJycpIHsKKyAgICAgICAgICBzZXRU aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYoc2VsZl9sb2NhbC5vcHRpb25zLmxl bmd0aCkgeworICAgICAgICAgICAgICBtLnNldCgndXNlcicsIHNlbGZfbG9jYWwub3B0aW9uc1sw XS52YWx1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfSwgMTApOworICAgICAgICAgIHJl dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIH0sCisg ICAgfSwKKyAgICB7CisgICAgICBpZDogJ3Bhc3N3b3JkJywKKyAgICAgIG5hbWU6ICdwYXNzd29y ZCcsCisgICAgICBsYWJlbDogZ2V0dGV4dCgnUGFzc3dvcmQnKSwKKyAgICAgIHR5cGU6ICdwYXNz d29yZCcsCisgICAgICBlZGl0YWJsZTogdHJ1ZSwKKyAgICAgIGRpc2FibGVkOiBmYWxzZSwKKyAg ICAgIGRlcHM6IFsndXNlciddLAorICAgICAgY29udHJvbDogQmFja2Zvcm0uSW5wdXRDb250cm9s LmV4dGVuZCh7CisgICAgICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7CisgICAgICAgICAgbGV0IHNl bGYgPSB0aGlzOworICAgICAgICAgIHNlbGYubW9kZWwuYXR0cmlidXRlcy5wYXNzd29yZCA9IG51 bGw7CisgICAgICAgICAgQmFja2Zvcm0uSW5wdXRDb250cm9sLnByb3RvdHlwZS5yZW5kZXIuYXBw bHkoc2VsZiwgYXJndW1lbnRzKTsKKyAgICAgICAgICByZXR1cm4gc2VsZjsKKyAgICAgICAgfSwK KyAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIGxldCBzZWxmID0gdGhp czsKKyAgICAgICAgICBCYWNrZm9ybS5JbnB1dENvbnRyb2wucHJvdG90eXBlLm9uQ2hhbmdlLmFw cGx5KHNlbGYsIGFyZ3VtZW50cyk7CisgICAgICAgIH0sCisgICAgICB9KSwKKyAgICB9LAorICAg IF0sCisgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkgeworICAgICAgbGV0IG1zZyA9IG51bGw7Cisg ICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKTsKKyAgICAgIGlmKF8uaXNVbmRlZmluZWQodGhp cy5nZXQoJ2RhdGFiYXNlJykpIHx8IF8uaXNOdWxsKHRoaXMuZ2V0KCdkYXRhYmFzZScpKSl7Cisg ICAgICAgIG1zZyA9IGdldHRleHQoJ1BsZWFzZSBzZWxlY3QgZGF0YWJhc2UnKTsKKyAgICAgICAg dGhpcy5lcnJvck1vZGVsLnNldCgnZGF0YWJhc2UnLCBtc2cpOworICAgICAgICByZXR1cm4gbXNn OworICAgICAgfSBlbHNlIGlmKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2RhdGFiYXNlJykpIHx8 IF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3VzZXInKSl8fCBfLmlzTnVsbCh0aGlzLmdldCgndXNl cicpKSkgeworICAgICAgICBtc2cgPSBnZXR0ZXh0KCdQbGVhc2Ugc2VsZWN0IHVzZXInKTsKKyAg ICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgndXNlcicsIG1zZyk7CisgICAgICAgIHJldHVybiBt c2c7CisgICAgICB9IGVsc2UgaWYoKHRoaXMuYXR0cmlidXRlcy5wYXNzd29yZCA9PSAnJyB8fCBf LmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdwYXNzd29yZCcpKSB8fCBfLmlzTnVsbCh0aGlzLmdldCgn cGFzc3dvcmQnKSkpKSB7CisgICAgICAgIG1zZyA9IGdldHRleHQoJ1BsZWFzZSBlbnRlciBwYXNz d29yZCcpOworICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdwYXNzd29yZCcsIG1zZyk7Cisg ICAgICAgIHJldHVybiBtc2c7CisgICAgICB9CisgICAgICByZXR1cm4gbnVsbDsKKyAgICB9LAor ICB9KTsKKworICBsZXQgbW9kZWwgPSBuZXcgbmV3Q29ubmVjdGlvbk1vZGVsKCk7CisgIHJldHVy biBtb2RlbDsKK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19hbGVydC5z Y3NzIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2FsZXJ0LnNjc3MKaW5kZXggZGFjNTUyYi4u ODM2ZjBhZiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2FsZXJ0LnNjc3MK KysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2FsZXJ0LnNjc3MKQEAgLTkyLDYgKzkyLDcg QEAKICAgcmlnaHQ6IDA7CiAgIGxlZnQ6IDA7CiAgIGJvdHRvbTogMDsKKyAgei1pbmRleDogMTsK IH0KIAogLnBnLXByb3Atc3RhdHVzLWJhciB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29s cy9kYXRhZ3JpZC9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL19faW5p dF9fLnB5CmluZGV4IGY1ZmM3OGMuLjVmMzJlNzQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rv b2xzL2RhdGFncmlkL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlk L19faW5pdF9fLnB5CkBAIC0xOCwyMSArMTgsMjIgQEAgZnJvbSBmbGFzayBpbXBvcnQgUmVzcG9u c2UsIHVybF9mb3IsIHNlc3Npb24sIHJlcXVlc3QsIG1ha2VfcmVzcG9uc2UKIGZyb20gd2Vya3pl dWcudXNlcmFnZW50cyBpbXBvcnQgVXNlckFnZW50CiBmcm9tIGZsYXNrIGltcG9ydCBjdXJyZW50 X2FwcCBhcyBhcHAsIHJlbmRlcl90ZW1wbGF0ZQogZnJvbSBmbGFza19iYWJlbGV4IGltcG9ydCBn ZXR0ZXh0Ci1mcm9tIGZsYXNrX3NlY3VyaXR5IGltcG9ydCBsb2dpbl9yZXF1aXJlZAorZnJvbSBm bGFza19zZWN1cml0eSBpbXBvcnQgbG9naW5fcmVxdWlyZWQsIGN1cnJlbnRfdXNlcgogZnJvbSBw Z2FkbWluLnRvb2xzLnNxbGVkaXRvci5jb21tYW5kIGltcG9ydCBPYmplY3RSZWdpc3RyeSwgU1FM RmlsdGVyCitmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yIGltcG9ydCBjaGVja190cmFuc2Fj dGlvbl9zdGF0dXMKIGZyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgUGdBZG1pbk1vZHVsZQogZnJv bSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgYmFkX3JlcXVl c3QsIFwKLSAgICBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IKKyAgICBpbnRlcm5hbF9zZXJ2ZXJfZXJy b3IsIHVuYXV0aG9yaXplZAogCiBmcm9tIGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIK LWZyb20gcGdhZG1pbi5tb2RlbCBpbXBvcnQgU2VydmVyCitmcm9tIHBnYWRtaW4ubW9kZWwgaW1w b3J0IFNlcnZlciwgVXNlcgogZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2Ry aXZlcgogZnJvbSBwZ2FkbWluLnV0aWxzLmV4Y2VwdGlvbiBpbXBvcnQgQ29ubmVjdGlvbkxvc3Qs IFNTSFR1bm5lbENvbm5lY3Rpb25Mb3N0CiBmcm9tIHBnYWRtaW4udXRpbHMucHJlZmVyZW5jZXMg aW1wb3J0IFByZWZlcmVuY2VzCiBmcm9tIHBnYWRtaW4uc2V0dGluZ3MgaW1wb3J0IGdldF9zZXR0 aW5nCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgdW5kZXJzY29yZV91bmVzY2Fw ZQogZnJvbSBwZ2FkbWluLnV0aWxzLmV4Y2VwdGlvbiBpbXBvcnQgT2JqZWN0R29uZQotZnJvbSBw Z2FkbWluLnV0aWxzLmNvbnN0YW50cyBpbXBvcnQgTUlNRVRZUEVfQVBQX0pTCitmcm9tIHBnYWRt aW4udXRpbHMuY29uc3RhbnRzIGltcG9ydCBNSU1FVFlQRV9BUFBfSlMsIFVOQVVUSF9SRVEKIAog TU9EVUxFX05BTUUgPSAnZGF0YWdyaWQnCiAKQEAgLTczLDcgKzc0LDggQEAgY2xhc3MgRGF0YUdy aWRNb2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAgICAgICAgICAgICAnZGF0YWdyaWQuZmlsdGVyX3Zh bGlkYXRlJywKICAgICAgICAgICAgICdkYXRhZ3JpZC5maWx0ZXInLAogICAgICAgICAgICAgJ2Rh dGFncmlkLnBhbmVsJywKLSAgICAgICAgICAgICdkYXRhZ3JpZC5jbG9zZScKKyAgICAgICAgICAg ICdkYXRhZ3JpZC5jbG9zZScsCisgICAgICAgICAgICAnZGF0YWdyaWQudXBkYXRlX3F1ZXJ5X3Rv b2xfY29ubmVjdGlvbicKICAgICAgICAgXQogCiAgICAgZGVmIG9uX2xvZ291dChzZWxmLCB1c2Vy KToKQEAgLTMyMCwxMCArMzIyLDIzIEBAIGRlZiBpbml0aWFsaXplX3F1ZXJ5X3Rvb2wodHJhbnNf aWQsIHNnaWQsIHNpZCwgZGlkPU5vbmUpOgogICAgICAgICAgICAgcmVxX2FyZ3NbJ3JlY3JlYXRl J10gPT0gJzEnKToKICAgICAgICAgY29ubmVjdCA9IEZhbHNlCiAKKyAgICBpc19lcnJvciwgZXJy bXNnLCBjb25uX2lkLCB2ZXJzaW9uID0gX2luaXRfcXVlcnlfdG9vbCh0cmFuc19pZCwgY29ubmVj dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZ2lkLCBzaWQsIGRpZCkKKyAgICBpZiBpc19lcnJvcjoKKyAgICAgICAgcmV0dXJuIGVy cm1zZworCisgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgZGF0YT17Cisg ICAgICAgICAgICAnY29ubklkJzogc3RyKGNvbm5faWQpLAorICAgICAgICAgICAgJ3NlcnZlclZl cnNpb24nOiB2ZXJzaW9uLAorICAgICAgICB9CisgICAgKQorCisKK2RlZiBfaW5pdF9xdWVyeV90 b29sKHRyYW5zX2lkLCBjb25uZWN0LCBzZ2lkLCBzaWQsIGRpZCwgKiprd2FyZ3MpOgogICAgICMg Q3JlYXRlIGFzeW5jaHJvbm91cyBjb25uZWN0aW9uIHVzaW5nIHJhbmRvbSBjb25uZWN0aW9uIGlk LgogICAgIGNvbm5faWQgPSBzdHIocmFuZG9tLnJhbmRpbnQoMSwgOTk5OTk5OSkpCiAKLSAgICAj IFVzZSBNYWludGVuYW5jZSBkYXRhYmFzZSBPSUQKICAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQ R19ERUZBVUxUX0RSSVZFUikuY29ubmVjdGlvbl9tYW5hZ2VyKHNpZCkKIAogICAgIGlmIGRpZCBp cyBOb25lOgpAQCAtMzM0LDcgKzM0OSw3IEBAIGRlZiBpbml0aWFsaXplX3F1ZXJ5X3Rvb2wodHJh bnNfaWQsIHNnaWQsIHNpZCwgZGlkPU5vbmUpOgogICAgICAgICApCiAgICAgZXhjZXB0IEV4Y2Vw dGlvbiBhcyBlOgogICAgICAgICBhcHAubG9nZ2VyLmVycm9yKGUpCi0gICAgICAgIHJldHVybiBp bnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQorICAgICAgICByZXR1cm4gVHJ1 ZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSksICcnLCAnJwogCiAgICAg dHJ5OgogICAgICAgICBjb25uID0gbWFuYWdlci5jb25uZWN0aW9uKGRpZD1kaWQsIGNvbm5faWQ9 Y29ubl9pZCwKQEAgLTM0MiwxNiArMzU3LDI2IEBAIGRlZiBpbml0aWFsaXplX3F1ZXJ5X3Rvb2wo dHJhbnNfaWQsIHNnaWQsIHNpZCwgZGlkPU5vbmUpOgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVzZV9iaW5hcnlfcGxhY2Vob2xkZXI9VHJ1ZSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhcnJheV90b19zdHJpbmc9VHJ1ZSkKICAgICAgICAgaWYgY29ubmVj dDoKLSAgICAgICAgICAgIHN0YXR1cywgbXNnID0gY29ubi5jb25uZWN0KCkKKyAgICAgICAgICAg IHVzZXIgPSBOb25lCisgICAgICAgICAgICBwYXNzd29yZCA9IE5vbmUKKworICAgICAgICAgICAg aWYgJ3VzZXInIGluIGt3YXJncyBhbmQgJ3Bhc3N3b3JkJyBpbiBrd2FyZ3M6CisgICAgICAgICAg ICAgICAgdXNlciA9IGt3YXJnc1sndXNlciddCisgICAgICAgICAgICAgICAgcGFzc3dvcmQgPSBr d2FyZ3NbJ3Bhc3N3b3JkJ10KKworICAgICAgICAgICAgaWYgdXNlcjoKKyAgICAgICAgICAgICAg ICBzdGF0dXMsIG1zZyA9IGNvbm4uY29ubmVjdCh1c2VyPXVzZXIsIHBhc3N3b3JkPXBhc3N3b3Jk KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzdGF0dXMsIG1zZyA9IGNvbm4u Y29ubmVjdCgpCiAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgICAgIGFw cC5sb2dnZXIuZXJyb3IobXNnKQotICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2 ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKG1zZykpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUs IGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIobXNnKSksICcnLCAnJwogICAgIGV4 Y2VwdCAoQ29ubmVjdGlvbkxvc3QsIFNTSFR1bm5lbENvbm5lY3Rpb25Mb3N0KSBhcyBlOgogICAg ICAgICBhcHAubG9nZ2VyLmVycm9yKGUpCiAgICAgICAgIHJhaXNlCiAgICAgZXhjZXB0IEV4Y2Vw dGlvbiBhcyBlOgogICAgICAgICBhcHAubG9nZ2VyLmVycm9yKGUpCi0gICAgICAgIHJldHVybiBp bnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQorICAgICAgICByZXR1cm4gVHJ1 ZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSksICcnLCAnJwogCiAgICAg aWYgJ2dyaWREYXRhJyBub3QgaW4gc2Vzc2lvbjoKICAgICAgICAgc3FsX2dyaWRfZGF0YSA9IGRp Y3QoKQpAQCAtMzczLDEwICszOTgsNzkgQEAgZGVmIGluaXRpYWxpemVfcXVlcnlfdG9vbCh0cmFu c19pZCwgc2dpZCwgc2lkLCBkaWQ9Tm9uZSk6CiAgICAgIyBTdG9yZSB0aGUgZ3JpZCBkaWN0aW9u YXJ5IGludG8gdGhlIHNlc3Npb24gdmFyaWFibGUKICAgICBzZXNzaW9uWydncmlkRGF0YSddID0g c3FsX2dyaWRfZGF0YQogCisgICAgcmV0dXJuIEZhbHNlLCAnJywgY29ubl9pZCwgbWFuYWdlci52 ZXJzaW9uCisKKworQGJsdWVwcmludC5yb3V0ZSgKKyAgICAnL2luaXRpYWxpemUvcXVlcnlfdG9v bC91cGRhdGVfY29ubmVjdGlvbi88aW50OnRyYW5zX2lkPi8nCisgICAgJzxpbnQ6c2dpZD4vPGlu dDpzaWQ+LzxpbnQ6ZGlkPicsCisgICAgbWV0aG9kcz1bIlBPU1QiXSwgZW5kcG9pbnQ9J3VwZGF0 ZV9xdWVyeV90b29sX2Nvbm5lY3Rpb24nCispCitkZWYgdXBkYXRlX3F1ZXJ5X3Rvb2xfY29ubmVj dGlvbih0cmFuc19pZCwgc2dpZCwgc2lkLCBkaWQpOgorICAgICMgUmVtb3ZlIHRyYW5zYWN0aW9u IElkLgorICAgIHdpdGggcXVlcnlfdG9vbF9jbG9zZV9zZXNzaW9uX2xvY2s6CisgICAgICAgIGRh dGEgPSBkaWN0KCkKKyAgICAgICAgaWYgcmVxdWVzdC5kYXRhOgorICAgICAgICAgICAgZGF0YSA9 IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnKQorCisgICAgICAgIGlm ICdncmlkRGF0YScgbm90IGluIHNlc3Npb246CisgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29u X3Jlc3BvbnNlKGRhdGE9eydzdGF0dXMnOiBUcnVlfSkKKworICAgICAgICBncmlkX2RhdGEgPSBz ZXNzaW9uWydncmlkRGF0YSddCisKKyAgICAgICAgIyBSZXR1cm4gZnJvbSB0aGUgZnVuY3Rpb24g aWYgdHJhbnNhY3Rpb24gaWQgbm90IGZvdW5kCisgICAgICAgIGlmIHN0cih0cmFuc19pZCkgbm90 IGluIGdyaWRfZGF0YToKKyAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoZGF0 YT17J3N0YXR1cyc6IFRydWV9KQorCisgICAgICAgIGNvbm5lY3QgPSBUcnVlCisKKyAgICAgICAg cmVxX2FyZ3MgPSByZXF1ZXN0LmFyZ3MKKyAgICAgICAgaWYgKCdyZWNyZWF0ZScgaW4gcmVxX2Fy Z3MgYW5kCisgICAgICAgICAgICAgICAgcmVxX2FyZ3NbJ3JlY3JlYXRlJ10gPT0gJzEnKToKKyAg ICAgICAgICAgIGNvbm5lY3QgPSBGYWxzZQorCisgICAgICAgIG5ld190cmFuc19pZCA9IHN0cihy YW5kb20ucmFuZGludCgxLCA5OTk5OTk5KSkKKyAgICAgICAga3dhcmdzID0geworICAgICAgICAg ICAgJ3VzZXInOiBkYXRhWyd1c2VyJ10sCisgICAgICAgICAgICAncGFzc3dvcmQnOiBkYXRhWydw YXNzd29yZCddCisgICAgICAgIH0KKworICAgICAgICBpc19lcnJvciwgZXJybXNnLCBjb25uX2lk LCB2ZXJzaW9uID0gX2luaXRfcXVlcnlfdG9vbCgKKyAgICAgICAgICAgIG5ld190cmFuc19pZCwg Y29ubmVjdCwgc2dpZCwgc2lkLCBkaWQsICoqa3dhcmdzKQorCisgICAgICAgIGlmIGlzX2Vycm9y OgorICAgICAgICAgICAgcmV0dXJuIGVycm1zZworICAgICAgICBlbHNlOgorICAgICAgICAgICAg dHJ5OgorICAgICAgICAgICAgICAgICMgQ2hlY2sgdGhlIHRyYW5zYWN0aW9uIGFuZCBjb25uZWN0 aW9uIHN0YXR1cworICAgICAgICAgICAgICAgIHN0YXR1cywgZXJyb3JfbXNnLCBjb25uLCB0cmFu c19vYmosIHNlc3Npb25fb2JqID0gXAorICAgICAgICAgICAgICAgICAgICBjaGVja190cmFuc2Fj dGlvbl9zdGF0dXModHJhbnNfaWQpCisKKyAgICAgICAgICAgICAgICBzdGF0dXMsIGVycm9yX21z ZywgbmV3X2Nvbm4sIG5ld190cmFuc19vYmosIG5ld19zZXNzaW9uX29iaiA9IFwKKyAgICAgICAg ICAgICAgICAgICAgY2hlY2tfdHJhbnNhY3Rpb25fc3RhdHVzKG5ld190cmFuc19pZCkKKworICAg ICAgICAgICAgICAgIG5ld19zZXNzaW9uX29ialsncHJpbWFyeV9rZXlzJ10gPSBzZXNzaW9uX29i alsKKyAgICAgICAgICAgICAgICAgICAgJ3ByaW1hcnlfa2V5cyddIGlmICdwcmltYXJ5X2tleXMn IGluIHNlc3Npb25fb2JqIGVsc2UgTm9uZQorICAgICAgICAgICAgICAgIG5ld19zZXNzaW9uX29i alsnY29sdW1uc19pbmZvJ10gPSBzZXNzaW9uX29ialsKKyAgICAgICAgICAgICAgICAgICAgJ2Nv bHVtbnNfaW5mbyddIGlmICdjb2x1bW5zX2luZm8nIGluIHNlc3Npb25fb2JqIGVsc2UgTm9uZQor ICAgICAgICAgICAgICAgIG5ld19zZXNzaW9uX29ialsnY2xpZW50X3ByaW1hcnlfa2V5J10gPSBz ZXNzaW9uX29ialsKKyAgICAgICAgICAgICAgICAgICAgJ2NsaWVudF9wcmltYXJ5X2tleSddIGlm ICdjbGllbnRfcHJpbWFyeV9rZXknXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW4gc2Vzc2lvbl9vYmogZWxzZSBOb25lCisKKyAgICAgICAgICAgICAgICBj bG9zZV9xdWVyeV90b29sX3Nlc3Npb24odHJhbnNfaWQpCisgICAgICAgICAgICAgICAgIyBSZW1v dmUgdGhlIGluZm9ybWF0aW9uIG9mIHVuaXF1ZSB0cmFuc2FjdGlvbiBpZCBmcm9tIHRoZQorICAg ICAgICAgICAgICAgICMgc2Vzc2lvbiB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICBncmlkX2Rh dGEucG9wKHN0cih0cmFuc19pZCksIE5vbmUpCisgICAgICAgICAgICAgICAgc2Vzc2lvblsnZ3Jp ZERhdGEnXSA9IGdyaWRfZGF0YQorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgor ICAgICAgICAgICAgICAgIGFwcC5sb2dnZXIuZXJyb3IoZSkKKyAgICAgICAgICAgICAgICAjIHJl dHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQorCiAgICAgcmV0dXJu IG1ha2VfanNvbl9yZXNwb25zZSgKICAgICAgICAgZGF0YT17CiAgICAgICAgICAgICAnY29ubklk Jzogc3RyKGNvbm5faWQpLAotICAgICAgICAgICAgJ3NlcnZlclZlcnNpb24nOiBtYW5hZ2VyLnZl cnNpb24sCisgICAgICAgICAgICAnc2VydmVyVmVyc2lvbic6IHZlcnNpb24sCisgICAgICAgICAg ICAndHJhbl9pZCc6IG5ld190cmFuc19pZAogICAgICAgICB9CiAgICAgKQogCmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZW1wbGF0ZXMvZGF0YWdyaWQvaW5kZXguaHRt bCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3RlbXBsYXRlcy9kYXRhZ3JpZC9pbmRleC5o dG1sCmluZGV4IGU4MWE0MmEuLmZiMjUyNmYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xz L2RhdGFncmlkL3RlbXBsYXRlcy9kYXRhZ3JpZC9pbmRleC5odG1sCisrKyBiL3dlYi9wZ2FkbWlu L3Rvb2xzL2RhdGFncmlkL3RlbXBsYXRlcy9kYXRhZ3JpZC9pbmRleC5odG1sCkBAIC0zOTEsOCAr MzkxLDE3IEBACiAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSIiIHJvbGU9ImltZyI+CiAgICAg ICAgICAgICAgICAgPC9pPgogICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGNs YXNzPSJlZGl0b3ItdGl0bGUiCi0gICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOiB7JSBpZiBmZ2NvbG9yICV9e3sgYmdjb2xvciBvciAnI0ZGRkZGRicgfX17JSBlbmRpZiAl fTsgY29sb3I6IHslIGlmIGZnY29sb3IgJX17eyBmZ2NvbG9yIH19eyUgZW5kaWYgJX07Ij4mbmJz cDs8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbm5lY3Rpb24taW5mbyBidG4tZ3Jv dXAgbXItMSIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9IiI+CisgICAgICAgICAgICAgICAgPGRp diBjbGFzcz0iZWRpdG9yLXRpdGxlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9w dXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIgorICAgICAgICAgICAgICAgICAgICAgc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6IHslIGlmIGZnY29sb3IgJX17eyBiZ2NvbG9yIG9yICcjRkZG RkZGJyB9fXslIGVuZGlmICV9OyBjb2xvcjogeyUgaWYgZmdjb2xvciAlfXt7IGZnY29sb3IgfX17 JSBlbmRpZiAlfTsiPiZuYnNwOworICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAg ICAgIDxzcGFuIGNsYXNzPSJjb25uLWluZm8tZGQgZHJvcGRvd24tdG9nZ2xlIGRyb3Bkb3duLXRv Z2dsZS1zcGxpdCIKKyAgICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEt aGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj48L3NwYW4+CisgICAgICAgICAg ICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiBpZD0iY29ubmVjdGlvbnMtbGlzdCI+Cisg ICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgIDwvZGl2PgorCisKICAgICAgICAgPC9k aXY+CiAgICAgICAgIDxkaXYgaWQ9ImVkaXRvci1wYW5lbCIgdGFiaW5kZXg9IjAiPgogICAgICAg ICAgICAgPGRpdiBpZD0iZmV0Y2hpbmdfZGF0YSIgY2xhc3M9InBnLXNwLWNvbnRhaW5lciBzcWwt ZWRpdG9yLWJ1c3ktZmV0Y2hpbmciPgpAQCAtNDU1LDYgKzQ2NCw3IEBAIHJlcXVpcmUoWydzb3Vy Y2VzL2dlbmVyYXRlZC9icm93c2VyX25vZGVzJywgJ3NvdXJjZXMvZ2VuZXJhdGVkL2NvZGVtaXJy b3InLCAnc291CiAgICAgICAgICAgICB2YXIgc2NyaXB0X3R5cGVfdXJsID0gJyc7CiAgICAgICAg IHslIGVuZGlmICV9CiAgICAgICAgIC8vIFN0YXJ0IHRoZSBxdWVyeSB0b29sLgorCiAgICAgICAg IHNxbEVkaXRvckNvbnRyb2xsZXIuc3RhcnQoCiAgICAgICAgICAgICB7eyB1bmlxdWVJZCB9fSwK ICAgICAgICAgICAgIHt7IHVybF9wYXJhbXN8c2FmZX19LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9k YXRhZ3JpZC90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5lNjlkZTI5CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0 cy9kYXRhZ3JpZF90ZXN0X2RhdGEuanNvbiBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rl c3RzL2RhdGFncmlkX3Rlc3RfZGF0YS5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmE1MDk5MmYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kYXRh Z3JpZC90ZXN0cy9kYXRhZ3JpZF90ZXN0X2RhdGEuanNvbgpAQCAtMCwwICsxLDEzNCBAQAorewor ICAiZGF0YV9ncmlkX2luaXRfcXVlcnlfdG9vbCI6IFsKKyAgICB7CisgICAgICAibmFtZSI6ICJE YXRhZ3JpZCBpbml0IHF1ZXJ5IHRvb2wiLAorICAgICAgInVybCI6ICIvZGF0YWdyaWQvaW5pdGlh bGl6ZS9xdWVyeV90b29sLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAg ICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgInRlc3RfZGF0YSI6IHt9LAorICAg ICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJz dGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0KKyAgXSwKKyAgImRhdGFfZ3JpZF9xdWVy eV90b29sX2Nsb3NlIjogWworICAgIHsKKyAgICAgICJuYW1lIjogIkRhdGFncmlkIHF1ZXJ5IHRv b2wgY2xvc2UiLAorICAgICAgInVybCI6ICIvZGF0YWdyaWQvY2xvc2UvIiwKKyAgICAgICJpc19w b3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisg ICAgICAidGVzdF9kYXRhIjoge30sCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhw ZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAg fQorICBdLAorICAiZGF0YV9ncmlkX3ZhbGlkYXRlX2ZpbHRlciI6IFsKKyAgICB7CisgICAgICAi bmFtZSI6ICJEYXRhZ3JpZCB2YWxpZGF0ZSBmaWx0ZXIiLAorICAgICAgInVybCI6ICIvZGF0YWdy aWQvZmlsdGVyL3ZhbGlkYXRlLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisg ICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgInRlc3RfZGF0YSI6ICJpZCA9 IDEiLAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7Cisg ICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAg Im5hbWUiOiAiRGF0YWdyaWQgdmFsaWRhdGUgZmlsdGVyIiwKKyAgICAgICJ1cmwiOiAiL2RhdGFn cmlkL2ZpbHRlci92YWxpZGF0ZS8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiBmYWxzZSwK KyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1ZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiAiaWQg PSAxIiwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAgICAgICJmdW5jdGlvbl9uYW1lIjogInBn YWRtaW4udXRpbHMuZHJpdmVyLnBzeWNvcGcyLmNvbm5lY3Rpb24uQ29ubmVjdGlvbi5leGVjdXRl X3NjYWxhciIsCisgICAgICAgICJyZXR1cm5fdmFsdWUiOiAiKEZhbHNlLCAnTW9ja2VkIEludGVy bmFsIFNlcnZlciBFcnJvciB3aGlsZSB2YWxpZGF0ZSBmaWx0ZXInKSIKKyAgICAgIH0sCisgICAg ICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9 CisgICAgfQorICBdLAorICAiZGF0YV9ncmlkX3VwZGF0ZV9jb25uZWN0aW9uIjogWworICAgIHsK KyAgICAgICJuYW1lIjogIkRhdGFncmlkIHVwZGF0ZSBjb25uZWN0aW9uIHBvc2l0aXZlIiwKKyAg ICAgICJ1cmwiOiAiL2RhdGFncmlkL2luaXRpYWxpemUvcXVlcnlfdG9vbC91cGRhdGVfY29ubmVj dGlvbi8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdf cmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJpc19jcmVhdGVfcm9sZSI6IGZhbHNlLAorICAgICAg InRlc3RfZGF0YSI6IHt9LAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAgImV4cGVjdGVk X2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAgIH0sCisg ICAgeworICAgICAgIm5hbWUiOiAiRGF0YWdyaWQgdXBkYXRlIGNvbm5lY3Rpb24gd2l0aCBuZXcg dXNlciIsCisgICAgICAidXJsIjogIi9kYXRhZ3JpZC9pbml0aWFsaXplL3F1ZXJ5X3Rvb2wvdXBk YXRlX2Nvbm5lY3Rpb24vIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAg ICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAiaXNfY3JlYXRlX3JvbGUiOiB0cnVl LAorICAgICAgInRlc3RfZGF0YSI6IHt9LAorICAgICAgIm1vY2tfZGF0YSI6IHt9LAorICAgICAg ImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQor ICAgIH0KKyAgXSwKKyAgImRhdGFfZ3JpZF9wYW5lbCI6IFsKKyAgICB7CisgICAgICAibmFtZSI6 ICJEYXRhZ3JpZCBQYW5lbCIsCisgICAgICAidXJsIjogIi9kYXRhZ3JpZC9wYW5lbC8iLAorICAg ICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBm YWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisgICAg ICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDUw MAorICAgICAgfQorICAgIH0KKyAgXSwKKyAgImRhdGFfZ3JpZF9pbml0aWFsaXplIjogWworICAg IHsKKyAgICAgICJuYW1lIjogIkRhdGFncmlkIEluaXRpYWxpemUiLAorICAgICAgInVybCI6ICIv ZGF0YWdyaWQvaW5pdGlhbGl6ZS9kYXRhZ3JpZC8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3Qi OiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJ0ZXN0X2Rh dGEiOiAiaWQ9MSIsCisgICAgICAibW9ja19kYXRhIjogeworCisgICAgICB9LAorICAgICAgImV4 cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgfQorICAg IH0seworICAgICAgIm5hbWUiOiAiRGF0YWdyaWQgSW5pdGlhbGl6ZSIsCisgICAgICAidXJsIjog Ii9kYXRhZ3JpZC9pbml0aWFsaXplL2RhdGFncmlkLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVz dCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgInRlc3Rf ZGF0YSI6IG51bGwsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0 YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7 CisgICAgICAibmFtZSI6ICJEYXRhZ3JpZCBJbml0aWFsaXplIiwKKyAgICAgICJ1cmwiOiAiL2Rh dGFncmlkL2luaXRpYWxpemUvZGF0YWdyaWQvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0Ijog ZmFsc2UsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IHRydWUsCisgICAgICAidGVzdF9kYXRh IjogImlkPTEiLAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0aW9uX25hbWUi OiAicGdhZG1pbi51dGlscy5kcml2ZXIucHN5Y29wZzIuY29ubmVjdGlvbi5Db25uZWN0aW9uLmV4 ZWN1dGVfZGljdCIsCisgICAgICAgICJyZXR1cm5fdmFsdWUiOiAiKEZhbHNlLCAnTW9ja2VkIElu dGVybmFsIFNlcnZlciBFcnJvciB3aGlsZSBpbml0aWFsaXplIGRhdGFncmlkLicpIgorICAgICAg fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiA1MDAK KyAgICAgIH0KKyAgICB9CisgIF0KK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2Rh dGFncmlkL3Rlc3RzL3Rlc3RfZGF0YV9ncmlkX2luaXRfcXVlcnlfdG9vbC5weSBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rlc3RfZGF0YV9ncmlkX2luaXRfcXVlcnlfdG9vbC5w eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWNmNWRlCi0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRf aW5pdF9xdWVyeV90b29sLnB5CkBAIC0wLDAgKzEsNzIgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj CisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEz IC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlz IHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCisKKworaW1wb3J0IGpzb24KK2ltcG9ydCB1dWlkCitpbXBvcnQgcmFuZG9tCisKK2Zyb20g dW5pdHRlc3QubW9jayBpbXBvcnQgcGF0Y2gKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9n cm91cHMuc2VydmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIFwKKyAgICBkYXRh YmFzZV91dGlscworCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2Vu ZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcmVn cmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJv bSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIC4gaW1wb3J0 IHV0aWxzIGFzIGRhdGFfZ3JpZF91dGlscworCisKK2NsYXNzIERhdGFncmlkSW5pdFF1ZXJ5VG9v bFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIKKyAgICBUaGlzIHdpbGwgaW5p dCBxdWVyeS10b29sIGNvbm5lY3Rpb24uCisgICAgIiIiCisKKyAgICBzY2VuYXJpb3MgPSB1dGls cy5nZW5lcmF0ZV9zY2VuYXJpb3MoCisgICAgICAgICdkYXRhX2dyaWRfaW5pdF9xdWVyeV90b29s JywKKyAgICAgICAgZGF0YV9ncmlkX3V0aWxzLnRlc3RfY2FzZXMKKyAgICApCisKKyAgICBkZWYg c2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGF0YWJhc2VfaW5mbyA9IHBhcmVudF9ub2RlX2Rp Y3RbImRhdGFiYXNlIl1bLTFdCisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHNlbGYuZGF0YWJhc2Vf aW5mb1siZGJfbmFtZSJdCisgICAgICAgIHNlbGYuZGlkID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJk Yl9pZCJdCisgICAgICAgIHNlbGYuc2lkID0gcGFyZW50X25vZGVfZGljdFsic2VydmVyIl1bLTFd WyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLnNnaWQgPSBjb25maWdfZGF0YVsnc2VydmVyX2dy b3VwJ10KKworICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNl KHNlbGYsIHV0aWxzLlNFUlZFUl9HUk9VUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZCwgc2VsZi5kaWQpCisKKyAgICAgICAgc2VsZi50 cmFuc19pZCA9IHN0cihyYW5kb20ucmFuZGludCgxLCA5OTk5OTk5KSkKKworICAgICAgICBpZiBu b3QgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0 aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQgYSB0YWJsZS4iKQorCisg ICAgZGVmIGluaXRfcXVlcnlfdG9vbChzZWxmKToKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRl c3Rlci5wb3N0KAorICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIoc2VsZi50cmFuc19pZCkgKyAn LycgKyBzdHIoc2VsZi5zZ2lkKSArICcvJyArIHN0cigKKyAgICAgICAgICAgICAgICBzZWxmLnNp ZCkgKyAnLycgKyBzdHIoc2VsZi5kaWQpLAorICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1s L2pzb24nCisgICAgICAgICkKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlCisKKyAgICBkZWYgcnVu VGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBpbml0IHF1ZXJ5IHRv b2wgY29ubmVjdGlvbi4iIiIKKworICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6Cisg ICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuaW5pdF9xdWVyeV90b29sKCkKKyAgICAgICAgICAg IGFjdHVhbF9yZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgICAg IGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2Rl J10KKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwg ZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAg ICAgIiIiVGhpcyBmdW5jdGlvbiBkaXNjb25uZWN0IGRhdGFiYXNlLiIiIgorICAgICAgICBkYXRh YmFzZV91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2lkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRfcGFuZWwucHkg Yi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2RhdGFfZ3JpZF9wYW5lbC5w eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWI2YTZiCi0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRf cGFuZWwucHkKQEAgLTAsMCArMSw5MiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQg dW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCitp bXBvcnQganNvbgoraW1wb3J0IHV1aWQKK2ltcG9ydCByYW5kb20KKworZnJvbSB1bml0dGVzdC5t b2NrIGltcG9ydCBwYXRjaAorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2 ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgXAorICAgIGRhdGFiYXNlX3V0aWxz CisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zy b20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnB5 dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIHJlZ3Jlc3Np b24udGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNl cnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy50ZXN0cyBpbXBvcnQgXAorICAg IHV0aWxzIGFzIHNjaGVtYV91dGlscworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vw cy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRhYmxlcy50ZXN0cyBcCisgICAgaW1wb3J0IHV0 aWxzIGFzIHRhYmxlc191dGlscworZnJvbSAuIGltcG9ydCB1dGlscyBhcyBkYXRhX2dyaWRfdXRp bHMKKworCitjbGFzcyBEYXRhZ3JpZFBhbmVsVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgor ICAgICIiIgorICAgIFRoaXMgd2lsbCBkYXRhIGdyaWQgcGFuZWwuCisgICAgIiIiCisKKyAgICBz Y2VuYXJpb3MgPSB1dGlscy5nZW5lcmF0ZV9zY2VuYXJpb3MoCisgICAgICAgICdkYXRhX2dyaWRf cGFuZWwnLAorICAgICAgICBkYXRhX2dyaWRfdXRpbHMudGVzdF9jYXNlcworICAgICkKKworICAg IGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5kYXRhYmFzZV9pbmZvID0gcGFyZW50X25v ZGVfZGljdFsiZGF0YWJhc2UiXVstMV0KKyAgICAgICAgc2VsZi5kYl9uYW1lID0gc2VsZi5kYXRh YmFzZV9pbmZvWyJkYl9uYW1lIl0KKyAgICAgICAgc2VsZi5kaWQgPSBzZWxmLmRhdGFiYXNlX2lu Zm9bImRiX2lkIl0KKyAgICAgICAgc2VsZi5zaWQgPSBwYXJlbnRfbm9kZV9kaWN0WyJzZXJ2ZXIi XVstMV1bInNlcnZlcl9pZCJdCisgICAgICAgIHNlbGYuc2dpZCA9IGNvbmZpZ19kYXRhWydzZXJ2 ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0 YWJhc2Uoc2VsZiwgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkLCBzZWxmLmRpZCkKKyAgICAgICAgaWYg bm90IGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiQ291bGQgbm90IGNvbm5lY3QgdG8gZGF0YWJhc2UgdG8gYWRkIGEgdGFibGUuIikKKwor ICAgICAgICBzZWxmLnRyYW5zX2lkID0gc3RyKHJhbmRvbS5yYW5kaW50KDEsIDk5OTk5OTkpKQor ICAgICAgICBxdF9pbml0ID0gZGF0YV9ncmlkX3V0aWxzLl9pbml0X3F1ZXJ5X3Rvb2woc2VsZiwg c2VsZi50cmFuc19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYuc2dpZCwgc2VsZi5zaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRpZCkKKworICAgICAgICBpZiBub3QgcXRf aW5pdFsnc3VjY2VzcyddOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3Qg aW5pdGlhbGl6ZSBxdWVydHkgdG9vbC4iKQorCisgICAgZGVmIHBhbmVsKHNlbGYpOgorICAgICAg ICBxdWVyeV9wYXJhbSA9IFwKKyAgICAgICAgICAgICc/aXNfcXVlcnlfdG9vbD17MH0mc2dpZD17 MX0mc2lkPXsyfSZzZXJ2ZXJfdHlwZT17M30nIFwKKyAgICAgICAgICAgICcmZGlkPXs0fScuZm9y bWF0KFRydWUsIHNlbGYuc2dpZCwgc2VsZi5zaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLnNlcnZlcl9pbmZvcm1hdGlvblsndHlwZSddLCBzZWxmLmRpZCkKKworICAgICAg ICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICBzZWxmLnVybCArIHN0 cihzZWxmLnRyYW5zX2lkKSArIHF1ZXJ5X3BhcmFtLAorICAgICAgICAgICAgZGF0YT1qc29uLmR1 bXBzKHNlbGYudGVzdF9kYXRhKSwKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29u JworICAgICAgICApCisgICAgICAgIHJldHVybiByZXNwb25zZQorCisgICAgZGVmIHJ1blRlc3Qo c2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRlIHF1ZXJ5IHRvb2wg Y29ubmVjdGlvbi4iIiIKKworICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6CisgICAg ICAgICAgICByZXNwb25zZSA9IHNlbGYucGFuZWwoKQorICAgICAgICAgICAgYWN0dWFsX3Jlc3Bv bnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29kZQorICAgICAgICAgICAgZXhwZWN0ZWRfcmVz cG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorICAgICAgICBl bHNlOgorICAgICAgICAgICAgd2l0aCBwYXRjaChzZWxmLm1vY2tfZGF0YVsiZnVuY3Rpb25fbmFt ZSJdLAorICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9ZXZhbChzZWxmLm1vY2tf ZGF0YVsicmV0dXJuX3ZhbHVlIl0pKToKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYu cGFuZWwoKQorICAgICAgICAgICAgICAgIGFjdHVhbF9yZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uu c3RhdHVzX2NvZGUKKyAgICAgICAgICAgICAgICBleHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2Vs Zi5leHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSddCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSkKKworICAgIGRl ZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBkaXNjb25uZWN0IGRh dGFiYXNlLiIiIgorICAgICAgICBkYXRhYmFzZV91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNl bGYsIHNlbGYuc2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuZGlkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMv dGVzdF9kYXRhX2dyaWRfcXVlcnlfdG9vbF9jbG9zZS5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2Rh dGFncmlkL3Rlc3RzL3Rlc3RfZGF0YV9ncmlkX3F1ZXJ5X3Rvb2xfY2xvc2UucHkKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFhMGE5NwotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rlc3RfZGF0YV9ncmlkX3F1ZXJ5X3Rvb2xf Y2xvc2UucHkKQEAgLTAsMCArMSw5MCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQg dW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCitp bXBvcnQganNvbgoraW1wb3J0IHV1aWQKK2ltcG9ydCByYW5kb20KKworZnJvbSB1bml0dGVzdC5t b2NrIGltcG9ydCBwYXRjaAorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2 ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgXAorICAgIGRhdGFiYXNlX3V0aWxz CisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zy b20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnB5 dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIHJlZ3Jlc3Np b24udGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gLiBpbXBvcnQgdXRpbHMgYXMg ZGF0YV9ncmlkX3V0aWxzCisKKworY2xhc3MgRGF0YWdyaWRRdWVyeVRvb2xDbG9zZVRlc3RDYXNl KEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIKKyAgICBUaGlzIHdpbGwgY2xvc2UgcXVlcnkt dG9vbCBjb25uZWN0aW9uLgorICAgICIiIgorCisgICAgc2NlbmFyaW9zID0gdXRpbHMuZ2VuZXJh dGVfc2NlbmFyaW9zKAorICAgICAgICAnZGF0YV9ncmlkX3F1ZXJ5X3Rvb2xfY2xvc2UnLAorICAg ICAgICBkYXRhX2dyaWRfdXRpbHMudGVzdF9jYXNlcworICAgICkKKworICAgIGRlZiBzZXRVcChz ZWxmKToKKyAgICAgICAgc2VsZi5kYXRhYmFzZV9pbmZvID0gcGFyZW50X25vZGVfZGljdFsiZGF0 YWJhc2UiXVstMV0KKyAgICAgICAgc2VsZi5kYl9uYW1lID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJk Yl9uYW1lIl0KKyAgICAgICAgc2VsZi5kaWQgPSBzZWxmLmRhdGFiYXNlX2luZm9bImRiX2lkIl0K KyAgICAgICAgc2VsZi5zaWQgPSBwYXJlbnRfbm9kZV9kaWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZl cl9pZCJdCisgICAgICAgIHNlbGYuc2dpZCA9IGNvbmZpZ19kYXRhWydzZXJ2ZXJfZ3JvdXAnXQor CisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2Uoc2VsZiwg dXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuc2lkLCBzZWxmLmRpZCkKKworICAgICAgICBpZiBub3QgZGJfY29u WydkYXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3Vs ZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQgYSB0YWJsZS4iKQorCisgICAgICAgIHNl bGYudHJhbnNfaWQgPSBzdHIocmFuZG9tLnJhbmRpbnQoMSwgOTk5OTk5OSkpCisgICAgICAgIHF0 X2luaXQgPSBkYXRhX2dyaWRfdXRpbHMuX2luaXRfcXVlcnlfdG9vbChzZWxmLCBzZWxmLnRyYW5z X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5zZ2lkLCBzZWxmLnNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuZGlkKQorCisgICAgICAgIGlmIG5vdCBxdF9pbml0WydzdWNj ZXNzJ106CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBpbml0aWFsaXpl IHF1ZXJ0eSB0b29sLiIpCisKKyAgICAgICAgc2VsZi50ZXN0X2RhdGEgPSB7CisgICAgICAgICAg ICAiZGF0YWJhc2UiOiBzZWxmLmRpZCwKKyAgICAgICAgICAgICJzZXJ2ZXIiOiBzZWxmLnNpZAor ICAgICAgICB9CisKKyAgICAgICAgaWYgc2VsZi5zZXJ2ZXJfaW5mb3JtYXRpb25bJ3R5cGUnXSA9 PSAncHBhcyc6CisgICAgICAgICAgICBzZWxmLnRlc3RfZGF0YVsncGFzc3dvcmQnXSA9ICdlbnRl cnByaXNlZGInCisgICAgICAgICAgICBzZWxmLnRlc3RfZGF0YVsndXNlciddID0gJ2VudGVycHJp c2VkYicKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYudGVzdF9kYXRhWydwYXNzd29y ZCddID0gJ3Jvb3QnCisgICAgICAgICAgICBzZWxmLnRlc3RfZGF0YVsndXNlciddID0gJ3Bvc3Rn cmVzJworCisgICAgZGVmIGNsb3NlX2Nvbm5lY3Rpb24oc2VsZik6CisgICAgICAgIHJlc3BvbnNl ID0gc2VsZi50ZXN0ZXIuZGVsZXRlKAorICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIoc2VsZi50 cmFuc19pZCksCisKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAg ICApCisgICAgICAgIHJldHVybiByZXNwb25zZQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6Cisg ICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRlIHF1ZXJ5IHRvb2wgY29ubmVjdGlv bi4iIiIKKworICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6CisgICAgICAgICAgICBy ZXNwb25zZSA9IHNlbGYuY2xvc2VfY29ubmVjdGlvbigpCisgICAgICAgICAgICBhY3R1YWxfcmVz cG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgICAgICBleHBlY3RlZF9y ZXNwb25zZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSddCisKKyAgICAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jl c3BvbnNlX2NvZGUpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICIiIlRoaXMg ZnVuY3Rpb24gZGlzY29ubmVjdCBkYXRhYmFzZS4iIiIKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMu ZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNpZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRpZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rlc3RfZGF0YV9ncmlkX3VwZGF0ZV9jb25uZWN0aW9uLnB5 IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRfdXBkYXRl X2Nvbm5lY3Rpb24ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIxYzM4 ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rl c3RfZGF0YV9ncmlkX3VwZGF0ZV9jb25uZWN0aW9uLnB5CkBAIC0wLDAgKzEsMTE5IEBACisjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENv cHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMg VGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisj CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworCisKK2ltcG9ydCBqc29uCitpbXBvcnQgdXVpZAoraW1wb3J0 IHJhbmRvbQorCitmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHBnYWRtaW4u YnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGls cyBhcyBcCisgICAgZGF0YWJhc2VfdXRpbHMKKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGlt cG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9k ZV9kaWN0Citmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRp bHMgYXMgdXRpbHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0 YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLnJvbGVzLnRlc3Rz IGltcG9ydCBcCisgICAgdXRpbHMgYXMgcm9sZXNfdXRpbHMKK2Zyb20gLiBpbXBvcnQgdXRpbHMg YXMgZGF0YV9ncmlkX3V0aWxzCisKKworY2xhc3MgRGF0YWdyaWRVcGRhdGVDb25uZWN0aW9uVGVz dENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIgorICAgIFRoaXMgd2lsbCB1cGRhdGUg cXVlcnktdG9vbCBjb25uZWN0aW9uLgorICAgICIiIgorCisgICAgc2NlbmFyaW9zID0gdXRpbHMu Z2VuZXJhdGVfc2NlbmFyaW9zKAorICAgICAgICAnZGF0YV9ncmlkX3VwZGF0ZV9jb25uZWN0aW9u JywKKyAgICAgICAgZGF0YV9ncmlkX3V0aWxzLnRlc3RfY2FzZXMKKyAgICApCisKKyAgICBkZWYg c2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGF0YWJhc2VfaW5mbyA9IHBhcmVudF9ub2RlX2Rp Y3RbImRhdGFiYXNlIl1bLTFdCisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHNlbGYuZGF0YWJhc2Vf aW5mb1siZGJfbmFtZSJdCisgICAgICAgIHNlbGYuZGlkID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJk Yl9pZCJdCisgICAgICAgIHNlbGYuc2lkID0gcGFyZW50X25vZGVfZGljdFsic2VydmVyIl1bLTFd WyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLnNnaWQgPSBjb25maWdfZGF0YVsnc2VydmVyX2dy b3VwJ10KKworICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNl KHNlbGYsIHV0aWxzLlNFUlZFUl9HUk9VUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZCwgc2VsZi5kaWQpCisKKyAgICAgICAgc2VsZi50 cmFuc19pZCA9IHN0cihyYW5kb20ucmFuZGludCgxLCA5OTk5OTk5KSkKKyAgICAgICAgc2VsZi5y b2xlcyA9IE5vbmUKKworICAgICAgICBpZiBzZWxmLmlzX2NyZWF0ZV9yb2xlOgorICAgICAgICAg ICAgZGF0YSA9IHJvbGVzX3V0aWxzLmdldF9yb2xlX2RhdGEoc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3 b3JkJ10pCisgICAgICAgICAgICBzZWxmLnJvbGVfbmFtZSA9IGRhdGFbJ3JvbG5hbWUnXQorICAg ICAgICAgICAgc2VsZi5yb2xlX3Bhc3N3b3JkID0gZGF0YVsncm9scGFzc3dvcmQnXQorICAgICAg ICAgICAgcm9sZXNfdXRpbHMuY3JlYXRlX3JvbGVfd2l0aF9wYXNzd29yZCgKKyAgICAgICAgICAg ICAgICBzZWxmLnNlcnZlciwgc2VsZi5yb2xlX25hbWUsIHNlbGYucm9sZV9wYXNzd29yZCkKKwor ICAgICAgICBpZiBub3Qgc2VsZi5pc19wb3NpdGl2ZV90ZXN0IG9yIHNlbGYuaXNfY3JlYXRlX3Jv bGU6CisgICAgICAgICAgICBxdF9pbml0ID0gZGF0YV9ncmlkX3V0aWxzLl9pbml0X3F1ZXJ5X3Rv b2woc2VsZiwgc2VsZi50cmFuc19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNnaWQsIHNlbGYuc2lkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQorCisg ICAgICAgICAgICBpZiBub3QgcXRfaW5pdFsnc3VjY2VzcyddOgorICAgICAgICAgICAgICAgIHJh aXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGluaXRpYWxpemUgcXVlcnR5IHRvb2wuIikKKworICAg ICAgICBzZWxmLnRlc3RfZGF0YSA9IHsKKyAgICAgICAgICAgICJkYXRhYmFzZSI6IHNlbGYuZGlk LAorICAgICAgICAgICAgInNlcnZlciI6IHNlbGYuc2lkCisgICAgICAgIH0KKworICAgICAgICBp ZiBzZWxmLnNlcnZlcl9pbmZvcm1hdGlvblsndHlwZSddID09ICdwcGFzJzoKKyAgICAgICAgICAg IHNlbGYudGVzdF9kYXRhWydwYXNzd29yZCddID0gJ2VudGVycHJpc2VkYicKKyAgICAgICAgICAg IHNlbGYudGVzdF9kYXRhWyd1c2VyJ10gPSAnZW50ZXJwcmlzZWRiJworICAgICAgICBlbHNlOgor ICAgICAgICAgICAgc2VsZi50ZXN0X2RhdGFbJ3Bhc3N3b3JkJ10gPSAncm9vdCcKKyAgICAgICAg ICAgIHNlbGYudGVzdF9kYXRhWyd1c2VyJ10gPSAncG9zdGdyZXMnCisKKyAgICAgICAgaWYgbm90 IGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigiQ291bGQgbm90IGNvbm5lY3QgdG8gZGF0YWJhc2UgdG8gYWRkIGEgdGFibGUuIikKKworICAg IGRlZiB1cGRhdGVfY29ubmVjdGlvbihzZWxmLCB1c2VyX2RhdGE9Tm9uZSk6CisgICAgICAgIGlm IHVzZXJfZGF0YToKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCgKKyAg ICAgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnRyYW5zX2lkKSArICcvJyArIHN0cihz ZWxmLnNnaWQpICsKKyAgICAgICAgICAgICAgICAnLycgKyBzdHIoc2VsZi5zaWQpICsgJy8nICsg c3RyKHNlbGYuZGlkKSwKKyAgICAgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHModXNlcl9kYXRh KSwKKyAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicKKyAgICAgICAgICAg ICkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9z dCgKKyAgICAgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnRyYW5zX2lkKSArICcvJyAr IHN0cihzZWxmLnNnaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICBzdHIoc2VsZi5zaWQpICsg Jy8nICsgc3RyKHNlbGYuZGlkKSwKKyAgICAgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2Vs Zi50ZXN0X2RhdGEpLAorICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJwor ICAgICAgICAgICAgKQorICAgICAgICByZXR1cm4gcmVzcG9uc2UKKworICAgIGRlZiBydW5UZXN0 KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSBxdWVyeSB0b29s IGNvbm5lY3Rpb24uIiIiCisKKyAgICAgICAgaWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAg ICAgICAgICAgdXNlcl9kYXRhID0gZGljdCgpCisgICAgICAgICAgICBpZiBzZWxmLmlzX2NyZWF0 ZV9yb2xlOgorICAgICAgICAgICAgICAgIHVzZXJfZGF0YVsndXNlciddID0gc2VsZi5yb2xlX25h bWUKKyAgICAgICAgICAgICAgICB1c2VyX2RhdGFbJ3Bhc3N3b3JkJ10gPSBzZWxmLnJvbGVfcGFz c3dvcmQKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi51cGRhdGVfY29ubmVjdGlvbih1c2Vy X2RhdGE9dXNlcl9kYXRhKQorICAgICAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNw b25zZS5zdGF0dXNfY29kZQorICAgICAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNl bGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorICAgICAgICBlbHNlOgorICAgICAgICAg ICAgcmVzcG9uc2UgPSBzZWxmLnVwZGF0ZV9jb25uZWN0aW9uKCkKKyAgICAgICAgICAgIGFjdHVh bF9yZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgICAgIGV4cGVj dGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKwor ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9yZXNwb25zZV9jb2RlLCBleHBlY3RlZF9y ZXNwb25zZV9jb2RlKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICAiIiJUaGlz IGZ1bmN0aW9uIGRpc2Nvbm5lY3QgZGF0YWJhc2UuIiIiCisgICAgICAgIGRhdGFiYXNlX3V0aWxz LmRpc2Nvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgc2VsZi5zaWQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2RhdGFfZ3JpZF92YWxpZGF0ZV9maWx0ZXIucHkg Yi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2RhdGFfZ3JpZF92YWxpZGF0 ZV9maWx0ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFiYTVkOAot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rlc3Rf ZGF0YV9ncmlkX3ZhbGlkYXRlX2ZpbHRlci5weQpAQCAtMCwwICsxLDkxIEBACisjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBz b2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworCisKK2ltcG9ydCBqc29uCitpbXBvcnQgdXVpZAoraW1wb3J0IHJhbmRv bQorCitmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHBnYWRtaW4uYnJvd3Nl ci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBc CisgICAgZGF0YWJhc2VfdXRpbHMKKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBC YXNlVGVzdEdlbmVyYXRvcgorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0 Citmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMg dXRpbHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJv bSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFz LnRlc3RzIGltcG9ydCBcCisgICAgdXRpbHMgYXMgc2NoZW1hX3V0aWxzCitmcm9tIHBnYWRtaW4u YnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudGFibGVzLnRl c3RzIFwKKyAgICBpbXBvcnQgdXRpbHMgYXMgdGFibGVzX3V0aWxzCitmcm9tIC4gaW1wb3J0IHV0 aWxzIGFzIGRhdGFfZ3JpZF91dGlscworCisKK2NsYXNzIERhdGFncmlkVmFsaWRhdGVGaWx0ZXJU ZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiCisgICAgVGhpcyB3aWxsIHZhbGlk YXRlIGZpbHRlciBjb25uZWN0aW9uLgorICAgICIiIgorCisgICAgc2NlbmFyaW9zID0gdXRpbHMu Z2VuZXJhdGVfc2NlbmFyaW9zKAorICAgICAgICAnZGF0YV9ncmlkX3ZhbGlkYXRlX2ZpbHRlcics CisgICAgICAgIGRhdGFfZ3JpZF91dGlscy50ZXN0X2Nhc2VzCisgICAgKQorCisgICAgZGVmIHNl dFVwKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGFiYXNlX2luZm8gPSBwYXJlbnRfbm9kZV9kaWN0 WyJkYXRhYmFzZSJdWy0xXQorICAgICAgICBzZWxmLmRiX25hbWUgPSBzZWxmLmRhdGFiYXNlX2lu Zm9bImRiX25hbWUiXQorICAgICAgICBzZWxmLmRpZCA9IHNlbGYuZGF0YWJhc2VfaW5mb1siZGJf aWQiXQorICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9ub2RlX2RpY3RbInNlcnZlciJdWy0xXVsi c2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5zZ2lkID0gY29uZmlnX2RhdGFbJ3NlcnZlcl9ncm91 cCddCisKKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShz ZWxmLCB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5zaWQsIHNlbGYuZGlkKQorICAgICAgICBpZiBub3QgZGJf Y29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJD b3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQgYSB0YWJsZS4iKQorICAgICAgICBz ZWxmLnNjaGVtYV9pZCA9IHBhcmVudF9ub2RlX2RpY3RbJ3NjaGVtYSddWy0xXVsic2NoZW1hX2lk Il0KKyAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSA9IHBhcmVudF9ub2RlX2RpY3RbJ3NjaGVtYSdd Wy0xXVsic2NoZW1hX25hbWUiXQorICAgICAgICBzY2hlbWFfcmVzcG9uc2UgPSBzY2hlbWFfdXRp bHMudmVyaWZ5X3NjaGVtYXMoc2VsZi5zZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNjaGVtYV9uYW1l KQorICAgICAgICBpZiBub3Qgc2NoZW1hX3Jlc3BvbnNlOgorICAgICAgICAgICAgcmFpc2UgRXhj ZXB0aW9uKCJDb3VsZCBub3QgZmluZCB0aGUgc2NoZW1hIHRvIGFkZCBhIHRhYmxlLiIpCisgICAg ICAgIHNlbGYudGFibGVfbmFtZSA9ICJ0YWJsZV9mb3Jfd2l6YXJkJXMiICUgKHN0cih1dWlkLnV1 aWQ0KCkpWzE6OF0pCisgICAgICAgIHNlbGYudGFibGVfaWQgPSB0YWJsZXNfdXRpbHMuY3JlYXRl X3RhYmxlKHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2NoZW1hX25hbWUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGVfbmFtZSkK KworICAgIGRlZiB2YWxpZGF0ZV9maWx0ZXIoc2VsZik6CisgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIucG9zdCgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHNlbGYuc2lkKSArICcv JyArIHN0cihzZWxmLmRpZCkgKyAnLycgKworICAgICAgICAgICAgc3RyKHNlbGYudGFibGVfaWQp LAorICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNlbGYudGVzdF9kYXRhKSwKKyAgICAgICAg ICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICApCisgICAgICAgIHJldHVybiBy ZXNwb25zZQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0 aW9uIHdpbGwgdXBkYXRlIHF1ZXJ5IHRvb2wgY29ubmVjdGlvbi4iIiIKKworICAgICAgICBpZiBz ZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6CisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudmFsaWRh dGVfZmlsdGVyKCkKKyAgICAgICAgICAgIGFjdHVhbF9yZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uu c3RhdHVzX2NvZGUKKyAgICAgICAgICAgIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4 cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHdp dGggcGF0Y2goc2VsZi5tb2NrX2RhdGFbImZ1bmN0aW9uX25hbWUiXSwKKyAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuX3ZhbHVlPWV2YWwoc2VsZi5tb2NrX2RhdGFbInJldHVybl92YWx1ZSJd KSk6CisgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnZhbGlkYXRlX2ZpbHRlcigpCisg ICAgICAgICAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29k ZQorICAgICAgICAgICAgICAgIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVk X2RhdGFbJ3N0YXR1c19jb2RlJ10KKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9y ZXNwb25zZV9jb2RlLCBleHBlY3RlZF9yZXNwb25zZV9jb2RlKQorCisgICAgZGVmIHRlYXJEb3du KHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGRpc2Nvbm5lY3QgZGF0YWJhc2UuIiIi CisgICAgICAgIGRhdGFiYXNlX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgc2VsZi5z aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kaWQp CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2luaXRp YWxpemVfZGF0YV9ncmlkLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVz dF9pbml0aWFsaXplX2RhdGFfZ3JpZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi4xMzBhMWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdy aWQvdGVzdHMvdGVzdF9pbml0aWFsaXplX2RhdGFfZ3JpZC5weQpAQCAtMCwwICsxLDEwOCBAQAor IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIwor IyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFt CisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5j ZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCitpbXBvcnQganNvbgoraW1wb3J0IHV1aWQKK2lt cG9ydCByYW5kb20KKworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRjaAorZnJvbSBwZ2Fk bWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQg dXRpbHMgYXMgXAorICAgIGRhdGFiYXNlX3V0aWxzCisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0 ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50 X25vZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0 X3V0aWxzIGFzIHV0aWxzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9zZXR1cCBpbXBvcnQgY29uZmln X2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFz ZXMuc2NoZW1hcy50ZXN0cyBpbXBvcnQgXAorICAgIHV0aWxzIGFzIHNjaGVtYV91dGlscworZnJv bSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFz LnRhYmxlcy50ZXN0cyBcCisgICAgaW1wb3J0IHV0aWxzIGFzIHRhYmxlc191dGlscworZnJvbSAu IGltcG9ydCB1dGlscyBhcyBkYXRhX2dyaWRfdXRpbHMKKworCitjbGFzcyBEYXRhZ3JpZEluaXRp YWxpemVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiCisgICAgVGhpcyB3aWxs IEluaXRpYWxpemUgZGF0YWdyaWQKKyAgICAiIiIKKworICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdl bmVyYXRlX3NjZW5hcmlvcygKKyAgICAgICAgJ2RhdGFfZ3JpZF9pbml0aWFsaXplJywKKyAgICAg ICAgZGF0YV9ncmlkX3V0aWxzLnRlc3RfY2FzZXMKKyAgICApCisKKyAgICBkZWYgc2V0VXAoc2Vs Zik6CisgICAgICAgIHNlbGYuZGF0YWJhc2VfaW5mbyA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFi YXNlIl1bLTFdCisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHNlbGYuZGF0YWJhc2VfaW5mb1siZGJf bmFtZSJdCisgICAgICAgIHNlbGYuZGlkID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJkYl9pZCJdCisg ICAgICAgIHNlbGYuc2lkID0gcGFyZW50X25vZGVfZGljdFsic2VydmVyIl1bLTFdWyJzZXJ2ZXJf aWQiXQorICAgICAgICBzZWxmLnNnaWQgPSBjb25maWdfZGF0YVsnc2VydmVyX2dyb3VwJ10KKwor ICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsIHV0 aWxzLlNFUlZFUl9HUk9VUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLnNpZCwgc2VsZi5kaWQpCisgICAgICAgIGlmIG5vdCBkYl9jb25bJ2Rh dGEnXVsiY29ubmVjdGVkIl06CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5v dCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGFkZCBhIHRhYmxlLiIpCisKKyAgICAgICAgc2VsZi5z Y2hlbWFfaWQgPSBwYXJlbnRfbm9kZV9kaWN0WydzY2hlbWEnXVstMV1bInNjaGVtYV9pZCJdCisg ICAgICAgIHNlbGYuc2NoZW1hX25hbWUgPSBwYXJlbnRfbm9kZV9kaWN0WydzY2hlbWEnXVstMV1b InNjaGVtYV9uYW1lIl0KKyAgICAgICAgc2NoZW1hX3Jlc3BvbnNlID0gc2NoZW1hX3V0aWxzLnZl cmlmeV9zY2hlbWFzKHNlbGYuc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYl9uYW1lLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSkKKyAg ICAgICAgaWYgbm90IHNjaGVtYV9yZXNwb25zZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigiQ291bGQgbm90IGZpbmQgdGhlIHNjaGVtYSB0byBhZGQgYSB0YWJsZS4iKQorICAgICAgICBz ZWxmLnRhYmxlX25hbWUgPSAidGFibGVfZm9yX3dpemFyZCVzIiAlIChzdHIodXVpZC51dWlkNCgp KVsxOjhdKQorICAgICAgICBzZWxmLnRhYmxlX2lkID0gdGFibGVzX3V0aWxzLmNyZWF0ZV90YWJs ZShzZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNjaGVtYV9uYW1lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlX25hbWUpCisgICAg ICAgIHNlbGYudHJhbnNfaWQgPSBzdHIocmFuZG9tLnJhbmRpbnQoMSwgOTk5OTk5OSkpCisgICAg ICAgIHF0X2luaXQgPSBkYXRhX2dyaWRfdXRpbHMuX2luaXRfcXVlcnlfdG9vbChzZWxmLCBzZWxm LnRyYW5zX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5zZ2lkLCBzZWxmLnNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQorCisgICAgICAgIGlmIG5vdCBxdF9pbml0 WydzdWNjZXNzJ106CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBpbml0 aWFsaXplIHF1ZXJ5IHRvb2wuIikKKworICAgIGRlZiBpbml0aWFsaXplX2RhdGFncmlkKHNlbGYp OgorICAgICAgICBpZiBzZWxmLnRlc3RfZGF0YToKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIucG9zdCgKKyAgICAgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnRyYW5z X2lkKSArICcvNC90YWJsZS8nICsKKyAgICAgICAgICAgICAgICBzdHIoc2VsZi5zZ2lkKSArICcv JyArIHN0cihzZWxmLnNpZCkgKyAnLycgKworICAgICAgICAgICAgICAgIHN0cihzZWxmLmRpZCkg KyAnLycgKyBzdHIoc2VsZi50YWJsZV9pZCksCisgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1 bXBzKHNlbGYudGVzdF9kYXRhKSwKKyAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwv anNvbicKKyAgICAgICAgICAgICkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3BvbnNl ID0gc2VsZi50ZXN0ZXIucG9zdCgKKyAgICAgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxm LnRyYW5zX2lkKSArICcvNC90YWJsZS8nICsKKyAgICAgICAgICAgICAgICBzdHIoc2VsZi5zZ2lk KSArICcvJyArIHN0cihzZWxmLnNpZCkgKyAnLycgKworICAgICAgICAgICAgICAgIHN0cihzZWxm LmRpZCkgKyAnLycgKyBzdHIoc2VsZi50YWJsZV9pZCksCisgICAgICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nCisgICAgICAgICAgICApCisgICAgICAgIHJldHVybiByZXNwb25z ZQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdp bGwgdXBkYXRlIHF1ZXJ5IHRvb2wgY29ubmVjdGlvbi4iIiIKKworICAgICAgICBpZiBzZWxmLmlz X3Bvc2l0aXZlX3Rlc3Q6CisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuaW5pdGlhbGl6ZV9k YXRhZ3JpZCgpCisgICAgICAgICAgICBhY3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0 YXR1c19jb2RlCisgICAgICAgICAgICBleHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5leHBl Y3RlZF9kYXRhWydzdGF0dXNfY29kZSddCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB3aXRo IHBhdGNoKHNlbGYubW9ja19kYXRhWyJmdW5jdGlvbl9uYW1lIl0sCisgICAgICAgICAgICAgICAg ICAgICAgIHJldHVybl92YWx1ZT1ldmFsKHNlbGYubW9ja19kYXRhWyJyZXR1cm5fdmFsdWUiXSkp OgorICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5pbml0aWFsaXplX2RhdGFncmlkKCkK KyAgICAgICAgICAgICAgICBhY3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19j b2RlCisgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0 ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFs X3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUpCisKKyAgICBkZWYgdGVhckRv d24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGlzY29ubmVjdCBkYXRhYmFzZS4i IiIKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxm LnNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRp ZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3V0aWxzLnB5 IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdXRpbHMucHkKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJmOTQyNwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3V0aWxzLnB5CkBAIC0wLDAgKzEsMzMgQEAKKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMg Q29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQor IyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK KyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCitpbXBvcnQgb3MKK2ltcG9ydCBqc29uCisKK2ZpbGVfbmFt ZSA9IG9zLnBhdGguYmFzZW5hbWUoX19maWxlX18pCitDVVJSRU5UX1BBVEggPSBvcy5wYXRoLmRp cm5hbWUob3MucGF0aC5yZWFscGF0aChfX2ZpbGVfXykpCit3aXRoIG9wZW4oQ1VSUkVOVF9QQVRI ICsgIi9kYXRhZ3JpZF90ZXN0X2RhdGEuanNvbiIpIGFzIGRhdGFfZmlsZToKKyAgICB0ZXN0X2Nh c2VzID0ganNvbi5sb2FkKGRhdGFfZmlsZSkKKworCitkZWYgX2luaXRfcXVlcnlfdG9vbChzZWxm LCB0cmFuc19pZCwgc2VydmVyX2dyb3VwLCBzZXJ2ZXJfaWQsIGRiX2lkKToKKyAgICBRVUVSWV9U T09MX0lOSVRfVVJMID0gJy9kYXRhZ3JpZC9pbml0aWFsaXplL3F1ZXJ5X3Rvb2wvJworCisgICAg cXRfaW5pdCA9IHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICd7MH0vezF9L3syfS97M30vezR9 Jy5mb3JtYXQoCisgICAgICAgICAgICBRVUVSWV9UT09MX0lOSVRfVVJMLAorICAgICAgICAgICAg dHJhbnNfaWQsCisgICAgICAgICAgICBzZXJ2ZXJfZ3JvdXAsCisgICAgICAgICAgICBzZXJ2ZXJf aWQsCisgICAgICAgICAgICBkYl9pZAorICAgICAgICApLAorICAgICAgICBmb2xsb3dfcmVkaXJl Y3RzPVRydWUKKyAgICApCisgICAgYXNzZXJ0IHF0X2luaXQuc3RhdHVzX2NvZGUgPT0gMjAwCisg ICAgcXRfaW5pdCA9IGpzb24ubG9hZHMocXRfaW5pdC5kYXRhLmRlY29kZSgndXRmLTgnKSkKKyAg ICByZXR1cm4gcXRfaW5pdApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9y L19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL19faW5pdF9fLnB5Cmlu ZGV4IGM2MmJjN2MuLjQzNGJhODggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVk aXRvci9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvX19pbml0 X18ucHkKQEAgLTEwLDMzICsxMCwzOCBAQAogIiIiQSBibHVlcHJpbnQgbW9kdWxlIGltcGxlbWVu dGluZyB0aGUgc3FsZWRpdG9yIGZyYW1lLiIiIgogaW1wb3J0IG9zCiBpbXBvcnQgcGlja2xlCi1p bXBvcnQgc3lzCiBpbXBvcnQgcmUKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCB1bnF1b3RlCiAK IGltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KLWZyb20gZmxhc2sgaW1wb3J0IFJlc3BvbnNlLCB1 cmxfZm9yLCByZW5kZXJfdGVtcGxhdGUsIHNlc3Npb24sIHJlcXVlc3QsIFwKLSAgICBjdXJyZW50 X2FwcAorZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSLCBPTl9ERU1BTkRfUkVD T1JEX0NPVU5UCitmcm9tIGZsYXNrIGltcG9ydCBSZXNwb25zZSwgdXJsX2ZvciwgcmVuZGVyX3Rl bXBsYXRlLCBzZXNzaW9uLCBjdXJyZW50X2FwcAorZnJvbSBmbGFzayBpbXBvcnQgcmVxdWVzdCwg anNvbmlmeQogZnJvbSBmbGFza19iYWJlbGV4IGltcG9ydCBnZXR0ZXh0CiBmcm9tIGZsYXNrX3Nl Y3VyaXR5IGltcG9ydCBsb2dpbl9yZXF1aXJlZCwgY3VycmVudF91c2VyCi1mcm9tIHVybGxpYi5w YXJzZSBpbXBvcnQgdW5xdW90ZQotCi1mcm9tIGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklW RVIsIE9OX0RFTUFORF9SRUNPUkRfQ09VTlQKIGZyb20gcGdhZG1pbi5taXNjLmZpbGVfbWFuYWdl ciBpbXBvcnQgRmlsZW1hbmFnZXIKIGZyb20gcGdhZG1pbi50b29scy5zcWxlZGl0b3IuY29tbWFu ZCBpbXBvcnQgUXVlcnlUb29sQ29tbWFuZAogZnJvbSBwZ2FkbWluLnRvb2xzLnNxbGVkaXRvci51 dGlscy5jb25zdGFudF9kZWZpbml0aW9uIGltcG9ydCBBU1lOQ19PSywgXAogICAgIEFTWU5DX0VY RUNVVElPTl9BQk9SVEVELCBcCiAgICAgQ09OTkVDVElPTl9TVEFUVVNfTUVTU0FHRV9NQVBQSU5H LCBUWF9TVEFUVVNfSU5FUlJPUgorZnJvbSBwZ2FkbWluLnRvb2xzLnNxbGVkaXRvci51dGlscy5m aWx0ZXJfZGlhbG9nIGltcG9ydCBGaWx0ZXJEaWFsb2cKK2Zyb20gcGdhZG1pbi50b29scy5zcWxl ZGl0b3IudXRpbHMucXVlcnlfaGlzdG9yeSBpbXBvcnQgUXVlcnlIaXN0b3J5Citmcm9tIHBnYWRt aW4udG9vbHMuc3FsZWRpdG9yLnV0aWxzLnF1ZXJ5X3Rvb2xfZnNfdXRpbHMgaW1wb3J0IFwKKyAg ICByZWFkX2ZpbGVfZ2VuZXJhdG9yCitmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yLnV0aWxz LnF1ZXJ5X3Rvb2xfcHJlZmVyZW5jZXMgaW1wb3J0IFwKKyAgICByZWdpc3Rlcl9xdWVyeV90b29s X3ByZWZlcmVuY2VzCiBmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yLnV0aWxzLnN0YXJ0X3J1 bm5pbmdfcXVlcnkgaW1wb3J0IFN0YXJ0UnVubmluZ1F1ZXJ5CiBmcm9tIHBnYWRtaW4udG9vbHMu c3FsZWRpdG9yLnV0aWxzLnVwZGF0ZV9zZXNzaW9uX2dyaWRfdHJhbnNhY3Rpb24gaW1wb3J0IFwK ICAgICB1cGRhdGVfc2Vzc2lvbl9ncmlkX3RyYW5zYWN0aW9uCiBmcm9tIHBnYWRtaW4udXRpbHMg aW1wb3J0IFBnQWRtaW5Nb2R1bGUKIGZyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgZ2V0X3N0b3Jh Z2VfZGlyZWN0b3J5CiBmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBpbXBvcnQgbWFrZV9qc29uX3Jl c3BvbnNlLCBiYWRfcmVxdWVzdCwgXAotICAgIHN1Y2Nlc3NfcmV0dXJuLCBpbnRlcm5hbF9zZXJ2 ZXJfZXJyb3IKKyAgICBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IKK2Zyb20gcGdhZG1pbi51dGlscy5j b25zdGFudHMgaW1wb3J0IE1JTUVUWVBFX0FQUF9KUwogZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZl ciBpbXBvcnQgZ2V0X2RyaXZlcgotZnJvbSBwZ2FkbWluLnV0aWxzLm1lbnUgaW1wb3J0IE1lbnVJ dGVtCi1mcm9tIHBnYWRtaW4udXRpbHMuZXhjZXB0aW9uIGltcG9ydCBDb25uZWN0aW9uTG9zdCwg U1NIVHVubmVsQ29ubmVjdGlvbkxvc3QsXAorZnJvbSBwZ2FkbWluLnV0aWxzLmV4Y2VwdGlvbiBp bXBvcnQgQ29ubmVjdGlvbkxvc3QsIFNTSFR1bm5lbENvbm5lY3Rpb25Mb3N0LCBcCiAgICAgQ3J5 cHRLZXlNaXNzaW5nCitmcm9tIHBnYWRtaW4udXRpbHMubWVudSBpbXBvcnQgTWVudUl0ZW0KIGZy b20gcGdhZG1pbi51dGlscy5zcWxhdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlIGltcG9ydCBTUUxB dXRvQ29tcGxldGUKIGZyb20gcGdhZG1pbi50b29scy5zcWxlZGl0b3IudXRpbHMucXVlcnlfdG9v bF9wcmVmZXJlbmNlcyBpbXBvcnQgXAogICAgIHJlZ2lzdGVyX3F1ZXJ5X3Rvb2xfcHJlZmVyZW5j ZXMKQEAgLTQ2LDYgKzUxLDggQEAgZnJvbSBwZ2FkbWluLnRvb2xzLnNxbGVkaXRvci51dGlscy5m aWx0ZXJfZGlhbG9nIGltcG9ydCBGaWx0ZXJEaWFsb2cKIGZyb20gcGdhZG1pbi50b29scy5zcWxl ZGl0b3IudXRpbHMucXVlcnlfaGlzdG9yeSBpbXBvcnQgUXVlcnlIaXN0b3J5CiBmcm9tIHBnYWRt aW4udXRpbHMuY29uc3RhbnRzIGltcG9ydCBNSU1FVFlQRV9BUFBfSlMsIFNFUlZFUl9DT05ORUNU SU9OX0NMT1NFRCxcCiAgICAgRVJST1JfTVNHX1RSQU5TX0lEX05PVF9GT1VORAorZnJvbSBwZ2Fk bWluLm1vZGVsIGltcG9ydCBTZXJ2ZXIKKwogCiBNT0RVTEVfTkFNRSA9ICdzcWxlZGl0b3InCiAK QEAgLTEwOSw2ICsxMTYsOSBAQCBjbGFzcyBTcWxFZGl0b3JNb2R1bGUoUGdBZG1pbk1vZHVsZSk6 CiAgICAgICAgICAgICAnc3FsZWRpdG9yLmdldF9xdWVyeV9oaXN0b3J5JywKICAgICAgICAgICAg ICdzcWxlZGl0b3IuYWRkX3F1ZXJ5X2hpc3RvcnknLAogICAgICAgICAgICAgJ3NxbGVkaXRvci5j bGVhcl9xdWVyeV9oaXN0b3J5JywKKyAgICAgICAgICAgICdzcWxlZGl0b3IuZ2V0X25ld19jb25u ZWN0aW9uX2RhdGEnLAorICAgICAgICAgICAgJ3NxbGVkaXRvci5nZXRfbmV3X2Nvbm5lY3Rpb25f ZGF0YWJhc2UnLAorICAgICAgICAgICAgJ3NxbGVkaXRvci5nZXRfbmV3X2Nvbm5lY3Rpb25fdXNl cicsCiAgICAgICAgIF0KIAogICAgIGRlZiByZWdpc3Rlcl9wcmVmZXJlbmNlcyhzZWxmKToKQEAg LTE0NjUsNiArMTQ3NSwxODggQEAgZGVmIGdldF9maWx0ZXJfZGF0YSh0cmFuc19pZCk6CiAgICAg cmV0dXJuIEZpbHRlckRpYWxvZy5nZXQoc3RhdHVzLCBlcnJvcl9tc2csIGNvbm4sIHRyYW5zX29i aiwgc2Vzc2lvbl9vYikKIAogCitAYmx1ZXByaW50LnJvdXRlKAorICAgICcvbmV3X2Nvbm5lY3Rp b25fZGlhbG9nLzxpbnQ6c2dpZD4vPGludDpzaWQ+JywKKyAgICBtZXRob2RzPVsiR0VUIl0sIGVu ZHBvaW50PSdnZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YScKKykKK0Bsb2dpbl9yZXF1aXJlZAorZGVm IGdldF9uZXdfY29ubmVjdGlvbl9kYXRhKHNnaWQsIHNpZD1Ob25lKToKKyAgICAiIiIKKyAgICBU aGlzIG1ldGhvZCBpcyB1c2VkIHRvIGdldCByZXF1aXJlZCBkYXRhIGZvciBnZXQgbmV3IGNvbm5l Y3Rpb24uCisgICAgOmV4dHJhY3Rfc3FsX2Zyb21fbmV0d29ya19wYXJhbWV0ZXJzLAorICAgICIi IgorICAgIHRyeToKKyAgICAgICAgIyBpZiBzaWQgYW5kIG5vdCBkaWQ6CisgICAgICAgIHNlcnZl cnMgPSBTZXJ2ZXIucXVlcnkuYWxsKCkKKyAgICAgICAgc2VydmVyX2xpc3QgPSBbCisgICAgICAg ICAgICB7J25hbWUnOiBzZXJ2ZXIuc2VyaWFsaXplWyduYW1lJ10sICJpZCI6IHNlcnZlci5zZXJp YWxpemVbJ2lkJ119CisgICAgICAgICAgICBmb3Igc2VydmVyIGluIHNlcnZlcnNdCisKKyAgICAg ICAgbXNnID0gIlN1Y2Nlc3MiCisgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisg ICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAnc3RhdHVzJzogVHJ1ZSwKKyAgICAg ICAgICAgICAgICAnbXNnJzogbXNnLAorICAgICAgICAgICAgICAgICdyZXN1bHQnOiB7CisgICAg ICAgICAgICAgICAgICAgICdzZXJ2ZXJfbGlzdCc6IHNlcnZlcl9saXN0CisgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgfQorICAgICAgICApCisKKyAgICBleGNlcHQgRXhjZXB0aW9uIGFz IGU6CisgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICBkYXRh PXsKKyAgICAgICAgICAgICAgICAnc3RhdHVzJzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ21z Zyc6ICdVbmFibGUgdG8gZmV0Y2ggZGF0YS4nLAorICAgICAgICAgICAgICAgICdyZXN1bHQnOiB7 CisgICAgICAgICAgICAgICAgICAgICdzZXJ2ZXJfbGlzdCc6IFtdCisgICAgICAgICAgICAgICAg fQorICAgICAgICAgICAgfQorICAgICAgICApCisKKworQGJsdWVwcmludC5yb3V0ZSgKKyAgICAn L25ld19jb25uZWN0aW9uX2RhdGFiYXNlLzxpbnQ6c2dpZD4vPGludDpzaWQ+JywKKyAgICBtZXRo b2RzPVsiR0VUIl0sIGVuZHBvaW50PSdnZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2UnCispCitA bG9naW5fcmVxdWlyZWQKK2RlZiBnZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2Uoc2dpZCwgc2lk PU5vbmUpOgorICAgICIiIgorICAgIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gZ2V0IHJlcXVpcmVk IGRhdGEgZm9yIGdldCBuZXcgY29ubmVjdGlvbi4KKyAgICA6ZXh0cmFjdF9zcWxfZnJvbV9uZXR3 b3JrX3BhcmFtZXRlcnMsCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBkYXRhYmFzZV9saXN0 ID0gW10KKyAgICAgICAgZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZl cgorICAgICAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29ubmVj dGlvbl9tYW5hZ2VyKHNpZCkKKyAgICAgICAgY29ubiA9IG1hbmFnZXIuY29ubmVjdGlvbigpCisg ICAgICAgIGlmIGNvbm4uY29ubmVjdGVkKCk6CisgICAgICAgICAgICBpc19jb25uZWN0ZWQgPSBU cnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIGNvbm5lY3Rpb24gPSBjb25uLmNvbm5l Y3QoKQorICAgICAgICAgICAgaXNfY29ubmVjdGVkID0gRmFsc2UKKyAgICAgICAgaWYgaXNfY29u bmVjdGVkOgorICAgICAgICAgICAgaWYgc2lkOgorICAgICAgICAgICAgICAgIHRlbXBsYXRlX3Bh dGggPSAnZGF0YWJhc2VzL3NxbC8jezB9IycuZm9ybWF0KG1hbmFnZXIudmVyc2lvbikKKyAgICAg ICAgICAgICAgICBsYXN0X3N5c3RlbV9vaWQgPSAwCisgICAgICAgICAgICAgICAgc2VydmVyX25v ZGVfcmVzID0gbWFuYWdlcgorCisgICAgICAgICAgICAgICAgZGJfZGlzcF9yZXMgPSBOb25lCisg ICAgICAgICAgICAgICAgcGFyYW1zID0gTm9uZQorICAgICAgICAgICAgICAgIGlmIHNlcnZlcl9u b2RlX3JlcyBhbmQgc2VydmVyX25vZGVfcmVzLmRiX3JlczoKKyAgICAgICAgICAgICAgICAgICAg ZGJfZGlzcF9yZXMgPSAiLCAiLmpvaW4oCisgICAgICAgICAgICAgICAgICAgICAgICBbJyVzJ10g KiBsZW4oc2VydmVyX25vZGVfcmVzLmRiX3Jlcy5zcGxpdCgnLCcpKQorICAgICAgICAgICAgICAg ICAgICApCisgICAgICAgICAgICAgICAgICAgIHBhcmFtcyA9IHR1cGxlKHNlcnZlcl9ub2RlX3Jl cy5kYl9yZXMuc3BsaXQoJywnKSkKKyAgICAgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxh dGUoCisgICAgICAgICAgICAgICAgICAgICIvIi5qb2luKFt0ZW1wbGF0ZV9wYXRoLCAnbm9kZXMu c3FsJ10pLAorICAgICAgICAgICAgICAgICAgICBsYXN0X3N5c3RlbV9vaWQ9bGFzdF9zeXN0ZW1f b2lkLAorICAgICAgICAgICAgICAgICAgICBkYl9yZXN0cmljdGlvbnM9ZGJfZGlzcF9yZXMKKyAg ICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgc3RhdHVzLCBkYXRhYmFzZXMgPSBjb25u LmV4ZWN1dGVfZGljdChzcWwsIHBhcmFtcykKKyAgICAgICAgICAgICAgICBkYXRhYmFzZV9saXN0 ID0gWworICAgICAgICAgICAgICAgICAgICB7J2xhYmVsJzogZGF0YWJhc2VbJ25hbWUnXSwgJ3Zh bHVlJzogZGF0YWJhc2VbJ2RpZCddfSBmb3IKKyAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2Ug aW4gZGF0YWJhc2VzWydyb3dzJ11dCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg IHN0YXR1cyA9IEZhbHNlCisKKyAgICAgICAgICAgIG1zZyA9ICJTdWNjZXNzIgorICAgICAgICAg ICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICBkYXRhPXsKKyAg ICAgICAgICAgICAgICAgICAgJ3N0YXR1cyc6IHN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAg J21zZyc6IG1zZywKKyAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdCc6IHsKKyAgICAgICAgICAg ICAgICAgICAgICAgICdkYXRhJzogZGF0YWJhc2VfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAg fQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICkKKyAgICAgICAgZWxzZToKKyAgICAg ICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAgZGF0YT17 CisgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAg ICAgJ21zZyc6ICdTZXJ2ZXIgbm90IGNvbm5lY3RlZCwgJworICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ1BsZWFzZSBjb25uZWN0IHdpdGggc2VydmVyIGFuZCB0cnkgYWdhaW4uJywKKyAgICAg ICAgICAgICAgICAgICAgJ3Jlc3VsdCc6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICdkYXRh YmFzZV9saXN0JzogW10sCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICApCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICByZXR1 cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgZGF0YT17CisgICAgICAgICAgICAg ICAgJ3N0YXR1cyc6IEZhbHNlLAorICAgICAgICAgICAgICAgICdtc2cnOiAnVW5hYmxlIHRvIGZl dGNoIGRhdGEuJywKKyAgICAgICAgICAgICAgICAncmVzdWx0JzogeworICAgICAgICAgICAgICAg ICAgICAnZGF0YWJhc2VfbGlzdCc6IFtdLAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg IH0KKyAgICAgICAgKQorCisKK0BibHVlcHJpbnQucm91dGUoCisgICAgJy9uZXdfY29ubmVjdGlv bl91c2VyLzxpbnQ6c2dpZD4vPGludDpzaWQ+JywKKyAgICBtZXRob2RzPVsiR0VUIl0sIGVuZHBv aW50PSdnZXRfbmV3X2Nvbm5lY3Rpb25fdXNlcicKKykKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIGdl dF9uZXdfY29ubmVjdGlvbl91c2VyKHNnaWQsIHNpZD1Ob25lKToKKyAgICAiIiIKKyAgICBUaGlz IG1ldGhvZCBpcyB1c2VkIHRvIGdldCByZXF1aXJlZCBkYXRhIGZvciBnZXQgbmV3IGNvbm5lY3Rp b24uCisgICAgOmV4dHJhY3Rfc3FsX2Zyb21fbmV0d29ya19wYXJhbWV0ZXJzLAorICAgICIiIgor ICAgIHRyeToKKyAgICAgICAgZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2Ry aXZlcgorICAgICAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29u bmVjdGlvbl9tYW5hZ2VyKHNpZCkKKyAgICAgICAgY29ubiA9IG1hbmFnZXIuY29ubmVjdGlvbigp CisgICAgICAgIHVzZXJfbGlzdCA9IFtdCisgICAgICAgIGlmIGNvbm4uY29ubmVjdGVkKCk6Cisg ICAgICAgICAgICBpc19jb25uZWN0ZWQgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAg ICBpc19jb25uZWN0ZWQgPSBGYWxzZQorICAgICAgICBpZiBpc19jb25uZWN0ZWQ6CisgICAgICAg ICAgICBpZiBzaWQ6CisgICAgICAgICAgICAgICAgc3FsX3BhdGggPSAncm9sZXMvc3FsLyN7MH0j Jy5mb3JtYXQobWFuYWdlci52ZXJzaW9uKQorICAgICAgICAgICAgICAgIHN0YXR1cywgdXNlcnMg PSBjb25uLmV4ZWN1dGVfMmRhcnJheSgKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyX3RlbXBs YXRlKHNxbF9wYXRoICsgJ25vZGVzLnNxbCcpCisgICAgICAgICAgICAgICAgKQorICAgICAgICAg ICAgICAgIHVzZXJfbGlzdCA9IFsKKyAgICAgICAgICAgICAgICAgICAgeyd2YWx1ZSc6IHVzZXJb J3JvbG5hbWUnXSwgJ2xhYmVsJzogdXNlclsncm9sbmFtZSddfSBmb3IKKyAgICAgICAgICAgICAg ICAgICAgdXNlciBpbiB1c2Vyc1sncm93cyddIGlmIHVzZXJbJ3JvbGNhbmxvZ2luJ11dCisgICAg ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IEZhbHNlCisKKyAgICAgICAg ICAgIG1zZyA9ICJTdWNjZXNzIgorICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25z ZSgKKyAgICAgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cyc6 IHN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgJ21zZyc6IG1zZywKKyAgICAgICAgICAgICAg ICAgICAgJ3Jlc3VsdCc6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJzogdXNlcl9s aXN0LAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25z ZSgKKyAgICAgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cyc6 IEZhbHNlLAorICAgICAgICAgICAgICAgICAgICAnbXNnJzogJ1NlcnZlciBub3QgY29ubmVjdGVk LCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIGNvbm5lY3Qgd2l0aCBzZXJ2 ZXIgYW5kIHRyeSBhZ2Fpbi4nLAorICAgICAgICAgICAgICAgICAgICAncmVzdWx0JzogeworICAg ICAgICAgICAgICAgICAgICAgICAgJ3VzZXJfbGlzdCc6IFtdLAorICAgICAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgKQorICAgIGV4Y2VwdCBFeGNlcHRp b24gYXMgZToKKyAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAg IGRhdGE9eworICAgICAgICAgICAgICAgICdzdGF0dXMnOiBGYWxzZSwKKyAgICAgICAgICAgICAg ICAnbXNnJzogJ1VuYWJsZSB0byBmZXRjaCBkYXRhLicsCisgICAgICAgICAgICAgICAgJ3Jlc3Vs dCc6IHsKKyAgICAgICAgICAgICAgICAgICAgJ3VzZXJfbGlzdCc6IFtdLAorICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgKQorCisKIEBibHVlcHJpbnQucm91dGUoCiAg ICAgJy9maWx0ZXJfZGlhbG9nLzxpbnQ6dHJhbnNfaWQ+JywKICAgICBtZXRob2RzPVsiUFVUIl0s IGVuZHBvaW50PSdzZXRfZmlsdGVyX2RhdGEnCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29s cy9zcWxlZGl0b3Ivc3RhdGljL2Nzcy9zcWxlZGl0b3IuY3NzIGIvd2ViL3BnYWRtaW4vdG9vbHMv c3FsZWRpdG9yL3N0YXRpYy9jc3Mvc3FsZWRpdG9yLmNzcwppbmRleCAwMDU0M2ZmLi5iOGMyZDJl IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2Nzcy9zcWxl ZGl0b3IuY3NzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvY3NzL3Nx bGVkaXRvci5jc3MKQEAgLTMxNSwxMCArMzE1LDYgQEAgaW5wdXQuZWRpdG9yLWNoZWNrYm94OmZv Y3VzIHsKICAgcGFkZGluZzogMTBweCAwcHg7CiB9CiAKLS5lZGl0b3ItdGl0bGUgewotICB3aWR0 aDoxMDAlOwotfQotCiAuY29ubmVjdGlvbi1zdGF0dXMtaGlkZSB7CiAgIGRpc3BsYXk6IG5vbmUg IWltcG9ydGFudDsKIH0KQEAgLTM5NSwzICszOTEsNyBAQCBpbnB1dC5lZGl0b3ItY2hlY2tib3g6 Zm9jdXMgewogLmhpZGUtdmVydGljYWwtc2Nyb2xsYmFyIHsKICAgb3ZlcmZsb3cteTogaGlkZGVu OwogfQorCisubmV3LWNvbm5lY3Rpb24tZGlhbG9nLXN0eWxlIHsKKyAgd2lkdGg6IDEwMCUgIWlt cG9ydGFudDsKK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0 aWMvanMvc3FsZWRpdG9yLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9q cy9zcWxlZGl0b3IuanMKaW5kZXggY2UwMmE1My4uOTcyMGQzNiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMKQEAgLTE0LDYgKzE0 LDcgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICdqcXVlcnl1aS5wb3NpdGlvbics ICd1bmRlcnNjb3JlJywgJ3BnYWRtaW4uYWxlcnRpZnlqcycsCiAgICdzb3VyY2VzL3BnYWRtaW4n LCAnYmFja2JvbmUnLCAnYnVuZGxlZF9jb2RlbWlycm9yJywgJ3NvdXJjZXMvdXRpbHMnLAogICAn cGdhZG1pbi5taXNjLmV4cGxhaW4nLAorICAncGdhZG1pbi51c2VyX21hbmFnZW1lbnQuY3VycmVu dF91c2VyJywKICAgJ3NvdXJjZXMvc2VsZWN0aW9uL2dyaWRfc2VsZWN0b3InLAogICAnc291cmNl cy9zZWxlY3Rpb24vYWN0aXZlX2NlbGxfY2FwdHVyZScsCiAgICdzb3VyY2VzL3NlbGVjdGlvbi9j bGlwYm9hcmQnLApAQCAtMjYsNiArMjcsNyBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsK ICAgJ3NvdXJjZXMvc3FsZWRpdG9yL2V4ZWN1dGVfcXVlcnknLAogICAnc291cmNlcy9zcWxlZGl0 b3IvcXVlcnlfdG9vbF9odHRwX2Vycm9yX2hhbmRsZXInLAogICAnc291cmNlcy9zcWxlZGl0b3Iv ZmlsdGVyX2RpYWxvZycsCisgICdzb3VyY2VzL3NxbGVkaXRvci9uZXdfY29ubmVjdGlvbl9kaWFs b2cnLAogICAnc291cmNlcy9zcWxlZGl0b3IvZ2VvbWV0cnlfdmlld2VyJywKICAgJ3NvdXJjZXMv c3FsZWRpdG9yL2hpc3RvcnkvaGlzdG9yeV9jb2xsZWN0aW9uLmpzJywKICAgJ3NvdXJjZXMvc3Fs ZWRpdG9yL2hpc3RvcnkvcXVlcnlfaGlzdG9yeScsCkBAIC01Miw4ICs1NCw4IEBAIGRlZmluZSgn dG9vbHMucXVlcnl0b29sJywgWwogICAncGdhZG1pbi50b29scy51c2VyX21hbmFnZW1lbnQnLAog XSwgZnVuY3Rpb24oCiAgIGdldHRleHQsIHVybF9mb3IsICQsIGpxdWVyeXVpLCBqcXVlcnl1aV9w b3NpdGlvbiwgXywgYWxlcnRpZnksIHBnQWRtaW4sIEJhY2tib25lLCBjb2RlbWlycm9yLCBwZ2Fk bWluVXRpbHMsCi0gIHBnRXhwbGFpbiwgR3JpZFNlbGVjdG9yLCBBY3RpdmVDZWxsQ2FwdHVyZSwg Y2xpcGJvYXJkLCBjb3B5RGF0YSwgUmFuZ2VTZWxlY3Rpb25IZWxwZXIsIGhhbmRsZVF1ZXJ5T3V0 cHV0S2V5Ym9hcmRFdmVudCwKLSAgWENlbGxTZWxlY3Rpb25Nb2RlbCwgc2V0U3RhZ2VkUm93cywg U3FsRWRpdG9yVXRpbHMsIEV4ZWN1dGVRdWVyeSwgaHR0cEVycm9ySGFuZGxlciwgRmlsdGVySGFu ZGxlciwKKyAgcGdFeHBsYWluLCBjdXJyZW50X3VzZXIsIEdyaWRTZWxlY3RvciwgQWN0aXZlQ2Vs bENhcHR1cmUsIGNsaXBib2FyZCwgY29weURhdGEsIFJhbmdlU2VsZWN0aW9uSGVscGVyLCBoYW5k bGVRdWVyeU91dHB1dEtleWJvYXJkRXZlbnQsCisgIFhDZWxsU2VsZWN0aW9uTW9kZWwsIHNldFN0 YWdlZFJvd3MsIFNxbEVkaXRvclV0aWxzLCBFeGVjdXRlUXVlcnksIGh0dHBFcnJvckhhbmRsZXIs IEZpbHRlckhhbmRsZXIsIG5ld0Nvbm5lY3Rpb25IYW5kbGVyLAogICBHZW9tZXRyeVZpZXdlciwg aGlzdG9yeUNvbGwsIHF1ZXJ5SGlzdCwgcXVlcnlTb3VyY2VzLAogICBrZXlib2FyZFNob3J0Y3V0 cywgcXVlcnlUb29sQWN0aW9ucywgcXVlcnlUb29sTm90aWZpY2F0aW9ucywgRGF0YWdyaWQsCiAg IG1vZGlmeUFuaW1hdGlvbiwgY2FsY3VsYXRlUXVlcnlSdW5UaW1lLCBjYWxsUmVuZGVyQWZ0ZXJQ b2xsLCBxdWVyeVRvb2xQcmVmLCBxdWVyeVR4blN0YXR1cywgY3NyZlRva2VuLCBwYW5lbFRpdGxl RnVuYywKQEAgLTg5LDYgKzkxLDkgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICAg ICB0aGlzLmxheW91dCA9IG9wdHMubGF5b3V0OwogICAgICAgdGhpcy5zZXRfc2VydmVyX3ZlcnNp b24ob3B0cy5zZXJ2ZXJfdmVyKTsKICAgICAgIHRoaXMudHJpZ2dlcigncGdhZG1pbi1zcWxlZGl0 b3I6dmlldzppbml0aWFsaXNlZCcpOworICAgICAgdGhpcy5jb25uZWN0aW9uX2xpc3QgPSBbCisg ICAgICAgIHsnc2VydmVyX2dyb3VwJzogbnVsbCwnc2VydmVyJzogbnVsbCwgJ2RhdGFiYXNlJzog bnVsbCwgJ3VzZXInOiBudWxsLCAncGFzc3dvcmQnOiBudWxsLCAndGl0bGUnOiAnJmx0O05ldyBD b25uZWN0aW9uJmd0Oyd9LAorICAgICAgXTsKICAgICB9LAogCiAgICAgLy8gQmluZCBhbGwgdGhl IGV2ZW50cwpAQCAtMTUxLDYgKzE1NiwzMCBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsK ICAgICAgICdjbGljayAjYnRuLXJvbGxiYWNrJzogJ29uX3JvbGxiYWNrX3RyYW5zYWN0aW9uJywK ICAgICB9LAogCisgICAgcmVuZGVyX2Nvbm5lY3Rpb246IGZ1bmN0aW9uKGRhdGFfbGlzdCkgewor ICAgICAgdmFyIGRyb3Bkb3duRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25u ZWN0aW9ucy1saXN0Jyk7CisgICAgICBkcm9wZG93bkVsZW1lbnQuaW5uZXJIVE1MID0gJyc7Cisg ICAgICBkYXRhX2xpc3QuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4geworICAgICAgICAkKCcj Y29ubmVjdGlvbnMtbGlzdCcpLmFwcGVuZCgnPGxpIGNsYXNzPSJjb25uZWN0aW9uLWxpc3QtaXRl bSIgZGF0YS1pbmRleD0nKyBpbmRleCArJz48YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0i IyIgdGFiaW5kZXg9IjAiPicrIG9wdGlvbi50aXRsZSArJzwvYT48L2xpPicpOworCisgICAgICB9 KTsKKyAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAgICQoJy5jb25uZWN0aW9uLWxpc3QtaXRl bScpLmNsaWNrKGZ1bmN0aW9uKCkgeworICAgICAgICBzZWxmLmdldF9jb25uZWN0aW9uX2RhdGEo dGhpcyk7CisgICAgICB9KTsKKyAgICB9LAorCisgICAgZ2V0X2Nvbm5lY3Rpb25fZGF0YTogZnVu Y3Rpb24oZXZlbnQpeworICAgICAgdmFyIGluZGV4ID0gJChldmVudCkuYXR0cignZGF0YS1pbmRl eCcpOworICAgICAgdmFyIGNvbm5lY3Rpb25fZGV0YWlscyA9IHRoaXMuY29ubmVjdGlvbl9saXN0 W2luZGV4XTsKKyAgICAgIGlmKGNvbm5lY3Rpb25fZGV0YWlscy5zZXJ2ZXJfZ3JvdXApIHsKKyAg ICAgICAgdGhpcy5vbl9jaGFuZ2VfY29ubmVjdGlvbihjb25uZWN0aW9uX2RldGFpbHMpOworICAg ICAgfSBlbHNlIHsKKyAgICAgICAgdGhpcy5vbl9uZXdfY29ubmVjdGlvbigpOworICAgICAgfQor CisgICAgfSwKKwogICAgIHJlZmxlY3RQcmVmZXJlbmNlczogZnVuY3Rpb24oKSB7CiAgICAgICBs ZXQgc2VsZiA9IHRoaXMsCiAgICAgICAgIGJyb3dzZXIgPSBwZ1dpbmRvdy5kZWZhdWx0LnBnQWRt aW4uQnJvd3NlciwKQEAgLTE5OSw4ICsyMjgsMTUgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wn LCBbCiAgICAgICB9KTsKICAgICB9LAogCi0gICAgc2V0X2VkaXRvcl90aXRsZTogZnVuY3Rpb24o dGl0bGUpIHsKLSAgICAgIHRoaXMuJGVsLmZpbmQoJy5lZGl0b3ItdGl0bGUnKS50ZXh0KHRpdGxl KTsKKyAgICBzZXRfZWRpdG9yX3RpdGxlOiBmdW5jdGlvbih0aXRsZSwgaXNfY29ubmVjdGVkKSB7 CisgICAgICBpZihpc19jb25uZWN0ZWQpIHsKKyAgICAgICAgdGhpcy4kZWwuZmluZCgnLmVkaXRv ci10aXRsZScpLnRleHQodGl0bGUpOworICAgICAgICB0aGlzLnJlbmRlcl9jb25uZWN0aW9uKHRo aXMuY29ubmVjdGlvbl9saXN0KTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHRoaXMuJGVsLmZp bmQoJy5lZGl0b3ItdGl0bGUnKS50ZXh0KHRpdGxlKTsKKyAgICAgICAgdGhpcy5yZW5kZXJfY29u bmVjdGlvbih0aGlzLmNvbm5lY3Rpb25fbGlzdCk7CisgICAgICB9CisKICAgICB9LAogCiAgICAg Ly8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHJlbmRlciB0aGUgdGVtcGxhdGUuCkBAIC02ODQs NiArNzIwLDggQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICAgICBwZ0Jyb3dzZXIu cmVnaXN0ZXJfdG9fYWN0aXZpdHlfbGlzdGVuZXIoZG9jdW1lbnQsICgpPT57CiAgICAgICAgIGFs ZXJ0aWZ5LmFsZXJ0KGdldHRleHQoJ1RpbWVvdXQnKSwgZ2V0dGV4dCgnWW91ciBzZXNzaW9uIGhh cyB0aW1lZCBvdXQgZHVlIHRvIGluYWN0aXZpdHkuIFBsZWFzZSBjbG9zZSB0aGUgd2luZG93IGFu ZCBsb2dpbiBhZ2Fpbi4nKSk7CiAgICAgICB9KTsKKworICAgICAgc2VsZi5yZW5kZXJfY29ubmVj dGlvbihzZWxmLmNvbm5lY3Rpb25fbGlzdCk7CiAgICAgfSwKIAogICAgIC8qIFJlZ2FyZGluZyBT bGlja0dyaWQgdXNhZ2UgaW4gcmVuZGVyX2dyaWQgZnVuY3Rpb24uCkBAIC0xNTk1LDYgKzE2MzMs MTcgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICAgICApOwogICAgIH0sCiAKKyAg ICBvbl9uZXdfY29ubmVjdGlvbjogZnVuY3Rpb24oKSB7CisgICAgICB2YXIgc2VsZiA9IHRoaXM7 CisKKyAgICAgIC8vIFRyaWdnZXIgdGhlIHNob3dfZmlsdGVyIHNpZ25hbCB0byB0aGUgU3FsRWRp dG9yQ29udHJvbGxlciBjbGFzcworICAgICAgc2VsZi5oYW5kbGVyLnRyaWdnZXIoCisgICAgICAg ICdwZ2FkbWluLXNxbGVkaXRvcjpidXR0b246c2hvd19uZXdfY29ubmVjdGlvbicsCisgICAgICAg IHNlbGYsCisgICAgICAgIHNlbGYuaGFuZGxlcgorICAgICAgKTsKKyAgICB9LAorCiAgICAgLy8g Q2FsbGJhY2sgZnVuY3Rpb24gZm9yIGluY2x1ZGUgZmlsdGVyIGJ1dHRvbiBjbGljay4KICAgICBv bl9pbmNsdWRlX2ZpbHRlcjogZnVuY3Rpb24oZXYpIHsKICAgICAgIHZhciBzZWxmID0gdGhpczsK QEAgLTIwMzgsNiArMjA4Nyw1NSBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKIAogICAg ICAgcXVlcnlUb29sQWN0aW9ucy5leGVjdXRlUm9sbGJhY2sodGhpcy5oYW5kbGVyKTsKICAgICB9 LAorICAgIG9uX2NoYW5nZV9jb25uZWN0aW9uOiBmdW5jdGlvbihjb25uZWN0aW9uX2RldGFpbHMs IHJlZikgeworICAgICAgdmFyIHNlbGYgPSB0aGlzOworICAgICAgJC5hamF4KHsKKyAgICAgICAg dXJsOiB1cmxfZm9yKCdkYXRhZ3JpZC51cGRhdGVfcXVlcnlfdG9vbF9jb25uZWN0aW9uJywgewor ICAgICAgICAgICd0cmFuc19pZCc6IHNlbGYudHJhbnNJZCwKKyAgICAgICAgICAnc2dpZCc6IGNv bm5lY3Rpb25fZGV0YWlsc1snc2VydmVyX2dyb3VwJ10sCisgICAgICAgICAgJ3NpZCc6IGNvbm5l Y3Rpb25fZGV0YWlsc1snc2VydmVyJ10sCisgICAgICAgICAgJ2RpZCc6IGNvbm5lY3Rpb25fZGV0 YWlsc1snZGF0YWJhc2UnXSwKKyAgICAgICAgfSksCisgICAgICAgIG1ldGhvZDogJ1BPU1QnLAor ICAgICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLAorICAgICAgICBkYXRhOiBK U09OLnN0cmluZ2lmeShjb25uZWN0aW9uX2RldGFpbHMpLAorICAgICAgfSkKKyAgICAgICAgLmRv bmUoZnVuY3Rpb24ocmVzKSB7CisgICAgICAgICAgaWYocmVzLnN1Y2Nlc3MpIHsKKyAgICAgICAg ICAgIHNlbGYudHJhbnNJZCA9IHJlcy5kYXRhLnRyYW5faWQ7CisgICAgICAgICAgICBzZWxmLmhh bmRsZXIudHJhbnNJZCA9IHJlcy5kYXRhLnRyYW5faWQ7CisgICAgICAgICAgICBzZWxmLmhhbmRs ZXIudXJsX3BhcmFtcyA9IHsKKyAgICAgICAgICAgICAgJ2RpZCc6IGNvbm5lY3Rpb25fZGV0YWls c1snZGF0YWJhc2UnXSwKKyAgICAgICAgICAgICAgJ2lzX3F1ZXJ5X3Rvb2wnOiBzZWxmLmhhbmRs ZXIudXJsX3BhcmFtcy5pc19xdWVyeV90b29sLAorICAgICAgICAgICAgICAnc2VydmVyX3R5cGUn OiBzZWxmLmhhbmRsZXIudXJsX3BhcmFtcy5zZXJ2ZXJfdHlwZSwKKyAgICAgICAgICAgICAgJ3Nn aWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3NlcnZlcl9ncm91cCddLAorICAgICAgICAgICAgICAn c2lkJzogY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXInXSwKKyAgICAgICAgICAgICAgJ3RpdGxl JzogY29ubmVjdGlvbl9kZXRhaWxzWyd0aXRsZSddLAorICAgICAgICAgICAgfTsKKyAgICAgICAg ICAgIHNlbGYuc2V0X2VkaXRvcl90aXRsZShzZWxmLmhhbmRsZXIudXJsX3BhcmFtcy50aXRsZSk7 CisgICAgICAgICAgICBzZWxmLmhhbmRsZXIuc2V0VGl0bGUoc2VsZi5oYW5kbGVyLnVybF9wYXJh bXMudGl0bGUpOworICAgICAgICAgICAgYWxlcnRpZnkuc3VjY2VzcygnY29ubmVjdGVkIHN1Y2Nl c3NmdWxseScpOworICAgICAgICAgICAgaWYocmVmKXsKKyAgICAgICAgICAgICAgbGV0IGNvbm5l Y3Rpb25fZGF0YSA9IHsKKyAgICAgICAgICAgICAgICAnc2VydmVyX2dyb3VwJzogc2VsZi5oYW5k bGVyLnVybF9wYXJhbXMuc2dpZCwKKyAgICAgICAgICAgICAgICAnc2VydmVyJzogY29ubmVjdGlv bl9kZXRhaWxzWydzZXJ2ZXInXSwKKyAgICAgICAgICAgICAgICAnZGF0YWJhc2UnOiBjb25uZWN0 aW9uX2RldGFpbHNbJ2RhdGFiYXNlJ10sCisgICAgICAgICAgICAgICAgJ3VzZXInOiBjb25uZWN0 aW9uX2RldGFpbHNbJ3VzZXInXSwKKyAgICAgICAgICAgICAgICAncGFzc3dvcmQnOiBjb25uZWN0 aW9uX2RldGFpbHNbJ3Bhc3N3b3JkJ10sCisgICAgICAgICAgICAgICAgJ3RpdGxlJzogY29ubmVj dGlvbl9kZXRhaWxzWyd0aXRsZSddLAorICAgICAgICAgICAgICAgICdpc19hbGxvd19uZXdfY29u bmVjdGlvbic6IHRydWUsCisgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgIHNlbGYuY29u bmVjdGlvbl9saXN0LnVuc2hpZnQoY29ubmVjdGlvbl9kYXRhKTsKKyAgICAgICAgICAgICAgc2Vs Zi5yZW5kZXJfY29ubmVjdGlvbihzZWxmLmNvbm5lY3Rpb25fbGlzdCk7CisgICAgICAgICAgICAg IHJlZi5jbG9zZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKworICAgICAgICB9KQor ICAgICAgICAuZmFpbChmdW5jdGlvbih4aHIpIHsKKyAgICAgICAgICBhbGVydGlmeS5lcnJvcih4 aHIucmVzcG9uc2VKU09OWydlcnJvcm1zZyddKTsKKyAgICAgICAgfSk7CisgICAgfSwKICAgfSk7 CiAKICAgLyogRGVmaW5pbmcgY29udHJvbGxlciBjbGFzcyBmb3IgZGF0YSBncmlkLCB3aGljaCBh Y3R1YWxseQpAQCAtMjM1Nyw3ICsyNDU1LDE4IEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywg WwogICAgICAgICAgIH0pOwogCiAgICAgICAgICAgJCgnI2J0bi1jb25uLXN0YXR1cyBpJykucmVt b3ZlQ2xhc3MoJ29idGFpbmluZy1jb25uJyk7Ci0gICAgICAgICAgc2VsZi5ncmlkVmlldy5zZXRf ZWRpdG9yX3RpdGxlKF8udW5lc2NhcGUodXJsX3BhcmFtcy50aXRsZSkpOworICAgICAgICAgIHNl bGYuZ3JpZFZpZXcuc2V0X2VkaXRvcl90aXRsZShfLnVuZXNjYXBlKHVybF9wYXJhbXMudGl0bGUp LCB0cnVlKTsKKyAgICAgICAgICBsZXQgY29ubmVjdGlvbl9kYXRhID0geworICAgICAgICAgICAg J3NlcnZlcl9ncm91cCc6IHNlbGYuZ3JpZFZpZXcuaGFuZGxlci51cmxfcGFyYW1zLnNnaWQsCisg ICAgICAgICAgICAnc2VydmVyJzogc2VsZi5ncmlkVmlldy5oYW5kbGVyLnVybF9wYXJhbXMuc2lk LAorICAgICAgICAgICAgJ2RhdGFiYXNlJzogc2VsZi5ncmlkVmlldy5oYW5kbGVyLnVybF9wYXJh bXMuZGlkLAorICAgICAgICAgICAgJ3VzZXInOiBudWxsLAorICAgICAgICAgICAgJ3Bhc3N3b3Jk JzogbnVsbCwKKyAgICAgICAgICAgICd0aXRsZSc6IF8udW5lc2NhcGUodXJsX3BhcmFtcy50aXRs ZSksCisgICAgICAgICAgICAnaXNfYWxsb3dfbmV3X2Nvbm5lY3Rpb24nOiBmYWxzZSwKKyAgICAg ICAgICB9OworICAgICAgICAgIHNlbGYuZ3JpZFZpZXcuY29ubmVjdGlvbl9saXN0LnVuc2hpZnQo Y29ubmVjdGlvbl9kYXRhKTsKKyAgICAgICAgICBzZWxmLmdyaWRWaWV3LnJlbmRlcl9jb25uZWN0 aW9uKHNlbGYuZ3JpZFZpZXcuY29ubmVjdGlvbl9saXN0KTsKICAgICAgICAgfTsKIAogICAgICAg ICBwZ0Jyb3dzZXIuRXZlbnRzLm9uKCdwZ2FkbWluOnF1ZXJ5X3Rvb2w6Y29ubmVjdGVkOicgKyB0 cmFuc0lkLCBhZnRlckNvbm4pOwpAQCAtMjQ1Miw2ICsyNTYxLDcgQEAgZGVmaW5lKCd0b29scy5x dWVyeXRvb2wnLCBbCiAgICAgICAgIHNlbGYub24oJ3BnYWRtaW4tc3FsZWRpdG9yOmJ1dHRvbjpz YXZlX2ZpbGUnLCBzZWxmLl9zYXZlX2ZpbGUsIHNlbGYpOwogICAgICAgICBzZWxmLm9uKCdwZ2Fk bWluLXNxbGVkaXRvcjpidXR0b246ZGVsZXRlcm93Jywgc2VsZi5fZGVsZXRlLCBzZWxmKTsKICAg ICAgICAgc2VsZi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0dG9uOnNob3dfZmlsdGVyJywgc2Vs Zi5fc2hvd19maWx0ZXIsIHNlbGYpOworICAgICAgICBzZWxmLm9uKCdwZ2FkbWluLXNxbGVkaXRv cjpidXR0b246c2hvd19uZXdfY29ubmVjdGlvbicsIHNlbGYuX3Nob3dfbmV3X2Nvbm5lY3Rpb24s IHNlbGYpOwogICAgICAgICBzZWxmLm9uKCdwZ2FkbWluLXNxbGVkaXRvcjpidXR0b246aW5jbHVk ZV9maWx0ZXInLCBzZWxmLl9pbmNsdWRlX2ZpbHRlciwgc2VsZik7CiAgICAgICAgIHNlbGYub24o J3BnYWRtaW4tc3FsZWRpdG9yOmJ1dHRvbjpleGNsdWRlX2ZpbHRlcicsIHNlbGYuX2V4Y2x1ZGVf ZmlsdGVyLCBzZWxmKTsKICAgICAgICAgc2VsZi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0dG9u OnJlbW92ZV9maWx0ZXInLCBzZWxmLl9yZW1vdmVfZmlsdGVyLCBzZWxmKTsKQEAgLTM2MjIsNyAr MzczMiw2IEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICAgICAgICAgIH0KICAgICAg ICAgfTsKICAgICAgIH0sCi0KICAgICAgIC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBzaG93IHRoZSBm aWx0ZXIgaW4gdGhlIHRleHQgYXJlYS4KICAgICAgIF9zaG93X2ZpbHRlcjogZnVuY3Rpb24oKSB7 CiAgICAgICAgIGxldCBzZWxmID0gdGhpcywKQEAgLTM2MzcsNyArMzc0NiwxOSBAQCBkZWZpbmUo J3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKICAgICAgICAgfQogICAgICAgICBGaWx0ZXJIYW5kbGVyLmRp YWxvZyhzZWxmLCByZWNvbm5lY3QpOwogICAgICAgfSwKKyAgICAgIC8vIFRoaXMgZnVuY3Rpb24g d2lsbCBzaG93IHRoZSBuZXcgY29ubmVjdGlvbi4KKyAgICAgIF9zaG93X25ld19jb25uZWN0aW9u OiBmdW5jdGlvbigpIHsKKyAgICAgICAgbGV0IHNlbGYgPSB0aGlzLAorICAgICAgICAgIHJlY29u bmVjdCA9IGZhbHNlOwogCisgICAgICAgIC8qIFdoZW4gc2VydmVyIGlzIGRpc2Nvbm5lY3RlZCBh bmQgY29ubmVjdGVkLCBjb25uZWN0aW9uIGlzIGxvc3QsCisgICAgICAgICAqIFRvIHJlY29ubmVj dCBwYXNzIHRydWUKKyAgICAgICAgICovCisgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4g MCAmJiBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID09ICdjb25uZWN0JykgeworICAg ICAgICAgIHJlY29ubmVjdCA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgbmV3Q29ubmVjdGlv bkhhbmRsZXIuZGlhbG9nKHNlbGYsIHJlY29ubmVjdCk7CisgICAgICB9LAogICAgICAgLy8gVGhp cyBmdW5jdGlvbiB3aWxsIGluY2x1ZGUgdGhlIGZpbHRlciBieSBzZWxlY3Rpb24uCiAgICAgICBf aW5jbHVkZV9maWx0ZXI6IGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL3Njc3MvX3NxbGVk aXRvci5zY3NzIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9zY3NzL19zcWxl ZGl0b3Iuc2NzcwppbmRleCBmZDFlNWQzLi41M2YyNDQ5IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi90b29scy9zcWxlZGl0b3Ivc3RhdGljL3Njc3MvX3NxbGVkaXRvci5zY3NzCisrKyBiL3dlYi9w Z2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvc2Nzcy9fc3FsZWRpdG9yLnNjc3MKQEAgLTMw LDYgKzMwLDE5IEBACiAgIGNvbG9yOiAkc3FsLXRpdGxlLWZnOwogfQogCisuY29ubmVjdGlvbi1p bmZvIHsKKyAgYmFja2dyb3VuZDogJHNxbC10aXRsZS1iZzsKKyAgY29sb3I6ICRzcWwtdGl0bGUt Zmc7CisgIHdpZHRoOjEwMCU7CisgIGRpc3BsYXk6IGluaGVyaXQ7Cit9CisKKy5jb25uLWluZm8t ZGQgeworICBwYWRkaW5nLXRvcDogMC4zZW07CisgIHBhZGRpbmctbGVmdDogMC4yZW07CisgIGN1 cnNvcjogcG9pbnRlcjsKK30KKwogCiAjZWRpdG9yLXBhbmVsIHsKICAgei1pbmRleDogMDsKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci90ZXN0cy90ZXN0X25ld19jb25u ZWN0aW9uX2RhdGFiYXNlLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3Rlc3RzL3Rl c3RfbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uMjBmZTNlMwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3Nx bGVkaXRvci90ZXN0cy90ZXN0X25ld19jb25uZWN0aW9uX2RhdGFiYXNlLnB5CkBAIC0wLDAgKzEs OTggQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9v bHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1l bnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FM IExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCitmcm9tIHBnYWRt aW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24g aW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3NldHVwIGltcG9y dCBjb25maWdfZGF0YQorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0 ZXN0X3V0aWxzIGFzIHV0aWxzCisKKworY2xhc3MgVGVzdE5ld0Nvbm5lY3Rpb25EYXRhYmFzZShC YXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCB0ZXN0IG5ldyBjb25u ZWN0aW9uIGRhdGFiYXNlLiAiIiIKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICgnTmV3IGNv bm5lY3Rpb24gZGlhbG9nJywKKyAgICAgICAgIGRpY3QoCisgICAgICAgICAgICAgdXJsPSIvc3Fs ZWRpdG9yL25ld19jb25uZWN0aW9uX2RhdGFiYXNlLyIsCisgICAgICAgICAgICAgaXNfcG9zaXRp dmVfdGVzdD1UcnVlLAorICAgICAgICAgICAgIG1vY2tpbmdfcmVxdWlyZWQ9RmFsc2UsCisgICAg ICAgICAgICAgaXNfc2VydmVyX2Nvbm5fcmVxdWlyZWQ9RmFsc2UsCisgICAgICAgICAgICAgdGVz dF9kYXRhPXt9LAorICAgICAgICAgICAgIG1vY2tfZGF0YT17fSwKKyAgICAgICAgICAgICBleHBl Y3RlZF9kYXRhPXsKKyAgICAgICAgICAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICAg ICAgICAgfQorICAgICAgICAgKSksCisgICAgICAgICgnTmV3IGNvbm5lY3Rpb24gZGlhbG9nIGNv bm5lY3Qgc2VydmVyJywKKyAgICAgICAgIGRpY3QoCisgICAgICAgICAgICAgdXJsPSIvc3FsZWRp dG9yL25ld19jb25uZWN0aW9uX2RhdGFiYXNlLyIsCisgICAgICAgICAgICAgaXNfcG9zaXRpdmVf dGVzdD1UcnVlLAorICAgICAgICAgICAgIG1vY2tpbmdfcmVxdWlyZWQ9RmFsc2UsCisgICAgICAg ICAgICAgaXNfc2VydmVyX2Nvbm5fcmVxdWlyZWQ9VHJ1ZSwKKyAgICAgICAgICAgICB0ZXN0X2Rh dGE9e30sCisgICAgICAgICAgICAgbW9ja19kYXRhPXt9LAorICAgICAgICAgICAgIGV4cGVjdGVk X2RhdGE9eworICAgICAgICAgICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgICAgICAg ICB9CisgICAgICAgICApKSwKKyAgICAgICAgKCdOZXcgY29ubmVjdGlvbiBkaWFsb2cgbmVnYXRp dmUnLAorICAgICAgICAgZGljdCgKKyAgICAgICAgICAgICB1cmw9Ii9zcWxlZGl0b3IvbmV3X2Nv bm5lY3Rpb25fZGF0YWJhc2UvIiwKKyAgICAgICAgICAgICBpc19wb3NpdGl2ZV90ZXN0PUZhbHNl LAorICAgICAgICAgICAgIG1vY2tpbmdfcmVxdWlyZWQ9RmFsc2UsCisgICAgICAgICAgICAgaXNf c2VydmVyX2Nvbm5fcmVxdWlyZWQ9VHJ1ZSwKKyAgICAgICAgICAgICB0ZXN0X2RhdGE9e30sCisg ICAgICAgICAgICAgbW9ja19kYXRhPXt9LAorICAgICAgICAgICAgIGV4cGVjdGVkX2RhdGE9ewor ICAgICAgICAgICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgICAgICAgICB9CisgICAg ICAgICApKSwKKyAgICBdCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuc2lk ID0gcGFyZW50X25vZGVfZGljdFsic2VydmVyIl1bLTFdWyJzZXJ2ZXJfaWQiXQorICAgICAgICBz ZWxmLnNnaWQgPSBjb25maWdfZGF0YVsnc2VydmVyX2dyb3VwJ10KKworICAgIGRlZiBnZXRfZGF0 YWJhc2Uoc2VsZik6CisgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KAorICAgICAg ICAgICAgc2VsZi51cmwgKyBzdHIoc2VsZi5zZ2lkKSArICcvJyArIHN0cihzZWxmLnNpZCksCisg ICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicKKyAgICAgICAgKQorCisgICAgICAg IHJldHVybiByZXNwb25zZQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgIGlmIHNl bGYuaXNfcG9zaXRpdmVfdGVzdDoKKyAgICAgICAgICAgIGlmIHNlbGYuaXNfc2VydmVyX2Nvbm5f cmVxdWlyZWQ6CisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3Bhc3N3b3JkJ10gPSBzZWxm LnNlcnZlclsnZGJfcGFzc3dvcmQnXQorICAgICAgICAgICAgICAgIHNlcnZlcl9yZXNwb25zZSA9 IHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICAgICAgICAgICcvYnJvd3Nlci9zZXJ2ZXIv Y29ubmVjdC97MH0vezF9Jy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICAgICB1dGlscy5T RVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZCksCisgICAgICAg ICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhzZWxmLnNlcnZlciksCisgICAgICAgICAgICAg ICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICAgICAgICAgICkKKyAgICAg ICAgICAgIHJlc3BvbnNlID0gc2VsZi5nZXRfZGF0YWJhc2UoKQorICAgICAgICAgICAgYWN0dWFs X3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29kZQorICAgICAgICAgICAgZXhwZWN0 ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorICAg ICAgICBlbHNlOgorICAgICAgICAgICAgaWYgc2VsZi5pc19zZXJ2ZXJfY29ubl9yZXF1aXJlZDoK KyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsncGFzc3dvcmQnXSA9IHNlbGYuc2VydmVyWydk Yl9wYXNzd29yZCddCisgICAgICAgICAgICAgICAgc2VydmVyX3Jlc3BvbnNlID0gc2VsZi50ZXN0 ZXIucG9zdCgKKyAgICAgICAgICAgICAgICAgICAgJy9icm93c2VyL3NlcnZlci9jb25uZWN0L3sw fS97MX0nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxzLlNFUlZFUl9HUk9V UCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkKSwKKyAgICAgICAgICAgICAgICAg ICAgZGF0YT1qc29uLmR1bXBzKHNlbGYuc2VydmVyKSwKKyAgICAgICAgICAgICAgICAgICAgY29u dGVudF90eXBlPSdodG1sL2pzb24nCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgc2Vs Zi5zaWQgPSAwCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuZ2V0X2RhdGFiYXNlKCkKKyAg ICAgICAgICAgIGFjdHVhbF9yZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAg ICAgICAgICAgIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0 YXR1c19jb2RlJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29k ZSwgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xz L3NxbGVkaXRvci90ZXN0cy90ZXN0X25ld19jb25uZWN0aW9uX2RpYWxvZy5weSBiL3dlYi9wZ2Fk bWluL3Rvb2xzL3NxbGVkaXRvci90ZXN0cy90ZXN0X25ld19jb25uZWN0aW9uX2RpYWxvZy5weQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWE0N2VmCi0tLSAvZGV2L251bGwK KysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3Rlc3RzL3Rlc3RfbmV3X2Nvbm5lY3Rp b25fZGlhbG9nLnB5CkBAIC0wLDAgKzEsNTAgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBn QWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAy MCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVh c2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitp bXBvcnQganNvbgorZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVy YXRvcgorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jl c3Npb24udGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcmVncmVzc2lvbi5weXRo b25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworCisKK2NsYXNzIFRlc3RO ZXdDb25uZWN0aW9uRGlhbG9nKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIgVGhpcyBjbGFz cyB3aWxsIHRlc3QgbmV3IGNvbm5lY3Rpb24gZGlhbG9nLiAiIiIKKyAgICBzY2VuYXJpb3MgPSBb CisgICAgICAgICgnTmV3IGNvbm5lY3Rpb24gZGlhbG9nJywKKyAgICAgICAgIGRpY3QoCisgICAg ICAgICAgICAgdXJsPSIvc3FsZWRpdG9yL25ld19jb25uZWN0aW9uX2RpYWxvZy8iLAorICAgICAg ICAgICAgIGlzX3Bvc2l0aXZlX3Rlc3Q9VHJ1ZSwKKyAgICAgICAgICAgICBtb2NraW5nX3JlcXVp cmVkPUZhbHNlLAorICAgICAgICAgICAgIGlzX2Nvbm5lY3Rfc2VydmVyPUZhbHNlLAorICAgICAg ICAgICAgIHRlc3RfZGF0YT17fSwKKyAgICAgICAgICAgICBtb2NrX2RhdGE9e30sCisgICAgICAg ICAgICAgZXhwZWN0ZWRfZGF0YT17CisgICAgICAgICAgICAgICAgICJzdGF0dXNfY29kZSI6IDIw MAorICAgICAgICAgICAgIH0KKyAgICAgICAgICkpLAorICAgIF0KKworICAgIGRlZiBzZXRVcChz ZWxmKToKKyAgICAgICAgc2VsZi5zaWQgPSBwYXJlbnRfbm9kZV9kaWN0WyJzZXJ2ZXIiXVstMV1b InNlcnZlcl9pZCJdCisgICAgICAgIHNlbGYuc2dpZCA9IGNvbmZpZ19kYXRhWydzZXJ2ZXJfZ3Jv dXAnXQorCisgICAgZGVmIG5ld19jb25uZWN0aW9uKHNlbGYpOgorICAgICAgICByZXNwb25zZSA9 IHNlbGYudGVzdGVyLmdldCgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHNlbGYuc2dpZCkg KyAnLycgKyBzdHIoc2VsZi5zZ2lkKSwKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJworICAgICAgICApCisKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlCisKKyAgICBkZWYgcnVu VGVzdChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAgICAgICAg ICAgcmVzcG9uc2UgPSBzZWxmLm5ld19jb25uZWN0aW9uKCkKKyAgICAgICAgICAgIGFjdHVhbF9y ZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgICAgIGV4cGVjdGVk X3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jl c3BvbnNlX2NvZGUpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdGVz dHMvdGVzdF9uZXdfY29ubmVjdGlvbl91c2VyLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRp dG9yL3Rlc3RzL3Rlc3RfbmV3X2Nvbm5lY3Rpb25fdXNlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi43YjZjMTJlCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4v dG9vbHMvc3FsZWRpdG9yL3Rlc3RzL3Rlc3RfbmV3X2Nvbm5lY3Rpb25fdXNlci5weQpAQCAtMCww ICsxLDk4IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FM IFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVs b3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdy ZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpbXBvcnQganNvbgorZnJvbSBw Z2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJvbSByZWdyZXNz aW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jlc3Npb24udGVzdF9zZXR1cCBp bXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBv cnQgdGVzdF91dGlscyBhcyB1dGlscworCisKK2NsYXNzIFRlc3ROZXdDb25uZWN0aW9uVXNlcihC YXNlVGVzdEdlbmVyYXRvcik6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCB0ZXN0IG5ldyBjb25u ZWN0aW9uIHVzZXIuICIiIgorICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAgKCdOZXcgY29ubmVj dGlvbiBkaWFsb2cnLAorICAgICAgICAgZGljdCgKKyAgICAgICAgICAgICB1cmw9Ii9zcWxlZGl0 b3IvbmV3X2Nvbm5lY3Rpb25fdXNlci8iLAorICAgICAgICAgICAgIGlzX3Bvc2l0aXZlX3Rlc3Q9 VHJ1ZSwKKyAgICAgICAgICAgICBtb2NraW5nX3JlcXVpcmVkPUZhbHNlLAorICAgICAgICAgICAg IGlzX3NlcnZlcl9jb25uX3JlcXVpcmVkPUZhbHNlLAorICAgICAgICAgICAgIHRlc3RfZGF0YT17 fSwKKyAgICAgICAgICAgICBtb2NrX2RhdGE9e30sCisgICAgICAgICAgICAgZXhwZWN0ZWRfZGF0 YT17CisgICAgICAgICAgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgICAgICAgIH0K KyAgICAgICAgICkpLAorICAgICAgICAoJ05ldyBjb25uZWN0aW9uIGRpYWxvZyBjb25uZWN0IHNl cnZlcicsCisgICAgICAgICBkaWN0KAorICAgICAgICAgICAgIHVybD0iL3NxbGVkaXRvci9uZXdf Y29ubmVjdGlvbl91c2VyLyIsCisgICAgICAgICAgICAgaXNfcG9zaXRpdmVfdGVzdD1UcnVlLAor ICAgICAgICAgICAgIG1vY2tpbmdfcmVxdWlyZWQ9RmFsc2UsCisgICAgICAgICAgICAgaXNfc2Vy dmVyX2Nvbm5fcmVxdWlyZWQ9VHJ1ZSwKKyAgICAgICAgICAgICB0ZXN0X2RhdGE9e30sCisgICAg ICAgICAgICAgbW9ja19kYXRhPXt9LAorICAgICAgICAgICAgIGV4cGVjdGVkX2RhdGE9eworICAg ICAgICAgICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgICAgICAgICB9CisgICAgICAg ICApKSwKKyAgICAgICAgKCdOZXcgY29ubmVjdGlvbiBkaWFsb2cgbmVnYXRpdmUnLAorICAgICAg ICAgZGljdCgKKyAgICAgICAgICAgICB1cmw9Ii9zcWxlZGl0b3IvbmV3X2Nvbm5lY3Rpb25fdXNl ci8iLAorICAgICAgICAgICAgIGlzX3Bvc2l0aXZlX3Rlc3Q9RmFsc2UsCisgICAgICAgICAgICAg bW9ja2luZ19yZXF1aXJlZD1GYWxzZSwKKyAgICAgICAgICAgICBpc19zZXJ2ZXJfY29ubl9yZXF1 aXJlZD1UcnVlLAorICAgICAgICAgICAgIHRlc3RfZGF0YT17fSwKKyAgICAgICAgICAgICBtb2Nr X2RhdGE9e30sCisgICAgICAgICAgICAgZXhwZWN0ZWRfZGF0YT17CisgICAgICAgICAgICAgICAg ICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgICAgICAgIH0KKyAgICAgICAgICkpLAorICAgIF0K KworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5zaWQgPSBwYXJlbnRfbm9kZV9k aWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZlcl9pZCJdCisgICAgICAgIHNlbGYuc2dpZCA9IGNvbmZp Z19kYXRhWydzZXJ2ZXJfZ3JvdXAnXQorCisgICAgZGVmIGdldF91c2Uoc2VsZik6CisgICAgICAg IHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KAorICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIo c2VsZi5zZ2lkKSArICcvJyArIHN0cihzZWxmLnNpZCksCisgICAgICAgICAgICBjb250ZW50X3R5 cGU9J2h0bWwvanNvbicKKyAgICAgICAgKQorCisgICAgICAgIHJldHVybiByZXNwb25zZQorCisg ICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoK KyAgICAgICAgICAgIGlmIHNlbGYuaXNfc2VydmVyX2Nvbm5fcmVxdWlyZWQ6CisgICAgICAgICAg ICAgICAgc2VsZi5zZXJ2ZXJbJ3Bhc3N3b3JkJ10gPSBzZWxmLnNlcnZlclsnZGJfcGFzc3dvcmQn XQorICAgICAgICAgICAgICAgIHNlcnZlcl9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCisg ICAgICAgICAgICAgICAgICAgICcvYnJvd3Nlci9zZXJ2ZXIvY29ubmVjdC97MH0vezF9Jy5mb3Jt YXQoCisgICAgICAgICAgICAgICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLnNpZCksCisgICAgICAgICAgICAgICAgICAgIGRhdGE9anNv bi5kdW1wcyhzZWxmLnNlcnZlciksCisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJworICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi5nZXRfdXNlKCkKKyAgICAgICAgICAgIGFjdHVhbF9yZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uu c3RhdHVzX2NvZGUKKyAgICAgICAgICAgIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4 cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlm IHNlbGYuaXNfc2VydmVyX2Nvbm5fcmVxdWlyZWQ6CisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2 ZXJbJ3Bhc3N3b3JkJ10gPSBzZWxmLnNlcnZlclsnZGJfcGFzc3dvcmQnXQorICAgICAgICAgICAg ICAgIHNlcnZlcl9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICAgICAg ICAgICcvYnJvd3Nlci9zZXJ2ZXIvY29ubmVjdC97MH0vezF9Jy5mb3JtYXQoCisgICAgICAgICAg ICAgICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLnNpZCksCisgICAgICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhzZWxmLnNl cnZlciksCisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAg ICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuc2lkID0gMAorICAgICAgICAgICAgcmVz cG9uc2UgPSBzZWxmLmdldF91c2UoKQorICAgICAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUg PSByZXNwb25zZS5zdGF0dXNfY29kZQorICAgICAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29k ZSA9IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKGFjdHVhbF9yZXNwb25zZV9jb2RlLCBleHBlY3RlZF9yZXNwb25zZV9jb2RlKQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNvcGcyL2Nvbm5lY3Rpb24ucHkg Yi93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvY29ubmVjdGlvbi5weQppbmRleCA5 Y2I2NWJjLi4xMTU1OThhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5 Y29wZzIvY29ubmVjdGlvbi5weQorKysgYi93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29w ZzIvY29ubmVjdGlvbi5weQpAQCAtMjEsNyArMjEsNyBAQCBpbXBvcnQgcHN5Y29wZzIKIGZyb20g Zmxhc2sgaW1wb3J0IGcsIGN1cnJlbnRfYXBwCiBmcm9tIGZsYXNrX2JhYmVsZXggaW1wb3J0IGdl dHRleHQKIGZyb20gZmxhc2tfc2VjdXJpdHkgaW1wb3J0IGN1cnJlbnRfdXNlcgotZnJvbSBwZ2Fk bWluLnV0aWxzLmNyeXB0byBpbXBvcnQgZGVjcnlwdAorZnJvbSBwZ2FkbWluLnV0aWxzLmNyeXB0 byBpbXBvcnQgZGVjcnlwdCwgZW5jcnlwdAogZnJvbSBwc3ljb3BnMi5leHRlbnNpb25zIGltcG9y dCBlbmNvZGluZ3MKIAogaW1wb3J0IGNvbmZpZwpAQCAtMjExLDggKzIxMSwyMyBAQCBjbGFzcyBD b25uZWN0aW9uKEJhc2VDb25uZWN0aW9uKToKICAgICAgICAgcGFzc3dvcmQgPSBOb25lCiAgICAg ICAgIHBhc3NmaWxlID0gTm9uZQogICAgICAgICBtYW5hZ2VyID0gc2VsZi5tYW5hZ2VyCisgICAg ICAgIGVuY3Bhc3MgPSBOb25lCisgICAgICAgIGlzX3VwZGF0ZV9wYXNzd29yZCA9IFRydWUKKyAg ICAgICAgY3J5cHRfa2V5X3ByZXNlbnQsIGNyeXB0X2tleSA9IGdldF9jcnlwdF9rZXkoKQorCisg ICAgICAgIGlmICd1c2VyJyBpbiBrd2FyZ3MgYW5kIGt3YXJnc1sncGFzc3dvcmQnXToKKyAgICAg ICAgICAgIHBhc3N3b3JkID0ga3dhcmdzWydwYXNzd29yZCddCisgICAgICAgICAgICAjIGt3YXJn c1sncGFzc3dvcmQnXSA9IGVuY3J5cHQocGFzc3dvcmQsIGNyeXB0X2tleSkKKyAgICAgICAgICAg ICcnJworICAgICAgICAgICAgUmVtb3ZlIHRoZSBwYXNzd29yZCBmcm9tIGt3YXJncyBhcyB3ZSBk b24ndCB3YW50IHRvIHVwZGF0ZQorICAgICAgICAgICAgcGFzc3dvcmQgaW4gbWFuYWdlciB3aGVu IHVzZXIgaXMgY29ubmVjdGluZyB0aHJvdWdoIHF1ZXJ5IHRvbGwuCisgICAgICAgICAgICBJZiB3 ZSB1cGRhdGUgcGFzc3dvcmQgaW4gbWFuYWdlciB3aWxsIGFmZmVjdCBleGlzdGluZyBjb25uZWN0 aW9ucy4KKyAgICAgICAgICAgICcnJworICAgICAgICAgICAga3dhcmdzLnBvcCgncGFzc3dvcmQn KQorICAgICAgICAgICAgaXNfdXBkYXRlX3Bhc3N3b3JkID0gRmFsc2UKKyAgICAgICAgZWxzZToK KyAgICAgICAgICAgIGVuY3Bhc3MgPSBrd2FyZ3NbJ3Bhc3N3b3JkJ10gaWYgJ3Bhc3N3b3JkJyBp biBrd2FyZ3MgZWxzZSBOb25lCiAKLSAgICAgICAgZW5jcGFzcyA9IGt3YXJnc1sncGFzc3dvcmQn XSBpZiAncGFzc3dvcmQnIGluIGt3YXJncyBlbHNlIE5vbmUKICAgICAgICAgcGFzc2ZpbGUgPSBr d2FyZ3NbJ3Bhc3NmaWxlJ10gaWYgJ3Bhc3NmaWxlJyBpbiBrd2FyZ3MgZWxzZSBOb25lCiAgICAg ICAgIHR1bm5lbF9wYXNzd29yZCA9IGt3YXJnc1sndHVubmVsX3Bhc3N3b3JkJ10gaWYgJ3R1bm5l bF9wYXNzd29yZCcgaW4gXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGt3YXJncyBlbHNlICcnCkBAIC0yMjcsMTYgKzI0MiwxNiBAQCBjbGFz cyBDb25uZWN0aW9uKEJhc2VDb25uZWN0aW9uKToKICAgICAgICAgaWYgbWFuYWdlci51c2Vfc3No X3R1bm5lbCA9PSAxOgogICAgICAgICAgICAgbWFuYWdlci5jaGVja19zc2hfdHVubmVsX2FsaXZl KCkKIAotICAgICAgICBpZiBlbmNwYXNzIGlzIE5vbmU6Ci0gICAgICAgICAgICBlbmNwYXNzID0g c2VsZi5wYXNzd29yZCBvciBnZXRhdHRyKG1hbmFnZXIsICdwYXNzd29yZCcsIE5vbmUpCisgICAg ICAgIGlmIGlzX3VwZGF0ZV9wYXNzd29yZDoKKyAgICAgICAgICAgIGlmIGVuY3Bhc3MgaXMgTm9u ZToKKyAgICAgICAgICAgICAgICBlbmNwYXNzID0gc2VsZi5wYXNzd29yZCBvciBnZXRhdHRyKG1h bmFnZXIsICdwYXNzd29yZCcsIE5vbmUpCiAKLSAgICAgICAgc2VsZi5wYXNzd29yZCA9IGVuY3Bh c3MKKyAgICAgICAgICAgIHNlbGYucGFzc3dvcmQgPSBlbmNwYXNzCiAKICAgICAgICAgIyBSZXNl dCB0aGUgZXhpc3RpbmcgY29ubmVjdGlvbiBwYXNzd29yZAogICAgICAgICBpZiBzZWxmLnJlY29u bmVjdGluZyBpcyBub3QgRmFsc2U6CiAgICAgICAgICAgICBzZWxmLnBhc3N3b3JkID0gTm9uZQog Ci0gICAgICAgIGNyeXB0X2tleV9wcmVzZW50LCBjcnlwdF9rZXkgPSBnZXRfY3J5cHRfa2V5KCkK ICAgICAgICAgaWYgbm90IGNyeXB0X2tleV9wcmVzZW50OgogICAgICAgICAgICAgcmFpc2UgQ3J5 cHRLZXlNaXNzaW5nKCkKIApAQCAtMjY5LDcgKzI4NCwxMCBAQCBjbGFzcyBDb25uZWN0aW9uKEJh c2VDb25uZWN0aW9uKToKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBkYXRhYmFzZSA9IHNl bGYuZGIKLSAgICAgICAgICAgIHVzZXIgPSBtYW5hZ2VyLnVzZXIKKyAgICAgICAgICAgIGlmICd1 c2VyJyBpbiBrd2FyZ3MgYW5kIGt3YXJnc1sndXNlciddOgorICAgICAgICAgICAgICAgIHVzZXIg PSBrd2FyZ3NbJ3VzZXInXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB1c2Vy ID0gbWFuYWdlci51c2VyCiAgICAgICAgICAgICBjb25uX2lkID0gc2VsZi5jb25uX2lkCiAKICAg ICAgICAgICAgIGltcG9ydCBvcwpAQCAtMzM4LDEwICszNTYsMTAgQEAgY2xhc3MgQ29ubmVjdGlv bihCYXNlQ29ubmVjdGlvbik6CiAgICAgICAgICAgICAgICAgc2VsZi53YXNDb25uZWN0ZWQgPSBG YWxzZQogICAgICAgICAgICAgcmFpc2UgZQogCi0gICAgICAgIGlmIHN0YXR1czoKKyAgICAgICAg aWYgc3RhdHVzIGFuZCBpc191cGRhdGVfcGFzc3dvcmQ6CiAgICAgICAgICAgICBtYW5hZ2VyLl91 cGRhdGVfcGFzc3dvcmQoZW5jcGFzcykKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlmIG5v dCBzZWxmLnJlY29ubmVjdGluZzoKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJlY29ubmVjdGlu ZyBhbmQgaXNfdXBkYXRlX3Bhc3N3b3JkOgogICAgICAgICAgICAgICAgIHNlbGYud2FzQ29ubmVj dGVkID0gRmFsc2UKIAogICAgICAgICByZXR1cm4gc3RhdHVzLCBtc2cKQEAgLTQ5MSw3ICs1MDks NyBAQCBXSEVSRSBkYi5kYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpIiIiKQogICAgICAgICAg ICAgICAgIGlmIGxlbihtYW5hZ2VyLmRiX2luZm8pID09IDE6CiAgICAgICAgICAgICAgICAgICAg IG1hbmFnZXIuZGlkID0gcmVzWydkaWQnXQogCi0gICAgICAgIHNlbGYuX3NldF91c2VyX2luZm8o Y3VyLCBtYW5hZ2VyKQorICAgICAgICBzZWxmLl9zZXRfdXNlcl9pbmZvKGN1ciwgbWFuYWdlciwg Kiprd2FyZ3MpCiAKICAgICAgICAgc2VsZi5fc2V0X3NlcnZlcl90eXBlX2FuZF9wYXNzd29yZChr d2FyZ3MsIG1hbmFnZXIpCiAKQEAgLTQ5OSw3ICs1MTcsNyBAQCBXSEVSRSBkYi5kYXRuYW1lID0g Y3VycmVudF9kYXRhYmFzZSgpIiIiKQogCiAgICAgICAgIHJldHVybiBUcnVlLCBOb25lCiAKLSAg ICBkZWYgX3NldF91c2VyX2luZm8oc2VsZiwgY3VyLCBtYW5hZ2VyKToKKyAgICBkZWYgX3NldF91 c2VyX2luZm8oc2VsZiwgY3VyLCBtYW5hZ2VyLCAqKmt3YXJncyk6CiAgICAgICAgICIiIgogICAg ICAgICBTZXQgdXNlciBpbmZvLgogICAgICAgICA6cGFyYW0gY3VyOgpAQCAtNTE3LDcgKzUzNSw3 IEBAIFdIRVJFIGRiLmRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkiIiIpCiAgICAgICAgIFdI RVJFCiAgICAgICAgICAgICByb2xuYW1lID0gY3VycmVudF91c2VyIiIiKQogCi0gICAgICAgIGlm IHN0YXR1cyBpcyBOb25lOgorICAgICAgICBpZiBzdGF0dXMgaXMgTm9uZSBhbmQgJ3VzZXInIG5v dCBpbiBrd2FyZ3M6CiAgICAgICAgICAgICBtYW5hZ2VyLnVzZXJfaW5mbyA9IGRpY3QoKQogICAg ICAgICAgICAgaWYgY3VyLnJvd2NvdW50ID4gMDoKICAgICAgICAgICAgICAgICBtYW5hZ2VyLnVz ZXJfaW5mbyA9IGN1ci5mZXRjaG1hbnkoMSlbMF0K --000000000000453e3205af801435--