<?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>148492</bug_id>
          
          <creation_ts>2015-08-26 14:38:53 -0700</creation_ts>
          <short_desc>Web Inspector: agents should send messages through FrontendRouter instead of FrontendChannel</short_desc>
          <delta_ts>2015-09-07 18:57:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>148538</dependson>
          <blocked>148481</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1121064</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-08-26 14:38:53 -0700</bug_when>
    <thetext>We shouldn&apos;t pass around FrontendChannel*, the FrontendRouter should decide which actual channels to use based on the message type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121065</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-08-26 14:39:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/22444749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121993</commentid>
    <comment_count>2</comment_count>
      <attachid>260224</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-08-29 09:23:50 -0700</bug_when>
    <thetext>Created attachment 260224
Proposed Fix

Depends on blocking bug, so it&apos;s won&apos;t apply yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123016</commentid>
    <comment_count>3</comment_count>
      <attachid>260224</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-02 19:04:11 -0700</bug_when>
    <thetext>Comment on attachment 260224
Proposed Fix

r=me, but you will likely have to address build issues in other ports, so be aware!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123715</commentid>
    <comment_count>4</comment_count>
      <attachid>260646</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-09-04 16:27:50 -0700</bug_when>
    <thetext>Created attachment 260646
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123718</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-04 16:29:54 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123743</commentid>
    <comment_count>6</comment_count>
      <attachid>260652</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-09-04 16:54:42 -0700</bug_when>
    <thetext>Created attachment 260652
For EWS (ios, win)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123758</commentid>
    <comment_count>7</comment_count>
      <attachid>260654</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-09-04 17:18:54 -0700</bug_when>
    <thetext>Created attachment 260654
For EWS (win)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123857</commentid>
    <comment_count>8</comment_count>
      <attachid>260674</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-09-04 21:32:49 -0700</bug_when>
    <thetext>Created attachment 260674
For EWS (win)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123930</commentid>
    <comment_count>9</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-09-05 09:06:31 -0700</bug_when>
    <thetext>Committed r189433: &lt;http://trac.webkit.org/changeset/189433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124183</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-07 18:57:15 -0700</bug_when>
    <thetext>My WinCairo bot doesn&apos;t like this :(  Could you take a look?
https://build.webkit.org/builders/WinCairo%2064-Bit%20Release/builds/49022/steps/compile-webkit/logs/stdio</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260224</attachid>
            <date>2015-08-29 09:23:50 -0700</date>
            <delta_ts>2015-09-04 16:27:45 -0700</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-148492-20150829092334.patch</filename>
            <type>text/plain</type>
            <size>97919</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YjkyYmU3OTllMjVkNmYwMzg1MmEyMmNiZTQzYWUzYzkwMzM3NDRlLi4zNzhmZDUzM2E2YTFkZjU2
ODA4YWNmMjc3ODhjM2M2OGU0ZDhiMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNS0wOC0yOSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNlbmQgbWVzc2FnZXMgdGhyb3Vn
aCBGcm9udGVuZFJvdXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hhbm5lbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NDkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSB1c2VzIG9mIEZyb250
ZW5kQ2hhbm5lbCB3aXRoIEZyb250ZW5kUm91dGVyLiBNaW5vciBjbGVhbnVwcyBhbG9uZyB0aGUg
d2F5LiAgCisKKyAgICAgICAgTWFrZSBBZ2VudFJlZ2lzdHJ5IGF1dG9tYXRpY2FsbHkgc2lnbmFs
IGRpc2NhcmRBZ2VudCgpIGluIGl0cyBkZXN0cnVjdG9yLCBzaW5jZSBpdCBhbHdheXMKKyAgICAg
ICAgZ2V0cyBleGVjdXRlZCBpbiB0aGUgb3duaW5nIGNvbnRyb2xsZXIncyBkZXN0cnVjdG9yIGFu
eXdheS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5jcHA6CisgICAgICAgIChJbnNw
ZWN0b3I6OkFnZW50UmVnaXN0cnk6On5BZ2VudFJlZ2lzdHJ5KToKKyAgICAgICAgKEluc3BlY3Rv
cjo6QWdlbnRSZWdpc3RyeTo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6QWdlbnRSZWdpc3RyeTo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAoSW5zcGVjdG9yOjpBZ2VudFJlZ2lzdHJ5OjpkaXNjYXJkQWdlbnRzKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHA6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmNwcDoKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6RnJvbnRlbmRSb3V0ZXI6OmxlYWtDaGFubmVsKTogRGVsZXRlZCwgbm8gbG9uZ2VyIG5l
Y2Vzc2FyeS4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVy
OjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoSW5zcGVjdG9y
OjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6Cisg
ICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6YXBw
ZW5kRXh0cmFBZ2VudCk6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlcjo6fkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAg
ICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwOgorICAgICAgICAoSW5z
cGVjdG9yOjpJbnNwZWN0b3JBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoSW5zcGVj
dG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6
CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwOgorICAg
ICAgICAoSW5zcGVjdG9yOjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaWRDcmVhdGVGcm9udGVu
ZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50
aW1lQWdlbnQuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdFJ1bnRpbWVB
Z2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
YWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9y
L2F1Z21lbnRhYmxlL0FsdGVybmF0ZURpc3BhdGNoYWJsZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcDoKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5OgorICAg
ICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlz
cGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weToKKyAgICAgICAgKENwcEJhY2tlbmREaXNwYXRjaGVy
SW1wbGVtZW50YXRpb25HZW5lcmF0b3IuZ2VuZXJhdGVfb3V0cHV0KToKKyAgICAgICAgKiBpbnNw
ZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2hl
YWRlci5weToKKyAgICAgICAgKENwcEZyb250ZW5kRGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvci5n
ZW5lcmF0ZV9vdXRwdXQuRnJvbnRlbmRSb3V0ZXIpOgorICAgICAgICAoQ3BwRnJvbnRlbmREaXNw
YXRjaGVySGVhZGVyR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgICogaW5zcGVj
dG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBs
ZW1lbnRhdGlvbi5weToKKyAgICAgICAgKENwcEZyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0
aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3Bh
dGNoZXJJbXBsZW1lbnRhdGlvbkdlbmVyYXRvci5fZ2VuZXJhdGVfZGlzcGF0Y2hlcl9pbXBsZW1l
bnRhdGlvbl9mb3JfZXZlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4v
Z2VuZXJhdGVfb2JqY19iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHk6CisgICAg
ICAgIChPYmpDQ29uZmlndXJhdGlvbkltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291
dHB1dCk6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpj
X2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHk6CisgICAgICAgIChPYmpDRnJv
bnRlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IuZ2VuZXJhdGVfb3V0cHV0KToK
KwogMjAxNS0wOC0yOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JDb250cm9sbGVyIHNob3VsZCBzdXBwb3J0IG11bHRpcGxl
IGZyb250ZW5kIGNoYW5uZWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTAyNDY3ZTc4NDFkOWUwNWU3MjlmNTFm
YTBjNmI4MGNkMTdkNmJmMi4uZWU2MDUzZDc0YjQ3OTQ4OTdkMzQ2M2RjODdhYjA2YjdlMWQyZDRm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE1LTA4LTI5ICBCcmlhbiBCdXJnICA8
YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFnZW50cyBzaG91bGQg
c2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5kUm91dGVyIGluc3RlYWQgb2YgRnJvbnRlbmRD
aGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZXBsYWNlIHVzZXMgb2YgRnJvbnRlbmRDaGFubmVsIHdpdGggRnJvbnRlbmRSb3V0ZXIuIE1pbm9y
IGNvZGUgY2xlYW51cCBhbG9uZyB0aGUgd2F5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8g
YmVoYXZpb3IgY2hhbmdlZC4KKworICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJz
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp+SW5zcGVjdG9yQ29udHJvbGxlcik6IE5vIG5lZWQg
dG8gY2FsbCBkaXNjYXJkQWdlbnRzKCkuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTURl
YnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
RE9NU3RvcmFnZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNl
QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGb3J3YXJkaW5n
Lmg6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckluZGV4ZWREQkFnZW50OjpkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5
ZXJUcmVlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclJlcGxheUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JXb3JrZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3Jr
ZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZVJ1bnRp
bWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlUnVudGltZUFnZW50OjpkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlUnVudGltZUFn
ZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZy
b250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5o
OgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyUnVudGltZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuaDoKKyAgICAgICAgKiBw
YWdlL1BhZ2VEZWJ1Z2dhYmxlLmNwcDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisKIDIwMTUtMDgtMjggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogSW5zcGVjdG9yQ29udHJvbGxlciBzaG91bGQgc3VwcG9ydCBtdWx0aXBs
ZSBmcm9udGVuZCBjaGFubmVscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDUyM2MzMjI5YjEwMDMxNDZl
ZjEyMjg1ZjYxOTNkODQ1YzFjM2E1ZjIuLmJhY2Y4ODVlNjcwZWEwMzhhOGIwZjc2ODJmYjk5YjE4
MDRiYWY5OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wOC0yOSAg
QnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBh
Z2VudHMgc2hvdWxkIHNlbmQgbWVzc2FnZXMgdGhyb3VnaCBGcm9udGVuZFJvdXRlciBpbnN0ZWFk
IG9mIEZyb250ZW5kQ2hhbm5lbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ4NDkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDogQ2xlYW4g
dXAgdGhlIGZvcndhcmQgZGVjbGFyYXRpb25zLCBkb24ndCB1c2UgSW5zcGVjdG9yRm9yd2FyZGlu
Zy5oLgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbToKKyAg
ICAgICAgKFdlYkluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKToKKwogMjAx
NS0wOC0yOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBJbnNwZWN0b3JDb250cm9sbGVyIHNob3VsZCBzdXBwb3J0IG11bHRpcGxlIGZyb250
ZW5kIGNoYW5uZWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYTlmMGUwYmE5ZjZlYmRhZTAwYmMwMmYw
MzFjMzI4ZTY3YWVjMjkxNy4uODJhODlhMDI3NDQ4ZjUwZjY0MThlMTkwMTQ1ODM1Y2M4MGNmY2Q4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA4LTI5ICBCcmlhbiBC
dXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFnZW50cyBz
aG91bGQgc2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5kUm91dGVyIGluc3RlYWQgb2YgRnJv
bnRlbmRDaGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTdG9wIHVzaW5nIEluc3BlY3RvckZvcndhcmRpbmcuaC4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oOgorCiAyMDE1LTA4LTI4ICBCcmlhbiBCdXJn
ICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvckNv
bnRyb2xsZXIgc2hvdWxkIHN1cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQgY2hhbm5lbHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCA3ZDY1YjJiNDMwYmU2ZDg4OGRmYjhiYTY4ZWJhNWU3Y2NkZTI1Nzc3Li4xMjQyNDk3
ZDA3YmY3MWQzN2IwZDJiMTE0YzA0NmJhM2U0OTExZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTUtMDgtMjkgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogYWdlbnRzIHNob3VsZCBzZW5kIG1lc3NhZ2VzIHRocm91Z2ggRnJv
bnRlbmRSb3V0ZXIgaW5zdGVhZCBvZiBGcm9udGVuZENoYW5uZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODQ5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3AgdXNpbmcgSW5zcGVjdG9yRm9yd2Fy
ZGluZy5oLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oOgorCiAyMDE1LTA4
LTI4ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEluc3BlY3RvckNvbnRyb2xsZXIgc2hvdWxkIHN1cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQg
Y2hhbm5lbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnRCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFnZW50QmFzZS5oCmluZGV4IDYzNDA0Y2Y1NDI1NGFkNmEzZWFhMWE1ZjI3YzQ5YjkxNzcy
Yzg1MTQuLmY0YWViMDdlOTgyZTgzYzkwZDJmOTYyMmYxZDljZTg1NjI1ZjU5OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2Uu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzIsNyArMzIsNyBA
QAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIEJhY2tlbmREaXNwYXRjaGVyOwotY2xh
c3MgRnJvbnRlbmRDaGFubmVsOworY2xhc3MgRnJvbnRlbmRSb3V0ZXI7CiAKIGVudW0gY2xhc3Mg
RGlzY29ubmVjdFJlYXNvbiB7CiAgICAgSW5zcGVjdGVkVGFyZ2V0RGVzdHJveWVkLApAQCAtNDUs
NyArNDUsNyBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgZG9tYWluTmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbmFtZTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChGcm9udGVuZENoYW5uZWwqLCBCYWNrZW5kRGlzcGF0Y2hlciopID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFj
a2VuZERpc3BhdGNoZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRl
bmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RSZWFzb24pID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlz
Y2FyZEFnZW50KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwCmluZGV4IGJjYzA5ODgyMTRhNjFk
ZjFlYTY3MzQzZDUzMjI2MTUyNWU3ZWY0MzkuLjM1YzM0YjNmZjFlNzllOTEwZWIzNGU0Yjk5YWM4
YmUyMGY0MjA1MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtMzUsNiArMzUsMTQgQEAgQWdlbnRSZWdpc3RyeTo6QWdlbnRS
ZWdpc3RyeSgpCiB7CiB9CiAKK0FnZW50UmVnaXN0cnk6On5BZ2VudFJlZ2lzdHJ5KCkKK3sKKyAg
ICAvLyBBbGxvdyBhZ2VudHMgdG8gcmVtb3ZlIGNyb3NzLXJlZmVyZW5jZXMgdG8gb3RoZXIgYWdl
bnRzIHRoYXQgd291bGQgb3RoZXJ3aXNlCisgICAgLy8gbWFrZSBpdCBkaWZmaWN1bHQgdG8gZXN0
YWJsaXNoIGEgY29ycmVjdCBkZXN0cnVjdGlvbiBvcmRlciBmb3IgYWxsIGFnZW50cy4KKyAgICBm
b3IgKGF1dG8mIGFnZW50IDogbV9hZ2VudHMpCisgICAgICAgIGFnZW50LT5kaXNjYXJkQWdlbnQo
KTsgICAgCit9CisKIHZvaWQgQWdlbnRSZWdpc3RyeTo6YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxJ
bnNwZWN0b3JBZ2VudEJhc2U+IGFnZW50KQogewogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1v
dmUoYWdlbnQpKTsKQEAgLTQ5LDIyICs1NywxNiBAQCB2b2lkIEFnZW50UmVnaXN0cnk6OmFwcGVu
ZEV4dHJhQWdlbnQoc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvckFnZW50QmFzZT4gYWdlbnQpCiB9
CiAjZW5kaWYKIAotdm9pZCBBZ2VudFJlZ2lzdHJ5OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEJhY2tlbmREaXNwYXRjaGVyKiBi
YWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgQWdlbnRSZWdpc3RyeTo6ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgQmFja2VuZERpc3BhdGNo
ZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9h
Z2VudHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIG1fYWdlbnRzW2ldLT5kaWRDcmVhdGVGcm9udGVu
ZEFuZEJhY2tlbmQoZnJvbnRlbmRDaGFubmVsLCBiYWNrZW5kRGlzcGF0Y2hlcik7CisgICAgZm9y
IChhdXRvJiBhZ2VudCA6IG1fYWdlbnRzKQorICAgICAgICBhZ2VudC0+ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKGZyb250ZW5kUm91dGVyLCBiYWNrZW5kRGlzcGF0Y2hlcik7CiB9CiAKIHZv
aWQgQWdlbnRSZWdpc3RyeTo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVj
dFJlYXNvbiByZWFzb24pCiB7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2FnZW50cy5z
aXplKCk7IGkrKykKLSAgICAgICAgbV9hZ2VudHNbaV0tPndpbGxEZXN0cm95RnJvbnRlbmRBbmRC
YWNrZW5kKHJlYXNvbik7Ci19Ci0KLXZvaWQgQWdlbnRSZWdpc3RyeTo6ZGlzY2FyZEFnZW50cygp
Ci17Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2FnZW50cy5zaXplKCk7IGkrKykKLSAg
ICAgICAgbV9hZ2VudHNbaV0tPmRpc2NhcmRBZ2VudCgpOworICAgIGZvciAoYXV0byYgYWdlbnQg
OiBtX2FnZW50cykKKyAgICAgICAgYWdlbnQtPndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KHJlYXNvbik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaApp
bmRleCA5NjJmMDA2ZGY3MjcxM2MyZDk0N2ZlODc1Nzk0Yzg3OTgwOTU2YzQ3Li42MWFlOWEwY2Ez
OGY3NzliMTliM2U5ZmNiN2I5YjE1NTVhOTk3NDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzMsNyArMzMsNyBAQAogbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIEJhY2tlbmREaXNwYXRjaGVyOwotY2xhc3MgRnJvbnRl
bmRDaGFubmVsOworY2xhc3MgRnJvbnRlbmRSb3V0ZXI7CiBjbGFzcyBJbnNwZWN0b3JBZ2VudEJh
c2U7CiAKIGVudW0gY2xhc3MgRGlzY29ubmVjdFJlYXNvbjsKQEAgLTQxLDEyICs0MSwxMiBAQCBl
bnVtIGNsYXNzIERpc2Nvbm5lY3RSZWFzb247CiBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBBZ2Vu
dFJlZ2lzdHJ5IHsKIHB1YmxpYzoKICAgICBBZ2VudFJlZ2lzdHJ5KCk7CisgICAgfkFnZW50UmVn
aXN0cnkoKTsKIAogICAgIHZvaWQgYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JBZ2Vu
dEJhc2U+KTsKIAotICAgIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5k
Q2hhbm5lbCosIEJhY2tlbmREaXNwYXRjaGVyKik7CisgICAgdm9pZCBkaWRDcmVhdGVGcm9udGVu
ZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hlciopOwogICAgIHZv
aWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbik7Ci0gICAg
dm9pZCBkaXNjYXJkQWdlbnRzKCk7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0FMVEVSTkFURV9E
SVNQQVRDSEVSUykKICAgICB2b2lkIGFwcGVuZEV4dHJhQWdlbnQoc3RkOjp1bmlxdWVfcHRyPElu
c3BlY3RvckFnZW50QmFzZT4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcAppbmRleCAwOTM2
YjQxMTFjMjQxMzM0ZDc0OWMyMjQxZDNiNmMxNDUxODY5MDdkLi45ZjBiMDNlNjhhZTNkY2ZiOTlj
MDZmMWY0NmU3ZGYxODgzODU4ODY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcApAQCAt
MjcsNyArMjcsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyLmgiCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvclZhbHVlcy5oIgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZFJvdXRlci5jcHAKaW5kZXggMjg3YTY3OGE2NWVmYmViNjBmNWZkZDhiM2MxMjI5NWZkZDZlZDMx
MC4uNjVmODUyNWEyZTg4M2E5ZTFlYWEzYTMzNTZiMjE2ZDJlMDMzM2QwNSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZFJvdXRlci5jcHAKQEAgLTY1LDE1ICs2NSw2IEBAIHZvaWQgRnJvbnRlbmRSb3V0ZXI6OmRpc2Nv
bm5lY3RBbGxGcm9udGVuZHMoKQogICAgIG1fY29ubmVjdGlvbnMuY2xlYXIoKTsKIH0KIAotLy8g
RklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDg0OTI+IHJlbW92ZSB0aGlzIG1ldGhvZCBv
bmNlIGFnZW50cyBtb3ZlIHRvIHVzaW5nIEZyb250ZW5kUm91dGVyIGRpcmVjdGx5LgotRnJvbnRl
bmRDaGFubmVsKiBGcm9udGVuZFJvdXRlcjo6bGVha0NoYW5uZWwoKSBjb25zdAotewotICAgIGlm
IChtX2Nvbm5lY3Rpb25zLnNpemUoKSkKLSAgICAgICAgcmV0dXJuIG1fY29ubmVjdGlvbnMuYXQo
MCk7Ci0KLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQogYm9vbCBGcm9udGVuZFJvdXRlcjo6aGFz
TG9jYWxGcm9udGVuZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBjb25uZWN0aW9uIDogbV9j
b25uZWN0aW9ucykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oCmluZGV4IDRhNjQxMWJlYzQyNjU3NzAwNWQy
ODliZDQzM2RiMGEwMzgyMzM5YmEuLjQ5Yjk1ODNlNDcwYWI2OGM3ZTU0OGZiYTNmMmM0MThhMWRl
OWJlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRSb3V0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kUm91dGVyLmgKQEAgLTQ1LDkgKzQ1LDYgQEAgcHVibGljOgogICAg
IHZvaWQgZGlzY29ubmVjdEZyb250ZW5kKEZyb250ZW5kQ2hhbm5lbCopOwogICAgIHZvaWQgZGlz
Y29ubmVjdEFsbEZyb250ZW5kcygpOwogCi0gICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5v
cmcvYi8xNDg0OTI+IHJlbW92ZSB0aGlzIG1ldGhvZCBvbmNlIGFnZW50cyBtb3ZlIHRvIHVzaW5n
IEZyb250ZW5kUm91dGVyIGRpcmVjdGx5LgotICAgIEZyb250ZW5kQ2hhbm5lbCogbGVha0NoYW5u
ZWwoKSBjb25zdDsKLQogICAgIHZvaWQgc2VuZEV2ZW50KGNvbnN0IFN0cmluZyYgbWVzc2FnZSkg
Y29uc3Q7CiAgICAgdm9pZCBzZW5kUmVzcG9uc2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBjb25z
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDBhY2Fl
ODA5YTVjYzE4OWM1YzgyNmYwZWM5NTAwNDU1YTgwYjI3ODEuLjQ2NmYxNjhiMWQ2NTlmYjJhNDE3
Zjg0OTcyMzA0YjhjYWE2MGY5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTY0LDE0ICs2NCw5IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogSlNHbG9iYWxP
YmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xs
ZXIoSlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKICAgICA6IG1fZ2xvYmFsT2JqZWN0KGds
b2JhbE9iamVjdCkKICAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKHN0ZDo6bWFrZV91bmlx
dWU8SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyPigqdGhpcywgSW5qZWN0ZWRTY3JpcHRIb3N0OjpjcmVh
dGUoKSkpCisgICAgLCBtX2V4ZWN1dGlvblN0b3B3YXRjaChTdG9wd2F0Y2g6OmNyZWF0ZSgpKQog
ICAgICwgbV9mcm9udGVuZFJvdXRlcihGcm9udGVuZFJvdXRlcjo6Y3JlYXRlKCkpCiAgICAgLCBt
X2JhY2tlbmREaXNwYXRjaGVyKEJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUobV9mcm9udGVuZFJv
dXRlci5jb3B5UmVmKCkpKQotICAgICwgbV9leGVjdXRpb25TdG9wd2F0Y2goU3RvcHdhdGNoOjpj
cmVhdGUoKSkKLSAgICAsIG1faW5jbHVkZU5hdGl2ZUNhbGxTdGFja1dpdGhFeGNlcHRpb25zKHRy
dWUpCi0gICAgLCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbihmYWxzZSkKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykKLSAgICAsIG1fYXVnbWVudGluZ0NsaWVudChu
dWxscHRyKQotI2VuZGlmCiB7CiAgICAgYXV0byBpbnNwZWN0b3JBZ2VudCA9IHN0ZDo6bWFrZV91
bmlxdWU8SW5zcGVjdG9yQWdlbnQ+KCp0aGlzKTsKICAgICBhdXRvIHJ1bnRpbWVBZ2VudCA9IHN0
ZDo6bWFrZV91bmlxdWU8SlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQ+KG1faW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmdldCgpLCBtX2dsb2JhbE9iamVjdCk7CkBAIC05NSw3ICs5MCw2IEBAIEpTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyKEpTR2xvYmFsT2JqCiAKIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6
fkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcigpCiB7Ci0gICAgbV9hZ2VudHMuZGlz
Y2FyZEFnZW50cygpOwogfQogCiB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
cjo6Z2xvYmFsT2JqZWN0RGVzdHJveWVkKCkKQEAgLTExNyw3ICsxMTEsNyBAQCB2b2lkIEpTR2xv
YmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKEZyb250ZW5kQ2hh
bm5lbCogZnJvbnRlbgogICAgIGlmICghY29ubmVjdGVkRmlyc3RGcm9udGVuZCkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKGZyb250
ZW5kQ2hhbm5lbCwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0KCkpOworICAgIG1fYWdlbnRzLmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCgmbV9mcm9udGVuZFJvdXRlci5nZXQoKSwgJm1fYmFj
a2VuZERpc3BhdGNoZXIuZ2V0KCkpOwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVf
RElTUEFUQ0hFUlMpCiAgICAgbV9pbnNwZWN0b3JBZ2VudC0+YWN0aXZhdGVFeHRyYURvbWFpbnMo
bV9hZ2VudHMuZXh0cmFEb21haW5zKCkpOwpAQCAtMjc3LDcgKzI3MSw3IEBAIHZvaWQgSlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjphcHBlbmRFeHRyYUFnZW50KHN0ZDo6dW5pcXVl
X3B0cjxJbnNwZWN0CiB7CiAgICAgU3RyaW5nIGRvbWFpbk5hbWUgPSBhZ2VudC0+ZG9tYWluTmFt
ZSgpOwogCi0gICAgYWdlbnQtPmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChtX2Zyb250ZW5k
Um91dGVyLT5sZWFrQ2hhbm5lbCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CisgICAg
YWdlbnQtPmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCgmbV9mcm9udGVuZFJvdXRlci5nZXQo
KSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0KCkpOwogCiAgICAgbV9hZ2VudHMuYXBwZW5kRXh0
cmFBZ2VudChXVEY6Om1vdmUoYWdlbnQpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250
cm9sbGVyLmgKaW5kZXggYWFlMzJlM2M4OTkzYmY3MDdlNjZiN2Y1MjA1ODIzMmE3M2E3Mzk3MS4u
ZTExMzA4NWQ1Y2M5OGRiODUyZjg1ZDNkNmFkMzlhZGIxOTQ0NDFiNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2Jq
ZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTIsMTggKzExMiwyMSBAQCBwcml2YXRlOgogICAg
IEpTQzo6SlNHbG9iYWxPYmplY3QmIG1fZ2xvYmFsT2JqZWN0OwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxJbmplY3RlZFNjcmlwdE1hbmFnZXI+IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQ+IG1fY29uc29sZUNsaWVu
dDsKLSAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKLSAgICBJbnNwZWN0b3JD
b25zb2xlQWdlbnQqIG1fY29uc29sZUFnZW50OwotICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQq
IG1fZGVidWdnZXJBZ2VudDsKKyAgICBSZWY8V1RGOjpTdG9wd2F0Y2g+IG1fZXhlY3V0aW9uU3Rv
cHdhdGNoOworCiAgICAgQWdlbnRSZWdpc3RyeSBtX2FnZW50czsKKyAgICBJbnNwZWN0b3JBZ2Vu
dCogbV9pbnNwZWN0b3JBZ2VudCB7IG51bGxwdHIgfTsKKyAgICBJbnNwZWN0b3JDb25zb2xlQWdl
bnQqIG1fY29uc29sZUFnZW50IHsgbnVsbHB0ciB9OworICAgIEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQqIG1fZGVidWdnZXJBZ2VudCB7IG51bGxwdHIgfTsKKwogICAgIFJlZjxGcm9udGVuZFJvdXRl
cj4gbV9mcm9udGVuZFJvdXRlcjsKICAgICBSZWY8QmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2Vu
ZERpc3BhdGNoZXI7Ci0gICAgUmVmPFdURjo6U3RvcHdhdGNoPiBtX2V4ZWN1dGlvblN0b3B3YXRj
aDsKLSAgICBib29sIG1faW5jbHVkZU5hdGl2ZUNhbGxTdGFja1dpdGhFeGNlcHRpb25zOwotICAg
IGJvb2wgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb247CisKKyAgICBib29sIG1faW5jbHVkZU5hdGl2
ZUNhbGxTdGFja1dpdGhFeGNlcHRpb25zIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNBdXRvbWF0
aWNJbnNwZWN0aW9uIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRF
X0RJU1BBVENIRVJTKQotICAgIEF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlckNsaWVudCog
bV9hdWdtZW50aW5nQ2xpZW50OworICAgIEF1Z21lbnRhYmxlSW5zcGVjdG9yQ29udHJvbGxlckNs
aWVudCogbV9hdWdtZW50aW5nQ2xpZW50IHsgbnVsbHB0ciB9OwogI2VuZGlmCiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JB
Z2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JBZ2VudC5jcHAKaW5kZXggMDUzODY5MDFlNjFlN2ZiY2RlY2UwYmMxNTI5MGQ5ZjViYWNlMDE4
OC4uMTM5Nzg3MmY4OWQ1MzA2ZDZjY2NmMjI0NDE3YjUxZDZlODM0MTA3MCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFn
ZW50LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgs
IDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA3LTIwMTAsIDIwMTUgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0dGxpbGVrLmNvbT4KICAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTQ4LDkgKzQ4
LDkgQEAgSW5zcGVjdG9yQWdlbnQ6On5JbnNwZWN0b3JBZ2VudCgpCiB7CiB9CiAKLXZvaWQgSW5z
cGVjdG9yQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwq
IGZyb250ZW5kQ2hhbm5lbCwgQmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQor
dm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5k
Um91dGVyKiBmcm9udGVuZFJvdXRlciwgQmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3JGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVu
ZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hl
cj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckFnZW50LmgKaW5kZXggNGM2ZWY3ODJjMTc3ZmUyYzg1YjI4YWRlYTVlNjRkYzczNjY5Zjlj
NS4uNmI4YmY1ODhkMjIzMTliY2Q3MDg0NjZkMmM3ZjcxMTVlYmQyYWYyMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2Vu
dC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAw
OSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDctMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvckFnZW50KElu
c3BlY3RvckVudmlyb25tZW50Jik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQWdlbnQoKTsKIAot
ICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFu
bmVsKiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFja2VuZERpc3BhdGNo
ZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJh
Y2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZW5h
YmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNw
cAppbmRleCA5ZmZkMDQ4NGYyODA2MmMyOWJjYWRiNGI5YjlkMzcwYjFmNzExMzdmLi4xNzY3NTA3
ZTgxMzFhMDJlZDE2MmY5OTk1N2NkNGM5ZjdkNjlmM2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTU1
LDkgKzU1LDkgQEAgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojp+SW5zcGVjdG9yQ29uc29sZUFnZW50
KCkKIHsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgQmFja2VuZERpc3Bh
dGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIs
IEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5k
RGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4o
ZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91
bmlxdWU8Q29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1f
YmFja2VuZERpc3BhdGNoZXIgPSBDb25zb2xlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNr
ZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKaW5k
ZXggYjlkYTk5ZDM4MmVmY2IxYjI2ZDk3YzI1N2U2ZDBkNGM1MDVmMjEyMC4uYWJhMDZhMmMxNDgx
YWYyMDdlZjdmOWNmNTFlZjY3OTVhZTAxZDk2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorKiBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01NSw3ICs1NSw3IEBAIHB1
YmxpYzoKICAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7
CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCosIEJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5l
Y3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmlu
ZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAppbmRleCBmMGYw
YjQ4ZGQ0ZDQ3Y2RlM2EwZjJhODgyMmM0NjMyNWRlNWFhYjRmLi44NjFhMmQ5ODVmYzJmNDViOGEy
MzYyY2I4MmU0OWJlOTRmOTA5NjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNw
cApAQCAtMSw2ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAx
MywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAsIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjgsOSArNjgsOSBAQCBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50Ojp+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpCiB7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCog
ZnJvbnRlbmRDaGFubmVsLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2
b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChG
cm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5k
RGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlx
dWU8RGVidWdnZXJGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9m
cm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPERlYnVnZ2VyRnJvbnRlbmREaXNw
YXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IERlYnVn
Z2VyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCAyODI0OWUyNzYyZDA0ZjJmMTcz
NDYzNDFkN2Y0YWU2MDI1NWUyMDYwLi40MWFiZDA2MjdjMGM4NjM2NTg0ODVjYjY2ZGUyZTJkNjdk
MDRiOTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC0xLDYgKzEsNiBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzLCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkluc3BlY3RvckRlYnVn
Z2VyQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoRnJvbnRlbmRDaGFubmVsKiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwg
QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ry
b3lGcm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICB2
aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRp
bWVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0ds
b2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggNDYwNDlmNTZjNzVhZDczOThmM2M5ZDA3
NTg0NmNlN2ExYzEyODI2OC4uNTE0MDVjZjdhMmI0MTU1ODA1NjE1ZmNkYjQwYjZhZTU3MzY4NmIw
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNH
bG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDAsOSArNDAs
OSBAQCBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudDo6SlNHbG9iYWxPYmplY3RSdW50aW1lQWdl
bnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbgogewogfQogCi12b2lkIEpTR2xvYmFsT2JqZWN0
UnVudGltZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVs
KiBmcm9udGVuZENoYW5uZWwsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikK
K3ZvaWQgSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBi
YWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFr
ZV91bmlxdWU8UnVudGltZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8UnVudGltZUZyb250ZW5k
RGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBS
dW50aW1lQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oCmluZGV4IDYzMWJhZWMw
ZWIzM2RiOWUwODliNWNjYzEzOTFiOTU4MGE3ZmY0ZTguLmMyN2FmYzg4N2JjMTdkYTk2NzZkYTA5
YTllOWFmYjViYTI2MGM4YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzgsNyArMzgsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudCBmaW5hbCA6
IHB1YmxpYyBJbnNwZWN0b3JSdW50aW1lQWdlbnQgewogcHVibGljOgogICAgIEpTR2xvYmFsT2Jq
ZWN0UnVudGltZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciosIEpTQzo6SlNHbG9iYWxPYmpl
Y3QmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJv
bnRlbmRDaGFubmVsKiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFja2Vu
ZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9u
dGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFs
IEpTQzo6Vk0mIGdsb2JhbFZNKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2F1Z21lbnRhYmxlL0FsdGVybmF0ZURpc3BhdGNoYWJsZUFnZW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2F1Z21lbnRhYmxlL0FsdGVybmF0
ZURpc3BhdGNoYWJsZUFnZW50LmgKaW5kZXggNWZmMDM1MzU4NGJkZTJlOTkyYzhiMDA5ZGIzOTZk
YmI2YTY1MjViNS4uY2E0NmYxMjVhZTMxZTU0YzQ1OWIwYjgxNjE3OGVkZmYxZjRhNTQ4YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hdWdtZW50YWJsZS9BbHRl
cm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYXVnbWVudGFibGUvQWx0ZXJuYXRlRGlzcGF0Y2hhYmxlQWdlbnQuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsNyArNDUs
NyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVG
cm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiwgQmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKSBvdmVycmlkZQorICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2Vu
ZERpc3BhdGNoZXIpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBtX2JhY2tlbmREaXNwYXRjaGVy
ID0gVEJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIG51bGxwdHIp
OwogICAgICAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5zZXRBbHRlcm5hdGVEaXNwYXRjaGVyKG1f
YWx0ZXJuYXRlRGlzcGF0Y2hlci5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVn
Z2FibGUuY3BwCmluZGV4IGFjODNhMThlOTU5OTViMWMzNTg2ZmE3ODYxMDcxZmNjNGU1ZWI4Mzku
LmQ5YjgyZWI0YzA3OWQxNmRiNTgyODJhMmYwNDA4MDNkMDI1Y2Q4NWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVn
Z2FibGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1Jl
bW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCiAKICNpbmNsdWRlICJFdmVudExvb3AuaCIKLSNpbmNsdWRlICJJbnNw
ZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKICNpbmNsdWRlICJSZW1vdGVJbnNwZWN0b3IuaCIKIAog
bmFtZXNwYWNlIEluc3BlY3RvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0
b3JfdGVtcGxhdGVzLnB5CmluZGV4IDc1MDcxYzZkMTVhNTlkMjA1OTViMmMzNDgwNjk1ZTI1NDI4
ZjM4ODEuLjlhZjlkZGFmODRkZjIxZTZlZjcyNjcwMTkzOWY0MzU4YTdhZWVjYjQgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9n
ZW5lcmF0b3JfdGVtcGxhdGVzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CkBAIC0yMDQsMTAg
KzIwNCwxMCBAQCAke291dFBhcmFtZXRlckFzc2lnbm1lbnRzfQogICAgIEZyb250ZW5kRGlzcGF0
Y2hlckRvbWFpbkRpc3BhdGNoZXJEZWNsYXJhdGlvbiA9ICgKICIiIiR7Y2xhc3NBbmRFeHBvcnRN
YWNyb30gJHtkb21haW5OYW1lfUZyb250ZW5kRGlzcGF0Y2hlciB7CiBwdWJsaWM6Ci0gICAgJHtk
b21haW5OYW1lfUZyb250ZW5kRGlzcGF0Y2hlcihGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hh
bm5lbCkgOiBtX2Zyb250ZW5kQ2hhbm5lbChmcm9udGVuZENoYW5uZWwpIHsgfQorICAgICR7ZG9t
YWluTmFtZX1Gcm9udGVuZERpc3BhdGNoZXIoRnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVy
KSA6IG1fZnJvbnRlbmRSb3V0ZXIoZnJvbnRlbmRSb3V0ZXIpIHsgfQogJHtldmVudERlY2xhcmF0
aW9uc30KIHByaXZhdGU6Ci0gICAgRnJvbnRlbmRDaGFubmVsKiBtX2Zyb250ZW5kQ2hhbm5lbDsK
KyAgICBGcm9udGVuZFJvdXRlciogbV9mcm9udGVuZFJvdXRlcjsKIH07IiIiKQogCiAgICAgUHJv
dG9jb2xPYmplY3RCdWlsZGVyRGVjbGFyYXRpb25QcmVsdWRlID0gKApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3Bw
X2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3Bh
dGNoZXJfaW1wbGVtZW50YXRpb24ucHkKaW5kZXggYjM2YzBiMTNjMDhkOTExMTI5NDY0N2I2Yjg2
ZGJkYmUyOGJmZDczNS4uY2JiYmMwZWY0NmM2ZWM3ODI3OTcwNGQ0NmVhNjg0MDgyYTMxOTEyMSAx
MDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVn
ZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0
ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CkBAIC00OSw3ICs0OSw2
IEBAIGNsYXNzIENwcEJhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IoR2Vu
ZXJhdG9yKToKIAogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2VsZik6CiAgICAgICAgIHNlY29u
ZGFyeV9oZWFkZXJzID0gWwotICAgICAgICAgICAgJzxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDaGFubmVsLmg+JywKICAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Um91dGVyLmg+JywKICAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPics
CiAgICAgICAgICAgICAnPHd0Zi9OZXZlckRlc3Ryb3llZC5oPicsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBf
ZnJvbnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHkKaW5kZXggZmYwOWFiMzliMGEzNjkzYTY3NGIwYzZjNGZmMTY1Y2ZmZGI3ZDA0Mi4u
NThhM2NiOTI1NTE3YTUzYjA1NWQ1MDM3NjhjODg3MzZmYTg3YTVhZCAxMDA3NTUKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3Bw
X2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRj
aGVyX2hlYWRlci5weQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgogIwot
IyBDb3B5cmlnaHQgKGMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBD
b3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
IyBDb3B5cmlnaHQgKGMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTUxLDE0ICs1MSwxMyBAQCBjbGFzcyBDcHBG
cm9udGVuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IoR2VuZXJhdG9yKToKICAgICBkZWYgZ2Vu
ZXJhdGVfb3V0cHV0KHNlbGYpOgogICAgICAgICBoZWFkZXJzID0gWwogICAgICAgICAgICAgJyJJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCInLAotICAgICAgICAgICAgJzxpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+JywKICAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3Bl
Y3RvclZhbHVlcy5oPicsCiAgICAgICAgICAgICAnPHd0Zi90ZXh0L1dURlN0cmluZy5oPiddCiAK
ICAgICAgICAgaGVhZGVyX2FyZ3MgPSB7CiAgICAgICAgICAgICAnaGVhZGVyR3VhcmRTdHJpbmcn
OiByZS5zdWIoJ1xXKycsICdfJywgc2VsZi5vdXRwdXRfZmlsZW5hbWUoKSksCiAgICAgICAgICAg
ICAnaW5jbHVkZXMnOiAnXG4nLmpvaW4oWycjaW5jbHVkZSAnICsgaGVhZGVyIGZvciBoZWFkZXIg
aW4gaGVhZGVyc10pLAotICAgICAgICAgICAgJ3R5cGVkZWZzJzogJycsCisgICAgICAgICAgICAn
dHlwZWRlZnMnOiAnY2xhc3MgRnJvbnRlbmRSb3V0ZXI7JywKICAgICAgICAgfQogCiAgICAgICAg
IHNlY3Rpb25zID0gW10KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkK
aW5kZXggNzk4MTU3YTA2MDg5ZTUyMzI4NWMzZDRiZjFmYTBhZDcxMTE2ZWIzZS4uZGU0NGY5YTFi
OGI1YmZjYTFmOTA2OGM4NGViYmI5NTdkNzRhMWJjOSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5k
X2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNo
ZXJfaW1wbGVtZW50YXRpb24ucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBweXRo
b24KICMKLSMgQ29weXJpZ2h0IChjKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICMgQ29weXJpZ2h0IChjKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC00OCw3ICs0OCwxMCBAQCBjbGFz
cyBDcHBGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihHZW5lcmF0b3Ip
OgogICAgICAgICByZXR1cm4gZmlsdGVyKGxhbWJkYSBkb21haW46IGxlbihkb21haW4uZXZlbnRz
KSA+IDAsIEdlbmVyYXRvci5kb21haW5zX3RvX2dlbmVyYXRlKHNlbGYpKQogCiAgICAgZGVmIGdl
bmVyYXRlX291dHB1dChzZWxmKToKLSAgICAgICAgc2Vjb25kYXJ5X2hlYWRlcnMgPSBbJzx3dGYv
dGV4dC9DU3RyaW5nLmg+J10KKyAgICAgICAgc2Vjb25kYXJ5X2hlYWRlcnMgPSBbCisgICAgICAg
ICAgICAnIkluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiJywKKyAgICAgICAgICAgICc8d3RmL3Rl
eHQvQ1N0cmluZy5oPicsCisgICAgICAgIF0KIAogICAgICAgICBoZWFkZXJfYXJncyA9IHsKICAg
ICAgICAgICAgICdwcmltYXJ5SW5jbHVkZSc6ICciSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVy
cy5oIicsCkBAIC0xMTYsNiArMTE5LDYgQEAgY2xhc3MgQ3BwRnJvbnRlbmREaXNwYXRjaGVySW1w
bGVtZW50YXRpb25HZW5lcmF0b3IoR2VuZXJhdG9yKToKICAgICAgICAgICAgIGxpbmVzLmFwcGVu
ZCgnICAgIGpzb25NZXNzYWdlLT5zZXRPYmplY3QoQVNDSUlMaXRlcmFsKCJwYXJhbXMiKSwgV1RG
Ojptb3ZlKHBhcmFtc09iamVjdCkpOycpCiAKICAgICAgICAgbGluZXMuYXBwZW5kKCcnKQotICAg
ICAgICBsaW5lcy5hcHBlbmQoJyAgICBtX2Zyb250ZW5kQ2hhbm5lbC0+c2VuZE1lc3NhZ2VUb0Zy
b250ZW5kKGpzb25NZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7JykKKyAgICAgICAgbGluZXMuYXBw
ZW5kKCcgICAgbV9mcm9udGVuZFJvdXRlci0+c2VuZEV2ZW50KGpzb25NZXNzYWdlLT50b0pTT05T
dHJpbmcoKSk7JykKICAgICAgICAgbGluZXMuYXBwZW5kKCd9JykKICAgICAgICAgcmV0dXJuICJc
biIuam9pbihsaW5lcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfb2JqY19iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkK
aW5kZXggYTI3N2Q3ODZlNTJlMmFkNmUxMWMwY2VhZDVlNWUyNmM4ZDRjMjViMy4uNGNlNWQwODZm
M2FjNDllMTY3NThiMWU2NWViMDhlODM5NGEyYzkzZSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19iYWNrZW5k
X2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19iYWNrZW5kX2Rpc3BhdGNo
ZXJfaW1wbGVtZW50YXRpb24ucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBweXRo
b24KICMKLSMgQ29weXJpZ2h0IChjKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICMgQ29weXJpZ2h0IChjKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01Myw3ICs1Myw2IEBAIGNsYXNz
IE9iakNDb25maWd1cmF0aW9uSW1wbGVtZW50YXRpb25HZW5lcmF0b3IoR2VuZXJhdG9yKToKICAg
ICAgICAgc2Vjb25kYXJ5X2hlYWRlcnMgPSBbCiAgICAgICAgICAgICAnIiVzSW50ZXJuYWwuaCIn
ICUgT2JqQ0dlbmVyYXRvci5PQkpDX1BSRUZJWCwKICAgICAgICAgICAgICciJXNFbnVtQ29udmVy
c2lvbkhlbHBlcnMuaCInICUgT2JqQ0dlbmVyYXRvci5PQkpDX1BSRUZJWCwKLSAgICAgICAgICAg
ICc8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+JywKICAgICAgICAg
ICAgICc8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFsdWVzLmg+JywKICAgICAgICAgXQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9vYmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9v
YmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKaW5kZXggOTQwMThlNTlm
NmZhZjYwMjA3YmFlY2Q2NWJiNTUzYTUyYjBmZTU3ZC4uYjhkMTA4MDYwZDlhNjg1MmVhZmMwZGU5
NGM2ZmY3ODNlYzM4ZjIwZiAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNwYXRjaGVyX2lt
cGxlbWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRh
dGlvbi5weQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgogIwotIyBDb3B5
cmlnaHQgKGMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmln
aHQgKGMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5
cmlnaHQgKGMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTUwLDcgKzUwLDYgQEAgY2xhc3MgT2JqQ0Zyb250ZW5k
RGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAgICAgZGVmIGdl
bmVyYXRlX291dHB1dChzZWxmKToKICAgICAgICAgc2Vjb25kYXJ5X2hlYWRlcnMgPSBbCiAgICAg
ICAgICAgICAnIiVzRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiJyAlIE9iakNHZW5lcmF0b3IuT0JK
Q19QUkVGSVgsCi0gICAgICAgICAgICAnPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5k
Q2hhbm5lbC5oPicsCiAgICAgICAgICAgICAnPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvclZhbHVl
cy5oPicsCiAgICAgICAgIF0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oKaW5kZXggOTYzZjcwYzI0MDE1ZjhhZmQxMzVlMGVlN2M3YTJhY2VmNDkx
ZjQ3ZC4uMjFjMmMwM2JjNjhiNDU0MTJmYmNiZTEwYzJjNGQxNDgwMTEwNGJlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0yMjgwNiw3
ICsyMjgwNiw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVj
dG9yRE9NQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJ
bnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiIC8+Ci0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRm9yd2FyZGluZy5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5kQ2xpZW50Lmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9y
XEluc3BlY3RvckZyb250ZW5kSG9zdC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDhjNDgxNzMyZjhk
NGIwMzgzMWRlMmU4MmFlMTc5ODg5YmNkODY3MDMuLmU3ZmU3NmQ2MjI2ZTU5MmFjMjI3OThjZTI2
MzRmOGFmNDliYjI5NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTExOTMzLDkgKzExOTMzLDYgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZvcndhcmRp
bmcuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5k
Q2xpZW50LmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAzYmI0ZTczNGYwYWMyYTIzNzY1MTVkNWE4YmI5ODY2M2ZmN2E2YzMzLi4yZTFj
ZThhYzVjNzRmMzZhOWJiYWM1NDdkOTNiODA5ZWQ4ZjdmYzY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05OTEsNyArOTkxLDYg
QEAKIAkJMjBENjI5MjcxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjBENjI5
MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oICovOyB9Owog
CQkyMjVBMTZCNTBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyNUExNkIzMEQ1QzExRTkwMDA5
MDI5NSAvKiBXZWJFdmVudFJlZ2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTIyNUExNkI2MEQ1QzExRTkwMDA5MDI5NSAvKiBXZWJFdmVudFJl
Z2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIy
NUExNkI0MEQ1QzExRTkwMDA5MDI5NSAvKiBXZWJFdmVudFJlZ2lvbi5tbSAqLzsgfTsKLQkJMjI3
Nzc3NjAxMzQ1REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZvcndhcmRpbmcuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyNzc3NzVGMTM0NURFQTkwMDhF
QTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjI4QzI4NDUxMEQ4MjUwMDAwOUQwRDBFIC8qIFNjcmlw
dFdyYXBwYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjI4QzI4NDQxMEQ4MjUwMDAwOUQwRDBFIC8qIFNjcmlwdFdyYXBwYWJsZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTIyOTJCMjdDMTM1NjY2
OTQwMENGMTFFRiAvKiBJbWFnZUJ1ZmZlckRhdGFDRy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMjkyQjI3QjEzNTY2Njk0MDBDRjExRUYgLyogSW1h
Z2VCdWZmZXJEYXRhQ0cuY3BwICovOyB9OwogCQkyMkJEOUY3RjEzNTM2MjVDMDA5QkQxMDIgLyog
SW1hZ2VCdWZmZXJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyMkJEOUY3RDEzNTM2MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgxNzIsNyAr
ODE3MSw2IEBACiAJCTIwRDYyOTI1MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIyNUExNkIzMEQ1
QzExRTkwMDA5MDI5NSAvKiBXZWJFdmVudFJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJFdmVudFJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyMjVBMTZCNDBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24ubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJFdmVudFJlZ2lvbi5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjI3Nzc3NUYxMzQ1REVBOTAwOEVBNDU1IC8qIEluc3Bl
Y3RvckZvcndhcmRpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVj
dG9yRm9yd2FyZGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMjhDMjg0NDEw
RDgyNTAwMDA5RDBEMEUgLyogU2NyaXB0V3JhcHBhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNjcmlwdFdyYXBwYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyMjkyQjI3QjEzNTY2Njk0MDBDRjExRUYgLyogSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VCdWZmZXJEYXRhQ0cuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMkJEOUY3RDEzNTM2MjVDMDA5QkQxMDIg
LyogSW1hZ2VCdWZmZXJEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElt
YWdlQnVmZmVyRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU2NTUsNyAr
MTU2NTMsNiBAQAogCQkJCUYzRDRDNDc3MTJFMDc2NjMwMDNEQTE1MCAvKiBJbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmggKi8sCiAJCQkJN0E3NEVDQjgxMDE4MzlBNTAwQkY5MzlFIC8qIEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgKi8sCiAJCQkJN0E3NEVDQjkxMDE4MzlBNjAwQkY5MzlF
IC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oICovLAotCQkJCTIyNzc3NzVGMTM0NURFQTkw
MDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmggKi8sCiAJCQkJRjM0NEM3MTIxMTI1Qjgy
QzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggKi8sCiAJCQkJRjM0NEM3NTcx
MTI5NEZGNjAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwICovLAog
CQkJCUYzNDRDNzUyMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmggKi8sCkBAIC0yNTM0Myw3ICsyNTM0MCw2IEBACiAJCQkJN0EyNDU4N0MxMDIxRUFGNDAw
MEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGM0Q0QzQ3
OTEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJN0E3NEVDQkIxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMjI3Nzc3NjAxMzQ1REVBOTAwOEVBNDU1IC8q
IEluc3BlY3RvckZvcndhcmRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRDNzE0MTEyNUI4
MkMwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRjM0NEM3NTMxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3NzBGMTBDMDBBODgwMEEwMjc2RSAvKiBJbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcApp
bmRleCAyZGNkMjZlOTliZjNhMDdhNjc2MDhhYWUxMmQ1NzQ0MzkwNWE2MjY1Li45ZTA3OWYyZDJm
NjZjMGYyMjE4YjFhYzhmMzY5ZmIxOTg1ODNlODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNDksOSArNDksOSBAQCBJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudChJbnN0cnVtZW50aW5nQWdlbgogewogfQogCi12b2lkIEluc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCog
ZnJvbnRlbmRDaGFubmVsLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2
b2lkIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKEZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgQmFja2VuZERpc3BhdGNoZXIq
IGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkFwcGxpY2F0aW9uQ2FjaGVGcm9udGVuZERpc3BhdGNoZXI+
KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEluc3BlY3Rvcjo6QXBwbGljYXRpb25DYWNoZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJv
bnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OkFwcGxp
Y2F0aW9uQ2FjaGVCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0
aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCmluZGV4IDJkNjIxOGRkNjFlZWUwYjBkNmU2N2Y0
NDRlNmU5MmQ0ZTgzZjk4YzYuLmI0MjIwNjFkNDkzM2EzNTY2ZDVmZTc2YzUyNWY1ZWJmNzcxYzEx
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9y
UGFnZUFnZW50Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
KCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciop
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQo
SW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIq
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIHZvaWQgdXBk
YXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyhGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggZDliNTA4OTFlMDU4ZjBiNjM5ODBj
ZDdjNThiOWUzMjBkNzhiZDU4YS4uYzgyNzM2NGNlMDQ5OThmMGQyMzE1NTYwYzRiYmViZTE4ZjZj
MzI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQu
Y3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCwgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTM1NCw5ICszNTUsOSBAQCBJbnNwZWN0b3JDU1NBZ2VudDo6fkluc3BlY3RvckNTU0FnZW50KCkK
ICAgICByZXNldCgpOwogfQogCi12b2lkIEluc3BlY3RvckNTU0FnZW50OjpkaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5l
bCwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lk
IEluc3BlY3RvckNTU0FnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0g
c3RkOjptYWtlX3VuaXF1ZTxDU1NGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7
CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPENTU0Zyb250ZW5k
RGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBD
U1NCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaAppbmRleCAz
ZTliNDFlOWQwYjE5ODQzNDQ3ODI4YjMwZTA1MjU2NGZjZWU3OGY4Li41ZjYyOGY1YTIwNmIwMzVm
MGUyNzZiYjg0NTVkYmEwZGFmOGZmMzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC04Niw3ICs4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBDU1NT
dHlsZVJ1bGUqIGFzQ1NTU3R5bGVSdWxlKENTU1J1bGUmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBk
aWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lk
IGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwg
SW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFz
b24pIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNjYXJkQWdlbnQoKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZTVk
Yzc4YmY1YzUwZTc4ZDA5M2IzMGUyNzJhY2FkMTU0OGQ3ZmFiOS4uYTQ2NDBlZDFmNTYzNjFkODIz
ZTRiMmUwODk1MTc3MTY5OWY5OTMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTc0LDcgKzE3NCw2IEBAIEluc3BlY3RvckNv
bnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50
KiBpbnNwZWN0b3JDCiBJbnNwZWN0b3JDb250cm9sbGVyOjp+SW5zcGVjdG9yQ29udHJvbGxlcigp
CiB7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5yZXNldCgpOwotICAgIG1fYWdlbnRzLmRp
c2NhcmRBZ2VudHMoKTsKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yQ2xpZW50KTsKIH0KIApAQCAt
MjM1LDcgKzIzNCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5k
KEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBib29sCiAKICAgICBpZiAoY29ubmVj
dGVkRmlyc3RGcm9udGVuZCkgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnJl
Z2lzdGVySW5zdHJ1bWVudGluZ0FnZW50cygqbV9pbnN0cnVtZW50aW5nQWdlbnRzKTsKLSAgICAg
ICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKGZyb250ZW5kQ2hhbm5lbCwg
Jm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0KCkpOworICAgICAgICBtX2FnZW50cy5kaWRDcmVhdGVG
cm9udGVuZEFuZEJhY2tlbmQoJm1fZnJvbnRlbmRSb3V0ZXIuZ2V0KCksICZtX2JhY2tlbmREaXNw
YXRjaGVyLmdldCgpKTsKICAgICB9CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDU2
NDgyOWZjMWNkNjBlMzVjOGZkZDAzOTVmY2E5YTkxMTE0Y2MzMDcuLjIzMzdmOWYyNDQ0MTRjZWQ0
NTBlNjcwZTY0M2ZkMGJiM2M4ZTU2MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA5LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA5IEpvc2VwaCBQZWNvcmFybwogICoKQEAgLTIyMSw5ICsyMjEsOSBAQCBJbnNwZWN0
b3JET01BZ2VudDo6fkluc3BlY3RvckRPTUFnZW50KCkKICAgICBBU1NFUlQoIW1fc2VhcmNoaW5n
Rm9yTm9kZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5z
cGVjdG9yRE9NQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZy
b250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hl
ciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6
Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6RE9NRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENo
YW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6OkRPTUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFj
a2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OkRPTUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUo
YmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogCiAgICAgbV9oaXN0b3J5ID0gc3RkOjptYWtlX3Vu
aXF1ZTxJbnNwZWN0b3JIaXN0b3J5PigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NQWdlbnQuaAppbmRleCA3ZGJlMjRjODRkNmNiMWRhZmEyNWFlODgwMDQ1YzQ1MTc0
ZTlhNmU3Li4yZDNiZmUxN2MzYjY1NzU4YjgxYWY5YjhlYjRhNWUyM2M3Y2RkY2M1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMTA5LDcgKzEwOSw3IEBAIHB1YmxpYzoKIAog
ICAgIHN0YXRpYyBTdHJpbmcgdG9FcnJvclN0cmluZyhjb25zdCBFeGNlcHRpb25Db2RlJik7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVj
dG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIFZlY3RvcjxEb2N1bWVudCo+
IGRvY3VtZW50cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IGQ1MWQ0YmVhZTkxMjIzNTA3YjZjNDQ2Nzc5
NDRjYjI3YmEzNmM0NjQuLmJiZDkyMzAxYjU3ZWY5MjE5N2E5YjBlYzlmNjhiZjYwNTVmY2ZjNWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dl
ckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtMTAyLDcgKzEwMyw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJB
Z2VudDo6ZGlzYWJsZSgpCiAgICAgY2xlYXIoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01EZWJ1
Z2dlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hl
cikKK3ZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNw
YXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0g
SW5zcGVjdG9yOjpET01EZWJ1Z2dlckJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERp
c3BhdGNoZXIsIHRoaXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKaW5kZXggYWZlM2NmYjlkMzA5NTVkZmEzMzI5NWVm
MDk5ZWJmZmNhMjQ3Y2U2Ny4uZDFkYzUzZmIyNGFkNGY2ZmIwMWU3M2MyMzZjNTI5YWNiMzI1YmQx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTc4LDcgKzc5LDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbFNlbmRYTUxI
dHRwUmVxdWVzdChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBwYXVzZU9uTmF0aXZlRXZl
bnRJZk5lZWRlZChib29sIGlzRE9NRXZlbnQsIGNvbnN0IFN0cmluZyYgZXZlbnROYW1lLCBib29s
IHN5bmNocm9ub3VzKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlz
cGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCBkaXNjYXJkQWdlbnQoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAppbmRleCAwNGFm
ODhiY2UzZGMwMDUxNDg1YjNlMmE1MGQ5NzE2MDE3YzJmNjlmLi4zZjA4NDU5Zjc2YWU2ZDExYTA3
ODdhMTBiZTM0YzQ3MmMxOTIxOTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjcsOSArNjgsOSBAQCBJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQ6On5JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoKQogICAgIG1f
aW5zdHJ1bWVudGluZ0FnZW50cyA9IG51bGxwdHI7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciog
YmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5k
Um91dGVyLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikK
IHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9y
OjpET01TdG9yYWdlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1f
ZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkRPTVN0b3Jh
Z2VGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNw
YXRjaGVyID0gSW5zcGVjdG9yOjpET01TdG9yYWdlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShi
YWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaAppbmRleCA1MGExZGQyMWM1NzFiMmMz
Mzg3MTE0MTlhOGY0ZjEwZWE3OWM5MGRkLi42Y2Y5ZDg0MGYyOGZmMjk3MTUyZjBmNTZiYTY2Y2Jj
YjBkZjg1MTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NU3RvcmFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNTcsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQqKTsKICAg
ICB2aXJ0dWFsIH5JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNw
cAppbmRleCAxMmFiNTQzYjczOGVmYzA0N2RlYjk5MjAwMTAwOTlkNDdiZjg0YmQyLi4zMmM2MTk5
ZDhlZjM3ODNiMDlmOTdhMzI5ZTM3ODUwNTc0YTRlMjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCkBAIC0xLDUgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjIzLDkgKzIyNCw5IEBAIElu
c3BlY3RvckRhdGFiYXNlQWdlbnQ6On5JbnNwZWN0b3JEYXRhYmFzZUFnZW50KCkKICAgICBtX2lu
c3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckRhdGFiYXNlQWdlbnQobnVsbHB0cik7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rv
cjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JE
YXRhYmFzZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9u
dGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIq
IGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkRhdGFiYXNlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVu
ZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJ
bnNwZWN0b3I6OkRhdGFiYXNlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAg
ICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6RGF0YWJhc2VCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKaW5kZXggM2ZkYWEy
Y2I3NDE4ZTUyMzBhMmZmOWJhYWQwNGY2ZTZmM2YyYWQ1NC4uYmVmZDhmY2FhMTY5YjNkMmNlMTZh
YThhYjk1NGZlYWIyMzU0ZjhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtNTMsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQg
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgdmlydHVh
bCB+SW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rv
cjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxE
ZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIGNsZWFyUmVzb3VyY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRm9yd2FyZGluZy5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZvcndhcmRpbmcuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMjUwOGJiMTkzMjcxOGQ4YTlhOThmODRkOGJjZmYwYTQ0ZWZlYmU5YS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRm9yd2FyZGluZy5oCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYg
SW5zcGVjdG9yRm9yd2FyZGluZ19oCi0jZGVmaW5lIEluc3BlY3RvckZvcndhcmRpbmdfaAotCi0j
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci10eXBlZGVmIEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsIEluc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbDsKLX0KLQotI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckZvcndh
cmRpbmdfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bmRleGVkREJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnQuY3BwCmluZGV4IGMwM2JmN2U2MmIzYWQwMzVkMzNiOTJkZWQ2OGQ2YzRkZDk2
MmFkNzAuLjdlMjhiZDQ2ZDNlOTZlYzdlNDU0ZGI3NzRlMDc3NGFiYmZhZDJmYmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNw
cApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC01NzYsNyArNTc3LDcgQEAgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6On5JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudCgpCiB7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3Bl
Y3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0
b3JJbmRleGVkREJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlz
cGF0Y2hlcikKIHsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpJbmRleGVk
REJCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50
LmgKaW5kZXggMTEwNzI4YTI2ZjUwNGU1Yzg2YjZlYmNiMWNkMTdhNGExMTYyMDliMC4uNmMyZTE3
ZjJkOWE3M2E3NmVhN2ExMzNkZGFkYWUwZGY1Y2EzYTQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmgKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTMsNyArNTQsNyBAQCBw
dWJsaWM6CiAgICAgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyos
IEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7
CiAgICAgdmlydHVhbCB+SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoKTsKIAotICAgIHZpcnR1YWwg
dm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5u
ZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91
dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5l
Y3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVB
Z2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdl
bnQuY3BwCmluZGV4IGQ0M2I2OWNkNmNlZTM2N2YyZjRjY2RkNTQyZWU0NjQ0ODc0ZDUzN2IuLmVk
OGY1Y2VhZDdhMDE2ZDQzOTUwMGI5ZmIxNzZjN2JmNWJkNzkyODEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTU2
LDkgKzU2LDkgQEAgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6On5JbnNwZWN0b3JMYXllclRyZWVB
Z2VudCgpCiAgICAgcmVzZXQoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBm
cm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNw
YXRjaGVyKQordm9pZCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNw
ZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpMYXllclRyZWVG
cm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3Bh
dGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6TGF5ZXJUcmVlRnJvbnRlbmREaXNw
YXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3Bl
Y3Rvcjo6TGF5ZXJUcmVlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hl
ciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckxheWVyVHJlZUFnZW50LmgKaW5kZXggNWFiYzEzNzUzMjU2ZDg0NDUyNmUyYjM1OThmNGFjMTJi
M2NlNTc1MS4uN2I4N2MyYzQ3NzgyMTM4YjNhNjNhNmYxMzE5Y2QxODI1Mzg0YzE0NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IEluc3BlY3RvckxheWVyVHJlZUFn
ZW50KEluc3RydW1lbnRpbmdBZ2VudHMqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JMYXllclRy
ZWVBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNo
ZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRj
aGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAgICAgdm9pZCBy
ZXNldCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdl
bnQuY3BwCmluZGV4IDI4YjMwZGQxNTA5OGZiNjgwNmRjODRjNTcyYTRhY2ExZGJmZDliZWQuLjdi
ZGYxYzEwZmVlYmE2M2E4NDY5OWM2ZDU5MWE3NWI5MTY5NWRiOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMzOSw5ICszNDAsOSBAQCBJ
bnNwZWN0b3JQYWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzLAogewogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBm
cm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNw
YXRjaGVyKQordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9y
OjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVu
ZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UGFnZUZyb250ZW5kRGlz
cGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0
ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpQYWdlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVu
ZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6UGFnZUJhY2tl
bmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKaW5kZXggY2M2ZTEw
ZmFmY2VmZThhODNjZTQ1YmU1MzliMjBmMjY0MmEzMjQ5My4uZDZhNWY3NWE0MzY4MDJhMmZlZjA5
ZDNjOTNhOWI2MDVlNDEyYTlhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC0xMzksNyArMTQwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2NyaXB0
c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpOwogCiAgICAgLy8gSW5zcGVjdG9yIENvbnRyb2xsZXIg
QVBJCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAvLyBDcm9zcy1hZ2Vu
dHMgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVw
bGF5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFn
ZW50LmNwcAppbmRleCAxODFhNjA5ODJhZjcyNmMyNDRhNGMxYjMzZDZiYzg3YzI5YjUwNTg1Li5k
NTQzZTI2ODJjZGZmYjljNWE5M2EzMGJjZTFlNTFkNmQzYTQ2YmM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKQEAgLTEsNiArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTMgVW5pdmVyc2l0eSBvZiBXYXNoaW5n
dG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTE3Myw5ICsxNzMsOSBAQCBXZWJDb3JlOjpTZXNzaW9uU3RhdGUgSW5zcGVjdG9yUmVw
bGF5QWdlbnQ6OnNlc3Npb25TdGF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFnZS5yZXBsYXlD
b250cm9sbGVyKCkuc2Vzc2lvblN0YXRlKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVwbGF5QWdl
bnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5l
bCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5k
RGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5z
cGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9m
cm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UmVwbGF5RnJv
bnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRj
aGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OlJlcGxheUZyb250ZW5kRGlzcGF0Y2hl
cj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6
OlJlcGxheUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMp
OwogCiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JSZXBsYXlBZ2VudCh0
aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBs
YXlBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50
LmgKaW5kZXggM2MyYmM3Y2ZmYTFiMjNmNGMzOWM3MzkzN2Q3Zjg3ZWU1ODIwNjRhYS4uMzgyYjcx
ZTk0ZmQ2NWFkOTczYzQ4NzEzMTdmMTk0OWE0ZTFmOTcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmgKQEAgLTEsNiArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTMgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1
LDcgKzY1LDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvclJlcGxheUFnZW50KEluc3RydW1lbnRp
bmdBZ2VudHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JS
ZXBsYXlBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAv
LyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24gY2FsbGJhY2tzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCmluZGV4IDUzZTBiY2Iy
NjgyMGM1MjBkMjUzMDlhZmMzYWZhNTFmMTViZDM0YjQuLjgxYWYzYjkxMWQ4YzMxZmNmOGZmZTU4
NWVmNzU0NTBlMzEyYzg3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTczLDkgKzE3NCw5IEBAIEluc3BlY3RvclJlc291
cmNlQWdlbnQ6Okluc3BlY3RvclJlc291cmNlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluCiB7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ3JlYXRl
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENo
YW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQor
dm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQo
SW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFj
a2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNw
YXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6Ok5ldHdvcmtGcm9udGVuZERpc3Bh
dGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6
Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6TmV0d29ya0Zyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRl
bmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6Ok5ldHdvcmtC
YWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgK
aW5kZXggZTI1NTMxYzk2YmFhY2U3MDZkNjdkZGZmMDUxYzY0MDM4MGI3MDg4Ny4uZDk3Mzg3ZTc2
NmUxNTc3NGNjODAzNmVmYjViMzM5NDhjZTIyNzkwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTc4LDcgKzc5LDcgQEAgcHVibGlj
OgogICAgIEluc3BlY3RvclJlc291cmNlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3Bl
Y3RvclBhZ2VBZ2VudCosIEluc3BlY3RvckNsaWVudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3Rv
clJlc291cmNlQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5k
RGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250
ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAg
ICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uIGNhbGxiYWNrcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCBlMTIw
Yjk0MGQ0NzllY2E5Y2U1NzMwYTJjOWMxNDBmYTA5M2NhM2ZlLi4yZWFiZTI3YzNhZmY1NTU3MmFj
YTdmZGMxNWY1NDRhNTBlMWI3NDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICogQ29w
eXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIENvcHly
aWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uCisqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC04OSw5ICs5MCw5IEBAIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6On5J
bnNwZWN0b3JUaW1lbGluZUFnZW50KCkKIHsKIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5u
ZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2Vu
ZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwg
SW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAg
bV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6VGltZWxp
bmVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERp
c3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6VGltZWxpbmVGcm9udGVuZERp
c3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5z
cGVjdG9yOjpUaW1lbGluZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNo
ZXIsIHRoaXMpOwogCiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRQZXJzaXN0ZW50SW5z
cGVjdG9yVGltZWxpbmVBZ2VudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDZhYTU4NGM2ODliZDFmM2FjNmJlYjg1
OGMyNWNmZDVmZTgxOTI1OGYuLmEzZTdhZjc4NjFhZWMyZGI3ODA4ODdmNjllY2MyOTNmMzNlMDMx
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5l
QWdlbnQuaApAQCAtMSw2ICsxLDcgQEAKIC8qCiAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0
eSBvZiBXYXNoaW5ndG9uLgorKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogKgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTIwLDcg
KzEyMSw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRp
bmdBZ2VudHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQqLCBJbnNwZWN0b3JUeXBlLCBJbnNwZWN0b3JD
bGllbnQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCk7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRl
bmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9u
dGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpE
aXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgdm9pZCBzdGFydChFcnJv
clN0cmluZyYsIGNvbnN0IGludCogbWF4Q2FsbFN0YWNrRGVwdGggPSBudWxscHRyKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2Vu
dEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2VudEJhc2Uu
aAppbmRleCBkZmNjNGE4NDUzYmEyMDdmYjEzZDc2OTkzOThiYTc4ZmZlYTJlZjVjLi40OGU0YTJi
NDEyMjdkYTcwY2ZjYzc0MDIzYjRhNGFkOTVhMWZmZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViQWdlbnRCYXNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CkBAIC0yNyw3ICsyNyw2IEBACiAjaWZuZGVmIEluc3BlY3Rvcldl
YkFnZW50QmFzZV9oCiAjZGVmaW5lIEluc3BlY3RvcldlYkFnZW50QmFzZV9oCiAKLSNpbmNsdWRl
ICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAppbmRleCA1ZTIx
ZjM1YmI0ODAzYmViMWVhMmQ1OTg0YjQyZDA4NjY0NWQ5MTgxLi41MGJlMDMwNGFiYThkMGI5Njkx
NjczYmVlYjMzYTNiNTUxYWFlNWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzEsNyArMzIsNiBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmgiCiAKLSNpbmNsdWRlICJJbnNw
ZWN0b3JGb3J3YXJkaW5nLmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2lu
Y2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlUHJveHkuaCIKQEAgLTEx
NCw5ICsxMTQsOSBAQCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6fkluc3BlY3RvcldvcmtlckFnZW50
KCkKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldvcmtlckFnZW50KG51
bGxwdHIpOwogfQogCi12b2lkIEluc3BlY3RvcldvcmtlckFnZW50OjpkaWRDcmVhdGVGcm9udGVu
ZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwg
SW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIElu
c3BlY3RvcldvcmtlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0g
c3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OldvcmtlckZyb250ZW5kRGlzcGF0Y2hlcj4oZnJv
bnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlx
dWU8SW5zcGVjdG9yOjpXb3JrZXJGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsK
ICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpXb3JrZXJCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaAppbmRleCAyM2Y2ZTVjOWIx
MDY4NzE3ODdjMWY2MjU0YzBlODIwODE5MGM5YWFjLi43ZjRmN2RiNzZjNzM1YjI5YTI2ZWEwMGE2
NWE1MGE3Y2VlYWI2MWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV29ya2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yV29ya2VyQWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC01NCw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNw
ZWN0b3JXb3JrZXJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgdmlydHVhbCB+SW5z
cGVjdG9yV29ya2VyQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVu
ZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tl
bmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNr
ZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZy
b250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwog
CiAgICAgLy8gQ2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggZTI0NDVhYmY0NDNk
MDhmNDM4NGEwMzliYzllNTVkOGQ1ZjNmNzEyYi4uMzRkNTA5ZDkyMjQ5MWRlMDY5ODQ2ZTkwYmFj
OWJmNGNhNjIwMGE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VS
dW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGlt
ZUFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC02MCw5ICs2MSw5IEBAIFBhZ2VSdW50aW1lQWdlbnQ6OlBhZ2VSdW50aW1lQWdl
bnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIsCiB7CiB9CiAK
LXZvaWQgUGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2Vu
ZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBQYWdlUnVudGltZUFnZW50Ojpk
aWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciogZnJv
bnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6OlJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAg
bV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UnVudGlt
ZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXIgPSBJbnNwZWN0b3I6OlJ1bnRpbWVCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tl
bmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
UnVudGltZUFnZW50LmgKaW5kZXggZTdiMmMyNGQ4ZDBlNTQ0OWNlNzJmMTE5NGM4ZDIzNGI3MzBm
YWFmOS4uOWY4ZDM4YTU0ZGE1MzIzODY3MmIxZmRmOWFjZWQyNzU0NTI1NmRkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTU2LDcgKzU3LDcgQEAgcHVi
bGljOgogICAgIFBhZ2VSdW50aW1lQWdlbnQoSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqLCBQYWdlKiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7CiAgICAgdmlydHVhbCB+UGFnZVJ1bnRp
bWVBZ2VudCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCBkaXNhYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggMWIwMjc1
OWExNzc0YTM3YjIwZmE0ZGNkMTY4NDk5ZjY5NGE2ZGQ3YS4uNDFiMDJkMDE5MjgyNmI3MWIyODEz
MmZhYTMzOTliY2FlMzA4YjliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMyw3ICszNCw2IEBACiAKICNpbmNs
dWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIK
LSNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRl
ICJXb3JrZXJSdW50aW1lQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNs
dWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KKyNpbmNsdWRlIDxp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3RvcHdhdGNoLmg+CkBAIC01
Nyw3ICs1OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKIAotY2xhc3Mg
UGFnZUluc3BlY3RvclByb3h5IDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCB7Citj
bGFzcyBQYWdlSW5zcGVjdG9yUHJveHkgOiBwdWJsaWMgRnJvbnRlbmRDaGFubmVsIHsKICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBQYWdlSW5zcGVj
dG9yUHJveHkoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsb2JhbFNjb3BlKQpAQCAtMTIzLDcg
KzEyNCw3IEBAIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5k
KCkKIAogICAgIG1fZm9yd2FyZGluZ0NoYW5uZWwgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VJbnNw
ZWN0b3JQcm94eT4obV93b3JrZXJHbG9iYWxTY29wZSk7CiAgICAgbV9mcm9udGVuZFJvdXRlci0+
Y29ubmVjdEZyb250ZW5kKG1fZm9yd2FyZGluZ0NoYW5uZWwuZ2V0KCkpOwotICAgIG1fYWdlbnRz
LmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChtX2ZvcndhcmRpbmdDaGFubmVsLmdldCgpLCAm
bV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CisgICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKCZtX2Zyb250ZW5kUm91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hl
ci5nZXQoKSk7CiB9CiAKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVj
dEZyb250ZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRl
eCBhYTRmNDNmZDgxMzAzMTY1ZjliZWY3ZjQyYjZjMTczYjE3ZjE1ZDhiLi5hYjE2YTYzZDFhZWE3
NjZjNWJkNTQxZGY5MGZlOWZiNTM0MmU1NWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDIsNiArNDMsNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFzcyBGcm9u
dGVuZENoYW5uZWw7CiBjbGFzcyBGcm9udGVuZFJvdXRlcjsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggMTIyMmU1NTI3OThi
YjYzNzM5OWY4YWU3NTdiNGZmNGZkYmQyZTUwZC4uYzk0M2UyYTk0OTY5Zjk2YzczYzJlNzMwMTU4
NDJiNjczN2M3YmQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
clJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1
bnRpbWVBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtNTMsNyArNTQsNyBAQCBXb3JrZXJSdW50aW1lQWdlbnQ6OldvcmtlclJ1
bnRpbWVBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYQogewog
fQogCi12b2lkIFdvcmtlclJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hl
ciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIFdvcmtlclJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRl
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6
OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKICAgICBtX2JhY2tlbmRE
aXNwYXRjaGVyID0gSW5zcGVjdG9yOjpSdW50aW1lQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShi
YWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyUnVudGltZUFnZW50LmgKaW5kZXggODc4YmRkMjQ4YjA4YmUxYzhhZjRlZjQ1NzI3MzM0
ZTcwOGE5MGMzYS4uNmQ0MzM2NDE5YWJhNWNhMzExMGI1MjhmMmQyNzM3NjA4MmE4MTA0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuaApAQCAtMSw1
ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00Myw3ICs0
NCw3IEBAIHB1YmxpYzoKICAgICBXb3JrZXJSdW50aW1lQWdlbnQoSW5zcGVjdG9yOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIqLCBXb3JrZXJHbG9iYWxTY29wZSopOwogICAgIHZpcnR1YWwgfldvcmtl
clJ1bnRpbWVBZ2VudCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2Vu
ZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tl
bmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJv
bnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcnVuKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZURlYnVnZ2FibGUuY3BwCmluZGV4IDI0OTgzYmVjNGE3OWNlNzM4YjQzZTkwZTI4
ZGMwMDVlMzhhNmI0YWMuLmZkZjQ3MDg5MGI0ZWMwZDcxMmZiMDY3YjJhMjE0MmUwZGU4ZmRlOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZURlYnVnZ2FibGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZURlYnVnZ2FibGUuY3BwCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCw3ICszMCw2IEBACiAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIK
LSNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgi
CiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggM2I5ZWFhYzJiZTI4ZjdhYzhmZDRhNzI4NTMzZmQyOTEx
NTBmOGNkMS4uNjQzZGY5NTM0ZDcxYjAzZjk5YzMwNDUxZjNkNWUxNzdlYzFmOTk4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMtMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY5LDcgKzY5LDYgQEAKICNpbmNsdWRl
ICJJY29uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5n
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIgogI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXku
aCIKQEAgLTEyMCw2ICsxMTksNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Byb2ZpbGUu
aD4KICNpbmNsdWRlIDxieXRlY29kZS9Db2RlQmxvY2suaD4KICNpbmNsdWRlIDxpbnNwZWN0b3Iv
SW5zcGVjdG9yQWdlbnRCYXNlLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNp
bmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFs
dWUuaD4KQEAgLTIzMyw3ICsyMzMsNyBAQCBJbnNwZWN0b3JGcm9udGVuZENsaWVudER1bW15OjpJ
bnNwZWN0b3JGcm9udGVuZENsaWVudER1bW15KEluc3BlY3RvckNvbnRyb2xsZXIqCiB7CiB9CiAK
LWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbER1bW15IDogcHVibGljIEluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbCB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxEdW1teSA6IHB1
YmxpYyBGcm9udGVuZENoYW5uZWwgewogcHVibGljOgogICAgIGV4cGxpY2l0IEluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbER1bW15KFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWxEdW1teSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCAwMWI0YmM5MDRjNzM1NzFjZGI2YTNj
OTEzOTIyZjM0OGJlNWFlZTZhLi41NTUxNjA0NDc2ZTgxMzlhNjFkOWJhYWE0ZWI5YTkwZjc5ZWI5
NWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAwNiwgMjAwNywgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw0NSArMjcsMzUgQEAKICAqLwogCiAj
aW1wb3J0IDxXZWJDb3JlL0luc3BlY3RvckNsaWVudC5oPgotI2ltcG9ydCA8V2ViQ29yZS9JbnNw
ZWN0b3JGb3J3YXJkaW5nLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwuaD4KIAorI2ltcG9ydCA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5l
bC5oPgorI2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg+CiAj
aW1wb3J0IDx3dGYvRm9yd2FyZC5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KICNpbXBvcnQg
PHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KICNpbXBv
cnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWZkZWYgX19PQkpDX18KLUBjbGFzcyBOU1VS
TDsKLUBjbGFzcyBXZWJJbnNwZWN0b3JSZW1vdGVDaGFubmVsOwotQGNsYXNzIFdlYkluc3BlY3Rv
cldpbmRvd0NvbnRyb2xsZXI7Ci1AY2xhc3MgV2ViTm9kZUhpZ2hsaWdodGVyOwotQGNsYXNzIFdl
YlZpZXc7Ci0jZWxzZQotY2xhc3MgTlNVUkw7Ci1jbGFzcyBXZWJJbnNwZWN0b3JSZW1vdGVDaGFu
bmVsOwotY2xhc3MgV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlcjsKLWNsYXNzIFdlYk5vZGVI
aWdobGlnaHRlcjsKLWNsYXNzIFdlYlZpZXc7Ci0jZW5kaWYKK09CSkNfQ0xBU1MgTlNVUkw7CitP
QkpDX0NMQVNTIFdlYkluc3BlY3RvclJlbW90ZUNoYW5uZWw7CitPQkpDX0NMQVNTIFdlYkluc3Bl
Y3RvcldpbmRvd0NvbnRyb2xsZXI7CitPQkpDX0NMQVNTIFdlYk5vZGVIaWdobGlnaHRlcjsKK09C
SkNfQ0xBU1MgV2ViVmlldzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotCiBjbGFzcyBGcmFtZTsK
IGNsYXNzIFBhZ2U7Ci0KIH0KIAogY2xhc3MgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ7CiAK
LWNsYXNzIFdlYkluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JDbGll
bnQsIHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3MgV2Vi
SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudCwgcHVibGlj
IEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBXZWJJ
bnNwZWN0b3JDbGllbnQoV2ViVmlldyAqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JE
ZXN0cm95ZWQoKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgV2ViQ29yZTo6SW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsKiBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29u
dHJvbGxlciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5u
ZWwqIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyKikg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRvRnJvbnQoKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVzaXplTWFpbkZyYW1lKFdlYkNvcmU6OkZyYW1lKikgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW0KaW5kZXggNmU1NDU2YjMxMDM1YzEyMjk1MjgyMTJmOWU0ZGQ4Yzdj
ZDcyZDRmMC4uNGRlOGM0MGU3NDk3MmI1NjhjNmNmM2ViODNjNTBiNmY1NTgwODdiMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcs
IDIwMDggQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNi0yMDA4LCAyMDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU4LDYgKzU4LDcgQEAKIFNPRlRfTElOS19TVEFH
RURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQcml2YXRlRnJhbWV3b3JrcywgQSkKIAogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBzdGF0
aWMgY29uc3QgQ0dGbG9hdCBtaW5pbXVtV2luZG93V2lkdGggPSA1MDA7CiBzdGF0aWMgY29uc3Qg
Q0dGbG9hdCBtaW5pbXVtV2luZG93SGVpZ2h0ID0gNDAwOwpAQCAtMTA2LDcgKzEwNyw3IEBAIHZv
aWQgV2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0
aGlzOwogfQogCi1JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6
b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRy
b2xsZXIpCitGcm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3Rv
ckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCiB7CiAg
ICAgUmV0YWluUHRyPFdlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXI+IHdpbmRvd0NvbnRyb2xs
ZXIgPSBhZG9wdE5TKFtbV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciBhbGxvY10gaW5pdFdp
dGhJbnNwZWN0ZWRXZWJWaWV3Om1fd2ViVmlldyBpc1VuZGVyVGVzdDppbnNwZWN0b3JDb250cm9s
bGVyLT5pc1VuZGVyVGVzdCgpXSk7CiAgICAgW3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgc2V0SW5z
cGVjdG9yQ2xpZW50OnRoaXNdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCA5NTY4ZGEwMzNmZTQ2NDc3YWZmMTNj
YjczNDg3MWE2M2UwMzAyMmNmLi4zZjM5MmUwZTA5N2E2MmM4NTFmMTAzZTQ0MGJmODUxMDZjYmFl
MTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcsIDIwMTQgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNiwgMjAwNywgMjAxNCwgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxXZWJDb3JlL0NPTVB0ci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVj
dG9yQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JGb3J3YXJkaW5nLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9XaW5kb3dNZXNzYWdlTGlzdGVuZXIuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVj
dG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgK
aW5kZXggMDAxMjg3OWNmYTljNmQxYjQ1ZDIzMDg4MGNlMjJkOThkZGI4YWQyNC4uOGRiZjY2MTA0
NDdmNTQ2Y2VmNjlhZGY3OWQzZjhjMjE2ZGMwM2YyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNyArMjks
NyBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNp
bmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckZv
cndhcmRpbmcuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNz
IFdlYlBhZ2U7CiAKLWNsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8
QVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZUluc3BlY3Rvcj4sIHB1YmxpYyBJUEM6OkNvbm5lY3Rp
b246OkNsaWVudCwgcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCB7Citj
bGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpU
eXBlOjpCdW5kbGVJbnNwZWN0b3I+LCBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1
YmxpYyBJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxXZWJJbnNwZWN0b3I+IGNyZWF0ZShXZWJQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKaW5kZXggOWQwM2ZjMDljYWQw
ZWQzZTczNDJjZDkyMDFiMTI4MDVhMmZmYTcxMy4uN2Q5MzUxMGJkYWRlMTczZDZlZjRkODU5YmVk
ZTViYmFmMTZlNzRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYkluc3BlY3RvclVJLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYkluc3BlY3RvclVJLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3Rv
ckZvcndhcmRpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaD4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260646</attachid>
            <date>2015-09-04 16:27:50 -0700</date>
            <delta_ts>2015-09-04 16:54:36 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-148492-20150904162747.patch</filename>
            <type>text/plain</type>
            <size>97554</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NWViZWJiOTgzNDQ1MTZmYjUxOGQwZGZjY2QzZGFkNmY3YzM1NWJkLi4xYWQyN2U3MmE4ZTkzNzFk
ZjNkNzA1ZjczYjQ2YjVkMWU3ZjlmYzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNlbmQgbWVzc2FnZXMgdGhyb3Vn
aCBGcm9udGVuZFJvdXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hhbm5lbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NDkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBGcm9u
dGVuZENoYW5uZWwgd2l0aCBGcm9udGVuZFJvdXRlci4gTWlub3IgY2xlYW51cHMgYWxvbmcgdGhl
IHdheS4gIAorCisgICAgICAgIE1ha2UgQWdlbnRSZWdpc3RyeSBhdXRvbWF0aWNhbGx5IHNpZ25h
bCBkaXNjYXJkQWdlbnQoKSBpbiBpdHMgZGVzdHJ1Y3Rvciwgc2luY2UgaXQgYWx3YXlzCisgICAg
ICAgIGdldHMgZXhlY3V0ZWQgaW4gdGhlIG93bmluZyBjb250cm9sbGVyJ3MgZGVzdHJ1Y3RvciBh
bnl3YXkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAoSW5z
cGVjdG9yOjpBZ2VudFJlZ2lzdHJ5Ojp+QWdlbnRSZWdpc3RyeSk6CisgICAgICAgIChJbnNwZWN0
b3I6OkFnZW50UmVnaXN0cnk6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAg
IChJbnNwZWN0b3I6OkFnZW50UmVnaXN0cnk6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6QWdlbnRSZWdpc3RyeTo6ZGlzY2FyZEFnZW50cyk6IERl
bGV0ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5jcHA6CisgICAgICAgIChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyOjpsZWFrQ2hhbm5lbCk6IERlbGV0ZWQsIG5vIGxvbmdlciBu
ZWNlc3NhcnkuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg6
CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmFw
cGVuZEV4dHJhQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3Bl
Y3RvckNvbnRyb2xsZXI6On5KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKElu
c3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAg
ICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVu
dGltZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9y
L2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weToKKyAg
ICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rp
c3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBCYWNrZW5kRGlzcGF0Y2hl
ckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgICogaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3Iu
Z2VuZXJhdGVfb3V0cHV0LkZyb250ZW5kUm91dGVyKToKKyAgICAgICAgKENwcEZyb250ZW5kRGlz
cGF0Y2hlckhlYWRlckdlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1w
bGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1lbnRh
dGlvbkdlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQpOgorICAgICAgICAoQ3BwRnJvbnRlbmREaXNw
YXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IuX2dlbmVyYXRlX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb25fZm9yX2V2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2Vu
L2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAg
ICAgICAoT2JqQ0NvbmZpZ3VyYXRpb25JbXBsZW1lbnRhdGlvbkdlbmVyYXRvci5nZW5lcmF0ZV9v
dXRwdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2Jq
Y19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAgICAgICAoT2JqQ0Zy
b250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6
CisKIDIwMTUtMDktMDQgIFN1a29sc2FrIFNha3NodXdvbmcgIDxzdWtvbHNha0BnbWFpbC5jb20+
CiAKICAgICAgICAgSW1wbGVtZW50IHRoZSBHZXRMb2NhbCBhbmQgU2V0TG9jYWwgaW5zdHJ1Y3Rp
b25zIGluIFdlYkFzc2VtYmx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlNGJmNDNjYmJkYjgxMmI0NGZjNjU4
NjliNTlmNDk4YTNjN2EwOS4uNTY4OTIyZTEzMjZkMzUxZmVhZTNmZDQyMWU3NTRkYzM3Yzc0OWE1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8
YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFnZW50cyBzaG91bGQg
c2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5kUm91dGVyIGluc3RlYWQgb2YgRnJvbnRlbmRD
aGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAg
UmVwbGFjZSB1c2VzIG9mIEZyb250ZW5kQ2hhbm5lbCB3aXRoIEZyb250ZW5kUm91dGVyLiBNaW5v
ciBjb2RlIGNsZWFudXAgYWxvbmcgdGhlIHdheS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5v
IGJlaGF2aW9yIGNoYW5nZWQuCisKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6fkluc3BlY3RvckNvbnRyb2xsZXIpOiBObyBuZWVk
IHRvIGNhbGwgZGlzY2FyZEFnZW50cygpLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRhdGFiYXNlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRm9yd2FyZGlu
Zy5oOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5o
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2VudEJhc2UuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29y
a2VyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvcldvcmtlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VSdW50
aW1lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZVJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RG
cm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlclJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50Lmg6CisgICAgICAgICog
cGFnZS9QYWdlRGVidWdnYWJsZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorCiAyMDE1LTA5LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgZGlzcGF0Y2hFdmVudCgpIHNob3VsZCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciBpZiB0
aGUgZXZlbnQncyBpbml0aWFsaXplZCBmbGFnIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCBlM2ZjNWFhNTUzNjhjYTljMzVlM2M0YzRhYWUyYzc2N2Y2MTM4OTlmLi5mYThjZmYwYzFiOTRm
YjMwZTk5Y2EyNmE2MzE0ZmEwOWQ0NzQ1ODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MTYgQEAKIDIwMTUtMDktMDQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogYWdlbnRzIHNob3VsZCBzZW5kIG1lc3NhZ2VzIHRocm91Z2ggRnJv
bnRlbmRSb3V0ZXIgaW5zdGVhZCBvZiBGcm9udGVuZENoYW5uZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODQ5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5oOiBDbGVhbiB1cCB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMsIGRvbid0IHVz
ZSBJbnNwZWN0b3JGb3J3YXJkaW5nLmguCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVj
dG9yRnJvbnRlbmQpOgorCisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvckNvbnRyb2xsZXIgc2hvdWxkIHN1
cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQgY2hhbm5lbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODUzOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOTBl
N2RhMjhiZDY5ZDExMzA3NDdlZmQ2MTE4YTYxOTA4ZmJiNTMwZC4uYjhhZDk4YTI5ODhlYzI2NTlm
MWUyNzc5NWVhZWM2YTFjNzI0ODVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBA
CiAyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGFnZW50cyBzaG91bGQgc2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5k
Um91dGVyIGluc3RlYWQgb2YgRnJvbnRlbmRDaGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBK
b3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgU3RvcCB1c2luZyBJbnNwZWN0b3JGb3J3YXJkaW5n
LmguCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKwor
MjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbnNwZWN0b3JDb250cm9sbGVyIHNob3VsZCBzdXBwb3J0IG11bHRpcGxlIGZy
b250ZW5kIGNoYW5uZWxzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDg1MzgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDM3NGQyZDZkYjUxMmFmZmNkMDQxYjJmZDli
YjA4NmZmNThlNDkyMzAuLjkyYzJjN2JmYmQzNjIxOGY0ZjQzM2VmNGRmYTU4MTU1YmM5MmRlMGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJi
dXJnQGFwcGxlLmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNl
bmQgbWVzc2FnZXMgdGhyb3VnaCBGcm9udGVuZFJvdXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hh
bm5lbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4
NDkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFN0
b3AgdXNpbmcgSW5zcGVjdG9yRm9yd2FyZGluZy5oLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3JVSS5oOgorCisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvckNvbnRyb2xsZXIgc2hvdWxkIHN1
cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQgY2hhbm5lbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODUzOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaAppbmRleCA2MzQwNGNmNTQy
NTRhZDZhM2VhYTFhNWYyN2M0OWI5MTc3MmM4NTE0Li5mNGFlYjA3ZTk4MmU4M2M5MGQyZjk2MjJm
MWQ5Y2U4NTYyNWY1OTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBjbGFz
cyBCYWNrZW5kRGlzcGF0Y2hlcjsKLWNsYXNzIEZyb250ZW5kQ2hhbm5lbDsKK2NsYXNzIEZyb250
ZW5kUm91dGVyOwogCiBlbnVtIGNsYXNzIERpc2Nvbm5lY3RSZWFzb24gewogICAgIEluc3BlY3Rl
ZFRhcmdldERlc3Ryb3llZCwKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5n
IGRvbWFpbk5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiwgQmFja2VuZERp
c3BhdGNoZXIqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpc2NhcmRBZ2VudCgpIHsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5
LmNwcAppbmRleCBiY2MwOTg4MjE0YTYxZGYxZWE2NzM0M2Q1MzIyNjE1MjVlN2VmNDM5Li4zNWMz
NGIzZmYxZTc5ZTkxMGViMzRlNGI5OWFjOGJlMjBmNDIwNTEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM1LDYgKzM1LDE0
IEBAIEFnZW50UmVnaXN0cnk6OkFnZW50UmVnaXN0cnkoKQogewogfQogCitBZ2VudFJlZ2lzdHJ5
Ojp+QWdlbnRSZWdpc3RyeSgpCit7CisgICAgLy8gQWxsb3cgYWdlbnRzIHRvIHJlbW92ZSBjcm9z
cy1yZWZlcmVuY2VzIHRvIG90aGVyIGFnZW50cyB0aGF0IHdvdWxkIG90aGVyd2lzZQorICAgIC8v
IG1ha2UgaXQgZGlmZmljdWx0IHRvIGVzdGFibGlzaCBhIGNvcnJlY3QgZGVzdHJ1Y3Rpb24gb3Jk
ZXIgZm9yIGFsbCBhZ2VudHMuCisgICAgZm9yIChhdXRvJiBhZ2VudCA6IG1fYWdlbnRzKQorICAg
ICAgICBhZ2VudC0+ZGlzY2FyZEFnZW50KCk7ICAgIAorfQorCiB2b2lkIEFnZW50UmVnaXN0cnk6
OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNlPiBhZ2VudCkKIHsKICAg
ICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKGFnZW50KSk7CkBAIC00OSwyMiArNTcsMTYgQEAg
dm9pZCBBZ2VudFJlZ2lzdHJ5OjphcHBlbmRFeHRyYUFnZW50KHN0ZDo6dW5pcXVlX3B0cjxJbnNw
ZWN0b3JBZ2VudEJhc2U+IGFnZW50KQogfQogI2VuZGlmCiAKLXZvaWQgQWdlbnRSZWdpc3RyeTo6
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFu
bmVsLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEFnZW50UmVn
aXN0cnk6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRl
bmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYWdlbnRzLnNpemUoKTsgaSsrKQotICAgICAgICBtX2Fn
ZW50c1tpXS0+ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKGZyb250ZW5kQ2hhbm5lbCwgYmFj
a2VuZERpc3BhdGNoZXIpOworICAgIGZvciAoYXV0byYgYWdlbnQgOiBtX2FnZW50cykKKyAgICAg
ICAgYWdlbnQtPmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChmcm9udGVuZFJvdXRlciwgYmFj
a2VuZERpc3BhdGNoZXIpOwogfQogCiB2b2lkIEFnZW50UmVnaXN0cnk6OndpbGxEZXN0cm95RnJv
bnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RSZWFzb24gcmVhc29uKQogewotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9hZ2VudHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIG1fYWdlbnRzW2ld
LT53aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChyZWFzb24pOwotfQotCi12b2lkIEFnZW50
UmVnaXN0cnk6OmRpc2NhcmRBZ2VudHMoKQotewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9hZ2VudHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIG1fYWdlbnRzW2ldLT5kaXNjYXJkQWdlbnQo
KTsKKyAgICBmb3IgKGF1dG8mIGFnZW50IDogbV9hZ2VudHMpCisgICAgICAgIGFnZW50LT53aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChyZWFzb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnRSZWdpc3RyeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmgKaW5kZXggOTYyZjAwNmRmNzI3MTNjMmQ5NDdmZTg3NTc5
NGM4Nzk4MDk1NmM0Ny4uNjFhZTlhMGNhMzhmNzc5YjE5YjNlOWZjYjdiOWIxNTU1YTk5NzQ3MSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dFJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBZ2VudFJlZ2lzdHJ5LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
QEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBjbGFzcyBCYWNrZW5k
RGlzcGF0Y2hlcjsKLWNsYXNzIEZyb250ZW5kQ2hhbm5lbDsKK2NsYXNzIEZyb250ZW5kUm91dGVy
OwogY2xhc3MgSW5zcGVjdG9yQWdlbnRCYXNlOwogCiBlbnVtIGNsYXNzIERpc2Nvbm5lY3RSZWFz
b247CkBAIC00MSwxMiArNDEsMTIgQEAgZW51bSBjbGFzcyBEaXNjb25uZWN0UmVhc29uOwogY2xh
c3MgSlNfRVhQT1JUX1BSSVZBVEUgQWdlbnRSZWdpc3RyeSB7CiBwdWJsaWM6CiAgICAgQWdlbnRS
ZWdpc3RyeSgpOworICAgIH5BZ2VudFJlZ2lzdHJ5KCk7CiAKICAgICB2b2lkIGFwcGVuZChzdGQ6
OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNlPik7CiAKLSAgICB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqLCBCYWNrZW5kRGlzcGF0Y2hlciopOwor
ICAgIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFj
a2VuZERpc3BhdGNoZXIqKTsKICAgICB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KERpc2Nvbm5lY3RSZWFzb24pOwotICAgIHZvaWQgZGlzY2FyZEFnZW50cygpOwogCiAjaWYgRU5B
QkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgdm9pZCBhcHBlbmRFeHRy
YUFnZW50KHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JBZ2VudEJhc2U+KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlci5jcHAKaW5kZXggMDkzNmI0MTExYzI0MTMzNGQ3NDljMjI0MWQzYjZjMTQ1MTg2
OTA3ZC4uOWYwYjAzZTY4YWUzZGNmYjk5YzA2ZjFmNDZlN2RmMTg4Mzg1ODg2NSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlci5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIgogCi0jaW5jbHVkZSAi
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRS
b3V0ZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlIDx3dGYvVGVt
cG9yYXJ5Q2hhbmdlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCmluZGV4IDI4N2E2NzhhNjVlZmJl
YjYwZjVmZGQ4YjNjMTIyOTVmZGQ2ZWQzMTAuLjY1Zjg1MjVhMmU4ODNhOWUxZWFhM2EzMzU2YjIx
NmQyZTAzMzNkMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCkBAIC02NSwxNSArNjUsNiBAQCB2
b2lkIEZyb250ZW5kUm91dGVyOjpkaXNjb25uZWN0QWxsRnJvbnRlbmRzKCkKICAgICBtX2Nvbm5l
Y3Rpb25zLmNsZWFyKCk7CiB9CiAKLS8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQ4
NDkyPiByZW1vdmUgdGhpcyBtZXRob2Qgb25jZSBhZ2VudHMgbW92ZSB0byB1c2luZyBGcm9udGVu
ZFJvdXRlciBkaXJlY3RseS4KLUZyb250ZW5kQ2hhbm5lbCogRnJvbnRlbmRSb3V0ZXI6OmxlYWtD
aGFubmVsKCkgY29uc3QKLXsKLSAgICBpZiAobV9jb25uZWN0aW9ucy5zaXplKCkpCi0gICAgICAg
IHJldHVybiBtX2Nvbm5lY3Rpb25zLmF0KDApOwotCi0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0K
IGJvb2wgRnJvbnRlbmRSb3V0ZXI6Omhhc0xvY2FsRnJvbnRlbmQoKSBjb25zdAogewogICAgIGZv
ciAoYXV0byogY29ubmVjdGlvbiA6IG1fY29ubmVjdGlvbnMpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaApp
bmRleCA0YTY0MTFiZWM0MjY1NzcwMDVkMjg5YmQ0MzNkYjBhMDM4MjMzOWJhLi40OWI5NTgzZTQ3
MGFiNjhjN2U1NDhmYmEzZjJjNDE4YTFkZTliZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oCkBAIC00
NSw5ICs0NSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nvbm5lY3RGcm9udGVuZChGcm9udGVu
ZENoYW5uZWwqKTsKICAgICB2b2lkIGRpc2Nvbm5lY3RBbGxGcm9udGVuZHMoKTsKIAotICAgIC8v
IEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQ4NDkyPiByZW1vdmUgdGhpcyBtZXRob2Qg
b25jZSBhZ2VudHMgbW92ZSB0byB1c2luZyBGcm9udGVuZFJvdXRlciBkaXJlY3RseS4KLSAgICBG
cm9udGVuZENoYW5uZWwqIGxlYWtDaGFubmVsKCkgY29uc3Q7Ci0KICAgICB2b2lkIHNlbmRFdmVu
dChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIGNvbnN0OwogICAgIHZvaWQgc2VuZFJlc3BvbnNlKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCAzMzUwZmMwZDE4OTUxZjA4MmZhNzk3MTEyMDdhNWIyODA3ZWY0
Y2FjLi5kYmQyZTc2YzZhMTYxNmVjNDBiOTgyMzZjYTY5ZjBlZmM4ZDRjMjMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NCwxNCArNjQsOSBAQCBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKEpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiAgICAgOiBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiAgICAgLCBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEluamVjdGVkU2NyaXB0TWFuYWdlcj4oKnRoaXMs
IEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQorICAgICwgbV9leGVjdXRpb25TdG9wd2F0
Y2goU3RvcHdhdGNoOjpjcmVhdGUoKSkKICAgICAsIG1fZnJvbnRlbmRSb3V0ZXIoRnJvbnRlbmRS
b3V0ZXI6OmNyZWF0ZSgpKQogICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKG1fZnJvbnRlbmRSb3V0ZXIuY29weVJlZigpKSkKLSAgICAsIG1fZXhlY3V0
aW9uU3RvcHdhdGNoKFN0b3B3YXRjaDo6Y3JlYXRlKCkpCi0gICAgLCBtX2luY2x1ZGVOYXRpdmVD
YWxsU3RhY2tXaXRoRXhjZXB0aW9ucyh0cnVlKQotICAgICwgbV9pc0F1dG9tYXRpY0luc3BlY3Rp
b24oZmFsc2UpCi0jaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCi0g
ICAgLCBtX2F1Z21lbnRpbmdDbGllbnQobnVsbHB0cikKLSNlbmRpZgogewogICAgIGF1dG8gaW5z
cGVjdG9yQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFnZW50PigqdGhpcyk7CiAg
ICAgYXV0byBydW50aW1lQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0UnVu
dGltZUFnZW50PigqbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIsIG1fZ2xvYmFsT2JqZWN0KTsKQEAg
LTk1LDcgKzkwLDYgQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKIAogSlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyOjp+SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKCkK
IHsKLSAgICBtX2FnZW50cy5kaXNjYXJkQWdlbnRzKCk7CiB9CiAKIHZvaWQgSlNHbG9iYWxPYmpl
Y3RJbnNwZWN0b3JDb250cm9sbGVyOjpnbG9iYWxPYmplY3REZXN0cm95ZWQoKQpAQCAtMTE3LDcg
KzExMSw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0
RnJvbnRlbmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuCiAgICAgaWYgKCFjb25uZWN0ZWRGaXJz
dEZyb250ZW5kKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoZnJvbnRlbmRDaGFubmVsLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQo
KSk7CisgICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKCZtX2Zyb250ZW5k
Um91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CiAKICNpZiBFTkFCTEUo
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykKICAgICBtX2luc3BlY3RvckFnZW50LT5h
Y3RpdmF0ZUV4dHJhRG9tYWlucyhtX2FnZW50cy5leHRyYURvbWFpbnMoKSk7CkBAIC0yNzcsNyAr
MjcxLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmFwcGVuZEV4
dHJhQWdlbnQoc3RkOjp1bmlxdWVfcHRyPEluc3BlY3QKIHsKICAgICBTdHJpbmcgZG9tYWluTmFt
ZSA9IGFnZW50LT5kb21haW5OYW1lKCk7CiAKLSAgICBhZ2VudC0+ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKG1fZnJvbnRlbmRSb3V0ZXItPmxlYWtDaGFubmVsKCksICZtX2JhY2tlbmREaXNw
YXRjaGVyLmdldCgpKTsKKyAgICBhZ2VudC0+ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKCZt
X2Zyb250ZW5kUm91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CiAKICAg
ICBtX2FnZW50cy5hcHBlbmRFeHRyYUFnZW50KFdURjo6bW92ZShhZ2VudCkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBhYWUzMmUzYzg5OTNiZjcwN2U2NmI3
ZjUyMDU4MjMyYTczYTczOTcxLi5lMTEzMDg1ZDVjYzk4ZGI4NTJmODVkM2Q2YWQzOWFkYjE5NDQ0
MWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFs
T2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTExMiwxOCArMTEy
LDIxIEBAIHByaXZhdGU6CiAgICAgSlNDOjpKU0dsb2JhbE9iamVjdCYgbV9nbG9iYWxPYmplY3Q7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluamVjdGVkU2NyaXB0TWFuYWdlcj4gbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEpTR2xvYmFsT2JqZWN0Q29uc29sZUNs
aWVudD4gbV9jb25zb2xlQ2xpZW50OwotICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFn
ZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7Ci0gICAgSW5z
cGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50OworICAgIFJlZjxXVEY6OlN0b3B3
YXRjaD4gbV9leGVjdXRpb25TdG9wd2F0Y2g7CisKICAgICBBZ2VudFJlZ2lzdHJ5IG1fYWdlbnRz
OworICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50IHsgbnVsbHB0ciB9OworICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQgeyBudWxscHRyIH07CisgICAg
SW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50IHsgbnVsbHB0ciB9OworCiAg
ICAgUmVmPEZyb250ZW5kUm91dGVyPiBtX2Zyb250ZW5kUm91dGVyOwogICAgIFJlZjxCYWNrZW5k
RGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKLSAgICBSZWY8V1RGOjpTdG9wd2F0Y2g+
IG1fZXhlY3V0aW9uU3RvcHdhdGNoOwotICAgIGJvb2wgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNr
V2l0aEV4Y2VwdGlvbnM7Ci0gICAgYm9vbCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbjsKKworICAg
IGJvb2wgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNrV2l0aEV4Y2VwdGlvbnMgeyBmYWxzZSB9Owor
ICAgIGJvb2wgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb24geyBmYWxzZSB9OwogCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCi0gICAgQXVnbWVudGFibGVJbnNwZWN0
b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQ7CisgICAgQXVnbWVudGFibGVJ
bnNwZWN0b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQgeyBudWxscHRyIH07
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAppbmRleCA4NjIyNGJhNmJiNjNiNDk1ZWRh
YTA2NmMyN2ZjNDNhYzc2ODBlNjkxLi41N2ZlNWFhZmRjYjEzYWY1NzM0MWM2ZDE2NWI1MmU5ZmQ4
ZjYyYzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCkBAIC00OCw5ICs0OCw5IEBAIEluc3BlY3RvckFn
ZW50Ojp+SW5zcGVjdG9yQWdlbnQoKQogewogfQogCi12b2lkIEluc3BlY3RvckFnZW50OjpkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWws
IEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yQWdl
bnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRlbmRS
b3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yRnJvbnRlbmREaXNw
YXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3Rk
OjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVy
KTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6
OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oCmluZGV4
IGI3MWYxY2VjZmZjMmMzZDliY2YwZDM5NzgyM2E1MzNmZjYzNDlmZWIuLjFlOGZiNjkwZWI1NWZm
YmNlNDVkMDExOGI5NWM0NGRiNjA3MTA5ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTAsIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01MSw3
ICs1MSw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBZ2VudChJbnNwZWN0b3JFbnZpcm9ubWVu
dCYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCosIEJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyYp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggMWYxZDliMWJh
MDQ3NjczYTZkMDgxNDc5NTUxNTNiMDAwZDMwMThhZC4uNjQ5YzAyOWE0ZDcwZDUyNWQwOGNkZTgw
Y2ZhNzIzMjAxMDMyYTQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01Myw5ICs1Myw5IEBAIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudDo6fkluc3BlY3RvckNvbnNvbGVBZ2VudCgpCiB7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRl
bmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlz
cGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hl
ciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6
Om1ha2VfdW5pcXVlPENvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7
CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnNvbGVGcm9u
dGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVy
ID0gQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRo
aXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCmluZGV4IGIyM2Q2ZjQ2YWE5MTk4
MTc1ZmU0NzU1ZGU5ODU5NDcyNjczOTY3Y2EuLmQxMjE0N2UyNmYwMTM1MTQ3MWViZjU3MzhmNTk1
YWNkNDgxYjA2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVj
dG9yQ29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciYpOwogICAgIHZpcnR1YWwgfklu
c3BlY3RvckNvbnNvbGVBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqLCBCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRl
bmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uKSBvdmVycmlk
ZTsKIAogICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggYWNhYzE3MGE0MDMxNTEwMGMxNjMy
Nzg5NWZiNzQ5Y2Y5MGZjN2E5NS4uNjg1MzY3MGE3YTBmYWQ0NWRiZTJlM2E2NGFlMDJjYWVjMjVl
MmJkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTEsNiArMSw2IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTMsIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTY5LDkgKzY5LDkgQEAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6fkluc3BlY3RvckRl
YnVnZ2VyQWdlbnQoKQogewogfQogCi12b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwg
QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JEZWJ1
Z2dlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqIGZy
b250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0g
ICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPERlYnVnZ2VyRnJvbnRl
bmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxEZWJ1Z2dlckZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRS
b3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBEZWJ1Z2dlckJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmgKaW5kZXggMDBiNjJjOGM3ZDE4MzM1NDNhZjNjY2UyZmUxMGMxYWI5ZjI5
NmEwZi4uOGQxOTQyNTFmMTUwODMyNzkxMzliYzM3Yzk2N2RjMjgyYjkwMGNhMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAtMSw2ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDEwLTIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMCwgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjUsNyArNjUsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5l
bCosIEJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVy
Kikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNr
ZW5kKERpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJs
ZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQuY3BwCmluZGV4IGVkYWJiZTIzZWFhMGIxZWZlMzQ2MGRiYzczMmNiMmNmYmI1YTQ2NGQu
LjBlMDQ1ZjQwZjMwYWZmNTBiMTc0MWEyMWI3Y2Q2ZmVhYjA1OWU0MGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGlt
ZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9K
U0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDkgKzQwLDkgQEAgSlNHbG9iYWxPYmpl
Y3RSdW50aW1lQWdlbnQ6OkpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50KEluamVjdGVkU2NyaXB0
TWFuYWdlciYgaW4KIHsKIH0KIAotdm9pZCBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVs
LCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEpTR2xvYmFsT2Jq
ZWN0UnVudGltZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0
ZXIqIGZyb250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIp
CiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFJ1bnRpbWVG
cm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3Bh
dGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250
ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gUnVudGltZUJhY2tlbmREaXNw
YXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1
bnRpbWVBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNH
bG9iYWxPYmplY3RSdW50aW1lQWdlbnQuaAppbmRleCBlZTBhNDVkNjY0MWM2NWEwZWJmZjkwNTU5
Yzk4MjNhYTAxODVhNjQyLi45MTdmZGViOTVkOGEwZTEzYWU4MzEwZGRkODJmNDA0ZTcwYzgwZDUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0ds
b2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9y
UnVudGltZUFnZW50IHsKIHB1YmxpYzoKICAgICBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudChJ
bmplY3RlZFNjcmlwdE1hbmFnZXImLCBKU0M6OkpTR2xvYmFsT2JqZWN0Jik7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCosIEJh
Y2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERp
c2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBKU0M6OlZNJiBnbG9iYWxW
TSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2Vu
dC5oCmluZGV4IDVmZjAzNTM1ODRiZGUyZTk5MmM4YjAwOWRiMzk2ZGJiNmE2NTI1YjUuLmNhNDZm
MTI1YWUzMWU1NGM0NTliMGI4MTYxNzhlZGZmMWY0YTU0OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYXVnbWVudGFibGUvQWx0ZXJuYXRlRGlzcGF0Y2hhYmxl
QWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2F1Z21lbnRhYmxl
L0FsdGVybmF0ZURpc3BhdGNoYWJsZUFnZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAg
IHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEZyb250ZW5kQ2hhbm5lbCosIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikg
b3ZlcnJpZGUKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZy
b250ZW5kUm91dGVyKiwgQmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKSBvdmVy
cmlkZQogICAgIHsKICAgICAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IFRCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCBudWxscHRyKTsKICAgICAgICAgbV9iYWNr
ZW5kRGlzcGF0Y2hlci0+c2V0QWx0ZXJuYXRlRGlzcGF0Y2hlcihtX2FsdGVybmF0ZURpc3BhdGNo
ZXIuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcAppbmRleCBh
YzgzYTE4ZTk1OTk1YjFjMzU4NmZhNzg2MTA3MWZjYzRlNWViODM5Li5kOWI4MmViNGMwNzlkMTZk
YjU4MjgyYTJmMDQwODAzZDAyNWNkODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1
Z2dhYmxlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQog
CiAjaW5jbHVkZSAiRXZlbnRMb29wLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsLmgiCiAjaW5jbHVkZSAiUmVtb3RlSW5zcGVjdG9yLmgiCiAKIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpp
bmRleCA3NTA3MWM2ZDE1YTU5ZDIwNTk1YjJjMzQ4MDY5NWUyNTQyOGYzODgxLi45YWY5ZGRhZjg0
ZGYyMWU2ZWY3MjY3MDE5MzlmNDM1OGE3YWVlY2I0IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRl
cy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpAQCAtMjA0LDEwICsyMDQsMTAgQEAgJHtvdXRQ
YXJhbWV0ZXJBc3NpZ25tZW50c30KICAgICBGcm9udGVuZERpc3BhdGNoZXJEb21haW5EaXNwYXRj
aGVyRGVjbGFyYXRpb24gPSAoCiAiIiIke2NsYXNzQW5kRXhwb3J0TWFjcm99ICR7ZG9tYWluTmFt
ZX1Gcm9udGVuZERpc3BhdGNoZXIgewogcHVibGljOgotICAgICR7ZG9tYWluTmFtZX1Gcm9udGVu
ZERpc3BhdGNoZXIoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwpIDogbV9mcm9udGVu
ZENoYW5uZWwoZnJvbnRlbmRDaGFubmVsKSB7IH0KKyAgICAke2RvbWFpbk5hbWV9RnJvbnRlbmRE
aXNwYXRjaGVyKEZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlcikgOiBtX2Zyb250ZW5kUm91
dGVyKGZyb250ZW5kUm91dGVyKSB7IH0KICR7ZXZlbnREZWNsYXJhdGlvbnN9CiBwcml2YXRlOgot
ICAgIEZyb250ZW5kQ2hhbm5lbCogbV9mcm9udGVuZENoYW5uZWw7CisgICAgRnJvbnRlbmRSb3V0
ZXIqIG1fZnJvbnRlbmRSb3V0ZXI7CiB9OyIiIikKIAogICAgIFByb3RvY29sT2JqZWN0QnVpbGRl
ckRlY2xhcmF0aW9uUHJlbHVkZSA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNo
ZXJfaW1wbGVtZW50YXRpb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0
aW9uLnB5CmluZGV4IGIzNmMwYjEzYzA4ZDkxMTEyOTQ2NDdiNmI4NmRiZGJlMjhiZmQ3MzUuLmNi
YmJjMGVmNDZjNmVjNzgyNzk3MDRkNDZlYTY4NDA4MmEzMTkxMjEgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9i
YWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlz
cGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQpAQCAtNDksNyArNDksNiBAQCBjbGFzcyBDcHBCYWNr
ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAKICAgICBk
ZWYgZ2VuZXJhdGVfb3V0cHV0KHNlbGYpOgogICAgICAgICBzZWNvbmRhcnlfaGVhZGVycyA9IFsK
LSAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPicsCiAg
ICAgICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPicsCiAgICAg
ICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4nLAogICAgICAgICAgICAgJzx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4nLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNo
ZXJfaGVhZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CmluZGV4IGZm
MDlhYjM5YjBhMzY5M2E2NzRiMGM2YzRmZjE2NWNmZmRiN2QwNDIuLjU4YTNjYjkyNTUxN2E1M2Iw
NTVkNTAzNzY4Yzg4NzM2ZmE4N2E1YWQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRj
aGVyX2hlYWRlci5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkKQEAg
LTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBweXRob24KICMKLSMgQ29weXJpZ2h0IChjKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0
LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChjKSAy
MDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CkBAIC01MSwxNCArNTEsMTMgQEAgY2xhc3MgQ3BwRnJvbnRlbmREaXNwYXRjaGVy
SGVhZGVyR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAgICAgZGVmIGdlbmVyYXRlX291dHB1dChzZWxm
KToKICAgICAgICAgaGVhZGVycyA9IFsKICAgICAgICAgICAgICciSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmgiJywKLSAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hh
bm5lbC5oPicsCiAgICAgICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4nLAog
ICAgICAgICAgICAgJzx3dGYvdGV4dC9XVEZTdHJpbmcuaD4nXQogCiAgICAgICAgIGhlYWRlcl9h
cmdzID0gewogICAgICAgICAgICAgJ2hlYWRlckd1YXJkU3RyaW5nJzogcmUuc3ViKCdcVysnLCAn
XycsIHNlbGYub3V0cHV0X2ZpbGVuYW1lKCkpLAogICAgICAgICAgICAgJ2luY2x1ZGVzJzogJ1xu
Jy5qb2luKFsnI2luY2x1ZGUgJyArIGhlYWRlciBmb3IgaGVhZGVyIGluIGhlYWRlcnNdKSwKLSAg
ICAgICAgICAgICd0eXBlZGVmcyc6ICcnLAorICAgICAgICAgICAgJ3R5cGVkZWZzJzogJ2NsYXNz
IEZyb250ZW5kUm91dGVyOycsCiAgICAgICAgIH0KIAogICAgICAgICBzZWN0aW9ucyA9IFtdCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IDc5ODE1N2EwNjA4
OWU1MjMyODVjM2Q0YmYxZmEwYWQ3MTExNmViM2UuLmRlNDRmOWExYjhiNWJmY2ExZjkwNjhjODRl
YmJiOTU3ZDc0YTFiYzkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9u
LnB5CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiAjCi0jIENvcHlyaWdo
dCAoYykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAo
YykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdo
dCAoYykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtNDgsNyArNDgsMTAgQEAgY2xhc3MgQ3BwRnJvbnRlbmREaXNw
YXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IoR2VuZXJhdG9yKToKICAgICAgICAgcmV0dXJu
IGZpbHRlcihsYW1iZGEgZG9tYWluOiBsZW4oZG9tYWluLmV2ZW50cykgPiAwLCBHZW5lcmF0b3Iu
ZG9tYWluc190b19nZW5lcmF0ZShzZWxmKSkKIAogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2Vs
Zik6Ci0gICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWyc8d3RmL3RleHQvQ1N0cmluZy5oPidd
CisgICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWworICAgICAgICAgICAgJyJJbnNwZWN0b3JG
cm9udGVuZFJvdXRlci5oIicsCisgICAgICAgICAgICAnPHd0Zi90ZXh0L0NTdHJpbmcuaD4nLAor
ICAgICAgICBdCiAKICAgICAgICAgaGVhZGVyX2FyZ3MgPSB7CiAgICAgICAgICAgICAncHJpbWFy
eUluY2x1ZGUnOiAnIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCInLApAQCAtMTE2LDYg
KzExOSw2IEBAIGNsYXNzIENwcEZyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJh
dG9yKEdlbmVyYXRvcik6CiAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICBqc29uTWVzc2Fn
ZS0+c2V0T2JqZWN0KEFTQ0lJTGl0ZXJhbCgicGFyYW1zIiksIFdURjo6bW92ZShwYXJhbXNPYmpl
Y3QpKTsnKQogCiAgICAgICAgIGxpbmVzLmFwcGVuZCgnJykKLSAgICAgICAgbGluZXMuYXBwZW5k
KCcgICAgbV9mcm9udGVuZENoYW5uZWwtPnNlbmRNZXNzYWdlVG9Gcm9udGVuZChqc29uTWVzc2Fn
ZS0+dG9KU09OU3RyaW5nKCkpOycpCisgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgIG1fZnJvbnRl
bmRSb3V0ZXItPnNlbmRFdmVudChqc29uTWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOycpCiAgICAg
ICAgIGxpbmVzLmFwcGVuZCgnfScpCiAgICAgICAgIHJldHVybiAiXG4iLmpvaW4obGluZXMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29i
amNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IGEyNzdkNzg2ZTUy
ZTJhZDZlMTFjMGNlYWQ1ZTVlMjZjOGQ0YzI1YjMuLjRjZTVkMDg2ZjNhYzQ5ZTE2NzU4YjFlNjVl
YjA4ZTgzOTRhMmM5M2UgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9u
LnB5CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiAjCi0jIENvcHlyaWdo
dCAoYykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAo
YykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdo
dCAoYykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtNTMsNyArNTMsNiBAQCBjbGFzcyBPYmpDQ29uZmlndXJhdGlv
bkltcGxlbWVudGF0aW9uR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAgICAgICAgIHNlY29uZGFyeV9o
ZWFkZXJzID0gWwogICAgICAgICAgICAgJyIlc0ludGVybmFsLmgiJyAlIE9iakNHZW5lcmF0b3Iu
T0JKQ19QUkVGSVgsCiAgICAgICAgICAgICAnIiVzRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiJyAl
IE9iakNHZW5lcmF0b3IuT0JKQ19QUkVGSVgsCi0gICAgICAgICAgICAnPEphdmFTY3JpcHRDb3Jl
L0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPicsCiAgICAgICAgICAgICAnPEphdmFTY3JpcHRD
b3JlL0luc3BlY3RvclZhbHVlcy5oPicsCiAgICAgICAgIF0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19m
cm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNw
YXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IDk0MDE4ZTU5ZjZmYWY2MDIwN2JhZWNkNjVi
YjU1M2E1MmIwZmU1N2QuLmI4ZDEwODA2MGQ5YTY4NTJlYWZjMGRlOTRjNmZmNzgzZWMzOGYyMGYg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2Rl
Z2VuL2dlbmVyYXRlX29iamNfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5l
cmF0ZV9vYmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKQEAgLTEsNiAr
MSw2IEBACiAjIS91c3IvYmluL2VudiBweXRob24KICMKLSMgQ29weXJpZ2h0IChjKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChjKSAyMDE0IFVu
aXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CkBAIC01MCw3ICs1MCw2IEBAIGNsYXNzIE9iakNGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1l
bnRhdGlvbkdlbmVyYXRvcihHZW5lcmF0b3IpOgogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2Vs
Zik6CiAgICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWwogICAgICAgICAgICAgJyIlc0VudW1D
b252ZXJzaW9uSGVscGVycy5oIicgJSBPYmpDR2VuZXJhdG9yLk9CSkNfUFJFRklYLAotICAgICAg
ICAgICAgJzxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4nLAogICAg
ICAgICAgICAgJzxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1ZXMuaD4nLAogICAgICAgICBd
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmlu
ZGV4IGM0NWFjMWZmNWY0NmY4ZGFhYWIyNmY4N2I1N2FmNDc5OTNmNjZjNmQuLjUwMTQ0MWM0Mjc4
MTYzMWVmMmZiYzgwYWIwNDQxMzMyMTUxZGJlMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMjI3NDcsNyArMjI3NDcsNiBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckRPTUFnZW50LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NRGVidWdn
ZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXEluc3BlY3RvckZvcndhcmRpbmcuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVu
ZEhvc3QuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBkZDliMmRhZjFhZGZkZDhhODdmNDFjMzA1ODUz
ZjNkY2Y1ZTZhMmZkLi5hNDYxM2NjMzhlNTNkYTIwNWU0MDdjZWRhNDc0NWY4YWVjYjZmNmRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzCkBAIC0xMTkxOCw5ICsxMTkxOCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiPgogICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGb3J3YXJkaW5nLmgiPgotICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDg0ZjIy
YjBhMmIxNjgwNTQ2ZjA5MDliOTcyZDk1NjhhZjMyNWVkNS4uNTJhODk1N2I1OTg3YzliZDUyMmEx
YTI1YmRmODY4NGY1OWM5MzY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTkxLDcgKzk5MSw2IEBACiAJCTIwRDYyOTI3MTI1
MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRDYyOTI1MTI1MzY5MEIwMDA4MTU0
MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCAqLzsgfTsKIAkJMjI1QTE2QjUwRDVDMTFF
OTAwMDkwMjk1IC8qIFdlYkV2ZW50UmVnaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyMjVBMTZCMzBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRS
ZWdpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyMjVBMTZCNjBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMjVBMTZCNDBENUMxMUU5MDAw
OTAyOTUgLyogV2ViRXZlbnRSZWdpb24ubW0gKi87IH07Ci0JCTIyNzc3NzYwMTM0NURFQTkwMDhF
QTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9y
Rm9yd2FyZGluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTIyOEMyODQ1MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyOEMyODQ0MTBEODI1
MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyMjkyQjI3QzEzNTY2Njk0MDBDRjExRUYgLyogSW1h
Z2VCdWZmZXJEYXRhQ0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjI5MkIyN0IxMzU2NjY5NDAwQ0YxMUVGIC8qIEltYWdlQnVmZmVyRGF0YUNHLmNw
cCAqLzsgfTsKIAkJMjJCRDlGN0YxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjJCRDlGN0Qx
MzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MTcwLDcgKzgxNjksNiBAQAogCQkyMEQ2
MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMjVBMTZCMzBENUMxMUU5MDAwOTAyOTUgLyog
V2ViRXZlbnRSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRXZl
bnRSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI1QTE2QjQwRDVDMTFF
OTAwMDkwMjk1IC8qIFdlYkV2ZW50UmVnaW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViRXZlbnRSZWdpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZvcndhcmRpbmcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI4QzI4NDQxMEQ4MjUwMDAwOUQwRDBFIC8q
IFNjcmlwdFdyYXBwYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3Jp
cHRXcmFwcGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI5MkIyN0IxMzU2
NjY5NDAwQ0YxMUVGIC8qIEltYWdlQnVmZmVyRGF0YUNHLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQnVmZmVyRGF0YUNHLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUJ1ZmZlckRhdGEuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NjUwLDcgKzE1NjQ4LDYgQEAKIAkJCQlG
M0Q0QzQ3NzEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oICov
LAogCQkJCTdBNzRFQ0I4MTAxODM5QTUwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQuY3BwICovLAogCQkJCTdBNzRFQ0I5MTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQuaCAqLywKLQkJCQkyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVj
dG9yRm9yd2FyZGluZy5oICovLAogCQkJCUYzNDRDNzEyMTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudC5oICovLAogCQkJCUYzNDRDNzU3MTEyOTRGRjYwMEYyNkVFRSAv
KiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCAqLywKIAkJCQlGMzQ0Qzc1MjExMjk0
RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oICovLApAQCAtMjUz
MzYsNyArMjUzMzMsNiBAQAogCQkJCTdBMjQ1ODdDMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0
b3JET01BZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjNENEM0NzkxMkUwNzY2MzAwM0RBMTUw
IC8qIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNzRF
Q0JCMTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJk
aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRDNzUzMTEyOTRE
OUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QTBFNzcwRjEwQzAwQTg4MDBBMDI3NkUgLyogSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKaW5kZXggMjk2YTA3ZDk1YjYy
OTc1NDExYTdhYzZkYjRkMjEzNjVhZDJlYWMzOC4uYTg0MWMzMjJjOTY0YTFhOTFkY2NmMjYzZWUz
ZjZjYzVhZmE2NmZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQ5LDkgKzQ5LDkgQEAgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50OjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW4KIHsKIH0KIAotdm9pZCBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwg
QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JBcHBs
aWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJv
dXRlciogZnJvbnRlbmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hl
cikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVj
dG9yOjpBcHBsaWNhdGlvbkNhY2hlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwp
OworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6
OkFwcGxpY2F0aW9uQ2FjaGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAg
ICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpBcHBsaWNhdGlvbkNhY2hlQmFja2Vu
ZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaAppbmRleCAxMTdjODVlNmQyZjcyNDM3NTQyMGNhZWZmNDc1NjFkOGVkODc0OTJk
Li4yNDhkM2Y4NDFiZDdmMmMwYzFkMDkxYWU5MTU5NjNlZWZhNWFlOTE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAg
IHZpcnR1YWwgfkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQogCi0gICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRl
bmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlz
Y29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2Fj
aGVTdGF0dXMoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuY3BwCmluZGV4IGE3OTI0NDRiMmUwN2VjZGMwNTA5MGVmYzU2ODVkODhkNTU0NjY0
M2YuLjgyMDc3MWMxOTY2ZTYwY2M2MjNmNWE2OTUwYTkwZGE5MWU1MDg0ZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMzU0LDkgKzM1
NCw5IEBAIEluc3BlY3RvckNTU0FnZW50Ojp+SW5zcGVjdG9yQ1NTQWdlbnQoKQogICAgIHJlc2V0
KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9y
Q1NTQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPENTU0Zyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q1NTRnJvbnRlbmREaXNwYXRjaGVy
Pihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IENTU0JhY2tlbmRE
aXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oCmluZGV4IGRiZDI5NGU1NjMz
NGY4ZmY3ZTY1MWQ5YTIyYzBjN2RmMDcxNWU3MjkuLjAwYjAzNzk3NmZiMDRmMTBkZjU3NDQyYmNm
MTZjZDM2ZTRhZTk1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBDU1NTdHls
ZVJ1bGUqIGFzQ1NTU3R5bGVSdWxlKENTU1J1bGUmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNw
ZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5z
cGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3
aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24p
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNjYXJkQWdlbnQoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggOGE3ZGYy
MGFjMDRjN2UwMmZiOWFjY2I5ODk3OWVkMzU2NDE1MGY3ZC4uZGE3OTRiNTRmODdkNjNhZDQ5MjVh
OTg1ODFjZDk4OTNkMzJiYjMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTc0LDcgKzE3NCw2IEBAIEluc3BlY3RvckNvbnRy
b2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDCiBJbnNwZWN0b3JDb250cm9sbGVyOjp+SW5zcGVjdG9yQ29udHJvbGxlcigpCiB7
CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5yZXNldCgpOwotICAgIG1fYWdlbnRzLmRpc2Nh
cmRBZ2VudHMoKTsKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yQ2xpZW50KTsKIH0KIApAQCAtMjM1
LDcgKzIzNCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKElu
c3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoCiAKICAgICBpZiAoY29ubmVjdGVk
Rmlyc3RGcm9udGVuZCkgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnJlZ2lz
dGVySW5zdHJ1bWVudGluZ0FnZW50cyhtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCkpOwotICAg
ICAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoZnJvbnRlbmRDaGFubmVs
LCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CisgICAgICAgIG1fYWdlbnRzLmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZCgmbV9mcm9udGVuZFJvdXRlci5nZXQoKSwgJm1fYmFja2VuZERp
c3BhdGNoZXIuZ2V0KCkpOwogICAgIH0KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXgg
OTRhZWViNGJjMGNlNDBlYzk4ZTYxMGFiMGI1YjFkZTE3ZDIxM2ZlZC4uYWI5MGQ0ZTUyOGY3ZDA0
ZWU1YzcwYmYwNWI0MGNiMzFmMTg2N2Q4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDksIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDkgSm9zZXBoIFBlY29yYXJvCiAgKgpAQCAtMjE1LDkgKzIxNSw5IEBAIEluc3Bl
Y3RvckRPTUFnZW50Ojp+SW5zcGVjdG9yRE9NQWdlbnQoKQogICAgIEFTU0VSVCghbV9zZWFyY2hp
bmdGb3JOb2RlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWws
IEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJ
bnNwZWN0b3JET01BZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRj
aGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0
ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpET01Gcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5k
Q2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3Rvcjo6RE9NRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9i
YWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6RE9NQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0
ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiAKICAgICBtX2hpc3RvcnkgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEluc3BlY3Rvckhpc3Rvcnk+KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5oCmluZGV4IDdiMGQ2NThmN2ZhM2E4MGRhNTk4Y2I2MjQxYmJlZjA4
YTlkYmM5YTAuLjhlOWIxMDYyMDhmMWM1NWU4MDZmMzAwMjc3MjMzYTc5YzViYWJjZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgog
CiAgICAgc3RhdGljIFN0cmluZyB0b0Vycm9yU3RyaW5nKGNvbnN0IEV4Y2VwdGlvbkNvZGUmKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgVmVjdG9yPERvY3VtZW50
Kj4gZG9jdW1lbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggOTM5MmE1NWFlM2JiYzkxNWIwZGQxZTY1
YTk1YjU2ZTg4NGUwMDJlNi4uZjgzZWQ3YTEwZTFmYjNhN2U4NjNhMjUzYzc3NmRmNGUwYzA5OGQ0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC0xMDAsNyArMTAxLDcgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dl
ckFnZW50OjpkaXNhYmxlKCkKICAgICBjbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvckRPTURl
YnVnZ2VyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250
ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQordm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewogICAgIG1fYmFja2VuZERpc3BhdGNoZXIg
PSBJbnNwZWN0b3I6OkRPTURlYnVnZ2VyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5k
RGlzcGF0Y2hlciwgdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAppbmRleCAwMWIzMTM5ZTBlYTZiNTAxYmNjYzQ3
YWU3OTRiNDI2NjU2YTI1MTJhLi5iZjQzMTkxMzgwYzE1M2VlNDg1YWQyZDY4NDFhODJhMDFjMDlm
YzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtNzgsNyArNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB3aWxsU2VuZFhN
TEh0dHBSZXF1ZXN0KGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIHBhdXNlT25OYXRpdmVF
dmVudElmTmVlZGVkKGJvb2wgaXNET01FdmVudCwgY29uc3QgU3RyaW5nJiBldmVudE5hbWUsIGJv
b2wgc3luY2hyb25vdXMpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIGRpc2NhcmRBZ2VudCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCmluZGV4IDJk
Mzk5NzU5ZTU5OWM2YzUxNDkxODVkZjRhOTVmN2Q1ZWQxNTY4ODguLmIyZGU5MmJjMGE1NzQ1OGE2
YTQzZWIyNTA2Yjc0OWYzMzAxNDY0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NSw5ICs2Niw5IEBAIElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6fkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpCiAgICAg
bV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudChudWxscHRy
KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVj
dG9yOjpGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkRPTVN0b3JhZ2VGcm9udGVuZERpc3BhdGNo
ZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPEluc3BlY3Rvcjo6RE9NU3RvcmFnZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRl
bmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OkRPTVN0b3Jh
Z2VCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudC5oCmluZGV4IDc4YTdhMjg1OGQyZmYwODFjNDZlYWJjMTI5NTgxMjkxMDUzYjE3ZjMuLjU5
YzY4MDg3YTliOTM4NjYxY2JiNTYxN2E4ZDg5OGVkMzEwMTcwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Nyw3ICs1OCw3IEBA
IHB1YmxpYzoKICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNo
ZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRj
aGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAvLyBD
YWxsZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCmluZGV4IGM3ZjZhNmUzNDIzMDliNWNhMWY1
MTczNDQyZmE1MWI0ZmUxMTRjMjUuLmIzYjI3OWY5ZDUwYmI4NjM2YjE4MzQyNDExNzU1ZDBjYmEy
ODIyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRh
YmFzZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0
YWJhc2VBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yMjIsOSArMjIzLDkgQEAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6fkluc3Bl
Y3RvckRhdGFiYXNlQWdlbnQoKQogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0
b3JEYXRhYmFzZUFnZW50KG51bGxwdHIpOwogfQogCi12b2lkIEluc3BlY3RvckRhdGFiYXNlQWdl
bnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5l
bCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5k
RGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBt
X2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpEYXRhYmFz
ZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlz
cGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpEYXRhYmFzZUZyb250ZW5kRGlz
cGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNw
ZWN0b3I6OkRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hl
ciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEYXRhYmFzZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudC5oCmluZGV4IDFkZjk0OTQ3ZmU4YTZkZjQzOTNmNmVjYTU0M2FiMmQwYjIx
NjdkNjMuLjBmMWY5Mjc5ZGZiYmVhMmEwOGY2NDgwMTIyYWE2MjViM2VkZDdhYjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDcgKzU0
LDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IEluc3BlY3RvckRhdGFiYXNlQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRhdGFiYXNlQWdlbnQoKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdm9pZCBjbGVhclJlc291
cmNlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZv
cndhcmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGb3J3YXJkaW5n
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1MDhiYjE5MzI3MThkOGE5YTk4Zjg0
ZDhiY2ZmMGE0NGVmZWJlOWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZvcndhcmRpbmcuaAor
KysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEluc3BlY3RvckZvcndhcmRpbmdfaAotI2RlZmlu
ZSBJbnNwZWN0b3JGb3J3YXJkaW5nX2gKLQotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotdHlwZWRlZiBJbnNwZWN0
b3I6OkZyb250ZW5kQ2hhbm5lbCBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWw7Ci19Ci0KLSNlbmRp
ZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGb3J3YXJkaW5nX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAppbmRleCBhM2VhYmI3
YjExNDg3MDVmZGY0Y2UyZjFlZTRmOGQ4Y2ExMGNkYzUzLi5hMDg2OTc5YTM4Y2ZmNjM3YTJhMTUw
MDAxMmU5OWYzZTA4OTUyMDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTc2LDcgKzU3Nyw3IEBAIEluc3BlY3Rvcklu
ZGV4ZWREQkFnZW50Ojp+SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoKQogewogfQogCi12b2lkIElu
c3BlY3RvckluZGV4ZWREQkFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVj
dG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNr
ZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OmRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpC
YWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7CiAgICAgbV9iYWNrZW5kRGlz
cGF0Y2hlciA9IEluc3BlY3Rvcjo6SW5kZXhlZERCQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShi
YWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5oCmluZGV4IDdiOGNlOThiOWIyYzI4MmVhMzgy
OWVkZGRlNDkzMTE3ZmJlZjJmZDkuLjg0YTk4ZmRjNDhiZDAwOTEzZjM1MzA5MThmMjQ4MDM3NGQ3
Y2ZjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTUzLDcgKzU0LDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvckluZGV4ZWRE
QkFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMmLCBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFu
YWdlciYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckluZGV4
ZWREQkFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0
Y2hlciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIC8v
IENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAppbmRleCBlNjZmY2YyZDgzNmFkYWZl
MTgzNDQ3YjlkYTc4NWJmYzFmNGJiNWM0Li43ZmJkZmE0NmJmMGI0Y2Y0Mjg2ODViMTliNTczMTFi
NDk0YmI2YTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMiwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC01Niw5ICs1Niw5IEBAIEluc3BlY3RvckxheWVyVHJl
ZUFnZW50Ojp+SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQoKQogICAgIHJlc2V0KCk7CiB9CiAKLXZv
aWQgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJ
bnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJh
Y2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEluc3BlY3Rvcjo6TGF5ZXJUcmVlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENo
YW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6OkxheWVyVHJlZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAg
IG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OkxheWVyVHJlZUJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCmluZGV4IDRmZjU0
NDkxYjZmNmIwY2VlMmU3NmM3NmY4ZWQyMjEwYzFmNjJmYzEuLmZhMjQwMTU4NDdiZjE0Y2RlN2Ex
MDEyNmVjOTQ4ZjlhYzJmNzQ3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAg
ICAgdmlydHVhbCB+SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogICAgIHZvaWQgcmVzZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCA3ODFiNTc4YWY0NjEyNTAy
MTk1YzYyMGUxNTkzNmE2MGI3N2E1NjRkLi5lYzUyZjQ3Nzc4NDFiMTRhNWNkMGEwNWQ0NTYxNzAz
Mjc3ZGU3ZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zMzMsOSArMzM0LDkgQEAgSW5zcGVjdG9yUGFnZUFnZW50OjpJbnNwZWN0b3JQ
YWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywKIHsKIH0K
IAotdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJ
bnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJh
Y2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yUGFnZUFn
ZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRl
ciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmRE
aXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1
ZTxJbnNwZWN0b3I6OlBhZ2VGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7Cisg
ICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UGFn
ZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXIgPSBJbnNwZWN0b3I6OlBhZ2VCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmRE
aXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oCmluZGV4IDI4NjJlNThjNTA2MDI0NTdiOGI3MTBkYjI3OTI3NWY4ZDAz
YTBmMjMuLmU5YWQ4NjZiYWVjMDQxMjUyNmEwYWRjNmFiNTBiMzZiNWFmZjVkYTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTM5LDcgKzE0MCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNjcmlwdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKTsKIAog
ICAgIC8vIEluc3BlY3RvciBDb250cm9sbGVyIEFQSQotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVj
dG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92
ZXJyaWRlOwogCiAgICAgLy8gQ3Jvc3MtYWdlbnRzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggNDc5YjcxMDhmYWM0ODgw
MWZiMjlkNzM5OWM2NGU0YjkwMzhhNDY4YS4uMzQ5MGU3NWMyMjBlYzc3YmQxNmNkZTZhOWYyZTE5
ODdmNTY1ODg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clJlcGxheUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UmVwbGF5QWdlbnQuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MS0yMDEzIFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzMsOSArMTczLDkgQEAgV2ViQ29y
ZTo6U2Vzc2lvblN0YXRlIEluc3BlY3RvclJlcGxheUFnZW50OjpzZXNzaW9uU3RhdGUoKSBjb25z
dAogICAgIHJldHVybiBtX3BhZ2UucmVwbGF5Q29udHJvbGxlcigpLnNlc3Npb25TdGF0ZSgpOwog
fQogCi12b2lkIEluc3BlY3RvclJlcGxheUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9y
OjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvclJl
cGxheUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3I6OlJlcGxheUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFu
bmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVj
dG9yOjpSZXBsYXlGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2Jh
Y2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpSZXBsYXlCYWNrZW5kRGlzcGF0Y2hlcjo6Y3Jl
YXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIAogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50
cy5zZXRJbnNwZWN0b3JSZXBsYXlBZ2VudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmgKaW5kZXggYTdlNmNmNThmMjM3ODhiZGM4ZDQz
MWRiNTVmMTRhNTFjZGIyYzFhYy4uZjdiZWE2ZmRhNTViNjBkODhlMDNlOTM3NTAxZmJkNjMyYWM4
ZWY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxh
eUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFn
ZW50LmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTMgVW5p
dmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvclJlcGxheUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMmLCBJbnNwZWN0b3JQYWdlQWdlbnQq
KTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JSZXBsYXlBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5l
bCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0
ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVj
dFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24gY2Fs
bGJhY2tzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJl
c291cmNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291
cmNlQWdlbnQuY3BwCmluZGV4IDE0MzJlZjBkOTNlMzJjNjllNTcwNWJkNGVmZjNkNDBkZDQxZjRh
YzMuLjAwMWMzM2E4MTQ3ZDNmZGE5MDgxNWU4OTZlOTIyNGZiMGZhMDQxNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTY5
LDkgKzE3MCw5IEBAIEluc3BlY3RvclJlc291cmNlQWdlbnQ6Okluc3BlY3RvclJlc291cmNlQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluCiB7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpk
aWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciogZnJv
bnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6Ok5ldHdvcmtGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAg
bV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6TmV0d29y
a0Zyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXIgPSBJbnNwZWN0b3I6Ok5ldHdvcmtCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tl
bmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKaW5kZXggODdmNWUzYWVjYjE1NmI5ZmMwYzRkNzBm
NjU4ZTYxNTFkZmQxNWRjZC4uZjA4MjRlMjhhMmZjZjMxYjgyMzU3MTQ3ZmE3NDAxNjM0ZThmNDRj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKQEAgLTc4LDcgKzc5LDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvclJlc291cmNlQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCosIEluc3BlY3RvckNsaWVu
dCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvclJlc291cmNlQWdlbnQoKTsKIAotICAgIHZpcnR1
YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENo
YW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nv
bm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
IGNhbGxiYWNrcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcAppbmRleCA4N2FlNDFmYjNjMzY3MjRkOTMyNjMyNmMzNmVhOTU0ZDA4
N2JhMDY4Li5iMDljMTE1OWI2NDEwODkyNzEyYWVjM2RlNmVjNjM3MWIxOTE5YTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
CkBAIC0xLDYgKzEsNyBAQAogLyoKICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdh
c2hpbmd0b24uCisqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC04OSw5ICs5MCw5IEBA
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6On5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCkKIHsKIH0K
IAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9y
OjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250
ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciog
YmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPEluc3BlY3Rvcjo6VGltZWxpbmVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5k
Q2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3Rvcjo6VGltZWxpbmVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAg
ICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpUaW1lbGluZUJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogCiAgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLnNldFBlcnNpc3RlbnRJbnNwZWN0b3JUaW1lbGluZUFnZW50KHRoaXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5k
ZXggMzI0NjVmM2NlMWZmNDcyMDg1NWEyYzgzYmNkZjZiNjI3YTQyOGM3NC4uNWE5MGIzNzBiZjNl
NTEzZmJkZmI1ZDNkMzIwMWM0N2Y1MGFiOTAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0xLDYgKzEsNyBAQAogLyoKICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIENv
cHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uCisqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC0xMjAsNyArMTIxLDcgQEAgcHVibGljOgogICAgIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCos
IEluc3BlY3RvclR5cGUsIEluc3BlY3RvckNsaWVudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5k
RGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250
ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0KEVycm9yU3RyaW5nJiwgY29uc3QgaW50KiBtYXhDYWxsU3Rh
Y2tEZXB0aCA9IG51bGxwdHIpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oCmluZGV4IDI2N2QxY2QwODc0NWQ5YzEyYzM1NTM0
ZjFhZjc3OTcyYmFkOWYwOWMuLjRjZTBjN2JhNDc2ODYzZTRkNjNhZjQzMjYxNmIyZDY0OWIxMTY0
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2Vu
dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViQWdlbnRC
YXNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI3LDcgKzI3
LDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yV2ViQWdlbnRCYXNlX2gKICNkZWZpbmUgSW5zcGVjdG9y
V2ViQWdlbnRCYXNlX2gKIAotI2luY2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNs
dWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXb3JrZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V29ya2VyQWdlbnQuY3BwCmluZGV4IGI3ODAwYjE3OTY1MjBjZTE0NmIwZGE3OGYzMGZiYzQ2ZDFi
ZThlMGEuLmUwOGI3YTdjODVmNDY1MTlkYTMyMGE0M2E2Y2JiNWNkNDg3NDQ1OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMSw3
ICszMiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2Vy
QWdlbnQuaCIKIAotI2luY2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNsdWRlICJJ
bnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV29ya2Vy
R2xvYmFsU2NvcGVQcm94eS5oIgpAQCAtMTEyLDkgKzExMiw5IEBAIEluc3BlY3RvcldvcmtlckFn
ZW50Ojp+SW5zcGVjdG9yV29ya2VyQWdlbnQoKQogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5z
ZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChudWxscHRyKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JXb3Jr
ZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlkQ3JlYXRlRnJv
bnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVy
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpXb3Jr
ZXJGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERp
c3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6V29ya2VyRnJvbnRlbmREaXNw
YXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3Bl
Y3Rvcjo6V29ya2VyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwg
dGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldvcmtl
ckFnZW50LmgKaW5kZXggNDU0MjQ3OTNkYjQ5NzUwYWU0MzVmNzE4ZThiMGQ5MzRhNWE2OGFjMC4u
ZmNiZWUwZDFhNDU0MDM5MGMwZmYwN2FiZDY2NTE4OTFiYWUyMmY4MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTQsNyArNTUsNyBAQCBw
dWJsaWM6CiAgICAgZXhwbGljaXQgSW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvcldvcmtlckFnZW50KCk7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNj
b25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VS
dW50aW1lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdl
bnQuY3BwCmluZGV4IDE4MzRjYzUyNTZhZDRlZTRkZmNiNDIwNzg2YWIzZTMwYzdiZmRjMmQuLjlh
ZWQ3MTAwZDMwOTFiZTU2MzJjMzg1YTA5ZGNlODZkOTAxMjg2NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTksOSArNjAsOSBAQCBQYWdlUnVu
dGltZUFnZW50OjpQYWdlUnVudGltZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciYgaW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLAogewogfQogCi12b2lkIFBhZ2VSdW50aW1lQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRD
aGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikK
K3ZvaWQgUGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpSdW50aW1lRnJvbnRlbmREaXNwYXRjaGVy
Pihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3I6OlJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91
dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpSdW50aW1lQmFja2Vu
ZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oCmluZGV4IDI3ODdkZTc3YzY4
NzJmMjc1NjhjMDM1NzAyYmZlODU3NDZkMDQwOGUuLjNlNGJlZGY3YjdmYzlhNGFlMWYxMzhkZjgy
YTJmM2M5YzAwNjNjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
UnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1l
QWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCkBAIC01Niw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBQYWdlUnVudGltZUFnZW50KEluc3Bl
Y3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiwgUGFnZSosIEluc3BlY3RvclBhZ2VBZ2VudCop
OwogICAgIHZpcnR1YWwgflBhZ2VSdW50aW1lQWdlbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcmKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwCmluZGV4IDYyOWI0NmU0NWE3OGU5MWJlMGNjMTAyMDA3NGRhYWM2ZGYwZjNh
ZDUuLmIxNDEzYjg2ZDY5MmYxMzAyMmI4MmY5MmU2OGMwM2I2MmZiY2I4M2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpA
QCAtMzMsNyArMzQsNiBAQAogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCkBA
IC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiV29ya2VyUnVudGltZUFnZW50LmgiCiAjaW5jbHVk
ZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5l
bC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0b3B3YXRjaC5oPgpAQCAtNTcsNyArNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIFBhZ2VJbnNwZWN0b3JQcm94eSA6IHB1YmxpYyBJbnNw
ZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3MgUGFnZUluc3BlY3RvclByb3h5IDogcHVibGlj
IEZyb250ZW5kQ2hhbm5lbCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgZXhwbGljaXQgUGFnZUluc3BlY3RvclByb3h5KFdvcmtlckdsb2JhbFNjb3BlJiB3b3Jr
ZXJHbG9iYWxTY29wZSkKQEAgLTExNSw3ICsxMTYsNiBAQCBXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyOjp+V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpCiAgICAgQVNTRVJUKCFtX2ZvcndhcmRp
bmdDaGFubmVsKTsKIAogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+cmVzZXQoKTsKLSAgICBt
X2FnZW50cy5kaXNjYXJkQWdlbnRzKCk7CiB9CiAKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIFdvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAKICAgICBtX2ZvcndhcmRpbmdD
aGFubmVsID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlSW5zcGVjdG9yUHJveHk+KG1fd29ya2VyR2xv
YmFsU2NvcGUpOwogICAgIG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVuZChtX2Zvcndh
cmRpbmdDaGFubmVsLmdldCgpKTsKLSAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQobV9mb3J3YXJkaW5nQ2hhbm5lbC5nZXQoKSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0
KCkpOworICAgIG1fYWdlbnRzLmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCgmbV9mcm9udGVu
ZFJvdXRlci5nZXQoKSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0KCkpOwogfQogCiB2b2lkIFdv
cmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6OkRp
c2Nvbm5lY3RSZWFzb24gcmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNWJkZTFlMWI3OTY3ZTViNmNlZTVh
YTlmYTc3OTdlMGQ1YjkwMTNkZS4uZDhmMjZlNTM0NDhkMDJkNjBiMTBmNWUyZDNjYjI4YzRkNjRm
Njk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlci5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTQyLDYgKzQzLDcgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgRnJvbnRlbmRDaGFubmVsOwogY2xhc3MgRnJv
bnRlbmRSb3V0ZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJS
dW50aW1lQWdlbnQuY3BwCmluZGV4IDAzMGVjNTZhY2ZiYzU2NjU0NWFmNjYzOGI3ZDgwZmVjYTQ0
NGMzYzQuLmNjZDhmZWFjZWQ5MTZjNDdlNzE0ZmYxMzY4ZDQxYzU1NTFjOWNmMjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwCkBAIC0xLDUg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUyLDcgKzUz
LDcgQEAgV29ya2VyUnVudGltZUFnZW50OjpXb3JrZXJSdW50aW1lQWdlbnQoSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyJiBpbmplY3RlZFNjcmlwdE1hbmEKIHsKIH0KIAotdm9pZCBXb3JrZXJSdW50aW1l
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hh
bm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQor
dm9pZCBXb3JrZXJSdW50aW1lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6
UnVudGltZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oCmlu
ZGV4IGRkM2U5YWIwODBlM2UwZWQyOGQzNDAwZjZmMWVmMDllNDIzZTE4YzguLjk2ZDlhMGIxY2Q5
ZWE0MzgwMjVjMWI4YTJkMjBlZGQ2YjZlODRjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDMsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV29y
a2VyUnVudGltZUFnZW50KEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiwgV29ya2Vy
R2xvYmFsU2NvcGUqKTsKICAgICB2aXJ0dWFsIH5Xb3JrZXJSdW50aW1lQWdlbnQoKSB7IH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpG
cm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6
OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIHJ1bihF
cnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlRGVidWdnYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNw
cAppbmRleCAyNDk4M2JlYzRhNzljZTczOGI0M2U5MGUyOGRjMDA1ZTM4YTZiNGFjLi5mZGY0NzA4
OTBiNGVjMGQ3MTJmYjA2N2IyYTIxNDJlMGRlOGZkZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VEZWJ1Z2dhYmxlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEz
LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9y
d2FyZGluZy5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4
IGZiNDAwOGMyMzNmZGEyMzllYjBmNjY3OWNjZWU5NzFiYzZhNzJhMzcuLjlhNDljNThkMjVmYjgw
Nzg5ZjEwYTlkNGJmZGE4YWM3YWEzNGM5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC02OSw3ICs2OSw2IEBACiAjaW5jbHVkZSAiSWNvbkNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVy
LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCkBAIC0xMjAsNiArMTE5LDcgQEAK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Qcm9maWxlLmg+CiAjaW5jbHVkZSA8Ynl0ZWNvZGUv
Q29kZUJsb2NrLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oPgor
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxp
bmVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+CkBAIC0yMzMsNyArMjMzLDcg
QEAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnREdW1teTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRE
dW1teShJbnNwZWN0b3JDb250cm9sbGVyKgogewogfQogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWxEdW1teSA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3Mg
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsRHVtbXkgOiBwdWJsaWMgRnJvbnRlbmRDaGFubmVsIHsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxEdW1teShQYWdl
Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsRHVtbXkoKSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50LmgKaW5kZXggMDFiNGJjOTA0YzczNTcxY2RiNmEzYzkxMzkyMmYzNDhiZTVhZWU2YS4uZDBk
NDRhNmFkMTFhMzhiZDVhOTRkMjkwYzYyZGVjN2JkYTRkODE3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMTUgQXBw
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjcsNDUgKzI3LDM1IEBACiAgKi8KIAogI2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0
b3JDbGllbnQuaD4KLSNpbXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGluZy5oPgotI2lt
cG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg+CiAKKyNpbXBvcnQg
PFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oPgorI2ltcG9ydCA8aW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4K
ICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1w
b3J0IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAotI2lmZGVmIF9fT0JKQ19fCi1AY2xhc3MgTlNVUkw7Ci1AY2xhc3MgV2ViSW5zcGVjdG9y
UmVtb3RlQ2hhbm5lbDsKLUBjbGFzcyBXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyOwotQGNs
YXNzIFdlYk5vZGVIaWdobGlnaHRlcjsKLUBjbGFzcyBXZWJWaWV3OwotI2Vsc2UKLWNsYXNzIE5T
VVJMOwotY2xhc3MgV2ViSW5zcGVjdG9yUmVtb3RlQ2hhbm5lbDsKLWNsYXNzIFdlYkluc3BlY3Rv
cldpbmRvd0NvbnRyb2xsZXI7Ci1jbGFzcyBXZWJOb2RlSGlnaGxpZ2h0ZXI7Ci1jbGFzcyBXZWJW
aWV3OwotI2VuZGlmCitPQkpDX0NMQVNTIE5TVVJMOworT0JKQ19DTEFTUyBXZWJJbnNwZWN0b3JS
ZW1vdGVDaGFubmVsOworT0JKQ19DTEFTUyBXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyOwor
T0JKQ19DTEFTUyBXZWJOb2RlSGlnaGxpZ2h0ZXI7CitPQkpDX0NMQVNTIFdlYlZpZXc7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKLQogY2xhc3MgRnJhbWU7CiBjbGFzcyBQYWdlOwotCiB9CiAKIGNs
YXNzIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OwogCi1jbGFzcyBXZWJJbnNwZWN0b3JDbGll
bnQgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6SW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsIHsKK2NsYXNzIFdlYkluc3BlY3RvckNsaWVudCA6IHB1Ymxp
YyBXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBJbnNwZWN0b3I6OkZyb250ZW5kQ2hh
bm5lbCB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2ViSW5zcGVjdG9yQ2xpZW50KFdlYlZpZXcg
Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAK
LSAgICB2aXJ0dWFsIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogb3Blbkluc3Bl
Y3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBvcGVuSW5zcGVjdG9yRnJvbnRl
bmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IGJyaW5nRnJvbnRlbmRUb0Zyb250KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJl
c2l6ZU1haW5GcmFtZShXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4
IDZlNTQ1NmIzMTAzNWMxMjI5NTI4MjEyZjllNGRkOGM3Y2Q3MmQ0ZjAuLjRkZThjNDBlNzQ5NzJi
NTY4YzZjZjNlYjgzYzUwYjZmNTU4MDg3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAwOCwgMjAxNSBBcHBsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC01OCw2ICs1OCw3IEBACiBTT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJbnNwZWN0
b3JVSSwgUHJpdmF0ZUZyYW1ld29ya3MsIEEpCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwor
dXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogc3RhdGljIGNvbnN0IENHRmxvYXQgbWluaW11
bVdpbmRvd1dpZHRoID0gNTAwOwogc3RhdGljIGNvbnN0IENHRmxvYXQgbWluaW11bVdpbmRvd0hl
aWdodCA9IDQwMDsKQEAgLTEwNiw3ICsxMDcsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6
aW5zcGVjdG9yRGVzdHJveWVkKCkKICAgICBkZWxldGUgdGhpczsKIH0KIAotSW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsKiBXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJ
bnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQorRnJvbnRlbmRDaGFubmVs
KiBXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250
cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQogewogICAgIFJldGFpblB0cjxXZWJJbnNwZWN0
b3JXaW5kb3dDb250cm9sbGVyPiB3aW5kb3dDb250cm9sbGVyID0gYWRvcHROUyhbW1dlYkluc3Bl
Y3RvcldpbmRvd0NvbnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoSW5zcGVjdGVkV2ViVmlldzptX3dl
YlZpZXcgaXNVbmRlclRlc3Q6aW5zcGVjdG9yQ29udHJvbGxlci0+aXNVbmRlclRlc3QoKV0pOwog
ICAgIFt3aW5kb3dDb250cm9sbGVyLmdldCgpIHNldEluc3BlY3RvckNsaWVudDp0aGlzXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50LmgKaW5kZXggOTU2OGRhMDMzZmU0NjQ3N2FmZjEzY2I3MzQ4NzFhNjNlMDMwMjJjZi4uM2Yz
OTJlMGUwOTdhNjJjODUxZjEwM2U0NDBiZjg1MTA2Y2JhZTExMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDE0IEFwcGxlIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIw
MTQsIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSA8V2ViQ29yZS9D
T01QdHIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckNsaWVudC5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGluZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93TWVzc2Fn
ZUxpc3RlbmVyLmg+CiAjaW5jbHVkZSA8d2luZG93cy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCmluZGV4IDAwMTI4NzljZmE5YzZkMWI0
NWQyMzA4ODBjZTIyZDk4ZGRiOGFkMjQuLjhkYmY2NjEwNDQ3ZjU0NmNlZjY5YWRmNzlkM2Y4YzIx
NmRjMDNmMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJJbnNwZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
SW5zcGVjdG9yLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MCwgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJBUElPYmpl
Y3QuaCIKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVy
LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JGb3J3YXJkaW5nLmg+CisjaW5jbHVkZSA8
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC0zNyw3ICsz
Nyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJQYWdlOwogCi1jbGFzcyBXZWJJ
bnNwZWN0b3IgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5k
bGVJbnNwZWN0b3I+LCBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1YmxpYyBXZWJD
b3JlOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVi
bGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlSW5zcGVjdG9yPiwg
cHVibGljIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50LCBwdWJsaWMgSW5zcGVjdG9yOjpGcm9udGVu
ZENoYW5uZWwgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViSW5zcGVjdG9yPiBjcmVhdGUo
V2ViUGFnZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViSW5zcGVjdG9yVUkuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJJbnNwZWN0b3JVSS5oCmluZGV4IDlkMDNmYzA5Y2FkMGVkM2U3MzQyY2Q5MjAxYjEyODA1YTJm
ZmE3MTMuLjdkOTM1MTBiZGFkZTE3M2Q2ZWY0ZDg1OWJlZGU1YmJhZjE2ZTc0Y2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0y
OCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJDb25uZWN0
aW9uLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JGb3J3YXJkaW5nLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmg+CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260652</attachid>
            <date>2015-09-04 16:54:42 -0700</date>
            <delta_ts>2015-09-04 17:18:47 -0700</delta_ts>
            <desc>For EWS (ios, win)</desc>
            <filename>bug-148492-20150904165439.patch</filename>
            <type>text/plain</type>
            <size>99491</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NWViZWJiOTgzNDQ1MTZmYjUxOGQwZGZjY2QzZGFkNmY3YzM1NWJkLi4xYWQyN2U3MmE4ZTkzNzFk
ZjNkNzA1ZjczYjQ2YjVkMWU3ZjlmYzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNlbmQgbWVzc2FnZXMgdGhyb3Vn
aCBGcm9udGVuZFJvdXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hhbm5lbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NDkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBGcm9u
dGVuZENoYW5uZWwgd2l0aCBGcm9udGVuZFJvdXRlci4gTWlub3IgY2xlYW51cHMgYWxvbmcgdGhl
IHdheS4gIAorCisgICAgICAgIE1ha2UgQWdlbnRSZWdpc3RyeSBhdXRvbWF0aWNhbGx5IHNpZ25h
bCBkaXNjYXJkQWdlbnQoKSBpbiBpdHMgZGVzdHJ1Y3Rvciwgc2luY2UgaXQgYWx3YXlzCisgICAg
ICAgIGdldHMgZXhlY3V0ZWQgaW4gdGhlIG93bmluZyBjb250cm9sbGVyJ3MgZGVzdHJ1Y3RvciBh
bnl3YXkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAoSW5z
cGVjdG9yOjpBZ2VudFJlZ2lzdHJ5Ojp+QWdlbnRSZWdpc3RyeSk6CisgICAgICAgIChJbnNwZWN0
b3I6OkFnZW50UmVnaXN0cnk6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAg
IChJbnNwZWN0b3I6OkFnZW50UmVnaXN0cnk6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6QWdlbnRSZWdpc3RyeTo6ZGlzY2FyZEFnZW50cyk6IERl
bGV0ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5jcHA6CisgICAgICAgIChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyOjpsZWFrQ2hhbm5lbCk6IERlbGV0ZWQsIG5vIGxvbmdlciBu
ZWNlc3NhcnkuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg6
CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmFw
cGVuZEV4dHJhQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3Bl
Y3RvckNvbnRyb2xsZXI6On5KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKElu
c3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAg
ICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVu
dGltZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9y
L2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weToKKyAg
ICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rp
c3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBCYWNrZW5kRGlzcGF0Y2hl
ckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgICogaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3Iu
Z2VuZXJhdGVfb3V0cHV0LkZyb250ZW5kUm91dGVyKToKKyAgICAgICAgKENwcEZyb250ZW5kRGlz
cGF0Y2hlckhlYWRlckdlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1w
bGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1lbnRh
dGlvbkdlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQpOgorICAgICAgICAoQ3BwRnJvbnRlbmREaXNw
YXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IuX2dlbmVyYXRlX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb25fZm9yX2V2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2Vu
L2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAg
ICAgICAoT2JqQ0NvbmZpZ3VyYXRpb25JbXBsZW1lbnRhdGlvbkdlbmVyYXRvci5nZW5lcmF0ZV9v
dXRwdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2Jq
Y19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAgICAgICAoT2JqQ0Zy
b250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6
CisKIDIwMTUtMDktMDQgIFN1a29sc2FrIFNha3NodXdvbmcgIDxzdWtvbHNha0BnbWFpbC5jb20+
CiAKICAgICAgICAgSW1wbGVtZW50IHRoZSBHZXRMb2NhbCBhbmQgU2V0TG9jYWwgaW5zdHJ1Y3Rp
b25zIGluIFdlYkFzc2VtYmx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlNGJmNDNjYmJkYjgxMmI0NGZjNjU4
NjliNTlmNDk4YTNjN2EwOS4uNTY4OTIyZTEzMjZkMzUxZmVhZTNmZDQyMWU3NTRkYzM3Yzc0OWE1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8
YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFnZW50cyBzaG91bGQg
c2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5kUm91dGVyIGluc3RlYWQgb2YgRnJvbnRlbmRD
aGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAg
UmVwbGFjZSB1c2VzIG9mIEZyb250ZW5kQ2hhbm5lbCB3aXRoIEZyb250ZW5kUm91dGVyLiBNaW5v
ciBjb2RlIGNsZWFudXAgYWxvbmcgdGhlIHdheS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5v
IGJlaGF2aW9yIGNoYW5nZWQuCisKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6fkluc3BlY3RvckNvbnRyb2xsZXIpOiBObyBuZWVk
IHRvIGNhbGwgZGlzY2FyZEFnZW50cygpLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRhdGFiYXNlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRm9yd2FyZGlu
Zy5oOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5o
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2VudEJhc2UuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29y
a2VyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvcldvcmtlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VSdW50
aW1lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZVJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RG
cm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlclJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50Lmg6CisgICAgICAgICog
cGFnZS9QYWdlRGVidWdnYWJsZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorCiAyMDE1LTA5LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgZGlzcGF0Y2hFdmVudCgpIHNob3VsZCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciBpZiB0
aGUgZXZlbnQncyBpbml0aWFsaXplZCBmbGFnIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCBlM2ZjNWFhNTUzNjhjYTljMzVlM2M0YzRhYWUyYzc2N2Y2MTM4OTlmLi5mYThjZmYwYzFiOTRm
YjMwZTk5Y2EyNmE2MzE0ZmEwOWQ0NzQ1ODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MTYgQEAKIDIwMTUtMDktMDQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogYWdlbnRzIHNob3VsZCBzZW5kIG1lc3NhZ2VzIHRocm91Z2ggRnJv
bnRlbmRSb3V0ZXIgaW5zdGVhZCBvZiBGcm9udGVuZENoYW5uZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODQ5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5oOiBDbGVhbiB1cCB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMsIGRvbid0IHVz
ZSBJbnNwZWN0b3JGb3J3YXJkaW5nLmguCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVj
dG9yRnJvbnRlbmQpOgorCisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvckNvbnRyb2xsZXIgc2hvdWxkIHN1
cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQgY2hhbm5lbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODUzOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOTBl
N2RhMjhiZDY5ZDExMzA3NDdlZmQ2MTE4YTYxOTA4ZmJiNTMwZC4uYjhhZDk4YTI5ODhlYzI2NTlm
MWUyNzc5NWVhZWM2YTFjNzI0ODVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBA
CiAyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGFnZW50cyBzaG91bGQgc2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5k
Um91dGVyIGluc3RlYWQgb2YgRnJvbnRlbmRDaGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBK
b3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgU3RvcCB1c2luZyBJbnNwZWN0b3JGb3J3YXJkaW5n
LmguCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKwor
MjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbnNwZWN0b3JDb250cm9sbGVyIHNob3VsZCBzdXBwb3J0IG11bHRpcGxlIGZy
b250ZW5kIGNoYW5uZWxzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDg1MzgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDM3NGQyZDZkYjUxMmFmZmNkMDQxYjJmZDli
YjA4NmZmNThlNDkyMzAuLjkyYzJjN2JmYmQzNjIxOGY0ZjQzM2VmNGRmYTU4MTU1YmM5MmRlMGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJi
dXJnQGFwcGxlLmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNl
bmQgbWVzc2FnZXMgdGhyb3VnaCBGcm9udGVuZFJvdXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hh
bm5lbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4
NDkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFN0
b3AgdXNpbmcgSW5zcGVjdG9yRm9yd2FyZGluZy5oLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3JVSS5oOgorCisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvckNvbnRyb2xsZXIgc2hvdWxkIHN1
cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQgY2hhbm5lbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODUzOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaAppbmRleCA2MzQwNGNmNTQy
NTRhZDZhM2VhYTFhNWYyN2M0OWI5MTc3MmM4NTE0Li5mNGFlYjA3ZTk4MmU4M2M5MGQyZjk2MjJm
MWQ5Y2U4NTYyNWY1OTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBjbGFz
cyBCYWNrZW5kRGlzcGF0Y2hlcjsKLWNsYXNzIEZyb250ZW5kQ2hhbm5lbDsKK2NsYXNzIEZyb250
ZW5kUm91dGVyOwogCiBlbnVtIGNsYXNzIERpc2Nvbm5lY3RSZWFzb24gewogICAgIEluc3BlY3Rl
ZFRhcmdldERlc3Ryb3llZCwKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5n
IGRvbWFpbk5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiwgQmFja2VuZERp
c3BhdGNoZXIqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpc2NhcmRBZ2VudCgpIHsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5
LmNwcAppbmRleCBiY2MwOTg4MjE0YTYxZGYxZWE2NzM0M2Q1MzIyNjE1MjVlN2VmNDM5Li4zNWMz
NGIzZmYxZTc5ZTkxMGViMzRlNGI5OWFjOGJlMjBmNDIwNTEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM1LDYgKzM1LDE0
IEBAIEFnZW50UmVnaXN0cnk6OkFnZW50UmVnaXN0cnkoKQogewogfQogCitBZ2VudFJlZ2lzdHJ5
Ojp+QWdlbnRSZWdpc3RyeSgpCit7CisgICAgLy8gQWxsb3cgYWdlbnRzIHRvIHJlbW92ZSBjcm9z
cy1yZWZlcmVuY2VzIHRvIG90aGVyIGFnZW50cyB0aGF0IHdvdWxkIG90aGVyd2lzZQorICAgIC8v
IG1ha2UgaXQgZGlmZmljdWx0IHRvIGVzdGFibGlzaCBhIGNvcnJlY3QgZGVzdHJ1Y3Rpb24gb3Jk
ZXIgZm9yIGFsbCBhZ2VudHMuCisgICAgZm9yIChhdXRvJiBhZ2VudCA6IG1fYWdlbnRzKQorICAg
ICAgICBhZ2VudC0+ZGlzY2FyZEFnZW50KCk7ICAgIAorfQorCiB2b2lkIEFnZW50UmVnaXN0cnk6
OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNlPiBhZ2VudCkKIHsKICAg
ICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKGFnZW50KSk7CkBAIC00OSwyMiArNTcsMTYgQEAg
dm9pZCBBZ2VudFJlZ2lzdHJ5OjphcHBlbmRFeHRyYUFnZW50KHN0ZDo6dW5pcXVlX3B0cjxJbnNw
ZWN0b3JBZ2VudEJhc2U+IGFnZW50KQogfQogI2VuZGlmCiAKLXZvaWQgQWdlbnRSZWdpc3RyeTo6
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFu
bmVsLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEFnZW50UmVn
aXN0cnk6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRl
bmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYWdlbnRzLnNpemUoKTsgaSsrKQotICAgICAgICBtX2Fn
ZW50c1tpXS0+ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKGZyb250ZW5kQ2hhbm5lbCwgYmFj
a2VuZERpc3BhdGNoZXIpOworICAgIGZvciAoYXV0byYgYWdlbnQgOiBtX2FnZW50cykKKyAgICAg
ICAgYWdlbnQtPmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChmcm9udGVuZFJvdXRlciwgYmFj
a2VuZERpc3BhdGNoZXIpOwogfQogCiB2b2lkIEFnZW50UmVnaXN0cnk6OndpbGxEZXN0cm95RnJv
bnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RSZWFzb24gcmVhc29uKQogewotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9hZ2VudHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIG1fYWdlbnRzW2ld
LT53aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChyZWFzb24pOwotfQotCi12b2lkIEFnZW50
UmVnaXN0cnk6OmRpc2NhcmRBZ2VudHMoKQotewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9hZ2VudHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIG1fYWdlbnRzW2ldLT5kaXNjYXJkQWdlbnQo
KTsKKyAgICBmb3IgKGF1dG8mIGFnZW50IDogbV9hZ2VudHMpCisgICAgICAgIGFnZW50LT53aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChyZWFzb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnRSZWdpc3RyeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmgKaW5kZXggOTYyZjAwNmRmNzI3MTNjMmQ5NDdmZTg3NTc5
NGM4Nzk4MDk1NmM0Ny4uNjFhZTlhMGNhMzhmNzc5YjE5YjNlOWZjYjdiOWIxNTU1YTk5NzQ3MSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dFJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBZ2VudFJlZ2lzdHJ5LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
QEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBjbGFzcyBCYWNrZW5k
RGlzcGF0Y2hlcjsKLWNsYXNzIEZyb250ZW5kQ2hhbm5lbDsKK2NsYXNzIEZyb250ZW5kUm91dGVy
OwogY2xhc3MgSW5zcGVjdG9yQWdlbnRCYXNlOwogCiBlbnVtIGNsYXNzIERpc2Nvbm5lY3RSZWFz
b247CkBAIC00MSwxMiArNDEsMTIgQEAgZW51bSBjbGFzcyBEaXNjb25uZWN0UmVhc29uOwogY2xh
c3MgSlNfRVhQT1JUX1BSSVZBVEUgQWdlbnRSZWdpc3RyeSB7CiBwdWJsaWM6CiAgICAgQWdlbnRS
ZWdpc3RyeSgpOworICAgIH5BZ2VudFJlZ2lzdHJ5KCk7CiAKICAgICB2b2lkIGFwcGVuZChzdGQ6
OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNlPik7CiAKLSAgICB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqLCBCYWNrZW5kRGlzcGF0Y2hlciopOwor
ICAgIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFj
a2VuZERpc3BhdGNoZXIqKTsKICAgICB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KERpc2Nvbm5lY3RSZWFzb24pOwotICAgIHZvaWQgZGlzY2FyZEFnZW50cygpOwogCiAjaWYgRU5B
QkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgdm9pZCBhcHBlbmRFeHRy
YUFnZW50KHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JBZ2VudEJhc2U+KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlci5jcHAKaW5kZXggMDkzNmI0MTExYzI0MTMzNGQ3NDljMjI0MWQzYjZjMTQ1MTg2
OTA3ZC4uOWYwYjAzZTY4YWUzZGNmYjk5YzA2ZjFmNDZlN2RmMTg4Mzg1ODg2NSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlci5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIgogCi0jaW5jbHVkZSAi
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRS
b3V0ZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlIDx3dGYvVGVt
cG9yYXJ5Q2hhbmdlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCmluZGV4IDI4N2E2NzhhNjVlZmJl
YjYwZjVmZGQ4YjNjMTIyOTVmZGQ2ZWQzMTAuLjY1Zjg1MjVhMmU4ODNhOWUxZWFhM2EzMzU2YjIx
NmQyZTAzMzNkMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCkBAIC02NSwxNSArNjUsNiBAQCB2
b2lkIEZyb250ZW5kUm91dGVyOjpkaXNjb25uZWN0QWxsRnJvbnRlbmRzKCkKICAgICBtX2Nvbm5l
Y3Rpb25zLmNsZWFyKCk7CiB9CiAKLS8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQ4
NDkyPiByZW1vdmUgdGhpcyBtZXRob2Qgb25jZSBhZ2VudHMgbW92ZSB0byB1c2luZyBGcm9udGVu
ZFJvdXRlciBkaXJlY3RseS4KLUZyb250ZW5kQ2hhbm5lbCogRnJvbnRlbmRSb3V0ZXI6OmxlYWtD
aGFubmVsKCkgY29uc3QKLXsKLSAgICBpZiAobV9jb25uZWN0aW9ucy5zaXplKCkpCi0gICAgICAg
IHJldHVybiBtX2Nvbm5lY3Rpb25zLmF0KDApOwotCi0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0K
IGJvb2wgRnJvbnRlbmRSb3V0ZXI6Omhhc0xvY2FsRnJvbnRlbmQoKSBjb25zdAogewogICAgIGZv
ciAoYXV0byogY29ubmVjdGlvbiA6IG1fY29ubmVjdGlvbnMpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaApp
bmRleCA0YTY0MTFiZWM0MjY1NzcwMDVkMjg5YmQ0MzNkYjBhMDM4MjMzOWJhLi40OWI5NTgzZTQ3
MGFiNjhjN2U1NDhmYmEzZjJjNDE4YTFkZTliZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oCkBAIC00
NSw5ICs0NSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nvbm5lY3RGcm9udGVuZChGcm9udGVu
ZENoYW5uZWwqKTsKICAgICB2b2lkIGRpc2Nvbm5lY3RBbGxGcm9udGVuZHMoKTsKIAotICAgIC8v
IEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQ4NDkyPiByZW1vdmUgdGhpcyBtZXRob2Qg
b25jZSBhZ2VudHMgbW92ZSB0byB1c2luZyBGcm9udGVuZFJvdXRlciBkaXJlY3RseS4KLSAgICBG
cm9udGVuZENoYW5uZWwqIGxlYWtDaGFubmVsKCkgY29uc3Q7Ci0KICAgICB2b2lkIHNlbmRFdmVu
dChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIGNvbnN0OwogICAgIHZvaWQgc2VuZFJlc3BvbnNlKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCAzMzUwZmMwZDE4OTUxZjA4MmZhNzk3MTEyMDdhNWIyODA3ZWY0
Y2FjLi5kYmQyZTc2YzZhMTYxNmVjNDBiOTgyMzZjYTY5ZjBlZmM4ZDRjMjMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NCwxNCArNjQsOSBAQCBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKEpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiAgICAgOiBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiAgICAgLCBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEluamVjdGVkU2NyaXB0TWFuYWdlcj4oKnRoaXMs
IEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQorICAgICwgbV9leGVjdXRpb25TdG9wd2F0
Y2goU3RvcHdhdGNoOjpjcmVhdGUoKSkKICAgICAsIG1fZnJvbnRlbmRSb3V0ZXIoRnJvbnRlbmRS
b3V0ZXI6OmNyZWF0ZSgpKQogICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKG1fZnJvbnRlbmRSb3V0ZXIuY29weVJlZigpKSkKLSAgICAsIG1fZXhlY3V0
aW9uU3RvcHdhdGNoKFN0b3B3YXRjaDo6Y3JlYXRlKCkpCi0gICAgLCBtX2luY2x1ZGVOYXRpdmVD
YWxsU3RhY2tXaXRoRXhjZXB0aW9ucyh0cnVlKQotICAgICwgbV9pc0F1dG9tYXRpY0luc3BlY3Rp
b24oZmFsc2UpCi0jaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCi0g
ICAgLCBtX2F1Z21lbnRpbmdDbGllbnQobnVsbHB0cikKLSNlbmRpZgogewogICAgIGF1dG8gaW5z
cGVjdG9yQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFnZW50PigqdGhpcyk7CiAg
ICAgYXV0byBydW50aW1lQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0UnVu
dGltZUFnZW50PigqbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIsIG1fZ2xvYmFsT2JqZWN0KTsKQEAg
LTk1LDcgKzkwLDYgQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKIAogSlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyOjp+SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKCkK
IHsKLSAgICBtX2FnZW50cy5kaXNjYXJkQWdlbnRzKCk7CiB9CiAKIHZvaWQgSlNHbG9iYWxPYmpl
Y3RJbnNwZWN0b3JDb250cm9sbGVyOjpnbG9iYWxPYmplY3REZXN0cm95ZWQoKQpAQCAtMTE3LDcg
KzExMSw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0
RnJvbnRlbmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuCiAgICAgaWYgKCFjb25uZWN0ZWRGaXJz
dEZyb250ZW5kKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoZnJvbnRlbmRDaGFubmVsLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQo
KSk7CisgICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKCZtX2Zyb250ZW5k
Um91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CiAKICNpZiBFTkFCTEUo
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykKICAgICBtX2luc3BlY3RvckFnZW50LT5h
Y3RpdmF0ZUV4dHJhRG9tYWlucyhtX2FnZW50cy5leHRyYURvbWFpbnMoKSk7CkBAIC0yNzcsNyAr
MjcxLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmFwcGVuZEV4
dHJhQWdlbnQoc3RkOjp1bmlxdWVfcHRyPEluc3BlY3QKIHsKICAgICBTdHJpbmcgZG9tYWluTmFt
ZSA9IGFnZW50LT5kb21haW5OYW1lKCk7CiAKLSAgICBhZ2VudC0+ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKG1fZnJvbnRlbmRSb3V0ZXItPmxlYWtDaGFubmVsKCksICZtX2JhY2tlbmREaXNw
YXRjaGVyLmdldCgpKTsKKyAgICBhZ2VudC0+ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKCZt
X2Zyb250ZW5kUm91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CiAKICAg
ICBtX2FnZW50cy5hcHBlbmRFeHRyYUFnZW50KFdURjo6bW92ZShhZ2VudCkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBhYWUzMmUzYzg5OTNiZjcwN2U2NmI3
ZjUyMDU4MjMyYTczYTczOTcxLi5lMTEzMDg1ZDVjYzk4ZGI4NTJmODVkM2Q2YWQzOWFkYjE5NDQ0
MWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFs
T2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTExMiwxOCArMTEy
LDIxIEBAIHByaXZhdGU6CiAgICAgSlNDOjpKU0dsb2JhbE9iamVjdCYgbV9nbG9iYWxPYmplY3Q7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluamVjdGVkU2NyaXB0TWFuYWdlcj4gbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEpTR2xvYmFsT2JqZWN0Q29uc29sZUNs
aWVudD4gbV9jb25zb2xlQ2xpZW50OwotICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFn
ZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7Ci0gICAgSW5z
cGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50OworICAgIFJlZjxXVEY6OlN0b3B3
YXRjaD4gbV9leGVjdXRpb25TdG9wd2F0Y2g7CisKICAgICBBZ2VudFJlZ2lzdHJ5IG1fYWdlbnRz
OworICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50IHsgbnVsbHB0ciB9OworICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQgeyBudWxscHRyIH07CisgICAg
SW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50IHsgbnVsbHB0ciB9OworCiAg
ICAgUmVmPEZyb250ZW5kUm91dGVyPiBtX2Zyb250ZW5kUm91dGVyOwogICAgIFJlZjxCYWNrZW5k
RGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKLSAgICBSZWY8V1RGOjpTdG9wd2F0Y2g+
IG1fZXhlY3V0aW9uU3RvcHdhdGNoOwotICAgIGJvb2wgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNr
V2l0aEV4Y2VwdGlvbnM7Ci0gICAgYm9vbCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbjsKKworICAg
IGJvb2wgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNrV2l0aEV4Y2VwdGlvbnMgeyBmYWxzZSB9Owor
ICAgIGJvb2wgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb24geyBmYWxzZSB9OwogCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCi0gICAgQXVnbWVudGFibGVJbnNwZWN0
b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQ7CisgICAgQXVnbWVudGFibGVJ
bnNwZWN0b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQgeyBudWxscHRyIH07
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAppbmRleCA4NjIyNGJhNmJiNjNiNDk1ZWRh
YTA2NmMyN2ZjNDNhYzc2ODBlNjkxLi41N2ZlNWFhZmRjYjEzYWY1NzM0MWM2ZDE2NWI1MmU5ZmQ4
ZjYyYzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCkBAIC00OCw5ICs0OCw5IEBAIEluc3BlY3RvckFn
ZW50Ojp+SW5zcGVjdG9yQWdlbnQoKQogewogfQogCi12b2lkIEluc3BlY3RvckFnZW50OjpkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWws
IEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yQWdl
bnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRlbmRS
b3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yRnJvbnRlbmREaXNw
YXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3Rk
OjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVy
KTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6
OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oCmluZGV4
IGI3MWYxY2VjZmZjMmMzZDliY2YwZDM5NzgyM2E1MzNmZjYzNDlmZWIuLjFlOGZiNjkwZWI1NWZm
YmNlNDVkMDExOGI5NWM0NGRiNjA3MTA5ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTAsIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01MSw3
ICs1MSw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBZ2VudChJbnNwZWN0b3JFbnZpcm9ubWVu
dCYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCosIEJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyYp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggMWYxZDliMWJh
MDQ3NjczYTZkMDgxNDc5NTUxNTNiMDAwZDMwMThhZC4uNjQ5YzAyOWE0ZDcwZDUyNWQwOGNkZTgw
Y2ZhNzIzMjAxMDMyYTQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01Myw5ICs1Myw5IEBAIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudDo6fkluc3BlY3RvckNvbnNvbGVBZ2VudCgpCiB7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRl
bmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlz
cGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hl
ciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6
Om1ha2VfdW5pcXVlPENvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7
CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnNvbGVGcm9u
dGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVy
ID0gQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRo
aXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCmluZGV4IGIyM2Q2ZjQ2YWE5MTk4
MTc1ZmU0NzU1ZGU5ODU5NDcyNjczOTY3Y2EuLmQxMjE0N2UyNmYwMTM1MTQ3MWViZjU3MzhmNTk1
YWNkNDgxYjA2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVj
dG9yQ29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciYpOwogICAgIHZpcnR1YWwgfklu
c3BlY3RvckNvbnNvbGVBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqLCBCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRl
bmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uKSBvdmVycmlk
ZTsKIAogICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggYWNhYzE3MGE0MDMxNTEwMGMxNjMy
Nzg5NWZiNzQ5Y2Y5MGZjN2E5NS4uNjg1MzY3MGE3YTBmYWQ0NWRiZTJlM2E2NGFlMDJjYWVjMjVl
MmJkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTEsNiArMSw2IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTMsIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTY5LDkgKzY5LDkgQEAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6fkluc3BlY3RvckRl
YnVnZ2VyQWdlbnQoKQogewogfQogCi12b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwg
QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JEZWJ1
Z2dlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqIGZy
b250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0g
ICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPERlYnVnZ2VyRnJvbnRl
bmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxEZWJ1Z2dlckZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRS
b3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBEZWJ1Z2dlckJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmgKaW5kZXggMDBiNjJjOGM3ZDE4MzM1NDNhZjNjY2UyZmUxMGMxYWI5ZjI5
NmEwZi4uOGQxOTQyNTFmMTUwODMyNzkxMzliYzM3Yzk2N2RjMjgyYjkwMGNhMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAtMSw2ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDEwLTIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMCwgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjUsNyArNjUsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5l
bCosIEJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVy
Kikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNr
ZW5kKERpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJs
ZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQuY3BwCmluZGV4IGVkYWJiZTIzZWFhMGIxZWZlMzQ2MGRiYzczMmNiMmNmYmI1YTQ2NGQu
LjBlMDQ1ZjQwZjMwYWZmNTBiMTc0MWEyMWI3Y2Q2ZmVhYjA1OWU0MGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGlt
ZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9K
U0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDkgKzQwLDkgQEAgSlNHbG9iYWxPYmpl
Y3RSdW50aW1lQWdlbnQ6OkpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50KEluamVjdGVkU2NyaXB0
TWFuYWdlciYgaW4KIHsKIH0KIAotdm9pZCBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVs
LCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEpTR2xvYmFsT2Jq
ZWN0UnVudGltZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0
ZXIqIGZyb250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIp
CiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFJ1bnRpbWVG
cm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3Bh
dGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250
ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gUnVudGltZUJhY2tlbmREaXNw
YXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1
bnRpbWVBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNH
bG9iYWxPYmplY3RSdW50aW1lQWdlbnQuaAppbmRleCBlZTBhNDVkNjY0MWM2NWEwZWJmZjkwNTU5
Yzk4MjNhYTAxODVhNjQyLi45MTdmZGViOTVkOGEwZTEzYWU4MzEwZGRkODJmNDA0ZTcwYzgwZDUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0ds
b2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9y
UnVudGltZUFnZW50IHsKIHB1YmxpYzoKICAgICBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudChJ
bmplY3RlZFNjcmlwdE1hbmFnZXImLCBKU0M6OkpTR2xvYmFsT2JqZWN0Jik7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCosIEJh
Y2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERp
c2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBKU0M6OlZNJiBnbG9iYWxW
TSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2Vu
dC5oCmluZGV4IDVmZjAzNTM1ODRiZGUyZTk5MmM4YjAwOWRiMzk2ZGJiNmE2NTI1YjUuLmNhNDZm
MTI1YWUzMWU1NGM0NTliMGI4MTYxNzhlZGZmMWY0YTU0OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYXVnbWVudGFibGUvQWx0ZXJuYXRlRGlzcGF0Y2hhYmxl
QWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2F1Z21lbnRhYmxl
L0FsdGVybmF0ZURpc3BhdGNoYWJsZUFnZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAg
IHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEZyb250ZW5kQ2hhbm5lbCosIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikg
b3ZlcnJpZGUKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZy
b250ZW5kUm91dGVyKiwgQmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKSBvdmVy
cmlkZQogICAgIHsKICAgICAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IFRCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCBudWxscHRyKTsKICAgICAgICAgbV9iYWNr
ZW5kRGlzcGF0Y2hlci0+c2V0QWx0ZXJuYXRlRGlzcGF0Y2hlcihtX2FsdGVybmF0ZURpc3BhdGNo
ZXIuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcAppbmRleCBh
YzgzYTE4ZTk1OTk1YjFjMzU4NmZhNzg2MTA3MWZjYzRlNWViODM5Li5kOWI4MmViNGMwNzlkMTZk
YjU4MjgyYTJmMDQwODAzZDAyNWNkODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1
Z2dhYmxlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQog
CiAjaW5jbHVkZSAiRXZlbnRMb29wLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsLmgiCiAjaW5jbHVkZSAiUmVtb3RlSW5zcGVjdG9yLmgiCiAKIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpp
bmRleCA3NTA3MWM2ZDE1YTU5ZDIwNTk1YjJjMzQ4MDY5NWUyNTQyOGYzODgxLi45YWY5ZGRhZjg0
ZGYyMWU2ZWY3MjY3MDE5MzlmNDM1OGE3YWVlY2I0IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRl
cy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpAQCAtMjA0LDEwICsyMDQsMTAgQEAgJHtvdXRQ
YXJhbWV0ZXJBc3NpZ25tZW50c30KICAgICBGcm9udGVuZERpc3BhdGNoZXJEb21haW5EaXNwYXRj
aGVyRGVjbGFyYXRpb24gPSAoCiAiIiIke2NsYXNzQW5kRXhwb3J0TWFjcm99ICR7ZG9tYWluTmFt
ZX1Gcm9udGVuZERpc3BhdGNoZXIgewogcHVibGljOgotICAgICR7ZG9tYWluTmFtZX1Gcm9udGVu
ZERpc3BhdGNoZXIoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwpIDogbV9mcm9udGVu
ZENoYW5uZWwoZnJvbnRlbmRDaGFubmVsKSB7IH0KKyAgICAke2RvbWFpbk5hbWV9RnJvbnRlbmRE
aXNwYXRjaGVyKEZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlcikgOiBtX2Zyb250ZW5kUm91
dGVyKGZyb250ZW5kUm91dGVyKSB7IH0KICR7ZXZlbnREZWNsYXJhdGlvbnN9CiBwcml2YXRlOgot
ICAgIEZyb250ZW5kQ2hhbm5lbCogbV9mcm9udGVuZENoYW5uZWw7CisgICAgRnJvbnRlbmRSb3V0
ZXIqIG1fZnJvbnRlbmRSb3V0ZXI7CiB9OyIiIikKIAogICAgIFByb3RvY29sT2JqZWN0QnVpbGRl
ckRlY2xhcmF0aW9uUHJlbHVkZSA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNo
ZXJfaW1wbGVtZW50YXRpb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0
aW9uLnB5CmluZGV4IGIzNmMwYjEzYzA4ZDkxMTEyOTQ2NDdiNmI4NmRiZGJlMjhiZmQ3MzUuLmNi
YmJjMGVmNDZjNmVjNzgyNzk3MDRkNDZlYTY4NDA4MmEzMTkxMjEgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9i
YWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlz
cGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQpAQCAtNDksNyArNDksNiBAQCBjbGFzcyBDcHBCYWNr
ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAKICAgICBk
ZWYgZ2VuZXJhdGVfb3V0cHV0KHNlbGYpOgogICAgICAgICBzZWNvbmRhcnlfaGVhZGVycyA9IFsK
LSAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPicsCiAg
ICAgICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPicsCiAgICAg
ICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4nLAogICAgICAgICAgICAgJzx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4nLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNo
ZXJfaGVhZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CmluZGV4IGZm
MDlhYjM5YjBhMzY5M2E2NzRiMGM2YzRmZjE2NWNmZmRiN2QwNDIuLjU4YTNjYjkyNTUxN2E1M2Iw
NTVkNTAzNzY4Yzg4NzM2ZmE4N2E1YWQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRj
aGVyX2hlYWRlci5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkKQEAg
LTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBweXRob24KICMKLSMgQ29weXJpZ2h0IChjKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0
LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChjKSAy
MDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CkBAIC01MSwxNCArNTEsMTMgQEAgY2xhc3MgQ3BwRnJvbnRlbmREaXNwYXRjaGVy
SGVhZGVyR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAgICAgZGVmIGdlbmVyYXRlX291dHB1dChzZWxm
KToKICAgICAgICAgaGVhZGVycyA9IFsKICAgICAgICAgICAgICciSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmgiJywKLSAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hh
bm5lbC5oPicsCiAgICAgICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4nLAog
ICAgICAgICAgICAgJzx3dGYvdGV4dC9XVEZTdHJpbmcuaD4nXQogCiAgICAgICAgIGhlYWRlcl9h
cmdzID0gewogICAgICAgICAgICAgJ2hlYWRlckd1YXJkU3RyaW5nJzogcmUuc3ViKCdcVysnLCAn
XycsIHNlbGYub3V0cHV0X2ZpbGVuYW1lKCkpLAogICAgICAgICAgICAgJ2luY2x1ZGVzJzogJ1xu
Jy5qb2luKFsnI2luY2x1ZGUgJyArIGhlYWRlciBmb3IgaGVhZGVyIGluIGhlYWRlcnNdKSwKLSAg
ICAgICAgICAgICd0eXBlZGVmcyc6ICcnLAorICAgICAgICAgICAgJ3R5cGVkZWZzJzogJ2NsYXNz
IEZyb250ZW5kUm91dGVyOycsCiAgICAgICAgIH0KIAogICAgICAgICBzZWN0aW9ucyA9IFtdCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IDc5ODE1N2EwNjA4
OWU1MjMyODVjM2Q0YmYxZmEwYWQ3MTExNmViM2UuLmRlNDRmOWExYjhiNWJmY2ExZjkwNjhjODRl
YmJiOTU3ZDc0YTFiYzkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9u
LnB5CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiAjCi0jIENvcHlyaWdo
dCAoYykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAo
YykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdo
dCAoYykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtNDgsNyArNDgsMTAgQEAgY2xhc3MgQ3BwRnJvbnRlbmREaXNw
YXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IoR2VuZXJhdG9yKToKICAgICAgICAgcmV0dXJu
IGZpbHRlcihsYW1iZGEgZG9tYWluOiBsZW4oZG9tYWluLmV2ZW50cykgPiAwLCBHZW5lcmF0b3Iu
ZG9tYWluc190b19nZW5lcmF0ZShzZWxmKSkKIAogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2Vs
Zik6Ci0gICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWyc8d3RmL3RleHQvQ1N0cmluZy5oPidd
CisgICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWworICAgICAgICAgICAgJyJJbnNwZWN0b3JG
cm9udGVuZFJvdXRlci5oIicsCisgICAgICAgICAgICAnPHd0Zi90ZXh0L0NTdHJpbmcuaD4nLAor
ICAgICAgICBdCiAKICAgICAgICAgaGVhZGVyX2FyZ3MgPSB7CiAgICAgICAgICAgICAncHJpbWFy
eUluY2x1ZGUnOiAnIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCInLApAQCAtMTE2LDYg
KzExOSw2IEBAIGNsYXNzIENwcEZyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJh
dG9yKEdlbmVyYXRvcik6CiAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICBqc29uTWVzc2Fn
ZS0+c2V0T2JqZWN0KEFTQ0lJTGl0ZXJhbCgicGFyYW1zIiksIFdURjo6bW92ZShwYXJhbXNPYmpl
Y3QpKTsnKQogCiAgICAgICAgIGxpbmVzLmFwcGVuZCgnJykKLSAgICAgICAgbGluZXMuYXBwZW5k
KCcgICAgbV9mcm9udGVuZENoYW5uZWwtPnNlbmRNZXNzYWdlVG9Gcm9udGVuZChqc29uTWVzc2Fn
ZS0+dG9KU09OU3RyaW5nKCkpOycpCisgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgIG1fZnJvbnRl
bmRSb3V0ZXItPnNlbmRFdmVudChqc29uTWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOycpCiAgICAg
ICAgIGxpbmVzLmFwcGVuZCgnfScpCiAgICAgICAgIHJldHVybiAiXG4iLmpvaW4obGluZXMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29i
amNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IGEyNzdkNzg2ZTUy
ZTJhZDZlMTFjMGNlYWQ1ZTVlMjZjOGQ0YzI1YjMuLjRjZTVkMDg2ZjNhYzQ5ZTE2NzU4YjFlNjVl
YjA4ZTgzOTRhMmM5M2UgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9u
LnB5CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiAjCi0jIENvcHlyaWdo
dCAoYykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAo
YykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdo
dCAoYykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtNTMsNyArNTMsNiBAQCBjbGFzcyBPYmpDQ29uZmlndXJhdGlv
bkltcGxlbWVudGF0aW9uR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAgICAgICAgIHNlY29uZGFyeV9o
ZWFkZXJzID0gWwogICAgICAgICAgICAgJyIlc0ludGVybmFsLmgiJyAlIE9iakNHZW5lcmF0b3Iu
T0JKQ19QUkVGSVgsCiAgICAgICAgICAgICAnIiVzRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiJyAl
IE9iakNHZW5lcmF0b3IuT0JKQ19QUkVGSVgsCi0gICAgICAgICAgICAnPEphdmFTY3JpcHRDb3Jl
L0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPicsCiAgICAgICAgICAgICAnPEphdmFTY3JpcHRD
b3JlL0luc3BlY3RvclZhbHVlcy5oPicsCiAgICAgICAgIF0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19m
cm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNw
YXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IDk0MDE4ZTU5ZjZmYWY2MDIwN2JhZWNkNjVi
YjU1M2E1MmIwZmU1N2QuLmI4ZDEwODA2MGQ5YTY4NTJlYWZjMGRlOTRjNmZmNzgzZWMzOGYyMGYg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2Rl
Z2VuL2dlbmVyYXRlX29iamNfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5l
cmF0ZV9vYmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKQEAgLTEsNiAr
MSw2IEBACiAjIS91c3IvYmluL2VudiBweXRob24KICMKLSMgQ29weXJpZ2h0IChjKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChjKSAyMDE0IFVu
aXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CkBAIC01MCw3ICs1MCw2IEBAIGNsYXNzIE9iakNGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1l
bnRhdGlvbkdlbmVyYXRvcihHZW5lcmF0b3IpOgogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2Vs
Zik6CiAgICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWwogICAgICAgICAgICAgJyIlc0VudW1D
b252ZXJzaW9uSGVscGVycy5oIicgJSBPYmpDR2VuZXJhdG9yLk9CSkNfUFJFRklYLAotICAgICAg
ICAgICAgJzxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4nLAogICAg
ICAgICAgICAgJzxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1ZXMuaD4nLAogICAgICAgICBd
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmlu
ZGV4IGM0NWFjMWZmNWY0NmY4ZGFhYWIyNmY4N2I1N2FmNDc5OTNmNjZjNmQuLjUwMTQ0MWM0Mjc4
MTYzMWVmMmZiYzgwYWIwNDQxMzMyMTUxZGJlMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMjI3NDcsNyArMjI3NDcsNiBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckRPTUFnZW50LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NRGVidWdn
ZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXEluc3BlY3RvckZvcndhcmRpbmcuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVu
ZEhvc3QuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBkZDliMmRhZjFhZGZkZDhhODdmNDFjMzA1ODUz
ZjNkY2Y1ZTZhMmZkLi5hNDYxM2NjMzhlNTNkYTIwNWU0MDdjZWRhNDc0NWY4YWVjYjZmNmRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzCkBAIC0xMTkxOCw5ICsxMTkxOCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiPgogICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGb3J3YXJkaW5nLmgiPgotICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDg0ZjIy
YjBhMmIxNjgwNTQ2ZjA5MDliOTcyZDk1NjhhZjMyNWVkNS4uNTJhODk1N2I1OTg3YzliZDUyMmEx
YTI1YmRmODY4NGY1OWM5MzY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTkxLDcgKzk5MSw2IEBACiAJCTIwRDYyOTI3MTI1
MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRDYyOTI1MTI1MzY5MEIwMDA4MTU0
MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCAqLzsgfTsKIAkJMjI1QTE2QjUwRDVDMTFF
OTAwMDkwMjk1IC8qIFdlYkV2ZW50UmVnaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyMjVBMTZCMzBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRS
ZWdpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyMjVBMTZCNjBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMjVBMTZCNDBENUMxMUU5MDAw
OTAyOTUgLyogV2ViRXZlbnRSZWdpb24ubW0gKi87IH07Ci0JCTIyNzc3NzYwMTM0NURFQTkwMDhF
QTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9y
Rm9yd2FyZGluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTIyOEMyODQ1MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyOEMyODQ0MTBEODI1
MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyMjkyQjI3QzEzNTY2Njk0MDBDRjExRUYgLyogSW1h
Z2VCdWZmZXJEYXRhQ0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjI5MkIyN0IxMzU2NjY5NDAwQ0YxMUVGIC8qIEltYWdlQnVmZmVyRGF0YUNHLmNw
cCAqLzsgfTsKIAkJMjJCRDlGN0YxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjJCRDlGN0Qx
MzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MTcwLDcgKzgxNjksNiBAQAogCQkyMEQ2
MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMjVBMTZCMzBENUMxMUU5MDAwOTAyOTUgLyog
V2ViRXZlbnRSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRXZl
bnRSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI1QTE2QjQwRDVDMTFF
OTAwMDkwMjk1IC8qIFdlYkV2ZW50UmVnaW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViRXZlbnRSZWdpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZvcndhcmRpbmcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI4QzI4NDQxMEQ4MjUwMDAwOUQwRDBFIC8q
IFNjcmlwdFdyYXBwYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3Jp
cHRXcmFwcGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI5MkIyN0IxMzU2
NjY5NDAwQ0YxMUVGIC8qIEltYWdlQnVmZmVyRGF0YUNHLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQnVmZmVyRGF0YUNHLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUJ1ZmZlckRhdGEuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NjUwLDcgKzE1NjQ4LDYgQEAKIAkJCQlG
M0Q0QzQ3NzEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oICov
LAogCQkJCTdBNzRFQ0I4MTAxODM5QTUwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQuY3BwICovLAogCQkJCTdBNzRFQ0I5MTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQuaCAqLywKLQkJCQkyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVj
dG9yRm9yd2FyZGluZy5oICovLAogCQkJCUYzNDRDNzEyMTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudC5oICovLAogCQkJCUYzNDRDNzU3MTEyOTRGRjYwMEYyNkVFRSAv
KiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCAqLywKIAkJCQlGMzQ0Qzc1MjExMjk0
RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oICovLApAQCAtMjUz
MzYsNyArMjUzMzMsNiBAQAogCQkJCTdBMjQ1ODdDMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0
b3JET01BZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjNENEM0NzkxMkUwNzY2MzAwM0RBMTUw
IC8qIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNzRF
Q0JCMTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJk
aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRDNzUzMTEyOTRE
OUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QTBFNzcwRjEwQzAwQTg4MDBBMDI3NkUgLyogSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKaW5kZXggMjk2YTA3ZDk1YjYy
OTc1NDExYTdhYzZkYjRkMjEzNjVhZDJlYWMzOC4uYTg0MWMzMjJjOTY0YTFhOTFkY2NmMjYzZWUz
ZjZjYzVhZmE2NmZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQ5LDkgKzQ5LDkgQEAgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50OjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW4KIHsKIH0KIAotdm9pZCBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwg
QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JBcHBs
aWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJv
dXRlciogZnJvbnRlbmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hl
cikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVj
dG9yOjpBcHBsaWNhdGlvbkNhY2hlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwp
OworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6
OkFwcGxpY2F0aW9uQ2FjaGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAg
ICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpBcHBsaWNhdGlvbkNhY2hlQmFja2Vu
ZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaAppbmRleCAxMTdjODVlNmQyZjcyNDM3NTQyMGNhZWZmNDc1NjFkOGVkODc0OTJk
Li4yNDhkM2Y4NDFiZDdmMmMwYzFkMDkxYWU5MTU5NjNlZWZhNWFlOTE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAg
IHZpcnR1YWwgfkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQogCi0gICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRl
bmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlz
Y29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2Fj
aGVTdGF0dXMoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuY3BwCmluZGV4IGE3OTI0NDRiMmUwN2VjZGMwNTA5MGVmYzU2ODVkODhkNTU0NjY0
M2YuLjgyMDc3MWMxOTY2ZTYwY2M2MjNmNWE2OTUwYTkwZGE5MWU1MDg0ZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMzU0LDkgKzM1
NCw5IEBAIEluc3BlY3RvckNTU0FnZW50Ojp+SW5zcGVjdG9yQ1NTQWdlbnQoKQogICAgIHJlc2V0
KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9y
Q1NTQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPENTU0Zyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q1NTRnJvbnRlbmREaXNwYXRjaGVy
Pihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IENTU0JhY2tlbmRE
aXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oCmluZGV4IGRiZDI5NGU1NjMz
NGY4ZmY3ZTY1MWQ5YTIyYzBjN2RmMDcxNWU3MjkuLjAwYjAzNzk3NmZiMDRmMTBkZjU3NDQyYmNm
MTZjZDM2ZTRhZTk1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBDU1NTdHls
ZVJ1bGUqIGFzQ1NTU3R5bGVSdWxlKENTU1J1bGUmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNw
ZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5z
cGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3
aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24p
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNjYXJkQWdlbnQoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggOGE3ZGYy
MGFjMDRjN2UwMmZiOWFjY2I5ODk3OWVkMzU2NDE1MGY3ZC4uZGE3OTRiNTRmODdkNjNhZDQ5MjVh
OTg1ODFjZDk4OTNkMzJiYjMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTc0LDcgKzE3NCw2IEBAIEluc3BlY3RvckNvbnRy
b2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDCiBJbnNwZWN0b3JDb250cm9sbGVyOjp+SW5zcGVjdG9yQ29udHJvbGxlcigpCiB7
CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5yZXNldCgpOwotICAgIG1fYWdlbnRzLmRpc2Nh
cmRBZ2VudHMoKTsKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yQ2xpZW50KTsKIH0KIApAQCAtMjM1
LDcgKzIzNCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKElu
c3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoCiAKICAgICBpZiAoY29ubmVjdGVk
Rmlyc3RGcm9udGVuZCkgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnJlZ2lz
dGVySW5zdHJ1bWVudGluZ0FnZW50cyhtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCkpOwotICAg
ICAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoZnJvbnRlbmRDaGFubmVs
LCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CisgICAgICAgIG1fYWdlbnRzLmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZCgmbV9mcm9udGVuZFJvdXRlci5nZXQoKSwgJm1fYmFja2VuZERp
c3BhdGNoZXIuZ2V0KCkpOwogICAgIH0KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXgg
OTRhZWViNGJjMGNlNDBlYzk4ZTYxMGFiMGI1YjFkZTE3ZDIxM2ZlZC4uYWI5MGQ0ZTUyOGY3ZDA0
ZWU1YzcwYmYwNWI0MGNiMzFmMTg2N2Q4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDksIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDkgSm9zZXBoIFBlY29yYXJvCiAgKgpAQCAtMjE1LDkgKzIxNSw5IEBAIEluc3Bl
Y3RvckRPTUFnZW50Ojp+SW5zcGVjdG9yRE9NQWdlbnQoKQogICAgIEFTU0VSVCghbV9zZWFyY2hp
bmdGb3JOb2RlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWws
IEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJ
bnNwZWN0b3JET01BZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRj
aGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0
ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpET01Gcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5k
Q2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3Rvcjo6RE9NRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9i
YWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6RE9NQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0
ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiAKICAgICBtX2hpc3RvcnkgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEluc3BlY3Rvckhpc3Rvcnk+KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5oCmluZGV4IDdiMGQ2NThmN2ZhM2E4MGRhNTk4Y2I2MjQxYmJlZjA4
YTlkYmM5YTAuLjhlOWIxMDYyMDhmMWM1NWU4MDZmMzAwMjc3MjMzYTc5YzViYWJjZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgog
CiAgICAgc3RhdGljIFN0cmluZyB0b0Vycm9yU3RyaW5nKGNvbnN0IEV4Y2VwdGlvbkNvZGUmKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgVmVjdG9yPERvY3VtZW50
Kj4gZG9jdW1lbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggOTM5MmE1NWFlM2JiYzkxNWIwZGQxZTY1
YTk1YjU2ZTg4NGUwMDJlNi4uZjgzZWQ3YTEwZTFmYjNhN2U4NjNhMjUzYzc3NmRmNGUwYzA5OGQ0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC0xMDAsNyArMTAxLDcgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dl
ckFnZW50OjpkaXNhYmxlKCkKICAgICBjbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvckRPTURl
YnVnZ2VyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250
ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQordm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewogICAgIG1fYmFja2VuZERpc3BhdGNoZXIg
PSBJbnNwZWN0b3I6OkRPTURlYnVnZ2VyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5k
RGlzcGF0Y2hlciwgdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAppbmRleCAwMWIzMTM5ZTBlYTZiNTAxYmNjYzQ3
YWU3OTRiNDI2NjU2YTI1MTJhLi5iZjQzMTkxMzgwYzE1M2VlNDg1YWQyZDY4NDFhODJhMDFjMDlm
YzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtNzgsNyArNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB3aWxsU2VuZFhN
TEh0dHBSZXF1ZXN0KGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIHBhdXNlT25OYXRpdmVF
dmVudElmTmVlZGVkKGJvb2wgaXNET01FdmVudCwgY29uc3QgU3RyaW5nJiBldmVudE5hbWUsIGJv
b2wgc3luY2hyb25vdXMpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIGRpc2NhcmRBZ2VudCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCmluZGV4IDJk
Mzk5NzU5ZTU5OWM2YzUxNDkxODVkZjRhOTVmN2Q1ZWQxNTY4ODguLmIyZGU5MmJjMGE1NzQ1OGE2
YTQzZWIyNTA2Yjc0OWYzMzAxNDY0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NSw5ICs2Niw5IEBAIElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6fkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpCiAgICAg
bV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudChudWxscHRy
KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVj
dG9yOjpGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkRPTVN0b3JhZ2VGcm9udGVuZERpc3BhdGNo
ZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPEluc3BlY3Rvcjo6RE9NU3RvcmFnZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRl
bmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OkRPTVN0b3Jh
Z2VCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudC5oCmluZGV4IDc4YTdhMjg1OGQyZmYwODFjNDZlYWJjMTI5NTgxMjkxMDUzYjE3ZjMuLjU5
YzY4MDg3YTliOTM4NjYxY2JiNTYxN2E4ZDg5OGVkMzEwMTcwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Nyw3ICs1OCw3IEBA
IHB1YmxpYzoKICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNo
ZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRj
aGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAvLyBD
YWxsZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCmluZGV4IGM3ZjZhNmUzNDIzMDliNWNhMWY1
MTczNDQyZmE1MWI0ZmUxMTRjMjUuLmIzYjI3OWY5ZDUwYmI4NjM2YjE4MzQyNDExNzU1ZDBjYmEy
ODIyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRh
YmFzZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0
YWJhc2VBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yMjIsOSArMjIzLDkgQEAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6fkluc3Bl
Y3RvckRhdGFiYXNlQWdlbnQoKQogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0
b3JEYXRhYmFzZUFnZW50KG51bGxwdHIpOwogfQogCi12b2lkIEluc3BlY3RvckRhdGFiYXNlQWdl
bnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5l
bCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5k
RGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBt
X2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpEYXRhYmFz
ZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlz
cGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpEYXRhYmFzZUZyb250ZW5kRGlz
cGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNw
ZWN0b3I6OkRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hl
ciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEYXRhYmFzZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudC5oCmluZGV4IDFkZjk0OTQ3ZmU4YTZkZjQzOTNmNmVjYTU0M2FiMmQwYjIx
NjdkNjMuLjBmMWY5Mjc5ZGZiYmVhMmEwOGY2NDgwMTIyYWE2MjViM2VkZDdhYjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDcgKzU0
LDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IEluc3BlY3RvckRhdGFiYXNlQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRhdGFiYXNlQWdlbnQoKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdm9pZCBjbGVhclJlc291
cmNlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZv
cndhcmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGb3J3YXJkaW5n
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1MDhiYjE5MzI3MThkOGE5YTk4Zjg0
ZDhiY2ZmMGE0NGVmZWJlOWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZvcndhcmRpbmcuaAor
KysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEluc3BlY3RvckZvcndhcmRpbmdfaAotI2RlZmlu
ZSBJbnNwZWN0b3JGb3J3YXJkaW5nX2gKLQotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotdHlwZWRlZiBJbnNwZWN0
b3I6OkZyb250ZW5kQ2hhbm5lbCBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWw7Ci19Ci0KLSNlbmRp
ZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGb3J3YXJkaW5nX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAppbmRleCBhM2VhYmI3
YjExNDg3MDVmZGY0Y2UyZjFlZTRmOGQ4Y2ExMGNkYzUzLi5hMDg2OTc5YTM4Y2ZmNjM3YTJhMTUw
MDAxMmU5OWYzZTA4OTUyMDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTc2LDcgKzU3Nyw3IEBAIEluc3BlY3Rvcklu
ZGV4ZWREQkFnZW50Ojp+SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoKQogewogfQogCi12b2lkIElu
c3BlY3RvckluZGV4ZWREQkFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVj
dG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNr
ZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OmRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpC
YWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7CiAgICAgbV9iYWNrZW5kRGlz
cGF0Y2hlciA9IEluc3BlY3Rvcjo6SW5kZXhlZERCQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShi
YWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5oCmluZGV4IDdiOGNlOThiOWIyYzI4MmVhMzgy
OWVkZGRlNDkzMTE3ZmJlZjJmZDkuLjg0YTk4ZmRjNDhiZDAwOTEzZjM1MzA5MThmMjQ4MDM3NGQ3
Y2ZjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTUzLDcgKzU0LDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvckluZGV4ZWRE
QkFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMmLCBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFu
YWdlciYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckluZGV4
ZWREQkFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0
Y2hlciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIC8v
IENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAppbmRleCBlNjZmY2YyZDgzNmFkYWZl
MTgzNDQ3YjlkYTc4NWJmYzFmNGJiNWM0Li43ZmJkZmE0NmJmMGI0Y2Y0Mjg2ODViMTliNTczMTFi
NDk0YmI2YTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMiwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC01Niw5ICs1Niw5IEBAIEluc3BlY3RvckxheWVyVHJl
ZUFnZW50Ojp+SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQoKQogICAgIHJlc2V0KCk7CiB9CiAKLXZv
aWQgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJ
bnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJh
Y2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEluc3BlY3Rvcjo6TGF5ZXJUcmVlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENo
YW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6OkxheWVyVHJlZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAg
IG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OkxheWVyVHJlZUJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCmluZGV4IDRmZjU0
NDkxYjZmNmIwY2VlMmU3NmM3NmY4ZWQyMjEwYzFmNjJmYzEuLmZhMjQwMTU4NDdiZjE0Y2RlN2Ex
MDEyNmVjOTQ4ZjlhYzJmNzQ3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAg
ICAgdmlydHVhbCB+SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogICAgIHZvaWQgcmVzZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCA3ODFiNTc4YWY0NjEyNTAy
MTk1YzYyMGUxNTkzNmE2MGI3N2E1NjRkLi5lYzUyZjQ3Nzc4NDFiMTRhNWNkMGEwNWQ0NTYxNzAz
Mjc3ZGU3ZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zMzMsOSArMzM0LDkgQEAgSW5zcGVjdG9yUGFnZUFnZW50OjpJbnNwZWN0b3JQ
YWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywKIHsKIH0K
IAotdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJ
bnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJh
Y2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yUGFnZUFn
ZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRl
ciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmRE
aXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1
ZTxJbnNwZWN0b3I6OlBhZ2VGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7Cisg
ICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UGFn
ZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXIgPSBJbnNwZWN0b3I6OlBhZ2VCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmRE
aXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oCmluZGV4IDI4NjJlNThjNTA2MDI0NTdiOGI3MTBkYjI3OTI3NWY4ZDAz
YTBmMjMuLmU5YWQ4NjZiYWVjMDQxMjUyNmEwYWRjNmFiNTBiMzZiNWFmZjVkYTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTM5LDcgKzE0MCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNjcmlwdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKTsKIAog
ICAgIC8vIEluc3BlY3RvciBDb250cm9sbGVyIEFQSQotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVj
dG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92
ZXJyaWRlOwogCiAgICAgLy8gQ3Jvc3MtYWdlbnRzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggNDc5YjcxMDhmYWM0ODgw
MWZiMjlkNzM5OWM2NGU0YjkwMzhhNDY4YS4uMzQ5MGU3NWMyMjBlYzc3YmQxNmNkZTZhOWYyZTE5
ODdmNTY1ODg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clJlcGxheUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UmVwbGF5QWdlbnQuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MS0yMDEzIFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzMsOSArMTczLDkgQEAgV2ViQ29y
ZTo6U2Vzc2lvblN0YXRlIEluc3BlY3RvclJlcGxheUFnZW50OjpzZXNzaW9uU3RhdGUoKSBjb25z
dAogICAgIHJldHVybiBtX3BhZ2UucmVwbGF5Q29udHJvbGxlcigpLnNlc3Npb25TdGF0ZSgpOwog
fQogCi12b2lkIEluc3BlY3RvclJlcGxheUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9y
OjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvclJl
cGxheUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3I6OlJlcGxheUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFu
bmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVj
dG9yOjpSZXBsYXlGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2Jh
Y2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpSZXBsYXlCYWNrZW5kRGlzcGF0Y2hlcjo6Y3Jl
YXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIAogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50
cy5zZXRJbnNwZWN0b3JSZXBsYXlBZ2VudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmgKaW5kZXggYTdlNmNmNThmMjM3ODhiZGM4ZDQz
MWRiNTVmMTRhNTFjZGIyYzFhYy4uZjdiZWE2ZmRhNTViNjBkODhlMDNlOTM3NTAxZmJkNjMyYWM4
ZWY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxh
eUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFn
ZW50LmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTMgVW5p
dmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvclJlcGxheUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMmLCBJbnNwZWN0b3JQYWdlQWdlbnQq
KTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JSZXBsYXlBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5l
bCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0
ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVj
dFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24gY2Fs
bGJhY2tzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJl
c291cmNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291
cmNlQWdlbnQuY3BwCmluZGV4IDE0MzJlZjBkOTNlMzJjNjllNTcwNWJkNGVmZjNkNDBkZDQxZjRh
YzMuLjAwMWMzM2E4MTQ3ZDNmZGE5MDgxNWU4OTZlOTIyNGZiMGZhMDQxNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTY5
LDkgKzE3MCw5IEBAIEluc3BlY3RvclJlc291cmNlQWdlbnQ6Okluc3BlY3RvclJlc291cmNlQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluCiB7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpk
aWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciogZnJv
bnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6Ok5ldHdvcmtGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAg
bV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6TmV0d29y
a0Zyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXIgPSBJbnNwZWN0b3I6Ok5ldHdvcmtCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tl
bmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKaW5kZXggODdmNWUzYWVjYjE1NmI5ZmMwYzRkNzBm
NjU4ZTYxNTFkZmQxNWRjZC4uZjA4MjRlMjhhMmZjZjMxYjgyMzU3MTQ3ZmE3NDAxNjM0ZThmNDRj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKQEAgLTc4LDcgKzc5LDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvclJlc291cmNlQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCosIEluc3BlY3RvckNsaWVu
dCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvclJlc291cmNlQWdlbnQoKTsKIAotICAgIHZpcnR1
YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENo
YW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nv
bm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
IGNhbGxiYWNrcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcAppbmRleCA4N2FlNDFmYjNjMzY3MjRkOTMyNjMyNmMzNmVhOTU0ZDA4
N2JhMDY4Li5iMDljMTE1OWI2NDEwODkyNzEyYWVjM2RlNmVjNjM3MWIxOTE5YTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
CkBAIC0xLDYgKzEsNyBAQAogLyoKICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdh
c2hpbmd0b24uCisqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC04OSw5ICs5MCw5IEBA
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6On5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCkKIHsKIH0K
IAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9y
OjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250
ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciog
YmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPEluc3BlY3Rvcjo6VGltZWxpbmVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5k
Q2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3Rvcjo6VGltZWxpbmVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAg
ICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpUaW1lbGluZUJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogCiAgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLnNldFBlcnNpc3RlbnRJbnNwZWN0b3JUaW1lbGluZUFnZW50KHRoaXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5k
ZXggMzI0NjVmM2NlMWZmNDcyMDg1NWEyYzgzYmNkZjZiNjI3YTQyOGM3NC4uNWE5MGIzNzBiZjNl
NTEzZmJkZmI1ZDNkMzIwMWM0N2Y1MGFiOTAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0xLDYgKzEsNyBAQAogLyoKICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIENv
cHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uCisqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC0xMjAsNyArMTIxLDcgQEAgcHVibGljOgogICAgIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCos
IEluc3BlY3RvclR5cGUsIEluc3BlY3RvckNsaWVudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5k
RGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250
ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0KEVycm9yU3RyaW5nJiwgY29uc3QgaW50KiBtYXhDYWxsU3Rh
Y2tEZXB0aCA9IG51bGxwdHIpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oCmluZGV4IDI2N2QxY2QwODc0NWQ5YzEyYzM1NTM0
ZjFhZjc3OTcyYmFkOWYwOWMuLjRjZTBjN2JhNDc2ODYzZTRkNjNhZjQzMjYxNmIyZDY0OWIxMTY0
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2Vu
dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViQWdlbnRC
YXNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI3LDcgKzI3
LDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yV2ViQWdlbnRCYXNlX2gKICNkZWZpbmUgSW5zcGVjdG9y
V2ViQWdlbnRCYXNlX2gKIAotI2luY2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNs
dWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXb3JrZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V29ya2VyQWdlbnQuY3BwCmluZGV4IGI3ODAwYjE3OTY1MjBjZTE0NmIwZGE3OGYzMGZiYzQ2ZDFi
ZThlMGEuLmUwOGI3YTdjODVmNDY1MTlkYTMyMGE0M2E2Y2JiNWNkNDg3NDQ1OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMSw3
ICszMiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2Vy
QWdlbnQuaCIKIAotI2luY2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNsdWRlICJJ
bnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV29ya2Vy
R2xvYmFsU2NvcGVQcm94eS5oIgpAQCAtMTEyLDkgKzExMiw5IEBAIEluc3BlY3RvcldvcmtlckFn
ZW50Ojp+SW5zcGVjdG9yV29ya2VyQWdlbnQoKQogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5z
ZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChudWxscHRyKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JXb3Jr
ZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlkQ3JlYXRlRnJv
bnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVy
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpXb3Jr
ZXJGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERp
c3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6V29ya2VyRnJvbnRlbmREaXNw
YXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3Bl
Y3Rvcjo6V29ya2VyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwg
dGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldvcmtl
ckFnZW50LmgKaW5kZXggNDU0MjQ3OTNkYjQ5NzUwYWU0MzVmNzE4ZThiMGQ5MzRhNWE2OGFjMC4u
ZmNiZWUwZDFhNDU0MDM5MGMwZmYwN2FiZDY2NTE4OTFiYWUyMmY4MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTQsNyArNTUsNyBAQCBw
dWJsaWM6CiAgICAgZXhwbGljaXQgSW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvcldvcmtlckFnZW50KCk7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNj
b25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VS
dW50aW1lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdl
bnQuY3BwCmluZGV4IDE4MzRjYzUyNTZhZDRlZTRkZmNiNDIwNzg2YWIzZTMwYzdiZmRjMmQuLjlh
ZWQ3MTAwZDMwOTFiZTU2MzJjMzg1YTA5ZGNlODZkOTAxMjg2NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTksOSArNjAsOSBAQCBQYWdlUnVu
dGltZUFnZW50OjpQYWdlUnVudGltZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciYgaW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLAogewogfQogCi12b2lkIFBhZ2VSdW50aW1lQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRD
aGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikK
K3ZvaWQgUGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpSdW50aW1lRnJvbnRlbmREaXNwYXRjaGVy
Pihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3I6OlJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91
dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpSdW50aW1lQmFja2Vu
ZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oCmluZGV4IDI3ODdkZTc3YzY4
NzJmMjc1NjhjMDM1NzAyYmZlODU3NDZkMDQwOGUuLjNlNGJlZGY3YjdmYzlhNGFlMWYxMzhkZjgy
YTJmM2M5YzAwNjNjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
UnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1l
QWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCkBAIC01Niw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBQYWdlUnVudGltZUFnZW50KEluc3Bl
Y3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiwgUGFnZSosIEluc3BlY3RvclBhZ2VBZ2VudCop
OwogICAgIHZpcnR1YWwgflBhZ2VSdW50aW1lQWdlbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcmKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwCmluZGV4IDYyOWI0NmU0NWE3OGU5MWJlMGNjMTAyMDA3NGRhYWM2ZGYwZjNh
ZDUuLmIxNDEzYjg2ZDY5MmYxMzAyMmI4MmY5MmU2OGMwM2I2MmZiY2I4M2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpA
QCAtMzMsNyArMzQsNiBAQAogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCkBA
IC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiV29ya2VyUnVudGltZUFnZW50LmgiCiAjaW5jbHVk
ZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5l
bC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0b3B3YXRjaC5oPgpAQCAtNTcsNyArNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIFBhZ2VJbnNwZWN0b3JQcm94eSA6IHB1YmxpYyBJbnNw
ZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3MgUGFnZUluc3BlY3RvclByb3h5IDogcHVibGlj
IEZyb250ZW5kQ2hhbm5lbCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgZXhwbGljaXQgUGFnZUluc3BlY3RvclByb3h5KFdvcmtlckdsb2JhbFNjb3BlJiB3b3Jr
ZXJHbG9iYWxTY29wZSkKQEAgLTExNSw3ICsxMTYsNiBAQCBXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyOjp+V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpCiAgICAgQVNTRVJUKCFtX2ZvcndhcmRp
bmdDaGFubmVsKTsKIAogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+cmVzZXQoKTsKLSAgICBt
X2FnZW50cy5kaXNjYXJkQWdlbnRzKCk7CiB9CiAKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIFdvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAKICAgICBtX2ZvcndhcmRpbmdD
aGFubmVsID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlSW5zcGVjdG9yUHJveHk+KG1fd29ya2VyR2xv
YmFsU2NvcGUpOwogICAgIG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVuZChtX2Zvcndh
cmRpbmdDaGFubmVsLmdldCgpKTsKLSAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQobV9mb3J3YXJkaW5nQ2hhbm5lbC5nZXQoKSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0
KCkpOworICAgIG1fYWdlbnRzLmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCgmbV9mcm9udGVu
ZFJvdXRlci5nZXQoKSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0KCkpOwogfQogCiB2b2lkIFdv
cmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6OkRp
c2Nvbm5lY3RSZWFzb24gcmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNWJkZTFlMWI3OTY3ZTViNmNlZTVh
YTlmYTc3OTdlMGQ1YjkwMTNkZS4uZDhmMjZlNTM0NDhkMDJkNjBiMTBmNWUyZDNjYjI4YzRkNjRm
Njk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlci5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTQyLDYgKzQzLDcgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgRnJvbnRlbmRDaGFubmVsOwogY2xhc3MgRnJv
bnRlbmRSb3V0ZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJS
dW50aW1lQWdlbnQuY3BwCmluZGV4IDAzMGVjNTZhY2ZiYzU2NjU0NWFmNjYzOGI3ZDgwZmVjYTQ0
NGMzYzQuLmNjZDhmZWFjZWQ5MTZjNDdlNzE0ZmYxMzY4ZDQxYzU1NTFjOWNmMjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwCkBAIC0xLDUg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUyLDcgKzUz
LDcgQEAgV29ya2VyUnVudGltZUFnZW50OjpXb3JrZXJSdW50aW1lQWdlbnQoSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyJiBpbmplY3RlZFNjcmlwdE1hbmEKIHsKIH0KIAotdm9pZCBXb3JrZXJSdW50aW1l
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hh
bm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQor
dm9pZCBXb3JrZXJSdW50aW1lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6
UnVudGltZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oCmlu
ZGV4IGRkM2U5YWIwODBlM2UwZWQyOGQzNDAwZjZmMWVmMDllNDIzZTE4YzguLjk2ZDlhMGIxY2Q5
ZWE0MzgwMjVjMWI4YTJkMjBlZGQ2YjZlODRjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDMsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV29y
a2VyUnVudGltZUFnZW50KEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiwgV29ya2Vy
R2xvYmFsU2NvcGUqKTsKICAgICB2aXJ0dWFsIH5Xb3JrZXJSdW50aW1lQWdlbnQoKSB7IH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpG
cm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6
OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIHJ1bihF
cnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlRGVidWdnYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNw
cAppbmRleCAyNDk4M2JlYzRhNzljZTczOGI0M2U5MGUyOGRjMDA1ZTM4YTZiNGFjLi5mZGY0NzA4
OTBiNGVjMGQ3MTJmYjA2N2IyYTIxNDJlMGRlOGZkZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VEZWJ1Z2dhYmxlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEz
LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9y
d2FyZGluZy5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4
IGZiNDAwOGMyMzNmZGEyMzllYjBmNjY3OWNjZWU5NzFiYzZhNzJhMzcuLjlhNDljNThkMjVmYjgw
Nzg5ZjEwYTlkNGJmZGE4YWM3YWEzNGM5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC02OSw3ICs2OSw2IEBACiAjaW5jbHVkZSAiSWNvbkNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVy
LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCkBAIC0xMjAsNiArMTE5LDcgQEAK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Qcm9maWxlLmg+CiAjaW5jbHVkZSA8Ynl0ZWNvZGUv
Q29kZUJsb2NrLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oPgor
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxp
bmVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+CkBAIC0yMzMsNyArMjMzLDcg
QEAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnREdW1teTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRE
dW1teShJbnNwZWN0b3JDb250cm9sbGVyKgogewogfQogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWxEdW1teSA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3Mg
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsRHVtbXkgOiBwdWJsaWMgRnJvbnRlbmRDaGFubmVsIHsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxEdW1teShQYWdl
Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsRHVtbXkoKSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudElPUy5tbQppbmRleCA2ZDhiMWQ1MmU4ODg0N2EwOTMwZDgzYTIwMmEwYzJkODUwYWMw
MDQ3Li44MWIwNmVhYWVkNzQxNDI2ZWVjYWY3Zjg3OWRiMzU1NWE5NDEyNjljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50SU9TLm1tCkBAIC01NCw3ICs1NCw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjppbnNw
ZWN0b3JEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCi1JbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3Bl
Y3RvckNvbnRyb2xsZXIqKQorSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3Rv
ckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqKQogewog
ICAgIC8vIGlPUyBkb2VzIG5vdCBoYXZlIGEgbG9jYWwgaW5zcGVjdG9yLCB0aGlzIHNob3VsZCBu
b3QgYmUgcmVhY2hlZC4KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXgg
MDFiNGJjOTA0YzczNTcxY2RiNmEzYzkxMzkyMmYzNDhiZTVhZWU2YS4uZDBkNDRhNmFkMTFhMzhi
ZDVhOTRkMjkwYzYyZGVjN2JkYTRkODE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMTUgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcs
NDUgKzI3LDM1IEBACiAgKi8KIAogI2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JDbGllbnQuaD4K
LSNpbXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGluZy5oPgotI2ltcG9ydCA8V2ViQ29y
ZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg+CiAKKyNpbXBvcnQgPFdlYkNvcmUvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oPgorI2ltcG9ydCA8aW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbC5oPgogI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KICNpbXBvcnQgPHd0
Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvdGV4
dC9TdHJpbmdIYXNoLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmZGVm
IF9fT0JKQ19fCi1AY2xhc3MgTlNVUkw7Ci1AY2xhc3MgV2ViSW5zcGVjdG9yUmVtb3RlQ2hhbm5l
bDsKLUBjbGFzcyBXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyOwotQGNsYXNzIFdlYk5vZGVI
aWdobGlnaHRlcjsKLUBjbGFzcyBXZWJWaWV3OwotI2Vsc2UKLWNsYXNzIE5TVVJMOwotY2xhc3Mg
V2ViSW5zcGVjdG9yUmVtb3RlQ2hhbm5lbDsKLWNsYXNzIFdlYkluc3BlY3RvcldpbmRvd0NvbnRy
b2xsZXI7Ci1jbGFzcyBXZWJOb2RlSGlnaGxpZ2h0ZXI7Ci1jbGFzcyBXZWJWaWV3OwotI2VuZGlm
CitPQkpDX0NMQVNTIE5TVVJMOworT0JKQ19DTEFTUyBXZWJJbnNwZWN0b3JSZW1vdGVDaGFubmVs
OworT0JKQ19DTEFTUyBXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyOworT0JKQ19DTEFTUyBX
ZWJOb2RlSGlnaGxpZ2h0ZXI7CitPQkpDX0NMQVNTIFdlYlZpZXc7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKLQogY2xhc3MgRnJhbWU7CiBjbGFzcyBQYWdlOwotCiB9CiAKIGNsYXNzIFdlYkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50OwogCi1jbGFzcyBXZWJJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMg
V2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRl
bmRDaGFubmVsIHsKK2NsYXNzIFdlYkluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpJ
bnNwZWN0b3JDbGllbnQsIHB1YmxpYyBJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCB7CiBwdWJs
aWM6CiAgICAgZXhwbGljaXQgV2ViSW5zcGVjdG9yQ2xpZW50KFdlYlZpZXcgKik7CiAKICAgICB2
aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFs
IFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogb3Blbkluc3BlY3RvckZyb250ZW5k
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIElu
c3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6
SW5zcGVjdG9yQ29udHJvbGxlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZUlu
c3BlY3RvckZyb250ZW5kKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRl
bmRUb0Zyb250KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlc2l6ZU1haW5GcmFt
ZShXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4IDZlNTQ1NmIzMTAz
NWMxMjI5NTI4MjEyZjllNGRkOGM3Y2Q3MmQ0ZjAuLjRkZThjNDBlNzQ5NzJiNTY4YzZjZjNlYjgz
YzUwYjZmNTU4MDg3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAwOCwgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01OCw2ICs1
OCw3IEBACiBTT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJbnNwZWN0b3JVSSwgUHJpdmF0
ZUZyYW1ld29ya3MsIEEpCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKIAogc3RhdGljIGNvbnN0IENHRmxvYXQgbWluaW11bVdpbmRvd1dpZHRo
ID0gNTAwOwogc3RhdGljIGNvbnN0IENHRmxvYXQgbWluaW11bVdpbmRvd0hlaWdodCA9IDQwMDsK
QEAgLTEwNiw3ICsxMDcsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVz
dHJveWVkKCkKICAgICBkZWxldGUgdGhpczsKIH0KIAotSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
KiBXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250
cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQorRnJvbnRlbmRDaGFubmVsKiBXZWJJbnNwZWN0
b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNw
ZWN0b3JDb250cm9sbGVyKQogewogICAgIFJldGFpblB0cjxXZWJJbnNwZWN0b3JXaW5kb3dDb250
cm9sbGVyPiB3aW5kb3dDb250cm9sbGVyID0gYWRvcHROUyhbW1dlYkluc3BlY3RvcldpbmRvd0Nv
bnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoSW5zcGVjdGVkV2ViVmlldzptX3dlYlZpZXcgaXNVbmRl
clRlc3Q6aW5zcGVjdG9yQ29udHJvbGxlci0+aXNVbmRlclRlc3QoKV0pOwogICAgIFt3aW5kb3dD
b250cm9sbGVyLmdldCgpIHNldEluc3BlY3RvckNsaWVudDp0aGlzXTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCmlu
ZGV4IGY4NDVlMjViYTg4Y2VlN2NjZmIwMWYxYzY1Mzg3MWQ2MGUxMTEzNTYuLjM3MTc3NDA4MWYy
YWEwZDM4ZGIwY2M4YWUzZDAwOTExZGNiOThjYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAtNzgsNyAr
NzgsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVzdHJveWVkKCkKICAg
ICBkZWxldGUgdGhpczsKIH0KIAotV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBX
ZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9s
bGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQorSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIFdl
Ykluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xs
ZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCiB7CiAgICAgcmVnaXN0ZXJXaW5kb3dDbGFzcygpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5oCmluZGV4IDk1NjhkYTAzM2ZlNDY0NzdhZmYxM2NiNzM0ODcxYTYzZTAzMDIyY2Yu
LjZhZjAwYzgzMTkwMjlhYTBkMGU0ZmI4MDljY2Q3MTIwMDcyNDA0NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxNCBBcHBs
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3
LCAyMDE0LCAyMDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPFdlYkNv
cmUvQ09NUHRyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JDbGllbnQuaD4KLSNpbmNs
dWRlIDxXZWJDb3JlL0luc3BlY3RvckZvcndhcmRpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01l
c3NhZ2VMaXN0ZW5lci5oPgogI2luY2x1ZGUgPHdpbmRvd3MuaD4KQEAgLTQxLDkgKzQwLDcgQEAK
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewot
CiBjbGFzcyBQYWdlOwotCiB9CiAKIGNsYXNzIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OwpA
QCAtNTcsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgLy8gSW5zcGVjdG9yQ2xpZW50CiAgICAgdmly
dHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpOwogCi0gICAgdmlydHVhbCBXZWJDb3JlOjpJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyKik7CisgICAgdmlydHVhbCBJbnNwZWN0b3I6OkZyb250ZW5kQ2hh
bm5lbCogb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIq
KTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIHZpcnR1
YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKaW5kZXggMDAxMjg3OWNmYTljNmQxYjQ1
ZDIzMDg4MGNlMjJkOThkZGI4YWQyNC4uOGRiZjY2MTA0NDdmNTQ2Y2VmNjlhZGY3OWQzZjhjMjE2
ZGMwM2YyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEw
LCAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIu
aCIKLSNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckZvcndhcmRpbmcuaD4KKyNpbmNsdWRlIDxp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM3LDcgKzM3
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2U7CiAKLWNsYXNzIFdlYklu
c3BlY3RvciA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRs
ZUluc3BlY3Rvcj4sIHB1YmxpYyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudCwgcHVibGljIFdlYkNv
cmU6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCB7CitjbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJs
aWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVJbnNwZWN0b3I+LCBw
dWJsaWMgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1YmxpYyBJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJJbnNwZWN0b3I+IGNyZWF0ZShX
ZWJQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3RvclVJLmgKaW5kZXggOWQwM2ZjMDljYWQwZWQzZTczNDJjZDkyMDFiMTI4MDVhMmZm
YTcxMy4uN2Q5MzUxMGJkYWRlMTczZDZlZjRkODU5YmVkZTViYmFmMTZlNzRjZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rp
b24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckZvcndhcmRpbmcuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuaD4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260654</attachid>
            <date>2015-09-04 17:18:54 -0700</date>
            <delta_ts>2015-09-04 21:32:46 -0700</delta_ts>
            <desc>For EWS (win)</desc>
            <filename>bug-148492-20150904171851.patch</filename>
            <type>text/plain</type>
            <size>99766</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NWViZWJiOTgzNDQ1MTZmYjUxOGQwZGZjY2QzZGFkNmY3YzM1NWJkLi4xYWQyN2U3MmE4ZTkzNzFk
ZjNkNzA1ZjczYjQ2YjVkMWU3ZjlmYzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNlbmQgbWVzc2FnZXMgdGhyb3Vn
aCBGcm9udGVuZFJvdXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hhbm5lbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NDkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBGcm9u
dGVuZENoYW5uZWwgd2l0aCBGcm9udGVuZFJvdXRlci4gTWlub3IgY2xlYW51cHMgYWxvbmcgdGhl
IHdheS4gIAorCisgICAgICAgIE1ha2UgQWdlbnRSZWdpc3RyeSBhdXRvbWF0aWNhbGx5IHNpZ25h
bCBkaXNjYXJkQWdlbnQoKSBpbiBpdHMgZGVzdHJ1Y3Rvciwgc2luY2UgaXQgYWx3YXlzCisgICAg
ICAgIGdldHMgZXhlY3V0ZWQgaW4gdGhlIG93bmluZyBjb250cm9sbGVyJ3MgZGVzdHJ1Y3RvciBh
bnl3YXkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAoSW5z
cGVjdG9yOjpBZ2VudFJlZ2lzdHJ5Ojp+QWdlbnRSZWdpc3RyeSk6CisgICAgICAgIChJbnNwZWN0
b3I6OkFnZW50UmVnaXN0cnk6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAg
IChJbnNwZWN0b3I6OkFnZW50UmVnaXN0cnk6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6QWdlbnRSZWdpc3RyeTo6ZGlzY2FyZEFnZW50cyk6IERl
bGV0ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5jcHA6CisgICAgICAgIChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyOjpsZWFrQ2hhbm5lbCk6IERlbGV0ZWQsIG5vIGxvbmdlciBu
ZWNlc3NhcnkuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg6
CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmFw
cGVuZEV4dHJhQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3Bl
Y3RvckNvbnRyb2xsZXI6On5KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKElu
c3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAg
ICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVu
dGltZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9y
L2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weToKKyAg
ICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rp
c3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBCYWNrZW5kRGlzcGF0Y2hl
ckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgICogaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3Iu
Z2VuZXJhdGVfb3V0cHV0LkZyb250ZW5kUm91dGVyKToKKyAgICAgICAgKENwcEZyb250ZW5kRGlz
cGF0Y2hlckhlYWRlckdlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1w
bGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1lbnRh
dGlvbkdlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQpOgorICAgICAgICAoQ3BwRnJvbnRlbmREaXNw
YXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IuX2dlbmVyYXRlX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb25fZm9yX2V2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2Vu
L2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAg
ICAgICAoT2JqQ0NvbmZpZ3VyYXRpb25JbXBsZW1lbnRhdGlvbkdlbmVyYXRvci5nZW5lcmF0ZV9v
dXRwdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2Jq
Y19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAgICAgICAoT2JqQ0Zy
b250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6
CisKIDIwMTUtMDktMDQgIFN1a29sc2FrIFNha3NodXdvbmcgIDxzdWtvbHNha0BnbWFpbC5jb20+
CiAKICAgICAgICAgSW1wbGVtZW50IHRoZSBHZXRMb2NhbCBhbmQgU2V0TG9jYWwgaW5zdHJ1Y3Rp
b25zIGluIFdlYkFzc2VtYmx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlNGJmNDNjYmJkYjgxMmI0NGZjNjU4
NjliNTlmNDk4YTNjN2EwOS4uNTY4OTIyZTEzMjZkMzUxZmVhZTNmZDQyMWU3NTRkYzM3Yzc0OWE1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8
YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFnZW50cyBzaG91bGQg
c2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5kUm91dGVyIGluc3RlYWQgb2YgRnJvbnRlbmRD
aGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAg
UmVwbGFjZSB1c2VzIG9mIEZyb250ZW5kQ2hhbm5lbCB3aXRoIEZyb250ZW5kUm91dGVyLiBNaW5v
ciBjb2RlIGNsZWFudXAgYWxvbmcgdGhlIHdheS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5v
IGJlaGF2aW9yIGNoYW5nZWQuCisKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6fkluc3BlY3RvckNvbnRyb2xsZXIpOiBObyBuZWVk
IHRvIGNhbGwgZGlzY2FyZEFnZW50cygpLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRhdGFiYXNlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRm9yd2FyZGlu
Zy5oOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5o
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2VudEJhc2UuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29y
a2VyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvcldvcmtlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VSdW50
aW1lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZVJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RG
cm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlclJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50Lmg6CisgICAgICAgICog
cGFnZS9QYWdlRGVidWdnYWJsZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorCiAyMDE1LTA5LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgZGlzcGF0Y2hFdmVudCgpIHNob3VsZCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvciBpZiB0
aGUgZXZlbnQncyBpbml0aWFsaXplZCBmbGFnIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCBlM2ZjNWFhNTUzNjhjYTljMzVlM2M0YzRhYWUyYzc2N2Y2MTM4OTlmLi5mYThjZmYwYzFiOTRm
YjMwZTk5Y2EyNmE2MzE0ZmEwOWQ0NzQ1ODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MTYgQEAKIDIwMTUtMDktMDQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogYWdlbnRzIHNob3VsZCBzZW5kIG1lc3NhZ2VzIHRocm91Z2ggRnJv
bnRlbmRSb3V0ZXIgaW5zdGVhZCBvZiBGcm9udGVuZENoYW5uZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODQ5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5oOiBDbGVhbiB1cCB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbnMsIGRvbid0IHVz
ZSBJbnNwZWN0b3JGb3J3YXJkaW5nLmguCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVj
dG9yRnJvbnRlbmQpOgorCisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvckNvbnRyb2xsZXIgc2hvdWxkIHN1
cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQgY2hhbm5lbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODUzOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOTBl
N2RhMjhiZDY5ZDExMzA3NDdlZmQ2MTE4YTYxOTA4ZmJiNTMwZC4uYjhhZDk4YTI5ODhlYzI2NTlm
MWUyNzc5NWVhZWM2YTFjNzI0ODVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBA
CiAyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGFnZW50cyBzaG91bGQgc2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5k
Um91dGVyIGluc3RlYWQgb2YgRnJvbnRlbmRDaGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBK
b3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgU3RvcCB1c2luZyBJbnNwZWN0b3JGb3J3YXJkaW5n
LmguCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKwor
MjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBJbnNwZWN0b3JDb250cm9sbGVyIHNob3VsZCBzdXBwb3J0IG11bHRpcGxlIGZy
b250ZW5kIGNoYW5uZWxzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDg1MzgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDM3NGQyZDZkYjUxMmFmZmNkMDQxYjJmZDli
YjA4NmZmNThlNDkyMzAuLjkyYzJjN2JmYmQzNjIxOGY0ZjQzM2VmNGRmYTU4MTU1YmM5MmRlMGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJi
dXJnQGFwcGxlLmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNl
bmQgbWVzc2FnZXMgdGhyb3VnaCBGcm9udGVuZFJvdXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hh
bm5lbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4
NDkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFN0
b3AgdXNpbmcgSW5zcGVjdG9yRm9yd2FyZGluZy5oLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3JVSS5oOgorCisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvckNvbnRyb2xsZXIgc2hvdWxkIHN1
cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQgY2hhbm5lbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODUzOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaAppbmRleCA2MzQwNGNmNTQy
NTRhZDZhM2VhYTFhNWYyN2M0OWI5MTc3MmM4NTE0Li5mNGFlYjA3ZTk4MmU4M2M5MGQyZjk2MjJm
MWQ5Y2U4NTYyNWY1OTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBjbGFz
cyBCYWNrZW5kRGlzcGF0Y2hlcjsKLWNsYXNzIEZyb250ZW5kQ2hhbm5lbDsKK2NsYXNzIEZyb250
ZW5kUm91dGVyOwogCiBlbnVtIGNsYXNzIERpc2Nvbm5lY3RSZWFzb24gewogICAgIEluc3BlY3Rl
ZFRhcmdldERlc3Ryb3llZCwKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5n
IGRvbWFpbk5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiwgQmFja2VuZERp
c3BhdGNoZXIqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpc2NhcmRBZ2VudCgpIHsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5
LmNwcAppbmRleCBiY2MwOTg4MjE0YTYxZGYxZWE2NzM0M2Q1MzIyNjE1MjVlN2VmNDM5Li4zNWMz
NGIzZmYxZTc5ZTkxMGViMzRlNGI5OWFjOGJlMjBmNDIwNTEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM1LDYgKzM1LDE0
IEBAIEFnZW50UmVnaXN0cnk6OkFnZW50UmVnaXN0cnkoKQogewogfQogCitBZ2VudFJlZ2lzdHJ5
Ojp+QWdlbnRSZWdpc3RyeSgpCit7CisgICAgLy8gQWxsb3cgYWdlbnRzIHRvIHJlbW92ZSBjcm9z
cy1yZWZlcmVuY2VzIHRvIG90aGVyIGFnZW50cyB0aGF0IHdvdWxkIG90aGVyd2lzZQorICAgIC8v
IG1ha2UgaXQgZGlmZmljdWx0IHRvIGVzdGFibGlzaCBhIGNvcnJlY3QgZGVzdHJ1Y3Rpb24gb3Jk
ZXIgZm9yIGFsbCBhZ2VudHMuCisgICAgZm9yIChhdXRvJiBhZ2VudCA6IG1fYWdlbnRzKQorICAg
ICAgICBhZ2VudC0+ZGlzY2FyZEFnZW50KCk7ICAgIAorfQorCiB2b2lkIEFnZW50UmVnaXN0cnk6
OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNlPiBhZ2VudCkKIHsKICAg
ICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKGFnZW50KSk7CkBAIC00OSwyMiArNTcsMTYgQEAg
dm9pZCBBZ2VudFJlZ2lzdHJ5OjphcHBlbmRFeHRyYUFnZW50KHN0ZDo6dW5pcXVlX3B0cjxJbnNw
ZWN0b3JBZ2VudEJhc2U+IGFnZW50KQogfQogI2VuZGlmCiAKLXZvaWQgQWdlbnRSZWdpc3RyeTo6
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFu
bmVsLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEFnZW50UmVn
aXN0cnk6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRl
bmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYWdlbnRzLnNpemUoKTsgaSsrKQotICAgICAgICBtX2Fn
ZW50c1tpXS0+ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKGZyb250ZW5kQ2hhbm5lbCwgYmFj
a2VuZERpc3BhdGNoZXIpOworICAgIGZvciAoYXV0byYgYWdlbnQgOiBtX2FnZW50cykKKyAgICAg
ICAgYWdlbnQtPmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChmcm9udGVuZFJvdXRlciwgYmFj
a2VuZERpc3BhdGNoZXIpOwogfQogCiB2b2lkIEFnZW50UmVnaXN0cnk6OndpbGxEZXN0cm95RnJv
bnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RSZWFzb24gcmVhc29uKQogewotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9hZ2VudHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIG1fYWdlbnRzW2ld
LT53aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChyZWFzb24pOwotfQotCi12b2lkIEFnZW50
UmVnaXN0cnk6OmRpc2NhcmRBZ2VudHMoKQotewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9hZ2VudHMuc2l6ZSgpOyBpKyspCi0gICAgICAgIG1fYWdlbnRzW2ldLT5kaXNjYXJkQWdlbnQo
KTsKKyAgICBmb3IgKGF1dG8mIGFnZW50IDogbV9hZ2VudHMpCisgICAgICAgIGFnZW50LT53aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChyZWFzb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnRSZWdpc3RyeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmgKaW5kZXggOTYyZjAwNmRmNzI3MTNjMmQ5NDdmZTg3NTc5
NGM4Nzk4MDk1NmM0Ny4uNjFhZTlhMGNhMzhmNzc5YjE5YjNlOWZjYjdiOWIxNTU1YTk5NzQ3MSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dFJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBZ2VudFJlZ2lzdHJ5LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
QEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBjbGFzcyBCYWNrZW5k
RGlzcGF0Y2hlcjsKLWNsYXNzIEZyb250ZW5kQ2hhbm5lbDsKK2NsYXNzIEZyb250ZW5kUm91dGVy
OwogY2xhc3MgSW5zcGVjdG9yQWdlbnRCYXNlOwogCiBlbnVtIGNsYXNzIERpc2Nvbm5lY3RSZWFz
b247CkBAIC00MSwxMiArNDEsMTIgQEAgZW51bSBjbGFzcyBEaXNjb25uZWN0UmVhc29uOwogY2xh
c3MgSlNfRVhQT1JUX1BSSVZBVEUgQWdlbnRSZWdpc3RyeSB7CiBwdWJsaWM6CiAgICAgQWdlbnRS
ZWdpc3RyeSgpOworICAgIH5BZ2VudFJlZ2lzdHJ5KCk7CiAKICAgICB2b2lkIGFwcGVuZChzdGQ6
OnVuaXF1ZV9wdHI8SW5zcGVjdG9yQWdlbnRCYXNlPik7CiAKLSAgICB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqLCBCYWNrZW5kRGlzcGF0Y2hlciopOwor
ICAgIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFj
a2VuZERpc3BhdGNoZXIqKTsKICAgICB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KERpc2Nvbm5lY3RSZWFzb24pOwotICAgIHZvaWQgZGlzY2FyZEFnZW50cygpOwogCiAjaWYgRU5B
QkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCiAgICAgdm9pZCBhcHBlbmRFeHRy
YUFnZW50KHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JBZ2VudEJhc2U+KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlci5jcHAKaW5kZXggMDkzNmI0MTExYzI0MTMzNGQ3NDljMjI0MWQzYjZjMTQ1MTg2
OTA3ZC4uOWYwYjAzZTY4YWUzZGNmYjk5YzA2ZjFmNDZlN2RmMTg4Mzg1ODg2NSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlci5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIgogCi0jaW5jbHVkZSAi
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRS
b3V0ZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlIDx3dGYvVGVt
cG9yYXJ5Q2hhbmdlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCmluZGV4IDI4N2E2NzhhNjVlZmJl
YjYwZjVmZGQ4YjNjMTIyOTVmZGQ2ZWQzMTAuLjY1Zjg1MjVhMmU4ODNhOWUxZWFhM2EzMzU2YjIx
NmQyZTAzMzNkMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3BwCkBAIC02NSwxNSArNjUsNiBAQCB2
b2lkIEZyb250ZW5kUm91dGVyOjpkaXNjb25uZWN0QWxsRnJvbnRlbmRzKCkKICAgICBtX2Nvbm5l
Y3Rpb25zLmNsZWFyKCk7CiB9CiAKLS8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQ4
NDkyPiByZW1vdmUgdGhpcyBtZXRob2Qgb25jZSBhZ2VudHMgbW92ZSB0byB1c2luZyBGcm9udGVu
ZFJvdXRlciBkaXJlY3RseS4KLUZyb250ZW5kQ2hhbm5lbCogRnJvbnRlbmRSb3V0ZXI6OmxlYWtD
aGFubmVsKCkgY29uc3QKLXsKLSAgICBpZiAobV9jb25uZWN0aW9ucy5zaXplKCkpCi0gICAgICAg
IHJldHVybiBtX2Nvbm5lY3Rpb25zLmF0KDApOwotCi0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0K
IGJvb2wgRnJvbnRlbmRSb3V0ZXI6Omhhc0xvY2FsRnJvbnRlbmQoKSBjb25zdAogewogICAgIGZv
ciAoYXV0byogY29ubmVjdGlvbiA6IG1fY29ubmVjdGlvbnMpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaApp
bmRleCA0YTY0MTFiZWM0MjY1NzcwMDVkMjg5YmQ0MzNkYjBhMDM4MjMzOWJhLi40OWI5NTgzZTQ3
MGFiNjhjN2U1NDhmYmEzZjJjNDE4YTFkZTliZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oCkBAIC00
NSw5ICs0NSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nvbm5lY3RGcm9udGVuZChGcm9udGVu
ZENoYW5uZWwqKTsKICAgICB2b2lkIGRpc2Nvbm5lY3RBbGxGcm9udGVuZHMoKTsKIAotICAgIC8v
IEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQ4NDkyPiByZW1vdmUgdGhpcyBtZXRob2Qg
b25jZSBhZ2VudHMgbW92ZSB0byB1c2luZyBGcm9udGVuZFJvdXRlciBkaXJlY3RseS4KLSAgICBG
cm9udGVuZENoYW5uZWwqIGxlYWtDaGFubmVsKCkgY29uc3Q7Ci0KICAgICB2b2lkIHNlbmRFdmVu
dChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIGNvbnN0OwogICAgIHZvaWQgc2VuZFJlc3BvbnNlKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCAzMzUwZmMwZDE4OTUxZjA4MmZhNzk3MTEyMDdhNWIyODA3ZWY0
Y2FjLi5kYmQyZTc2YzZhMTYxNmVjNDBiOTgyMzZjYTY5ZjBlZmM4ZDRjMjMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NCwxNCArNjQsOSBAQCBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6SlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKEpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qp
CiAgICAgOiBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiAgICAgLCBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEluamVjdGVkU2NyaXB0TWFuYWdlcj4oKnRoaXMs
IEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKCkpKQorICAgICwgbV9leGVjdXRpb25TdG9wd2F0
Y2goU3RvcHdhdGNoOjpjcmVhdGUoKSkKICAgICAsIG1fZnJvbnRlbmRSb3V0ZXIoRnJvbnRlbmRS
b3V0ZXI6OmNyZWF0ZSgpKQogICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKG1fZnJvbnRlbmRSb3V0ZXIuY29weVJlZigpKSkKLSAgICAsIG1fZXhlY3V0
aW9uU3RvcHdhdGNoKFN0b3B3YXRjaDo6Y3JlYXRlKCkpCi0gICAgLCBtX2luY2x1ZGVOYXRpdmVD
YWxsU3RhY2tXaXRoRXhjZXB0aW9ucyh0cnVlKQotICAgICwgbV9pc0F1dG9tYXRpY0luc3BlY3Rp
b24oZmFsc2UpCi0jaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCi0g
ICAgLCBtX2F1Z21lbnRpbmdDbGllbnQobnVsbHB0cikKLSNlbmRpZgogewogICAgIGF1dG8gaW5z
cGVjdG9yQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckFnZW50PigqdGhpcyk7CiAg
ICAgYXV0byBydW50aW1lQWdlbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEpTR2xvYmFsT2JqZWN0UnVu
dGltZUFnZW50PigqbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIsIG1fZ2xvYmFsT2JqZWN0KTsKQEAg
LTk1LDcgKzkwLDYgQEAgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNHbG9iYWxPYmoKIAogSlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyOjp+SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKCkK
IHsKLSAgICBtX2FnZW50cy5kaXNjYXJkQWdlbnRzKCk7CiB9CiAKIHZvaWQgSlNHbG9iYWxPYmpl
Y3RJbnNwZWN0b3JDb250cm9sbGVyOjpnbG9iYWxPYmplY3REZXN0cm95ZWQoKQpAQCAtMTE3LDcg
KzExMSw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0
RnJvbnRlbmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuCiAgICAgaWYgKCFjb25uZWN0ZWRGaXJz
dEZyb250ZW5kKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoZnJvbnRlbmRDaGFubmVsLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQo
KSk7CisgICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKCZtX2Zyb250ZW5k
Um91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CiAKICNpZiBFTkFCTEUo
SU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUykKICAgICBtX2luc3BlY3RvckFnZW50LT5h
Y3RpdmF0ZUV4dHJhRG9tYWlucyhtX2FnZW50cy5leHRyYURvbWFpbnMoKSk7CkBAIC0yNzcsNyAr
MjcxLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmFwcGVuZEV4
dHJhQWdlbnQoc3RkOjp1bmlxdWVfcHRyPEluc3BlY3QKIHsKICAgICBTdHJpbmcgZG9tYWluTmFt
ZSA9IGFnZW50LT5kb21haW5OYW1lKCk7CiAKLSAgICBhZ2VudC0+ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKG1fZnJvbnRlbmRSb3V0ZXItPmxlYWtDaGFubmVsKCksICZtX2JhY2tlbmREaXNw
YXRjaGVyLmdldCgpKTsKKyAgICBhZ2VudC0+ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKCZt
X2Zyb250ZW5kUm91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CiAKICAg
ICBtX2FnZW50cy5hcHBlbmRFeHRyYUFnZW50KFdURjo6bW92ZShhZ2VudCkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBhYWUzMmUzYzg5OTNiZjcwN2U2NmI3
ZjUyMDU4MjMyYTczYTczOTcxLi5lMTEzMDg1ZDVjYzk4ZGI4NTJmODVkM2Q2YWQzOWFkYjE5NDQ0
MWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFs
T2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTExMiwxOCArMTEy
LDIxIEBAIHByaXZhdGU6CiAgICAgSlNDOjpKU0dsb2JhbE9iamVjdCYgbV9nbG9iYWxPYmplY3Q7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluamVjdGVkU2NyaXB0TWFuYWdlcj4gbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEpTR2xvYmFsT2JqZWN0Q29uc29sZUNs
aWVudD4gbV9jb25zb2xlQ2xpZW50OwotICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFn
ZW50OwotICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQ7Ci0gICAgSW5z
cGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50OworICAgIFJlZjxXVEY6OlN0b3B3
YXRjaD4gbV9leGVjdXRpb25TdG9wd2F0Y2g7CisKICAgICBBZ2VudFJlZ2lzdHJ5IG1fYWdlbnRz
OworICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50IHsgbnVsbHB0ciB9OworICAg
IEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9jb25zb2xlQWdlbnQgeyBudWxscHRyIH07CisgICAg
SW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50IHsgbnVsbHB0ciB9OworCiAg
ICAgUmVmPEZyb250ZW5kUm91dGVyPiBtX2Zyb250ZW5kUm91dGVyOwogICAgIFJlZjxCYWNrZW5k
RGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKLSAgICBSZWY8V1RGOjpTdG9wd2F0Y2g+
IG1fZXhlY3V0aW9uU3RvcHdhdGNoOwotICAgIGJvb2wgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNr
V2l0aEV4Y2VwdGlvbnM7Ci0gICAgYm9vbCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbjsKKworICAg
IGJvb2wgbV9pbmNsdWRlTmF0aXZlQ2FsbFN0YWNrV2l0aEV4Y2VwdGlvbnMgeyBmYWxzZSB9Owor
ICAgIGJvb2wgbV9pc0F1dG9tYXRpY0luc3BlY3Rpb24geyBmYWxzZSB9OwogCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCi0gICAgQXVnbWVudGFibGVJbnNwZWN0
b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQ7CisgICAgQXVnbWVudGFibGVJ
bnNwZWN0b3JDb250cm9sbGVyQ2xpZW50KiBtX2F1Z21lbnRpbmdDbGllbnQgeyBudWxscHRyIH07
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAppbmRleCA4NjIyNGJhNmJiNjNiNDk1ZWRh
YTA2NmMyN2ZjNDNhYzc2ODBlNjkxLi41N2ZlNWFhZmRjYjEzYWY1NzM0MWM2ZDE2NWI1MmU5ZmQ4
ZjYyYzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCkBAIC00OCw5ICs0OCw5IEBAIEluc3BlY3RvckFn
ZW50Ojp+SW5zcGVjdG9yQWdlbnQoKQogewogfQogCi12b2lkIEluc3BlY3RvckFnZW50OjpkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWws
IEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yQWdl
bnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRlbmRS
b3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yRnJvbnRlbmREaXNw
YXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3Rk
OjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVy
KTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6
OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oCmluZGV4
IGI3MWYxY2VjZmZjMmMzZDliY2YwZDM5NzgyM2E1MzNmZjYzNDlmZWIuLjFlOGZiNjkwZWI1NWZm
YmNlNDVkMDExOGI5NWM0NGRiNjA3MTA5ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTAsIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01MSw3
ICs1MSw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBZ2VudChJbnNwZWN0b3JFbnZpcm9ubWVu
dCYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCosIEJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyYp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggMWYxZDliMWJh
MDQ3NjczYTZkMDgxNDc5NTUxNTNiMDAwZDMwMThhZC4uNjQ5YzAyOWE0ZDcwZDUyNWQwOGNkZTgw
Y2ZhNzIzMjAxMDMyYTQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01Myw5ICs1Myw5IEBAIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudDo6fkluc3BlY3RvckNvbnNvbGVBZ2VudCgpCiB7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRl
bmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlz
cGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hl
ciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6
Om1ha2VfdW5pcXVlPENvbnNvbGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7
CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnNvbGVGcm9u
dGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVy
ID0gQ29uc29sZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRo
aXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCmluZGV4IGIyM2Q2ZjQ2YWE5MTk4
MTc1ZmU0NzU1ZGU5ODU5NDcyNjczOTY3Y2EuLmQxMjE0N2UyNmYwMTM1MTQ3MWViZjU3MzhmNTk1
YWNkNDgxYjA2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVj
dG9yQ29uc29sZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciYpOwogICAgIHZpcnR1YWwgfklu
c3BlY3RvckNvbnNvbGVBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqLCBCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRl
bmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uKSBvdmVycmlk
ZTsKIAogICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcmKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggYWNhYzE3MGE0MDMxNTEwMGMxNjMy
Nzg5NWZiNzQ5Y2Y5MGZjN2E5NS4uNjg1MzY3MGE3YTBmYWQ0NWRiZTJlM2E2NGFlMDJjYWVjMjVl
MmJkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTEsNiArMSw2IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTMsIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTY5LDkgKzY5LDkgQEAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6fkluc3BlY3RvckRl
YnVnZ2VyQWdlbnQoKQogewogfQogCi12b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwg
QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JEZWJ1
Z2dlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqIGZy
b250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0g
ICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPERlYnVnZ2VyRnJvbnRl
bmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxEZWJ1Z2dlckZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRS
b3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBEZWJ1Z2dlckJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmgKaW5kZXggMDBiNjJjOGM3ZDE4MzM1NDNhZjNjY2UyZmUxMGMxYWI5ZjI5
NmEwZi4uOGQxOTQyNTFmMTUwODMyNzkxMzliYzM3Yzk2N2RjMjgyYjkwMGNhMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAtMSw2ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDEwLTIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMCwgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjUsNyArNjUsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5l
bCosIEJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVy
Kikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNr
ZW5kKERpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJs
ZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQuY3BwCmluZGV4IGVkYWJiZTIzZWFhMGIxZWZlMzQ2MGRiYzczMmNiMmNmYmI1YTQ2NGQu
LjBlMDQ1ZjQwZjMwYWZmNTBiMTc0MWEyMWI3Y2Q2ZmVhYjA1OWU0MGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGlt
ZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9K
U0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDkgKzQwLDkgQEAgSlNHbG9iYWxPYmpl
Y3RSdW50aW1lQWdlbnQ6OkpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50KEluamVjdGVkU2NyaXB0
TWFuYWdlciYgaW4KIHsKIH0KIAotdm9pZCBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVs
LCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEpTR2xvYmFsT2Jq
ZWN0UnVudGltZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0
ZXIqIGZyb250ZW5kUm91dGVyLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIp
CiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFJ1bnRpbWVG
cm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3Bh
dGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250
ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gUnVudGltZUJhY2tlbmREaXNw
YXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1
bnRpbWVBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNH
bG9iYWxPYmplY3RSdW50aW1lQWdlbnQuaAppbmRleCBlZTBhNDVkNjY0MWM2NWEwZWJmZjkwNTU5
Yzk4MjNhYTAxODVhNjQyLi45MTdmZGViOTVkOGEwZTEzYWU4MzEwZGRkODJmNDA0ZTcwYzgwZDUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0ds
b2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9y
UnVudGltZUFnZW50IHsKIHB1YmxpYzoKICAgICBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudChJ
bmplY3RlZFNjcmlwdE1hbmFnZXImLCBKU0M6OkpTR2xvYmFsT2JqZWN0Jik7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCosIEJh
Y2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKERp
c2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBKU0M6OlZNJiBnbG9iYWxW
TSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2Vu
dC5oCmluZGV4IDVmZjAzNTM1ODRiZGUyZTk5MmM4YjAwOWRiMzk2ZGJiNmE2NTI1YjUuLmNhNDZm
MTI1YWUzMWU1NGM0NTliMGI4MTYxNzhlZGZmMWY0YTU0OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYXVnbWVudGFibGUvQWx0ZXJuYXRlRGlzcGF0Y2hhYmxl
QWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2F1Z21lbnRhYmxl
L0FsdGVybmF0ZURpc3BhdGNoYWJsZUFnZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAg
IHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEZyb250ZW5kQ2hhbm5lbCosIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikg
b3ZlcnJpZGUKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZy
b250ZW5kUm91dGVyKiwgQmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKSBvdmVy
cmlkZQogICAgIHsKICAgICAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IFRCYWNrZW5kRGlzcGF0
Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCBudWxscHRyKTsKICAgICAgICAgbV9iYWNr
ZW5kRGlzcGF0Y2hlci0+c2V0QWx0ZXJuYXRlRGlzcGF0Y2hlcihtX2FsdGVybmF0ZURpc3BhdGNo
ZXIuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcAppbmRleCBh
YzgzYTE4ZTk1OTk1YjFjMzU4NmZhNzg2MTA3MWZjYzRlNWViODM5Li5kOWI4MmViNGMwNzlkMTZk
YjU4MjgyYTJmMDQwODAzZDAyNWNkODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1
Z2dhYmxlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQog
CiAjaW5jbHVkZSAiRXZlbnRMb29wLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsLmgiCiAjaW5jbHVkZSAiUmVtb3RlSW5zcGVjdG9yLmgiCiAKIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpp
bmRleCA3NTA3MWM2ZDE1YTU5ZDIwNTk1YjJjMzQ4MDY5NWUyNTQyOGYzODgxLi45YWY5ZGRhZjg0
ZGYyMWU2ZWY3MjY3MDE5MzlmNDM1OGE3YWVlY2I0IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRl
cy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpAQCAtMjA0LDEwICsyMDQsMTAgQEAgJHtvdXRQ
YXJhbWV0ZXJBc3NpZ25tZW50c30KICAgICBGcm9udGVuZERpc3BhdGNoZXJEb21haW5EaXNwYXRj
aGVyRGVjbGFyYXRpb24gPSAoCiAiIiIke2NsYXNzQW5kRXhwb3J0TWFjcm99ICR7ZG9tYWluTmFt
ZX1Gcm9udGVuZERpc3BhdGNoZXIgewogcHVibGljOgotICAgICR7ZG9tYWluTmFtZX1Gcm9udGVu
ZERpc3BhdGNoZXIoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwpIDogbV9mcm9udGVu
ZENoYW5uZWwoZnJvbnRlbmRDaGFubmVsKSB7IH0KKyAgICAke2RvbWFpbk5hbWV9RnJvbnRlbmRE
aXNwYXRjaGVyKEZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlcikgOiBtX2Zyb250ZW5kUm91
dGVyKGZyb250ZW5kUm91dGVyKSB7IH0KICR7ZXZlbnREZWNsYXJhdGlvbnN9CiBwcml2YXRlOgot
ICAgIEZyb250ZW5kQ2hhbm5lbCogbV9mcm9udGVuZENoYW5uZWw7CisgICAgRnJvbnRlbmRSb3V0
ZXIqIG1fZnJvbnRlbmRSb3V0ZXI7CiB9OyIiIikKIAogICAgIFByb3RvY29sT2JqZWN0QnVpbGRl
ckRlY2xhcmF0aW9uUHJlbHVkZSA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNo
ZXJfaW1wbGVtZW50YXRpb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0
aW9uLnB5CmluZGV4IGIzNmMwYjEzYzA4ZDkxMTEyOTQ2NDdiNmI4NmRiZGJlMjhiZmQ3MzUuLmNi
YmJjMGVmNDZjNmVjNzgyNzk3MDRkNDZlYTY4NDA4MmEzMTkxMjEgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9i
YWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlz
cGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQpAQCAtNDksNyArNDksNiBAQCBjbGFzcyBDcHBCYWNr
ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAKICAgICBk
ZWYgZ2VuZXJhdGVfb3V0cHV0KHNlbGYpOgogICAgICAgICBzZWNvbmRhcnlfaGVhZGVycyA9IFsK
LSAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPicsCiAg
ICAgICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPicsCiAgICAg
ICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4nLAogICAgICAgICAgICAgJzx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4nLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNo
ZXJfaGVhZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CmluZGV4IGZm
MDlhYjM5YjBhMzY5M2E2NzRiMGM2YzRmZjE2NWNmZmRiN2QwNDIuLjU4YTNjYjkyNTUxN2E1M2Iw
NTVkNTAzNzY4Yzg4NzM2ZmE4N2E1YWQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRj
aGVyX2hlYWRlci5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkKQEAg
LTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBweXRob24KICMKLSMgQ29weXJpZ2h0IChjKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0
LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChjKSAy
MDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CkBAIC01MSwxNCArNTEsMTMgQEAgY2xhc3MgQ3BwRnJvbnRlbmREaXNwYXRjaGVy
SGVhZGVyR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAgICAgZGVmIGdlbmVyYXRlX291dHB1dChzZWxm
KToKICAgICAgICAgaGVhZGVycyA9IFsKICAgICAgICAgICAgICciSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmgiJywKLSAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hh
bm5lbC5oPicsCiAgICAgICAgICAgICAnPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4nLAog
ICAgICAgICAgICAgJzx3dGYvdGV4dC9XVEZTdHJpbmcuaD4nXQogCiAgICAgICAgIGhlYWRlcl9h
cmdzID0gewogICAgICAgICAgICAgJ2hlYWRlckd1YXJkU3RyaW5nJzogcmUuc3ViKCdcVysnLCAn
XycsIHNlbGYub3V0cHV0X2ZpbGVuYW1lKCkpLAogICAgICAgICAgICAgJ2luY2x1ZGVzJzogJ1xu
Jy5qb2luKFsnI2luY2x1ZGUgJyArIGhlYWRlciBmb3IgaGVhZGVyIGluIGhlYWRlcnNdKSwKLSAg
ICAgICAgICAgICd0eXBlZGVmcyc6ICcnLAorICAgICAgICAgICAgJ3R5cGVkZWZzJzogJ2NsYXNz
IEZyb250ZW5kUm91dGVyOycsCiAgICAgICAgIH0KIAogICAgICAgICBzZWN0aW9ucyA9IFtdCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IDc5ODE1N2EwNjA4
OWU1MjMyODVjM2Q0YmYxZmEwYWQ3MTExNmViM2UuLmRlNDRmOWExYjhiNWJmY2ExZjkwNjhjODRl
YmJiOTU3ZDc0YTFiYzkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9u
LnB5CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiAjCi0jIENvcHlyaWdo
dCAoYykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAo
YykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdo
dCAoYykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtNDgsNyArNDgsMTAgQEAgY2xhc3MgQ3BwRnJvbnRlbmREaXNw
YXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IoR2VuZXJhdG9yKToKICAgICAgICAgcmV0dXJu
IGZpbHRlcihsYW1iZGEgZG9tYWluOiBsZW4oZG9tYWluLmV2ZW50cykgPiAwLCBHZW5lcmF0b3Iu
ZG9tYWluc190b19nZW5lcmF0ZShzZWxmKSkKIAogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2Vs
Zik6Ci0gICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWyc8d3RmL3RleHQvQ1N0cmluZy5oPidd
CisgICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWworICAgICAgICAgICAgJyJJbnNwZWN0b3JG
cm9udGVuZFJvdXRlci5oIicsCisgICAgICAgICAgICAnPHd0Zi90ZXh0L0NTdHJpbmcuaD4nLAor
ICAgICAgICBdCiAKICAgICAgICAgaGVhZGVyX2FyZ3MgPSB7CiAgICAgICAgICAgICAncHJpbWFy
eUluY2x1ZGUnOiAnIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCInLApAQCAtMTE2LDYg
KzExOSw2IEBAIGNsYXNzIENwcEZyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJh
dG9yKEdlbmVyYXRvcik6CiAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICBqc29uTWVzc2Fn
ZS0+c2V0T2JqZWN0KEFTQ0lJTGl0ZXJhbCgicGFyYW1zIiksIFdURjo6bW92ZShwYXJhbXNPYmpl
Y3QpKTsnKQogCiAgICAgICAgIGxpbmVzLmFwcGVuZCgnJykKLSAgICAgICAgbGluZXMuYXBwZW5k
KCcgICAgbV9mcm9udGVuZENoYW5uZWwtPnNlbmRNZXNzYWdlVG9Gcm9udGVuZChqc29uTWVzc2Fn
ZS0+dG9KU09OU3RyaW5nKCkpOycpCisgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgIG1fZnJvbnRl
bmRSb3V0ZXItPnNlbmRFdmVudChqc29uTWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOycpCiAgICAg
ICAgIGxpbmVzLmFwcGVuZCgnfScpCiAgICAgICAgIHJldHVybiAiXG4iLmpvaW4obGluZXMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9vYmpjX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29i
amNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IGEyNzdkNzg2ZTUy
ZTJhZDZlMTFjMGNlYWQ1ZTVlMjZjOGQ0YzI1YjMuLjRjZTVkMDg2ZjNhYzQ5ZTE2NzU4YjFlNjVl
YjA4ZTgzOTRhMmM5M2UgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxl
bWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9u
LnB5CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiAjCi0jIENvcHlyaWdo
dCAoYykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAo
YykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdo
dCAoYykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dApAQCAtNTMsNyArNTMsNiBAQCBjbGFzcyBPYmpDQ29uZmlndXJhdGlv
bkltcGxlbWVudGF0aW9uR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAgICAgICAgIHNlY29uZGFyeV9o
ZWFkZXJzID0gWwogICAgICAgICAgICAgJyIlc0ludGVybmFsLmgiJyAlIE9iakNHZW5lcmF0b3Iu
T0JKQ19QUkVGSVgsCiAgICAgICAgICAgICAnIiVzRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiJyAl
IE9iakNHZW5lcmF0b3IuT0JKQ19QUkVGSVgsCi0gICAgICAgICAgICAnPEphdmFTY3JpcHRDb3Jl
L0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPicsCiAgICAgICAgICAgICAnPEphdmFTY3JpcHRD
b3JlL0luc3BlY3RvclZhbHVlcy5oPicsCiAgICAgICAgIF0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19m
cm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNw
YXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CmluZGV4IDk0MDE4ZTU5ZjZmYWY2MDIwN2JhZWNkNjVi
YjU1M2E1MmIwZmU1N2QuLmI4ZDEwODA2MGQ5YTY4NTJlYWZjMGRlOTRjNmZmNzgzZWMzOGYyMGYg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2Rl
Z2VuL2dlbmVyYXRlX29iamNfZnJvbnRlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5l
cmF0ZV9vYmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKQEAgLTEsNiAr
MSw2IEBACiAjIS91c3IvYmluL2VudiBweXRob24KICMKLSMgQ29weXJpZ2h0IChjKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChjKSAyMDE0IFVu
aXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CkBAIC01MCw3ICs1MCw2IEBAIGNsYXNzIE9iakNGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1l
bnRhdGlvbkdlbmVyYXRvcihHZW5lcmF0b3IpOgogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2Vs
Zik6CiAgICAgICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWwogICAgICAgICAgICAgJyIlc0VudW1D
b252ZXJzaW9uSGVscGVycy5oIicgJSBPYmpDR2VuZXJhdG9yLk9CSkNfUFJFRklYLAotICAgICAg
ICAgICAgJzxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4nLAogICAg
ICAgICAgICAgJzxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JWYWx1ZXMuaD4nLAogICAgICAgICBd
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmlu
ZGV4IGM0NWFjMWZmNWY0NmY4ZGFhYWIyNmY4N2I1N2FmNDc5OTNmNjZjNmQuLjUwMTQ0MWM0Mjc4
MTYzMWVmMmZiYzgwYWIwNDQxMzMyMTUxZGJlMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMjI3NDcsNyArMjI3NDcsNiBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckRPTUFnZW50LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NRGVidWdn
ZXJBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXEluc3BlY3RvckZvcndhcmRpbmcuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVu
ZEhvc3QuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCBkZDliMmRhZjFhZGZkZDhhODdmNDFjMzA1ODUz
ZjNkY2Y1ZTZhMmZkLi5hNDYxM2NjMzhlNTNkYTIwNWU0MDdjZWRhNDc0NWY4YWVjYjZmNmRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzCkBAIC0xMTkxOCw5ICsxMTkxOCw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiPgogICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGb3J3YXJkaW5nLmgiPgotICAgICAgPEZp
bHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDg0ZjIy
YjBhMmIxNjgwNTQ2ZjA5MDliOTcyZDk1NjhhZjMyNWVkNS4uNTJhODk1N2I1OTg3YzliZDUyMmEx
YTI1YmRmODY4NGY1OWM5MzY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTkxLDcgKzk5MSw2IEBACiAJCTIwRDYyOTI3MTI1
MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRDYyOTI1MTI1MzY5MEIwMDA4MTU0
MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCAqLzsgfTsKIAkJMjI1QTE2QjUwRDVDMTFF
OTAwMDkwMjk1IC8qIFdlYkV2ZW50UmVnaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyMjVBMTZCMzBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRS
ZWdpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyMjVBMTZCNjBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMjVBMTZCNDBENUMxMUU5MDAw
OTAyOTUgLyogV2ViRXZlbnRSZWdpb24ubW0gKi87IH07Ci0JCTIyNzc3NzYwMTM0NURFQTkwMDhF
QTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9y
Rm9yd2FyZGluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTIyOEMyODQ1MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyOEMyODQ0MTBEODI1
MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyMjkyQjI3QzEzNTY2Njk0MDBDRjExRUYgLyogSW1h
Z2VCdWZmZXJEYXRhQ0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjI5MkIyN0IxMzU2NjY5NDAwQ0YxMUVGIC8qIEltYWdlQnVmZmVyRGF0YUNHLmNw
cCAqLzsgfTsKIAkJMjJCRDlGN0YxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjJCRDlGN0Qx
MzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MTcwLDcgKzgxNjksNiBAQAogCQkyMEQ2
MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMjVBMTZCMzBENUMxMUU5MDAwOTAyOTUgLyog
V2ViRXZlbnRSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRXZl
bnRSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI1QTE2QjQwRDVDMTFF
OTAwMDkwMjk1IC8qIFdlYkV2ZW50UmVnaW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViRXZlbnRSZWdpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZvcndhcmRpbmcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI4QzI4NDQxMEQ4MjUwMDAwOUQwRDBFIC8q
IFNjcmlwdFdyYXBwYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3Jp
cHRXcmFwcGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI5MkIyN0IxMzU2
NjY5NDAwQ0YxMUVGIC8qIEltYWdlQnVmZmVyRGF0YUNHLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQnVmZmVyRGF0YUNHLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUJ1ZmZlckRhdGEuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NjUwLDcgKzE1NjQ4LDYgQEAKIAkJCQlG
M0Q0QzQ3NzEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oICov
LAogCQkJCTdBNzRFQ0I4MTAxODM5QTUwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQuY3BwICovLAogCQkJCTdBNzRFQ0I5MTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQuaCAqLywKLQkJCQkyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVj
dG9yRm9yd2FyZGluZy5oICovLAogCQkJCUYzNDRDNzEyMTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudC5oICovLAogCQkJCUYzNDRDNzU3MTEyOTRGRjYwMEYyNkVFRSAv
KiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCAqLywKIAkJCQlGMzQ0Qzc1MjExMjk0
RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oICovLApAQCAtMjUz
MzYsNyArMjUzMzMsNiBAQAogCQkJCTdBMjQ1ODdDMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0
b3JET01BZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjNENEM0NzkxMkUwNzY2MzAwM0RBMTUw
IC8qIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNzRF
Q0JCMTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJk
aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRDNzUzMTEyOTRE
OUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QTBFNzcwRjEwQzAwQTg4MDBBMDI3NkUgLyogSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKaW5kZXggMjk2YTA3ZDk1YjYy
OTc1NDExYTdhYzZkYjRkMjEzNjVhZDJlYWMzOC4uYTg0MWMzMjJjOTY0YTFhOTFkY2NmMjYzZWUz
ZjZjYzVhZmE2NmZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQ5LDkgKzQ5LDkgQEAgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50OjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW4KIHsKIH0KIAotdm9pZCBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwg
QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JBcHBs
aWNhdGlvbkNhY2hlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJv
dXRlciogZnJvbnRlbmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hl
cikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVj
dG9yOjpBcHBsaWNhdGlvbkNhY2hlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwp
OworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6
OkFwcGxpY2F0aW9uQ2FjaGVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAg
ICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpBcHBsaWNhdGlvbkNhY2hlQmFja2Vu
ZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaAppbmRleCAxMTdjODVlNmQyZjcyNDM3NTQyMGNhZWZmNDc1NjFkOGVkODc0OTJk
Li4yNDhkM2Y4NDFiZDdmMmMwYzFkMDkxYWU5MTU5NjNlZWZhNWFlOTE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAg
IHZpcnR1YWwgfkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQogCi0gICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRl
bmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlz
Y29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2Fj
aGVTdGF0dXMoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuY3BwCmluZGV4IGE3OTI0NDRiMmUwN2VjZGMwNTA5MGVmYzU2ODVkODhkNTU0NjY0
M2YuLjgyMDc3MWMxOTY2ZTYwY2M2MjNmNWE2OTUwYTkwZGE5MWU1MDg0ZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMzU0LDkgKzM1
NCw5IEBAIEluc3BlY3RvckNTU0FnZW50Ojp+SW5zcGVjdG9yQ1NTQWdlbnQoKQogICAgIHJlc2V0
KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9y
Q1NTQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPENTU0Zyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q1NTRnJvbnRlbmREaXNwYXRjaGVy
Pihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IENTU0JhY2tlbmRE
aXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oCmluZGV4IGRiZDI5NGU1NjMz
NGY4ZmY3ZTY1MWQ5YTIyYzBjN2RmMDcxNWU3MjkuLjAwYjAzNzk3NmZiMDRmMTBkZjU3NDQyYmNm
MTZjZDM2ZTRhZTk1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBDU1NTdHls
ZVJ1bGUqIGFzQ1NTU3R5bGVSdWxlKENTU1J1bGUmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNw
ZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5z
cGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3
aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24p
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNjYXJkQWdlbnQoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggOGE3ZGYy
MGFjMDRjN2UwMmZiOWFjY2I5ODk3OWVkMzU2NDE1MGY3ZC4uZGE3OTRiNTRmODdkNjNhZDQ5MjVh
OTg1ODFjZDk4OTNkMzJiYjMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTc0LDcgKzE3NCw2IEBAIEluc3BlY3RvckNvbnRy
b2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDCiBJbnNwZWN0b3JDb250cm9sbGVyOjp+SW5zcGVjdG9yQ29udHJvbGxlcigpCiB7
CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5yZXNldCgpOwotICAgIG1fYWdlbnRzLmRpc2Nh
cmRBZ2VudHMoKTsKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yQ2xpZW50KTsKIH0KIApAQCAtMjM1
LDcgKzIzNCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKElu
c3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoCiAKICAgICBpZiAoY29ubmVjdGVk
Rmlyc3RGcm9udGVuZCkgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnJlZ2lz
dGVySW5zdHJ1bWVudGluZ0FnZW50cyhtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCkpOwotICAg
ICAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoZnJvbnRlbmRDaGFubmVs
LCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CisgICAgICAgIG1fYWdlbnRzLmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZCgmbV9mcm9udGVuZFJvdXRlci5nZXQoKSwgJm1fYmFja2VuZERp
c3BhdGNoZXIuZ2V0KCkpOwogICAgIH0KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXgg
OTRhZWViNGJjMGNlNDBlYzk4ZTYxMGFiMGI1YjFkZTE3ZDIxM2ZlZC4uYWI5MGQ0ZTUyOGY3ZDA0
ZWU1YzcwYmYwNWI0MGNiMzFmMTg2N2Q4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDksIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDkgSm9zZXBoIFBlY29yYXJvCiAgKgpAQCAtMjE1LDkgKzIxNSw5IEBAIEluc3Bl
Y3RvckRPTUFnZW50Ojp+SW5zcGVjdG9yRE9NQWdlbnQoKQogICAgIEFTU0VSVCghbV9zZWFyY2hp
bmdGb3JOb2RlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWws
IEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJ
bnNwZWN0b3JET01BZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRj
aGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0
ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpET01Gcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5k
Q2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3Rvcjo6RE9NRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9i
YWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6RE9NQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0
ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiAKICAgICBtX2hpc3RvcnkgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEluc3BlY3Rvckhpc3Rvcnk+KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5oCmluZGV4IDdiMGQ2NThmN2ZhM2E4MGRhNTk4Y2I2MjQxYmJlZjA4
YTlkYmM5YTAuLjhlOWIxMDYyMDhmMWM1NWU4MDZmMzAwMjc3MjMzYTc5YzViYWJjZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgog
CiAgICAgc3RhdGljIFN0cmluZyB0b0Vycm9yU3RyaW5nKGNvbnN0IEV4Y2VwdGlvbkNvZGUmKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgVmVjdG9yPERvY3VtZW50
Kj4gZG9jdW1lbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggOTM5MmE1NWFlM2JiYzkxNWIwZGQxZTY1
YTk1YjU2ZTg4NGUwMDJlNi4uZjgzZWQ3YTEwZTFmYjNhN2U4NjNhMjUzYzc3NmRmNGUwYzA5OGQ0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC0xMDAsNyArMTAxLDcgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dl
ckFnZW50OjpkaXNhYmxlKCkKICAgICBjbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvckRPTURl
YnVnZ2VyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250
ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQordm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewogICAgIG1fYmFja2VuZERpc3BhdGNoZXIg
PSBJbnNwZWN0b3I6OkRPTURlYnVnZ2VyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5k
RGlzcGF0Y2hlciwgdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAppbmRleCAwMWIzMTM5ZTBlYTZiNTAxYmNjYzQ3
YWU3OTRiNDI2NjU2YTI1MTJhLi5iZjQzMTkxMzgwYzE1M2VlNDg1YWQyZDY4NDFhODJhMDFjMDlm
YzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtNzgsNyArNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB3aWxsU2VuZFhN
TEh0dHBSZXF1ZXN0KGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIHBhdXNlT25OYXRpdmVF
dmVudElmTmVlZGVkKGJvb2wgaXNET01FdmVudCwgY29uc3QgU3RyaW5nJiBldmVudE5hbWUsIGJv
b2wgc3luY2hyb25vdXMpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIGRpc2NhcmRBZ2VudCgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCmluZGV4IDJk
Mzk5NzU5ZTU5OWM2YzUxNDkxODVkZjRhOTVmN2Q1ZWQxNTY4ODguLmIyZGU5MmJjMGE1NzQ1OGE2
YTQzZWIyNTA2Yjc0OWYzMzAxNDY0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NSw5ICs2Niw5IEBAIElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6fkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpCiAgICAg
bV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudChudWxscHRy
KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVj
dG9yOjpGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkRPTVN0b3JhZ2VGcm9udGVuZERpc3BhdGNo
ZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPEluc3BlY3Rvcjo6RE9NU3RvcmFnZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRl
bmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OkRPTVN0b3Jh
Z2VCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudC5oCmluZGV4IDc4YTdhMjg1OGQyZmYwODFjNDZlYWJjMTI5NTgxMjkxMDUzYjE3ZjMuLjU5
YzY4MDg3YTliOTM4NjYxY2JiNTYxN2E4ZDg5OGVkMzEwMTcwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Nyw3ICs1OCw3IEBA
IHB1YmxpYzoKICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNo
ZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRj
aGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAvLyBD
YWxsZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCmluZGV4IGM3ZjZhNmUzNDIzMDliNWNhMWY1
MTczNDQyZmE1MWI0ZmUxMTRjMjUuLmIzYjI3OWY5ZDUwYmI4NjM2YjE4MzQyNDExNzU1ZDBjYmEy
ODIyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRh
YmFzZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0
YWJhc2VBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yMjIsOSArMjIzLDkgQEAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6fkluc3Bl
Y3RvckRhdGFiYXNlQWdlbnQoKQogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0
b3JEYXRhYmFzZUFnZW50KG51bGxwdHIpOwogfQogCi12b2lkIEluc3BlY3RvckRhdGFiYXNlQWdl
bnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5l
bCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5k
RGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBt
X2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpEYXRhYmFz
ZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlz
cGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpEYXRhYmFzZUZyb250ZW5kRGlz
cGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNw
ZWN0b3I6OkRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hl
ciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEYXRhYmFzZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudC5oCmluZGV4IDFkZjk0OTQ3ZmU4YTZkZjQzOTNmNmVjYTU0M2FiMmQwYjIx
NjdkNjMuLjBmMWY5Mjc5ZGZiYmVhMmEwOGY2NDgwMTIyYWE2MjViM2VkZDdhYjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDcgKzU0
LDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IEluc3BlY3RvckRhdGFiYXNlQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRhdGFiYXNlQWdlbnQoKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9y
OjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdm9pZCBjbGVhclJlc291
cmNlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZv
cndhcmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGb3J3YXJkaW5n
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1MDhiYjE5MzI3MThkOGE5YTk4Zjg0
ZDhiY2ZmMGE0NGVmZWJlOWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZvcndhcmRpbmcuaAor
KysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEluc3BlY3RvckZvcndhcmRpbmdfaAotI2RlZmlu
ZSBJbnNwZWN0b3JGb3J3YXJkaW5nX2gKLQotI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotdHlwZWRlZiBJbnNwZWN0
b3I6OkZyb250ZW5kQ2hhbm5lbCBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWw7Ci19Ci0KLSNlbmRp
ZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGb3J3YXJkaW5nX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAppbmRleCBhM2VhYmI3
YjExNDg3MDVmZGY0Y2UyZjFlZTRmOGQ4Y2ExMGNkYzUzLi5hMDg2OTc5YTM4Y2ZmNjM3YTJhMTUw
MDAxMmU5OWYzZTA4OTUyMDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTc2LDcgKzU3Nyw3IEBAIEluc3BlY3Rvcklu
ZGV4ZWREQkFnZW50Ojp+SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoKQogewogfQogCi12b2lkIElu
c3BlY3RvckluZGV4ZWREQkFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVj
dG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNr
ZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OmRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpC
YWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7CiAgICAgbV9iYWNrZW5kRGlz
cGF0Y2hlciA9IEluc3BlY3Rvcjo6SW5kZXhlZERCQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShi
YWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5oCmluZGV4IDdiOGNlOThiOWIyYzI4MmVhMzgy
OWVkZGRlNDkzMTE3ZmJlZjJmZDkuLjg0YTk4ZmRjNDhiZDAwOTEzZjM1MzA5MThmMjQ4MDM3NGQ3
Y2ZjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTUzLDcgKzU0LDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvckluZGV4ZWRE
QkFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMmLCBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFu
YWdlciYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckluZGV4
ZWREQkFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0
Y2hlciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIC8v
IENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAppbmRleCBlNjZmY2YyZDgzNmFkYWZl
MTgzNDQ3YjlkYTc4NWJmYzFmNGJiNWM0Li43ZmJkZmE0NmJmMGI0Y2Y0Mjg2ODViMTliNTczMTFi
NDk0YmI2YTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMiwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC01Niw5ICs1Niw5IEBAIEluc3BlY3RvckxheWVyVHJl
ZUFnZW50Ojp+SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQoKQogICAgIHJlc2V0KCk7CiB9CiAKLXZv
aWQgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJ
bnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJh
Y2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEluc3BlY3Rvcjo6TGF5ZXJUcmVlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENo
YW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6OkxheWVyVHJlZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAg
IG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OkxheWVyVHJlZUJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCmluZGV4IDRmZjU0
NDkxYjZmNmIwY2VlMmU3NmM3NmY4ZWQyMjEwYzFmNjJmYzEuLmZhMjQwMTU4NDdiZjE0Y2RlN2Ex
MDEyNmVjOTQ4ZjlhYzJmNzQ3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAg
ICAgdmlydHVhbCB+SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogICAgIHZvaWQgcmVzZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCA3ODFiNTc4YWY0NjEyNTAy
MTk1YzYyMGUxNTkzNmE2MGI3N2E1NjRkLi5lYzUyZjQ3Nzc4NDFiMTRhNWNkMGEwNWQ0NTYxNzAz
Mjc3ZGU3ZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zMzMsOSArMzM0LDkgQEAgSW5zcGVjdG9yUGFnZUFnZW50OjpJbnNwZWN0b3JQ
YWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywKIHsKIH0K
IAotdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJ
bnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJh
Y2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yUGFnZUFn
ZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRl
ciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmRE
aXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1
ZTxJbnNwZWN0b3I6OlBhZ2VGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7Cisg
ICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UGFn
ZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXIgPSBJbnNwZWN0b3I6OlBhZ2VCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmRE
aXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oCmluZGV4IDI4NjJlNThjNTA2MDI0NTdiOGI3MTBkYjI3OTI3NWY4ZDAz
YTBmMjMuLmU5YWQ4NjZiYWVjMDQxMjUyNmEwYWRjNmFiNTBiMzZiNWFmZjVkYTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTM5LDcgKzE0MCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNjcmlwdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKTsKIAog
ICAgIC8vIEluc3BlY3RvciBDb250cm9sbGVyIEFQSQotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVj
dG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxs
RGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92
ZXJyaWRlOwogCiAgICAgLy8gQ3Jvc3MtYWdlbnRzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggNDc5YjcxMDhmYWM0ODgw
MWZiMjlkNzM5OWM2NGU0YjkwMzhhNDY4YS4uMzQ5MGU3NWMyMjBlYzc3YmQxNmNkZTZhOWYyZTE5
ODdmNTY1ODg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clJlcGxheUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UmVwbGF5QWdlbnQuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MS0yMDEzIFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzMsOSArMTczLDkgQEAgV2ViQ29y
ZTo6U2Vzc2lvblN0YXRlIEluc3BlY3RvclJlcGxheUFnZW50OjpzZXNzaW9uU3RhdGUoKSBjb25z
dAogICAgIHJldHVybiBtX3BhZ2UucmVwbGF5Q29udHJvbGxlcigpLnNlc3Npb25TdGF0ZSgpOwog
fQogCi12b2lkIEluc3BlY3RvclJlcGxheUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9y
OjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvclJl
cGxheUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3I6OlJlcGxheUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFu
bmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVj
dG9yOjpSZXBsYXlGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2Jh
Y2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpSZXBsYXlCYWNrZW5kRGlzcGF0Y2hlcjo6Y3Jl
YXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIAogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50
cy5zZXRJbnNwZWN0b3JSZXBsYXlBZ2VudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmgKaW5kZXggYTdlNmNmNThmMjM3ODhiZGM4ZDQz
MWRiNTVmMTRhNTFjZGIyYzFhYy4uZjdiZWE2ZmRhNTViNjBkODhlMDNlOTM3NTAxZmJkNjMyYWM4
ZWY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxh
eUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFn
ZW50LmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTMgVW5p
dmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvclJlcGxheUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMmLCBJbnNwZWN0b3JQYWdlQWdlbnQq
KTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JSZXBsYXlBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5l
bCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0
ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVj
dFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24gY2Fs
bGJhY2tzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJl
c291cmNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291
cmNlQWdlbnQuY3BwCmluZGV4IDE0MzJlZjBkOTNlMzJjNjllNTcwNWJkNGVmZjNkNDBkZDQxZjRh
YzMuLjAwMWMzM2E4MTQ3ZDNmZGE5MDgxNWU4OTZlOTIyNGZiMGZhMDQxNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTY5
LDkgKzE3MCw5IEBAIEluc3BlY3RvclJlc291cmNlQWdlbnQ6Okluc3BlY3RvclJlc291cmNlQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluCiB7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpk
aWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciogZnJv
bnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6Ok5ldHdvcmtGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAg
bV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6TmV0d29y
a0Zyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXIgPSBJbnNwZWN0b3I6Ok5ldHdvcmtCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tl
bmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKaW5kZXggODdmNWUzYWVjYjE1NmI5ZmMwYzRkNzBm
NjU4ZTYxNTFkZmQxNWRjZC4uZjA4MjRlMjhhMmZjZjMxYjgyMzU3MTQ3ZmE3NDAxNjM0ZThmNDRj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKQEAgLTc4LDcgKzc5LDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvclJlc291cmNlQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCosIEluc3BlY3RvckNsaWVu
dCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvclJlc291cmNlQWdlbnQoKTsKIAotICAgIHZpcnR1
YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENo
YW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nv
bm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
IGNhbGxiYWNrcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcAppbmRleCA4N2FlNDFmYjNjMzY3MjRkOTMyNjMyNmMzNmVhOTU0ZDA4
N2JhMDY4Li5iMDljMTE1OWI2NDEwODkyNzEyYWVjM2RlNmVjNjM3MWIxOTE5YTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
CkBAIC0xLDYgKzEsNyBAQAogLyoKICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdh
c2hpbmd0b24uCisqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC04OSw5ICs5MCw5IEBA
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6On5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCkKIHsKIH0K
IAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9y
OjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250
ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciog
YmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPEluc3BlY3Rvcjo6VGltZWxpbmVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5k
Q2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3Rvcjo6VGltZWxpbmVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAg
ICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpUaW1lbGluZUJhY2tlbmREaXNwYXRj
aGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogCiAgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLnNldFBlcnNpc3RlbnRJbnNwZWN0b3JUaW1lbGluZUFnZW50KHRoaXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5k
ZXggMzI0NjVmM2NlMWZmNDcyMDg1NWEyYzgzYmNkZjZiNjI3YTQyOGM3NC4uNWE5MGIzNzBiZjNl
NTEzZmJkZmI1ZDNkMzIwMWM0N2Y1MGFiOTAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0xLDYgKzEsNyBAQAogLyoKICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIENv
cHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uCisqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC0xMjAsNyArMTIxLDcgQEAgcHVibGljOgogICAgIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCos
IEluc3BlY3RvclR5cGUsIEluc3BlY3RvckNsaWVudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3Rv
clRpbWVsaW5lQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5k
RGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250
ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0KEVycm9yU3RyaW5nJiwgY29uc3QgaW50KiBtYXhDYWxsU3Rh
Y2tEZXB0aCA9IG51bGxwdHIpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oCmluZGV4IDI2N2QxY2QwODc0NWQ5YzEyYzM1NTM0
ZjFhZjc3OTcyYmFkOWYwOWMuLjRjZTBjN2JhNDc2ODYzZTRkNjNhZjQzMjYxNmIyZDY0OWIxMTY0
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2Vu
dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViQWdlbnRC
YXNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI3LDcgKzI3
LDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yV2ViQWdlbnRCYXNlX2gKICNkZWZpbmUgSW5zcGVjdG9y
V2ViQWdlbnRCYXNlX2gKIAotI2luY2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNs
dWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXb3JrZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V29ya2VyQWdlbnQuY3BwCmluZGV4IGI3ODAwYjE3OTY1MjBjZTE0NmIwZGE3OGYzMGZiYzQ2ZDFi
ZThlMGEuLmUwOGI3YTdjODVmNDY1MTlkYTMyMGE0M2E2Y2JiNWNkNDg3NDQ1OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMSw3
ICszMiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2Vy
QWdlbnQuaCIKIAotI2luY2x1ZGUgIkluc3BlY3RvckZvcndhcmRpbmcuaCIKICNpbmNsdWRlICJJ
bnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiV29ya2Vy
R2xvYmFsU2NvcGVQcm94eS5oIgpAQCAtMTEyLDkgKzExMiw5IEBAIEluc3BlY3RvcldvcmtlckFn
ZW50Ojp+SW5zcGVjdG9yV29ya2VyQWdlbnQoKQogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5z
ZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChudWxscHRyKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JXb3Jr
ZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlkQ3JlYXRlRnJv
bnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVy
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAg
ICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpXb3Jr
ZXJGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERp
c3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6V29ya2VyRnJvbnRlbmREaXNw
YXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3Bl
Y3Rvcjo6V29ya2VyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwg
dGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldvcmtl
ckFnZW50LmgKaW5kZXggNDU0MjQ3OTNkYjQ5NzUwYWU0MzVmNzE4ZThiMGQ5MzRhNWE2OGFjMC4u
ZmNiZWUwZDFhNDU0MDM5MGMwZmYwN2FiZDY2NTE4OTFiYWUyMmY4MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTQsNyArNTUsNyBAQCBw
dWJsaWM6CiAgICAgZXhwbGljaXQgSW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYpOwogICAgIHZpcnR1YWwgfkluc3BlY3RvcldvcmtlckFnZW50KCk7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNj
b25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VS
dW50aW1lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdl
bnQuY3BwCmluZGV4IDE4MzRjYzUyNTZhZDRlZTRkZmNiNDIwNzg2YWIzZTMwYzdiZmRjMmQuLjlh
ZWQ3MTAwZDMwOTFiZTU2MzJjMzg1YTA5ZGNlODZkOTAxMjg2NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTksOSArNjAsOSBAQCBQYWdlUnVu
dGltZUFnZW50OjpQYWdlUnVudGltZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciYgaW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLAogewogfQogCi12b2lkIFBhZ2VSdW50aW1lQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogZnJvbnRlbmRD
aGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikK
K3ZvaWQgUGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNwZWN0b3I6OkJhY2tlbmRE
aXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpSdW50aW1lRnJvbnRlbmREaXNwYXRjaGVy
Pihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3I6OlJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91
dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpSdW50aW1lQmFja2Vu
ZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oCmluZGV4IDI3ODdkZTc3YzY4
NzJmMjc1NjhjMDM1NzAyYmZlODU3NDZkMDQwOGUuLjNlNGJlZGY3YjdmYzlhNGFlMWYxMzhkZjgy
YTJmM2M5YzAwNjNjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
UnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1l
QWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCkBAIC01Niw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBQYWdlUnVudGltZUFnZW50KEluc3Bl
Y3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiwgUGFnZSosIEluc3BlY3RvclBhZ2VBZ2VudCop
OwogICAgIHZpcnR1YWwgflBhZ2VSdW50aW1lQWdlbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcmKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwCmluZGV4IDYyOWI0NmU0NWE3OGU5MWJlMGNjMTAyMDA3NGRhYWM2ZGYwZjNh
ZDUuLmIxNDEzYjg2ZDY5MmYxMzAyMmI4MmY5MmU2OGMwM2I2MmZiY2I4M2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpA
QCAtMzMsNyArMzQsNiBAQAogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCkBA
IC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiV29ya2VyUnVudGltZUFnZW50LmgiCiAjaW5jbHVk
ZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5l
bC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0b3B3YXRjaC5oPgpAQCAtNTcsNyArNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIFBhZ2VJbnNwZWN0b3JQcm94eSA6IHB1YmxpYyBJbnNw
ZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3MgUGFnZUluc3BlY3RvclByb3h5IDogcHVibGlj
IEZyb250ZW5kQ2hhbm5lbCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgZXhwbGljaXQgUGFnZUluc3BlY3RvclByb3h5KFdvcmtlckdsb2JhbFNjb3BlJiB3b3Jr
ZXJHbG9iYWxTY29wZSkKQEAgLTExNSw3ICsxMTYsNiBAQCBXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyOjp+V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpCiAgICAgQVNTRVJUKCFtX2ZvcndhcmRp
bmdDaGFubmVsKTsKIAogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+cmVzZXQoKTsKLSAgICBt
X2FnZW50cy5kaXNjYXJkQWdlbnRzKCk7CiB9CiAKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIFdvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAKICAgICBtX2ZvcndhcmRpbmdD
aGFubmVsID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlSW5zcGVjdG9yUHJveHk+KG1fd29ya2VyR2xv
YmFsU2NvcGUpOwogICAgIG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVuZChtX2Zvcndh
cmRpbmdDaGFubmVsLmdldCgpKTsKLSAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQobV9mb3J3YXJkaW5nQ2hhbm5lbC5nZXQoKSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0
KCkpOworICAgIG1fYWdlbnRzLmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCgmbV9mcm9udGVu
ZFJvdXRlci5nZXQoKSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0KCkpOwogfQogCiB2b2lkIFdv
cmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6OkRp
c2Nvbm5lY3RSZWFzb24gcmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNWJkZTFlMWI3OTY3ZTViNmNlZTVh
YTlmYTc3OTdlMGQ1YjkwMTNkZS4uZDhmMjZlNTM0NDhkMDJkNjBiMTBmNWUyZDNjYjI4YzRkNjRm
Njk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlci5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTQyLDYgKzQzLDcgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgRnJvbnRlbmRDaGFubmVsOwogY2xhc3MgRnJv
bnRlbmRSb3V0ZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VyUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJS
dW50aW1lQWdlbnQuY3BwCmluZGV4IDAzMGVjNTZhY2ZiYzU2NjU0NWFmNjYzOGI3ZDgwZmVjYTQ0
NGMzYzQuLmNjZDhmZWFjZWQ5MTZjNDdlNzE0ZmYxMzY4ZDQxYzU1NTFjOWNmMjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwCkBAIC0xLDUg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUyLDcgKzUz
LDcgQEAgV29ya2VyUnVudGltZUFnZW50OjpXb3JrZXJSdW50aW1lQWdlbnQoSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyJiBpbmplY3RlZFNjcmlwdE1hbmEKIHsKIH0KIAotdm9pZCBXb3JrZXJSdW50aW1l
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hh
bm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQor
dm9pZCBXb3JrZXJSdW50aW1lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFj
a2VuZERpc3BhdGNoZXIpCiB7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6
UnVudGltZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oCmlu
ZGV4IGRkM2U5YWIwODBlM2UwZWQyOGQzNDAwZjZmMWVmMDllNDIzZTE4YzguLjk2ZDlhMGIxY2Q5
ZWE0MzgwMjVjMWI4YTJkMjBlZGQ2YjZlODRjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDMsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgV29y
a2VyUnVudGltZUFnZW50KEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiwgV29ya2Vy
R2xvYmFsU2NvcGUqKTsKICAgICB2aXJ0dWFsIH5Xb3JrZXJSdW50aW1lQWdlbnQoKSB7IH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpG
cm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6
OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIHJ1bihF
cnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlRGVidWdnYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNw
cAppbmRleCAyNDk4M2JlYzRhNzljZTczOGI0M2U5MGUyOGRjMDA1ZTM4YTZiNGFjLi5mZGY0NzA4
OTBiNGVjMGQ3MTJmYjA2N2IyYTIxNDJlMGRlOGZkZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VEZWJ1Z2dhYmxlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEz
LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9y
d2FyZGluZy5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4
IGZiNDAwOGMyMzNmZGEyMzllYjBmNjY3OWNjZWU5NzFiYzZhNzJhMzcuLjlhNDljNThkMjVmYjgw
Nzg5ZjEwYTlkNGJmZGE4YWM3YWEzNGM5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC02OSw3ICs2OSw2IEBACiAjaW5jbHVkZSAiSWNvbkNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVy
LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCkBAIC0xMjAsNiArMTE5LDcgQEAK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Qcm9maWxlLmg+CiAjaW5jbHVkZSA8Ynl0ZWNvZGUv
Q29kZUJsb2NrLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oPgor
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NJbmxp
bmVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+CkBAIC0yMzMsNyArMjMzLDcg
QEAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnREdW1teTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRE
dW1teShJbnNwZWN0b3JDb250cm9sbGVyKgogewogfQogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWxEdW1teSA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3Mg
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsRHVtbXkgOiBwdWJsaWMgRnJvbnRlbmRDaGFubmVsIHsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxEdW1teShQYWdl
Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsRHVtbXkoKSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudElPUy5tbQppbmRleCA2ZDhiMWQ1MmU4ODg0N2EwOTMwZDgzYTIwMmEwYzJkODUwYWMw
MDQ3Li44MWIwNmVhYWVkNzQxNDI2ZWVjYWY3Zjg3OWRiMzU1NWE5NDEyNjljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50SU9TLm1tCkBAIC01NCw3ICs1NCw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjppbnNw
ZWN0b3JEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCi1JbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3Bl
Y3RvckNvbnRyb2xsZXIqKQorSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3Rv
ckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqKQogewog
ICAgIC8vIGlPUyBkb2VzIG5vdCBoYXZlIGEgbG9jYWwgaW5zcGVjdG9yLCB0aGlzIHNob3VsZCBu
b3QgYmUgcmVhY2hlZC4KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXgg
MDFiNGJjOTA0YzczNTcxY2RiNmEzYzkxMzkyMmYzNDhiZTVhZWU2YS4uZDBkNDRhNmFkMTFhMzhi
ZDVhOTRkMjkwYzYyZGVjN2JkYTRkODE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMTUgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcs
NDUgKzI3LDM1IEBACiAgKi8KIAogI2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JDbGllbnQuaD4K
LSNpbXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGluZy5oPgotI2ltcG9ydCA8V2ViQ29y
ZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg+CiAKKyNpbXBvcnQgPFdlYkNvcmUvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oPgorI2ltcG9ydCA8aW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbC5oPgogI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KICNpbXBvcnQgPHd0
Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvdGV4
dC9TdHJpbmdIYXNoLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmZGVm
IF9fT0JKQ19fCi1AY2xhc3MgTlNVUkw7Ci1AY2xhc3MgV2ViSW5zcGVjdG9yUmVtb3RlQ2hhbm5l
bDsKLUBjbGFzcyBXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyOwotQGNsYXNzIFdlYk5vZGVI
aWdobGlnaHRlcjsKLUBjbGFzcyBXZWJWaWV3OwotI2Vsc2UKLWNsYXNzIE5TVVJMOwotY2xhc3Mg
V2ViSW5zcGVjdG9yUmVtb3RlQ2hhbm5lbDsKLWNsYXNzIFdlYkluc3BlY3RvcldpbmRvd0NvbnRy
b2xsZXI7Ci1jbGFzcyBXZWJOb2RlSGlnaGxpZ2h0ZXI7Ci1jbGFzcyBXZWJWaWV3OwotI2VuZGlm
CitPQkpDX0NMQVNTIE5TVVJMOworT0JKQ19DTEFTUyBXZWJJbnNwZWN0b3JSZW1vdGVDaGFubmVs
OworT0JKQ19DTEFTUyBXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyOworT0JKQ19DTEFTUyBX
ZWJOb2RlSGlnaGxpZ2h0ZXI7CitPQkpDX0NMQVNTIFdlYlZpZXc7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKLQogY2xhc3MgRnJhbWU7CiBjbGFzcyBQYWdlOwotCiB9CiAKIGNsYXNzIFdlYkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50OwogCi1jbGFzcyBXZWJJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMg
V2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRl
bmRDaGFubmVsIHsKK2NsYXNzIFdlYkluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpJ
bnNwZWN0b3JDbGllbnQsIHB1YmxpYyBJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCB7CiBwdWJs
aWM6CiAgICAgZXhwbGljaXQgV2ViSW5zcGVjdG9yQ2xpZW50KFdlYlZpZXcgKik7CiAKICAgICB2
aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFs
IFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogb3Blbkluc3BlY3RvckZyb250ZW5k
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIElu
c3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6
SW5zcGVjdG9yQ29udHJvbGxlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZUlu
c3BlY3RvckZyb250ZW5kKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRl
bmRUb0Zyb250KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlc2l6ZU1haW5GcmFt
ZShXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4IDZlNTQ1NmIzMTAz
NWMxMjI5NTI4MjEyZjllNGRkOGM3Y2Q3MmQ0ZjAuLjRkZThjNDBlNzQ5NzJiNTY4YzZjZjNlYjgz
YzUwYjZmNTU4MDg3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAwOCwgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01OCw2ICs1
OCw3IEBACiBTT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJbnNwZWN0b3JVSSwgUHJpdmF0
ZUZyYW1ld29ya3MsIEEpCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKIAogc3RhdGljIGNvbnN0IENHRmxvYXQgbWluaW11bVdpbmRvd1dpZHRo
ID0gNTAwOwogc3RhdGljIGNvbnN0IENHRmxvYXQgbWluaW11bVdpbmRvd0hlaWdodCA9IDQwMDsK
QEAgLTEwNiw3ICsxMDcsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVz
dHJveWVkKCkKICAgICBkZWxldGUgdGhpczsKIH0KIAotSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
KiBXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250
cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQorRnJvbnRlbmRDaGFubmVsKiBXZWJJbnNwZWN0
b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNw
ZWN0b3JDb250cm9sbGVyKQogewogICAgIFJldGFpblB0cjxXZWJJbnNwZWN0b3JXaW5kb3dDb250
cm9sbGVyPiB3aW5kb3dDb250cm9sbGVyID0gYWRvcHROUyhbW1dlYkluc3BlY3RvcldpbmRvd0Nv
bnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoSW5zcGVjdGVkV2ViVmlldzptX3dlYlZpZXcgaXNVbmRl
clRlc3Q6aW5zcGVjdG9yQ29udHJvbGxlci0+aXNVbmRlclRlc3QoKV0pOwogICAgIFt3aW5kb3dD
b250cm9sbGVyLmdldCgpIHNldEluc3BlY3RvckNsaWVudDp0aGlzXTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCmlu
ZGV4IGY4NDVlMjViYTg4Y2VlN2NjZmIwMWYxYzY1Mzg3MWQ2MGUxMTEzNTYuLjM3MTc3NDA4MWYy
YWEwZDM4ZGIwY2M4YWUzZDAwOTExZGNiOThjYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAtNzgsNyAr
NzgsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVzdHJveWVkKCkKICAg
ICBkZWxldGUgdGhpczsKIH0KIAotV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBX
ZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9s
bGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQorSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIFdl
Ykluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xs
ZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCiB7CiAgICAgcmVnaXN0ZXJXaW5kb3dDbGFzcygpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5oCmluZGV4IDk1NjhkYTAzM2ZlNDY0NzdhZmYxM2NiNzM0ODcxYTYzZTAzMDIyY2Yu
Ljk0ZWVjODIxOTgxZWZlMzcxZDAzNWNmNjAxZWM5M2Y5Y2I5MDIwNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxNCBBcHBs
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3
LCAyMDE0LCAyMDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPFdlYkNv
cmUvQ09NUHRyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JDbGllbnQuaD4KLSNpbmNs
dWRlIDxXZWJDb3JlL0luc3BlY3RvckZvcndhcmRpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01l
c3NhZ2VMaXN0ZW5lci5oPgogI2luY2x1ZGUgPHdpbmRvd3MuaD4KQEAgLTQxLDIzICs0MCwyMSBA
QAogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KIGNsYXNzIFBhZ2U7Ci0KIH0KIAogY2xhc3MgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ7
CiBjbGFzcyBXZWJOb2RlSGlnaGxpZ2h0OwogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5z
cGVjdG9yQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudCwgcHVibGljIFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCB7CitjbGFzcyBXZWJJbnNwZWN0b3JDbGll
bnQgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgSW5zcGVjdG9yOjpG
cm9udGVuZENoYW5uZWwgewogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYkluc3BlY3RvckNsaWVu
dChXZWJWaWV3Kik7CiAKICAgICAvLyBJbnNwZWN0b3JDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQg
aW5zcGVjdG9yRGVzdHJveWVkKCk7CiAKLSAgICB2aXJ0dWFsIFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbCogb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNv
bnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBvcGVu
SW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciopOwogICAgIHZp
cnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCk7CiAgICAgdmlydHVhbCB2b2lkIGJy
aW5nRnJvbnRlbmRUb0Zyb250KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCAwMDEyODc5Y2ZhOWM2ZDFiNDVkMjMwODgwY2Uy
MmQ5OGRkYjhhZDI0Li44ZGJmNjYxMDQ0N2Y1NDZjZWY2OWFkZjc5ZDNmOGMyMTZkYzAzZjI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9y
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTQsIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5j
bHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgotI2luY2x1
ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGluZy5oPgorI2luY2x1ZGUgPGluc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtMzcsNyArMzcsNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZTsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDog
cHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlSW5zcGVjdG9y
PiwgcHVibGljIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6SW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBBUEk6Ok9i
amVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZUluc3BlY3Rvcj4sIHB1YmxpYyBJUEM6
OkNvbm5lY3Rpb246OkNsaWVudCwgcHVibGljIEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkluc3BlY3Rvcj4gY3JlYXRlKFdlYlBhZ2UqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3Bl
Y3RvclVJLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9y
VUkuaAppbmRleCA5ZDAzZmMwOWNhZDBlZDNlNzM0MmNkOTIwMWIxMjgwNWEyZmZhNzEzLi43ZDkz
NTEwYmRhZGUxNzNkNmVmNGQ4NTliZWRlNWJiYWYxNmU3NGNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2lu
Y2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGluZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckZy
b250ZW5kSG9zdC5oPgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260674</attachid>
            <date>2015-09-04 21:32:49 -0700</date>
            <delta_ts>2015-09-04 21:32:49 -0700</delta_ts>
            <desc>For EWS (win)</desc>
            <filename>bug-148492-20150904213247.patch</filename>
            <type>text/plain</type>
            <size>99722</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
M2NhNzc2MzJiN2YyM2FhYzlhODVhYjVkMDE2Yjk3ODcxZWI0YzlmLi41OWI5YmUzYWVkNTcyY2Nk
N2Q2MDdlYzNjZDE0MDdlOTc1ZjY2ZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNlbmQgbWVzc2FnZXMgdGhyb3Vn
aCBGcm9udGVuZFJvdXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hhbm5lbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NDkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBGcm9u
dGVuZENoYW5uZWwgd2l0aCBGcm9udGVuZFJvdXRlci4gTWlub3IgY2xlYW51cHMgYWxvbmcgdGhl
IHdheS4gIAorCisgICAgICAgIE1ha2UgQWdlbnRSZWdpc3RyeSBhdXRvbWF0aWNhbGx5IHNpZ25h
bCBkaXNjYXJkQWdlbnQoKSBpbiBpdHMgZGVzdHJ1Y3Rvciwgc2luY2UgaXQgYWx3YXlzCisgICAg
ICAgIGdldHMgZXhlY3V0ZWQgaW4gdGhlIG93bmluZyBjb250cm9sbGVyJ3MgZGVzdHJ1Y3RvciBh
bnl3YXkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAoSW5z
cGVjdG9yOjpBZ2VudFJlZ2lzdHJ5Ojp+QWdlbnRSZWdpc3RyeSk6CisgICAgICAgIChJbnNwZWN0
b3I6OkFnZW50UmVnaXN0cnk6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAg
IChJbnNwZWN0b3I6OkFnZW50UmVnaXN0cnk6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KToKKyAgICAgICAgKEluc3BlY3Rvcjo6QWdlbnRSZWdpc3RyeTo6ZGlzY2FyZEFnZW50cyk6IERl
bGV0ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5jcHA6CisgICAgICAgIChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyOjpsZWFrQ2hhbm5lbCk6IERlbGV0ZWQsIG5vIGxvbmdlciBu
ZWNlc3NhcnkuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg6
CisgICAgICAgICogaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKEluc3BlY3Rv
cjo6SlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgor
ICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6OmFw
cGVuZEV4dHJhQWdlbnQpOgorICAgICAgICAoSW5zcGVjdG9yOjpKU0dsb2JhbE9iamVjdEluc3Bl
Y3RvckNvbnRyb2xsZXI6On5KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKElu
c3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQp
OgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAg
ICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVu
dGltZUFnZW50LmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RSdW50aW1l
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9y
L2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9hdWdtZW50YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZS5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weToKKyAg
ICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rp
c3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBCYWNrZW5kRGlzcGF0Y2hl
ckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6CisgICAgICAgICogaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3Iu
Z2VuZXJhdGVfb3V0cHV0LkZyb250ZW5kUm91dGVyKToKKyAgICAgICAgKENwcEZyb250ZW5kRGlz
cGF0Y2hlckhlYWRlckdlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1w
bGVtZW50YXRpb24ucHk6CisgICAgICAgIChDcHBGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1lbnRh
dGlvbkdlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQpOgorICAgICAgICAoQ3BwRnJvbnRlbmREaXNw
YXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IuX2dlbmVyYXRlX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb25fZm9yX2V2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2Vu
L2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAg
ICAgICAoT2JqQ0NvbmZpZ3VyYXRpb25JbXBsZW1lbnRhdGlvbkdlbmVyYXRvci5nZW5lcmF0ZV9v
dXRwdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2Jq
Y19mcm9udGVuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5OgorICAgICAgICAoT2JqQ0Zy
b250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yLmdlbmVyYXRlX291dHB1dCk6
CisKIDIwMTUtMDktMDQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IFJvbGxvdXQgcjE4OTQxMSwgcjE4OTQxMzogQnJva2UgSlNDIHRlc3RzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDhhNzk3ZWYzYmMxNjEzMDk5MTFiY2M3YWE5MmRiN2MxNjFiOTc4MTYuLjI0NTQ4ZTViNTVhMDg1
ZWQ3ZmJlZTRlOTY4YWY0ZjA1MmQ0NDBkZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MyBAQAor
MjAxNS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNlbmQgbWVzc2FnZXMgdGhyb3VnaCBGcm9udGVuZFJv
dXRlciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hhbm5lbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NDkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9z
ZXBoIFBlY29yYXJvLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBGcm9udGVuZENoYW5uZWwg
d2l0aCBGcm9udGVuZFJvdXRlci4gTWlub3IgY29kZSBjbGVhbnVwIGFsb25nIHRoZSB3YXkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VkLgorCisgICAgICAgICog
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NT
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvckNTU0FnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVj
dEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6On5JbnNw
ZWN0b3JDb250cm9sbGVyKTogTm8gbmVlZCB0byBjYWxsIGRpc2NhcmRBZ2VudHMoKS4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yRE9NQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
RE9NRGVidWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JEYXRhYmFzZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZvcndhcmRpbmcuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5kZXhlZERCQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckxheWVyVHJlZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
UGFnZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
UmVwbGF5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVwbGF5QWdlbnQ6
OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvclJlcGxheUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENy
ZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViQWdlbnRCYXNl
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VSdW50aW1lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlclJ1
bnRpbWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJSdW50aW1lQWdlbnQ6OmRp
ZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlclJ1
bnRpbWVBZ2VudC5oOgorICAgICAgICAqIHBhZ2UvUGFnZURlYnVnZ2FibGUuY3BwOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKwogMjAxNS0wOS0wNCAgSm9zZXBoIFBlY29yYXJv
ICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCB0ZXN0
cyBmb3IgRE9NIGhpZ2hsaWdodCBjb21tYW5kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDcyYjlhZWRj
MTg3NGZiN2VjNmY4MWExN2Y0ZTRhNjgxMzg3MDFhZWMuLjY4MGMwZjM3NzZhNGE0MDk5YWY3MTJm
YmM5ZDMxZDdlYTMzZTUzYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
NS0wOS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBhZ2VudHMgc2hvdWxkIHNlbmQgbWVzc2FnZXMgdGhyb3VnaCBGcm9udGVuZFJvdXRl
ciBpbnN0ZWFkIG9mIEZyb250ZW5kQ2hhbm5lbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NDkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBo
IFBlY29yYXJvLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
Lmg6IENsZWFuIHVwIHRoZSBmb3J3YXJkIGRlY2xhcmF0aW9ucywgZG9uJ3QgdXNlIEluc3BlY3Rv
ckZvcndhcmRpbmcuaC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQubW06CisgICAgICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVu
ZCk6CisKIDIwMTUtMDktMDQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgY29tcGlsZXIgZ3VhcmRzIGZyb20gbW0gZmls
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwppbmRleCA5MGU3ZGEyOGJkNjlkMTEzMDc0N2VmZDYxMThhNjE5MDhm
YmI1MzBkLi5iOGFkOThhMjk4OGVjMjY1OWYxZTI3Nzk1ZWFlYzZhMWM3MjQ4NWU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMTUtMDktMDQgIEJyaWFuIEJ1cmcgIDxiYnVy
Z0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWdlbnRzIHNob3VsZCBzZW5k
IG1lc3NhZ2VzIHRocm91Z2ggRnJvbnRlbmRSb3V0ZXIgaW5zdGVhZCBvZiBGcm9udGVuZENoYW5u
ZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODQ5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICBTdG9w
IHVzaW5nIEluc3BlY3RvckZvcndhcmRpbmcuaC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkluc3BlY3RvckNsaWVudC5oOgorCisyMDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdA
YXBwbGUuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvckNvbnRyb2xsZXIg
c2hvdWxkIHN1cHBvcnQgbXVsdGlwbGUgZnJvbnRlbmQgY2hhbm5lbHMKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODUzOAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
Mzc0ZDJkNmRiNTEyYWZmY2QwNDFiMmZkOWJiMDg2ZmY1OGU0OTIzMC4uOTJjMmM3YmZiZDM2MjE4
ZjRmNDMzZWY0ZGZhNTgxNTViYzkyZGUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAy
MDE1LTA5LTA0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGFnZW50cyBzaG91bGQgc2VuZCBtZXNzYWdlcyB0aHJvdWdoIEZyb250ZW5kUm91
dGVyIGluc3RlYWQgb2YgRnJvbnRlbmRDaGFubmVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg0OTIKKworICAgICAgICBSZXZpZXdlZCBieSBKb3Nl
cGggUGVjb3Jhcm8uCisKKyAgICAgICAgU3RvcCB1c2luZyBJbnNwZWN0b3JGb3J3YXJkaW5nLmgu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmg6CisKKzIwMTUtMDktMDQgIEJy
aWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW5z
cGVjdG9yQ29udHJvbGxlciBzaG91bGQgc3VwcG9ydCBtdWx0aXBsZSBmcm9udGVuZCBjaGFubmVs
cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NTM4
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QWdlbnRCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50QmFzZS5oCmluZGV4IDYzNDA0Y2Y1NDI1NGFkNmEzZWFhMWE1ZjI3YzQ5YjkxNzcyYzg1MTQu
LmY0YWViMDdlOTgyZTgzYzkwZDJmOTYyMmYxZDljZTg1NjI1ZjU5OWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzIsNyArMzIsNyBAQAogbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIGNsYXNzIEJhY2tlbmREaXNwYXRjaGVyOwotY2xhc3MgRnJv
bnRlbmRDaGFubmVsOworY2xhc3MgRnJvbnRlbmRSb3V0ZXI7CiAKIGVudW0gY2xhc3MgRGlzY29u
bmVjdFJlYXNvbiB7CiAgICAgSW5zcGVjdGVkVGFyZ2V0RGVzdHJveWVkLApAQCAtNDUsNyArNDUs
NyBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgZG9tYWluTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bmFtZTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChG
cm9udGVuZENoYW5uZWwqLCBCYWNrZW5kRGlzcGF0Y2hlciopID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFja2VuZERp
c3BhdGNoZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRC
YWNrZW5kKERpc2Nvbm5lY3RSZWFzb24pID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzY2FyZEFn
ZW50KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwCmluZGV4IGJjYzA5ODgyMTRhNjFkZjFlYTY3
MzQzZDUzMjI2MTUyNWU3ZWY0MzkuLjM1YzM0YjNmZjFlNzllOTEwZWIzNGU0Yjk5YWM4YmUyMGY0
MjA1MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQWdlbnRSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dApAQCAtMzUsNiArMzUsMTQgQEAgQWdlbnRSZWdpc3RyeTo6QWdlbnRSZWdpc3Ry
eSgpCiB7CiB9CiAKK0FnZW50UmVnaXN0cnk6On5BZ2VudFJlZ2lzdHJ5KCkKK3sKKyAgICAvLyBB
bGxvdyBhZ2VudHMgdG8gcmVtb3ZlIGNyb3NzLXJlZmVyZW5jZXMgdG8gb3RoZXIgYWdlbnRzIHRo
YXQgd291bGQgb3RoZXJ3aXNlCisgICAgLy8gbWFrZSBpdCBkaWZmaWN1bHQgdG8gZXN0YWJsaXNo
IGEgY29ycmVjdCBkZXN0cnVjdGlvbiBvcmRlciBmb3IgYWxsIGFnZW50cy4KKyAgICBmb3IgKGF1
dG8mIGFnZW50IDogbV9hZ2VudHMpCisgICAgICAgIGFnZW50LT5kaXNjYXJkQWdlbnQoKTsgICAg
Cit9CisKIHZvaWQgQWdlbnRSZWdpc3RyeTo6YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0
b3JBZ2VudEJhc2U+IGFnZW50KQogewogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoYWdl
bnQpKTsKQEAgLTQ5LDIyICs1NywxNiBAQCB2b2lkIEFnZW50UmVnaXN0cnk6OmFwcGVuZEV4dHJh
QWdlbnQoc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvckFnZW50QmFzZT4gYWdlbnQpCiB9CiAjZW5k
aWYKIAotdm9pZCBBZ2VudFJlZ2lzdHJ5OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJv
bnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5k
RGlzcGF0Y2hlcikKK3ZvaWQgQWdlbnRSZWdpc3RyeTo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgQmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQogewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9hZ2VudHMu
c2l6ZSgpOyBpKyspCi0gICAgICAgIG1fYWdlbnRzW2ldLT5kaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoZnJvbnRlbmRDaGFubmVsLCBiYWNrZW5kRGlzcGF0Y2hlcik7CisgICAgZm9yIChhdXRv
JiBhZ2VudCA6IG1fYWdlbnRzKQorICAgICAgICBhZ2VudC0+ZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKGZyb250ZW5kUm91dGVyLCBiYWNrZW5kRGlzcGF0Y2hlcik7CiB9CiAKIHZvaWQgQWdl
bnRSZWdpc3RyeTo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNv
biByZWFzb24pCiB7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2FnZW50cy5zaXplKCk7
IGkrKykKLSAgICAgICAgbV9hZ2VudHNbaV0tPndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KHJlYXNvbik7Ci19Ci0KLXZvaWQgQWdlbnRSZWdpc3RyeTo6ZGlzY2FyZEFnZW50cygpCi17Ci0g
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2FnZW50cy5zaXplKCk7IGkrKykKLSAgICAgICAg
bV9hZ2VudHNbaV0tPmRpc2NhcmRBZ2VudCgpOworICAgIGZvciAoYXV0byYgYWdlbnQgOiBtX2Fn
ZW50cykKKyAgICAgICAgYWdlbnQtPndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKHJlYXNv
bik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaAppbmRleCA5
NjJmMDA2ZGY3MjcxM2MyZDk0N2ZlODc1Nzk0Yzg3OTgwOTU2YzQ3Li42MWFlOWEwY2EzOGY3Nzli
MTliM2U5ZmNiN2I5YjE1NTVhOTk3NDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIElu
c3BlY3RvciB7CiAKIGNsYXNzIEJhY2tlbmREaXNwYXRjaGVyOwotY2xhc3MgRnJvbnRlbmRDaGFu
bmVsOworY2xhc3MgRnJvbnRlbmRSb3V0ZXI7CiBjbGFzcyBJbnNwZWN0b3JBZ2VudEJhc2U7CiAK
IGVudW0gY2xhc3MgRGlzY29ubmVjdFJlYXNvbjsKQEAgLTQxLDEyICs0MSwxMiBAQCBlbnVtIGNs
YXNzIERpc2Nvbm5lY3RSZWFzb247CiBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBBZ2VudFJlZ2lz
dHJ5IHsKIHB1YmxpYzoKICAgICBBZ2VudFJlZ2lzdHJ5KCk7CisgICAgfkFnZW50UmVnaXN0cnko
KTsKIAogICAgIHZvaWQgYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JBZ2VudEJhc2U+
KTsKIAotICAgIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5l
bCosIEJhY2tlbmREaXNwYXRjaGVyKik7CisgICAgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoRnJvbnRlbmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hlciopOwogICAgIHZvaWQgd2ls
bERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbik7Ci0gICAgdm9pZCBk
aXNjYXJkQWdlbnRzKCk7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRD
SEVSUykKICAgICB2b2lkIGFwcGVuZEV4dHJhQWdlbnQoc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rv
ckFnZW50QmFzZT4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcAppbmRleCAwOTM2YjQxMTFj
MjQxMzM0ZDc0OWMyMjQxZDNiNmMxNDUxODY5MDdkLi45ZjBiMDNlNjhhZTNkY2ZiOTljMDZmMWY0
NmU3ZGYxODgzODU4ODY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcApAQCAtMjcsNyAr
MjcsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmgiCiAKLSNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZFJvdXRlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZh
bHVlcy5oIgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRl
ci5jcHAKaW5kZXggMjg3YTY3OGE2NWVmYmViNjBmNWZkZDhiM2MxMjI5NWZkZDZlZDMxMC4uNjVm
ODUyNWEyZTg4M2E5ZTFlYWEzYTMzNTZiMjE2ZDJlMDMzM2QwNSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRlci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZFJvdXRl
ci5jcHAKQEAgLTY1LDE1ICs2NSw2IEBAIHZvaWQgRnJvbnRlbmRSb3V0ZXI6OmRpc2Nvbm5lY3RB
bGxGcm9udGVuZHMoKQogICAgIG1fY29ubmVjdGlvbnMuY2xlYXIoKTsKIH0KIAotLy8gRklYTUU6
IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDg0OTI+IHJlbW92ZSB0aGlzIG1ldGhvZCBvbmNlIGFn
ZW50cyBtb3ZlIHRvIHVzaW5nIEZyb250ZW5kUm91dGVyIGRpcmVjdGx5LgotRnJvbnRlbmRDaGFu
bmVsKiBGcm9udGVuZFJvdXRlcjo6bGVha0NoYW5uZWwoKSBjb25zdAotewotICAgIGlmIChtX2Nv
bm5lY3Rpb25zLnNpemUoKSkKLSAgICAgICAgcmV0dXJuIG1fY29ubmVjdGlvbnMuYXQoMCk7Ci0K
LSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQogYm9vbCBGcm9udGVuZFJvdXRlcjo6aGFzTG9jYWxG
cm9udGVuZCgpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvKiBjb25uZWN0aW9uIDogbV9jb25uZWN0
aW9ucykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZFJvdXRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZFJvdXRlci5oCmluZGV4IDRhNjQxMWJlYzQyNjU3NzAwNWQyODliZDQz
M2RiMGEwMzgyMzM5YmEuLjQ5Yjk1ODNlNDcwYWI2OGM3ZTU0OGZiYTNmMmM0MThhMWRlOWJlNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRSb3V0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kUm91dGVyLmgKQEAgLTQ1LDkgKzQ1LDYgQEAgcHVibGljOgogICAgIHZvaWQg
ZGlzY29ubmVjdEZyb250ZW5kKEZyb250ZW5kQ2hhbm5lbCopOwogICAgIHZvaWQgZGlzY29ubmVj
dEFsbEZyb250ZW5kcygpOwogCi0gICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8x
NDg0OTI+IHJlbW92ZSB0aGlzIG1ldGhvZCBvbmNlIGFnZW50cyBtb3ZlIHRvIHVzaW5nIEZyb250
ZW5kUm91dGVyIGRpcmVjdGx5LgotICAgIEZyb250ZW5kQ2hhbm5lbCogbGVha0NoYW5uZWwoKSBj
b25zdDsKLQogICAgIHZvaWQgc2VuZEV2ZW50KGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgY29uc3Q7
CiAgICAgdm9pZCBzZW5kUmVzcG9uc2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBjb25zdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVj
dEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDMzNTBmYzBkMTg5
NTFmMDgyZmE3OTcxMTIwN2E1YjI4MDdlZjRjYWMuLmRiZDJlNzZjNmExNjE2ZWM0MGI5ODIzNmNh
NjlmMGVmYzhkNGMyMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTY0LDE0ICs2NCw5IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogSlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyOjpKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIoSlNH
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKICAgICA6IG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9i
amVjdCkKICAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKHN0ZDo6bWFrZV91bmlxdWU8SW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyPigqdGhpcywgSW5qZWN0ZWRTY3JpcHRIb3N0OjpjcmVhdGUoKSkp
CisgICAgLCBtX2V4ZWN1dGlvblN0b3B3YXRjaChTdG9wd2F0Y2g6OmNyZWF0ZSgpKQogICAgICwg
bV9mcm9udGVuZFJvdXRlcihGcm9udGVuZFJvdXRlcjo6Y3JlYXRlKCkpCiAgICAgLCBtX2JhY2tl
bmREaXNwYXRjaGVyKEJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUobV9mcm9udGVuZFJvdXRlci5j
b3B5UmVmKCkpKQotICAgICwgbV9leGVjdXRpb25TdG9wd2F0Y2goU3RvcHdhdGNoOjpjcmVhdGUo
KSkKLSAgICAsIG1faW5jbHVkZU5hdGl2ZUNhbGxTdGFja1dpdGhFeGNlcHRpb25zKHRydWUpCi0g
ICAgLCBtX2lzQXV0b21hdGljSW5zcGVjdGlvbihmYWxzZSkKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSUykKLSAgICAsIG1fYXVnbWVudGluZ0NsaWVudChudWxscHRy
KQotI2VuZGlmCiB7CiAgICAgYXV0byBpbnNwZWN0b3JBZ2VudCA9IHN0ZDo6bWFrZV91bmlxdWU8
SW5zcGVjdG9yQWdlbnQ+KCp0aGlzKTsKICAgICBhdXRvIHJ1bnRpbWVBZ2VudCA9IHN0ZDo6bWFr
ZV91bmlxdWU8SlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQ+KCptX2luamVjdGVkU2NyaXB0TWFu
YWdlciwgbV9nbG9iYWxPYmplY3QpOwpAQCAtOTUsNyArOTAsNiBAQCBKU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXI6OkpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcihKU0ds
b2JhbE9iagogCiBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6On5KU0dsb2JhbE9i
amVjdEluc3BlY3RvckNvbnRyb2xsZXIoKQogewotICAgIG1fYWdlbnRzLmRpc2NhcmRBZ2VudHMo
KTsKIH0KIAogdm9pZCBKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXI6Omdsb2JhbE9i
amVjdERlc3Ryb3llZCgpCkBAIC0xMTcsNyArMTExLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZChGcm9udGVuZENoYW5uZWwqIGZyb250
ZW4KICAgICBpZiAoIWNvbm5lY3RlZEZpcnN0RnJvbnRlbmQpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIG1fYWdlbnRzLmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChmcm9udGVuZENoYW5uZWws
ICZtX2JhY2tlbmREaXNwYXRjaGVyLmdldCgpKTsKKyAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoJm1fZnJvbnRlbmRSb3V0ZXIuZ2V0KCksICZtX2JhY2tlbmREaXNwYXRj
aGVyLmdldCgpKTsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJT
KQogICAgIG1faW5zcGVjdG9yQWdlbnQtPmFjdGl2YXRlRXh0cmFEb21haW5zKG1fYWdlbnRzLmV4
dHJhRG9tYWlucygpKTsKQEAgLTI3Nyw3ICsyNzEsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0SW5z
cGVjdG9yQ29udHJvbGxlcjo6YXBwZW5kRXh0cmFBZ2VudChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVj
dAogewogICAgIFN0cmluZyBkb21haW5OYW1lID0gYWdlbnQtPmRvbWFpbk5hbWUoKTsKIAotICAg
IGFnZW50LT5kaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQobV9mcm9udGVuZFJvdXRlci0+bGVh
a0NoYW5uZWwoKSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0KCkpOworICAgIGFnZW50LT5kaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoJm1fZnJvbnRlbmRSb3V0ZXIuZ2V0KCksICZtX2JhY2tl
bmREaXNwYXRjaGVyLmdldCgpKTsKIAogICAgIG1fYWdlbnRzLmFwcGVuZEV4dHJhQWdlbnQoV1RG
Ojptb3ZlKGFnZW50KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCmlu
ZGV4IGFhZTMyZTNjODk5M2JmNzA3ZTY2YjdmNTIwNTgyMzJhNzNhNzM5NzEuLmUxMTMwODVkNWNj
OThkYjg1MmY4NWQzZDZhZDM5YWRiMTk0NDQxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMTEyLDE4ICsxMTIsMjEgQEAgcHJpdmF0ZToKICAgICBKU0M6OkpTR2xv
YmFsT2JqZWN0JiBtX2dsb2JhbE9iamVjdDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyPiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8SlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50PiBtX2NvbnNvbGVDbGllbnQ7Ci0gICAgSW5z
cGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7Ci0gICAgSW5zcGVjdG9yQ29uc29sZUFnZW50
KiBtX2NvbnNvbGVBZ2VudDsKLSAgICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBtX2RlYnVnZ2Vy
QWdlbnQ7CisgICAgUmVmPFdURjo6U3RvcHdhdGNoPiBtX2V4ZWN1dGlvblN0b3B3YXRjaDsKKwog
ICAgIEFnZW50UmVnaXN0cnkgbV9hZ2VudHM7CisgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVj
dG9yQWdlbnQgeyBudWxscHRyIH07CisgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNv
bGVBZ2VudCB7IG51bGxwdHIgfTsKKyAgICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBtX2RlYnVn
Z2VyQWdlbnQgeyBudWxscHRyIH07CisKICAgICBSZWY8RnJvbnRlbmRSb3V0ZXI+IG1fZnJvbnRl
bmRSb3V0ZXI7CiAgICAgUmVmPEJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNwYXRjaGVy
OwotICAgIFJlZjxXVEY6OlN0b3B3YXRjaD4gbV9leGVjdXRpb25TdG9wd2F0Y2g7Ci0gICAgYm9v
bCBtX2luY2x1ZGVOYXRpdmVDYWxsU3RhY2tXaXRoRXhjZXB0aW9uczsKLSAgICBib29sIG1faXNB
dXRvbWF0aWNJbnNwZWN0aW9uOworCisgICAgYm9vbCBtX2luY2x1ZGVOYXRpdmVDYWxsU3RhY2tX
aXRoRXhjZXB0aW9ucyB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzQXV0b21hdGljSW5zcGVjdGlv
biB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UykKLSAgICBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGllbnQqIG1fYXVnbWVudGlu
Z0NsaWVudDsKKyAgICBBdWdtZW50YWJsZUluc3BlY3RvckNvbnRyb2xsZXJDbGllbnQqIG1fYXVn
bWVudGluZ0NsaWVudCB7IG51bGxwdHIgfTsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3Bw
CmluZGV4IDg2MjI0YmE2YmI2M2I0OTVlZGFhMDY2YzI3ZmM0M2FjNzY4MGU2OTEuLjU3ZmU1YWFm
ZGNiMTNhZjU3MzQxYzZkMTY1YjUyZTlmZDhmNjJjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAKQEAg
LTQ4LDkgKzQ4LDkgQEAgSW5zcGVjdG9yQWdlbnQ6On5JbnNwZWN0b3JBZ2VudCgpCiB7CiB9CiAK
LXZvaWQgSW5zcGVjdG9yQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVu
ZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgQmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNw
YXRjaGVyKQordm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgQmFja2VuZERpc3BhdGNoZXIqIGJhY2tl
bmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3Vu
aXF1ZTxJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAg
bV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckZyb250ZW5k
RGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlz
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckFnZW50LmgKaW5kZXggYjcxZjFjZWNmZmMyYzNkOWJjZjBkMzk3ODIzYTUz
M2ZmNjM0OWZlYi4uMWU4ZmI2OTBlYjU1ZmZiY2U0NWQwMTE4Yjk1YzQ0ZGI2MDcxMDlmZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
QWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JBZ2VudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywg
MjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDctMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogICAgIEluc3BlY3Rv
ckFnZW50KEluc3BlY3RvckVudmlyb25tZW50Jik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQWdl
bnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJv
bnRlbmRDaGFubmVsKiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiwgQmFja2Vu
ZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9u
dGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFs
IHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmNwcAppbmRleCAxZjFkOWIxYmEwNDc2NzNhNmQwODE0Nzk1NTE1M2IwMDBkMzAxOGFk
Li42NDljMDI5YTRkNzBkNTI1ZDA4Y2RlODBjZmE3MjMyMDEwMzJhNDYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKQEAgLTUzLDkgKzUzLDkgQEAgSW5zcGVjdG9yQ29uc29sZUFnZW50Ojp+SW5zcGVjdG9yQ29u
c29sZUFnZW50KCkKIHsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgQmFj
a2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JDb25zb2xl
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRl
bmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBt
X2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29uc29sZUZyb250ZW5kRGlz
cGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0
ZDo6bWFrZV91bmlxdWU8Q29uc29sZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIp
OwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBDb25zb2xlQmFja2VuZERpc3BhdGNoZXI6OmNy
ZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmgKaW5kZXggYjIzZDZmNDZhYTkxOTgxNzVmZTQ3NTVkZTk4NTk0NzI2NzM5NjdjYS4uZDEy
MTQ3ZTI2ZjAxMzUxNDcxZWJmNTczOGY1OTVhY2Q0ODFiMDZjNyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29u
c29sZUFnZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKiBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01NSw3ICs1
NSw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyJik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kQ2hhbm5lbCos
IEJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciosIEJhY2tlbmREaXNwYXRjaGVyKikg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5k
KERpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShF
cnJvclN0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApp
bmRleCBhY2FjMTcwYTQwMzE1MTAwYzE2MzI3ODk1ZmI3NDljZjkwZmM3YTk1Li42ODUzNjcwYTdh
MGZhZDQ1ZGJlMmUzYTY0YWUwMmNhZWMyNWUyYmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEw
LTIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCwgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAsIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjksOSArNjksOSBAQCBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50Ojp+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpCiB7CiB9CiAKLXZvaWQgSW5z
cGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5k
Q2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3Bh
dGNoZXIpCit2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEJhY2tlbmREaXNwYXRjaGVy
KiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6
bWFrZV91bmlxdWU8RGVidWdnZXJGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7
CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPERlYnVnZ2VyRnJv
bnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hl
ciA9IERlYnVnZ2VyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwg
dGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCAwMGI2MmM4Yzdk
MTgzMzU0M2FmM2NjZTJmZTEwYzFhYjlmMjk2YTBmLi44ZDE5NDI1MWYxNTA4MzI3OTEzOWJjMzdj
OTY3ZGMyODJiOTAwY2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC0xLDYg
KzEsNiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzLCAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkluc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVu
ZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5k
Um91dGVyKiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQg
d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7
CiAKICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9i
amVjdFJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggZWRhYmJlMjNlYWEwYjFl
ZmUzNDYwZGJjNzMyY2IyY2ZiYjVhNDY0ZC4uMGUwNDVmNDBmMzBhZmY1MGIxNzQxYTIxYjdjZDZm
ZWFiMDU5ZTQwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
NDAsOSArNDAsOSBAQCBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudDo6SlNHbG9iYWxPYmplY3RS
dW50aW1lQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiBpbgogewogfQogCi12b2lkIEpTR2xv
YmFsT2JqZWN0UnVudGltZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRl
bmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlz
cGF0Y2hlcikKK3ZvaWQgSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQ6OmRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZChGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEJhY2tlbmREaXNw
YXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9
IHN0ZDo6bWFrZV91bmlxdWU8UnVudGltZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFu
bmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8UnVudGlt
ZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3Bh
dGNoZXIgPSBSdW50aW1lQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hl
ciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oCmluZGV4
IGVlMGE0NWQ2NjQxYzY1YTBlYmZmOTA1NTljOTgyM2FhMDE4NWE2NDIuLjkxN2ZkZWI5NWQ4YTBl
MTNhZTgzMTBkZGQ4MmY0MDRlNzBjODBkNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50
aW1lQWdlbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2Vu
dCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JSdW50aW1lQWdlbnQgewogcHVibGljOgogICAgIEpT
R2xvYmFsT2JqZWN0UnVudGltZUFnZW50KEluamVjdGVkU2NyaXB0TWFuYWdlciYsIEpTQzo6SlNH
bG9iYWxPYmplY3QmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoRnJvbnRlbmRDaGFubmVsKiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVy
KiwgQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERl
c3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAg
ICB2aXJ0dWFsIEpTQzo6Vk0mIGdsb2JhbFZNKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2F1Z21lbnRhYmxlL0FsdGVybmF0ZURpc3BhdGNo
YWJsZUFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2F1Z21lbnRhYmxl
L0FsdGVybmF0ZURpc3BhdGNoYWJsZUFnZW50LmgKaW5kZXggNWZmMDM1MzU4NGJkZTJlOTkyYzhi
MDA5ZGIzOTZkYmI2YTY1MjViNS4uY2E0NmYxMjVhZTMxZTU0YzQ1OWIwYjgxNjE3OGVkZmYxZjRh
NTQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hdWdtZW50
YWJsZS9BbHRlcm5hdGVEaXNwYXRjaGFibGVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYXVnbWVudGFibGUvQWx0ZXJuYXRlRGlzcGF0Y2hhYmxlQWdlbnQuaApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
NDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBk
aWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRDaGFubmVsKiwgQmFja2VuZERpc3Bh
dGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKSBvdmVycmlkZQorICAgIHZpcnR1YWwgdm9pZCBkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoRnJvbnRlbmRSb3V0ZXIqLCBCYWNrZW5kRGlzcGF0Y2hl
ciogYmFja2VuZERpc3BhdGNoZXIpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBtX2JhY2tlbmRE
aXNwYXRjaGVyID0gVEJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIs
IG51bGxwdHIpOwogICAgICAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5zZXRBbHRlcm5hdGVEaXNw
YXRjaGVyKG1fYWx0ZXJuYXRlRGlzcGF0Y2hlci5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3Bl
Y3RvckRlYnVnZ2FibGUuY3BwCmluZGV4IGFjODNhMThlOTU5OTViMWMzNTg2ZmE3ODYxMDcxZmNj
NGU1ZWI4MzkuLmQ5YjgyZWI0YzA3OWQxNmRiNTgyODJhMmYwNDA4MDNkMDI1Y2Q4NWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3Bl
Y3RvckRlYnVnZ2FibGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYg
RU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAKICNpbmNsdWRlICJFdmVudExvb3AuaCIKLSNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKICNpbmNsdWRlICJSZW1vdGVJbnNwZWN0
b3IuaCIKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRl
cy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2Nw
cF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CmluZGV4IDc1MDcxYzZkMTVhNTlkMjA1OTViMmMzNDgw
Njk1ZTI1NDI4ZjM4ODEuLjlhZjlkZGFmODRkZjIxZTZlZjcyNjcwMTkzOWY0MzU4YTdhZWVjYjQg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2Rl
Z2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CkBA
IC0yMDQsMTAgKzIwNCwxMCBAQCAke291dFBhcmFtZXRlckFzc2lnbm1lbnRzfQogICAgIEZyb250
ZW5kRGlzcGF0Y2hlckRvbWFpbkRpc3BhdGNoZXJEZWNsYXJhdGlvbiA9ICgKICIiIiR7Y2xhc3NB
bmRFeHBvcnRNYWNyb30gJHtkb21haW5OYW1lfUZyb250ZW5kRGlzcGF0Y2hlciB7CiBwdWJsaWM6
Ci0gICAgJHtkb21haW5OYW1lfUZyb250ZW5kRGlzcGF0Y2hlcihGcm9udGVuZENoYW5uZWwqIGZy
b250ZW5kQ2hhbm5lbCkgOiBtX2Zyb250ZW5kQ2hhbm5lbChmcm9udGVuZENoYW5uZWwpIHsgfQor
ICAgICR7ZG9tYWluTmFtZX1Gcm9udGVuZERpc3BhdGNoZXIoRnJvbnRlbmRSb3V0ZXIqIGZyb250
ZW5kUm91dGVyKSA6IG1fZnJvbnRlbmRSb3V0ZXIoZnJvbnRlbmRSb3V0ZXIpIHsgfQogJHtldmVu
dERlY2xhcmF0aW9uc30KIHByaXZhdGU6Ci0gICAgRnJvbnRlbmRDaGFubmVsKiBtX2Zyb250ZW5k
Q2hhbm5lbDsKKyAgICBGcm9udGVuZFJvdXRlciogbV9mcm9udGVuZFJvdXRlcjsKIH07IiIiKQog
CiAgICAgUHJvdG9jb2xPYmplY3RCdWlsZGVyRGVjbGFyYXRpb25QcmVsdWRlID0gKApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2Vu
ZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNr
ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKaW5kZXggYjM2YzBiMTNjMDhkOTExMTI5
NDY0N2I2Yjg2ZGJkYmUyOGJmZDczNS4uY2JiYmMwZWY0NmM2ZWM3ODI3OTcwNGQ0NmVhNjg0MDgy
YTMxOTEyMSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlv
bi5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CkBAIC00
OSw3ICs0OSw2IEBAIGNsYXNzIENwcEJhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5l
cmF0b3IoR2VuZXJhdG9yKToKIAogICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2VsZik6CiAgICAg
ICAgIHNlY29uZGFyeV9oZWFkZXJzID0gWwotICAgICAgICAgICAgJzxpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsLmg+JywKICAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kUm91dGVyLmg+JywKICAgICAgICAgICAgICc8aW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5oPicsCiAgICAgICAgICAgICAnPHd0Zi9OZXZlckRlc3Ryb3llZC5oPicsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5l
cmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlz
cGF0Y2hlcl9oZWFkZXIucHkKaW5kZXggZmYwOWFiMzliMGEzNjkzYTY3NGIwYzZjNGZmMTY1Y2Zm
ZGI3ZDA0Mi4uNThhM2NiOTI1NTE3YTUzYjA1NWQ1MDM3NjhjODg3MzZmYTg3YTVhZCAxMDA3NTUK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2Vu
ZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVu
ZF9kaXNwYXRjaGVyX2hlYWRlci5weQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHB5
dGhvbgogIwotIyBDb3B5cmlnaHQgKGMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorIyBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogIyBDb3B5cmlnaHQgKGMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTUxLDE0ICs1MSwxMyBAQCBj
bGFzcyBDcHBGcm9udGVuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IoR2VuZXJhdG9yKToKICAg
ICBkZWYgZ2VuZXJhdGVfb3V0cHV0KHNlbGYpOgogICAgICAgICBoZWFkZXJzID0gWwogICAgICAg
ICAgICAgJyJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCInLAotICAgICAgICAgICAgJzxpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+JywKICAgICAgICAgICAgICc8aW5zcGVj
dG9yL0luc3BlY3RvclZhbHVlcy5oPicsCiAgICAgICAgICAgICAnPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPiddCiAKICAgICAgICAgaGVhZGVyX2FyZ3MgPSB7CiAgICAgICAgICAgICAnaGVhZGVyR3Vh
cmRTdHJpbmcnOiByZS5zdWIoJ1xXKycsICdfJywgc2VsZi5vdXRwdXRfZmlsZW5hbWUoKSksCiAg
ICAgICAgICAgICAnaW5jbHVkZXMnOiAnXG4nLmpvaW4oWycjaW5jbHVkZSAnICsgaGVhZGVyIGZv
ciBoZWFkZXIgaW4gaGVhZGVyc10pLAotICAgICAgICAgICAgJ3R5cGVkZWZzJzogJycsCisgICAg
ICAgICAgICAndHlwZWRlZnMnOiAnY2xhc3MgRnJvbnRlbmRSb3V0ZXI7JywKICAgICAgICAgfQog
CiAgICAgICAgIHNlY3Rpb25zID0gW10KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRj
aGVyX2ltcGxlbWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50
YXRpb24ucHkKaW5kZXggNzk4MTU3YTA2MDg5ZTUyMzI4NWMzZDRiZjFmYTBhZDcxMTE2ZWIzZS4u
ZGU0NGY5YTFiOGI1YmZjYTFmOTA2OGM4NGViYmI5NTdkNzRhMWJjOSAxMDA3NTUKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3Bw
X2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5k
X2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmlu
L2VudiBweXRob24KICMKLSMgQ29weXJpZ2h0IChjKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChjKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGlu
Z3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC00OCw3ICs0OCwx
MCBAQCBjbGFzcyBDcHBGcm9udGVuZERpc3BhdGNoZXJJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihH
ZW5lcmF0b3IpOgogICAgICAgICByZXR1cm4gZmlsdGVyKGxhbWJkYSBkb21haW46IGxlbihkb21h
aW4uZXZlbnRzKSA+IDAsIEdlbmVyYXRvci5kb21haW5zX3RvX2dlbmVyYXRlKHNlbGYpKQogCiAg
ICAgZGVmIGdlbmVyYXRlX291dHB1dChzZWxmKToKLSAgICAgICAgc2Vjb25kYXJ5X2hlYWRlcnMg
PSBbJzx3dGYvdGV4dC9DU3RyaW5nLmg+J10KKyAgICAgICAgc2Vjb25kYXJ5X2hlYWRlcnMgPSBb
CisgICAgICAgICAgICAnIkluc3BlY3RvckZyb250ZW5kUm91dGVyLmgiJywKKyAgICAgICAgICAg
ICc8d3RmL3RleHQvQ1N0cmluZy5oPicsCisgICAgICAgIF0KIAogICAgICAgICBoZWFkZXJfYXJn
cyA9IHsKICAgICAgICAgICAgICdwcmltYXJ5SW5jbHVkZSc6ICciSW5zcGVjdG9yRnJvbnRlbmRE
aXNwYXRjaGVycy5oIicsCkBAIC0xMTYsNiArMTE5LDYgQEAgY2xhc3MgQ3BwRnJvbnRlbmREaXNw
YXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IoR2VuZXJhdG9yKToKICAgICAgICAgICAgIGxp
bmVzLmFwcGVuZCgnICAgIGpzb25NZXNzYWdlLT5zZXRPYmplY3QoQVNDSUlMaXRlcmFsKCJwYXJh
bXMiKSwgV1RGOjptb3ZlKHBhcmFtc09iamVjdCkpOycpCiAKICAgICAgICAgbGluZXMuYXBwZW5k
KCcnKQotICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICBtX2Zyb250ZW5kQ2hhbm5lbC0+c2VuZE1l
c3NhZ2VUb0Zyb250ZW5kKGpzb25NZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7JykKKyAgICAgICAg
bGluZXMuYXBwZW5kKCcgICAgbV9mcm9udGVuZFJvdXRlci0+c2VuZEV2ZW50KGpzb25NZXNzYWdl
LT50b0pTT05TdHJpbmcoKSk7JykKICAgICAgICAgbGluZXMuYXBwZW5kKCd9JykKICAgICAgICAg
cmV0dXJuICJcbiIuam9pbihsaW5lcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfYmFja2VuZF9kaXNwYXRj
aGVyX2ltcGxlbWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50
YXRpb24ucHkKaW5kZXggYTI3N2Q3ODZlNTJlMmFkNmUxMWMwY2VhZDVlNWUyNmM4ZDRjMjViMy4u
NGNlNWQwODZmM2FjNDllMTY3NThiMWU2NWViMDhlODM5NGEyYzkzZSAxMDA3NTUKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2Jq
Y19iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19iYWNrZW5k
X2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmlu
L2VudiBweXRob24KICMKLSMgQ29weXJpZ2h0IChjKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChjKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGlu
Z3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01Myw3ICs1Myw2
IEBAIGNsYXNzIE9iakNDb25maWd1cmF0aW9uSW1wbGVtZW50YXRpb25HZW5lcmF0b3IoR2VuZXJh
dG9yKToKICAgICAgICAgc2Vjb25kYXJ5X2hlYWRlcnMgPSBbCiAgICAgICAgICAgICAnIiVzSW50
ZXJuYWwuaCInICUgT2JqQ0dlbmVyYXRvci5PQkpDX1BSRUZJWCwKICAgICAgICAgICAgICciJXNF
bnVtQ29udmVyc2lvbkhlbHBlcnMuaCInICUgT2JqQ0dlbmVyYXRvci5PQkpDX1BSRUZJWCwKLSAg
ICAgICAgICAgICc8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+JywK
ICAgICAgICAgICAgICc8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yVmFsdWVzLmg+JywKICAgICAg
ICAgXQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRp
b24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9n
ZW5lcmF0ZV9vYmpjX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkKaW5kZXgg
OTQwMThlNTlmNmZhZjYwMjA3YmFlY2Q2NWJiNTUzYTUyYjBmZTU3ZC4uYjhkMTA4MDYwZDlhNjg1
MmVhZmMwZGU5NGM2ZmY3ODNlYzM4ZjIwZiAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19mcm9udGVuZF9kaXNw
YXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX29iamNfZnJvbnRlbmRfZGlzcGF0Y2hlcl9p
bXBsZW1lbnRhdGlvbi5weQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgog
IwotIyBDb3B5cmlnaHQgKGMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IyBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogIyBDb3B5cmlnaHQgKGMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTUwLDcgKzUwLDYgQEAgY2xhc3MgT2Jq
Q0Zyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKEdlbmVyYXRvcik6CiAg
ICAgZGVmIGdlbmVyYXRlX291dHB1dChzZWxmKToKICAgICAgICAgc2Vjb25kYXJ5X2hlYWRlcnMg
PSBbCiAgICAgICAgICAgICAnIiVzRW51bUNvbnZlcnNpb25IZWxwZXJzLmgiJyAlIE9iakNHZW5l
cmF0b3IuT0JKQ19QUkVGSVgsCi0gICAgICAgICAgICAnPEphdmFTY3JpcHRDb3JlL0luc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbC5oPicsCiAgICAgICAgICAgICAnPEphdmFTY3JpcHRDb3JlL0luc3Bl
Y3RvclZhbHVlcy5oPicsCiAgICAgICAgIF0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggYzQ1YWMxZmY1ZjQ2ZjhkYWFhYjI2Zjg3YjU3
YWY0Nzk5M2Y2NmM2ZC4uNTAxNDQxYzQyNzgxNjMxZWYyZmJjODBhYjA0NDEzMzIxNTFkYmUyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBA
IC0yMjc0Nyw3ICsyMjc0Nyw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcSW5zcGVjdG9yRE9NQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiIC8+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRm9yd2FyZGluZy5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5k
Q2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5kSG9zdC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGRk
OWIyZGFmMWFkZmRkOGE4N2Y0MWMzMDU4NTNmM2RjZjVlNmEyZmQuLmE0NjEzY2MzOGU1M2RhMjA1
ZTQwN2NlZGE0NzQ1ZjhhZWNiNmY2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTExOTE4LDkgKzExOTE4
LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckZvcndhcmRpbmcuaCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgotICAgIDwv
Q2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBkODRmMjJiMGEyYjE2ODA1NDZmMDkwOWI5NzJkOTU2OGFmMzI1
ZWQ1Li41MmE4OTU3YjU5ODdjOWJkNTIyYTFhMjViZGY4Njg0ZjU5YzkzNjRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05OTEs
NyArOTkxLDYgQEAKIAkJMjBENjI5MjcxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
ICovOyB9OwogCQkyMjVBMTZCNTBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyNUExNkIzMEQ1
QzExRTkwMDA5MDI5NSAvKiBXZWJFdmVudFJlZ2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTIyNUExNkI2MEQ1QzExRTkwMDA5MDI5NSAvKiBX
ZWJFdmVudFJlZ2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDIyNUExNkI0MEQ1QzExRTkwMDA5MDI5NSAvKiBXZWJFdmVudFJlZ2lvbi5tbSAqLzsg
fTsKLQkJMjI3Nzc3NjAxMzQ1REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZvcndhcmRpbmcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyNzc3NzVGMTM0
NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjI4QzI4NDUxMEQ4MjUwMDAwOUQwRDBF
IC8qIFNjcmlwdFdyYXBwYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjI4QzI4NDQxMEQ4MjUwMDAwOUQwRDBFIC8qIFNjcmlwdFdyYXBwYWJsZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTIyOTJC
MjdDMTM1NjY2OTQwMENGMTFFRiAvKiBJbWFnZUJ1ZmZlckRhdGFDRy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMjkyQjI3QjEzNTY2Njk0MDBDRjEx
RUYgLyogSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwICovOyB9OwogCQkyMkJEOUY3RjEzNTM2MjVDMDA5
QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyMkJEOUY3RDEzNTM2MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJE
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTgxNzAsNyArODE2OSw2IEBACiAJCTIwRDYyOTI1MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIy
NUExNkIzMEQ1QzExRTkwMDA5MDI5NSAvKiBXZWJFdmVudFJlZ2lvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJFdmVudFJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyMjVBMTZCNDBENUMxMUU5MDAwOTAyOTUgLyogV2ViRXZlbnRSZWdpb24ubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJFdmVudFJlZ2lvbi5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjI3Nzc3NUYxMzQ1REVBOTAwOEVBNDU1
IC8qIEluc3BlY3RvckZvcndhcmRpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5zcGVjdG9yRm9yd2FyZGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
MjhDMjg0NDEwRDgyNTAwMDA5RDBEMEUgLyogU2NyaXB0V3JhcHBhYmxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdFdyYXBwYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyMjkyQjI3QjEzNTY2Njk0MDBDRjExRUYgLyogSW1hZ2VCdWZmZXJEYXRh
Q0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VCdWZmZXJE
YXRhQ0cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMkJEOUY3RDEzNTM2MjVD
MDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEltYWdlQnVmZmVyRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTU2NTAsNyArMTU2NDgsNiBAQAogCQkJCUYzRDRDNDc3MTJFMDc2NjMwMDNEQTE1MCAvKiBJbnNw
ZWN0b3JET01EZWJ1Z2dlckFnZW50LmggKi8sCiAJCQkJN0E3NEVDQjgxMDE4MzlBNTAwQkY5MzlF
IC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgKi8sCiAJCQkJN0E3NEVDQjkxMDE4MzlB
NjAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oICovLAotCQkJCTIyNzc3NzVG
MTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGb3J3YXJkaW5nLmggKi8sCiAJCQkJRjM0NEM3
MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggKi8sCiAJCQkJ
RjM0NEM3NTcxMTI5NEZGNjAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
Y3BwICovLAogCQkJCUYzNDRDNzUyMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsLmggKi8sCkBAIC0yNTMzNiw3ICsyNTMzMyw2IEBACiAJCQkJN0EyNDU4N0Mx
MDIxRUFGNDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGM0Q0QzQ3OTEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0E3NEVDQkIxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMjI3Nzc3NjAxMzQ1REVBOTAw
OEVBNDU1IC8qIEluc3BlY3RvckZvcndhcmRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRD
NzE0MTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjM0NEM3NTMxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3NzBGMTBDMDBBODgwMEEwMjc2
RSAvKiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmNwcAppbmRleCAyOTZhMDdkOTViNjI5NzU0MTFhN2FjNmRiNGQyMTM2NWFkMmVhYzM4Li5h
ODQxYzMyMmM5NjRhMWE5MWRjY2YyNjNlZTNmNmNjNWFmYTY2ZmRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNDksOSAr
NDksOSBAQCBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6Okluc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbgogewogfQogCi12b2lkIEluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEZyb250ZW5k
Q2hhbm5lbCogZnJvbnRlbmRDaGFubmVsLCBCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3Bh
dGNoZXIpCit2b2lkIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6ZGlkQ3JlYXRlRnJv
bnRlbmRBbmRCYWNrZW5kKEZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgQmFja2VuZERp
c3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkFwcGxpY2F0aW9uQ2FjaGVGcm9udGVuZERp
c3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6QXBwbGljYXRpb25DYWNoZUZyb250ZW5kRGlzcGF0
Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0
b3I6OkFwcGxpY2F0aW9uQ2FjaGVCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNw
YXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCmluZGV4IDExN2M4NWU2ZDJmNzI0
Mzc1NDIwY2FlZmY0NzU2MWQ4ZWQ4NzQ5MmQuLjI0OGQzZjg0MWJkN2YyYzBjMWQwOTFhZTkxNTk2
M2VlZmE1YWU5MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgog
ICAgIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJiwg
SW5zcGVjdG9yUGFnZUFnZW50Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlz
cGF0Y2hlciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERp
c3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVu
ZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAg
IHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyhGcmFtZSopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggYTc5MjQ0NGIyZTA3
ZWNkYzA1MDkwZWZjNTY4NWQ4OGQ1NTQ2NjQzZi4uODIwNzcxYzE5NjZlNjBjYzYyM2Y1YTY5NTBh
OTBkYTkxZTUwODRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuY3BwCkBAIC0zNTQsOSArMzU0LDkgQEAgSW5zcGVjdG9yQ1NTQWdlbnQ6On5JbnNw
ZWN0b3JDU1NBZ2VudCgpCiAgICAgcmVzZXQoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDU1NBZ2Vu
dDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVs
KiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmRE
aXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250
ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q1NTRnJvbnRlbmREaXNwYXRjaGVyPihm
cm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3Vu
aXF1ZTxDU1NGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2JhY2tl
bmREaXNwYXRjaGVyID0gQ1NTQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0
Y2hlciwgdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDU1NBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmgKaW5kZXggZGJkMjk0ZTU2MzM0ZjhmZjdlNjUxZDlhMjJjMGM3ZGYwNzE1ZTcyOS4u
MDBiMDM3OTc2ZmIwNGYxMGRmNTc0NDJiY2YxNmNkMzZlNGFlOTVhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKQEAgLTg3LDcgKzg3LDcgQEAgcHVi
bGljOgogCiAgICAgc3RhdGljIENTU1N0eWxlUnVsZSogYXNDU1NTdHlsZVJ1bGUoQ1NTUnVsZSYp
OwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRp
c2NhcmRBZ2VudCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJp
bmcmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCA4YTdkZjIwYWMwNGM3ZTAyZmI5YWNjYjk4OTc5ZWQzNTY0MTUw
ZjdkLi5kYTc5NGI1NGY4N2Q2M2FkNDkyNWE5ODU4MWNkOTg5M2QzMmJiMzFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xLDYg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0xNzQs
NyArMTc0LDYgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdl
JiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKIEluc3BlY3RvckNvbnRyb2xsZXI6
On5JbnNwZWN0b3JDb250cm9sbGVyKCkKIHsKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnJl
c2V0KCk7Ci0gICAgbV9hZ2VudHMuZGlzY2FyZEFnZW50cygpOwogICAgIEFTU0VSVCghbV9pbnNw
ZWN0b3JDbGllbnQpOwogfQogCkBAIC0yMzUsNyArMjM0LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250
ZW5kQ2gKIAogICAgIGlmIChjb25uZWN0ZWRGaXJzdEZyb250ZW5kKSB7CiAgICAgICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6cmVnaXN0ZXJJbnN0cnVtZW50aW5nQWdlbnRzKG1faW5zdHJ1
bWVudGluZ0FnZW50cy5nZXQoKSk7Ci0gICAgICAgIG1fYWdlbnRzLmRpZENyZWF0ZUZyb250ZW5k
QW5kQmFja2VuZChmcm9udGVuZENoYW5uZWwsICZtX2JhY2tlbmREaXNwYXRjaGVyLmdldCgpKTsK
KyAgICAgICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKCZtX2Zyb250ZW5k
Um91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CiAgICAgfQogCiAjaWYg
RU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcAppbmRleCAzOGM5NDhjYTQ5Mjk1YjQ3MzZjMmJhMmJmMTQwMTQ3
OTA2NmZkNzZhLi4xN2Y5NzE4OGZjYTUwZWNiMGMxMjUzNThhYTExOTQxYzEwZTI5ZGI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOSBKb3NlcGggUGVjb3Jhcm8KICAq
CkBAIC0yMTUsOSArMjE1LDkgQEAgSW5zcGVjdG9yRE9NQWdlbnQ6On5JbnNwZWN0b3JET01BZ2Vu
dCgpCiAgICAgQVNTRVJUKCFtX3NlYXJjaGluZ0Zvck5vZGUpOwogfQogCi12b2lkIEluc3BlY3Rv
ckRPTUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciog
YmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpkaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIs
IEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQogewotICAg
IG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OkRPTUZy
b250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0
Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpET01Gcm9udGVuZERpc3BhdGNoZXI+
KGZyb250ZW5kUm91dGVyKTsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpE
T01CYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIAog
ICAgIG1faGlzdG9yeSA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9ySGlzdG9yeT4oKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggN2IwZDY1
OGY3ZmEzYTgwZGE1OThjYjYyNDFiYmVmMDhhOWRiYzlhMC4uOGU5YjEwNjIwOGYxYzU1ZTgwNmYz
MDAyNzcyMzNhNzljNWJhYmNkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAg
LTEwOSw3ICsxMDksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3RyaW5nIHRvRXJyb3JTdHJp
bmcoY29uc3QgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6
QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRl
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6
OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0
cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJp
ZGU7CiAKICAgICBWZWN0b3I8RG9jdW1lbnQqPiBkb2N1bWVudHMoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcAppbmRl
eCA5MzkyYTU1YWUzYmJjOTE1YjBkZDFlNjVhOTViNTZlODg0ZTAwMmU2Li5mODNlZDdhMTBlMWZi
M2E3ZTg2M2EyNTNjNzc2ZGY0ZTBjMDk4ZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCkBAIC0xLDUgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTEwMCw3ICsxMDEsNyBA
QCB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRpc2FibGUoKQogICAgIGNsZWFyKCk7
CiB9CiAKLXZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5k
RGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3RvckRPTURlYnVnZ2Vy
QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91
dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7
CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6RE9NRGVidWdnZXJCYWNrZW5k
RGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oCmlu
ZGV4IDAxYjMxMzllMGVhNmI1MDFiY2NjNDdhZTc5NGI0MjY2NTZhMjUxMmEuLmJmNDMxOTEzODBj
MTUzZWU0ODVhZDJkNjg0MWE4MmEwMWMwOWZjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaApAQCAtMSw1ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC03OCw3ICs3OSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHdpbGxTZW5kWE1MSHR0cFJlcXVlc3QoY29uc3QgU3RyaW5nJiB1cmwp
OwogICAgIHZvaWQgcGF1c2VPbk5hdGl2ZUV2ZW50SWZOZWVkZWQoYm9vbCBpc0RPTUV2ZW50LCBj
b25zdCBTdHJpbmcmIGV2ZW50TmFtZSwgYm9vbCBzeW5jaHJvbm91cyk7CiAKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFu
bmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAgIHZpcnR1
YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJv
dXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25u
ZWN0UmVhc29uKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzY2FyZEFnZW50KCkgb3Zl
cnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudC5jcHAKaW5kZXggMmQzOTk3NTllNTk5YzZjNTE0OTE4NWRmNGE5NWY3ZDVl
ZDE1Njg4OC4uYjJkZTkyYmMwYTU3NDU4YTZhNDNlYjI1MDZiNzQ5ZjMzMDE0NjRlYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dC5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBF
bGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTY1LDkgKzY2LDkgQEAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50Ojp+SW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50KCkKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMuc2V0SW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50KG51bGxwdHIpOwogfQogCi12b2lkIEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJv
dXRlciwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7
Ci0gICAgbV9mcm9udGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6
RE9NU3RvcmFnZUZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpET01TdG9yYWdl
RnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0
Y2hlciA9IEluc3BlY3Rvcjo6RE9NU3RvcmFnZUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFj
a2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKaW5kZXggNzhhN2EyODU4ZDJmZjA4MWM0
NmVhYmMxMjk1ODEyOTEwNTNiMTdmMy4uNTljNjgwODdhOWI5Mzg2NjFjYmI1NjE3YThkODk4ZWQz
MTAxNzA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTU3LDcgKzU4LDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwg
SW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlcios
IEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVh
c29uKSBvdmVycmlkZTsKIAogICAgIC8vIENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAK
aW5kZXggYzdmNmE2ZTM0MjMwOWI1Y2ExZjUxNzM0NDJmYTUxYjRmZTExNGMyNS4uYjNiMjc5Zjlk
NTBiYjg2MzZiMTgzNDI0MTE3NTVkMGNiYTI4MjI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIyMiw5ICsyMjMsOSBAQCBJbnNw
ZWN0b3JEYXRhYmFzZUFnZW50Ojp+SW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgpCiAgICAgbV9pbnN0
cnVtZW50aW5nQWdlbnRzLnNldEluc3BlY3RvckRhdGFiYXNlQWdlbnQobnVsbHB0cik7CiB9CiAK
LXZvaWQgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6
QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JEYXRh
YmFzZUFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVu
ZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJh
Y2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3I6OkRhdGFiYXNlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZENo
YW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3I6OkRhdGFiYXNlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAg
bV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6RGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hl
cjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKaW5kZXggMWRmOTQ5NDdm
ZThhNmRmNDM5M2Y2ZWNhNTQzYWIyZDBiMjE2N2Q2My4uMGYxZjkyNzlkZmJiZWEyYTA4ZjY0ODAx
MjJhYTYyNWIzZWRkN2FiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRhdGFiYXNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGF0YWJhc2VBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNTMsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgSW5z
cGVjdG9yRGF0YWJhc2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAgICAgdmlydHVhbCB+
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZy
b250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6
QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRl
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6
OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0
cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJp
ZGU7CiAKICAgICB2b2lkIGNsZWFyUmVzb3VyY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRm9yd2FyZGluZy5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZvcndhcmRpbmcuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjUwOGJiMTkzMjcxOGQ4YTlhOThmODRkOGJjZmYwYTQ0ZWZlYmU5YS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRm9yd2FyZGluZy5oCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSW5z
cGVjdG9yRm9yd2FyZGluZ19oCi0jZGVmaW5lIEluc3BlY3RvckZvcndhcmRpbmdfaAotCi0jaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci10eXBlZGVmIEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsIEluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbDsKLX0KLQotI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckZvcndhcmRp
bmdfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhl
ZERCQWdlbnQuY3BwCmluZGV4IGEzZWFiYjdiMTE0ODcwNWZkZjRjZTJmMWVlNGY4ZDhjYTEwY2Rj
NTMuLmEwODY5NzlhMzhjZmY2MzdhMmExNTAwMDEyZTk5ZjNlMDg5NTIwNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcApA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC01
NzYsNyArNTc3LDcgQEAgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6On5JbnNwZWN0b3JJbmRleGVk
REJBZ2VudCgpCiB7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OmRpZENyZWF0
ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rv
cjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBJbnNwZWN0b3JJ
bmRleGVkREJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJv
bnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0
Y2hlcikKIHsKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpJbmRleGVkREJC
YWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2Vu
dC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmgK
aW5kZXggN2I4Y2U5OGI5YjJjMjgyZWEzODI5ZWRkZGU0OTMxMTdmYmVmMmZkOS4uODRhOThmZGM0
OGJkMDA5MTNmMzUzMDkxOGYyNDgwMzc0ZDdjZmNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTMsNyArNTQsNyBAQCBwdWJs
aWM6CiAgICAgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyYsIElu
c3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7CiAg
ICAgdmlydHVhbCB+SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
LCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2
b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVy
KiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RS
ZWFzb24pIG92ZXJyaWRlOwogCiAgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQu
Y3BwCmluZGV4IGU2NmZjZjJkODM2YWRhZmUxODM0NDdiOWRhNzg1YmZjMWY0YmI1YzQuLjdmYmRm
YTQ2YmYwYjRjZjQyODY4NWIxOWI1NzMxMWI0OTRiYjZhMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTU2LDkg
KzU2LDkgQEAgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6On5JbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dCgpCiAgICAgcmVzZXQoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9u
dGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQordm9pZCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zyb250
ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpMYXllclRyZWVGcm9u
dGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6TGF5ZXJUcmVlRnJvbnRlbmREaXNwYXRj
aGVyPihmcm9udGVuZFJvdXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rv
cjo6TGF5ZXJUcmVlQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwg
dGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50LmgKaW5kZXggNGZmNTQ0OTFiNmY2YjBjZWUyZTc2Yzc2ZjhlZDIyMTBjMWY2
MmZjMS4uZmEyNDAxNTg0N2JmMTRjZGU3YTEwMTI2ZWM5NDhmOWFjMmY3NDc2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUw
LDcgKzUwLDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IEluc3BlY3RvckxheWVyVHJlZUFnZW50
KEluc3RydW1lbnRpbmdBZ2VudHMmKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JMYXllclRyZWVB
Z2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJ
bnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIq
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVy
Kikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXNl
dCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQu
Y3BwCmluZGV4IDc4MWI1NzhhZjQ2MTI1MDIxOTVjNjIwZTE1OTM2YTYwYjc3YTU2NGQuLmVjNTJm
NDc3Nzg0MWIxNGE1Y2QwYTA1ZDQ1NjE3MDMyNzdkZTdlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMzMyw5ICszMzQsOSBAQCBJbnNw
ZWN0b3JQYWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJiBp
bnN0cnVtZW50aW5nQWdlbnRzLAogewogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZGlk
Q3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBmcm9u
dGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRj
aGVyKQordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpC
YWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERp
c3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UGFnZUZyb250ZW5kRGlzcGF0
Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6
bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpQYWdlRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJv
dXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6UGFnZUJhY2tlbmRE
aXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKaW5kZXggMjg2MmU1OGM1
MDYwMjQ1N2I4YjcxMGRiMjc5Mjc1ZjhkMDNhMGYyMy4uZTlhZDg2NmJhZWMwNDEyNTI2YTBhZGM2
YWI1MGIzNmI1YWZmNWRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclBhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCkBAIC0xMzksNyArMTQwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2NyaXB0c0Vu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpOwogCiAgICAgLy8gSW5zcGVjdG9yIENvbnRyb2xsZXIgQVBJ
Ci0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6
OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rv
cjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAvLyBDcm9zcy1hZ2VudHMg
QVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50
LmNwcAppbmRleCA0NzliNzEwOGZhYzQ4ODAxZmIyOWQ3Mzk5YzY0ZTRiOTAzOGE0NjhhLi4zNDkw
ZTc1YzIyMGVjNzdiZDE2Y2RlNmE5ZjJlMTk4N2Y1NjU4ODZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKQEAgLTEsNiArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTMgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTE3Myw5ICsxNzMsOSBAQCBXZWJDb3JlOjpTZXNzaW9uU3RhdGUgSW5zcGVjdG9yUmVwbGF5
QWdlbnQ6OnNlc3Npb25TdGF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFnZS5yZXBsYXlDb250
cm9sbGVyKCkuc2Vzc2lvblN0YXRlKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6
OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCog
ZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlz
cGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVj
dG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9u
dGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UmVwbGF5RnJvbnRl
bmREaXNwYXRjaGVyPihmcm9udGVuZENoYW5uZWwpOworICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6OlJlcGxheUZyb250ZW5kRGlzcGF0Y2hlcj4o
ZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3I6OlJl
cGxheUJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwog
CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3BlY3RvclJlcGxheUFnZW50KHRoaXMp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaApp
bmRleCBhN2U2Y2Y1OGYyMzc4OGJkYzhkNDMxZGI1NWYxNGE1MWNkYjJjMWFjLi5mN2JlYTZmZGE1
NWI2MGQ4OGUwM2U5Mzc1MDFmYmQ2MzJhYzhlZjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTEtMjAxMyBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjUsNyAr
NjUsNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yUmVwbGF5QWdlbnQoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYsIEluc3BlY3RvclBhZ2VBZ2VudCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvclJlcGxh
eUFnZW50KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hl
ciopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNo
ZXIqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJh
Y2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKIAogICAgIC8vIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbiBjYWxsYmFja3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggMTQzMmVmMGQ5M2Uz
MmM2OWU1NzA1YmQ0ZWZmM2Q0MGRkNDFmNGFjMy4uMDAxYzMzYTgxNDdkM2ZkYTkwODE1ZTg5NmU5
MjI0ZmIwZmEwNDE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0xNjksOSArMTcwLDkgQEAgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudDo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVt
ZW50aW4KIHsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRDcmVhdGVGcm9u
dGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5l
bCwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lk
IEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyKiBmcm9udGVuZFJvdXRlciwgSW5zcGVjdG9yOjpCYWNrZW5k
RGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCiB7Ci0gICAgbV9mcm9udGVuZERpc3BhdGNo
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6TmV0d29ya0Zyb250ZW5kRGlzcGF0Y2hl
cj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFr
ZV91bmlxdWU8SW5zcGVjdG9yOjpOZXR3b3JrRnJvbnRlbmREaXNwYXRjaGVyPihmcm9udGVuZFJv
dXRlcik7CiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvcjo6TmV0d29ya0JhY2tl
bmREaXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaAppbmRl
eCA4N2Y1ZTNhZWNiMTU2YjlmYzBjNGQ3MGY2NThlNjE1MWRmZDE1ZGNkLi5mMDgyNGUyOGEyZmNm
MzFiODIzNTcxNDdmYTc0MDE2MzRlOGY0NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNzgsNyArNzksNyBAQCBwdWJsaWM6CiAg
ICAgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJiwgSW5zcGVjdG9y
UGFnZUFnZW50KiwgSW5zcGVjdG9yQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yUmVz
b3VyY2VBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFj
a2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICAv
LyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24gY2FsbGJhY2tzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDg3YWU0MWZi
M2MzNjcyNGQ5MzI2MzI2YzM2ZWE5NTRkMDg3YmEwNjguLmIwOWMxMTU5YjY0MTA4OTI3MTJhZWMz
ZGU2ZWM2MzcxYjE5MTlhMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogKiBDb3B5cmln
aHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogQ29weXJpZ2h0
IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4KKyogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICoKICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTg5LDkgKzkwLDkgQEAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6fkluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQoKQogewogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCog
ZnJvbnRlbmRDaGFubmVsLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlz
cGF0Y2hlcikKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqIGZyb250ZW5kUm91dGVyLCBJbnNw
ZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKLSAgICBtX2Zy
b250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpUaW1lbGluZUZy
b250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRDaGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0
Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yOjpUaW1lbGluZUZyb250ZW5kRGlzcGF0
Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0
b3I6OlRpbWVsaW5lQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShiYWNrZW5kRGlzcGF0Y2hlciwg
dGhpcyk7CiAKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMuc2V0UGVyc2lzdGVudEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCAzMjQ2NWYzY2UxZmY0NzIwODU1YTJjODNiY2Rm
NmI2MjdhNDI4Yzc0Li41YTkwYjM3MGJmM2U1MTNmYmRmYjVkM2QzMjAxYzQ3ZjUwYWI5MDMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKQEAgLTEsNiArMSw3IEBACiAvKgogKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2Yg
V2FzaGluZ3Rvbi4KKyogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTEyMCw3ICsxMjEs
NyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdl
bnRzJiwgSW5zcGVjdG9yUGFnZUFnZW50KiwgSW5zcGVjdG9yVHlwZSwgSW5zcGVjdG9yQ2xpZW50
Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwogCi0gICAgdmlydHVh
bCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hh
bm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRS
b3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29u
bmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnQoRXJyb3JTdHJp
bmcmLCBjb25zdCBpbnQqIG1heENhbGxTdGFja0RlcHRoID0gbnVsbHB0cikgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViQWdlbnRCYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViQWdlbnRCYXNlLmgKaW5k
ZXggMjY3ZDFjZDA4NzQ1ZDljMTJjMzU1MzRmMWFmNzc5NzJiYWQ5ZjA5Yy4uNGNlMGM3YmE0NzY4
NjNlNGQ2M2FmNDMyNjE2YjJkNjQ5YjExNjQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkFnZW50QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJBZ2VudEJhc2UuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBJbnNwZWN0b3JXZWJBZ2Vu
dEJhc2VfaAogI2RlZmluZSBJbnNwZWN0b3JXZWJBZ2VudEJhc2VfaAogCi0jaW5jbHVkZSAiSW5z
cGVjdG9yRm9yd2FyZGluZy5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJh
c2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKaW5kZXggYjc4MDBiMTc5
NjUyMGNlMTQ2YjBkYTc4ZjMwZmJjNDZkMWJlOGUwYS4uZTA4YjdhN2M4NWY0NjUxOWRhMzIwYTQz
YTZjYmI1Y2Q0ODc0NDU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV29ya2VyQWdlbnQuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKQEAgLTMxLDcgKzMyLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogCi0jaW5jbHVkZSAiSW5zcGVjdG9y
Rm9yd2FyZGluZy5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRl
ICJVUkwuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZVByb3h5LmgiCkBAIC0xMTIsOSAr
MTEyLDkgQEAgSW5zcGVjdG9yV29ya2VyQWdlbnQ6On5JbnNwZWN0b3JXb3JrZXJBZ2VudCgpCiAg
ICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3BlY3RvcldvcmtlckFnZW50KG51bGxwdHIp
OwogfQogCi12b2lkIEluc3BlY3RvcldvcmtlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCwgSW5zcGVj
dG9yOjpCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIEluc3BlY3Rv
cldvcmtlckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9u
dGVuZFJvdXRlciogZnJvbnRlbmRSb3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIq
IGJhY2tlbmREaXNwYXRjaGVyKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxJbnNwZWN0b3I6OldvcmtlckZyb250ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRD
aGFubmVsKTsKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5z
cGVjdG9yOjpXb3JrZXJGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kUm91dGVyKTsKICAgICBt
X2JhY2tlbmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpXb3JrZXJCYWNrZW5kRGlzcGF0Y2hlcjo6
Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaAppbmRleCA0NTQyNDc5M2RiNDk3NTBh
ZTQzNWY3MThlOGIwZDkzNGE1YTY4YWMwLi5mY2JlZTBkMWE0NTQwMzkwYzBmZjA3YWJkNjY1MTg5
MWJhZTIyZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V29ya2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyQWdlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC01NCw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNwZWN0b3JX
b3JrZXJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9y
V29ya2VyQWdlbnQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJh
Y2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlz
cGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOwogCiAgICAg
Ly8gQ2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggMTgzNGNjNTI1NmFkNGVlNGRm
Y2I0MjA3ODZhYjNlMzBjN2JmZGMyZC4uOWFlZDcxMDBkMzA5MWJlNTYzMmMzODVhMDlkY2U4NmQ5
MDEyODY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1l
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50
LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC01OSw5ICs2MCw5IEBAIFBhZ2VSdW50aW1lQWdlbnQ6OlBhZ2VSdW50aW1lQWdlbnQoSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyJiBpbmplY3RlZFNjcmlwdE1hbmFnZXIsCiB7CiB9CiAKLXZvaWQg
UGFnZVJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6
RnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwsIEluc3BlY3Rvcjo6QmFja2VuZERpc3Bh
dGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQordm9pZCBQYWdlUnVudGltZUFnZW50OjpkaWRDcmVh
dGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciogZnJvbnRlbmRS
b3V0ZXIsIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqIGJhY2tlbmREaXNwYXRjaGVyKQog
ewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3I6
OlJ1bnRpbWVGcm9udGVuZERpc3BhdGNoZXI+KGZyb250ZW5kQ2hhbm5lbCk7CisgICAgbV9mcm9u
dGVuZERpc3BhdGNoZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rvcjo6UnVudGltZUZyb250
ZW5kRGlzcGF0Y2hlcj4oZnJvbnRlbmRSb3V0ZXIpOwogICAgIG1fYmFja2VuZERpc3BhdGNoZXIg
PSBJbnNwZWN0b3I6OlJ1bnRpbWVCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNw
YXRjaGVyLCB0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1BhZ2VSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGlt
ZUFnZW50LmgKaW5kZXggMjc4N2RlNzdjNjg3MmYyNzU2OGMwMzU3MDJiZmU4NTc0NmQwNDA4ZS4u
M2U0YmVkZjdiN2ZjOWE0YWUxZjEzOGRmODJhMmYzYzljMDA2M2MzNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTU2LDcgKzU3LDcgQEAgcHVibGljOgog
ICAgIFBhZ2VSdW50aW1lQWdlbnQoSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1hbmFnZXImLCBQ
YWdlKiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7CiAgICAgdmlydHVhbCB+UGFnZVJ1bnRpbWVBZ2Vu
dCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJ
bnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIq
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5k
KEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVy
Kikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2
b2lkIGVuYWJsZShFcnJvclN0cmluZyYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNh
YmxlKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNjI5YjQ2ZTQ1YTc4
ZTkxYmUwY2MxMDIwMDc0ZGFhYzZkZjBmM2FkNS4uYjE0MTNiODZkNjkyZjEzMDIyYjgyZjkyZTY4
YzAzYjYyZmJjYjgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMyw3ICszNCw2IEBACiAKICNpbmNsdWRlICJD
b21tYW5kTGluZUFQSUhvc3QuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKLSNpbmNs
dWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgogI2luY2x1ZGUg
Ikluc3RydW1lbnRpbmdBZ2VudHMuaCIKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJXb3Jr
ZXJSdW50aW1lQWdlbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxp
bnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KKyNpbmNsdWRlIDxpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRSb3V0ZXIuaD4KICNpbmNsdWRlIDx3dGYvU3RvcHdhdGNoLmg+CkBAIC01Nyw3ICs1
OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKIAotY2xhc3MgUGFnZUlu
c3BlY3RvclByb3h5IDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCB7CitjbGFzcyBQ
YWdlSW5zcGVjdG9yUHJveHkgOiBwdWJsaWMgRnJvbnRlbmRDaGFubmVsIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBQYWdlSW5zcGVjdG9yUHJv
eHkoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsb2JhbFNjb3BlKQpAQCAtMTE1LDcgKzExNiw2
IEBAIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6On5Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
KCkKICAgICBBU1NFUlQoIW1fZm9yd2FyZGluZ0NoYW5uZWwpOwogCiAgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5yZXNldCgpOwotICAgIG1fYWdlbnRzLmRpc2NhcmRBZ2VudHMoKTsKIH0KIAog
dm9pZCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQpAQCAtMTI1
LDcgKzEyNSw3IEBAIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250
ZW5kKCkKIAogICAgIG1fZm9yd2FyZGluZ0NoYW5uZWwgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VJ
bnNwZWN0b3JQcm94eT4obV93b3JrZXJHbG9iYWxTY29wZSk7CiAgICAgbV9mcm9udGVuZFJvdXRl
ci0+Y29ubmVjdEZyb250ZW5kKG1fZm9yd2FyZGluZ0NoYW5uZWwuZ2V0KCkpOwotICAgIG1fYWdl
bnRzLmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChtX2ZvcndhcmRpbmdDaGFubmVsLmdldCgp
LCAmbV9iYWNrZW5kRGlzcGF0Y2hlci5nZXQoKSk7CisgICAgbV9hZ2VudHMuZGlkQ3JlYXRlRnJv
bnRlbmRBbmRCYWNrZW5kKCZtX2Zyb250ZW5kUm91dGVyLmdldCgpLCAmbV9iYWNrZW5kRGlzcGF0
Y2hlci5nZXQoKSk7CiB9CiAKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29u
bmVjdEZyb250ZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbiByZWFzb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaApp
bmRleCA1YmRlMWUxYjc5NjdlNWI2Y2VlNWFhOWZhNzc5N2UwZDViOTAxM2RlLi5kOGYyNmU1MzQ0
OGQwMmQ2MGIxMGY1ZTJkM2NiMjhjNGQ2NGY2OTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDIsNiArNDMsNyBAQAog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFzcyBG
cm9udGVuZENoYW5uZWw7CiBjbGFzcyBGcm9udGVuZFJvdXRlcjsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggMDMwZWM1NmFj
ZmJjNTY2NTQ1YWY2NjM4YjdkODBmZWNhNDQ0YzNjNC4uY2NkOGZlYWNlZDkxNmM0N2U3MTRmZjEz
NjhkNDFjNTU1MWM5Y2YyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dv
cmtlclJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
clJ1bnRpbWVBZ2VudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtNTIsNyArNTMsNyBAQCBXb3JrZXJSdW50aW1lQWdlbnQ6Oldvcmtl
clJ1bnRpbWVBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFnZXImIGluamVjdGVkU2NyaXB0TWFuYQog
ewogfQogCi12b2lkIFdvcmtlclJ1bnRpbWVBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNr
ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0
Y2hlciogYmFja2VuZERpc3BhdGNoZXIpCit2b2lkIFdvcmtlclJ1bnRpbWVBZ2VudDo6ZGlkQ3Jl
YXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0
b3I6OkJhY2tlbmREaXNwYXRjaGVyKiBiYWNrZW5kRGlzcGF0Y2hlcikKIHsKICAgICBtX2JhY2tl
bmREaXNwYXRjaGVyID0gSW5zcGVjdG9yOjpSdW50aW1lQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0
ZShiYWNrZW5kRGlzcGF0Y2hlciwgdGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvV29ya2VyUnVudGltZUFnZW50LmgKaW5kZXggZGQzZTlhYjA4MGUzZTBlZDI4ZDM0MDBmNmYx
ZWYwOWU0MjNlMThjOC4uOTZkOWEwYjFjZDllYTQzODAyNWMxYjhhMmQyMGVkZDZiNmU4NGM5ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuaApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00Myw3
ICs0NCw3IEBAIHB1YmxpYzoKICAgICBXb3JrZXJSdW50aW1lQWdlbnQoSW5zcGVjdG9yOjpJbmpl
Y3RlZFNjcmlwdE1hbmFnZXImLCBXb3JrZXJHbG9iYWxTY29wZSopOwogICAgIHZpcnR1YWwgfldv
cmtlclJ1bnRpbWVBZ2VudCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250
ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6QmFj
a2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRnJv
bnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJh
Y2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7
CiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuKEVycm9yU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VEZWJ1Z2dhYmxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZURlYnVnZ2FibGUuY3BwCmluZGV4IDI0OTgzYmVjNGE3OWNlNzM4YjQzZTkw
ZTI4ZGMwMDVlMzhhNmI0YWMuLmZkZjQ3MDg5MGI0ZWMwZDcxMmZiMDY3YjJhMjE0MmUwZGU4ZmRl
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZURlYnVnZ2FibGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZURlYnVnZ2FibGUuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCw3ICszMCw2IEBA
CiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIu
aCIKLSNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJkaW5nLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1l
LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZmI0MDA4YzIzM2ZkYTIzOWViMGY2Njc5Y2NlZTk3
MWJjNmE3MmEzNy4uOWE0OWM1OGQyNWZiODA3ODlmMTBhOWQ0YmZkYThhYzdhYTM0Yzk2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY5LDcgKzY5LDYgQEAKICNpbmNs
dWRlICJJY29uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JGb3J3YXJk
aW5nLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIgogI2luY2x1
ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJs
YXkuaCIKQEAgLTEyMCw2ICsxMTksNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Byb2Zp
bGUuaD4KICNpbmNsdWRlIDxieXRlY29kZS9Db2RlQmxvY2suaD4KICNpbmNsdWRlIDxpbnNwZWN0
b3IvSW5zcGVjdG9yQWdlbnRCYXNlLmg+CisjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4K
ICNpbmNsdWRlIDxydW50aW1lL0pTQ0lubGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0pT
VmFsdWUuaD4KQEAgLTIzMyw3ICsyMzMsNyBAQCBJbnNwZWN0b3JGcm9udGVuZENsaWVudER1bW15
OjpJbnNwZWN0b3JGcm9udGVuZENsaWVudER1bW15KEluc3BlY3RvckNvbnRyb2xsZXIqCiB7CiB9
CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbER1bW15IDogcHVibGljIEluc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbCB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxEdW1teSA6
IHB1YmxpYyBGcm9udGVuZENoYW5uZWwgewogcHVibGljOgogICAgIGV4cGxpY2l0IEluc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbER1bW15KFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWxEdW1teSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9pb3MvV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50SU9TLm1tIGIvU291cmNlL1dlYktpdC9pb3Mv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50SU9TLm1tCmluZGV4IDZkOGIxZDUyZTg4
ODQ3YTA5MzBkODNhMjAyYTBjMmQ4NTBhYzAwNDcuLjgxYjA2ZWFhZWQ3NDE0MjZlZWNhZjdmODc5
ZGIzNTU1YTk0MTI2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW0KQEAgLTU0LDcgKzU0LDcgQEAgdm9p
ZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvckRlc3Ryb3llZCgpCiAgICAgZGVsZXRlIHRo
aXM7CiB9CiAKLUluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogV2ViSW5zcGVjdG9yQ2xpZW50Ojpv
cGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciopCitJbnNwZWN0b3I6OkZy
b250ZW5kQ2hhbm5lbCogV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQo
SW5zcGVjdG9yQ29udHJvbGxlciopCiB7CiAgICAgLy8gaU9TIGRvZXMgbm90IGhhdmUgYSBsb2Nh
bCBpbnNwZWN0b3IsIHRoaXMgc2hvdWxkIG5vdCBiZSByZWFjaGVkLgogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCAwMWI0YmM5MDRjNzM1NzFjZGI2YTNjOTEzOTIyZjM0
OGJlNWFlZTZhLi5kMGQ0NGE2YWQxMWEzOGJkNWE5NGQyOTBjNjJkZWM3YmRhNGQ4MTcxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcg
QXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAwNywgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw0NSArMjcsMzUgQEAKICAqLwogCiAjaW1wb3J0IDxX
ZWJDb3JlL0luc3BlY3RvckNsaWVudC5oPgotI2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JGb3J3
YXJkaW5nLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
aD4KIAorI2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg+Cisj
aW1wb3J0IDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW1wb3J0IDx3
dGYvRm9yd2FyZC5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KICNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KICNpbXBvcnQgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCi0jaWZkZWYgX19PQkpDX18KLUBjbGFzcyBOU1VSTDsKLUBjbGFz
cyBXZWJJbnNwZWN0b3JSZW1vdGVDaGFubmVsOwotQGNsYXNzIFdlYkluc3BlY3RvcldpbmRvd0Nv
bnRyb2xsZXI7Ci1AY2xhc3MgV2ViTm9kZUhpZ2hsaWdodGVyOwotQGNsYXNzIFdlYlZpZXc7Ci0j
ZWxzZQotY2xhc3MgTlNVUkw7Ci1jbGFzcyBXZWJJbnNwZWN0b3JSZW1vdGVDaGFubmVsOwotY2xh
c3MgV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlcjsKLWNsYXNzIFdlYk5vZGVIaWdobGlnaHRl
cjsKLWNsYXNzIFdlYlZpZXc7Ci0jZW5kaWYKK09CSkNfQ0xBU1MgTlNVUkw7CitPQkpDX0NMQVNT
IFdlYkluc3BlY3RvclJlbW90ZUNoYW5uZWw7CitPQkpDX0NMQVNTIFdlYkluc3BlY3RvcldpbmRv
d0NvbnRyb2xsZXI7CitPQkpDX0NMQVNTIFdlYk5vZGVIaWdobGlnaHRlcjsKK09CSkNfQ0xBU1Mg
V2ViVmlldzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotCiBjbGFzcyBGcmFtZTsKIGNsYXNzIFBh
Z2U7Ci0KIH0KIAogY2xhc3MgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ7CiAKLWNsYXNzIFdl
Ykluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQsIHB1Ymxp
YyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3MgV2ViSW5zcGVjdG9y
Q2xpZW50IDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudCwgcHVibGljIEluc3BlY3Rv
cjo6RnJvbnRlbmRDaGFubmVsIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBXZWJJbnNwZWN0b3JD
bGllbnQoV2ViVmlldyAqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQo
KSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsKiBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciop
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIG9wZW5J
bnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyKikgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRvRnJvbnQoKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVzaXplTWFpbkZyYW1lKFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQubW0KaW5kZXggNmU1NDU2YjMxMDM1YzEyMjk1MjgyMTJmOWU0ZGQ4YzdjZDcyZDRmMC4u
NGRlOGM0MGU3NDk3MmI1NjhjNmNmM2ViODNjNTBiNmY1NTgwODdiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBw
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDA4
LCAyMDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTU4LDYgKzU4LDcgQEAKIFNPRlRfTElOS19TVEFHRURfRlJBTUVX
T1JLKFdlYkluc3BlY3RvclVJLCBQcml2YXRlRnJhbWV3b3JrcywgQSkKIAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBzdGF0aWMgY29uc3Qg
Q0dGbG9hdCBtaW5pbXVtV2luZG93V2lkdGggPSA1MDA7CiBzdGF0aWMgY29uc3QgQ0dGbG9hdCBt
aW5pbXVtV2luZG93SGVpZ2h0ID0gNDAwOwpAQCAtMTA2LDcgKzEwNyw3IEBAIHZvaWQgV2ViSW5z
cGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQog
Ci1JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6b3Blbkluc3Bl
Y3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCitG
cm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5k
KEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCiB7CiAgICAgUmV0YWlu
UHRyPFdlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXI+IHdpbmRvd0NvbnRyb2xsZXIgPSBhZG9w
dE5TKFtbV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciBhbGxvY10gaW5pdFdpdGhJbnNwZWN0
ZWRXZWJWaWV3Om1fd2ViVmlldyBpc1VuZGVyVGVzdDppbnNwZWN0b3JDb250cm9sbGVyLT5pc1Vu
ZGVyVGVzdCgpXSk7CiAgICAgW3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgc2V0SW5zcGVjdG9yQ2xp
ZW50OnRoaXNdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkluc3BlY3RvckNsaWVudC5jcHAKaW5kZXggZjg0NWUyNWJhODhjZWU3Y2NmYjAxZjFjNjUz
ODcxZDYwZTExMTM1Ni4uMzcxNzc0MDgxZjJhYTBkMzhkYjBjYzhhZTNkMDA5MTFkY2I5OGNiMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50
OjppbnNwZWN0b3JEZXN0cm95ZWQoKQogICAgIGRlbGV0ZSB0aGlzOwogfQogCi1XZWJDb3JlOjpJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6b3Blbkluc3BlY3Rv
ckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCitJbnNw
ZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVjdG9y
RnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlcikKIHsKICAg
ICByZWdpc3RlcldpbmRvd0NsYXNzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggOTU2OGRhMDMzZmU0NjQ3
N2FmZjEzY2I3MzQ4NzFhNjNlMDMwMjJjZi4uNDM1MTVhMGRlZTI5NTViZjA1ODY5Zjc5OWQ2ZDZl
ZTU2ZWVhNzc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3LCAyMDE0IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMTQsIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEsOSAr
MzEsOSBAQAogCiAjaW5jbHVkZSA8V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0luc3BlY3RvckNsaWVudC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGlu
Zy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvV2luZG93TWVzc2FnZUxpc3RlbmVyLmg+CisjaW5jbHVkZSA8aW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPHdpbmRvd3MuaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC00
MSwyMyArNDEsMjEgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewotCiBjbGFzcyBQYWdlOwotCiB9CiAKIGNsYXNzIFdlYkluc3BlY3RvckZy
b250ZW5kQ2xpZW50OwogY2xhc3MgV2ViTm9kZUhpZ2hsaWdodDsKIGNsYXNzIFdlYlZpZXc7CiAK
LWNsYXNzIFdlYkluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JDbGll
bnQsIHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgeworY2xhc3MgV2Vi
SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudCwgcHVibGlj
IEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBXZWJJ
bnNwZWN0b3JDbGllbnQoV2ViVmlldyopOwogCiAgICAgLy8gSW5zcGVjdG9yQ2xpZW50CiAgICAg
dmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpOwogCi0gICAgdmlydHVhbCBXZWJDb3Jl
OjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyKik7CisgICAgdmlydHVhbCBJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCogb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIHZp
cnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKaW5kZXggMDAxMjg3OWNmYTljNmQx
YjQ1ZDIzMDg4MGNlMjJkOThkZGI4YWQyNC4uOGRiZjY2MTA0NDdmNTQ2Y2VmNjlhZGY3OWQzZjhj
MjE2ZGMwM2YyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJJbnNwZWN0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAs
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEwLCAyMDE0LCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkFQSU9i
amVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2
ZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckZvcndhcmRpbmcuaD4KKyNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM3LDcg
KzM3LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2U7CiAKLWNsYXNzIFdl
Ykluc3BlY3RvciA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkJ1
bmRsZUluc3BlY3Rvcj4sIHB1YmxpYyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudCwgcHVibGljIFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCB7CitjbGFzcyBXZWJJbnNwZWN0b3IgOiBw
dWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVJbnNwZWN0b3I+
LCBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1YmxpYyBJbnNwZWN0b3I6OkZyb250
ZW5kQ2hhbm5lbCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJJbnNwZWN0b3I+IGNyZWF0
ZShXZWJQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3RvclVJLmgKaW5kZXggOWQwM2ZjMDljYWQwZWQzZTczNDJjZDkyMDFiMTI4MDVh
MmZmYTcxMy4uN2Q5MzUxMGJkYWRlMTczZDZlZjRkODU5YmVkZTViYmFmMTZlNzRjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5l
Y3Rpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckZvcndhcmRpbmcuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaD4KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>