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 1kMtie-0006sb-LT for pgadmin-hackers@arkaria.postgresql.org; Mon, 28 Sep 2020 14:01:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kMtid-0005BD-Dw for pgadmin-hackers@arkaria.postgresql.org; Mon, 28 Sep 2020 14:01:31 +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 1kMtic-0005B6-Db for pgadmin-hackers@lists.postgresql.org; Mon, 28 Sep 2020 14:01:31 +0000 Received: from mail-yb1-xb44.google.com ([2607:f8b0:4864:20::b44]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kMtiU-0003xR-HR for pgadmin-hackers@postgresql.org; Mon, 28 Sep 2020 14:01:28 +0000 Received: by mail-yb1-xb44.google.com with SMTP id 133so986612ybg.11 for ; Mon, 28 Sep 2020 07:01:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=UZWRasAWZXG8IYC4QDcHSIOfm0IECoJPPVDDI8vYLGo=; b=KuSRtyPeLVv8r6Xht7MgXZ17PFZKrAA090N4vwYnLrJHhUbS6SrbHwSMjM5BGoARUf JQGY9Gcq0tMvWhpV7FPA3T3SlaX1y6/x8+w9qiSKyP5SF4/yDvxsmqe2I7yQiP24E1xi rLGxNKy6DIRAp8a/+s71re2AtO71pb2beVIllmHhjn+CZALiHd+WDJvxearNz1+q7nnk X5LzPXwzjG3Z0hgqJLwGu9wejvZRvGwoGSAi0cq4o886//F6QFsgUvAg3EqlUsxuMQ+r rJEjQL2IbyBIndSEvLLaR8DlcaXl2ko+16SGKkGMpJ8B9Bqx29jRmbSBEATTSDAeefQM 07ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UZWRasAWZXG8IYC4QDcHSIOfm0IECoJPPVDDI8vYLGo=; b=n657F1u5egI6sIQTayCcIFVoO97mSq1DxiVmEpHu6dm3p0wyTbA4Je3BpINy293txY eL4UJvDHzzB97244f6apVOqWzqfd+D/iyx2C6RV8cgeLSIVnajI9SPuJVtibq44Oo+PG MqLzp0YIRfQGRnQmwHDxKF7oNGAsaKbTHO9kRd1WupfmMd7wQWhyXV//F71Pkg2/1QO7 FDe0FMspg7tvmkiFYd0m+jR14N8dGlbcWMX77LrfDRe4jixywnY/aE62oVfCPgnu+YPI 2QQu4431cA6aboBrlPQnQaIKvZU9y/S6sxO5M4NU2CDmAAwdzrdwc3ODEL5mMtKmTp4K MKIw== X-Gm-Message-State: AOAM531U590XNUmv8lxtM4Aj3KmAc1rM08s2/EDpJtAw0AZMAXhyIADe gc4w+gpt7O2Uge8i/X9NzX/sGCWY+fIVkbBAlpEa+OR9C6Ocq9pSOXdsDuottm8jEtmio3aCrl3 lKOHWq+EThCf5WIkUmAEiHTeGJcHx3jx/UYpt7DCdVkg6l3GadMGq3HUng0xU/WUgH0hodygRq8 r1yrUPaTBCQeDaIjdZxfRs1oswtIMp/EGbvrOWL1XMa6uEafV4siegnDKjxQ== X-Google-Smtp-Source: ABdhPJwX5MRDjyaZJHsEsfmgyTY8+QjCmn/GhIb8TEMx/ggreIgn3TZzwZ36WryckCmagIlbWvcBteiK/zJuesEzylw= X-Received: by 2002:a25:2f85:: with SMTP id v127mr2314317ybv.372.1601301681218; Mon, 28 Sep 2020 07:01:21 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nikhil Mohite Date: Mon, 28 Sep 2020 19:31:10 +0530 Message-ID: Subject: Re: [pgAdmin][RM3794]:Allow User to Change Database Connection from an Open Query Tool Tab To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000e3831805b060198f" 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 --000000000000e3831805b060198f Content-Type: multipart/alternative; boundary="000000000000e3831505b060198d" --000000000000e3831505b060198d Content-Type: text/plain; charset="UTF-8" Hi Akshay, I have resolved code conflict issues and sonarqube issues. PFA updated patch. Regards, Nikhil Mohite. On Mon, Sep 28, 2020 at 5:58 PM Akshay Joshi wrote: > Hi Nikhil > > The patch is not applying, rebase, and send it again. Please check your > code should not create any new SonarQube issues. > > On Mon, Sep 28, 2020 at 11:20 AM Nikhil Mohite < > nikhil.mohite@enterprisedb.com> wrote: > >> Hi Akshay, >> >> I have resolved all the review comments and also updated the test cases >> as per the new implementation. >> >> PFA updated patch. >> >> >> >> On Mon, Sep 21, 2020 at 5:24 PM Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Hi Nikhil >>> >>> Following are the initial review comments: >>> >>> - Open View/Edit data on any table and click on the same database >>> connection and then click on the Execute button. Got "get_primary_keys() >>> takes 1 positional argument but 2 were given" error. >>> - In my opinion, we should hide the option to change the database >>> connection for View/Edit Data. >>> - If the user clicks on the same database connection multiple times >>> then no need to change the backend connection and transaction id. Add >>> validation at the backend, no action required in this case. >>> - The role option is missing from the "connect to server" dialog. >>> - The Password field should not be there on the "connect to server" >>> dialog. Sometimes we saved the password so asking a password every time is >>> not correct. Check the pgAdmin 3 behavior. >>> >>> Code review still remains. >>> >>> On Thu, Sep 17, 2020 at 4:15 PM Nikhil Mohite < >>> nikhil.mohite@enterprisedb.com> wrote: >>> >>>> 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.* >>>> >>> >>> >>> -- >>> *Thanks & Regards* >>> *Akshay Joshi* >>> *pgAdmin Hacker | Sr. Software Architect* >>> *EDB Postgres * >>> >>> *Mobile: +91 976-788-8246* >>> >> > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Sr. Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > --000000000000e3831505b060198d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akshay,

I have resolved code con= flict issues and sonarqube issues.
PFA updated patch.
<= br>
Regards,
Nikhil Mohite.

On Mon, Sep 28, 2020= at 5:58 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi=C2=A0Nikhil

The patch is not applying, rebase, and send it again. Please check= your code should not create any new SonarQube issues.

On Mon, Sep 28,= 2020 at 11:20 AM Nikhil Mohite <nikhil.mohite@enterprisedb.com> wrote:<= br>
Hi Akshay,

I have resolved all the review comments = and also updated the test cases as per the new implementation.
PFA updated patch.


On Mon, = Sep 21, 2020 at 5:24 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrot= e:
Hi=C2=A0Nikhil

Following are the initial review comm= ents:
  • Open View/Edit data on any table and click on the same da= tabase connection and then click on the Execute button. Got "get_prima= ry_keys() takes 1 positional argument but 2 were given" error.
  • In my opinion, we should hide the option to change the database connection= for View/Edit Data.
  • If the user clicks on the same database connec= tion multiple times then no need to change the backend connection and trans= action id. Add validation at the backend, no action required in this case.<= /li>
  • The role option is missing from the "connect to server" d= ialog.
  • The Password field should not be there on the "connect = to server" dialog. Sometimes we saved the password so asking a passwor= d every time is not correct. Check the pgAdmin 3 behavior.
Code re= view still remains.

On Thu, Sep 17, 2020 at 4:15 PM Nikhil Mohit= e <n= ikhil.mohite@enterprisedb.com> wrote:
Hi Team,

R= egarding RM-3794 allow the=C2=A0user to change the database connection fr= om an open query tool:
I have implemented the feature and also ad= ded documentation for it.

PFA patch.

<= /div>
--
Thanks & Regards,
Nikhil Mohite
Software Engineer.
Mob.No: +91-7798364578.


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246



--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Ar= chitect
EDB Postgres=
Mobile: +91 976-788-8246

--000000000000e3831505b060198d-- --000000000000e3831805b060198f Content-Type: application/octet-stream; name="RM_3794_V3.patch" Content-Disposition: attachment; filename="RM_3794_V3.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kfmlhj9w0 ZGlmZiAtLWdpdCBhL2RvY3MvZW5fVVMvaW1hZ2VzL25ld19jb25uZWN0aW9uX2RpYWxvZy5wbmcg Yi9kb2NzL2VuX1VTL2ltYWdlcy9uZXdfY29ubmVjdGlvbl9kaWFsb2cucG5nCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu LjhjZjdhZTZhYTc1MDM2MGFlNzcxMGFmNjFiZjhlODlmOWQ1MjAyODQKR0lUIGJpbmFyeSBwYXRj aApsaXRlcmFsIDQ5NjkxCnpjbVpefTF6MjNrKGcyREQyYDw0TTBzK0RoKys3QlRLeVZBTGdGNmZv KyNQfWtodjRvSysrbCM9PyhTfVJXYmZYKQp6KzVmJEY8fnZ7YWJYVD8xPjV7SWg1Smg8KT5UQU4r UCo2filRaiVneVAqNT1iUCpCa0ppMTA1aFJgRW1BUCo1bV8Kej1BeHBDUWxnXmRpdU5gcD0ycGZ+ UD84fURZNiRBZTFHcEpsTj5YT05oPn1SSEEoWlNzQGZlekwmXyFQZ3tpJmxCCno0UCs3Tm9nRm5e JT5jNjFBdTU+U1lIQzgkVXhGPWxhNkRHajYrY2Uqczh8KVlBUitCR20zeTlldH1OYTtZITc9Jgp6 bjtmU0Azbn15QDRWLUBqTCVxJW9JUVE+WW9ObE9iI05FUnJob1MhZil6bEhtcX1iMU9jRSRgZkRE PXo0JT5rOHMKenxHNnFQPHNmdDhta0xTJVdkSVp1SFNHSFBFRD1SMEo2MCZ5NUZye1NJM0lsWXQy JCs1Vn5oOEp2eXkxQXs7djZpCnpKNyVYVz80dUtfcGVHSX5CPCl9I1ghNk5oUGQ3QkVyYyVXKmRh TyskKGpfMjl2ckdVTTloQUVTMV9EeUlDcT1ndQp6MjBGdkx1Tys8PjZ3WTYrUyVPX2VoRFl5MVMk QXc2SFQpaHV5KytCV0gtOXAxZWgzanM5THMkNlBUY21FNXBKe1oKejIhZ2RAdEtfMj5QOFRkJGkp YX51U2poU3skZlVkPkRreCpgS0F7JG9UWT9yVUdCRXlCKWwxNWJfcFlKQiVMbDJsCnpJaHFVP3dV V0NWYkstRnB6Zl4haDMrc207ZWleUH5OXlcjZ1poRXN+RX4zSmVlT1ohJWRAeGJSb0lMPUBUT1l9 RQp6YSNMSnFxcTY8aHEyYGdabntwWkkqTVdoWjVgRmg0czFGdH4pTmdTT2JiPSNyKyhJQ1BNOG87 JiF4MURFRiR+eUsKelhBOG9eeEtkUTI/MnFhYWIkcGI8bVBgemFENFNza3A+SkUlOE96P3woMkFT eWB5RkFPSzVUSU1IdDE0c1FLTyMqCno8N15uZitoY315Y0N0NGJmKyk/YUlQP3hQTjxPZCZeVlZ4 Nmw5a3U/NFAtd2ApLUo7dnUhP2BvYl9OSzEje2tIcQp6M1gpUFdnZXkjUmhuUX1rMU4kdTNlfW9D NHRiWH4+MFY2JEkpbk9Fa09ieWFPKWozVHZwQHVwMkNFa1I+dzRKbm8KekhfNSRAbDNaaU8jUEpn KCRBYSF6WjVlPDVpMjNmenlASD9TJFJ3KUtPJSgzY1NVK3FPMXBvPntQV0cmTkpyO31SCnpFKDBD KVAyd0U9MVAwJHl6LXF0SmQhSWBZSkxsJisxWG00cip1LXZJMUFPTENkfH03bGt5Q08kczNfa3Rq OUVUZwp6aiQ9LVlCUnIyekxsTkZKPXJ3dl9AZGo9d0NDWG5raU9mUTs/eDw9QU91Xn5RJDU3bUBY TnI2blJpWStvQSpzLXUKemleJXREdDNTcjhJajhKdj9UUV50cEhsZXtTWn17P1l4MEtqelJFKyVA PmZpMk9Ee1VlS0glQHFGNTh7Q2ZeP15fCnp0RShLWl9TWmkqPml5SX1lQXU7TnRQR2ZpS0UhYio9 Smd9I0M0QHJlNFAtYWlzaWQ7dFlYfkkwRCRqenBMMyVwZAp6NmViLUlkXzFjYV8/aHNqVlchRVkk JEtpJlJ8SFpjYXN8STNwRDMza1c4V1J7OV97Z1V1c1VEUz1pM2o3TENyekQKelEyUkVhK3c1MU5i SDdUM3pNOGkwWmc7ZzN6ZEpmTztDJlJ3ZHhHfUtFTTRQSjE0Rm9Wem0mdD8zSkExbmV+WlU2Cnpj V2smOV9PWEhHWl4pN0xlT3ZLTHtzUl5JRGxDaTtBfGdWTEZ0SD96YERlPEtZV3ktJj95cyorelBO cUVpVDUtOQp6JSZ2flc7YW1FZGJ7Nio5NThmN143QF9AKCF6eUxOWXdORDdOJDNuZT5yP25rTjw8 Tm5UfGApQkBlJk09P2wpJmIKenZ5dkVDaz1eNy1sN3o3I284KEdqQTtWKFpSOXBTOGpZejZxNiR5 S1pwaSVWMnV1QWdVVj5kPVFRaEhPNkRXYz9NCnpOZmZAP19sWHBtZHhzRHE1alQheGhRey1YUTND SXElKCEkNztabnFPUDlNWiFTTElXSDBNTyV1JikjUipWTTIkbAp6UyR3Pih1OEIlMyp+cFJKIUhV LTxndkRKY3RBYnp4V3FxQWxrRjtQYFRpaiMjOEMjcjthTzZ8RVRQc2lJSG5mJEgKem5UXnQwPDQx d3oyeWRFa3EtezkwRk1fXjZkfCpGPz9BdiVPZGMqfUoxU0h4dT53V1NUM2FrKj5ZJF4hZWFXOSh6 Cnp6eipKeSokJm9Ac1dOJDEtYyQwQkIxU1R3VDF8PFpGMHp+VU97fXoockJ0KDJwSmI5R052X013 NCZUaUE1ZXYpSAp6JF8le1NlMD5mJHw5SmxQOU5WNXJKa3Zub3RmMmQmZkJhczJVT1h0Q1g3SDZY TFNCLUVrVygoYVFlMHU8bC1yY0YKejE8NGlsNzF+dW9XTXBKU1dhZytrTnl3O254XnowMnJALW0+ cHJ3RmRMZmNHUjZKQWJBT0pxVVZHSmgkekhHNlVvCno/R25TQ3IhfjZHVXNxSTZ4RTwoU0ZmPms1 SFo9S1dlLXUoV1E5OUZfYHlkalBaQ2MoM05pOT8+UU9qfT5Je0JpVAp6QnB8KmJvTE18SmxVYl5s PVBtaUckdHchRj52T0pmbnl+Sz0xM3cqalE8TXpDU1FIWUpGNFRaUFdSIVpzajFRanUKejlyJCU5 ME1VLUdXMyM8bjFHXnQ2M0FxVyshdEVtbEJkK21sMzdtK0MydDVjMkBEKjZnU09nNDgzPUN1dVhy aHdHCnp2PERaKlQ2IU5wYlE+VT0yQWxPflEjZ3FOUH45dzlybGBCY2pGZTJPVztWWU1BU2ZyQUg8 KU1hKi15ZXhIayZqZwp6aHN+KjE3bnUtXiRmcjE9dkooPTFgMUdPMVlXRiMtZSl5dlUtVVp3UiFN NGBPU243P3N4fjc8QnxOQ2pwdzJJdi0KekJoNWhkWk95Vk9LOHJjP297SEMxdkZmRSZKU0pEKyM+ NDlzPU5idG1zO2MkMWpaWDJrNllnUDdzWlFrKUlkV0JVCnpBdFNufSYyXnUmPk9nZnpeYjVFUCox UWJPJSs5UHc3RHZgfCU3PTU7MWBxN2wxJjFwPFRzKmx2bytzbjByJkV5Ygp6bT51OyleI2ord2tZ aylmd3d8Sy15LS0kMkA9QEFPJWE2Tms8bykje082TVpgIz97Y0tgdnolayZXMVg0RHdHUSUKejhX TDZoIXpRQVVoei0/RSlkT2Q1RShoMSkpN1VsQ0YxXyN5cThJXiN5SV5IMWZvNn45b257K3tjSyEr NSZFMSV7CnpSSCtpclRXamtTci1rUFk+cnl4MnIpZTg9eUxTXnFLVj4jK0FxUm4rVF5geyNIX01G Nm5WejJETyN2cj9eZnU/Vgp6PGhCRUZkM0Q2Pio8c0omcSEoUGZWbXI1Mig5YG42ISE2JFokO35n OzRufWdPJnVTZiRBMHU8YmFfUz03QHkpUk4KeihIRjRfVW1MdEtoNmtaM3oweUxzQEdKSHNeUGRl dzZzLSY1VGpPJUQ9V2dhXjU/Sz02JTBkdWJ2NDNpO1pXeiY1CnpTMnQ0RVB9Z2VFY2VUSDVJYHpR aHp+c2lQI2F4UDZqJHgldCV8Wk1LYDhicVFjSmJhN01pO2YqcXZtOCtCUyRPOAp6OTE7UkskUl9K PD08WVg2PkhUSVg1djlTc0VuZm1JVlhMRCs+cG9qbz9PbHArM0QzbShIS2V7aWR0MGV1Tkpia2oK emAhKDU/Snw+MlgmUTVKVEhGckVXUHBVcEhKdkwjMGs8T2l0ZlIzSGNNIThFI0UlJHFHMVV7JGJW azI4TW8wTyZACno0O313b3Uhc0JEP2RlJUBwTm87Slh9cFBjPk1FRTF5Z3dgVTIrZyh2QUImVT9t aUw2T3RjWiFsY0crOyRCYk9JQAp6SjhmN310dzZDPiREMHlOS0Q8Q2dINiZoZi18UlFwdn4jfDUz e3shaWFOOHhyZHBIUFQ0QmF8ZFdrJV9uI0AzJlgKel5CMyNnP0EmPElANlZNbFpnOFdLUyYtNEJR MWpkLXJVdyReM2dvUGw4Vjk5fnp0Y1N7dDE5ZHowKkM0dUZuWnZgCno0WU0lJFN+QXNtPS1RUStu T0BVPnIrNFJNSHtTTyhobzgpeTk5M3toWlpvQCZUTXUzKkdoSm5jVzdSYSM5ODJUOAp6Y3ohPXgh ZE0rTXIlfG83SnYqeExwfV4zM2IyMHMqQFp4Oz9OcClTZkR0cShsYXEzUEVgOTFFaSZncDQkfEF+ YysKemxndzckT2dzOW0qUUFKTm1YWkRmPChSbDc5dkZhfm45a19KUlF+USlnTD1qN0F2JT9KO2JX R0spT0JvS29gNEp8CnpmQz4tP1hzK1hQeSZIVzQmayhBe3JfRjYqezZzKGZ5LUtCQU8rZ2MhLSZ0 JWhOd2BuQU1XfHZkWXJMVl5Uc3QpRgp6ckFAMnJRY0dXQmFwSGIpNiprP3pNODBUaVpyST0zQiFg PGkkTyljKEtqJiNFdnpkNXI1d3NzIytGZEhITVA/JjIKej1lIVRSaiQmVUpzWXxsP1JVX0lZVEZh XyRZOGhjOEh2K2lPaytGbm04aVJJQCE8WD1He0V5NV85RXVtSmt7YXRoCnoken1Ae1p3P0VGR3N9 Km1tUkliM3p+N0VkQTJNZ2lqRUxWQzFOUkdOVHNWVj9LMUc7RTkwZl5gUyh2e3o8R0NGPQp6KXBJ N1U2VlBfKnpVYG1MbmFWK3F5ZTQ0fm40V3haZENaZ0hAVGZuT280NyNSbzhCPE5RJilScmJVODVE RjdmRVQKemo8WWpXSXE2JH5vX1F3ZHU+MWJPcyo1fCo7Y0JPS2pPPW1icTIzUTkwSl81U1dNYjMz WUBWR0dgMk10O3c8Xj1lCno2cn1UZl80O0o2dkE5eGdxNVEzMHZtTzZOKHwrSi0/X315N3JgfEdz KEB6aE5XMEtERnNeKXRhaFU0VXc7XihFaQp6bl50PFZwRF8+bUgpRGQ1cDAqRUp0N3tqKVAjX3NF RT8+VDJuWEFFNz9zaWUlV0xHKzdJJG1ha193PD9lYnhWRW0KekNBeSNCYmkxd2wqK25MV2NnNnxu JStpX0NiSmE8Q1ByMG4jaz9ZWV9ReXkqRyZUe0coJlFfYkQ8PmE9N3lOc3ZqCnpzaH14ejFAezZr WUgtUXA9M34qRyF7clZ5XyFTdDsodzRVM2pubmEydzdNR2wpKUUyZ2tfYCRVWnx6Uk1XcVdqbgp6 RFI/XyRLQn5qSkdzUSF7e1Q1MFFmJW5RVGVGM0ZJVjN2NFcjQ21vTGMkSkljPEwte2VRVG5jbXBQ eDtlJjJAdksKejw+MGA+NyNnWXckdyVTNXQhKV88NDk7OTdkRER5fWJiJkxYcXMlRGckfmp4b2NK TCpZcCU0OSozfT1NQHZZNUYyCnokZD9DKD1AaiZmPT5ac0ckKWs9bV5LJEQqRyoqYH5rJn1hPmYy a3V2eUBKTXFmXzxxJHp4PCR9Mzg3eTdSZm1GLQp6aDk+JTdUP3pXIy0hTCN4UChrS1VhRFQmU3pM ZFk4PSRIMmVgfGxEcUhWX0tvPHNhNnw+O0Ricnp0QXhMLShkZSsKemhxaXl8Z0EhSTJtNkNjWGxA MEJVampiS2JZI2MyZiZxN31za1pkSjI5SDV8Wi1+Tjd+ckllXm9VIz9BIz1BWUNaCnopI1lTKTN+ ZkxGZUlwd0tWfUw4al9WK2tZZTZCbiVSZ2tmeEtEakglJUchYSltN25yMjIlZVl2P2A5QFNeMW5i Rgp6RSVfPGM8cksrOVpTME43KiNUXlQ1MG5EMCQ7cncyPzJTeCNsKkE8ZE10fUxvUGlmfXBYdkBS STxsXkUyYUE1YDUKeipxYnNqYjh+WXVlUENmP1ZQU2xNVjAzVl5jR1AhZXcwNUJTJm1qTERONmdz NChCOW5FKGNIJEd7UCghfTF+eUtQCnp7RkljeEM7SCM+cExINiRuKlRHQ3dacUByZGY2Yjs/O2Eq Knp6MyVQRkVtR1VsbTgjSS0jITA5YClnblNuVTMlRwp6VV8yQGcjYGRCJUFkcz1PcXJnOEQ9bGc0 PmV8NyR8JmleMVBuITZmWHNmKEd2VV49fClOcjBLezFJT1FKfEZgU14KejZJSjZNUklVJFBlYDVh OF45U2JkSkA2PmxvNCtobnwyR2lAbkU5Q2dVdjIqdlVkaDxPIz4oazh4UWV5OHFYNWdfCnpERjNK VlohQThoLXswa3JAQVJLVEBLQHswREcrJGckTW5Bd0NHZmdSMmJsfkNOKGYzeU8hJCo0XnF+JWRr NG4hXgp6MFZ8dHw9Rjg8ZyZiLTJKbCtMZSt1OXFLZHF7Mmc1LSNXKD9MaHZtT1BGZmkjLStodEIj QEs3RT94PD5JYGdPUDYKelI/VWxZKHt8Jm1rPzFWWiRtJWRae0ltP18tQVNqYnxJdWBuVEV9SzRn b0JNT2RLViE2Tm4xJlJuUzJ+fnpVdEw0CnoqJF5nWTA9OGcoQlV6MmpMcTJMKTBqJGtkRWRUS0BZ NzBEbS15V0dKN0IoZ0QrOz1UPlhhJD1eTD9idDYlS0JaZwp6WU1VamhGaGZwZUVJXktyaGxyQHgo VF5XYXh0Z3prX0kzZSlgP2RZalhsfjhLUXI8MmJIWWNzMWF4YyhYPSMofEoKem0pdF5XUUVTUXxh M1BhS3phOVhaPyM0QlcqfFo1U3dNXm5LRGxMej4pc2d8fkF5Kk5KO1NIX2J1RE5GR0VvZldHCno5 R2xWLWswfVVmWUVuMUgrektCfXNXU0N2JFZLJSFhfWpKNCVvT2NzKXJOMHkhO3xJaWh2e3N4dSVh bGlsI14wMgp6TG5PYTBlcjJ8aj17P25lZUAmNWJTcGZhfEh1Q30+QFRyMCtGJmFZd1JYTlR+Q1Uy K0Q3WjBIXmJXci08PyV2YVYKenI8dElKcXVHWjw8aGMyJENGX2J1bUx2WmltMGpGQVheTUxUdlFk b0tPITF4eXJYbX47dzdBZ2shWitQZDI9cykxCnpYNzIxKjRuWlJweW9ONTQkfSFeRWlmKGZwPz5M VWZ6I0ZQem9GY2IweWlQPD8taG1BS3g9bit4bUNmM2A8KVRNMAp6MW0yWE85Umx9cmokR2x7Y1dB TGd3KT12ZiRsVm5lTUN6eyZ0NEAjanV2UWVONzVidkszbURrNk5SNnE5eWktcj8KelN9aWVqaklf T1NufDIhO2krOWVDbml3c1VDXm57X0YwQlpmdCVqXl54Q3h0aUhFQ2o+QnN+UkR2TFRvUjFOeVh1 CnpoY2dsd2Ejb1YwKU4wRF5hITBRUWtWelY7QTkhaWwrTy17WkdSVChsPVp3fHh1OCE4NG8yPmMh MXZhUyVvKSgmJQp6ZTspdVd2TU5lSFZ4JUwpNWUhZCZARlJJc1IwdjJDdk08NDQkX1lpMVlrUStn KVNVNWl3UmoxVHlVM3lLUmdzcnMKeng5RHQ8LXdHMFp4fT5WNXhZO2dmRSo+OFRpb3B5cSgzPyUx XlNLezI8P1F5dUtIdnZeMEpNTGI2QHk8eHNXYmEzCno+JjlvQyk7LXkwSjxvMUViK1UxcUJYeUVE IX5QXjRFSH1gVHVeRkBMKz88VUtzNlUhQjc5PmZ2TmRqcSUjfmNiNAp6SUZsR2Q1e1RLVD55Sk95 eDhCIU05RHhgfVdiR0VoS0Izb3I7dl9jTHZ0UmY9UEtfYElTZn5QXitzOWg/I3FHfCYKempJYjZv PGhMMEI7SXtlfWp4KGpFSDY0YyU3MH08ezdFUkpXMlVAVXFvfnp3YWJKPCNJJTlRNnlETCRGKitX VWU+CnomRSZXbFlsWSZFRCtqMzQpfkY7WVRfV2MtbkF1KTFVUiE3Kyg9Jj98VD9UfTskeUU8USZj KUhWRkpzX2ZEfGZhdAp6SzVaODdpWUczcmlhNVNxUVNIblRUU3dVUVpSMm1NKTJYQ3Q5Qn4rYDMp Y3hHLWpAVkNsUjZ6KFF0UU92cldTVVUKejcxUD1+OX1mbmo/ajxvWTc7RShiZkoxb1BvSHh+NWdJ MFA9WjQ5eW1vWkVaclN0UDtCX2BIN2JIXipXRzVsVkRyCnp4dy1NdilfQE4mIWQhbG03fFR2XmRN bDQrKkNkRX5fTmhUdFdJQVRDej9fWncqQXFebHBQJEMrRVIlR2EwWmZJWQp6VmxHRV9LUzRVcGhx T2R1NHApPnZ7U0skej0qJVpBKS1rWFJ7SFB3UHYlKzlYWWJpY2F0R195YCR9RXZWaj5UKSoKeiUt KSN9aCtLQD8wYWlPYjRocilDbWRYfjQxeWNiZDJgJmRecDFEbWdxX1hfWmJZNGJNNTNxLTl0fnF2 e1gpbllXCnpmIWNKT2tHPnVFO2lZV0dZKzRLald1IW1PVzJiRF5je2JSflpHcDcxODUmMmJoaGxF KU8wPD9xYnJ1cTVWLX5qPwp6amtTNktWUURZcT5gZU1Tb3hAaHdLdHEpaGtXXn55aDJvWF5sUF5y K2NtNyRVWVlqUV5ifW12VWBmVTsjY3c7KT8Kel41ZEFQSHhtVVFhKFdYLU55P2x+ZDZ3YzVtbW9I b00jOUs7I3U8S1RWWEJHcDh7I3tkUEBsZ0Y0O21RVDwlKTdECnozUDNOSGxTLS1gbT98c1VTeDRl TV5kKDFYeXl+WnZFNUdRRFpUKHgxLWo3RD92a0AyMFNTT15HQEhmTHpTfGAkZgp6QF9pfCRQYzwm R08+fXh+TnY5SGhrMlNgdlhSWUt9Q0YobT89MTdBeiNCJkopOCh0UjdxflV3dkx5bHxXUENgUD8K enJ5bF9pZC12SndZPGNUe0ZYaXQ3N3NqQDc2KHpDeUxSR1VlQWtmS05uMTd4PCZxeDR9Jm0oT3sy Wnl0a15DbHMyCnp2TCU2Tkh8ZWNMZDxVQW9fSW5gRm8jMj9hWCNEdHREWH5aO2NJaWZQZkEyV3Rf NFBaPEZOPCZEeEp0aHwre248Iwp6NHpAdG1Xcmp9dFM1KkMkU2hIKTB3bjk7cHhiKnNfcjwqQD9i e3FVMktLM34/KHErcyVzcXAkXlYyekNjKUxoVWYKemR5S2NYWU9KPCtFRlFYSy1NIUM2elB5cXAq YnBQMikoZmhiQDItMVcqaDZJRmcjNlQwPkJFN09xQDIzeHh9VEVLCno5aShaOSU8N1RhOVBBUnso ZTNGJGR7Zip8bEttUjZffnNaXmhfPClTSzZDRUVxYCg8KGtFNXdUPkt7VTA4Xkd+LQp6R1ghJHJC dFNaQDwjcjNSej1ocj9XZVdrND9ZaWJQIVN6TlVqOzl2M0Z3STtWYF4oQk5QbnF4KExENWs7ek5Z d2UKelp0MGRuI3BnMUdVc35JS0AjZk9qbnI4XmhzTV9TIzdYWSQwO2s2MzZpSV5ENio8d1ZteUpX d1omKmoze09tVChGCnpWKXRTNCQlWXVwNlkpZ1h5R15pdnoxVzhFMmNnQUNOa3M8PFU9P2wrJVk7 VFQlVWUhd1dBUVlBbn48V3VNMCZgcgp6IXtUM1hkR2M2KTxmeWV0bHdEI2BudVJVam9OVFZRJmNR bld1cGMqJFMxeHw/T25IVFVWfF9lVSpWRnJvczhMWDMKekhSSihsREs+ZSpSQnZJfEZIJTY1RylQ a08hKSMpMCR2PW0lbkdXVUBfK2M4YStHZTZ3MT5WVlFwPnQ4SHdqR2BjCnozTTttb3M/dlBlanwk VVh2Qkl8am9WcT1nciRRNTxTRj9POHheNX4yU0M/YXRoKUpOYEhNO3N0a318PXNtTSUjJAp6X20y M3oqeV5aT09RYGtKNGU7YHppRmlMUFc+X25FaCVQS0FOSFNUPEYxfS1PRDRHJGxCVDIkSnM0X0Bi XmEwWH4KenZmVldSamdCVkljVmEpUDU5WlApWHR7K2ZRdEZYY0gjVVU3bz9Zd0M/I0Jfa25XZm88 R04kcj9LJXVwUz1lcGs4CnpJfDJCO3IrdWYyV3doSytZYiRIMDhJbj5leUhmZmBTTWU7KmNTOGtB Y0x4c1NiTTtJWnZuPlVfaWNxRUc2RTVhUAp6VD43Z14lTEtFYzV2MmhwKEgoJWdAb2VvaVUjYzIy aS0tZWNjUllrUlRSYmQ8eElJcl5jP3dwPHllNnt4KS1PaWEKeml2RkU/bGcpNlJXWSNCQz5jKEBy RF9kY2d7Q2lgXzM3K1I/eFVAQVp5aT8pV2NYKlhneHdHbVV4N2oqIXwxZVg8Cno0KjYkSypmIzJs YzBZRlMqd3RBSXtsandsWUZkM3R1eHlnOzh4YyozKnNZIXpmMEUoSSY9dkFGKVoxRztEd0lpKQp6 aiNzMWU1QF5heGM2MEFHUGBzRn0+NmRPI0VpWmMtPSUjV1VoPykqITRiNFJGYTVkQWxXVUMheTNK b3tkRV5Jb3QKejRLJnBoRXo7ViNvT0BzMiFnfiFkPGpLb1R5bypCQFBzPiFjQXtJV0M9OTF1fkQp KmxeJHlhZ15Bb24wJDViajJpCnpVenNnfDNFa2w9eWZqWjFFfWwhKT9yO3d8NEZBRD1aKjU0eUUr diFRYnx9c1NwZjhZWCE0MytnSEA5dUtjM2shMQp6RkxIYD05N057VW1xTE50dlZTTnw5VmcjRG5R MkRXd3Nue2hKWjBtVy08eyEhdEdkJnJzbityN2N9fXZNQy07fEoKelgmRGlaQUNxNzk7WWZ+O2pU aFNCITJMKkkybnolcSFoMFEmdDtqR1BAQU90TmRVfWlaSHVnTmR4cD47TFJ8Y2BQCnpkTjNJPURX PVVFOUZ1dmskMHhATTY8PnMhO35HeDJpdGB4ZlFjdjg8aUdTKzZBczhZdmRWZ2JzeTVlbk8hSUQ/ fgp6SzI3ZFVYaGQjVHsyeUwrX0pBOW5NZj5JVkw/YjlEbW5PVmVYYX16JG5JQGNkPVN4MUNIRyY9 ViFPQjFTS3soaUcKeldDVn5LN1VZOyRNeHFIQlc4SSMjbmB4Q3dVTHVecCZLJHtsUmJIMnNwfGRj VjEhNklpUCRkTz5QN1h7cFlYTFdRCno4RmVaWE54QHIwP3VPNnFfbTY9YU1JSHN5QGt4NDtBV2U0 R2tHMUlTJiZkR3J6U2pNMUJ6QlNhKmwzTTQ2XzgrfAp6cDYhWDRieHJPNTtVUjd9WChacT5RfjlQ S0V7ZXhUREs7KXh1TkZBZyR7VSVIUVJDQmUoUntueWN4eX1PQzhUJHEKenk8enJxOWAqOX16O0hL TjVWZ1JYTGAoVlkkPjwjZWtqPXlVblFHfUFnMHRUYnNXU3pUJFFLWlVwO1Q8ZT8xYVc1CnorMUFR VUE7TEdVcUdNXiFRMGNhfXBRV1dgSHdDc1FKQGxTclojPXBFO013SyNTKTV4fHptfE90eChhe2Rm Z31ffQp6ZVp3NmdPemszV1B2d2RgMjBzOChNbl9NVFg7SmYpQmV8b01sdy19NW9kTnQwcXZ9bTMy WG1LOEJuMyk0WHImX3MKemdrM1NNRW5nXzwtX3olfSE9QDR4Pz9OVTYkR0teVk1hc1AlYE41fGJG eiEzTyU1dVJDeGgzSVZESTdAPk9FKG4hCnpfU0B0PGhFdXtOWTlnZ3RZKzF+THF1KElFOT5YUF5L JUowRGA7Q1RxdldtbnZlO2MjVjstNUpzcHljc20tYHgzTAp6ej8pVzdSNzlIJGUtJWJUTFlnWDJB ZEB5KSQle3ctYGd+TnNRck9WJl81UzhXcHtTXmM9NnJgQnJyN3dzbTxTdUAKekZGU3VsT2BOclQ7 dWNxRExeYj1HR01nRklLeFB8PWJhckdCbnw8YXNUWjB4bmYxbXNxdlc+VEIrfDE2VGNSODxiCnpB bkt0dyE7Qkg2XktHIyM5Mnl6eyRYdGsjT0tHTjIyaWY5aDMtZ0ZoTG1GWSNxfm5pVyUmQ3g+K2dn aGg7VWd7MQp6OUthI1V2dyhOPG9HUTR0LT47QXB4S181KCZaPVgje3FmVzJENU9EKHdVR1ZiKklu I31uKzFERDgzQXsrSmlxZmgKelNZQCZITjFpQm1DbEM8KlgkQHNRVVE2Z3NIZilWPCpOS1FqKjt5 WENtVGpgNUdRTzVCaW88JTQ4TThpblR9aVhYCnppZ0MlcyRmb0hyb0dMPEArcFUrK0F8K1hWTSl5 Tig4RnZMayNNKHBXQzM4TWxpJkhqUmklSE9UelEjJmc0PW5pZQp6YTw2NzE1UnltYkp9TGUqNUJh JTZZPyMob2lFWE1sKiZESHxmSmRmNGxGRV5MJjZ1a0FwZWsxK0JfWE89WH5DRikKemxRYj9BRFVX dEE+Qn5oZDJfJjB9KCZVZ1VTVj1PNElCPSUtcUIoaF9kQCR4SDloKD1VMC18SUdqU2BCYGdgNz1B CnpFKnZjdnA+QXokRF9pU0FwTTg8VTdHSnZGRDFBbiQmSFkybVB7M3NVU1ImbjZMcklLfUFMbV4w NmNyNlolY352fQp6TmNGbTFMbF8oeCR3UmBYOEduVlJFen1pPW5wNThYSmx7VlQoQGhTeTNjcyRX OSl2TXlhPUB4ayVwc0AxVWRPUzYKel9vREszdFRGUz5hMU5VJWxVX0ZGQl55KlRsPE5uN295KDFe cm5zVjxuZnJ2bXI9UDheIX1aO0RDfkp1PmlPU0VHCnp8SlZJNihEOEpZY2xZOUthPTdMOFI5Pnpx bnVJIStSX2BHY2psZG9tZF5ANiR6dWMlfCRhNTkhb0J3I3x2OVdneAp6NnYhRUMmeSopWFJvLU8r VWdjI3lJTVpARFFKdUlaTkFsY35UfX5pdTNAMDkxWDhzQl44UCtoazFsOyFfSVBNZyoKekU2b2gh U2oxKD4pKGJ3dkp7e0RTcXVRTDgxVVVXfTc9IUZtIUtkQ1FwdHBAV2xOTS1ZeC1OKnBNVWt+Sm9w dGg4Cno2QT0oOCUoS2hxXzNvTCtjY0paJm9YQlFkbDdXTTA8a0NmcjRAKXZVN04yezIhXmtgcFhx U0o1R3p3bGBxPStedAp6cXBrMng9I2hFezEpX1B6WFNqUSRCX0FLSDxpSjhJd3UjKzlhKzQtWjIw KlMrdTNFdC1wM0YkX0RmYSF0ZnVTMnUKelEqMCNISF9uODN3KiF7Oz9TQXZyPnpmSndsVmBEQGRk VXFKZyRuQDFnRT0kZi1YQ0swOFYrdWltcUgzSCRvQmVoCnpFfEEwZiswJVY5MkRyT2RrZUxyODE1 YiR8e2Brc25uSFlrVHtvZWlFTCo3MX1wPHRPZkUzYllXUzVAeGB1WV5Vbgp6PDs8IXQrbUAzQEBn MGU0a2tlTS1OJisyUWlKRGVkWDF4Km4pJjl5P0xlITkpV010S0clJnZSb0FYUGNwT0heSyQKemg+ SSRsbyRxdz12VkZaNV91UlAjRWkhSkI9LTZ7enF3fGk9Z0BrIXxfey1eUDhMfT5We1BYZDRkJWMh OyUzT21ECno/b1R1K0JNMHpmanBwOSYkNi1afEh4R2k3TkBXfTNCYSVVbUFjOz4oTWpYYn1veXx3 biFTa0Y3b0dud0VWJHdXMAp6YypnZGQwMXBTISh3Kko0N2AyLW1WQHI8WXE5ZmM5bUxpPXZxeHRA OE8qX1phcE4qRCN7cGZ2PTxRJWtvWmw9WmwKem1fQVNVaHAtVUckKXN4WVdCbS19eUIhJGAyeEMo RT1malBPUnpxYSQ8KmtMPiF4cVo8VSFCTDclYTJadXl1Z29aCno/Kjs4VHo0K3V2NnREfSUzYyZP QmRmY2RvbEwyKn1VUCpSaG01NFJtSyV5PExeWWdJYU5LMDlNSCE0fHg0ZDBJQAp6aTlhbX5RJWRy am1RN1M1aiRCOSVhUG9YPlhmTjNgQldvYXpIWn1PT2QoK04+dyk8WTU8OTw8clFqU0NmM1ZIVFUK elB+QDdPWXNKM1lUUThBc2BvNUlKYi1oSnJIUEglPDUqOTxzblFYajRzJSYha05EaUVuZXJsdisk fGIwS1R7Wj55CnpVV0J+bj9NKEItQ3NMNik3d0QhdEcwSmEmamw9TVcmYnJ8al5fN2NVUW1hfDRF VDlNe3BCQUY3KH45SnIyN2tfQQp6VGNEbHBEeFJVWUA3dFY4MHAzajlsMGB7QjUwYHU7dX5BcG4w bjNaJk54Q0ppM0c9UmIkUzwxVjRMfChXM3h0XnEKeiF0UjhZJH48JmxAQkdSTVh+UVR+SkVRV25R MTdMRk9YIzZAMl8qZGl1WihMZkw8TEFET1MkIV81VTB0bE1VMHxkCnowNlhWQXRxIWchcDNuLStm flVnPlE+OGtySmckOzl0bXpTNmhIflRfRTFtKypFWUBGI1gxVFNjSHd1YHRpTjwmYgp6N3BYWEVL TDtzWD1OcExOb0tveEp4dUtPS2koT3YhKmo0WGt1ZUN4TFFgbFhRNyZWKGhYSmx6b1AjS2lIXmR4 bFYKeipfaW4qa3ZVO3h2eW9tQXk+MCM5QmB2aFdJdG5WXm5mZHg9N3ZmamVheFNnZTxWWTdtIWtZ Kz5mLW0ldlU2TXI9CnokQFFoSVhgZz1vWEtfLWErRjV6JFFiUCFhZ3I7Y2xzeHJaZSYoVFFWZkcz d3pPaF8qWXZsWjBTUShhZiNKRFNMaAp6cmhOPmEmcUFFbHFvP155clYjakxOeFNpSDhJQ3t1YnNi JSE1Kl5wfHtiYjJ7TjM9VDsjNjhlZHh5ak9EWT4qKEcKei0qTTstYSlOZkMpK0B4JjQoKzthdWRg SzVFViNwUlZyYkpJMDE+fk9rV2hEamhUeFZCPGk5IyhiNlR3cGBiOWk0CnpJY1NJRXhZTkAmYWZL SjJvaVJkS1JYPkQ9eTxxazs3dD17dkt8Y3RgTm0ySEtNblQ/eXdvPlBOXjB4ZCZkTlg8Xgp6YkdX TT1tNSMlTkZXajxyI3hyMTVyJWk0VyViYkhaRzVHckY+WWpDUFR6Rn5rNUxAdEBucWEhd1ZVMTBV UjVlfjEKejgteiE7REFUc0xuYXlPTGE9JXI8VntuN1l1Rms1NjRVSGwpYSR0K2ZHTFM8aU9Nenh8 dHYwSTE8aEE/dG1ufTloCnoxJnt9P29IXjNTRmo3Nl5gUzZCcXxFIz03Qk0heDMrdDNTSTtpbSkz M0FxdDN1NnRrXi1oYlIlZjg3fipHMlpSZQp6TV9EYTQjOGcjUHhsJm9hZXVJTl5UNEVrcjxRSkp8 MSk8P2V6UXVEK1ZoKlJFMzk5IWgqPCR5TFlDbkh0XlBNWl4Keio+JncqKGBBaTtNS2BlVHYrMWR6 P2lSYjdyX35TeDhDWEZyNk84aDdGcFZzRyRydil6LUZtWXs/ZH55YihEWDJ8CnooVVBPPW51RDtW bDdkS2xYZ0R8LT01Q2k8MDQofCVXeEpOJUFVU2R1b1QhfW5sISR3P0ZOPkd5ai1NYElrRHE1Wgp6 XiooanhsO1l7M204e1VSdWcoJEgyQ0RKJGtfelNJVlc0XzFBfk8rRURjV0xhZGZhXmMkdnRAblNO RldyI1pqe3kKemNkRmopd1ZYfiVNblJCK1lxfXc0JTUlQlFabEVfPE9sUDQheUU7bm5ZdmZMUEA5 YiZTPVJKJTJ1fEMwJXpZPmMpCno1NXNuRnltXzNNKH16YkZQTTtwbV5BbSNSJXdAbGd4Q0xDIU1P RSpHYVRsQmFkVlV5cHFlYlE5JjdRcE4kM0x9WQp6bE5hJTl2OXF2aUdyOzktPn5me1F1UWd9Ymc8 bFRmZjdpK1k3Qm5VYHdydjs0WSl7bUVuUVNNKzYpfmEzeUxiKk0KemVSeSlmbVY/MnRiO0F5WTw5 M3NjPyFUXiEmPEA9SUM+U1NPY3Z8XjEkQCljaTJEd3lAaztQeHpYfmMxK3JseWw0CnpvR1Z0LSpy Y0FQS013V0khdUJhfFFEe1deU3RecnM+XyhPaF44dUhtLUcpSXVQVjUtVVVHOG0oYlozYEs+K2Ul bwp6SyV7UmZYYDhyZHFpQUgpV3VuQGk4TnAqeyk2aHBPd309VF9ISjtCe15ofUlkPjwxaFc4TTBx T18xPTV8P3NaYjQKejROPT0/Nnd9SCg8PUdKPDIxT0pxPDApNWpZe3R2ZCVqe1owTG8tKDJHUUlX Vz1rYCRGMXVUdktFRDsxaHpmUCRaCnpOTG9sITVPNDl6azF2Uig5bitUZDJBPzVvUnU9aUZVTF5Z bnA1e2x8WE94WXM+Q31eakMoRWp9dXc+bFohQzRQPgp6dllRLXptZSY9S09SRWY/SzlrP1Rha2Yl K2I5YUh9RWhrYmYtLXZfMEQtbSpqKVpOK0w9Xm8lNChOLTR7QyQxJVcKem42ej02a3VpSzFtSUhR JE1SdndGdGFxWHlsWHlENil4Z3BFWVNWSkUqVXBxcnlGd19sIWxXKVVhNSZfM0hjNVBKCnpubFUl V24hcCtJRXB3JWBLaWBEOzRiMjJNPW0mbDFSPT9TTS1YNypoPU9tY09MViNBZnhTcEpAKEI1TGI+ QHcwNQp6QSNifElrbT8hUXd2dkVeRE9HREh7YDF+TyhOclMoKCgtVX44MTBDNV9idUw4KjNYUXw3 QncqVHJPQUh7WStydDIKej12eTVgYSh4THFAXiVhKEQ1antjbERDaG52VW9kTlRhZT1OSGZmdS12 cGBgTzwtWW5RWENpamN7OFMwOGNDYHM9Cnp0QFRuMEpTdzVzemAlZnRgYGJnJnJ+MyEybCtOPDl0 fDdxK1Y2SHpuKSkydWQ/fn1sRWA0NlReNlB3MW5JaUA9aAp6TVopJDd6QiZTNHl6VDhke1BKaCF4 VHF7PFR9cW4/e0VpY3IoTT1hWiF3Qi14ZVhSaS1IalIjKkVCKWhZSHcmMDYKekJMUW5HZzNRVktH I2wjPTNXQnRpN3U4dTY7VS1tdyFnNU50VkRKYE8oaCtITnZlbUxrPmAzYXt7T1NuYmgqXiZFCnpt NyVxSkJaMlN+Xn57S21FMDx5eCE7V0hqWEEpNWFvPV9ZdkpfZExBaUNJPiNNOWQlZjl9R0VjSXpI MnVkMmlyWQp6NDVLa2xGRU9XPj58N0crcyZQZUtPfmhgUHtofSRfYzUtZXZzd1EhTW9fKXhudSVi O01WSXdBdUt1MEtDZVVeM2AKel5xXkZyeF9DR3EjeSFsNHpgOUhLTEUwOWpVc1lSd2BxSzYtKHts e1c1P2lRWTU1dV9icCpQP1I7cnQ5O2EqQik5CnpxSGlxV01NdShZTzQ3K2VENUF5WD5oWSVCUjFB ZVA/cU1tM25aZjlaP2h4dCpUXzVZJTtyMER2ZUF5cG5HWThCbQp6RVFXdlFUd2ZDVWk3O05lR25h QXhnJVp+XyhraDA1Y1VMQH1heWEmRW1NQjhnU3xDeE8lWllBRnBlPXleYEY1a2AKel5BOHlKUmJL P04pNzJqKWFiPiQod3UqYitDdGZsTi1rZD1eNig+ckEwKz94fGVkU3olREhqa1FSSWlMZHZeNTdr CnpMV0l7TyFKQjNzUztENG9lfFdSOyN3MF96aGokQEZKJnxwa2VpLTZYJnY0azEhfFBpNlZ1KE9X ezhzajM0aGpOTgp6UXc1Vn1JfG9KSUZTV04yPW4qY0JWTkFeZzQ3PzZlLWQmPHdZb2MhdGBmRyEw eTVseXZBWGtjbzNFKk9KeCl8d3cKej1ae2gtTCo1WVpJRTF6QG9ia0t5QUpSUG4oKzhtPExEWkY9 KlQxRCtoP3NYI15BJG4/MjIlTGVUeFRNcTc5a014Cnp2RFJ7aVBgNm1NNmxLZzZAOT1YKyUldXx8 Y2YtfX04PSRnLTBRITZoaDFrWT1edFVXcXNXZmFzZzR4ckp1Q305bwp6KkRIJmxweypaQ0BCN315 VGVYYy0yZUl6VnhYbEZpJWJAWWcyRlNkQXNnYX04OyZtaE09VmJDVlpTcTc7Y3d5Kz0KenJaRF4/ PSZVMjVjJWBzdEx+TjBOOW00Z1lNfUEoWVRla0NGNFhIKjFEI25nPzxMPXNgI0MlYE9qMFdgKzI0 U0VTCnpAYUtIe0x1MzdwJWlOMVhLe0YyYjcqdGpHQj14K3hmVmpyNEhjKElgKihiIXwzMVJDSFMw Wj4rQVpMelFfOH5pfQp6YVFqblEtRyU/OFg4Y0ZjeyZwMmxBO1Z5YCU0fEwxSUB9SSN5PXRNVG15 KTBnP2I4QGgjUjg1fnMpJDJAMm5WLTMKeipPM2slK1lKMlhKfG1+cHo+YllgYEZ+SStBej40c2Bj ckVFSDVlPCpZNF8+O3loSURPPnZFSSF6M1VeMjFCJVd9CnpXR1M2KilDRnI2fEJ3VW4welhGfXA2 aCRmeDxHK25gblYkK3NpRzBINjNNa0RxcW58PyRofSlAQndkRnpveXkmTwp6NGhlbnViKzMlK3wz fEZmO355Znp0dFJPc25BMnl2dnA2NEhYZUs3ZUprJCk2cj0ze2todDVJYkZpN3BHJnNPfT0KejJ0 fllsSllmYnFvdyNka01NPzgyYDQyNUlOSCRNbHZBT1RAQHchYWNePX5YNWFqKCV2ME1qNU0tO1px NjV5MkUkCnp6RVJYcDFOO3szTzl7ZHtSKmg4XnpERChRWSp8IXpER2FudVREWm9Yam8/PT1wXiM+ X04odkE7NVgpXmQpfVBqPwp6ZWVvd1lOITl7UzlWbHp6VHFLVVRnYDc3Vktfa1lfVlR9VU1aTz9C TzkofHh9cC1TbUd4MmBSZUZfcXI9KExOXjUKenRJNFUtdzRTY1k4Y2lxYlpteDB4UGFfOFZweyhz eFQtUiNXRj45YEkxVyN2a0Iyb15VWEZrIXMoMlMqNyFGbnpjCnpkeDRVUStlbEZZaT1iUTt7S2t2 RGhhc2ZwXmRueGdhMUErMEM1YUwycWIqMD9PV2RXWlAkc3FXVm58JGY5PFA8Vwp6REhBbklPM3pC PylFezZrNjR6QTJfO2VMbEAxKUokZW9jTmREQ0pRRzc2ZH5Rb0lsb1lieFNCKCpTfEkxRypHaUAK eldKX2YtaFNWPSRyUipYcj8zUklGO3k9NVReOy1kZXM/UGNjcytNb3NqP3EtWVlET1B7OG5Mclo9 NTtPb3EyYVR6CnpPTmBBYGx2SXdLXiRWQn0qQGhQdS0pVDliN25+MHt2e1NFSmdXR29KLTZAMGst aTVSPFQyNU49WER6Vk5BPyE4dAp6T3lHXkB6Mn1ILWJ9Wl9tPnUlO3Q+RiVBQl9SXmE3YmwkYl85 N01GVCY3bkkpPFhHRmRLaDBvRz4pNSZUWG8+TXAKeks4M1h0a3RJZ3M/SCptN1AtTXYxKl98PE5l JFo2P1V5U2xFQlRnVCZmfXQqTmtyJFVLYz9OclppX2pMPUdIJiV9CnpMSXJLYHEjT3BqU1VoSW1X NVczcV5KN09tanpBWHkwYGE9N05RKiZmWV4jYHFtXjRVSm5kQmRkQHRlQ3l6V0JIcAp6JGJ3KjtY VzZRcGw1N1E3dklFM3p2RjZhYit1YEh4PGxkZzVYd19PLXRTNzNBbzd1Mz0mSEdSUDhHfSVTYkg7 QF4KekorZkhHWjkzMWU+NWw9VCFJYklMJERDZ3Y0PnR6ZCZGVn4wdm81dlo4aztWcSlmTjlFbHda OE9pdFVLOzdpZ1FFCnpvc19IciF3QVk3bys8V3x1KzxLRVVKdSEmfEElIzFWR3Q0NUp3P3UqWWA+ eFFrKyFaPGVORmxJNjBUdzMtcSRtWQp6cnBoY01UV2l7VXtLdHY7MGB7MiFFfVgxP3Zacj5YdDBq VEVecSkoflV5U0NBU09HKlZfPmY8QkxpMXhAYmVOWkQKeiVwUn1sQSNAeWZVI0MhSns+YDZzYSta U1lqd0BGMiRCQFQrbHElc34+QD1ObXktTjRhdntmYFR2fEh5YCFSMXJeCno8SWVkek0pZD5IQUk2 aGlTTTs1SGw2djRwME5ubFBWbSE8WmBqTzQ+WGtOcHR5MGxIYSNlTHF0Ql58VWs5SlN+Ngp6NXpC U2JTemhOfU8xPGtGQGJpLStKcCpHLXszYlFlYkF8OSFtUnhufENNTFRXSzE7c3VPKGZxM0pGR2g1 MGA8bEsKemcmcV5GTntTI1hQcCpWJDtob3s7dEZLWWk/aXJKTlhRJWdYOUk3fWpoJnRkSSpqSFc3 U30hNFJgfjZIbHF+UEs0CnpeeUEhPShTdHZ7NiojXit4WHs8cnZxN09oLWxvOHJxVV9DWiVqXnkj dG1Lb1hZZmtQXzF1MkUpPz5WME4qLVdnegp6dXwhPlFTbmlpeXFFcmdQcVk8NTk+eTBHWi0rbnRk PzJzPEpMQyYoWVRnaHM2SXM0clhPK3o4eTQ8ZG5iTDRnOz4KekF5VHl+I0xRYns+eyU4YF5DeEw+ ZD1Ve2xTYEJGPHNRaEVGam4rempLLT49X0RsZjt+ZitqdjlvTEopVSl8bT92CnphcWQ4N0dmazl0 b0VhbDdSN2NTa0U7VyRwWHY9LXY5WUcycEVlX19ZQXZNI0YrUytOe2gjbyY7UmleUylsPW1UeAp6 ckU1T34oaSkzY0BmNks5MihBdzFsMmVTPipqZlVIcldJTCRscnlIRj49I0dJZWxMJGtzPWZKak9Q Jj18O1FpJlUKej8yRUgxKyk3RD14VG1pdHJBcWhUQyshUjdoaTd0eWVzXlJqemIhdWJjUlVUO3cz JiVFXnh2TGFkNURfQ1Y5V1VxCnoleUBwfnVCb1UjVS1ac2d7JUZ1TTl8PElHSSRXemFoWD1saXBe OzBLQHcwTEZUXyQxO0ZhYz1HQCFOUE0pNXY5Nwp6eCgwfjl5Jk9sKjlRVzc1bzUpVmt4YiUpezVn JEBCQ1JvPGVkbHNYemM4ZWtQYzxgOHlSdSohPUU2PkhZYDk7UjQKeipCc0ktcDg9Y15KY2xuYFhf KUl6T2pPQmkwd0tEOHtGazZXbDw7Wm9FVHJAfGZSNT90cjkrRFVpZVYlOT5haEZHCnpuPFFIP0tx U18+O2hpMmFuQVotVFFNPUtYXmtKd2AhWHkpb2FqeX1iVzt+OWNfYWg3Tk1CPkl3U1N7MHlkTGVr RAp6KStfbVA0IXdHfTFNRCRRWWU9aWlyJEZ+PllYVW81Uzkke2RAfGQlSW9RI1FCRHVub35gOTdN fHZGakJUc3RxTT8KenFKbDFLPT1IJTdjZlEpdyhjMkEyUW4mRm82Q1IkO2MwIUZtK3lsUWs1c3R6 S3BNdG5FI1pgZj9SNyl1YGY8aVppCnojUypqaSpPRnNPNFJ6UWsqPnByJV5Ka245P1RYbCRPVSV9 cnA5Jl8qMUVLNmg9MEVQVz5GTWNNUXc4ckd0JlApIQp6KXkqZFB7SmhkPzt8RTx+MlRSMEBCT29f eiZtcnJ4OWg7MnwtKkxHVCl2VTd3VDEtQXBqNmI9TDU0I1FSWmxVKkwKejxfRkohME9WRkkha3o5 UyltYDBGbSlaWGtSMlZORGshNjhIVktyIVp1ZSRrMCotSlBecW5mazkyOU1CQWkwc35uCnolMXM/ Ul98dzNzbWIoUihAbzZQZjxER2JtTDxNUkR7elBnbF9KJGtpYjBjPihNak8jMU1+UEgtRlZAdTE5 R3o4MAp6ajZgejgjUEVFVkFeTT5sTllqV2diKyQ2eERJaXdoIVRMNCR3IyZ4eCRoP2QwP2J7SHFY RTMpKTYtdytHIWlhYi0KenlWfTNMPzVWZzlfPUVwY3dtbzl5OGY9bUloSkBwVTU4Q0I1OWA7QG85 KktmXihMa1dDdUM2P2hMenJ4JU8hR0ZJCno7cXEmcSRCd3JBJFJRZUNrNl5lMGJtZ0pWV1kpPiVI LXx6cnJAaGhPZDUlMSNOQ0REYkcjYWQzdz9rTFR3T2hoTgp6OGlfQjtjanEmY3lENCEmPWU9P0Fm cV9lWDZUcj1WYlZCdWlreDF3aHE4UnU/dHFjNVQqcnhPRnVIOSpHdStSPHYKejFxSkhTT3ZwNTdJ MWluNkdeYmQ4YWZRdmJkKShgP041TnMmKkhrYlVfVERqQFMkU0p8MXlIJi05TWdxcGlCXjNQCnpS P0d2eFY9Ymp4UnVvMFo5OXtQN2Ylb3RVSk9HQHAkLWUzUkM2TjwhbGhaWEBJWHRmfDhQSm1fZnAm blNLKHc2bgp6ZTgyREYqd2FnXyotRFdfZGJpMHI/fj0oOG41bkVOYHpxa0EzZGxfT1UmXjNeM3xi NSFoRVZwPWNzdWJMcTstekAKekw1dUFEUUR1RXdzUGZsVEp4TXtpT2trPTVhdl9CUmBwSU13cz8q VzxjV0x+WCk9YndNVGFGViU+cHRNbjw7bCt3CnpyQzJRVXdGd215WEBiNjlAPX40bGtaQnwxTnVP bU0qPlBMZ2NIXys/eWBBYXtINCZacGBkb259OXp7TjBBSigxcwp6YFFldnI3QXNBUzVRZVJ5P016 cTBmcGQwXjhZVW5UQ1BqQ1IhJnVwbyo9WGsqbEwmKkk+KFp9djRsNVozSmpNVWcKejMobXJEKGA3 ND9HRCtvVWs5aUAyVzN2KyhXOVV8c2dBUjMrUzlxek1FZkdZfHZCTDZTV3VpWGU5bj12SU8wd3wz CnpYTmhnRDYxSngtWn5RQXk7X3RBazJMbnRtZz84UWlgd2A/KTNLWWl1RmM/Zk96d0hEJmxoVFlF NG9vfCYpKy1PSwp6aWBNR2J0QFV4VVhlMzVVT2BzWFRnOGVTI3lsOWt1U01eRFBQVV4/UyRrMERe WHZHWEFseV8pN05VWGw3VE82cjgKelIrSkBAa2tgMkthWkh7PVoqYTlzemRCQVU9KUhrWTEoQ2Mw V3FjWDJSV3J4WWI8SDJLXldUPDBncGs+QnR1dEVJCnoqTnt6NUAlMW5nVVFSJkgyR19pMnZvX0h+ VUUzYzR0PX55bng1T2VGMWNCNHIxNTx+fmFOI0AmOStMJjdIe2J1Xgp6U1REcXs/RWF7eTdNU3c7 I0NPOEVZPTcjUlliJl4wTW15QlBud3FyZihgbXpNQURna1o3MF97KyN3MUU4R0txVUQKenN4czAp QCNoeWFUcCNoWCM0SVhJP14+RSorQW8pSkBRTERzemsyQTduTGVFaj1iWmFQVXhwdUNlbX1NJGtz P0w9CnpvNGxfbDQlZ21nSW00SE0lTElIYHdQRGRlb0A2NE1TSDJHP05EZEskKzspTWZBM1ZyTD5z fjFPRm8pTnNmIVY9ewp6YkQxMVVZJGQ1LXVoJT4qTSVGY095QkNsWCFaXkAxVjJ6R2A0WUIoJStw Xz4jREdpemB1NWk1YXlXY2pZbH5tbzAKemFlVGI+VmlXWjZ2Z2JmR0NaZXRVSU1jWTRaQEY7azh6 TVokeGNPdyVJbWdFSG87KmA8VXdFSylWPiR+VkNELS18CnpoaFAmVHo/d30zQH49TGI7ZT5GNCZS XlpmWSs4fXpedTMwQi1yNlY3WGAyTz80UzxgVVk3VSQ9PTQ7SSVISEpmQgp6c0p1NURldHx8Uyoh d1pfN3VDaj5CMXZZP2lTVG5pTlc2M1FOQHozZjY/YDA0RC00R2ViOEp5bk45P2dXM3ozJSYKelNg NEg7VGdeX0FjTXVCO2JhM3hUSyhrPSpZKHprVUB0UnBYQDdnX0NCJVdnd1ZDamtQT0Ntej1UNDJY fXkzJWg2CnorRVFEKntsPnIkYTZWeHspMj9kLVFFOFVRRDtKaEg4KjM2P3w1O1BVPTQ2bjloUDk0 OFRjeWZlOEMocm5LeWJOOQp6RTwqb0g2NFg7VFFhY0JTX3tAeFRGb0FycDB1ITtFbEB6Skd2eGpT TSt0MSp6aCNyPWExfTYrcU4tXjBLcnh2WWIKelp5cz5zWX51bWFVR3xjejxtKUwmZm14UXJyO1dZ bEk/PDlEUEEwYipHanEqKVFHRWNjVU5+bX1GMH0xUk9pRUFfCnp0alBmQ3NKN1VUaWF9JGJWdyQ9 LU5HKGI7VXhrJD4rdEtXSztAPGFjdlh2OzRje0J0NmwyP19le017KEFGPSpvSgp6NCtBMGNUenNB OS1EZHN8dyV4THxmVEthTUIoRjd6cWhMeVpiMFkpOGxgUjtUTkoxNklBM3F2c3NQTCZQOEtuPlYK ek53UlN2c3F+NCY4aFZ1SSFQbzloTFBDNT5pVT9DVz1sZXQ3JHIhQExyUTdXcHMyb0xnYnVsaDYx VEhoQktVQmVJCno4ekhEamVHTkQ2V0g5dmBQYzsya3pgPlZAdi15PCVMJHdEU3JgP0hrJnR2M2ZU MSNpXkxIP0VYZV9kQkVYN1AhSAp6a0R1UzBId2h9JEc8SH4pU0syP0M1YW98YFopcz8wMkB0T1op TGRgdyhgeEdmO1JaeilMfkBhQG5SPWg2ZXtAPngKensmZG9Ye2ZVZ2FoVGtifUAxUmlULW03YVFn cUppcFIjZGFxOWtAR3RVV2NqJDlPVGZ1Pzglc3xHYDhZajN2MWMqCnpGeDM4WnRtRSh4Skk/WkFW dDVaVWRwSUsmQlZDSmhTcmpNYCgrei1UdHh8T0FqMXwkPTh5JWFFKW40cEFYQWw5TQp6JTw7OSUh OVF6eDttaW1gdDBTVkdQdEFURlJRVD49fExQaCtiaj17PW42PnptTkg0aWskZTJGNyFRTlY+NnBQ NHEKejw2NnItbjZ2SCNVNFVoY3FtMkl3JGNpdj4jYTFUakNiU3xeZD1oIzMrQmw0TjM9QklMVTJh O1FoMlkxfm41dn5iCnphdm1lPzM+X2VXbCRFck9TPXN4fE4zLWJxSTdaa2UlYjckfWRTRGQ9Tjha VlZ5eTgrfkp4RTV3elMzezhFfSk2Sgp6R045PSpyU1dEYlVkSENDNmMoWDlYTmJVVm5ZTi19MDRY NUpgRWVkNlZePkRVZSpCMTw8STUmVWdEd25KUF5XU3UKek5weikwKm9yYyR4MiEpNTQyZiUjKVkr dTJ6WV9fZ05wZkNYb0tFb2FxZDlfdVNoZENYQi1aI2dXd3dvckQ7TyEoCnpKQmd6O0c5Qz1oQHpn T3c+WWFLTEd2KFIlRChSfH1rfmtFQlJTJWUtdUJscyM4NFZ8b3NgTjdSYlcoVHJ6bVpiIQp6KUUm JU0tWj5MK0ViKjkwaXJpUSV0SVhHJUQrUldrekZiQFZ0JXRIdm4pKHNQNmphVVhPNjIwSVdgekxZ M2lGdVYKeilpNmVMbmY9d0M/cnRTKj9HbT4kI0MtXzA2Sm4wQWw8X19aXmtXcXIwS2pweWVpZUV5 U0hmZWIoPFlve15Xe24wCnp3KjlSTlBldCMhMVRHJChBMVRYdE44TTEoY09KM0J5MnM2QExtIWlS RGkjV0AyfClpZ3NpPD1WK1RhOGtLPjdoQQp6S3Z6WV8oSkMzRVJKdkUkSCh5SFN0Sz4+fE16UUd9 dUZodGlqeHRfO0c1VEN8aGJtODkrTDhvZjVgOFFLP2JCN0kKenghOWUteWZFcDBUbiZTaD08O19n RUY4Q0B6PGJLVD8jUFB6PkBMenhvbzJNc0s/JXVHQlp9bmpVUDFIaGR+SnYlCnpNfWJwe0NEdV99 I2sqTXwzNlpEWTtvZkB5NiF0VCZfS1NCfStVYjMxb2FraUdDOyZzUFUmNSl+UkRPViVzTDk8awp6 NSkwSXcxUGlsdW1+cj8waXFeM3skOHJDM3VSfVRiRz4xSUxVTUojUS0tekNZdldLNk9ENnBTcTx3 MFJicXY7c0sKekpXPVRIVERZKkt4TVphMntlQXhmPkF1Njg1Z2VGOVZPXnwpSVRnfDZLI1hQaXBJ e08wWik3VCZLfGpAVTVZaVByCnplNks3cEM1aTZuPU08TzVgQmswQjsyNDFVLT1uVHU5bXFCWHNQ UiVgN2VMbXFGYHxXNGB0PWxuVCU3OS0+YU08Xgp6MTA7WUo8ZkhLR0ooVmp1QlRKJVkqOVVEVz03 Z2xhanxLKWAzVyQxQ05JS3NNRGFHNmF6Y249WVc2ZmUoJX5SKj4KelV3eWUrSz9lUXI7eW45PUBz NSFwPVNwTWxsY3dnTnl1UUp3Nz9HdDxSUykxJTU2N3JWbFp4eXdEX0xFRjBvPz44CnpkcHlDQ1A7 MDxNPmdNK35EVnF6JGRVMTk4JUQ2WVIxPFA3Rzh8dW53N1c4XkVQbypLUE9eMjJgYkQ+N0dTblZg Nwp6V0QhPW0qT1heRDx+YlpKNko/dVQ5R3ojNm4+bCQkQDB1WlhkUEkkOF9iQUNgbzh3K0pfTypN SylGazFfTk1+bkwKekhGaTlfez5DNDx7Vkl5a15yPyohXmlCe3pzaC1RIXhnQ2toJTcoaXxBR2pO YUFlOUZsNCszVmtDRjw0TUlZODR2CnpYdmRaY3RAVGE0PEBzRGNLZWQlVFhrbUxlJkNON2J5JX5e eU5tQFNeQiVHNXg1Pz0+U05gUT1WYnExY1N7NVMzZgp6ZkhEZ29vcFY2IzlRS2UpMHYxU3IpfDEo bSNwRnlkUFpzLTI9RkF5UipPcitke1hUfC1uQ2RJJSpEelVgWUVETmUKeiRNR0h6aVRfR2dVdzRz amIpJHRteyNUZEs9QiluYE95M2MkWnR9NXNhZiU+bUkjLTZ2eSFYYX1WR1NFZ1lpPjBVCnpoY2hk LW9+TXRGbyMxJl8yTiY0UDBUZ3B1T147ZjBVaFZleWc4JGV5NiVMclEpLVREe2ZZRmt4QDAmbDB2 UmdjWgp6Tzc3K3hHMFlFbVUtQGN3dz4rZ0tIYCF8TWNMcylLJXtvNTNjWkA7cmI4Kll3KnNjaEhi REpURXpxWm02YVg2Q1gKeiRJe3ptYH0tO30zJnRvKzVEa1dnTXQoTGxHXkZGP09nY1k1ZkF7dW5H N0FlIWdsTW8lSHZWVUYrNXIrPGY1N2tqCnpYZkowZ0xhWDRDKi02aDY1aHpuITB9cDx6ajBvM2R7 ZTsrOXI3UG1+eU5YUEw4QElDIVV3Q2NeYHpRfFlfcXZqQQp6P14lPzkwTVA2P0JgdSQpX2lKUzJC S0B3dzdzYU56Z2oqajVyejxaWCpfZD5CZDBCZTxEJlNSMS0xe0drI2g3UmYKemwzSmhmLW57dX1a KGtKP3xJbF5nXnBlYmkpM3ZmPUJBMDZZR3RnNFcoVERTSm9lVEVBb3xhfW9uOTN3PT1idVpjCnps UypfSDZpcj5vJTthQn1HV285OU9vbkcxaHhEd293fXo0P2QyTCN5QFZfOz1vYW48QjRvWjc5IT1k QT1WMllKZAp6YE5EJiN4I0hndWNfZHkweVpnYjw+aEpGZjBYUjVEUU15XmstQl59Q0FNRiF1eFgm P1NjM2diPz1zTn5SJmRiYTkKelokKXMhQ0JJeUI3PSEja0FoUk1hajFxa1FgdXdvJkojc09UMTRP Py1TJENfK0Itam1aK2NZRWtyM2UmcHlXME8qCnpXQVQmVFYhREk/SjZNfUhvOWJLJTdgWndCO3Ql cVFTQnN5dEVOXypsVSRqUnFSaj5TIztkTzZydkRtPXViVHQzNwp6MjY+NnV1eUA+VENtbVJBR0xq Nz5iP2YjN2RmWGc/K0JqR0JUej4+aSlxJTd1WDNFbUp6YXV6NURTM0diJFlsem8KelhNbkZZUWtW X2xVb3NzXl82Mk5oVCRiSHZCWnhSNzFzKyNuQDFKZn4ld0t7VGBIWHdiditzOFpwZ2kkN0xHeG5p CnpKV2lDSzdwaElpekkpKHNrTmthI29sIyZ8MVJBR31oYiNBQE19YD5LMWRfP2ZZRkdyeUtRT2ct SmQle1pfYHA4Owp6P29BZHpCREA8U21wdmNBcjE8VkJoK1cqS25leFdPZDV5ZDRHNyl4Uz1GLXlB ISUmRHAqci0lbCp0UiVCTGt6QjsKenprbCNVRjxUZHRDYTQ8a0JHKippQ01nU01jQH5FRSFeVlFB bS1GQytJaFpOdWw+Z2EtcilOYnVveXV2R3pZKW5oCnokfHFRbT5EQTswPztDeHorMyFGVDhEQ05r dDI1ekdNbXozTE1sKzdCel41OyVRdVFjYXkoUDloZFF7Z1A2S3tJRwp6emBRY3l7cCYlYGVKZXEm QEZsOFI8OWNTV0thcXpGelN+TjJ5bzNOSjYkR0VlVU1OY2EoaWdEYFNFZi1OQz1vXmEKekxmTUBS azF9KFVxbyYmSj1GanpYIyY8Y3MwLWJhSWhHRmw+KH0yXylAI2k8Jlc4VGxLczAxd2pXJG4tSSoh O3hJCnoyTDkmZ3B2ST5AN3U+eEYmZ0V8fSM4dzZXTGl4el9IezxpN0s7TC1+VFE2Y0omcFQlYXFV bTNlMlNifnpKaSZqPQp6NmFkckYoUztQV096ZWh1S2Mjdi1mRC1LPEtlJjI2e1kreEJUYVN1UU9x OEhQPDR2UE43ayNsbyFnQFV+LXNHX3kKei1PTj8qdCU/UnQjYGM4bU15fn4oZkJ3MUxRZyZGKClj KT1BNXsyaDZtQDIkQU83TC05akxoUnxVIz41TCpteXAqCnorZ1l0I0wrKn1HQ3cqQWlrMmNkWWw7 QiZwTWhQU05faihVWHBTP3ZJeGZGYmE1M0g8e0BwfEFabThPXmRlPHY8Xwp6TmdZZH1RT0t+JD1m LUA/ZClmZ1RWRitnbUktSVMlPl9RaihuaT9kXjtrY192RENvcnB6RlkoTHt0I24zc2hOfiMKenkl eE9Sck1rYkcoSkx9NmhAOWY4dURyVyk4Zk5ZciY7NVV4YFU7PmIqOGd1MXEpU2tjP3ZuMkFaVWhE Qz8oV1Y1CnooJXMjcWZPSz17bWhTSEVaZ3woPF8xXnpHdiU/SEM9al8+aV9Obml1UngwaVg5KXMq QHJyUzxSRlp8PWA+eClHMgp6TDxjc3s8NUJmK3tQRko7bWleK3FOYWhoRG9hM2NON08mZjdtdEpf MFhXJnlESVRecnp2cm1jI1Y+d1cqUFp2WXQKemdqUV9aQ0NtQlVgR1E0TEZMe3UjUmJQTHFedTlF b2YpT3QlXmQ5YytIbHNLcURkQ2MoIU43O2o9QnRkcCticDY1CnotN01PKXZFQUFxKlVyTGw9WlVO UmAmXnYtZUwzQ0Z2SmVtdWVpKmxJKnwwdWs3Vj9IQV5iU1JlKjBDYyRqeHhQZgp6emJLcD5iNm97 TGhxSyhBaUorZHYmJldEb3Y3ZkVnNUB0QmZhMmZtSkAhVilVdGJ1TyNqfnF0V0JHPnBfUjs2ZyUK eiUjbDhLNGJpdEl1V1YzPnhNYlIhUFpwTmg7clFJJm5gbCFlMitxJlhMI0g5KnZnSkQrJld3WEBT MChzN3U1JXFtCnpkOW88JVlqKG0kMXoxcHNAa1Y5bm47X1EzN202JTZweCplNyl3cXgtejYpakRK UnVLLUVrYWFJeVItQX1VdT9aeQp6az9BQXdwaGQ9RTRNdm1kV35EfGlHJCE9RSk4cFFiU0tmO2pM MTl3PHA8RT10WlBMTzN7THJ2MCktNW5sMmVHP1oKelB4T05EI2c3OzJALVhCJXtsS3A7OXRJfXR1 a0JwZFFfMnhndXYoc1dncX4rWTJYbUVxVztXWXszQzhCUW91bT94CnpgRUFkfkhkanhWcVpvVV5f SnI8eElSUzleR2FvdHxrOXRQPVZwfUckVj87fkN4P1B+Kjw8KGk/TX5Lam0xX3t5agp6XnB7RH1S WEUyYXZzPj9YKGtTJFVuPkAzfElDTyZyIX5xc09aNSkhbTskT3BuWlhYR2VQWi1uWUxuazdgU2V5 ZEMKelN1YVhGbFFWSSRGSH5fMUBFR2BoPW1tX1dvJUMjWUF1KyN0S0l2U29HQHAod3lEU1VJO2Mo PGtqJlIxMihzY2NYCnp4SmVSdF9JcjdtWWpjaEclJj5Yb2JVS3EhRDRRWkhhbUc1UWhleXxQZVol OWJ5T05YX0I1SVFFI0A+MilxbWlCXgp6Q1grfjhfelopUjR8JHtzZW1TNXF1RTZvJGdUcFl3XkJP RjFvWHgxOGdzMDV4TW0oRmBKTW5tdFJATCFodiFTNWsKenU7X3liS3lzfng2bWZGYWZuSG5reXE7 RVZzaWZ9V14kRWtJJVdYYnM4akB8KkZMe0Z9UkdKME1WT2ZtPnohVW9JCnpuWD93NF9rYlpfVSpW MUZTLVJoYWc9K0REIW5wPn5iLTNFckhuODY5YnZldlkxODdXZWYjdkJzUU96WD9BLXluJgp6eiYt ZW41fnxETl80IylBTDQ/eU03QFhsUyFje1pNNF9LYGJNcG44KkZ5SjMlSDYwPlM9KXFeNWg7b20l cm5xZTgKelUkKU9XPStRSDZYbEo4TUgwe3JobT1CeWdwRXJZJldtUTN4N3RXJmklNSNzJF47c2U1 IVo2USpYJXFZcD8hWnJECno8UiZEPytOYHYyMGUkRW5fVkd2JWRkcjRzQ2Z1TUdjRjM3PWhJcjR7 WCRoRCFzXkJyI0J3Qz9HJV9sUShjbWhuSgp6TEdVbjE8IztMMENsM1Aye1Q7dHIzVD56Q0JxbGl3 ejxERURPLWQ5QnQ2bXI5TDA5aTI7TiNxMkZaIX10Nm9NKVkKemcwJGkpcFZYX20xNEpgSlhfIUdQ e0V2PkNrUThZZ01ZTVNaR0QmMFllanNYZ2liVTgwPGczVEBgS3d1dlEpVmRFCnohc1Z0NS0ldkFz MClrOzg0SFhxVmtgRXV4U2RVeGIpPjY4eVU1QCgyTTNFITBAQzBRaU4hfHFZWVhIdzc5MGFCMgp6 UyRYIUdYd1lkISVfTX5aNkt0Qj9CKnc0WDRncDF4c1R2WU0lcEFtNGNEentzPmtXPCRmNV9UOzVJ VHUjPmBifHEKemdgLVd8dm9rNXdGNStaMjNGPENKT3lCZlJtQzEobE8qcntvfEY/K1lVWXM9LUo+ TG4/NH14ZHIrYVMoaUFxS1hkCnpweCFDKFpYOTk1PXlib1V4aEE2SXU2UGB2JW87b1YpaDNeO0Ij dkxUN0E2OT5ka3R1LTMkYilPJDMzeSQoUklKKQp6ZG0pOz9yTHs4dXQ0I24zPmF8bnU3WHB7bG0x U3RvdiloamJJRWx+Z1QtfV8rSzhGXkk8YEg8cGp4ZmsxdU5Qc1gKekMwczVyN0ctRWNkKmpEbjJx YWZGZ3xAI29VRHhyVGpidTtDM3J4eitmNTNjU3dSdENqYVhocFFpM140N3RrenBHCno4M2MpUG4x ak4xI1lobW9sQjJJWjh7cCYqQUhybEReQjV5UkFaTD17TVcySz90USsxPjZ1QiFuQj8zZGNBSUYw Pgp6Z1pYfVhAZm9jPj5hQXIhSXxEaCN4fDwpQWZrZjlAT0dpb3YzJkBseCpJfSVXVVpYVmM1dHpp U28jezVReUt1Z2QKemxfdkM1cXE8NGlxN2o0MFB9MHM2YD50NEw3V0c7UUdMPmFWYkxFWiNkWDMq JWw5P0B6SldqKkhVUjtnfTZkamZ+CnprQ1l5UTlEPDdyTUU1R0pUP1MkY1RFT2dEc2ZfWTtwR2NI QCZaeDdzP2p5ZmtwbUBne3hOLT4wJGRncFRuPHk0Vwp6YjtKcUtId2FpLWNSYVVUT35+fH5YUj9A fUpZTmhrNmVpRz1Iez1lTUReeUdXdEBuI1hwZXg+P2BKcTdib312MlcKem8hYDI3Q2Bac2A+eHJz VlJkYkJuTnVVKG5VdCVRLSoqfHxEV18zRHZaJDk0Z21kQUQyYmd1JHJfRTF4VGNmOG1CCnp1OFNW O0tHfipsMmk7OV5jJV4wPk50QWFkOE1pfjEtUzhEXnVUSkFkQUVxdTZwWGFtTkpTR21XcTBmVyFa d30pTQp6VjImLWFCUVAwRypERC1lTHRfPyEle30mZGJBI3JebzN4WCVfVUpkTXFCYTBxNUpYfk9Z aFNWWEYtPG81ajEpUSYKemM/TURjMlg/YjxXZUFqVkghUXdtXm5BWnhvXzYld2A7Tn5ieEB4WGEo dWdySnxGfk5+RFYoWmZRaztqblZWaUBaCnohTyhWNVdrKztnKEJzSUVQUXtzTSVXS25lRXstdUNL dVojez5obFY2WCtmU3s3dEl+TCshPHpCPCZkPjdEN3BtSgp6M3VVJmlWVUdhPj07QDJPOEBacDVr ajVKWXdIWUIxeT9TPCU3ZGlieWBnTWo5PV8wYFdZcCZRIUpUR0pFSn0+dUkKekJScj5MWV5wajI+ PDJfbUE9SXtHI34jazlRJFBNZU4oQXdWZWNOajljcH51KlhKSWNjeFhHcHRIJUBJTU5DR0NYCnpr JX1vWlNXe3Q+cT9edjhXLXFUNnolezFwIXNmcX5Ce15SOURPaH45eW9PKUxwPkFKP0V1U1JVe0x1 Q3pjfUAlSQp6Y3VndEQmcFI0Yzl3YkVpMVZiUyYxMkUpU24tZVImNWhma0tNWSoyYlZ+eVNLWDd0 MSk2N3ZSKzZhdnZwM1o8YTUKelR+T3M9SjFJTjwqYnR5Ql81UlkyXj0xPyF7aUE2MV9LP0cqOTAj QHBPciMxczR8bDhFa0RKXnVkZ2p9UlZLVUF6CnopRGgmUGNCYnd+e3JuZkdoZTwjdXVaemNhXnpB IS1zWVcxNVZTKEtlYTt+ZVNFa09abHU+dHA4MzF3QzslTHIjegp6PUA3YGxnOztfbHJvdEw2Tkx0 NXYtYmZySmxFaiZSUXpqREg8VT9+ZjZUYTw2MjwxZHg2dSZ0aHlRUHdsfEt2PUcKekc5fGA1TklC Rik5UXN7ekdQKDRwVGtIM0N7QHtUTGdmJFFxXiRoWSRkendEfjhWajVxdD13Q313K1llN2YtWHlU CnpMRyFkQT9gNUNZWEpmZyVJaVd+dTFYKSQwaGZ3R0xDVDNVWVpxJkg4P1VVOH08OSM3ZU5aYXFa aTYkZTVOYmhgYwp6RF9IeiE+TDJPcCEhPnFZO3NtMVQhd3wlfiRocC04MT5gbHgqRXJeQWxmR19y YXNtMUFNVC1iclJzTGMoNj8mKT8Kei0hJEloeih+KXRne0d+eFBrTTFSYSMzN1JJYyVlMmNSWXxV aWNmTG1fJjFaaXhvZVM7dkN9cHB1ZURxdUpLIWV+CnpoNnpGJT1pbkg/Znt9bVVjX2pHX0huXl9h NEhefllnWkVNWWdZYkJsQmc+SHBZfip7QW5CY2tmM2lIekRGODROSQp6WFZ6P3Z1KXJIUCF2bUA7 ZT5afWVDX1hwWXgoN1EkWm9Ta25mVlQoQGl6dX1xaFY1eSZDWVRtJW5BPkpNd2ljfEgKemlzdSp1 aX4zbklXI2M8SWdLLSshWkMhKzVtMmA+YzFRJE07WHgtIWNEZTJ5dy0qPEwwQXNBTihNOShPO3pi bkBpCnohPCEyWndITT5aK1FfIV5wREhGUFVVPVUyRTJ8ZzY+YjFyaEBNcUo1I0crbHlhMjxZZS14 KHtgMm9LZl9lMHY0Kgp6S04wVyolYHk1JTRrQllpZzRkP2lme0ZZQU9eMWg3SHsmdWVyeSs/O01v LXU1NjhWbGN2IW1uP0w5XytSUztsUi0KeiluV19CRWsmNzNEKSE8Q1NnTGZtaXtOMjtwLVleNENv Xns3ZWNsfVd7YDBYRy1Zck1RZFFvcitaPGs2eHNHOEc+CnotQTV3ZmBKdC1SYjNveldFUCVXUHJS S2pTZilod2s0ITt2ZTR0cjZueUZEVHg3KF9NfTVRJiVKTTtpUjRYQT1fbAp6R2koZm8qNDc4JnJa WH5eTWMtMHhlP2clKkF8bTspRUVZSXl3P3JhSnJ5UXgxSmBuQlJUQFdHaFR2Xy1vKS1PTDEKelIh PzRxYGk8WDA4bmRqclNePT1KSFJPIyQ3KUBLOTV8TlYyPnBfSXB3MX5eKnozO19GM3VOJSE+dHMy M1RwYlchCno+YkhMJGBGNGJ+b2VOS0J7ekk3bz94RX0lbCRAcE5SYjY3PEVwSlomXj1MfkBacjlX c01abn1xZFhSP2JVWkBHUgp6elVBK2x5LUFvKERJMjRva3lVeVBAfHFwXjV5c3kwe1lxKmZzU2VR T2pQSTBaWVNiVHBHK302OFJoQWVObW1kMXgKemVJTEVSUz1OZypKYz93eVdXJExEYEVuV3MlUC0x YzhtZnNwcytjbmItZ0klPCo0Q0cleyVzPTxvO1BnIyZjLSZkCnp2WnA/JDt0KGgpb1c5Tyhye1pG IytKNyhBTU00bjJiTkx4I04lQGc1XiNfdnJXP2krNzJCe096QmdXWHgtPHRMYgp6WkVhZXZSezgq SzI3JiRTTEpWQkBuZiNUI0gjelowVzU4elpQd3FlLWJnMF8wZWAleUM2diRDaFQ1OVM3WCVrWEMK elBMQmgkPzs7WHoqTzN0RTB4YVoxay05VXpNP1ZiMDRfWmtWdml9MiphWT1qeTV6OyU1KTlpbm5l SDxTIy03a3o/CnpLST5ZK1pBd3AxQEJhMGpyZn1NVkx5PFNqJHFhfjIhP281dHtYZWpjMEdkPHFU ZHokPFhqSWZAKGchazh6TSg+dAp6XiY4KnZDWjZ8QG9QbypnPHg4RS0/dVFsUigzOUomQURaej47 QTBaLUV9WGV5VXJ4SUZ5b2xsRHdYRl5oQlVeNUAKeiMrPzxqe1AjNVN6SDBwfUB2SnFySEl0WVZ3 UXdANHI+RytlQk9CRXIoKmk4X2ReQW9EJFVxaURSTj1JI1EoblRRCnoxeHZhJFhKJUhKc29EQ0dm Nik3NWxTOFQ1QmJAU1FCQU1+TUljRGVpUURaVzJtYn0oUD83ZnY7dmVuT2xTUTttfAp6IXdVPlc0 V34jIU99ckp5JkRQXz5rJSpye3xIQXNaM1psTUFJQDhfUSg5ajJIQ24yYnYxZGEtOVVmSCtWOG5Z VnoKek5mUW9gQSVVfFhuX0UkLUxzdUFPYV5OVUtYLTFSWCZeSm1mcl8hQC1GPU9kWERxP3lLU2Yl IytRXkdxeDg5dGxsCnprflkjb3JDTytOYFAtfG0pKUMpUXZLTHFuV3ojLU8lKiVVVWtrSWhYSXg4 O01nO25rNChjYkZybDh+fWEjcEZqVwp6JCQ1TGxJZzczJlIkNFhNPnVjO09OdF8lPVh9UStYNChm TCRJdjcxMjJ3ZXpFJmBYXmxJKy1jQklANUR8VSN6PjwKekE7JipJS3MzIWNKclo1aShHTjs/I0B6 XkVASzd+VjJVOXdsWCZpLXU9ZGllUE5iODtRPWBXbk13Z2ZUMldCSnhZCnpHSFAxfFJzKHRLQX1+ XnBgRnZ5ZmF5Z0Fve1M1PCZGO3o2MTNzNT95YitsSlBOcTdKaGY1RW1NNV4yI19ZaippTAp6azw2 PnxrUDd5P3FjQUtJX3tMYUlgSWF5U3sjR3VmUTV2T3RFWFg4RDQzbXs/RjtVe1lUPEQ0anpZKF5R cmNSU2IKenZ5YXsmeXJnQjZPa1hMOGt3bzs5Vml3JDVNP14lQU1AN0Emb2dNWHVxe0s5KmZhYGYh RTE3PnVANDFZMyFNb2NrCnpRWCVLQD9ZSl4pTmN5cjdUa241fUgxUE9yYzw4UktCVm0zPjhoPCNf OTJ7VU12YC1nbmZMJHFDaVQkcmY9YjtIIQp6RnZldGJeaFBLWm47R051VCpBYTVjcHNaTGtlV15y Rk1aRFh6RUprPTRMVVkwNj5TYit7UTNNQDNZKG09X3BgaykKenVocUheeTlXOEokYWBscD9reXJ4 dUpFUU5DRD41fmJ7cmhYbT9kWFRFcm1+YXBTPTdDViZ8JEkjc1pfTihreVk2CnpGdE53MGtMT3Vj UUpnZVg/d241IUA9Z3dkayopJHY3OXIkZmAkTjt1RVYmSnJvZFghMHFyPlAyZyo/O2Z0JU0xcgp6 NClpNHEzc0E2Z2FgNTgyQmhMen5jUk45Um04WGVmOyY7VyglJDslR1ZuNGRSX2gtYCUpRkd4P2pu WFlYYmI/VSEKej5oUFA5ITJKKlZoO29qaW5DX0QwUiU0PlFRTHh8KSZFe012WV9yOUxxXjRuKTw2 d1lLPV5GX1Eham9EXilITG5hCnohWEFyJGBxTD5BbmVFOWBTTXNicXRgREt8eVVWWm9YNUlzV01j JFoqTDxhWU1FditQek1kO0Q4WDRiVCpzJTJIUAp6cCY2bjFnbTxtQl9HYG87YXZGVmB1Q3VtfEYm TWJUQV9QKlZPMUgofE17S31GQiQ7e3w4M3xvTmlBdl9QUlpNenUKeiN6cjVENiFDPjI2KSFWRkF5 KHYtKUslbiVYMDNENE08ISE4T1MxRipjZ3BDcFc5PiFaPzwyQEh5YiFsPXg0YmRUCnpKI2NVOHdK aCgoMUYpPEp0fEI1LWR7cENxQjVFRVNnOGQmM0NQPTRBdVY8JlI/dW5ZdD5NNWdVb05NZnpiPEZi Jgp6NGl9OVU2WFZKMnd7eGszQ0szQz5kVCUxKlc1N35pS0M5YCNoLTAlPTF1UVMmcyNrKHBSUlBj ZmU2OXl5KiolKiYKektzYkJYTmIoaGokayYjSkNtX2RkNmRTfURoUlRISjRCdn5ya0U9fnRzOC0l PGVHYzt5RlhvaU83bHVWRW4tTz8zCnpDeHNNYnlTZWlRMTZ5fDgzM2RMaChiZU9Gez1xYlIreWFN JXNhNGprVGo8WGh4Y2w+XiN+NldjQnM3cil7Wmgtcgp6OWpGbyomKUlsUXZINGFkdS1nLXZYSWkq UV5+YTZlVjtAcXBUODZNUmZHYFJeWVNQPXVgYjh7JCE8Y35HPV51dl4KentDaWBTK2U9azYyQTNV aVRNT15xNjtCckk0I3pPa1BRMmRFenNEREZ0N0twJnJuI2p6K1ZZbGk2a1Fudz9AOTMjCnp8MWI0 cDJ2eWFedHF3b19gN1Q+M21MSypIcWI4PG14IUFQVVhyRGRMeWNTMDlEJW59QHE/S0Fga28wXk4k azBkIQp6cz9zNDg2QFAleEF9akh6RSZKdHQxRntyUncjPnlkb1VObmdDT04hbFBjcHBCJEphbyRj aCh4cmVqR3F0LUkrSFUKenpsPygjbF5kJXlgZGtOU04jKkpuWXhZU1BTWXQ0bjx8TVFoSmBtV0NT TzNHUWpyVmJQITBAdVExUkRSRTZJRTgtCnpuKUl6SmlFb2VUTk4qdC13RThCU2Z+QFJIdHJBIygk Zks8a3EhPk5zU3d5VCRwc1Apait8e09FZm1Sb3dAR1dhLQp6V2JKSUYldUtPOWsqNz4mcTJqLVIl dEpFdiVZbyY9YmI9KClYc0NlU05+dDhnWndfIUM1MUo8YnRfTlkpbzRZOFQKekRCdWVWMzE0UlRM KEhISUl4P3xHY2laUFBeODU7Q297VGxzP1pAdV5tR0tje3dVQE4/e3xrSFlNfmsqfGEkUk09CnpU QUpsTExlZlZmKkd+TVpDeDZgVDhvRnRePFl3Um0yU1dTbS1iKEQ3VUdLJno3cEMhQnpGMz8oZ3lM Z2wqQGRmWAp6Z3V1NUMxaSRMYiV8IW1MQFBJYHVNOV5JNjRTOFEqS3hGIVFGJWdnNzhQc3NJdUdh PlEofHpkTkdDSmUmUmtAI1UKelh+M0J+MiR0aV44dn4xLUBeUVc2ITJqLSVoNkR8Vjx0THV0KXAm VHhJXyVfZkMtSWZfVXwrYGEyTFpUYVd4OTlLCnp1d09GYGhyKyRERmg4bilgSWtMNjVCNnAwZWxX OXtqYzNBUmxjRitrZk9ydiQ2WG4zVXxIaU5RSWl1NTVhVCNSegp6Z01nSSZPVHl2cGl9XitQakxt MmIrcktNYXcpTUx8PGNTfTt5dD0wK0FvNWB7X1FMWSlzO1d8WVFTRDhHQ1Y/ZG8KejZOZyMwdHEl bWYyUjVuSzVyVjcmRGhKSTkzOylNOWxsfiFKOzdrfD0xZm1rQHcyYmxFTGtBSmVyOzZWPm9oJHtT Cnpxb1g2cSFBd2Y/cFRnazZDPFlOSXlgNUQyJkhgdG11dHptU3ktQGNBdW0tfTw1NyEqOChsUm07 VURQUCNNe2RyYQp6ZW1BajxTIUcmYklQUE96UyFQfkFJPzZRQHpIeDthX0RnP35VM2F0MWYqTHpw QXtPZmMoUG48PSYhcnVXZUUjaT0KeitJJitAK2RwcyN0PF5zXyUzfDFnRW4jVztwTGUxR3UwTlQ/ djg0dWJiTT5ZV0t6e2IlKCFtS2REaWE7Ql88fXdVCnptJjVVfj45VWlCYXlnSnRIK2VHanQ+TWhm SUxkQnJEY0QhJmFqfip3bGBTcGxwPCFYZT9hMylBTFJucjkpTkl5RQp6MFZ0ZWpmYGRhdHFAMG9H bUs/LVBGKjt2V3F7UEk7eksoM2JwMC1LUXNuPXhKKVp+MG9QaT1wZHA3KENWNHJXQEAKekthLVBe Vil+WWlqTlEpVStTayhxdSRidCMxcnMlPkk0fnwtNFg5NlhWODMjK1RUdnFSLXA1TTQrbSlCbl5a NTw2Cno9PVlKN3FmLStGR1crJGItZyUkJSNJZjBVREojfSooO0g5LS0qLW5ZN0o4O1VLYWZgYXBH QVRHJX0wU352UkBsRQp6WjMzcTNnc1NzbEtoUSMqenUxYyFafW9xNjlBPXhIJGcrTXc8VTgrZkdY cEI/dEU7dndlVXFXRVZ6VFBFI0g9aVoKekZmNHsjZkp3bUtNZFlZLUtJUjZud09PO0xKRyZiMVhZ UzIoQXh4LX4zMzhkX3dpJT9Sa0JtJlZmQ1Z5Y1Z2Xis+Cnpkc3JmYWpgaH1CfEpOX14lSUd9bEFI IUE0elh7USgmfmd5QDF2I1Y3SCtIfGowZEJ4X0lGK3J9PyZ8N094VkR9aQp6RzA7SDRSbl5zVVVi d3pfWiR0eH4rMjZRfDB+cSUyPmUjcnJ1RihQYU5waWNWOT4xWiVMRlEzUmV2YDRTQWdCTmkKej5t fHY8OE1qZHFaezJ2bkhWKGs/ZHMoa2ZDSkIrOHdpVGRWWjA5b3I4MkYzM2NPYmtgV2lFajxlR2BE TEQpZ0JrCno8b3pYeSVXbGJOQ0dCJXsmcjxQa0U9MFNLVUB2U3FxNHo1aEojKGJfKWJ2NUxSTHYp MWhXR3JSYUgxbHYzLXZWVwp6dG1TNGAmbTxPI1dNSHxVIT5od0ZaWkFqVV9VP0J4Kk1zJDdoU1Fs cUNrPmFAM29kUGJTTmxiVHhQOEMhOHY7XzwKenQpdX0hM1dkaT9XYEJUXlY2JU19Yk1xPzBid2tR PXUlc3dXPW1YVEBxRGB5TkNLJVR1eV9zST9IVXxMTSheRCh4CnpWYX02dTl2QlgzTmphZ3M5JmF8 T3d6dU9gUWx0KTNaa01XR25NUU84NnptOXtAN182MU5hYi1jJm5JS2plaU05awp6ejAjQUdrfUZ7 UXNYQVVleURUVmpCaFc3VHVFI0dKNkZwJigzdlRWYzNreXBBXiQlfSEkK2NPSDQtZyNxZlUoe1kK ejtFYUArQzRMZCM0JH1NQDN4TFA/P2NpczYhOFdVRGtqZUsxPUxXIzRgK3g8WENCey1UKlFSa0JH Wm56NFQzO1J4CnpETTs9WEVQam9EUH1MTUZjYERAdlExK3xNQztfRn1hOz19MXRJbXM3UGtBT3hk QHRSYnAycXMmV31EIzA2UEQtMwp6e2xjX2p4NjdSOzFFYVVrK1lDTkFMTGVDSXFWcnshKWRHZ0xy LT4mP15Xb0pEMDZ2Uk1Xd1M3VF89S2BLQkpAP2AKej5weWVaVG1vOGpyOFBZND89I2Q2ZFhHZkpD JFFJSllOZHBzI3BHKSRQcndXPjg7bXx1YWN+VjBgZHEjZzI2c1k2CnoxRGt+a3ohR0hhTWE9NXRB PHtQbGU8JFNqMlJ8SWh4VWFwbVA1NU1iI2YpJTEoPl4jb3VzWSotajd3MlF2Mil4Mgp6WHJeTThf d3ljcnNOQDc5VnZWaG5xNz9FVUVnZl4lcURnMll4SmgkUCYtcyhPS1UjNTI3Ry0ocSF8Vl5WSnoy dHgKeiF4RElRWiY3QUJAJlgrek8rM3BVIVJ6SlRxPDdyJkEhWE9LYnlKRF5JMzZSU0Q+LSFgaUA8 WnUjJkplJWNQekxJCnojbCstVndkcnRWYVgpMk9uXm9TdzYhMkpRfDR7YVU+aiRDMmROMChOTztz N21HeXlvXns/KCpIKFJ4PTxuI21ifQp6OG0kbyRXdWZDJG19R2cpKDkqZEF4WGorVDFZclJ6cD1Z JTVOVj9RK3gmdW0/WDUkMj5BdXVPMitkPTtWS2JVKUMKekdCRSFrejMzVEtDMFZ4WFNLUHoyejMr YEtObnVDVT1QQ3swUUhYT3ZxZmZpb25fSV9pdVBeYXdYKT9EPDRwRFp9CnpzOWFsVWxPcTclWEtH MlMqJH1PWjVvN0NWR1BjVkF6VmphdWM9Zzt8OH15bmNqOXZKPGxXczRNZ3k7PjY7KHpHcAp6NEJY JH0/eyg+diNZa2shMGtAaHBWLUNDTjRTbUd1NXk2SVg1WjNuKHNVanlNbzUqbGs3QWFlLSszdjlZ WmJ1ND8KeldqQSVNRyNyentsbzMrPFZCQ05ya0I1RGVpRlhvc0pyO0d3cEtsNSs0YCN9RV5yVyM2 JHFeOXswNF47bWhoRDIkCnpGXk9LdzZ7MG8wSHd3M0oobThHYWo1SVI7YS09TzlRcilzSmcyKHd0 NjJOPzV1dGVjMDwoflg3ZWBoSV9hVSFyZAp6S1NjcSNBVWQxam9pVmE5N04jVCMkUEtIai1hT3Z7 K3R9YmMrfGtQd1pRWllKRktFNntmeEQoI3tWX1hAMFEtI3AKenloLUBWczA/PGtgJEpzfD1jQXlJ dkl9VD1wNyZlPFdPSklDal83SDBnJGtPMEM0dWBNQGd8VyElKU98I3d7SjE9CnojQlA/NF8wZGAl TkBtI35oRkEycFU0KEU9a2Myczg3dn4yMmU0fUFMUzN6OSV0K0NVU3FjXjtSclM3K0FhU2p5cgp6 KW9KNXlXKio/KjJOfWtTIUBZKDdtI2IhXiY8KmRuMylCXlV5ZzQ0OF5OLVZKK2ApN0ImMTQrajtp XytGMGsxfCEKejYwbGVvO1A/TFVDbU9rKkwxSVZkcnhrX0E8NzZBeFBiVjFNSHdgaUlOb2wrSSUz VVl+WlN0ZHtuRDBXbURBNHZnCnoleyhfTWVhN0JONURZOFpOI1J3aD5GcSVQa3pfN3BtbDJxbG1+ UG4+JnpqQjtYbj1FZ01mQ1JoU2VyJHhiKERZRQp6bG5iPlg8WT1ubjk/JDZzZWsjNmJKPTVidmZI a1FJZn0hO1pmIXBuPiNKRyRVPTBKaH1LNnFPaSpfWSNLSjwzPWIKej9HVzhiYU9IKyZXdCFSKj1B MmlgS00kWk4/bXFqTzhFfjQjR0Z+c1hkYnFGKmhmITxONjFvRDYmSGxeZFg7RUd6CnpjVzhPKmpY RylRWmV4N2orRms1QVJ7KShJNXdSfkUqOSk7PCliMmE0X1JBSyNPJHpocjl8PFh1aU5QI3w7cGRp cQp6ezg+S3YqfjE+RXR4NTl5X2xCR0txNC1gZU5jcng2T0w5MTNUfDdQbGxaeExja08yVlVHZU43 eGVLVGg7b0Q1PEAKejgjPTZgb0woWm5Wc0EpaC1eQUY2aHpxKjZkOyZwbi1XUD5USE08YTJxbnph O2peP1JWPzwhPyFGUHFJQE95ZWJCCnpvNH19QSFxR0FPVmpTO3xrMCg9YWIqSXp2Nyo0cEYhJSFI SDJfbHI5PVh6YDAxck18TVE5SThSIz9ibTV0fGE0Rwp6eHByO25MYWx8KCFxZSNGPiZ8fTFKSTgm YUJ0X2FeSGxoTFY1RmEyPihxLXtmOVg9YGA4c0lkIWo5TVM1eG4kcXEKemIwX1orJkc1ZF90YnVZ UHZxWUhGUipXRVNvdVVEaiNHX0g8TCl4XyN5JnFVOEloTCRLTUhSJSokfnxgcGZ5M2g4CnpsIUhx KUc7Q1RFVVQqNSFRaFpQYW8rfGJRR1AlXjBMblZvNC1Wb1RmTHc8K2xQOFhDYS1uPHR6QUoxKkg2 SzJXPwp6PUxjM34yRFRZc0opRFhAWTFsLVcrKEc3ODVAY3ZPZC1KQEc+Y2krNiF5XjR9TG49YWxn b01ZYE8rPTglVFdpengKekVJfjl1Z1AzKDR7RnVmc3lNWUF3PURENEw2cCpYSUElXmtkbjcqLX5F Tj9Ndi1WNiUtQVB+RkQzeUolQSYraCo3Cno/VFFnTVlQamJKWXZFR2lXZktEQEQ3ZWAxWGZDOHNL MUtFdGlAcEY9ejskKTUzcXFxS2xDKD5nSl5nNn07THRDNQp6bUt8bn5kMFJkNnZITytYN18oVVNC fnAxQEFpZDdGSVVIWlRlQXF5Jm1mcGpNbV5ROFZxc0NxemI2TEZ9dTkhdiQKek5rWW9oPnZRVHxp JiVENmNTb30lNmtaUFBzO1M/KSt0UlpoIUAhK1kyTHpiMXFSK3MwMD1YZX0wbj9Se1ghfSh8Cnpe cWFmZWFHU3c7OTg1RTRgbUY/Yjs8QWdLT2kjZElta1lvaCNsd0AjN2V+ZyRQT0F0Q2FLYlQzeEJF V2NGfHdZZAp6P0xIODIqM3BIOUU/PmxaYCl3QEBuZl9QSFF8TnExeFpJfkctaXUlfXNIUVVZSV80 TkQoZipqTklXcHoodXomYVQKelhmVGthVTtFSXgkI18xWmk8NlZrK3s2eCpII09fMnxDbTRpXz9l cmBTTGp6VFkhITU3bnw2JlV2N0NWZk59dFdzCnpiQyR4R19haWR2WExpfHYkZDdnKFRrb0Q2dGA8 d3hyczZvPGtxRH5WPzRIelgmOD9pX2Q8SEQ0UkwpS1NGJEpPZAp6NzYwPj0wUz9RS2g1N0t2IWs4 WkhYTlNsdFUwNGVDKHlQN3NJMlJYck0pX15FLVNuWiF1fDZnXkozUXYpSzNRZGYKeipRYVU8NXtE elp5eChofll7QWN1c00kYFFyTmNablpCbmIzQmE+bkQ7Q0tgfj8lenY/WWVGRDUoI3xncmR0Sjk/ CnpuNVZ3e2NoVCMtJDRnekRBV3g1VTtUNz9rPnwpS2JjZm9xP0smVTEpUHR0NVNeVSspS0NzSlI1 TWVYQT5TTjQ+aAp6VGVJWFlQQnE5T3M2VHApXnJgfHBZfG90KDZXTXN3OTdvPXRfJm08fUlVKyQ1 MElnOy0xQnBWd0oxMEJkZDREPzkKemkxQTBFQF5haHVkWERhfEBWbHd3Xnw5QGhXISR1TXdqQzg3 TkhxSWBIVlMqQkRAUV5TWG5SKnRqZ1BCKDdNQEd6CnpEUnNXeHkkfWZxdzhwIW9Gb3RXKzBUc3cj JXQwM3JIcH4lZVVDJn1nQCtzSVVnenRXeXxGcT4md3AkfClSTz1vNwp6PHU4YXk2YWRsdEo5TG5h KW9JPGBKUUxIVGNMdGlea3tQR3ElPFNYMHhjPCNneVVFMUVMa3dyZTYlO1NiMX5QfDwKeiQ/N3M/ QDFod0VKcW0wYElCIWc1cGk/ezI/bH5ffS09UUpkISYmNiYkeVZrPkxTanItMmx3V0xgPmYhVXE5 PENKCno4WnYkKUJ7cWxCQVNXOzI2JEU3JiZwM2FycG1UXzNUY3B7eio3fUFFcXFmJlU1OTJ4NHFa PEpZekprME5eV20mWQp6Iz1KVThOX0xLQCZefnd6JHMxcFp3Kz1MT28pfUhfb2U7VHRRZGdGVUN3 aGtjODJeKS1FbDA5KENVdWQtVUhKQVQKejc/M1Q8IVFuXlpYNDI1PTMwQzNMIy1DZmxET35sP1dg NTtHbHc/PWY8SjNXdUgtKlV4MzMwQW1NQzNgWHIwJGs7CnpaZyUjdTxmPDJfaT0tPzEmeTd1XzRs VWU4QGhKNy0+TmkkKHY0VHdjPn5EVFdCQCFwZyQ/b3ZSZ2Q8dmd5c3BDSwp6dU5FX1FmYE1MenJu dDctaklRJkNNVH0kcSN5bFkoQnxpc1UyN15FYExqd0pNSj9tUWlEe0VtdzcjVDlzKChJR3cKenJs P0k3QXN5ST00O184Rmt2JVVKQWIwQStvTnpQI2VXPDxjYnRgSUhpMWowNHRBZjVgUVgka3l1ZjQy Mj9DO3ZuCnp4WEA/ZXg8NVhxTmsqVCFaS2xNUyRZbTFxRCE2KEYxZFQ1NGJZTWZITzFWfUwlYWFy YSpuIXVBLTt3XlZqKntHWgp6PCpXKlo9RyY5PiZ6d1Z0e1c5WT0yTlZPQENXbTQ4fEV8MSVFbjUm XjIjQzNae04hUitienhHR0xhQ1pCVD1VQDMKelZIRFE4ezRnfWUtbERwOTI0UV5pKyhYZDE1KyFo aDt3TVhIKEdLY0lkPTtAMGdxNS1zTTZJZUxKKFN2V1FrOChuCnohYks8UFB9T3EhUC1gflhKOVdN Xm1zUjhtYzglT3BXQV50OT5CaGtDKkU2fCpMZ20jaEVJUXhaMVNUQWdMc1kkPQp6a1U7Pmo8TWw9 XmxnVFp6S3cqNiRBb0QrNFZLKF5QOURVRmohSU05P18wWEpBfEtxZShZVyVWMHB0REV6eWtvUUYK ekxMfmBEOWw7PjhYfHJTNT1fZmVKR21waVd7I18mcU0ycCsjd2ZLPERaUyNpRmtZUTluaDBkOT07 VlNKUlBHUEVACno3VS1ZSkcrVmIhTmNXJCR7V18lR25HMWtpS1UtTlNOTXYmX2chMzQrbTI8eSs0 RVZ+Nzl0ZXU3JXxsT0BHbFI5dAp6Q2ZHVlVGNkotUmBWVHpsMSMwVjBqWnB2Jj9qYHRuVm5ucHZM dFRWJkFVUlRXYjh8WSMwTEZ4Yz5ZOyg8LURLVXIKenZRa0spPmAlMHZmamBiQyhZam5ncktKRVBS ZVVjbUU9WnMhYC0raXBma0d1ISNnNih1IyhwVUpMKzBMbVc1MjNLCnpaUjIhUDlvfkA/e3pQNFFq blFSJi04VlcwMDc3LSowZChqU2k4V0E3Vn5VdHNfMktUVSlhaEQjRzh6Kys4SD05dgp6Yk8wPGhN VUtVN3BGPURXJWlnK0JyeTJ0YjxrdT5AbHU0eSFGQ0gmQXR+WGtSKDUwT21nZGtaV2ojXjlII2ZI JWgKelhtS0JPVnQ4YVh2Umg+aVZQIyVQSWErWiRsS0JDeD9wX3pFPD9QaCs5YmxmY2x+YjRIPCh2 eG13KEojejlacUhMCnpvSVJvdyRnRV5lQ08pSFgrfFIkQ3g4KmhLcy10c2ZYVjZxVDUpblRjUGp0 RTAqVilUOG1fMjU7NDJpVmpDX1hBZQp6UjVQUUxSTV5YOWE4Z3h4QWhCTnFLd1BxVjA4NEFKYnRm QDZNNUxwdEtXP3RHOyEmenxuNSNLZXdyczRDeztocDMKejdARTwmJjc2b3NKY0NBX2g0TXBXND1P YkYwMlB3YyRNJFl4THRvZzBec0FEJkp9c1Necy1Pa08yZ1JZQD18MUI1CnpROURKaDskMEYzdztL RHA3QTtJS2ZtRmlMZ2c3OE9tJFo+XnhuU09AblUrMHdffUxOWVB+PF5DYGZsQ2tNTHZCYQp6b2Vk Q2FPSnxUfGgyNHlsQkkmZFUtMV95Q3N9UXIwVzJONVpGXn5ZUWNeOFd+M1ooNnhFalI1K3t4M14r eWtBJisKemlAZV48ZGNHVm1OVVRaeUtuQ3N6T1FTejhyOyVDNyNpNWVNdjFJWU1mdyRRQCRxSyp6 MipAeE4hanYqM3lEYzhxCnpBPkRgOXYyVF8kQk0meTI2bDIjczhFbjNgWkRKbyk3JWh9aXYpOTFk bWJAWVkmeExlamFxKGNgNHxINzhKZFhjfgp6XkJ5NlpOWihIVFA1bFg7N28yJFpqYGdGN0s/WDg3 N28+P1ZqRWhXbmBYMmhNaSMoRiFkcDtSdWEjelZAPl8qOH4KemIqQCQoeUxTPEliRDhSRlFqNnwj Pis8XnI/RWpncWp5QipiNz1ydVBUMFclaDlqNEhmPW5UZEdLcTthaUtXbFFxCno4YCNaUVF8ZntI RmglVjZacnJfPGJqQG5TUjhWZVcoJHFtYSM/My0xaChoWHBsOXVyNFEkc1pSPH5eOzxOZGk5Ugp6 dVVtT0AoMF9PIUp5MTBiQWBzQnBtRm9DNyElUWt+NmdTbFAxQ0MxU1I9clI9T3B2dEBla1lNKHl0 V09UWlooWWUKeklJRkJ3ektSXn5fKDNVTklZJX5vTzJgeTk9e1JUYl4kZk9ePG9gIzh0VEN8PnZ3 ejFJQCU4fVRAbm9sSXktVyt6Cno7bFEoNGt3a2FJM0V+Y0R6Nj01ZlVFP0ZfckV5cHImWStqQyMr d2lyRjZFWDZvI19YeEVDZ0hHWGwoP28tKnRqWQp6Yj0pKzV6RjBsJUZSfXtvV1kycXJsYiFhfVV1 JF94Nno8Sil4aTt2R0N2bkA4I2FzaCszZDZVUVhfUTgpeT8/d3wKenk5ZEVeMTdlaCNDfjlycWpv a1deISgjTzYrPCo8TWBSR0QzJkQlK0pIMzNwNWNHVX1FYlZNdTdkNnxCWm5AVUUqCnpuRnJ7Qkgq dnNWNUo9WW9UdWt5dWw1THYhSWJyRDtWV25IX3M3Q2R9THxoc1Fqc2VFP2dpQDxmSGo1eFMwYzxs dwp6SCFeVFBRNCU7THZXREVUVWxKWD1MfUQ7NnA/Pj9RWU9kYlFTP3c7aWBBP3JCS0FxfEx1N2pk UmhVPH5HVl5gbjAKeiEwWmlCRm80Jj1MTWMmRy1TJHV6YiZ4bn0lZSM9Nk44P2pUdSNPbjRIQTEy OytpPjwoalVoXzs3ZlVET1k5PjljCnpEZEwqO3Y1Z1Q0aHs/V1Q5RkZ7JmNydClYKGw0cUEma0l+ UismYWoyNW45Yk40UykxOWN7VXhOYCs9QihLa3YtUwp6SVc2YG0jT31YMHpQNTg5e3pKbG1CfFkz aUFmNDhnRWd7TyNNJmU9Xys7cDg8cW92dnViMG9Ta24/RzctOE5FIUAKenY/c24xcnJGQD5WSHEl cSs9bj11Q0R8aEI0OCY0TDhvRWVhYlh8K00jITVeXio7ZGh5bVByXjBfPWw/e2phdENxCnpSKzB3 eT55bndFP014QWVMO1I+WkIhcH0rPFZvP0YmT2h0WT49Kz9SN3lWYTc0czwjK3s1UEN3U2gkaUVj ISZuKAp6VzJ9YHthe21rcGJidzsoZmVIXmBDTlJoTiReO0ZiPksySHtoVEoxKmJjJCt2cDAjeGJ4 ZThxXlRvdXc9aUo3PFkKekZJR0xHbW9GMShxWEFeM2VUe3YyPTlKWlFjMiZRJTArYGZ0ayRzJF9v PFBwV0FgY0AlT1FWcThzKTVeanh2cV9MCnooQXZZPU9RSj9pSVc2WWxlVGRIRiZDXnpXSitqNnN7 YlRKeys9WktrMFJDN1dYUkJYWXFkIzB+dD9hUDwtVUdoZQp6JnxkNi1iblhCX3AtSzg2VSoyfXQ7 KEZaeGAhPmx2Q2V1NH5xUEdkPlVURH1jNG57JikqdjxIM24pNWBkaXp0QFQKejd2TU9ocFZsPCNr O35TIyMldzRQc0FyMGl5QF5ZPlRnUE5wUVloTmR3NX0pNXo3JGZIaXgydiRycVErQWBBQUpQCnpH YHdTPXRER1JpIXpUQ1EkOS1IZUBaQ0QpalZPZ0FwYCpyM3FRZnpRIVVKVnBPYy0odTxuVCRvN1Ir Y0o5ay1Cawp6NTJuMnR0UCRDNDxrXz1qNlJVPkdWQ0o7ZHFUUEtva1FYa0Rmb21fWTc4YnJtTGRz b05Jdm1HKk1KQT1qXygzWlQKenBoTW57N1R6WmlsVX1TclheX1BXVkcpPUQhNlA/PDBOZEs9Ryt5 aFYoTSM4QzEtQ2tMT0N5NXZEb1YpZ29iQHlxCnp7U0xwTClAaUcqb2FYZXhOLVpzaklkKU5ERG5A a2w9VTFLTzh6UVh5JjR1IzFzIy00JW94IUAmdjMkQyVpKUFRPQp6OyRMO2gpUWZlM2FTdGs3UVIj UyFCfm5VMzYlP2k9bWFRYmRMRDtYcTwxMUdrdFJ7MSpXbGxrYzlyYlMzVENUQisKem9AcD5tOFVD KDlqKGFmWW1oT3U0KXtBdlVMeU9HOU5sUD04K3hlRDVAV2FEQEVOYSQ2T3tec3teaXxmJlFTXlpL CnptWUg3YnVLKEdVZXore204Kk8+aW56Z0R0VDt0WSlMeXt0dWYzOFckc0V1N352OTVnUl41LUl9 I3dAKUUlbTVKRgp6QUJDR2pJM2pMIUd8JW5hU2FeSlF5O3s0amlwOXJNfEcySnRsUTtrMXk9fXx3 KUZGfnFtbSVxLUkmKUdEXyEjVEwKejxFX0IpPFhHNFBSIXYlJTs0U3UxYGs+OVFeZXF4eFlNMVEt ZGFsRGgpP2ctc3FQeVQyU15yLXNkYVA2PnZhT15MCno1KjRNVDtlYjU5KFRhQ3NDaGxaME9fR14/ XiVyZVRIZU4mJVpgI2Z4SERUYERuVnkoZiklOW9iaHU1MUNEOGNkewp6RTNhK0clfklfMWE7TDJq ZXVgeDFsOUdiTlh3dkB0Ql5RZUVwVDE9KFclK24xaU18JlY2bmgpTG1qfipNKCswcl4KelEkaDtF cWUpNkN1elB0N3oyNVM8Y3ZxWCk3I29geSVUIWdiTGglJG0lUmVzaGFKQWlNSUdrTTEyVFZSUzFS NWo9Cno7ckdgISQ8QXowTDFEPkledXpQWnR1V1hhSitaZFFhXmxJKll2WTRVODRSQSE0JXlaNmRq QFpmMzxBcXVZXyhnaQp6RCkyVURnMSNNVkBLSGR5XnthN2pvVG4hK3glS3kkbFdNTG9uN0RiVHVH UiQoMllJJkdheCRuYURPP15fSV5NQ3YKejImfCV0enlMM3JPc2xUSzxQZX1XRnJwSmt2QHQ0YFp3 bl9CcExhZH53alY4I3ZDZjxTWGE/OFNWPWUkKE5tKTM5CnpqVHR5UzVNeGBZY2VJezZoVHp3ek8w T1pVXj5kdm9ydlA2NExreDxeYntRJXJzeSlkMmAqdFRZMSk9fml5IzwyYAp6Y0g4aWA/YjRNQnlh fGtIaXx3Xz8+eGNkSWloK0JwVkAoM19fbTtKdlhsZGl8eSFKc1hLTFVQK3pBRjtgMiEjO20Kek9i MUI/czsjWWtQXkJ5Jj9Ae158LURiaGxKdE80e0VlUmFpYWNKJTBLU00pNSZEWFVtSDk2NUpaOFAk ZVdHV05PCnpCNDdrXmhlQ0tPdTxjZEhXK1VBa0R3QndieX5VcXFUX2xEP0NqdCg/YUg0M1AqeGZv IUE/bDs/SlAjJDYmYUo4NQp6QGIpZXRNfSMtI199JWNFeWs2Rl4pRjk2VCpgZnlmQlFwNEMyPjly QllyKiFOLXh+ejNRUms4UVM9JXkhd2oyJHYKek4xWT9rNl8lREdpMGJIR3wyeS1hbFlmTV45Tz5w ZzclZ0JETyhYd0laMjI3JnY7NXVuSUF6KDJ5RjJwRnNlblV9CnprfkYkZ2JBZFo+Pj9vRVglVFNA KFJxUHwjS050N0V6akp9bTZEbnt5Y1JmbkhUSkFfPGMzNj15YXhVVTs8WTs9RQp6T0slJko3Tyhn UW49USNLbG1GS2F6Uj42eGt9fH5JcUE2KTxHO2lNeUVCTll7SDVDXzJXX2lTPU9AJDxPWVo9aFAK ekFGMDEtJGNwMURaP29faXtJQzYtcGVHZEpUcU0xeyFMLWo/NzthWkZLMX50PDRIMDF2PjFtOyUy I3YyYDU1d3omCnp1a087VXF0dDx9MGdfJWB0I095bDJuRmMtY2I4PzFhMilMSG9ObjwycTwpNVFZ dVgqSFA7S1NsQF9EfCVpfVJDdQp6U0dWR3lPLSYyU2xNTkR8Mn5oVDV5ZXd7dVlhPSk+aDh0aEBw ejVBa3g1eThvNSgqVUZrT31AZCMzMyVsdEswZ3kKeiVaMyN3bEZHQkhnb0U5ZkIrNVdFRCZeNk8q M1RsTSNKXmB8Xjl9YmskYlcxdnUwOWw2KCRZOTJlc0hYa2gkMnVACnpRcCFiQHV5algzbmIzM0Zw Ulg8JjB1e1cmXz1KflBzYGMjfio+YmFzaV9ibnZfO3dRdjxSaShOKi09QiQrVjF2Xwp6KnJ8WWBG T3FqbmA7UTJMe2BxSDIyMl5IM3BRcDtGZUZZelRCU2l2ZnswU2ZzZ0NQQ1NeeyRWN0thNl9lNmkm VG4KeihAclojNlpxNVhmUClBSSghX0pKaz9LSFZXekZBSnF2NDdgd2hZNzRUTntqbyYoMXBtWWcp RXZTU09vZVV5JWt+CnpUQDhZTiRmI2RVMVB0bml7bjB0aD9wTE5vZzhIJUQ3NmFOfCpCP3IjZW5w PlNeYlBAPD89THh9Ri1BbEQ0bCpNagp6SzVTMUVrTEtaV2MoKyhVI2FVPHxIX14zTU1ydFh2em8o JXh8RWM9UmRHVypHUmJUKGthR0tGKz4jZWZAciEzNDIKejdfY3w+UTlFSCEkVlQmZkomMno2e1Be Kzc0VW8tZWh9cEtSKlp9bHM5Ti1XY20+bElUUSNxM2A+SjcmKD1ZTylECnp1ZF88P3lqdT8laz49 TyRoTVRXM2l3bm5RNXdFa0gtKzBPWE5ZWE5eP1pIS0UzJUV6QkpuIXZXK2g3cUUwPXZBegp6Kjto U0lgRUpEJWBFS1MhKzsyfT41QjtpT3w5T25mYmRhVC1EZXBRQCQjJUcmXmpeIyZXRTY7fUZ6eGNZ T0tKQ2YKenNmJWxXT2QwTC1Uc2E/XiMoU0pMJGBJVnx6N0FhTjJNcnU7OFZ7NyFLZFpAZS0rdzdX MCVUT2tScmNFbSpnVmVaCnpuJjtKN3tibHY1SXFRfTNGTVkzR0Raa1UqOz9xM2BPWFB8M04jO156 KGlASEI9RFUpJWNHN0dUMGo1SmBnIV89egp6NFkwUkJocHl3aEVEPU0mQVZwdFgqZi12N2dpVDg/ NF50YiVielEmfipkNU40KiNsLU1aWCt+bDtGYyVUP1NseV4KemYzQDgtRElYe2o4cztFKkE4TT98 MF85TkFRWSt2b241ZWhXWH1sY2EkKFI2YGxFO0NaQWM5WVRTdD8mUGx+cm9SCnpicllFajBEIWlC dnk4P0E1cisjMmQ7cW5UKGZMckZfNTdScWRxdCl+MktRRz8yNW5qbE5fb2RzbnJFfHdNeXY9QAp6 KCpGJV8kcSkhZkl4M0hFd1clQzduUTIzZXVSPmVfbH41KWVrejZ8O099O1ZDJEt3UlU2X3Vnb0Be Vml0OW9zKEUKelJ+WGg/RXZodTBgQ2w1biRvJVRCNWtaT0ZYRi1WckBhWk0kbjkoMkdaeGEqSmRf Mk9nS0dEYSVCTlpSaSo/a2Y3CnpfOHctKWMpUjtfcyExZzlvSkJLKmZJJit4TFklS09tKEZTKzJZ bntpaytjeWNAUlhCbypOYVdSbmVIJFc8TVZRdgp6V3EmaG9HNmF4WUMkIz5HZ0tOREp4UmdtKyZN Q1lQZHdDYXQhPj1FfWRlYEVgRXROVSUpPDhmTFlUSFJLLVMxe0cKejA4WFc+WTxrYzBZK1YkNT9r fDdyVWAxNCY4LUVOO2pvanp0dj9yZnc5ZDx7WTYzXkh5WDhIck13NWQ/fUAzTz0zCnp4Um02JXcl P251QGc1WkM4VE4jSmtvT2JJKHNLJDNMe3BLVjNRJlpSOCtaQ30zSG9RQW0lKDZzaFcjbn5aOCVs SAp6Mllodzl4PzEqUTxFWW9IQ31TdFNWYGM9dU9iTT5pVy1NTyNaVldaMlRUal5zSDNSUzAlUlIk Wko7eTU1O2NVaHkKemtFNnlTT34+PHNsVSM3XjhDfHtSP09hfHwxMFdJd0daNDFDV355NyVIRlF6 STtATWBXd2J4ck9pO0dwcl8jbnNQCnpAfUJUZnNRPytzcF9yV2VgRWdnVXtjJElWUF9MO0w8c215 QTJ6VHt1JnZOYGFGTzVmbHZSN1VXcXtRajRCVXtnbAp6KVBzZ3tKdUA+U2UlYipMWGZsODNnKDQm cExJbDA/bXBpfCVzX1BLU2pKQH5iLU18UilRaGt8TClrJnkjVDcqNlQKek59eUszJilycDVOQXVP JnZ1IVc2N01GbTUlY2YzZTJLLWJVNiF9alJTWVdpTGBgKkw3KiFBSj5CN015QWVraFVZCnpkYTQ4 KkdaSylzI3hJZiU5ckx1I1lWdip9M1MlS2xPTCU1dTdAZjlycU9UYzxWNEI/d0EzeW92dSZwSHJG ZGJtXwp6YCUqRWtvZktjV3J9PFRASypqXnRrJVcqPTtCSDs0OUZPMXAoQT4lMiRgJipvV3klZGpo ODg3dzJGbDtwP3BQLX4Kem4oVlM/ez1MdDZaSD1QMG0xSVRoO1AlSkFCJTheck0mUDt6KiUzPSRg cldxVFZWJUVAZmkjfGYzVyVfMTdsTSV7Cnp5eUArbm98JXl9R2I7JSpQfCEwbkR5V3YhU0hwMnkw e1g+PzM9Kk5yPz57dFAhWTF0aCk8WCNSMEM/VFY0b15Afgp6T01BQk9TRE1tS2RUSG8qN2V0ZGRO bVlUMlZAaEp1R1NXc1htIXRqUzhEQXRLMnNXTWhUN1JiOVY5e3coMGlNYE4KenhxRilKSykyRE1m ZyoxJGxxQERXOXpLeXMtVkh7eik7aWZzaURJIUxNZXpOd2piIUFGJnJxSDhKbEhGKEkoRGpyCnpJ aGNJNig2ODNvdyt3aFA4NmIkMDReO1p3P3F+eGBmWHlZbjJrajk/WnZmPEVsalVffEg/SWg7NURm em5CM15zPAp6NU9lfGhfSiF3Vl9ybyVLZkRJbzRZPUI0SihSMDY7LSoqJHQmZyVHUnAjWGZTRCha VmFzJnZ+dUN+KXpQWmRyRmAKejduajNNMTdERCYxUGBZWj5RQ2JNQSs+N2IjPHJqM09Abmw3WCYp d1NDSip4ZFNxakgkO2RNUlVANHoxTV8xI2VZCnpyY0N6T3otTzBBUCNIdVojXzlZMUlQUDlgIUdx PGtMKkk2VVVUZDN2Y3dfdGdGZ3JXMilWNU5STEZhX0tPWCN9aAp6dCMjX0g1WG9tPFhDMkB2UHYz WkRaJkpifiUoMHkxeSlkOXVvRVpDaiVPZ2xmYDVGJn1ub2dfM2I1OGJeaz5nOzAKek9nbVhgYEox aCkqbHxvcldZfnE0cFJiRVhgXkloYT5XalI0KHYzNF4wN0w3UWw4WWtMTjgxWDZuYk4lRkJzZCox CnpUR1pES3RUdE59O1ZwJE17JCo7eiFaU1NxNyg5Nng1dXRSaUMoRzhMRDVzJkc9elNvOzhWUUcw KGkqVTNWRHN+Rwp6bnhQJk4oU3x0PkI2eyN1KnF9WTRHQm04Yz1gaDw9KSVGJUVmNCNtd3huaFlR MmtjYHE7Km9nTnJ7S3FPOUBgQ14Kej9TSCNSSCElYzBrfkRGcUohQkFMWGB0MTU2PXV1TE89Smh1 PEloNnVxY3JKNEJ9YSVNPnUpZH4mKTJodEE/Z317CnpXIWgqMHtKNzZOMlB0bkwyQ0ZBQEtafChq eEhASU40OGhmb1B1c0R7JnEod1FPfj15P1leaDN2ZlJjZGMrNWczYQp6KmJeV1ltKjcoWW5AQXNa V159PEpIPyhjNWcrPUFqMHV8S2J0clZ3aWEofEJSSXhHVDhfKnkkR208O2dGKi0/N3MKeklIbXlw JkN4QkwqTX10YS0xQGAzbjhGNWZ7aD09SGFLUEB3Xnc1eW5nfklkT3QzJFUzQWdoWnF7TX5YLXEt Wn5qCnpwKyk2Jm0+RStBNmR3WGhpaFdVZEI/bnJmI0YwVmAxNyZJQSshTFkmU3o/cVA1UUBhS0BC fm03I3xRMkY7XzBtNwp6VCVQcj1xbCpiU3w4eTMjRmtpWk5sJks2dikjbGVRKUNWZj45a2hrIUxx bnoyMEdZbyF3JGxJP2Vqcil+T1dBdUIKemE4ck07JDVETUpuOWxKSGlpfk9GNF45JW92e1BLMWdK cGkydCZVdkswQTN2WjdHc0lRbzFTJXVzYmlhK0FZUUZtCnpxVWNFQlYyfHlNRiMxXks9XyoqR1FK MDNLSEdNQkxeK0NpV3dJO19COXtlY2VtV0o3NSN8czZZMmp3Oz9FYi07Xwp6M3lTdik0QkFaemU+ PTBfbipuc211ZighJDE5Uk58MTFOKWR3NFRYJE9lc1J4MGtJfCsjUFBnTzlUJCpCc0xYWncKekZv el9hY09heTYhYUQ5IXo2WX1DVjJDT0hxajZBSVF1Xyhwa182bk4yUTZBfT4mfnYpbEp7Py1OYyRi NHUqcDckCno+cT0oVjZRWUlBRy12T3BPK3ViYEBnU3Ned1k4dV9WWjdEMVRsZGZLTmxxV217I2lW SHB9Q180N2NobX1xUyk7Zwp6NEVKYDRAZlpaTy01WW99d1NwaXthdHhFZ0JNeyNJMDhIV3l2IXN8 PHgzLX1sLSMxbXJJSldmK1JYYWB2ZzRjdFAKekdmQ2tCUTY2RTNiTWE0Q0IpRVEoKHFiXis4fTBx dzMxK2lGR2piR0c4SyYwLWotNDkxPTNaVytNSjVxNEBNJmhBCnooQFNPI2FMI1Y1PHZndU5rbDg5 JD1+SUxIfDk0YDxCNzsqfWRBYythND9YTjU3NkVQVjdEcFAxdGlMO1g/b2ghcgp6c3NRfEh3S3xi RT1XdmVrd1pqWFEtaWpxRz12ViZ+Sj1gcGlwOF8pTzR+KjxyTnJRJnNEJSZBTkImZHo/cnt5VmgK eilGVUpRU3UwNTRfQyEtVkxGJiNjcnFsMWQzfnxZI2VTTktgIXdDOSktKGMxYWwyWi1SeztnSF5D VioxS2EqQ3R4CnoqaV9kMF59fmx3ZGF1UEpaJXwpRWN3RUV2YjtMdEI3LTNkT2VjUVMxdSR2Jn1l fSY2WUNoKDE9cyM/dHwkMClCQgp6dWp9O3toWEdGNmZPOVEqMm80KHxKd01CcENhcl8zYXEraXI8 JGVWJFpmNis0eyV0NS03bTk1MGo/bHFSQ0ZMY1AKek1LPHJyVEw7QWhaQyR7e1N+V0htPXNXdz5i ayl+NnlDMSU/SnckR3BUY1VyI2FabD1jSTZlKTUpOUM3UVF5S1l8CnorQWA0ZGdKQn14cUhuYW07 PVh0aVJSY0U+VyVifnFFNzkwWFA8eVY/VTUrc31ndz9AMlE3M0JQVGs3QGJMPmNlWAp6SClpaXQx fFVDJVFeZ0RIJHdfI3ZvPzVHUzlrNDBNVmQ0aHQzO1pNI0RiekUtRWQlUFFKemk9KlhBU2w1Ullv b30Kekg0elY8X3RSR2k1JG5KRnk2I0EtY0peRmRLJF44Kz9uZSFaRn1fd09AWl4re243aH5yZH1n bGZxJXdLRj0lT25+CnpxNG5oYSRySD9XJjd7SVRWVHQ1REg+aj9qVFVCWFRJO3V4X3tjeDx0PERF KX5HU29MJWVOI3ElTk1tUmEqeVokbgp6US14a3pWPHomUkJCLUkoI08+X2F2JD50WiNPbUlAem5i fWN0ODxAY0l1SEtrN1hEZlRKNzczKVFLKUkhMiVLZlMKek8qPFUqYyYodiFpODFpVnRkZHBHNXA7 UW9xVTVnLUMtUz5mMTsmZ2ppMyo/RDdMMiF7NT4kSipAJGdRfj5+TihPCnpIJFQ/LTN0WEpJU1Z0 dDh1MXBgX21FS3EjVkpfKlNpTi0maGNDcy13Yy17R3JxcnxkM3BOVkF5Rl56Y1FBPklwcAp6MF54 X0lOQnJ+MTRJJXUqYEQ4YVJgO3xULXE5KWArZ3lzSklDUSFSb0ctRjc5I3FNQDNNbXNyQ08/ZHVp Yk5qeXYKeituR1d6dXAkR3ArV3BfTTchck1NOFF2Q2t7bHEoUHR9WHNuczMhUWd5bTwpYE48JEI4 bkZudzsxRjJEdDArI21wCnord35AayNrbGtvWCslSHd5Vkg2QWM+MEU2PkkrKH1nfFdBNlBGPFVF TmhIaEhkKEpNPyUlI3JjRyg8ezVpeT81Swp6bElwamFzS0BtXiQoSGxKLSUkdjRCeHwrbnZsSUZy YzdyKTZHIXxmO1V4ZTF3dDRYeUwyfHlUdm0lISZ0aDl2V2IKejB7Nz5xV0xKRihhcllRMWhVckxR ZXg8Q3tCRytqXzcpbFNqPGErWV5afSppR1Y9NjY8VFJydnp7VVFgIUI/MX0wCno+Y15pbHpIeWZS a3dhVj9yLVZOdiM0aEBgZl44Oy08UT5LR0RaJUBsRldpOHVFJEt7NnIxPHFLOVdwWlYhdyZrMQp6 PHI8JlItd3kocztZKGMqemRpNkdzbnV1bHBZTjUzV2tjeCR4bm0mYHNlZk1pT2BYOWE/fiVIPndh RD9yM01gV1IKenVUPER1ZzhucH10eUV8QzZOTi0zcHxkNVFIanVUfEB4JnQydUM8U3VYfmlIcyRe UTBLO34+N24mfVoyWTQrJG1zCno/P2ZefEcqKHV1Xzs3VlgmQm4kaU1HWjNiTjZeRWBSP0dLLVUp dypaSy1rJllmIyRJOWo2KihOI0Z+LStkdnpIaAp6elc3d3NwSj5NdD5QcXVKMiQlT2I3NS1kR2Mp O056NG9waz1YQ3dOamBzSTRfUWo7PT5CI28kTj9AMkI4X3EjeCsKeno/UkFXaWE+bmhlRDU9JEIl SmQ3YCRQVjReMXpHPzdrYjRibE54JW8hdTh2PWZmK2ZqZTx2U1dYIVRtZGFGZUF3CnpscWsza2Jl JnV5ZSVXXjUpeFo7RjhYV2NXPEFabkNqSXdWfDJDfUdpK3I4ZUorLWg/WXtRVDVrPEppe3cyfUBx NAp6dSpeMVBya2tnIWI+PUY7PTxtITM+JGlpVzczJWZmc09OPUk+Y2ZXKlR0PWY1ck02Q3pxcjx9 cTBHdDYtaE49WlcKenN3TWA0d20odyhlU3VwOEd4d2tmRmRpSHA9R29RaV5fMzB8U31yJHpSciNn OHtLPXhXN1FaQCZVSFltYDhHbD9HCnoqQ31vS0FLMW5ie1NDRFM5MXwxcG51emBoMV55VXxAPHdT T051YGBwXyExaTlGYlJCUiNOflloS2teVkhnXmQhSQp6IzNlaFVoKk5MNUxLYCVpT2hISXtGWTEx RU0yK2xEaS1TX2RldHk0USVJayM9aHIhcldVUlM1MD9lcHhVKUBXYmcKemZrdF5VTTZGeVhzbkZW e3pwUSptMz87KzFsfC12WDA9eVh7PFIhViUxOWRRZXAqY0BaVHxARyQ+KzlGQXt4PzlwCnojZk9B ekN+enF1JUlzIzYmX31POzU4aStmeGVBREVQaG1lK3FeOH57UHJINXVvZjRIRShLUk02QW53K0dB LXcjagp6IUpMN0ZzeCo5T2M5WHpLPCVwdEV3MmRDMFdYVTAjIVJfdDA0MT4kSnlpfjFeU0JWaXVN bkpYdk5+JSQzOFJJYSoKendAVTU4I1UmU29BezR+YnB+c2xLTVdPSkxKNlA8O3RpUmo9WjQhcU9G STliISZyTE13ZzgjPDNPfUcxMyVTRVZpCnp7R1h6PjIjc0Y3TSlIc0xqcUFKeyF7QyNBLTdANFle OWk1QjMpV0Qpa1ZUUE49QjxkeXtsI3tiPEd2Q1hwdHNVdQp6cWFkc3ZrPnJYeUtWKV5ncShoWkgy SXxqSjBxfm8qWFdMMFNpR2E+PVh2TzBjfDlSdmFfVH1jWmpaPjs3cn1oNWQKekNES3tvJkdFZ0Je OHZ6b1dOP3BZIWp4M3BPJnBVIS07ZTNzRkJHeUw4RD9LRCtffD5lcFNSK2Irdnh2P2pGQHwrCnph R2JpOGwkSilIWiZMUHFLTjFyMHhuRCoxOyYmKnEjTExNM1BIeEhjeFdUPiQ1LXlDK3FLV1BJYSMt PktxeCM1IQp6S0V+fmRpYHJiP2F2JWlvP3N0ezRTUCUtZ0JwfnpGc3orTV5kb0A0JHleK0ImMWc/ X0xXUHBJendJWkI9Wl4yNVoKenklcEFrcEoxYUFoKyZ+LVY4SDUrbjB7T1lge0hzfiN7PU94Ykk7 JGZ4JE5faWZHUyQwXnhIYVpfK3ApdiEqKntKCno7cCkqPkEqeUQqRXw/PDVUdld2Xk1hPXpnS2c0 bDVoWGkhITNtKjZ1OTdnJUgrQkF6dTI9XzMwLX1FPkVrZDBFSQp6MDlYLTRXZW1gSmI1VD59WFpn R3xkU2w2NEhNNmc1Pm1pdiFaUHB1fHg4NXVhKXh1JnslbyV0LUtpPU1eOFQ8biMKej5UOzB6eEBG NUY4Kn19P19QK1dwczt6eHI1dV94UG1aNGl4eTFQTUFJITczI0pFVFFHcT4mbSk+Rih9RWZ1WHlS Cno/aSN2MytqQmd9X3IxUlYhU3tPa1ZKQHpqKj9hYl5TIT1LN3h1NSZLcFFsWnoyQXd5KUtDcSgk UGNScjw7R1RSJQp6K01YLT9JbDNMPTNyPlBTV19gVjtGfmhYd05WQVBqdHMtNHAyK0l7S2tqZl4l MndQZUdXT09nVC1ASyM1YkZeLXsKekEpQlIzPXVFRmY7ZHdJYmxoM3Ryejx3RW0rO2gjWmRiPD8y Q3xBWU8wY0xvdkRhSFJ4UmBTN3RyR0dqUzw1SW96CnpQRXp+aE9QfmBASkEtcD07UUhYVmdCU15W Nk97e203WDhpcVBIMGN1K2I/WGszeFlMMm9Ub35gQGNvN1o+OXkzYwp6VStCeGVfdWdudWd5N3xC Ryg1O0F2NkxCU2lhMkJzSX5OUG5uWD1Ka1B1RmQ/Pl8teClTTHB1Y3hFTiViK1N3a0EKejNNdENl M2V2OygtYmkraFR4K0p3JlJpeVljdFdOeWRMYjQtQ1p+ZWdVdyNQPzRiaHA+UldRTTZHUUBWSjxz dntzCnpncGQ0WE5ud3BHX3FQWWRCeENBWVN7cWxOb09yel9MNjUhdk12QTNjQDJtfWh0b347RzZZ Kit4cUQ+VEY7JktsRQp6QSMkaHNpPj5HZXZ7RmQ9QCp0VWUrVWFwKmVTbkh5bmBBNkJrcSplfGc5 TEJLcVNlJU5ESXZ0WXQzaDw2aispfXkKej1LRk9VRUpVMWtrdkUmXjNZb2QmRzV+bC1ISmJBWkZ5 ME9TVnEtQ18tU0Q9bUJDfUJZczRuUjs+XmBSSmZjWjwxCnpNO08jVFUob1A8K2EtS3wqJWgpcUNY d04lX3xBP2dkS3hqK1pwcU1KIzBfcCo2VDNBMT93aGtfYDxNS1NTQWIlZAp6O1o8byRreHFyUWxF fCRTRzludUZZViU8TFlwb319dmBUcD82I00hKFQ9PmUyNG1uXjQwQnxDSzZrYmRDPTF9NkQKeiN0 bzFMWm8mXjBvP0smciE1dzVYdHdOWkEhdG9IfDtBSEApcGFhPEcmVGRtIUNefDh8UFlUXyVGK1dM b2wrS1g9CnoldDlOKlowdk1RYGpreGByaTBSeTIqUWBgMz1PM1NaJXs3KjtLTWFlU2V5QnY8PSVV ZWhkd25jRTM1dzhFQDQoNwp6PTxaan1qbGdZMmE0SXB9Q0JqfGBiYT5nfUA0KShOR3g0NE9fK1RD RiN2e3o5PEsxOTlHdUdgMjFyTmROP0tiQHoKejtzfkdudk1ROWApUEE4WUMmNTwlRHY0P20tUVU5 P0htSTA1NkxsTSZkTiVqUkI8dzR0OXJGJmU9PmZKcU5qU35oCnp4Yj1JcG1ZS0BtbmpPWWVle19F OyQ2KEt8NGVZZ1kja3NKa2lpJGJlVyZuViMydDlucGtARXV+Yz12dEpeaE9kdgp6UmUyQHtUaWd+ VUI3JEYlZFlzKjcjT3JPJTU/eUI3Iz4tQz90JD1QcHApPzhJQH5tLVZMKFo/NnN0JG4wejNUZEUK elNnfldjSmh1UjlFWkBjb3IoZ2BIX0s8TmhhciFMTCZzNVImPVliLTtPanxQKUZRQlBwKzReRW5K SzJ1YHVJQWJtCnppZT43IXBZWU5Ub0VkKz9XKkhRe3hvdlMhYFFnJEt7dVNvQzJfYkNgM097fX0h PCZ1PWVBPzYyb3xgLXxvcmRtZwp6TlNPQjhUdCRaMEtNPWpkcDVHTlIhNlIpfTlSQTZWUVlCQ29o MygzJT1GMnF6VW1+SSQjRE5xY2YlPDF9Pyt0VGkKeig+UVUoNmAkJFl1PThDK24lNWcwYXVSVy1N cFVyUElkOXplX0dQQFNUVnBVUV8qd31jJUxoa350fWBjNjs+Z0QtCnokIThUMFBLfTlKVTcjPyNS dTxzazM7PnxsR0ghUTUhdUY8ciU+RHglbUl+Q3w7QVFVKiNeKDUlSldLKU0tYEVUUgp6eUw4NTEy JSRvXk4+czIxSzVRWlNZQCFHKVJfVWMqMEcwPCFBM3V0Rz9Salk+enhmRkR7SkhLezQ1UmpkM2FS fmQKeklSJDI1ZEE2TlMwJkVDTnk/Nm56ampHREAkLWpQczwhb2ZncSMqKEpsa2pNIUc/JDBNb19K alo2RTxeOWtPRW1JCno3Y1JUWEc1flV0byR1SVp5cntMeUtHZ0JSSUteTmd2MlNAYlcmLWM3eGNX SWVyQW5+dV5tbUwpQkdZPCp7dktGeQp6SFgpPkU/RlZIKU5jUl5uc3hNc21QS0VzMEYhQ2k8IW9t ZFJCejA2Wj0jWEZXWTE3cGcqYFVfeClyaDtZdCE2TGsKenYoQkVfYXwoSTVLeCt0P1c2c0JkZVZZ dXdCNntHU0pLWV5WckU7Rk9OTTdBb1ltZ1pSKnxpY1Jic156ayhiNmFPCnpAblpfO1o4SVY2RV9f aClZeDA+PWMhIUF3K1VKPGRkNCFEVilSSnB3X0RHP0tTTXAmOVMmfi18X05PJldXTnpiZQp6S1R4 bGpuX256OHElYHdNQWlLKSRGSTx7SD1EUEcqIWZgQXU9JW49LT52bUBwRGB2Sy0zQCZTVE1zY14r M2x1I1gKelI4UlZKR2FPOWs2XzFhK1J9bk5PcH5VdTlmfWIzJVlnTXElUiVFJXVqbiVZX0hkYS1V eUAkbGBGSHQlV2gqKmc4Cno7ejw4NFQ/eWNuYGIyO358QUl4K1hUeHN6YTx+aityXlVecFdsU1Y4 SmtQZSZjKCNsYGV5bXo2enJYV3dtXiNVOwp6S2V0VCl4bS1ZPCliOWl3RStOcHwoPkdYZCtkViY0 PDMjM0pCJUluYHRzRSNtYykoNkFDbkAkP0h+cVJTWnAqeDkKelg2QVlGZHpvSkFudEtmO3AtWWp+ S0hHMTVCVzFNU1oyXm1wRDs1UjUpc0xVU19FUWlRYEZ5JEQqWmJuKCtYV0B0CnpKIWN3R012PChI VDdeej0hVUFGO3FnQ2UlOXdxOHVPS21ZbDZvSV42S0t5b3g5Sk1nP211Pi1vck1la3gwYXF1ZAp6 clE1VUZMNlY4cWhmbjhydjwqeyl6M0x4NW4qUFBwVHtDR1IjVDZNdG1EKzI0Z3lqXmROXlRUc0w9 TEklTX1TcV4Keil6JSElK1liKENIbkEwSV5RVjBWRGQ4blBgeipabDBPTmJhWlAtTj5OJnEyUjha KFZhOV9XPEhXPklHaHhvZG58CnpZXzVkQlNAZFpOdVlKMVNgZ2NRX1U3dD4yRGJWWS1KR29IMndm O0FzYEZ8cXt7R1VFQjFlezQ/Kyp+aGMtamx2Iwp6ZSFzVXo7KWlAVG5OX19uN3g2Z0UjMFFXMkNs KD1GRTM7OVdgYjleXlRsZWo5VnA8X1o+MkxXWHdRQHkzUTt1aUUKemc3MCZjLWxSeyYlZSRndmVi WTVDX0cmdnVuY1NxbjBrTzQzaztPPFYpPnEwPmQmI2omV0FrYGU3cmxAaDBsK1FmCnpWRClsOHpX e1c2VVYxKjJYTTV5PHY0TkRJYVQ+YilBUTxOX25TeFkkQmoyTFlWKE4mWmlhKn5zUTN3UlpXIW9G SQp6eUtqO20kO0A5VWlSTipfcyQpQU9YMkVXcWFFXlY7NlAhSD5Rcyo9aFVRZVVRS3IlX1kzKmpg KCU4PExDV0RsNnwKekdNKl5XT0Jfanh7QTZSUDFTMmN8JW05cylKK2FaMCt+dzxaZVI3I2c9R0Vi Zj9TWk9GWTljTj9Cak1BRUp0NktuCnpJanIyUitvSW9iXkREMT5fLXhZLTtsaD0wVV9ELSZxJjRE UHFrdTxOd0ktWCtfYC1vK0ZLc3FndnEmZkJJQ3ZqTgp6UyV5TVZoT087cSt2c1Yxcnp3ZXEjOCkj bVUqaSNSWl5JT3U3QDFGVFpJVCF8aWspbjNaYCNFSmhaJGxqZUFBZT0KelErTTFFP1hXVG51KWsq bmNuc19fOF9fMF9oU05uIThCKTVuU2d8amU/I1N5WjVzeG4jKzhmbDhpamNCfl9URHRzCnojJlow UEc4c2RHTUVEb2hNTSV9VDh2TjxgYXxAUlF2b2gpYyZsQGdJKFUodW8/N0BefTx0V3o8LWc4aCNx emY/dwp6eG8xRitodjA4TVdFNFAzNH1OWEVfTislSSNpJTlWbWo4fE9fJT5GfVBWZCRyNEpmcCVV WGZjckIxPmtDYSFxam4Kei1lSWxudUZheVc+YCR+ellZQzFDcUl1XiRPIXdFSWJifURnOFRgM0Q2 UGNKVzdYY0JUbEdIIytBe1lwJSRkail6CnpQUC1VNGFfRk1hSHpAVzYzVnooWWIpeWg0V0ZxUGc5 OEh0RjhpNG9MR2A/TzIoZyRnU3JQXmBqemhOa0g0d092JAp6VVM1dkoxRkYwMHo/S0hMUyYoeXlf Pz1qP2AjciNHQDJkPzVBXms/fmZ0Vi1yKWR3ezIlJSptITBqaXs/cV93aHMKekx2PmcwLSZ1dyVg M2U5PiYzTC0xd20kezMtT3F2WDRJZHd6Nl4hcjlhXyZZLXUqLXdYOFQlcWJsNThDJERvU0hyCnpG QmVqbz1NflZEYGVtTEtIaCF9T3ctZzVTXlRiUGZZZm1oTDdmVStlMDBLZ19kbWpMQ2k4e3JoWStz QGwqJCp0Kgp6a0dxa0NMPXBeTzxwaXZsNFlJQlQ3T0A1dSRNXld9OUliZEs7KWpvaTgkcnA9VytP Q01ebURweWBQOyFRcXlXd2sKel90dSt0OXlzU2chQ0p1MVhYcmtSQX1OPX0yPitCT0lQa2F+VU4r KyFkVF8ma1FgKnoxQW1QcUNJRD8pO215aG1OCnpUcjhWckh5eVhFPXtqYHwoOz5YQUk4PWZrdX5Y aDJ1VGZhfGM9Tlh9SWVuOT40TjVsY2g7PShFRXYka3hrTUZeQgp6NjB9fWJxX1NGYEApfmhPeSYo UClMYkg9fGA2UilhVClMQiRVX2RFYEFnLSNtS2ZXem1LTEp4dSpJViEjOGQjOEIKemFnaGVtaiVz Nmw4SDRNcGM9d2ZfMGErQl5Qfj5nfGQzUm5qa3UhY1pISSVHQj5+XktzbDtaN0w2WG1jbU4xYmZg CnpIKztOTTkyQShZO089ITdeV2V4MFp+TDgqX0ZGbX41ZWlDPjVgNHZiWVRLcXFgU29NQnI1aWg0 LXRlOzxjSkhhSAp6c0xoMFVNUE1AVCpPKUo5P19EQHdmP0lDMipWPihSPVNyd1JYRkVxN3dDfks8 MTRvJWomdSpKXzRRcz5TWiM5RzMKemdTTyFpUmlwSXh5c1MpUTF0aUBVMTBAfDtpSGVQIW5Tc1pK Tz9LfC1eXnFJZiFNSkVwWVglJFZLKENnaGZNRjV6CnoxOE9vPnN1MisqKCk2Pjk5NGU1fmRBeHQo bHBNRXlKT0xJPVM4clchekJ3dCZaSlpQUnMkNFZUbjJSY317QXJ6Ygp6eHAlQH5zdClvUyRzMzJJ VH1kfnZQS1pFOHV5OFkkQlIlT1l2PTA8cVVjP1d2M0xCO0t0KV45WntXPSVSeWZfWjkKejcxXn1K SUcoOUBwT0U8dE9BeUlEKENoK2lSJiFBQnI0NEIjYCRZNHdYKGZXI050RFAxMVFac3hSYVokMzRm UTY2CnptaTgqZHs9cD4qNWY5OzVIYDghP19MV3JldVROLXRvcD5NNGB1T3JwNGdDIz57aElJNjxh aUtsRWBWd2gjK29KWQp6Uld6VCszRTRIR3xNJTtuKCUzKUtxQyNzIUw1VG1jTTNqTGdhPCFgK14/ TWxzeEc0S2FVP3UoVVpUfW1QenROQDQKenxJTHY5RXQlaXRsSzxUdHt5KEB8bEl5dS04aHhldDlT OGtJOXBlfUEtN1ZaTDkxdVlafEM+dG9fYWl3M0t9U2E/CnpEbUl6OVpoWDl8bX5Ca19JbEI2S19h QTdUZGRNN2dZLX4qNCtNdm53VWBtWHVia3RERkNGIyRkUSY7U1AxLVZuKAp6VHpXYyE3UkdxSD04 Jm9DQDlwZVkkbjF9WmhKSCpWQkJJUmZBTkNxYVZDbUVaYHNib2ojfVNRNXRnTmhKdGRgPVYKekcm QFhAeyotcnk7IXpMemVwTVVHNCp1aUckQjRQdSllansjfEVYeUpGRDF0VkpLMkVlPjZHaUFQYz9n bEBFVD9JCnowY0ZBOGFyPmBGLXZMRzdYTU5ZfnpBTngmVzJ9N211bytnMUwwKnBiPWgpM1kjRWF+ eHxNIUhgWmRYbmd7RDBtQAp6P3B2JXRldG88SyVTdVpWMTl+ezA3YFBZXkFqPHF4Jmo3Qj5BWGZB JjxhazVEcjg9MjhPP3BiaDdCTXtXcEo3WWcKemREY3hUWCE/MHxlTGRnVkYwa1U2aXZjYyhANlZN dnkrVzk3QDtKQjA3cE0zQzRHOD1fMzxlUlJYSUd+P1MhSEVrCnpDZmJUIV94UnJZeGc8TnBhPV9W dT5oJCNWaXYmJk9Ha0VpVmVFbmkrYSp5QENqSlozcENtXzE4dCQpYCNASn5JeQp6QDl5MzB3SWRk SXZWSS1Ke08yTSNzVWkqWnY/aUgrcFpAc187QT1+WGw4SlJnbVd6UXB6d1Z6RyUjPlBGV2FrQkEK elU7Y1REKz9QY0g3PDZkZTc+TkdRU3YhSTk5MistNWNHVFo9KUwpRUxDPFJjbGdYdnBmI3s0cnI5 fXdUKmJtSSQkCnpATipPVz1Oa3pxQjghd1dfOS1SUyojNjktNH5VKSFJX2RYJEVNTW9SaEpOTzdE RXtaJWx8dGQ8PGQkI1J7I2RzYgp6SjhzaUdnejM4Yl5VOXV9P2hadXo9YU9Xend0Y3kocy1oQ1ZL PyZOI0FkJTwpa3pZOGBBaD16Kz9laGxoUSN8P2YKellRPFFxe3N6U08mIU03UHdBaEF0O1ZKQ3Yh JUBZYWRVbWAyJlEqZ1QoR3h9Y1BSZyZBZXVLUmVHUzVhNyYzSEdYCnp8OXNgfCZzd0x5PGZgUm5e aHNyXkR1MGNFWTh8U2BlSyZOJDRFLXwlMns8M19raGAjMVlFJWNLZlFjZnp4RkQ0SAp6I0p7X1Ay Ki16SGRVLXY9WF5OKG9MJnhZbG1ZejRJTlN0Um49VzFLbWJMR2cyVzhOPHwmSXgybjczRTlydU5G TDgKemw0NjZfNShQYlp6ajtLQ29TMnV0VnQ3UlgzdDV4c0V0eGJldG5CaHlXSHM1NmxeYDcwSzBm fUt2P0B9PlFveVJPCnojWTxZVXVJLT4lYkJZNyRGZlV0PHRod3J8RGZjI1A8UDskUl5BYE5ANnpO Q3g3eHZfWGk2YCp3QVRLa0E0TUk8MAp6ZGMzTjctdClBISY4SSZ+N05Jcm5VU3RySDlfezRBQjE4 WEkrYG19a0omOD1xJkJ1QDtMbEZAV3dfOXtvWk9gUXYKeiRgMT5rWTBkKGk9MCZBT2NicCFlUk5i dDVpK19JbzRzMG8rSXFQaiQlaEY7MXRLY2peeDM/NkNRJXZWJWUwUz8jCnokZnI8b009YCZ1N2oq PnQxaU9Ia2owYlR0OT5DSGA2P2hpbXtXQVBYSiliKTgwfW8pN3FfRTRxM3Boe30qR2NIWQp6MkBA Qz5FU1QtM3VtTSo+dChzM1VucSNxYHI7dExEPXB6X34pZ153bHJ2ZVl6UmBjPWIpM2ZBTCpvWSFH UT1uKH0Keil1cCROTFhDVCRhdHRPPjN1YjJye0J6PGxnbGJDI2s7aXIjcFg+M3VJQ3xnMitIIWlq SUhVQUdHPlR0S2lAWEVYCnpZQnBzQlM5fisxdHMjYGsxMzhXSjNKdm5mQCNvPjZnX2pDQFQ4aV5z QXBMQ0A2RG5xYHErKEZCUjJnaHw+QkZDaQp6b3l2JilkNilSKXc3RkckM2goalklUmVqVDBjc35U d2w+UEZVR2h8NDxVU0x9Y0VGWVNzWWplRilidyZ3U0MtYkkKenRKMH1rNjJ+Q1pUbW9YK0dwcDFx PjlGOzBnN0QwWWQtOUR4eDBkdlZleGgtfDc3Kyg+ZTQkOD11QXdCOzYpd0wqCnpNNFh0KFEtVDRC eHQ9WCNDS1hMLUtVTEtOLVp5RHpOKT1aS25yX2BQTlNkeWQrXjw1aVdmQ2c2c2x0QVlxN1B4UAp6 Um9lTEw/b19JVnFNSFFzPmBPal5Ja1V9dmtuTDBZRGMlLU8pfG43PjwwUF5SSElHfGg4aE5ka2RF ZUYqTW0wKl4KemtOdFpJSXE0JDIrfkRgd2JfNlQxRWZVKnNHQ1YoSV94cWAyQT83KX0/JHtVfGc3 U21EQjBCdzw0WlU9eyp+VSRNCnpNJHElYVVRVWg0N18rTSZ5cTZHdWZkO3duYVErNns3MjdlSFpm WVQ2PERuTFBGRDd0ZT1wdyhXcCg+NERPe19xXwp6SyZgeVdCbWlJfVR6VjVRVktubkc5Jjh8Q3oz dlI/eThlMjd2UEh3XnVGSm5wKDNTdDIrWFU8PVVxQUhRVl88fS0KelJodCkjamdSd0xWI2xQa2Bo VTZ7YDZnbXIke25GUTJNdm1TY2RESnpiOFV+Vm13YWZfcXRpU2RSMnYmY3c7MDlMCnpkK0dldV5R WGtvdUZqbDZ1IW9aKUs4SEc1N0AyITFjJDhiRyFhS3ZJWm55eFFGTHwmfGIlIzhwLVpeQD4xMzZ6 Zgp6Q2JuRVNRe2xWSSVNb1BiNF9aWUcoSGZSS3dkZkRsM2FMT1c/KHYzVzwyJjVGREohMjgjS2dS TnZIOD0jU15kSzwKeih2QGdrcFZ7OGx5KiFLX09pbXd0TU1mMHBSS0pkUip0KGArMntTJFhBazZN JD1oSHVTVHEmVUZpPnFfZV9SZ1Z5CnpFQCNkNmU5fXp3QG5PZjFMd1EhRlVofmJpZX4tZz1SRXx0 PzVtcCo2Uy1mXnkoU0NiYzAqO0UrP0VZRVB1SSpFSAp6YCp6dEpZKzl9UXktWj1sZFUwWGhkYlA2 ISRKZUArOGBoSUo2YVVaPHRRQV9QSkh7Uy08VTd3JCl7PjJ8MzFEfFEKejhMR0NYP3l4QXhFc1Mj MklBVWFDOGlMeE1MfHQ3eUtCbyp7RTh5dTQ7MU9iQ0VuMS1iNXpaOUwtPFh5V0VmN2pSCnpKNUx0 b0Z1PGlPWE1hd353PkZoMHc8OXJ4TkVJa1E1fTM5cFBAfklydj9Pc1E2V2pLYTBHPDd8b3wlK2s3 MCQkKgp6T0x0TE8rMzhTPHh2Y2VvdnsxO1ZrSWxfJUlJejVfYVU/I2RVdlBKX20raGFxQ1hldHst ZFRSR3hGbykpcn5vU0cKejVvWF59JTIoUFdaKzEqcWVwfWtMTTMoXmxnN3VGNVA3dClwPkdrUk89 QnlwZXhIZjRDVUpja2BjUlJrbFYjNHM9CnpiPXBMcFpAfXk2MjB1YyZMZDZ4JlktODRNZH5LKihy U1VkbWl6PkRYTCMrZlk0SlBoZE5VV3FMUVcjUX1hMEpuZAp6SXpCRzRJYks8I243NGZkcnd1N1JX dVd4KU5SdDdsZmNXY0xadWE1PjlCIWJePG52VmNybztsbFU1PnV1Z3VifVMKel5zNG4tQmRIX3xZ UnNVNHo4U0gpTG8rfmAofmwqO3N9QkhZd28hbTFqWjRlZFFhNSVIUjt9bUhwWDxNNns1MUJPCnpQ dlpDZlElYTBvJTIjQiMhUTFDLVNCbjF6KTQhcl9OLUR3cHNsWl5PZkY7cFpGSmNpXyR6VFojdEE/ N0dhZEQoQwp6TFcyek1xUW9QVm5hajNGNnJTe1k2JnYtO1Y3VXJ9bTtZcDklVE9gTEg5ajVFJXdf SWZjIUZyJjllbWFjSj9fd34KenhoI1hmJHFIRGJWbjZJSCp2VkEyampOeFQkclV6VEtKd2dvWEdk NHs9NXtXNCotcVlzZGdTSk49d3Z7KWxSbUZtCnpfNVI9c3Q2bjktYzQoKjQyJT9tPThFVk1PPS0+ TXRLZ3Erc3M8Iy1PYk1KIVI8UGdnV3hLNXA1bzIoXi1ZfH1ydAp6UkR0TFU5YT5AKXIzcX4tSl9o Jj1vU1Jya15udFpuUUh+JDV6MH5FKDFLendRVkYrR1ZGWTRsYXVnfX0/ZSZYWXIKelBMbEF5b0Fl fmprYjR0KGVyWTlvcilack9kcEx+K1YhMGlkYDBKS3hHazdSI09HY1lKSHxfRldEaGUmI1kkTnA8 Cnp3KGliUzY3fFghe3lGUkpfSUxxZ3hfbTh2b0xqY1ZgX14+Iz4meUJoNHhZLUJCLTIyOD4zX2x1 WT89PzM2R150Nwp6X0ZHPiZ4bmBBbGJTXlh9OzJyaXgpbEQ0fWZvQz4hPDV5eGxKYTZKSGhoKE4h eDZGO1N4OENxK0FBU0hhPUElRzEKektGQFpUTEEka1pSVkJoeyZBI01AdUttYXROYWsjVHduX1V0 UyhyLV4lXzhhPDclKTVEVS05dFdIeSlULXc9SWFnCnp6UD1eOVFNdWJgWD1iSlJncTVRPGcqTHo+ fE5CfitEVWt2Jms0VUNgUCttUF5Td3tNanRzSEdGWj58UDFTLVcodwp6Q1h4MS14KDx9Y1dGeT5U ITM7SjQrbDI0UzZoaFp4b3pvanx2VyNyMVBaJnBKbiVeZiZAKjI2PjdVViVFZDk9aSsKem9Qc1l0 KnRuSHoxcXQpWm1kR3tQQjxxI3Qkdjw5Uz47QWZvYUx5en5BSUVCeSt4cWtrVXU5KUMheCElK0xt WUZZCnpUWkl4MjZ0MD1Mcyt1N2h7bno/SzI/QHtadUNeXi02QUFMWFA3ajt8TD5CT1ZqPWB2Xm9y eVlQMHlKdXBlfTUpOAp6QkhMb1NeK0tjMCF1dytrbyYjfkIhamNsI1VTb2oxLUZVVEtwcilGSjdS Vm82UV8ydHB1d1RFPnJNd3E2ZTd9VkIKemlAX2RVQl5WUXdeNityb0xacldhPjU3QDg4MzBpQ1Fx Nzc7cWJfPXN5KHRGO2szKEB6Y2leeVVFeUIyX1FwPSZUCnpiTmNSQmQ3O3g9MmM0eyYlZWY1RzEt dTtDKnZuZ3BnaHExM2UlZ35fYWJJMUdOc1M0NFVzOUItK2FVR1RYQCE7LQp6U1UmZ0tlOWtSUEBQ cnFpdEZCfnw0NWc2Wjh6cUMwQT5qK2tGU2VoYnNLe20lbWdHYkFuel5NJjF3RkR1S2BOQU0KemBS fVclVnpEakFyM3BZVXduVzIqU1opQWUhYGl2ZTlrRilMRjN4JjRVYDlydkVQTldIaSMhO3w1VTNi VWttNGhLCnpjaVBeZkZPMXRBLWg1RkV7O1I3MERAM05GeyFvVzZQYU1rSDBgU1JBO2w5ejN7a2J8 OE9teU95SGx5MlpFcHx2Ugp6WlhJQm1GXkB0S2FyezZOQUhOUEwqPWhpNjdPY3ctdk85N0QhfW49 Vkt4YEB0Wld8PFkyZT1CJWV0YWBgWSs1VVcKeiVncVBkNXZ4P1k4YEJgSE1TI1VWJSUkTmhFOHth K0lFKllPdiY9RnlLJkJFQ0pjalZLO0ZlaHBtaDk1T05BSzZBCnpAXzJsPyMja2F0KENZfXE9bC0z KkdgKlI4TWRscmQrNCtUMDBVQWohTDRIQE1WciZ+bFErKkVePnM1bTFNckRUUwp6d3kjR3w2MDM2 RDQocUxRLUJOK05YPE5TYU5RdV4kQjtqfVVObHMkfllad31BX2Y2SU0jZGxYdWVEYERWP0JHPiQK em9vYTljJWQyO20kKz1iNWBlVVRJOHJ1YXN7MVojZCVrNjs0aW5kfG1lSWRaViNwPTsmYXJoV1kl cm9HZVN6RHtrCno/QjhPKTZrREtLTX51VDBIY3c0NXQ1Xk5jSSElVD9TWFhpYyRRQ0p5PmRPM0Up SHkjNT83USQtJj5nTUQjMDFxJAp6N2FIOWgwS1Aqbkt4bS1AK0pFRz4lRFZ6T2xVfjNSanU4VFpU PWgtfjdaYkp2eWVGMjBTNFBRP2txZkFCVmQ/M1YKeikxX2QpKXMyaz9Qa043YVY/eXlkITA+SW1C TGg5LVNPXlhkbERxYGNEdUolMkRfe0FZXlA/LV5kd1Y3dEhSTjsoCnohYytQVC0peEolbCtocnVI QG10ezdlPV5qO2kqMnBaej5pfnNXU30reT54RWJXV1RBJE5IaWRubWVSKHorIyFZeAp6UzNpJDt5 P2R6eV9JIUlNVWJwdX0lZHtfNXQ/cmBGV1VWa2RKZHl6ND54Skc2aSNaTmpPSDFkYSVQO0tsKkFY UT4Kekp8TzIoJnkocEYpQXU+OXkocl5oR0k9OD9RV2VhfTIyWFBud3dZJClVVWluaFkoQ3FZe09I WXM+aEgjZzJgWDteCnohak1yVEhsTnJJJT0+YWlMRE96KlMxUiYxa21ibzwoNyN6N19KPTZzMEpQ dTxFYnFmZG1qa1kpVDFITDw2WFdiMgp6WEkzPmchNTA4U2llPlMzLX1SfX1DanhyST5INVo/QD9W bWhvNU1objcqPys+Zyh4Vkw/dzIrV2pXUn1wTmtSZyEKemY0VkpGezNkTWh3bSlHRjk+LSNeejNu Y3FiQE5NMmIkTDFIIX01Y35IMz8ramA0ajtPMk5Ud2NDM3lJTyhHaFR6Cno+amp3VVVTZlBGYiZa WXMtaGY9Nz1mbEhDcmhyeCE0bH13TihjdV50IyFUZ3xFQE5OaSQ2YX1aLTxsRm8yY0p2Vwp6Ykxm M1l3Vkc5K151Xj95aCZHflJpYj12OXpkbWJMbHRfPzU8Kl4yLTJSbExJckVnI0RKX1NTblhqMz5w RFR3PkIKenV+R1VoMjRuMV9iMFdIZTZScmwxbDhlQVRCU1lIQnlIa3cxeXwjX3t2QGF6aillJWdL eTNBfHwhMGJlMlpDRnlkCnp7SH0jTEl0ak9sO3dXeDFrfWtOa2BTPkQoRF9fNGwhWjlMUTZ+ZXt7 Y1REeHQ0Ym93PnBgTm9ONiFkblViM1BZPgp6N2pkKUAjUn4yMSslcCo2IUoreWZoa294aSR0PVF1 XllfbkV0dWdIak8mJFZXZ19WX0ttb3pqcU47ZD44N1hqK3sKelhgRkFBSn1uXn5HbE90Qj0kJXpJ ZV9GOUYrNm5EbVplflF0NTJnc00wZXZndDQhak9MOzghfih1KzhDJndlfHg7CnpgcktvbkFybG5u ITIkeTtUdVApPD5LcCh5VW9VZ2IrJWhpQSFsMiEtKGtgdTR7Xz9OYE9UY3BGN3M7TmU7NCE1KAp6 SS1wZHYmcS18dE81MThHRG5DYThGXkZrQHdXVWQyWXtOT3podEJMaExZOHZoQXtOMWkjPV9pP3BG fUcoZG9gWGcKej5AbG9KVzJ5JTFRZTNXdGtjSFRnaEg1YFA0PWVYJD1SS1dpZiUkZV9zLSp8WT1r TTRwXkQwZDJjKDwtUmorMEZiCnotfCZsb3R+ZHBPZ3YoMX1QUGJTTkpnZUsxY31kd3pZakMldG9R aGFSUzhpZVZVSVNMczx4T2ZWd2ZuKzRPK3sqRgp6V0dZT0ZQU1pwc0loRzA9N05oKTI5cUR4bkFS OXEtSTZqTitZRH1CZ2BUZlZ4V0h3Y3NgcFgqbFlAJShId31yR3oKemk+OWFKOE9zKGtHMGs2PE9h TFIyZEVpSjdpbkZtRUFtT3J6UUlHKWprfCpgVk44SX1VQkMjPEJkSkBgX044QVJnCnpKWUs+U0pR UXY3I2ohZm8lP1Q4eCt2aWRSZXpnYH1EeTsyZlBWKkBCbl5LekgwOzV8anQreWUlYDFXand1dHxW Sgp6YFE7MGhPZk8ocU4lYyM+UkgkRjRNKFZjdXZ+RCNAMGtNfkhyVmVtWFRtJHJNdUExVk9sTndg QiQkfkwyO1A3TDgKeiVVayNKbTsjb0l7M05lI1pNV3J5QUd8UGYjTUQ3diRSVTlibHRCblIpOTQl X1BtTSs7ZFZicEBWMClALTkqdFRuCnpSPkQ5NUtoSGUhUmxRKU42Zn1qPSpeUTdmbGtlJiM5JTBe Yz5PJSpPa1ZtY1NRd2d6STZXUDJtMyRwRWJ6ZT10Jgp6bEI1QytmZCstUlAte1YjbF9KQmM4SmVj MSEmakg8TGBLa3F0Ji00JUNXVSFjSlFoNCs9QndXVVd+QVVseT9fcXkKej0zaCNwK2E7WnIyJSlw RGRVcFprJlZVQjhVajJ2NDg1YFlmNTwxY3xnKk5UeXBFekk/bmtUOUIlVnFZRk9AUHpqCnpZTlNN VnVrKW5BMjV5dGtgUF52RmlZUXVQdW5OPUNfTz1EJj1IaDY3XyQ5I2p2fGwxYFF1PjVSdks8RW5L aCY/Ygp6aWt9MEgqaVUrUmhWYGNCMHVWd3VwcnRYQzZ0fXpGZTg5NndkfGA9bT9FPH5PSFYpSWp7 U2dTVXRQXzRBWkxtMTwKej1DV1Racn14WH44SjJyJElyQFU5UU1UYzZzXllORnI+dUU2IzNNfFlS QXpNUGE5VytLcD98aHUmSnluNnBpd3VyCnp3d2h3JCtvIWU4dENMaXFhUHFVdGtXNWNxQzZYMWVS RTVyeHk7b1o3KHgpZnorMk5mb1B7ejhuUXBqP0crNDdHcQp6enAoWC1fXy1tanFIMFdXcUNTKUFZ Z3p5Pio2bjEteWtaM0pJLX11KEdOaUV3S0NEeCk1NXpzKntuVUQ3WXlZQUUKejJ1UFRZXnRjI0Yq d3RBXnlRdW9qb14/ckhYVmFLQ1hWfVpzRkcwQTFNaWhkWnNlYjkjY1BhJCVVeEgzNT19QH5JCnp1 ZD5XMTBxfjU3STl9TEtwNWBOcnp0cHklKXdDeEdPVVJKNERLSFZDIWojSTNyQldWanZ9RmE+cnEj SC13OT5teAp6ODQoQUNma2JYPWh3SH4+bH1+b2FHMUlpfl5fUEdGNnhTKn47Nz1MTE56XnwtcG4p SFkycjxwUksqJWE+KDdrcWUKejlwdlpPYCpWO2lNIzd5eUs5Mj9HeDtIZ1hRdiVJbGJ2YCFIYm9M QzVofDRxYldQQTElPjRtOVo8SDszMnBYZEU+CnphWV9XVkIkbXxPNERsTWYjKT10UXA8SilFQDNT a2xIRDNeVHYpeVIyPGA/WCkjU0BvV1dUO2o4Tnw7ak55T1BnNQp6a19YQj5BIVdBSipQIzJlbil9 JTZ7UlNnakxXNHhETm1ZVip1SjM7ez9IKWVzN0RjRSYyfXVMe0VDT3Z+JGZ1QSQKemR3QnBCbWQo VTMzbXcrayZTJCphZlIySSZgXzAhamIqSSZPa2lENUlffFhydGg3TnxEV1MwYkVxaTtlaip3O3cq Cnpeb1lUVWR9OXYtMjlvLT5jJiZlRmtZUnZAREU7eHFwZXcjQ2glJW5ySSRAVVRHc0tqPmgqd2xD bFApZ0o9fWl6Mwp6OGZ7X3ArcV9FbSsxWmlfMn5mbytYdChuKnY+VUhSNVZzMDllSTlCfClWTTlp X1pxS3A4Ryt2S1IyND1KMmF8TEwKentZPmkkZkc7T2whJXNwJkdBck0/eH4qKDt0aUl5X1Q2eHwo NzdGbHw+enQhM29Ke0dsPnRjbjgmY2NTWE8hKFlXCnpsZW9gfjtKeFdJP3UzditMQXdEY3IwcSZS I34zK0l1cmpoNGVIU1hgKjBmcSZAa01MJFFmR0BOKG43OTU/Q3lNXgp6VlJnWXstPVBiQEdNRThw JHJAN0NLfVB+b29gP1N4U2k4M0syV0E7KktUST1RaXVkRFhjbW5Bc1ZYSXI7Zlg5fTIKek84c2h2 cnU4ejBJaXx2bXp+akxZK2N3OWJwISRGaS1UTlRLdiVBfWlBMGpSdXNETVNGRVo8NyNlVC1eN29q cldECnpodXdaekdNKXxtNSNYKGw+bVlvd0lUayE0Wihwa1c0QXtKdXstdEpENz9HOFQ0eyNxc1JR T0pwV2NTZ2Q1QFkwMAp6bl4rc2stVkFCJk5TMyQmZDJNRGt7dzw9eWxCJEhsPkwmdGA1bjhlKypk VmBROU1pM1N3IXpUe01ZMXNvR0gjTl8Kenl3MTN3VGtvdzJrKyR4ZnZqWX45MXxRIyhpQ2JUZW9D OCpvJUtAITx6Zj41dkVwK0dMejJic3kmOHN1Z0RSbTFjCnpXcEVWPnBUZkNrezc4VylPVXNfejx4 WWVMWT9tcyM4JHduYio8ZkBuYEYlNnZvZ0c+fDdpTn5WWEQleyNkIVl9agp6Y0NFP0RYOXsqeHlP eFBEWDR7dFlwZU13ME0oI1V1TnY2cXJUSkkwclQzfHRSLXUtd0RkdUpqcm95RUkyYlVwOSMKelEp YjxwcGlufTdRRig+blhsQygkKWRpZjArfH49VWpHODQtRlNfdG9gR1pTdFc2U0ckRyhwUkY/I3U2 IWckYn0+Cno0ZXZqKCNqdlpCN1VVUDB0Xzg+MTVEfXNnJE43e3xLanw3d2Q1UGt0alJUZ0dCcld1 fWRwfCtHaWo0N202KkskNwp6T0ZMX2pMWWZFJEBMMUstRiQ4Rj15XzhvP0w+OXtORUZtcFRLZ189 IXdlQip4OWhPfT5FUiZfZ1FqTmoyYSF6UzgKel51JkRJWFFlZipOP2ZxPTdxU0RUQTgocU4qWE9a b1hLMSErX29ra3JwUlMwYXJwUjIzV1h0bjs0VGBiNXdXfG44Cno+QzwyfVVGS084PDtPbUNDIX49 OVk7MkA0aFhNXklkKCRDMV5LdSlgU0tTRnxmUHZWRG15YU94Kj9hSlQ0YW9qcwp6KEQ+ZjxDS2Fp cGRYWk8kTD92MUN6OTdUP2FRYGhFVGh8O149S2JEUDdgIUtrQHBLKiptZD1YIW5xKmlEcig9VyEK emA8dX05ZCQ7QURvVmsqP2o8PGJ3JXJwSEg1Qm49bmVAQnwjdklyYE9zYjxxajdRdGVUUEpZRz9e c2BNZVNWVG9XCno+eWh8WHFXSmh5TW9oayorU0UmPlQwPUBtNGc2IzVzNXtpNDx5XjhyPXxraXxu SV9TXmF6VmtzRGdCSTtKfUQwcwp6WTFkZjQxcGp2ckZ2b3hOa0xBNlkpezdOOGImfSlWYldRZ0wl aS10dnJ7UitGbTEtey1sJlM3fXkyZF8jPSh2aTAKejwtT2NZKTdGdV9iTHhNVFZlM08xa3BLUXsr JCkkalolenY8JnVaY2tiNH1tOT0lKzJ4dTkwLWxBMV9vcl40NkRoCnplfkw3UUw3O3BNNmkxZHpu O0NEVnVmYVRlb1c2ZXQ3ciR5eWxfPHU9Vk8zKyNTPzZzIypVamw7UC1lK1ktPmspcAp6MllNI0xV SmJ5cDEwfEFhUDRLeW1zdUBfUF8jZTl3bVg9cXpebFAjXkhRK35sUiY2byMocTUmTXV3UmlvZEJg e0oKemhVRD89ZGZVVzJ5c2Ytczt2byU9UHhzKChnZXVLRVckO15MWE1jRm0yOURDYyhYSjgkUmRL cllMOFYkMV9QKntyCnpmPCooZkorJFImQU1vVF5Yd2twTDJ4RyhXRVJ+T255amI+Kk9RbUZpaWo4 JW80Jlo0P189S1UlMSEzfkc9PlMoNAp6PVZoR2dXOF95Qlc2d1hedX0hMjM9NjdgemVnUWpvMVRK Z21UP15seXEpTl91RT1OZipgQT1CNjt8WEIhSEtoLSQKekokUUVUSFV5MFpAM1ZlWnJZWFplSTNl fHJHZkhLXl9ZcnM5cTUzeHJqayhqS0lmLTFqdFdFSk1HZiZPQD5yYXdoCnpFQGoyaz5DejFMLUpT Y35NYHUqYTFwZnNIWHJHeEd0eXhTeV5UV15Oe19ZPkJ8Sz0yJUtQZzRWb1J8aSFWQ3lsXwp6JmZW VjlvQUtha0l8cjEzOFFYfHo5bEdCfj9xVllMKSUofTZFX2hsVlhJKytFQ0RYSVVkNnR7IWpVQChL bUc0UWcKel5rJjdzIVFLPjVnMHhvTEJfJG90KytAc3U5flcwSFlmTEloQWVtN2YzIzJFRHQkXiV3 SkVHe0JRSFdKMUtZOChqCnpES2FkdlRKOWghcjVLSlZIOEsjS1FAPjI7N0RoVnl5fjUqZ2hKYmY3 dnd6Pk9RViR+YmRvb1d8QStxX0pFUG5AUwp6WCZDSUpYbGJQbT93ciFPdjs9WStCXiskJUBUI1d0 V1VsMD4qfWY+eEpMIXM5MlRtO3ltU2s8ITM5I35kWFU5TXEKemtyUndWSXZrYVN7Q2ZLXiNuXzRa JWl+ITJsP0hMbVliOzJxcSVzWmIjSmxJRCt+ODdOTnojTGluSVI9MWNIIVlDCnpOVTFyWXVLMXk3 KUs1IUNyfil4ITB1SD5IekErbjdiKTQjYVAjRm09PlktTE9jI1F+QTlxPV51Py07cm94KTFLUAp6 KDc5UTkkRFY0Rz1RTWhiJnxjLUJVNXhuO3tMczEmSU03JSRFPmA8Mks2QklpKSp4VVhwPXZYTHVD Jk5xYmJqZXIKekI0VF5CYXRRZWc9Zns5dXlMbDcmLXdLTFl4Z0E9MiVNY0VuQWh3VypKYytqaG5L dklGZ018JDgxfSppQ3MtLVplCnotWC1DMWQ8eHVjM0RrR0xBY2V6UFNmaEdZSmEhfmYlSzl2X1ps NFAlNkgyb1EobW4we0lURlVAYTZnJHtBcFVqNwp6bntCSDBjNmJXd05oWEJ8YHFkYiRxXlpIPT5r QilIJDY1RXI3NnJCV18wcXg8JFJKSVBAIUgyWC0pRVQlVTU3RTcKejRrYUYrIy0/MnZUayhFSzZR OG9fKU9xPld2fWsxXnwyYiZRczk2TFp3fWowIypiM0NLakl2T2RnPC1fQyo9R2RpCnprTFZMPmdk I0E0dEYwSklWeTtQamJXJUxqamk5citibHdgfjQ7RkxaU35SZj55KTB+X1QmJGNiRWQqKzR6MVBp YQp6S1AoOGB5a317TmxfRnZeaD85Yk1EbzdNVSo4MkY9QXVVMk9iPGdnRU96TksjeyVsKzk+SnJL PEhlNE5yNmxnRl4KeiRTZ01BVHJIRHlkXilqPjcybXdkRE40WkMmMCZeSThPcVEobEQ1YnxBWCR2 fW9DO0o3PCtTR0U7aTIwPGEmQ0cxCno+MzQ7UVRwaCp1JjV3QElMPy1lKFA+XmNFODVtNT14OVVs ZDYzOUhiOWZGNm9hbWtMTm1rajIhb0VebDE9ezNebQp6YmhxZ2N6WV5aZmEmdjJvSzI+fipXfndu V3MmJHhPbis+Tk89Sk5fZ3d+Zy1jYkB8JD1wezNQdXU3KDktNkQ5TmgKelQ3dElwIVdCUUdwSHkr TChzSilYSih6JCgleDZYclg1K19RQCloclFNWEo/Q2BoZz45JF9uKGA7JnghYj9wckYkCnoqP3Ih NUA9OC1lP01JS09AWHg/KzZPUW89ZVhRT0dhKFBTc1dNPEVoaUowKTlRfDdqMmFzNGh4P29kKiFQ XmZTPAp6UEo+eWFBcnp6K2wtJDVMOCRNNjxQdSpBYTh2QUR3NmcycmgkeDJFKyU7RzZRTjE9YmFR bWUmRkZjZ2U1VVFecGMKejBmVFo0NkkkMDYlR1BVYEVaZzRfSXlhUjJNcD5GaipzRWlmU3YwdHhU MiM/YiFUPioyUSRQKGRRbFEwcHROTjZfCnpRO0RKejhTTXxQRT5jdkJhPiFLaEIkaDhpSDJNU1c2 fXZZZm9WbS1TaGE2Km9hUjxxLVFUdjt7S1ZaY318RT9GRAp6KE0qRGJJVXo8TEFwNjVicHdXWn5a MDM3KUMwZkwqaEtlV2dCWlRiVjUtfDE5N09McHdFVEc1b0FsQVJYeUdfPCQKekdhezRXdT1ePnh3 YjBaYz4/TU9JUEN8MXg3cD8kOEQyd0olSng9RiV6VENtN2lrXnQydzhTPC05XnYjflk9YmlACnpW fTdrRWZNQlo3K3VMZ2oxaD9nWVZ9NVRpOXdYdjROfH0heEFZZkRDPis1QWU7cEJeVE1xNEB5bVk7 NWZHQE1LWAp6YWBBX3hvZThvJVBoa0k/cmFrMjshbUxXQF9GcyR3WXZ0Q0hAPXtne3ErTUQrV1VQ c2ByTWQydUhZLT1jeXYkNVYKekdRTHN6U2lINGpmJWgmPkVXLUp4Y15qNCEpPyshfUNPNUFmeWtE UE1qdzxQaWN4OXdwd3o3WW1VfEo4a0pkPWhnCnpYV00je15tSGRHRHklSzl7UXpwR0UwXkFVQXxQ ZXE+NjN9RSpqeSZ+UHFqTEh2N2s1K29UXiFldHVZIWteRmg7bwp6OEIxXjgoK1N0YlhNX2EkOXtN WSg+eiZfe2dEbXNDVVRGeHclc2NEMWhCYTRidiRQYkZnPnpsUyFBKVkjMlArTjYKenpuUlh3bEJP bCRXKihuYV5YOWoldTIjKFZ2WENSYVR0N1U+P1liPnBZdyU7ZDZSQWNHJGpGTDlZd2Q8NllIZnlr CnpeVlBNNTJwQilgaG1AOCM+aTA2e0NzN1JiRUlwYktyVDRwViMxfVZFfElVWSNCO1dSfDlEU3Z1 PnZTfldRSHZZbAp6dHB2ayt1e3ZfWCgxQTY/SHFwbzUrVX5JKG0lMyVCTVdQNTlhUFkqKWNMait8 MUpjM2YtflpIWSQhUVJwN3gwLTAKenNtZ1NzTEokRXNEUkZfdCZ1R3o1az9QQ1d0aStOcUBwcTBS dmduaXB3KD5SUStaaWRKXjtNVztJcCM1PyNwcDdNCnpIWWArPjw5PTIjPVMkezJuQHB1c01HJktS WTZBamNVRWFlLSk5ZEU2ZSZMaiRGWlJRLWhTWExtKzJYaCh2Y2RqfAp6TkZOMUZPe2pmJjVoKz1z dXNNe2EzWF82cnpNdD5GSkdfJlJNIWUjKyE3V0stO1dVWnp4LVhtcUFSWUVDMkNIcCMKejRVOHgq YE59PzQtbkNnYFVrZmlJJnBWaTc0LV93ZkBxYnRVeX5pLWJiUFdONCooWTFxQz9DI3pvX2IzP1Eo bHJjCnpoTlEjV2FEUCtvJV5OdldeXk4oSVBTcmJJKEMya2VaJmhgdVE4VS1sPiNNfElybUw3eFBq PmREQk59enVAWC0wfQp6dyVnfk8ye355bSZHWkg9QHd2Xl8qVTFyayRjdz1fTHNGVWd5dCRlMj0+ JVU7YVR7Y2I9LXJEKyRGaDdfTkxTO1oKemVjc1RQLXFES0p4OHlSeiNIeFMyemBzYyVhUUdaNWBi QTteKTlXaVpJKkxIYFAjP2pSJUR4KihkX1NTaWp2QXZVCnpBcH1iY3Q2Zll0R1piY0RIKyh7bCZ4 ez5nYFhMcjtTIXtrLTVQaiV4c2BfNiVBWnwrSUU0QVpvTVJVdVA/S2Rqagp6aml6RHdtaCElOD51 UXUrYWIkOFhAX0xjQjRvXypZc3poYik1ZTcjaj80alQyYCF5KTskKnktRyVkISlOX3ohP1QKTklW bU57VnNZYi17fDhiT0Z7fVVwCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9k b2NzL2VuX1VTL2ltYWdlcy9uZXdfY29ubmVjdGlvbl9vcHRpb25zLnBuZyBiL2RvY3MvZW5fVVMv aW1hZ2VzL25ld19jb25uZWN0aW9uX29wdGlvbnMucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjYTk0Mzc0YmFm MGViOWE4YTBlNDljYmQ5ZDRkNDI2ODk1ZmY5ZDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDQ1 NzM5CnpjbVpefTF6NFFGKGxAKzdhZC1GUFRIS3hEVWZoYml5RittKFA+TDF6Oz9DbWtoMnJrK0VX WCR4QU9DYUNgI2pHcAp6VS1ydEN4aE0wUldiUkNvSkZ8JmFSaEJfVEIwPlRIMEh8YFpRdEFLemJR a350TVRgTFYmWElJVmtwY2l2JXhva2oKelJwbGZsRE82cFpFTiQjOTAwN3pPNm01N05qWCF1ZmBz I0FsQXFjWEZvellhPiFPMGtVQUUzJjxtNDwhJXA9enAjCnohMDczJjMla2YjcGZqekJEWHB6N3co dT49JkpmM01RJTY7OFZObGIpdjt6X0dzSUE4VCFoZHReKGUyPUdraTZ4Mgp6SGs2cGtWQWBLK3dF ekg4UVRUUChpMFZSMXFkVlIpQ0l2SmpKRHt5Nm89dFV4QDlPRmtVe3ZoUSVmfTZzO15laEgKekd2 aFJPX2V+UWVvR0tndV96MUpab0crbVlhTnpgYU1+bCgyZUYhRmkxMjxfUFRpN3kzRVhrdDVnbjlv YUk8JnN6Cno7R1VTLWEoTG05TG98cFloTjc1I0BiXklqdntrODJHR2d0Q2sqJipNdkAzKlRGI3Zv Jlc1NlIwXylgd1pWVzJiNwp6fEVlNXZxeEFmQyN9Vlp2QHBzfVdoViMoclN2VTBBS1g4SSNWUS0j b2szQ3U8YnUjeGdEREB5bkxBPVlnQ2xiYjwKenQ0QGVmSlheR0tKRmVyO3c1PylqaSRWcjJhWTs0 enp7TilpckZBSD1HRTw4JF4rUk9iYDFDRWNmeChEJT9MV3h6CnpRMHc+eUZsVX5aMiZ6UHdecyN6 RjM5OWtqR20zdHM2PWs9cDc5cHQyeG1Lc0NDYFM/WkVXNUpHMnNYI0ZVRUVoUgp6SWNYbHl4SFVm VzRwNDBYLWNDKGopRU5pOTBOOEM0S2hvZnQ4Yi16OF8oVj89NSYhK0leRVp5UEhqeFE/P3JLJjEK ekZQPEU9Qj1AdDw9TyFVNGFYVTY5Umd9SGhsbyo7MDloUGNsOTZEKjZsVFotV0MxalUzcXtabXR7 enZyN0Q0Ym5XCnpJOUpTPXpDUHwmR1kyWjBkTEhBbW9Kd3tzYWx2TiZSUHF8JkBTbFFiUz5PaG9E V3xrcmZoVmctSVI+alRzd2YjWAp6KHw0N2Jmb1E5UFluZnJZbyEoZTZsJng+PEo8IyQ/XiohYzRr VXUmWXE4ZVZOUyQ+NFIzP2JQQVVePnMqIWRWdkcKekNDRn1iViZhNX5RZVooMVpnb3QocyR0VDlk cn1HMjg9cGxyemZac2VQbWFKT1BfaEUxRGFjPjc/azBidGA2QHNxCno8YkEkSXprbnZONlJ8KDMz cChMYiNWKHd1aHhnWD9nLUlRN0hZTkJKTG09KXhHPTUxVDFWeyooIzg/dD88fmlyWgp6ME85LWZu TW53NEx2MXNQT1NrYUxzWitodHJoWEVHZVdZJEF2PGtAbmJQbkx9eWl5Z3lzRiQ/TmlxM0BNVHw8 N18Kei1zK3VkO0dKXj94PlVHWHk8YGYoYjNUK0c9bjJMTSFXTl9DaHBBP0RXdFd7Nm9DPVE9UjM5 eVpydzF+KWJ1YGJuCnpNdyh3K2pwdWF7QVYqRnRiPlR9O1hFPmZEZn14fkNMO3omTDJ5V0JFSSUt Pj9tSXlMJU8rSihwOz4qPlpJTjJaMwp6PVBSSmRlOUQpVyNXdF9EcHQ8LUVpUm5mT0Z4OytrcyMy UFE+cChhJitBfnM9aiFAYXgybG12K19ERGclaUJycjAKekgjbGJidHhEe2RScms/QmU8dWsmPT00 PFpTc01RWkRtYkBsbkAybGZuJjBTSzRhfGR4TlQpJHdHUU4jXyVhZUdwCno2TzM/NnA8KVA0RXZ6 eS1IVG82fHY9eztjZTQjanJFVlJ2NnM+JWp9WUFnTzxOUzVEeEBeRiR2RXh2Tj0hMUlKdQp6ZVdo RTF4ZUpBSkNMbj9Ee15xdHQpcT4+TTUxeGd9MzNhQEx5UU07cWtUXm5zYDZPTTU7V3ZQTENBSzdz ZmZZWU0KemZoYkcjR2tUOWdUYEt5bylCKk1XMiRESHpKIzNrSHBhZEdfYTNaSXlwZXVIM2Y7Jnxa Q0FsZ31hc0tDMCpwdUxSCnp2MU5NcnhYKCNiaH1MS1Z1cT5iUF5BeDchODtSRUE3N0ItXy1IdFRC Z3AwYGR1P0hXMlJzMmlqKjF0cjZBS08xdQp6WFJqRFBKflVkM1I3cTZQcFJwd3hLJldBMnhhNX09 I3AjVDk0ITd1eGxrKis8bEh0TUx8NUYjKlg3dTgyKXF9O2UKeiRWT1pjP0cpbXsya21kN0F1PEZx QmIxNlgkeWtnQ3RCQ04zYmxaKzY2ZGphVShUV0FzKUE7OEBUJkFvcGE0dyUqCnpVfGlWaCh3Q0l8 V3pRJVJXcSpJdlI7T1R5QUUza2lES0JSeSpEZzBLbjxoKEk8bj9ZTD9zNiFKeEg2cj5BRFRVKwp6 WXUwUEVZbnAzcFMycFFmUTxiWmQwa3lFPzxLKklHaGgqQU9TYjZ5M0crUXhgQX5eTT0oJCtiakll QS1CQEpCRWoKekkzKyRsSn15M1lMV2VZWiFYUjVkSjN5ZXM8TlVPdmdtQXtkK0NVRlpObHNzNFJv dzNQZFFvUz0+QG5JY2hPYT45CnprRkdFeU5tMjFgblZeIWZEYm5oKFM9Xkl9PjhoRWsjbSp2I0xf JmQ4JkcyKylzZGxBeXpMKGc9SD17SFc9fXF6Ngp6aXBqOz9EJnlpSCp8KWE5MWdRUzZNZERmRkEt JCVkaEh6RldJWWQ4RU5LeUp4IXl9TVVudSY3UXtZUUVUbm93OUoKemR3eHdXNGV8WHNWeTdiRkMl WEZYOGFFbnVNKnQtQkFTTmRBQlA9ME07akhFbUZ8OU47UmZNTmFOU2B6cVU3UEZ9CnpkUylMbU1Y LXZwOXgwJm9rWXEqbXZFIUtnSTNRKU5aZHQjJFNOO2NIQmh7d0dDZzwzNzdIK29QdkwhdXNTKk19 UQp6bDZZSj4hdm1GQGg9fjBRZCF6bClZa3U9ekg4PWQ1ND55RGRgczAoQ19jfVV5UWhGb0kzd2x8 I05BPjE8NWpxRVkKeiklOE5RJVFsMHhOY0JIO3NfRiRTIVFVPFo/JGxvRXJjYFFhSDNNNWNsN1Ri NnVeeVFvSEYxU1heLTlzPk13I3RSCnpVLVgrQ25tfi1KYyZtPHJPem9kTUlZRzd7JDdQTVA8dlVY ZF9nJUBeclUwS25rJTBmailZaiRQXmchYUYmWTh9cwp6X2kqJCUmS2NLVyp+KVBZPVg1JEs+IyhF dXU+a3BHMlNudnI9R3dYeSlBck9OWkB9QnFnaWVpZUxyaERtQzRBT0sKekpSWX5Kd1dvRko4Tn0h MntyQj9jSGZxMXxfZ2RtYTUhMSZnNFFpMmd6eEttK0MlMTBsOFJ4eURMPmxWTSYjKEwyCnpKQ3Y4 RCpEWDc4X3VudEdjOSlNSFhVNjZnX0pHcjs1eG82PS18ejE/U1Q9SX57UjgkeUpWZGcpSmlGNG5Q NktLaAp6OytDJD8yRzM+I0tYantoXjlNJTBZKE85bl8paSEyWj01fFc2bGBDJGR1RysqMyNBSTE7 KFE2THV9OUY/dXU3M2sKelZKK1lzKDl+aHw7Y3I0S0xkbkNIQWBtMi1CODlnMysrNndGYFBuNGFD SE0yO0J7eUFQU3txdSVPPn1oM2IjISZ+CnpUVEh4TkFLRVZjRm5LV2ZGQGMhdGk1clFXUkdFYmNZ U1VfQ2gxRUNBLXExIzxIR1lqM040a2FqZypNYUMpMjlYRwp6MTEkcTFXKkl8eVd9ZyN1YDQ1eVUx MWg8aURBNU00Y0M/MXA8R2pBLVYhZSYmPj99UmhYX31HS2VPTFVJPyMhNSYKeiRqOUtLeV5+b3FS YTdrM29Sc31EPHFyI2tGOVJWMUgtblEjenEpbyZgQXs0SXVpYVdKUnxBKXZvfHlvSEZpbjc7CnpA OHJZZlJtSEhFeHdsb2FyOXRLdnBVRnhYQy15aylmcj0xXm9EKXtpT28qYXtyUl9vVy0tS3RySzw7 azMqZmdMPgp6Zz88bGlDOGlMNTFjRWxBcG1hejlaVU5uTCRUQ3hYPyFrd0glRD19ckBVY3QtaEZJ MCsqP1NnX1UoU0U4SFQkXnUKejJ3cCMzWXV3ITl7WHBoR013M0c9X0wqN3VsYlRlYjxlMWh2RHNO SEZAVCNHdWEtMXFOKjM1KTRfKDlxJUE1KjkhCnpTNmhJZ1RWc09faUxzb35telVlKEIqWEA4d3JG LWojVmZ0YmBZQ0JBWUtQb3ZpfU00Z29+N1BvN1ZwZ35eRiQ+fQp6TCpsWS1nWnt6TmdmNHJEbmQ5 RENfRCQpe159Jm5RaiF9S1Y5ezczZ1EzO3REQDJ9eklXJjZtNXQlOFRiZShfPkEKemBhfEhYZ256 IWQkdHU7UHY+a29gRHxUdSZpeCpvQnthY0dwP1pYKjVieGBTWnpMVlZEJiElRCMxenVLYSkrRTtV CnpDTCE7fjMweWQpNztQWn5lb0tvTiMpYX5GJV5HYkx5QDIwKzZ7ZlI5Q3EoOzFuaWgle3lMIz13 djR1YmJJd0xQMgp6VzI1YmI/K3JNMXA/alRUJkRxOW1XVDtJRUZMUlZQVjJPRnotJU1kSV5+cEIh QiZLU2hOP009WE5uelJaTUNMQW0KemR2Jn1pJkZRVUN2UH19bVg8fXM7PWNGe3dkU2o/eUg/MyNr YUNyV0c5c2ZRSVdLLSFAdjA5KGorVSFyaFJJK3d8CnpSYE5IdThrRGZIPV43bDZjV3dwQVRfaVVy VlhseGxET3ZSNWpVeFVNWEE9akN7N2kwWmdKZG82Rm1gRnxOeng9QAp6OzQkenBHRStFTGgjWUBN JHxTTmQlV1FXcGttTDRqR0ZGdGpOO2owPEc5JUNnMWV4RmRuZUcxaz83TT89STlFM3QKelFpN2cp Q0Yqdj40NipPJCZ2Z1NJYzIxSCVrMypWNjlZaD8hYDJLOE1NemAldGIwWHowTjV4d1QhKSVkO3VW QUUkCnooYmtHTz9iUjlAPDh+TH0tTHtqNiVjMHJLTV8lSSUjPHFEc3pqTTtRP0UzYTZGUSlWSyY1 R0NjJE5OcjNeNyV4Rgp6JF5FM0x0aUxsUGV7MV9qQ1BzIV81S3JqMFh0bFF+eGFncDRjKHkrcUdh RWxRRUA8Sig7STU7Jjt1YndyYmZNZVgKel92JDg+R0FRU1FZO3BaY3trOHQwWDBTJWw3fn5CQ3ct d1dNOWQyWlA8THpgQitlcShQZWF2fXpvcnwxOVNNZTxnCnp7MXtPQXkhVHZvPn4/ITc3eXVnKHp8 b2JwOEhDZ0dSa0VRMD5jSXtrYUxXWkN6fjZvfT17VDVKV1EjaDtTeE0qIwp6PmRXdm0+MyNzSCFW N3wzdlI2QGhNM3pWbkJwakZLV1dZcmohTT9zfEpYUTRkIW9wa3pUOzk4czlqQiokN0VwalAKeiM5 KT17dUM1SyNmUG1hQlFydmIjdV5YSW1MayQpd1p7RFRLdUc0UnNPdkM2ODxUJkhQdy1xR2FwYiFD UXdvOFhNCnpIaSU1TG9xIUpGO2BeeTEpan4oa1FiYEhHXylhNExWNDwpOEZ6KiE5YHdzdmAxYzNi KTRGSmVQNSZzdmg0bl9ZVAp6OEU2MD8oZ3lKMUtRZW1uPHY7MWlkd3hnJXItYjwjMGYydmghZ3xr UGRDPm4kOGFnWnc9Nn0pZXk1RXp5aE5QVV8KemQjUGRPWUdMOCVYNkB2RE4yb09RJk9tZ1EpcFl7 XkBNIStZUDslLVlGVy0rJVpaPTxaKzt4LWAxPGFmclNXVjJHCnpPZjZXdzlpMEVzMH0lMlNjcWJo ISspWElGOXFiKzUxaVhjKnt2eyNzUFhFSlpxb1ZraWhgWElJbTUhMXNnYHxfSwp6MXFDLU43YmBv SjJvZVBhZ147VmNyR1VFQj1se1VwcE08SGItUUFyOSp4MDxoeWpaPEJTKUUrMSpnbzt8XlJ1eVkK enV5SnMoeWkyZ1NgOGN8cGMoWFhWUVU2PVh8SSNDNjtiIUopPExxd1o8VmYrNFVLM0wlNHxpY0lz KCV7I3VrYFBKCnpUNm8rMWNUMHxMfDFzO2BLKD5FcypnbW5jdjtEdGQ/bHpZSEtkXnNse3RmJD1V SEApUT1wU1ZRbnI7QFpsMT5mfAp6N0xNKkJ8Tlh7PXs/KmR8Uns3dWt7NU1lNSNAb1ZQTjZPfE0+ R3AxdTJ0TjxrZV5DRXQmSG9kcmBgPF98antnbiQKektXaEY1QCpmaWZSOXRQfGApVHNlSX40Z08j UCl5anshZSp6M3BYY3drQUs4OTljfG8ySVF8M3FLaUwwNDM5PGIlCnpFZE9KZXtfTysqOz1WaDky JEIlbmU+cyMwKG9peDA4dnFhayRWcktSQHJGOWZoVlF7MG9SMns3eXg7Sns3aVcmYgp6XntjN1Y9 RElyfkghR24xVD07M294fVl3OW54SzcyNl9iZ1BpaEBjTzZZQlV+SDE8OXl3XygjRF58WF4qSV8z ej8Kei1eOzZIYShPeDNPRjVtUClfPWN6P2tDTHsyeSZzSikjbEVpUF57aVcqQTVNZmJhdiZpbHlz YXNDITgtUDVmVFFDCnoyI2JhRTVvaFUhVWlCQkY0OEA3eFlPUlNSOG9RPWdVSCR0Umo9V2wqTzNi cTMhTDA+ZHlHR1kyVnRJNXpPQUFXQgp6SjFgclVRRCsxUm0kOFRfaThhU3FIZmNQOHtuX1F9biZW fD52aF9PSmJAe2Z2KnFjJSk9bD1LSDxMMk9Pbjc/Y0IKemxEYz1iYHx8VXkmKWBNRjtQQEBfUlYh U1krfDREKVBLMDsqcVckKnJ2bj44fEtsZ2NCYGJCRWF1ODtaOUkyJHZrCnpxeFhoLWhRYXAzWmN8 ZkRxPD8qSlktSVNlI0Q8YVZoRHNGdntnPzsmai1gPj9Bbz9xMVZBSjg+U2A1MHlsIXhCJQp6eihL Y2F8TjJNeFpmRGQtUTBlTDJMOGZ1cmI2QD91VkUwNFZIdVFfYytFeTslTEVfQyRXSnxBO1UkeT15 XiZJc2EKem82JT1rO185b356bU9qKW0qfF9+UDUja0k9fm1ERGQkYHZXZmtMQHxGVER2fFQmfHZ9 YSp1ZChjK1Nicy1ITVU3CnpUZFM5Nl83Q3k8YGNuTE4/O2xlbmJARyYmbmh4ZExTemh5NTRQMDdC fEY4Kj47YSRoTkxiamF7Jj0pYk5ad1RNKQp6MTBOcUZKTm1md3BTSkw7RElFe0UhYCM7UWtvcXkw YiF6aWlqTypyVG0yLUIpPFYmNDN6NiYzbmBefnBJZzdsaX4KekE2QGwzeXZ1TUk0UC1CWkNoZjxf cjAkQiF8Mjx+MV5nbVE3QF9XZFhwYGlNYmFhaiRQNCN4R3Jyb0RrTj9ldj43CnpzdG1oTDhaMlIl cXBlIWRUZC1QaT9+eU49OXhRJCVabH1Lck1iYGV7TnliRnE2YEEhQmlqS2pyKFhuNj96MTFlPgp6 Ym9eIXJ4bH54RmxWajB1Yl9gaEhtS19tbmMtPHBDPT8kPEhkVW1FWFoxSXtUNSMzODwzVCU0Yi1N NndOeXBEbGIKei1CMWZYTUFgYHsxPldtcGkqbGsodyVCezF5RUdVVWUjdHlhTilKP2N2YGtHVzZp dEB2YTMtJkk1azI9eDk7PHxUCno5Mil6cHJDZmN2bUZ0Nyp2ejBKYjZFdFc7YldOIXdJfkwkZm5k PnwjbnYtK3JPfTNuSylnUyZXWD4/X1dWfExSfgp6S1JBaVkpfVdrelJYP0F8bXlicG4qZk1sOHJq QFhUZX5vWmxwTXBJWj56KGMqdkJEQV8/d3g8Oy05PFYxeiYoSXwKelJiUHprKCRzV0BremhCJWAq MX12OFdsTndpbFpXIylpUT8xd3dJUjlJdUtXcXVvPno4dXJKP1VFRj8+T2pwJV52Cnp2b0Rge29P e1pqPEozV056SDFTRk9CcmElSGB5RUJ2ZHRmZVlJNFEyb2lCWFZhc3xOJUBfVXhaXyN4OCpfdlZj SAp6eD1yLUZ5WkdFRShTYnFOJkV4X1QmQFplI3ZqcntPPWVGMVdDLSlFb1p3SWRYIUEmK3pIPzJr VktBLWk5PkdsMHAKejklZUFUVmNAQUdyTCZVWmI8PmZ0S0RmalE7dUM2Y1E3dHJxJVhRPUFhcVZB Kjs7IzdvMjgyOzdSRFVOZzA8OUFaCnpKWV8+cVkheDFiPnNrQ2heZGB5RTt7NGtLe3h5dzdpSU1p OEJxJlRxN3BnWG8wSmktUiFxXnpxWD1vcU9yYXVgPgp6cGg3cUtuZCU0ZmJUWms8e2BaYGhyTFVE eSZEJGJWOCFQKHhLUnhQU2BVSztrNWg+UGVpais4JXxLKD0/d057KUYKejt5bFBmTmk9byQ/KG48 KFUkRkxnPXlzZHtzMFNvYE1yJiNGYz58ciMlJl5GZ14pM3Zod1EpMCNgYXNMN0o1MShaCnpeTD5f IWk4S3JofDhvVkJyTjExQDdoNVNjeDhobW00fSRpJFRjfmNaczkwRUhHKnJOMEYpZnpJWF8lcGpm ZWJBSAp6ZFI7QiNeK0IlMTRzJjVQVDU1fEktRVY8YlQxPFpnfDk1M1NSSzsrWCU3UVR7MndJYV9i aH0yMDx8ezAkJlNwbiMKendKSjwrQFIqekd1PDJIVk8kd2BgX2A7PVFhVGB2OTAmP2JTXmpDOXlT fVZZV21zS2ZqYHN4UCNBOF5qQWJDNEVPCnokMiR3TD9MRDx3P3coeUFRNkJJZmhCd3NEVWVZJSk2 VD02akJOZlFKJlQ1cDJAWkB4Ky0+P2ltcz9qR21UV1FUJQp6NHV1K2tXT2pvMHBhYz9BUHZIaDlp P31hZjd6UkkyVWt9SCNidWJ4SmAqV05RVkNKNiUpKFclQVlBKjNwOy1mYXYKelpHS2V4X3dlTlBE OHEhSWdxP0NiTG93cDk+UldWb0tIQ2ZLT3UrPjdwY1ByPXk+QEhAUFZkeTUrRHs1TnQyQSRECnpN UCV7V3c3JFM+Kz4ybV93Zko0OUFSP15HKHVWJjFiNm0yKnkwTDJPOyVZVHZVPClxU2JYUipqNTJJ QVB5ayE3UAp6PVh7R1NXcGcpWkBhJnYqJjJFdz9BamVfU1RhcXRMa2pYUk93RktwN0JZUU1HXnpC IVdAfEJMJihrMVdVSEZENnoKej1zbktSUkdEOXl6R2swUWNITDs/YWwxPHR1LW8rZEo1WWk8MGpe TD92X3hPWlJFT2wjbjdhcjhIJX5FK1c3PF9zCno+Qnk7aTt2b2A0SVd2UFgpQChFTlQ4Ki1hVCU5 QHYmeyVYNlMhT0FYVGcpfGAzZURoNV9vPWU5ZFpTZiRtZ3pFQwp6elV4Mms5ZEVjeWklWWsjM1hQ TD9DTiYhMj5WdVdPI2paOXo4UkBpKG9WVU40dDs8O1M+US0jRThKdVZXek9ROCkKem5eJE1oelco RW1YSnQ0YEhvP3c+RnhxajlPPCVIbE1LXyh4SmVHcFU1OTNqWTFsRTJ9Vz9BZnlyOEwwb2QrcF91 CnpSeXYkJlkxUjRiZjxqdzFqUW9MXzkqe2tTM2VEbV4memhuamN7YShMV1pHe1I0JEdzT1NjJisr OWpwfG0oK2BhbQp6dDF5ZFpTMkhQfFEoYVlPc3JfaDsrOGErKG1nRC1SKFpFWmBHQz9rYjNUIUtf TitVWjkxemF4KkFsKCMoN15sK30KemxBVF5uMW5FPzV3UHU8Nl5hM0t1TD5BfWRrWVgwJlcmTSl2 N3Z7cyZwO0B4dkBlfVVUdiVjQWNoNjUhY0tKTzEtCnpxK2FiRGhSJUY9JSRMMEdLKT5YbURRTFYj K1gzdVEyNUNxbSQhdnl3QXhHNzRUYTh8aXF3QD1tOy1uQXw/eEI4Rgp6Iz1KaXp5VSZSdCNQK2lK Wmt+NWpjZCNENyZzVCRhPSQ8JX45KHVuJTdCOVIqUURJUW0wVzsqMV5uMGI5ezJzSU8KelArdTFx eyV8X3FSR3p9TEdgP3RQeUJTQzV2QFpKQypaYTZ8VXk/ai0tMF96T3AtZWtmWjtZUmdlNGtGWjZD ITc5Cnolb1htRzY1Z1g4N2N6SXVDUFFNNiVobHo4QlRNP3BIX0ljU0o4ZFdvdGlQVkhqbU1fZkd7 WShnaytOR1UkYDgxOwp6RilvM2t6K3R1OGBSOC12ZWQoZDV1YSQoI1MyNVotdEBARiheKyQlPno5 aVRDeVZlTChtRk1gMDBGekh+PWZqaVcKem9seTxjMWNNb2MpMXBgMnk4QWVkUjxXen16Mjl5Jklf U3wkMWdNMi1pditMX154c0h1dSpjfkE2YiRXNlBAN0tTCnpKOzY7X3Z8SHdrS2hOS081WG52SHY9 U2VST2FOITIxdCFUfXRXK307Smo7Nz1jPD9laTh4IXhaYFRgZThaSyFNJQp6RmNSRzstWj0wPGom S2lve2FIbFBKI2B7ZnomdVFpamw9YFJlV1Y3SStedlV3eEQ4TUtSZig5bHVAI3o/MDQ1UHsKemcy aURrLUItTGwmVWZOLXpwQiRvbWEpJHElVXJKQ0hTJHdvR0dlVlFuYFVUJFVVT35OMyV1TzBkJTRP XiRpeUNjCnpYTXE8e0dAe1J0WHc8Y307QzJ5JTR1ITk9aXdsKipMMVBaZmUyVnxKKTs3aiFgMTNt VDFeaH1MbTZ7Pm9AQFpfYwp6cDtNb2BkQT8ldDthZW4hZD5XJkwtOWx5RWhWaUBPJjIxeyE8enQr NU40KEI3Q0lUSW89a1NoJjk4cyNXQ2lJbEsKem9tUTVWYE9nc2BqclZESHglaXQ0ZX1yaFZ3RFFs eUJzfmhCQSRDU0BiY1JfQVF3UzQhdDZFQkRUUURvU2xPaXQ7CnpZZW1PZVVyM1pUZTRJUDVjT3R4 RU03Y3VuMjlQY1M4ZVNST0I4OUZDeGdFWkthdmkjZ1QheXZFS0g8YEB8NihBVAp6dmkka3RPKktI fkJIJVYlY29XPUBmS3h0VDBiUnB1PGRTbyp5e0xoPVNaIVZSJjIhRiNec01KKVd1P0p6cXJNOSEK elFrVU9GVFJTJFZTUnYpc3RNQnVqLU54SVJlNkxJS0M7ZT9DSlo1dGxjV1hOY2FDeikqeHhGfD0t RHZacS1SUzFrCnpzIUlvUGI3KU9eP0NiPHRyOHg9UW1DOWBCSUZgIU5WNSVPPWY0b0YoVXowazFN dm5lQXNhMGhKM1NlRHIjeDkyegp6UERNYjBXPnloQ0NVfUZCYEElZHYpPWZlc2U5RXpyRTRqOXBA JjRpVHpOMyojaExGTWBxKkUqKTQmYkshdmRwR1UKelgjPzhEQW5PZGhFIWF1fkpxSDx7LUdwckZi clBrSjNiRVVLJiptQkBeRjVKPF5uMFl+NGtHUFd3KVYpdHhack45CnpwMi1lPlhwezwwajs+VnZn RWF2KEQ0NiQpSFZ2PShjX08+c1ohWDxCVTxJdyQ7VTNPMVpMVlF9WjdTX3pqJHJ7cQp6d1MjdHJ4 JU9ScE91TFFPMEdGMUdSX35nUypEUXkkQlp5ZWcwREpqRnYqTjZWdDs/d2RYcVBlWk9gdW9XdXN8 cCMKejdEZ0s9cCZMQ2lmVHxCJVhjZTEtblh2SjsjTDhyPCk8fChKdF8tOClwdkF1YUktXnNgcXFa bi1wI2I/djJHMTBYCnpCYkEwY19ad18wZEF1V0NyVCNjbVVic1MqaVE+YUhWNWl5OzFIfUNDKnl0 c2lOZ1hle1VYRSpAUHN7VD9CISZzcAp6TjVmPkYmZ1U4UmlLJCVaI318SzdZVnd0WVV2fVh3TSNY YiVqOFBSRFFWIW8yblZgYEhCSzUkTDN4SFZwNztYOFgKeiZqOGJ0Sko2bzQ9ZWYtPWY5WE5pMzlt MCY8NGZrZTJUX0Q4VVlYJlRHLXI9eUB3SjcpN3g9MnQ2R0lIRWxvTm5YCno5QDtjUyZ0amZZSzh2 MUk/bksjZWA8WW9nUShsflNJXy19ckttJSNsdW0tMUFwVDArO2IyTTZDRjM/NW5aQGJRSwp6dWpL K2NWSFFzVGUhMyZqeSt7K0w4RXVUXlNjZUZBZztyQiUyNTxkcjw1eWRYPn0zZGZraHRrcWZlJERv N1B4VWkKej8pfVY5JXc9MH1GRlleP3ckbFdUdkdNaUNBQThyYjcmSHpUbyFgfEJCPHdgK2tCaz9a Nz9HRktwUjBZRTdEYCZVCnoxczkpR0N9PnI+MVJKUUMmZHhtMTAmQEllJXR8SksqYTw+UVhhWmwh aUZyKHVKeCt5fT9yZ3F7byVYOShaPD5PYQp6djJNQWlHZFM9UjREXzQ2QWowIWExPn5QVkllMTY5 O2o/SXlHYU8kZWk+UWx2PXVxZX0mcTdARm44LXx4YG5HPVgKelIyJER1MjtQfE13fEdhM2hxNlYp MFZSQjg7JXYybmBxa31IP3QmfExPZlFoIWZNYlg1cXdsKzxERG0wcyVkZTF+CnpPZGlXbyNZMFBT dzwoY0A8OFBkeChiJmwqOCFYSTglKFRvNGhGaDxlQEtNaFNsOGVDVnIpIUBRNSkxcXNtT1JFUwp6 dn1VSkdvfm4pKUN9a3xDe0hHbGdOSGdCVXNyND9NUXIrc2dVKkdTKU0lS2lkT0Uwe0oyTnhIflg2 T3hjI147dXIKel5ZRlptQ31seDl4T2lUSjtPeUw+Z0pAK3g+K0dGPzNlc3dZJWw/bHg8V0l1ajwl ZlY8JDYyVTQ7dGpmaFp7Y0c5CnpUSEdIakgxZWkkOVUoVntpZn1qaCUjQ2REPSo9OE5iR3V2Q2J8 ZHs7Vk5uRn0yJlRmY0Y7R35pYkxDb3BQVWd4Zgp6Nkp0PVl6WUpaZj9GUkoweUkhR2AqZ3NZSkBC fERvdUxrOFZYd0BqUTlBPT5xZXArRHB1P3NMJDBEbT5HUVdlem0KempjR1dQWnslXlVna2ZDaXFk OzBMezVpbjBgK0s3NCZMTHdwUUV6YFMpbik4XkQ+NzxONEJ3YUMlRWJoO1hGUD8tCnooPiV8cnYh bD16LUZeWT9FTSlPRGomaXFCe0c+bD87YlpuU21aPE1GdEdjVXJhV3JzQGRsb29NPkxjPDxiMGt4 Mwp6V2RsS3xSV0FLY0JFNmF7M0BGdm5QUXxwVWFRMXcxcGZBblRmQGZ3UGMzUXdYWGk7RmZSKC0m b1pUVypqel8mXkAKelYxYTBWU3B9YCokc1pZI1FhTVRzV0VgVX5NQUAkPTBOXnBmZTcqXlkydTxq SzMxdEV2MWRsUzJXfjdJQD98MGheCnpAcjZfJTFTakNMezR4TCNvNS03ZjB+bGxudTVCK0FzUmo1 SWBsMEpIUVhtailJOShoI25zZUF+bTxwWitjWT5VaQp6ZTUwTzl7JD9GSW18bU9JPzwxOClqKEhE K0t5K2pWdDI4XzckTUZ9PF5Ubzh3ZXEjUDhlITE8MEVmMGI7YnREQjsKemRkeG9Rc29LfWRhVUxT bzs9N0Y5Z3g9ZFl2U2pld2M1eWtxTj51Mnl3UkNmaT04O3p8TlE4Tkx3MmJCKF83NXVvCnpkQiV3 bWJtcDJLazwlWGIpPU0zZz84LVhJPzhiKGAmakJwaD8wTzgySmxMbiNeUVVLKmNZZ1pBY01qUkY5 ZD48Rgp6VV5rNHl3aDRgd09yQkIpOFM/clhQfDNaOXk0SlBYWkl9MD1LYTRYNClKK09nYTxnRHlQ fU8pMj1ifmZGdH5mQygKemR5Q19gVUkyQjRSQUAxZStxd1RLTzxAXkJRcHIqbzlmezM2UShBTXZR eV8/PkNnbXdtZlVMMSpVVWw9P3dkYnBUCnptd21XZiZNbEl8JXE+NVU/Yj01e0JkUVRCIyYpWjJh bz1JLVhWUWtBPEVmQF8oJkU+WjdHKSlFd09fKFBpVDYrJgp6NHRaZHo8RDJ1RWA9ZHMhPyhqZnRT WkhkIXdFOXIjO1VVeWgtQjRlayF9Jjk7bVMmR1AmPWNAQVE0QihGYiNafEQKeihxNWB2a3VscWwp cEhvPSRJRSYyI31PKDhTWmNHYGwoTnpgRnEqPCpSemt3Q1paZDdQQT5vcVlWYzZ6Y15gdjRhCnpj LV5EYVhoZjQyPWxIUTQ3YXBgYWJobTI3Mkg4clExYShmckZLeHV4b180MCp5XjVHRTd6cG5DeGEq b2F5V1glYAp6NWM2bnhucll9MVQ/PjVNRXgoYTR7ISN+Y0VQWnB7YnUrVVU/fDQkNFdIVz9zPSlo eF9BelJ0N29YOWJJPjNaZFAKemlON0g9eVJDQmlhVXckK1B7P1VEVUkoQSEtVFE9Mlhrd00pb2pq aTEtMUNJP0ZvYlV3VG1oQGN7KExlKFU4eHFACnpjREh2XihfWSVgXkZwTmNkNigpMEkrQ29WIypN KlBeUUZSQ0UhRDJXZjtuQmx0TTI4bHpKV1Z9dDNFX0JRbEIobgp6R3BhMnpFQEtPTSghaj1OdnM3 MHh3fFFqdjxBeEtVRkYkKUNaZUIzNiNIcWdWM0VLdU0/VnJFfFROPD16aFVBRDgKeiFsRjV3UWQ0 Kjk0cGs8SE44OT8jaH0lU084emtgJXFfU0FHYyslUEZrXkYhOzFAMXtRXiM2OUZTKGFSJUY0UlQ5 CnpGezF9UXYkTSledHQ2JEctY29TN1VvcntCUEZoa3xzPmdwbUYrY299byVlP3o1cHw3d08+V2pJ cmViUUlSJGRmUQp6ODQ+I2x1ND9JYD9ISXw5MSZ0N1pDPkFgQDkoblQ2Q01DSCkwNldrTlk9MW1L dUl6TkRsbml0eG9sNWUqVTAkcUcKekpYWkd2VE83OChWd2l6bUEhaV87dUc8eUM0QjVrbkJJakFu THhyXlpaMWswNnc9ajNjI1ZVUVBhVzFHZUBaPk5vCnp0SVlFOEYhfWt+TT9OMEtnX0k5YDg9JmQy RTwpa3l2Q2hXfldKN1huaWxNITNTP252fjN4RCg2MERje1ZqRzJqTAp6IVA5fHcmKFNMeHk+TTVI JlR+YUhJOzkrMm1DbVZvazRwSXskLSV3OHFGTyFxWEwkMFoyfV8mNFhWVzk9TG9eUDQKekwoa3FD YEA0P0VuZWRlQEBOVTQpPU5PSWEwazwwRCVnVlZUb2lGYVhBWVRKc0wkfHRNWH5UV089bVg0PHVI X2VNCnpzQn10NEBweiFRTnl2MTJQKjU/QGNLUjtfe3QtJmQ3eUwzUigwIVIyP0NqUUZLSEpKTUty aXV3KU5qdGp2bkxSOwp6dl4oaXUqSj5NdD5vUVYoPj5keEFGRFFlLT52Xk5oYTh7RVA8QU14I2km Q0JjZz5IWlAqPGlvZlI4e3A3WGpUYV8KelYjI3VoQkJFMTF0cjV7dHpKUkZqUHlhbmRCMn1JcGN2 LTcoVDgqa3AlQnR2KWBnKSFidEwpV1pzKHdQcGNPcSYhCnpOOHFQOztUeVcpcnZAZC1YVnZfMmhz MHQoJDlvPkkjOzghS0ZCVEI+SiVQXyE2bj9EI2I2aTYpdn5PbkBuV0t7RQp6a3hmYWlkbjNSOzJy NCF6YlUhX2tKaHphVil2P01Kd3xKfm9aMEIkdXh7d0J6YzBrRmZlVGNvZzRIVGlncHVBU0QKel54 fX5jQFRfYT5yPDRhWCYyZ0JGcFhmM08+SzBaaG45JUElJFVeYGFibDFRd2lAeDUoV1V0Z204d1Nu T090OD9MCnpKcnRyZiQ0OSE/JURoM29qbFZje3RaMl9VVih7QDdefWxXeT1nKXAzRXMwSSlRVml+ XzZNbVhRekZRNzlTKlZpfgp6WWBefkxifmFXTWBEN2FQYHQqbm9iMmJhcjUzNXpOWTwjb1BUJF47 P0l5K3lJbFhpYURUdUE1TDx2aWRyVTtZSjsKelM2eyNuZGdsbkJtRHNnITNlR1JkNFZ2YzxsQDl5 NGl1P2dhMDMhUD07O2BVdnJ7M0o9X0toJVlneyN+cV9tPFNZCnpxPHImY2VHY3pzcH1hRlFJMDFX Y1ktSS1CVlpaJWkqe1BOb3BebSsxKF9HKnFMSkRqX3EoM0JeTVZJUTU0Uzx+SAp6OF5AUFItMXh2 KUArbX1RUXFWajxiP2t+UDRXV3s+JWF9PVVyeHRCdGNVREFpanJrfE5hb2JZNExTWHp8RlJHUWUK emB6YmlQNjJJfXl3ZSteMCQjJEFWJlkwZT40YkwrPig0JkpKPU9PNHx7PUFEb3JrSWwxYC1YYGNR UTx1LXZ+PyZHCnpMWExgJWV1aTAqIWJFKmwzd1E5YzNVVVopeT5lfjh1UkExdE5URHxwUVVacGVT ekdaa15AZ2Y9eFRxekBhJmlUeQp6OyVqNEZqb0QtbksmaTImdTBQY1lXQ3R3fUBBcSNGUSlzSzAr T0ojZFhZdkFWYjVHWD4zSSlrTmVwKlpTSm5ZVksKemNmPlVxNT05dGtiWGNHOXdVeikpRCtHJlVQ Zkpfbm5qVTdrNmk2ampSTGJOK08/PXtpWWI+bFA8b2o3VHRYI3s9CnooR2VXJGQyJlN4JURWJTdP eDFUfWxidC15TyVRUV9aP3RwaDdURClJZUZKMG9LfCZ7fmx3KF55Vz40QEJxUnNDSwp6U2d1TD0/ WEQrfkdMcjwmUTckTkItKD4qcFpwNWdienFwQmdEQV4/cj17cU02dmBxU35jI2tYVUQ8NFZIa3tk OHsKemlWVWU7T3BEO1ZFPzFiVzgpRmp+OCZiKXNtVUU1b0ByNG4qfERJJURlRGQwfUpLNSVfSHlu RE8yS2BGdTM5PmpgCnpzayNAa3JRc1NERTBOeFRCbEJ8QmtHXkVtU3JqNEhWe3FabEJnSk59RjF9 c3UoKG9ocXhyU0JKVmFrJU1jVXRXewp6bntpVkhMVU8mUWBCTVNFR3BqcUx1JDQmdF9RJnJCbUkp Wjl0KERzTUklWXVgVntGYzcyZndafjRFX2UqJTtPNykKekotVGpUQEIjb14qPXtSV3RkNXk1aFpi QUJjWikldVAxeH41UWQ+b3g5JmNNM1A7bi1YQigqdlAlbGQoQ1dnd1BkCnooWFdeNmVpdW4xJnx+ eyZkdUQ8SCV8MUNUOF93YmQpeWJ+JD90LTAqSEx5IUV2OW1senBXJF9hVWhpVSV7U3o7cgp6Unhr OH1qPWhgZzdwQUl6e0s2RD9lWFMxaTZITEhaTDxee3UpNFN8ZzB8JFVwUCg1ZCtwLVhsdzRPeCZN eU0/YlMKei1IT255KkEqI1I7eVhWRUVjZH1+YWM3RW82R0NSKzN7OWp6Kmd9MUB2ZmpTJlpBT1Az Zj9KTnZ5PkIpZnhEcVZyCnpANERPS2JaV2B9aE9IOyt1WURgaTs/MmpgOzlNI24paXFeVkNxeyFA djEjbSlANzYxRkpVezh7fDYxKGtGZSFUVAp6UTRuJkE/SF9VekB0cShCdV9LcXhFQ3ByLXMzdUJj ZG9qa0k/QHZmNW9mWCh8OX52SHV3PDxffTQ7Knx1VlJtczUKejRDJDR1VDd9UERxOUNsUiM0MiRJ QGBXOHtkc2YyaU1DLX1BYDwlakQzPWJjN1BPKUw7THJkdmM8S1Q/RD9BPXR8CnpGQjxWXkJDYCEj UFBHOXl3NiRHd0FwWUN+ZFN5PHBQWCFITnVoZXhIVzIrUzRYY3I7PigxRz1LMWxzOSghQkA2cAp6 QjZOYUpNej5yUSU8KEk5Jj0lNkw8QDZPMVBsQXFwZHhXZmdSXmt6JXA1Z1BCZUNCKCkjcXppbjhs Qn5VUzFJQHgKekc4XklgYGtMPV5BNTstVEFWWTR5Y2xBeTNaXjQoSj8kbztUd1hgWGNyNVJvQGBo UDYyNUpRXlJPMWttdnBuc0pUCnpufHN4cDt0YHk/elk7emZyN2dYdmJYJmY4VF4lbk1UMFVAODda QUJsY2xxZlB2amlAVUI3NVlwZmtfS1kwV0h9cQp6Nk9YVlpXR3ZJcWE8M2F0czNmKz1zNG8rfWNG K2klMnBLfU9JMWt+ZjYhJXlqT28mP35HKWoyVkE0dkt9YX1ha1gKekhlWGc4LUAzO0ZgbXpgPDJn NEhqUzAzO30hWnFkbHJHfns/amtFX1VEcX1FN1RSRVB6UW9GZ1E0VGZWbjIzc1pPCnpabzAlYTZt eylpckFaV25LTk11Yyt9b0k3VGRfPEh0U1JyNUZEJGZnaW5ZSU48N1l1V1N3SEFONFY0ciVILTU9 Iwp6RUJ3R0x6aG4+e2okeVdBZ2gkfjIoaCEyQjV2emF1Kk4oXmlmZ1ZXMXAtTW5TVEkrK2d6TVlD SjI3YX15Z3JWWGkKelJRJmFAezxzejcoOSZZS0RQUXlvPUB4YXxyQmxXdlY5dFZySHJZQW17VGdO SGRKMXpfMlJOMzZEd2l5PjR4SFBECno9WFhlZXRjUzhAX19qZH5AMX5PMll9Rll9dF5Qbj9TTT9A VTAmbk5IWVFlPHBCYVZTJFlnMEN5QVF6V1NVO24lQwp6KiQ/WUFCTEswNVlePzAyTVhBMjlDJUh9 V0VeJDVzLWpra28ofUokdVNHeDY0bXpgdW4mKjR5JilkN2F0TWh0NioKemFwSHcweHQqYkdOPiE0 Ty1nezYheylXck1IaGVDNlZ+fEpTMVBqWH5LYlRMU0FzJXJ4bmhQSio9a1UjXkVWQ3VDCnp1dX1V aXw4NVcyTnRUKFg3YXlNSyF4SjFESVVWVUFZZGBkc2tDTVpSb31gVlQxRWpYcCFTRzhEe2h+Ukk0 Nnt9Pwp6Wj0pdTZfI3U5QFlNVHF2OWBfOHFQU0B3SllBV3M1NkVhb0pKdEc4IWlkbnZZRFZ2Jkdl bUo+OWRNM0s+YnUrMEcKemNSZl9QWX1sZ0FHPVopKGY9YiY/c00jTjwyIyo1LT44RUBTblIxdXRy XiM2X3dMYG1IUmBOMGgrK01LK282TykzCnooZTd8JDs5bEIqSkFjPWA9TGRJdXRMcytadTcwaCVQ RXhiTlpDY2U+QDx7M3peYE8zb1QlclpeRHNrfW1FSThyOwp6bTNZdTY0Z1QyQVAkUVcwcmxleXh5 ZURSfUEzUU5JJHk8Vy1ZbGg/QXs4IzJ0eC1mWSFRdkp4MjVXSz5ubVRhUnEKejh4OFdSRWdDK2Z0 PnB4TzRJejZLUDlXczZEMGkoTypzVFU8TmRzWil5JD5hJUZDTVNvcjA7K15Xej9xSSlXOFFfCnpE I3RCaGJXdUE9bmZRaV9BKkNrYnd9c2BRQDQwJmQhTUI4cWFgVSo2QmtpLX48aDVqLWtYNE5OPEZJ JVRhTFUlaQp6YVB4NiRxVj4+YkB3Z3JHPW1rMVgrclokaHtZbENTaFEzOUBvRUxxJTlmUzdLcHdZ RTxZSlNfK15MdSZ+VUQzcVAKekR0QSg4Pm9eKDFnKy1adVZAQDRESGZIWH17LVV2UzhLYUhIVzVf N2JMbUk5RFUmNXRsPlZ3PC0yK3RtX29Gbjx0CnpBKEUxZ2MhOG4oUmxgTFJoQ3NAeEFyNm0takAm QzUmdXo5Tl9odm82S0pqPktzSnt+ZT1CSTFUN15yflcpTTFYNAp6KjBwXjhZanVaZWtydlNgYGVm am5TQ30yQEo4cDU8WUJGajdCYCE1Xm5CYHQlPXpuZzUxfUZPMWsoPlY7eUExaUkKelJ3VnRBWnR8 YXFgTGh0aVdnJWFmYjI3JFo3R3Z5PWFjbShMWlRaMHRSail+WntfSn1VezI+UU1XQClvbkhCUjt4 CnowMlF5I1RfO1NqKSVVVEYlWEtYPSgpYW4oRX1oXiNkb2FjUWJEfTg5NnZ9VFZuJV5Od1lEeSVj MENuSlh2SGN9NAp6XiVfPjRXdD1WUk8jWFN4dDh0SlNZSzZBNXMrd2Z6WCowR1pMYUNEMGBsfGU1 T0A+bTZfbGFQMSVNITw3NEQjZDsKekc5NmU0OGprVkxONjlJSUE3c2xCUTFiZWw8JTBtJkJ3MHl9 PmVWdiRSVk0zMVQ1X3ZxeDdleD8jNSRURChBaksxCno+cVVEU3pVRHU1e2p9TiVLQFE5TzRlfStA V0kxJCtqTFVSe1o7WjE+WCtGQmhqISFldmJ2ZG5OKTAkbG9rVE5+QQp6LU5geEFaMV9mZEY2VVdL PnB7RENjK29qU2NiIzhJeDdfYDlwUnRHPzR+TEMha1JVTTZxXnN7akFCalJ0JD1kSCkKekxHIXtC PzNZSnJZSH5McSo/fnI5KzcqMDdmNlQ+UVpvQ05Ja2pLazNrMUp4NmQpX2NjWlBFZikyPT5AfkRK Y2dOCnphKlNIYSlsXjZEYW5CZHl4NE5EJVBkaiZ6dlFTNWglSEY9fT1HTDRFUFM7IylzUmltTyE0 aDZtVHBLYUBzXk92Twp6XzMxKXdhYUMqMnd0Zm5Zajd2NSRgTlhUJkx0d0dlTERNN3dXLWg2VWBf PU8oaTM0fChFbndDSnRreGU0SXA1PXQKekhJUm00TUt3SyN1ITxOQkBrdSliS2A5T053d3g1MD8y Y0x0XnBhaHk4NFI+NUUmPStTaVltTWw9Qlc4Sk9CISNmCnpWeW96Rj1aaGhjanpvYEQ3KjsyfFg7 fT4ycW5AWWg9PSU7cT5oa1ZKaFppbHN1QSNEZVRCWG5hcXpjU14zZUZKUwp6YmRRVEgrPlFFJDhR STBPYjk9c1dAUyluY3k7SHlDNElkX0EjUiRtTUs4K15rLWdNVW1AZn5yVnpONF9LPzdDWW8KekIx RWctI3hvM2g8ajJ9WllzNz9oaHh6PXkwZz1OT2trdW9zX3B6Rn51fWB9M2NYemRSWmpHYWI9Q0lu JVVQM3lMCnp7PzN4I0Q8fkVKRUJyQHduVnsqOWY5LWxjdkpqa1RHOTIxY1lGSktxIUp4Y0g9NTk4 UzZMNGlaZTtzWWtAWHZtJQp6VXtzYXVoV2UkTGZfNG5MN2pgNkZ2NihLY047cHhkXmw3V0stP3Jf KFVWd0RiN1gqcXdEfDk2KVkoNW1hdT5rM30KemthcS1ReXFrUX55bXJEfS1sRz5mUWRmcSEqanJ0 WHl4Q0hqJDs0Z0c3SyVGbyE9el5QWk5ES2dOIzE+Kk5DKEdYCno3ZXIyT2ZiJGhkUiEkbFEwb0RB Wkk5cTswS1ZOY3BSeUxuOTZ8eXdFbH1jXn5tKE89TGs3PDBxVVRURSYlSClFfAp6MmdsSXcpJkE7 PVZnMmltYF5sZnN0RWRRc0VqcXZeeUxsYV5AbVclb0pKMV8mLVRPa3JiRz55fkxDOEJvV2cmTDMK empQUUI9Z1dZO3cjUU4tYE1LMDVsQTRjKCZlKVp7fD19PX4pI2xTe1loN0REQWc+YWlsJTdnfCg/ dG1BYEFoKylVCnpZUn4mcj8xT1R5Q3ErT0xyVkVDR2dGMEZVa1duS1dHPnR7XjN8Y0BDNDN2fkVr RlchLTJQeUQzcCk3MGdAZSEpJAp6M3x5dX1lKCpWTil2OTZQcnJzZzQzTTFNU1NAc3AkLT55MHom RFd0S0VyYzxrP3g1XkIzelJ5bz82MmN0IWJkai0Kejw1c3JEQjBxMXtTXy1NSD5heHB0ZTtIKDt6 MmJKIVUjTDNLan0mP3YpJVA2d0dyVXJLbjB4JFc3bntiTXgtdEs/CnpkRzVwM3JOfTJ8e15MXjUy YEV4fWJ+T1Y1bXQobntqdWk0K0dZKGdaOG17RDRgQ3ZIaFZzK1R1d0t+P3chcE1oLQp6KWUzZklo RkNfSHReRCE8dVgkWHJ7MSk3clpiK0hSX294WnxYOFV1bEZ0WWB2MDxhNX5QWn1GQjgxfW1OTn07 X2EKemIrbksmZjt0TGcrWitwSzAjbUVQWFlQX21zdGxRTGdwI2E0PWRNMX5FeklIdXdwJjJAaXB0 SnhRZHBqWEktX3IpCnpVZHNYXj9efSZLK0M/WWU8PSZ8KENLI2Ize1A4ITQ+R1pMMHdEMzBgbiZS X3I8MWpecHJoO309MTE7KzVzP2hRSwp6aj58aUV2Ukx8WUxhUn1SRUMzTiV8QXtJWExsdiNaMVN8 NDRwVlZwPylZUjQhdnZIay0hNSQpeV9udm5KT05BNFAKeihiayNDdWxfJXhUfkthRHFDNDRyTmBv bzVyOTwqdmtse2BzMkJVNEhvTURlbXIrTUBeTSU1LSgpJHF0cF9iO2lECno7S01ENlpyQzUldms+ U1c9MHpVJEVVcE8lYFc4MX08T2kjUHR+PFkldGA4T0wqQzRTY3Z+djdRYVR9fHcxJmMydAp6SGg2 eWs8LXRlTWB5U29tbj02OTMwVCQhTGIzZG41XitTc0tMRCRIV3VGNXgoSEd4T1NMWmdMfllGWjw+ cU41VUwKek5KfEhxYU1yRHd0QDcpKkBsTlNaOUAqZDNVUmBjOXlUdHItJUpIViE+VGc5dThPMXRT cl82dll6dFhhVStEX1gwCnokUCRVNVFnMVlYQmlxOGV2ZHlaPEdLN1lRPyo3ekFIIzZyRGEoRW1n TSVBVVk+aDJ2MGEkPit9YUllZTx4Vm9sJAp6QyZtbG52Mj5nTiUhUTE5JjR1d3JTKztQezd4cSNE N1UzMkBAfVQ4QUMleDU7Ujh9blBBcSlJaGQ4KiNlY00xQTYKemIlSmolcTgwamAxQDNgN2FpKlle I3p2V28qNXlJenFsMztodTwrKSRhMyF6OEtMUE1GQXtoYnhLZXVASjtFakY3Cno1SHEyJjVZWmlS P25UVFB6Vnt8WSEodjFmST97WEE7OUF3KCNJNkBMJmx8VVNwakwrNzNINyZafEsycFBvUm45bwp6 KHwpNXclTS0jQl4/YEtAMzV8cV87IWd8UmQxaFBMOUVhZnl7S1pUe3ooQUpkdUY4NXIreTl7bDV1 MDs2Q2xeVUYKejByUldHcz9sMypmX3ZDIUojMjt5dWNleH0qbUtzREs9bj1tP3NhPFQtNWx3aXlQ aTA0JSZ6O3EjR08xT2lxZmh+Cnp7XyRkRTsoWm10UXRVaD04R2llfEk5THh8clNyQGFFRWxWI145 Wj5aJihDP1JgJjFLPCpQSHJJbWQ9cSplWGhpNQp6OERqa0g4N0tkMW9FOVYhXzBjPjw1fSF6ckY0 ZDI2ajVsJmFUKntiVlJ8KjBXKS1aVGlRJUduX1Z9X2U/Q30+KyQKemdWcVM4akNBcTFMLTtEKVMw VmEkUDFYaitUeDxHWmR5X1hoPmhCcnplb0dCQy1BKml4bjsjOG9FRDlqREY1d3d9Cno+S2kyPFUw S3kocEwtZH4+Q1pgRDtIT3xCKEtBJD9mPHN8R0w/czw9XytEdDdAfCVDM1BZd3NeaDJKUD9ZQ0w1 Swp6bHREKT4zOWtyOW5fMip6amI7JUc0Vj92RDhzWHVjMUdsPHNiYTxgVCVnY2FpenEmbXRAREA2 QnZIY2BJM202OXAKejNYRTQjaSNRUzNuaD5INFc3bSF9THNAPSood1BnQWRAWUpAemxgcnBxZW9y eXhybSp+SDdKTGJvSFBFekJvN3FCCnpUYmxZJTVtNWQ7QUslby1vbUFJZHNMMDhve0NrfmFxUjdF XjxlQWY9YCs1MG0heEE+SHNfNXI2TWJWOEc8c1F7Xgp6XiVgNFdSPChqS1Z3Yk5UYVhDKDhgfj95 PnFYJEBPNEEteDktTTRKbFc9eTRpaiRKR0I+VT0rTWNHPSpOTTt0aUwKel5HSHRRe2oyUn4tUSR+ QFkqdCFBUE1PfGI3RWFnZCQ9T0dBRlprU2JTTTRmJmNDKlBRVVMhckl4KVA1OFhVclVQCnp0XlJn fTBIa1JBcDBEI1U3RmdgUjxYWk9sLXZncV98MlRSMit9NitlM1N5QWpnMnFsNCN8a3V6ZjxXYysj JCNoewp6IW1aQmxmK2hkTXhiOGN8eXp0diFUayhIP2FqKjdid0BLPDtpYWY1X3RxaHFJSEttUG94 byUpeU1FLUdUV21iUisKejhUPz9uXnI1QWtuYjFZP1MmXmNfKztGdCNgO3BVOHNhIVFZOTZjM2sl PCV2cm47Sm5ATVFCbGJfQEcwQTIrWkl6CnpwXyRYJmt5VGBxb2xWZm9FfjtrJTNma3I3VWpgT3pH Sl93MzF0R0VWcjtBcXNyI2koSUkhZDxuTUJyWHdyezYyZwp6cF9kZGk5PFlWRztWezJNcm9xXkRI SnkpSnt3Q2x+OWc/dG1FVkRrP1JwVER3aXEoVjwyRSN+UzE3MUpgT2h0RjEKenpXM3oqUFRrRi1Y QkdfeTZVfnl2R1AqIXArfCY3ej9uQitZSlgmT14/WDVneVZoeXV3ZUZYfGNjSTJHMGtMUT9aCno7 OSQqeVc5YUdueD83SGxeMW8lQT9veitSUTFVN1l6OVU3JmhWUXA5YTh7S3xDQnZXMXVCXlYjMEMr WmhfYF4+dwp6QDA7JV9MOT5xTjxGRWU4JC1McTBxfGVLSU45ZXAmJlhsXmp3IzMqNThvRUVhcmEm NGxiKSk9WkpJUWVmY1JyV3MKelI9eWNVWElwSjFpcWtwPExJZGFJcWcyND8rYikyV2ZAWWU8T2k1 K3NBbVdwbzQwM1B9PCFPR1BoezRXb0xYcSl1CnpWO35GVSZeWFhhaEoyeWQkcDYjfi1kfU1vJTQ9 RE5SSmVYO1hOdmBrN3Q7fHgoN0M+cCp3Pi1CYWVqRGhhME59NAp6JUFMbkt3KitEZjluQD5gZU1X cjtSRjU/WVE9SkYzTmVYdDBGQShTQChMSTl4ckVrcllvailWKXo8OStqN1d7cjgKejJeOTh3QkJ4 ITlZV3dGKF8zdSEoWkN3SXBXQiRLNj1UQ0xuS3xBPyhlanBnJXp1VGx8Zz1gVElFe14mQkNCVCl3 Cnp0fFpPX3NmQiZxTEdlVFZFcit9QF9eb0k+K0d6LSkmOTFobHAkbD8qT0hTTmBSWWd0Yng/Mz1K anJSSGBldmtpYQp6eXs0QS1qPlFJUDFlendKV19gUSk3S2hDVnZqZ3lwUVAxeXxBezZjYjRjOXAr YmBpbVBJUyZgZD9qLVFAdzdRJTEKekBkKyQ1XlJoUWxGdF9hfXYqNilfcSM7Zm1fZF5rKFRRUmlT MU94K0lJT01GWjdWeC0lND1yTnU8OSFmVmN5KHRGCno2MyoxdmQ8e3hfcStQT2Era0JhMnQxX3Uj ZTJ1JCkpZDVIYHFVdVFAdUJEfXAwPkJ8bUxTTHVZZ0VtY2lreEl+bQp6QyFrXjhaeT5jbmVUQTRK TExXTHE7cnphUjV4JmUjSkJ1KlJXalp+eXhJMXopRWNQd3ZEbE9fYjlIOUJ2TUt9TnUKek5XTT90 P2N5OXgoRDkzZXB1LWohI31vMl4+e21VT2BURG98SDdYbmBOR0U1KmBMTiR7Tj9oK2QqSG9kfGo1 JU8rCno4WkQ2YCQkQ0VxY2dAOy0lOX1JPHkjQkYqdmdleUptVmpZbHFxWUhSY0c0NGczYlQ0UU93 KllyV1ZTe3xyT3YzSQp6WmR0bS1Kc0RHdStKVGN9O2tQViRUPVhTRU5MV1IyPEBrbnNrfG1xIzFZ I3lIMW8xPExFVE1KMjNWVHpDLT5yRD0Keil3IXJ2KClgakR3KHcrOWcwKWtDakItNnhWYWJZSVdL I3ApSTEkc2hLeUUzT2g9RWloeUVBOF5iSSE1VmorbiZjCnpFS3UjQDNaJWIhV2FGbHA1WTlVRHk2 Q1dJXlZXPlU8SzNzfHpgaX49TUpSQUUxIU1uUURjeihGQyM9e0pNRkdWPgp6PWQkckwjblQhUkt3 e21vZDRycXtyOVdZVncqaVpkelEwaFcrbUFNX01lcmh7UjQzOTt3P2VyPmpvfUN6T2pLY2MKemho V2FwWnxKI1V2cl85RjdyK15xMFZXbjZ1Tkp0I0lhYm5nZXZ0eFB4JDVkUXBseztoPWhFYlRTQD4t OyR4VjkqCnp0THxJRUpPRVZ1SEo5S09XQGRJOzRNUWh1Um5yb3taUW1HKntHQWJQS19udFRHcS1v d1lEdD5UWXRGQHJKTGBOOwp6MjB6QEJBdypYdSgpVWh5VSNlZmxKVEo2QXJvI2tlJVZSUitQYl9F X2E+NG08djBBaEU4YjVBLUc/NEUzdDFgR0kKemRIeVBKV3xeNFJFcmlWPCYpVXVMM21TJXNoUmo0 QGdxaWx8MHtoWVpPbzAxQllUeVltXzNzc3U+NHkpeDdrJFQrCno4JEVUaWpteGd3QSV7O3E+aVd+ UWV8WChFeDZ0OFJfQnNxJnE1dUpTN343RG8pQG5XX0BfXlRyI2NpcE8hd2dMKAp6cFAoMWhKIyl4 PjlYdz10dEtaIUpkT2hzOHRDX2thPi1uamBtfHIhUT5QMnFqXyZIbzVvNSVUN3FJSFQpVFBIVDYK elQ5VmZIS2B+XnM0eDUoV3lYenNEeTBVcFI1MXBqQWxVU2VJc3EjVyhXfHJFSiRZPjgzPk5PKGJe KWs9cWpqa2lzCnp7MWErTTJmVD1RUWJSQiU8YXZuTmwrZV9mWnokUEMkbCZ+P2s5RXJPdWskQHpU PjMkUF8wZlE/PVRLZHcwNn5fQgp6VFReOGBeM3Zfe2pSaUNKUWE0RHlyaE4kc2h0LXJDJGgrc0lW Rj9qUUtnP3BpWTg+XktpT25oQkBmUCRGdCU+a1kKejMjRjZVe1FJRig8Tk41KUByejJESF90ajhR RjE+Zi1IQ1NRdXdfMSVhbG1kez9Cb3dqTHcmI0Z4TzJ+UV4wKGJzCno7ZyMjRXJgZk5eZlFETT15 P3pzPz43dVR1d2dISHFgVGVWSD5INnY7WjJNdXw7aE9hK25RcER8ISFTSUVOakd4Vwp6X24hRGAr Uk1KMEBqeU47I3pyUSo8cylMQT5LT2txUE03KUhFRlB6aC1IbVQpKDB9ZkgwYnJYbEJ9ZWp4WGA1 MDAKeitTODlPRm1gcWtTJVU1QTUwfkxgZ0hOby1VPU1OMV5PU2RSPktQQTZjM0g4RW58PnRyWmp1 RlRvRyUwaDVsQVl8CnohcCg8VypuNmNtYXEmMHkya00yX0JwM0xTO3laWFFzXzlTPEA+ZnZDJnpE QmUwJT9ZMXNfflp9SCQrI0daRHRLbwp6NVVnTzxvOFdXJm1wd0BNPERnP19uYj9GRVUrK3FZe29O ZEJBTkFDYFdVUClgPz9xa0VoJHp4X3k4JnBDZUBlflYKekN4XzEoeD9uMihDU08rK0Y1VD90JkF4 OU0xKGFwRytSSFJFaFFxKSh1ak0lPzBxbVImVkEyMisqckI0Sy1mQXZaCnplNTxKZUZSYzYqaXRZ RTQtTX5LQEM2NkM4RG4yKDdAKEVaZ25HPylQdTEtXlkzKWRmdT15Mjk0QU5odD9ofFFjPAp6QXsm d21gYyU2RmB8RUYzYHZeRCZgZTdAKDx2fHImYU5vI3A4UCtyNkpKVWp9PGFDaTU0OEJzPWdTZ2pi SnpPYTEKelU0aC1rRSVJaHQoSE0wUV95dUp3aDI9Qj8+YTYoVD0qRnE2THE2fnQyMnpuLSRse1hJ YS1xXy0mOSt0TG43eDcpCnp2R0c+YSV0SUl2T0ljbGNUa1VMPj9mSzB1WVpLRGEzfDxma3lhLXhU Mik7SUdoYil8ZTdINiR3TWF6R01EZ2NPQgp6cTNicypvTnpIXkNBQiVRRHc2Mm49eWtNejQqd1lA d01qUylYcGo+cSg1ZWlxbGZUIXtGSFoofiZCPUgtMlIpNE0KemRycClNM3k0K2VjNG9OUXc7ZGJl UHZfOWo5QE02VDw/LSliN0M8PEpXSj44Z3taJExfP3A7Y3cmeml6Mmx8Z0leCnpzZ20zaytBZDY2 Z2lqRzBYVmNvZ0RmP0xwdldBNmlnO2k8bUtJQnZQKDEtQ1gyQ09xcHE2c2ZBVEFBaDdReylaPgp6 dWNPVjY8Yj57WktIUExiX3FSKXBjQ2l3QkFAOVd0PkNAIzY/TDJPWnYhc21gQlJNen4wTTFGTXB2 Pnc1Tng9KCEKenlSRkk/dGlxNk8oc2NxMldAIzEzZCV8TkxuJStSfTF3cHwkODFFKEpsQEtMKD1M Sl59SiF3JDVROXZXTUQpT1JyCnpAT040RFI5aDJJalpGQj9JJDArZUg1SiRfQEAmdnAmQiM4bCV0 K0hiMDxlbXt4UVM5ajl4YHMyeUQ7e3RoPHZncAp6ZUI7U1VxYkdPZFN8I191TG9GeWdOQlRvaThX WSlsc21CV2Z1dXNJKk87TmpsRG5JR1V5QExoYUppbmtGKnN4e2sKektmeW9NPSR5MEBNWCVnUzsp N1lOMmd4QC0qdHF5dHhXVSR8QFNqbE5nUlhPeTFmQklKT1JpMUJFfUJjN2FLVXVDCnpqb3QzfHM5 cE1FWTFRaT5YX3ZOQiY2PlNUX2VqQDI0ZEhsckcoaEplNlB4dSRKJF5aWks8aXx6OEZNMmF3JjIo TAp6OztBWkYxbHE2Y051VTM/TnJWXit6JjFnT3V4UnlLY29jTz44dn5JMW8+YDFLTSFIQmp8NDgj SFZnUWloWWx0ZCkKenleQytsP2BIbCNzQF4pUHQ+KzgoNHFuYGZkLTNBI1FmUDZmNm5BJW1ZakQ+ VipVKTBjLVFDP082bkVGKSZZT09KCnpfdWpTTWYzdVJEV1h8bHBYSiRYbz1nZ0JTTTIjUSlWUTwo cWc1N2RXMEBXT3RVeFlzTzAkTjFrczRebTF1SlVtJQp6cTJsZyNEb34kOT9QJXRDT0dJX2w9Uloh RFlqNXsxTF5Zbz82eytieXA1aVhSWE9fSXw5VVotZ1p5LTBPdzgpSH4KelNoOWRHQFRVYFl7VnB8 SjsjdDxQQkNlZi1qOWxRXiRIQ1RpOCtTOUtvdWAkPCszaDZRPz4keyY1bkNkZm1nZ3VTCnpPLWk4 VFYxKEkyJSZBdGFTTnd+Z0d0P3wkWDFRNjheeU15KS1fMV9HN252QFoqNTx7MWhmcGpDUlljZm9s bUBrKAp6VU1adCZTUSgpRiFUeU5IPmorSm92JX5uTXpMSWMmQjxaY2J0UWNGPmdhPyVtZ0xOd1c8 OGVXd3NQamV0RnR4UFkKel4+QiFZQHlBUzhje2JUUCg7bXI/YVQqajQrb1BFRG9DPUx2SSpjJV49 OGorWDlITyh1TTd1Tnd1fnUzTjB8MDgqCnprcFZSX1Y9YUJYP3g8SVgmTUFTdUg/S3FjTG10alI4 eHdXRWptej1tVTchWHEkKGxPczB8MUEyJXp9d3IzMnVgKwp6ckM1akU+NFNgN3EkVWlwVEBsUkNL I2s4dG1jVGRweTNpKlhlWnhRYW9GfmVJZCprT1FiLW5GMkFFTTB5YVBXckAKek5+LVN6IW17RkV2 aUJ5elkpUz9pTkZ4ZWUpYUMqJnp2RmF3VChPa0kodG9TI2NhVnJvcG9nbHNGejZQUiE1dUg7CnpX OE83JT5DcUJsUmV5SnF0WiVJNi1ePzN+UUdmWW5FMXo+SFNYfnFhZWgkMldoe1RJcCVBNVBiSD5N e1YoVXBRPAp6cjByUWdLLWRQcHc1M1lUWD5kUXZrPTc1RD11K35JTmBHMzFvXl9FI00heyYtZTxs JFplU3M9ZzxufUVNVGApS1MKenhFY3NDc3VzM31CUEc5VDlhbVZZbll0M1QqUU98VFVaeHcxa2Ul P2J2OXt7bzxKKEdoekQmNEBzTlVwdUlfcUVACnpNcUF8XyNlM2drNlMlWlR3K21RJEhfUmIhZUVs XiRjcT4wIV9nQjBRdCgrcmg2YUpAbWk2b2khUTd5eCFlb2c8Qgp6PGxFYGk1clB4cV9nJn05TEF6 cWRxIX0pQWg8KjN3WCZ6XmU9UFVaWTFEQy1EVmY1NjNldXI9UkVNUzhXQTNnJXcKenJOK2QrQE5s VCtXTWt8TWJGJnFFU0t2RCU/U0VpbUwmOThOKUVUNGdOazljd3hWI2UwKXZ5SWhka3l4UXA5RlZE CnppNHFqc2xfaVE9bE5DYDIjc1Q7KlgrYH5Ha2d4a0FteWxjdDVqfHBVcEJsTmZ2WmZhfiNrVz1e KzE0QmhGfTJOSAp6ZzBNfXx7bEt4T0AqZ29mcnROe0IqOVR+cGZCNTA+e25NT15xYEBOOGlHNCVL P0s4V1pxJklZeW0rZFJuLTZtWSYKeiQyc0xaTyU0NXZHY2puWT5Ab2RuTDUrNW4+dz9CenJISHFg cWQ3PSt2PiM9JTg/bjY7NmtkMFZaMFYmJjR0TCZ3Cno7USRlWWVXeGkwZDgyNHR7ZiVzd3w4aUlG Vmc1Jlo1b3h9RSVncGB0aUtTeEZaOGpUSUNaQWlxPHVoS0wrcHJETwp6elBDR1BQREpidkNvIz07 YzRKYz0mVVFYTWVFfTZsaWlleVdSbilMbyRlJHA5OG1fdjJZMyNAbns/bE40QSk4e3cKejEyfTk8 PjFGO3lsaHs2Z0stdFhKVXY+ZktfPTRNYWtyTnM2alMqWmIxbEY3bjheeFg0X1B7KldfRHV7JGdE PjNPCnpXJWIlaXdIMVplVTt3LUU0QCQ/UXNCU25uYjApJjBEMkIzekJOWUNmTUZDe2tSK3FsIXR8 MDdvM0VxbHcyRlV5Qwp6QEkycnVaS3JlbEBXZj0+UTl6UTF3Nz91VDlebXFJTEVuRVdDa3Brbkx+ TCFKKUY9KmFkcWBxSkx1dzloPkRZZHIKeld8VX5XbVZrdklfdjV5cCtMcytvZU5zd2A9UEFTXnNI ZFNleSMmdFpwX3JlRFR9RTJmOT0paDJmI04xV0ckRS1qCnppeUd9Vyt+O3hadTFzYlEhPmM2P3lY JE1PYExBYHBrbT00UDtgVXliJUN+NDkwelU3Sz4jTTJLKCgrUndmWHZUbAp6NzBuNjBvQzRFI1Vo N0dmKj4yQiVhMlZQdlF3c3c5N0FiND5URnN5a0QoKjdZWCVne3xIYlZHMjImZFJoaE9pVHcKeiZr dnY0N2UqWFQjTWB+dG9Ke2crbExYe1JDUlRPVz0jP0RmRiFVSWZjKDk1aEYxT3RaSUAwNHIxSih8 JUFMUlg5Cno/N0hDVGk+M0B3T1F8OzdMcUg8eGV2eWcxeHpAUW5GRE1TJj4pNVl6ZiVOIz1TKn00 Q2w9Zk4kOXJ4byYwYHFNYQp6PUV9PktDIzBEVmh3N3xMP1RTU2B4bz1faHE5diRxVXlqRktRNyV4 PEdoZ0JNZXwjfSNpOUR5KWt6UXQyI3EzYXkKejNzaCVJNjE5K0I3cG5+Vml0fjNTdkxWRFY8cV5s ZjhYKFhUayZIMDBuRFY+JF9PVDVEP0ZXfUFOczF9JTh3WENICnpkbjQ3RTlfZiozN2RJSGdDQGdJ WkM3UFpTN3lJcEdnMTZoSmxvfiNuJS1Wfno8aSNGKlJHI0hTbWloZEpgZlNLOAp6YHwrIX5jNlAw aSNoQjRrVmE2bHhiSks4d0RsQGp9SkpUN3Y4YFhoOEomMXx5a0xDWl81YmJhZ0t1SXo5YUJ5QDIK ejA5clc0bCE3O3BLVk4zcmVJe0ZtZjVVJHtqM1R+ZjZTP0JvZEBwVSp5PUo4V0tPa2t6clBxWTdA Q199JipsRTNSCnokeCtnNXp7WkYpdENBUHBSek1ubjAyKHB4aTVIXiMrTjg7SHl6dXFxZUlXe2Aw Mlo0PCNheX4pTUQqVylsO09iNgp6QlVyS1lATF9kQy05ekB5Z0x4UVklNy12e2p3Yjd+cjs9RD1G JTU0S15PR0BMTDFMZHJVPFVrQ0ooWTdJRH5uayoKek4pemdDX0BmJDltLSZAOVBnX09PQztpUGk+ O1Z5TDBJM15JQXVYeERJT3o+KzM+PzxfIXx6bSojVkpIT2lpJDsyCno/eV5FJjNGIW11ZGNMSkY4 Z2VqYWBVVFNuSkZLP35jfVBCYlRqYSkyYUJad14oemxtc2hgUCFyTWJBMDB3UW9tbwp6UmNOeTV1 OWo5OzJFNXxaKTJ7YDVZaXsreXk+fHtLKzQtZUkjUjk4IWhLQWFReVdhX0w5bkF9bkhxMDdnb2t4 YlMKemVpbDVrb3d2NHB7QCElYUB2PUhmIURea1Nxd3p3ZnJudy1pdTUoVHVnfUlMdT5mYmNBYVAm RTQhYjh0ZHgkVUJtCnomWTM5ckh5QlZkcHA/MC04I2hPPVZmMDs5e0czJDNUWk8pMjQkQUYkUHlY QzRBcHI2T0pFYGZHI1Axd2MoJE1ESQp6KExUej4lLTc5NiRyLSU8Izg5JCpPbmU+M0oyLVFfanFG R2xCKXpEeyp9TWAzY3wyJXVFcSVMc3h5MVNveEFXOFQKeklFPzItZXtoe0BAb0xQWnhabn1kJkRA Nyo8Zm1gWDBYUnQrKF55T2ImSEktdGNLYXJkX2xualY4aVdhRD48V0ZGCnp7QmZESEp6RHF0dn1+ Sn0/Skl+O2pHbC14YmdDfUIlWTs9TGJlK2Z8QGMwRmxYaDROeDFURF9wPjZkSX4mRyZCbwp6aV47 WjJtYTR5N0xWPip9ZXhtYWdwMXZJIzluSlZycWtOKy18SWQ1RVNoWDV9NiMhR1R7ZmpHWnclVXJg SkExJGkKeiZQKnhDTllnaD8lRzVTODNKMXZqOWduYGs2OCE0Xj1IR0lrOCVyMkolJjFVRVpjUDhl UDZVdjhGcyg4eWBiMm0oCnpnVzIja0dJPXVoXzJuKzNEbXxBc19OSk99K1RRb2xYKFA5LVIpN3dq NnNWVCo0cSUqaChaJFFlWER+YT07c1Fmegp6SHo1Uj9kRzc7Pno0S0ZwNDk1d1V2Tm4/QF9UQ0FN cGohe28hPHdwK1pRK3U7MSpzen1BbWtTTzdJWFJfYEJeZk0Kem9MYHBlTUdDMHBFQzZQfU9NUkEy OTdXSzxSVDhMZmNCYGRQWGJISldUKy1AbEhueGszI249TGFKbkZ5VnJAU0xmCnpvfnJpUWVISzFr YUVvSWJ4ZUMxOVl8JD9DIW5+RzVWJVcoSm89Wk8kb1RBKjNlcE5VRFRpSWYtKEMrNnJWN31obQp6 Ulkoc0JeZlR2UkUmS2B9VHhge0V4cFImNHJFNGIzLVRmZkp6YFJYdClsfjNHeSFBYitObGp6PzI8 amtfc0VrRWAKekNERSt5LTE7ZDxoaDF0R2h3eW5OPmZTZD9ZMkhoejI8I05idyh7djlCIVZqeSkk TzhYRkshUDJAbk5CSnh+QSQ8CnoyZUJTR1FrX1c9ak47P0hka2cyYU00WGUtWWx+UVZfYH14OCQ9 VTA/REBrKG9XRmFZOSQ4X1k9T0BIVFJkb2A5Vgp6aVN5JXN1OG8hVmVfNiVmUyM8QH52QDRBP1Rg PTFwRmIjSG15QSEpOShaNE8tdTJhM2xjSWQ7M2BqUnZUYkRWWG0KelRjbT5rcDVybGk/OER3VkRQ ITZ8KVghdT9iYjdWTVphbil1TXRGTyV0ayU1UHJDUHpRNVRmaGNNQDc4VjB9N1R0Cno+V2VORylI aD1qcWJBJlZZP3dJT3oyfWl0KF53eWhGcThMa3U9UTs0aEQ4TFhEXmp2PGZNWWBpc0RlRlkraVB+ ZQp6bXkkMlA9aExMfmRRfiFoNW9kQ3BUfXo9QTh2ST9xNVElUm0qMzAzITl6JHFxaChXWk9RbSM5 NmhTWiZZYHR+VkEKekM3dSp9XlV+PHVSZGR8TmxobHBpTHotbHtUUXVGYmJ+KkR1VEp6KHVhP31N bTlHQCokWVp4TTJRazt8UFN6Wk43CnpsNmooOGBxNEw7YDhXM1JFY3FRU2RxTGhacVpZQWJEamoq Uk9VbTl8JW9TUUBfT3E/R3NwPDdMVml6azd6SWlkZAp6Q1ckUUJscHFqbDVYSmo2Jnd1N0NzQihg JEQpNGxNJH43KD9BbUo1aFJxPyVsditWJmpXPDFwUEkzTXg0P01PITgKekUhUilDYDVuOyl6Z0ZW OTcyfSljQTZgfWspQDlCbiRJflkpRjZ2U1lEbV93dT81dihvaUBPQ2ZsVUhaJVEyb3c1Cno+WFoo dk5aYW5yXyVETTRfaUFpVE9yYzw8PHo8SmlaajtFM3NqREV9WWp4bE9XejhtK3U0a0BvPFI7KUlJ QnY/Kgp6Vj4tZFJUU1M3dXZBQUpAUU4xSz4mNGJFYnZ1P3l+NCRJendEUFU9cCtqMUleTmAoNWZ5 OTdAPjI9dGpFVmcwYksKemBGe2RBTEIoaD96c251P0Y1T0pFI187I2MqNlohWEVDYFk5WGBYfVg+ eUw7eWR5MVVIQn1vJkIxfGEpX2ZOMyh1CnpvdFgjITk7NTRgbFRaZUFaVGwlcTtzKm9DXk8lPEVl SllGeitESEJBbH1COWgzV0hMYXdqci1rZyRGU19WbHwkKQp6elRWcy14cmJrejNFMXNseUNYb0Be eHQ/VVpNIVNsUlZzU35aNCRVRFlgQF8oLUJxeFdzVVFBQCNCRnxpbk9sUlQKekZuc29Caz9+SWtT PHNUVGhvUWJgZH4kOUxwSElxYTA7Mz9iUTlwbkVtXmVyTVp6KlY+K3ZOQDthZiRSXiMqWTxCCnoh MXh+dnBoaEhVdmRhcT4xfDw0UC1nUGU1MCZtfXc8QjtSd15kbWJWRm9aQkVFJGYkR2tMJEwjcGRP cURkc08pMwp6blZTKzxOdmx1UUJgPVRZMGl9Y2JGTVhfc0IwMCYqKVVPK1RVKTRMS3lWTzNxVXlp YTtqJF5RRzcwRGZ3dHhlSk4Kem1LVGEyRVVOfiFmaldwLVM1QXlldU18SzBeQWNDdHshNURxSGs8 O1ZTQHJVWWE9Q0t8bm4ra3I0aHYyRT5gPTBQCnp0KlhUNDR+NCpiejVqYiVQRDNOaGFCPWxaeXJG eyhEWUUhSTlBd1g+WiEjS0kqN2wjOGdhSGRpIW1yZX5pYE0pZwp6O0w/K3d7YSUpRHk0I0EtJUpx LWBYQmBBSF84d0k/TFZLZlVAeiNqc3J2Snd1O0NYTjRjPyhTYXNxSnNBQHtXfWAKem1qV3FyPHZp biZycjx4YnBnOVVaQnxKQ3FXSndvcGFDd3UoWDdSfUYhU1RGbSpVck5zaDladD9Te0FPaDkmKylC CnplciVwIUo8QGBpVytZdndUQDspNTJPbktMQTdZM3xsTz1weyloKU5jdTdxN3pKfjhXSGBeJEgw ZX1vTmNUbz17ZQp6S15zWnRQNHlTZkUwNHNEQDhtbDdtdmRWckkkZkR2UEF6fDNlMEUxWGIoaFcm RTNfQSpKOGhgck55NHFqazZtfTwKenMybUhfakZoRSNWTldyNmlqUzdrNzAtUW9OQX1wR3d8MD14 cWwle2UxdE93KW5mT2x3P0AlWlhsWU5ANVEkaEFCCnp1PFgoNnQmSV9zMDZMMk0pRX1QbnlKOHhK bzduMVR1QSVfbElgI05Ad3R0RHdAeWVjRUNlY0JrdXghZy01b3RncQp6QCMlajleeFZVazBNYHQy OWRlUGluYVVVcSsyakB9YmpGMnxXSSNzWmNwWCMhRkM2fjF6aH1yREZIbnptTVMtQ3cKemAmI2k4 YlQ/MU9gMlY5a3tFS3t9UkNQKmF2b2RzLXQyaTUhJTt2TXAzX0o2e0AzMzYreXtiVk1WPlhFel5p MUZRCnoxTVJ9UUl9aU5WYyVyYVVpcmA8U3pRYH1nOUFSVjlJKHlmYktIYS1LaXt7WEVLMFZLYnV2 Y3tWan1FWilBd3pLcAp6UlBoTy0lUHp2cUFtdHAwPD1PVU9WPDg1V1FkNXw+aDNHYlRvYjhNUEdr KUUySDFUM1hnMlp6b2c7bmU9S3teNkEKeiQ3TUc/LU1fKXxHTks2NllvSWR5YUxhZzhSNVF5Q0lg Ul50aXhzKzJVPjR5c2Y9PGlfQ30jbGVaS0VOYUhUQHklCnp4Z2tsREE8PWUtVEY+Ujd8RF9wfEhI WT15Kygwc0clcit3MnBIKjdkeG5NTXpQVjl8azdxMyNqPHp5VD0xOWFKfgp6Zy1xa05Jb30rbmNl dH16KGh8YXZZMiF0ei08dUYpXzx4NV5Nd2NpJkp7Z244eDIoMCVXPkZwIWtuczVFX3ElQnoKenVN WWdmbzglSHZNMlc1JkElSmp8RGVoQCtIX191UVNZQSsjOE5RUjxYeUR2YlJydHlkeENQbjFxcTY3 aSNKVi1ECnoqb2o3VStYNnxhKjRJQ1RkTStNKVpyXzVrMkE9RT5MR3NwSG5+KjEjVEBwO0ZpPSZ+ KzR5Mm9DRDNqYGlaVmVnUwp6eX03di07ZSlWYU0hYllucktQVGlgRUQoRVd+c3pLS1RCayhOQ3tW WllPUlJuUH4xQCZUKlFsb0tSS1pUcD56WXwKenpKQndSPTZiSVhQbCM9aj45dUBFdnp8O002WF9k dERsM0RUS3IzUCgzVDJZQiNgb2t+PF81X1YtM0JYUUZZMHB2Cno7PUcjI2ZfUntTTllQSTBMU0h8 ZGo9eXhEezl4cE08X2k3NEVIS0tEZkVkelIpPD5iTExURSooLXFVVmJxfW1eegp6KUsoaDRpJDBZ X0YkJVBCNjNeP1Z1WT90NXxKWnptKStfMCgyJVQye2A2PjBAJWZ4Mz1OeCZsI0lTYyRPYFYyQW8K eio1O3xZYykzZklkQHI2XkJ6Q2F2a09aXnMzWGtHN0t+ZzF8R1IqVFkzRjwyYWlsQVVnJT8lVUEh ajg9VDM0aX1gCnpGUGBfd0RtfShMV3NqYCFUTjtiaSozUChZYWJZX3Jjb3ReKHxNPXJeUTB5WE1W PTltOUNIdipiPzZvOFc1QW9iRwp6NmsmS24lI0dye0w5bVAxNW1BdVFhQGhmV0VYaiE+fE5TYyRo Tj9sQjkpMXRAR0RhZHBTa3w0dG9MY0BgTl5wb3cKelJ3XkhMOHxIR1Y4QERGQjI0eVMkM0Y0cVE2 eCNQanF6M2lnXzJZKEJlZldufnZyJlIpR2swWHkjemFHZTBIWT07CnpFbnc8YlJ6e2tDenUlWCFO KlcrUjBPUH5PMyVNc252JD44R3J8UWd0REp5LWdUKDliZWRRZWw/NDViM3QxJCtOKQp6VzBVWDA0 fWlKTzhRQz1UZFl0PFFERnxqUDIxYyhqSCNnOyRvRjtrclhMY3s/bTR1bWZTM0h+aHBmfndHe3E7 V3gKejI2eXgyYTc8ejtDYFRMMEo/VypzWXd7SDZXPCFZdE5xU3lIRlZMUzZUKmV0OVBieUglKmN9 cCZQI0lYWE9YT19JCnpXIT9MTUNLdERgI209X3VETWd8MnVALUp3KFVqbVhMLTY0NmkyZX01TTc2 VExXZ1RSPUJGM2RDRUREa0VZfXlKUgp6OWIqY3l5ckt0TGtUbWNiRmZlc3FRQCFae3dfakl+MiMh ZW9HNDZpMFU1eFFTMThwMCliKGFxRG9OKWIjNWxCdkAKejxUKClvV3xgRlUzYU8qMk96Xm5hRkpX KTtFMDlhNjNlckdiRHFCUD95RCNCK0M2emp3M2paekF7P1ZxdDVaWH1HCnpgdipCXzRUdHJDciRv ei05SF9LJU11Q2U4e15HQDwxUE9sX3ZOPVM8fE0rIWlCJDt0bmNKXjFxKmVCLUt0WWM5Rgp6Jnd0 MWEoMkJxOVJfT2dFdWA9JTY9JWtwZzc4S2prKlMrZ0t1fWV8I1h4dVdeQ2hfUHJ1MFpoMlJZXyR+ QHgxaikKeldpUEJLRVBNdGc7dUUkc2E0Q3IydVA9Qj91b08xOUt3WXJnP2Qjb3cob2k3MkY4JEYo az9WdW87bDctYCFUIVB5CnohYjtEZ2VYQm5WTDdWQnUle2VYKWdVOUohO0Q7PXhfJEwybihLQHlx V2VkK2U3aHdrKEZjSk5nS25gNjxDXlF2YQp6NSU9YEUrNGoyaFBnWV95JitKXnI/LSUlN3ptcmU+ WGs3Wk95Z2BqTjNpV3c2YzZvKmc5O0dsejgzejVZOWBhPiQKenszaUJxbiU0aWltKGJGU21BLXpx I00jKSY0S1E+SDVjVzYyTFZudWBIIX0oNTRgSllnTGpnd0tXRiU1TyRvPn47CnpUfW5tYjI/eV80 Ym8hTEw5QGhyPGVgYEBSNTthezdUdC1MfG1iQDFVejMlMn57JER8ZDU8WHlodlpCPytlYDBiNQp6 Zz9XaHN1TDNPPXUoJWokfElPVGdyUjQrNDQjJTZYZjwtYEZta35NNm19SDJrMUN1dV9ZQCRKO2lx VzBBUUZ2cmIKejk7VDQqaTVMMjhNQWRkY3k3TEgkMjwoQldMUyQzJCQ0TWtvQVJQN05zYDZxITt7 VCNYMjNxKylQNTtjNStKOHFRCnokOSRxWUwpbVQmQUhSbztJaHJQY2JOUjFKVFhoVXx7cXUoYXhK NH5LKkppI0hsWm08U0xlKGhOV2Yzcm4hWjUqbAp6X28qSjgkMS1WMk4mbXx5QStYSTFSbn08bjFK O1BQNnIpIzcyJEB7eXkjNkR9bVJzT3wjV2sqfER9RTJfdktrSzcKek8pWUNZeUtATWlPQERLfjE4 KmV4QUl2fXRgfHZXOVUjIyNrXklMcEN3O35geCp3MEItV0NsKWc9Z0tybmUmK3d1CnpRQFN2NjBn fDtzUnBoQWQ2XzMlbTtKeHNKPkU1OHFMMW9aP2lKOyo5eT1ua0VwIzYpeT05MnZDKF45TT4yQiZW Vgp6S0BFKVBQMCglUT9ERjRUT1pQZnh8TF9EJDwoPktFZHxDe1g3bzNjMUVjdWxiZEZTVXxeIzU3 bXt1fUpwWGp0TmUKejJSNTNhbypXPDlzTVB9Mz9LX21BdDBuenBnJUwlRGl8Qz4qY2Vvd15xTld3 TlNtPHFiVD0wJj52ZUxrIz9SMzRSCno4dCorTkRUak44eyEzQFB7WHVeNz9IcmkzP2p6b2E5UmI2 Jl5KUGsrKCtCbCt8OHI4QWA7Ymh9UTE1cyZ7KzljSQp6P01mYVowfSFOTGkwWGdXMkUmVDd0RH5u fSNWcWxJNjJHKTJldD1HOzMqNFhvdUJxfi0rKEdKKXktcn5iZW0odm0KeilZNUN2eS1ZaztWcDNu Q1NAK2BMSitFe2lGak9KQEJ0eVZiTH5ZbFBaZDdIfHQhTlhzTmQhaEc7ZDI9SSM4NEY9CnpqQ3lS QEowUlRFZ2lQY1JtQWRsM2MwQmF7dTt1fU5XWFk3XjBzKE9GWDNUQHRMLTlpN1MzejVBISshcklm QkBKfgp6czdkKExxZz1hb3tfZDFYemEqYV57byVWc0RIMElNdSg5JkAqXj9CP3dkUUdrZWE/SUY8 UUhUNGpRcC1yeUNCRzMKenVXaEwxbiM2dmU7P0kxUHR6bjQoRCppSWhvQTJ0ITxjfTZOMipqTlBn WWl3TXNtelYqQkctakBhYHRzfUgjU1hUCnpNb3ghTzhuLWo4aEpPdW55ZUNfSHVqPl52MXJ9Xyt2 MDZlc3NCUzQ2SEYlfGBWN0JXanVOZ3pWZGhjeGdta3A5ewp6bUEqalJ1Wj58N3YmPWM9TjBFbUFp eCgoZzxUREM7VldvRUsjRzcxNyV6IWJDXiFAUSpXejR6byl7NUJaQUdrI0QKenpvPkZZTSZQWXBa fXswJSlzaVhUU25iRFN8SV9WblgkS3g3c1hlU2RgPylENWFFWjZsdlVqaHRzPDs7NDh+SiM/Cnp5 cGVUUFk3c1d1QkAocj9ge3RQTXVmST1oWkw9VTg/eDBiJSY4Y19teCZRZk1gTUl5WENVfmphTEdY XjlMPWU9Rgp6P1l1d0EzdytkTFZoQiFsVE1GQD5ufHJ2TzVgc0g5T1pDPUN3ODFNPVNlJDg0NzNj YllqR2hiSlUqZCFwOFU/d1MKenRvLS01Qn1RdD1BK1ZpI0Q5O1N2QXYzIzdfSyZ9S3o3Xj9zNjtW Pk1tdERpa21USnl2X2J+RE8tNztyZDlxbGJtCnptSH5najhHeVpHR2FOKE4mdD9yMHw5TEVKeGEy cFptfn10KFhUQ35GTHdVVyQzcl5AfWEmayRSMDwldUhmP3dtNwp6MzhCbnZ5NjBRNThGdVNpMzJ3 UHt1bnk/PXFhZSlLfEl1cWVDJipiSXp5KzJOT0d3ZlpDd0d+ZTtlYit3Zkh8JSkKem55TENKQlBs Nk1XeTRaRkBiblM/QXEkQW5eM0FTX2xRI01ieGkpQjJoVEcxVFBZUUBrVXchQGpEPkVrZ3cmR0py CnpPbU1LTF5jfmdoSjwqY0BBcV4zblQpb2B4TnNIPDcobXIrMyh2UktKRUdffXRMbVF6SUh4Yipf Rzd5Yzg1YExDYQp6PysqUkhHJnMoPGshJDhzPT9pWSkwZD1JRz01flFpdkt0RG1Hc0RiUkF5dmJz d207fkJ8N0MoPD0mPUthQHFMXj8Kej5DNlp8X01NfktnYmt+SF4rMV4/KWRJeUI1aEZmVTdvQihQ dFkkP3Uyb3wqY2JgITsoRkRiI0tsVjI1XkVqVEhmCnopMlNCVlJHYDcyREBWeUxobWg4WF4wMHI+ VzBvKStgNkFIaENFYU1SVHd3ZzA/fFMzS1FxKyt0VGV5OTRkXjM3Jgp6cDB0NWZZITJ2Z3lXbU4t YjwtdkdOfihpPDdhdTxPQkRxMmFqOXA7VTFkLUY5PnhUOzNFNEo3QG9SK3pwRiYmNWgKemo8NUZL emlCKmlsa3ZzPHd+aXIzdV9LXkZCaHBOJkZ6QWl5d3x7SnRJY0chck58a2s3Xzg+bmxodTA5YkVC OXFCCnotU21eRVIwWTxpVkVxMFhyJXRnIWJ5QHZ5TGxOfE1pKj5vT3J6UCRzKkdUZ0NZI0VsbUtU P3FpN1N1NChyTXxwbwp6Zm9pOGNtOTV1cm01aFgxe0NxeTMqRDd2Ny0xK1ZRb0laIyklIWdodFVh bDwoSEBzJntzeEkmcFZpSztraG5CJF8Kemxsfnx1U018NTlGSVNTTUZNYi0reDNhMzQwe0s9WUYz OSQjU2l7NzZrKHRWJTcpN25+SzBhSUdRITxtTFBPKTBTCnolO0RCJXZyRDh6MU1PTUw8PGdQVVY4 RylpeXwmTj4yZSV5QXpXLXY0QUU1eWlELTVSMDs/SmVLUmQzMD4/RShDOwp6PiFiMHZVc35USWJj K08jUzQ5YXVmfjZFMmZeQ3koeT9Lfj9jMTZtOzF+flAhVXVhQCtMcGtJaT07aFJKSikhLTYKeiV4 Wm0wKyFmWlRJbiZjSEtqVWRYUGV1PWxjTms0T0d3Q3A3eiZDPEV1NTd4bG09amcjeDZhUig+K2Ep OV97ISgjCnplKyNye1c+NjVINm5rcU1Qdmh1KXkmbmBpKGtFRV5pRj9mWlpUTVRJZmp2cFJ5e2ZP Oz5iJFZLIzxSRnNNPCVVJgp6JUhPfSQramV+c280bDQycXxpfnhzSkMwMyQ+Nm9PKEoxKX1gR2Aj Kz9ifGhHLT8oYWxPMkFzekE1Qm95OEBaZT4KemkhMWJVSnpLNihgVkdUZkxWKDtGPX5lc35vJTh2 bHg+UVNGPiklamI3UT5FfUhMcmNMPEMlaEp6aH1yYCEjZTBgCnpAbjwtPjRTfDhAJihxZlA0cj9z M0V5LW1+MUZ3RzM9TF5ZYz9+dkwxSzN3SEdtcjBSQHF4dGc4eSlsWEglOHRobwp6aG8oKExBTCFA SHtobkBoUzFURHliQnx9IUl+UnIlPjZmRn5JO2BseXpCT2NTYkU9MD5jR2ROWSVqRHdGY2swdVAK elY5Vy1rWXtBN3ZPUilYIU5WNUZrV1BCZSRaeT82JllIdTt5VzZrOz51NGEoalhBSClYZnhoIXZo JGlPakw3d29wCnokR2hxdTNlYVMjZ0pQRzhMOFZ+XlV9UUcoYyYmYX4leHRJRWlTSm5WOUVZKERf X1JWMEVXSTNEPjJKRF8/SGlDaAp6dkZ4M1RCfUtnKHdZKXw5Si1IaDBRLTN5WHc3RzdfMDIxPnxO K1FGMzNMTUUmcmt+V2BBWD11bjA+dmJAaHNtX3MKenE0SnBSbD5+aShmaEhAUih7Ukw8YUl1YCk9 Rj9jfGpfJU1XT3dzJFUzOSZhe0BENmZ4Pk8tKEllNDZDeSoyNHh0CnplNU5EJDshP2d2bX5TdFNF dz5rXl4jb1hLb3dmQ1o2WiUpdWdGaXR7Ny01fFdOREYheDRzeVo8WjQoZ2dgQCF4MAp6RD5VUGBy fWEwfEcpfTZtRXc1MDFzYHpeczI2fG5zd2lnSUBVK2d9YDx4bVc2cktLPiZIVDlWXmdgZTUhdCtp IVEKemooM3p8N1hOaGpOZGxHUk5yRUlzYiV7cGw1e1lCbTx8emhiKm1WMWo8bilpR1ZMaFhJQS1A eTxiX359XlM/ej4jCnowRyMtZSZ2fD5mP0x2aEM+MCFgbG5RcEApRSszYkgxPDhEK3AoOSh7TWJP SkduP0REP09adE9aQSNAWWJWcGVvaAp6YytRK2RyKTJ3VmpjYkl9PHZ2V0Ngaj15bilZUS15NjF3 Vmx3fkZ4X0NKZ0wqOEEqVCNvZyUlTXxGOHAzPnJYZXUKek1MOUw1QGdubU0mQWElZW53MkB3Y1k1 VG9MNFd9Y1lqQno/ZyY3Wn5eSSVXeU4jVSFRZGg2TU5yRnZVU090SSZ4CnpTdzxRWiRsZ1JZKVZs OWd4TnVtfWRSRnNPR1c/T3lYKlhHT1k1bno8JnYydH0tQTR2V3t6RHh+SFNpd0pAeDdHdwp6SWp2 dnRIQktVT0VFMDcqdkprM0lxcStKUSpiVHczcW5aXjtpa1RlckplRnMkdjB7d0g4YGt2UVArak5S UVQ/Jm4Kem8kd3pLXllFMW5AQjBHczshVj97ZEAxRiQ5UGJXWUBZaUZkeUNNZ2xvIUJKaW18MX1l P002fHooTjA2ZldZUDJVCno7PnhmJSszfkRlJUEwOXxVTnRpUkUyan5xSGB9OEprSGBHJkk4cmVZ XlAtakhtWGlyZndlP3RWTj04OHdZPGpWfgp6PUJ2PW5JZXtwYTNyQktCcW0lVmYrUFl7PyVsVUFs K0UhTFUzYWpxLTM9UzZxbn1JVH5MdHBuQCNhd3Y/dH1CNjUKent8ZTgoXzszK3UlI0h+IzA7NDZx Zm5vPDJuSkk0KjNgdSpPTGtDfkJAMmJtYz1jKVNzKDQ0czh2eVVuS3hEbSlsCno0USUkXyFROSRD WHRpMGl1eiVgJmRsSVd1OXVte3p4PFktYF5gWjV2NVotISlKZEwkVVlCZmMqcmckSXgzfiVjSQp6 YGB2MkdRUyNFfT9oWVRFS1MjPiVaZWp7d2h8M3VYVyQpSVFrRSskJXtFPlV2I1BwWVcwIXBzUXI/ TShXPkstMnMKeiNFfjZ1LWlKSCQkdFJASm91d01LZDhQJD93U2ooPD5ePSRmODQpQEE0SihQRm4m YzM2bWZXYDN0eX13KWNLKzAyCnpwUj93e1VVKm0kZzxwU0BATzk3YiNgKUltQEZ8RVJHY3lFVkAz O0EkWm9PfCQ0azJRMSZvMSVjUVlFVGR0Tz1pJQp6aHJMWFpAfV87cEsoMD5BOHlldzB5eCtHfm80 dylUY0YpQW07cGlsTGxNcyhpP2F2fTFSV05YZm8oNVk5ZyZCTn4KelhEPE93S2ctNWttIztgS1hN VHpDMDUyN2l0M1RCSEsxOXVwWHEyaiNFfGUpK2B9ZlFWLWZaMytFZWplXi1uNzUoCnpsZnw3MEot JHVLJml9VkxHSjBhSCgqSSFVV1UyTU5YN1QhKlJiWSt5UGxYKyhgX3FWblohdEpCZHEwZTNEQ1hS OAp6VlF3VGZsREV4Yl9RLUAyPHpkYFFkTzNec1RxaikyMUd7d2lCd2BAPjxPdWgha0BnKFRsQDtt MVI7QjcmdG5LbXoKemxIZyplO2h9bENnWkZeS0BATnY5IVFWNTE+VEc/ZCVXa2g5TkkrUGJzPkUh VzZNSEZtI0t1Q208OVN3XyF7eD9HCno3dHhWYUhiKjI8cnZReUl0IVhmdlVzSTNVNiNPPW1TNkA7 RlclO0xJIzYjbG53I3xJJkU/Jmo/QTFNVVkxRjxBTgp6ZGYjcXc9QGhDUUo3NERDV2JYR2U5ZCUt ZmQ5dEZoS1o3SThra0U7RGJ9Nk5meyNOSGpyfmM7M3FXTjYhI0FQdj0KemJHcFRIRFZnUUReSWZ7 fE9XYlVzOys2MX15Mk9+ck1qKDxtdzFxRDFHWmdQVmstOyt4WlNBck94Z08ta2NGRV4yCnpsVytZ dmdDPWJeUkBMMis/QEl1NGxvaWl4MzQ9THdSbDQwfFdeTHl5LXoxYDZMUVB4fDZqMDlBQGxEWitj Jmsmawp6cGolMWZfZVhWIyYlYW83PllPPDZQUlkwfFZxQyZFTWt3KVZGIT8ydGwkV183S0gzcGAm YGYhRmJHVDNtPyRxcHkKelpkejtpZEJPdi1lMl5xSDVwXkFSTzhUVXxeQz1Ua0BQSVBVenQxfTI5 UlY/YFIjaklOSzh1YXAoVlJ2bWhTTz5UCnpSKCN1PC08fCVgPk4mYD00aSN2PUdBLT5pNzJfZjJ8 SlZRUjwrUTM3IV5RdEg1T3QoNjFlSlM+b2NJSDBgKzNMSAp6dm1kcWxLPE1rb2dpU3JSTXtNclRl S0R3QlNuKFk9T3tQO2lmWnAzQkNjJCM2dkEtTz0yZ2pkeVVHQHxmN0pWTGUKelFgPHElWjBzcitl Pmh3ODxOLXF2fDQyRE5DZ05TXkdNcjB+O1hwe3J4ckNzMj10N19FYGxBIUdYRTJzei13UiZuCnoz T3gpWSlvUDZ0Y05aSU1KQUMpRyVAWmlKNit5aiV4eHtQdGNXTkRwNmJqeis5YklhJEtRYFhmN1lG LTRaJlBlZAp6PD1FcyZLXyQ7OypxMCFRd2tFPntwTSRWJUAwJmxHTEpSU3RHRDFPfT5wVDZNUFkz SXJvISNnbXk+V1R5WkJHfDUKekQ2KmlxbVQ4Tng3I3JOTCg5K19MMmlwYEtgNDc3UUohXnk3V2sj dnlEN1JUVkdJWDIwP1FLVEo5KlAtal9sZ0ZUCnp2bENtNjlDYTM+al8+dmM7bllHbEM3JGJic0Zj OSVsc3Q8NVdyUlFgJjJyaUdSX1YzTEJ7dmVhRCpfZnBNZzBBRQp6ZSEtbEhFOH1FRitudT56e2lE fjctMVFQbiYqcjA9WFlWbmYlVGhnN1kmS2ViYThqUXo8S2JtS2hVa0lPVTJyU3EKejN3NVFOKV8y PlVZeFdzRXc/NygoS0shVW5TZFAjNGtPXjVUPXZwS0BIRXlCViNXSjI9PDtSYTlyaDtLbmpaVG1z Cno4fjdRWEwwQig8UUtRfTRQMSQzfnk2OGN9ZyE4VS1CTTRPdSRKKG97My05fUBSdHVWOSYhSTJf eE80cV5rTUhuOwp6LXg3QWg/NDhoTjIoQjZ8SFRuN0RhaXVjeWo7SDk8JDBeJkhkfEMyfTtnI098 PjV3RFBsKU9wUDlCYDBxVXZuZ1IKekJDYHAzYm9SbEM4Z0s/ZD11eXx5MUJSfksmTTJFWk9DZSZB OXZKVnFLPjcpYSZZX0RXYF5vZTIjeColKW54ZyNVCnpXRT5kPFN2Rj8ze2NNanljc2dOSFIlTlRz JiFyJiRSa3d3UW57KXArcEJCWnk0cD1eTnh+XjJ2ZEFzK0d2c2pidAp6Zn1UdDR5OEtRVyZPTDxs ZWx2JHhKPl9+djRSI0ltSHRHTDVELWJ+U09GWll2YzYhc2Bta21sQl5hKFY8PlRpej0Kem9vY1hr akRlaFkpSW9nJWo3UldBczdNNEBmfiY1eGltd1dXK201e2g9JiNJOXlBTldKS0hTJV8kcHU2SVFf JFMkCnpsNU01cEk/e3hPWEM9ZkZTfmpmKCQrLXVuSkFjQXR7WjQ2LWZVX2RZPmhoQlZFWDtuSXs2 US14Y3Z0P2xfe1o5JAp6cTtNZDZKaGZsNUU3M0owPXtvJClkbzlKI0l+cGhPanxnRUpqfD9wTz5w KDFWcF5YWCZyYTshYWw+N05CKVdoQ0oKenFOT24oWVBPRF9TbzJyMjV0MmhiZ1B+MllScD8/ZnNN bD9XJDR2PWgoNDdjITlfRUpWJWVBXlBaY3tve0VMODhpCnpEV2RLX2ZZdD1QNF9ebEM5b3VXKUNy JlZKVnAtJVZaS2JNZzZ2QExwUlI8JiM/aC01MURIfFA4RDA/V15lfjw5RQp6NFUqfVRVRDFRb2Vy SF4hNDV1KGs9JldidSluIXhkJWIyXnc2UWFQMVlFOCEzQUw9R2ExTylSSzlZYUNhUzFgQlQKek5F OFp1IUk5Q1E/cnhWSWxAV2wmP18yeSNgVjYhM1UwMXxqNHdjQ1hFPCRBekpfKF8xWSstb3tGT2ZZ MVY3cGFDCnpIez40RThHJkMoSCZpQW00TFl7dG1TK1EwTSRRZjVudkBKV254YUc+QWAtVkw0X2o8 Mjx6WVRNZ317KWVTSFRlUQp6R3clNiMoPj8jT3twUXAwaTg9ZkxSYSZJaTJpSnFXcE40RChtKD9M K3BETWZJZUU8OyRnTHE9bzZzQFFpKGd1fSYKeiNxfHp0b0R4Y2N5ZEUlcVh5eXY1aD5OeCY5dUFo eVhVWC1yeXdTVWo2NXM1eTZFWi1lekUkQ3ctTG9UPyoteHZXCnpPNVlfd2k3akBSPkUoVD5TSyNe Pm5+SEdDcHUxQjR7c0ZlayR5bHhQP2UlSGE8VnpQWEBWc2R8dUl7Jkg3U1NFKgp6YE55P2VROXNe ZDFAVS13Qj5gRz1Fay15ajg0d2cxP25xbn0rUi1JTSZtNXBeI1g2QjBPKCZhcSprXnV3Wnd3NjUK ek8xaUZOVzQxZUpvUGx3TGlje2k1KzJVTn12UmRBcyF8RiZmZVYpeFBUSGdUTk0jTzBNRzMoU1pw cXFLRjFJfDgjCnpNJnw+I2dtR1dqLShEQUhZbiE/X2xyR2tXYVVuLSgpMjQwcV90QjxqdVllblg0 UXpSX15udCZ4dkB6c3JoJnRaVwp6OX5DZiNJe1pXaChxYXoxT0JZYUBSJEEoamkxeUl+bUBtVjxX OD9+T3Y2Ml5wcWEwJXZzPzBkNyM/N2R2NDJkKFkKelBHeH5ZZFpPdX0md3pTXyMhUmdrKHZyRDYk O2lzUT9HT2A4JGcqNUI0TS13elJYJmdtX01JZWQ4WT5hbntXMWU5Cnp4eC1De1RrKTN9c15MOX02 XjZuWWleIXo3WjcqMnZBKW1ac0ZoQXZjNGA2KiR7NlcjbE5BYVBxayRlZ2QwNGtqdAp6enBebldg YnVtVUBaQVFyNlk8OG9GTGdAP1A9SiRCcHBldVc+Sz5idTNPeikoPHV8KUVCSVJkNTt6dXs9dTFI c3EKem9Ob3QjO0ptVChyQ2ZSSWV6O182OCp3VXRnNEliSCkreUZrb3cxOS0zbDg1Mk1nYFZBKndv cWc8el8qSTY9YU05CnpkKGFofGMjfClVLXJAKmd5QFhIYkJaSSlXck1rNSsoXjd9Yj1fcTxEYlU1 OS0+a1Z5XyUtb0ZITyMySilhKkVvRAp6Xk9tUyhBSTMhLUVDWClTV3h8eC10XjJQWiF2cCN1MjJQ diRCOTh9byk/KW1ZUEtfekBZIyt9NkVJNGxrZnkoYV4KejMxX1lsdVF5PUJjYCR4aHVSfUwtc1ZL UnFJPGpeZEtaZnx0c0x4Z0BDK1ZHfVZBYGZRPmQ9aDxHTmAjaCFYKF5RCno4KG8zPzBPPSh6aGk4 N2E9c0d8WTBPY1Y1OXptU0lOKWc7ZXAlUDZrST58WE52ayomUyNTKXpEYGN+OWdKN3hULQp6Pmp7 bjNYYEVJSCF2S1ZeQlhkSlozenVJZk0oUjhRM3FUeGZ7cSUtUyl9JTZzZ30tSkI3YH0lPzJffm9X Zit6eUcKekM1MG00aFQzbWlZX259aSpWR1QtTGJlJj9LV3ZZU0tnUHBePj0yQyVWUGJ7eFpee1lj OGBnZEtfKDhidjNLSEgxCnojc1c3JF5mQHIjRE1gZFpfWjFRPW97eSpQbXxuQzJQQ2tyamBTSmBe SmA3Yz5mKzU1KXBiYjRDeF5uOGdYfUsxcgp6eygzeGd7fV9Zc3dffUI3cFRLbllXP0BNRllKMjkj MXwjaytNSWl7QkZUQzs5ejJHVDxVaDlpMWNOM0JGJE5fRmgKelEtdT0zQSYkdX5lWnMrZldTP1l3 eGI1anV5JmBVYkY4P3Ata2tfUW81IyhUZD9XeWspVig7NE5CNHVXRzZVWn5kCnpvTHs4R1V8flZK TU1gOXlIWHEheGBBMHJEUiY8QTZBQ3p4JDQ+eng2KDVkKnBEenh8PV5sVGI3c1RnTXBvN1gmewp6 JUd9QDU5ZW1qOGBfMnRDWTBFajckIyQ2I0k4JVB6WjJ1KzEkV2VqSj81JVppaHhGM2EtJn5PdERy cCM3RXxOUDgKemhiZy04Ny1aS15DQkFSbTdtVWQ3YGV6RDhHOTB+fjtoTDxQNCRvdVE0WkUyQjI4 WXU1Zz13Ym1TanJ6fDdsK1BpCnpwcjZJUFMlVHxHK048cVl5Yis3OHk4WVJsMUgzPFZeUS0rfUlh MWR5XnhiVWYyYSFpR3xNbFU9dWZMNzdvQHh9NAp6UGR+P0Z6SHE8TjtOTiZZTXtNdFRyeVNmUC0x WHRjeDR2cGxnYD9eWT1WRkhFYiNRKT0peT5fTzFfeXdpJT5gTCgKelJ2dC1+ZWdATyRwMURiYGJE U01XWmJeT2RjQ2YqSGZqaWJjbmlQMmk5YmlmdjgkISQ1Vmczfko2dzRhWXAqO1YhCno2MGp8TmlY aUNxSF9gIXB6TjlpUWU7eyFxe3ZPJTg9ZlpWclojVVFpQD5vdFFwLTE9Ump+Ymw3Jn58VnhiKEFR egp6K3UlPV49ejAjbitScVJpSWApSD8zQW96bDFqREp0YWh4e3dIcUs1Rzs2cXp3P3p6bkJfS1Rv RlVfI3V2R081QnMKekk9WGp9QHcxN3Q2IWZXcCVIYVJubT1+a0p4LWJ3eigoX0ZkZmNIM1gkbXpo X3hxYkhPZXh3PDg0ejZZdCQwalFBCnozdSombFIkS309OXs/PjVgWGtNdEpMUVIyU25LdFNKZWRr MlU/YXklNEFQZD89ayY3LWtafVA9WVQ7dTElbHJlUAp6TikjJjFtenkzcylxRlM8SXV0cXNhWWtL fUQqSmJGPCNPeTkyXkRGfEgzNmgoMnpfbz53ck5mZ093Kk9ZKSFzS3AKemtTNlVYdUwmdjE3K2p9 MHAlQTFDO3YlWFdMfiZSJUk4UWlYSUpxXnkjI1RvVDJ+bUpeej12MDAxfiRJYHohWDlZCnotc1d8 LTdOSmAlRTJKc3BZRTl6QjZIKD1vJis/V093YGpeKm5vS3F0aTFqb09zVj9+eU5kPHJuYmQ5fT5n TEBZcAp6eWdoKWNGdSFIZkVNfGxyWlhEVnE1ZiYpI2JpWE9GRG5sPSN3cillKTJjdVE5aX17MmQp JlhFWipxSnR6JjtoVWoKendJa3IyQE96cH1qSHVsWnZ2RTZ5Jjs/bUxwUGlCUDB1MHkwO3pUTGlo d0VUYUt2YkEjIUtraTdAWUdYV3pMLT1GCnpHODlFVCMoa04+VU52d2s5a2lxYCQjKmZ8NnxITyE7 YDBYPyFvfjEkbkFeMEhqTFNZS3tlLWpiO3RtdHQzOHEkTAp6MDkkc3pibF9lX0ptRUlmbEtFeDVH R2E4YCojcFpJVEx1SzgoY1NpU2NsRUk7YlN+blc8LTlrbnQlYW9jdWZ5K34KenpIQEVVe01UMG92 bW0mQ3F6dGhFUHsteXh6bjFBV0FYNiMwMHRrRG1HdDdTVmhyJFR6clJ6YVkme0FAPShuMjxFCnpB Vl8/MDd+eUQwREApJkZ0dX1ARyRzWFZkY3htSTVwKlV4eEJiPDFXbmFeeD1UVX1rZC04MHFOd1I7 X2JqP0lfNQp6Y0gzYlF3Z2l7Ujs8MStFWn4oWWJYKiQ5SGJqaytsYz1DeHU4alE/IXh6NXAhPVN6 OFY9JSQ/bjlqPWlwMEI1RXIKenh4MFRrNWQxbVM7NS0ybjViU01iaT19dyk/O0otKSR8VE52KH1s djlCbUdRSCV5fTUqOT9wS3JzIT8pbmFvRU81CnpCJkw8aFJTY1YzeUBxeFp6WW11azk5LUtBP2kr THZWRGVMTGx1QlYoU0Akfk5nRiNiSD1qPX59NEdNPGk/bERJLQp6aHhxfDBGb3laRzNkOE8rMVNu WTQwfXdrUU04Yyl3Yn5mZHEwfmArc199djFPYEx+PUozV15UMTFPb1cqJWFWfFgKei1yMnxSX3hr fndIYH5MVWohNWA1eVY7aExKJEpfTTVSajR8NXlpRyNsITxVWUpeZXlXS3I4PT1uSCRib0NBPT9t Cnp5dz18OEFfV3VOKlcyeTJEPS1Ja29nekhUTC1XbztCfERQVTFgXkVseT5NPiNeKX5FQHdvI1g1 RTxSX3g7Xyt1Qwp6NWxrQVEydEJITkFXcTxXS15jQCNVU0BkXjVvP25sY3dhV0NvbTUze3lmSEN3 Qn5MSG9AYjNpdWVvPndCTjlXNSkKelg3ZWA1NURoa0lCM2R3U0sqWl9DdzE5TVdFY0JYMT0yRUF2 dUtFcD56b3d8c080K1A4ciFwSGdGalprX1dMdyVGCnopR1U1c0U9JDAzNUMkNG9WY19DYGpESmA+ cTNLMlJudGZWPkc/N3o1Y2cqWmBrXiVJJWhXI2piYFg/d2RUaypybQp6b0IrbE1sKkxPI1grbCFU ekImTF5sT3t+az9mZzhtMCgtIXE5JjZHI1VKS3dORWUoKjdCO0Qra2clI1U5byRDO0kKekhxLTNQ cChTbCFGOFNuWGFiKjtNPi1ERzdhOXNlWDVhSU5MLXcmMnhncjxeVEtQWmo2NTdpQl51MXY0Rj1M IXYhCnp1NllVSClRdWQ8Qi1hWV9gNUEjMkZeK1VhWj4+RT5UOX0wMkYjeGFjb0Y5UDE+Zns0d2d8 ZzVFYEc3JGdkbmVAcwp6eWs7WCglNU1ieUdecGJNMnZeKlBpcD9hWFNkd3pYMl92Yngkey1DVDF4 NSFXaVN5LXRlfnBTcnpwZip4QVRoIVUKeipXJV5CNDRlTk1jUiNEP1dJVVFQV3lseWB2a2VxNjhO aHN+dUUrMzBZbXdhTUZGKWopT1JSd3JuITxubGp6T0A1CnpYR0xVJU4+M1V0QlMwPmVrRDk0Zjg+ Pj0/PmI1ODZ2Km4pLVl9YCQ2YDlXX0EwS3x6LTZmUFM3I0lob3wrX19Gdgp6TDMlY2BjYnN1PzEj Kn59ejg/NGxjeSp4aXd8VDYyU3ghN2xib0BgWDBUeDVSNXBUKnFQY3lDaE9UbW1icT0ydDUKejVN aH4/PnZXPFcpQHdNakVHb2QmezdXfGkpIVJlQzJ5TTx8MXImYTQmNEo4TCNSMXQwbDhKZEAkQSVZ U2VnXjBSCno9bTg4KjRJRVN8YVdVXj57QlNuVUxTQEFpOTVRTlRHQWhMTWN0fi1UcnMmflVmU2Yy RktKa05nO09AZT1ZeHA1bAp6M2kkdzRJXzQkQzdlSEtxbDxPUXxGcDJFb0dtKWBgI2dfVEh6fG0m fEMqb3FaTUUtej9IbXBvWjU/QUVTZG58JHEKem5pYzhLIUVmdHA+RWdRWFUpPyZyRl5IJjthaj5k NTtBcz9LVmN4NHFecHY1MnlJPkxZODZ0ZGZvT0VFNzZsPz1XCnphR2I8MWJYa2V1bE1yQjBxS1VZ RjEpOyVXfERxWUFwPnB2YW4+IyN2SSRhbXRfamhjK0lgY2Nmaz9sT1o/KT4zVgp6WU9fJEd1aEgz fUAzQWdlR19rdXR8Qm0xRjxoUWRVSVI8fHFuWGMmZEpManFjcXpTc3puWDBfNXRLJWolWTxra08K eng/bVQ9cTg5WnBEPz9Ma2RrVVpJOShkNExNWWI9bmFTen0rck1seFY4Z1olO2hzLTs8ZGNXYERG a2BVI0pNVFVHCnohNEFzdUpyJVVJUlBpMztOLWF6JHNHbWQ8eUJlWlpnZjtFb1QmWEUmSGNhdztO dE9FfXBHN3lSTjZOfm1ZMmFxZwp6eCM3bm85cDZsdTxAQWchRnU8PTBIZ3JnKy1ZJm1HY1R3OCNp XnY7ekU9Q2hMKkpMI3ZsIWY+elFUcHw0P2h9fGIKeihTTUMyWmdDUjNuTnVHO3ImdHBqYGFSbTcm Z1FvYGRmNmY3WTg8KnY5MWh8ZmVAWnJWPlcxMCshQn1QJDRUNXdTCno4TjZHMGA8KjZ3KFA2JkUp XlkjS3daQEJyR012eHc7eX02U2syYURJe0pgV0J4eHdARGMwQmlHMHNQYG1OMGMkOQp6MlkjJWlK RGwzKFNncytUXmdFbjRpfGU5MGZaQEA3Vj08ZU9AMkF+JEhqTEkrckB9PnxlOChoK0BBJXtCX2F6 VEkKelNVUlQ9Pj91PUFSKHQ8cTh2R3heKSVkOUE4NC11ZEU7VVU4YGZkTEghWDtFblkpOVhAZ2Ri ajhqdlhUYHU/ej8lCnpET1dOKHpkQkZUcmMmRyplaGZzfkVHZXpyTn5CYUt4a1FzdExjRUlNRns/ STtfcTt8NTFtUkFJK15zT0BXbSEmTwp6VWxxKjsmVEtGRzNOSXZaRHQkNlo8Jk9VbzVoYFI0PkIr TShxc0c2N0xARkgoVm8wUEVpd1UhYT9STm9ONV4jVVIKemklOE1CVntsYkkoQldkN3trPWBoeHox UGh5KWUmRnVofUZtMW80TT53SXFyNUFxeyg7MnZeWEdVYUwjZih7MS1NCnpVWVFoQ0EzXkFaOVhZ YjlkXyN0YkVMWCZxeDI3b3wtR1VYO3RNXntAenxOaz8zMEhvbGhhck9aPTktZlFkNSokMQp6R15G OGt5OTh1TXpAdD80c3FOO2xFdDFzYSFQNWhRSztjUHRfc3o/c2xCRz9yZ2dKQzF2ejFBT3pHIWw+ JnRDaSEKenJhbkx8T0o1eEJ0bzx4Z1NBTjtDVlZ4T2FSQCRyeFphaik+MFQxRHNhQiV+QU5zN0Rz IVFFazdyTVdPXzRpc3E/CnpAT2xMTDhXUEgxaUdpb01UclpWfXgrVilQRzBhM21OdmZlUjVFO1Qj Ui00RX1lcXQ/KTY0Qk1VYGxvbndpRm96bAp6bEY4IURROzR3USZoc01AaHMhYF5NcWxiajRUe2o8 OVBgYmNCODhqYjFFQk89eCVTe1dVaT48NG84ISVJbihIKjcKem1uVFlTa0hwNDc7QmJ0UFZMUlU2 UklYUm1oNHNhfHFkOz58XyRaOT5XJFleKEczTWw5ZW9vSCZmUX1KXnlRUEo9CnpyPjsoZFltLTMl dSVYdlZeKjklXm8wXl8hYm9SWDY3eCRgdUBaKFFRMXZ6RFY0Z0tUbkJvOzh8Uz9tO15xTEljcwp6 eURxQWphS1RodnlKJmVmYHReX1Y4OGBVJXIlUVd4dyVZPjA9PzhTK19TNHlPbkQ1Z3ZQYio4Zj4x UGgxPUdIRCsKekY/YUY1SD5SbVVXYXdyZEV3a0J8VXp0KTczcmdMYT9NNXFSOCU7SFhkflRaaldz ejg+ektnYXg5JFhCdkJCI3p6Cnp7bj0kWntaTko0Um1uU3JGSiFqI0B7OGh4d0VDKlFTaT9RRE5w SFk+KSQ+ZzI0QXY8PC1lPlohenw7aGxgeVpzRQp6OEJPPEpmQXpOdktINmNNe0cyMzFidkw7O007 UGM9ZE04QTheNX49bUJlWGZVdDM9VVNjO3VvRjdCeHk3TzxjamYKelhgYn1zYiRAZGheWkREdkpX c352d2l2aCpwUk17QTc/ZF96YUt0QUY/fmIkPkUwTC0lTm12OGRyeGZrRkV5KkRPCnpSS3s8JGhH LT0qWXhAMUlYfms5WW50LSNmbUtAJllnQjl7UThGUSohdElOaD8pI1ZDNUlob1FfWVBJUVQ5KmlG Swp6OT5kRXpXWVgoVCRvPlFiWklpNjByUkZ4NTRVK2F8czR0JXNSXzhfUHlBUCtpOUJ+eDIrQFlV NklWQD5USlk5TVQKek9yQyZQQCV6SFBARXE0RkZIcmFHJENUYUVQKEFaVGVOO2Aya2R6eW1WJGop TTg8Myo4T3BEfnFQayF8ZkQ/TEJgCnpCdll6MTRYPylhdGFLdHVlX2FzVEolVCR8KlA2QjVgeXAy U1AzWWopOzhSWXNAdEdCLSRlSldkejM4YzBfYEBiaAp6JGkxQHBCPj1ZLXFWZm5keXVTK35IPz4l TXpvOUpqT2smMVkoWkU3eEdWSWp9SW5USWJkT00/JE0oUXxtbV9aYWkKel9FKSMyX0ZaXmR5I3FE N2pRZUVodmhnenF6bXwxUDJ6eCk8e0hQRWRuLVRmaXtNZ35Ma2ZSbFNtejFiMU8hZXk1Cno5fHli K19ZYzRKLXlScnRhRmZ3JDs4SDFrM30zM2FRUzU/dUFQO25VUn5lMFRlSE0hdXBQM08jQnw1ZEJI WUNyTAp6PWlZN2dCIXl8KDhUV15LZCVBbkNnRikxOEpLQyorV3N0KGh3ZlU1QlQpQldPNHIyQkZo YXtvJDxLIXJ4e187Iz4KelRQQnptVG9DPiRWT30kYyNGZV9nTDs3SjUzUVBncT9FPDZscV4qOHBB YDUofDVud1NXVzJAXm43c150fVk4TTw1CnpSWUlmcXZFbiNyZSYlcXtGZy01YyQjbEx+QVlJMVVA MExFcGtHazlvRFRXSkk8di18c2FuU29VUGlUYFpDXjhDUwp6c2hvQXdwR21eTEh8akdzUUVJK144 P3pNVStQeFgmN01lQTQla0gxNDlheU1lOSQjPUxfP1NvQF9nKlFWSElgYUIKempPK2EqYEIqUlNP ZzclNk87SExUfE5kSHklNXRnT2NhTik/ZSZnKnxaNiRoXyhRcGo2LUBaUlJReHlMa3JhKWlVCnpX dmhPNDQwbWNET005fTBNR3FXRD5QPXQ1azYrP3szcCE3ZCZjMiNaSkh3eChUOz55Q3VZU3pFNTlw KGM1JlB6MAp6MF43SmBNIVkhaXtJSHxHP0dlWkpKWVI4SEtfRjY/Xl4mbUhENUhNSS1mXihwZTBJ fGZRe247c1Qwd1Vjb0JCbn4KelRUVldfWCs5QzFyRUVrVmpBPyZwbilvfmw0SkxRSHJjWVY9V2JQ eW5NemxqNWlMNW9+ekxMcmQ+M1g8RnVmdzlXCnpMd0djcj4rRkcmYWFtJWROKkpOY3c3SlMhRDNT dipRLW4ybDlBU2IrQG9XZnNDIzhjRElgKWh5K2ooaVQ8Myswdgp6YjxQdTRsZiN5OUhPcz5qbkRu WlBwP0B+aD9EQ0d9UzQ5dDdOQyZFQG4xfFIkYHFme2tDelpJdjc1SDZ5RnRHMCEKej03bj8pWTcr YVlYeHgyeFF0WWJ5aWt0c2pZOUYlbEokNChlYFg5fTJwVWg3YSZWQFl8cSZAN3RqNyhfaUF1N2Ar Cnp1PDVNJCRXRmJLKl5wPkFga0E+PSRtQSppY0ZTemtZR1lkeFAreTstRSUqSHZMJEYmQSZvWG51 ZCE8RkB6SUpWKAp6O3VCP19OMyFzOG5EVl95KFFjPFImd2FtYVVmc3x9bzNFVFZ6dG1TI2BKdiFR Y0QpKW90P0w1VyZMVjwyRk8kI2wKelc2fHBWaiZyOyZoM0BTc1NucEJHNUJ9Tz10QSlHeWVmNXQ0 eFo+cWRrPFpId2NGZkJyRnpZcDtOWFRyO2xsQXY1Cno+VUBFcjkhcDVfdEtSd3NNWWQhIXRES2oh TEhJdCZpVCkzeGhOPWQqbUBhIT45dz8rWG82Y0xlcl57RHhNWWV8Qwp6WmhGVDxBYnE4bGBDO0Vk al91eVVRdVhEamFPfThHXk9vZXhvalIzRHdxcnZfdUh9ajVrWD49bW5GTyE3QiFgZk8KenB+emU1 cH59X0kkfVZGdjRCUHxmZGtKMCpZMk0tT19lIVl4TE9hS34haEZ2elVoIX5UZE0jJHMkP18jX1ol eEFRCno8bFN8RT89KkBVKWI5I1gqcGUhcXo3QDUpKih9UlhPTT9CeWU2MXRFRUBOIVdxKXNYdVlS cj9DWDEqYnpifHAlVQp6bV9JeldiPmNiZyp4dVh0LURFRUZQWTUyRDBlS2N4Z2pvOzE0Xj15NHRR RURlTVctOC1vVD1VNStkM0JTSGpgZmMKekt5fjRuTkMzaF9Ve1YkNDgjSm1gYUBSN05xMWV9dCR0 bXhDT3dAQmJ4KHFlQG4yRCFjT1JZY0JhI35gP1NiZ05OCnpaUzhncFYqYitFSz1xO3spelZPMHFj ZE0jXmxUem4heEs5JDtpZ2YhakIjbipQPFhpRFRAITRPVTIpOClTa15NQAp6JHx6a3lzZWRgVXFm YXZQKDspa3MtKjc5KHUwR0wmO0JTYHhxO2F7QHdKPzMzM2JOQnlweTkpZVd+VkNvITtpYV4Keior dlJPX3BAWEU1U3cleklTPHtgRkQ5YEhINyMtOGBDNS1OUkYkcGAqY2dVVWJWfG0xK3ZlKU5lK1El JEI4QWpACnpXQ0BkWDlhaTszVF84RF5YRDtOYjZXJndwVE0pKVglTGUwSEN3UWZgT1BKVzsrfVco fi1tfWZCen5GdlhzP141Jgp6aSFFfS05S1hUdmlfUUN+bVMoQE5WeiZkUGRhUHw1SnU4Yl88Vj9l azYpKE4yNnc9WDgxNUxfNU0kY0RmYCRmSyQKensqa1ZhLVZUUXdAKFU0OEFWI3xRTW5CK2xmI0VT bSozaXB3bzd+WC1sJm5rRUIja3hUKGV5JCMwdngxaHY/KEpYCnpAbl5MeUFGUlFENj05aVF8TVBM ZENxO2ZoJG8tNzVRUz5uN3E1bURkdE5JZ3lfY21SSk96ais+QSk7biFyTmFXZQp6Znt9eiNaJDxr O29Je2Yrc05xUExBb2I0b0dJfT99SDE2YTBXPXUwa2RqWjxqaiFTPVR2RUVJeiRWakBUKXl6cW8K enN7ZlAzcipgO0R2dUp5a2BpU1I7QV9VIU1GbyRIc2wpXlhPeHppYC1uXklpcGZlZi12TmI3ZTBj ZGYoSzAwKVhBCnotJHdBTlorWXY/cHwpUS10enEkTnglPDs3JEFxP04yQ1pTNz0tPDZkdFNRbmhF Q2F2c0d2Xi1RcHAmTEBuSSE0UQp6Tkgpa092VitWWnlWKVVMcD43JiM+JTYtTzUteGpTR0hzUmQ8 UW82aThYPTcybFdtcFpsIzd2K3QpKzUzZFRxVHIKekhTV1Uhc3ZRO05oZHM2eXZOKzZ8SiFpOUx3 UWdoNHVXSXBXeXE3cWIoVGxfPU8jPn5LdUAyP15xQkNzYyVRYDNFCnpNPTNGNitrKkk7bF5KP2lL WWdaYFE0RiN6Y0Blc2ppdjRRUnxGNkM4e0ErU34tYWNYaE01eks2ST98Z0lBck9qIQp6aCk0Jk84 V09yeE5neUN5NmE8a2ZCPzx2bE48PCgpPSQoVnFnbi1ncEt1U1FtXmJYSUJVO1VsKUNwPDRzS0tI OTYKenZwYylAPyhFRTUqWH5ZIXJPZH19XlFEV1JBYUk+WiR1ekQpWm0lPSZCYWxgNGxrdWxrYj1T Z2Z4SG4wcXVkTk9vCnptWD87JGBaZytwbT55SFJedytDKyNnKTBlI19YNU57YXdKVURrXkA0Zyla eVdaY018NiVYPU1HJmx4YjBRJT43fAp6OX1AZm8/WnVXVl8oSGIkPksoYyY5UDwwa21wMDZmekMm e1pRZT98RmtWO3tXSGZDS0BAYk90alNuMyQjY0p9enAKejdVbHNzQitCTSgqc3hpY3spJnghTlp3 TTc5R2lCLW5NWDt0ezYxdzRJUyNWUGBFaWJadHFnTHYrbXxqVlpKfn1OCnpiTjdlNlFmcCh5WFEh YFBqOHpFOT97T1lrT0BVdWRSWTs9MF5qbzFGekVVdlZJQ2F2by0xSWJaVmNgfEZIOTU3bQp6azx4 OWJgR2Q5NDF5K1M5PT9XPGJMV0NiaShMPGY3X0s4UXswJC01Jm1lakMhamR1KXNxI30zTSl1UGJM Y09+dVoKekdyKGRwWGcpKEdLYmR6YG9WLV9MWXhMfHArczZYUDdhP0ptY2g5SXJuU3l1NSR+YVYp RTw4Ris8O0tkT1dxP3t3CnpGYDN2PVI2YmJtaDd8TFRHdl8wV05qMjFMTVE4ZTdzWGNBI2pHPVUr MElMMXBMKHB4WW94dCZXbyZMWFhfelRPWgp6MmV+YXEpfkNqUjshbW5TKEUhSShzOCtFVVBXciFa bz5Bd3lRZ340ZlkjbWcxfDRWbDklcCQhdypqbnlTYE1eKWsKekRiTHMmT087ZlhRfiM2KFhibGQy PXN+cnNedTJWU1l0ZTNZYDVlJk16YUpRcC1VSj98dWxHU157ITwyaWhNMk4rCnozSHpANklvU0ct KChhanpDWCErRjhuTlJncWc2PXIlREw8bUpacygwVHxfZ3BhUlNsMlkqMHdpYTZFdmN7Ny1FUwp6 JHlfJlAlT2c+XzhsVl5FampJNmNUYVp7QHYjVWNzU2ckdSEtWWhzYTh7NG5qTXZhVlptRHdGNVpu eytlKDtPSloKellldGhlYzIlfjxzQjNhYj58bjExQlI3d2Z3VVBTNiQ7SDlvKTA4I2ZpWFdGdXxO ZihUITxpJmhMJlBIZTxiYEVgCnpnQEp+KjkxPjEqezxQVjNwMjNqRm9pRHU0ITklRjgkIVpfKFpa K2RrLXQpOE8jekZJTU9hbHMjRlc8N2Y9MHpUOwp6cF5ha05lLSNGazRRN1RARXpIbkcoPFdXUilf PF9AVU1qVXlKQ0t7XmEtZikxbyU1eyR7R3tGYyokJGlWQiE5bUIKekdQRWxaYW5ScEFEbXVJNElg VWZedUVJdUlabXw4ZXdZQWxrZ0UhZmxnVlpqe2prPkU8JkxsaEl6aUR0bis8WFk7CnpHajVOVVk8 fmA+PGAmY2BrTzdfQExkc04hV3k1dVFuWTNIKEcyNG1BSDc5KiReSUkkO2hjTX4zeG4xbSYlJHZQ Rgp6OT0qeVFZSlIwfHlMTkB8XmkxY1UjPXEyc3NWe1MqWj9TRGZiNH5SfF9ZQmwrbTlEKXwqP0I+ aEBBQT1BRmE+Y1cKejxlO15GYk9ta3w2U0B2TXgpSzEhbkl1RHdPUVNRe0ZuekJWZ1hpVH40TSY4 NU0/WnxOcilgU0BAWWZSSTE/UiF7Cnp3TzR4bkpZZE9JeExLdX1uNGNDYSlFfllKcHhLc05FOHs5 aCZrK0V2RVA/WkFmPlpwNy1eZDZxMFBQSkp2dEpZNwp6dlEjaiQ3Z2c5Um9ZJSVZZ1dFYDFlaG9u RDVNU3tkLSo7TEMxJDFpKVdTITtATXF7ekgmMT0wWV5LSlpWcm5sYGwKel9Ya18/WU1nc3Q1ZTBz dlQ+bHlBXiFDPE1oaDRgOWRKNXM3U0RlUT90dncrZD9WY2tHR2t3fDlHPGBhTDYqaEBxCno2IVc5 N01BS2M8SEVhTXw/VE9tdCp9JiE1XlZKX0dnUkRDVT1IcSspWWReek82bT5NbV4yZHB9NWJIeito ZE9xcwp6e1Ypb3YzejtlVEp4S0dlMlEkfiUqMVM8T0tQdVlAPyk+bzFGKnNFUG8jJnZ1eypEfkRU QDlebFJhIVExU0RsOHIKekpIQU8zSXg5fm5qSSF7LVlsOypnQ0xNOTEoPlVaQDdBaT9ZWTJKWEdx Wmk9aEx2KiRAaWRIJD1rP350RkFGbiE/CnowQnFBeHY0ZnReVVFmRUVKQUd3fCZoZUVlPHd8NWJ4 dX1qR0Q5PGM0Xm1lP0xZJUZGRHgjVTNGYGw8X2dnejFaMwp6JSpsSUtlc1J9QUoxdEhWPUhKVFVw fWlYbC0zamZgR0tRWllWSTlofnlZRWU0eHQyYzBPN2d8YzQqbmk9TiUwTXkKemRpTCtrcnF4UVJC U3VDfD5hO0klKzgwTnYoTFVEJnUmVldSaUotJVFBbUIjZCohTSs4eT9UY2FEbzA0bWtCK0FHCnpq eHNIUjRtVWxQbkc8d0xOXkgrKiM0Rnl7PkAtVj0jez98ZTVXMD5ReU9NJS0haCE/YEFsP3VLdDdA KyQ7alZ5WAp6NCs1cGkmZmpAMC0wWTFHRCpIb2d1al9ZU1M1fDlxUGA+ej9SOT0lK0dzIz5hPShv TDB0UW1mQXV5VEJ+QjZKKXoKeno3eXFuWmN+dVVJI0IxT3ZWeypoYWtxYEA2MWZsITVZNVB5JEo+ P1VaIXYrTW1WMUYrZXEtQEEjX34oWWViQj4pCnooZmFAbUNhXmAlMlhCTmdQVFJ+fCtZVVAzX0Yk Vj4/XjAzT0AycFZTXyZ+P0o7b2ZHc2BQckNSZTIoJFElSEtPKgp6bHVANDBVQSFeTnB6QHJpb15h NSpUIylxR2dqJFRzTSVfbDFMP1pOZjZXUyVJeFpBR1JzbnN3bHBnRStXdmlFS0QKeilXTmlYTn1O WmRfKGJ+Z1pue0c8VyVkK1QjdFNVXj02cDl4Uz0hR0tmZHRtdEFMP1dSXmEhen5SfDdBcyljTE0q Cnp5c2tucHVIV2xoKTJpUmxuJHojMG5+UEJMQUItYV9AZH10OSMmQ29GbkN9UCU2TjlrV152X2VM YFZMWSh5WXFSKwp6aEcpdVdDfDRxKV9VdlZASkRrPXlDOW5qWUl5Q30lTyF1X21HIytTUlApekc+ YEg3P0xgWEhZclhKYHRGPnYlNXgKeiRaLV5oZXFPfUkqZ0cteWc+eUhLdnpAJlh4fDt8VXFWeFpM eTYxTXxJVilnS0xGb1FyMytqVjs+IX5aOW9ZN1JMCnpENXVzNDVfJWYxVXZSVjBiQU4pcWQmU0Nq eHNtU2hFMWpLYT5tOUpZTHdiT2g7PU99fHdiTHA7UG4rcjxvfEh0awp6cVZxRzZmQkdHXjN2Xz1V cTdeKFFuVk5+Sm5kWTBAXyEkMFRxZ2YoUUdFSUpXV0dKWW1uUSFuKDtDaFBCRDs3JF8KelF5UT05 UkV+R01CIVlmWTJJLSU4KFRkXmdlKVpkYTxXTEYhaU5TQjltdENEVClgP0Y3SihnPUczbFMxQ1Bt WDR1CnpNNW8mQy01VVcrU3BkTmYxeGNiRTk8cEsqVkRiWjFtc2dYUCl7Y2xITyYqZVNCQispWC0r XmotUjdMJGRXWDBFNQp6QSZtLSNhNzlQNzdHPnY0Y1BVRHtMWV97OWw5amhCXigrbEYhV3lFNXAl Pmlra0dxKUMtK0s3JCYwJGF+YF43MysKemtkXn1aWEEzVmxIcn10NVYzaEx4citHT3dGKTZzMkN1 PjxlN3gkYjBuTGxhSDE9az4rP2N8SVZPVjZQbl5Yel9pCnpqVW1QUmd+dCR8UDMkK1UobT40RUw0 U0dGPGxucys4Y0tWVDZfVUgjO1RucEZqU3ZBdl8odGpxTTVAWXVjOHNBNAp6JD1MPz1MSDF6eVlu P3J0QUEmVmQmYEtONnBALW5SRDliP05rMmVHPzJqdCpUTH1VQ2wrPCoyWEwxVFFVcEQjbTgKenlx M293T1F2M1p3KTcxY0A8Iz9CS2x6c3gqQSprIXN8YFQxOFNkaF5aLVc9e0lDb0xRdChzWFNpUz55 KXdteldDCno4U2VVYmkkLUw0Yml6fH0zX3cpOG87Q3RFPn12ZFh6SG9MezcxNnhLZmZpJFQyWW0/ c0FrQjxIQXVaRnpKNWxAZQp6OzBIcGxOajFHUjhpR0BNZH13cXBee2l5YHl2alRLPiFuK2RIJT98 cCZNfEF5RHI8JjJ4K1N6SUMyMXxfcGZ5T18Kel5nd1khNWRDKlRENmVBdzMoXiF8anR4TXRzbER7 JGdJUGxmd2d2LXEyZ2QtTmZGIXg3MlpiOVh2eFRsSm9lelUmCno3OCg1bi1vS1VaTk16YD9AZ2dw fChYcCRsMX1OQDgxT0pYR1JBbnppPCFZI3JUbTtpTlcwYllBKWFLRkZsVmUjcwp6Y056Zit5WDRk NzgrV2ZBRjBVTjk7cD42TEJpbjVlNWswQmpgMiFHYyl0RVRRaWJNXioob3FAe0kwS1NTMykoTGEK engpdklyWWA1X2FhSHdVRm5SMTtWRH5nM0AmLSFFOCFRTEAteUd2VHVWazZnJUE4a2NyWW5TKUZa T1Y7O3N3UD9qCnpHNklUfU1AeGNeOXxzK2JMYFdwPHVIND9kUlBmP00pb2NENmYpcFpVWUhpcSNJ ZDU9biZDJGk8MD51QGRFKHkrcQp6cFJJVUc8KDteLThWXmhUdzlVb1lYKmE3X19MVmVJNEFXPzxZ eWh3U1Q2fXMzRGJ3OHYwcWt5cT8ld3pMbHs0ZHUKejBXVmtoV0RtSm94NlRkKEUpQyEhX2N3T0w5 SzV1d1JBWk4oXylrVVR5YmteQUZQPjcoSkdVUVBCbG5+cWNgcDBJCnpDRE54SShEMXdTQFQqRGcr dHVTclEjQUV+UnhSVlpvISlFUiFlQXFkbSh5PkFDcX5BUHlqbTdQajN2XjEpdVopbwp6JVdSbTRJ WCRfOyk+cTwoNTFAMEwhOUN2PUh8fT8wKTVPT09KRU8wRktkRyFUc1RjKEFWUz10Mm9hMn5rM2Bu I3sKemRJKjdWMWEjUE4jSy12Rikocnw9WUBPdHVWSGxqZD9tcVchNn4zRjh1SzNeP0J7O08+P0Nt e157QFB8U0glWWZKCnpsQTxfYGI5dXNRWW5XY1kwYVU3fD9wX1B1SWBvSlA2XylfPTAzSEh3dD9g OWx2Z3wwVDFJfUZUcTRTRTgma15raAp6bkQwKFVOcGM+fkZWcTZKdz17PC1QSUhyRWooMWBSPCNu NitqOEd+M18jdFZXSm0pIVA8aCM8T3s8Q0M+Xnx2byEKekIyS1loYF5AZ35EPkBiQlRQdDNCQiFi Y2thJURCbG1VTDtgVkQzd0NRYkROPEQlP2d4U1ZDI0MhRFlOSVY2QHJzCnphM0hJeE07OSElYSg0 UXQ3K0FnR0p9Y35kcHpEYTw+OSpSNWklOzZMdlR0TjQoX1JsSVY5JHR1TChKXz16RTBqPgp6c0w8 fW5hJTdXV1c4SFlfKGdDPENWO3ZyKjNHY25hOWp7P3QmdDlCdFhwLUNQb3ZWQUZPSzFmTmcyZFRX Q3czI3cKek1BNVBESERwPGM3Wn5iWllqWU5sTUFkbVhtTVpIVG01VChGaWVQazU8Jn43SENrc2xD XytiWHhqfTkmaVNDIyl1CnpaRSZwZlZuN3BycmAyTHpeZ2JeS2EtXnBfR1F9TU9DSkVVTF9mJCtB V0JAWSpVak48cnswaWwhc3BMe09aQlh5NQp6dlNHVXVJQUp5UHh5MEd5SEhxVWxzN2QqYik0M2F6 dERXcUJlRGAtJGQ0c2d2b1o7dnl2aW9VVHdRVzchMkMxbV4KeiFncUd3IXJ+THpKPFZhRD9iPkYk YHFrb2R0V016JlFROWx0RC1NQ1JgQU9QdnYoV1I0cnlPMjNPZyhtWSheWHQ7CnppcXctUUMpQVdq cnopYkVAS2M2JVRUYEVOdjNOKlVgYXlmVD1ucHQzV1BpM1cpRldGMTxHQ3diS3E8a0FvfWliNAp6 TGdAclRjWD5WcSRTVnJESyVhS2RRbVZPY1Uxb0NxIzZHOH5uK01PO3U2cENXZXZeflVeeXI1UUNM T3hoamhZRkYKejhrYExOZXI3TCZEK1BwQHVlTnA0czNNdjg0eSEtcFBfb15hPSs9QFRJMD90PWtj SU1RbE5BR2s3Y2VTXkA3N0xPCnpAfWNwaCNrSSt3WWNRQTg5anZRPCpCPntTUnhYJSVpMkRJJTdp TTAtPjkmelY9WXk4Zj9NRGJEcV5qenNQRGFBegp6ODhLJVpea35DY2JVTkhQITRLR1FQa1UwdjU+ Vm5wVncxUkJ1WkY+MC1oK2QjVn1Idj4mQVoqWTMxfGxTdEJOZiUKemJgcE4zSn11SHwyQjMrSzQ9 aiFFO05LXzgwfmdCSXE7Qn1NWWojbURNS2tHTUtTZGMqdmUrWmdAO0JkX0srNk9iCnp0JHJiKTY0 KzAoaDY+dDZAaHgrQV87Jk10UyFPfCUhK1ElZT5NKWF4bVFeYmskPF9XOW1tKUwzUUZPJHc4V2dE TAp6S0dkWnE4Y2ZOWWFlIXZ2dSlrKXkkPCV4QytsTD1HUTFNKytPYXRoMTElJSUxT0p4I29VUCk1 RXUtdlgxQWhWdXQKelg9O2Fhb1dueEhhdXlVXnxIUEQ8dXgya1JsbjE/dFQ/KEQyYT53cX1rcCN5 fnEqYDBGMXNoTFc3QElkSUlIUFhqCnpmcXU7WD9xczNyQClgTDJXZFE/UDNOUiFEUjFxaE1xSmZf UUJ5TX1mUGUxdG4xOCZOS2lRVnNXZT9ZeSNPWTRAfAp6XkRfUDtkeEwxNlcjaTIqd29YeG5RUztW TGo+RjgwWG0rcFppaGApdHVDezMxTiElQ0JTWlUtcGJ5bUJTNyt7X0MKemFNMEI/NUB5ZTRtQT8t TVR+RWEmMUdpeH5Jc0VNT3VKYjVzdnZIdWglQX4+Xns9eWBFPiFsYzdSI0ZkJmQ2PX4qCnp5T1lO OT1XfDcmPSEtM1JATkB1IyZMT19DWn5QRk1sNnZjRDtJYz0kJGNxMGdjd1BCa09XWGQwey1XKWRL Kj9XMAp6JEJwMlcrZHc/Yy1TfGNHZGttZkgoY3B4UV9mTmchNEwhbU1Ob2dqbnBpc3lgNjs4VDlE VjI1PGlOVHpIc205fEYKekxUUExoTSEreGZBYnZqSXBLKWhmTXhkJnZKKGdAS1RaOD5ObypyPzxY bnpaNFZVdFZTWTt8TVdFe1ZnV2xMOC1LCnowRFZ4VG18PFVlczxFM296TUphKmh5KFNaa31naTg8 U1FNPXQ0NlhtaDNoeCpGeiQrVU11IU4kdHUqIytAdiUqRAp6WntSKiM1OGU1MXs4TWtINSpvS2Ml Tz1XdHh2bXt0O185KyhxN0t+NWd7Rm8lITBzR1pgMEU4eHZDVncxajhRYT8KemIpY1JVWSFVamRj dTdeaHk4NnRibHNMeShrMTxwaXBAQHJCZ2gtPGNfR3FrNHcpaXs/cW1yJEI2OEF5fClIQUFhCnpQ ZH5OOCk2eU1RQih8PkBAc2pqdHh3ZEpwZ31UPjUlb2J6UVp+RUp5UnQla3k5ZTFKOF87ZjFabEx2 KU5UR3R5fAp6K0F6N0RUTE9ZdUkkaXhSeCZTWCQ9dGQpSnFJYjw5eVUmVk1SSUN+fCRReSkyZWpm P34oVmxWZjJ4M0VGRGB6OF8Kel4zSTVCTytEc3J3UTd7KVg9YHVPLXV4KHVXKT12NmkjbEdUUjFh cD9VeWY8bzwlTG5VcDJaO2pFUnZMQCNxfnRvCnpza2haUWtHfTN+TlIkbShQMEskY0hQbUs7KEFK cng4X25JdVg+Y0w7RGxtc0BKZ051fFY7PFg+a3Q0dE8rJj1ZVgp6d2RSKU9vOUpheT1FYDhwK35q clhFfH11fWdhZk9LMmZmQl5rRmFJSGVPJDNeYSlpVXg9e2dtfHVlUFNXbSZ8YmsKemZ+NGh3LWp6 cVotSXxWelVrSkp8OWZJU3A8XzlOVUZBU2NnVW1tUiNRMENIRHkmUHJKIXVlUWE9dkM7amxRTH1S Cno7WEQ2OTkpZ04zV2lxcmRvWUomZSFuNnNoc0JVfCN2cDszSG4xcll7TmB+WnpFXj1hfTxTN3Vp aXV4JDY4VzVqQwp6Kz13ZiU9XnlAQVBUMGwxQG1mRClqdDRPQjIoe349SU1SRkIzUWsmcWR6PGpQ NiRiPHgxNm4lKVRGUGtPUU5QeTEKemtZM3wpSjlBMGh0Sn1TQnNwTy1LbkJxQH1OaFFEUyU7RyQp K0liYnFoZCsxXlRkMXdzezBkMHMoZWl0NXIkZ2h9CnpyUERDRWI5NGNwVHh9PnZqNGNBeWxjenJu NFJmcE9ad0QqbTI9X1MkRkF8TmFPYFNodCp6ZEdGaUAhVm1sI1J9ewp6eUtLPVFZRzFrMXJHdjkt KERwKzJNNkplbilqRisyJWsheUV0ei1JT0A4IUU5cTF2IWlybXl2KHNudUh2JlImWmAKejBfamd4 NTNhbzt0KCM9KmxzRTFOT3RzaSE2bmpTTjc+fTlTYXN6bytiQWcxXmVGaCpRV3RhKEc+TSt9fFpf bHdyCnpfMDBgJGkyQ0c5aXooJWYkP1ZFcGsjJVV0bG54bCp5JXlyQWAreVhmaVhCUGpEP3IrM0ly T0ZTclE1WTRtQFo0NQp6SWBqazExKC1KNzhobS1MMFRxZFlLUWdeYy1HZ1FnVXxMU25HRGh+P2Ej cGtaJSR0ZnVCZ0Y4VEQ4fjd0LW5+LVMKemMwUXdoTmFkT14+UFU2MUg7TlNPbTJ2QntKZ3BTJmdH cElkeFBAS21rJklIRzBmMEJXdzhheSRyJDNMbHZRflB8CnpTSkFaRjVkaUd0U05iZkU8ckZ4Q2FJ YkVHLVpSQXZmVUJnMk96JH4ta21fNCQye1V0JEpUeFd1TyF3R3N0bXU7aQp6VDRlSTBmY1NwVHNO QnpFelRYUWlgYGdNU0BfYVhINW02c3JgV0BlJFdhekgpIU5UMDViUig8bnt2XnNeNmU4Kz8KekhN JD8/MXdLaD54bzB2eGNGUkBuN0o3UVhVJnYzTDJMTk5rbGllS0M7bmlMSipXSkRHQ21+MyozNThg KyV3VyFUCnohKz4ofDxgTy13TGZhZkJ0RyN8eztLO1RqPzQqPCVxNyszZXZzYytBezd0dko2QG1S V2tJJCpZMD5CfUNsVHkwNAp6b2stfnkkcyUrdUNxPHBSKWorZkg3eW1jNCVVcj5tMy1zZENKN2xA O1E9TGcrd2tQXjZCbWdySHNRX1F6Vm8td30KekR1aCUkViN+ZDdHKFBIM0ZFJWE0QT9kTFlvUDUl IyZ4fGxnXnpyJmZxSFVEaCopNGl3cX15bCh3SV85K087e29MCnoocHU1aSFvQS1pWmt8SCRPZUEj YlF1ak1+ZjswaXl3ekdzZE5vKTVCNmZVIT1DUGlCKVB1Z2Aoc3coM2JYfFlFcwp6YyVAJmRTO3NS Yil2UlYydCNxJjZKe3BuJnsleXhzc0xSJnFkMV5OSjk7THBlbTJKc2E4VGgoRj9UbiVrJWx8cj4K eiY3TU5FaV4hPDc/VHVlSU1DMSl4cnFmQmdyJF9APEFDP0xWTDJPPjA2SiVHcEtCYVhyLXcwJkFO LWFQMWZ8OVBxCnppMXNTUE4mZmUlfDB+IV9OIWs1N0VVITdRP1l4RDhlT3dEZTZaNktOczhxQkxP cE0re2ZPZ2B7ISohKjJefE0yXgp6TWNqI1lNVDBKYjYtQTM5LWJSKG5kKUlKMChIfnk/OGJsM2lq OSpkaWIrSiVDKHglLSl6dTMzJEZMN341ZERLRCsKekxxe3EyWStETV9WcyZsbllkP1N3K2NUSn4o Xj9oWj4hcFBoS2Izam8jY2t6al9KRjRuZSlgTD56U3JVKSNJNEhsCnpgMDN4YmlVMEZwVV9NbEJJ bzE2QVZ+Nns2M0ZkNjJySDxpUVgwKSpOelNeWip3UG4yWEd2K3JuZlklM0B2dnBqIwp6YGBmRTtV RGxlUHwxQSttUG9gbnpvSFZ4PWo3MHFYJTN8azVpdEgyTmVLIVVEeH1jIyVeM0dKV1NTd3BWMHtm UlEKekdPViZUQyt7Q1pRR3dYc1Ngdy1EZnx8UzR6QGhUWDYqbC1KRzRwT1ptJTZIQWR5UjBFUzVC d1FXfl5UUyh9Wjd7CnpffmVFdklNdH55PHl8dng/b2ApSTN3TWsxPWlMQj5QT3NnPiVlb0M7K0dn WXMxYUtLfmYxQXk2SndiKCYtZm1jPAp6aGVlR3NMUihfITlOYjRfeShwKD5lRXJvbCM8MFQtYXlq JV97eXg2ZXhxdjJOX2hJYnZBJHVHLSt8ZS0hQl4qfDUKenJkQi1lZX1rZUU1YGRnPCFzKDFDcENS aiFlcXZ8fStWcCo0VzxkdEF5Z1JsODhCb3ZkZXhqSDVkK3UwVGJXTnJHCnpZUjR1SHhxdnV5V3Zs eGRkRERBNkpGMFJFbXg8Vj93YVk4V1ZJdCRxKjBaJDFBdnNYaTZFfkBsPVMrV2ArVGMlXgp6Pnk+ Nz53ZV9SZThWal5JaG4pRC1hO1M4OFA7MWJ7NiVOSVU0PXhkQm9qbS1WaTM7M0wmfj1zM1IjKyRZ WClqdnYKekUlZVAoT3JWY2NvfmhGUDE2eDxNdEo1WUkkV0FFPnVFb25PQjJwfSlKMVEyOWxHMjhp dzN4PntvRllJSiUzdFZvCnpyYXdgd098SCM4KnhIbio+R3tXZllGQFhAQjY+MGx3Kiptfjh5d21A YXYya0k/VjFraDtPX2taODlPTnRxRV5vJQp6S0tKZmxDUEFNZnpFcUE+bF5OUiEkclJNZT17SUFV cGY4LTZKb1J5KXg5aVJua0QtPEJfcTg+fTNBVCQ0S3p9NX4KekcqcjEkbk8tbCtNZGUwNUUlZUlk OVQ0U05xKHxnalg3QTdOSm1Na3AoI2FPeFV7R3p0U35Ld3d6dEF2ZWdGPU43CnowSWRvfXAmPVQp RG1CRCF0JntqXmIlSXxQc3UwSEFrJFFWV20we15YRk9lZWk0Uko1OT5DSSs/Jkl2JWtPM1BnYAp6 ZUpNTWhScGJLZ04wdipCUTh1akw9TFk/dFAqVnskd1BoPkVXeWd1aHYmJTQ+NEVXYDBGTWpEQlA/ OG93QXskKFUKekRAaj1GPEN1UzFsMjR0OEIpPX1AOHRLa21DJj8oX3B5a0YzP1llU0Z6Pl93T1hZ I2h8U15KVHJtJTBCRXlYNUhnCnopITtxUiZDKlVRcz9UMXwoJi1TSncmK1JqUyh+cUpmcVBzTEA4 N1p9QlJMbzlgcXRjaDBwNVdJYmpxbThTIzF7IQp6OTBabk9qQ3VHWiR2KzdAdU9xVThwSTNBfE9N RDJ5Ozw4I3VSaXY4NWRzdmdUYUU0TmIxeFg1WSV9aHtwb0ROOyMKem9KYWhIe0NpeEVeVGUzZTdS THIpUDZFODR5bFl8WnN0KEpsJUBweXZrVVpIXnFxb2tpJlg9TlhUeGJ6UDYqPSFCCno5RCQ9PVpR bigzTmw1a3h5fjRZUzQoMGgqPnRgUzNkQWgxOEI8XmJDazRnfnVTZG05ME1gVUtrV200I2R0KEdy bwp6JU5nOUFteyVxO0IkSGFUKHcpMC0wentYKGx8dnpyQV5sVzBPR0k8PWVEMFg0cSUwTjlyc0Re JWQ4dEx1XilATzEKenNtfUheNm8qKEJDRnpue2hva1dlQ1AtJFo+XiZyO1RAWnpxeCRRSGwoM1dr RGNMTHo/RCYpSXFuej4lUHA2PDVaCnpHVkF0bT1KflNnTXRMfGwzc2locy0/b2B2eiRjcjt1ODBN JVk2U0BSMmpoSTUlJHUycVchRCNHb2FPSChBRnBlOQp6WEFGYVV3NjhgKCpTb2M/bVVjZDw3dldw cyZnb2dHX1g7fGwxO0FodChTYnFhTGw4JC0kOH1JfnI/MkVQTF9fYjIKekRyS2dxS2ZWO3J3T3Uz PXFhMj1ZX31vM0E9cDNBKHZob3NweDlJeUQmJH1ieTQxKWRUOSRoS0lXM3NYWVFYcFd3CnpSIWp2 Z0Y1a3FpUkg7MllabEoxWFY7PDMkbmwwZWhaSUdyNlkkUjdBR2l3PzlTVStFc3NvWHRlTnheZEw7 VHtnfgp6S15FPn51NE0+Wm5OeT93akMlND5TM09aRXlGeW5ZQXc3RlFRc3MkRCF0MSMxcmFfKCM+ dSg5MjBnM0YqJGl2floKej9nWUlCNCt2RTNVVW8mMmg/c2RxSERYUUpOSG4hN1BadjF5dSNBfmsw MFBpP3hfZXhEayt5MlNfemQxX3JGRktYCnppdkQqPSp2KUc0KSVmQU5zUTNReURLLTZOXkhwIU9q Q19WQGU2WGRpSmBwM1J5THxtKUpLbURJOHJGLTgxX3FsZwp6Yk4wMUtxYkRxamQzcUNMVV5PeERT Vj9EVk58LSgwcnd9VHRVUCpOfj9mOWRwSGBSSjt3MjwxXnIlMlkldERvZ2YKejM7Q0RTP0B6aSN6 T2tqcmEhQWE8UEdVS0gmZHYhWXBgUndaQi1pOCk1RDdEKW1INnRpdE82NVh5dlE9WCtLV1lhCnpX JXpBMlNTITFWXnpfal91Ml40QG42IWFPKWE+dEBvMm04e0hkZjU5TiRMWWBfRE1wSyUqd0d3ODBT PlMmRmMmTwp6SVNXWEZKPXZrMTc1NU5APl9PSSpLYGBJQWR2T1hSRillY1JreFZLISUxcHk5IXBg SDdxTHY8X2BTVW5ZT0UoV14KelRJNS01ayFGfEM7ci0hKUU5dX1vJDZSQ3YqSXtpQGtIR0RvJXpu fWdqZ0wqcyQoWUYxZnwyQXloXm8pazJLfT4kCnp7QEpIKE1Ve28ze1B6TyR5eDxYVXp3bFM4eSVv OHZZZzMjK0c+eDFPYnc8dU08KXs0ZW9VVldNNFAyd2kyczRXQAp6Xil2TXNBUEJ5OEo0JkM1SiQ+ KGBYUiQzby0meVlGQSVIIz5ud3t4U1JVM1J9ZWRedTlDNDQyfWpmczBRUkx0dE8KekRxe2h8I0FS OG4ybUh5YGRIeDRLMSFwbG05X2FTc2l6PH5kdn1KS1dGRkElaD1kMXlyaSEkIzRYMCR3Mm8+Nz1T Cno0YkF1czBUaSReJCEwTGBBPD9pfEEoVSVDV2EkRlZOJlZ8LXF2fjteWTlHKEluPUlgX2ZLZXNu WCEkTUN6by1Pbgp6Mmk8aD9FQUZRMGktWXQqTD92cG9uczUpeEJ9fmYkamo9V0pBRTdhKDxoQkt3 LUs+ITJgQ2M7OFNFd3dqU2lqY00KenVFIVJxb2ArfV9VWU5uT1hRXnFeNldyMnBTYUY8IWV0OW1o LXcmTikoKmFjVXs1e1N9K3dNN2xYdWNXQygyRyVrCno1RFhuKHJwP3BhbX5VUjxFalchKENERkF6 Um5DaUs9anB9Xlh2ZzI9aV5xan1XfTNIbDMtRXNgYypERHAjQkRDdgp6aSomQl9AbHc/JVktRUFg Wmt2aSVtN2NZb1VOR3l+b2FzayYwYDJDYiZOQzBBemVnPEJObTR+T0NQY0ZHRT9xNyYKekVTV21L RTYzWlBUfUkwcXN+SjV8bDs5QXhtMVNAbHJJQj1nJTBGd0l6Y3x2WEVrb3tSUjRTRGp6cUgkYS1g eXpICnotMXN0e2R8QU48a1N5bV53PGArZ1A1V2lMQDB3O1JJQXhAODRqN1p9Yk5oVTw3QXpDS2g+ N2hZMz9TOEAwaH1WJQp6OFRweDJQRWZkVThiNFVvdUM8NlVGPHs4dERVJGsjc3hNWXJDQk4lVW1U SnVkJFhqIWEoWENxbGBwPyEpP0t5cUMKelo7RClBXyFFNTFERW5mSCs7WDd7KE1aOHV6IXo3S1Fe b1UycmA0Q2lxNjN7VlFUQ209RX1CbjlAQTdAeEgtMlVHCnooOVlKJGVDbVNCQGNwSmU/O0l+Jm5z NkNnPihxU1BnNnpEZmJEKWRpUXE8WUYqbDdIdjBSXk9ROSV0akM5I3paQQp6WWdzV0w7amlac3NW LT8jX3FjbyVrJD4ySSRKcyR5I0kyczFaQHdnZ2x6a08kMTYjSjY2a15BPG92YUFkZENwPDwKejJx c0xkTVh8WXs1MGprMnlPfmZ2dFpCTzdKP2hRbTJtMTxeal4rVlFTPXhJWj5wR0AzcFMhOERATlNu JXlnYG87Cnp3KEFTK1g/VXxscCheMmJQYylGc1N7YG1gVDYwODM8K3ltbWBrY041bkUrSmNUfXg+ THYjcmRXO1d1NEd4eXFVTgp6c0ROXztYemV9cWVVQWteWm5EYTxyQCVpfElfenJiPFNYS0VvaFhP WFghT1U9dlBDTEZEUSVlYEErP1cpPUVWTTsKelRGUGBtSj43MlN5em41aXQxLTNXRFRCRjRCWlZA fnsqaldtZFY0bz5SRDdWdUlRZis7UDdLMmdVTXxzdT56ck1GCnpIaFNkdlo4YU9gTjluX2xsSlAk XnQzNnl4THNNN1BpM2lZPz5ZXypkd2hxP3lud3NMU2xkcDduUSZaQU0xcDF1dwp6ayRhaWx5RzFV YUVxZmxYckBmOExhTGV0PmQpaVRZd014dXlzQ1RmcDl+fkV9elphR0kkb1Y1MF4yWHkrblVqWTUK ekBiWlRaSGVsTjRpM2hMVkY2dnVxQXYmazMtd29QRC1lanJ0NFJnMXk/TmZfPVo2Y2M4WFdnelV5 VCRNQEMmPlU0CnpwUG4wfCVILXRaM1QlY2ZVKCZZNnAhOCYlTmtGKkF6dG8/K1BXSVQkRjFATERI P2d1MF9vflA7S2A4Jko4eig+Ngp6TWxEfXlxWksoWFlvQXM5YT9VSlklZzVDdEVpbDdrQWc1PSYq WUFBeDVTbC1pbX17fEdwKmBoMTFeM31ZTVZkST8Kej5MQUxvSmpDTW9SZzhAbEVfVDU2JXVjOEor WTBPbjgjeEhNKmZPUXd6MHB9dHsreDR1WU9VO2pyKFhCRXU9ayNuCno8NzxWX2FzcHtqSzdMQ1BO R0lHb0x+cjs3X2JRdElDe3RCOExmVmh5d1o+O1pmSiV6cEZ8JGR2Jm9QJjYqTmU+NQp6X1RyeGA5 SS1gXmgtSnk4aVNXNkY+KFFgY1N+PVNDZEZfU1FifDtvcDVCQjgqaGd1cX4jSVB4WGdpbFY9eHVE XisKejJfN3p8cUAtbU4xPD5GSkBfUV5KaHt6dDZ0YWpER2FeP1lQQVQkbDs0WkJzbUZ1P3Z+WU54 TjthbHNYYDRCKj1oCnohYHl8LTU/M1QlR0NKdEpIa3tmYUxRQXFHKytMZXtSc0p1TWspYUAoblkj Kzw4c1IjQ3Y4fV4heGtqeXhANTBodwp6Y3U1Tio+Rj1IWWlnMU9RRTtsS0t5cH1ATzNzcFIzN1d2 bU5hak1faiteSiNgaEJpUHojQjxgN3BMcGghSyR4eGMKenpCMXg+KmJWJnUhWWhEXiFjRUw+e1hh NFpqNiNXT2tiQ2hJQCFAWU5Lb0U4aEFoRk9vJHx8d15QRkRmWjt0d0ZOCnpYR1FsSWAhN0s/OXc2 WXBTM0ZucmswUTZ8MDd7SkNFZjN+QDFUUWxKVEJzJUsjUWNIeWZPPnJDMylLY3NDK0dlbgp6KmJv YjchUGYyS0QrPWBmQDh8MGFLdnxCajdYSzFfYz9YRStXOUBydmV5MUJ4YGtWdCRjSSgtVUBJUWgj dF4tPHgKeiQpcz8rey1AO3xUKEdjME4qVXZTMzMzQSY2ajB7U2hSSHVJfEY2c2I+I35NM3xCYlQk Q01OYVV8N19XUj1Lc0dICm1eUz40SVNFfkh+VjwrU0xAbzU4KFRtQiElKit1XlhLQVAmZmNkKTlr PWw+NmZEfVM1LQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvZG9jcy9lbl9V Uy9xdWVyeV90b29sLnJzdCBiL2RvY3MvZW5fVVMvcXVlcnlfdG9vbC5yc3QKaW5kZXggODM5MzNm MC4uODBmMjdhNSAxMDA2NDQKLS0tIGEvZG9jcy9lbl9VUy9xdWVyeV90b29sLnJzdAorKysgYi9k b2NzL2VuX1VTL3F1ZXJ5X3Rvb2wucnN0CkBAIC0zMDAsMyArMzAwLDI0IEBAIHRyYW5zYWN0aW9u IHN0YXR1cyBieSBjbGlja2luZyBvbiB0aGUgc3RhdHVzIGljb24gaW4gdGhlIFF1ZXJ5IFRvb2w6 CiAuLiBpbWFnZTo6IGltYWdlcy9xdWVyeV90b29sX2Nvbm5lY3Rpb25fc3RhdHVzLnBuZwogICAg IDphbHQ6IFF1ZXJ5IHRvb2wgY29ubmVjdGlvbiBhbmQgdHJhbnNhY3Rpb24gc3RhdHVzZXMKICAg ICA6YWxpZ246IGNlbnRlcgorCitDaGFuZ2UgY29ubmVjdGlvbgorKioqKioqKioqKioqKioqKioK KworVXNlciBjYW4gY29ubmVjdCB0byBhbm90aGVyIHNlcnZlciBvciBkYXRhYmFzZSBmcm9tIGV4 aXN0aW5nIG9wZW4gc2Vzc2lvbiBvZiBxdWVyeSB0b29sLgorCisqIENsaWNrIG9uIHRoZSBjb25u ZWN0aW9uIGxpbmsgbmV4dCB0byBjb25uZWN0aW9uIHN0YXR1cy4KKyogTm93IGNsaWNrIG9uIHRo ZSAqPE5ldyBDb25uZWN0aW9uPiogb3B0aW9uIGZyb20gdGhlIGRyb3Bkb3duLgorCisuLiBpbWFn ZTo6IGltYWdlcy9uZXdfY29ubmVjdGlvbl9vcHRpb25zLnBuZworICAgIDphbHQ6IFF1ZXJ5IHRv b2wgY29ubmVjdGlvbiBvcHRpb25zCisgICAgOmFsaWduOiBjZW50ZXIKKworKiBOb3cgc2VsZWN0 IHNlcnZlciwgZGF0YWJhc2UsIHVzZXIsIGFuZCByb2xlIHRvIGNvbm5lY3QgYW5kIGNsaWNrIE9L LgorCisuLiBpbWFnZTo6IGltYWdlcy9uZXdfY29ubmVjdGlvbl9kaWFsb2cucG5nCisgICAgOmFs dDogUXVlcnkgdG9vbCBjb25uZWN0aW9uIGRpYWxvZworICAgIDphbGlnbjogY2VudGVyCisKKyog QSBuZXdseSBjcmVhdGVkIGNvbm5lY3Rpb24gd2lsbCBub3cgZ2V0IGxpc3RlZCBpbiB0aGUgb3B0 aW9ucy4KKyogVG8gY29ubmVjdCwgc2VsZWN0IHRoZSBuZXdseSBjcmVhdGVkIGNvbm5lY3Rpb24g ZnJvbSB0aGUgZHJvcGRvd24gbGlzdC4KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3JvbGVzL3Rlc3RzL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMvdXRpbHMucHkKaW5kZXgg M2E3ZWU1OC4uMDI4ZWU2NCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMvdXRpbHMucHkKQEAgLTE1Miwz ICsxNTIsMzggQEAgZGVmIGRlbGV0ZV9yb2xlKGNvbm5lY3Rpb24sIHJvbGVfbmFtZXMpOgogICAg ICAgICBleGNlcHRpb24gPSAiRXJyb3Igd2hpbGUgZGVsZXRpbmcgcm9sZTogJXM6IGxpbmU6JXMg JXMiICUgKAogICAgICAgICAgICAgZmlsZV9uYW1lLCBzeXMuZXhjX3RyYWNlYmFjay50Yl9saW5l bm8sIGV4Y2VwdGlvbikKICAgICAgICAgcHJpbnQoZXhjZXB0aW9uLCBmaWxlPXN5cy5zdGRlcnIp CisKKworZGVmIGNyZWF0ZV9yb2xlX3dpdGhfcGFzc3dvcmQoc2VydmVyLCByb2xlX25hbWUsIHJv bGVfcGFzc3dvcmQpOgorICAgICIiIgorICAgICBUaGlzIGZ1bmN0aW9uIGNyZWF0ZSB0aGUgcm9s ZS4KKyAgICAgOnBhcmFtIHNlcnZlcjoKKyAgICAgOnBhcmFtIHJvbGVfbmFtZToKKyAgICAgOnBh cmFtIHJvbGVfcGFzc3dvcmQ6CisgICAgIDpyZXR1cm46CisgICAgICIiIgorICAgIHRyeToKKyAg ICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdldF9kYl9jb25uZWN0aW9uKHNlcnZlclsnZGInXSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsndXNl cm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl cnZlclsnZGJfcGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VydmVyWydwb3J0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3NzbG1vZGUnXSkKKyAgICAgICAgcGdfY3Vyc29y ID0gY29ubmVjdGlvbi5jdXJzb3IoKQorICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgKKyAgICAg ICAgICAgICJDUkVBVEUgUk9MRSAlcyBMT0dJTiBQQVNTV09SRCAnJXMnIiAlIChyb2xlX25hbWUs IHJvbGVfcGFzc3dvcmQpKQorICAgICAgICBjb25uZWN0aW9uLmNvbW1pdCgpCisgICAgICAgICMg R2V0ICdvaWQnIGZyb20gbmV3bHkgY3JlYXRlZCB0YWJsZXNwYWNlCisgICAgICAgIHBnX2N1cnNv ci5leGVjdXRlKAorICAgICAgICAgICAgIlNFTEVDVCBwci5vaWQgZnJvbSBwZ19jYXRhbG9nLnBn X3JvbGVzIHByIFdIRVJFIHByLnJvbG5hbWU9JyVzJyIgJQorICAgICAgICAgICAgcm9sZV9uYW1l KQorICAgICAgICBvaWQgPSBwZ19jdXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICByb2xlX2lkID0g JycKKyAgICAgICAgaWYgb2lkOgorICAgICAgICAgICAgcm9sZV9pZCA9IG9pZFswXQorICAgICAg ICBjb25uZWN0aW9uLmNsb3NlKCkKKyAgICAgICAgcmV0dXJuIHJvbGVfaWQKKyAgICBleGNlcHQg RXhjZXB0aW9uIGFzIGV4Y2VwdGlvbjoKKyAgICAgICAgZXhjZXB0aW9uID0gIkVycm9yIHdoaWxl IGRlbGV0aW5nIHJvbGU6ICVzOiBsaW5lOiVzICVzIiAlICgKKyAgICAgICAgICAgIGZpbGVfbmFt ZSwgc3lzLmV4Y190cmFjZWJhY2sudGJfbGluZW5vLCBleGNlcHRpb24pCisgICAgICAgIHByaW50 KGV4Y2VwdGlvbiwgZmlsZT1zeXMuc3RkZXJyKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vbW9k ZWwvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9tb2RlbC9fX2luaXRfXy5weQppbmRleCA0MjVj OWU2Li4xZDMwMDkyIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9tb2RlbC9fX2luaXRfXy5weQor KysgYi93ZWIvcGdhZG1pbi9tb2RlbC9fX2luaXRfXy5weQpAQCAtOTQsNiArOTQsMTUgQEAgY2xh c3MgU2VydmVyR3JvdXAoZGIuTW9kZWwpOgogICAgIG5hbWUgPSBkYi5Db2x1bW4oZGIuU3RyaW5n KDEyOCksIG51bGxhYmxlPUZhbHNlKQogICAgIF9fdGFibGVfYXJnc19fID0gKGRiLlVuaXF1ZUNv bnN0cmFpbnQoJ3VzZXJfaWQnLCAnbmFtZScpLCkKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBz ZXJpYWxpemUoc2VsZik6CisgICAgICAgICIiIlJldHVybiBvYmplY3QgZGF0YSBpbiBlYXNpbHkg c2VyaWFsaXphYmxlIGZvcm1hdCIiIgorICAgICAgICByZXR1cm4geworICAgICAgICAgICAgJ2lk Jzogc2VsZi5pZCwKKyAgICAgICAgICAgICd1c2VyX2lkJzogc2VsZi51c2VyX2lkLAorICAgICAg ICAgICAgJ25hbWUnOiBzZWxmLm5hbWUsCisgICAgICAgIH0KKwogCiBjbGFzcyBTZXJ2ZXIoZGIu TW9kZWwpOgogICAgICIiIkRlZmluZSBhIHJlZ2lzdGVyZWQgUG9zdGdyZXMgc2VydmVyIiIiCkBA IC0xNzUsNiArMTg0LDQ0IEBAIGNsYXNzIFNlcnZlcihkYi5Nb2RlbCk6CiAgICAgdHVubmVsX3Bh c3N3b3JkID0gZGIuQ29sdW1uKGRiLlN0cmluZyg2NCksIG51bGxhYmxlPVRydWUpCiAgICAgc2hh cmVkID0gZGIuQ29sdW1uKGRiLkJvb2xlYW4oKSwgbnVsbGFibGU9RmFsc2UpCiAKKyAgICBAcHJv cGVydHkKKyAgICBkZWYgc2VyaWFsaXplKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gb2JqZWN0 IGRhdGEgaW4gZWFzaWx5IHNlcmlhbGl6YWJsZSBmb3JtYXQiIiIKKyAgICAgICAgcmV0dXJuIHsK KyAgICAgICAgICAgICJpZCI6IHNlbGYuaWQsCisgICAgICAgICAgICAidXNlcl9pZCI6IHNlbGYu dXNlcl9pZCwKKyAgICAgICAgICAgICJzZXJ2ZXJncm91cF9pZCI6IHNlbGYuc2VydmVyZ3JvdXBf aWQsCisgICAgICAgICAgICAibmFtZSI6IHNlbGYubmFtZSwKKyAgICAgICAgICAgICJob3N0Ijog c2VsZi5ob3N0LAorICAgICAgICAgICAgImhvc3RhZGRyIjogc2VsZi5ob3N0YWRkciwKKyAgICAg ICAgICAgICJwb3J0Ijogc2VsZi5wb3J0LAorICAgICAgICAgICAgIm1haW50ZW5hbmNlX2RiIjog c2VsZi5tYWludGVuYW5jZV9kYiwKKyAgICAgICAgICAgICJ1c2VybmFtZSI6IHNlbGYudXNlcm5h bWUsCisgICAgICAgICAgICAicGFzc3dvcmQiOiBzZWxmLnBhc3N3b3JkLAorICAgICAgICAgICAg InNhdmVfcGFzc3dvcmQiOiBzZWxmLnNhdmVfcGFzc3dvcmQsCisgICAgICAgICAgICAicm9sZSI6 IHNlbGYucm9sZSwKKyAgICAgICAgICAgICJzc2xfbW9kZSI6IHNlbGYuc3NsX21vZGUsCisgICAg ICAgICAgICAiY29tbWVudCI6IHNlbGYuY29tbWVudCwKKyAgICAgICAgICAgICJkaXNjb3Zlcnlf aWQiOiBzZWxmLmRpc2NvdmVyeV9pZCwKKyAgICAgICAgICAgICJkYl9yZXMiOiBzZWxmLmRiX3Jl cywKKyAgICAgICAgICAgICJwYXNzZmlsZSI6IHNlbGYucGFzc2ZpbGUsCisgICAgICAgICAgICAi c3NsY2VydCI6IHNlbGYuc3NsY2VydCwKKyAgICAgICAgICAgICJzc2xrZXkiOiBzZWxmLnNzbGtl eSwKKyAgICAgICAgICAgICJzc2xyb290Y2VydCI6IHNlbGYuc3Nscm9vdGNlcnQsCisgICAgICAg ICAgICAic3NsY3JsIjogc2VsZi5zc2xjcmwsCisgICAgICAgICAgICAic3NsY29tcHJlc3Npb24i OiBzZWxmLnNzbGNvbXByZXNzaW9uLAorICAgICAgICAgICAgImJnY29sb3IiOiBzZWxmLmJnY29s b3IsCisgICAgICAgICAgICAiZmdjb2xvciI6IHNlbGYuZmdjb2xvciwKKyAgICAgICAgICAgICJz ZXJ2aWNlIjogc2VsZi5zZXJ2aWNlLAorICAgICAgICAgICAgImNvbm5lY3RfdGltZW91dCI6IHNl bGYuY29ubmVjdF90aW1lb3V0LAorICAgICAgICAgICAgInVzZV9zc2hfdHVubmVsIjogc2VsZi51 c2Vfc3NoX3R1bm5lbCwKKyAgICAgICAgICAgICJ0dW5uZWxfaG9zdCI6IHNlbGYudHVubmVsX2hv c3QsCisgICAgICAgICAgICAidHVubmVsX3BvcnQiOiBzZWxmLnR1bm5lbF9wb3J0LAorICAgICAg ICAgICAgInR1bm5lbF9hdXRoZW50aWNhdGlvbiI6IHNlbGYudHVubmVsX2F1dGhlbnRpY2F0aW9u LAorICAgICAgICAgICAgInR1bm5lbF9pZGVudGl0eV9maWxlIjogc2VsZi50dW5uZWxfaWRlbnRp dHlfZmlsZSwKKyAgICAgICAgICAgICJ0dW5uZWxfcGFzc3dvcmQiOiBzZWxmLnR1bm5lbF9wYXNz d29yZAorICAgICAgICB9CisKIAogY2xhc3MgTW9kdWxlUHJlZmVyZW5jZShkYi5Nb2RlbCk6CiAg ICAgIiIiRGVmaW5lIGEgcHJlZmVyZW5jZXMgdGFibGUgZm9yIGFueSBtb2R1bGVzLiIiIgpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9uZXdfY29ubmVjdGlvbl9k aWFsb2cuanMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yL25ld19jb25uZWN0aW9u X2RpYWxvZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzFjMDY0Ci0t LSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9uZXdfY29u bmVjdGlvbl9kaWFsb2cuanMKQEAgLTAsMCArMSwyNjIgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBwZ0FkbWlu IDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisvLworLy8gQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwg VGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorLy8gVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNl ZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworaW1wb3J0IGdldHRl eHQgZnJvbSAnc291cmNlcy9nZXR0ZXh0JzsKK2ltcG9ydCB1cmxfZm9yIGZyb20gJ3NvdXJjZXMv dXJsX2Zvcic7CitpbXBvcnQgJCBmcm9tICdqcXVlcnknOworaW1wb3J0IEFsZXJ0aWZ5IGZyb20g J3BnYWRtaW4uYWxlcnRpZnlqcyc7CitpbXBvcnQgcGdBZG1pbiBmcm9tICdzb3VyY2VzL3BnYWRt aW4nOworaW1wb3J0IEJhY2tmb3JtIGZyb20gJ3BnYWRtaW4uYmFja2Zvcm0nOworaW1wb3J0IG5l d0Nvbm5lY3Rpb25EaWFsb2dNb2RlbCBmcm9tICdzb3VyY2VzL3NxbGVkaXRvci9uZXdfY29ubmVj dGlvbl9kaWFsb2dfbW9kZWwnOworCisKK2xldCBOZXdDb25uZWN0aW9uRGlhbG9nID0geworICAn ZGlhbG9nJzogZnVuY3Rpb24oaGFuZGxlciwgcmVjb25uZWN0KSB7CisgICAgbGV0IHVybCA9IHVy bF9mb3IoJ3NxbGVkaXRvci5nZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YScsIHsKKyAgICAgICdzaWQn OiBoYW5kbGVyLnVybF9wYXJhbXMuc2lkLAorICAgICAgJ3NnaWQnOiBoYW5kbGVyLnVybF9wYXJh bXMuc2dpZCwKKyAgICB9KTsKKworICAgIGlmKHJlY29ubmVjdCkgeworICAgICAgdXJsICs9ICc/ Y29ubmVjdD0xJzsKKyAgICB9CisKKyAgICBsZXQgdGl0bGUgPSBnZXR0ZXh0KCdDb25uZWN0IHRv IHNlcnZlcicpOworCisgICAgJC5hamF4KHsKKyAgICAgIHVybDogdXJsLAorICAgICAgaGVhZGVy czogeworICAgICAgICAnQ2FjaGUtQ29udHJvbCcgOiAnbm8tY2FjaGUnLAorICAgICAgfSwKKyAg ICB9KS5kb25lKGZ1bmN0aW9uIChyZXMpIHsKKyAgICAgIGxldCByZXNwb25zZSA9IHJlcy5kYXRh LnJlc3VsdDsKKyAgICAgIHJlc3BvbnNlLmRhdGFiYXNlX2xpc3QgPSBbXTsKKyAgICAgIHJlc3Bv bnNlLnVzZXJfbGlzdCA9IFtdOworICAgICAgaWYgKEFsZXJ0aWZ5Lm5ld0Nvbm5lY3Rpb25EaWFs b2cpIHsKKyAgICAgICAgZGVsZXRlIEFsZXJ0aWZ5Lm5ld0Nvbm5lY3Rpb25EaWFsb2c7CisgICAg ICB9CisKKyAgICAgIC8vIENyZWF0ZSBEaWFsb2cKKyAgICAgIEFsZXJ0aWZ5LmRpYWxvZygnbmV3 Q29ubmVjdGlvbkRpYWxvZycsIGZ1bmN0aW9uIGZhY3RvcnkoKSB7CisgICAgICAgIGxldCAkY29u dGFpbmVyID0gJCgnPGRpdiBjbGFzcz1cJ25ldy1jb25uZWN0aW9uLWRpYWxvZ1wnPjwvZGl2Picp OworICAgICAgICByZXR1cm4geworICAgICAgICAgIG1haW46IGZ1bmN0aW9uKG1lc3NhZ2UpIHsK KyAgICAgICAgICAgIHRoaXMubXNnID0gbWVzc2FnZTsKKyAgICAgICAgICB9LAorICAgICAgICAg IGJ1aWxkOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudHMuY29udGVudC5h cHBlbmRDaGlsZCgkY29udGFpbmVyLmdldCgwKSk7CisgICAgICAgICAgICBBbGVydGlmeS5wZ0Rp YWxvZ0J1aWxkLmFwcGx5KHRoaXMpOworICAgICAgICAgIH0sCisgICAgICAgICAgc2V0dXA6IGZ1 bmN0aW9uKCl7CisgICAgICAgICAgICByZXR1cm4geworICAgICAgICAgICAgICBidXR0b25zOiBb CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgdGV4dDogJycsCisgICAgICAg ICAgICAgICAgICBrZXk6IDExMiwKKyAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ2J0biBi dG4tcHJpbWFyeS1pY29uIHB1bGwtbGVmdCBmYSBmYS1xdWVzdGlvbiBwZy1hbGVydGlmeS1pY29u LWJ1dHRvbicsCisgICAgICAgICAgICAgICAgICBhdHRyczogeworICAgICAgICAgICAgICAgICAg ICBuYW1lOiAnZGlhbG9nX2hlbHAnLAorICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9u JywKKyAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGdldHRleHQoJ0hlbHAnKSwKKyAgICAgICAg ICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBnZXR0ZXh0KCdIZWxwJyksCisgICAgICAgICAgICAg ICAgICAgIHVybDogdXJsX2ZvcignaGVscC5zdGF0aWMnLCB7CisgICAgICAgICAgICAgICAgICAg ICAgJ2ZpbGVuYW1lJzogJ3F1ZXJ5X3Rvb2wuaHRtbCcsCisgICAgICAgICAgICAgICAgICAgIH0p LAorICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg ICAgIHsKKyAgICAgICAgICAgICAgICAgIHRleHQ6IGdldHRleHQoJ0NhbmNlbCcpLAorICAgICAg ICAgICAgICAgICAga2V5OiAyNywKKyAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogJ2J0biBi dG4tc2Vjb25kYXJ5IGZhIGZhLXRpbWVzIHBnLWFsZXJ0aWZ5LWJ1dHRvbicsCisgICAgICAgICAg ICAgICAgICAnZGF0YS1idG4tbmFtZSc6ICdjYW5jZWwnLAorICAgICAgICAgICAgICAgIH0sIHsK KyAgICAgICAgICAgICAgICAgIHRleHQ6IGdldHRleHQoJ09LJyksCisgICAgICAgICAgICAgICAg ICBrZXk6IDEzLAorICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1wcmltYXJ5 IGZhIGZhLWNoZWNrIHBnLWFsZXJ0aWZ5LWJ1dHRvbicsCisgICAgICAgICAgICAgICAgICAnZGF0 YS1idG4tbmFtZSc6ICdvaycsCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgXSwK KyAgICAgICAgICAgICAgLy8gU2V0IG9wdGlvbnMgZm9yIGRpYWxvZworICAgICAgICAgICAgICBv cHRpb25zOiB7CisgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLAorICAgICAgICAgICAgICAg IC8vZGlzYWJsZSBib3RoIHBhZGRpbmcgYW5kIG92ZXJmbG93IGNvbnRyb2wuCisgICAgICAgICAg ICAgICAgcGFkZGluZzogITEsCisgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICExLAorICAgICAg ICAgICAgICAgIG1vZGVsOiAwLAorICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSwKKyAg ICAgICAgICAgICAgICBtYXhpbWl6YWJsZTogZmFsc2UsCisgICAgICAgICAgICAgICAgcGlubmFi bGU6IGZhbHNlLAorICAgICAgICAgICAgICAgIGNsb3NhYmxlQnlEaW1tZXI6IGZhbHNlLAorICAg ICAgICAgICAgICAgIG1vZGFsOiBmYWxzZSwKKyAgICAgICAgICAgICAgICBhdXRvUmVzZXQ6IGZh bHNlLAorICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLAorICAgICAgICAgICAgICB9LAor ICAgICAgICAgICAgfTsKKyAgICAgICAgICB9LAorICAgICAgICAgIHByZXBhcmU6IGZ1bmN0aW9u KCkgeworICAgICAgICAgICAgbGV0IHNlbGYgPSB0aGlzOworICAgICAgICAgICAgJGNvbnRhaW5l ci5odG1sKCcnKTsKKyAgICAgICAgICAgIC8vIERpc2FibGUgT2sgYnV0dG9uCisgICAgICAgICAg ICB0aGlzLl9faW50ZXJuYWwuYnV0dG9uc1syXS5lbGVtZW50LmRpc2FibGVkID0gdHJ1ZTsKKwor ICAgICAgICAgICAgLy8gU3RhdHVzIGJhcgorICAgICAgICAgICAgdGhpcy5zdGF0dXNCYXIgPSAk KAorICAgICAgICAgICAgICAnPGRpdiBjbGFzcz1cJ3BnLXByb3Atc3RhdHVzLWJhciBwZy1lbC14 cy0xMiBkLW5vbmVcJz4nICsKKyAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImVycm9yLWluLWZv b3RlciI+ICcgKworICAgICAgICAgICAgJyAgICA8ZGl2IGNsYXNzPSJkLWZsZXggcHgtMiBweS0x Ij4gJyArCisgICAgICAgICAgICAnICAgICAgPGRpdiBjbGFzcz0icHItMiI+ICcgKworICAgICAg ICAgICAgJyAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHRleHQt ZGFuZ2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiAnICsKKyAgICAgICAgICAgICcgICAgICA8 L2Rpdj4gJyArCisgICAgICAgICAgICAnICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCIgcm9s ZT0iYWxlcnQiPjwvZGl2PiAnICsKKyAgICAgICAgICAgICcgICAgPC9kaXY+ICcgKworICAgICAg ICAgICAgJyAgPC9kaXY+ICcgKworICAgICAgICAgICAgJzwvZGl2PicpLmFwcGVuZFRvKCRjb250 YWluZXIpOworCisgICAgICAgICAgICAvLyBUbyBzaG93IHByb2dyZXNzIG9uIGZpbHRlciBTYXZp bmcvVXBkYXRpbmcgb24gQUpBWAorICAgICAgICAgICAgdGhpcy5zaG93TmV3Q29ubmVjdGlvblBy b2dyZXNzID0gJCgKKyAgICAgICAgICAgICAgYDxkaXYgaWQ9InNob3dfZmlsdGVyX3Byb2dyZXNz IiBjbGFzcz0icGctc3AtY29udGFpbmVyIHNxbC1lZGl0b3ItYnVzeS1mZXRjaGluZyBkLW5vbmUi PgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBnLXNwLWNvbnRlbnQiPgorICAgICAgICAg ICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC0xMiBwZy1zcC1pY29u IHNxbC1lZGl0b3ItYnVzeS1pY29uIj48L2Rpdj48L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAg PGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtMTIgcGctc3AtdGV4dCBzcWwtZWRpdG9y LWJ1c3ktdGV4dCI+YCArIGdldHRleHQoJ0xvYWRpbmcgZGF0YS4uLicpICsgYDwvZGl2PjwvZGl2 PgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPC9kaXY+YAorICAgICAgICAg ICAgKS5hcHBlbmRUbygkY29udGFpbmVyKTsKKyAgICAgICAgICAgICQoCisgICAgICAgICAgICAg IHNlbGYuc2hvd05ld0Nvbm5lY3Rpb25Qcm9ncmVzc1swXQorICAgICAgICAgICAgKS5yZW1vdmVD bGFzcygnZC1ub25lJyk7CisKKyAgICAgICAgICAgIHNlbGYubmV3Q29ubkNvbGxlY3Rpb25Nb2Rl bCA9IG5ld0Nvbm5lY3Rpb25EaWFsb2dNb2RlbChyZXNwb25zZSwgaGFuZGxlci51cmxfcGFyYW1z LnNnaWQsIGhhbmRsZXIudXJsX3BhcmFtcy5zaWQpOworICAgICAgICAgICAgbGV0IGZpZWxkcyA9 IEJhY2tmb3JtLmdlbmVyYXRlVmlld1NjaGVtYShudWxsLCBzZWxmLm5ld0Nvbm5Db2xsZWN0aW9u TW9kZWwsICdjcmVhdGUnLCBudWxsLCBudWxsLCB0cnVlKTsKKworICAgICAgICAgICAgbGV0IHZp ZXcgPSB0aGlzLnZpZXcgPSBuZXcgQmFja2Zvcm0uRGlhbG9nKHsKKyAgICAgICAgICAgICAgZWw6 ICc8ZGl2PjwvZGl2PicsCisgICAgICAgICAgICAgIG1vZGVsOiBzZWxmLm5ld0Nvbm5Db2xsZWN0 aW9uTW9kZWwsCisgICAgICAgICAgICAgIHNjaGVtYTogZmllbGRzLAorICAgICAgICAgICAgfSk7 CisKKyAgICAgICAgICAgICQodGhpcy5lbGVtZW50cy5ib2R5LmNoaWxkTm9kZXNbMF0pLmFkZENs YXNzKAorICAgICAgICAgICAgICAnYWxlcnRpZnlfdG9vbHNfZGlhbG9nX3Byb3BlcnRpZXMgb2Jq X3Byb3BlcnRpZXMnCisgICAgICAgICAgICApOworCisgICAgICAgICAgICAkY29udGFpbmVyLmFw cGVuZCh2aWV3LnJlbmRlcigpLiRlbCk7CisKKyAgICAgICAgICAgIC8vIEVuYWJsZS9kaXNhYmxl IHNhdmUgYnV0dG9uIGFuZCBzaG93L2hpZGUgc3RhdHVzYmFyIGJhc2VkIG9uIHNlc3Npb24KKyAg ICAgICAgICAgIHZpZXcubGlzdGVuVG8odmlldy5tb2RlbCwgJ3BnYWRtaW4tc2Vzc2lvbjpzdGFy dCcsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICB2aWV3Lmxpc3RlblRvKHZpZXcubW9kZWws ICdwZ2FkbWluLXNlc3Npb246aW52YWxpZCcsIGZ1bmN0aW9uKG1zZykgeworICAgICAgICAgICAg ICAgIHNlbGYuc3RhdHVzQmFyLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTsKKyAgICAgICAgICAgICAg ICAkKHNlbGYuc3RhdHVzQmFyLmZpbmQoJy5hbGVydC10ZXh0JykpLmh0bWwobXNnKTsKKyAgICAg ICAgICAgICAgICAvLyBEaXNhYmxlIE9rYXkgYnV0dG9uCisgICAgICAgICAgICAgICAgc2VsZi5f X2ludGVybmFsLmJ1dHRvbnNbMl0uZWxlbWVudC5kaXNhYmxlZCA9IHRydWU7CisgICAgICAgICAg ICAgIH0pOworCisgICAgICAgICAgICAgIHZpZXcubGlzdGVuVG8odmlldy5tb2RlbCwgJ3BnYWRt aW4tc2Vzc2lvbjp2YWxpZCcsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHNlbGYuc3Rh dHVzQmFyLmFkZENsYXNzKCdkLW5vbmUnKTsKKyAgICAgICAgICAgICAgICAkKHNlbGYuc3RhdHVz QmFyLmZpbmQoJy5hbGVydC10ZXh0JykpLmh0bWwoJycpOworICAgICAgICAgICAgICAgIC8vIEVu YWJsZSBPa2F5IGJ1dHRvbgorICAgICAgICAgICAgICAgIHNlbGYuX19pbnRlcm5hbC5idXR0b25z WzJdLmVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgfSk7CisgICAgICAg ICAgICB9KTsKKworICAgICAgICAgICAgdmlldy5saXN0ZW5Ubyh2aWV3Lm1vZGVsLCAncGdhZG1p bi1zZXNzaW9uOnN0b3AnLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgdmlldy5zdG9wTGlz dGVuaW5nKHZpZXcubW9kZWwsICdwZ2FkbWluLXNlc3Npb246aW52YWxpZCcpOworICAgICAgICAg ICAgICB2aWV3LnN0b3BMaXN0ZW5pbmcodmlldy5tb2RlbCwgJ3BnYWRtaW4tc2Vzc2lvbjp2YWxp ZCcpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIC8vIFN0YXJ0cyBtb25pdG9yaW5n IGNoYW5nZXMgdG8gbW9kZWwKKyAgICAgICAgICAgIHZpZXcubW9kZWwuc3RhcnROZXdTZXNzaW9u KCk7CisKKyAgICAgICAgICAgIC8vIEhpZGUgUHJvZ3Jlc3MgLi4uCisgICAgICAgICAgICAkKAor ICAgICAgICAgICAgICBzZWxmLnNob3dOZXdDb25uZWN0aW9uUHJvZ3Jlc3NbMF0KKyAgICAgICAg ICAgICkuYWRkQ2xhc3MoJ2Qtbm9uZScpOworICAgICAgICAgIH0sCisgICAgICAgICAgY2FsbGJh Y2s6IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgIGxldCBzZWxmID0gdGhpczsKKyAgICAgICAg ICAgIGlmIChlLmJ1dHRvbi5lbGVtZW50Lm5hbWUgPT0gJ2RpYWxvZ19oZWxwJykgeworICAgICAg ICAgICAgICBlLmNhbmNlbCA9IHRydWU7CisgICAgICAgICAgICAgIHBnQWRtaW4uQnJvd3Nlci5z aG93SGVscChlLmJ1dHRvbi5lbGVtZW50Lm5hbWUsIGUuYnV0dG9uLmVsZW1lbnQuZ2V0QXR0cmli dXRlKCd1cmwnKSwKKyAgICAgICAgICAgICAgICBudWxsLCBudWxsKTsKKyAgICAgICAgICAgICAg cmV0dXJuOworICAgICAgICAgICAgfSBlbHNlIGlmIChlLmJ1dHRvblsnZGF0YS1idG4tbmFtZSdd ID09PSAnb2snKSB7CisgICAgICAgICAgICAgIGUuY2FuY2VsID0gdHJ1ZTsgLy8gRG8gbm90IGNs b3NlIGRpYWxvZworICAgICAgICAgICAgICBsZXQgbmV3Q29ubkNvbGxlY3Rpb25Nb2RlbCA9IHRo aXMubmV3Q29ubkNvbGxlY3Rpb25Nb2RlbC50b0pTT04oKTsKKworICAgICAgICAgICAgICBsZXQg c2VsZWN0ZWRfZGF0YWJhc2VfbmFtZSA9IG51bGw7CisgICAgICAgICAgICAgIHJlc3BvbnNlLmRh dGFiYXNlX2xpc3QuZm9yRWFjaChmdW5jdGlvbihkYXRhKXsKKyAgICAgICAgICAgICAgICBpZihu ZXdDb25uQ29sbGVjdGlvbk1vZGVsWydkYXRhYmFzZSddID09IGRhdGFbJ3ZhbHVlJ10pIHsKKyAg ICAgICAgICAgICAgICAgIHNlbGVjdGVkX2RhdGFiYXNlX25hbWUgPSBkYXRhWydsYWJlbCddOwor ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAg ICAgICAgICAgfSk7CisgICAgICAgICAgICAgIGxldCB0aXRsZSA9ICcnOworICAgICAgICAgICAg ICBpZihuZXdDb25uQ29sbGVjdGlvbk1vZGVsWydyb2xlJ10pIHsKKyAgICAgICAgICAgICAgICB0 aXRsZSA9IHNlbGVjdGVkX2RhdGFiYXNlX25hbWUgKyAnLycgKyBuZXdDb25uQ29sbGVjdGlvbk1v ZGVsWydyb2xlJ10gKyAnQCcgKyByZXNwb25zZS5zZXJ2ZXJfbmFtZTsKKyAgICAgICAgICAgICAg fSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0aXRsZSA9IHNlbGVjdGVkX2RhdGFiYXNlX25hbWUg KyAnLycgKyBuZXdDb25uQ29sbGVjdGlvbk1vZGVsWyd1c2VyJ10gKyAnQCcgKyByZXNwb25zZS5z ZXJ2ZXJfbmFtZTsKKyAgICAgICAgICAgICAgICBuZXdDb25uQ29sbGVjdGlvbk1vZGVsWydyb2xl J10gPSBudWxsOworICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgbGV0IGlzX2NyZWF0 ZV9jb25uZWN0aW9uID0gdHJ1ZTsKKworICAgICAgICAgICAgICBoYW5kbGVyLmdyaWRWaWV3LmNv bm5lY3Rpb25fbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGNvbm5lY3Rpb25fZGF0YSl7CisgICAgICAg ICAgICAgICAgaWYocGFyc2VJbnQoY29ubmVjdGlvbl9kYXRhWydzZXJ2ZXInXSkgPT0gbmV3Q29u bkNvbGxlY3Rpb25Nb2RlbFsnc2VydmVyJ10KKyAgICAgICAgICAgICAgICAmJiBwYXJzZUludChj b25uZWN0aW9uX2RhdGFbJ2RhdGFiYXNlJ10pID09IG5ld0Nvbm5Db2xsZWN0aW9uTW9kZWxbJ2Rh dGFiYXNlJ10KKyAgICAgICAgICAgICAgICAmJiBjb25uZWN0aW9uX2RhdGFbJ3VzZXInXSA9PSBu ZXdDb25uQ29sbGVjdGlvbk1vZGVsWyd1c2VyJ10gJiYgY29ubmVjdGlvbl9kYXRhWydyb2xlJ10g PT0gbmV3Q29ubkNvbGxlY3Rpb25Nb2RlbFsncm9sZSddKSB7CisgICAgICAgICAgICAgICAgICBp c19jcmVhdGVfY29ubmVjdGlvbiA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgLy8gYnJlYWsg Zm9yIGxvb3AgYnkgcmV0dXJuIGZhbHNlLgorICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmKHRpdGxlID09IGNvbm5l Y3Rpb25fZGF0YVsndGl0bGUnXSkgeworICAgICAgICAgICAgICAgICAgaXNfY3JlYXRlX2Nvbm5l Y3Rpb24gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg ICAgICAgICB9CisgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICBpZighaXNfY3JlYXRl X2Nvbm5lY3Rpb24pIHsKKyAgICAgICAgICAgICAgICBsZXQgZXJybXNnID0gJ0Nvbm5lY3Rpb24g d2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24gYWxyZWFkeSBwcmVzZW50Lic7CisgICAgICAgICAgICAg ICAgQWxlcnRpZnkuaW5mbyhlcnJtc2cpOworICAgICAgICAgICAgICB9ZWxzZSB7CisgICAgICAg ICAgICAgICAgbGV0IGNvbm5lY3Rpb25fZGV0YWlscyA9IHsKKyAgICAgICAgICAgICAgICAgICdz ZXJ2ZXJfZ3JvdXAnOiBoYW5kbGVyLmdyaWRWaWV3LmhhbmRsZXIudXJsX3BhcmFtcy5zZ2lkLAor ICAgICAgICAgICAgICAgICAgJ3NlcnZlcic6IG5ld0Nvbm5Db2xsZWN0aW9uTW9kZWxbJ3NlcnZl ciddLAorICAgICAgICAgICAgICAgICAgJ2RhdGFiYXNlJzogbmV3Q29ubkNvbGxlY3Rpb25Nb2Rl bFsnZGF0YWJhc2UnXSwKKyAgICAgICAgICAgICAgICAgICd0aXRsZSc6IHRpdGxlLAorICAgICAg ICAgICAgICAgICAgJ3VzZXInOiBuZXdDb25uQ29sbGVjdGlvbk1vZGVsWyd1c2VyJ10sCisgICAg ICAgICAgICAgICAgICAncm9sZSc6IG5ld0Nvbm5Db2xsZWN0aW9uTW9kZWxbJ3JvbGUnXSwKKyAg ICAgICAgICAgICAgICAgICdwYXNzd29yZCc6IHJlc3BvbnNlLnBhc3N3b3JkLAorICAgICAgICAg ICAgICAgIH07CisgICAgICAgICAgICAgICAgaGFuZGxlci5ncmlkVmlldy5vbl9jaGFuZ2VfY29u bmVjdGlvbihjb25uZWN0aW9uX2RldGFpbHMsIHNlbGYpOworICAgICAgICAgICAgICB9CisgICAg ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBzZWxmLmNsb3NlKCk7CisgICAgICAgICAg ICB9CisgICAgICAgICAgfSwKKyAgICAgICAgfTsKKyAgICAgIH0pOworICAgICAgc2V0VGltZW91 dChmdW5jdGlvbigpeworICAgICAgICBBbGVydGlmeS5uZXdDb25uZWN0aW9uRGlhbG9nKCdDb25u ZWN0IHRvIHNlcnZlci4nKS5yZXNpemVUbyhwZ0FkbWluLkJyb3dzZXIuc3RkVy5tZCxwZ0FkbWlu LkJyb3dzZXIuc3RkSC5tZCk7CisgICAgICB9LCA1MDApOworICAgIH0pLmZhaWwoZnVuY3Rpb24o ZXJyb3IpIHsKKyAgICAgIEFsZXJ0aWZ5LmFsZXJ0KCkuc2V0dGluZyh7CisgICAgICAgICd0aXRs ZSc6IGdldHRleHQoJ0Nvbm5lY3Rpb24gbG9zdCcpLAorICAgICAgICAnbGFiZWwnOmdldHRleHQo J09rJyksCisgICAgICAgICdtZXNzYWdlJzogZ2V0dGV4dCgnQ29ubmVjdGlvbiB0byB0aGUgc2Vy dmVyIGhhcyBiZWVuIGxvc3QuJyksCisgICAgICAgICdvbm9rJzogZnVuY3Rpb24oKXsKKyAgICAg ICAgICBhbGVydChlcnJvcik7CisgICAgICAgICAgLy9DbG9zZSB0aGUgd2luZG93IGFmdGVyIGNv bm5lY3Rpb24gaXMgbG9zdAorICAgICAgICAgIHdpbmRvdy5jbG9zZSgpOworICAgICAgICB9LAor ICAgICAgfSkuc2hvdygpOworICAgIH0pOworCisgIH0sCisKK307CisKK21vZHVsZS5leHBvcnRz ID0gTmV3Q29ubmVjdGlvbkRpYWxvZzsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9q cy9zcWxlZGl0b3IvbmV3X2Nvbm5lY3Rpb25fZGlhbG9nX21vZGVsLmpzIGIvd2ViL3BnYWRtaW4v c3RhdGljL2pzL3NxbGVkaXRvci9uZXdfY29ubmVjdGlvbl9kaWFsb2dfbW9kZWwuanMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNiYTZlNgotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3IvbmV3X2Nvbm5lY3Rpb25fZGlhbG9nX21v ZGVsLmpzCkBAIC0wLDAgKzEsMzM5IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1pbiA0IC0gUG9zdGdy ZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWlu IERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhl IFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKK2ltcG9ydCBnZXR0ZXh0IGZyb20gJ3Nv dXJjZXMvZ2V0dGV4dCc7CitpbXBvcnQgXyBmcm9tICd1bmRlcnNjb3JlJzsKK2ltcG9ydCAkIGZy b20gJ2pxdWVyeSc7CitpbXBvcnQgcGdBZG1pbiBmcm9tICdzb3VyY2VzL3BnYWRtaW4nOworaW1w b3J0IEJhY2tmb3JtIGZyb20gJ3BnYWRtaW4uYmFja2Zvcm0nOworaW1wb3J0IHVybF9mb3IgZnJv bSAnc291cmNlcy91cmxfZm9yJzsKK2ltcG9ydCBhbGVydGlmeSBmcm9tICdwZ2FkbWluLmFsZXJ0 aWZ5anMnOworCitleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBuZXdDb25uZWN0aW9uRGlhbG9nTW9k ZWwocmVzcG9uc2UsIHNnaWQsIHNpZCkgeworCisgIGxldCBzZXJ2ZXJfbmFtZSA9ICcnOworICBs ZXQgZGF0YWJhc2VfbmFtZSA9ICcnOworCisgIGxldCBOZXdDb25uZWN0aW9uU2VsZWN0MkNvbnRy b2wgPSBCYWNrZm9ybS5TZWxlY3QyQ29udHJvbC5leHRlbmQoeworICAgIGZldGNoRGF0YTogZnVu Y3Rpb24oKXsKKyAgICAgIGxldCBzZWxmID0gdGhpczsKKyAgICAgIHVybCA9IHNlbGYuZmllbGQu Z2V0KCd1cmwnKTsKKworICAgICAgbGV0IHVybCA9IHVybF9mb3IodXJsLCB7CisgICAgICAgICdz aWQnOiBzZWxmLm1vZGVsLmF0dHJpYnV0ZXMuc2VydmVyLAorICAgICAgICAnc2dpZCc6IHNnaWQs CisgICAgICB9KTsKKworICAgICAgJC5hamF4KHsKKyAgICAgICAgYXN5bmM6IGZhbHNlLAorICAg ICAgICB1cmw6IHVybCwKKyAgICAgICAgaGVhZGVyczogeworICAgICAgICAgICdDYWNoZS1Db250 cm9sJyA6ICduby1jYWNoZScsCisgICAgICAgIH0sCisgICAgICB9KS5kb25lKGZ1bmN0aW9uIChy ZXMpIHsKKyAgICAgICAgdmFyIHRyYW5zZm9ybSA9IHNlbGYuZmllbGQuZ2V0KCd0cmFuc2Zvcm0n KTsKKyAgICAgICAgaWYocmVzLmRhdGEuc3RhdHVzKXsKKyAgICAgICAgICBsZXQgZGF0YSA9IHJl cy5kYXRhLnJlc3VsdC5kYXRhOworCisgICAgICAgICAgaWYgKHRyYW5zZm9ybSAmJiBfLmlzRnVu Y3Rpb24odHJhbnNmb3JtKSkgeworICAgICAgICAgICAgc2VsZi5maWVsZC5zZXQoJ29wdGlvbnMn LCB0cmFuc2Zvcm0uYmluZChzZWxmLCBkYXRhKSk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAg ICAgICAgIHNlbGYuZmllbGQuc2V0KCdvcHRpb25zJywgZGF0YSk7CisgICAgICAgICAgfQorICAg ICAgICB9IGVsc2UgeworICAgICAgICAgIGlmICh0cmFuc2Zvcm0gJiYgXy5pc0Z1bmN0aW9uKHRy YW5zZm9ybSkpIHsKKyAgICAgICAgICAgIHNlbGYuZmllbGQuc2V0KCdvcHRpb25zJywgdHJhbnNm b3JtLmJpbmQoc2VsZiwgW10pKTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2Vs Zi5maWVsZC5zZXQoJ29wdGlvbnMnLCBbXSk7CisgICAgICAgICAgfQorICAgICAgICAgIC8vYWxl cnRpZnkuZXJyb3IocmVzLmRhdGEubXNnKTsKKyAgICAgICAgfQorICAgICAgfSkuZmFpbChmdW5j dGlvbihlKXsKKyAgICAgICAgbGV0IG1zZyA9ICcnOworICAgICAgICBpZihlLnN0YXR1cyA9PSA0 MDQpIHsKKyAgICAgICAgICBtc2cgPSAnVW5hYmxlIHRvIGZpbmQgdXJsLic7CisgICAgICAgIH0g ZWxzZSB7CisgICAgICAgICAgbXNnID0gZS5yZXNwb25zZUpTT04uZXJyb3Jtc2c7CisgICAgICAg IH0KKyAgICAgICAgYWxlcnRpZnkuZXJyb3IobXNnKTsKKyAgICAgIH0pOworICAgIH0sCisgICAg cmVuZGVyOiBmdW5jdGlvbigpIHsKKyAgICAgIHRoaXMuZmV0Y2hEYXRhKCk7CisgICAgICByZXR1 cm4gQmFja2Zvcm0uU2VsZWN0MkNvbnRyb2wucHJvdG90eXBlLnJlbmRlci5hcHBseSh0aGlzLCBh cmd1bWVudHMpOworICAgIH0sCisgICAgb25DaGFuZ2U6IGZ1bmN0aW9uKCkgeworICAgICAgQmFj a2Zvcm0uU2VsZWN0MkNvbnRyb2wucHJvdG90eXBlLm9uQ2hhbmdlLmFwcGx5KHRoaXMsIGFyZ3Vt ZW50cyk7CisgICAgfSwKKyAgfSk7CisKKyAgbGV0IG5ld0Nvbm5lY3Rpb25Nb2RlbCA9IHBnQWRt aW4uQnJvd3Nlci5EYXRhTW9kZWwuZXh0ZW5kKHsKKyAgICBpZEF0dHJpYnV0ZTogJ25hbWUnLAor ICAgIGRlZmF1bHRzOiB7CisgICAgICBzZXJ2ZXI6IHBhcnNlSW50KHNpZCksCisgICAgICBkYXRh YmFzZTogbnVsbCwKKyAgICAgIHVzZXI6IG51bGwsCisgICAgICBwYXNzd29yZDogbnVsbCwKKyAg ICAgIHNlcnZlcl9uYW1lOiBzZXJ2ZXJfbmFtZSwKKyAgICAgIGRhdGFiYXNlX25hbWU6IGRhdGFi YXNlX25hbWUsCisgICAgfSwKKyAgICBzY2hlbWE6IFt7CisgICAgICBpZDogJ3NlcnZlcicsCisg ICAgICBuYW1lOiAnc2VydmVyJywKKyAgICAgIGxhYmVsOiBnZXR0ZXh0KCdTZXJ2ZXInKSwKKyAg ICAgIHR5cGU6ICd0ZXh0JywKKyAgICAgIGVkaXRhYmxlOiB0cnVlLAorICAgICAgZGlzYWJsZWQ6 IGZhbHNlLAorICAgICAgc2VsZWN0MjogeworICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSwKKyAg ICAgIH0sCisgICAgICBjb250cm9sOiBCYWNrZm9ybS5TZWxlY3QyQ29udHJvbC5leHRlbmQoewor ICAgICAgICBjb25uZWN0OiBmdW5jdGlvbihzZWxmKSB7CisgICAgICAgICAgLyppZiAoYWxlcnRp ZnkuY29ubmVjdFNlcnZlcikgeworICAgICAgICAgICAgZGVsZXRlIGFsZXJ0aWZ5LmNvbm5lY3RT ZXJ2ZXI7CisgICAgICAgICAgfSovCisgICAgICAgICAgaWYoIWFsZXJ0aWZ5LmNvbm5lY3RTZXJ2 ZXIpeworICAgICAgICAgICAgYWxlcnRpZnkuZGlhbG9nKCdjb25uZWN0U2VydmVyJywgZnVuY3Rp b24gZmFjdG9yeSgpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICAgICBt YWluOiBmdW5jdGlvbigKKyAgICAgICAgICAgICAgICAgIHRpdGxlLCBtZXNzYWdlLCBzaWQsIHN1 Ym1pdF9wYXNzd29yZD10cnVlCisgICAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAg ICB0aGlzLnNldCgndGl0bGUnLCB0aXRsZSk7CisgICAgICAgICAgICAgICAgICB0aGlzLm1lc3Nh Z2UgPSBtZXNzYWdlOworICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2ZXJfaWQgPSBzaWQ7Cisg ICAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdF9wYXNzd29yZCA9IHN1Ym1pdF9wYXNzd29yZDsK KyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIHNldHVwOmZ1bmN0aW9uKCkgewor ICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICAgICAgICAgYnV0dG9uczpb eworICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGdldHRleHQoJ0NhbmNlbCcpLCBjbGFzc05h bWU6ICdidG4gYnRuLXNlY29uZGFyeSBmYSBmYS10aW1lcyBwZy1hbGVydGlmeS1idXR0b24nLAor ICAgICAgICAgICAgICAgICAgICAgIGtleTogMjcsCisgICAgICAgICAgICAgICAgICAgIH0sewor ICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGdldHRleHQoJ09LJyksIGtleTogMTMsIGNsYXNz TmFtZTogJ2J0biBidG4tcHJpbWFyeSBmYSBmYS1jaGVjayBwZy1hbGVydGlmeS1idXR0b24nLAor ICAgICAgICAgICAgICAgICAgICB9XSwKKyAgICAgICAgICAgICAgICAgICAgZm9jdXM6IHtlbGVt ZW50OiAnI3Bhc3N3b3JkJywgc2VsZWN0OiB0cnVlfSwKKyAgICAgICAgICAgICAgICAgICAgb3B0 aW9uczogeworICAgICAgICAgICAgICAgICAgICAgIG1vZGFsOiAwLCByZXNpemFibGU6IGZhbHNl LCBtYXhpbWl6YWJsZTogZmFsc2UsIHBpbm5hYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAg ICAgfSwKKyAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg ICAgICAgICBidWlsZDpmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAg ICAgICAgIHByZXBhcmU6ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICB0aGlzLnNldENv bnRlbnQodGhpcy5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg IGNhbGxiYWNrOiBmdW5jdGlvbihjbG9zZUV2ZW50KSB7CisKKyAgICAgICAgICAgICAgICAgIGlm IChjbG9zZUV2ZW50LmJ1dHRvbi50ZXh0ID09IGdldHRleHQoJ09LJykpIHsKKyAgICAgICAgICAg ICAgICAgICAgaWYodGhpcy5zdWJtaXRfcGFzc3dvcmQpIHsKKyAgICAgICAgICAgICAgICAgICAg ICB2YXIgX3VybCA9IHVybF9mb3IoJ3NjaGVtYV9kaWZmLmNvbm5lY3Rfc2VydmVyJywgeydzaWQn OiB0aGlzLnNlcnZlcl9pZH0pOworCisgICAgICAgICAgICAgICAgICAgICAgJC5hamF4KHsKKyAg ICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdQT1NUJywKKyAgICAgICAgICAgICAgICAgICAg ICAgIHRpbWVvdXQ6IDMwMDAwLAorICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBfdXJsLAor ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogJCgnI2ZybVBhc3N3b3JkJykuc2VyaWFsaXpl KCksCisgICAgICAgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAgICAgICAgICAgIC5k b25lKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1vZGVsLmF0 dHJpYnV0ZXMuZGF0YWJhc2UgPSBudWxsOworICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm Lm1vZGVsLmF0dHJpYnV0ZXMudXNlciA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYubW9kZWwuYXR0cmlidXRlcy5yb2xlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgQmFja2Zvcm0uU2VsZWN0MkNvbnRyb2wucHJvdG90eXBlLm9uQ2hhbmdlLmFwcGx5KHNl bGYsIGFyZ3VtZW50cyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNlcnZl cl9saXN0LmZvckVhY2goZnVuY3Rpb24ob2JqKXsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpZihvYmouaWQ9PXNlbGYubW9kZWwuY2hhbmdlZC5zZXJ2ZXIpIHsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNlcnZlcl9uYW1lID0gb2JqLm5hbWU7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAg ICAgICAgICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgICAgICAgICAuZmFpbChm dW5jdGlvbih4aHIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnRpZnkuY29ubmVj dFNlcnZlcignQ29ubmVjdCB0byBzZXJ2ZXInLCB4aHIucmVzcG9uc2VKU09OLnJlc3VsdCwgc2Vs Zi5nZXRWYWx1ZUZyb21ET00oKSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAg ICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5w YXNzd29yZCA9ICQoJyNwYXNzd29yZCcpLnZhbCgpOworICAgICAgICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBzZWxmLm1vZGVs LmF0dHJpYnV0ZXMuZGF0YWJhc2UgPSBudWxsOworICAgICAgICAgICAgICAgICAgICBzZWxmLm1v ZGVsLmF0dHJpYnV0ZXMudXNlciA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgIHNlbGYubW9k ZWwuYXR0cmlidXRlcy5yb2xlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgQmFja2Zvcm0u U2VsZWN0MkNvbnRyb2wucHJvdG90eXBlLm9uQ2hhbmdlLmFwcGx5KHNlbGYsIGFyZ3VtZW50cyk7 CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICBjbG9zZUV2ZW50LmNsb3Nl ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICB9OworICAgICAgICAg ICAgfSk7CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICByZW5kZXI6IGZ1bmN0aW9u KCkgeworICAgICAgICAgIGxldCBzZWxmID0gdGhpczsKKyAgICAgICAgICBzZWxmLmNvbm5lY3Qo c2VsZik7CisgICAgICAgICAgcmV0dXJuIEJhY2tmb3JtLlNlbGVjdDJDb250cm9sLnByb3RvdHlw ZS5yZW5kZXIuYXBwbHkoc2VsZiwgYXJndW1lbnRzKTsKKyAgICAgICAgfSwKKyAgICAgICAgb25D aGFuZ2U6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHRoaXMubW9kZWwuYXR0cmlidXRlcy5kYXRh YmFzZSA9IG51bGw7CisgICAgICAgICAgdGhpcy5tb2RlbC5hdHRyaWJ1dGVzLnVzZXIgPSBudWxs OworICAgICAgICAgIGxldCBzZWxmID0gdGhpczsKKyAgICAgICAgICBzZWxmLmNvbm5lY3Qoc2Vs Zik7CisKKyAgICAgICAgICBsZXQgdXJsID0gdXJsX2Zvcignc3FsZWRpdG9yLmNvbm5lY3Rfc2Vy dmVyJywgeworICAgICAgICAgICAgJ3NpZCc6IHNlbGYuZ2V0VmFsdWVGcm9tRE9NKCksCisgICAg ICAgICAgfSk7CisgICAgICAgICAgJC5hamF4KHsKKyAgICAgICAgICAgIGFzeW5jOiBmYWxzZSwK KyAgICAgICAgICAgIHVybDogdXJsLAorICAgICAgICAgICAgaGVhZGVyczogeworICAgICAgICAg ICAgICAnQ2FjaGUtQ29udHJvbCcgOiAnbm8tY2FjaGUnLAorICAgICAgICAgICAgfSwKKyAgICAg ICAgICB9KS5kb25lKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIEJhY2tmb3JtLlNlbGVjdDJD b250cm9sLnByb3RvdHlwZS5vbkNoYW5nZS5hcHBseShzZWxmLCBhcmd1bWVudHMpOworICAgICAg ICAgICAgcmVzcG9uc2Uuc2VydmVyX2xpc3QuZm9yRWFjaChmdW5jdGlvbihvYmopeworICAgICAg ICAgICAgICBpZihvYmouaWQ9PXNlbGYubW9kZWwuY2hhbmdlZC5zZXJ2ZXIpIHsKKyAgICAgICAg ICAgICAgICByZXNwb25zZS5zZXJ2ZXJfbmFtZSA9IG9iai5uYW1lOworICAgICAgICAgICAgICB9 CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICB9KS5mYWlsKGZ1bmN0aW9uKHhocil7CisgICAg ICAgICAgICBhbGVydGlmeS5jb25uZWN0U2VydmVyKCdDb25uZWN0IHRvIHNlcnZlcicsIHhoci5y ZXNwb25zZUpTT04ucmVzdWx0LCBzZWxmLmdldFZhbHVlRnJvbURPTSgpKTsKKyAgICAgICAgICB9 KTsKKworICAgICAgICB9LAorICAgICAgfSksCisgICAgICBvcHRpb25zOiBmdW5jdGlvbigpIHsK KyAgICAgICAgcmV0dXJuIF8ubWFwKHJlc3BvbnNlLnNlcnZlcl9saXN0LCAob2JqKSA9PiB7Cisg ICAgICAgICAgaWYgKG9iai5pZCA9PSBwYXJzZUludChzaWQpKQorICAgICAgICAgICAgcmVzcG9u c2Uuc2VydmVyX25hbWUgPSBvYmoubmFtZTsKKworICAgICAgICAgIHJldHVybiB7CisgICAgICAg ICAgICB2YWx1ZTogb2JqLmlkLAorICAgICAgICAgICAgbGFiZWw6IG9iai5uYW1lLAorICAgICAg ICAgIH07CisgICAgICAgIH0pOworICAgICAgfSwKKyAgICB9LAorICAgIHsKKyAgICAgIGlkOiAn ZGF0YWJhc2UnLAorICAgICAgbmFtZTogJ2RhdGFiYXNlJywKKyAgICAgIGxhYmVsOiBnZXR0ZXh0 KCdEYXRhYmFzZScpLAorICAgICAgdHlwZTogJ3RleHQnLAorICAgICAgZWRpdGFibGU6IHRydWUs CisgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgeworICAgICAgICBsZXQgc2VsZl9sb2NhbCA9 IHRoaXM7CisgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChtLmdldCgnc2VydmVyJykpICYmICFf LmlzTnVsbChtLmdldCgnc2VydmVyJykpCisgICAgICAgICAgICAmJiBtLmdldCgnc2VydmVyJykg IT09ICcnKSB7CisgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAg IGlmKHNlbGZfbG9jYWwub3B0aW9ucy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgbS5zZXQoJ2Rh dGFiYXNlJywgc2VsZl9sb2NhbC5vcHRpb25zWzBdLnZhbHVlKTsKKyAgICAgICAgICAgIH0KKyAg ICAgICAgICB9LCAxMCk7CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAg ICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9LAorICAgICAgZGVwczogWydzZXJ2ZXInXSwKKyAg ICAgIHVybDogJ3NxbGVkaXRvci5nZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2UnLAorICAgICAg c2VsZWN0MjogeworICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSwKKyAgICAgICAgd2lkdGg6ICcx MDAlJywKKyAgICAgICAgZmlyc3RfZW1wdHk6IHRydWUsCisgICAgICAgIHNlbGVjdF9maXJzdDog ZmFsc2UsCisgICAgICB9LAorICAgICAgZXh0cmFDbGFzc2VzOlsnbmV3LWNvbm5lY3Rpb24tZGlh bG9nLXN0eWxlJ10sCisgICAgICBjb250cm9sOiBOZXdDb25uZWN0aW9uU2VsZWN0MkNvbnRyb2ws CisgICAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICAgICAgcmVzcG9uc2UuZGF0 YWJhc2VfbGlzdCA9IGRhdGE7CisgICAgICAgIHJldHVybiBkYXRhOworICAgICAgfSwKKyAgICB9 LAorICAgIHsKKyAgICAgIGlkOiAndXNlcicsCisgICAgICBuYW1lOiAndXNlcicsCisgICAgICBs YWJlbDogZ2V0dGV4dCgnVXNlcicpLAorICAgICAgdHlwZTogJ3RleHQnLAorICAgICAgZWRpdGFi bGU6IHRydWUsCisgICAgICBkZXBzOiBbJ3NlcnZlciddLAorICAgICAgc2VsZWN0MjogeworICAg ICAgICBhbGxvd0NsZWFyOiBmYWxzZSwKKyAgICAgICAgd2lkdGg6ICcxMDAlJywKKyAgICAgIH0s CisgICAgICBjb250cm9sOiBOZXdDb25uZWN0aW9uU2VsZWN0MkNvbnRyb2wsCisgICAgICB1cmw6 ICdzcWxlZGl0b3IuZ2V0X25ld19jb25uZWN0aW9uX3VzZXInLAorICAgICAgZGlzYWJsZWQ6IGZ1 bmN0aW9uKG0pIHsKKyAgICAgICAgbGV0IHNlbGZfbG9jYWwgPSB0aGlzOworICAgICAgICBpZiAo IV8uaXNVbmRlZmluZWQobS5nZXQoJ3NlcnZlcicpKSAmJiAhXy5pc051bGwobS5nZXQoJ3NlcnZl cicpKQorICAgICAgICAgICAgJiYgbS5nZXQoJ3NlcnZlcicpICE9PSAnJykgeworICAgICAgICAg IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBpZihzZWxmX2xvY2FsLm9wdGlv bnMubGVuZ3RoKSB7CisgICAgICAgICAgICAgIG0uc2V0KCd1c2VyJywgc2VsZl9sb2NhbC5vcHRp b25zWzBdLnZhbHVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9LCAxMCk7CisgICAgICAg ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAg fSwKKyAgICB9LHsKKyAgICAgIGlkOiAncm9sZScsCisgICAgICBuYW1lOiAncm9sZScsCisgICAg ICBsYWJlbDogZ2V0dGV4dCgnUm9sZScpLAorICAgICAgdHlwZTogJ3RleHQnLAorICAgICAgZWRp dGFibGU6IHRydWUsCisgICAgICBkZXBzOiBbJ3NlcnZlciddLAorICAgICAgc2VsZWN0Mjogewor ICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSwKKyAgICAgICAgd2lkdGg6ICcxMDAlJywKKyAgICAg ICAgZmlyc3RfZW1wdHk6IHRydWUsCisgICAgICB9LAorICAgICAgY29udHJvbDogTmV3Q29ubmVj dGlvblNlbGVjdDJDb250cm9sLAorICAgICAgdXJsOiAnc3FsZWRpdG9yLmdldF9uZXdfY29ubmVj dGlvbl9yb2xlJywKKyAgICAgIGRpc2FibGVkOiBmYWxzZSwKKyAgICB9LAorICAgIC8qeworICAg ICAgaWQ6ICdwYXNzd29yZCcsCisgICAgICBuYW1lOiAncGFzc3dvcmQnLAorICAgICAgbGFiZWw6 IGdldHRleHQoJ1Bhc3N3b3JkJ3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weSksCisgICAgICB0 eXBlOiAncGFzc3dvcmQnLAorICAgICAgZWRpdGFibGU6IHRydWUsCisgICAgICBkaXNhYmxlZDog dHJ1ZSwKKyAgICAgIGRlcHM6IFsndXNlciddLAorICAgICAgY29udHJvbDogQmFja2Zvcm0uSW5w dXRDb250cm9sLmV4dGVuZCh7CisgICAgICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7CisgICAgICAg ICAgbGV0IHNlbGYgPSB0aGlzOworICAgICAgICAgIHNlbGYubW9kZWwuYXR0cmlidXRlcy5wYXNz d29yZCA9IG51bGw7CisgICAgICAgICAgQmFja2Zvcm0uSW5wdXRDb250cm9sLnByb3RvdHlwZS5y ZW5kZXIuYXBwbHkoc2VsZiwgYXJndW1lbnRzKTsKKyAgICAgICAgICByZXR1cm4gc2VsZjsKKyAg ICAgICAgfSwKKyAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIGxldCBz ZWxmID0gdGhpczsKKyAgICAgICAgICBCYWNrZm9ybS5JbnB1dENvbnRyb2wucHJvdG90eXBlLm9u Q2hhbmdlLmFwcGx5KHNlbGYsIGFyZ3VtZW50cyk7CisgICAgICAgIH0sCisgICAgICB9KSwKKyAg ICB9LCovCisgICAgXSwKKyAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7CisgICAgICBsZXQgbXNn ID0gbnVsbDsKKyAgICAgIHRoaXMuZXJyb3JNb2RlbC5jbGVhcigpOworICAgICAgaWYoXy5pc1Vu ZGVmaW5lZCh0aGlzLmdldCgnZGF0YWJhc2UnKSkgfHwgXy5pc051bGwodGhpcy5nZXQoJ2RhdGFi YXNlJykpKXsKKyAgICAgICAgbXNnID0gZ2V0dGV4dCgnUGxlYXNlIHNlbGVjdCBkYXRhYmFzZScp OworICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdkYXRhYmFzZScsIG1zZyk7CisgICAgICAg IHJldHVybiBtc2c7CisgICAgICB9IGVsc2UgaWYoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnZGF0 YWJhc2UnKSkgfHwgXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgndXNlcicpKXx8IF8uaXNOdWxsKHRo aXMuZ2V0KCd1c2VyJykpKSB7CisgICAgICAgIG1zZyA9IGdldHRleHQoJ1BsZWFzZSBzZWxlY3Qg dXNlcicpOworICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCd1c2VyJywgbXNnKTsKKyAgICAg ICAgcmV0dXJuIG1zZzsKKyAgICAgIH0KKyAgICAgIC8qZWxzZSBpZigodGhpcy5hdHRyaWJ1dGVz LnBhc3N3b3JkID09ICcnIHx8IF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3Bhc3N3b3JkJykpIHx8 IF8uaXNOdWxsKHRoaXMuZ2V0KCdwYXNzd29yZCcpKSkpIHsKKyAgICAgICAgbXNnID0gZ2V0dGV4 dCgnUGxlYXNlIGVudGVyIHBhc3N3b3JkJyk7CisgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQo J3Bhc3N3b3JkJywgbXNnKTsKKyAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgIH0qLworICAgICAg cmV0dXJuIG51bGw7CisgICAgfSwKKyAgfSk7CisKKyAgbGV0IG1vZGVsID0gbmV3IG5ld0Nvbm5l Y3Rpb25Nb2RlbCgpOworICByZXR1cm4gbW9kZWw7Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9zdGF0aWMvc2Nzcy9fYWxlcnQuc2NzcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19hbGVy dC5zY3NzCmluZGV4IGRhYzU1MmIuLjgzNmYwYWYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0 YXRpYy9zY3NzL19hbGVydC5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19hbGVy dC5zY3NzCkBAIC05Miw2ICs5Miw3IEBACiAgIHJpZ2h0OiAwOwogICBsZWZ0OiAwOwogICBib3R0 b206IDA7CisgIHotaW5kZXg6IDE7CiB9CiAKIC5wZy1wcm9wLXN0YXR1cy1iYXIgewpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvX19pbml0X18ucHkgYi93ZWIvcGdhZG1p bi90b29scy9kYXRhZ3JpZC9fX2luaXRfXy5weQppbmRleCAxYmQ4NDFmLi5mN2I4MzZhIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9fX2luaXRfXy5weQorKysgYi93ZWIv cGdhZG1pbi90b29scy9kYXRhZ3JpZC9fX2luaXRfXy5weQpAQCAtMTgsMjIgKzE4LDIzIEBAIGZy b20gZmxhc2sgaW1wb3J0IFJlc3BvbnNlLCB1cmxfZm9yLCBzZXNzaW9uLCByZXF1ZXN0LCBtYWtl X3Jlc3BvbnNlCiBmcm9tIHdlcmt6ZXVnLnVzZXJhZ2VudHMgaW1wb3J0IFVzZXJBZ2VudAogZnJv bSBmbGFzayBpbXBvcnQgY3VycmVudF9hcHAgYXMgYXBwLCByZW5kZXJfdGVtcGxhdGUKIGZyb20g Zmxhc2tfYmFiZWxleCBpbXBvcnQgZ2V0dGV4dAotZnJvbSBmbGFza19zZWN1cml0eSBpbXBvcnQg bG9naW5fcmVxdWlyZWQKK2Zyb20gZmxhc2tfc2VjdXJpdHkgaW1wb3J0IGxvZ2luX3JlcXVpcmVk LCBjdXJyZW50X3VzZXIKIGZyb20gcGdhZG1pbi50b29scy5zcWxlZGl0b3IuY29tbWFuZCBpbXBv cnQgT2JqZWN0UmVnaXN0cnksIFNRTEZpbHRlcgorZnJvbSBwZ2FkbWluLnRvb2xzLnNxbGVkaXRv ciBpbXBvcnQgY2hlY2tfdHJhbnNhY3Rpb25fc3RhdHVzCiBmcm9tIHBnYWRtaW4udXRpbHMgaW1w b3J0IFBnQWRtaW5Nb2R1bGUKIGZyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBtYWtlX2pz b25fcmVzcG9uc2UsIGJhZF9yZXF1ZXN0LCBcCi0gICAgaW50ZXJuYWxfc2VydmVyX2Vycm9yCisg ICAgaW50ZXJuYWxfc2VydmVyX2Vycm9yLCB1bmF1dGhvcml6ZWQKIAogZnJvbSBjb25maWcgaW1w b3J0IFBHX0RFRkFVTFRfRFJJVkVSCi1mcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IFNlcnZlcgor ZnJvbSBwZ2FkbWluLm1vZGVsIGltcG9ydCBTZXJ2ZXIsIFVzZXIKIGZyb20gcGdhZG1pbi51dGls cy5kcml2ZXIgaW1wb3J0IGdldF9kcml2ZXIKIGZyb20gcGdhZG1pbi51dGlscy5leGNlcHRpb24g aW1wb3J0IENvbm5lY3Rpb25Mb3N0LCBTU0hUdW5uZWxDb25uZWN0aW9uTG9zdAogZnJvbSBwZ2Fk bWluLnV0aWxzLnByZWZlcmVuY2VzIGltcG9ydCBQcmVmZXJlbmNlcwogZnJvbSBwZ2FkbWluLnNl dHRpbmdzIGltcG9ydCBnZXRfc2V0dGluZwogZnJvbSBwZ2FkbWluLmJyb3dzZXIudXRpbHMgaW1w b3J0IHVuZGVyc2NvcmVfdW5lc2NhcGUKIGZyb20gcGdhZG1pbi51dGlscy5leGNlcHRpb24gaW1w b3J0IE9iamVjdEdvbmUKLWZyb20gcGdhZG1pbi51dGlscy5jb25zdGFudHMgaW1wb3J0IE1JTUVU WVBFX0FQUF9KUwogZnJvbSBwZ2FkbWluLnRvb2xzLnNxbGVkaXRvci51dGlscy5tYWNyb3MgaW1w b3J0IGdldF91c2VyX21hY3JvcworZnJvbSBwZ2FkbWluLnV0aWxzLmNvbnN0YW50cyBpbXBvcnQg TUlNRVRZUEVfQVBQX0pTLCBVTkFVVEhfUkVRCiAKIE1PRFVMRV9OQU1FID0gJ2RhdGFncmlkJwog CkBAIC03NCw3ICs3NSw4IEBAIGNsYXNzIERhdGFHcmlkTW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgog ICAgICAgICAgICAgJ2RhdGFncmlkLmZpbHRlcl92YWxpZGF0ZScsCiAgICAgICAgICAgICAnZGF0 YWdyaWQuZmlsdGVyJywKICAgICAgICAgICAgICdkYXRhZ3JpZC5wYW5lbCcsCi0gICAgICAgICAg ICAnZGF0YWdyaWQuY2xvc2UnCisgICAgICAgICAgICAnZGF0YWdyaWQuY2xvc2UnLAorICAgICAg ICAgICAgJ2RhdGFncmlkLnVwZGF0ZV9xdWVyeV90b29sX2Nvbm5lY3Rpb24nCiAgICAgICAgIF0K IAogICAgIGRlZiBvbl9sb2dvdXQoc2VsZiwgdXNlcik6CkBAIC0zMjQsMTAgKzMyNiw0OCBAQCBk ZWYgaW5pdGlhbGl6ZV9xdWVyeV90b29sKHRyYW5zX2lkLCBzZ2lkLCBzaWQsIGRpZD1Ob25lKToK ICAgICAgICAgICAgIHJlcV9hcmdzWydyZWNyZWF0ZSddID09ICcxJyk6CiAgICAgICAgIGNvbm5l Y3QgPSBGYWxzZQogCisgICAgaXNfZXJyb3IsIGVycm1zZywgY29ubl9pZCwgdmVyc2lvbiA9IF9p bml0X3F1ZXJ5X3Rvb2wodHJhbnNfaWQsIGNvbm5lY3QsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2dpZCwgc2lkLCBkaWQpCisgICAg aWYgaXNfZXJyb3I6CisgICAgICAgIHJldHVybiBlcnJtc2cKKworICAgIHJldHVybiBtYWtlX2pz b25fcmVzcG9uc2UoCisgICAgICAgIGRhdGE9eworICAgICAgICAgICAgJ2Nvbm5JZCc6IHN0cihj b25uX2lkKSwKKyAgICAgICAgICAgICdzZXJ2ZXJWZXJzaW9uJzogdmVyc2lvbiwKKyAgICAgICAg fQorICAgICkKKworCitkZWYgX2Nvbm5lY3QoY29ubiwgKiprd2FyZ3MpOgorICAgICIiIgorICAg IENvbm5lY3QgdGhlIGRhdGFiYXNlLgorICAgIDpwYXJhbSBjb25uOiBDb25uZWN0aW9uIGluc3Rh bmNlLgorICAgIDpwYXJhbSBrd2FyZ3M6IHVzZXIsIHJvbGUgYW5kIHBhc3N3b3JkIGRhdGEgZnJv bSB1c2VyLgorICAgIDpyZXR1cm46CisgICAgIiIiCisgICAgdXNlciA9IE5vbmUKKyAgICByb2xl ID0gTm9uZQorICAgIHBhc3N3b3JkID0gTm9uZQorICAgIGlzX2Fza19wYXNzd29yZCA9IEZhbHNl CisgICAgaWYgJ3VzZXInIGluIGt3YXJncyBhbmQgJ3JvbGUnIGluIGt3YXJnczoKKyAgICAgICAg dXNlciA9IGt3YXJnc1sndXNlciddCisgICAgICAgIHJvbGUgPSBrd2FyZ3NbJ3JvbGUnXSBpZiBr d2FyZ3NbJ3JvbGUnXSBlbHNlIE5vbmUKKyAgICAgICAgcGFzc3dvcmQgPSBrd2FyZ3NbJ3Bhc3N3 b3JkJ10gaWYga3dhcmdzWydwYXNzd29yZCddIGVsc2UgTm9uZQorICAgICAgICBpc19hc2tfcGFz c3dvcmQgPSBUcnVlCisgICAgaWYgdXNlcjoKKyAgICAgICAgc3RhdHVzLCBtc2cgPSBjb25uLmNv bm5lY3QodXNlcj11c2VyLCByb2xlPXJvbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBhc3N3b3JkPXBhc3N3b3JkKQorICAgIGVsc2U6CisgICAgICAgIHN0YXR1cywgbXNn ID0gY29ubi5jb25uZWN0KCkKKworICAgIHJldHVybiBzdGF0dXMsIG1zZywgaXNfYXNrX3Bhc3N3 b3JkLCB1c2VyLCByb2xlLCBwYXNzd29yZAorCisKK2RlZiBfaW5pdF9xdWVyeV90b29sKHRyYW5z X2lkLCBjb25uZWN0LCBzZ2lkLCBzaWQsIGRpZCwgKiprd2FyZ3MpOgogICAgICMgQ3JlYXRlIGFz eW5jaHJvbm91cyBjb25uZWN0aW9uIHVzaW5nIHJhbmRvbSBjb25uZWN0aW9uIGlkLgogICAgIGNv bm5faWQgPSBzdHIocmFuZG9tLnJhbmRpbnQoMSwgOTk5OTk5OSkpCiAKLSAgICAjIFVzZSBNYWlu dGVuYW5jZSBkYXRhYmFzZSBPSUQKICAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxU X0RSSVZFUikuY29ubmVjdGlvbl9tYW5hZ2VyKHNpZCkKIAogICAgIGlmIGRpZCBpcyBOb25lOgpA QCAtMzM4LDI0ICszNzgsNDEgQEAgZGVmIGluaXRpYWxpemVfcXVlcnlfdG9vbCh0cmFuc19pZCwg c2dpZCwgc2lkLCBkaWQ9Tm9uZSk6CiAgICAgICAgICkKICAgICBleGNlcHQgRXhjZXB0aW9uIGFz IGU6CiAgICAgICAgIGFwcC5sb2dnZXIuZXJyb3IoZSkKLSAgICAgICAgcmV0dXJuIGludGVybmFs X3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCisgICAgICAgIHJldHVybiBUcnVlLCBpbnRl cm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKSwgJycsICcnCiAKICAgICB0cnk6CiAg ICAgICAgIGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWRpZCwgY29ubl9pZD1jb25uX2lk LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fcmVjb25uZWN0PUZhbHNl LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9iaW5hcnlfcGxhY2Vob2xk ZXI9VHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV90b19zdHJp bmc9VHJ1ZSkKKwogICAgICAgICBpZiBjb25uZWN0OgotICAgICAgICAgICAgc3RhdHVzLCBtc2cg PSBjb25uLmNvbm5lY3QoKQorICAgICAgICAgICAgc3RhdHVzLCBtc2csIGlzX2Fza19wYXNzd29y ZCwgdXNlciwgcm9sZSwgcGFzc3dvcmQgPSBfY29ubmVjdCgKKyAgICAgICAgICAgICAgICBjb25u LCAqKmt3YXJncykKICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICAgICAg YXBwLmxvZ2dlci5lcnJvcihtc2cpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3Nl cnZlcl9lcnJvcihlcnJvcm1zZz1zdHIobXNnKSkKKyAgICAgICAgICAgICAgICBpZiBpc19hc2tf cGFzc3dvcmQ6CisgICAgICAgICAgICAgICAgICAgIHNlcnZlciA9IFNlcnZlci5xdWVyeS5maWx0 ZXJfYnkoaWQ9c2lkKS5maXJzdCgpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlLCBt YWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzPTAsCisg ICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9NDI4LAorICAgICAgICAgICAgICAgICAgICAg ICAgcmVzdWx0PXJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAn c2VydmVycy9wYXNzd29yZC5odG1sJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2 ZXJfbGFiZWw9c2VydmVyLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcm5h bWU9dXNlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJtc2c9bXNnLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF89Z2V0dGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICkKKyAgICAgICAgICAgICAgICAgICAgKSwgJycsICcnCisgICAgICAgICAgICAgICAgZWxzZToK KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUsIGludGVybmFsX3NlcnZlcl9lcnJvcigK KyAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ybXNnPXN0cihtc2cpKSwgJycsICcnCiAgICAg ZXhjZXB0IChDb25uZWN0aW9uTG9zdCwgU1NIVHVubmVsQ29ubmVjdGlvbkxvc3QpIGFzIGU6CiAg ICAgICAgIGFwcC5sb2dnZXIuZXJyb3IoZSkKICAgICAgICAgcmFpc2UKICAgICBleGNlcHQgRXhj ZXB0aW9uIGFzIGU6CiAgICAgICAgIGFwcC5sb2dnZXIuZXJyb3IoZSkKLSAgICAgICAgcmV0dXJu IGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCisgICAgICAgIHJldHVybiBU cnVlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKSwgJycsICcnCiAKICAg ICBpZiAnZ3JpZERhdGEnIG5vdCBpbiBzZXNzaW9uOgogICAgICAgICBzcWxfZ3JpZF9kYXRhID0g ZGljdCgpCkBAIC0zNzcsMTAgKzQzNCw3NyBAQCBkZWYgaW5pdGlhbGl6ZV9xdWVyeV90b29sKHRy YW5zX2lkLCBzZ2lkLCBzaWQsIGRpZD1Ob25lKToKICAgICAjIFN0b3JlIHRoZSBncmlkIGRpY3Rp b25hcnkgaW50byB0aGUgc2Vzc2lvbiB2YXJpYWJsZQogICAgIHNlc3Npb25bJ2dyaWREYXRhJ10g PSBzcWxfZ3JpZF9kYXRhCiAKKyAgICByZXR1cm4gRmFsc2UsICcnLCBjb25uX2lkLCBtYW5hZ2Vy LnZlcnNpb24KKworCitAYmx1ZXByaW50LnJvdXRlKAorICAgICcvaW5pdGlhbGl6ZS9xdWVyeV90 b29sL3VwZGF0ZV9jb25uZWN0aW9uLzxpbnQ6dHJhbnNfaWQ+LycKKyAgICAnPGludDpzZ2lkPi88 aW50OnNpZD4vPGludDpkaWQ+JywKKyAgICBtZXRob2RzPVsiUE9TVCJdLCBlbmRwb2ludD0ndXBk YXRlX3F1ZXJ5X3Rvb2xfY29ubmVjdGlvbicKKykKK2RlZiB1cGRhdGVfcXVlcnlfdG9vbF9jb25u ZWN0aW9uKHRyYW5zX2lkLCBzZ2lkLCBzaWQsIGRpZCk6CisgICAgIyBSZW1vdmUgdHJhbnNhY3Rp b24gSWQuCisgICAgd2l0aCBxdWVyeV90b29sX2Nsb3NlX3Nlc3Npb25fbG9jazoKKyAgICAgICAg ZGF0YSA9IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnKQorCisgICAg ICAgIGlmICdncmlkRGF0YScgbm90IGluIHNlc3Npb246CisgICAgICAgICAgICByZXR1cm4gbWFr ZV9qc29uX3Jlc3BvbnNlKGRhdGE9eydzdGF0dXMnOiBUcnVlfSkKKworICAgICAgICBncmlkX2Rh dGEgPSBzZXNzaW9uWydncmlkRGF0YSddCisKKyAgICAgICAgIyBSZXR1cm4gZnJvbSB0aGUgZnVu Y3Rpb24gaWYgdHJhbnNhY3Rpb24gaWQgbm90IGZvdW5kCisgICAgICAgIGlmIHN0cih0cmFuc19p ZCkgbm90IGluIGdyaWRfZGF0YToKKyAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9u c2UoZGF0YT17J3N0YXR1cyc6IFRydWV9KQorCisgICAgICAgIGNvbm5lY3QgPSBUcnVlCisKKyAg ICAgICAgcmVxX2FyZ3MgPSByZXF1ZXN0LmFyZ3MKKyAgICAgICAgaWYgKCdyZWNyZWF0ZScgaW4g cmVxX2FyZ3MgYW5kCisgICAgICAgICAgICAgICAgcmVxX2FyZ3NbJ3JlY3JlYXRlJ10gPT0gJzEn KToKKyAgICAgICAgICAgIGNvbm5lY3QgPSBGYWxzZQorCisgICAgICAgIG5ld190cmFuc19pZCA9 IHN0cihyYW5kb20ucmFuZGludCgxLCA5OTk5OTk5KSkKKyAgICAgICAga3dhcmdzID0geworICAg ICAgICAgICAgJ3VzZXInOiBkYXRhWyd1c2VyJ10sCisgICAgICAgICAgICAncm9sZSc6IGRhdGFb J3JvbGUnXSwKKyAgICAgICAgICAgICdwYXNzd29yZCc6IGRhdGFbJ3Bhc3N3b3JkJ10gaWYgJ3Bh c3N3b3JkJyBpbiBkYXRhIGVsc2UgTm9uZQorICAgICAgICB9CisKKyAgICAgICAgaXNfZXJyb3Is IGVycm1zZywgY29ubl9pZCwgdmVyc2lvbiA9IF9pbml0X3F1ZXJ5X3Rvb2woCisgICAgICAgICAg ICBuZXdfdHJhbnNfaWQsIGNvbm5lY3QsIHNnaWQsIHNpZCwgZGlkLCAqKmt3YXJncykKKworICAg ICAgICBpZiBpc19lcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBlcnJtc2cKKyAgICAgICAgZWxz ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAjIENoZWNrIHRoZSB0cmFuc2Fj dGlvbiBhbmQgY29ubmVjdGlvbiBzdGF0dXMKKyAgICAgICAgICAgICAgICBzdGF0dXMsIGVycm9y X21zZywgY29ubiwgdHJhbnNfb2JqLCBzZXNzaW9uX29iaiA9IFwKKyAgICAgICAgICAgICAgICAg ICAgY2hlY2tfdHJhbnNhY3Rpb25fc3RhdHVzKHRyYW5zX2lkKQorCisgICAgICAgICAgICAgICAg c3RhdHVzLCBlcnJvcl9tc2csIG5ld19jb25uLCBuZXdfdHJhbnNfb2JqLCBuZXdfc2Vzc2lvbl9v YmogPSBcCisgICAgICAgICAgICAgICAgICAgIGNoZWNrX3RyYW5zYWN0aW9uX3N0YXR1cyhuZXdf dHJhbnNfaWQpCisKKyAgICAgICAgICAgICAgICBuZXdfc2Vzc2lvbl9vYmpbJ3ByaW1hcnlfa2V5 cyddID0gc2Vzc2lvbl9vYmpbCisgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5X2tleXMnXSBp ZiAncHJpbWFyeV9rZXlzJyBpbiBzZXNzaW9uX29iaiBlbHNlIE5vbmUKKyAgICAgICAgICAgICAg ICBuZXdfc2Vzc2lvbl9vYmpbJ2NvbHVtbnNfaW5mbyddID0gc2Vzc2lvbl9vYmpbCisgICAgICAg ICAgICAgICAgICAgICdjb2x1bW5zX2luZm8nXSBpZiAnY29sdW1uc19pbmZvJyBpbiBzZXNzaW9u X29iaiBlbHNlIE5vbmUKKyAgICAgICAgICAgICAgICBuZXdfc2Vzc2lvbl9vYmpbJ2NsaWVudF9w cmltYXJ5X2tleSddID0gc2Vzc2lvbl9vYmpbCisgICAgICAgICAgICAgICAgICAgICdjbGllbnRf cHJpbWFyeV9rZXknXSBpZiAnY2xpZW50X3ByaW1hcnlfa2V5J1wKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHNlc3Npb25fb2JqIGVsc2UgTm9uZQorCisg ICAgICAgICAgICAgICAgY2xvc2VfcXVlcnlfdG9vbF9zZXNzaW9uKHRyYW5zX2lkKQorICAgICAg ICAgICAgICAgICMgUmVtb3ZlIHRoZSBpbmZvcm1hdGlvbiBvZiB1bmlxdWUgdHJhbnNhY3Rpb24g aWQgZnJvbSB0aGUKKyAgICAgICAgICAgICAgICAjIHNlc3Npb24gdmFyaWFibGUuCisgICAgICAg ICAgICAgICAgZ3JpZF9kYXRhLnBvcChzdHIodHJhbnNfaWQpLCBOb25lKQorICAgICAgICAgICAg ICAgIHNlc3Npb25bJ2dyaWREYXRhJ10gPSBncmlkX2RhdGEKKyAgICAgICAgICAgIGV4Y2VwdCBF eGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICBhcHAubG9nZ2VyLmVycm9yKGUpCisKICAg ICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAogICAgICAgICBkYXRhPXsKICAgICAgICAgICAg ICdjb25uSWQnOiBzdHIoY29ubl9pZCksCi0gICAgICAgICAgICAnc2VydmVyVmVyc2lvbic6IG1h bmFnZXIudmVyc2lvbiwKKyAgICAgICAgICAgICdzZXJ2ZXJWZXJzaW9uJzogdmVyc2lvbiwKKyAg ICAgICAgICAgICd0cmFuX2lkJzogbmV3X3RyYW5zX2lkCiAgICAgICAgIH0KICAgICApCiAKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3RlbXBsYXRlcy9kYXRhZ3JpZC9p bmRleC5odG1sIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFncmlk L2luZGV4Lmh0bWwKaW5kZXggYTBlZWJjOC4uNDk3MDAyNyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vdG9vbHMvZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFncmlkL2luZGV4Lmh0bWwKKysrIGIvd2Vi L3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVtcGxhdGVzL2RhdGFncmlkL2luZGV4Lmh0bWwKQEAg LTQxNyw4ICs0MTcsMTcgQEAKICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IiIgcm9sZT0iaW1n Ij4KICAgICAgICAgICAgICAgICA8L2k+CiAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAg IDxkaXYgY2xhc3M9ImVkaXRvci10aXRsZSIKLSAgICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tn cm91bmQtY29sb3I6IHslIGlmIGZnY29sb3IgJX17eyBiZ2NvbG9yIG9yICcjRkZGRkZGJyB9fXsl IGVuZGlmICV9OyBjb2xvcjogeyUgaWYgZmdjb2xvciAlfXt7IGZnY29sb3IgfX17JSBlbmRpZiAl fTsiPiZuYnNwOzwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29ubmVjdGlvbi1pbmZv IGJ0bi1ncm91cCBtci0xIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iIj4KKyAgICAgICAgICAg ICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItdGl0bGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJp YS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiCisgICAgICAgICAgICAgICAg ICAgICBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeyUgaWYgZmdjb2xvciAlfXt7IGJnY29sb3Ig b3IgJyNGRkZGRkYnIH19eyUgZW5kaWYgJX07IGNvbG9yOiB7JSBpZiBmZ2NvbG9yICV9e3sgZmdj b2xvciB9fXslIGVuZGlmICV9OyI+Jm5ic3A7CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAg ICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbm4taW5mby1kZCBkcm9wZG93bi10b2dnbGUgZHJv cGRvd24tdG9nZ2xlLXNwbGl0IgorICAgICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPSJkcm9wZG93 biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPjwvc3Bhbj4KKyAg ICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIGlkPSJjb25uZWN0aW9ucy1s aXN0Ij4KKyAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgPC9kaXY+CisKKwogICAg ICAgICA8L2Rpdj4KICAgICAgICAgPGRpdiBpZD0iZWRpdG9yLXBhbmVsIiB0YWJpbmRleD0iMCI+ CiAgICAgICAgICAgICA8ZGl2IGlkPSJmZXRjaGluZ19kYXRhIiBjbGFzcz0icGctc3AtY29udGFp bmVyIHNxbC1lZGl0b3ItYnVzeS1mZXRjaGluZyI+CkBAIC00ODEsNiArNDkwLDcgQEAgcmVxdWly ZShbJ3NvdXJjZXMvZ2VuZXJhdGVkL2Jyb3dzZXJfbm9kZXMnLCAnc291cmNlcy9nZW5lcmF0ZWQv Y29kZW1pcnJvcicsICdzb3UKICAgICAgICAgICAgIHZhciBzY3JpcHRfdHlwZV91cmwgPSAnJzsK ICAgICAgICAgeyUgZW5kaWYgJX0KICAgICAgICAgLy8gU3RhcnQgdGhlIHF1ZXJ5IHRvb2wuCisK ICAgICAgICAgc3FsRWRpdG9yQ29udHJvbGxlci5zdGFydCgKICAgICAgICAgICAgIHt7IHVuaXF1 ZUlkIH19LAogICAgICAgICAgICAge3sgdXJsX3BhcmFtc3xzYWZlfX0sCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWlu L3Rvb2xzL2RhdGFncmlkL3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmU2OWRlMjkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFn cmlkL3Rlc3RzL2RhdGFncmlkX3Rlc3RfZGF0YS5qc29uIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0 YWdyaWQvdGVzdHMvZGF0YWdyaWRfdGVzdF9kYXRhLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uMDA3NWYzNQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2RhdGFncmlkL3Rlc3RzL2RhdGFncmlkX3Rlc3RfZGF0YS5qc29uCkBAIC0wLDAgKzEsMTM0 IEBACit7CisgICJkYXRhX2dyaWRfaW5pdF9xdWVyeV90b29sIjogWworICAgIHsKKyAgICAgICJu YW1lIjogIkRhdGFncmlkIGluaXQgcXVlcnkgdG9vbCIsCisgICAgICAidXJsIjogIi9kYXRhZ3Jp ZC9pbml0aWFsaXplL3F1ZXJ5X3Rvb2wvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0IjogdHJ1 ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidGVzdF9kYXRhIjog e30sCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAg ICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfQorICBdLAorICAiZGF0YV9n cmlkX3F1ZXJ5X3Rvb2xfY2xvc2UiOiBbCisgICAgeworICAgICAgIm5hbWUiOiAiRGF0YWdyaWQg cXVlcnkgdG9vbCBjbG9zZSIsCisgICAgICAidXJsIjogIi9kYXRhZ3JpZC9jbG9zZS8iLAorICAg ICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBm YWxzZSwKKyAgICAgICJ0ZXN0X2RhdGEiOiB7fSwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAg ICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAg IH0KKyAgICB9CisgIF0sCisgICJkYXRhX2dyaWRfdmFsaWRhdGVfZmlsdGVyIjogWworICAgIHsK KyAgICAgICJuYW1lIjogIkRhdGFncmlkIHZhbGlkYXRlIGZpbHRlciIsCisgICAgICAidXJsIjog Ii9kYXRhZ3JpZC9maWx0ZXIvdmFsaWRhdGUvIiwKKyAgICAgICJpc19wb3NpdGl2ZV90ZXN0Ijog dHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAgICAidGVzdF9kYXRh IjogImlkID0gMSIsCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAiZXhwZWN0ZWRfZGF0 YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9CisgICAgfSwKKyAgICB7 CisgICAgICAibmFtZSI6ICJEYXRhZ3JpZCB2YWxpZGF0ZSBmaWx0ZXIiLAorICAgICAgInVybCI6 ICIvZGF0YWdyaWQvZmlsdGVyL3ZhbGlkYXRlLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6 IGZhbHNlLAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiB0cnVlLAorICAgICAgInRlc3RfZGF0 YSI6ICJpZCA9IDEiLAorICAgICAgIm1vY2tfZGF0YSI6IHsKKyAgICAgICAgImZ1bmN0aW9uX25h bWUiOiAicGdhZG1pbi51dGlscy5kcml2ZXIucHN5Y29wZzIuY29ubmVjdGlvbi5Db25uZWN0aW9u LmV4ZWN1dGVfc2NhbGFyIiwKKyAgICAgICAgInJldHVybl92YWx1ZSI6ICIoRmFsc2UsICdNb2Nr ZWQgSW50ZXJuYWwgU2VydmVyIEVycm9yIHdoaWxlIHZhbGlkYXRlIGZpbHRlcicpIgorICAgICAg fSwKKyAgICAgICJleHBlY3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAK KyAgICAgIH0KKyAgICB9CisgIF0sCisgICJkYXRhX2dyaWRfdXBkYXRlX2Nvbm5lY3Rpb24iOiBb CisgICAgeworICAgICAgIm5hbWUiOiAiRGF0YWdyaWQgdXBkYXRlIGNvbm5lY3Rpb24gcG9zaXRp dmUiLAorICAgICAgInVybCI6ICIvZGF0YWdyaWQvaW5pdGlhbGl6ZS9xdWVyeV90b29sL3VwZGF0 ZV9jb25uZWN0aW9uLyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAi bW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAgImlzX2NyZWF0ZV9yb2xlIjogZmFsc2Us CisgICAgICAidGVzdF9kYXRhIjoge30sCisgICAgICAibW9ja19kYXRhIjoge30sCisgICAgICAi ZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICB9Cisg ICAgfSwKKyAgICB7CisgICAgICAibmFtZSI6ICJEYXRhZ3JpZCB1cGRhdGUgY29ubmVjdGlvbiB3 aXRoIG5ldyB1c2VyIiwKKyAgICAgICJ1cmwiOiAiL2RhdGFncmlkL2luaXRpYWxpemUvcXVlcnlf dG9vbC91cGRhdGVfY29ubmVjdGlvbi8iLAorICAgICAgImlzX3Bvc2l0aXZlX3Rlc3QiOiB0cnVl LAorICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiBmYWxzZSwKKyAgICAgICJpc19jcmVhdGVfcm9s ZSI6IHRydWUsCisgICAgICAidGVzdF9kYXRhIjoge30sCisgICAgICAibW9ja19kYXRhIjoge30s CisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisg ICAgICB9CisgICAgfQorICBdLAorICAiZGF0YV9ncmlkX3BhbmVsIjogWworICAgIHsKKyAgICAg ICJuYW1lIjogIkRhdGFncmlkIFBhbmVsIiwKKyAgICAgICJ1cmwiOiAiL2RhdGFncmlkL3BhbmVs LyIsCisgICAgICAiaXNfcG9zaXRpdmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1 aXJlZCI6IGZhbHNlLAorICAgICAgInRlc3RfZGF0YSI6IHt9LAorICAgICAgIm1vY2tfZGF0YSI6 IHsKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19j b2RlIjogMjAwCisgICAgICB9CisgICAgfQorICBdLAorICAiZGF0YV9ncmlkX2luaXRpYWxpemUi OiBbCisgICAgeworICAgICAgIm5hbWUiOiAiRGF0YWdyaWQgSW5pdGlhbGl6ZSIsCisgICAgICAi dXJsIjogIi9kYXRhZ3JpZC9pbml0aWFsaXplL2RhdGFncmlkLyIsCisgICAgICAiaXNfcG9zaXRp dmVfdGVzdCI6IHRydWUsCisgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZhbHNlLAorICAgICAg InRlc3RfZGF0YSI6ICJpZD0xIiwKKyAgICAgICJtb2NrX2RhdGEiOiB7CisKKyAgICAgIH0sCisg ICAgICAiZXhwZWN0ZWRfZGF0YSI6IHsKKyAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAg ICB9CisgICAgfSx7CisgICAgICAibmFtZSI6ICJEYXRhZ3JpZCBJbml0aWFsaXplIiwKKyAgICAg ICJ1cmwiOiAiL2RhdGFncmlkL2luaXRpYWxpemUvZGF0YWdyaWQvIiwKKyAgICAgICJpc19wb3Np dGl2ZV90ZXN0IjogdHJ1ZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCisgICAg ICAidGVzdF9kYXRhIjogbnVsbCwKKyAgICAgICJtb2NrX2RhdGEiOiB7fSwKKyAgICAgICJleHBl Y3RlZF9kYXRhIjogeworICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAgICAgIH0KKyAgICB9 LAorICAgIHsKKyAgICAgICJuYW1lIjogIkRhdGFncmlkIEluaXRpYWxpemUiLAorICAgICAgInVy bCI6ICIvZGF0YWdyaWQvaW5pdGlhbGl6ZS9kYXRhZ3JpZC8iLAorICAgICAgImlzX3Bvc2l0aXZl X3Rlc3QiOiBmYWxzZSwKKyAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogdHJ1ZSwKKyAgICAgICJ0 ZXN0X2RhdGEiOiAiaWQ9MSIsCisgICAgICAibW9ja19kYXRhIjogeworICAgICAgICAiZnVuY3Rp b25fbmFtZSI6ICJwZ2FkbWluLnV0aWxzLmRyaXZlci5wc3ljb3BnMi5jb25uZWN0aW9uLkNvbm5l Y3Rpb24uZXhlY3V0ZV9kaWN0IiwKKyAgICAgICAgInJldHVybl92YWx1ZSI6ICIoRmFsc2UsICdN b2NrZWQgSW50ZXJuYWwgU2VydmVyIEVycm9yIHdoaWxlIGluaXRpYWxpemUgZGF0YWdyaWQuJyki CisgICAgICB9LAorICAgICAgImV4cGVjdGVkX2RhdGEiOiB7CisgICAgICAgICJzdGF0dXNfY29k ZSI6IDUwMAorICAgICAgfQorICAgIH0KKyAgXQorfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v dG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRfaW5pdF9xdWVyeV90b29sLnB5IGIv d2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRfaW5pdF9xdWVy eV90b29sLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlY2Y1ZGUKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2Rh dGFfZ3JpZF9pbml0X3F1ZXJ5X3Rvb2wucHkKQEAgLTAsMCArMSw3MiBAQAorIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQg KEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKworCitpbXBvcnQganNvbgoraW1wb3J0IHV1aWQKK2ltcG9ydCByYW5kb20K KworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRjaAorZnJvbSBwZ2FkbWluLmJyb3dzZXIu c2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgXAor ICAgIGRhdGFiYXNlX3V0aWxzCisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFz ZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAor ZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0 aWxzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20g LiBpbXBvcnQgdXRpbHMgYXMgZGF0YV9ncmlkX3V0aWxzCisKKworY2xhc3MgRGF0YWdyaWRJbml0 UXVlcnlUb29sVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIgorICAgIFRoaXMg d2lsbCBpbml0IHF1ZXJ5LXRvb2wgY29ubmVjdGlvbi4KKyAgICAiIiIKKworICAgIHNjZW5hcmlv cyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygKKyAgICAgICAgJ2RhdGFfZ3JpZF9pbml0X3F1 ZXJ5X3Rvb2wnLAorICAgICAgICBkYXRhX2dyaWRfdXRpbHMudGVzdF9jYXNlcworICAgICkKKwor ICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5kYXRhYmFzZV9pbmZvID0gcGFyZW50 X25vZGVfZGljdFsiZGF0YWJhc2UiXVstMV0KKyAgICAgICAgc2VsZi5kYl9uYW1lID0gc2VsZi5k YXRhYmFzZV9pbmZvWyJkYl9uYW1lIl0KKyAgICAgICAgc2VsZi5kaWQgPSBzZWxmLmRhdGFiYXNl X2luZm9bImRiX2lkIl0KKyAgICAgICAgc2VsZi5zaWQgPSBwYXJlbnRfbm9kZV9kaWN0WyJzZXJ2 ZXIiXVstMV1bInNlcnZlcl9pZCJdCisgICAgICAgIHNlbGYuc2dpZCA9IGNvbmZpZ19kYXRhWydz ZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3Rf ZGF0YWJhc2Uoc2VsZiwgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkLCBzZWxmLmRpZCkKKworICAgICAg ICBzZWxmLnRyYW5zX2lkID0gc3RyKHJhbmRvbS5yYW5kaW50KDEsIDk5OTk5OTkpKQorCisgICAg ICAgIGlmIG5vdCBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisgICAgICAgICAgICByYWlz ZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGFkZCBhIHRhYmxl LiIpCisKKyAgICBkZWYgaW5pdF9xdWVyeV90b29sKHNlbGYpOgorICAgICAgICByZXNwb25zZSA9 IHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnRyYW5z X2lkKSArICcvJyArIHN0cihzZWxmLnNnaWQpICsgJy8nICsgc3RyKAorICAgICAgICAgICAgICAg IHNlbGYuc2lkKSArICcvJyArIHN0cihzZWxmLmRpZCksCisgICAgICAgICAgICBjb250ZW50X3R5 cGU9J2h0bWwvanNvbicKKyAgICAgICAgKQorICAgICAgICByZXR1cm4gcmVzcG9uc2UKKworICAg IGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGluaXQg cXVlcnkgdG9vbCBjb25uZWN0aW9uLiIiIgorCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVf dGVzdDoKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5pbml0X3F1ZXJ5X3Rvb2woKQorICAg ICAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29kZQorICAg ICAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3Rh dHVzX2NvZGUnXQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9yZXNwb25z ZV9jb2RlLCBleHBlY3RlZF9yZXNwb25zZV9jb2RlKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYp OgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGRpc2Nvbm5lY3QgZGF0YWJhc2UuIiIiCisgICAg ICAgIGRhdGFiYXNlX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgc2VsZi5zaWQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kaWQpCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2RhdGFfZ3JpZF9w YW5lbC5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rlc3RfZGF0YV9ncmlk X3BhbmVsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlOGVjMTAKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2Rh dGFfZ3JpZF9wYW5lbC5weQpAQCAtMCwwICsxLDkzIEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAt IDIwMjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyBy ZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworCisKK2ltcG9ydCBqc29uCitpbXBvcnQgdXVpZAoraW1wb3J0IHJhbmRvbQorCitmcm9tIHVu aXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3Jv dXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBcCisgICAgZGF0YWJh c2VfdXRpbHMKKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVy YXRvcgorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jl c3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20g cmVncmVzc2lvbi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJy b3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRlc3RzIGltcG9y dCBcCisgICAgdXRpbHMgYXMgc2NoZW1hX3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2 ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudGFibGVzLnRlc3RzIFwKKyAgICBp bXBvcnQgdXRpbHMgYXMgdGFibGVzX3V0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGRhdGFf Z3JpZF91dGlscworCisKK2NsYXNzIERhdGFncmlkUGFuZWxUZXN0Q2FzZShCYXNlVGVzdEdlbmVy YXRvcik6CisgICAgIiIiCisgICAgVGhpcyB3aWxsIGRhdGEgZ3JpZCBwYW5lbC4KKyAgICAiIiIK KworICAgIHNjZW5hcmlvcyA9IHV0aWxzLmdlbmVyYXRlX3NjZW5hcmlvcygKKyAgICAgICAgJ2Rh dGFfZ3JpZF9wYW5lbCcsCisgICAgICAgIGRhdGFfZ3JpZF91dGlscy50ZXN0X2Nhc2VzCisgICAg KQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGFiYXNlX2luZm8gPSBw YXJlbnRfbm9kZV9kaWN0WyJkYXRhYmFzZSJdWy0xXQorICAgICAgICBzZWxmLmRiX25hbWUgPSBz ZWxmLmRhdGFiYXNlX2luZm9bImRiX25hbWUiXQorICAgICAgICBzZWxmLmRpZCA9IHNlbGYuZGF0 YWJhc2VfaW5mb1siZGJfaWQiXQorICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9ub2RlX2RpY3Rb InNlcnZlciJdWy0xXVsic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5zZ2lkID0gY29uZmlnX2Rh dGFbJ3NlcnZlcl9ncm91cCddCisKKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRpbHMuY29u bmVjdF9kYXRhYmFzZShzZWxmLCB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zaWQsIHNlbGYuZGlkKQorICAg ICAgICBpZiBub3QgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgcmFp c2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQgYSB0YWJs ZS4iKQorCisgICAgICAgIHNlbGYudHJhbnNfaWQgPSBzdHIocmFuZG9tLnJhbmRpbnQoMSwgOTk5 OTk5OSkpCisgICAgICAgIHF0X2luaXQgPSBkYXRhX2dyaWRfdXRpbHMuX2luaXRfcXVlcnlfdG9v bChzZWxmLCBzZWxmLnRyYW5zX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5zZ2lkLCBzZWxmLnNpZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQorCisgICAgICAgIGlm IG5vdCBxdF9pbml0WydzdWNjZXNzJ106CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNv dWxkIG5vdCBpbml0aWFsaXplIHF1ZXJ0eSB0b29sLiIpCisKKyAgICBkZWYgcGFuZWwoc2VsZik6 CisgICAgICAgIHF1ZXJ5X3BhcmFtID0gXAorICAgICAgICAgICAgJz9pc19xdWVyeV90b29sPXsw fSZzZ2lkPXsxfSZzaWQ9ezJ9JnNlcnZlcl90eXBlPXszfScgXAorICAgICAgICAgICAgJyZkaWQ9 ezR9JnRpdGxlPXs1fScuZm9ybWF0KFRydWUsIHNlbGYuc2dpZCwgc2VsZi5zaWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaW5mb3JtYXRpb25b J3R5cGUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRp ZCwgJ1F1ZXJ5IHBhbmVsJykKKworICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3Qo CisgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnRyYW5zX2lkKSArIHF1ZXJ5X3BhcmFt LAorICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNlbGYudGVzdF9kYXRhKSwKKyAgICAgICAg ICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICApCisgICAgICAgIHJldHVybiBy ZXNwb25zZQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0 aW9uIHdpbGwgdXBkYXRlIHF1ZXJ5IHRvb2wgY29ubmVjdGlvbi4iIiIKKworICAgICAgICBpZiBz ZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6CisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYucGFuZWwo KQorICAgICAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29k ZQorICAgICAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0 YVsnc3RhdHVzX2NvZGUnXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgd2l0aCBwYXRjaChz ZWxmLm1vY2tfZGF0YVsiZnVuY3Rpb25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm5fdmFsdWU9ZXZhbChzZWxmLm1vY2tfZGF0YVsicmV0dXJuX3ZhbHVlIl0pKToKKyAgICAg ICAgICAgICAgICByZXNwb25zZSA9IHNlbGYucGFuZWwoKQorICAgICAgICAgICAgICAgIGFjdHVh bF9yZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgICAgICAgICBl eHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSdd CisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0 ZWRfcmVzcG9uc2VfY29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIi VGhpcyBmdW5jdGlvbiBkaXNjb25uZWN0IGRhdGFiYXNlLiIiIgorICAgICAgICBkYXRhYmFzZV91 dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2lkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRfcXVlcnlfdG9vbF9jbG9z ZS5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rlc3RfZGF0YV9ncmlkX3F1 ZXJ5X3Rvb2xfY2xvc2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIy YzJlMQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3Rz L3Rlc3RfZGF0YV9ncmlkX3F1ZXJ5X3Rvb2xfY2xvc2UucHkKQEAgLTAsMCArMSw3NyBAQAorIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisj IFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQor IworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCitpbXBvcnQganNvbgoraW1wb3J0IHV1aWQKK2ltcG9y dCByYW5kb20KKworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRjaAorZnJvbSBwZ2FkbWlu LmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRp bHMgYXMgXAorICAgIGRhdGFiYXNlX3V0aWxzCisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBp bXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgcGFyZW50X25v ZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0 aWxzIGFzIHV0aWxzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2Rh dGEKK2Zyb20gLiBpbXBvcnQgdXRpbHMgYXMgZGF0YV9ncmlkX3V0aWxzCisKKworY2xhc3MgRGF0 YWdyaWRRdWVyeVRvb2xDbG9zZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIK KyAgICBUaGlzIHdpbGwgY2xvc2UgcXVlcnktdG9vbCBjb25uZWN0aW9uLgorICAgICIiIgorCisg ICAgc2NlbmFyaW9zID0gdXRpbHMuZ2VuZXJhdGVfc2NlbmFyaW9zKAorICAgICAgICAnZGF0YV9n cmlkX3F1ZXJ5X3Rvb2xfY2xvc2UnLAorICAgICAgICBkYXRhX2dyaWRfdXRpbHMudGVzdF9jYXNl cworICAgICkKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5kYXRhYmFzZV9p bmZvID0gcGFyZW50X25vZGVfZGljdFsiZGF0YWJhc2UiXVstMV0KKyAgICAgICAgc2VsZi5kYl9u YW1lID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJkYl9uYW1lIl0KKyAgICAgICAgc2VsZi5kaWQgPSBz ZWxmLmRhdGFiYXNlX2luZm9bImRiX2lkIl0KKyAgICAgICAgc2VsZi5zaWQgPSBwYXJlbnRfbm9k ZV9kaWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZlcl9pZCJdCisgICAgICAgIHNlbGYuc2dpZCA9IGNv bmZpZ19kYXRhWydzZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0 aWxzLmNvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkLCBzZWxmLmRp ZCkKKworICAgICAgICBpZiBub3QgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAg ICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBh ZGQgYSB0YWJsZS4iKQorCisgICAgICAgIHNlbGYudHJhbnNfaWQgPSBzdHIocmFuZG9tLnJhbmRp bnQoMSwgOTk5OTk5OSkpCisgICAgICAgIHF0X2luaXQgPSBkYXRhX2dyaWRfdXRpbHMuX2luaXRf cXVlcnlfdG9vbChzZWxmLCBzZWxmLnRyYW5zX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZ2lkLCBzZWxmLnNpZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQorCisg ICAgICAgIGlmIG5vdCBxdF9pbml0WydzdWNjZXNzJ106CisgICAgICAgICAgICByYWlzZSBFeGNl cHRpb24oIkNvdWxkIG5vdCBpbml0aWFsaXplIHF1ZXJ0eSB0b29sLiIpCisKKyAgICBkZWYgY2xv c2VfY29ubmVjdGlvbihzZWxmKToKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5kZWxl dGUoCisgICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnRyYW5zX2lkKSwKKyAgICAgICAg ICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICApCisgICAgICAgIHJldHVybiBy ZXNwb25zZQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0 aW9uIHdpbGwgdXBkYXRlIHF1ZXJ5IHRvb2wgY29ubmVjdGlvbi4iIiIKKworICAgICAgICBpZiBz ZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6CisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuY2xvc2Vf Y29ubmVjdGlvbigpCisgICAgICAgICAgICBhY3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNl LnN0YXR1c19jb2RlCisgICAgICAgICAgICBleHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5l eHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSddCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUpCisKKyAgICBk ZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGlzY29ubmVjdCBk YXRhYmFzZS4iIiIKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShz ZWxmLCBzZWxmLnNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLmRpZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3Rz L3Rlc3RfZGF0YV9ncmlkX3VwZGF0ZV9jb25uZWN0aW9uLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMv ZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRfdXBkYXRlX2Nvbm5lY3Rpb24ucHkKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQyYjE0YQotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rlc3RfZGF0YV9ncmlkX3VwZGF0ZV9j b25uZWN0aW9uLnB5CkBAIC0wLDAgKzEsMTIwIEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBw Z0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIw MjAsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor CisKK2ltcG9ydCBqc29uCitpbXBvcnQgdXVpZAoraW1wb3J0IHJhbmRvbQorCitmcm9tIHVuaXR0 ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBcCisgICAgZGF0YWJhc2Vf dXRpbHMKKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRv cgorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jlc3Np b24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gcmVn cmVzc2lvbi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dz ZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLnJvbGVzLnRlc3RzIGltcG9ydCBcCisgICAgdXRpbHMg YXMgcm9sZXNfdXRpbHMKK2Zyb20gLiBpbXBvcnQgdXRpbHMgYXMgZGF0YV9ncmlkX3V0aWxzCisK KworY2xhc3MgRGF0YWdyaWRVcGRhdGVDb25uZWN0aW9uVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0 b3IpOgorICAgICIiIgorICAgIFRoaXMgd2lsbCB1cGRhdGUgcXVlcnktdG9vbCBjb25uZWN0aW9u LgorICAgICIiIgorCisgICAgc2NlbmFyaW9zID0gdXRpbHMuZ2VuZXJhdGVfc2NlbmFyaW9zKAor ICAgICAgICAnZGF0YV9ncmlkX3VwZGF0ZV9jb25uZWN0aW9uJywKKyAgICAgICAgZGF0YV9ncmlk X3V0aWxzLnRlc3RfY2FzZXMKKyAgICApCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAg IHNlbGYuZGF0YWJhc2VfaW5mbyA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdCisg ICAgICAgIHNlbGYuZGJfbmFtZSA9IHNlbGYuZGF0YWJhc2VfaW5mb1siZGJfbmFtZSJdCisgICAg ICAgIHNlbGYuZGlkID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJkYl9pZCJdCisgICAgICAgIHNlbGYu c2lkID0gcGFyZW50X25vZGVfZGljdFsic2VydmVyIl1bLTFdWyJzZXJ2ZXJfaWQiXQorICAgICAg ICBzZWxmLnNnaWQgPSBjb25maWdfZGF0YVsnc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9j b24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsIHV0aWxzLlNFUlZFUl9H Uk9VUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLnNpZCwgc2VsZi5kaWQpCisKKyAgICAgICAgc2VsZi50cmFuc19pZCA9IHN0cihyYW5kb20u cmFuZGludCgxLCA5OTk5OTk5KSkKKyAgICAgICAgc2VsZi5yb2xlcyA9IE5vbmUKKworICAgICAg ICBpZiBzZWxmLmlzX2NyZWF0ZV9yb2xlOgorICAgICAgICAgICAgZGF0YSA9IHJvbGVzX3V0aWxz LmdldF9yb2xlX2RhdGEoc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10pCisgICAgICAgICAgICBz ZWxmLnJvbGVfbmFtZSA9IGRhdGFbJ3JvbG5hbWUnXQorICAgICAgICAgICAgc2VsZi5yb2xlX3Bh c3N3b3JkID0gZGF0YVsncm9scGFzc3dvcmQnXQorICAgICAgICAgICAgcm9sZXNfdXRpbHMuY3Jl YXRlX3JvbGVfd2l0aF9wYXNzd29yZCgKKyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlciwgc2Vs Zi5yb2xlX25hbWUsIHNlbGYucm9sZV9wYXNzd29yZCkKKworICAgICAgICBpZiBub3Qgc2VsZi5p c19wb3NpdGl2ZV90ZXN0IG9yIHNlbGYuaXNfY3JlYXRlX3JvbGU6CisgICAgICAgICAgICBxdF9p bml0ID0gZGF0YV9ncmlkX3V0aWxzLl9pbml0X3F1ZXJ5X3Rvb2woc2VsZiwgc2VsZi50cmFuc19p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLnNnaWQsIHNlbGYuc2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQorCisgICAgICAgICAgICBpZiBub3QgcXRf aW5pdFsnc3VjY2VzcyddOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQg bm90IGluaXRpYWxpemUgcXVlcnR5IHRvb2wuIikKKworICAgICAgICBzZWxmLnRlc3RfZGF0YSA9 IHsKKyAgICAgICAgICAgICJkYXRhYmFzZSI6IHNlbGYuZGlkLAorICAgICAgICAgICAgInNlcnZl ciI6IHNlbGYuc2lkLAorICAgICAgICB9CisKKyAgICAgICAgaWYgc2VsZi5zZXJ2ZXJfaW5mb3Jt YXRpb25bJ3R5cGUnXSA9PSAncHBhcyc6CisgICAgICAgICAgICBzZWxmLnRlc3RfZGF0YVsncGFz c3dvcmQnXSA9ICdlbnRlcnByaXNlZGInCisgICAgICAgICAgICBzZWxmLnRlc3RfZGF0YVsndXNl ciddID0gJ2VudGVycHJpc2VkYicKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYudGVz dF9kYXRhWydwYXNzd29yZCddID0gJ3Bvc3RncmVzJworICAgICAgICAgICAgc2VsZi50ZXN0X2Rh dGFbJ3VzZXInXSA9ICdwb3N0Z3JlcycKKworICAgICAgICBpZiBub3QgZGJfY29uWydkYXRhJ11b ImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgY29u bmVjdCB0byBkYXRhYmFzZSB0byBhZGQgYSB0YWJsZS4iKQorCisgICAgZGVmIHVwZGF0ZV9jb25u ZWN0aW9uKHNlbGYsIHVzZXJfZGF0YT1Ob25lKToKKyAgICAgICAgaWYgdXNlcl9kYXRhOgorICAg ICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAgICAgICAgIHNl bGYudXJsICsgc3RyKHNlbGYudHJhbnNfaWQpICsgJy8nICsgc3RyKHNlbGYuc2dpZCkgKworICAg ICAgICAgICAgICAgICcvJyArIHN0cihzZWxmLnNpZCkgKyAnLycgKyBzdHIoc2VsZi5kaWQpLAor ICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyh1c2VyX2RhdGEpLAorICAgICAgICAgICAg ICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICAgICAgKQorICAgICAgICBlbHNl OgorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAgICAg ICAgIHNlbGYudXJsICsgc3RyKHNlbGYudHJhbnNfaWQpICsgJy8nICsgc3RyKHNlbGYuc2dpZCkg KyAnLycgKworICAgICAgICAgICAgICAgIHN0cihzZWxmLnNpZCkgKyAnLycgKyBzdHIoc2VsZi5k aWQpLAorICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhzZWxmLnRlc3RfZGF0YSksCisg ICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nCisgICAgICAgICAgICApCisg ICAgICAgIHJldHVybiByZXNwb25zZQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAg ICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRlIHF1ZXJ5IHRvb2wgY29ubmVjdGlvbi4iIiIK KworICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6CisgICAgICAgICAgICB1c2VyX2Rh dGEgPSBkaWN0KCkKKyAgICAgICAgICAgIGlmIHNlbGYuaXNfY3JlYXRlX3JvbGU6CisgICAgICAg ICAgICAgICAgdXNlcl9kYXRhWyd1c2VyJ10gPSBzZWxmLnJvbGVfbmFtZQorICAgICAgICAgICAg ICAgIHVzZXJfZGF0YVsncGFzc3dvcmQnXSA9IHNlbGYucm9sZV9wYXNzd29yZAorICAgICAgICAg ICAgICAgIHVzZXJfZGF0YVsncm9sZSddID0gTm9uZQorICAgICAgICAgICAgcmVzcG9uc2UgPSBz ZWxmLnVwZGF0ZV9jb25uZWN0aW9uKHVzZXJfZGF0YT11c2VyX2RhdGEpCisgICAgICAgICAgICBh Y3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgICAgICBl eHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSdd CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudXBkYXRlX2Nvbm5l Y3Rpb24oKQorICAgICAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0 dXNfY29kZQorICAgICAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0 ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFs X3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUpCisKKyAgICBkZWYgdGVhckRv d24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gZGlzY29ubmVjdCBkYXRhYmFzZS4i IiIKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxm LnNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRp ZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rlc3RzL3Rlc3RfZGF0 YV9ncmlkX3ZhbGlkYXRlX2ZpbHRlci5weSBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3Rl c3RzL3Rlc3RfZGF0YV9ncmlkX3ZhbGlkYXRlX2ZpbHRlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi4wYWJhNWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4v dG9vbHMvZGF0YWdyaWQvdGVzdHMvdGVzdF9kYXRhX2dyaWRfdmFsaWRhdGVfZmlsdGVyLnB5CkBA IC0wLDAgKzEsOTEgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3Rn cmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4g RGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQ b3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworaW1wb3J0IGpzb24K K2ltcG9ydCB1dWlkCitpbXBvcnQgcmFuZG9tCisKK2Zyb20gdW5pdHRlc3QubW9jayBpbXBvcnQg cGF0Y2gKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFz ZXMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIFwKKyAgICBkYXRhYmFzZV91dGlscworCitmcm9tIHBn YWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Np b24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91 dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSByZWdyZXNzaW9uLnRlc3Rfc2V0 dXAgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudGVzdHMgaW1wb3J0IFwKKyAgICB1dGlscyBhcyBz Y2hlbWFfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5k YXRhYmFzZXMuc2NoZW1hcy50YWJsZXMudGVzdHMgXAorICAgIGltcG9ydCB1dGlscyBhcyB0YWJs ZXNfdXRpbHMKK2Zyb20gLiBpbXBvcnQgdXRpbHMgYXMgZGF0YV9ncmlkX3V0aWxzCisKKworY2xh c3MgRGF0YWdyaWRWYWxpZGF0ZUZpbHRlclRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAg ICAiIiIKKyAgICBUaGlzIHdpbGwgdmFsaWRhdGUgZmlsdGVyIGNvbm5lY3Rpb24uCisgICAgIiIi CisKKyAgICBzY2VuYXJpb3MgPSB1dGlscy5nZW5lcmF0ZV9zY2VuYXJpb3MoCisgICAgICAgICdk YXRhX2dyaWRfdmFsaWRhdGVfZmlsdGVyJywKKyAgICAgICAgZGF0YV9ncmlkX3V0aWxzLnRlc3Rf Y2FzZXMKKyAgICApCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGF0YWJh c2VfaW5mbyA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdCisgICAgICAgIHNlbGYu ZGJfbmFtZSA9IHNlbGYuZGF0YWJhc2VfaW5mb1siZGJfbmFtZSJdCisgICAgICAgIHNlbGYuZGlk ID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJkYl9pZCJdCisgICAgICAgIHNlbGYuc2lkID0gcGFyZW50 X25vZGVfZGljdFsic2VydmVyIl1bLTFdWyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLnNnaWQg PSBjb25maWdfZGF0YVsnc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSBkYXRhYmFz ZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsIHV0aWxzLlNFUlZFUl9HUk9VUCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNpZCwgc2Vs Zi5kaWQpCisgICAgICAgIGlmIG5vdCBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisgICAg ICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRv IGFkZCBhIHRhYmxlLiIpCisgICAgICAgIHNlbGYuc2NoZW1hX2lkID0gcGFyZW50X25vZGVfZGlj dFsnc2NoZW1hJ11bLTFdWyJzY2hlbWFfaWQiXQorICAgICAgICBzZWxmLnNjaGVtYV9uYW1lID0g cGFyZW50X25vZGVfZGljdFsnc2NoZW1hJ11bLTFdWyJzY2hlbWFfbmFtZSJdCisgICAgICAgIHNj aGVtYV9yZXNwb25zZSA9IHNjaGVtYV91dGlscy52ZXJpZnlfc2NoZW1hcyhzZWxmLnNlcnZlciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuZGJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYuc2NoZW1hX25hbWUpCisgICAgICAgIGlmIG5vdCBzY2hlbWFfcmVzcG9u c2U6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBmaW5kIHRoZSBzY2hl bWEgdG8gYWRkIGEgdGFibGUuIikKKyAgICAgICAgc2VsZi50YWJsZV9uYW1lID0gInRhYmxlX2Zv cl93aXphcmQlcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSkKKyAgICAgICAgc2VsZi50YWJs ZV9pZCA9IHRhYmxlc191dGlscy5jcmVhdGVfdGFibGUoc2VsZi5zZXJ2ZXIsIHNlbGYuZGJfbmFt ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5zY2hlbWFfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi50YWJsZV9uYW1lKQorCisgICAgZGVmIHZhbGlkYXRlX2ZpbHRlcihzZWxm KToKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAgICAgc2Vs Zi51cmwgKyBzdHIoc2VsZi5zaWQpICsgJy8nICsgc3RyKHNlbGYuZGlkKSArICcvJyArCisgICAg ICAgICAgICBzdHIoc2VsZi50YWJsZV9pZCksCisgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMo c2VsZi50ZXN0X2RhdGEpLAorICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nCisg ICAgICAgICkKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlCisKKyAgICBkZWYgcnVuVGVzdChzZWxm KToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgcXVlcnkgdG9vbCBjb25u ZWN0aW9uLiIiIgorCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoKKyAgICAgICAg ICAgIHJlc3BvbnNlID0gc2VsZi52YWxpZGF0ZV9maWx0ZXIoKQorICAgICAgICAgICAgYWN0dWFs X3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29kZQorICAgICAgICAgICAgZXhwZWN0 ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorICAg ICAgICBlbHNlOgorICAgICAgICAgICAgd2l0aCBwYXRjaChzZWxmLm1vY2tfZGF0YVsiZnVuY3Rp b25fbmFtZSJdLAorICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9ZXZhbChzZWxm Lm1vY2tfZGF0YVsicmV0dXJuX3ZhbHVlIl0pKToKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9 IHNlbGYudmFsaWRhdGVfZmlsdGVyKCkKKyAgICAgICAgICAgICAgICBhY3R1YWxfcmVzcG9uc2Vf Y29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVz cG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorCisgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jlc3BvbnNl X2NvZGUpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rp b24gZGlzY29ubmVjdCBkYXRhYmFzZS4iIiIKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlzY29u bmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLmRpZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xz L2RhdGFncmlkL3Rlc3RzL3Rlc3RfaW5pdGlhbGl6ZV9kYXRhX2dyaWQucHkgYi93ZWIvcGdhZG1p bi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2luaXRpYWxpemVfZGF0YV9ncmlkLnB5Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzMGExZDYKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90ZXN0cy90ZXN0X2luaXRpYWxpemVfZGF0YV9n cmlkLnB5CkBAIC0wLDAgKzEsMTA4IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWlu IDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRo ZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1 bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisKK2lt cG9ydCBqc29uCitpbXBvcnQgdXVpZAoraW1wb3J0IHJhbmRvbQorCitmcm9tIHVuaXR0ZXN0Lm1v Y2sgaW1wb3J0IHBhdGNoCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZl cnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBcCisgICAgZGF0YWJhc2VfdXRpbHMK KworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJv bSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jlc3Npb24ucHl0 aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gcmVncmVzc2lv bi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2Vy dmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRlc3RzIGltcG9ydCBcCisgICAg dXRpbHMgYXMgc2NoZW1hX3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudGFibGVzLnRlc3RzIFwKKyAgICBpbXBvcnQgdXRp bHMgYXMgdGFibGVzX3V0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGRhdGFfZ3JpZF91dGls cworCisKK2NsYXNzIERhdGFncmlkSW5pdGlhbGl6ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKKyAgICAiIiIKKyAgICBUaGlzIHdpbGwgSW5pdGlhbGl6ZSBkYXRhZ3JpZAorICAgICIiIgor CisgICAgc2NlbmFyaW9zID0gdXRpbHMuZ2VuZXJhdGVfc2NlbmFyaW9zKAorICAgICAgICAnZGF0 YV9ncmlkX2luaXRpYWxpemUnLAorICAgICAgICBkYXRhX2dyaWRfdXRpbHMudGVzdF9jYXNlcwor ICAgICkKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5kYXRhYmFzZV9pbmZv ID0gcGFyZW50X25vZGVfZGljdFsiZGF0YWJhc2UiXVstMV0KKyAgICAgICAgc2VsZi5kYl9uYW1l ID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJkYl9uYW1lIl0KKyAgICAgICAgc2VsZi5kaWQgPSBzZWxm LmRhdGFiYXNlX2luZm9bImRiX2lkIl0KKyAgICAgICAgc2VsZi5zaWQgPSBwYXJlbnRfbm9kZV9k aWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZlcl9pZCJdCisgICAgICAgIHNlbGYuc2dpZCA9IGNvbmZp Z19kYXRhWydzZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxz LmNvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkLCBzZWxmLmRpZCkK KyAgICAgICAgaWYgbm90IGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKyAgICAgICAgICAg IHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGNvbm5lY3QgdG8gZGF0YWJhc2UgdG8gYWRkIGEg dGFibGUuIikKKworICAgICAgICBzZWxmLnNjaGVtYV9pZCA9IHBhcmVudF9ub2RlX2RpY3RbJ3Nj aGVtYSddWy0xXVsic2NoZW1hX2lkIl0KKyAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSA9IHBhcmVu dF9ub2RlX2RpY3RbJ3NjaGVtYSddWy0xXVsic2NoZW1hX25hbWUiXQorICAgICAgICBzY2hlbWFf cmVzcG9uc2UgPSBzY2hlbWFfdXRpbHMudmVyaWZ5X3NjaGVtYXMoc2VsZi5zZXJ2ZXIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRi X25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLnNjaGVtYV9uYW1lKQorICAgICAgICBpZiBub3Qgc2NoZW1hX3Jlc3BvbnNlOgor ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgZmluZCB0aGUgc2NoZW1hIHRv IGFkZCBhIHRhYmxlLiIpCisgICAgICAgIHNlbGYudGFibGVfbmFtZSA9ICJ0YWJsZV9mb3Jfd2l6 YXJkJXMiICUgKHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0pCisgICAgICAgIHNlbGYudGFibGVfaWQg PSB0YWJsZXNfdXRpbHMuY3JlYXRlX3RhYmxlKHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2No ZW1hX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYudGFibGVfbmFtZSkKKyAgICAgICAgc2VsZi50cmFuc19pZCA9IHN0cihyYW5kb20u cmFuZGludCgxLCA5OTk5OTk5KSkKKyAgICAgICAgcXRfaW5pdCA9IGRhdGFfZ3JpZF91dGlscy5f aW5pdF9xdWVyeV90b29sKHNlbGYsIHNlbGYudHJhbnNfaWQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNnaWQsIHNlbGYuc2lkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kaWQp CisKKyAgICAgICAgaWYgbm90IHF0X2luaXRbJ3N1Y2Nlc3MnXToKKyAgICAgICAgICAgIHJhaXNl IEV4Y2VwdGlvbigiQ291bGQgbm90IGluaXRpYWxpemUgcXVlcnkgdG9vbC4iKQorCisgICAgZGVm IGluaXRpYWxpemVfZGF0YWdyaWQoc2VsZik6CisgICAgICAgIGlmIHNlbGYudGVzdF9kYXRhOgor ICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAgICAgICAg IHNlbGYudXJsICsgc3RyKHNlbGYudHJhbnNfaWQpICsgJy80L3RhYmxlLycgKworICAgICAgICAg ICAgICAgIHN0cihzZWxmLnNnaWQpICsgJy8nICsgc3RyKHNlbGYuc2lkKSArICcvJyArCisgICAg ICAgICAgICAgICAgc3RyKHNlbGYuZGlkKSArICcvJyArIHN0cihzZWxmLnRhYmxlX2lkKSwKKyAg ICAgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi50ZXN0X2RhdGEpLAorICAgICAgICAg ICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICAgICAgKQorICAgICAgICBl bHNlOgorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KAorICAgICAgICAg ICAgICAgIHNlbGYudXJsICsgc3RyKHNlbGYudHJhbnNfaWQpICsgJy80L3RhYmxlLycgKworICAg ICAgICAgICAgICAgIHN0cihzZWxmLnNnaWQpICsgJy8nICsgc3RyKHNlbGYuc2lkKSArICcvJyAr CisgICAgICAgICAgICAgICAgc3RyKHNlbGYuZGlkKSArICcvJyArIHN0cihzZWxmLnRhYmxlX2lk KSwKKyAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicKKyAgICAgICAgICAg ICkKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAg ICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgcXVlcnkgdG9vbCBjb25uZWN0aW9u LiIiIgorCisgICAgICAgIGlmIHNlbGYuaXNfcG9zaXRpdmVfdGVzdDoKKyAgICAgICAgICAgIHJl c3BvbnNlID0gc2VsZi5pbml0aWFsaXplX2RhdGFncmlkKCkKKyAgICAgICAgICAgIGFjdHVhbF9y ZXNwb25zZV9jb2RlID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgICAgIGV4cGVjdGVk X3Jlc3BvbnNlX2NvZGUgPSBzZWxmLmV4cGVjdGVkX2RhdGFbJ3N0YXR1c19jb2RlJ10KKyAgICAg ICAgZWxzZToKKyAgICAgICAgICAgIHdpdGggcGF0Y2goc2VsZi5tb2NrX2RhdGFbImZ1bmN0aW9u X25hbWUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPWV2YWwoc2VsZi5t b2NrX2RhdGFbInJldHVybl92YWx1ZSJdKSk6CisgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBz ZWxmLmluaXRpYWxpemVfZGF0YWdyaWQoKQorICAgICAgICAgICAgICAgIGFjdHVhbF9yZXNwb25z ZV9jb2RlID0gcmVzcG9uc2Uuc3RhdHVzX2NvZGUKKyAgICAgICAgICAgICAgICBleHBlY3RlZF9y ZXNwb25zZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSddCisKKyAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0ZWRfcmVzcG9u c2VfY29kZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5j dGlvbiBkaXNjb25uZWN0IGRhdGFiYXNlLiIiIgorICAgICAgICBkYXRhYmFzZV91dGlscy5kaXNj b25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2lkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYuZGlkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9v bHMvZGF0YWdyaWQvdGVzdHMvdXRpbHMucHkgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC90 ZXN0cy91dGlscy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jM2Q0YmI1 Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvdGVzdHMvdXRp bHMucHkKQEAgLTAsMCArMSwzMyBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0 IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUg cGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5k ZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2ltcG9ydCBv cworaW1wb3J0IGpzb24KKworZmlsZV9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShfX2ZpbGVfXykK K0NVUlJFTlRfUEFUSCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLnJlYWxwYXRoKF9fZmlsZV9f KSkKK3dpdGggb3BlbihDVVJSRU5UX1BBVEggKyAiL2RhdGFncmlkX3Rlc3RfZGF0YS5qc29uIikg YXMgZGF0YV9maWxlOgorICAgIHRlc3RfY2FzZXMgPSBqc29uLmxvYWQoZGF0YV9maWxlKQorCisK K2RlZiBfaW5pdF9xdWVyeV90b29sKHNlbGYsIHRyYW5zX2lkLCBzZXJ2ZXJfZ3JvdXAsIHNlcnZl cl9pZCwgZGJfaWQpOgorICAgIFFVRVJZX1RPT0xfSU5JVF9VUkwgPSAnL2RhdGFncmlkL2luaXRp YWxpemUvcXVlcnlfdG9vbCcKKworICAgIHF0X2luaXQgPSBzZWxmLnRlc3Rlci5wb3N0KAorICAg ICAgICAnezB9L3sxfS97Mn0vezN9L3s0fScuZm9ybWF0KAorICAgICAgICAgICAgUVVFUllfVE9P TF9JTklUX1VSTCwKKyAgICAgICAgICAgIHRyYW5zX2lkLAorICAgICAgICAgICAgc2VydmVyX2dy b3VwLAorICAgICAgICAgICAgc2VydmVyX2lkLAorICAgICAgICAgICAgZGJfaWQKKyAgICAgICAg KSwKKyAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlCisgICAgKQorICAgIGFzc2VydCBxdF9p bml0LnN0YXR1c19jb2RlID09IDIwMAorICAgIHF0X2luaXQgPSBqc29uLmxvYWRzKHF0X2luaXQu ZGF0YS5kZWNvZGUoJ3V0Zi04JykpCisgICAgcmV0dXJuIHF0X2luaXQKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL3Rvb2xz L3NxbGVkaXRvci9fX2luaXRfXy5weQppbmRleCA5ZDA5MDNiLi5jYTk4ZWM0IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRt aW4vdG9vbHMvc3FsZWRpdG9yL19faW5pdF9fLnB5CkBAIC0xMCwxNyArMTAsMTUgQEAKICIiIkEg Ymx1ZXByaW50IG1vZHVsZSBpbXBsZW1lbnRpbmcgdGhlIHNxbGVkaXRvciBmcmFtZS4iIiIKIGlt cG9ydCBvcwogaW1wb3J0IHBpY2tsZQotaW1wb3J0IHN5cwogaW1wb3J0IHJlCitmcm9tIHVybGxp Yi5wYXJzZSBpbXBvcnQgdW5xdW90ZQogCiBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCi1mcm9t IGZsYXNrIGltcG9ydCBSZXNwb25zZSwgdXJsX2ZvciwgcmVuZGVyX3RlbXBsYXRlLCBzZXNzaW9u LCByZXF1ZXN0LCBcCi0gICAgY3VycmVudF9hcHAKK2Zyb20gY29uZmlnIGltcG9ydCBQR19ERUZB VUxUX0RSSVZFUiwgT05fREVNQU5EX1JFQ09SRF9DT1VOVAorZnJvbSBmbGFzayBpbXBvcnQgUmVz cG9uc2UsIHVybF9mb3IsIHJlbmRlcl90ZW1wbGF0ZSwgc2Vzc2lvbiwgY3VycmVudF9hcHAKK2Zy b20gZmxhc2sgaW1wb3J0IHJlcXVlc3QsIGpzb25pZnkKIGZyb20gZmxhc2tfYmFiZWxleCBpbXBv cnQgZ2V0dGV4dAogZnJvbSBmbGFza19zZWN1cml0eSBpbXBvcnQgbG9naW5fcmVxdWlyZWQsIGN1 cnJlbnRfdXNlcgotZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVucXVvdGUKLQotZnJvbSBjb25m aWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSLCBPTl9ERU1BTkRfUkVDT1JEX0NPVU5UCiBmcm9t IHBnYWRtaW4ubWlzYy5maWxlX21hbmFnZXIgaW1wb3J0IEZpbGVtYW5hZ2VyCiBmcm9tIHBnYWRt aW4udG9vbHMuc3FsZWRpdG9yLmNvbW1hbmQgaW1wb3J0IFF1ZXJ5VG9vbENvbW1hbmQKIGZyb20g cGdhZG1pbi50b29scy5zcWxlZGl0b3IudXRpbHMuY29uc3RhbnRfZGVmaW5pdGlvbiBpbXBvcnQg QVNZTkNfT0ssIFwKQEAgLTMyLDExICszMCwxMSBAQCBmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRp dG9yLnV0aWxzLnVwZGF0ZV9zZXNzaW9uX2dyaWRfdHJhbnNhY3Rpb24gaW1wb3J0IFwKIGZyb20g cGdhZG1pbi51dGlscyBpbXBvcnQgUGdBZG1pbk1vZHVsZQogZnJvbSBwZ2FkbWluLnV0aWxzIGlt cG9ydCBnZXRfc3RvcmFnZV9kaXJlY3RvcnkKIGZyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9y dCBtYWtlX2pzb25fcmVzcG9uc2UsIGJhZF9yZXF1ZXN0LCBcCi0gICAgc3VjY2Vzc19yZXR1cm4s IGludGVybmFsX3NlcnZlcl9lcnJvciwgbWFrZV9yZXNwb25zZSBhcyBhamF4X3Jlc3BvbnNlCisg ICAgc3VjY2Vzc19yZXR1cm4sIGludGVybmFsX3NlcnZlcl9lcnJvcgogZnJvbSBwZ2FkbWluLnV0 aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZlcgotZnJvbSBwZ2FkbWluLnV0aWxzLm1lbnUgaW1w b3J0IE1lbnVJdGVtCi1mcm9tIHBnYWRtaW4udXRpbHMuZXhjZXB0aW9uIGltcG9ydCBDb25uZWN0 aW9uTG9zdCwgU1NIVHVubmVsQ29ubmVjdGlvbkxvc3QsXAorZnJvbSBwZ2FkbWluLnV0aWxzLmV4 Y2VwdGlvbiBpbXBvcnQgQ29ubmVjdGlvbkxvc3QsIFNTSFR1bm5lbENvbm5lY3Rpb25Mb3N0LCBc CiAgICAgQ3J5cHRLZXlNaXNzaW5nCitmcm9tIHBnYWRtaW4udXRpbHMubWVudSBpbXBvcnQgTWVu dUl0ZW0KIGZyb20gcGdhZG1pbi51dGlscy5zcWxhdXRvY29tcGxldGUuYXV0b2NvbXBsZXRlIGlt cG9ydCBTUUxBdXRvQ29tcGxldGUKIGZyb20gcGdhZG1pbi50b29scy5zcWxlZGl0b3IudXRpbHMu cXVlcnlfdG9vbF9wcmVmZXJlbmNlcyBpbXBvcnQgXAogICAgIHJlZ2lzdGVyX3F1ZXJ5X3Rvb2xf cHJlZmVyZW5jZXMKQEAgLTQ0LDEwICs0MiwxMiBAQCBmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRp dG9yLnV0aWxzLnF1ZXJ5X3Rvb2xfZnNfdXRpbHMgaW1wb3J0IFwKICAgICByZWFkX2ZpbGVfZ2Vu ZXJhdG9yCiBmcm9tIHBnYWRtaW4udG9vbHMuc3FsZWRpdG9yLnV0aWxzLmZpbHRlcl9kaWFsb2cg aW1wb3J0IEZpbHRlckRpYWxvZwogZnJvbSBwZ2FkbWluLnRvb2xzLnNxbGVkaXRvci51dGlscy5x dWVyeV9oaXN0b3J5IGltcG9ydCBRdWVyeUhpc3RvcnkKLWZyb20gcGdhZG1pbi51dGlscy5jb25z dGFudHMgaW1wb3J0IE1JTUVUWVBFX0FQUF9KUywgU0VSVkVSX0NPTk5FQ1RJT05fQ0xPU0VELFwK LSAgICBFUlJPUl9NU0dfVFJBTlNfSURfTk9UX0ZPVU5ECiBmcm9tIHBnYWRtaW4udG9vbHMuc3Fs ZWRpdG9yLnV0aWxzLm1hY3JvcyBpbXBvcnQgZ2V0X21hY3JvcyxcCiAgICAgZ2V0X3VzZXJfbWFj cm9zLCBzZXRfbWFjcm9zCitmcm9tIHBnYWRtaW4udXRpbHMuY29uc3RhbnRzIGltcG9ydCBNSU1F VFlQRV9BUFBfSlMsIFwKKyAgICBTRVJWRVJfQ09OTkVDVElPTl9DTE9TRUQsIEVSUk9SX01TR19U UkFOU19JRF9OT1RfRk9VTkQKK2Zyb20gcGdhZG1pbi5tb2RlbCBpbXBvcnQgU2VydmVyCitmcm9t IHBnYWRtaW4udG9vbHMuc2NoZW1hX2RpZmYubm9kZV9yZWdpc3RyeSBpbXBvcnQgU2NoZW1hRGlm ZlJlZ2lzdHJ5CiAKIE1PRFVMRV9OQU1FID0gJ3NxbGVkaXRvcicKIApAQCAtMTEzLDcgKzExMywx MyBAQCBjbGFzcyBTcWxFZGl0b3JNb2R1bGUoUGdBZG1pbk1vZHVsZSk6CiAgICAgICAgICAgICAn c3FsZWRpdG9yLmNsZWFyX3F1ZXJ5X2hpc3RvcnknLAogICAgICAgICAgICAgJ3NxbGVkaXRvci5n ZXRfbWFjcm8nLAogICAgICAgICAgICAgJ3NxbGVkaXRvci5nZXRfbWFjcm9zJywKLSAgICAgICAg ICAgICdzcWxlZGl0b3Iuc2V0X21hY3JvcycKKyAgICAgICAgICAgICdzcWxlZGl0b3Iuc2V0X21h Y3JvcycsCisgICAgICAgICAgICAnc3FsZWRpdG9yLmdldF9uZXdfY29ubmVjdGlvbl9kYXRhJywK KyAgICAgICAgICAgICdzcWxlZGl0b3IuZ2V0X25ld19jb25uZWN0aW9uX2RhdGFiYXNlJywKKyAg ICAgICAgICAgICdzcWxlZGl0b3IuZ2V0X25ld19jb25uZWN0aW9uX3VzZXInLAorICAgICAgICAg ICAgJ3NxbGVkaXRvci5nZXRfbmV3X2Nvbm5lY3Rpb25fcm9sZScsCisgICAgICAgICAgICAnc3Fs ZWRpdG9yLmNvbm5lY3Rfc2VydmVyJywKKyAgICAgICAgICAgICdzcWxlZGl0b3IuY29ubmVjdF9z ZXJ2ZXJfd2l0aF91c2VyJywKICAgICAgICAgXQogCiAgICAgZGVmIHJlZ2lzdGVyX3ByZWZlcmVu Y2VzKHNlbGYpOgpAQCAtMjI5LDcgKzIzNSw3IEBAIGRlZiBzdGFydF92aWV3X2RhdGEodHJhbnNf aWQpOgogICAgICAgICAgICAgKQogCiAgICAgaWYgc3RhdHVzIGFuZCBjb25uIGlzIG5vdCBOb25l IGFuZCBcCi0gICAgICAgdHJhbnNfb2JqIGlzIG5vdCBOb25lIGFuZCBzZXNzaW9uX29iaiBpcyBu b3QgTm9uZToKKyAgICAgICAgICAgIHRyYW5zX29iaiBpcyBub3QgTm9uZSBhbmQgc2Vzc2lvbl9v YmogaXMgbm90IE5vbmU6CiAgICAgICAgICMgc2V0IGZldGNoZWQgcm93IGNvdW50IHRvIDAgYXMg d2UgYXJlIGV4ZWN1dGluZyBxdWVyeSBhZ2Fpbi4KICAgICAgICAgdHJhbnNfb2JqLnVwZGF0ZV9m ZXRjaGVkX3Jvd19jbnQoMCkKIApAQCAtMzc1LDcgKzM4MSw3IEBAIGRlZiBwb2xsKHRyYW5zX2lk KToKICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodHJhbnNfb2JqLCBRdWVyeVRvb2xDb21tYW5k KToKICAgICAgICAgICAgICAgICB0cmFuc19zdGF0dXMgPSBjb25uLnRyYW5zYWN0aW9uX3N0YXR1 cygpCiAgICAgICAgICAgICAgICAgaWYgdHJhbnNfc3RhdHVzID09IFRYX1NUQVRVU19JTkVSUk9S IGFuZCBcCi0gICAgICAgICAgICAgICAgICAgdHJhbnNfb2JqLmF1dG9fcm9sbGJhY2s6CisgICAg ICAgICAgICAgICAgICAgICAgICB0cmFuc19vYmouYXV0b19yb2xsYmFjazoKICAgICAgICAgICAg ICAgICAgICAgY29ubi5leGVjdXRlX3ZvaWQoIlJPTExCQUNLOyIpCiAKICAgICAgICAgICAgIHN0 LCByZXN1bHQgPSBjb25uLmFzeW5jX2ZldGNobWFueV8yZGFycmF5KE9OX0RFTUFORF9SRUNPUkRf Q09VTlQpCkBAIC02ODUsMTMgKzY5MSwxMiBAQCBkZWYgc2F2ZSh0cmFuc19pZCk6CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPTQwNCkKIAogICAgIGlmIHN0YXR1cyBh bmQgY29ubiBpcyBub3QgTm9uZSBhbmQgXAotICAgICAgIHRyYW5zX29iaiBpcyBub3QgTm9uZSBh bmQgc2Vzc2lvbl9vYmogaXMgbm90IE5vbmU6CisgICAgICAgICAgICB0cmFuc19vYmogaXMgbm90 IE5vbmUgYW5kIHNlc3Npb25fb2JqIGlzIG5vdCBOb25lOgogCiAgICAgICAgICMgSWYgdGhlcmUg aXMgbm8gcHJpbWFyeSBrZXkgZm91bmQgdGhlbiByZXR1cm4gZnJvbSB0aGUgZnVuY3Rpb24uCiAg ICAgICAgIGlmICgncHJpbWFyeV9rZXlzJyBub3QgaW4gc2Vzc2lvbl9vYmogb3IKLSAgICAgICAg ICAgbGVuKHNlc3Npb25fb2JqWydwcmltYXJ5X2tleXMnXSkgPD0gMCBvcgotICAgICAgICAgICBs ZW4oY2hhbmdlZF9kYXRhKSA8PSAwKSBhbmQgXAotICAgICAgICAgICAnaGFzX29pZHMnIG5vdCBp biBzZXNzaW9uX29iajoKKyAgICAgICAgICAgIGxlbihzZXNzaW9uX29ialsncHJpbWFyeV9rZXlz J10pIDw9IDAgb3IKKyAgICAgICAgICAgICAgICBsZW4oY2hhbmdlZF9kYXRhKSA8PSAwKSBhbmQg J2hhc19vaWRzJyBub3QgaW4gc2Vzc2lvbl9vYmo6CiAgICAgICAgICAgICByZXR1cm4gbWFrZV9q c29uX3Jlc3BvbnNlKAogICAgICAgICAgICAgICAgIGRhdGE9ewogICAgICAgICAgICAgICAgICAg ICAnc3RhdHVzJzogRmFsc2UsCkBAIC03NTgsNyArNzYzLDcgQEAgZGVmIGFwcGVuZF9maWx0ZXJf aW5jbHVzaXZlKHRyYW5zX2lkKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dGF0dXM9NDA0KQogCiAgICAgaWYgc3RhdHVzIGFuZCBjb25uIGlzIG5vdCBOb25lIGFuZCBcCi0g ICAgICAgdHJhbnNfb2JqIGlzIG5vdCBOb25lIGFuZCBzZXNzaW9uX29iaiBpcyBub3QgTm9uZToK KyAgICAgICAgICAgIHRyYW5zX29iaiBpcyBub3QgTm9uZSBhbmQgc2Vzc2lvbl9vYmogaXMgbm90 IE5vbmU6CiAKICAgICAgICAgcmVzID0gTm9uZQogICAgICAgICBmaWx0ZXJfc3FsID0gJycKQEAg LTgxMiw3ICs4MTcsNyBAQCBkZWYgYXBwZW5kX2ZpbHRlcl9leGNsdXNpdmUodHJhbnNfaWQpOgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm89J0RBVEFHUklEX1RSQU5TQUNU SU9OX1JFUVVJUkVEJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9 NDA0KQogICAgIGlmIHN0YXR1cyBhbmQgY29ubiBpcyBub3QgTm9uZSBhbmQgXAotICAgICAgIHRy YW5zX29iaiBpcyBub3QgTm9uZSBhbmQgc2Vzc2lvbl9vYmogaXMgbm90IE5vbmU6CisgICAgICAg ICAgICB0cmFuc19vYmogaXMgbm90IE5vbmUgYW5kIHNlc3Npb25fb2JqIGlzIG5vdCBOb25lOgog CiAgICAgICAgIHJlcyA9IE5vbmUKICAgICAgICAgZmlsdGVyX3NxbCA9ICcnCkBAIC04NjUsNyAr ODcwLDcgQEAgZGVmIHJlbW92ZV9maWx0ZXIodHJhbnNfaWQpOgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0YXR1cz00MDQpCiAKICAgICBpZiBzdGF0dXMgYW5kIGNvbm4gaXMg bm90IE5vbmUgYW5kIFwKLSAgICAgICB0cmFuc19vYmogaXMgbm90IE5vbmUgYW5kIHNlc3Npb25f b2JqIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdHJhbnNfb2JqIGlzIG5vdCBOb25lIGFuZCBz ZXNzaW9uX29iaiBpcyBub3QgTm9uZToKIAogICAgICAgICByZXMgPSBOb25lCiAKQEAgLTkwOSw3 ICs5MTQsNyBAQCBkZWYgc2V0X2xpbWl0KHRyYW5zX2lkKToKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdGF0dXM9NDA0KQogCiAgICAgaWYgc3RhdHVzIGFuZCBjb25uIGlzIG5v dCBOb25lIGFuZCBcCi0gICAgICAgdHJhbnNfb2JqIGlzIG5vdCBOb25lIGFuZCBzZXNzaW9uX29i aiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRyYW5zX29iaiBpcyBub3QgTm9uZSBhbmQgc2Vz c2lvbl9vYmogaXMgbm90IE5vbmU6CiAKICAgICAgICAgcmVzID0gTm9uZQogCkBAIC0xMDUxLDcg KzEwNTYsNyBAQCBkZWYgZ2V0X29iamVjdF9uYW1lKHRyYW5zX2lkKToKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdGF0dXM9NDA0KQogCiAgICAgaWYgc3RhdHVzIGFuZCBjb25u IGlzIG5vdCBOb25lIGFuZCBcCi0gICAgICAgdHJhbnNfb2JqIGlzIG5vdCBOb25lIGFuZCBzZXNz aW9uX29iaiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRyYW5zX29iaiBpcyBub3QgTm9uZSBh bmQgc2Vzc2lvbl9vYmogaXMgbm90IE5vbmU6CiAgICAgICAgIHJlcyA9IHRyYW5zX29iai5vYmpl Y3RfbmFtZQogICAgIGVsc2U6CiAgICAgICAgIHN0YXR1cyA9IEZhbHNlCkBAIC0xMDg3LDcgKzEw OTIsNyBAQCBkZWYgc2V0X2F1dG9fY29tbWl0KHRyYW5zX2lkKToKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdGF0dXM9NDA0KQogCiAgICAgaWYgc3RhdHVzIGFuZCBjb25uIGlz IG5vdCBOb25lIGFuZCBcCi0gICAgICAgdHJhbnNfb2JqIGlzIG5vdCBOb25lIGFuZCBzZXNzaW9u X29iaiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRyYW5zX29iaiBpcyBub3QgTm9uZSBhbmQg c2Vzc2lvbl9vYmogaXMgbm90IE5vbmU6CiAKICAgICAgICAgcmVzID0gTm9uZQogCkBAIC0xMTMy LDcgKzExMzcsNyBAQCBkZWYgc2V0X2F1dG9fcm9sbGJhY2sodHJhbnNfaWQpOgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz00MDQpCiAKICAgICBpZiBzdGF0dXMgYW5k IGNvbm4gaXMgbm90IE5vbmUgYW5kIFwKLSAgICAgICB0cmFuc19vYmogaXMgbm90IE5vbmUgYW5k IHNlc3Npb25fb2JqIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdHJhbnNfb2JqIGlzIG5vdCBO b25lIGFuZCBzZXNzaW9uX29iaiBpcyBub3QgTm9uZToKIAogICAgICAgICByZXMgPSBOb25lCiAK QEAgLTExODQsNyArMTE4OSw3IEBAIGRlZiBhdXRvX2NvbXBsZXRlKHRyYW5zX2lkKToKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9NDA0KQogCiAgICAgaWYgc3RhdHVz IGFuZCBjb25uIGlzIG5vdCBOb25lIGFuZCBcCi0gICAgICAgdHJhbnNfb2JqIGlzIG5vdCBOb25l IGFuZCBzZXNzaW9uX29iaiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRyYW5zX29iaiBpcyBu b3QgTm9uZSBhbmQgc2Vzc2lvbl9vYmogaXMgbm90IE5vbmU6CiAKICAgICAgICAgIyBDcmVhdGUg b2JqZWN0IG9mIFNRTEF1dG9Db21wbGV0ZSBjbGFzcyBhbmQgcGFzcyBjb25uZWN0aW9uIG9iamVj dAogICAgICAgICBhdXRvX2NvbXBsZXRlX29iaiA9IFNRTEF1dG9Db21wbGV0ZSgKQEAgLTE0NzAs NiArMTQ3NSwyODQgQEAgZGVmIGdldF9maWx0ZXJfZGF0YSh0cmFuc19pZCk6CiAgICAgcmV0dXJu IEZpbHRlckRpYWxvZy5nZXQoc3RhdHVzLCBlcnJvcl9tc2csIGNvbm4sIHRyYW5zX29iaiwgc2Vz c2lvbl9vYikKIAogCitAYmx1ZXByaW50LnJvdXRlKAorICAgICcvbmV3X2Nvbm5lY3Rpb25fZGlh bG9nLzxpbnQ6c2dpZD4vPGludDpzaWQ+JywKKyAgICBtZXRob2RzPVsiR0VUIl0sIGVuZHBvaW50 PSdnZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YScKKykKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIGdldF9u ZXdfY29ubmVjdGlvbl9kYXRhKHNnaWQsIHNpZD1Ob25lKToKKyAgICAiIiIKKyAgICBUaGlzIG1l dGhvZCBpcyB1c2VkIHRvIGdldCByZXF1aXJlZCBkYXRhIGZvciBnZXQgbmV3IGNvbm5lY3Rpb24u CisgICAgOmV4dHJhY3Rfc3FsX2Zyb21fbmV0d29ya19wYXJhbWV0ZXJzLAorICAgICIiIgorICAg IHRyeToKKyAgICAgICAgIyBpZiBzaWQgYW5kIG5vdCBkaWQ6CisgICAgICAgIHNlcnZlcnMgPSBT ZXJ2ZXIucXVlcnkuYWxsKCkKKyAgICAgICAgc2VydmVyX2xpc3QgPSBbCisgICAgICAgICAgICB7 J25hbWUnOiBzZXJ2ZXIuc2VyaWFsaXplWyduYW1lJ10sICJpZCI6IHNlcnZlci5zZXJpYWxpemVb J2lkJ119CisgICAgICAgICAgICBmb3Igc2VydmVyIGluIHNlcnZlcnNdCisKKyAgICAgICAgbXNn ID0gIlN1Y2Nlc3MiCisgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAg ICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAnc3RhdHVzJzogVHJ1ZSwKKyAgICAgICAgICAg ICAgICAnbXNnJzogbXNnLAorICAgICAgICAgICAgICAgICdyZXN1bHQnOiB7CisgICAgICAgICAg ICAgICAgICAgICdzZXJ2ZXJfbGlzdCc6IHNlcnZlcl9saXN0CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgfQorICAgICAgICApCisKKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Cisg ICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICBkYXRhPXsKKyAg ICAgICAgICAgICAgICAnc3RhdHVzJzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ21zZyc6ICdV bmFibGUgdG8gZmV0Y2ggZGF0YS4nLAorICAgICAgICAgICAgICAgICdyZXN1bHQnOiB7CisgICAg ICAgICAgICAgICAgICAgICdzZXJ2ZXJfbGlzdCc6IFtdCisgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgfQorICAgICAgICApCisKKworQGJsdWVwcmludC5yb3V0ZSgKKyAgICAnL25ld19j b25uZWN0aW9uX2RhdGFiYXNlLzxpbnQ6c2dpZD4vPGludDpzaWQ+JywKKyAgICBtZXRob2RzPVsi R0VUIl0sIGVuZHBvaW50PSdnZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2UnCispCitAbG9naW5f cmVxdWlyZWQKK2RlZiBnZXRfbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2Uoc2dpZCwgc2lkPU5vbmUp OgorICAgICIiIgorICAgIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gZ2V0IHJlcXVpcmVkIGRhdGEg Zm9yIGdldCBuZXcgY29ubmVjdGlvbi4KKyAgICA6ZXh0cmFjdF9zcWxfZnJvbV9uZXR3b3JrX3Bh cmFtZXRlcnMsCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBkYXRhYmFzZV9saXN0ID0gW10K KyAgICAgICAgZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZlcgorICAg ICAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29ubmVjdGlvbl9t YW5hZ2VyKHNpZCkKKyAgICAgICAgY29ubiA9IG1hbmFnZXIuY29ubmVjdGlvbigpCisgICAgICAg IGlmIGNvbm4uY29ubmVjdGVkKCk6CisgICAgICAgICAgICBpc19jb25uZWN0ZWQgPSBUcnVlCisg ICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIGNvbm5lY3Rpb24gPSBjb25uLmNvbm5lY3QoKQor ICAgICAgICAgICAgaXNfY29ubmVjdGVkID0gRmFsc2UKKyAgICAgICAgaWYgaXNfY29ubmVjdGVk OgorICAgICAgICAgICAgaWYgc2lkOgorICAgICAgICAgICAgICAgIHRlbXBsYXRlX3BhdGggPSAn ZGF0YWJhc2VzL3NxbC8jezB9IycuZm9ybWF0KG1hbmFnZXIudmVyc2lvbikKKyAgICAgICAgICAg ICAgICBsYXN0X3N5c3RlbV9vaWQgPSAwCisgICAgICAgICAgICAgICAgc2VydmVyX25vZGVfcmVz ID0gbWFuYWdlcgorCisgICAgICAgICAgICAgICAgZGJfZGlzcF9yZXMgPSBOb25lCisgICAgICAg ICAgICAgICAgcGFyYW1zID0gTm9uZQorICAgICAgICAgICAgICAgIGlmIHNlcnZlcl9ub2RlX3Jl cyBhbmQgc2VydmVyX25vZGVfcmVzLmRiX3JlczoKKyAgICAgICAgICAgICAgICAgICAgZGJfZGlz cF9yZXMgPSAiLCAiLmpvaW4oCisgICAgICAgICAgICAgICAgICAgICAgICBbJyVzJ10gKiBsZW4o c2VydmVyX25vZGVfcmVzLmRiX3Jlcy5zcGxpdCgnLCcpKQorICAgICAgICAgICAgICAgICAgICAp CisgICAgICAgICAgICAgICAgICAgIHBhcmFtcyA9IHR1cGxlKHNlcnZlcl9ub2RlX3Jlcy5kYl9y ZXMuc3BsaXQoJywnKSkKKyAgICAgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCisg ICAgICAgICAgICAgICAgICAgICIvIi5qb2luKFt0ZW1wbGF0ZV9wYXRoLCAnbm9kZXMuc3FsJ10p LAorICAgICAgICAgICAgICAgICAgICBsYXN0X3N5c3RlbV9vaWQ9bGFzdF9zeXN0ZW1fb2lkLAor ICAgICAgICAgICAgICAgICAgICBkYl9yZXN0cmljdGlvbnM9ZGJfZGlzcF9yZXMKKyAgICAgICAg ICAgICAgICApCisgICAgICAgICAgICAgICAgc3RhdHVzLCBkYXRhYmFzZXMgPSBjb25uLmV4ZWN1 dGVfZGljdChzcWwsIHBhcmFtcykKKyAgICAgICAgICAgICAgICBkYXRhYmFzZV9saXN0ID0gWwor ICAgICAgICAgICAgICAgICAgICB7J2xhYmVsJzogZGF0YWJhc2VbJ25hbWUnXSwgJ3ZhbHVlJzog ZGF0YWJhc2VbJ2RpZCddfSBmb3IKKyAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2UgaW4gZGF0 YWJhc2VzWydyb3dzJ11dCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHN0YXR1 cyA9IEZhbHNlCisKKyAgICAgICAgICAgIG1zZyA9ICJTdWNjZXNzIgorICAgICAgICAgICAgcmV0 dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAg ICAgICAgICAgICAgJ3N0YXR1cyc6IHN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgJ21zZyc6 IG1zZywKKyAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdCc6IHsKKyAgICAgICAgICAgICAgICAg ICAgICAgICdkYXRhJzogZGF0YWJhc2VfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAg IHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAgZGF0YT17CisgICAg ICAgICAgICAgICAgICAgICdzdGF0dXMnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgJ21z Zyc6ICdTZXJ2ZXIgbm90IGNvbm5lY3RlZCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAg J1BsZWFzZSBjb25uZWN0IHdpdGggc2VydmVyIGFuZCB0cnkgYWdhaW4uJywKKyAgICAgICAgICAg ICAgICAgICAgJ3Jlc3VsdCc6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhYmFzZV9s aXN0JzogW10sCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICApCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICByZXR1cm4gbWFr ZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgZGF0YT17CisgICAgICAgICAgICAgICAgJ3N0 YXR1cyc6IEZhbHNlLAorICAgICAgICAgICAgICAgICdtc2cnOiAnVW5hYmxlIHRvIGZldGNoIGRh dGEuJywKKyAgICAgICAgICAgICAgICAncmVzdWx0JzogeworICAgICAgICAgICAgICAgICAgICAn ZGF0YWJhc2VfbGlzdCc6IFtdLAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg ICAgICAgKQorCisKK0BibHVlcHJpbnQucm91dGUoCisgICAgJy9uZXdfY29ubmVjdGlvbl91c2Vy LzxpbnQ6c2dpZD4vPGludDpzaWQ+JywKKyAgICBtZXRob2RzPVsiR0VUIl0sIGVuZHBvaW50PSdn ZXRfbmV3X2Nvbm5lY3Rpb25fdXNlcicKKykKK0Bsb2dpbl9yZXF1aXJlZAorZGVmIGdldF9uZXdf Y29ubmVjdGlvbl91c2VyKHNnaWQsIHNpZD1Ob25lKToKKyAgICAiIiIKKyAgICBUaGlzIG1ldGhv ZCBpcyB1c2VkIHRvIGdldCByZXF1aXJlZCBkYXRhIGZvciBnZXQgbmV3IGNvbm5lY3Rpb24uCisg ICAgOmV4dHJhY3Rfc3FsX2Zyb21fbmV0d29ya19wYXJhbWV0ZXJzLAorICAgICIiIgorICAgIHRy eToKKyAgICAgICAgZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZlcgor ICAgICAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29ubmVjdGlv bl9tYW5hZ2VyKHNpZCkKKyAgICAgICAgY29ubiA9IG1hbmFnZXIuY29ubmVjdGlvbigpCisgICAg ICAgIHVzZXJfbGlzdCA9IFtdCisgICAgICAgIGlmIGNvbm4uY29ubmVjdGVkKCk6CisgICAgICAg ICAgICBpc19jb25uZWN0ZWQgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpc19j b25uZWN0ZWQgPSBGYWxzZQorICAgICAgICBpZiBpc19jb25uZWN0ZWQ6CisgICAgICAgICAgICBp ZiBzaWQ6CisgICAgICAgICAgICAgICAgc3FsX3BhdGggPSAncm9sZXMvc3FsLyN7MH0jJy5mb3Jt YXQobWFuYWdlci52ZXJzaW9uKQorICAgICAgICAgICAgICAgIHN0YXR1cywgdXNlcnMgPSBjb25u LmV4ZWN1dGVfMmRhcnJheSgKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyX3RlbXBsYXRlKHNx bF9wYXRoICsgJ25vZGVzLnNxbCcpCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg IHVzZXJfbGlzdCA9IFsKKyAgICAgICAgICAgICAgICAgICAgeyd2YWx1ZSc6IHVzZXJbJ3JvbG5h bWUnXSwgJ2xhYmVsJzogdXNlclsncm9sbmFtZSddfSBmb3IKKyAgICAgICAgICAgICAgICAgICAg dXNlciBpbiB1c2Vyc1sncm93cyddIGlmIHVzZXJbJ3JvbGNhbmxvZ2luJ11dCisgICAgICAgICAg ICBlbHNlOgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IEZhbHNlCisKKyAgICAgICAgICAgIG1z ZyA9ICJTdWNjZXNzIgorICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAg ICAgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cyc6IHN0YXR1 cywKKyAgICAgICAgICAgICAgICAgICAgJ21zZyc6IG1zZywKKyAgICAgICAgICAgICAgICAgICAg J3Jlc3VsdCc6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJzogdXNlcl9saXN0LAor ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgKQor ICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAg ICAgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cyc6IEZhbHNl LAorICAgICAgICAgICAgICAgICAgICAnbXNnJzogJ1NlcnZlciBub3QgY29ubmVjdGVkLCAnCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIGNvbm5lY3Qgd2l0aCBzZXJ2ZXIgYW5k IHRyeSBhZ2Fpbi4nLAorICAgICAgICAgICAgICAgICAgICAncmVzdWx0JzogeworICAgICAgICAg ICAgICAgICAgICAgICAgJ3VzZXJfbGlzdCc6IFtdLAorICAgICAgICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgKQorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg ZToKKyAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgIGRhdGE9 eworICAgICAgICAgICAgICAgICdzdGF0dXMnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnbXNn JzogJ1VuYWJsZSB0byBmZXRjaCBkYXRhLicsCisgICAgICAgICAgICAgICAgJ3Jlc3VsdCc6IHsK KyAgICAgICAgICAgICAgICAgICAgJ3VzZXJfbGlzdCc6IFtdLAorICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgIH0KKyAgICAgICAgKQorCisKK0BibHVlcHJpbnQucm91dGUoCisgICAgJy9u ZXdfY29ubmVjdGlvbl9yb2xlLzxpbnQ6c2dpZD4vPGludDpzaWQ+JywKKyAgICBtZXRob2RzPVsi R0VUIl0sIGVuZHBvaW50PSdnZXRfbmV3X2Nvbm5lY3Rpb25fcm9sZScKKykKK0Bsb2dpbl9yZXF1 aXJlZAorZGVmIGdldF9uZXdfY29ubmVjdGlvbl9yb2xlKHNnaWQsIHNpZD1Ob25lKToKKyAgICAi IiIKKyAgICBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGdldCByZXF1aXJlZCBkYXRhIGZvciBnZXQg bmV3IGNvbm5lY3Rpb24uCisgICAgOmV4dHJhY3Rfc3FsX2Zyb21fbmV0d29ya19wYXJhbWV0ZXJz LAorICAgICIiIgorICAgIHRyeToKKyAgICAgICAgZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBp bXBvcnQgZ2V0X2RyaXZlcgorICAgICAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxU X0RSSVZFUikuY29ubmVjdGlvbl9tYW5hZ2VyKHNpZCkKKyAgICAgICAgY29ubiA9IG1hbmFnZXIu Y29ubmVjdGlvbigpCisgICAgICAgIHJvbGVfbGlzdCA9IFtdCisgICAgICAgIGlmIGNvbm4uY29u bmVjdGVkKCk6CisgICAgICAgICAgICBpc19jb25uZWN0ZWQgPSBUcnVlCisgICAgICAgIGVsc2U6 CisgICAgICAgICAgICBpc19jb25uZWN0ZWQgPSBGYWxzZQorICAgICAgICBpZiBpc19jb25uZWN0 ZWQ6CisgICAgICAgICAgICBpZiBzaWQ6CisgICAgICAgICAgICAgICAgc3FsX3BhdGggPSAncm9s ZXMvc3FsLyN7MH0jJy5mb3JtYXQobWFuYWdlci52ZXJzaW9uKQorICAgICAgICAgICAgICAgIHN0 YXR1cywgcm9sZXMgPSBjb25uLmV4ZWN1dGVfMmRhcnJheSgKKyAgICAgICAgICAgICAgICAgICAg cmVuZGVyX3RlbXBsYXRlKHNxbF9wYXRoICsgJ25vZGVzLnNxbCcpCisgICAgICAgICAgICAgICAg KQorICAgICAgICAgICAgICAgIHJvbGVfbGlzdCA9IFsKKyAgICAgICAgICAgICAgICAgICAgeyd2 YWx1ZSc6IHJvbGVbJ3JvbG5hbWUnXSwgJ2xhYmVsJzogcm9sZVsncm9sbmFtZSddfSBmb3IKKyAg ICAgICAgICAgICAgICAgICAgcm9sZSBpbiByb2xlc1sncm93cyddXQorICAgICAgICAgICAgZWxz ZToKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBGYWxzZQorCisgICAgICAgICAgICBtc2cgPSAi U3VjY2VzcyIKKyAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAg ICAgICAgICAgZGF0YT17CisgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnOiBzdGF0dXMsCisg ICAgICAgICAgICAgICAgICAgICdtc2cnOiBtc2csCisgICAgICAgICAgICAgICAgICAgICdyZXN1 bHQnOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YSc6IHJvbGVfbGlzdCwKKyAgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICkKKyAgICAg ICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAg ICAgICAgICAgZGF0YT17CisgICAgICAgICAgICAgICAgICAgICdzdGF0dXMnOiBGYWxzZSwKKyAg ICAgICAgICAgICAgICAgICAgJ21zZyc6ICdTZXJ2ZXIgbm90IGNvbm5lY3RlZCwgJworICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ1BsZWFzZSBjb25uZWN0IHdpdGggc2VydmVyIGFuZCB0cnkg YWdhaW4uJywKKyAgICAgICAgICAgICAgICAgICAgJ3Jlc3VsdCc6IHsKKyAgICAgICAgICAgICAg ICAgICAgICAgICd1c2VyX2xpc3QnOiBbXSwKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgICAgIH0KKyAgICAgICAgICAgICkKKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Cisg ICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICBkYXRhPXsKKyAg ICAgICAgICAgICAgICAnc3RhdHVzJzogRmFsc2UsCisgICAgICAgICAgICAgICAgJ21zZyc6ICdV bmFibGUgdG8gZmV0Y2ggZGF0YS4nLAorICAgICAgICAgICAgICAgICdyZXN1bHQnOiB7CisgICAg ICAgICAgICAgICAgICAgICd1c2VyX2xpc3QnOiBbXSwKKyAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICB9CisgICAgICAgICkKKworCitAYmx1ZXByaW50LnJvdXRlKAorICAgICcvY29ubmVj dF9zZXJ2ZXIvPGludDpzaWQ+Lzx1c3I+JywKKyAgICBtZXRob2RzPVsiR0VUIl0sCisgICAgZW5k cG9pbnQ9ImNvbm5lY3Rfc2VydmVyX3dpdGhfdXNlciIKKykKK0BibHVlcHJpbnQucm91dGUoCisg ICAgJy9jb25uZWN0X3NlcnZlci88aW50OnNpZD4nLAorICAgIG1ldGhvZHM9WyJHRVQiXSwKKyAg ICBlbmRwb2ludD0iY29ubmVjdF9zZXJ2ZXIiCispCitAbG9naW5fcmVxdWlyZWQKK2RlZiBjb25u ZWN0X3NlcnZlcihzaWQsIHVzcj1Ob25lKToKKyAgICAjIENoZWNrIGlmIHNlcnZlciBpcyBhbHJl YWR5IGNvbm5lY3RlZCB0aGVuIG5vIG5lZWQgdG8gcmVjb25uZWN0IGFnYWluLgorICAgIHNlcnZl ciA9IFNlcnZlci5xdWVyeS5maWx0ZXJfYnkoaWQ9c2lkKS5maXJzdCgpCisgICAgZHJpdmVyID0g Z2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikKKyAgICBtYW5hZ2VyID0gZHJpdmVyLmNvbm5l Y3Rpb25fbWFuYWdlcihzaWQpCisgICAgY29ubiA9IG1hbmFnZXIuY29ubmVjdGlvbigpCisgICAg dXNlciA9IE5vbmUKKyAgICBpZiB1c3IgYW5kIG1hbmFnZXIudXNlciAhPSB1c3I6CisgICAgICAg IHVzZXIgPSB1c3IKKyAgICBlbHNlOgorICAgICAgICBpZiBjb25uLmNvbm5lY3RlZCgpOgorICAg ICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICBzdWNj ZXNzPTEsCisgICAgICAgICAgICAgICAgaW5mbz1nZXR0ZXh0KCJTZXJ2ZXIgY29ubmVjdGVkLiIp LAorICAgICAgICAgICAgICAgIGRhdGE9e30KKyAgICAgICAgICAgICkKKworICAgICAgICB2aWV3 ID0gU2NoZW1hRGlmZlJlZ2lzdHJ5LmdldF9ub2RlX3ZpZXcoJ3NlcnZlcicpCisgICAgICAgIHJl dHVybiB2aWV3LmNvbm5lY3Qoc2VydmVyLnNlcnZlcmdyb3VwX2lkLCBzaWQsIHVzZXI9dXNlcikK KworCiBAYmx1ZXByaW50LnJvdXRlKAogICAgICcvZmlsdGVyX2RpYWxvZy88aW50OnRyYW5zX2lk PicsCiAgICAgbWV0aG9kcz1bIlBVVCJdLCBlbmRwb2ludD0nc2V0X2ZpbHRlcl9kYXRhJwpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9jc3Mvc3FsZWRpdG9y LmNzcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvY3NzL3NxbGVkaXRvci5j c3MKaW5kZXggYzI4MWQ1My4uMjA1OTBkMyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMv c3FsZWRpdG9yL3N0YXRpYy9jc3Mvc3FsZWRpdG9yLmNzcworKysgYi93ZWIvcGdhZG1pbi90b29s cy9zcWxlZGl0b3Ivc3RhdGljL2Nzcy9zcWxlZGl0b3IuY3NzCkBAIC0zMTUsMTAgKzMxNSw2IEBA IGlucHV0LmVkaXRvci1jaGVja2JveDpmb2N1cyB7CiAgIHBhZGRpbmc6IDEwcHggMHB4OwogfQog Ci0uZWRpdG9yLXRpdGxlIHsKLSAgd2lkdGg6MTAwJTsKLX0KLQogLmNvbm5lY3Rpb24tc3RhdHVz LWhpZGUgewogICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiB9CkBAIC0zOTYsNyArMzkyLDYg QEAgaW5wdXQuZWRpdG9yLWNoZWNrYm94OmZvY3VzIHsKICAgb3ZlcmZsb3cteTogaGlkZGVuOwog fQogCi0KIC8qICBNYWNyb3MgKi8KIAogLm1hY3JvLXRhYiB7CkBAIC00MjQsMyArNDE5LDcgQEAg aW5wdXQuZWRpdG9yLWNoZWNrYm94OmZvY3VzIHsKIC5tYWNyb19kaWFsb2cgIC5wZy1wcm9wLXN0 YXR1cy1iYXIgewogICB6LWluZGV4OiAxOwogfQorCisubmV3LWNvbm5lY3Rpb24tZGlhbG9nLXN0 eWxlIHsKKyAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzIGIvd2ViL3BnYWRtaW4v dG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMKaW5kZXggZWQzYmQ1OS4uNmFi Y2YxZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9z cWxlZGl0b3IuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9z cWxlZGl0b3IuanMKQEAgLTE0LDYgKzE0LDcgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBb CiAgICdqcXVlcnl1aS5wb3NpdGlvbicsICd1bmRlcnNjb3JlJywgJ3BnYWRtaW4uYWxlcnRpZnlq cycsCiAgICdzb3VyY2VzL3BnYWRtaW4nLCAnYmFja2JvbmUnLCAnYnVuZGxlZF9jb2RlbWlycm9y JywgJ3NvdXJjZXMvdXRpbHMnLAogICAncGdhZG1pbi5taXNjLmV4cGxhaW4nLAorICAncGdhZG1p bi51c2VyX21hbmFnZW1lbnQuY3VycmVudF91c2VyJywKICAgJ3NvdXJjZXMvc2VsZWN0aW9uL2dy aWRfc2VsZWN0b3InLAogICAnc291cmNlcy9zZWxlY3Rpb24vYWN0aXZlX2NlbGxfY2FwdHVyZScs CiAgICdzb3VyY2VzL3NlbGVjdGlvbi9jbGlwYm9hcmQnLApAQCAtMjYsNiArMjcsNyBAQCBkZWZp bmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKICAgJ3NvdXJjZXMvc3FsZWRpdG9yL2V4ZWN1dGVfcXVl cnknLAogICAnc291cmNlcy9zcWxlZGl0b3IvcXVlcnlfdG9vbF9odHRwX2Vycm9yX2hhbmRsZXIn LAogICAnc291cmNlcy9zcWxlZGl0b3IvZmlsdGVyX2RpYWxvZycsCisgICdzb3VyY2VzL3NxbGVk aXRvci9uZXdfY29ubmVjdGlvbl9kaWFsb2cnLAogICAnc291cmNlcy9zcWxlZGl0b3IvZ2VvbWV0 cnlfdmlld2VyJywKICAgJ3NvdXJjZXMvc3FsZWRpdG9yL2hpc3RvcnkvaGlzdG9yeV9jb2xsZWN0 aW9uLmpzJywKICAgJ3NvdXJjZXMvc3FsZWRpdG9yL2hpc3RvcnkvcXVlcnlfaGlzdG9yeScsCkBA IC01Myw4ICs1NSw4IEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICAncGdhZG1pbi50 b29scy51c2VyX21hbmFnZW1lbnQnLAogXSwgZnVuY3Rpb24oCiAgIGdldHRleHQsIHVybF9mb3Is ICQsIGpxdWVyeXVpLCBqcXVlcnl1aV9wb3NpdGlvbiwgXywgYWxlcnRpZnksIHBnQWRtaW4sIEJh Y2tib25lLCBjb2RlbWlycm9yLCBwZ2FkbWluVXRpbHMsCi0gIHBnRXhwbGFpbiwgR3JpZFNlbGVj dG9yLCBBY3RpdmVDZWxsQ2FwdHVyZSwgY2xpcGJvYXJkLCBjb3B5RGF0YSwgUmFuZ2VTZWxlY3Rp b25IZWxwZXIsIGhhbmRsZVF1ZXJ5T3V0cHV0S2V5Ym9hcmRFdmVudCwKLSAgWENlbGxTZWxlY3Rp b25Nb2RlbCwgc2V0U3RhZ2VkUm93cywgU3FsRWRpdG9yVXRpbHMsIEV4ZWN1dGVRdWVyeSwgaHR0 cEVycm9ySGFuZGxlciwgRmlsdGVySGFuZGxlciwKKyAgcGdFeHBsYWluLCBjdXJyZW50X3VzZXIs IEdyaWRTZWxlY3RvciwgQWN0aXZlQ2VsbENhcHR1cmUsIGNsaXBib2FyZCwgY29weURhdGEsIFJh bmdlU2VsZWN0aW9uSGVscGVyLCBoYW5kbGVRdWVyeU91dHB1dEtleWJvYXJkRXZlbnQsCisgIFhD ZWxsU2VsZWN0aW9uTW9kZWwsIHNldFN0YWdlZFJvd3MsIFNxbEVkaXRvclV0aWxzLCBFeGVjdXRl UXVlcnksIGh0dHBFcnJvckhhbmRsZXIsIEZpbHRlckhhbmRsZXIsIG5ld0Nvbm5lY3Rpb25IYW5k bGVyLAogICBHZW9tZXRyeVZpZXdlciwgaGlzdG9yeUNvbGwsIHF1ZXJ5SGlzdCwgcXVlcnlTb3Vy Y2VzLAogICBrZXlib2FyZFNob3J0Y3V0cywgcXVlcnlUb29sQWN0aW9ucywgcXVlcnlUb29sTm90 aWZpY2F0aW9ucywgRGF0YWdyaWQsCiAgIG1vZGlmeUFuaW1hdGlvbiwgY2FsY3VsYXRlUXVlcnlS dW5UaW1lLCBjYWxsUmVuZGVyQWZ0ZXJQb2xsLCBxdWVyeVRvb2xQcmVmLCBxdWVyeVR4blN0YXR1 cywgY3NyZlRva2VuLCBwYW5lbFRpdGxlRnVuYywKQEAgLTk4LDYgKzEwMCw5IEBAIGRlZmluZSgn dG9vbHMucXVlcnl0b29sJywgWwogICAgICAgdGhpcy5sYXlvdXQgPSBvcHRzLmxheW91dDsKICAg ICAgIHRoaXMuc2V0X3NlcnZlcl92ZXJzaW9uKG9wdHMuc2VydmVyX3Zlcik7CiAgICAgICB0aGlz LnRyaWdnZXIoJ3BnYWRtaW4tc3FsZWRpdG9yOnZpZXc6aW5pdGlhbGlzZWQnKTsKKyAgICAgIHRo aXMuY29ubmVjdGlvbl9saXN0ID0gWworICAgICAgICB7J3NlcnZlcl9ncm91cCc6IG51bGwsJ3Nl cnZlcic6IG51bGwsICdkYXRhYmFzZSc6IG51bGwsICd1c2VyJzogbnVsbCwgJ3JvbGUnOiBudWxs LCAndGl0bGUnOiAnJmx0O05ldyBDb25uZWN0aW9uJmd0Oyd9LAorICAgICAgXTsKICAgICB9LAog CiAgICAgLy8gQmluZCBhbGwgdGhlIGV2ZW50cwpAQCAtMTYzLDYgKzE2OCwzNSBAQCBkZWZpbmUo J3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKICAgICAgICdjbGljayAuYnRuLW1hY3JvJzogJ29uX2V4ZWN1 dGVfbWFjcm8nLAogICAgIH0sCiAKKyAgICByZW5kZXJfY29ubmVjdGlvbjogZnVuY3Rpb24oZGF0 YV9saXN0KSB7CisgICAgICBpZih0aGlzLmhhbmRsZXIuaXNfcXVlcnlfdG9vbCkgeworICAgICAg ICB2YXIgZHJvcGRvd25FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nvbm5lY3Rp b25zLWxpc3QnKTsKKyAgICAgICAgZHJvcGRvd25FbGVtZW50LmlubmVySFRNTCA9ICcnOworICAg ICAgICBkYXRhX2xpc3QuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4geworICAgICAgICAgICQo JyNjb25uZWN0aW9ucy1saXN0JykuYXBwZW5kKCc8bGkgY2xhc3M9ImNvbm5lY3Rpb24tbGlzdC1p dGVtIiBkYXRhLWluZGV4PScrIGluZGV4ICsnPjxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVm PSIjIiB0YWJpbmRleD0iMCI+Jysgb3B0aW9uLnRpdGxlICsnPC9hPjwvbGk+Jyk7CisKKyAgICAg ICAgfSk7CisgICAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAgICAgJCgnLmNvbm5lY3Rpb24t bGlzdC1pdGVtJykuY2xpY2soZnVuY3Rpb24oKSB7CisgICAgICAgICAgc2VsZi5nZXRfY29ubmVj dGlvbl9kYXRhKHRoaXMpOworICAgICAgICB9KTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgICQo Jy5jb25uLWluZm8tZGQnKS5oaWRlKCk7CisgICAgICAgICQoJy5lZGl0b3ItdGl0bGUnKS5jc3Mo e3BvaW50ZXJFdmVudHM6ICdub25lJ30pOworICAgICAgfQorICAgIH0sCisKKyAgICBnZXRfY29u bmVjdGlvbl9kYXRhOiBmdW5jdGlvbihldmVudCl7CisgICAgICB2YXIgaW5kZXggPSAkKGV2ZW50 KS5hdHRyKCdkYXRhLWluZGV4Jyk7CisgICAgICB2YXIgY29ubmVjdGlvbl9kZXRhaWxzID0gdGhp cy5jb25uZWN0aW9uX2xpc3RbaW5kZXhdOworICAgICAgaWYoY29ubmVjdGlvbl9kZXRhaWxzLnNl cnZlcl9ncm91cCkgeworICAgICAgICB0aGlzLm9uX2NoYW5nZV9jb25uZWN0aW9uKGNvbm5lY3Rp b25fZGV0YWlscyk7CisgICAgICB9IGVsc2UgeworICAgICAgICB0aGlzLm9uX25ld19jb25uZWN0 aW9uKCk7CisgICAgICB9CisKKyAgICB9LAorCiAgICAgcmVmbGVjdFByZWZlcmVuY2VzOiBmdW5j dGlvbigpIHsKICAgICAgIGxldCBzZWxmID0gdGhpcywKICAgICAgICAgYnJvd3NlciA9IHBnV2lu ZG93LmRlZmF1bHQucGdBZG1pbi5Ccm93c2VyLApAQCAtMjExLDggKzI0NSwxNSBAQCBkZWZpbmUo J3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKICAgICAgIH0pOwogICAgIH0sCiAKLSAgICBzZXRfZWRpdG9y X3RpdGxlOiBmdW5jdGlvbih0aXRsZSkgewotICAgICAgdGhpcy4kZWwuZmluZCgnLmVkaXRvci10 aXRsZScpLnRleHQodGl0bGUpOworICAgIHNldF9lZGl0b3JfdGl0bGU6IGZ1bmN0aW9uKHRpdGxl LCBpc19jb25uZWN0ZWQpIHsKKyAgICAgIGlmKGlzX2Nvbm5lY3RlZCkgeworICAgICAgICB0aGlz LiRlbC5maW5kKCcuZWRpdG9yLXRpdGxlJykudGV4dCh0aXRsZSk7CisgICAgICAgIHRoaXMucmVu ZGVyX2Nvbm5lY3Rpb24odGhpcy5jb25uZWN0aW9uX2xpc3QpOworICAgICAgfSBlbHNlIHsKKyAg ICAgICAgdGhpcy4kZWwuZmluZCgnLmVkaXRvci10aXRsZScpLnRleHQodGl0bGUpOworICAgICAg ICB0aGlzLnJlbmRlcl9jb25uZWN0aW9uKHRoaXMuY29ubmVjdGlvbl9saXN0KTsKKyAgICAgIH0K KwogICAgIH0sCiAKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcmVuZGVyIHRoZSB0 ZW1wbGF0ZS4KQEAgLTY5Niw2ICs3MzcsOCBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsK ICAgICAgIHBnQnJvd3Nlci5yZWdpc3Rlcl90b19hY3Rpdml0eV9saXN0ZW5lcihkb2N1bWVudCwg KCk9PnsKICAgICAgICAgYWxlcnRpZnkuYWxlcnQoZ2V0dGV4dCgnVGltZW91dCcpLCBnZXR0ZXh0 KCdZb3VyIHNlc3Npb24gaGFzIHRpbWVkIG91dCBkdWUgdG8gaW5hY3Rpdml0eS4gUGxlYXNlIGNs b3NlIHRoZSB3aW5kb3cgYW5kIGxvZ2luIGFnYWluLicpKTsKICAgICAgIH0pOworCisgICAgICBz ZWxmLnJlbmRlcl9jb25uZWN0aW9uKHNlbGYuY29ubmVjdGlvbl9saXN0KTsKICAgICB9LAogCiAg ICAgLyogUmVnYXJkaW5nIFNsaWNrR3JpZCB1c2FnZSBpbiByZW5kZXJfZ3JpZCBmdW5jdGlvbi4K QEAgLTE2MDcsNiArMTY1MCwxNyBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKICAgICAg ICk7CiAgICAgfSwKIAorICAgIG9uX25ld19jb25uZWN0aW9uOiBmdW5jdGlvbigpIHsKKyAgICAg IHZhciBzZWxmID0gdGhpczsKKworICAgICAgLy8gVHJpZ2dlciB0aGUgc2hvd19maWx0ZXIgc2ln bmFsIHRvIHRoZSBTcWxFZGl0b3JDb250cm9sbGVyIGNsYXNzCisgICAgICBzZWxmLmhhbmRsZXIu dHJpZ2dlcigKKyAgICAgICAgJ3BnYWRtaW4tc3FsZWRpdG9yOmJ1dHRvbjpzaG93X25ld19jb25u ZWN0aW9uJywKKyAgICAgICAgc2VsZiwKKyAgICAgICAgc2VsZi5oYW5kbGVyCisgICAgICApOwor ICAgIH0sCisKICAgICAvLyBDYWxsYmFjayBmdW5jdGlvbiBmb3IgaW5jbHVkZSBmaWx0ZXIgYnV0 dG9uIGNsaWNrLgogICAgIG9uX2luY2x1ZGVfZmlsdGVyOiBmdW5jdGlvbihldikgewogICAgICAg dmFyIHNlbGYgPSB0aGlzOwpAQCAtMjA3MCw2ICsyMTI0LDgzIEBAIGRlZmluZSgndG9vbHMucXVl cnl0b29sJywgWwogICAgICAgcXVlcnlUb29sQWN0aW9ucy5leGVjdXRlTWFjcm8odGhpcy5oYW5k bGVyLCBtYWNyb0lkKTsKICAgICB9LAogCisgICAgb25fY2hhbmdlX2Nvbm5lY3Rpb246IGZ1bmN0 aW9uKGNvbm5lY3Rpb25fZGV0YWlscywgcmVmKSB7CisgICAgICBsZXQgdGl0bGUgPSB0aGlzLiRl bC5maW5kKCcuZWRpdG9yLXRpdGxlJykuaHRtbCgpOworICAgICAgaWYoY29ubmVjdGlvbl9kZXRh aWxzWyd0aXRsZSddICE9IHRpdGxlKSB7CisgICAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAg ICAgJC5hamF4KHsKKyAgICAgICAgICBhc3luYzogZmFsc2UsCisgICAgICAgICAgdXJsOiB1cmxf Zm9yKCdkYXRhZ3JpZC51cGRhdGVfcXVlcnlfdG9vbF9jb25uZWN0aW9uJywgeworICAgICAgICAg ICAgJ3RyYW5zX2lkJzogc2VsZi50cmFuc0lkLAorICAgICAgICAgICAgJ3NnaWQnOiBjb25uZWN0 aW9uX2RldGFpbHNbJ3NlcnZlcl9ncm91cCddLAorICAgICAgICAgICAgJ3NpZCc6IGNvbm5lY3Rp b25fZGV0YWlsc1snc2VydmVyJ10sCisgICAgICAgICAgICAnZGlkJzogY29ubmVjdGlvbl9kZXRh aWxzWydkYXRhYmFzZSddLAorICAgICAgICAgIH0pLAorICAgICAgICAgIG1ldGhvZDogJ1BPU1Qn LAorICAgICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vanNvbicsCisgICAgICAgICAg ZGF0YTogSlNPTi5zdHJpbmdpZnkoY29ubmVjdGlvbl9kZXRhaWxzKSwKKyAgICAgICAgfSkKKyAg ICAgICAgICAuZG9uZShmdW5jdGlvbihyZXMpIHsKKyAgICAgICAgICAgIGlmKHJlcy5zdWNjZXNz KSB7CisgICAgICAgICAgICAgIHNlbGYudHJhbnNJZCA9IHJlcy5kYXRhLnRyYW5faWQ7CisgICAg ICAgICAgICAgIHNlbGYuaGFuZGxlci50cmFuc0lkID0gcmVzLmRhdGEudHJhbl9pZDsKKyAgICAg ICAgICAgICAgc2VsZi5oYW5kbGVyLnVybF9wYXJhbXMgPSB7CisgICAgICAgICAgICAgICAgJ2Rp ZCc6IGNvbm5lY3Rpb25fZGV0YWlsc1snZGF0YWJhc2UnXSwKKyAgICAgICAgICAgICAgICAnaXNf cXVlcnlfdG9vbCc6IHNlbGYuaGFuZGxlci51cmxfcGFyYW1zLmlzX3F1ZXJ5X3Rvb2wsCisgICAg ICAgICAgICAgICAgJ3NlcnZlcl90eXBlJzogc2VsZi5oYW5kbGVyLnVybF9wYXJhbXMuc2VydmVy X3R5cGUsCisgICAgICAgICAgICAgICAgJ3NnaWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3NlcnZl cl9ncm91cCddLAorICAgICAgICAgICAgICAgICdzaWQnOiBjb25uZWN0aW9uX2RldGFpbHNbJ3Nl cnZlciddLAorICAgICAgICAgICAgICAgICd0aXRsZSc6IGNvbm5lY3Rpb25fZGV0YWlsc1sndGl0 bGUnXSwKKyAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgc2VsZi5zZXRfZWRpdG9yX3Rp dGxlKHNlbGYuaGFuZGxlci51cmxfcGFyYW1zLnRpdGxlKTsKKyAgICAgICAgICAgICAgc2VsZi5o YW5kbGVyLnNldFRpdGxlKHNlbGYuaGFuZGxlci51cmxfcGFyYW1zLnRpdGxlKTsKKyAgICAgICAg ICAgICAgYWxlcnRpZnkuc3VjY2VzcygnY29ubmVjdGVkIHN1Y2Nlc3NmdWxseScpOworICAgICAg ICAgICAgICBpZihyZWYpeworICAgICAgICAgICAgICAgIGxldCBjb25uZWN0aW9uX2RhdGEgPSB7 CisgICAgICAgICAgICAgICAgICAnc2VydmVyX2dyb3VwJzogc2VsZi5oYW5kbGVyLnVybF9wYXJh bXMuc2dpZCwKKyAgICAgICAgICAgICAgICAgICdzZXJ2ZXInOiBjb25uZWN0aW9uX2RldGFpbHNb J3NlcnZlciddLAorICAgICAgICAgICAgICAgICAgJ2RhdGFiYXNlJzogY29ubmVjdGlvbl9kZXRh aWxzWydkYXRhYmFzZSddLAorICAgICAgICAgICAgICAgICAgJ3VzZXInOiBjb25uZWN0aW9uX2Rl dGFpbHNbJ3VzZXInXSwKKyAgICAgICAgICAgICAgICAgICd0aXRsZSc6IGNvbm5lY3Rpb25fZGV0 YWlsc1sndGl0bGUnXSwKKyAgICAgICAgICAgICAgICAgICdyb2xlJzogY29ubmVjdGlvbl9kZXRh aWxzWydyb2xlJ10sCisgICAgICAgICAgICAgICAgICAncGFzc3dvcmQnOiBjb25uZWN0aW9uX2Rl dGFpbHNbJ3Bhc3N3b3JkJ10sCisgICAgICAgICAgICAgICAgICAnaXNfYWxsb3dfbmV3X2Nvbm5l Y3Rpb24nOiB0cnVlLAorICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgc2VsZi5j b25uZWN0aW9uX2xpc3QudW5zaGlmdChjb25uZWN0aW9uX2RhdGEpOworICAgICAgICAgICAgICAg IHNlbGYucmVuZGVyX2Nvbm5lY3Rpb24oc2VsZi5jb25uZWN0aW9uX2xpc3QpOworICAgICAgICAg ICAgICAgIHJlZi5jbG9zZSgpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9KQorICAgICAgICAgIC5mYWlsKGZ1bmN0 aW9uKHhocikgeworICAgICAgICAgICAgaWYoeGhyLnN0YXR1cyA9PSA0MjgpIHsKKyAgICAgICAg ICAgICAgYWxlcnRpZnkuY29ubmVjdFNlcnZlcignQ29ubmVjdCB0byBzZXJ2ZXInLCB4aHIucmVz cG9uc2VKU09OLnJlc3VsdCwgY29ubmVjdGlvbl9kZXRhaWxzWydzZXJ2ZXInXSwgZmFsc2UpOwor ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgYWxlcnRpZnkuZXJyb3IoeGhyLnJl c3BvbnNlSlNPTlsnZXJyb3Jtc2cnXSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKmxl dCB1cmwgPSB1cmxfZm9yKCdzcWxlZGl0b3IuY29ubmVjdF9zZXJ2ZXJfd2l0aF91c2VyJywgewor ICAgICAgICAgICAgICAnc2lkJzogbmV3Q29ubkNvbGxlY3Rpb25Nb2RlbFsnc2VydmVyJ10sCisg ICAgICAgICAgICAgICd1c3InOiBuZXdDb25uQ29sbGVjdGlvbk1vZGVsWyd1c2VyJ10KKyAgICAg ICAgICAgIH0pOworICAgICAgICAgICAgJC5hamF4KHsKKyAgICAgICAgICAgICAgYXN5bmM6IGZh bHNlLAorICAgICAgICAgICAgICB1cmw6IHVybCwKKyAgICAgICAgICAgICAgaGVhZGVyczogewor ICAgICAgICAgICAgICAgICdDYWNoZS1Db250cm9sJyA6ICduby1jYWNoZScsCisgICAgICAgICAg ICAgIH0sCisgICAgICAgICAgICB9KS5kb25lKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAg QmFja2Zvcm0uU2VsZWN0MkNvbnRyb2wucHJvdG90eXBlLm9uQ2hhbmdlLmFwcGx5KHNlbGYsIGFy Z3VtZW50cyk7CisgICAgICAgICAgICAgIHJlc3BvbnNlLnNlcnZlcl9saXN0LmZvckVhY2goZnVu Y3Rpb24ob2JqKXsKKyAgICAgICAgICAgICAgICBpZihvYmouaWQ9PXNlbGYubW9kZWwuY2hhbmdl ZC5zZXJ2ZXIpIHsKKyAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNlcnZlcl9uYW1lID0gb2Jq Lm5hbWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg IH0pLmZhaWwoZnVuY3Rpb24oeGhyKXt9KTsqLworCisgICAgICAgICAgfSk7CisgICAgICB9Cisg ICAgfSwKICAgfSk7CiAKIApAQCAtMjM5Miw3ICsyNTIzLDE4IEBAIGRlZmluZSgndG9vbHMucXVl cnl0b29sJywgWwogICAgICAgICAgIH0pOwogCiAgICAgICAgICAgJCgnI2J0bi1jb25uLXN0YXR1 cyBpJykucmVtb3ZlQ2xhc3MoJ29idGFpbmluZy1jb25uJyk7Ci0gICAgICAgICAgc2VsZi5ncmlk Vmlldy5zZXRfZWRpdG9yX3RpdGxlKF8udW5lc2NhcGUodXJsX3BhcmFtcy50aXRsZSkpOworICAg ICAgICAgIHNlbGYuZ3JpZFZpZXcuc2V0X2VkaXRvcl90aXRsZShfLnVuZXNjYXBlKHVybF9wYXJh bXMudGl0bGUpLCB0cnVlKTsKKyAgICAgICAgICBsZXQgY29ubmVjdGlvbl9kYXRhID0geworICAg ICAgICAgICAgJ3NlcnZlcl9ncm91cCc6IHNlbGYuZ3JpZFZpZXcuaGFuZGxlci51cmxfcGFyYW1z LnNnaWQsCisgICAgICAgICAgICAnc2VydmVyJzogc2VsZi5ncmlkVmlldy5oYW5kbGVyLnVybF9w YXJhbXMuc2lkLAorICAgICAgICAgICAgJ2RhdGFiYXNlJzogc2VsZi5ncmlkVmlldy5oYW5kbGVy LnVybF9wYXJhbXMuZGlkLAorICAgICAgICAgICAgJ3VzZXInOiBudWxsLAorICAgICAgICAgICAg J3JvbGUnOiBudWxsLAorICAgICAgICAgICAgJ3RpdGxlJzogXy51bmVzY2FwZSh1cmxfcGFyYW1z LnRpdGxlKSwKKyAgICAgICAgICAgICdpc19hbGxvd19uZXdfY29ubmVjdGlvbic6IGZhbHNlLAor ICAgICAgICAgIH07CisgICAgICAgICAgc2VsZi5ncmlkVmlldy5jb25uZWN0aW9uX2xpc3QudW5z aGlmdChjb25uZWN0aW9uX2RhdGEpOworICAgICAgICAgIHNlbGYuZ3JpZFZpZXcucmVuZGVyX2Nv bm5lY3Rpb24oc2VsZi5ncmlkVmlldy5jb25uZWN0aW9uX2xpc3QpOwogICAgICAgICB9OwogCiAg ICAgICAgIHBnQnJvd3Nlci5FdmVudHMub24oJ3BnYWRtaW46cXVlcnlfdG9vbDpjb25uZWN0ZWQ6 JyArIHRyYW5zSWQsIGFmdGVyQ29ubik7CkBAIC0yNDg3LDYgKzI2MjksNyBAQCBkZWZpbmUoJ3Rv b2xzLnF1ZXJ5dG9vbCcsIFsKICAgICAgICAgc2VsZi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0 dG9uOnNhdmVfZmlsZScsIHNlbGYuX3NhdmVfZmlsZSwgc2VsZik7CiAgICAgICAgIHNlbGYub24o J3BnYWRtaW4tc3FsZWRpdG9yOmJ1dHRvbjpkZWxldGVyb3cnLCBzZWxmLl9kZWxldGUsIHNlbGYp OwogICAgICAgICBzZWxmLm9uKCdwZ2FkbWluLXNxbGVkaXRvcjpidXR0b246c2hvd19maWx0ZXIn LCBzZWxmLl9zaG93X2ZpbHRlciwgc2VsZik7CisgICAgICAgIHNlbGYub24oJ3BnYWRtaW4tc3Fs ZWRpdG9yOmJ1dHRvbjpzaG93X25ld19jb25uZWN0aW9uJywgc2VsZi5fc2hvd19uZXdfY29ubmVj dGlvbiwgc2VsZik7CiAgICAgICAgIHNlbGYub24oJ3BnYWRtaW4tc3FsZWRpdG9yOmJ1dHRvbjpp bmNsdWRlX2ZpbHRlcicsIHNlbGYuX2luY2x1ZGVfZmlsdGVyLCBzZWxmKTsKICAgICAgICAgc2Vs Zi5vbigncGdhZG1pbi1zcWxlZGl0b3I6YnV0dG9uOmV4Y2x1ZGVfZmlsdGVyJywgc2VsZi5fZXhj bHVkZV9maWx0ZXIsIHNlbGYpOwogICAgICAgICBzZWxmLm9uKCdwZ2FkbWluLXNxbGVkaXRvcjpi dXR0b246cmVtb3ZlX2ZpbHRlcicsIHNlbGYuX3JlbW92ZV9maWx0ZXIsIHNlbGYpOwpAQCAtMzY5 Niw3ICszODM5LDYgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICAgICAgICAgfQog ICAgICAgICB9OwogICAgICAgfSwKLQogICAgICAgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cg dGhlIGZpbHRlciBpbiB0aGUgdGV4dCBhcmVhLgogICAgICAgX3Nob3dfZmlsdGVyOiBmdW5jdGlv bigpIHsKICAgICAgICAgbGV0IHNlbGYgPSB0aGlzLApAQCAtMzcxMSw3ICszODUzLDE5IEBAIGRl ZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICAgICAgICB9CiAgICAgICAgIEZpbHRlckhhbmRs ZXIuZGlhbG9nKHNlbGYsIHJlY29ubmVjdCk7CiAgICAgICB9LAorICAgICAgLy8gVGhpcyBmdW5j dGlvbiB3aWxsIHNob3cgdGhlIG5ldyBjb25uZWN0aW9uLgorICAgICAgX3Nob3dfbmV3X2Nvbm5l Y3Rpb246IGZ1bmN0aW9uKCkgeworICAgICAgICBsZXQgc2VsZiA9IHRoaXMsCisgICAgICAgICAg cmVjb25uZWN0ID0gZmFsc2U7CiAKKyAgICAgICAgLyogV2hlbiBzZXJ2ZXIgaXMgZGlzY29ubmVj dGVkIGFuZCBjb25uZWN0ZWQsIGNvbm5lY3Rpb24gaXMgbG9zdCwKKyAgICAgICAgICogVG8gcmVj b25uZWN0IHBhc3MgdHJ1ZQorICAgICAgICAgKi8KKyAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5n dGggPiAwICYmIGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV0gPT0gJ2Nvbm5lY3QnKSB7 CisgICAgICAgICAgcmVjb25uZWN0ID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBuZXdDb25u ZWN0aW9uSGFuZGxlci5kaWFsb2coc2VsZiwgcmVjb25uZWN0KTsKKyAgICAgIH0sCiAgICAgICAv LyBUaGlzIGZ1bmN0aW9uIHdpbGwgaW5jbHVkZSB0aGUgZmlsdGVyIGJ5IHNlbGVjdGlvbi4KICAg ICAgIF9pbmNsdWRlX2ZpbHRlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBzZWxmID0gdGhp cywKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvc2Nzcy9f c3FsZWRpdG9yLnNjc3MgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL3Njc3Mv X3NxbGVkaXRvci5zY3NzCmluZGV4IGZkMWU1ZDMuLjUzZjI0NDkgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvc2Nzcy9fc3FsZWRpdG9yLnNjc3MKKysrIGIv d2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9zY3NzL19zcWxlZGl0b3Iuc2NzcwpA QCAtMzAsNiArMzAsMTkgQEAKICAgY29sb3I6ICRzcWwtdGl0bGUtZmc7CiB9CiAKKy5jb25uZWN0 aW9uLWluZm8geworICBiYWNrZ3JvdW5kOiAkc3FsLXRpdGxlLWJnOworICBjb2xvcjogJHNxbC10 aXRsZS1mZzsKKyAgd2lkdGg6MTAwJTsKKyAgZGlzcGxheTogaW5oZXJpdDsKK30KKworLmNvbm4t aW5mby1kZCB7CisgIHBhZGRpbmctdG9wOiAwLjNlbTsKKyAgcGFkZGluZy1sZWZ0OiAwLjJlbTsK KyAgY3Vyc29yOiBwb2ludGVyOworfQorCiAKICNlZGl0b3ItcGFuZWwgewogICB6LWluZGV4OiAw OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3Rlc3RzL3Rlc3RfbmV3 X2Nvbm5lY3Rpb25fZGF0YWJhc2UucHkgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdGVz dHMvdGVzdF9uZXdfY29ubmVjdGlvbl9kYXRhYmFzZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4yMGZlM2UzCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9v bHMvc3FsZWRpdG9yL3Rlc3RzL3Rlc3RfbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2UucHkKQEAgLTAs MCArMSw5OCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNR TCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZl bG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IGpzb24KK2Zyb20g cGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVz c2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAg aW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1w b3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKKworCitjbGFzcyBUZXN0TmV3Q29ubmVjdGlvbkRhdGFi YXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIHRlc3QgbmV3 IGNvbm5lY3Rpb24gZGF0YWJhc2UuICIiIgorICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAgKCdO ZXcgY29ubmVjdGlvbiBkaWFsb2cnLAorICAgICAgICAgZGljdCgKKyAgICAgICAgICAgICB1cmw9 Ii9zcWxlZGl0b3IvbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2UvIiwKKyAgICAgICAgICAgICBpc19w b3NpdGl2ZV90ZXN0PVRydWUsCisgICAgICAgICAgICAgbW9ja2luZ19yZXF1aXJlZD1GYWxzZSwK KyAgICAgICAgICAgICBpc19zZXJ2ZXJfY29ubl9yZXF1aXJlZD1GYWxzZSwKKyAgICAgICAgICAg ICB0ZXN0X2RhdGE9e30sCisgICAgICAgICAgICAgbW9ja19kYXRhPXt9LAorICAgICAgICAgICAg IGV4cGVjdGVkX2RhdGE9eworICAgICAgICAgICAgICAgICAic3RhdHVzX2NvZGUiOiAyMDAKKyAg ICAgICAgICAgICB9CisgICAgICAgICApKSwKKyAgICAgICAgKCdOZXcgY29ubmVjdGlvbiBkaWFs b2cgY29ubmVjdCBzZXJ2ZXInLAorICAgICAgICAgZGljdCgKKyAgICAgICAgICAgICB1cmw9Ii9z cWxlZGl0b3IvbmV3X2Nvbm5lY3Rpb25fZGF0YWJhc2UvIiwKKyAgICAgICAgICAgICBpc19wb3Np dGl2ZV90ZXN0PVRydWUsCisgICAgICAgICAgICAgbW9ja2luZ19yZXF1aXJlZD1GYWxzZSwKKyAg ICAgICAgICAgICBpc19zZXJ2ZXJfY29ubl9yZXF1aXJlZD1UcnVlLAorICAgICAgICAgICAgIHRl c3RfZGF0YT17fSwKKyAgICAgICAgICAgICBtb2NrX2RhdGE9e30sCisgICAgICAgICAgICAgZXhw ZWN0ZWRfZGF0YT17CisgICAgICAgICAgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAg ICAgICAgIH0KKyAgICAgICAgICkpLAorICAgICAgICAoJ05ldyBjb25uZWN0aW9uIGRpYWxvZyBu ZWdhdGl2ZScsCisgICAgICAgICBkaWN0KAorICAgICAgICAgICAgIHVybD0iL3NxbGVkaXRvci9u ZXdfY29ubmVjdGlvbl9kYXRhYmFzZS8iLAorICAgICAgICAgICAgIGlzX3Bvc2l0aXZlX3Rlc3Q9 RmFsc2UsCisgICAgICAgICAgICAgbW9ja2luZ19yZXF1aXJlZD1GYWxzZSwKKyAgICAgICAgICAg ICBpc19zZXJ2ZXJfY29ubl9yZXF1aXJlZD1UcnVlLAorICAgICAgICAgICAgIHRlc3RfZGF0YT17 fSwKKyAgICAgICAgICAgICBtb2NrX2RhdGE9e30sCisgICAgICAgICAgICAgZXhwZWN0ZWRfZGF0 YT17CisgICAgICAgICAgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgICAgICAgIH0K KyAgICAgICAgICkpLAorICAgIF0KKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2Vs Zi5zaWQgPSBwYXJlbnRfbm9kZV9kaWN0WyJzZXJ2ZXIiXVstMV1bInNlcnZlcl9pZCJdCisgICAg ICAgIHNlbGYuc2dpZCA9IGNvbmZpZ19kYXRhWydzZXJ2ZXJfZ3JvdXAnXQorCisgICAgZGVmIGdl dF9kYXRhYmFzZShzZWxmKToKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoCisg ICAgICAgICAgICBzZWxmLnVybCArIHN0cihzZWxmLnNnaWQpICsgJy8nICsgc3RyKHNlbGYuc2lk KSwKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICApCisKKyAg ICAgICAgcmV0dXJuIHJlc3BvbnNlCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAg aWYgc2VsZi5pc19wb3NpdGl2ZV90ZXN0OgorICAgICAgICAgICAgaWYgc2VsZi5pc19zZXJ2ZXJf Y29ubl9yZXF1aXJlZDoKKyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsncGFzc3dvcmQnXSA9 IHNlbGYuc2VydmVyWydkYl9wYXNzd29yZCddCisgICAgICAgICAgICAgICAgc2VydmVyX3Jlc3Bv bnNlID0gc2VsZi50ZXN0ZXIucG9zdCgKKyAgICAgICAgICAgICAgICAgICAgJy9icm93c2VyL3Nl cnZlci9jb25uZWN0L3swfS97MX0nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHV0 aWxzLlNFUlZFUl9HUk9VUCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkKSwKKyAg ICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNlbGYuc2VydmVyKSwKKyAgICAgICAg ICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nCisgICAgICAgICAgICAgICAgKQor ICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLmdldF9kYXRhYmFzZSgpCisgICAgICAgICAgICBh Y3R1YWxfcmVzcG9uc2VfY29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgICAgICBl eHBlY3RlZF9yZXNwb25zZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSdd CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzZWxmLmlzX3NlcnZlcl9jb25uX3JlcXVp cmVkOgorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydwYXNzd29yZCddID0gc2VsZi5zZXJ2 ZXJbJ2RiX3Bhc3N3b3JkJ10KKyAgICAgICAgICAgICAgICBzZXJ2ZXJfcmVzcG9uc2UgPSBzZWxm LnRlc3Rlci5wb3N0KAorICAgICAgICAgICAgICAgICAgICAnL2Jyb3dzZXIvc2VydmVyL2Nvbm5l Y3QvezB9L3sxfScuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAgICAgdXRpbHMuU0VSVkVS X0dST1VQLAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zaWQpLAorICAgICAgICAgICAg ICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5zZXJ2ZXIpLAorICAgICAgICAgICAgICAgICAg ICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAg ICBzZWxmLnNpZCA9IDAKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5nZXRfZGF0YWJhc2Uo KQorICAgICAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29k ZQorICAgICAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0 YVsnc3RhdHVzX2NvZGUnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbF9yZXNwb25z ZV9jb2RlLCBleHBlY3RlZF9yZXNwb25zZV9jb2RlKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v dG9vbHMvc3FsZWRpdG9yL3Rlc3RzL3Rlc3RfbmV3X2Nvbm5lY3Rpb25fZGlhbG9nLnB5IGIvd2Vi L3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3Rlc3RzL3Rlc3RfbmV3X2Nvbm5lY3Rpb25fZGlhbG9n LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1YTQ3ZWYKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3IvdGVzdHMvdGVzdF9uZXdfY29u bmVjdGlvbl9kaWFsb2cucHkKQEAgLTAsMCArMSw1MCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMK KyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMg LSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMg cmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKK2ltcG9ydCBqc29uCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0 R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20g cmVncmVzc2lvbi50ZXN0X3NldHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSByZWdyZXNzaW9u LnB5dGhvbl90ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCisKKworY2xhc3Mg VGVzdE5ld0Nvbm5lY3Rpb25EaWFsb2coQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIiBUaGlz IGNsYXNzIHdpbGwgdGVzdCBuZXcgY29ubmVjdGlvbiBkaWFsb2cuICIiIgorICAgIHNjZW5hcmlv cyA9IFsKKyAgICAgICAgKCdOZXcgY29ubmVjdGlvbiBkaWFsb2cnLAorICAgICAgICAgZGljdCgK KyAgICAgICAgICAgICB1cmw9Ii9zcWxlZGl0b3IvbmV3X2Nvbm5lY3Rpb25fZGlhbG9nLyIsCisg ICAgICAgICAgICAgaXNfcG9zaXRpdmVfdGVzdD1UcnVlLAorICAgICAgICAgICAgIG1vY2tpbmdf cmVxdWlyZWQ9RmFsc2UsCisgICAgICAgICAgICAgaXNfY29ubmVjdF9zZXJ2ZXI9RmFsc2UsCisg ICAgICAgICAgICAgdGVzdF9kYXRhPXt9LAorICAgICAgICAgICAgIG1vY2tfZGF0YT17fSwKKyAg ICAgICAgICAgICBleHBlY3RlZF9kYXRhPXsKKyAgICAgICAgICAgICAgICAgInN0YXR1c19jb2Rl IjogMjAwCisgICAgICAgICAgICAgfQorICAgICAgICAgKSksCisgICAgXQorCisgICAgZGVmIHNl dFVwKHNlbGYpOgorICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9ub2RlX2RpY3RbInNlcnZlciJd Wy0xXVsic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5zZ2lkID0gY29uZmlnX2RhdGFbJ3NlcnZl cl9ncm91cCddCisKKyAgICBkZWYgbmV3X2Nvbm5lY3Rpb24oc2VsZik6CisgICAgICAgIHJlc3Bv bnNlID0gc2VsZi50ZXN0ZXIuZ2V0KAorICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIoc2VsZi5z Z2lkKSArICcvJyArIHN0cihzZWxmLnNnaWQpLAorICAgICAgICAgICAgY29udGVudF90eXBlPSdo dG1sL2pzb24nCisgICAgICAgICkKKworICAgICAgICByZXR1cm4gcmVzcG9uc2UKKworICAgIGRl ZiBydW5UZXN0KHNlbGYpOgorICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rlc3Q6CisgICAg ICAgICAgICByZXNwb25zZSA9IHNlbGYubmV3X2Nvbm5lY3Rpb24oKQorICAgICAgICAgICAgYWN0 dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNwb25zZS5zdGF0dXNfY29kZQorICAgICAgICAgICAgZXhw ZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNlbGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQor ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfcmVzcG9uc2VfY29kZSwgZXhwZWN0 ZWRfcmVzcG9uc2VfY29kZSkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRv ci90ZXN0cy90ZXN0X25ld19jb25uZWN0aW9uX3VzZXIucHkgYi93ZWIvcGdhZG1pbi90b29scy9z cWxlZGl0b3IvdGVzdHMvdGVzdF9uZXdfY29ubmVjdGlvbl91c2VyLnB5Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNmMxMmUKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdh ZG1pbi90b29scy9zcWxlZGl0b3IvdGVzdHMvdGVzdF9uZXdfY29ubmVjdGlvbl91c2VyLnB5CkBA IC0wLDAgKzEsOTggQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3Rn cmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4g RGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQ b3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCitm cm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJl Z3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3Nl dHVwIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxz IGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCisKKworY2xhc3MgVGVzdE5ld0Nvbm5lY3Rpb25V c2VyKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIHRlc3QgbmV3 IGNvbm5lY3Rpb24gdXNlci4gIiIiCisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAoJ05ldyBj b25uZWN0aW9uIGRpYWxvZycsCisgICAgICAgICBkaWN0KAorICAgICAgICAgICAgIHVybD0iL3Nx bGVkaXRvci9uZXdfY29ubmVjdGlvbl91c2VyLyIsCisgICAgICAgICAgICAgaXNfcG9zaXRpdmVf dGVzdD1UcnVlLAorICAgICAgICAgICAgIG1vY2tpbmdfcmVxdWlyZWQ9RmFsc2UsCisgICAgICAg ICAgICAgaXNfc2VydmVyX2Nvbm5fcmVxdWlyZWQ9RmFsc2UsCisgICAgICAgICAgICAgdGVzdF9k YXRhPXt9LAorICAgICAgICAgICAgIG1vY2tfZGF0YT17fSwKKyAgICAgICAgICAgICBleHBlY3Rl ZF9kYXRhPXsKKyAgICAgICAgICAgICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICAgICAg ICAgfQorICAgICAgICAgKSksCisgICAgICAgICgnTmV3IGNvbm5lY3Rpb24gZGlhbG9nIGNvbm5l Y3Qgc2VydmVyJywKKyAgICAgICAgIGRpY3QoCisgICAgICAgICAgICAgdXJsPSIvc3FsZWRpdG9y L25ld19jb25uZWN0aW9uX3VzZXIvIiwKKyAgICAgICAgICAgICBpc19wb3NpdGl2ZV90ZXN0PVRy dWUsCisgICAgICAgICAgICAgbW9ja2luZ19yZXF1aXJlZD1GYWxzZSwKKyAgICAgICAgICAgICBp c19zZXJ2ZXJfY29ubl9yZXF1aXJlZD1UcnVlLAorICAgICAgICAgICAgIHRlc3RfZGF0YT17fSwK KyAgICAgICAgICAgICBtb2NrX2RhdGE9e30sCisgICAgICAgICAgICAgZXhwZWN0ZWRfZGF0YT17 CisgICAgICAgICAgICAgICAgICJzdGF0dXNfY29kZSI6IDIwMAorICAgICAgICAgICAgIH0KKyAg ICAgICAgICkpLAorICAgICAgICAoJ05ldyBjb25uZWN0aW9uIGRpYWxvZyBuZWdhdGl2ZScsCisg ICAgICAgICBkaWN0KAorICAgICAgICAgICAgIHVybD0iL3NxbGVkaXRvci9uZXdfY29ubmVjdGlv bl91c2VyLyIsCisgICAgICAgICAgICAgaXNfcG9zaXRpdmVfdGVzdD1GYWxzZSwKKyAgICAgICAg ICAgICBtb2NraW5nX3JlcXVpcmVkPUZhbHNlLAorICAgICAgICAgICAgIGlzX3NlcnZlcl9jb25u X3JlcXVpcmVkPVRydWUsCisgICAgICAgICAgICAgdGVzdF9kYXRhPXt9LAorICAgICAgICAgICAg IG1vY2tfZGF0YT17fSwKKyAgICAgICAgICAgICBleHBlY3RlZF9kYXRhPXsKKyAgICAgICAgICAg ICAgICAgInN0YXR1c19jb2RlIjogMjAwCisgICAgICAgICAgICAgfQorICAgICAgICAgKSksCisg ICAgXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnNpZCA9IHBhcmVudF9u b2RlX2RpY3RbInNlcnZlciJdWy0xXVsic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5zZ2lkID0g Y29uZmlnX2RhdGFbJ3NlcnZlcl9ncm91cCddCisKKyAgICBkZWYgZ2V0X3VzZShzZWxmKToKKyAg ICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoCisgICAgICAgICAgICBzZWxmLnVybCAr IHN0cihzZWxmLnNnaWQpICsgJy8nICsgc3RyKHNlbGYuc2lkKSwKKyAgICAgICAgICAgIGNvbnRl bnRfdHlwZT0naHRtbC9qc29uJworICAgICAgICApCisKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNl CisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5pc19wb3NpdGl2ZV90 ZXN0OgorICAgICAgICAgICAgaWYgc2VsZi5pc19zZXJ2ZXJfY29ubl9yZXF1aXJlZDoKKyAgICAg ICAgICAgICAgICBzZWxmLnNlcnZlclsncGFzc3dvcmQnXSA9IHNlbGYuc2VydmVyWydkYl9wYXNz d29yZCddCisgICAgICAgICAgICAgICAgc2VydmVyX3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9z dCgKKyAgICAgICAgICAgICAgICAgICAgJy9icm93c2VyL3NlcnZlci9jb25uZWN0L3swfS97MX0n LmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxzLlNFUlZFUl9HUk9VUCwKKyAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lkKSwKKyAgICAgICAgICAgICAgICAgICAgZGF0 YT1qc29uLmR1bXBzKHNlbGYuc2VydmVyKSwKKyAgICAgICAgICAgICAgICAgICAgY29udGVudF90 eXBlPSdodG1sL2pzb24nCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgcmVzcG9uc2Ug PSBzZWxmLmdldF91c2UoKQorICAgICAgICAgICAgYWN0dWFsX3Jlc3BvbnNlX2NvZGUgPSByZXNw b25zZS5zdGF0dXNfY29kZQorICAgICAgICAgICAgZXhwZWN0ZWRfcmVzcG9uc2VfY29kZSA9IHNl bGYuZXhwZWN0ZWRfZGF0YVsnc3RhdHVzX2NvZGUnXQorICAgICAgICBlbHNlOgorICAgICAgICAg ICAgaWYgc2VsZi5pc19zZXJ2ZXJfY29ubl9yZXF1aXJlZDoKKyAgICAgICAgICAgICAgICBzZWxm LnNlcnZlclsncGFzc3dvcmQnXSA9IHNlbGYuc2VydmVyWydkYl9wYXNzd29yZCddCisgICAgICAg ICAgICAgICAgc2VydmVyX3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCgKKyAgICAgICAgICAg ICAgICAgICAgJy9icm93c2VyL3NlcnZlci9jb25uZWN0L3swfS97MX0nLmZvcm1hdCgKKyAgICAg ICAgICAgICAgICAgICAgICAgIHV0aWxzLlNFUlZFUl9HUk9VUCwKKyAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuc2lkKSwKKyAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNl bGYuc2VydmVyKSwKKyAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24n CisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5zaWQgPSAwCisgICAgICAgICAg ICByZXNwb25zZSA9IHNlbGYuZ2V0X3VzZSgpCisgICAgICAgICAgICBhY3R1YWxfcmVzcG9uc2Vf Y29kZSA9IHJlc3BvbnNlLnN0YXR1c19jb2RlCisgICAgICAgICAgICBleHBlY3RlZF9yZXNwb25z ZV9jb2RlID0gc2VsZi5leHBlY3RlZF9kYXRhWydzdGF0dXNfY29kZSddCisgICAgICAgIHNlbGYu YXNzZXJ0RXF1YWwoYWN0dWFsX3Jlc3BvbnNlX2NvZGUsIGV4cGVjdGVkX3Jlc3BvbnNlX2NvZGUp CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvY29ubmVjdGlv bi5weSBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9wc3ljb3BnMi9jb25uZWN0aW9uLnB5Cmlu ZGV4IDljYjY1YmMuLjgzYzJjMTcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZl ci9wc3ljb3BnMi9jb25uZWN0aW9uLnB5CisrKyBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9w c3ljb3BnMi9jb25uZWN0aW9uLnB5CkBAIC0yMSw3ICsyMSw3IEBAIGltcG9ydCBwc3ljb3BnMgog ZnJvbSBmbGFzayBpbXBvcnQgZywgY3VycmVudF9hcHAKIGZyb20gZmxhc2tfYmFiZWxleCBpbXBv cnQgZ2V0dGV4dAogZnJvbSBmbGFza19zZWN1cml0eSBpbXBvcnQgY3VycmVudF91c2VyCi1mcm9t IHBnYWRtaW4udXRpbHMuY3J5cHRvIGltcG9ydCBkZWNyeXB0Citmcm9tIHBnYWRtaW4udXRpbHMu Y3J5cHRvIGltcG9ydCBkZWNyeXB0LCBlbmNyeXB0CiBmcm9tIHBzeWNvcGcyLmV4dGVuc2lvbnMg aW1wb3J0IGVuY29kaW5ncwogCiBpbXBvcnQgY29uZmlnCkBAIC0yMTEsOCArMjExLDE3IEBAIGNs YXNzIENvbm5lY3Rpb24oQmFzZUNvbm5lY3Rpb24pOgogICAgICAgICBwYXNzd29yZCA9IE5vbmUK ICAgICAgICAgcGFzc2ZpbGUgPSBOb25lCiAgICAgICAgIG1hbmFnZXIgPSBzZWxmLm1hbmFnZXIK KyAgICAgICAgZW5jcGFzcyA9IE5vbmUKKyAgICAgICAgaXNfdXBkYXRlX3Bhc3N3b3JkID0gVHJ1 ZQorICAgICAgICBjcnlwdF9rZXlfcHJlc2VudCwgY3J5cHRfa2V5ID0gZ2V0X2NyeXB0X2tleSgp CisKKyAgICAgICAgaWYgJ3VzZXInIGluIGt3YXJncyBhbmQga3dhcmdzWydwYXNzd29yZCddOgor ICAgICAgICAgICAgcGFzc3dvcmQgPSBrd2FyZ3NbJ3Bhc3N3b3JkJ10KKyAgICAgICAgICAgIGt3 YXJncy5wb3AoJ3Bhc3N3b3JkJykKKyAgICAgICAgICAgIGlzX3VwZGF0ZV9wYXNzd29yZCA9IEZh bHNlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBlbmNwYXNzID0ga3dhcmdzWydwYXNzd29y ZCddIGlmICdwYXNzd29yZCcgaW4ga3dhcmdzIGVsc2UgTm9uZQogCi0gICAgICAgIGVuY3Bhc3Mg PSBrd2FyZ3NbJ3Bhc3N3b3JkJ10gaWYgJ3Bhc3N3b3JkJyBpbiBrd2FyZ3MgZWxzZSBOb25lCiAg ICAgICAgIHBhc3NmaWxlID0ga3dhcmdzWydwYXNzZmlsZSddIGlmICdwYXNzZmlsZScgaW4ga3dh cmdzIGVsc2UgTm9uZQogICAgICAgICB0dW5uZWxfcGFzc3dvcmQgPSBrd2FyZ3NbJ3R1bm5lbF9w YXNzd29yZCddIGlmICd0dW5uZWxfcGFzc3dvcmQnIGluIFwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3MgZWxzZSAnJwpAQCAtMjI3 LDE2ICsyMzYsMTYgQEAgY2xhc3MgQ29ubmVjdGlvbihCYXNlQ29ubmVjdGlvbik6CiAgICAgICAg IGlmIG1hbmFnZXIudXNlX3NzaF90dW5uZWwgPT0gMToKICAgICAgICAgICAgIG1hbmFnZXIuY2hl Y2tfc3NoX3R1bm5lbF9hbGl2ZSgpCiAKLSAgICAgICAgaWYgZW5jcGFzcyBpcyBOb25lOgotICAg ICAgICAgICAgZW5jcGFzcyA9IHNlbGYucGFzc3dvcmQgb3IgZ2V0YXR0cihtYW5hZ2VyLCAncGFz c3dvcmQnLCBOb25lKQorICAgICAgICBpZiBpc191cGRhdGVfcGFzc3dvcmQ6CisgICAgICAgICAg ICBpZiBlbmNwYXNzIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgZW5jcGFzcyA9IHNlbGYucGFz c3dvcmQgb3IgZ2V0YXR0cihtYW5hZ2VyLCAncGFzc3dvcmQnLCBOb25lKQogCi0gICAgICAgIHNl bGYucGFzc3dvcmQgPSBlbmNwYXNzCisgICAgICAgICAgICBzZWxmLnBhc3N3b3JkID0gZW5jcGFz cwogCiAgICAgICAgICMgUmVzZXQgdGhlIGV4aXN0aW5nIGNvbm5lY3Rpb24gcGFzc3dvcmQKICAg ICAgICAgaWYgc2VsZi5yZWNvbm5lY3RpbmcgaXMgbm90IEZhbHNlOgogICAgICAgICAgICAgc2Vs Zi5wYXNzd29yZCA9IE5vbmUKIAotICAgICAgICBjcnlwdF9rZXlfcHJlc2VudCwgY3J5cHRfa2V5 ID0gZ2V0X2NyeXB0X2tleSgpCiAgICAgICAgIGlmIG5vdCBjcnlwdF9rZXlfcHJlc2VudDoKICAg ICAgICAgICAgIHJhaXNlIENyeXB0S2V5TWlzc2luZygpCiAKQEAgLTI2OSw3ICsyNzgsMTAgQEAg Y2xhc3MgQ29ubmVjdGlvbihCYXNlQ29ubmVjdGlvbik6CiAKICAgICAgICAgdHJ5OgogICAgICAg ICAgICAgZGF0YWJhc2UgPSBzZWxmLmRiCi0gICAgICAgICAgICB1c2VyID0gbWFuYWdlci51c2Vy CisgICAgICAgICAgICBpZiAndXNlcicgaW4ga3dhcmdzIGFuZCBrd2FyZ3NbJ3VzZXInXToKKyAg ICAgICAgICAgICAgICB1c2VyID0ga3dhcmdzWyd1c2VyJ10KKyAgICAgICAgICAgIGVsc2U6Cisg ICAgICAgICAgICAgICAgdXNlciA9IG1hbmFnZXIudXNlcgogICAgICAgICAgICAgY29ubl9pZCA9 IHNlbGYuY29ubl9pZAogCiAgICAgICAgICAgICBpbXBvcnQgb3MKQEAgLTMzOCwxMCArMzUwLDEw IEBAIGNsYXNzIENvbm5lY3Rpb24oQmFzZUNvbm5lY3Rpb24pOgogICAgICAgICAgICAgICAgIHNl bGYud2FzQ29ubmVjdGVkID0gRmFsc2UKICAgICAgICAgICAgIHJhaXNlIGUKIAotICAgICAgICBp ZiBzdGF0dXM6CisgICAgICAgIGlmIHN0YXR1cyBhbmQgaXNfdXBkYXRlX3Bhc3N3b3JkOgogICAg ICAgICAgICAgbWFuYWdlci5fdXBkYXRlX3Bhc3N3b3JkKGVuY3Bhc3MpCiAgICAgICAgIGVsc2U6 Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5yZWNvbm5lY3Rpbmc6CisgICAgICAgICAgICBpZiBu b3Qgc2VsZi5yZWNvbm5lY3RpbmcgYW5kIGlzX3VwZGF0ZV9wYXNzd29yZDoKICAgICAgICAgICAg ICAgICBzZWxmLndhc0Nvbm5lY3RlZCA9IEZhbHNlCiAKICAgICAgICAgcmV0dXJuIHN0YXR1cywg bXNnCkBAIC0zNTksNyArMzcxLDcgQEAgY2xhc3MgQ29ubmVjdGlvbihCYXNlQ29ubmVjdGlvbik6 CiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYuY29ubi5hdXRvY29tbWl0 ID0gVHJ1ZQogCi0gICAgZGVmIF9zZXRfcm9sZShzZWxmLCBtYW5hZ2VyLCBjdXIsIGNvbm5faWQp OgorICAgIGRlZiBfc2V0X3JvbGUoc2VsZiwgbWFuYWdlciwgY3VyLCBjb25uX2lkLCAqKmt3YXJn cyk6CiAgICAgICAgICIiIgogICAgICAgICBTZXQgcm9sZQogICAgICAgICA6cGFyYW0gbWFuYWdl cjoKQEAgLTM2Nyw4ICszNzksMTggQEAgY2xhc3MgQ29ubmVjdGlvbihCYXNlQ29ubmVjdGlvbik6 CiAgICAgICAgIDpwYXJhbSBjb25uX2lkOgogICAgICAgICA6cmV0dXJuOgogICAgICAgICAiIiIK LSAgICAgICAgaWYgbWFuYWdlci5yb2xlOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhl Y3V0ZShjdXIsICJTRVQgUk9MRSBUTyAlcyIsIFttYW5hZ2VyLnJvbGVdKQorICAgICAgICBpc19z ZXRfcm9sZSA9IEZhbHNlCisgICAgICAgIHJvbGUgPSBOb25lCisKKyAgICAgICAgaWYgJ3JvbGUn IGluIGt3YXJncyBhbmQga3dhcmdzWydyb2xlJ106CisgICAgICAgICAgICBpc19zZXRfcm9sZSA9 IFRydWUKKyAgICAgICAgICAgIHJvbGUgPSBrd2FyZ3NbJ3JvbGUnXQorICAgICAgICBlbGlmIG1h bmFnZXIucm9sZToKKyAgICAgICAgICAgIGlzX3NldF9yb2xlID0gVHJ1ZQorICAgICAgICAgICAg cm9sZSA9IG1hbmFnZXIucm9sZQorCisgICAgICAgIGlmIGlzX3NldF9yb2xlOgorICAgICAgICAg ICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZShjdXIsICJTRVQgUk9MRSBUTyAlcyIsIFtyb2xlXSkK IAogICAgICAgICAgICAgaWYgc3RhdHVzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIHNl bGYuY29ubi5jbG9zZSgpCkBAIC0zODIsNyArNDA0LDcgQEAgY2xhc3MgQ29ubmVjdGlvbihCYXNl Q29ubmVjdGlvbik6CiAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9c3RhdHVzCiAgICAgICAg ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICAgICAgcmV0dXJu IEZhbHNlLCBcCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUsIFwKICAgICAgICAgICAgICAg ICAgICAgXygKICAgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gc2V0dXAgdGhlIHJv bGUgd2l0aCBlcnJvciBtZXNzYWdlOlxuezB9IgogICAgICAgICAgICAgICAgICAgICApLmZvcm1h dChzdGF0dXMpCkBAIC00NDUsNyArNDY3LDcgQEAgY2xhc3MgQ29ubmVjdGlvbihCYXNlQ29ubmVj dGlvbik6CiAKICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgc3RhdHVzCiAKLSAgICAgICAgaXNf ZXJyb3IsIGVycm1zZyA9IHNlbGYuX3NldF9yb2xlKG1hbmFnZXIsIGN1ciwgY29ubl9pZCkKKyAg ICAgICAgaXNfZXJyb3IsIGVycm1zZyA9IHNlbGYuX3NldF9yb2xlKG1hbmFnZXIsIGN1ciwgY29u bl9pZCwgKiprd2FyZ3MpCiAgICAgICAgIGlmIGlzX2Vycm9yOgogICAgICAgICAgICAgcmV0dXJu IEZhbHNlLCBlcnJtc2cKIApAQCAtNDkxLDcgKzUxMyw3IEBAIFdIRVJFIGRiLmRhdG5hbWUgPSBj dXJyZW50X2RhdGFiYXNlKCkiIiIpCiAgICAgICAgICAgICAgICAgaWYgbGVuKG1hbmFnZXIuZGJf aW5mbykgPT0gMToKICAgICAgICAgICAgICAgICAgICAgbWFuYWdlci5kaWQgPSByZXNbJ2RpZCdd CiAKLSAgICAgICAgc2VsZi5fc2V0X3VzZXJfaW5mbyhjdXIsIG1hbmFnZXIpCisgICAgICAgIHNl bGYuX3NldF91c2VyX2luZm8oY3VyLCBtYW5hZ2VyLCAqKmt3YXJncykKIAogICAgICAgICBzZWxm Ll9zZXRfc2VydmVyX3R5cGVfYW5kX3Bhc3N3b3JkKGt3YXJncywgbWFuYWdlcikKIApAQCAtNDk5 LDcgKzUyMSw3IEBAIFdIRVJFIGRiLmRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkiIiIpCiAK ICAgICAgICAgcmV0dXJuIFRydWUsIE5vbmUKIAotICAgIGRlZiBfc2V0X3VzZXJfaW5mbyhzZWxm LCBjdXIsIG1hbmFnZXIpOgorICAgIGRlZiBfc2V0X3VzZXJfaW5mbyhzZWxmLCBjdXIsIG1hbmFn ZXIsICoqa3dhcmdzKToKICAgICAgICAgIiIiCiAgICAgICAgIFNldCB1c2VyIGluZm8uCiAgICAg ICAgIDpwYXJhbSBjdXI6CkBAIC01MTcsNyArNTM5LDcgQEAgV0hFUkUgZGIuZGF0bmFtZSA9IGN1 cnJlbnRfZGF0YWJhc2UoKSIiIikKICAgICAgICAgV0hFUkUKICAgICAgICAgICAgIHJvbG5hbWUg PSBjdXJyZW50X3VzZXIiIiIpCiAKLSAgICAgICAgaWYgc3RhdHVzIGlzIE5vbmU6CisgICAgICAg IGlmIHN0YXR1cyBpcyBOb25lIGFuZCAndXNlcicgbm90IGluIGt3YXJnczoKICAgICAgICAgICAg IG1hbmFnZXIudXNlcl9pbmZvID0gZGljdCgpCiAgICAgICAgICAgICBpZiBjdXIucm93Y291bnQg PiAwOgogICAgICAgICAgICAgICAgIG1hbmFnZXIudXNlcl9pbmZvID0gY3VyLmZldGNobWFueSgx KVswXQo= --000000000000e3831805b060198f--