<?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>127593</bug_id>
          
          <creation_ts>2014-01-24 16:44:56 -0800</creation_ts>
          <short_desc>REGRESSION(r162713): broke media/network-no-source-const-shadow (Requested by thorton on #webkit).</short_desc>
          <delta_ts>2014-01-24 16:47:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127523</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ggaren</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971796</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 16:44:56 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/162713 broke the build:
broke media/network-no-source-const-shadow (Requested by thorton on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971798</commentid>
    <comment_count>1</comment_count>
      <attachid>222167</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 16:45:24 -0800</bug_when>
    <thetext>Created attachment 222167
ROLLOUT of r162713

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971799</commentid>
    <comment_count>2</comment_count>
      <attachid>222167</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 16:47:53 -0800</bug_when>
    <thetext>Comment on attachment 222167
ROLLOUT of r162713

Clearing flags on attachment: 222167

Committed r162738: &lt;http://trac.webkit.org/changeset/162738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971800</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-24 16:47:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222167</attachid>
            <date>2014-01-24 16:45:24 -0800</date>
            <delta_ts>2014-01-24 16:47:53 -0800</delta_ts>
            <desc>ROLLOUT of r162713</desc>
            <filename>bug-127593-20140124164523.patch</filename>
            <type>text/plain</type>
            <size>96218</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OTc0MTdiM2Y0Y2NlMzY2NjI2MDVlODRhMTkxYjRiODI3YTQ4Mjg4Li5lOTBiOTYyMjU3Mzc0NzE4
ZjJiNTBhNzI1OTc5ZWM2ZjdiZDcwYjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OSBAQAorMjAxNC0wMS0yNCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2MjcxMy4KKyAgICAg
ICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTYyNzEzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1OTMKKworICAgICAgICBicm9r
ZSBtZWRpYS9uZXR3b3JrLW5vLXNvdXJjZS1jb25zdC1zaGFkb3cgKFJlcXVlc3RlZCBieQorICAg
ICAgICB0aG9ydG9uIG9uICN3ZWJraXQpLgorCisgICAgICAgICogY3JlYXRlX2hhc2hfdGFibGU6
CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmg6CisgICAgICAgIChKU0M6OkV4ZWNT
dGF0ZTo6YXJyYXlDb25zdHJ1Y3RvclRhYmxlKToKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjph
cnJheVByb3RvdHlwZVRhYmxlKToKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjpib29sZWFuUHJv
dG90eXBlVGFibGUpOgorICAgICAgICAoSlNDOjpFeGVjU3RhdGU6OmRhdGFWaWV3VGFibGUpOgor
ICAgICAgICAoSlNDOjpFeGVjU3RhdGU6OmRhdGVUYWJsZSk6CisgICAgICAgIChKU0M6OkV4ZWNT
dGF0ZTo6ZGF0ZUNvbnN0cnVjdG9yVGFibGUpOgorICAgICAgICAoSlNDOjpFeGVjU3RhdGU6OmVy
cm9yUHJvdG90eXBlVGFibGUpOgorICAgICAgICAoSlNDOjpFeGVjU3RhdGU6Omdsb2JhbE9iamVj
dFRhYmxlKToKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjpqc29uVGFibGUpOgorICAgICAgICAo
SlNDOjpFeGVjU3RhdGU6Om51bWJlckNvbnN0cnVjdG9yVGFibGUpOgorICAgICAgICAoSlNDOjpF
eGVjU3RhdGU6Om51bWJlclByb3RvdHlwZVRhYmxlKToKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRl
OjpvYmplY3RDb25zdHJ1Y3RvclRhYmxlKToKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjpwcml2
YXRlTmFtZVByb3RvdHlwZVRhYmxlKToKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjpyZWdFeHBU
YWJsZSk6CisgICAgICAgIChKU0M6OkV4ZWNTdGF0ZTo6cmVnRXhwQ29uc3RydWN0b3JUYWJsZSk6
CisgICAgICAgIChKU0M6OkV4ZWNTdGF0ZTo6cmVnRXhwUHJvdG90eXBlVGFibGUpOgorICAgICAg
ICAoSlNDOjpFeGVjU3RhdGU6OnN0cmluZ0NvbnN0cnVjdG9yVGFibGUpOgorICAgICAgICAoSlND
OjpFeGVjU3RhdGU6OnByb21pc2VQcm90b3R5cGVUYWJsZSk6CisgICAgICAgIChKU0M6OkV4ZWNT
dGF0ZTo6cHJvbWlzZUNvbnN0cnVjdG9yVGFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5Q29uc3RydWN0b3I6OmdldE93blBy
b3BlcnR5U2xvdCk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAg
ICAgIChKU0M6OkFycmF5UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICAq
IHJ1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkJvb2xlYW5Qcm90
b3R5cGU6OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgICogcnVudGltZS9DbGFzc0luZm8u
aDoKKyAgICAgICAgKEpTQzo6Q2xhc3NJbmZvOjpwcm9wSGFzaFRhYmxlKToKKyAgICAgICAgKiBy
dW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rv
cjo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5cGUu
Y3BwOgorICAgICAgICAoSlNDOjpEYXRlUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpFcnJv
clByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKiBydW50aW1lL0pTRGF0
YVZpZXdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpKU0RhdGFWaWV3UHJvdG90eXBlOjpn
ZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAg
ICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09OT2JqZWN0
OjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmRl
bGV0ZVByb3BlcnR5KToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlQ29uc3RydWN0b3I6OmdldE93blByb3BlcnR5U2xv
dCk6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2VQcm90b3R5cGUuY3BwOgorICAgICAgICAo
SlNDOjpKU1Byb21pc2VQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgICog
cnVudGltZS9Mb29rdXAuaDoKKyAgICAgICAgKEpTQzo6SGFzaFRhYmxlOjpjb3B5KToKKyAgICAg
ICAgKEpTQzo6cHV0RW50cnkpOgorICAgICAgICAoSlNDOjpsb29rdXBQdXQpOgorICAgICAgICAq
IHJ1bnRpbWUvTmFtZVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6Ok5hbWVQcm90b3R5cGU6
OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgICogcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgIChKU0M6Ok51bWJlckNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNs
b3QpOgorICAgICAgICAoSlNDOjpOdW1iZXJDb25zdHJ1Y3Rvcjo6cHV0KToKKyAgICAgICAgKiBy
dW50aW1lL051bWJlckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9OdW1iZXJQcm90
b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpOdW1iZXJQcm90b3R5cGU6OmdldE93blByb3BlcnR5
U2xvdCk6CisgICAgICAgICogcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAg
IChKU0M6Ok9iamVjdENvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpSZWdFeHBDb25z
dHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3Ry
dWN0b3I6OnB1dCk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oOgorICAg
ICAgICAqIHJ1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICAoSlNDOjpSZWdFeHBPYmplY3Q6OnB1
dCk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlND
OjpSZWdFeHBQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgICogcnVudGlt
ZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlN0cmluZ0NvbnN0cnVjdG9y
OjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoK
KyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6OmZyZWV6ZVRyYW5zaXRpb24pOgorCiAyMDE0LTAxLTI0ICBNYXJrIExhbSAgPG1hcmsu
bGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBBU1NFUlQoIW1fbWFya2VkU3BhY2UubV9jdXJyZW50
RGVsYXllZFJlbGVhc2VTY29wZSkgcmVsb2FkaW5nIHBhZ2UgaW4gaW5zcGVjdG9yLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGJkMGEwOTI2YTk0Yjg1OTk4Zjc1NzMyMTRmYzc1ODY2YmI3NDdkZDQuLmI3Mzk0MWUz
YjViYzcxMTlhMTdkYmIxMzMyMDczMjRiNDkwZmIxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
NyBAQAorMjAxNC0wMS0yNCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2MjcxMy4KKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTYyNzEzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1OTMKKworICAgICAgICBicm9rZSBtZWRp
YS9uZXR3b3JrLW5vLXNvdXJjZS1jb25zdC1zaGFkb3cgKFJlcXVlc3RlZCBieQorICAgICAgICB0
aG9ydG9uIG9uICN3ZWJraXQpLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnB1dCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChoYXNoVGFi
bGVBY2Nlc3Nvcik6CisgICAgICAgIChwcm90b3R5cGVIYXNoVGFibGVBY2Nlc3Nvcik6CisgICAg
ICAgIChjb25zdHJ1Y3Rvckhhc2hUYWJsZUFjY2Vzc29yKToKKyAgICAgICAgKEdlbmVyYXRlSGVh
ZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoR2VuZXJh
dGVIYXNoVGFibGUpOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckhlbHBlck1ldGhvZHMp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmpl
Y3QuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21O
YW1lZEdldHRlci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV2ZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNU
ZXN0SW50ZXJmYWNlOjpwdXQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2Jq
OjpwdXQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OnB1dCk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5o
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RUeXBlZGVmczo6cHV0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuaWRsOgorCiAyMDE0LTAxLTI0ICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVwbGFjZSBMYXlvdXRVbml0KCkgY2FsbHMgdG8gYSBt
b3JlIGRlc2NyaXB0aXZlIExheW91dFVuaXQ6OmZyb21QaXhlbChpbnQpLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2NyZWF0ZV9oYXNoX3RhYmxlIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2NyZWF0ZV9oYXNoX3RhYmxlCmluZGV4IDE1MTFhOWEyNjNlMGVmNzFlYzUxYTQyOGEx
MTA5OWY3MjI0YzNiZTkuLjlhNjkzYjhjY2Y4NTUwMzBmNDA0YjBkZjNlNzA1OGRkZWVmNzFjMzkg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfaGFzaF90YWJsZQorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX2hhc2hfdGFibGUKQEAgLTQyLDggKzQyLDYg
QEAgbXkgQGF0dHJzID0gKCk7CiBteSBAdmFsdWVzID0gKCk7CiBteSBAaGFzaGVzID0gKCk7CiAK
LW15ICRoYXNTZXR0ZXIgPSAiZmFsc2UiOwotCiBteSAkaW5zaWRlID0gMDsKIG15ICRuYW1lOwog
bXkgJHBlZmVjdEhhc2hTaXplOwpAQCAtOTIsMTEgKzkwLDcgQEAgd2hpbGUgKDxJTj4pIHsKICAg
ICAgICAgICAgICNwcmludGYgU1RERVJSICJXQVJOSU5HOiBOdW1iZXIgb2YgYXJndW1lbnRzIG1p
c3NpbmcgZm9yICRrZXkvJHZhbFxuIiBpZiAobGVuZ3RoKCRwYXJhbSkgPT0gMCk7CiAgICAgICAg
IH0gZWxzaWYgKGxlbmd0aCgkYXR0KSkgewogICAgICAgICAgICAgbXkgJGdldCA9ICR2YWw7Ci0g
ICAgICAgICAgICBteSAkcHV0ID0gIjAiOwotICAgICAgICAgICAgaWYgKCEoJGF0dCA9fiBtL1Jl
YWRPbmx5LykpIHsKLSAgICAgICAgICAgICAgICAkcHV0ID0gInNldCIgLiBqc2NfdWNmaXJzdCgk
dmFsKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgICRoYXNTZXR0ZXIgPSAidHJ1ZSI7Cisg
ICAgICAgICAgICBteSAkcHV0ID0gISgkYXR0ID1+IG0vUmVhZE9ubHkvKSA/ICJzZXQiIC4ganNj
X3VjZmlyc3QoJHZhbCkgOiAiMCI7CiAgICAgICAgICAgICBwdXNoKEB2YWx1ZXMsIHsgInR5cGUi
ID0+ICJQcm9wZXJ0eSIsICJnZXQiID0+ICRnZXQsICJwdXQiID0+ICRwdXQgfSk7CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICBwdXNoKEB2YWx1ZXMsIHsgInR5cGUiID0+ICJMZXhlciIs
ICJ2YWx1ZSIgPT4gJHZhbCB9KTsgICAgICAgIApAQCAtMjkzLDYgKzI4Nyw2IEBAIHN1YiBvdXRw
dXQoKSB7CiAgICAgcHJpbnQgIiAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfVxuIjsKICAg
ICBwcmludCAifTtcblxuIjsKICAgICBwcmludCAiZXh0ZXJuIGNvbnN0IHN0cnVjdCBIYXNoVGFi
bGUgJG5hbWUgPVxuIjsKLSAgICBwcmludCAiICAgIFx7ICRjb21wYWN0U2l6ZSwgJGNvbXBhY3RI
YXNoU2l6ZU1hc2ssICRoYXNTZXR0ZXIsICRuYW1lRW50cmllcywgMCBcfTtcbiI7CisgICAgcHJp
bnQgIiAgICBceyAkY29tcGFjdFNpemUsICRjb21wYWN0SGFzaFNpemVNYXNrLCAkbmFtZUVudHJp
ZXMsIDAgXH07XG4iOwogICAgIHByaW50ICJ9IC8vIG5hbWVzcGFjZVxuIjsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAppbmRleCA0OGZiY2Q3Nzli
OTg0YzNkODEyODlmNDJmNWI1MzQ3Y2IzZGMwYzVlLi4yMWIwYTZkZmY4MTVkYmRkOTI3Yzc1MjZh
ZTRhZTVjMDI5ODMxOTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0NhbGxGcmFtZS5oCkBAIC04NCwyNiArODQsMjYgQEAgbmFtZXNwYWNlIEpTQyAgewogI2lmbmRl
ZiBOREVCVUcKICAgICAgICAgdm9pZCBkdW1wQ2FsbGVyKCk7CiAjZW5kaWYKLSAgICAgICAgc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSYgYXJyYXlDb25zdHJ1Y3RvclRhYmxlKFZNJiB2bSkgeyByZXR1
cm4gKnZtLmFycmF5Q29uc3RydWN0b3JUYWJsZTsgfQotICAgICAgICBzdGF0aWMgY29uc3QgSGFz
aFRhYmxlJiBhcnJheVByb3RvdHlwZVRhYmxlKFZNJiB2bSkgeyByZXR1cm4gKnZtLmFycmF5UHJv
dG90eXBlVGFibGU7IH0KLSAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgYm9vbGVhblBy
b3RvdHlwZVRhYmxlKFZNJiB2bSkgeyByZXR1cm4gKnZtLmJvb2xlYW5Qcm90b3R5cGVUYWJsZTsg
fQotICAgICAgICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlJiBkYXRhVmlld1RhYmxlKFZNJiB2bSkg
eyByZXR1cm4gKnZtLmRhdGFWaWV3VGFibGU7IH0KLSAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hU
YWJsZSYgZGF0ZVRhYmxlKFZNJiB2bSkgeyByZXR1cm4gKnZtLmRhdGVUYWJsZTsgfQotICAgICAg
ICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlJiBkYXRlQ29uc3RydWN0b3JUYWJsZShWTSYgdm0pIHsg
cmV0dXJuICp2bS5kYXRlQ29uc3RydWN0b3JUYWJsZTsgfQotICAgICAgICBzdGF0aWMgY29uc3Qg
SGFzaFRhYmxlJiBlcnJvclByb3RvdHlwZVRhYmxlKFZNJiB2bSkgeyByZXR1cm4gKnZtLmVycm9y
UHJvdG90eXBlVGFibGU7IH0KLSAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgZ2xvYmFs
T2JqZWN0VGFibGUoVk0mIHZtKSB7IHJldHVybiAqdm0uZ2xvYmFsT2JqZWN0VGFibGU7IH0KLSAg
ICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYganNvblRhYmxlKFZNJiB2bSkgeyByZXR1cm4g
KnZtLmpzb25UYWJsZTsgfQotICAgICAgICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlJiBudW1iZXJD
b25zdHJ1Y3RvclRhYmxlKFZNJiB2bSkgeyByZXR1cm4gKnZtLm51bWJlckNvbnN0cnVjdG9yVGFi
bGU7IH0KLSAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgbnVtYmVyUHJvdG90eXBlVGFi
bGUoVk0mIHZtKSB7IHJldHVybiAqdm0ubnVtYmVyUHJvdG90eXBlVGFibGU7IH0KLSAgICAgICAg
c3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgb2JqZWN0Q29uc3RydWN0b3JUYWJsZShWTSYgdm0pIHsg
cmV0dXJuICp2bS5vYmplY3RDb25zdHJ1Y3RvclRhYmxlOyB9Ci0gICAgICAgIHN0YXRpYyBjb25z
dCBIYXNoVGFibGUmIHByaXZhdGVOYW1lUHJvdG90eXBlVGFibGUoVk0mIHZtKSB7IHJldHVybiAq
dm0ucHJpdmF0ZU5hbWVQcm90b3R5cGVUYWJsZTsgfQotICAgICAgICBzdGF0aWMgY29uc3QgSGFz
aFRhYmxlJiByZWdFeHBUYWJsZShWTSYgdm0pIHsgcmV0dXJuICp2bS5yZWdFeHBUYWJsZTsgfQot
ICAgICAgICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlJiByZWdFeHBDb25zdHJ1Y3RvclRhYmxlKFZN
JiB2bSkgeyByZXR1cm4gKnZtLnJlZ0V4cENvbnN0cnVjdG9yVGFibGU7IH0KLSAgICAgICAgc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSYgcmVnRXhwUHJvdG90eXBlVGFibGUoVk0mIHZtKSB7IHJldHVy
biAqdm0ucmVnRXhwUHJvdG90eXBlVGFibGU7IH0KLSAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hU
YWJsZSYgc3RyaW5nQ29uc3RydWN0b3JUYWJsZShWTSYgdm0pIHsgcmV0dXJuICp2bS5zdHJpbmdD
b25zdHJ1Y3RvclRhYmxlOyB9CisgICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUmIGFycmF5
Q29uc3RydWN0b3JUYWJsZShDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeyByZXR1cm4gKmNhbGxGcmFt
ZS0+dm0oKS5hcnJheUNvbnN0cnVjdG9yVGFibGU7IH0KKyAgICAgICAgc3RhdGljIGNvbnN0IEhh
c2hUYWJsZSYgYXJyYXlQcm90b3R5cGVUYWJsZShDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeyByZXR1
cm4gKmNhbGxGcmFtZS0+dm0oKS5hcnJheVByb3RvdHlwZVRhYmxlOyB9CisgICAgICAgIHN0YXRp
YyBjb25zdCBIYXNoVGFibGUmIGJvb2xlYW5Qcm90b3R5cGVUYWJsZShDYWxsRnJhbWUqIGNhbGxG
cmFtZSkgeyByZXR1cm4gKmNhbGxGcmFtZS0+dm0oKS5ib29sZWFuUHJvdG90eXBlVGFibGU7IH0K
KyAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgZGF0YVZpZXdUYWJsZShDYWxsRnJhbWUq
IGNhbGxGcmFtZSkgeyByZXR1cm4gKmNhbGxGcmFtZS0+dm0oKS5kYXRhVmlld1RhYmxlOyB9Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUmIGRhdGVUYWJsZShDYWxsRnJhbWUqIGNhbGxG
cmFtZSkgeyByZXR1cm4gKmNhbGxGcmFtZS0+dm0oKS5kYXRlVGFibGU7IH0KKyAgICAgICAgc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSYgZGF0ZUNvbnN0cnVjdG9yVGFibGUoQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpIHsgcmV0dXJuICpjYWxsRnJhbWUtPnZtKCkuZGF0ZUNvbnN0cnVjdG9yVGFibGU7IH0K
KyAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgZXJyb3JQcm90b3R5cGVUYWJsZShDYWxs
RnJhbWUqIGNhbGxGcmFtZSkgeyByZXR1cm4gKmNhbGxGcmFtZS0+dm0oKS5lcnJvclByb3RvdHlw
ZVRhYmxlOyB9CisgICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUmIGdsb2JhbE9iamVjdFRh
YmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiAqY2FsbEZyYW1lLT52bSgpLmdsb2Jh
bE9iamVjdFRhYmxlOyB9CisgICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUmIGpzb25UYWJs
ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeyByZXR1cm4gKmNhbGxGcmFtZS0+dm0oKS5qc29uVGFi
bGU7IH0KKyAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgbnVtYmVyQ29uc3RydWN0b3JU
YWJsZShDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeyByZXR1cm4gKmNhbGxGcmFtZS0+dm0oKS5udW1i
ZXJDb25zdHJ1Y3RvclRhYmxlOyB9CisgICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUmIG51
bWJlclByb3RvdHlwZVRhYmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiAqY2FsbEZy
YW1lLT52bSgpLm51bWJlclByb3RvdHlwZVRhYmxlOyB9CisgICAgICAgIHN0YXRpYyBjb25zdCBI
YXNoVGFibGUmIG9iamVjdENvbnN0cnVjdG9yVGFibGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIHsg
cmV0dXJuICpjYWxsRnJhbWUtPnZtKCkub2JqZWN0Q29uc3RydWN0b3JUYWJsZTsgfQorICAgICAg
ICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlJiBwcml2YXRlTmFtZVByb3RvdHlwZVRhYmxlKENhbGxG
cmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiAqY2FsbEZyYW1lLT52bSgpLnByaXZhdGVOYW1lUHJv
dG90eXBlVGFibGU7IH0KKyAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgcmVnRXhwVGFi
bGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpIHsgcmV0dXJuICpjYWxsRnJhbWUtPnZtKCkucmVnRXhw
VGFibGU7IH0KKyAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgcmVnRXhwQ29uc3RydWN0
b3JUYWJsZShDYWxsRnJhbWUqIGNhbGxGcmFtZSkgeyByZXR1cm4gKmNhbGxGcmFtZS0+dm0oKS5y
ZWdFeHBDb25zdHJ1Y3RvclRhYmxlOyB9CisgICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUm
IHJlZ0V4cFByb3RvdHlwZVRhYmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiAqY2Fs
bEZyYW1lLT52bSgpLnJlZ0V4cFByb3RvdHlwZVRhYmxlOyB9CisgICAgICAgIHN0YXRpYyBjb25z
dCBIYXNoVGFibGUmIHN0cmluZ0NvbnN0cnVjdG9yVGFibGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUp
IHsgcmV0dXJuICpjYWxsRnJhbWUtPnZtKCkuc3RyaW5nQ29uc3RydWN0b3JUYWJsZTsgfQogI2lm
IEVOQUJMRShQUk9NSVNFUykKLSAgICAgICAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZSYgcHJvbWlz
ZVByb3RvdHlwZVRhYmxlKFZNJiB2bSkgeyByZXR1cm4gKnZtLnByb21pc2VQcm90b3R5cGVUYWJs
ZTsgfQotICAgICAgICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlJiBwcm9taXNlQ29uc3RydWN0b3JU
YWJsZShWTSYgdm0pIHsgcmV0dXJuICp2bS5wcm9taXNlQ29uc3RydWN0b3JUYWJsZTsgfQorICAg
ICAgICBzdGF0aWMgY29uc3QgSGFzaFRhYmxlJiBwcm9taXNlUHJvdG90eXBlVGFibGUoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUpIHsgcmV0dXJuICpjYWxsRnJhbWUtPnZtKCkucHJvbWlzZVByb3RvdHlw
ZVRhYmxlOyB9CisgICAgICAgIHN0YXRpYyBjb25zdCBIYXNoVGFibGUmIHByb21pc2VDb25zdHJ1
Y3RvclRhYmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKSB7IHJldHVybiAqY2FsbEZyYW1lLT52bSgp
LnByb21pc2VDb25zdHJ1Y3RvclRhYmxlOyB9CiAjZW5kaWYKIAogICAgICAgICBzdGF0aWMgQ2Fs
bEZyYW1lKiBjcmVhdGUoUmVnaXN0ZXIqIGNhbGxGcmFtZUJhc2UpIHsgcmV0dXJuIHN0YXRpY19j
YXN0PENhbGxGcmFtZSo+KGNhbGxGcmFtZUJhc2UpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCmluZGV4IDcyZmM1NjE5ZmI4ODlh
N2FmOWM2ZGJlY2RjYjYzZTY2NzQ2MzE4MjUuLjNkMjc2NmQ0ZDY1ZDJkZjk2YzA3YjBiOTkyMWE2
ZThmMmQyY2QyNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5Q29uc3RydWN0b3IuY3BwCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgQXJyYXlDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUp
CiAKIGJvb2wgQXJyYXlDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBv
YmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlTbG90ICZzbG90KQogewotICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SW50ZXJu
YWxGdW5jdGlvbj4oZXhlYywgRXhlY1N0YXRlOjphcnJheUNvbnN0cnVjdG9yVGFibGUoZXhlYy0+
dm0oKSksIGpzQ2FzdDxBcnJheUNvbnN0cnVjdG9yKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBz
bG90KTsKKyAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25TbG90PEludGVybmFsRnVuY3Rpb24+
KGV4ZWMsIEV4ZWNTdGF0ZTo6YXJyYXlDb25zdHJ1Y3RvclRhYmxlKGV4ZWMpLCBqc0Nhc3Q8QXJy
YXlDb25zdHJ1Y3Rvcio+KG9iamVjdCksIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHAKaW5kZXggYzg2NTllZWUyNzRjODRlYTBmMzkzZWVlN2I2YzQxMzU1MWYyMGVlMy4u
ZTllZjc4MTcyM2RlMmQ1MWE3MWM1MzVhNmE3MjZkY2E5YWU1ZjhlZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMTQ0LDcgKzE0
NCw3IEBAIHZvaWQgQXJyYXlQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIAogYm9vbCBBcnJheVByb3RvdHlwZTo6Z2V0T3duUHJv
cGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRTdGF0
aWNGdW5jdGlvblNsb3Q8SlNBcnJheT4oZXhlYywgRXhlY1N0YXRlOjphcnJheVByb3RvdHlwZVRh
YmxlKGV4ZWMtPnZtKCkpLCBqc0Nhc3Q8QXJyYXlQcm90b3R5cGUqPihvYmplY3QpLCBwcm9wZXJ0
eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SlNBcnJheT4o
ZXhlYywgRXhlY1N0YXRlOjphcnJheVByb3RvdHlwZVRhYmxlKGV4ZWMpLCBqc0Nhc3Q8QXJyYXlQ
cm90b3R5cGUqPihvYmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiAvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyYXkgRnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Qcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
blByb3RvdHlwZS5jcHAKaW5kZXggYzczZWFkOGJlNjNlZmM3MmZkNjFiYWU4MzBkYzQzZjlmNTY5
NWRlZi4uYTU0NDk5ZGMyNDkzM2NhODBiZWY0OWQ3MjY3OTg1MDcyYjVlZWQ1NiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5jcHAKQEAg
LTY1LDcgKzY1LDcgQEAgdm9pZCBCb29sZWFuUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KikKIAogYm9vbCBCb29sZWFuUHJvdG90eXBlOjpnZXRPd25Qcm9w
ZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldFN0YXRp
Y0Z1bmN0aW9uU2xvdDxCb29sZWFuT2JqZWN0PihleGVjLCBFeGVjU3RhdGU6OmJvb2xlYW5Qcm90
b3R5cGVUYWJsZShleGVjLT52bSgpKSwganNDYXN0PEJvb2xlYW5Qcm90b3R5cGUqPihvYmplY3Qp
LCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8
Qm9vbGVhbk9iamVjdD4oZXhlYywgRXhlY1N0YXRlOjpib29sZWFuUHJvdG90eXBlVGFibGUoZXhl
YyksIGpzQ2FzdDxCb29sZWFuUHJvdG90eXBlKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90
KTsKIH0KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZ1bmN0aW9ucyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NsYXNzSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xh
c3NJbmZvLmgKaW5kZXggOGZmNzVmNGViMWU3ZjdjYjQ1ZDkwZmUzZjY4YmJjM2UyNzgyNTExZi4u
ZjBkZTBiZGZhMTJiY2E1MzA1MjU5NzY3NTkxY2ZkYTFlOTgyYjNiMyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKQEAgLTE1NywxOSArMTU3LDExIEBAIHN0cnVj
dCBDbGFzc0luZm8gewogICAgIGNvbnN0IEhhc2hUYWJsZSogcHJvcEhhc2hUYWJsZShFeGVjU3Rh
dGUqIGV4ZWMpIGNvbnN0CiAgICAgewogICAgICAgICBpZiAoY2xhc3NQcm9wSGFzaFRhYmxlR2V0
dGVyRnVuY3Rpb24pCi0gICAgICAgICAgICByZXR1cm4gJmNsYXNzUHJvcEhhc2hUYWJsZUdldHRl
ckZ1bmN0aW9uKGV4ZWMtPnZtKCkpOworICAgICAgICAgICAgcmV0dXJuICZjbGFzc1Byb3BIYXNo
VGFibGVHZXR0ZXJGdW5jdGlvbihleGVjKTsKIAogICAgICAgICByZXR1cm4gc3RhdGljUHJvcEhh
c2hUYWJsZTsKICAgICB9Ci0KLSAgICBjb25zdCBIYXNoVGFibGUqIHByb3BIYXNoVGFibGUoVk0m
IHZtKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKGNsYXNzUHJvcEhhc2hUYWJsZUdldHRlckZ1
bmN0aW9uKQotICAgICAgICAgICAgcmV0dXJuICZjbGFzc1Byb3BIYXNoVGFibGVHZXR0ZXJGdW5j
dGlvbih2bSk7Ci0KLSAgICAgICAgcmV0dXJuIHN0YXRpY1Byb3BIYXNoVGFibGU7Ci0gICAgfQot
CisgICAgICAgIAogICAgIGJvb2wgaXNTdWJDbGFzc09mKGNvbnN0IENsYXNzSW5mbyogb3RoZXIp
IGNvbnN0CiAgICAgewogICAgICAgICBmb3IgKGNvbnN0IENsYXNzSW5mbyogY2kgPSB0aGlzOyBj
aTsgY2kgPSBjaS0+cGFyZW50Q2xhc3MpIHsKQEAgLTE4OCwxMCArMTgwLDggQEAgc3RydWN0IENs
YXNzSW5mbyB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBib29sIGhhc1N0
YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKFZNJikgY29uc3Q7Ci0KICAgICBjb25zdCBI
YXNoVGFibGUqIHN0YXRpY1Byb3BIYXNoVGFibGU7Ci0gICAgdHlwZWRlZiBjb25zdCBIYXNoVGFi
bGUmICgqQ2xhc3NQcm9wSGFzaFRhYmxlR2V0dGVyRnVuY3Rpb24pKFZNJik7CisgICAgdHlwZWRl
ZiBjb25zdCBIYXNoVGFibGUmICgqQ2xhc3NQcm9wSGFzaFRhYmxlR2V0dGVyRnVuY3Rpb24pKEV4
ZWNTdGF0ZSopOwogICAgIGNvbnN0IENsYXNzUHJvcEhhc2hUYWJsZUdldHRlckZ1bmN0aW9uIGNs
YXNzUHJvcEhhc2hUYWJsZUdldHRlckZ1bmN0aW9uOwogCiAgICAgTWV0aG9kVGFibGUgbWV0aG9k
VGFibGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVj
dG9yLmNwcAppbmRleCBiYzYyZTllY2ViMjI5ZmZkNDQ3MTg2N2E3MGY4OGExOTRhZjdlZTUxLi5j
ZTY3Nzc5MTgyOGZmZTkzOGM3MjZhYmQ1Y2Y3MmE1MDJiODg0MDMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTg4LDcgKzg4
LDcgQEAgdm9pZCBEYXRlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgRGF0ZVBy
b3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKIAogYm9vbCBEYXRlQ29uc3RydWN0b3I6OmdldE93blBy
b3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCAmc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0U3Rh
dGljRnVuY3Rpb25TbG90PEludGVybmFsRnVuY3Rpb24+KGV4ZWMsIEV4ZWNTdGF0ZTo6ZGF0ZUNv
bnN0cnVjdG9yVGFibGUoZXhlYy0+dm0oKSksIGpzQ2FzdDxEYXRlQ29uc3RydWN0b3IqPihvYmpl
Y3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNs
b3Q8SW50ZXJuYWxGdW5jdGlvbj4oZXhlYywgRXhlY1N0YXRlOjpkYXRlQ29uc3RydWN0b3JUYWJs
ZShleGVjKSwganNDYXN0PERhdGVDb25zdHJ1Y3Rvcio+KG9iamVjdCksIHByb3BlcnR5TmFtZSwg
c2xvdCk7CiB9CiAKIC8vIEVDTUEgMTUuOS4zCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmluZGV4IDk5MTE0ODdlMDkzMmYyOGMyMzUyMTk5ZWU4
ZWIyMzkyNmQ3NGRlNmIuLmMyYjhhMGM3N2YyNGRhY2FjMjZmN2E4MTc1MDFlZGQ4ZWE3OTdmMzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3Bw
CkBAIC01MTYsNyArNTE2LDcgQEAgdm9pZCBEYXRlUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KikKIAogYm9vbCBEYXRlUHJvdG90eXBlOjpnZXRPd25Qcm9w
ZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldFN0YXRp
Y0Z1bmN0aW9uU2xvdDxKU09iamVjdD4oZXhlYywgRXhlY1N0YXRlOjpkYXRlVGFibGUoZXhlYy0+
dm0oKSksIGpzQ2FzdDxEYXRlUHJvdG90eXBlKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90
KTsKKyAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25TbG90PEpTT2JqZWN0PihleGVjLCBFeGVj
U3RhdGU6OmRhdGVUYWJsZShleGVjKSwganNDYXN0PERhdGVQcm90b3R5cGUqPihvYmplY3QpLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiAvLyBGdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcAppbmRleCA1NWNiMDMzMDQyMDgx
N2NmNjk5NDYyMzJkNDNhYzRkZWFiMjNlZGRjLi4yNWViMWZiNTA4MGY0NTdhMWMwYWJhNzZhZTY4
NTNhODI1MDY2YzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JQcm90b3R5cGUuY3BwCkBAIC02Myw3ICs2Myw3IEBAIHZvaWQgRXJyb3JQcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqKQogCiBib29sIEVycm9yUHJvdG90
eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVj
LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCiB7Ci0gICAg
cmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxFcnJvckluc3RhbmNlPihleGVjLCBFeGVjU3Rh
dGU6OmVycm9yUHJvdG90eXBlVGFibGUoZXhlYy0+dm0oKSksIGpzQ2FzdDxFcnJvclByb3RvdHlw
ZSo+KG9iamVjdCksIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldFN0YXRpY0Z1
bmN0aW9uU2xvdDxFcnJvckluc3RhbmNlPihleGVjLCBFeGVjU3RhdGU6OmVycm9yUHJvdG90eXBl
VGFibGUoZXhlYyksIGpzQ2FzdDxFcnJvclByb3RvdHlwZSo+KG9iamVjdCksIHByb3BlcnR5TmFt
ZSwgc2xvdCk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGdW5jdGlv
bnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3BwCmluZGV4IGNkN2U4ODMxM2I1
MmQ4YzkxZmVkNzgzMjY2ODY0YzU5YzRlMjI1MDAuLjgzNDJhODM0YTk0N2NmYjFhYWY4N2E3MjM2
NDcwODVmODcyYTc4MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRGF0YVZpZXdQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIGJvb2wgSlNEYXRh
Vmlld1Byb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KAogICAgIEpTT2JqZWN0KiBvYmplY3Qs
IEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
JiBzbG90KQogewogICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SlNPYmplY3Q+KAot
ICAgICAgICBleGVjLCBFeGVjU3RhdGU6OmRhdGFWaWV3VGFibGUoZXhlYy0+dm0oKSksIGpzQ2Fz
dDxKU0RhdGFWaWV3UHJvdG90eXBlKj4ob2JqZWN0KSwKKyAgICAgICAgZXhlYywgRXhlY1N0YXRl
OjpkYXRhVmlld1RhYmxlKGV4ZWMpLCBqc0Nhc3Q8SlNEYXRhVmlld1Byb3RvdHlwZSo+KG9iamVj
dCksCiAgICAgICAgIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCAyYzI3NGMxYTdkNDgx
YzA3ZGYwZDJiZWIzYjI5MzFhMzkwN2E1ZTY2Li4xODE3MDZjYmZkNWQ0MzJjODA3NjA2ZTljODM3
YzdhZDZlOTA1OTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCkBAIC02OTgsNyArNjk4LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
YWRkU3RhdGljR2xvYmFscyhHbG9iYWxQcm9wZXJ0eUluZm8qIGdsb2JhbHMsIGludCBjb3VudCkK
IGJvb2wgSlNHbG9iYWxPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0
LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYgc2xvdCkKIHsKICAgICBKU0dsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0ds
b2JhbE9iamVjdCo+KG9iamVjdCk7Ci0gICAgaWYgKGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxCYXNl
PihleGVjLCBFeGVjU3RhdGU6Omdsb2JhbE9iamVjdFRhYmxlKGV4ZWMtPnZtKCkpLCB0aGlzT2Jq
ZWN0LCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQorICAgIGlmIChnZXRTdGF0aWNGdW5jdGlvblNsb3Q8
QmFzZT4oZXhlYywgRXhlY1N0YXRlOjpnbG9iYWxPYmplY3RUYWJsZShleGVjKSwgdGhpc09iamVj
dCwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgcmV0dXJu
IHN5bWJvbFRhYmxlR2V0KHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IDYxNTdiZjI4
MTYyYTU4NjQ0M2JmNmVhZmJiOTVlYzYyMmM2MDgwYTAuLjk5ZjIyNTdiN2UyNDE3ZWYwNmVhOGU5
OTQ1ZDM4ZTU4Y2NlNTliZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T05PYmplY3QuY3BwCkBAIC02MDEsNyArNjAxLDcgQEAgY29uc3QgQ2xhc3NJbmZvIEpTT05PYmpl
Y3Q6OnNfaW5mbyA9IHsgIkpTT04iLCAmSlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCAwLCBFeGUK
IAogYm9vbCBKU09OT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwg
RXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3Qm
IHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxKU09iamVjdD4oZXhl
YywgRXhlY1N0YXRlOjpqc29uVGFibGUoZXhlYy0+dm0oKSksIGpzQ2FzdDxKU09OT2JqZWN0Kj4o
b2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rp
b25TbG90PEpTT2JqZWN0PihleGVjLCBFeGVjU3RhdGU6Ompzb25UYWJsZShleGVjKSwganNDYXN0
PEpTT05PYmplY3QqPihvYmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiBjbGFzcyBX
YWxrZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4
IGUzMjA4ZmQzZGZmZDkzMmZkYTE3NDVmMzJkOThiNmY0MzBiODZkMjAuLjExZTc0NTZmYzYzYzE5
MDg4MGM0NzU4NzlmZWE1MDc1MGFlYjA4ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAKQEAgLTM5NCwxMyArMzk0LDcgQEAgdm9pZCBKU09iamVjdDo6cHV0
KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1l
LCBKU1YKICAgICAgICAgICAgIC8vIHByb3RvdHlwZXMgaXQgc2hvdWxkIGJlIHJlcGxhY2VkLCBz
byBicmVhayBoZXJlLgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY29u
c3QgQ2xhc3NJbmZvKiBpbmZvID0gb2JqLT5jbGFzc0luZm8oKTsKLSAgICAgICAgaWYgKGluZm8t
Pmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKHZtKSkgewotICAgICAgICAgICAg
aWYgKGNvbnN0IEhhc2hFbnRyeSogZW50cnkgPSBvYmotPmZpbmRQcm9wZXJ0eUhhc2hFbnRyeShl
eGVjLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgICAgICAgICAgcHV0RW50cnkoZXhlYywgZW50
cnksIG9iaiwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgfQotICAgICAgICB9CisKICAgICAgICAgcHJvdG90eXBlID0gb2Jq
LT5wcm90b3R5cGUoKTsKICAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtMTI3NSw3ICsxMjY5LDcgQEAgYm9vbCBKU09iamVjdDo6ZGVsZXRlUHJv
cGVydHkoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXIK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gdGhpcyBidWlsdGluIHByb3BlcnR5IGNhbid0
IGJlIGRlbGV0ZWQKIAogICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2JqZWN0KTsK
LSAgICAgICAgcHV0RW50cnkoZXhlYywgZW50cnksIHRoaXNPYmplY3QsIHByb3BlcnR5TmFtZSwg
anNVbmRlZmluZWQoKSwgc2xvdCk7CisgICAgICAgIHB1dEVudHJ5KGV4ZWMsIGVudHJ5LCBwcm9w
ZXJ0eU5hbWUsIGpzVW5kZWZpbmVkKCksIHNsb3QpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29u
c3RydWN0b3IuY3BwCmluZGV4IDQwMjYxOTYzM2ZhMDZmZDI1NGIzZjJhN2E4Y2M3MWU4MDdhYWY5
MTEuLmUzMGVmMzI2ZGI0MDQ2OGUzMTM4ZjAwOTViYTliMzJiMjU0MWYyMTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5j
cHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBDYWxsVHlwZSBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Z2V0
Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmIGNhbGxEYXRhKQogCiBib29sIEpTUHJvbWlzZUNv
bnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRl
KiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7
Ci0gICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxJbnRlcm5hbEZ1bmN0aW9uPihleGVj
LCBFeGVjU3RhdGU6OnByb21pc2VDb25zdHJ1Y3RvclRhYmxlKGV4ZWMtPnZtKCkpLCBqc0Nhc3Q8
SlNQcm9taXNlQ29uc3RydWN0b3IqPihvYmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAg
IHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SW50ZXJuYWxGdW5jdGlvbj4oZXhlYywgRXhl
Y1N0YXRlOjpwcm9taXNlQ29uc3RydWN0b3JUYWJsZShleGVjKSwganNDYXN0PEpTUHJvbWlzZUNv
bnN0cnVjdG9yKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAogRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Byb21pc2VDb25zdHJ1Y3RvckZ1bmNDYXN0KEV4ZWNTdGF0
ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
bWlzZVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21p
c2VQcm90b3R5cGUuY3BwCmluZGV4IDlkZjQ1NzgxN2NhODAzZDM3MzI4MjQyZmMzM2VjYTc0NWVk
NDA0MzEuLjY5ZTU0ZGE1OWYzMWY2MGY1NGE3NGQwNzdlMjg4NDE2NzViZTU4MzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZVByb3RvdHlwZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlUHJvdG90eXBlLmNw
cApAQCAtODYsNyArODYsNyBAQCB2b2lkIEpTUHJvbWlzZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBTdHJ1Y3R1cmUqKQogCiBib29sIEpTUHJvbWlzZVByb3RvdHlwZTo6Z2V0T3du
UHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewotICAgIHJldHVybiBnZXRT
dGF0aWNGdW5jdGlvblNsb3Q8SlNPYmplY3Q+KGV4ZWMsIEV4ZWNTdGF0ZTo6cHJvbWlzZVByb3Rv
dHlwZVRhYmxlKGV4ZWMtPnZtKCkpLCBqc0Nhc3Q8SlNQcm9taXNlUHJvdG90eXBlKj4ob2JqZWN0
KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25TbG90
PEpTT2JqZWN0PihleGVjLCBFeGVjU3RhdGU6OnByb21pc2VQcm90b3R5cGVUYWJsZShleGVjKSwg
anNDYXN0PEpTUHJvbWlzZVByb3RvdHlwZSo+KG9iamVjdCksIHByb3BlcnR5TmFtZSwgc2xvdCk7
CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNQcm9taXNlUHJvdG90eXBlRnVu
Y1RoZW4oRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTG9va3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAu
aAppbmRleCA0M2JiYzQ4OTQ0ZDRiNmU1M2Y5ZTk2NTAxY2I0ZDc1OTdjYzkxYzgxLi4xODc2YTg2
YWI5MjA1ZWRmYTJiZGU1ZTliMTZkYzY1MGIwNzdhN2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Mb29rdXAuaApAQCAtMTEwLDcgKzExMCw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIGludCBjb21wYWN0U2l6ZTsKICAgICAgICAgaW50IGNvbXBhY3RIYXNoU2l6ZU1hc2s7
Ci0gICAgICAgIGJvb2wgaGFzU2V0dGVyT3JSZWFkb25seVByb3BlcnRpZXM7CiAKICAgICAgICAg
Y29uc3QgSGFzaFRhYmxlVmFsdWUqIHZhbHVlczsgLy8gRml4ZWQgdmFsdWVzIGdlbmVyYXRlZCBi
eSBzY3JpcHQuCiAgICAgICAgIG11dGFibGUgY29uc3QgSGFzaEVudHJ5KiB0YWJsZTsgLy8gVGFi
bGUgYWxsb2NhdGVkIGF0IHJ1bnRpbWUuCkBAIC0xMTgsNyArMTE3LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIEFMV0FZU19JTkxJTkUgSGFzaFRhYmxlIGNvcHkoKSBjb25zdAogICAgICAg
ICB7CiAgICAgICAgICAgICAvLyBEb24ndCBjb3B5IGR5bmFtaWMgdGFibGUgc2luY2UgaXQncyB0
aHJlYWQgc3BlY2lmaWMuCi0gICAgICAgICAgICBIYXNoVGFibGUgcmVzdWx0ID0geyBjb21wYWN0
U2l6ZSwgY29tcGFjdEhhc2hTaXplTWFzaywgaGFzU2V0dGVyT3JSZWFkb25seVByb3BlcnRpZXMs
IHZhbHVlcywgMCB9OworICAgICAgICAgICAgSGFzaFRhYmxlIHJlc3VsdCA9IHsgY29tcGFjdFNp
emUsIGNvbXBhY3RIYXNoU2l6ZU1hc2ssIHZhbHVlcywgMCB9OwogICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICAgICAgfQogCkBAIC0yOTIsMTUgKzI5MSwxNCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgaW5saW5lIHZvaWQgcHV0RW50
cnkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBIYXNoRW50cnkqIGVudHJ5LCBKU09iamVjdCogYmFz
ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlT
bG90JiBzbG90KQorICAgIGlubGluZSB2b2lkIHB1dEVudHJ5KEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSGFzaEVudHJ5KiBlbnRyeSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2
YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KQogICAgIHsKICAgICAgICAgLy8gSWYgdGhpcyBp
cyBhIGZ1bmN0aW9uIHB1dCBpdCBhcyBhbiBvdmVycmlkZSBwcm9wZXJ0eS4KLSAgICAgICAgaWYg
KGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBGdW5jdGlvbikgewotICAgICAgICAgICAgaWYgKEpTT2Jq
ZWN0KiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHNsb3QudGhpc1ZhbHVl
KCkpKQotICAgICAgICAgICAgICAgIHRoaXNPYmplY3QtPnB1dERpcmVjdChleGVjLT52bSgpLCBw
cm9wZXJ0eU5hbWUsIHZhbHVlKTsKLSAgICAgICAgfSBlbHNlIGlmICghKGVudHJ5LT5hdHRyaWJ1
dGVzKCkgJiBSZWFkT25seSkpIHsKLSAgICAgICAgICAgIGVudHJ5LT5wcm9wZXJ0eVB1dHRlcigp
KGV4ZWMsIEpTVmFsdWU6OmVuY29kZShiYXNlKSwgSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKSk7Ci0g
ICAgICAgICAgICBzbG90LnNldEN1c3RvbVByb3BlcnR5KGJhc2UsIGVudHJ5LT5wcm9wZXJ0eVB1
dHRlcigpKTsKKyAgICAgICAgaWYgKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBGdW5jdGlvbikKKyAg
ICAgICAgICAgIHNsb3QuYmFzZSgpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgcHJvcGVydHlOYW1l
LCB2YWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKCEoZW50cnktPmF0dHJpYnV0ZXMoKSAmIFJlYWRP
bmx5KSkgeworICAgICAgICAgICAgZW50cnktPnByb3BlcnR5UHV0dGVyKCkoZXhlYywgSlNWYWx1
ZTo6ZW5jb2RlKHNsb3QudGhpc1ZhbHVlKCkpLCBKU1ZhbHVlOjplbmNvZGUodmFsdWUpKTsKKyAg
ICAgICAgICAgIHNsb3Quc2V0Q3VzdG9tUHJvcGVydHkoc2xvdC5iYXNlKCksIGVudHJ5LT5wcm9w
ZXJ0eVB1dHRlcigpKTsKICAgICAgICAgfSBlbHNlIGlmIChzbG90LmlzU3RyaWN0TW9kZSgpKQog
ICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVy
dHlXcml0ZUVycm9yKTsKICAgICB9CkBAIC0zMTAsMTYgKzMwOCwzMCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgKiBJdCBsb29rcyB1cCBhIGhhc2ggZW50cnkgZm9yIHRoZSBwcm9wZXJ0eSB0byBi
ZSBzZXQuICBJZiBhbiBlbnRyeQogICAgICAqIGlzIGZvdW5kIGl0IHNldHMgdGhlIHZhbHVlIGFu
ZCByZXR1cm5zIHRydWUsIGVsc2UgaXQgcmV0dXJucyBmYWxzZS4KICAgICAgKi8KLSAgICBpbmxp
bmUgYm9vbCBsb29rdXBQdXQoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lLCBKU09iamVjdCogYmFzZSwgSlNWYWx1ZSB2YWx1ZSwgY29uc3QgSGFzaFRhYmxlJiB0YWJs
ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KQorICAgIGlubGluZSBib29sIGxvb2t1cFB1dChFeGVj
U3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIGNv
bnN0IEhhc2hUYWJsZSYgdGFibGUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKICAgICB7CiAgICAg
ICAgIGNvbnN0IEhhc2hFbnRyeSogZW50cnkgPSB0YWJsZS5lbnRyeShleGVjLCBwcm9wZXJ0eU5h
bWUpOwotCisgICAgICAgIAogICAgICAgICBpZiAoIWVudHJ5KQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgICAgIHB1dEVudHJ5KGV4ZWMsIGVudHJ5LCBiYXNlLCBwcm9wZXJ0eU5h
bWUsIHZhbHVlLCBzbG90KTsKKyAgICAgICAgcHV0RW50cnkoZXhlYywgZW50cnksIHByb3BlcnR5
TmFtZSwgdmFsdWUsIHNsb3QpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisKKyAgICAv
KioKKyAgICAgKiBUaGlzIG9uZSBpcyBmb3IgInB1dCIuCisgICAgICogSXQgY2FsbHMgbG9va3Vw
UHV0PFRoaXNJbXA+KCkgdG8gc2V0IHRoZSB2YWx1ZS4gIElmIHRoYXQgY2FsbAorICAgICAqIHJl
dHVybnMgZmFsc2UgKG1lYW5pbmcgbm8gZW50cnkgaW4gdGhlIGhhc2ggdGFibGUgd2FzIGZvdW5k
KSwKKyAgICAgKiB0aGVuIGl0IGNhbGxzIHB1dCgpIG9uIHRoZSBQYXJlbnRJbXAgY2xhc3MuCisg
ICAgICovCisgICAgdGVtcGxhdGUgPGNsYXNzIFRoaXNJbXAsIGNsYXNzIFBhcmVudEltcD4KKyAg
ICBpbmxpbmUgdm9pZCBsb29rdXBQdXQoRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBjb25zdCBIYXNoVGFibGUmIHRhYmxlLCBUaGlzSW1w
KiB0aGlzT2JqLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCisgICAgeworICAgICAgICBpZiAoIWxv
b2t1cFB1dChleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCB0YWJsZSwgc2xvdCkpCisgICAgICAg
ICAgICBQYXJlbnRJbXA6OnB1dCh0aGlzT2JqLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBz
bG90KTsgLy8gbm90IGZvdW5kOiBmb3J3YXJkIHRvIHBhcmVudAorICAgIH0KKwogfSAvLyBuYW1l
c3BhY2UgSlNDCiAKICNlbmRpZiAvLyBMb29rdXBfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTmFtZVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OYW1lUHJvdG90eXBlLmNwcAppbmRleCBjY2JiNDFiYzU2Mjk0MGVlZjM3ZmI5
NjQ0YWU1ODY5ODk0MzMzNWFhLi40MWI1MDVhMmUxNjViMTQzODYxNThiNTM5YzBiZDk2MmEwM2M1
MzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lUHJvdG90
eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYW1lUHJvdG90eXBl
LmNwcApAQCAtNjAsNyArNjAsNyBAQCB2b2lkIE5hbWVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKIAogYm9vbCBOYW1lUHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QgJnNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxC
YXNlPihleGVjLCBFeGVjU3RhdGU6OnByaXZhdGVOYW1lUHJvdG90eXBlVGFibGUoZXhlYy0+dm0o
KSksIGpzQ2FzdDxOYW1lUHJvdG90eXBlKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsK
KyAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25TbG90PEJhc2U+KGV4ZWMsIEV4ZWNTdGF0ZTo6
cHJpdmF0ZU5hbWVQcm90b3R5cGVUYWJsZShleGVjKSwganNDYXN0PE5hbWVQcm90b3R5cGUqPihv
YmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gRnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDhlODU4YTI0ZmU1NDVkZmMzMTA1ZTAxNzdmYmNmZTMxM2ZlNjQ3MGMuLjE3OTYzYTE1ZGJh
MTRhOTkzMTgwZDY1NDQxYzY2YzY5OTA1YzQ3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTc0LDcgKzc0LDEyIEBA
IHZvaWQgTnVtYmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgTnVtYmVyUHJv
dG90eXBlKiBudW1iZXJQcm90b3R5cGUpCiAKIGJvb2wgTnVtYmVyQ29uc3RydWN0b3I6OmdldE93
blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgICByZXR1cm4gZ2V0
U3RhdGljVmFsdWVTbG90PE51bWJlckNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uPihleGVj
LCBFeGVjU3RhdGU6Om51bWJlckNvbnN0cnVjdG9yVGFibGUoZXhlYy0+dm0oKSksIGpzQ2FzdDxO
dW1iZXJDb25zdHJ1Y3Rvcio+KG9iamVjdCksIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgcmV0
dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDxOdW1iZXJDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlv
bj4oZXhlYywgRXhlY1N0YXRlOjpudW1iZXJDb25zdHJ1Y3RvclRhYmxlKGV4ZWMpLCBqc0Nhc3Q8
TnVtYmVyQ29uc3RydWN0b3IqPihvYmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworfQorCit2
b2lkIE51bWJlckNvbnN0cnVjdG9yOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMs
IFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xv
dCYgc2xvdCkKK3sKKyAgICBsb29rdXBQdXQ8TnVtYmVyQ29uc3RydWN0b3IsIEludGVybmFsRnVu
Y3Rpb24+KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIEV4ZWNTdGF0ZTo6bnVtYmVyQ29uc3Ry
dWN0b3JUYWJsZShleGVjKSwganNDYXN0PE51bWJlckNvbnN0cnVjdG9yKj4oY2VsbCksIHNsb3Qp
OwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgbnVtYmVyQ29uc3RydWN0b3JOYU5WYWx1ZShF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5o
CmluZGV4IDZjOGVkODlmZWNkYzA0ZjAwZWUzMjQ4NzlhNThhM2U5NzY0NjAwM2IuLjYyOWJlNGZk
NGI5ZTA4MDY3NmNkNmI1ZDI4ODMxMGU3Nzc0NGYyZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtMzgsNiArMzgsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICAgICAg
fQogCisgICAgICAgIHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0
eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOworCiAgICAgICAgIHN0YXRpYyBib29s
IGdldE93blByb3BlcnR5U2xvdChKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90Jik7CiAgICAgICAgIEpTVmFsdWUgZ2V0VmFsdWVQcm9wZXJ0eShFeGVjU3Rh
dGUqLCBpbnQgdG9rZW4pIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcAppbmRleCAxNDEwMjRhYzM3MGYxYTdkZWExZmQzNmRi
N2MzMTJhMjYxMzAxM2Y5Li4wOTc3YzUwMWJhNDMxZTc3NTAyMTNlZjNkZDMxNWZkMzA0ZmY4ZTNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5
cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlw
ZS5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBOdW1iZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqKQogCiBib29sIE51bWJlclByb3RvdHlwZTo6Z2V0
T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQogewotICAgIHJldHVybiBn
ZXRTdGF0aWNGdW5jdGlvblNsb3Q8TnVtYmVyT2JqZWN0PihleGVjLCBFeGVjU3RhdGU6Om51bWJl
clByb3RvdHlwZVRhYmxlKGV4ZWMtPnZtKCkpLCBqc0Nhc3Q8TnVtYmVyUHJvdG90eXBlKj4ob2Jq
ZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25T
bG90PE51bWJlck9iamVjdD4oZXhlYywgRXhlY1N0YXRlOjpudW1iZXJQcm90b3R5cGVUYWJsZShl
eGVjKSwganNDYXN0PE51bWJlclByb3RvdHlwZSo+KG9iamVjdCksIHByb3BlcnR5TmFtZSwgc2xv
dCk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGdW5jdGlvbnMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNzIxNjllN2QyMWQ1MzI5YTU2OTJi
MmUxZGE1YzQ2M2M4ZDhhMWM0Zi4uMWNkNTM1OWNlNjc1NmY0MTAwYTE5ZjA0ODU0MTc0YjI3MGQ3
NmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENv
bnN0cnVjdG9yLmNwcApAQCAtOTYsNyArOTYsNyBAQCB2b2lkIE9iamVjdENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIE9iamVjdFByb3RvdHlwZSogb2JqZWN0UHJvdG90eXBlKQog
CiBib29sIE9iamVjdENvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9i
amVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QgJnNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxKU09iamVj
dD4oZXhlYywgRXhlY1N0YXRlOjpvYmplY3RDb25zdHJ1Y3RvclRhYmxlKGV4ZWMtPnZtKCkpLCBq
c0Nhc3Q8T2JqZWN0Q29uc3RydWN0b3IqPihvYmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwor
ICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SlNPYmplY3Q+KGV4ZWMsIEV4ZWNTdGF0
ZTo6b2JqZWN0Q29uc3RydWN0b3JUYWJsZShleGVjKSwganNDYXN0PE9iamVjdENvbnN0cnVjdG9y
Kj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAogc3RhdGljIEFMV0FZU19JTkxJ
TkUgSlNPYmplY3QqIGNvbnN0cnVjdE9iamVjdChFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
Y2QyYmQ5YWJkMTk1NTQ3YjZiOWFkZDczMTBhMzcyYWE0NDhlNjVmNS4uMTg5YjE3NTFjYjdhZTcw
ZmUwMjM0M2VjY2JkYmZhODg2Yzc4MDY4OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApAQCAtMTU1LDcgKzE1NSw3IEBAIEpT
VmFsdWUgUmVnRXhwQ29uc3RydWN0b3I6OmdldFJpZ2h0Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgCiBib29sIFJlZ0V4cENvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QmIHNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDxSZWdF
eHBDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbj4oZXhlYywgRXhlY1N0YXRlOjpyZWdFeHBD
b25zdHJ1Y3RvclRhYmxlKGV4ZWMtPnZtKCkpLCBqc0Nhc3Q8UmVnRXhwQ29uc3RydWN0b3IqPihv
YmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICAgIHJldHVybiBnZXRTdGF0aWNWYWx1ZVNs
b3Q8UmVnRXhwQ29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24+KGV4ZWMsIEV4ZWNTdGF0ZTo6
cmVnRXhwQ29uc3RydWN0b3JUYWJsZShleGVjKSwganNDYXN0PFJlZ0V4cENvbnN0cnVjdG9yKj4o
b2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAogc3RhdGljIGlubGluZSBSZWdFeHBD
b25zdHJ1Y3RvciogYXNSZWdFeHBDb25zdHJ1Y3RvcihFbmNvZGVkSlNWYWx1ZSB2YWx1ZSkKQEAg
LTIzOCw2ICsyMzgsMTEgQEAgRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JSaWdodENv
bnRleHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG8KICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGFzUmVnRXhwQ29uc3RydWN0b3Ioc2xvdEJhc2UpLT5nZXRSaWdodENvbnRl
eHQoZXhlYykpOwogfQogCit2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpwdXQoSlNDZWxsKiBjZWxs
LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFs
dWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICBsb29rdXBQdXQ8UmVnRXhwQ29uc3Ry
dWN0b3IsIEludGVybmFsRnVuY3Rpb24+KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIEV4ZWNT
dGF0ZTo6cmVnRXhwQ29uc3RydWN0b3JUYWJsZShleGVjKSwganNDYXN0PFJlZ0V4cENvbnN0cnVj
dG9yKj4oY2VsbCksIHNsb3QpOworfQorCiB2b2lkIHNldFJlZ0V4cENvbnN0cnVjdG9ySW5wdXQo
RXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBiYXNlT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB2YWx1ZSkKIHsKICAgICBhc1JlZ0V4cENvbnN0cnVjdG9yKGFzT2JqZWN0KEpTVmFsdWU6OmRl
Y29kZShiYXNlT2JqZWN0KSkpLT5zZXRJbnB1dChleGVjLCBKU1ZhbHVlOjpkZWNvZGUodmFsdWUp
LnRvU3RyaW5nKGV4ZWMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IDlmYThlZDhiZmFiYzExZjExN2I5MmYyOGJiOTRjYTdm
ZGU4OWJkM2UuLjEyOTU1OWYwNDdkOTUwOTM4ZGVhZTJlYThjZDY4ODY5NDdmYzQ4MjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApA
QCAtNDgsNiArNDgsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVj
dFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKICAgICAgICAgfQogCisgICAgICAgIHN0
YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUsIEpTVmFsdWUs
IFB1dFByb3BlcnR5U2xvdCYpOworCiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5
U2xvdChKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7
CiAKICAgICAgICAgREVDTEFSRV9JTkZPOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cE9iamVjdC5jcHAKaW5kZXggZjNiMzc2YzBkZDYzZmU2NWM3MmU2OWE4NmFlZjVi
NDNhOTJmOTkyYS4uMDA5Y2FjMTJjY2UxYzU1NWQ2MjMzNThmNWNhYmI3ZjZlNmU3NmU3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCkBAIC05
Nyw3ICs5Nyw3IEBAIGJvb2wgUmVnRXhwT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0CiAgICAgICAgIHNsb3Quc2V0VmFs
dWUocmVnRXhwLCBhdHRyaWJ1dGVzLCByZWdFeHAtPmdldExhc3RJbmRleCgpKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQotICAgIHJldHVybiBnZXRTdGF0aWNWYWx1ZVNsb3Q8UmVnRXhw
T2JqZWN0LCBKU09iamVjdD4oZXhlYywgRXhlY1N0YXRlOjpyZWdFeHBUYWJsZShleGVjLT52bSgp
KSwganNDYXN0PFJlZ0V4cE9iamVjdCo+KG9iamVjdCksIHByb3BlcnR5TmFtZSwgc2xvdCk7Cisg
ICAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDxSZWdFeHBPYmplY3QsIEpTT2JqZWN0PihleGVj
LCBFeGVjU3RhdGU6OnJlZ0V4cFRhYmxlKGV4ZWMpLCBqc0Nhc3Q8UmVnRXhwT2JqZWN0Kj4ob2Jq
ZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAogYm9vbCBSZWdFeHBPYmplY3Q6OmRlbGV0
ZVByb3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lKQpAQCAtMjk3LDcgKzI5Nyw3IEBAIHZvaWQgUmVnRXhwT2JqZWN0OjpwdXQoSlND
ZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsCiAg
ICAgICAgIGFzUmVnRXhwT2JqZWN0KGNlbGwpLT5zZXRMYXN0SW5kZXgoZXhlYywgdmFsdWUsIHNs
b3QuaXNTdHJpY3RNb2RlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIEJhc2U6OnB1
dChjZWxsLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKKyAgICBsb29rdXBQdXQ8
UmVnRXhwT2JqZWN0LCBKU09iamVjdD4oZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgRXhlY1N0
YXRlOjpyZWdFeHBUYWJsZShleGVjKSwganNDYXN0PFJlZ0V4cE9iamVjdCo+KGNlbGwpLCBzbG90
KTsKIH0KIAogSlNWYWx1ZSBSZWdFeHBPYmplY3Q6OmV4ZWMoRXhlY1N0YXRlKiBleGVjLCBKU1N0
cmluZyogc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cFByb3RvdHlwZS5jcHAKaW5kZXggODlkN2FjMWI4Y2JmMWRiMGUxMjZmMWZjNzk2ZGZkNWZjODRi
MmU1OS4uZDRmYzRkYTQxZDM2YTdlZDgzZjU0OGQ4NWFhODc5YjM4ZTk3ZGM1OCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCkBAIC02
Nyw3ICs2Nyw3IEBAIFJlZ0V4cFByb3RvdHlwZTo6UmVnRXhwUHJvdG90eXBlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cCogcmVnRXhwKQogCiBib29sIFJlZ0V4cFByb3RvdHlw
ZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywg
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQogewotICAgIHJl
dHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8UmVnRXhwT2JqZWN0PihleGVjLCBFeGVjU3RhdGU6
OnJlZ0V4cFByb3RvdHlwZVRhYmxlKGV4ZWMtPnZtKCkpLCBqc0Nhc3Q8UmVnRXhwUHJvdG90eXBl
Kj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICByZXR1cm4gZ2V0U3RhdGljRnVu
Y3Rpb25TbG90PFJlZ0V4cE9iamVjdD4oZXhlYywgRXhlY1N0YXRlOjpyZWdFeHBQcm90b3R5cGVU
YWJsZShleGVjKSwganNDYXN0PFJlZ0V4cFByb3RvdHlwZSo+KG9iamVjdCksIHByb3BlcnR5TmFt
ZSwgc2xvdCk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGdW5jdGlv
bnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMjA3ZDg1ODVhYjI5Yjky
NmM4YTQyZmNhODgyNjdhMWE1MTgzOTk3ZS4uMTQ3NDUzNDlmZWUyOWFkZDZhNGIzZmU4OWM3ZTFm
NGM0NDdmMjVlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cmluZ0NvbnN0cnVjdG9yLmNwcApAQCAtNjIsNyArNjIsNyBAQCB2b2lkIFN0cmluZ0NvbnN0cnVj
dG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90
eXBlKQogCiBib29sIFN0cmluZ0NvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QgJnNsb3QpCiB7Ci0gICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxJ
bnRlcm5hbEZ1bmN0aW9uPihleGVjLCBFeGVjU3RhdGU6OnN0cmluZ0NvbnN0cnVjdG9yVGFibGUo
ZXhlYy0+dm0oKSksIGpzQ2FzdDxTdHJpbmdDb25zdHJ1Y3Rvcio+KG9iamVjdCksIHByb3BlcnR5
TmFtZSwgc2xvdCk7CisgICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxJbnRlcm5hbEZ1
bmN0aW9uPihleGVjLCBFeGVjU3RhdGU6OnN0cmluZ0NvbnN0cnVjdG9yVGFibGUoZXhlYyksIGpz
Q2FzdDxTdHJpbmdDb25zdHJ1Y3Rvcio+KG9iamVjdCksIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9
CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGdW5jdGlvbnMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmUuY3BwCmluZGV4IDg3ODFhYjAwNzM0YjIwYTA5Y2RlZTE3YzNiNWRlZDY1Y2QwZmQ3
OTkuLjIxOTFiMmVlZjQxYTA1MDgzZjNjMjk0ZTM2YWIyY2RkMjQ3MGJhMzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcApAQCAtMTY1LDggKzE2NSw4IEBA
IFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvCiAgICAgLCBtX2lubGluZUNhcGFjaXR5KGlubGluZUNh
cGFjaXR5KQogICAgICwgbV9kaWN0aW9uYXJ5S2luZChOb25lRGljdGlvbmFyeUtpbmQpCiAgICAg
LCBtX2lzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSkKLSAgICAsIG1faGFzR2V0dGVyU2V0dGVy
UHJvcGVydGllcyhjbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVz
KHZtKSkKLSAgICAsIG1faGFzUmVhZE9ubHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNsdWRp
bmdQcm90byhjbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKHZt
KSkKKyAgICAsIG1faGFzR2V0dGVyU2V0dGVyUHJvcGVydGllcyhmYWxzZSkKKyAgICAsIG1faGFz
UmVhZE9ubHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNsdWRpbmdQcm90byhmYWxzZSkKICAg
ICAsIG1faGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXMoZmFsc2UpCiAgICAgLCBtX2F0dHJpYnV0
ZXNJblByZXZpb3VzKDApCiAgICAgLCBtX3NwZWNpZmljRnVuY3Rpb25UaHJhc2hDb3VudCgwKQpA
QCAtMTc3LDggKzE3Nyw2IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvCiAgICAgQVNTRVJUKGlu
bGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwogICAg
IEFTU0VSVChzdGF0aWNfY2FzdDxQcm9wZXJ0eU9mZnNldD4oaW5saW5lQ2FwYWNpdHkpIDwgZmly
c3RPdXRPZkxpbmVPZmZzZXQpOwogICAgIEFTU0VSVCghdHlwZUluZm8uc3RydWN0dXJlSGFzUmFy
ZURhdGEoKSk7Ci0gICAgQVNTRVJUKGhhc1JlYWRPbmx5T3JHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVz
RXhjbHVkaW5nUHJvdG8oKSB8fCAhbV9jbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9u
bHlQcm9wZXJ0aWVzKHZtKSk7Ci0gICAgQVNTRVJUKGhhc0dldHRlclNldHRlclByb3BlcnRpZXMo
KSB8fCAhbV9jbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKHZt
KSk7CiB9CiAKIGNvbnN0IENsYXNzSW5mbyBTdHJ1Y3R1cmU6OnNfaW5mbyA9IHsgIlN0cnVjdHVy
ZSIsIDAsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU3RydWN0dXJlKSB9OwpAQCAtMTk0LDgg
KzE5Miw4IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSkKICAgICAsIG1faW5saW5lQ2Fw
YWNpdHkoMCkKICAgICAsIG1fZGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKQogICAg
ICwgbV9pc1Bpbm5lZFByb3BlcnR5VGFibGUoZmFsc2UpCi0gICAgLCBtX2hhc0dldHRlclNldHRl
clByb3BlcnRpZXMobV9jbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0
aWVzKHZtKSkKLSAgICAsIG1faGFzUmVhZE9ubHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNs
dWRpbmdQcm90byhtX2NsYXNzSW5mby0+aGFzU3RhdGljU2V0dGVyT3JSZWFkb25seVByb3BlcnRp
ZXModm0pKQorICAgICwgbV9oYXNHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzKGZhbHNlKQorICAgICwg
bV9oYXNSZWFkT25seU9yR2V0dGVyU2V0dGVyUHJvcGVydGllc0V4Y2x1ZGluZ1Byb3RvKGZhbHNl
KQogICAgICwgbV9oYXNOb25FbnVtZXJhYmxlUHJvcGVydGllcyhmYWxzZSkKICAgICAsIG1fYXR0
cmlidXRlc0luUHJldmlvdXMoMCkKICAgICAsIG1fc3BlY2lmaWNGdW5jdGlvblRocmFzaENvdW50
KDApCkBAIC0yMDMsOCArMjAxLDYgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtKQogICAg
ICwgbV9kaWRUcmFuc2l0aW9uKGZhbHNlKQogICAgICwgbV9zdGF0aWNGdW5jdGlvblJlaWZpZWQo
ZmFsc2UpCiB7Ci0gICAgQVNTRVJUKGhhc1JlYWRPbmx5T3JHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVz
RXhjbHVkaW5nUHJvdG8oKSB8fCAhbV9jbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9u
bHlQcm9wZXJ0aWVzKHZtKSk7Ci0gICAgQVNTRVJUKGhhc0dldHRlclNldHRlclByb3BlcnRpZXMo
KSB8fCAhbV9jbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKHZt
KSk7CiB9CiAKIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgY29uc3QgU3RydWN0dXJlKiBw
cmV2aW91cykKQEAgLTIzNSw4ICsyMzEsNiBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0s
IGNvbnN0IFN0cnVjdHVyZSogcHJldmlvdXMpCiAgICAgcHJldmlvdXMtPm5vdGlmeVRyYW5zaXRp
b25Gcm9tVGhpc1N0cnVjdHVyZSgpOwogICAgIGlmIChwcmV2aW91cy0+bV9nbG9iYWxPYmplY3Qp
CiAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgcHJldmlvdXMtPm1fZ2xvYmFs
T2JqZWN0LmdldCgpKTsKLSAgICBBU1NFUlQoaGFzUmVhZE9ubHlPckdldHRlclNldHRlclByb3Bl
cnRpZXNFeGNsdWRpbmdQcm90bygpIHx8ICFtX2NsYXNzSW5mby0+aGFzU3RhdGljU2V0dGVyT3JS
ZWFkb25seVByb3BlcnRpZXModm0pKTsKLSAgICBBU1NFUlQoaGFzR2V0dGVyU2V0dGVyUHJvcGVy
dGllcygpIHx8ICFtX2NsYXNzSW5mby0+aGFzU3RhdGljU2V0dGVyT3JSZWFkb25seVByb3BlcnRp
ZXModm0pKTsKIH0KIAogdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQpAQCAt
NTcxLDggKzU2NSw2IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjpmcmVlemVUcmFuc2l0aW9uKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgICAgICAgICBpdGVyLT5hdHRyaWJ1dGVz
IHw9IGl0ZXItPmF0dHJpYnV0ZXMgJiBBY2Nlc3NvciA/IERvbnREZWxldGUgOiAoRG9udERlbGV0
ZSB8IFJlYWRPbmx5KTsKICAgICB9CiAKLSAgICBBU1NFUlQodHJhbnNpdGlvbi0+aGFzUmVhZE9u
bHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNsdWRpbmdQcm90bygpIHx8ICF0cmFuc2l0aW9u
LT5jbGFzc0luZm8oKS0+aGFzU3RhdGljU2V0dGVyT3JSZWFkb25seVByb3BlcnRpZXModm0pKTsK
LSAgICBBU1NFUlQodHJhbnNpdGlvbi0+aGFzR2V0dGVyU2V0dGVyUHJvcGVydGllcygpIHx8ICF0
cmFuc2l0aW9uLT5jbGFzc0luZm8oKS0+aGFzU3RhdGljU2V0dGVyT3JSZWFkb25seVByb3BlcnRp
ZXModm0pKTsKICAgICB0cmFuc2l0aW9uLT5jaGVja09mZnNldENvbnNpc3RlbmN5KCk7CiAgICAg
cmV0dXJuIHRyYW5zaXRpb247CiB9CkBAIC0xMTY0LDE1ICsxMTU2LDQgQEAgdm9pZCBTdHJ1Y3R1
cmU6OmNoZWNrQ29uc2lzdGVuY3koKQogCiAjZW5kaWYgLy8gRE9fUFJPUEVSVFlNQVBfQ09OU1RF
TkNZX0NIRUNLCiAKLWJvb2wgQ2xhc3NJbmZvOjpoYXNTdGF0aWNTZXR0ZXJPclJlYWRvbmx5UHJv
cGVydGllcyhWTSYgdm0pIGNvbnN0Ci17Ci0gICAgZm9yIChjb25zdCBDbGFzc0luZm8qIGNpID0g
dGhpczsgY2k7IGNpID0gY2ktPnBhcmVudENsYXNzKSB7Ci0gICAgICAgIGlmIChjb25zdCBIYXNo
VGFibGUqIHRhYmxlID0gY2ktPnByb3BIYXNoVGFibGUodm0pKSB7Ci0gICAgICAgICAgICBpZiAo
dGFibGUtPmhhc1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKQotICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0N1c3RvbS5jcHAKaW5kZXggYjdjNmU3ODdjNDY4MTM5OTI2MWI0Y2M5MzliNzhmYjE3YzVi
NGZlMS4uZDMxMTk0NDQ5NjIyNDVmNmUzMDFhMzdmOGVkMmMyMjljMTE3ZWM5OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApAQCAtMzQ0
LDcgKzM0NCw3IEBAIHZvaWQgSlNET01XaW5kb3c6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0
ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIGlmIChsb29rdXBQdXQoZXhlYywgcHJvcGVydHlOYW1lLCB0aGlzT2JqZWN0LCB2
YWx1ZSwgKnNfaW5mby5wcm9wSGFzaFRhYmxlKGV4ZWMpLCBzbG90KSkKKyAgICBpZiAobG9va3Vw
UHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsICpzX2luZm8ucHJvcEhhc2hUYWJsZShleGVj
KSwgc2xvdCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChCaW5kaW5nU2VjdXJpdHk6OnNo
b3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coZXhlYywgdGhpc09iamVjdC0+aW1wbCgpKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
aW5kZXggNGU5NjdlMzYyMjI3NGVlNWRhYjc2ZmNmNGM2YmI2OTdhNmI1MGI1MC4uZjc5NWRkMGQ2
MmI2ODA0YzA4MzdkZWM4NjhkMDgwOGY5ZjNkMDA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTMzOSw3ICszMzksNyBA
QCBzdWIgaGFzaFRhYmxlQWNjZXNzb3IKICAgICBteSAkbm9TdGF0aWNUYWJsZXMgPSBzaGlmdDsK
ICAgICBteSAkY2xhc3NOYW1lID0gc2hpZnQ7CiAgICAgaWYgKCRub1N0YXRpY1RhYmxlcykgewot
ICAgICAgICByZXR1cm4gImdldCR7Y2xhc3NOYW1lfVRhYmxlKGV4ZWMtPnZtKCkpIjsKKyAgICAg
ICAgcmV0dXJuICJnZXQke2NsYXNzTmFtZX1UYWJsZShleGVjKSI7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgcmV0dXJuICIke2NsYXNzTmFtZX1UYWJsZSI7CiAgICAgfQpAQCAtMzUwLDcgKzM1MCw3
IEBAIHN1YiBwcm90b3R5cGVIYXNoVGFibGVBY2Nlc3NvcgogICAgIG15ICRub1N0YXRpY1RhYmxl
cyA9IHNoaWZ0OwogICAgIG15ICRjbGFzc05hbWUgPSBzaGlmdDsKICAgICBpZiAoJG5vU3RhdGlj
VGFibGVzKSB7Ci0gICAgICAgIHJldHVybiAiZ2V0JHtjbGFzc05hbWV9UHJvdG90eXBlVGFibGUo
ZXhlYy0+dm0oKSkiOworICAgICAgICByZXR1cm4gImdldCR7Y2xhc3NOYW1lfVByb3RvdHlwZVRh
YmxlKGV4ZWMpIjsKICAgICB9IGVsc2UgewogICAgICAgICByZXR1cm4gIiR7Y2xhc3NOYW1lfVBy
b3RvdHlwZVRhYmxlIjsKICAgICB9CkBAIC0zNjEsNyArMzYxLDcgQEAgc3ViIGNvbnN0cnVjdG9y
SGFzaFRhYmxlQWNjZXNzb3IKICAgICBteSAkbm9TdGF0aWNUYWJsZXMgPSBzaGlmdDsKICAgICBt
eSAkY29uc3RydWN0b3JDbGFzc05hbWUgPSBzaGlmdDsKICAgICBpZiAoJG5vU3RhdGljVGFibGVz
KSB7Ci0gICAgICAgIHJldHVybiAiZ2V0JHtjb25zdHJ1Y3RvckNsYXNzTmFtZX1UYWJsZShleGVj
LT52bSgpKSI7CisgICAgICAgIHJldHVybiAiZ2V0JHtjb25zdHJ1Y3RvckNsYXNzTmFtZX1UYWJs
ZShleGVjKSI7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcmV0dXJuICIke2NvbnN0cnVjdG9yQ2xh
c3NOYW1lfVRhYmxlIjsKICAgICB9CkBAIC02MjcsMjEgKzYyNyw2IEBAIHN1YiBQcm90b3R5cGVP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QKICAgICByZXR1cm4gJG51bUZ1bmN0aW9ucyA+IDAg
fHwgJG51bUNvbnN0YW50cyA+IDA7CiB9CiAKLXN1YiBJbnN0YW5jZU92ZXJyaWRlc1B1dEltcGxl
bWVudGF0aW9uCi17Ci0gICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OwotICAgIHJldHVybiAkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRTZXR0ZXIifQotICAgICAg
ICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSW5kZXhlZFNldHRl
ciJ9OwotfQotCi1zdWIgSW5zdGFuY2VPdmVycmlkZXNQdXREZWNsYXJhdGlvbgotewotICAgIG15
ICRpbnRlcmZhY2UgPSBzaGlmdDsKLSAgICByZXR1cm4gJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkN1c3RvbVB1dEZ1bmN0aW9uIn0KLSAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkU2V0dGVyIn0KLSAgICAgICAgfHwgJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUluZGV4ZWRTZXR0ZXIifTsKLX0KLQog
c3ViIEdlbmVyYXRlSGVhZGVyCiB7CiAgICAgbXkgJG9iamVjdCA9IHNoaWZ0OwpAQCAtNzkxLDEy
ICs3NzYsMjUgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgICRzdHJ1Y3R1cmVGbGFnc3si
SlNDOjpJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNO
b3RaZXJvIn0gPSAxOwogICAgIH0KIAotICAgIG15ICRvdmVycmlkZXNQdXQgPSBJbnN0YW5jZU92
ZXJyaWRlc1B1dERlY2xhcmF0aW9uKCRpbnRlcmZhY2UpOworICAgICMgQ2hlY2sgaWYgd2UgaGF2
ZSBhbnkgd3JpdGFibGUgcHJvcGVydGllcworICAgIG15ICRoYXNSZWFkV3JpdGVQcm9wZXJ0aWVz
ID0gMDsKKyAgICBmb3JlYWNoIChAeyRpbnRlcmZhY2UtPmF0dHJpYnV0ZXN9KSB7CisgICAgICAg
IGlmICghSXNSZWFkb25seSgkXykgJiYgISRfLT5pc1N0YXRpYykgeworICAgICAgICAgICAgJGhh
c1JlYWRXcml0ZVByb3BlcnRpZXMgPSAxOworICAgICAgICB9CisgICAgfQorCisgICAgbXkgJGhh
c0NvbXBsZXhTZXR0ZXIgPQorICAgICAgICAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ3VzdG9tUHV0RnVuY3Rpb24ifQorICAgICAgICB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRTZXR0ZXIifQorICAgICAgICB8fCAkaW50ZXJmYWNlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSW5kZXhlZFNldHRlciJ9OworICAgICAgICAKKyAg
ICBteSAkaGFzU2V0dGVyID0gJGhhc1JlYWRXcml0ZVByb3BlcnRpZXMgfHwgJGhhc0NvbXBsZXhT
ZXR0ZXI7CiAKICAgICAjIEdldHRlcnMKLSAgICBpZiAoJG92ZXJyaWRlc1B1dCkgeworICAgIGlm
ICgkaGFzU2V0dGVyKSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGlj
IHZvaWQgcHV0KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFt
ZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFByb3BlcnR5U2xvdCYpO1xuIik7Ci0gICAgICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIHZvaWQgcHV0QnlJbmRleChKU0M6OkpTQ2Vs
bCosIEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUs
IGJvb2wgc2hvdWxkVGhyb3cpO1xuIik7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIg
ICAgc3RhdGljIHZvaWQgcHV0QnlJbmRleChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpO1xu
IikgaWYgKCRoYXNDb21wbGV4U2V0dGVyKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
IiAgICBib29sIHB1dERlbGVnYXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpQcm9wZXJ0eU5hbWUs
IEpTQzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9wZXJ0eVNsb3QmKTtcbiIpIGlmICRpbnRlcmZhY2Ut
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZFNldHRlciJ9OwogICAgIH0KIApAQCAt
MTc0NCw5ICsxNzQyLDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcJWNvbmRpdGlvbmFscyk7CiAKICAgICBpZiAoJGludGVyZmFj
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTTm9TdGF0aWNUYWJsZXMifSkgewotICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBIYXNoVGFibGUmIGdldCR7Y2xhc3NOYW1l
fVByb3RvdHlwZVRhYmxlKFZNJiB2bSlcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
InN0YXRpYyBjb25zdCBIYXNoVGFibGUmIGdldCR7Y2xhc3NOYW1lfVByb3RvdHlwZVRhYmxlKEV4
ZWNTdGF0ZSogZXhlYylcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwot
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gZ2V0SGFzaFRhYmxlRm9yR2xv
YmFsRGF0YSh2bSwgJHtjbGFzc05hbWV9UHJvdG90eXBlVGFibGUpO1xuIik7CisgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBnZXRIYXNoVGFibGVGb3JHbG9iYWxEYXRhKGV4
ZWMtPnZtKCksICR7Y2xhc3NOYW1lfVByb3RvdHlwZVRhYmxlKTtcbiIpOwogICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiY29u
c3QgQ2xhc3NJbmZvICR7Y2xhc3NOYW1lfVByb3RvdHlwZTo6c19pbmZvID0geyBcIiR7dmlzaWJs
ZUludGVyZmFjZU5hbWV9UHJvdG90eXBlXCIsICZCYXNlOjpzX2luZm8sIDAsIGdldCR7Y2xhc3NO
YW1lfVByb3RvdHlwZVRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKCR7Y2xhc3NOYW1lfVByb3Rv
dHlwZSkgfTtcblxuIik7CiAgICAgfSBlbHNlIHsKQEAgLTE3ODgsOSArMTc4Niw5IEBAIHN1YiBH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAjIC0gSW5pdGlhbGl6ZSBzdGF0aWMgQ2xhc3NJ
bmZvIG9iamVjdAogICAgIGlmICgkbnVtQXR0cmlidXRlcyA+IDAgJiYgJGludGVyZmFjZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkpTTm9TdGF0aWNUYWJsZXMifSkgewotICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBIYXNoVGFibGUmIGdldCR7Y2xhc3NOYW1lfVRhYmxl
KFZNJiB2bSlcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBI
YXNoVGFibGUmIGdldCR7Y2xhc3NOYW1lfVRhYmxlKEV4ZWNTdGF0ZSogZXhlYylcbiIpOwogICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICByZXR1cm4gZ2V0SGFzaFRhYmxlRm9yR2xvYmFsRGF0YSh2bSwgJHtjbGFzc05hbWV9
VGFibGUpO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBnZXRI
YXNoVGFibGVGb3JHbG9iYWxEYXRhKGV4ZWMtPnZtKCksICR7Y2xhc3NOYW1lfVRhYmxlKTtcbiIp
OwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgICAgfQogCkBAIC0yMTc0
LDExICsyMTcyLDEyIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAk
aGFzUmVhZFdyaXRlUHJvcGVydGllcyA9IDEgaWYgIUlzUmVhZG9ubHkoJGF0dHJpYnV0ZSkgJiYg
ISRhdHRyaWJ1dGUtPmlzU3RhdGljOwogICAgICAgICB9CiAKLSAgICAgICAgbXkgJG92ZXJyaWRl
c1B1dEltcGxlbWVudGF0aW9uID0gSW5zdGFuY2VPdmVycmlkZXNQdXRJbXBsZW1lbnRhdGlvbigk
aW50ZXJmYWNlKTsKLSAgICAgICAgbXkgJGhhc1NldHRlciA9ICRoYXNSZWFkV3JpdGVQcm9wZXJ0
aWVzOworICAgICAgICBteSAkaGFzU2V0dGVyID0gJGhhc1JlYWRXcml0ZVByb3BlcnRpZXMKKyAg
ICAgICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkU2V0
dGVyIn0KKyAgICAgICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3Rv
bUluZGV4ZWRTZXR0ZXIifTsKIAotICAgICAgICBpZiAoJGhhc1NldHRlciB8fCAkb3ZlcnJpZGVz
UHV0SW1wbGVtZW50YXRpb24pIHsKLSAgICAgICAgICAgIGlmICgkb3ZlcnJpZGVzUHV0SW1wbGVt
ZW50YXRpb24pIHsKKyAgICAgICAgaWYgKCRoYXNTZXR0ZXIpIHsKKyAgICAgICAgICAgIGlmICgh
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVB1dEZ1bmN0aW9uIn0pIHsK
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtjbGFzc05hbWV9Ojpw
dXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdClcbiIpOwogICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiB0aGlzT2JqZWN0ID0ganNDYXN0PCR7Y2xh
c3NOYW1lfSo+KGNlbGwpO1xuIik7CkBAIC0yMTk1LDggKzIxOTQsMTEgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgICAgIHJldHVybjtcbiIpOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9w
ZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTtcbiIpOwotCisgICAgICAgICAgICAgICAgaWYgKCRoYXNS
ZWFkV3JpdGVQcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIGxvb2t1cFB1dDwkY2xhc3NOYW1lLCBCYXNlPihleGVjLCBwcm9wZXJ0eU5hbWUs
IHZhbHVlLCAiIC4gaGFzaFRhYmxlQWNjZXNzb3IoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTTm9TdGF0aWNUYWJsZXMifSwgJGNsYXNzTmFtZSkgLiAiLCB0aGlzT2JqZWN0LCBz
bG90KTtcbiIpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9w
ZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTtcbiIpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAKICAgICAgICAgICAgICAgICBp
ZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUluZGV4ZWRTZXR0ZXIi
fSB8fCAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRTZXR0ZXIi
fSkgewpAQCAtMzc3Miw3ICszNzc0LDYgQEAgc3ViIEdlbmVyYXRlSGFzaFRhYmxlCiAgICAgIyBT
dGFydCBvdXRwdXRpbmcgdGhlIGhhc2h0YWJsZXMKICAgICBteSAkbmFtZUVudHJpZXMgPSAiJHtu
YW1lfVZhbHVlcyI7CiAgICAgJG5hbWVFbnRyaWVzID1+IHMvOi9fL2c7Ci0gICAgbXkgJGhhc1Nl
dHRlciA9ICJmYWxzZSI7CiAKICAgICBpZiAoKCRuYW1lID1+IC9Qcm90b3R5cGUvKSBvciAoJG5h
bWUgPX4gL0NvbnN0cnVjdG9yLykpIHsKICAgICAgICAgbXkgJHR5cGUgPSAkbmFtZTsKQEAgLTM4
MTAsNyArMzgxMSw2IEBAIHN1YiBHZW5lcmF0ZUhhc2hUYWJsZQogICAgICAgICAgICAgJHRhcmdl
dFR5cGUgPSAic3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+IjsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICR0YXJnZXRUeXBlID0gInN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPiI7Ci0gICAgICAgICAgICAkaGFzU2V0dGVyID0gInRydWUiOwogICAgICAgICB9
CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHsgXCIka2V5XCIsIEAkc3BlY2lhbHNb
JGldLCBOb0ludHJpbnNpYywgKGludHB0cl90KSIgLiAkdGFyZ2V0VHlwZSAuICIoQCR2YWx1ZTFb
JGldKSwgKGludHB0cl90KUAkdmFsdWUyWyRpXSB9LFxuIik7CiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiI2VuZGlmXG4iKSBpZiAkY29uZGl0aW9uYWw7CkBAIC0zODE5LDcgKzM4MTksNyBA
QCBzdWIgR2VuZXJhdGVIYXNoVGFibGUKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB7IDAs
IDAsIE5vSW50cmluc2ljLCAwLCAwIH1cbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAifTtc
blxuIik7CiAgICAgbXkgJGNvbXBhY3RTaXplTWFzayA9ICRudW1FbnRyaWVzIC0gMTsKLSAgICBw
dXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBIYXNoVGFibGUgJG5hbWUgPSB7ICRjb21w
YWN0U2l6ZSwgJGNvbXBhY3RTaXplTWFzaywgJGhhc1NldHRlciwgJG5hbWVFbnRyaWVzLCAwIH07
XG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBIYXNoVGFibGUgJG5h
bWUgPSB7ICRjb21wYWN0U2l6ZSwgJGNvbXBhY3RTaXplTWFzaywgJG5hbWVFbnRyaWVzLCAwIH07
XG4iKTsKIH0KIAogc3ViIFdyaXRlRGF0YQpAQCAtNDI0OSw5ICs0MjQ5LDkgQEAgc3ViIEdlbmVy
YXRlQ29uc3RydWN0b3JIZWxwZXJNZXRob2RzCiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
In1cblxuIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJKU05vU3RhdGljVGFibGVzIn0pIHsKLSAgICAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgInN0YXRpYyBjb25zdCBIYXNoVGFibGUmIGdldCR7Y29uc3RydWN0b3JDbGFz
c05hbWV9VGFibGUoVk0mIHZtKVxuIik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICJzdGF0aWMgY29uc3QgSGFzaFRhYmxlJiBnZXQke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfVRhYmxl
KEV4ZWNTdGF0ZSogZXhlYylcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAi
e1xuIik7Ci0gICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmV0dXJuIGdldEhh
c2hUYWJsZUZvckdsb2JhbERhdGEodm0sICR7Y29uc3RydWN0b3JDbGFzc05hbWV9VGFibGUpO1xu
Iik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmV0dXJuIGdldEhhc2hU
YWJsZUZvckdsb2JhbERhdGEoZXhlYy0+dm0oKSwgJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX1UYWJs
ZSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIn1cblxuIik7CiAgICAg
ICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJjb25zdCBDbGFzc0luZm8gJHtjb25zdHJ1Y3Rv
ckNsYXNzTmFtZX06OnNfaW5mbyA9IHsgXCIke3Zpc2libGVJbnRlcmZhY2VOYW1lfUNvbnN0cnVj
dG9yXCIsICZCYXNlOjpzX2luZm8sIDAsIGdldCR7Y29uc3RydWN0b3JDbGFzc05hbWV9VGFibGUs
IENSRUFURV9NRVRIT0RfVEFCTEUoJGNvbnN0cnVjdG9yQ2xhc3NOYW1lKSB9O1xuXG4iKTsKICAg
ICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggZjg1
M2RlYTI1MzU0MDNmODllZTRmMGQ2ZDBiMjkwZGVkMjFhMGYxZS4uYmYxMDE5MGZmZGQ0MDg4YWRi
YThkYzA2NDU5ZTk1MWU0NWNlMWI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2ZURPTU9iamVjdC5j
cHAKQEAgLTQxLDcgKzQxLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEFj
dGl2ZURPTU9iamVjdFRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAs
IDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RBY3RpdmVET01PYmplY3RU
YWJsZSA9IHsgNCwgMywgdHJ1ZSwgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGVWYWx1ZXMsIDAg
fTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0QWN0aXZlRE9NT2JqZWN0VGFibGUgPSB7
IDQsIDMsIEpTVGVzdEFjdGl2ZURPTU9iamVjdFRhYmxlVmFsdWVzLCAwIH07CiAvKiBIYXNoIHRh
YmxlIGZvciBjb25zdHJ1Y3RvciAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNU
ZXN0QWN0aXZlRE9NT2JqZWN0Q29uc3RydWN0b3JUYWJsZVZhbHVlc1tdID0KQEAgLTQ5LDcgKzQ5
LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEFjdGl2ZURPTU9iamVjdENv
bnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9
CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0
cnVjdG9yVGFibGUgPSB7IDEsIDAsIGZhbHNlLCBKU1Rlc3RBY3RpdmVET01PYmplY3RDb25zdHJ1
Y3RvclRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEFjdGl2
ZURPTU9iamVjdENvbnN0cnVjdG9yVGFibGUgPSB7IDEsIDAsIEpTVGVzdEFjdGl2ZURPTU9iamVj
dENvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RBY3Rp
dmVET01PYmplY3RDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEFjdGl2ZURPTU9iamVjdENv
bnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgJkpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVj
dG9yVGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0QWN0aXZlRE9NT2JqZWN0Q29u
c3RydWN0b3IpIH07CiAKIEpTVGVzdEFjdGl2ZURPTU9iamVjdENvbnN0cnVjdG9yOjpKU1Rlc3RB
Y3RpdmVET01PYmplY3RDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAgLTc5LDcgKzc5LDcgQEAgc3RhdGljIGNvbnN0IEhh
c2hUYWJsZVZhbHVlIEpTVGVzdEFjdGl2ZURPTU9iamVjdFByb3RvdHlwZVRhYmxlVmFsdWVzW10g
PQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhh
c2hUYWJsZSBKU1Rlc3RBY3RpdmVET01PYmplY3RQcm90b3R5cGVUYWJsZSA9IHsgNCwgMywgZmFs
c2UsIEpTVGVzdEFjdGl2ZURPTU9iamVjdFByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0
aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEFjdGl2ZURPTU9iamVjdFByb3RvdHlwZVRhYmxlID0g
eyA0LCAzLCBKU1Rlc3RBY3RpdmVET01PYmplY3RQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9Owog
Y29uc3QgQ2xhc3NJbmZvIEpTVGVzdEFjdGl2ZURPTU9iamVjdFByb3RvdHlwZTo6c19pbmZvID0g
eyAiVGVzdEFjdGl2ZURPTU9iamVjdFByb3RvdHlwZSIsICZCYXNlOjpzX2luZm8sICZKU1Rlc3RB
Y3RpdmVET01PYmplY3RQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rl
c3RBY3RpdmVET01PYmplY3RQcm90b3R5cGUpIH07CiAKIEpTT2JqZWN0KiBKU1Rlc3RBY3RpdmVE
T01PYmplY3RQcm90b3R5cGU6OnNlbGYoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggMmRlNDNlNjFi
YTI5ZmVjOTEzYjg5ZWRlZmExNzdhY2FmZDEyNDFhOS4uYWIwOWEzYmFiZTliMWU3OWJjZDZjYjJi
MDU2YWNmYTFkYWFjN2Y4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3Bw
CkBAIC00MCw3ICs0MCw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RDdXN0
b21OYW1lZEdldHRlclRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAs
IDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RDdXN0b21OYW1lZEdldHRl
clRhYmxlID0geyAyLCAxLCB0cnVlLCBKU1Rlc3RDdXN0b21OYW1lZEdldHRlclRhYmxlVmFsdWVz
LCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyVGFi
bGUgPSB7IDIsIDEsIEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyVGFibGVWYWx1ZXMsIDAgfTsKIC8q
IEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVW
YWx1ZSBKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CkBA
IC00OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RDdXN0b21O
YW1lZEdldHRlckNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJp
bnNpYywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEN1c3RvbU5h
bWVkR2V0dGVyQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgZmFsc2UsIEpTVGVzdEN1c3RvbU5h
bWVkR2V0dGVyQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hU
YWJsZSBKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yVGFibGUgPSB7IDEsIDAsIEpT
VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogY29uc3Qg
Q2xhc3NJbmZvIEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsg
IlRlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgJkpTVGVz
dEN1c3RvbU5hbWVkR2V0dGVyQ29uc3RydWN0b3JUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3RDdXN0b21O
YW1lZEdldHRlckNvbnN0cnVjdG9yOjpKU1Rlc3RDdXN0b21OYW1lZEdldHRlckNvbnN0cnVjdG9y
KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpA
QCAtNzcsNyArNzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0Q3VzdG9t
TmFtZWRHZXR0ZXJQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIE5vSW50cmlu
c2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXJQcm90b3R5cGVUYWJsZSA9IHsgMiwgMSwgZmFsc2UsIEpTVGVzdEN1c3RvbU5hbWVk
R2V0dGVyUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUg
SlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJQcm90b3R5cGVUYWJsZSA9IHsgMiwgMSwgSlNUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXJQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZv
IEpTVGVzdEN1c3RvbU5hbWVkR2V0dGVyUHJvdG90eXBlOjpzX2luZm8gPSB7ICJUZXN0Q3VzdG9t
TmFtZWRHZXR0ZXJQcm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0Q3VzdG9tTmFtZWRH
ZXR0ZXJQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RDdXN0b21O
YW1lZEdldHRlclByb3RvdHlwZSkgfTsKIAogSlNPYmplY3QqIEpTVGVzdEN1c3RvbU5hbWVkR2V0
dGVyUHJvdG90eXBlOjpzZWxmKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAppbmRleCA5MjQwMjk4MWNlZjM1MjRj
OTZjZWJhNzk5YzUwMDUxMjQ4MGYzOGMwLi5mNmRlOTE5YTI4ZDkxMGNiMTlhOWU0NDU5MjU5YTBk
ODg1NDdmOTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC00Miw3
ICs0Miw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVj
dG9yVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9Owog
Ci1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JUYWJsZSA9IHsg
OSwgNywgdHJ1ZSwgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CitzdGF0
aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JUYWJsZSA9IHsgOSwgNywg
SlNUZXN0RXZlbnRDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CiAvKiBIYXNoIHRhYmxlIGZv
ciBjb25zdHJ1Y3RvciAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXZl
bnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CkBAIC01MCw3ICs1MCw3IEBA
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3Ry
dWN0b3JUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07
CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVj
dG9yVGFibGUgPSB7IDEsIDAsIGZhbHNlLCBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0
b3JUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFdmVudENv
bnN0cnVjdG9yQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
ckNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU1Rlc3RFdmVu
dENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1Rlc3RFdmVudENvbnN0cnVj
dG9yQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0b3IgPSBqc0Nhc3Q8SlNUZXN0RXZlbnRDb25zdHJ1
Y3RvckNvbnN0cnVjdG9yKj4oZXhlYy0+Y2FsbGVlKCkpOwpAQCAtMTIyLDcgKzEyMiw3IEBAIHN0
YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yUHJvdG90eXBl
VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9OwogCi1z
dGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JQcm90b3R5cGVUYWJs
ZSA9IHsgMSwgMCwgZmFsc2UsIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JQcm90b3R5cGVUYWJsZVZh
bHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9y
UHJvdG90eXBlVGFibGUgPSB7IDEsIDAsIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JQcm90b3R5cGVU
YWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JQ
cm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RFdmVudENvbnN0cnVjdG9yUHJvdG90eXBlIiwgJkJh
c2U6OnNfaW5mbywgJkpTVGVzdEV2ZW50Q29uc3RydWN0b3JQcm90b3R5cGVUYWJsZSwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU1Rlc3RFdmVudENvbnN0cnVjdG9yUHJvdG90eXBlKSB9OwogCiBK
U09iamVjdCogSlNUZXN0RXZlbnRDb25zdHJ1Y3RvclByb3RvdHlwZTo6c2VsZihWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRl
eCA0ZmYyYjEzYmJmYjhiYmE3NzZhY2Q3M2FmZjM3M2QxOTYyMjQ2Mjc4Li44YTIwZjA0Y2MwNjRl
NWYyZmNiYTUzN2FkYzJmNzc4NmZkNjdmMzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAK
QEAgLTQ2LDcgKzQ2LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEV2ZW50
VGFyZ2V0VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9
OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV2ZW50VGFyZ2V0VGFibGUgPSB7IDIs
IDEsIHRydWUsIEpTVGVzdEV2ZW50VGFyZ2V0VGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25z
dCBIYXNoVGFibGUgSlNUZXN0RXZlbnRUYXJnZXRUYWJsZSA9IHsgMiwgMSwgSlNUZXN0RXZlbnRU
YXJnZXRUYWJsZVZhbHVlcywgMCB9OwogLyogSGFzaCB0YWJsZSBmb3IgY29uc3RydWN0b3IgKi8K
IAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0
b3JUYWJsZVZhbHVlc1tdID0KQEAgLTU0LDcgKzU0LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZVZhbHVlIEpTVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3JUYWJsZVZhbHVlc1tdID0KICAgICB7
IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUg
SlNUZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3RvclRhYmxlID0geyAxLCAwLCBmYWxzZSwgSlNUZXN0
RXZlbnRUYXJnZXRDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFz
aFRhYmxlIEpTVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0
RXZlbnRUYXJnZXRDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CiBjb25zdCBDbGFzc0luZm8g
SlNUZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEV2ZW50VGFyZ2V0
Q29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0RXZlbnRUYXJnZXRDb25zdHJ1Y3Rv
clRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0
b3IpIH07CiAKIEpTVGVzdEV2ZW50VGFyZ2V0Q29uc3RydWN0b3I6OkpTVGVzdEV2ZW50VGFyZ2V0
Q29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCkBAIC04Niw3ICs4Niw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBK
U1Rlc3RFdmVudFRhcmdldFByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgTm9J
bnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFdmVu
dFRhcmdldFByb3RvdHlwZVRhYmxlID0geyA4LCA3LCBmYWxzZSwgSlNUZXN0RXZlbnRUYXJnZXRQ
cm90b3R5cGVUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RF
dmVudFRhcmdldFByb3RvdHlwZVRhYmxlID0geyA4LCA3LCBKU1Rlc3RFdmVudFRhcmdldFByb3Rv
dHlwZVRhYmxlVmFsdWVzLCAwIH07CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0RXZlbnRUYXJnZXRQ
cm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RFdmVudFRhcmdldFByb3RvdHlwZSIsICZCYXNlOjpz
X2luZm8sICZKU1Rlc3RFdmVudFRhcmdldFByb3RvdHlwZVRhYmxlLCAwLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKEpTVGVzdEV2ZW50VGFyZ2V0UHJvdG90eXBlKSB9OwogCiBKU09iamVjdCogSlNUZXN0
RXZlbnRUYXJnZXRQcm90b3R5cGU6OnNlbGYoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAppbmRleCBhOWM2ZmVkYjU5ZTRiMTg5MTEyZWY3
ZjI3YzJkOGMwM2NiOGExMGM3Li5kZTFmZjc1ZjQ4MzA3OGMyMGY2NTZmODA5OWY4Mzc5NDkyOGI3
OTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApAQCAtMzksNyArMzksNyBAQCBzdGF0aWMgY29u
c3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAw
LCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpT
VGVzdEV4Y2VwdGlvblRhYmxlID0geyA1LCAzLCB0cnVlLCBKU1Rlc3RFeGNlcHRpb25UYWJsZVZh
bHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFeGNlcHRpb25UYWJsZSA9
IHsgNSwgMywgSlNUZXN0RXhjZXB0aW9uVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUg
Zm9yIGNvbnN0cnVjdG9yICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RF
eGNlcHRpb25Db25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtNDcsNyArNDcsNyBAQCBzdGF0
aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3JUYWJsZVZh
bHVlc1tdID0KICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBj
b25zdCBIYXNoVGFibGUgSlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwg
ZmFsc2UsIEpTVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRp
YyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwg
MCwgSlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xh
c3NJbmZvIEpTVGVzdEV4Y2VwdGlvbkNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0RXhjZXB0
aW9uQ29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0
b3JUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RFeGNlcHRpb25Db25zdHJ1Y3Rv
cikgfTsKIAogSlNUZXN0RXhjZXB0aW9uQ29uc3RydWN0b3I6OkpTVGVzdEV4Y2VwdGlvbkNvbnN0
cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0
RXhjZXB0aW9uUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNp
YywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV4Y2VwdGlvblBy
b3RvdHlwZVRhYmxlID0geyAxLCAwLCBmYWxzZSwgSlNUZXN0RXhjZXB0aW9uUHJvdG90eXBlVGFi
bGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0RXhjZXB0aW9uUHJv
dG90eXBlVGFibGUgPSB7IDEsIDAsIEpTVGVzdEV4Y2VwdGlvblByb3RvdHlwZVRhYmxlVmFsdWVz
LCAwIH07CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0RXhjZXB0aW9uUHJvdG90eXBlOjpzX2luZm8g
PSB7ICJUZXN0RXhjZXB0aW9uUHJvdG90eXBlIiwgJkJhc2U6OnNfaW5mbywgJkpTVGVzdEV4Y2Vw
dGlvblByb3RvdHlwZVRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEV4Y2VwdGlv
blByb3RvdHlwZSkgfTsKIAogSlNPYmplY3QqIEpTVGVzdEV4Y2VwdGlvblByb3RvdHlwZTo6c2Vs
ZihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNo
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKaW5kZXggYWNlYzZmZjA3MDAxZDQwODY4ODIyZDM4Nzky
NjA3NDZiNmYwY2I3MS4uY2Q1ZGIzOWUwYTAzYWI1NjBiOWExYTJhM2I4OWI5MTI0ZmY4MWFkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcApAQCAtMzYsNyArMzYs
NyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJs
ZVRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAot
c3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlVGFibGUgPSB7
IDIsIDEsIHRydWUsIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVUYWJsZVZhbHVlcywgMCB9Owor
c3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlVGFibGUgPSB7
IDIsIDEsIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVUYWJsZVZhbHVlcywgMCB9OwogLyogSGFz
aCB0YWJsZSBmb3IgY29uc3RydWN0b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAt
NDQsNyArNDQsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZUNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJp
bnNpYywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEdlbmVyYXRl
SXNSZWFjaGFibGVDb25zdHJ1Y3RvclRhYmxlID0geyAxLCAwLCBmYWxzZSwgSlNUZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBI
YXNoVGFibGUgSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yVGFibGUgPSB7IDEs
IDAsIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07
CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yOjpz
X2luZm8gPSB7ICJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNf
aW5mbywgJkpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3RvclRhYmxlLCAwLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDb25zdHJ1Y3RvcikgfTsK
IAogSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNvbnN0cnVjdG9yOjpKU1Rlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFi
bGVWYWx1ZSBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9
CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFz
aFRhYmxlIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVQcm90b3R5cGVUYWJsZSA9IHsgMSwgMCwg
ZmFsc2UsIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9
Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJvdG90
eXBlVGFibGUgPSB7IDEsIDAsIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVQcm90b3R5cGVUYWJs
ZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVQ
cm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJvdG90eXBlIiwg
JkJhc2U6OnNfaW5mbywgJkpTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVQcm90b3R5cGVUYWJsZSwg
MCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJvdG90eXBl
KSB9OwogCiBKU09iamVjdCogSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZVByb3RvdHlwZTo6c2Vs
ZihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwCmluZGV4IDgxNzIyNTNhYTZlNTk4ZjUwNWY5MWZiMmI1ZjI1NTcyODFhZDNkNzkuLmM5MWNh
OTE2ZWZkNmQzMDY0MmQ3YjA1YTlkYTNlODFlYzAzZTdiNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwCkBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RJ
bnRlcmZhY2VUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0K
IH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0SW50ZXJmYWNlVGFibGUgPSB7IDMz
LCAzMSwgdHJ1ZSwgSlNUZXN0SW50ZXJmYWNlVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25z
dCBIYXNoVGFibGUgSlNUZXN0SW50ZXJmYWNlVGFibGUgPSB7IDMzLCAzMSwgSlNUZXN0SW50ZXJm
YWNlVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAK
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclRh
YmxlVmFsdWVzW10gPQpAQCAtMTE3LDcgKzExNyw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVW
YWx1ZSBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwg
MCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rl
c3RJbnRlcmZhY2VDb25zdHJ1Y3RvclRhYmxlID0geyAxMSwgNywgdHJ1ZSwgSlNUZXN0SW50ZXJm
YWNlQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBK
U1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclRhYmxlID0geyAxMSwgNywgSlNUZXN0SW50ZXJmYWNl
Q29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8
fCBFTkFCTEUoQ29uZGl0aW9uMjMpCiBDT01QSUxFX0FTU0VSVCgxID09IFRlc3RJbnRlcmZhY2U6
OklNUExFTUVOVFNDT05TVEFOVDEsIFRlc3RJbnRlcmZhY2VFbnVtSU1QTEVNRU5UU0NPTlNUQU5U
MUlzV3JvbmdVc2VEb05vdENoZWNrQ29uc3RhbnRzKTsKQEAgLTIyMCw3ICsyMjAsNyBAQCBzdGF0
aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlVGFibGVWYWx1
ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29u
c3QgSGFzaFRhYmxlIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlID0geyAzNCwgMzEsIHRy
dWUsIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29u
c3QgSGFzaFRhYmxlIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlID0geyAzNCwgMzEsIEpT
VGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CiBjb25zdCBDbGFzc0luZm8g
SlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlOjpzX2luZm8gPSB7ICJUZXN0SW50ZXJmYWNlUHJvdG90
eXBlIiwgJkJhc2U6OnNfaW5mbywgJkpTVGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlLCAwLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEludGVyZmFjZVByb3RvdHlwZSkgfTsKIAogSlNPYmpl
Y3QqIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZTo6c2VsZihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCkBAIC00NDksNyArNDQ5LDcgQEAgdm9pZCBKU1Rlc3RJbnRlcmZhY2U6
OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmEKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CiAg
ICAgaWYgKHRoaXNPYmplY3QtPnB1dERlbGVnYXRlKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUs
IHNsb3QpKQogICAgICAgICByZXR1cm47Ci0gICAgQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMs
IHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOworICAgIGxvb2t1cFB1dDxKU1Rlc3RJbnRlcmZh
Y2UsIEJhc2U+KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIEpTVGVzdEludGVyZmFjZVRhYmxl
LCB0aGlzT2JqZWN0LCBzbG90KTsKIH0KIAogdm9pZCBKU1Rlc3RJbnRlcmZhY2U6OnB1dEJ5SW5k
ZXgoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVl
IHZhbHVlLCBib29sIHNob3VsZFRocm93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIuY3BwCmluZGV4IGIyNjBlNmZhNTNiZWJjYThhYWI1YmJhYjlmYzc2YTA2N2U2
ZDQwNDUuLjZmMWZhZTFlOTRkNThmZmIxNzNjOGYwNTZjODdkNDVkMmIxMjQ4MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKQEAgLTQwLDcgKzQwLDcg
QEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXJUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAK
LXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclRhYmxl
ID0geyAyLCAxLCB0cnVlLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVGFibGVWYWx1ZXMs
IDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
clRhYmxlID0geyAyLCAxLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVGFibGVWYWx1ZXMs
IDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAKIHN0YXRpYyBjb25zdCBI
YXNoVGFibGVWYWx1ZSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JUYWJs
ZVZhbHVlc1tdID0KQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10KICAg
ICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFi
bGUgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yVGFibGUgPSB7IDEsIDAs
IGZhbHNlLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JUYWJsZVZhbHVl
cywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ckNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyQ29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yVGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJD
b25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKQEAgLTc3LDcgKzc3LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAgICB7
IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUg
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZVRhYmxlID0geyAyLCAxLCBmYWxz
ZSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07
CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90
b3R5cGVUYWJsZSA9IHsgMiwgMSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlw
ZVRhYmxlVmFsdWVzLCAwIH07CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lclByb3RvdHlwZTo6c19pbmZvID0geyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQ
cm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclBy
b3RvdHlwZVRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJQcm90b3R5cGUpIH07CiAKIEpTT2JqZWN0KiBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyUHJvdG90eXBlOjpzZWxmKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAppbmRleCBkZmMzNDJmOTFkOGJh
MTM0NDQ0MjU0ZmJmZGIyOWMwMTJjYzI1MjdkLi5iMzk0ODhkMTkwZjZmODVhMDAzMzY0MjdmMDli
OWQ4MmRlMDIxZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCkBAIC0z
OSw3ICszOSw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3ROYW1lZENvbnN0
cnVjdG9yVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9
OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JUYWJsZSA9
IHsgMiwgMSwgdHJ1ZSwgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07Citz
dGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JUYWJsZSA9IHsgMiwg
MSwgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CiAvKiBIYXNoIHRhYmxl
IGZvciBjb25zdHJ1Y3RvciAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0
TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CkBAIC00Nyw3ICs0Nyw3
IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29u
c3RydWN0b3JUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0K
IH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0
cnVjdG9yVGFibGUgPSB7IDEsIDAsIGZhbHNlLCBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3Ry
dWN0b3JUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3ROYW1l
ZENvbnN0cnVjdG9yQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0TmFtZWRDb25zdHJ1
Y3RvckNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RO
YW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3ROYW1lZENvbnN0cnVj
dG9yQ29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNv
bnN0cnVjdG9yVGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TmFtZWRDb25zdHJ1
Y3RvckNvbnN0cnVjdG9yKSB9OwogCiBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6
OkpTVGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAgLTExOSw3ICsxMTksNyBAQCBzdGF0
aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvclByb3RvdHlwZVRh
YmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yUHJvdG90eXBlVGFibGUg
PSB7IDEsIDAsIGZhbHNlLCBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yUHJvdG90eXBlVGFibGVWYWx1
ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvclBy
b3RvdHlwZVRhYmxlID0geyAxLCAwLCBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yUHJvdG90eXBlVGFi
bGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yUHJv
dG90eXBlOjpzX2luZm8gPSB7ICJUZXN0TmFtZWRDb25zdHJ1Y3RvclByb3RvdHlwZSIsICZCYXNl
OjpzX2luZm8sICZKU1Rlc3ROYW1lZENvbnN0cnVjdG9yUHJvdG90eXBlVGFibGUsIDAsIENSRUFU
RV9NRVRIT0RfVEFCTEUoSlNUZXN0TmFtZWRDb25zdHJ1Y3RvclByb3RvdHlwZSkgfTsKIAogSlNP
YmplY3QqIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JQcm90b3R5cGU6OnNlbGYoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCmluZGV4IGU2NDcwZTFkYzBlMDJj
YjE4OGI4ZjQ0N2IwNDc4ZjE0MmYyNzFhNDQuLmNiYTc1M2Q4ZGMwOGYzMzcyZWI3MGI2MWZlMDVk
YjU1NmNkYzQ0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgc3RhdGljIGNvbnN0
IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE5vZGVUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIE5v
SW50cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0Tm9k
ZVRhYmxlID0geyAyLCAxLCB0cnVlLCBKU1Rlc3ROb2RlVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRp
YyBjb25zdCBIYXNoVGFibGUgSlNUZXN0Tm9kZVRhYmxlID0geyAyLCAxLCBKU1Rlc3ROb2RlVGFi
bGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAKIHN0YXRp
YyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3ROb2RlQ29uc3RydWN0b3JUYWJsZVZhbHVlc1td
ID0KQEAgLTQ3LDcgKzQ3LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE5v
ZGVDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAs
IDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3ROb2RlQ29uc3RydWN0b3JU
YWJsZSA9IHsgMSwgMCwgZmFsc2UsIEpTVGVzdE5vZGVDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAw
IH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE5vZGVDb25zdHJ1Y3RvclRhYmxlID0g
eyAxLCAwLCBKU1Rlc3ROb2RlQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3ROb2RlQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTVGVz
dE5vZGUoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVGVzdE5vZGVDb25zdHJ1Y3RvciogY2Fz
dGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3ROb2RlQ29uc3RydWN0b3IqPihleGVjLT5jYWxsZWUoKSk7
CkBAIC04OCw3ICs4OCw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3ROb2Rl
UHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9
CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE5vZGVQcm90b3R5cGVUYWJsZSA9
IHsgMSwgMCwgZmFsc2UsIEpTVGVzdE5vZGVQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9Oworc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3ROb2RlUHJvdG90eXBlVGFibGUgPSB7IDEsIDAsIEpT
VGVzdE5vZGVQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVz
dE5vZGVQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3ROb2RlUHJvdG90eXBlIiwgJkJhc2U6OnNf
aW5mbywgJkpTVGVzdE5vZGVQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShK
U1Rlc3ROb2RlUHJvdG90eXBlKSB9OwogCiBKU09iamVjdCogSlNUZXN0Tm9kZVByb3RvdHlwZTo6
c2VsZihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4
IDBhNGNmYTExOGJlZjNmYTdlMzE4M2E5YTQ5YmE3MTY1YWU5NDg4MWIuLjc0NDMzMTYxZmY4Zjdj
NTU4MzVjY2JmOWFjYzg3NjlkZmEyZmY4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xNTgsNyArMTU4LDcg
QEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialRhYmxlVmFsdWVzW10gPQog
ICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hU
YWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgMjY2LCAyNTUsIHRydWUsIEpTVGVzdE9ialRhYmxlVmFs
dWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE9ialRhYmxlID0geyAyNjYs
IDI1NSwgSlNUZXN0T2JqVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0
cnVjdG9yICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpDb25zdHJ1
Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtMTkzLDcgKzE5Myw3IEBAIHN0YXRpYyBjb25zdCBIYXNo
VGFibGVWYWx1ZSBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwg
MCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rl
c3RPYmpDb25zdHJ1Y3RvclRhYmxlID0geyAzOSwgMzEsIHRydWUsIEpTVGVzdE9iakNvbnN0cnVj
dG9yVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0T2JqQ29u
c3RydWN0b3JUYWJsZSA9IHsgMzksIDMxLCBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlVmFsdWVz
LCAwIH07CiAKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKIENPTVBJTEVfQVNTRVJUKDAgPT0gVGVz
dE9iajo6Q09ORElUSU9OQUxfQ09OU1QsIFRlc3RPYmpFbnVtQ09ORElUSU9OQUxfQ09OU1RJc1dy
b25nVXNlRG9Ob3RDaGVja0NvbnN0YW50cyk7CkBAIC0zNDEsNyArMzQxLDcgQEAgc3RhdGljIGNv
bnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAg
IHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZSA9IHsgMjY3LCAyNTUsIHRydWUsIEpTVGVzdE9ialBy
b3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE9i
alByb3RvdHlwZVRhYmxlID0geyAyNjcsIDI1NSwgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1
ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RPYmpQcm90b3R5cGU6OnNfaW5mbyA9IHsg
IlRlc3RPYmplY3RQcm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0T2JqUHJvdG90eXBl
VGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0T2JqUHJvdG90eXBlKSB9OwogCiBK
U09iamVjdCogSlNUZXN0T2JqUHJvdG90eXBlOjpzZWxmKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKQEAgLTEzMTcsNiArMTMxNywxMyBAQCBFbmNvZGVkSlNWYWx1ZSBqc1Rl
c3RPYmpDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNUZXN0T2JqOjpnZXRDb25zdHJ1Y3Rv
cihleGVjLT52bSgpLCBkb21PYmplY3QtPmdsb2JhbE9iamVjdCgpKSk7CiB9CiAKK3ZvaWQgSlNU
ZXN0T2JqOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAg
ICBKU1Rlc3RPYmoqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNUZXN0T2JqKj4oY2VsbCk7CisgICAg
QVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIGxvb2t1
cFB1dDxKU1Rlc3RPYmosIEJhc2U+KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIEpTVGVzdE9i
alRhYmxlLCB0aGlzT2JqZWN0LCBzbG90KTsKK30KKwogdm9pZCBzZXRKU1Rlc3RPYmpDb25zdHJ1
Y3RvclN0YXRpY1N0cmluZ0F0dHIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQogewogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVl
OjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRleCA4ZWRmMWNkM2FiZDA4MGQ4ZTBlOTUw
MGViMDE1MmJiYzAyZmQxYjkxLi5kMmZhNzk1YmU5NWFiNDUyNWM4YTBmYTllY2RjZWRjYTk2MTMz
OTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5oCkBAIC00MSw2ICs0MSw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBKU0M6
OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3Qq
KTsKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpKU09iamVjdCosIEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpQcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7Cisg
ICAgc3RhdGljIHZvaWQgcHV0KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlBy
b3BlcnR5TmFtZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFByb3BlcnR5U2xvdCYpOwogICAgIHN0
YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKICAgICB+SlNUZXN0T2JqKCk7CiAgICAg
REVDTEFSRV9JTkZPOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMu
Y3BwCmluZGV4IDViZDliMmY3YmUyNDFkN2YyNzdhYTY2OGYxM2E4OWNjZTExZDk5MzEuLjU2YzRi
OWVmMmYzMjI1NGRhMmM0YjhiZDdkYjRhODdiYTU0NWZlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgc3RhdGljIGNv
bnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNUYWJsZVZhbHVl
c1tdID0KICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25z
dCBIYXNoVGFibGUgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1RhYmxlID0geyAyLCAxLCB0
cnVlLCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRp
YyBjb25zdCBIYXNoVGFibGUgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1RhYmxlID0geyAy
LCAxLCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhh
c2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1
ZSBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3JUYWJsZVZhbHVlc1tdID0K
QEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10KICAgICB7IDAsIDAsIE5v
SW50cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yVGFibGUgPSB7IDEsIDAsIGZhbHNlLCBKU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9Oworc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0
b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9y
VGFibGVWYWx1ZXMsIDAgfTsKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yOjpjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzMShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yc0NvbnN0cnVjdG9yKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxlZSgpKTsKQEAgLTE0Nyw3ICsx
NDcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9yc1Byb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMs
IDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzUHJvdG90eXBlVGFibGUgPSB7IDEsIDAsIGZhbHNlLCBKU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNo
VGFibGUgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1Byb3RvdHlwZVRhYmxlID0geyAxLCAw
LCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsK
IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzUHJvdG90eXBlOjpz
X2luZm8gPSB7ICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1Byb3RvdHlwZSIsICZCYXNlOjpz
X2luZm8sICZKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzUHJvdG90eXBlVGFibGUsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1Byb3RvdHlwZSkg
fTsKIAogSlNPYmplY3QqIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNQcm90b3R5cGU6OnNl
bGYoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCBlYzEy
NDA0Y2NiMWI5ODVkZDlmM2RkOTU2MmE2M2U1MDBhMWQxYTQxLi43NGE2YmNlM2IxMGFjMWQzMmQx
MzkzYTYzZWZkMTJhMjk2YjU1YWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMg
Y29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9OwogCi1z
dGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZVRhYmxlID0geyAxNywgMTUsIHRydWUsIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVRhYmxlID0geyAxNywgMTUsIEpTVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVRhYmxlVmFsdWVzLCAwIH07CiAvKiBIYXNoIHRhYmxlIGZv
ciBjb25zdHJ1Y3RvciAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZVZhbHVlc1tdID0KQEAg
LTU2LDcgKzU2LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yVGFibGUKICAgICB7IDAsIDAsIE5vSW50
cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgZmFsc2Us
IEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yVGFibGVWYWx1
ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xh
c3NJbmZvIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yOjpz
X2luZm8gPSB7ICJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3Ii
LCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29u
c3RydWN0b3JUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3RvcikgfTsKIAogSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3I6OkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZUNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQpAQCAtODQsNyArODQsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxl
VmFsdWUgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUHJvdG90eXBlVGFibGVW
YQogICAgIHsgMCwgMCwgTm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhh
c2hUYWJsZSBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGVUYWJs
ZSA9IHsgMSwgMCwgZmFsc2UsIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVBy
b3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlwZVRhYmxlID0geyAxLCAwLCBKU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9
OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVBy
b3RvdHlwZTo6c19pbmZvID0geyAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVBy
b3RvdHlwZSIsICZCYXNlOjpzX2luZm8sICZKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2VQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGUpIH07CiAKIEpTT2JqZWN0KiBKU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGU6OnNlbGYoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpAQCAtMjEwLDYgKzIxMCwxMyBAQCBFbmNvZGVkSlNW
YWx1ZSBqc1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDb25zdHJ1Y3RvcihFeGVj
U3RhdGUqIGV4ZWMsCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1Rlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKGV4ZWMtPnZtKCksIGRvbU9iamVj
dC0+Z2xvYmFsT2JqZWN0KCkpKTsKIH0KIAordm9pZCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2U6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KQor
eworICAgIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogdGhpc09iamVjdCA9
IGpzQ2FzdDxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqPihjZWxsKTsKKyAg
ICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgbG9v
a3VwUHV0PEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSwgQmFzZT4oZXhlYywg
cHJvcGVydHlOYW1lLCB2YWx1ZSwgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
VGFibGUsIHRoaXNPYmplY3QsIHNsb3QpOworfQorCiB2b2lkIHNldEpTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZVZhbHVlKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpCiB7CiAgICAgSlNWYWx1ZSB2
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IDZmZTJkOWFiYzJh
OGQwZTMyM2EyYjYwMjYzMWRjN2I0Mzg1OGNhMzYuLjQ5MjNhZjk4M2IzYjYzNzlkMzYzZTU0NTJj
NjI3YTNhMmVkOTlmZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlLmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogCiAgICAgc3Rh
dGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0dsb2Jh
bE9iamVjdCopOwogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTT2Jq
ZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNs
b3QmKTsKKyAgICBzdGF0aWMgdm9pZCBwdXQoSlNDOjpKU0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6UHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUsIEpTQzo6UHV0UHJvcGVydHlTbG90Jik7
CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwogICAgIH5KU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UoKTsKICAgICBERUNMQVJFX0lORk87CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRl
ZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5
cGVkZWZzLmNwcAppbmRleCAxM2EwNjI1NzgwNmY2YTJjZTQ1ZWE0MTkwYTRjMDg3MDllMzRiOTQy
Li4xMmY5N2I0NWZjNzZmOWI3ZDk4ODk1MWRmOTk0MmJkM2I4MDVlYWU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBl
ZGVmcy5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpT
VGVzdFR5cGVkZWZzVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwg
MCB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdFR5cGVkZWZzVGFibGUgPSB7
IDE4LCAxNSwgdHJ1ZSwgSlNUZXN0VHlwZWRlZnNUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNv
bnN0IEhhc2hUYWJsZSBKU1Rlc3RUeXBlZGVmc1RhYmxlID0geyAxOCwgMTUsIEpTVGVzdFR5cGVk
ZWZzVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAK
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yVGFi
bGVWYWx1ZXNbXSA9CkBAIC02Niw3ICs2Niw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1
ZSBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBO
b0ludHJpbnNpYywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdFR5
cGVkZWZzQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgdHJ1ZSwgSlNUZXN0VHlwZWRlZnNDb25z
dHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdFR5
cGVkZWZzQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rv
clRhYmxlVmFsdWVzLCAwIH07CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdFR5
cGVkZWZzQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTVGVzdFR5cGVkZWZzKEV4ZWNTdGF0ZSogZXhl
YykKIHsKICAgICBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yKiBjYXN0ZWRUaGlzID0ganNDYXN0
PEpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3IqPihleGVjLT5jYWxsZWUoKSk7CkBAIC0xMjUsNyAr
MTI1LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdFR5cGVkZWZzUHJvdG90
eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9Owog
Ci1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdFR5cGVkZWZzUHJvdG90eXBlVGFibGUgPSB7
IDMzLCAzMSwgZmFsc2UsIEpTVGVzdFR5cGVkZWZzUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsK
K3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0VHlwZWRlZnNQcm90b3R5cGVUYWJsZSA9IHsg
MzMsIDMxLCBKU1Rlc3RUeXBlZGVmc1Byb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CiBjb25zdCBD
bGFzc0luZm8gSlNUZXN0VHlwZWRlZnNQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RUeXBlZGVm
c1Byb3RvdHlwZSIsICZCYXNlOjpzX2luZm8sICZKU1Rlc3RUeXBlZGVmc1Byb3RvdHlwZVRhYmxl
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdFR5cGVkZWZzUHJvdG90eXBlKSB9OwogCiBK
U09iamVjdCogSlNUZXN0VHlwZWRlZnNQcm90b3R5cGU6OnNlbGYoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQpAQCAtMjc2LDYgKzI3NiwxMyBAQCBFbmNvZGVkSlNWYWx1ZSBq
c1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNUZXN0VHlwZWRlZnM6OmdldENv
bnN0cnVjdG9yKGV4ZWMtPnZtKCksIGRvbU9iamVjdC0+Z2xvYmFsT2JqZWN0KCkpKTsKIH0KIAor
dm9pZCBKU1Rlc3RUeXBlZGVmczo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3Qm
IHNsb3QpCit7CisgICAgSlNUZXN0VHlwZWRlZnMqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNUZXN0
VHlwZWRlZnMqPihjZWxsKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmpl
Y3QsIGluZm8oKSk7CisgICAgbG9va3VwUHV0PEpTVGVzdFR5cGVkZWZzLCBCYXNlPihleGVjLCBw
cm9wZXJ0eU5hbWUsIHZhbHVlLCBKU1Rlc3RUeXBlZGVmc1RhYmxlLCB0aGlzT2JqZWN0LCBzbG90
KTsKK30KKwogdm9pZCBzZXRKU1Rlc3RUeXBlZGVmc1Vuc2lnbmVkTG9uZ0xvbmdBdHRyKEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpCiB7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
VmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFR5cGVkZWZzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0VHlwZWRlZnMuaAppbmRleCA5MGFjMzM2YmFmMjI3YzlmNjA1N2M5M2RmYmNj
ZTBkODlkOGQ3NWU2Li40MTY1ZmI2ZTA5NGFjYzhhMjAwMzAxYmZlM2E0ODQ4YmZhNjVhZTU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
VHlwZWRlZnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0VHlwZWRlZnMuaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
SlNDOjpKU09iamVjdCogY3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0Kik7CiAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQzo6SlNPYmplY3Qq
LCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYp
OworICAgIHN0YXRpYyB2b2lkIHB1dChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpQcm9wZXJ0eU5hbWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9wZXJ0eVNsb3QmKTsKICAg
ICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7CiAgICAgfkpTVGVzdFR5cGVkZWZz
KCk7CiAgICAgREVDTEFSRV9JTkZPOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU2F0dHJpYnV0ZS5jcHAKaW5kZXggOTAwYjY4MzIyNGM5ZTY0
Y2Q2ZjBkMjkxNjkxY2Y1MWJkZGY4MmU5OS4uMWU0MGM4YWE5NDk4N2JmYjI1YzE1MGUxYWJlN2Vm
ODg5NGYxZmM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTYXR0cmlidXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHN0YXRpYyBjb25z
dCBIYXNoVGFibGVWYWx1ZSBKU2F0dHJpYnV0ZVRhYmxlVmFsdWVzW10gPQogICAgIHsgMCwgMCwg
Tm9JbnRyaW5zaWMsIDAsIDAgfQogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU2F0dHJp
YnV0ZVRhYmxlID0geyA0LCAzLCB0cnVlLCBKU2F0dHJpYnV0ZVRhYmxlVmFsdWVzLCAwIH07Citz
dGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTYXR0cmlidXRlVGFibGUgPSB7IDQsIDMsIEpTYXR0cmli
dXRlVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAK
IHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yVGFibGVW
YWx1ZXNbXSA9CkBAIC00Nyw3ICs0Nyw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBK
U2F0dHJpYnV0ZUNvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAwLCAwLCBOb0ludHJp
bnNpYywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTYXR0cmlidXRlQ29u
c3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgZmFsc2UsIEpTYXR0cmlidXRlQ29uc3RydWN0b3JUYWJs
ZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU2F0dHJpYnV0ZUNvbnN0cnVj
dG9yVGFibGUgPSB7IDEsIDAsIEpTYXR0cmlidXRlQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9
OwogY29uc3QgQ2xhc3NJbmZvIEpTYXR0cmlidXRlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgImF0
dHJpYnV0ZUNvbnN0cnVjdG9yIiwgJkJhc2U6OnNfaW5mbywgJkpTYXR0cmlidXRlQ29uc3RydWN0
b3JUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yKSB9
OwogCiBKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yOjpKU2F0dHJpYnV0ZUNvbnN0cnVjdG9yKFN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpAQCAtNzUs
NyArNzUsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNhdHRyaWJ1dGVQcm90b3R5
cGVUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAK
LXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNhdHRyaWJ1dGVQcm90b3R5cGVUYWJsZSA9IHsgMSwg
MCwgZmFsc2UsIEpTYXR0cmlidXRlUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBj
b25zdCBIYXNoVGFibGUgSlNhdHRyaWJ1dGVQcm90b3R5cGVUYWJsZSA9IHsgMSwgMCwgSlNhdHRy
aWJ1dGVQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTYXR0cmli
dXRlUHJvdG90eXBlOjpzX2luZm8gPSB7ICJhdHRyaWJ1dGVQcm90b3R5cGUiLCAmQmFzZTo6c19p
bmZvLCAmSlNhdHRyaWJ1dGVQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShK
U2F0dHJpYnV0ZVByb3RvdHlwZSkgfTsKIAogSlNPYmplY3QqIEpTYXR0cmlidXRlUHJvdG90eXBl
OjpzZWxmKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmNwcApp
bmRleCBlODQxMzcyMDc5MTU2YWY4YzM3ZDZlYTI5ZjQ5MWYxMjc0NTk4YzUyLi41MzJiNzg4ZWI3
Mzg1NDJhZmM2ZmUzZjllZDQxOTUwYzc0MDdlNmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuY3BwCkBAIC0zNiw3ICsz
Niw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU3JlYWRvbmx5VGFibGVWYWx1ZXNb
XSA9CiAgICAgeyAwLCAwLCBOb0ludHJpbnNpYywgMCwgMCB9CiB9OwogCi1zdGF0aWMgY29uc3Qg
SGFzaFRhYmxlIEpTcmVhZG9ubHlUYWJsZSA9IHsgMiwgMSwgdHJ1ZSwgSlNyZWFkb25seVRhYmxl
VmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTcmVhZG9ubHlUYWJsZSA9IHsg
MiwgMSwgSlNyZWFkb25seVRhYmxlVmFsdWVzLCAwIH07CiAvKiBIYXNoIHRhYmxlIGZvciBjb25z
dHJ1Y3RvciAqLwogCiBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNyZWFkb25seUNvbnN0
cnVjdG9yVGFibGVWYWx1ZXNbXSA9CkBAIC00NCw3ICs0NCw3IEBAIHN0YXRpYyBjb25zdCBIYXNo
VGFibGVWYWx1ZSBKU3JlYWRvbmx5Q29uc3RydWN0b3JUYWJsZVZhbHVlc1tdID0KICAgICB7IDAs
IDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNy
ZWFkb25seUNvbnN0cnVjdG9yVGFibGUgPSB7IDEsIDAsIGZhbHNlLCBKU3JlYWRvbmx5Q29uc3Ry
dWN0b3JUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU3JlYWRvbmx5
Q29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNyZWFkb25seUNvbnN0cnVjdG9yVGFibGVWYWx1
ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU3JlYWRvbmx5Q29uc3RydWN0b3I6OnNfaW5mbyA9
IHsgInJlYWRvbmx5Q29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCAmSlNyZWFkb25seUNvbnN0
cnVjdG9yVGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNyZWFkb25seUNvbnN0cnVjdG9y
KSB9OwogCiBKU3JlYWRvbmx5Q29uc3RydWN0b3I6OkpTcmVhZG9ubHlDb25zdHJ1Y3RvcihTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAgLTcy
LDcgKzcyLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTcmVhZG9ubHlQcm90b3R5
cGVUYWJsZVZhbHVlc1tdID0KICAgICB7IDAsIDAsIE5vSW50cmluc2ljLCAwLCAwIH0KIH07CiAK
LXN0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNyZWFkb25seVByb3RvdHlwZVRhYmxlID0geyAxLCAw
LCBmYWxzZSwgSlNyZWFkb25seVByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29u
c3QgSGFzaFRhYmxlIEpTcmVhZG9ubHlQcm90b3R5cGVUYWJsZSA9IHsgMSwgMCwgSlNyZWFkb25s
eVByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CiBjb25zdCBDbGFzc0luZm8gSlNyZWFkb25seVBy
b3RvdHlwZTo6c19pbmZvID0geyAicmVhZG9ubHlQcm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCAm
SlNyZWFkb25seVByb3RvdHlwZVRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTcmVhZG9u
bHlQcm90b3R5cGUpIH07CiAKIEpTT2JqZWN0KiBKU3JlYWRvbmx5UHJvdG90eXBlOjpzZWxmKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCmluZGV4IDU0ZDliMDQz
MTI2OWVmNTRmZWZmZjdiMDY3NmQzZDJlZjJmZTA5ZGQuLjU3MThlYjU1NzRkNGFjZTdjY2M2Mzdh
OTI5ZDVlNThjMzlhYjY2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbApAQCAtMjM3LDYgKzIzNyw3IEBAIHR5cGVkZWYg
Lyp1bnJlc3RyaWN0ZWQqLyBmbG9hdCBHTGNsYW1wZjsKICAgICBjb25zdCBHTGVudW0gSU5UICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgxNDA0OwogICAgIGNvbnN0IEdMZW51bSBVTlNJ
R05FRF9JTlQgICAgICAgICAgICAgICAgICAgPSAweDE0MDU7CiAgICAgY29uc3QgR0xlbnVtIEZM
T0FUICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MTQwNjsKKyAgICBjb25zdCBHTGVudW0g
SEFMRl9GTE9BVF9PRVMgICAgICAgICAgICAgICAgID0gMHg4RDYxOwogCiAgICAgLyogUGl4ZWxG
b3JtYXQgKi8KICAgICBjb25zdCBHTGVudW0gREVQVEhfQ09NUE9ORU5UICAgICAgICAgICAgICAg
ID0gMHgxOTAyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGM2YTg3ZmY5MzY5NmU3OWM2YTkyNjc5YjBkODQ5Y2YyMjEyNmMy
OTMuLjdiOGZlZTc3ZDBhNGE1M2Q0MWNhNTFjMjZkOGMxOWE3ZDM0OGE1YmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNC0wMS0yNCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2MjcxMy4KKyAgICAg
ICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTYyNzEzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc1OTMKKworICAgICAgICBicm9r
ZSBtZWRpYS9uZXR3b3JrLW5vLXNvdXJjZS1jb25zdC1zaGFkb3cgKFJlcXVlc3RlZCBieQorICAg
ICAgICB0aG9ydG9uIG9uICN3ZWJraXQpLgorCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wv
Y29uc3RhbnRzLmh0bWw6CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL3N0YXRpYy1wdXQtaW4t
cHJvdG90eXBlLWNoYWluLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGpzL3N0YXRpYy1wdXQtaW4t
cHJvdG90eXBlLWNoYWluLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBqcy9zdGF0
aWMtcHV0LWluLXByb3RvdHlwZS1jaGFpbi5odG1sOiBSZW1vdmVkLgorCiAyMDE0LTAxLTI0ICBP
bGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgR2VuZXJpYyBKU09iamVj
dDo6cHV0IHNob3VsZCBoYW5kbGUgc3RhdGljIHByb3BlcnRpZXMgaW4gdGhlIGNsYXNzaW5mbyBo
aWVyYXJjaHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0
YW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29uc3RhbnRzLmh0bWwK
aW5kZXggYTA0OTA0N2IzYWRjNTFjODkwZTc3ZjNkM2ZiYWMwYTkyOWVmNDFkZi4uM2M3NzE0MTVh
ZWUzNTMyYmU1ZjYwNDEzOGUwMTVkY2ZlMWJjYWNmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvY29uc3RhbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvY29uc3RhbnRzLmh0bWwKQEAgLTIxMiw2ICsyMTIsNyBAQCBVTlNJR05FRF9T
SE9SVCAgICAgICAgICAgICAgICAgOiAweDE0MDMsCiBJTlQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOiAweDE0MDQsCiBVTlNJR05FRF9JTlQgICAgICAgICAgICAgICAgICAgOiAweDE0MDUs
CiBGTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAweDE0MDYsCitIQUxGX0ZMT0FUX09F
UyAgICAgICAgICAgICAgICAgOiAweDhENjEsCiAgICAgCiAgICAgLyogUGl4ZWxGb3JtYXQgKi8K
IERFUFRIX0NPTVBPTkVOVCAgICAgICAgICAgICAgICA6IDB4MTkwMiwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9zdGF0aWMtcHV0LWluLXByb3RvdHlwZS1jaGFpbi5q
cyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9zdGF0aWMtcHV0LWluLXByb3RvdHlwZS1j
aGFpbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDE5MWQyMWM0MjMxMDFkMjk0
MDNiYjI1YTg3MTQxM2ExNTI5MDMzYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvc3RhdGljLXB1dC1pbi1w
cm90b3R5cGUtY2hhaW4uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1kZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB3ZSB3aWxsIGNhbGwgYSBjdXN0b20gc2V0dGVy
IHdoZW4gdGhlIHNldHRlciBpcyBpbiB0aGUgcHJvdG90eXBlIGNoYWluIik7Ci0KLS8vIFRoZSBS
ZWdFeHAgT2JqZWN0IGlzIGEgY29udmVuaWVudCBjb25zdHJ1Y3RvciB3aXRoIGEgY3VzdG9tIHNl
dHRlci4KLS8vIFRoaXMgd2lsbCBhbHNvIHRlc3QgdGhlIHdlaXJkIGJlaGF2aW91ciBpbiB3aGlj
aCB0aGUgUmVnRXhwIGNvbnN0cnVjdG9yCi0vLyBzZXR0ZXJzIGFyZSBleHBlY3RlZCB0byBhY3Qg
b24gdGhlIGJhc2Ugb2JqZWN0IChlLmcuIHRoZSBjb25zdHJ1Y3RvciBvYmplY3QpCi0vLyByYXRo
ZXIgdGhhbiB0aGUgdGhpcyB2YWx1ZS4KLXZhciB0ZXN0T2JqZWN0ID0ge19fcHJvdG9fXzogUmVn
RXhwIH0KLQotdGVzdE9iamVjdC5pbnB1dCA9ICJ0ZXN0SW5wdXQiCi0KLXNob3VsZEJlKCJ0ZXN0
T2JqZWN0LmlucHV0IiwgIid0ZXN0SW5wdXQnIikKLXNob3VsZEJlKCJSZWdFeHAuaW5wdXQiLCAi
J3Rlc3RJbnB1dCciKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc3RhdGljLXB1dC1pbi1w
cm90b3R5cGUtY2hhaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvc3RhdGljLXB1dC1p
bi1wcm90b3R5cGUtY2hhaW4tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxYzgzMTYxNWRhNTliYTcwNTRjZjhiYzE5ODQ3MTZkZGRjMTkzMDQwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2pzL3N0YXRp
Yy1wdXQtaW4tcHJvdG90eXBlLWNoYWluLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDExICswLDAgQEAKLVRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgd2Ugd2lsbCBjYWxsIGEgY3VzdG9t
IHNldHRlciB3aGVuIHRoZSBzZXR0ZXIgaXMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZXN0T2JqZWN0LmlucHV0IGlzICd0ZXN0
SW5wdXQnCi1QQVNTIFJlZ0V4cC5pbnB1dCBpcyAndGVzdElucHV0JwotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2pzL3N0YXRpYy1wdXQtaW4tcHJvdG90eXBlLWNoYWluLmh0bWwgYi9MYXlvdXRUZXN0cy9q
cy9zdGF0aWMtcHV0LWluLXByb3RvdHlwZS1jaGFpbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjYzFhODFjMDM2MThmMzI4NjU0NDFlZmUzNTBlYTZhOTJmMTkwMzc0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2pz
L3N0YXRpYy1wdXQtaW4tcHJvdG90eXBlLWNoYWluLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
c3RhdGljLXB1dC1pbi1wcm90b3R5cGUtY2hhaW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>