<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>111928</bug_id>
          
          <creation_ts>2013-03-09 14:43:07 -0800</creation_ts>
          <short_desc>REGRESSION(r145299): compilation failure with recent clang (DFGBackwardsPropagationPhase.cpp:132:35: error: comparison of constant 10 with expression of type &apos;bool&apos; is always false) (Requested by thorton on #webkit).</short_desc>
          <delta_ts>2013-03-09 14:50:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>111832</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>851829</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-09 14:43:07 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/145299 broke the build:
compilation failure with recent clang (DFGBackwardsPropagationPhase.cpp:132:35: error: comparison of constant 10 with expression of type &apos;bool&apos; is always false) (Requested by thorton on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851831</commentid>
    <comment_count>1</comment_count>
      <attachid>192353</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-09 14:43:39 -0800</bug_when>
    <thetext>Created attachment 192353
ROLLOUT of r145299

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851832</commentid>
    <comment_count>2</comment_count>
      <attachid>192353</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-09 14:50:18 -0800</bug_when>
    <thetext>Comment on attachment 192353
ROLLOUT of r145299

Clearing flags on attachment: 192353

Committed r145323: &lt;http://trac.webkit.org/changeset/145323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851833</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-09 14:50:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192353</attachid>
            <date>2013-03-09 14:43:39 -0800</date>
            <delta_ts>2013-03-09 14:50:18 -0800</delta_ts>
            <desc>ROLLOUT of r145299</desc>
            <filename>bug-111928-20130309223940.patch</filename>
            <type>text/plain</type>
            <size>79333</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDU5ZDczZTk1YWYwMTM5YzM1NTcwYTI5ZTMwZDUzZDIzYmIyMmEyLi4yMjBiZjUxOTE1YWU5NGY2
OTkxNzAzM2UyYjVlY2Y3ZWVkM2E0ZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MSBAQAorMjAxMy0wMy0wOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0NTI5OS4KKyAg
ICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTQ1Mjk5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE5MjgKKworICAgICAgICBj
b21waWxhdGlvbiBmYWlsdXJlIHdpdGggcmVjZW50IGNsYW5nCisgICAgICAgIChERkdCYWNrd2Fy
ZHNQcm9wYWdhdGlvblBoYXNlLmNwcDoxMzI6MzU6IGVycm9yOiBjb21wYXJpc29uIG9mCisgICAg
ICAgIGNvbnN0YW50IDEwIHdpdGggZXhwcmVzc2lvbiBvZiB0eXBlICdib29sJyBpcyBhbHdheXMg
ZmFsc2UpCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgdGhvcnRvbiBvbiAjd2Via2l0KS4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIGRmZy9ERkdBcnJheU1vZGUuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OkFycmF5TW9kZTo6cmVmaW5lKToKKyAgICAgICAgKiBkZmcvREZHQmFja3dh
cmRzUHJvcGFnYXRpb25QaGFzZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogZGZnL0RGR0JhY2t3
YXJkc1Byb3BhZ2F0aW9uUGhhc2UuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBkZmcvREZHQ1BTUmV0
aHJlYWRpbmdQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q1BTUmV0aHJlYWRpbmdQaGFz
ZTo6cnVuKToKKyAgICAgICAgKENQU1JldGhyZWFkaW5nUGhhc2UpOgorICAgICAgICAoSlNDOjpE
Rkc6OkNQU1JldGhyZWFkaW5nUGhhc2U6OmNhbm9uaWNhbGl6ZUdldExvY2FsRm9yKToKKyAgICAg
ICAgKEpTQzo6REZHOjpDUFNSZXRocmVhZGluZ1BoYXNlOjpjYW5vbmljYWxpemVGbHVzaE9yUGhh
bnRvbUxvY2FsRm9yKToKKyAgICAgICAgKiBkZmcvREZHRHJpdmVyLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHR3JhcGguY3BwOgorICAgICAgICAo
SlNDOjpERkc6OkdyYXBoOjpkdW1wKToKKyAgICAgICAgKiBkZmcvREZHTm9kZUZsYWdzLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpub2RlRmxhZ3NBc1N0cmluZyk6CisgICAgICAgIChERkcpOgor
ICAgICAgICAqIGRmZy9ERkdOb2RlRmxhZ3MuaDoKKyAgICAgICAgKERGRyk6CisgICAgICAgICog
ZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZTo6aXNOb3ROZWdaZXJvKToKKyAgICAgICAgKFBy
ZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlKToKKyAgICAgICAgKEpTQzo6REZHOjpQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZTo6aXNOb3RaZXJvKToKKyAgICAgICAgKEpTQzo6REZHOjpQcmVkaWN0
aW9uUHJvcGFnYXRpb25QaGFzZTo6aXNXaXRoaW5Qb3dlck9mVHdvRm9yQ29uc3RhbnQpOgorICAg
ICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjppc1dpdGhpblBvd2Vy
T2ZUd29Ob25SZWN1cnNpdmUpOgorICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdh
dGlvblBoYXNlOjppc1dpdGhpblBvd2VyT2ZUd28pOgorICAgICAgICAoSlNDOjpERkc6OlByZWRp
Y3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAgICAoSlNDOjpERkc6OlBy
ZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjptZXJnZURlZmF1bHRGbGFncyk6CisgICAgICAgICog
ZGZnL0RGR1VuaWZpY2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlVuaWZpY2F0
aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICogZGZnL0RGR1ZhcmlhYmxlQWNjZXNzRGF0YS5oOgor
ICAgICAgICAoSlNDOjpERkc6OlZhcmlhYmxlQWNjZXNzRGF0YTo6VmFyaWFibGVBY2Nlc3NEYXRh
KToKKyAgICAgICAgKFZhcmlhYmxlQWNjZXNzRGF0YSk6CisKIDIwMTMtMDMtMDggIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgb3ZlcmZsb3cgY2hlY2sgZWxp
bWluYXRpb24gaXMgdG9vIHNtYXJ0IGZvciBpdHMgb3duIGdvb2QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCA5NjRiNTFiOTg4MDFiYWUzODg4ZTI3YTRmYmY4NWNkZGNkYzlk
ZWRhLi5iNTczY2UxZmM4YmFiZGY1ZWU3ZjMwMzMxNjgzNGY2YWRhZTAxNGU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC03OCw3ICs3OCw2IEBAIHNldChKYXZhU2NyaXB0
Q29yZV9TT1VSQ0VTCiAgICAgZGZnL0RGR0FyZ3VtZW50c1NpbXBsaWZpY2F0aW9uUGhhc2UuY3Bw
CiAgICAgZGZnL0RGR0FycmF5TW9kZS5jcHAKICAgICBkZmcvREZHQXNzZW1ibHlIZWxwZXJzLmNw
cAotICAgIGRmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcAogICAgIGRmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAKICAgICBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAogICAgIGRmZy9E
RkdDb21tb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDIzMTIxNTQwMmRmNjg2OGU5M2QwYzYzYzQxNGU2NjI5MjY0YjQ5YjYuLjA4ZjBjZjk5NDhm
YTZjNzg1ZWU2NTY0ZTU1YTQ5MjUzNTgxYWFlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xODQsOCArMTg0LDYgQEAgamF2YXNjcmlwdGNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheWlmeVNsb3dQYXRo
R2VuZXJhdG9yLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXNzZW1ibHlIZWxw
ZXJzLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBc3NlbWJseUhlbHBlcnMu
aCBcCi0JU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBo
YXNlLmNwcCBcCi0JU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCYWNrd2FyZHNQcm9wYWdh
dGlvblBoYXNlLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQmFzaWNCbG9jay5o
IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jhc2ljQmxvY2tJbmxpbmVzLmggXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnJhbmNoRGlyZWN0aW9uLmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjNmQyNWUwZjBkNTAyZTE4NGJhNzE3ZjFjYTU0ODVl
YjQ1NWI2NGViLi5iOGVmMDZjYTEwY2QwNGEyNmY3ZmM3NDQ0MzIzOGE0MjUzZjg0YzE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYzLDggKzE2Myw2IEBACiAJCTBGNjM5NDg1
MTVFNDgxMUIwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjM5NDgyMTVFNDgxMTQwMDZBNTk3QyAvKiBERkdB
cnJheU1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkwRjY2RTE2QjE0REYzRjE2MDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjgxNERGM0Yx
MzAwQjdCMkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjY2RTE2QzE0REYzRjE2MDBCN0IyRTQgLyogREZH
RWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2
NkUxNjkxNERGM0YxMzAwQjdCMkU0IC8qIERGR0VkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyog
REZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjcxNENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFj
a3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHAgKi87IH07Ci0JCTBGNzE0Q0E1MTZFQTkyRjIwMEYz
RUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjcxNENBMjE2RUE5MkVEMDBGM0VCRUIgLyog
REZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNzNEN0FFMTY1QTE0MkQwMEFDQUI3MSAvKiBDbG9z
dXJlQ2FsbFN0dWJSb3V0aW5lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNzNEN0FCMTY1QTE0MkEwMEFDQUI3MSAvKiBDbG9zdXJlQ2FsbFN0dWJS
b3V0aW5lLmNwcCAqLzsgfTsKIAkJMEY3M0Q3QUYxNjVBMTQzMDAwQUNBQjcxIC8qIENsb3N1cmVD
YWxsU3R1YlJvdXRpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGNzNEN0FDMTY1QTE0MkEwMEFDQUI3MSAvKiBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5l
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY3
NjZEMjgxNUE4Q0MxRTAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNzY2RDI2MTVBOENDMUIwMDhGMzYz
RSAvKiBKSVRTdHViUm91dGluZS5jcHAgKi87IH07CkBAIC0xMDY1LDggKzEwNjMsNiBAQAogCQkw
RjYzOTQ4MjE1RTQ4MTE0MDA2QTU5N0MgLyogREZHQXJyYXlNb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IERGR0FycmF5TW9kZS5oOyBwYXRoID0gZGZnL0RGR0FycmF5TW9k
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2ODE0REYzRjEzMDBCN0Iy
RTQgLyogREZHQWRqYWNlbmN5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBERkdBZGphY2VuY3lMaXN0Lmg7IHBhdGggPSBkZmcvREZHQWRqYWNlbmN5TGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2OTE0REYzRjEzMDBCN0IyRTQgLyogREZH
RWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdFZGdlLmg7IHBhdGgg
PSBkZmcvREZHRWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRjcxNENBMTE2
RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBo
YXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEY3MTRDQTIxNkVBOTJFRDAwRjNFQkVCIC8qIERG
R0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5oOyBwYXRoID0gZGZnL0RGR0JhY2t3
YXJkc1Byb3BhZ2F0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3
M0Q3QUIxNjVBMTQyQTAwQUNBQjcxIC8qIENsb3N1cmVDYWxsU3R1YlJvdXRpbmUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xvc3VyZUNhbGxTdHViUm91dGluZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNzNEN0FDMTY1QTE0MkEwMEFDQUI3
MSAvKiBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENsb3N1cmVDYWxsU3R1YlJvdXRpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEY3NjZEMUMxNUE1MDI4RDAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFN0dWJSb3V0aW5lLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yNjQwLDggKzI2MzYsNiBAQAogCQkJCTBGNjM5NDgyMTVFNDgx
MTQwMDZBNTk3QyAvKiBERkdBcnJheU1vZGUuaCAqLywKIAkJCQkwRkMwOTc2QjE0NjhBQjRBMDBD
RjI0NDIgLyogREZHQXNzZW1ibHlIZWxwZXJzLmNwcCAqLywKIAkJCQkwRkMwOTc2QzE0NjhBQjRB
MDBDRjI0NDIgLyogREZHQXNzZW1ibHlIZWxwZXJzLmggKi8sCi0JCQkJMEY3MTRDQTExNkVBOTJF
RDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwICovLAotCQkJCTBG
NzE0Q0EyMTZFQTkyRUQwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmgg
Ki8sCiAJCQkJMEY2MjAxNzAxNDNGQ0QyRjAwNjhCNzdDIC8qIERGR0Jhc2ljQmxvY2suaCAqLywK
IAkJCQkwRkQ1NjUyMjE2QUI3ODBBMDAxOTc2NTMgLyogREZHQmFzaWNCbG9ja0lubGluZXMuaCAq
LywKIAkJCQkwRjgzNjRCNTE2NEIwQzBFMDA1MzMyOUEgLyogREZHQnJhbmNoRGlyZWN0aW9uLmgg
Ki8sCkBAIC0zNDE0LDcgKzM0MDgsNiBAQAogCQkJCTBGRkI5MjFGMTZEMDMzMDUwMDU1QTVEQiAv
KiAobnVsbCkgaW4gSGVhZGVycyAqLywKIAkJCQkwRkZCOTIyMDE2RDAzM0I3MDA1NUE1REIgLyog
Tm9kZUNvbnN0cnVjdG9ycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDQ0FFNDUxNkQwQ0Y3NDAw
RDBDNjVCIC8qIFBhcnNlckVycm9yLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjcxNENBNTE2RUE5
MkYyMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC00MDU4LDcgKzQwNTEsNiBAQAogCQkJCTBGQkUwRjc2MTZDMURCMEYwMDgyQzVFOCAv
KiBERkdVbmlmaWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDkzQUZBMTZE
MENBRDMwMDg0NTA4QiAvKiBTb3VyY2VQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
REUzOUZGRjE2REQxNDRCMDAwM0NENEEgLyogUHJvcGVydHlUYWJsZS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRp
b25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9UYXJnZXQucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1RhcmdldC5wcmkKaW5kZXgg
M2IwNjJmMmIwNGIxMzNmMTFmMmRhMTQ5YTk0NTBiNDAxMzkxMzQ5Yy4uOGZlZmM2NWNjZDBjYTg0
MjYzOTk2YjFjZjliMTVhYzg2ZGNiNWFlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1RhcmdldC5wcmkKQEAg
LTExNCw3ICsxMTQsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBkZmcvREZHQXJndW1lbnRzU2ltcGxp
ZmljYXRpb25QaGFzZS5jcHAgXAogICAgIGRmZy9ERkdBcnJheU1vZGUuY3BwIFwKICAgICBkZmcv
REZHQXNzZW1ibHlIZWxwZXJzLmNwcCBcCi0gICAgZGZnL0RGR0JhY2t3YXJkc1Byb3BhZ2F0aW9u
UGhhc2UuY3BwIFwKICAgICBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIFwKICAgICBkZmcvREZH
Q2FwYWJpbGl0aWVzLmNwcCBcCiAgICAgZGZnL0RGR0NvbW1vbi5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCmluZGV4IDdhNmYxMDg2Y2Y1ODBiZmQ4MDkx
MTg0YmZmNjlkMjhiZTk2MWI0ZTUuLjZkZjYzN2Q3OWJmZTBmNDEwMmZiNTQ1MGJmN2MxMTRmMDRm
YzhiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2Rl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAKQEAg
LTE2NywxNCArMTY3LDE0IEBAIEFycmF5TW9kZSBBcnJheU1vZGU6OnJlZmluZShTcGVjdWxhdGVk
VHlwZSBiYXNlLCBTcGVjdWxhdGVkVHlwZSBpbmRleCwgU3BlY3VsYXRlCiAgICAgICAgIHJldHVy
biB3aXRoVHlwZUFuZENvbnZlcnNpb24oQXJyYXk6OkNvbnRpZ3VvdXMsIEFycmF5OjpDb252ZXJ0
KTsKICAgICAgICAgCiAgICAgY2FzZSBBcnJheTo6RG91YmxlOgotICAgICAgICBpZiAoZmxhZ3Mg
JiBOb2RlVXNlZEFzSW50KQorICAgICAgICBpZiAoZmxhZ3MgJiBOb2RlVXNlZEFzSW50TG9jYWxs
eSkKICAgICAgICAgICAgIHJldHVybiB3aXRoVHlwZUFuZENvbnZlcnNpb24oQXJyYXk6OkNvbnRp
Z3VvdXMsIEFycmF5OjpSYWdlQ29udmVydCk7CiAgICAgICAgIGlmICghdmFsdWUgfHwgaXNOdW1i
ZXJTcGVjdWxhdGlvbih2YWx1ZSkpCiAgICAgICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgICAg
IHJldHVybiB3aXRoVHlwZUFuZENvbnZlcnNpb24oQXJyYXk6OkNvbnRpZ3VvdXMsIEFycmF5OjpD
b252ZXJ0KTsKICAgICAgICAgCiAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAg
aWYgKGRvZXNDb252ZXJzaW9uKCkgJiYgKGZsYWdzICYgTm9kZVVzZWRBc0ludCkpCisgICAgICAg
IGlmIChkb2VzQ29udmVyc2lvbigpICYmIChmbGFncyAmIE5vZGVVc2VkQXNJbnRMb2NhbGx5KSkK
ICAgICAgICAgICAgIHJldHVybiB3aXRoQ29udmVyc2lvbihBcnJheTo6UmFnZUNvbnZlcnQpOwog
ICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3OWI5M2UyZjZiMGUzZTA1ZTBlNWI5NzM1NzkyODg2
MWIwNjY2MmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDM2OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJE
RkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmgiCi0KLSNpZiBFTkFCTEUoREZHX0pJVCkKLQot
I2luY2x1ZGUgIkRGR0Jhc2ljQmxvY2tJbmxpbmVzLmgiCi0jaW5jbHVkZSAiREZHR3JhcGguaCIK
LSNpbmNsdWRlICJERkdQaGFzZS5oIgotI2luY2x1ZGUgIk9wZXJhdGlvbnMuaCIKLQotbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewotCi1jbGFzcyBCYWNrd2FyZHNQcm9wYWdhdGlvblBo
YXNlIDogcHVibGljIFBoYXNlIHsKLXB1YmxpYzoKLSAgICBCYWNrd2FyZHNQcm9wYWdhdGlvblBo
YXNlKEdyYXBoJiBncmFwaCkKLSAgICAgICAgOiBQaGFzZShncmFwaCwgImJhY2t3YXJkcyBwcm9w
YWdhdGlvbiIpCi0gICAgewotICAgIH0KLSAgICAKLSAgICBib29sIHJ1bigpCi0gICAgewotICAg
ICAgICBmb3IgKEJsb2NrSW5kZXggYmxvY2tJbmRleCA9IDA7IGJsb2NrSW5kZXggPCBtX2dyYXBo
Lm1fYmxvY2tzLnNpemUoKTsgKytibG9ja0luZGV4KSB7Ci0gICAgICAgICAgICBCYXNpY0Jsb2Nr
KiBibG9jayA9IG1fZ3JhcGgubV9ibG9ja3NbYmxvY2tJbmRleF0uZ2V0KCk7Ci0gICAgICAgICAg
ICBpZiAoIWJsb2NrKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgCi0g
ICAgICAgICAgICAvLyBQcmV2ZW50IGEgdG93ZXIgb2Ygb3ZlcmZsb3dpbmcgYWRkaXRpb25zIGZy
b20gY3JlYXRpbmcgYSB2YWx1ZSB0aGF0IGlzIG91dCBvZiB0aGUKLSAgICAgICAgICAgIC8vIHNh
ZmUgMl40OCByYW5nZS4KLSAgICAgICAgICAgIG1fYWxsb3dOZXN0ZWRPdmVyZmxvd2luZ0FkZGl0
aW9ucyA9IGJsb2NrLT5zaXplKCkgPCAoMSA8PCAxNik7Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaW5kZXhJbkJsb2NrID0gYmxvY2stPnNpemUoKTsgaW5kZXhJbkJs
b2NrLS07KQotICAgICAgICAgICAgICAgIHByb3BhZ2F0ZShibG9jay0+YXQoaW5kZXhJbkJsb2Nr
KSk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQot
cHJpdmF0ZToKLSAgICBib29sIGlzTm90TmVnWmVybyhOb2RlKiBub2RlKQotICAgIHsKLSAgICAg
ICAgaWYgKCFtX2dyYXBoLmlzTnVtYmVyQ29uc3RhbnQobm9kZSkpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIGRvdWJsZSB2YWx1ZSA9IG1fZ3JhcGgudmFsdWVPZk51bWJlckNv
bnN0YW50KG5vZGUpOwotICAgICAgICByZXR1cm4gIXZhbHVlICYmIDEuMCAvIHZhbHVlIDwgMC4w
OwotICAgIH0KLSAgICAKLSAgICBib29sIGlzTm90WmVybyhOb2RlKiBub2RlKQotICAgIHsKLSAg
ICAgICAgaWYgKCFtX2dyYXBoLmlzTnVtYmVyQ29uc3RhbnQobm9kZSkpCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVybiAhIW1fZ3JhcGgudmFsdWVPZk51bWJlckNvbnN0
YW50KG5vZGUpOwotICAgIH0KLQotICAgIC8vIFRlc3RzIGlmIHRoZSBhYnNvbHV0ZSB2YWx1ZSBp
cyBzdHJpY3RseSBsZXNzIHRoYW4gdGhlIHBvd2VyIG9mIHR3by4KLSAgICB0ZW1wbGF0ZTxpbnQg
cG93ZXI+Ci0gICAgYm9vbCBpc1dpdGhpblBvd2VyT2ZUd29Gb3JDb25zdGFudChOb2RlKiBub2Rl
KQotICAgIHsKLSAgICAgICAgSlNWYWx1ZSBpbW1lZGlhdGVWYWx1ZSA9IG5vZGUtPnZhbHVlT2ZK
U0NvbnN0YW50KGNvZGVCbG9jaygpKTsKLSAgICAgICAgaWYgKCFpbW1lZGlhdGVWYWx1ZS5pc051
bWJlcigpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBkb3VibGUgaW1tZWRp
YXRlID0gaW1tZWRpYXRlVmFsdWUuYXNOdW1iZXIoKTsKLSAgICAgICAgcmV0dXJuIGltbWVkaWF0
ZSA+IC0oc3RhdGljX2Nhc3Q8aW50NjRfdD4oMSkgPDwgcG93ZXIpICYmIGltbWVkaWF0ZSA8IChz
dGF0aWNfY2FzdDxpbnQ2NF90PigxKSA8PCBwb3dlcik7Ci0gICAgfQotICAgIAotICAgIHRlbXBs
YXRlPGludCBwb3dlcj4KLSAgICBib29sIGlzV2l0aGluUG93ZXJPZlR3b05vblJlY3Vyc2l2ZShO
b2RlKiBub2RlKQotICAgIHsKLSAgICAgICAgaWYgKG5vZGUtPm9wKCkgIT0gSlNDb25zdGFudCkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmV0dXJuIGlzV2l0aGluUG93ZXJP
ZlR3b0ZvckNvbnN0YW50PHBvd2VyPihub2RlKTsKLSAgICB9Ci0gICAgCi0gICAgdGVtcGxhdGU8
aW50IHBvd2VyPgotICAgIGJvb2wgaXNXaXRoaW5Qb3dlck9mVHdvKE5vZGUqIG5vZGUpCi0gICAg
ewotICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKLSAgICAgICAgY2FzZSBKU0NvbnN0YW50
OiB7Ci0gICAgICAgICAgICByZXR1cm4gaXNXaXRoaW5Qb3dlck9mVHdvRm9yQ29uc3RhbnQ8cG93
ZXI+KG5vZGUpOwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgY2FzZSBCaXRBbmQ6
IHsKLSAgICAgICAgICAgIGlmIChwb3dlciA+IDMxKQotICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gaXNXaXRoaW5Qb3dlck9mVHdv
Tm9uUmVjdXJzaXZlPHBvd2VyPihub2RlLT5jaGlsZDEoKS5ub2RlKCkpCi0gICAgICAgICAgICAg
ICAgfHwgaXNXaXRoaW5Qb3dlck9mVHdvTm9uUmVjdXJzaXZlPHBvd2VyPihub2RlLT5jaGlsZDIo
KS5ub2RlKCkpOwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgY2FzZSBCaXRPcjoK
LSAgICAgICAgY2FzZSBCaXRYb3I6Ci0gICAgICAgIGNhc2UgQml0TFNoaWZ0OgotICAgICAgICBj
YXNlIFZhbHVlVG9JbnQzMjogewotICAgICAgICAgICAgcmV0dXJuIHBvd2VyID4gMzE7Ci0gICAg
ICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICBjYXNlIEJpdFJTaGlmdDoKLSAgICAgICAgY2Fz
ZSBCaXRVUlNoaWZ0OiB7Ci0gICAgICAgICAgICBpZiAocG93ZXIgPiAzMSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgTm9kZSogc2hpZnRB
bW91bnQgPSBub2RlLT5jaGlsZDIoKS5ub2RlKCk7Ci0gICAgICAgICAgICBpZiAoc2hpZnRBbW91
bnQtPm9wKCkgIT0gSlNDb25zdGFudCkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgICAgICBKU1ZhbHVlIGltbWVkaWF0ZVZhbHVlID0gc2hpZnRBbW91bnQtPnZhbHVlT2ZK
U0NvbnN0YW50KGNvZGVCbG9jaygpKTsKLSAgICAgICAgICAgIGlmICghaW1tZWRpYXRlVmFsdWUu
aXNJbnQzMigpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIHJl
dHVybiBpbW1lZGlhdGVWYWx1ZSA+IDMyIC0gcG93ZXI7Ci0gICAgICAgIH0KLSAgICAgICAgICAg
IAotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8aW50IHBvd2VyPgotICAgIGJvb2wgaXNXaXRoaW5Qb3dl
ck9mVHdvKEVkZ2UgZWRnZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBpc1dpdGhpblBvd2VyT2ZU
d288cG93ZXI+KGVkZ2Uubm9kZSgpKTsKLSAgICB9Ci0KLSAgICBib29sIG1lcmdlRGVmYXVsdEZs
YWdzKE5vZGUqIG5vZGUpCi0gICAgewotICAgICAgICBib29sIGNoYW5nZWQgPSBmYWxzZTsKLSAg
ICAgICAgaWYgKG5vZGUtPmZsYWdzKCkgJiBOb2RlSGFzVmFyQXJncykgewotICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBjaGlsZElkeCA9IG5vZGUtPmZpcnN0Q2hpbGQoKTsKLSAgICAgICAgICAg
ICAgICBjaGlsZElkeCA8IG5vZGUtPmZpcnN0Q2hpbGQoKSArIG5vZGUtPm51bUNoaWxkcmVuKCk7
Ci0gICAgICAgICAgICAgICAgY2hpbGRJZHgrKykgewotICAgICAgICAgICAgICAgIGlmICghIW1f
Z3JhcGgubV92YXJBcmdDaGlsZHJlbltjaGlsZElkeF0pCi0gICAgICAgICAgICAgICAgICAgIGNo
YW5nZWQgfD0gbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuW2NoaWxkSWR4XS0+bWVyZ2VGbGFncyhO
b2RlVXNlZEFzVmFsdWUpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgaWYgKCFub2RlLT5jaGlsZDEoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gY2hhbmdl
ZDsKLSAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoTm9k
ZVVzZWRBc1ZhbHVlKTsKLSAgICAgICAgICAgIGlmICghbm9kZS0+Y2hpbGQyKCkpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIGNoYW5nZWQ7Ci0gICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNo
aWxkMigpLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSk7Ci0gICAgICAgICAgICBpZiAoIW5v
ZGUtPmNoaWxkMygpKQotICAgICAgICAgICAgICAgIHJldHVybiBjaGFuZ2VkOwotICAgICAgICAg
ICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDMoKS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUp
OwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBjaGFuZ2VkOwotICAgIH0KLSAgICAKLSAgICB2
b2lkIHByb3BhZ2F0ZShOb2RlKiBub2RlKQotICAgIHsKLSAgICAgICAgTm9kZUZsYWdzIGZsYWdz
ID0gbm9kZS0+ZmxhZ3MoKSAmIE5vZGVCYWNrUHJvcE1hc2s7Ci0gICAgICAgIAotICAgICAgICBz
d2l0Y2ggKG5vZGUtPm9wKCkpIHsKLSAgICAgICAgY2FzZSBHZXRMb2NhbDogewotICAgICAgICAg
ICAgVmFyaWFibGVBY2Nlc3NEYXRhKiB2YXJpYWJsZUFjY2Vzc0RhdGEgPSBub2RlLT52YXJpYWJs
ZUFjY2Vzc0RhdGEoKTsKLSAgICAgICAgICAgIHZhcmlhYmxlQWNjZXNzRGF0YS0+bWVyZ2VGbGFn
cyhmbGFncyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAgICAgCi0g
ICAgICAgIGNhc2UgU2V0TG9jYWw6IHsKLSAgICAgICAgICAgIFZhcmlhYmxlQWNjZXNzRGF0YSog
dmFyaWFibGVBY2Nlc3NEYXRhID0gbm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCk7Ci0gICAgICAg
ICAgICBpZiAoIXZhcmlhYmxlQWNjZXNzRGF0YS0+aXNMb2FkZWRGcm9tKCkpCi0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhOb2Rl
VXNlZEFzVmFsdWUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgICAg
IAotICAgICAgICBjYXNlIEJpdEFuZDoKLSAgICAgICAgY2FzZSBCaXRPcjoKLSAgICAgICAgY2Fz
ZSBCaXRYb3I6Ci0gICAgICAgIGNhc2UgQml0UlNoaWZ0OgotICAgICAgICBjYXNlIEJpdExTaGlm
dDoKLSAgICAgICAgY2FzZSBCaXRVUlNoaWZ0OiB7Ci0gICAgICAgICAgICBmbGFncyB8PSBOb2Rl
VXNlZEFzSW50OwotICAgICAgICAgICAgZmxhZ3MgJj0gfihOb2RlVXNlZEFzTnVtYmVyIHwgTm9k
ZU5lZWRzTmVnWmVybyB8IE5vZGVVc2VkQXNPdGhlcik7Ci0gICAgICAgICAgICBub2RlLT5jaGls
ZDEoKS0+bWVyZ2VGbGFncyhmbGFncyk7Ci0gICAgICAgICAgICBub2RlLT5jaGlsZDIoKS0+bWVy
Z2VGbGFncyhmbGFncyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAg
ICAgCi0gICAgICAgIGNhc2UgVmFsdWVUb0ludDMyOiB7Ci0gICAgICAgICAgICBmbGFncyB8PSBO
b2RlVXNlZEFzSW50OwotICAgICAgICAgICAgZmxhZ3MgJj0gfihOb2RlVXNlZEFzTnVtYmVyIHwg
Tm9kZU5lZWRzTmVnWmVybyB8IE5vZGVVc2VkQXNPdGhlcik7Ci0gICAgICAgICAgICBub2RlLT5j
aGlsZDEoKS0+bWVyZ2VGbGFncyhmbGFncyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgU3RyaW5nQ2hhckNvZGVBdDogewotICAgICAg
ICAgICAgbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc1ZhbHVlKTsKLSAgICAg
ICAgICAgIG5vZGUtPmNoaWxkMigpLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSB8IE5vZGVV
c2VkQXNJbnQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgICAgIAot
ICAgICAgICBjYXNlIElkZW50aXR5OiAKLSAgICAgICAgY2FzZSBVSW50MzJUb051bWJlcjogewot
ICAgICAgICAgICAgbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoZmxhZ3MpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgICBjYXNlIFZhbHVlQWRkOiB7Ci0gICAgICAg
ICAgICBpZiAoaXNOb3ROZWdaZXJvKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkgfHwgaXNOb3ROZWda
ZXJvKG5vZGUtPmNoaWxkMigpLm5vZGUoKSkpCi0gICAgICAgICAgICAgICAgZmxhZ3MgJj0gfk5v
ZGVOZWVkc05lZ1plcm87Ci0gICAgICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCktPmhhc051bWJl
clJlc3VsdCgpIHx8IG5vZGUtPmNoaWxkMigpLT5oYXNOdW1iZXJSZXN1bHQoKSkKLSAgICAgICAg
ICAgICAgICBmbGFncyAmPSB+Tm9kZVVzZWRBc090aGVyOwotICAgICAgICAgICAgaWYgKCFpc1dp
dGhpblBvd2VyT2ZUd288MzI+KG5vZGUtPmNoaWxkMSgpKSAmJiAhaXNXaXRoaW5Qb3dlck9mVHdv
PDMyPihub2RlLT5jaGlsZDIoKSkpCi0gICAgICAgICAgICAgICAgZmxhZ3MgfD0gTm9kZVVzZWRB
c051bWJlcjsKLSAgICAgICAgICAgIGlmICghbV9hbGxvd05lc3RlZE92ZXJmbG93aW5nQWRkaXRp
b25zKQotICAgICAgICAgICAgICAgIGZsYWdzIHw9IE5vZGVVc2VkQXNOdW1iZXI7Ci0gICAgICAg
ICAgICAKLSAgICAgICAgICAgIG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsKLSAg
ICAgICAgICAgIG5vZGUtPmNoaWxkMigpLT5tZXJnZUZsYWdzKGZsYWdzKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgY2FzZSBBcml0aEFkZDog
ewotICAgICAgICAgICAgaWYgKGlzTm90TmVnWmVybyhub2RlLT5jaGlsZDEoKS5ub2RlKCkpIHx8
IGlzTm90TmVnWmVybyhub2RlLT5jaGlsZDIoKS5ub2RlKCkpKQotICAgICAgICAgICAgICAgIGZs
YWdzICY9IH5Ob2RlTmVlZHNOZWdaZXJvOwotICAgICAgICAgICAgaWYgKCFpc1dpdGhpblBvd2Vy
T2ZUd288MzI+KG5vZGUtPmNoaWxkMSgpKSAmJiAhaXNXaXRoaW5Qb3dlck9mVHdvPDMyPihub2Rl
LT5jaGlsZDIoKSkpCi0gICAgICAgICAgICAgICAgZmxhZ3MgfD0gTm9kZVVzZWRBc051bWJlcjsK
LSAgICAgICAgICAgIGlmICghbV9hbGxvd05lc3RlZE92ZXJmbG93aW5nQWRkaXRpb25zKQotICAg
ICAgICAgICAgICAgIGZsYWdzIHw9IE5vZGVVc2VkQXNOdW1iZXI7Ci0gICAgICAgICAgICAKLSAg
ICAgICAgICAgIG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsKLSAgICAgICAgICAg
IG5vZGUtPmNoaWxkMigpLT5tZXJnZUZsYWdzKGZsYWdzKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgY2FzZSBBcml0aFN1YjogewotICAgICAg
ICAgICAgaWYgKGlzTm90WmVybyhub2RlLT5jaGlsZDEoKS5ub2RlKCkpIHx8IGlzTm90WmVybyhu
b2RlLT5jaGlsZDIoKS5ub2RlKCkpKQotICAgICAgICAgICAgICAgIGZsYWdzICY9IH5Ob2RlTmVl
ZHNOZWdaZXJvOwotICAgICAgICAgICAgaWYgKCFpc1dpdGhpblBvd2VyT2ZUd288MzI+KG5vZGUt
PmNoaWxkMSgpKSAmJiAhaXNXaXRoaW5Qb3dlck9mVHdvPDMyPihub2RlLT5jaGlsZDIoKSkpCi0g
ICAgICAgICAgICAgICAgZmxhZ3MgfD0gTm9kZVVzZWRBc051bWJlcjsKLSAgICAgICAgICAgIGlm
ICghbV9hbGxvd05lc3RlZE92ZXJmbG93aW5nQWRkaXRpb25zKQotICAgICAgICAgICAgICAgIGZs
YWdzIHw9IE5vZGVVc2VkQXNOdW1iZXI7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIG5vZGUt
PmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsKLSAgICAgICAgICAgIG5vZGUtPmNoaWxkMigp
LT5tZXJnZUZsYWdzKGZsYWdzKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgY2FzZSBBcml0aE5lZ2F0ZTogewotICAgICAgICAgICAgZmxhZ3Mg
Jj0gfk5vZGVVc2VkQXNPdGhlcjsKLQotICAgICAgICAgICAgbm9kZS0+Y2hpbGQxKCktPm1lcmdl
RmxhZ3MoZmxhZ3MpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgICAg
IAotICAgICAgICBjYXNlIEFyaXRoTXVsOiB7Ci0gICAgICAgICAgICAvLyBBcyBzb29uIGFzIGEg
bXVsdGlwbHkgaGFwcGVucywgd2UgY2FuIGVhc2lseSBlbmQgdXAgaW4gdGhlIHBhcnQKLSAgICAg
ICAgICAgIC8vIG9mIHRoZSBkb3VibGUgZG9tYWluIHdoZXJlIHRoZSBwb2ludCBhdCB3aGljaCB5
b3UgZG8gdHJ1bmNhdGlvbgotICAgICAgICAgICAgLy8gY2FuIGNoYW5nZSB0aGUgb3V0Y29tZS4g
U28sIEFyaXRoTXVsIGFsd2F5cyBmb3JjZXMgaXRzIGlucHV0cyB0bwotICAgICAgICAgICAgLy8g
Y2hlY2sgZm9yIG92ZXJmbG93LiBBZGRpdGlvbmFsbHksIGl0IHdpbGwgaGF2ZSB0byBjaGVjayBm
b3Igb3ZlcmZsb3cKLSAgICAgICAgICAgIC8vIGl0c2VsZiB1bmxlc3Mgd2UgY2FuIHByb3ZlIHRo
YXQgdGhlcmUgaXMgbm8gd2F5IGZvciB0aGUgdmFsdWVzCi0gICAgICAgICAgICAvLyBwcm9kdWNl
ZCB0byBjYXVzZSBkb3VibGUgcm91bmRpbmcuCi0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlm
ICghaXNXaXRoaW5Qb3dlck9mVHdvPDIyPihub2RlLT5jaGlsZDEoKS5ub2RlKCkpCi0gICAgICAg
ICAgICAgICAgJiYgIWlzV2l0aGluUG93ZXJPZlR3bzwyMj4obm9kZS0+Y2hpbGQyKCkubm9kZSgp
KSkKLSAgICAgICAgICAgICAgICBmbGFncyB8PSBOb2RlVXNlZEFzTnVtYmVyOwotICAgICAgICAg
ICAgCi0gICAgICAgICAgICBub2RlLT5tZXJnZUZsYWdzKGZsYWdzKTsKLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgZmxhZ3MgfD0gTm9kZVVzZWRBc051bWJlciB8IE5vZGVOZWVkc05lZ1plcm87
Ci0gICAgICAgICAgICBmbGFncyAmPSB+Tm9kZVVzZWRBc090aGVyOwotCi0gICAgICAgICAgICBu
b2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhmbGFncyk7Ci0gICAgICAgICAgICBub2RlLT5jaGls
ZDIoKS0+bWVyZ2VGbGFncyhmbGFncyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQot
ICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgQXJpdGhEaXY6IHsKLSAgICAgICAgICAgIGZsYWdz
IHw9IE5vZGVVc2VkQXNOdW1iZXIgfCBOb2RlTmVlZHNOZWdaZXJvOwotICAgICAgICAgICAgZmxh
Z3MgJj0gfk5vZGVVc2VkQXNPdGhlcjsKLQotICAgICAgICAgICAgbm9kZS0+Y2hpbGQxKCktPm1l
cmdlRmxhZ3MoZmxhZ3MpOwotICAgICAgICAgICAgbm9kZS0+Y2hpbGQyKCktPm1lcmdlRmxhZ3Mo
ZmxhZ3MpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgICAgIAotICAg
ICAgICBjYXNlIEFyaXRoTW9kOiB7Ci0gICAgICAgICAgICBmbGFncyB8PSBOb2RlVXNlZEFzTnVt
YmVyIHwgTm9kZU5lZWRzTmVnWmVybzsKLSAgICAgICAgICAgIGZsYWdzICY9IH5Ob2RlVXNlZEFz
T3RoZXI7Ci0KLSAgICAgICAgICAgIG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsK
LSAgICAgICAgICAgIG5vZGUtPmNoaWxkMigpLT5tZXJnZUZsYWdzKGZsYWdzKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgY2FzZSBHZXRCeVZh
bDogewotICAgICAgICAgICAgbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc1Zh
bHVlKTsKLSAgICAgICAgICAgIG5vZGUtPmNoaWxkMigpLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNO
dW1iZXIgfCBOb2RlVXNlZEFzT3RoZXIgfCBOb2RlVXNlZEFzSW50KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgY2FzZSBHZXRNeUFyZ3VtZW50
QnlWYWxTYWZlOiB7Ci0gICAgICAgICAgICBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhOb2Rl
VXNlZEFzTnVtYmVyIHwgTm9kZVVzZWRBc090aGVyIHwgTm9kZVVzZWRBc0ludCk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgTmV3QXJy
YXlXaXRoU2l6ZTogewotICAgICAgICAgICAgbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoTm9k
ZVVzZWRBc1ZhbHVlIHwgTm9kZVVzZWRBc0ludCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgU3RyaW5nQ2hhckF0OiB7Ci0gICAgICAg
ICAgICBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUpOwotICAgICAg
ICAgICAgbm9kZS0+Y2hpbGQyKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc1ZhbHVlIHwgTm9kZVVz
ZWRBc0ludCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAgICAgCi0g
ICAgICAgIGNhc2UgU3RyQ2F0OiB7Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGNoaWxkSWR4
ID0gbm9kZS0+Zmlyc3RDaGlsZCgpOwotICAgICAgICAgICAgICAgIGNoaWxkSWR4IDwgbm9kZS0+
Zmlyc3RDaGlsZCgpICsgbm9kZS0+bnVtQ2hpbGRyZW4oKTsKLSAgICAgICAgICAgICAgICArK2No
aWxkSWR4KQotICAgICAgICAgICAgICAgIG1fZ3JhcGgubV92YXJBcmdDaGlsZHJlbltjaGlsZElk
eF0tPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc051bWJlciB8IE5vZGVVc2VkQXNPdGhlcik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgVG9Q
cmltaXRpdmU6IHsKLSAgICAgICAgICAgIG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZsYWdz
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
Y2FzZSBQdXRCeVZhbDogewotICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAw
KS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUpOwotICAgICAgICAgICAgbV9ncmFwaC52YXJB
cmdDaGlsZChub2RlLCAxKS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzTnVtYmVyIHwgTm9kZVVzZWRB
c090aGVyIHwgTm9kZVVzZWRBc0ludCk7Ci0gICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxk
KG5vZGUsIDIpLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICBtZXJnZURlZmF1bHRGbGFncyhub2RlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
Ci0gICAgfQotICAgIAotICAgIGJvb2wgbV9hbGxvd05lc3RlZE92ZXJmbG93aW5nQWRkaXRpb25z
OwotfTsKLQotYm9vbCBwZXJmb3JtQmFja3dhcmRzUHJvcGFnYXRpb24oR3JhcGgmIGdyYXBoKQot
ewotICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgQmFja3dhcmRzIFByb3Bh
Z2F0aW9uIFBoYXNlIik7Ci0gICAgcmV0dXJuIHJ1blBoYXNlPEJhY2t3YXJkc1Byb3BhZ2F0aW9u
UGhhc2U+KGdyYXBoKTsKLX0KLQotfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwotCi0jZW5kaWYg
Ly8gRU5BQkxFKERGR19KSVQpCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDQzODY4NDY1N2Y2Yzg2MGE1YzEzNDVmMWY5MTA2ZDNhMDBkMDEwYjkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw0OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAot
ICovCi0KLSNpZm5kZWYgREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZV9oCi0jZGVmaW5lIERG
R0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2VfaAotCi0jaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+
Ci0KLSNpZiBFTkFCTEUoREZHX0pJVCkKLQotI2luY2x1ZGUgIkRGR0NvbW1vbi5oIgotCi1uYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7Ci0KLWNsYXNzIEdyYXBoOwotCi0vLyBJbmZlciBi
YXNpYyBpbmZvcm1hdGlvbiBhYm91dCBob3cgbm9kZXMgYXJlIHVzZWQgYnkgZG9pbmcgYSBibG9j
ay1sb2NhbAotLy8gYmFja3dhcmRzIGZsb3cgYW5hbHlzaXMuCi0KLWJvb2wgcGVyZm9ybUJhY2t3
YXJkc1Byb3BhZ2F0aW9uKEdyYXBoJik7Ci0KLX0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKLQot
I2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQotCi0jZW5kaWYgLy8gREZHQmFja3dhcmRzUHJvcGFn
YXRpb25QaGFzZV9oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q1BTUmV0aHJlYWRpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NQ
U1JldGhyZWFkaW5nUGhhc2UuY3BwCmluZGV4IGExMGZiZTg1M2JjNDNhZmU5NDQ3M2QxZTYyZDA1
ZTc1OWY5NmJkYjYuLjk2Y2UxODhmMjgxMzJmYTZhZmZlNjVjNmM5ZDM1MGQxZjg2OGU1ZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1BTUmV0aHJlYWRpbmdQaGFz
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDUFNSZXRocmVhZGluZ1Bo
YXNlLmNwcApAQCAtNDcsNyArNDcsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX2dyYXBoLm1f
Zm9ybSA9PSBUaHJlYWRlZENQUykKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
Ci0gICAgICAgIGNsZWFySXNMb2FkZWRGcm9tKCk7CiAgICAgICAgIGZyZWVVbm5lY2Vzc2FyeU5v
ZGVzKCk7CiAgICAgICAgIGNhbm9uaWNhbGl6ZUxvY2Fsc0luQmxvY2tzKCk7CiAgICAgICAgIHBy
b3BhZ2F0ZVBoaXM8TG9jYWxPcGVyYW5kPigpOwpAQCAtNTksMTIgKzU4LDYgQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIAotICAgIHZvaWQgY2xlYXJJc0xvYWRlZEZyb20oKQotICAgIHsKLSAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fZ3JhcGgubV92YXJpYWJsZUFjY2Vzc0Rh
dGEuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBtX2dyYXBoLm1fdmFyaWFibGVBY2Nlc3NEYXRh
W2ldLnNldElzTG9hZGVkRnJvbShmYWxzZSk7Ci0gICAgfQotICAgIAogICAgIHZvaWQgZnJlZVVu
bmVjZXNzYXJ5Tm9kZXMoKQogICAgIHsKICAgICAgICAgU2FtcGxpbmdSZWdpb24gc2FtcGxpbmdS
ZWdpb24oIkRGRyBDUFMgUmV0aHJlYWRpbmc6IGZyZWVVbm5lY2Vzc2FyeU5vZGVzIik7CkBAIC0x
NzcsMTQgKzE3MCwxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgQVNTRVJUKG90aGVyTm9kZS0+
dmFyaWFibGVBY2Nlc3NEYXRhKCkgPT0gdmFyaWFibGUpOwogICAgICAgICAgICAgCiAgICAgICAg
ICAgICBpZiAob3RoZXJOb2RlLT5vcCgpID09IFNldEFyZ3VtZW50KSB7Ci0gICAgICAgICAgICAg
ICAgdmFyaWFibGUtPnNldElzTG9hZGVkRnJvbSh0cnVlKTsKICAgICAgICAgICAgICAgICBub2Rl
LT5jaGlsZHJlbi5zZXRDaGlsZDEoRWRnZShvdGhlck5vZGUpKTsKICAgICAgICAgICAgICAgICBt
X2Jsb2NrLT52YXJpYWJsZXNBdFRhaWwuYXRGb3I8b3BlcmFuZEtpbmQ+KGlkeCkgPSBub2RlOwog
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAg
ICAgICAgICAgaWYgKHZhcmlhYmxlLT5pc0NhcHR1cmVkKCkpIHsKLSAgICAgICAgICAgICAgICB2
YXJpYWJsZS0+c2V0SXNMb2FkZWRGcm9tKHRydWUpOwogICAgICAgICAgICAgICAgIGlmIChvdGhl
ck5vZGUtPm9wKCkgPT0gR2V0TG9jYWwpCiAgICAgICAgICAgICAgICAgICAgIG90aGVyTm9kZSA9
IG90aGVyTm9kZS0+Y2hpbGQxKCkubm9kZSgpOwogICAgICAgICAgICAgICAgIGVsc2UKQEAgLTIw
OSw3ICsyMDAsNiBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAg
ICAgICAgIAotICAgICAgICB2YXJpYWJsZS0+c2V0SXNMb2FkZWRGcm9tKHRydWUpOwogICAgICAg
ICBOb2RlKiBwaGkgPSBhZGRQaGk8b3BlcmFuZEtpbmQ+KG5vZGUtPmNvZGVPcmlnaW4sIHZhcmlh
YmxlLCBpZHgpOwogICAgICAgICBub2RlLT5jaGlsZHJlbi5zZXRDaGlsZDEoRWRnZShwaGkpKTsK
ICAgICAgICAgbV9ibG9jay0+dmFyaWFibGVzQXRIZWFkLmF0Rm9yPG9wZXJhbmRLaW5kPihpZHgp
ID0gcGhpOwpAQCAtMjY2LDcgKzI1Niw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXJpYWJsZS0+
c2V0SXNMb2FkZWRGcm9tKHRydWUpOwogICAgICAgICAgICAgLy8gVGhlcmUgaXMgbm90aGluZyB3
cm9uZyB3aXRoIGhhdmluZyByZWR1bmRhbnQgRmx1c2gncy4gSXQganVzdCBuZWVkcyB0bwogICAg
ICAgICAgICAgLy8gYmUgbGlua2VkIGFwcHJvcHJpYXRlbHkuIE5vdGUgdGhhdCBpZiB0aGVyZSBo
YWQgYWxyZWFkeSBiZWVuIGEgcHJldmlvdXMKICAgICAgICAgICAgIC8vIHVzZSBhdCB0YWlsIHRo
ZW4gd2UgZG9uJ3Qgb3ZlcnJpZGUgaXQuIEl0J3MgZmluZSBmb3IgdmFyaWFibGVzQXRUYWlsIHRv
CkBAIC0yNzcsNyArMjY2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogICAgICAgICAKLSAgICAgICAgdmFyaWFibGUtPnNldElzTG9hZGVkRnJvbSh0cnVlKTsK
ICAgICAgICAgbm9kZS0+Y2hpbGRyZW4uc2V0Q2hpbGQxKEVkZ2UoYWRkUGhpPG9wZXJhbmRLaW5k
Pihub2RlLT5jb2RlT3JpZ2luLCB2YXJpYWJsZSwgaWR4KSkpOwogICAgICAgICBtX2Jsb2NrLT52
YXJpYWJsZXNBdEhlYWQuYXRGb3I8b3BlcmFuZEtpbmQ+KGlkeCkgPSBub2RlOwogICAgICAgICBt
X2Jsb2NrLT52YXJpYWJsZXNBdFRhaWwuYXRGb3I8b3BlcmFuZEtpbmQ+KGlkeCkgPSBub2RlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCmluZGV4IDc2MjM0MTJhZmFiNGY5
ZTQyY2I3YzlhOTJkODZmNDU5MWIwNWE0NDIuLmM5MmRhNDA2YzYxMzFiOThiZjJkMmUyZjk2YjMx
M2UyYzE5NGRiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJp
dmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAKQEAg
LTMzLDcgKzMzLDYgQEAKICNpZiBFTkFCTEUoREZHX0pJVCkKIAogI2luY2x1ZGUgIkRGR0FyZ3Vt
ZW50c1NpbXBsaWZpY2F0aW9uUGhhc2UuaCIKLSNpbmNsdWRlICJERkdCYWNrd2FyZHNQcm9wYWdh
dGlvblBoYXNlLmgiCiAjaW5jbHVkZSAiREZHQnl0ZUNvZGVQYXJzZXIuaCIKICNpbmNsdWRlICJE
RkdDRkFQaGFzZS5oIgogI2luY2x1ZGUgIkRGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuaCIKQEAg
LTEyMyw3ICsxMjIsNiBAQCBpbmxpbmUgYm9vbCBjb21waWxlKENvbXBpbGVNb2RlIGNvbXBpbGVN
b2RlLCBFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsbwogICAgIGlmICh2YWxpZGF0
aW9uRW5hYmxlZCgpKQogICAgICAgICB2YWxpZGF0ZShkZmcpOwogICAgIAotICAgIHBlcmZvcm1C
YWNrd2FyZHNQcm9wYWdhdGlvbihkZmcpOwogICAgIHBlcmZvcm1QcmVkaWN0aW9uUHJvcGFnYXRp
b24oZGZnKTsKICAgICBwZXJmb3JtRml4dXAoZGZnKTsKICAgICBwZXJmb3JtU3RydWN0dXJlQ2hl
Y2tIb2lzdGluZyhkZmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHcmFwaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAppbmRl
eCBhYWY5Zjg1N2E2YmZjNmViMjk4ODgwZjM1ZmMzMmFhMGZjMTA5ZTdmLi43ZmJiNTI2YWU4MTdj
YjUyMGM3NTA2YzhkNmVkYmMxNTA3MDdkZGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0dyYXBoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0dyYXBoLmNwcApAQCAtMTc5LDggKzE3OSw4IEBAIHZvaWQgR3JhcGg6OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCwgY29uc3QgY2hhciogcHJlZml4LCBOb2RlKiBub2RlKQogICAgICAgICAgICAgb3V0
LnByaW50KGNvbW1hLCBub2RlLT5jaGlsZDMoKSk7CiAgICAgfQogCi0gICAgaWYgKHRvQ1N0cmlu
ZyhOb2RlRmxhZ3NEdW1wKG5vZGUtPmZsYWdzKCkpKSAhPSAiPGVtcHR5PiIpCi0gICAgICAgIG91
dC5wcmludChjb21tYSwgTm9kZUZsYWdzRHVtcChub2RlLT5mbGFncygpKSk7CisgICAgaWYgKHN0
cmxlbihub2RlRmxhZ3NBc1N0cmluZyhub2RlLT5mbGFncygpKSkpCisgICAgICAgIG91dC5wcmlu
dChjb21tYSwgbm9kZUZsYWdzQXNTdHJpbmcobm9kZS0+ZmxhZ3MoKSkpOwogICAgIGlmIChub2Rl
LT5oYXNBcnJheU1vZGUoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCBub2RlLT5hcnJheU1v
ZGUoKSk7CiAgICAgaWYgKG5vZGUtPmhhc1Zhck51bWJlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlRmxhZ3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlRmxhZ3MuY3BwCmluZGV4IGM1NzUzZDIwNzdjM2YyYjcyYTg5OGVjOGEw
ZTY4ZDExYWVkNjBmOTcuLmE2MDUxMTM3NWM0NmM4MDNhNzY5MDE4YTYzYmUzOTFkM2Q1YzhiZjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsYWdzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVGbGFncy5jcHAKQEAgLTI4LDgx
ICsyOCwxMzkgQEAKIAogI2lmIEVOQUJMRShERkdfSklUKQogCi0jaW5jbHVkZSA8d3RmL0NvbW1h
UHJpbnRlci5oPgorI2luY2x1ZGUgPHd0Zi9Cb3VuZHNDaGVja2VkUG9pbnRlci5oPgogCiBuYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKLXZvaWQgZHVtcE5vZGVGbGFncyhQcmludFN0
cmVhbSYgb3V0LCBOb2RlRmxhZ3MgZmxhZ3MpCitjb25zdCBjaGFyKiBub2RlRmxhZ3NBc1N0cmlu
ZyhOb2RlRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgaWYgKCEoZmxhZ3MgXiBOb2RlRG9lc05vdEV4aXQp
KSB7Ci0gICAgICAgIG91dC5wcmludCgiPGVtcHR5PiIpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQorICAgIGlmICghKGZsYWdzIF4gTm9kZURvZXNOb3RFeGl0KSkKKyAgICAgICAgcmV0dXJuICI8
ZW1wdHk+IjsKIAotICAgIENvbW1hUHJpbnRlciBjb21tYSgifCIpOworICAgIHN0YXRpYyBjb25z
dCBpbnQgc2l6ZSA9IDEyODsKKyAgICBzdGF0aWMgY2hhciBkZXNjcmlwdGlvbltzaXplXTsKKyAg
ICBCb3VuZHNDaGVja2VkUG9pbnRlcjxjaGFyPiBwdHIoZGVzY3JpcHRpb24sIHNpemUpOworICAg
IAorICAgIGJvb2wgaGFzUHJpbnRlZCA9IGZhbHNlOwogICAgIAogICAgIGlmIChmbGFncyAmIE5v
ZGVSZXN1bHRNYXNrKSB7CiAgICAgICAgIHN3aXRjaCAoZmxhZ3MgJiBOb2RlUmVzdWx0TWFzaykg
ewogICAgICAgICBjYXNlIE5vZGVSZXN1bHRKUzoKLSAgICAgICAgICAgIG91dC5wcmludChjb21t
YSwgIkpTIik7CisgICAgICAgICAgICBwdHIuc3RyY2F0KCJKUyIpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgTm9kZVJlc3VsdE51bWJlcjoKLSAgICAgICAgICAgIG91dC5wcmlu
dChjb21tYSwgIk51bWJlciIpOworICAgICAgICAgICAgcHRyLnN0cmNhdCgiTnVtYmVyIik7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBOb2RlUmVzdWx0SW50MzI6Ci0gICAgICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJJbnQzMiIpOworICAgICAgICAgICAgcHRyLnN0cmNhdCgi
SW50MzIiKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5vZGVSZXN1bHRCb29s
ZWFuOgotICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiQm9vbGVhbiIpOworICAgICAgICAg
ICAgcHRyLnN0cmNhdCgiQm9vbGVhbiIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgTm9kZVJlc3VsdFN0b3JhZ2U6Ci0gICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICJTdG9y
YWdlIik7CisgICAgICAgICAgICBwdHIuc3RyY2F0KCJTdG9yYWdlIik7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICBoYXNQcmlu
dGVkID0gdHJ1ZTsKICAgICB9CiAgICAgCi0gICAgaWYgKGZsYWdzICYgTm9kZU11c3RHZW5lcmF0
ZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiTXVzdEdlbiIpOworICAgIGlmIChmbGFncyAm
IE5vZGVNdXN0R2VuZXJhdGUpIHsKKyAgICAgICAgaWYgKGhhc1ByaW50ZWQpCisgICAgICAgICAg
ICBwdHIuc3RyY2F0KCJ8Iik7CisgICAgICAgIHB0ci5zdHJjYXQoIk11c3RHZW4iKTsKKyAgICAg
ICAgaGFzUHJpbnRlZCA9IHRydWU7CisgICAgfQogICAgIAotICAgIGlmIChmbGFncyAmIE5vZGVI
YXNWYXJBcmdzKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJWYXJBcmdzIik7CisgICAgaWYg
KGZsYWdzICYgTm9kZUhhc1ZhckFyZ3MpIHsKKyAgICAgICAgaWYgKGhhc1ByaW50ZWQpCisgICAg
ICAgICAgICBwdHIuc3RyY2F0KCJ8Iik7CisgICAgICAgIHB0ci5zdHJjYXQoIlZhckFyZ3MiKTsK
KyAgICAgICAgaGFzUHJpbnRlZCA9IHRydWU7CisgICAgfQogICAgIAotICAgIGlmIChmbGFncyAm
IE5vZGVDbG9iYmVyc1dvcmxkKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJDbG9iYmVycyIp
OworICAgIGlmIChmbGFncyAmIE5vZGVDbG9iYmVyc1dvcmxkKSB7CisgICAgICAgIGlmIChoYXNQ
cmludGVkKQorICAgICAgICAgICAgcHRyLnN0cmNhdCgifCIpOworICAgICAgICBwdHIuc3RyY2F0
KCJDbG9iYmVycyIpOworICAgICAgICBoYXNQcmludGVkID0gdHJ1ZTsKKyAgICB9CiAgICAgCi0g
ICAgaWYgKGZsYWdzICYgTm9kZU1pZ2h0Q2xvYmJlcikKLSAgICAgICAgb3V0LnByaW50KGNvbW1h
LCAiTWlnaHRDbG9iYmVyIik7CisgICAgaWYgKGZsYWdzICYgTm9kZU1pZ2h0Q2xvYmJlcikgewor
ICAgICAgICBpZiAoaGFzUHJpbnRlZCkKKyAgICAgICAgICAgIHB0ci5zdHJjYXQoInwiKTsKKyAg
ICAgICAgcHRyLnN0cmNhdCgiTWlnaHRDbG9iYmVyIik7CisgICAgICAgIGhhc1ByaW50ZWQgPSB0
cnVlOworICAgIH0KICAgICAKICAgICBpZiAoZmxhZ3MgJiBOb2RlUmVzdWx0TWFzaykgewotICAg
ICAgICBpZiAoIShmbGFncyAmIE5vZGVVc2VkQXNOdW1iZXIpICYmICEoZmxhZ3MgJiBOb2RlTmVl
ZHNOZWdaZXJvKSkKLSAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgIlB1cmVJbnQiKTsKLSAg
ICAgICAgZWxzZSBpZiAoIShmbGFncyAmIE5vZGVVc2VkQXNOdW1iZXIpKQotICAgICAgICAgICAg
b3V0LnByaW50KGNvbW1hLCAiUHVyZUludCh3LyBuZWcgemVybykiKTsKLSAgICAgICAgZWxzZSBp
ZiAoIShmbGFncyAmIE5vZGVOZWVkc05lZ1plcm8pKQotICAgICAgICAgICAgb3V0LnByaW50KGNv
bW1hLCAiUHVyZU51bSIpOwotICAgICAgICBpZiAoZmxhZ3MgJiBOb2RlVXNlZEFzT3RoZXIpCi0g
ICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICJVc2VBc090aGVyIik7CisgICAgICAgIGlmICgh
KGZsYWdzICYgTm9kZVVzZWRBc051bWJlcikgJiYgIShmbGFncyAmIE5vZGVOZWVkc05lZ1plcm8p
KSB7CisgICAgICAgICAgICBpZiAoaGFzUHJpbnRlZCkKKyAgICAgICAgICAgICAgICBwdHIuc3Ry
Y2F0KCJ8Iik7CisgICAgICAgICAgICBwdHIuc3RyY2F0KCJQdXJlSW50Iik7CisgICAgICAgICAg
ICBoYXNQcmludGVkID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIGlmICghKGZsYWdzICYgTm9kZVVz
ZWRBc051bWJlcikpIHsKKyAgICAgICAgICAgIGlmIChoYXNQcmludGVkKQorICAgICAgICAgICAg
ICAgIHB0ci5zdHJjYXQoInwiKTsKKyAgICAgICAgICAgIHB0ci5zdHJjYXQoIlB1cmVJbnQody8g
bmVnIHplcm8pIik7CisgICAgICAgICAgICBoYXNQcmludGVkID0gdHJ1ZTsKKyAgICAgICAgfSBl
bHNlIGlmICghKGZsYWdzICYgTm9kZU5lZWRzTmVnWmVybykpIHsKKyAgICAgICAgICAgIGlmICho
YXNQcmludGVkKQorICAgICAgICAgICAgICAgIHB0ci5zdHJjYXQoInwiKTsKKyAgICAgICAgICAg
IHB0ci5zdHJjYXQoIlB1cmVOdW0iKTsKKyAgICAgICAgICAgIGhhc1ByaW50ZWQgPSB0cnVlOwor
ICAgICAgICB9CisgICAgICAgIGlmIChmbGFncyAmIE5vZGVVc2VkQXNPdGhlcikgeworICAgICAg
ICAgICAgaWYgKGhhc1ByaW50ZWQpCisgICAgICAgICAgICAgICAgcHRyLnN0cmNhdCgifCIpOwor
ICAgICAgICAgICAgcHRyLnN0cmNhdCgiVXNlQXNPdGhlciIpOworICAgICAgICAgICAgaGFzUHJp
bnRlZCA9IHRydWU7CisgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgaWYgKGZsYWdzICYgTm9k
ZU1heU92ZXJmbG93KQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJNYXlPdmVyZmxvdyIpOwor
ICAgIGlmIChmbGFncyAmIE5vZGVNYXlPdmVyZmxvdykgeworICAgICAgICBpZiAoaGFzUHJpbnRl
ZCkKKyAgICAgICAgICAgIHB0ci5zdHJjYXQoInwiKTsKKyAgICAgICAgcHRyLnN0cmNhdCgiTWF5
T3ZlcmZsb3ciKTsKKyAgICAgICAgaGFzUHJpbnRlZCA9IHRydWU7CisgICAgfQorICAgIAorICAg
IGlmIChmbGFncyAmIE5vZGVNYXlOZWdaZXJvKSB7CisgICAgICAgIGlmIChoYXNQcmludGVkKQor
ICAgICAgICAgICAgcHRyLnN0cmNhdCgifCIpOworICAgICAgICBwdHIuc3RyY2F0KCJNYXlOZWda
ZXJvIik7CisgICAgICAgIGhhc1ByaW50ZWQgPSB0cnVlOworICAgIH0KKyAgICAKKyAgICBpZiAo
ZmxhZ3MgJiBOb2RlVXNlZEFzSW50KSB7CisgICAgICAgIGlmIChoYXNQcmludGVkKQorICAgICAg
ICAgICAgcHRyLnN0cmNhdCgifCIpOworICAgICAgICBwdHIuc3RyY2F0KCJVc2VBc0ludCIpOwor
ICAgICAgICBoYXNQcmludGVkID0gdHJ1ZTsKKyAgICB9CiAgICAgCi0gICAgaWYgKGZsYWdzICYg
Tm9kZU1heU5lZ1plcm8pCi0gICAgICAgIG91dC5wcmludChjb21tYSwgIk1heU5lZ1plcm8iKTsK
KyAgICBpZiAoIShmbGFncyAmIE5vZGVEb2VzTm90RXhpdCkpIHsKKyAgICAgICAgaWYgKGhhc1By
aW50ZWQpCisgICAgICAgICAgICBwdHIuc3RyY2F0KCJ8Iik7CisgICAgICAgIHB0ci5zdHJjYXQo
IkNhbkV4aXQiKTsKKyAgICAgICAgaGFzUHJpbnRlZCA9IHRydWU7CisgICAgfQogICAgIAotICAg
IGlmIChmbGFncyAmIE5vZGVVc2VkQXNJbnQpCi0gICAgICAgIG91dC5wcmludChjb21tYSwgIlVz
ZUFzSW50Iik7CisgICAgaWYgKGZsYWdzICYgTm9kZUV4aXRzRm9yd2FyZCkgeworICAgICAgICBp
ZiAoaGFzUHJpbnRlZCkKKyAgICAgICAgICAgIHB0ci5zdHJjYXQoInwiKTsKKyAgICAgICAgcHRy
LnN0cmNhdCgiTm9kZUV4aXRzRm9yd2FyZCIpOworICAgICAgICBoYXNQcmludGVkID0gdHJ1ZTsK
KyAgICB9CiAgICAgCi0gICAgaWYgKCEoZmxhZ3MgJiBOb2RlRG9lc05vdEV4aXQpKQotICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJDYW5FeGl0Iik7CisgICAgKnB0cisrID0gMDsKICAgICAKLSAg
ICBpZiAoZmxhZ3MgJiBOb2RlRXhpdHNGb3J3YXJkKQotICAgICAgICBvdXQucHJpbnQoY29tbWEs
ICJOb2RlRXhpdHNGb3J3YXJkIik7CisgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogfQogCisKIH0g
fSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKIAogI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlRmxhZ3MuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsYWdzLmgKaW5kZXggOTI2ZjM3MTUwZjJjZjhj
Nzg1NTk3ZDMzZmExMjMwZTVmMzc4OGYyNy4uYjM1MmQxNmM1ZGE4ODVhN2U4YjhhODU4OGViNDAw
Zjc1OGE3NzNiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
RmxhZ3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVGbGFncy5oCkBA
IC0zMCw3ICszMCw2IEBACiAKICNpZiBFTkFCTEUoREZHX0pJVCkKIAotI2luY2x1ZGUgPHd0Zi9Q
cmludFN0cmVhbS5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNwYWNl
IEpTQyB7IG5hbWVzcGFjZSBERkcgewpAQCAtNjAsMTQgKzU5LDE1IEBAIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgREZHIHsKICNkZWZpbmUgTm9kZVVzZWRBc090aGVyICAgICAgICAgIDB4MDgw
MCAvLyBUaGUgcmVzdWx0IG9mIHRoaXMgY29tcHV0YXRpb24gbWF5IGJlIHVzZWQgaW4gYSBjb250
ZXh0IHRoYXQgZGlzdGluZ3Vpc2hlcyBiZXR3ZWVuIE5hTiBhbmQgb3RoZXIgdGhpbmdzIChsaWtl
IHVuZGVmaW5lZCkuCiAjZGVmaW5lIE5vZGVVc2VkQXNWYWx1ZSAgICAgICAgICAoTm9kZVVzZWRB
c051bWJlciB8IE5vZGVOZWVkc05lZ1plcm8gfCBOb2RlVXNlZEFzT3RoZXIpCiAjZGVmaW5lIE5v
ZGVVc2VkQXNJbnQgICAgICAgICAgICAweDEwMDAgLy8gVGhlIHJlc3VsdCBvZiB0aGlzIGNvbXB1
dGF0aW9uIGlzIGtub3duIHRvIGJlIHVzZWQgaW4gYSBjb250ZXh0IHRoYXQgcHJlZmVycywgYnV0
IGRvZXMgbm90IHJlcXVpcmUsIGludGVnZXIgdmFsdWVzLgorI2RlZmluZSBOb2RlVXNlZEFzSW50
TG9jYWxseSAgICAgMHgyMDAwIC8vIFNhbWUgYXMgTm9kZVVzZWRBc0ludCwgYnV0IHdpdGhpbiB0
aGUgc2FtZSBiYXNpYyBibG9jay4KIAogI2RlZmluZSBOb2RlQXJpdGhGbGFnc01hc2sgICAgICAg
KE5vZGVCZWhhdmlvck1hc2sgfCBOb2RlQmFja1Byb3BNYXNrKQogCi0jZGVmaW5lIE5vZGVEb2Vz
Tm90RXhpdCAgICAgICAgICAweDIwMDAgLy8gVGhpcyBmbGFnIGlzIG5lZ2F0ZWQgdG8gbWFrZSBp
dCBuYXR1cmFsIGZvciB0aGUgZGVmYXVsdCB0byBiZSB0aGF0IGEgbm9kZSBkb2VzIGV4aXQuCisj
ZGVmaW5lIE5vZGVEb2VzTm90RXhpdCAgICAgICAgICAweDQwMDAgLy8gVGhpcyBmbGFnIGlzIG5l
Z2F0ZWQgdG8gbWFrZSBpdCBuYXR1cmFsIGZvciB0aGUgZGVmYXVsdCB0byBiZSB0aGF0IGEgbm9k
ZSBkb2VzIGV4aXQuCiAKLSNkZWZpbmUgTm9kZVJlbGV2YW50VG9PU1IgICAgICAgIDB4NDAwMAor
I2RlZmluZSBOb2RlUmVsZXZhbnRUb09TUiAgICAgICAgMHg4MDAwCiAKLSNkZWZpbmUgTm9kZUV4
aXRzRm9yd2FyZCAgICAgICAgIDB4ODAwMAorI2RlZmluZSBOb2RlRXhpdHNGb3J3YXJkICAgICAg
ICAweDEwMDAwCiAKIHR5cGVkZWYgdWludDMyX3QgTm9kZUZsYWdzOwogCkBAIC0xMDIsOCArMTAy
LDcgQEAgc3RhdGljIGlubGluZSBib29sIG5vZGVDYW5TcGVjdWxhdGVJbnRlZ2VyKE5vZGVGbGFn
cyBmbGFncykKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBkdW1wTm9kZUZsYWdzKFByaW50
U3RyZWFtJiwgTm9kZUZsYWdzKTsKLU1BS0VfUFJJTlRfQURBUFRPUihOb2RlRmxhZ3NEdW1wLCBO
b2RlRmxhZ3MsIGR1bXBOb2RlRmxhZ3MpOworY29uc3QgY2hhciogbm9kZUZsYWdzQXNTdHJpbmco
Tm9kZUZsYWdzKTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhh
c2UuY3BwCmluZGV4IGMwNDEzNjE3MzI2NjNjOGZjOTAzNDE3NGQ3MTk2NWI0M2I2Nzk5Y2UuLmU1
YjU5MjUyYjdkOWI5MjYxMmVkOWViOGNmNWZjODMzYTcwYzU3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhh
c2UuY3BwCkBAIC0xMDYsNiArMTA2LDY1IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX2N1
cnJlbnROb2RlLT5wcmVkaWN0KHByZWRpY3Rpb24pOwogICAgIH0KICAgICAKKyAgICBib29sIGlz
Tm90TmVnWmVybyhOb2RlKiBub2RlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2dyYXBoLmlzTnVt
YmVyQ29uc3RhbnQobm9kZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGRv
dWJsZSB2YWx1ZSA9IG1fZ3JhcGgudmFsdWVPZk51bWJlckNvbnN0YW50KG5vZGUpOworICAgICAg
ICByZXR1cm4gIXZhbHVlICYmIDEuMCAvIHZhbHVlIDwgMC4wOworICAgIH0KKyAgICAKKyAgICBi
b29sIGlzTm90WmVybyhOb2RlKiBub2RlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2dyYXBoLmlz
TnVtYmVyQ29uc3RhbnQobm9kZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHJldHVybiAhIW1fZ3JhcGgudmFsdWVPZk51bWJlckNvbnN0YW50KG5vZGUpOworICAgIH0KKyAg
ICAKKyAgICBib29sIGlzV2l0aGluUG93ZXJPZlR3b0ZvckNvbnN0YW50KE5vZGUqIG5vZGUsIGlu
dCBwb3dlcikKKyAgICB7CisgICAgICAgIEpTVmFsdWUgaW1tZWRpYXRlVmFsdWUgPSBub2RlLT52
YWx1ZU9mSlNDb25zdGFudChjb2RlQmxvY2soKSk7CisgICAgICAgIGlmICghaW1tZWRpYXRlVmFs
dWUuaXNJbnQzMigpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpbnQzMl90
IGludEltbWVkaWF0ZSA9IGltbWVkaWF0ZVZhbHVlLmFzSW50MzIoKTsKKyAgICAgICAgcmV0dXJu
IGludEltbWVkaWF0ZSA+IC0oMSA8PCBwb3dlcikgJiYgaW50SW1tZWRpYXRlIDwgKDEgPDwgcG93
ZXIpOworICAgIH0KKyAgICAKKyAgICBib29sIGlzV2l0aGluUG93ZXJPZlR3b05vblJlY3Vyc2l2
ZShOb2RlKiBub2RlLCBpbnQgcG93ZXIpCisgICAgeworICAgICAgICBpZiAobm9kZS0+b3AoKSAh
PSBKU0NvbnN0YW50KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4g
aXNXaXRoaW5Qb3dlck9mVHdvRm9yQ29uc3RhbnQobm9kZSwgcG93ZXIpOworICAgIH0KKyAgICAK
KyAgICBib29sIGlzV2l0aGluUG93ZXJPZlR3byhOb2RlKiBub2RlLCBpbnQgcG93ZXIpCisgICAg
eworICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgY2FzZSBKU0NvbnN0YW50
OiB7CisgICAgICAgICAgICByZXR1cm4gaXNXaXRoaW5Qb3dlck9mVHdvRm9yQ29uc3RhbnQobm9k
ZSwgcG93ZXIpOworICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBCaXRBbmQ6
IHsKKyAgICAgICAgICAgIHJldHVybiBpc1dpdGhpblBvd2VyT2ZUd29Ob25SZWN1cnNpdmUobm9k
ZS0+Y2hpbGQxKCkubm9kZSgpLCBwb3dlcikKKyAgICAgICAgICAgICAgICB8fCBpc1dpdGhpblBv
d2VyT2ZUd29Ob25SZWN1cnNpdmUobm9kZS0+Y2hpbGQyKCkubm9kZSgpLCBwb3dlcik7CisgICAg
ICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIEJpdFJTaGlmdDoKKyAgICAgICAgY2Fz
ZSBCaXRVUlNoaWZ0OiB7CisgICAgICAgICAgICBOb2RlKiBzaGlmdEFtb3VudCA9IG5vZGUtPmNo
aWxkMigpLm5vZGUoKTsKKyAgICAgICAgICAgIGlmIChzaGlmdEFtb3VudC0+b3AoKSAhPSBKU0Nv
bnN0YW50KQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIEpTVmFs
dWUgaW1tZWRpYXRlVmFsdWUgPSBzaGlmdEFtb3VudC0+dmFsdWVPZkpTQ29uc3RhbnQoY29kZUJs
b2NrKCkpOworICAgICAgICAgICAgaWYgKCFpbW1lZGlhdGVWYWx1ZS5pc0ludDMyKCkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuIGltbWVkaWF0ZVZh
bHVlID4gMzIgLSBwb3dlcjsKKyAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKICAgICBT
cGVjdWxhdGVkVHlwZSBzcGVjdWxhdGVkRG91YmxlVHlwZUZvclByZWRpY3Rpb24oU3BlY3VsYXRl
ZFR5cGUgdmFsdWUpCiAgICAgewogICAgICAgICBpZiAoIWlzTnVtYmVyU3BlY3VsYXRpb24odmFs
dWUpKQpAQCAtMTIzLDkgKzE4MiwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvcGFnYXRlKE5v
ZGUqIG5vZGUpCiAgICAgewogICAgICAgICBOb2RlVHlwZSBvcCA9IG5vZGUtPm9wKCk7CisgICAg
ICAgIE5vZGVGbGFncyBmbGFncyA9IG5vZGUtPmZsYWdzKCkgJiBOb2RlQmFja1Byb3BNYXNrOwog
CiAjaWYgREZHX0VOQUJMRShERUJVR19QUk9QQUdBVElPTl9WRVJCT1NFKQotICAgICAgICBkYXRh
TG9nKCIgICAiLCBHcmFwaDo6b3BOYW1lKG9wKSwgIiAiLCBtX2N1cnJlbnROb2RlLCAiOiAiLCBO
b2RlRmxhZ3NEdW1wKG5vZGUtPmZsYWdzKCkpLCAiICIpOworICAgICAgICBkYXRhTG9nKCIgICAi
LCBHcmFwaDo6b3BOYW1lKG9wKSwgIiAiLCBtX2N1cnJlbnROb2RlLCAiOiAiLCBub2RlRmxhZ3NB
c1N0cmluZyhmbGFncyksICIgIik7CiAjZW5kaWYKICAgICAgICAgCiAgICAgICAgIGJvb2wgY2hh
bmdlZCA9IGZhbHNlOwpAQCAtMTQyLDEyICsyMDIsMjkgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IFNwZWN1bGF0ZWRUeXBlIHByZWRpY3Rpb24gPSB2YXJpYWJsZUFjY2Vzc0RhdGEtPnByZWRpY3Rp
b24oKTsKICAgICAgICAgICAgIGlmIChwcmVkaWN0aW9uKQogICAgICAgICAgICAgICAgIGNoYW5n
ZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKHByZWRpY3Rpb24pOworICAgICAgICAgICAgCisgICAgICAg
ICAgICAvLyBBc3N1bWUgY29uc2VydmF0aXZlbHkgdGhhdCBhIFNldExvY2FsIGltcGxpZXMgdGhh
dCB0aGUgdmFsdWUgbWF5IGZsb3cgdGhyb3VnaCBhIGxvb3AsCisgICAgICAgICAgICAvLyBhbmQg
c28gd2Ugd291bGQgaGF2ZSBvdmVyZmxvdyBsZWFkaW5nIHRvIHRoZSBwcm9ncmFtICJvYnNlcnZp
bmciIG51bWJlcnMgZXZlbiBpZiBhbGwKKyAgICAgICAgICAgIC8vIHVzZXJzIG9mIHRoZSB2YWx1
ZSBhcmUgZG9pbmcgdG9JbnQzMi4gSXQgbWlnaHQgYmUgd29ydGh3aGlsZSB0byByZXZpc2l0IHRo
aXMgYXQgc29tZQorICAgICAgICAgICAgLy8gcG9pbnQgYW5kIGFjdHVhbGx5IGNoZWNrIGlmIHRo
ZSBkYXRhIGZsb3cgaW52b2x2ZXMgbG9vcHMsIGJ1dCByaWdodCBub3cgSSBkb24ndCB0aGluawor
ICAgICAgICAgICAgLy8gd2UgaGF2ZSBldmlkZW5jZSB0aGF0IHRoaXMgd291bGQgYmUgYmVuZWZp
Y2lhbCBmb3IgYmVuY2htYXJrcy4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY2hhbmdlZCB8
PSB2YXJpYWJsZUFjY2Vzc0RhdGEtPm1lcmdlRmxhZ3MoKGZsYWdzICYgfk5vZGVVc2VkQXNJbnRM
b2NhbGx5KSB8IE5vZGVVc2VkQXNOdW1iZXIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KICAgICAgICAgICAgIAogICAgICAgICBjYXNlIFNldExvY2FsOiB7CiAgICAgICAgICAgICBW
YXJpYWJsZUFjY2Vzc0RhdGEqIHZhcmlhYmxlQWNjZXNzRGF0YSA9IG5vZGUtPnZhcmlhYmxlQWNj
ZXNzRGF0YSgpOwogICAgICAgICAgICAgY2hhbmdlZCB8PSB2YXJpYWJsZUFjY2Vzc0RhdGEtPnBy
ZWRpY3Qobm9kZS0+Y2hpbGQxKCktPnByZWRpY3Rpb24oKSk7CisKKyAgICAgICAgICAgIGNoYW5n
ZWQgfD0gbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3ModmFyaWFibGVBY2Nlc3NEYXRhLT5mbGFn
cygpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAg
ICAgY2FzZSBGbHVzaDogeworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGFuYWx5
c2lzIGtub3dzIHRoYXQgZmx1c2hlZCBsb2NhbHMgZXNjYXBlLgorICAgICAgICAgICAgVmFyaWFi
bGVBY2Nlc3NEYXRhKiB2YXJpYWJsZUFjY2Vzc0RhdGEgPSBub2RlLT52YXJpYWJsZUFjY2Vzc0Rh
dGEoKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gdmFyaWFibGVBY2Nlc3NEYXRhLT5tZXJnZUZs
YWdzKE5vZGVVc2VkQXNWYWx1ZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAg
ICAgICAgICAgCkBAIC0xNTgsMzYgKzIzNSw0NSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEJp
dExTaGlmdDoKICAgICAgICAgY2FzZSBCaXRVUlNoaWZ0OiB7CiAgICAgICAgICAgICBjaGFuZ2Vk
IHw9IHNldFByZWRpY3Rpb24oU3BlY0ludDMyKTsKKyAgICAgICAgICAgIGZsYWdzIHw9IE5vZGVV
c2VkQXNJbnQgfCBOb2RlVXNlZEFzSW50TG9jYWxseTsKKyAgICAgICAgICAgIGZsYWdzICY9IH4o
Tm9kZVVzZWRBc051bWJlciB8IE5vZGVOZWVkc05lZ1plcm8gfCBOb2RlVXNlZEFzT3RoZXIpOwor
ICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhmbGFncyk7
CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxkMigpLT5tZXJnZUZsYWdzKGZsYWdz
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAg
Y2FzZSBWYWx1ZVRvSW50MzI6IHsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlv
bihTcGVjSW50MzIpOworICAgICAgICAgICAgZmxhZ3MgfD0gTm9kZVVzZWRBc0ludCB8IE5vZGVV
c2VkQXNJbnRMb2NhbGx5OworICAgICAgICAgICAgZmxhZ3MgJj0gfihOb2RlVXNlZEFzTnVtYmVy
IHwgTm9kZU5lZWRzTmVnWmVybyB8IE5vZGVVc2VkQXNPdGhlcik7CisgICAgICAgICAgICBjaGFu
Z2VkIHw9IG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgY2FzZSBBcnJheVBvcDoKLSAg
ICAgICAgY2FzZSBBcnJheVB1c2g6CisgICAgICAgIGNhc2UgQXJyYXlQb3A6IHsKKyAgICAgICAg
ICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKG5vZGUtPmdldEhlYXBQcmVkaWN0aW9uKCkp
OworICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZURlZmF1bHRGbGFncyhub2RlKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBBcnJheVB1c2g6IHsKKyAg
ICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKG5vZGUtPmdldEhlYXBQcmVkaWN0
aW9uKCkpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFn
cyhOb2RlVXNlZEFzVmFsdWUpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDIo
KS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKwogICAgICAgICBjYXNlIFJlZ0V4cEV4ZWM6Ci0gICAgICAgIGNhc2UgUmVnRXhwVGVz
dDoKLSAgICAgICAgY2FzZSBHZXRCeUlkOgotICAgICAgICBjYXNlIEdldEJ5SWRGbHVzaDoKLSAg
ICAgICAgY2FzZSBHZXRNeUFyZ3VtZW50QnlWYWxTYWZlOgotICAgICAgICBjYXNlIEdldEJ5T2Zm
c2V0OgotICAgICAgICBjYXNlIENhbGw6Ci0gICAgICAgIGNhc2UgQ29uc3RydWN0OgotICAgICAg
ICBjYXNlIEdldEdsb2JhbFZhcjoKLSAgICAgICAgY2FzZSBHZXRTY29wZWRWYXI6Ci0gICAgICAg
IGNhc2UgUmVzb2x2ZToKLSAgICAgICAgY2FzZSBSZXNvbHZlQmFzZToKLSAgICAgICAgY2FzZSBS
ZXNvbHZlQmFzZVN0cmljdFB1dDoKLSAgICAgICAgY2FzZSBSZXNvbHZlR2xvYmFsOiB7Ci0gICAg
ICAgICAgICBjaGFuZ2VkIHw9IHNldFByZWRpY3Rpb24obm9kZS0+Z2V0SGVhcFByZWRpY3Rpb24o
KSk7CisgICAgICAgIGNhc2UgUmVnRXhwVGVzdDogeworICAgICAgICAgICAgY2hhbmdlZCB8PSBt
ZXJnZVByZWRpY3Rpb24obm9kZS0+Z2V0SGVhcFByZWRpY3Rpb24oKSk7CisgICAgICAgICAgICBj
aGFuZ2VkIHw9IG1lcmdlRGVmYXVsdEZsYWdzKG5vZGUpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KIAogICAgICAgICBjYXNlIFN0cmluZ0NoYXJDb2RlQXQ6IHsKLSAgICAgICAgICAg
IGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjSW50MzIpOworICAgICAgICAgICAgY2hhbmdl
ZCB8PSBtZXJnZVByZWRpY3Rpb24oU3BlY0ludDMyKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0g
bm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc1ZhbHVlKTsKKyAgICAgICAgICAg
IGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQyKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc051bWJlciB8
IE5vZGVVc2VkQXNPdGhlciB8IE5vZGVVc2VkQXNJbnQgfCBOb2RlVXNlZEFzSW50TG9jYWxseSk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC0xOTYsNiArMjgyLDggQEAgcHJp
dmF0ZToKICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihTcGVjSW50
MzIpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQ
cmVkaWN0aW9uKFNwZWNOdW1iZXIpOworICAgICAgICAgICAgCisgICAgICAgICAgICBjaGFuZ2Vk
IHw9IG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKQEAgLTIwMyw5ICsyOTEsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IFNwZWN1bGF0ZWRUeXBlIGxlZnQgPSBub2RlLT5jaGlsZDEoKS0+cHJlZGljdGlvbigpOwogICAg
ICAgICAgICAgU3BlY3VsYXRlZFR5cGUgcmlnaHQgPSBub2RlLT5jaGlsZDIoKS0+cHJlZGljdGlv
bigpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBBZGRTcGVjdWxhdGlvbk1vZGUgbW9kZSA9
IERvbnRTcGVjdWxhdGVJbnRlZ2VyOworICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAobGVm
dCAmJiByaWdodCkgewogICAgICAgICAgICAgICAgIGlmIChpc051bWJlclNwZWN1bGF0aW9uRXhw
ZWN0aW5nRGVmaW5lZChsZWZ0KSAmJiBpc051bWJlclNwZWN1bGF0aW9uRXhwZWN0aW5nRGVmaW5l
ZChyaWdodCkpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGguYWRkU3BlY3VsYXRp
b25Nb2RlKG5vZGUpICE9IERvbnRTcGVjdWxhdGVJbnRlZ2VyKQorICAgICAgICAgICAgICAgICAg
ICBpZiAoKG1vZGUgPSBtX2dyYXBoLmFkZFNwZWN1bGF0aW9uTW9kZShub2RlKSkgIT0gRG9udFNw
ZWN1bGF0ZUludGVnZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdl
UHJlZGljdGlvbihTcGVjSW50MzIpOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihzcGVjdWxhdGVkRG91
YmxlVHlwZUZvclByZWRpY3Rpb25zKGxlZnQsIHJpZ2h0KSk7CkBAIC0yMTUsNiArMzA1LDE3IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGNo
YW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKFNwZWNTdHJpbmcgfCBTcGVjSW50MzIgfCBTcGVjRG91
YmxlKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGlzTm90
TmVnWmVybyhub2RlLT5jaGlsZDEoKS5ub2RlKCkpIHx8IGlzTm90TmVnWmVybyhub2RlLT5jaGls
ZDIoKS5ub2RlKCkpKQorICAgICAgICAgICAgICAgIGZsYWdzICY9IH5Ob2RlTmVlZHNOZWdaZXJv
OworICAgICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLT5oYXNOdW1iZXJSZXN1bHQoKSB8fCBu
b2RlLT5jaGlsZDIoKS0+aGFzTnVtYmVyUmVzdWx0KCkpCisgICAgICAgICAgICAgICAgZmxhZ3Mg
Jj0gfk5vZGVVc2VkQXNPdGhlcjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKG1vZGUg
IT0gU3BlY3VsYXRlSW50ZWdlcikKKyAgICAgICAgICAgICAgICBmbGFncyB8PSBOb2RlVXNlZEFz
TnVtYmVyOworICAgICAgICAgICAgCisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxk
MSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hp
bGQyKCktPm1lcmdlRmxhZ3MoZmxhZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICAgICAgICAgICAgIApAQCAtMjIyLDEyICszMjMsMjQgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IFNwZWN1bGF0ZWRUeXBlIGxlZnQgPSBub2RlLT5jaGlsZDEoKS0+cHJlZGljdGlvbigpOwogICAg
ICAgICAgICAgU3BlY3VsYXRlZFR5cGUgcmlnaHQgPSBub2RlLT5jaGlsZDIoKS0+cHJlZGljdGlv
bigpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBBZGRTcGVjdWxhdGlvbk1vZGUgbW9kZSA9
IERvbnRTcGVjdWxhdGVJbnRlZ2VyOworICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAobGVm
dCAmJiByaWdodCkgewotICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLmFkZFNwZWN1bGF0aW9u
TW9kZShub2RlKSAhPSBEb250U3BlY3VsYXRlSW50ZWdlcikKKyAgICAgICAgICAgICAgICBpZiAo
KG1vZGUgPSBtX2dyYXBoLmFkZFNwZWN1bGF0aW9uTW9kZShub2RlKSkgIT0gRG9udFNwZWN1bGF0
ZUludGVnZXIpCiAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9u
KFNwZWNJbnQzMik7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBj
aGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihzcGVjdWxhdGVkRG91YmxlVHlwZUZvclByZWRpY3Rp
b25zKGxlZnQsIHJpZ2h0KSk7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAg
ICAgIGlmIChpc05vdE5lZ1plcm8obm9kZS0+Y2hpbGQxKCkubm9kZSgpKSB8fCBpc05vdE5lZ1pl
cm8obm9kZS0+Y2hpbGQyKCkubm9kZSgpKSkKKyAgICAgICAgICAgICAgICBmbGFncyAmPSB+Tm9k
ZU5lZWRzTmVnWmVybzsKKyAgICAgICAgICAgIGZsYWdzICY9IH5Ob2RlVXNlZEFzT3RoZXI7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChtb2RlICE9IFNwZWN1bGF0ZUludGVnZXIpCisg
ICAgICAgICAgICAgICAgZmxhZ3MgfD0gTm9kZVVzZWRBc051bWJlcjsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhmbGFncyk7
CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxkMigpLT5tZXJnZUZsYWdzKGZsYWdz
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTIzNSwx
MiArMzQ4LDI0IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBTcGVjdWxhdGVkVHlwZSBsZWZ0ID0g
bm9kZS0+Y2hpbGQxKCktPnByZWRpY3Rpb24oKTsKICAgICAgICAgICAgIFNwZWN1bGF0ZWRUeXBl
IHJpZ2h0ID0gbm9kZS0+Y2hpbGQyKCktPnByZWRpY3Rpb24oKTsKICAgICAgICAgICAgIAorICAg
ICAgICAgICAgQWRkU3BlY3VsYXRpb25Nb2RlIG1vZGUgPSBEb250U3BlY3VsYXRlSW50ZWdlcjsK
KyAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKGxlZnQgJiYgcmlnaHQpIHsKLSAgICAgICAg
ICAgICAgICBpZiAobV9ncmFwaC5hZGRTcGVjdWxhdGlvbk1vZGUobm9kZSkgIT0gRG9udFNwZWN1
bGF0ZUludGVnZXIpCisgICAgICAgICAgICAgICAgaWYgKChtb2RlID0gbV9ncmFwaC5hZGRTcGVj
dWxhdGlvbk1vZGUobm9kZSkpICE9IERvbnRTcGVjdWxhdGVJbnRlZ2VyKQogICAgICAgICAgICAg
ICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihTcGVjSW50MzIpOwogICAgICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rp
b24oc3BlY3VsYXRlZERvdWJsZVR5cGVGb3JQcmVkaWN0aW9ucyhsZWZ0LCByaWdodCkpOwogICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoaXNOb3RaZXJvKG5vZGUtPmNoaWxkMSgpLm5v
ZGUoKSkgfHwgaXNOb3RaZXJvKG5vZGUtPmNoaWxkMigpLm5vZGUoKSkpCisgICAgICAgICAgICAg
ICAgZmxhZ3MgJj0gfk5vZGVOZWVkc05lZ1plcm87CisgICAgICAgICAgICBmbGFncyAmPSB+Tm9k
ZVVzZWRBc090aGVyOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAobW9kZSAhPSBTcGVj
dWxhdGVJbnRlZ2VyKQorICAgICAgICAgICAgICAgIGZsYWdzIHw9IE5vZGVVc2VkQXNOdW1iZXI7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQxKCktPm1l
cmdlRmxhZ3MoZmxhZ3MpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDIoKS0+
bWVyZ2VGbGFncyhmbGFncyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAg
ICAgICAgCkBAIC0yNTEsNiArMzc2LDEwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihzcGVjdWxh
dGVkRG91YmxlVHlwZUZvclByZWRpY3Rpb24obm9kZS0+Y2hpbGQxKCktPnByZWRpY3Rpb24oKSkp
OwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmbGFncyAmPSB+Tm9kZVVzZWRBc090aGVy
OworCisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZs
YWdzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQXJp
dGhNaW46CkBAIC0yNjUsNiArMzk0LDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihzcGVjdWxh
dGVkRG91YmxlVHlwZUZvclByZWRpY3Rpb25zKGxlZnQsIHJpZ2h0KSk7CiAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZsYWdzIHw9IE5vZGVVc2VkQXNOdW1iZXI7CisgICAgICAgICAgICBm
bGFncyAmPSB+Tm9kZVVzZWRBc090aGVyOworCisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUt
PmNoaWxkMSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9k
ZS0+Y2hpbGQyKCktPm1lcmdlRmxhZ3MoZmxhZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KIApAQCAtMjc4LDYgKzQxMywyNSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24oc3BlY3Vs
YXRlZERvdWJsZVR5cGVGb3JQcmVkaWN0aW9ucyhsZWZ0LCByaWdodCkpOwogICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAvLyBBcyBzb29uIGFzIGEgbXVsdGlwbHkgaGFwcGVucywgd2UgY2Fu
IGVhc2lseSBlbmQgdXAgaW4gdGhlIHBhcnQKKyAgICAgICAgICAgIC8vIG9mIHRoZSBkb3VibGUg
ZG9tYWluIHdoZXJlIHRoZSBwb2ludCBhdCB3aGljaCB5b3UgZG8gdHJ1bmNhdGlvbgorICAgICAg
ICAgICAgLy8gY2FuIGNoYW5nZSB0aGUgb3V0Y29tZS4gU28sIEFyaXRoTXVsIGFsd2F5cyBmb3Jj
ZXMgaXRzIGlucHV0cyB0bworICAgICAgICAgICAgLy8gY2hlY2sgZm9yIG92ZXJmbG93LiBBZGRp
dGlvbmFsbHksIGl0IHdpbGwgaGF2ZSB0byBjaGVjayBmb3Igb3ZlcmZsb3cKKyAgICAgICAgICAg
IC8vIGl0c2VsZiB1bmxlc3Mgd2UgY2FuIHByb3ZlIHRoYXQgdGhlcmUgaXMgbm8gd2F5IGZvciB0
aGUgdmFsdWVzCisgICAgICAgICAgICAvLyBwcm9kdWNlZCB0byBjYXVzZSBkb3VibGUgcm91bmRp
bmcuCisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghaXNXaXRoaW5Qb3dlck9mVHdvKG5v
ZGUtPmNoaWxkMSgpLm5vZGUoKSwgMjIpCisgICAgICAgICAgICAgICAgJiYgIWlzV2l0aGluUG93
ZXJPZlR3byhub2RlLT5jaGlsZDIoKS5ub2RlKCksIDIyKSkKKyAgICAgICAgICAgICAgICBmbGFn
cyB8PSBOb2RlVXNlZEFzTnVtYmVyOworICAgICAgICAgICAgCisgICAgICAgICAgICBjaGFuZ2Vk
IHw9IG5vZGUtPm1lcmdlRmxhZ3MoZmxhZ3MpOworICAgICAgICAgICAgCisgICAgICAgICAgICBm
bGFncyB8PSBOb2RlVXNlZEFzTnVtYmVyIHwgTm9kZU5lZWRzTmVnWmVybzsKKyAgICAgICAgICAg
IGZsYWdzICY9IH5Ob2RlVXNlZEFzT3RoZXI7CisKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9k
ZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoZmxhZ3MpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBu
b2RlLT5jaGlsZDIoKS0+bWVyZ2VGbGFncyhmbGFncyk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogICAgICAgICAgICAgCkBAIC0yOTIsNiArNDQ2LDE3IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJl
ZGljdGlvbihTcGVjRG91YmxlKTsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gQXMg
c29vbiBhcyBhIG11bHRpcGx5IGhhcHBlbnMsIHdlIGNhbiBlYXNpbHkgZW5kIHVwIGluIHRoZSBw
YXJ0CisgICAgICAgICAgICAvLyBvZiB0aGUgZG91YmxlIGRvbWFpbiB3aGVyZSB0aGUgcG9pbnQg
YXQgd2hpY2ggeW91IGRvIHRydW5jYXRpb24KKyAgICAgICAgICAgIC8vIGNhbiBjaGFuZ2UgdGhl
IG91dGNvbWUuIFNvLCBBcml0aERpdiBhbHdheXMgY2hlY2tzIGZvciBvdmVyZmxvdworICAgICAg
ICAgICAgLy8gbm8gbWF0dGVyIHdoYXQsIGFuZCBhbHdheXMgZm9yY2VzIGl0cyBpbnB1dHMgdG8g
Y2hlY2sgYXMgd2VsbC4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgZmxhZ3MgfD0gTm9kZVVz
ZWRBc051bWJlciB8IE5vZGVOZWVkc05lZ1plcm87CisgICAgICAgICAgICBmbGFncyAmPSB+Tm9k
ZVVzZWRBc090aGVyOworCisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxkMSgpLT5t
ZXJnZUZsYWdzKGZsYWdzKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQyKCkt
Pm1lcmdlRmxhZ3MoZmxhZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAg
ICAgICAgIApAQCAtMzA2LDExICs0NzEsMjAgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKFNwZWNE
b3VibGUpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBmbGFncyB8
PSBOb2RlVXNlZEFzTnVtYmVyIHwgTm9kZU5lZWRzTmVnWmVybzsKKyAgICAgICAgICAgIGZsYWdz
ICY9IH5Ob2RlVXNlZEFzT3RoZXI7CisKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hp
bGQxKCktPm1lcmdlRmxhZ3MoZmxhZ3MpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5j
aGlsZDIoKS0+bWVyZ2VGbGFncyhmbGFncyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQXJpdGhTcXJ0OiB7CiAgICAgICAgICAgICBj
aGFuZ2VkIHw9IHNldFByZWRpY3Rpb24oU3BlY0RvdWJsZSk7CisgICAgICAgICAgICBmbGFncyB8
PSBOb2RlVXNlZEFzTnVtYmVyIHwgTm9kZU5lZWRzTmVnWmVybzsKKyAgICAgICAgICAgIGZsYWdz
ICY9IH5Ob2RlVXNlZEFzT3RoZXI7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxk
MSgpLT5tZXJnZUZsYWdzKGZsYWdzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgICAgICAKQEAgLTMyMSw2ICs0OTUsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAg
IGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKFNwZWNJbnQzMik7CiAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24oc3BlY3VsYXRlZERv
dWJsZVR5cGVGb3JQcmVkaWN0aW9uKGNoaWxkKSk7CisKKyAgICAgICAgICAgIGNoYW5nZWQgfD0g
bm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoZmxhZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMzQxLDIwICs1MTcsNDIgQEAgcHJpdmF0ZToKICAg
ICAgICAgY2FzZSBJc09iamVjdDoKICAgICAgICAgY2FzZSBJc0Z1bmN0aW9uOiB7CiAgICAgICAg
ICAgICBjaGFuZ2VkIHw9IHNldFByZWRpY3Rpb24oU3BlY0Jvb2xlYW4pOworICAgICAgICAgICAg
Y2hhbmdlZCB8PSBtZXJnZURlZmF1bHRGbGFncyhub2RlKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAKICAgICAgICAgY2FzZSBUeXBlT2Y6IHsKICAgICAgICAgICAgIGNoYW5nZWQg
fD0gc2V0UHJlZGljdGlvbihTcGVjU3RyaW5nKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVy
Z2VEZWZhdWx0RmxhZ3Mobm9kZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCisg
ICAgICAgIGNhc2UgR2V0QnlJZDogeworICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRp
Y3Rpb24obm9kZS0+Z2V0SGVhcFByZWRpY3Rpb24oKSk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9
IG1lcmdlRGVmYXVsdEZsYWdzKG5vZGUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICAgICAgICAgIAorICAgICAgICBjYXNlIEdldEJ5SWRGbHVzaDoKKyAgICAgICAgICAgIGNo
YW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKG5vZGUtPmdldEhlYXBQcmVkaWN0aW9uKCkpOworICAg
ICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZURlZmF1bHRGbGFncyhub2RlKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgR2V0QnlWYWw6IHsKICAgICAgICAg
ICAgIGlmIChub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlRmxvYXQzMkFycmF5KCkKICAg
ICAgICAgICAgICAgICB8fCBub2RlLT5jaGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlRmxvYXQ2NEFy
cmF5KCkpCiAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24oU3BlY0Rv
dWJsZSk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJn
ZVByZWRpY3Rpb24obm9kZS0+Z2V0SGVhcFByZWRpY3Rpb24oKSk7CisKKyAgICAgICAgICAgIGNo
YW5nZWQgfD0gbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc1ZhbHVlKTsKKyAg
ICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQyKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRB
c051bWJlciB8IE5vZGVVc2VkQXNPdGhlciB8IE5vZGVVc2VkQXNJbnQgfCBOb2RlVXNlZEFzSW50
TG9jYWxseSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAgICAgCisg
ICAgICAgIGNhc2UgR2V0TXlBcmd1bWVudEJ5VmFsU2FmZTogeworICAgICAgICAgICAgY2hhbmdl
ZCB8PSBtZXJnZVByZWRpY3Rpb24obm9kZS0+Z2V0SGVhcFByZWRpY3Rpb24oKSk7CisgICAgICAg
ICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNOdW1i
ZXIgfCBOb2RlVXNlZEFzT3RoZXIgfCBOb2RlVXNlZEFzSW50IHwgTm9kZVVzZWRBc0ludExvY2Fs
bHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMzY5
LDkgKzU2NywyNiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFsbG9jYXRlUHJvcGVydHlTdG9y
YWdlOgogICAgICAgICBjYXNlIFJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6IHsKICAgICAgICAg
ICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjT3RoZXIpOworICAgICAgICAgICAgY2hh
bmdlZCB8PSBtZXJnZURlZmF1bHRGbGFncyhub2RlKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAKKyAgICAgICAgY2FzZSBHZXRCeU9mZnNldDogeworICAgICAgICAgICAgY2hhbmdl
ZCB8PSBtZXJnZVByZWRpY3Rpb24obm9kZS0+Z2V0SGVhcFByZWRpY3Rpb24oKSk7CisgICAgICAg
ICAgICBjaGFuZ2VkIHw9IG1lcmdlRGVmYXVsdEZsYWdzKG5vZGUpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIENhbGw6CisgICAgICAg
IGNhc2UgQ29uc3RydWN0OiB7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlv
bihub2RlLT5nZXRIZWFwUHJlZGljdGlvbigpKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQg
Y2hpbGRJZHggPSBub2RlLT5maXJzdENoaWxkKCk7CisgICAgICAgICAgICAgICAgY2hpbGRJZHgg
PCBub2RlLT5maXJzdENoaWxkKCkgKyBub2RlLT5udW1DaGlsZHJlbigpOworICAgICAgICAgICAg
ICAgICsrY2hpbGRJZHgpCisgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoLm1fdmFy
QXJnQ2hpbGRyZW5bY2hpbGRJZHhdLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQ29u
dmVydFRoaXM6IHsKICAgICAgICAgICAgIFNwZWN1bGF0ZWRUeXBlIHByZWRpY3Rpb24gPSBub2Rl
LT5jaGlsZDEoKS0+cHJlZGljdGlvbigpOwogICAgICAgICAgICAgaWYgKHByZWRpY3Rpb24pIHsK
QEAgLTM4MSw2ICs1OTYsMjggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24ocHJlZGljdGlvbik7CiAgICAgICAg
ICAgICB9CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlRGVmYXVsdEZsYWdzKG5vZGUpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICBjYXNl
IEdldEdsb2JhbFZhcjogeworICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24o
bm9kZS0+Z2V0SGVhcFByZWRpY3Rpb24oKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorICAgICAgICAgICAgCisgICAgICAgIGNhc2UgUHV0R2xvYmFsVmFyOgorICAgICAgICBjYXNl
IFB1dEdsb2JhbFZhckNoZWNrOiB7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxk
MSgpLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgIGNhc2UgR2V0U2NvcGVkVmFyOgorICAgICAg
ICBjYXNlIFJlc29sdmU6CisgICAgICAgIGNhc2UgUmVzb2x2ZUJhc2U6CisgICAgICAgIGNhc2Ug
UmVzb2x2ZUJhc2VTdHJpY3RQdXQ6CisgICAgICAgIGNhc2UgUmVzb2x2ZUdsb2JhbDogeworICAg
ICAgICAgICAgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlvbiA9IG5vZGUtPmdldEhlYXBQcmVkaWN0
aW9uKCk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihwcmVkaWN0aW9u
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTM5OSwy
NSArNjM2LDQ4IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQ3JlYXRlVGhpczoKICAgICAgICAg
Y2FzZSBOZXdPYmplY3Q6IHsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihT
cGVjRmluYWxPYmplY3QpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZURlZmF1bHRGbGFn
cyhub2RlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgICAgICAKKyAg
ICAgICAgY2FzZSBOZXdBcnJheTogeworICAgICAgICAgICAgY2hhbmdlZCB8PSBzZXRQcmVkaWN0
aW9uKFNwZWNBcnJheSk7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGNoaWxkSWR4ID0gbm9k
ZS0+Zmlyc3RDaGlsZCgpOworICAgICAgICAgICAgICAgIGNoaWxkSWR4IDwgbm9kZS0+Zmlyc3RD
aGlsZCgpICsgbm9kZS0+bnVtQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgICAgICArK2NoaWxkSWR4
KQorICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuW2No
aWxkSWR4XS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIE5ld0FycmF5V2l0aFNpemU6
IHsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjQXJyYXkpOworICAg
ICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFz
VmFsdWUgfCBOb2RlVXNlZEFzSW50IHwgTm9kZVVzZWRBc0ludExvY2FsbHkpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICBjYXNlIE5ld0FycmF5
OgotICAgICAgICBjYXNlIE5ld0FycmF5V2l0aFNpemU6CiAgICAgICAgIGNhc2UgTmV3QXJyYXlC
dWZmZXI6IHsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjQXJyYXkp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICBj
YXNlIE5ld1JlZ2V4cDoKLSAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOiB7CisgICAgICAg
IGNhc2UgTmV3UmVnZXhwOiB7CiAgICAgICAgICAgICBjaGFuZ2VkIHw9IHNldFByZWRpY3Rpb24o
U3BlY09iamVjdE90aGVyKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAg
IAotICAgICAgICBjYXNlIFN0cmluZ0NoYXJBdDoKKyAgICAgICAgY2FzZSBTdHJpbmdDaGFyQXQ6
IHsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjU3RyaW5nKTsKKyAg
ICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRB
c1ZhbHVlKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQyKCktPm1lcmdlRmxh
Z3MoTm9kZVVzZWRBc051bWJlciB8IE5vZGVVc2VkQXNPdGhlciB8IE5vZGVVc2VkQXNJbnQgfCBO
b2RlVXNlZEFzSW50TG9jYWxseSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICAgICAgCiAgICAgICAgIGNhc2UgU3RyQ2F0OiB7CiAgICAgICAgICAgICBjaGFuZ2VkIHw9
IHNldFByZWRpY3Rpb24oU3BlY1N0cmluZyk7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGNo
aWxkSWR4ID0gbm9kZS0+Zmlyc3RDaGlsZCgpOworICAgICAgICAgICAgICAgIGNoaWxkSWR4IDwg
bm9kZS0+Zmlyc3RDaGlsZCgpICsgbm9kZS0+bnVtQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgICAg
ICArK2NoaWxkSWR4KQorICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaC5tX3ZhckFy
Z0NoaWxkcmVuW2NoaWxkSWR4XS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzTnVtYmVyIHwgTm9kZVVz
ZWRBc090aGVyKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAK
QEAgLTQzOSw2ICs2OTksMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24oY2hpbGQpOwogICAg
ICAgICAgICAgfQorICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDEoKS0+bWVyZ2VG
bGFncyhmbGFncyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAgICAg
CisgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjogeworICAgICAgICAgICAgY2hhbmdlZCB8
PSBzZXRQcmVkaWN0aW9uKFNwZWNPYmplY3RPdGhlcik7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogICAgICAgICAgICAgCkBAIC00NzcsMjcgKzc0Myw1MSBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgCisgICAgICAgIGNhc2UgUHV0QnlW
YWw6CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCkt
Pm1lcmdlRmxhZ3MoTm9kZVVzZWRBc1ZhbHVlKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9n
cmFwaC52YXJBcmdDaGlsZChub2RlLCAxKS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzTnVtYmVyIHwg
Tm9kZVVzZWRBc090aGVyIHwgTm9kZVVzZWRBc0ludCB8IE5vZGVVc2VkQXNJbnRMb2NhbGx5KTsK
KyAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAyKS0+bWVy
Z2VGbGFncyhOb2RlVXNlZEFzVmFsdWUpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
Y2FzZSBQdXRTY29wZWRWYXI6CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxkMSgp
LT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5v
ZGUtPmNoaWxkMygpLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIFJldHVybjoKKyAgICAgICAgY2FzZSBU
aHJvdzoKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3Mo
Tm9kZVVzZWRBc1ZhbHVlKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgUHV0
QnlJZDoKKyAgICAgICAgY2FzZSBQdXRCeUlkRGlyZWN0OgorICAgICAgICAgICAgY2hhbmdlZCB8
PSBub2RlLT5jaGlsZDEoKS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUpOworICAgICAgICAg
ICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDIoKS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUp
OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBQdXRCeU9mZnNldDoKKyAgICAg
ICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQxKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc1Zh
bHVlKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbm9kZS0+Y2hpbGQzKCktPm1lcmdlRmxhZ3Mo
Tm9kZVVzZWRBc1ZhbHVlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCiAgICAg
ICAgIGNhc2UgUGhpOgogICAgICAgICAgICAgLy8gUGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUg
aGVyZSBzaW5jZSB3ZSdyZSBpdGVyYXRpbmcgdGhlIGFsbC1idXQtUGhpJ3MKICAgICAgICAgICAg
IC8vIHBhcnQgb2YgYmFzaWMgYmxvY2tzLgogICAgICAgICAgICAgQ1JBU0goKTsKICAgICAgICAg
ICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgU2V0Q2FsbGVlOgorICAgICAgICBjYXNlIFNldE15
U2NvcGU6CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxkMSgpLT5tZXJnZUZsYWdz
KE5vZGVVc2VkQXNWYWx1ZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAogICAg
ICAgICBjYXNlIEdldFNjb3BlOgorICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDEo
KS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUpOwogICAgICAgICAgICAgY2hhbmdlZCB8PSBz
ZXRQcmVkaWN0aW9uKFNwZWNDZWxsT3RoZXIpOwogICAgICAgICAgICAgYnJlYWs7CiAKICNpZm5k
ZWYgTkRFQlVHCiAgICAgICAgIC8vIFRoZXNlIGdldCBpZ25vcmVkIGJlY2F1c2UgdGhleSBkb24n
dCByZXR1cm4gYW55dGhpbmcuCi0gICAgICAgIGNhc2UgUHV0QnlWYWw6Ci0gICAgICAgIGNhc2Ug
UHV0U2NvcGVkVmFyOgotICAgICAgICBjYXNlIFJldHVybjoKLSAgICAgICAgY2FzZSBUaHJvdzoK
LSAgICAgICAgY2FzZSBQdXRCeUlkOgotICAgICAgICBjYXNlIFB1dEJ5SWREaXJlY3Q6Ci0gICAg
ICAgIGNhc2UgUHV0QnlPZmZzZXQ6Ci0gICAgICAgIGNhc2UgU2V0Q2FsbGVlOgotICAgICAgICBj
YXNlIFNldE15U2NvcGU6CiAgICAgICAgIGNhc2UgREZHOjpKdW1wOgogICAgICAgICBjYXNlIEJy
YW5jaDoKICAgICAgICAgY2FzZSBCcmVha3BvaW50OgpAQCAtNTE5LDggKzgwOSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIGNhc2UgR2FyYmFnZVZhbHVlOgogICAgICAgICBjYXNlIEFsbG9jYXRpb25Q
cm9maWxlV2F0Y2hwb2ludDoKICAgICAgICAgY2FzZSBQaGFudG9tOgotICAgICAgICBjYXNlIFB1
dEdsb2JhbFZhcjoKLSAgICAgICAgY2FzZSBQdXRHbG9iYWxWYXJDaGVjazoKKyAgICAgICAgICAg
IGNoYW5nZWQgfD0gbWVyZ2VEZWZhdWx0RmxhZ3Mobm9kZSk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIAogICAgICAgICAvLyBUaGVzZSBnZXRzIGlnbm9yZWQgYmVjYXVzZSBpdCBk
b2Vzbid0IGRvIGFueXRoaW5nLgpAQCAtNTI4LDcgKzgxNyw2IEBAIHByaXZhdGU6CiAgICAgICAg
IGNhc2UgTm9wOgogICAgICAgICBjYXNlIENvdW50RXhlY3V0aW9uOgogICAgICAgICBjYXNlIFBo
YW50b21Mb2NhbDoKLSAgICAgICAgY2FzZSBGbHVzaDoKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgCiAgICAgICAgIGNhc2UgTGFzdE5vZGVUeXBlOgpAQCAtNTM2LDYgKzgyNCw3IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKICNlbHNlCiAgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlRGVmYXVsdEZsYWdzKG5vZGUpOwogICAgICAgICAg
ICAgYnJlYWs7CiAjZW5kaWYKICAgICAgICAgfQpAQCAtNTQ3LDYgKzgzNiwzMCBAQCBwcml2YXRl
OgogICAgICAgICBtX2NoYW5nZWQgfD0gY2hhbmdlZDsKICAgICB9CiAgICAgICAgIAorICAgIGJv
b2wgbWVyZ2VEZWZhdWx0RmxhZ3MoTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIGJvb2wgY2hh
bmdlZCA9IGZhbHNlOworICAgICAgICBpZiAobm9kZS0+ZmxhZ3MoKSAmIE5vZGVIYXNWYXJBcmdz
KSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGNoaWxkSWR4ID0gbm9kZS0+Zmlyc3RDaGls
ZCgpOworICAgICAgICAgICAgICAgIGNoaWxkSWR4IDwgbm9kZS0+Zmlyc3RDaGlsZCgpICsgbm9k
ZS0+bnVtQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgICAgICBjaGlsZElkeCsrKSB7CisgICAgICAg
ICAgICAgICAgaWYgKCEhbV9ncmFwaC5tX3ZhckFyZ0NoaWxkcmVuW2NoaWxkSWR4XSkKKyAgICAg
ICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoLm1fdmFyQXJnQ2hpbGRyZW5bY2hpbGRJ
ZHhdLT5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIW5vZGUtPmNoaWxkMSgpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBjaGFuZ2VkOworICAgICAgICAgICAgY2hhbmdlZCB8PSBub2RlLT5jaGlsZDEo
KS0+bWVyZ2VGbGFncyhOb2RlVXNlZEFzVmFsdWUpOworICAgICAgICAgICAgaWYgKCFub2RlLT5j
aGlsZDIoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY2hhbmdlZDsKKyAgICAgICAgICAgIGNo
YW5nZWQgfD0gbm9kZS0+Y2hpbGQyKCktPm1lcmdlRmxhZ3MoTm9kZVVzZWRBc1ZhbHVlKTsKKyAg
ICAgICAgICAgIGlmICghbm9kZS0+Y2hpbGQzKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGNo
YW5nZWQ7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG5vZGUtPmNoaWxkMygpLT5tZXJnZUZsYWdz
KE5vZGVVc2VkQXNWYWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNoYW5nZWQ7Cisg
ICAgfQorICAgIAogICAgIHZvaWQgcHJvcGFnYXRlRm9yd2FyZCgpCiAgICAgewogI2lmIERGR19F
TkFCTEUoREVCVUdfUFJPUEFHQVRJT05fVkVSQk9TRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHVW5pZmljYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1VuaWZpY2F0aW9uUGhhc2UuY3BwCmluZGV4IDkxMDlmMDkzMGRlY2UzMGYz
NDBiODllZWQ4ODljZGVjNDYxNTBhMTUuLmY5MDZhMjMwYzdiOWE2YjIzMjUwZTNkNTg4OTc0OGMz
NmM1OGJkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVW5pZmlj
YXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVbmlmaWNh
dGlvblBoYXNlLmNwcApAQCAtNzMsNyArNzMsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBkYXRh
LT5maW5kKCktPm1lcmdlSXNDYXB0dXJlZChkYXRhLT5pc0NhcHR1cmVkKCkpOwogICAgICAgICAg
ICAgZGF0YS0+ZmluZCgpLT5tZXJnZVN0cnVjdHVyZUNoZWNrSG9pc3RpbmdGYWlsZWQoZGF0YS0+
c3RydWN0dXJlQ2hlY2tIb2lzdGluZ0ZhaWxlZCgpKTsKICAgICAgICAgICAgIGRhdGEtPmZpbmQo
KS0+bWVyZ2VTaG91bGROZXZlclVuYm94KGRhdGEtPnNob3VsZE5ldmVyVW5ib3goKSk7Ci0gICAg
ICAgICAgICBkYXRhLT5maW5kKCktPm1lcmdlSXNMb2FkZWRGcm9tKGRhdGEtPmlzTG9hZGVkRnJv
bSgpKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgbV9ncmFwaC5tX3VuaWZpY2F0aW9u
U3RhdGUgPSBHbG9iYWxseVVuaWZpZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1ZhcmlhYmxlQWNjZXNzRGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdWYXJpYWJsZUFjY2Vzc0RhdGEuaAppbmRleCBmZWIwMjQ3MmZmNGM4MjVkODZiNTk0NGQw
NzEwNWFlMDdmODE1MjNlLi5jODM2YzFlMTA3MGEyYTExYjIzOTQyOGE1MWFlNGNjYTlmZWQ3ZTQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhcmlhYmxlQWNjZXNz
RGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFyaWFibGVBY2Nlc3NE
YXRhLmgKQEAgLTUxLDcgKzUxLDYgQEAgcHVibGljOgogICAgICAgICAsIG1faXNBcmd1bWVudHNB
bGlhcyhmYWxzZSkKICAgICAgICAgLCBtX3N0cnVjdHVyZUNoZWNrSG9pc3RpbmdGYWlsZWQoZmFs
c2UpCiAgICAgICAgICwgbV9pc1Byb2ZpdGFibGVUb1VuYm94KGZhbHNlKQotICAgICAgICAsIG1f
aXNMb2FkZWRGcm9tKGZhbHNlKQogICAgICAgICAsIG1fZG91YmxlRm9ybWF0U3RhdGUoRW1wdHlE
b3VibGVGb3JtYXRTdGF0ZSkKICAgICB7CiAgICAgICAgIGNsZWFyVm90ZXMoKTsKQEAgLTE1MCwy
MSArMTQ5LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9pc0FyZ3VtZW50c0FsaWFzOwog
ICAgIH0KICAgICAKLSAgICBib29sIG1lcmdlSXNMb2FkZWRGcm9tKGJvb2wgaXNMb2FkZWRGcm9t
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGNoZWNrQW5kU2V0KG1faXNMb2FkZWRGcm9tLCBtX2lz
TG9hZGVkRnJvbSB8IGlzTG9hZGVkRnJvbSk7Ci0gICAgfQotICAgIAotICAgIHZvaWQgc2V0SXNM
b2FkZWRGcm9tKGJvb2wgaXNMb2FkZWRGcm9tKQotICAgIHsKLSAgICAgICAgbV9pc0xvYWRlZEZy
b20gPSBpc0xvYWRlZEZyb207Ci0gICAgfQotICAgIAotICAgIGJvb2wgaXNMb2FkZWRGcm9tKCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBtX2lzTG9hZGVkRnJvbTsKLSAgICB9Ci0gICAgCiAgICAg
Ym9vbCBwcmVkaWN0KFNwZWN1bGF0ZWRUeXBlIHByZWRpY3Rpb24pCiAgICAgewogICAgICAgICBW
YXJpYWJsZUFjY2Vzc0RhdGEqIHNlbGYgPSBmaW5kKCk7CkBAIC0zMjIsNyArMzA2LDYgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNBcmd1bWVudHNBbGlhczsKICAgICBib29sIG1fc3RydWN0dXJl
Q2hlY2tIb2lzdGluZ0ZhaWxlZDsKICAgICBib29sIG1faXNQcm9maXRhYmxlVG9VbmJveDsKLSAg
ICBib29sIG1faXNMb2FkZWRGcm9tOwogCiAgICAgZmxvYXQgbV92b3Rlc1syXTsgLy8gVXNlZCBw
cmltYXJpbHkgZm9yIGRvdWJsZSB2b3RpbmcgYnV0IG1heSBiZSByZXVzZWQgZm9yIG90aGVyIHB1
cnBvc2VzLgogICAgIERvdWJsZUZvcm1hdFN0YXRlIG1fZG91YmxlRm9ybWF0U3RhdGU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMTRkZGViNWFlNDA1NTIyMzI2OGFiNjM3ODZkNzkyNGMxZjliYzlmYy4uNTYzMzgwNGZjMjQ5
YzFkOTM2YTM2YzYyMmM5YTJiNDI2MzZlOWY1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEz
LTAzLTA5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQ1Mjk5LgorICAgICAgICBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC8xNDUyOTkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTkyOAorCisgICAgICAgIGNvbXBpbGF0aW9uIGZhaWx1
cmUgd2l0aCByZWNlbnQgY2xhbmcKKyAgICAgICAgKERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhh
c2UuY3BwOjEzMjozNTogZXJyb3I6IGNvbXBhcmlzb24gb2YKKyAgICAgICAgY29uc3RhbnQgMTAg
d2l0aCBleHByZXNzaW9uIG9mIHR5cGUgJ2Jvb2wnIGlzIGFsd2F5cyBmYWxzZSkKKyAgICAgICAg
KFJlcXVlc3RlZCBieSB0aG9ydG9uIG9uICN3ZWJraXQpLgorCisgICAgICAgICogZmFzdC9qcy9k
ZmctYXJpdGgtYWRkLW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0aW9uLXByZWRpY3RlZC1idXQtbm90
LXByb3Zlbi1pbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvanMvZGZn
LWFyaXRoLWFkZC1vdmVyZmxvdy1jaGVjay1lbGltaW5hdGlvbi1wcmVkaWN0ZWQtYnV0LW5vdC1w
cm92ZW4taW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9qcy9kZmctYXJpdGgtYWRk
LW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0aW9uLXRvd2VyLW9mLWxhcmdlLW51bWJlcnMtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvanMvZGZnLWFyaXRoLWFkZC1vdmVyZmxv
dy1jaGVjay1lbGltaW5hdGlvbi10b3dlci1vZi1sYXJnZS1udW1iZXJzLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9qcy9qc2MtdGVzdC1saXN0OgorICAgICAgICAqIGZhc3QvanMvc2Ny
aXB0LXRlc3RzL2RmZy1hcml0aC1hZGQtb3ZlcmZsb3ctY2hlY2stZWxpbWluYXRpb24tcHJlZGlj
dGVkLWJ1dC1ub3QtcHJvdmVuLWludC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2pzL3Nj
cmlwdC10ZXN0cy9kZmctYXJpdGgtYWRkLW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0aW9uLXRvd2Vy
LW9mLWxhcmdlLW51bWJlcnMuanM6IFJlbW92ZWQuCisKIDIwMTMtMDMtMDkgIEtlaXNoaSBIYXR0
b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHRlc3RzIGZvciBvcGVuaW5n
IHRoZSBwaWNrZXIgd2l0aCB0aGUgZjQga2V5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2pzL2RmZy1hcml0aC1hZGQtb3ZlcmZsb3ctY2hlY2stZWxpbWluYXRpb24tcHJlZGljdGVkLWJ1
dC1ub3QtcHJvdmVuLWludC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2RmZy1h
cml0aC1hZGQtb3ZlcmZsb3ctY2hlY2stZWxpbWluYXRpb24tcHJlZGljdGVkLWJ1dC1ub3QtcHJv
dmVuLWludC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2NjUx
Mzc1MzNkNGY2OTdlNjUyNTk2N2VkNzRlYTRkY2Q1ZWJjYjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9kZmctYXJpdGgt
YWRkLW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0aW9uLXByZWRpY3RlZC1idXQtbm90LXByb3Zlbi1p
bnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTE3ICswLDAgQEAKLVRlc3RzIHRo
YXQgd2hlbiB2YWx1ZXMgcHJlZGljdGVkIGJ1dCBub3QgcHJvdmVuIGludCBhcmUgdXNlZCBpbiBh
IHRvd2VyIG9mIGFkZGl0aW9ucywgd2UgZG9uJ3QgZWxpbWluYXRlIHRoZSBvdmVyZmxvdyBjaGVj
ayB1bnNvdW5kbHkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGJhcigx
LCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEs
IDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwg
Miwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAy
LCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIs
IHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwg
e2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7
ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtm
OjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6
M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7Zjoz
fSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9
KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30p
IGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkg
aXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBp
cyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlz
IDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMg
NgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2
Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYK
LVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgot
UEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1Q
QVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBB
U1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFT
UyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNT
IGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1Mg
YmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBi
YXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJh
cigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFy
KDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIo
MSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigx
LCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEs
IDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwg
Miwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAy
LCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIs
IHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwg
e2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7
ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtm
OjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6
M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7Zjoz
fSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9
KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30p
IGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkg
aXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBp
cyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlz
IDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMg
NgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2
Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYK
LVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgot
UEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBBU1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1Q
QVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFTUyBiYXIoMSwgMiwge2Y6M30pIGlzIDYKLVBB
U1MgYmFyKDEsIDIsIHtmOjN9KSBpcyA2Ci1QQVNTIGJhcigxLCAyLCB7ZjozfSkgaXMgNgotUEFT
UyBiYXIoMjE0NzQ4MzY0NSwgMjE0NzQ4MzY0NCwge2Y6OTAwNzE5OTI1NDc0MDk5MH0pIGlzIC04
Ci1QQVNTIGJhcigyMTQ3NDgzNjQzLCAyMTQ3NDgzNjQzLCB7ZjoxODAxNDM5ODUwOTQ4MTk4MH0p
IGlzIC0xNgotUEFTUyBiYXIoMjE0NzQ4MzY0MywgMjE0NzQ4MzY0Miwge2Y6MzYwMjg3OTcwMTg5
NjM5NjB9KSBpcyAtMTYKLVBBU1MgYmFyKDIxNDc0ODM2NDIsIDIxNDc0ODM2NDIsIHtmOjM2MDI4
Nzk3MDE4OTYzOTYwfSkgaXMgLTE2Ci1QQVNTIGJhcigyMTQ3NDgzNjQxLCAyMTQ3NDgzNjQwLCB7
ZjoxNDQxMTUxODgwNzU4NTU4NDB9KSBpcyAtMzIKLVBBU1MgYmFyKDIxNDc0ODM2NDAsIDIxNDc0
ODM2NDAsIHtmOjE0NDExNTE4ODA3NTg1NTg0MH0pIGlzIC02NAotUEFTUyBiYXIoMjE0NzQ4MzY0
MCwgMjE0NzQ4MzYzOSwge2Y6Mjg4MjMwMzc2MTUxNzExNjgwfSkgaXMgLTY0Ci1QQVNTIGJhcigy
MTQ3NDgzNjM5LCAyMTQ3NDgzNjM5LCB7ZjoyODgyMzAzNzYxNTE3MTE2ODB9KSBpcyAtNjQKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2RmZy1hcml0aC1hZGQtb3ZlcmZsb3ctY2hlY2stZWxp
bWluYXRpb24tcHJlZGljdGVkLWJ1dC1ub3QtcHJvdmVuLWludC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9kZmctYXJpdGgtYWRkLW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0aW9uLXByZWRpY3Rl
ZC1idXQtbm90LXByb3Zlbi1pbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDgyOTcxODMwMjYzZWE2MjkwZjcxYTM5ZjllOWE2MGE0MmM0ODg5ZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2RmZy1h
cml0aC1hZGQtb3ZlcmZsb3ctY2hlY2stZWxpbWluYXRpb24tcHJlZGljdGVkLWJ1dC1ub3QtcHJv
dmVuLWludC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2RmZy1hcml0aC1hZGQtb3ZlcmZsb3ctY2hl
Y2stZWxpbWluYXRpb24tcHJlZGljdGVkLWJ1dC1ub3QtcHJvdmVuLWludC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2RmZy1hcml0aC1h
ZGQtb3ZlcmZsb3ctY2hlY2stZWxpbWluYXRpb24tdG93ZXItb2YtbGFyZ2UtbnVtYmVycy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2RmZy1hcml0aC1hZGQtb3ZlcmZsb3ctY2hl
Y2stZWxpbWluYXRpb24tdG93ZXItb2YtbGFyZ2UtbnVtYmVycy1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlZTkxZWEzMDQ0YjEwZDQxNTNmYTAyZjgxZTA5M2E1
NjNmMTY4MzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9qcy9kZmctYXJpdGgtYWRkLW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0
aW9uLXRvd2VyLW9mLWxhcmdlLW51bWJlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMjEwICswLDAgQEAKLVRlc3RzIHRoYXQgaWYgd2UgaGF2ZSBhIHRvd2VyIG9mIGxhcmdlIG51
bWVyaWNhbCBjb25zdGFudHMgYmVpbmcgYWRkZWQgdG8gZWFjaCBvdGhlciwgdGhlIERGRyBrbm93
cyB0aGF0IGEgc3VmZmljaWVudGx5IGxhcmdlIHRvd2VyIG1heSBwcm9kdWNlIGEgbGFyZ2UgZW5v
dWdoIHZhbHVlIHRoYXQgb3ZlcmZsb3cgY2hlY2sgZWxpbWluYXRpb24gbXVzdCBiZSBjYXJlZnVs
LgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMg
MAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwg
MikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBi
YXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAot
UEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikg
aXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIo
MSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMSwgMikgaXMgMAotUEFT
UyBiYXIoMSwgMikgaXMgMAotUEFTUyBiYXIoMjE0NzQ4MzY0NSwgMjE0NzQ4MzY0NCkgaXMgLTEw
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9kZmctYXJpdGgtYWRkLW92ZXJmbG93LWNoZWNr
LWVsaW1pbmF0aW9uLXRvd2VyLW9mLWxhcmdlLW51bWJlcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvanMvZGZnLWFyaXRoLWFkZC1vdmVyZmxvdy1jaGVjay1lbGltaW5hdGlvbi10b3dlci1vZi1s
YXJnZS1udW1iZXJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhZDIwZGMw
ZDc3YjZhNWIzYjNmZTkwN2U1NmQ5OGFlZjg5MDRjZjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9kZmctYXJpdGgtYWRk
LW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0aW9uLXRvd2VyLW9mLWxhcmdlLW51bWJlcnMuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9kZmctYXJpdGgtYWRkLW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0aW9u
LXRvd2VyLW9mLWxhcmdlLW51bWJlcnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9qc2MtdGVzdC1saXN0IGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9qc2MtdGVzdC1saXN0CmluZGV4IDE3MTIyNDQxMjE5YzlmM2VjZTEwYjY5MjQ3MGVhNjk1
YTVmMDc5Y2EuLmVhOTVjMjI3ZWFiNGExNzc2OWI5YmUxNGFlZmU3Zjc0MzQwOWViZjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvanNjLXRlc3QtbGlzdAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL2pzYy10ZXN0LWxpc3QKQEAgLTgyLDggKzgyLDYgQEAgZmFzdC9qcy9kZmctYXJn
dW1lbnRzLW9zci1leGl0LW11bHRpcGxlLWJsb2NrcwogZmFzdC9qcy9kZmctYXJndW1lbnRzLW9z
ci1leGl0LW11bHRpcGxlLWJsb2Nrcy1iZWZvcmUtZXhpdAogZmFzdC9qcy9kZmctYXJndW1lbnRz
LW91dC1vZi1ib3VuZHMKIGZhc3QvanMvZGZnLWFyZ3VtZW50cy11bmV4cGVjdGVkLWVzY2FwZQot
ZmFzdC9qcy9kZmctYXJpdGgtYWRkLW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0aW9uLXRvd2VyLW9m
LWxhcmdlLW51bWJlcnMKLWZhc3QvanMvZGZnLWFyaXRoLWFkZC1vdmVyZmxvdy1jaGVjay1lbGlt
aW5hdGlvbi1wcmVkaWN0ZWQtYnV0LW5vdC1wcm92ZW4taW50CiBmYXN0L2pzL2RmZy1hcnJheWlm
eS1lbGltaW5hdGlvbgogZmFzdC9qcy9kZmctYXJyYXlpZnktd2hlbi1sYXRlLXByZXZlbnQtZXh0
ZW5zaW9ucwogZmFzdC9qcy9kZmctYXJyYXlpZnktd2hlbi1wcmV2ZW50LWV4dGVuc2lvbnMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2RmZy1hcml0aC1hZGQt
b3ZlcmZsb3ctY2hlY2stZWxpbWluYXRpb24tcHJlZGljdGVkLWJ1dC1ub3QtcHJvdmVuLWludC5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2RmZy1hcml0aC1hZGQtb3ZlcmZs
b3ctY2hlY2stZWxpbWluYXRpb24tcHJlZGljdGVkLWJ1dC1ub3QtcHJvdmVuLWludC5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJiZWRkOTJkMWUzY2MzNTcwOGEzZDhiZjJhZDFl
YjIwYjZmNWM3My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9kZmctYXJpdGgtYWRkLW92ZXJmbG93
LWNoZWNrLWVsaW1pbmF0aW9uLXByZWRpY3RlZC1idXQtbm90LXByb3Zlbi1pbnQuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1kZXNjcmlwdGlvbigKLSJUZXN0cyB0aGF0IHdoZW4g
dmFsdWVzIHByZWRpY3RlZCBidXQgbm90IHByb3ZlbiBpbnQgYXJlIHVzZWQgaW4gYSB0b3dlciBv
ZiBhZGRpdGlvbnMsIHdlIGRvbid0IGVsaW1pbmF0ZSB0aGUgb3ZlcmZsb3cgY2hlY2sgdW5zb3Vu
ZGx5LiIKLSk7Ci0KLWZ1bmN0aW9uIGZvbyhhLCBiLCBvKSB7Ci0gICAgcmV0dXJuIChhICsgYiAr
IG8uZikgfCAwOwotfQotCi1mdW5jdGlvbiBiYXIoYSwgYiwgbykgewotICAgIGV2YWwoIiIpOyAv
LyBQcmV2ZW50IHRoaXMgZnVuY3Rpb24gZnJvbSBiZWluZyBvcHQgY29tcGlsZWQuCi0gICAgcmV0
dXJuIGZvbyhhLCBiLCBvKTsKLX0KLQotdmFyIGJhZENhc2VzID0gWwotICAgIHthOjIxNDc0ODM2
NDUsIGI6MjE0NzQ4MzY0NCwgYzo5MDA3MTk5MjU0NzQwOTkwLCBleHBlY3RlZDotOH0sCi0gICAg
e2E6MjE0NzQ4MzY0MywgYjoyMTQ3NDgzNjQzLCBjOjE4MDE0Mzk4NTA5NDgxOTgwLCBleHBlY3Rl
ZDotMTZ9LAotICAgIHthOjIxNDc0ODM2NDMsIGI6MjE0NzQ4MzY0MiwgYzozNjAyODc5NzAxODk2
Mzk2MCwgZXhwZWN0ZWQ6LTE2fSwKLSAgICB7YToyMTQ3NDgzNjQyLCBiOjIxNDc0ODM2NDIsIGM6
MzYwMjg3OTcwMTg5NjM5NjAsIGV4cGVjdGVkOi0xNn0sCi0gICAge2E6MjE0NzQ4MzY0MSwgYjoy
MTQ3NDgzNjQwLCBjOjE0NDExNTE4ODA3NTg1NTg0MCwgZXhwZWN0ZWQ6LTMyfSwKLSAgICB7YToy
MTQ3NDgzNjQwLCBiOjIxNDc0ODM2NDAsIGM6MTQ0MTE1MTg4MDc1ODU1ODQwLCBleHBlY3RlZDot
NjR9LAotICAgIHthOjIxNDc0ODM2NDAsIGI6MjE0NzQ4MzYzOSwgYzoyODgyMzAzNzYxNTE3MTE2
ODAsIGV4cGVjdGVkOi02NH0sCi0gICAge2E6MjE0NzQ4MzYzOSwgYjoyMTQ3NDgzNjM5LCBjOjI4
ODIzMDM3NjE1MTcxMTY4MCwgZXhwZWN0ZWQ6LTY0fQotXTsKLQotdmFyIHdhcm11cCA9IDEwMDsK
LQotZm9yICh2YXIgaSA9IDA7IGkgPCB3YXJtdXAgKyBiYWRDYXNlcy5sZW5ndGg7ICsraSkgewot
ICAgIHZhciBhLCBiLCBjOwotICAgIHZhciBleHBlY3RlZDsKLSAgICBpZiAoaSA8IHdhcm11cCkg
ewotICAgICAgICBhID0gMTsKLSAgICAgICAgYiA9IDI7Ci0gICAgICAgIGMgPSAzOwotICAgICAg
ICBleHBlY3RlZCA9IDY7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIGN1cnJlbnQgPSBiYWRD
YXNlc1tpIC0gd2FybXVwXTsKLSAgICAgICAgYSA9IGN1cnJlbnQuYTsKLSAgICAgICAgYiA9IGN1
cnJlbnQuYjsKLSAgICAgICAgYyA9IGN1cnJlbnQuYzsKLSAgICAgICAgZXhwZWN0ZWQgPSBjdXJy
ZW50LmV4cGVjdGVkOwotICAgIH0KLSAgICBzaG91bGRCZSgiYmFyKCIgKyBhICsgIiwgIiArIGIg
KyAiLCB7ZjoiICsgYyArICJ9KSIsICIiICsgZXhwZWN0ZWQpOwotfQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9kZmctYXJpdGgtYWRkLW92ZXJmbG93LWNo
ZWNrLWVsaW1pbmF0aW9uLXRvd2VyLW9mLWxhcmdlLW51bWJlcnMuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL3NjcmlwdC10ZXN0cy9kZmctYXJpdGgtYWRkLW92ZXJmbG93LWNoZWNrLWVsaW1pbmF0
aW9uLXRvd2VyLW9mLWxhcmdlLW51bWJlcnMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDRjMzY1NmY0ZjMwMjY4MDBhODdhOGJmYjJmODkxYjI3ZWRhNGM4YTAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9z
Y3JpcHQtdGVzdHMvZGZnLWFyaXRoLWFkZC1vdmVyZmxvdy1jaGVjay1lbGltaW5hdGlvbi10b3dl
ci1vZi1sYXJnZS1udW1iZXJzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotZGVz
Y3JpcHRpb24oCi0iVGVzdHMgdGhhdCBpZiB3ZSBoYXZlIGEgdG93ZXIgb2YgbGFyZ2UgbnVtZXJp
Y2FsIGNvbnN0YW50cyBiZWluZyBhZGRlZCB0byBlYWNoIG90aGVyLCB0aGUgREZHIGtub3dzIHRo
YXQgYSBzdWZmaWNpZW50bHkgbGFyZ2UgdG93ZXIgbWF5IHByb2R1Y2UgYSBsYXJnZSBlbm91Z2gg
dmFsdWUgdGhhdCBvdmVyZmxvdyBjaGVjayBlbGltaW5hdGlvbiBtdXN0IGJlIGNhcmVmdWwuIgot
KTsKLQotZnVuY3Rpb24gZm9vKGEsIGIpIHsKLSAgICByZXR1cm4gKGEgKyBiICsgMjgxNDc0OTc2
NzEwNjU1ICsgMjgxNDc0OTc2NzEwNjU1ICsgMjgxNDc0OTc2NzEwNjU1ICsgMjgxNDc0OTc2NzEw
NjU1ICsKLSAgICAgICAgICAgIDI4MTQ3NDk3NjcxMDY1NSArIDI4MTQ3NDk3NjcxMDY1NSArIDI4
MTQ3NDk3NjcxMDY1NSArIDI4MTQ3NDk3NjcxMDY1NSArCi0gICAgICAgICAgICAyODE0NzQ5NzY3
MTA2NTUgKyAyODE0NzQ5NzY3MTA2NTUgKyAyODE0NzQ5NzY3MTA2NTUgKyAyODE0NzQ5NzY3MTA2
NTUgKwotICAgICAgICAgICAgMjgxNDc0OTc2NzEwNjU1ICsgMjgxNDc0OTc2NzEwNjU1ICsgMjgx
NDc0OTc2NzEwNjU1ICsgMjgxNDc0OTc2NzEwNjU1ICsKLSAgICAgICAgICAgIDI4MTQ3NDk3Njcx
MDY1NSArIDI4MTQ3NDk3NjcxMDY1NSArIDI4MTQ3NDk3NjcxMDY1NSArIDI4MTQ3NDk3NjcxMDY1
NSArCi0gICAgICAgICAgICAyODE0NzQ5NzY3MTA2NTUgKyAyODE0NzQ5NzY3MTA2NTUgKyAyODE0
NzQ5NzY3MTA2NTUgKyAyODE0NzQ5NzY3MTA2NTUgKwotICAgICAgICAgICAgMjgxNDc0OTc2NzEw
NjU1ICsgMjgxNDc0OTc2NzEwNjU1ICsgMjgxNDc0OTc2NzEwNjU1ICsgMjgxNDc0OTc2NzEwNjU1
ICsKLSAgICAgICAgICAgIDI4MTQ3NDk3NjcxMDY1NSArIDI4MTQ3NDk3NjcxMDY1NSArIDI4MTQ3
NDk3NjcxMDY1NSArIDI4MTQ3NDk3NjcxMDY1NSArIDMwKSB8IDA7Ci19Ci0KLWZ1bmN0aW9uIGJh
cihhLCBiLCBvKSB7Ci0gICAgZXZhbCgiIik7IC8vIFByZXZlbnQgdGhpcyBmdW5jdGlvbiBmcm9t
IGJlaW5nIG9wdCBjb21waWxlZC4KLSAgICByZXR1cm4gZm9vKGEsIGIsIG8pOwotfQotCi12YXIg
d2FybXVwID0gMjAwOwotCi1mb3IgKHZhciBpID0gMDsgaSA8IHdhcm11cCArIDE7ICsraSkgewot
ICAgIHZhciBhLCBiLCBjOwotICAgIHZhciBleHBlY3RlZDsKLSAgICBpZiAoaSA8IHdhcm11cCkg
ewotICAgICAgICBhID0gMTsKLSAgICAgICAgYiA9IDI7Ci0gICAgICAgIGV4cGVjdGVkID0gMDsK
LSAgICB9IGVsc2UgewotICAgICAgICBhID0gMjE0NzQ4MzY0NTsKLSAgICAgICAgYiA9IDIxNDc0
ODM2NDQ7Ci0gICAgICAgIGV4cGVjdGVkID0gLTEwOwotICAgIH0KLSAgICBzaG91bGRCZSgiYmFy
KCIgKyBhICsgIiwgIiArIGIgKyAiKSIsICIiICsgZXhwZWN0ZWQpOwotfQotCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>