<?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>144769</bug_id>
          
          <creation_ts>2015-05-07 15:21:58 -0700</creation_ts>
          <short_desc>Pass String as reference in more places</short_desc>
          <delta_ts>2015-05-13 11:53:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alecflett</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>burg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1092786</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-05-07 15:21:58 -0700</bug_when>
    <thetext>* SUMMARY
Pass String as reference in more places.

This covers all cases where a String was being passed as not a reference in JavaScriptCore. And a sprinkle of cases in WebCore/WebKit2. This doesn&apos;t cover all cases there because there are many.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092866</commentid>
    <comment_count>1</comment_count>
      <attachid>252654</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-05-07 16:59:49 -0700</bug_when>
    <thetext>Created attachment 252654
[PATCH] Proposed Fix

Use &quot;const String&amp;&quot; in places where parameters were passing just a &quot;String&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092867</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-07 17:00:52 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093064</commentid>
    <comment_count>3</comment_count>
      <attachid>252654</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-07 23:44:05 -0700</bug_when>
    <thetext>Comment on attachment 252654
[PATCH] Proposed Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=252654&amp;action=review

&gt; Source/JavaScriptCore/parser/Parser.h:656
&gt; +    void setErrorMessage(const String&amp; msg)

For your consideration, I suggest we rename msg to message.

&gt; Source/JavaScriptCore/parser/Parser.h:670
&gt; +    NEVER_INLINE void updateErrorWithNameAndMessage(const char* beforeMsg, const String&amp; name, const char* afterMsg)

For your consideration, I suggest we rename beforeMsg and afterMsg to beforeMessage and afterMessage, respectively.

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:684
&gt; +    void dumpString(const String&amp; str)

For your consideration, I suggest we rename parameter str to string.

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:694
&gt; +    void dumpStringObject(const String&amp; str)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094505</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-05-13 11:53:34 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/184291</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252654</attachid>
            <date>2015-05-07 16:59:49 -0700</date>
            <delta_ts>2015-05-13 11:34:45 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>refrences.patch</filename>
            <type>text/plain</type>
            <size>36028</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDNlNTM5ZjguLmQ5NzI0NDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE1LTA1LTA3ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgUGFzcyBTdHJpbmcgYXMgcmVmZXJl
bmNlIGluIG1vcmUgcGxhY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDQ3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGRlYnVnZ2VyL0JyZWFrcG9pbnQuaDoKKyAgICAgICAgKEpTQzo6QnJlYWtw
b2ludDo6QnJlYWtwb2ludCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OnNldEVycm9yTWVzc2FnZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6dXBk
YXRlRXJyb3JXaXRoTmFtZUFuZE1lc3NhZ2UpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJFcnJv
ci5oOgorICAgICAgICAoSlNDOjpQYXJzZXJFcnJvcjo6UGFyc2VyRXJyb3IpOgorICAgICAgICAq
IHJ1bnRpbWUvUmVnRXhwLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwRnVuY3Rpb25hbFRlc3RD
b2xsZWN0b3I6Om91dHB1dE9uZVRlc3QpOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwT2JqZWN0
LmNwcDoKKyAgICAgICAgKEpTQzo6cmVnRXhwT2JqZWN0U291cmNlSW50ZXJuYWwpOgorICAgICAg
ICAqIHJ1bnRpbWUvVHlwZVByb2ZpbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVByb2ZpbGVy
Ojp0eXBlSW5mb3JtYXRpb25Gb3JFeHByZXNzaW9uQXRPZmZzZXQpOgorICAgICAgICAqIHJ1bnRp
bWUvVHlwZVByb2ZpbGVyTG9nLmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVByb2ZpbGVyTG9nOjpw
cm9jZXNzTG9nRW50cmllcyk6CisgICAgICAgICogcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuaDoK
KyAgICAgICAgKiB0b29scy9GdW5jdGlvbk92ZXJyaWRlcy5jcHA6CisgICAgICAgIChKU0M6Omlu
aXRpYWxpemVPdmVycmlkZUluZm8pOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVn
ZW4vZ2VuZXJhdGVfb2JqY19jb252ZXJzaW9uX2hlbHBlcnMucHk6CisgICAgICAgIChPYmpDQ29u
dmVyc2lvbkhlbHBlcnNHZW5lcmF0b3IuX2dlbmVyYXRlX2VudW1fZnJvbV9wcm90b2NvbF9zdHJp
bmcpOgorCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9vYmpjX2dlbmVyYXRv
cl90ZW1wbGF0ZXMucHk6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0
ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQ6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1j
YWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMu
anNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
ZW51bS12YWx1ZXMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdDoK
KyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1kb21h
aW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2FtZS10eXBlLWlkLWRpZmZlcmVudC1kb21haW4uanNv
bi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2hh
ZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmlt
aXRpdmUtdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1l
bnVtLXR5cGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdDoKKyAgICAg
ICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50
aW1lLWNhc3RzLmpzb24tcmVzdWx0OgorICAgICAgICBSZWJhc2VsaW5lIHRlc3RzIGFmdGVyIHVw
ZGF0aW5nIHRoZSBnZW5lcmF0b3IuCisKIDIwMTUtMDQtMDIgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2luZyB0aGUgUGxhdGZvcm0g
QWJzdHJhY3Rpb24gTGF5ZXIgKFBBTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZWJ1Z2dlci9CcmVha3BvaW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIv
QnJlYWtwb2ludC5oCmluZGV4IDYwZjRmZDUuLjg1MThjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9CcmVha3BvaW50LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RlYnVnZ2VyL0JyZWFrcG9pbnQuaApAQCAtNDMsNyArNDMsNyBAQCBzdHJ1Y3QgQnJl
YWtwb2ludCA6IHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxCcmVha3BvaW50PiB7CiAgICAg
ewogICAgIH0KIAotICAgIEJyZWFrcG9pbnQoU291cmNlSUQgc291cmNlSUQsIHVuc2lnbmVkIGxp
bmUsIHVuc2lnbmVkIGNvbHVtbiwgU3RyaW5nIGNvbmRpdGlvbiwgYm9vbCBhdXRvQ29udGludWUp
CisgICAgQnJlYWtwb2ludChTb3VyY2VJRCBzb3VyY2VJRCwgdW5zaWduZWQgbGluZSwgdW5zaWdu
ZWQgY29sdW1uLCBjb25zdCBTdHJpbmcmIGNvbmRpdGlvbiwgYm9vbCBhdXRvQ29udGludWUpCiAg
ICAgICAgIDogaWQobm9CcmVha3BvaW50SUQpCiAgICAgICAgICwgc291cmNlSUQoc291cmNlSUQp
CiAgICAgICAgICwgbGluZShsaW5lKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfb2JqY19jb252ZXJzaW9uX2hlbHBl
cnMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9n
ZW5lcmF0ZV9vYmpjX2NvbnZlcnNpb25faGVscGVycy5weQppbmRleCA0YmQ1YWIzLi5jMzFlOTkx
IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29k
ZWdlbi9nZW5lcmF0ZV9vYmpjX2NvbnZlcnNpb25faGVscGVycy5weQorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9vYmpjX2NvbnZl
cnNpb25faGVscGVycy5weQpAQCAtMTQ0LDcgKzE0NCw3IEBAIGNsYXNzIE9iakNDb252ZXJzaW9u
SGVscGVyc0dlbmVyYXRvcihHZW5lcmF0b3IpOgogICAgIGRlZiBfZ2VuZXJhdGVfZW51bV9mcm9t
X3Byb3RvY29sX3N0cmluZyhzZWxmLCBvYmpjX2VudW1fbmFtZSwgZW51bV92YWx1ZXMpOgogICAg
ICAgICBsaW5lcyA9IFtdCiAgICAgICAgIGxpbmVzLmFwcGVuZCgndGVtcGxhdGU8PicpCi0gICAg
ICAgIGxpbmVzLmFwcGVuZCgnaW5saW5lICVzIGZyb21Qcm90b2NvbFN0cmluZyhTdHJpbmcgdmFs
dWUpJyAlIG9iamNfZW51bV9uYW1lKQorICAgICAgICBsaW5lcy5hcHBlbmQoJ2lubGluZSAlcyBm
cm9tUHJvdG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSknICUgb2JqY19lbnVtX25hbWUp
CiAgICAgICAgIGxpbmVzLmFwcGVuZCgneycpCiAgICAgICAgIGZvciBlbnVtX3ZhbHVlIGluIGVu
dW1fdmFsdWVzOgogICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgaWYgKHZhbHVlID09ICIl
cyIpJyAlIGVudW1fdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9vYmpjX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9vYmpjX2dlbmVyYXRv
cl90ZW1wbGF0ZXMucHkKaW5kZXggYTAyZjI2OC4uZWY3MTJiOCAxMDA3NTUKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vb2JqY19nZW5lcmF0b3Jf
dGVtcGxhdGVzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9jb2RlZ2VuL29iamNfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpAQCAtNTUsNyArNTUsNyBAQCBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsiIiIpCiAKICAgICBDb252ZXJzaW9uSGVscGVyc1N0YW5kYXJk
ID0gKAogICAgICIiInRlbXBsYXRlPHR5cGVuYW1lIE9iakNFbnVtVHlwZT4KLU9iakNFbnVtVHlw
ZSBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKTsiIiIpCitPYmpDRW51bVR5cGUgZnJv
bVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpOyIiIikKIAogICAgIEJhY2tlbmRE
aXNwYXRjaGVySGVhZGVyUHJlbHVkZSA9ICgKICAgICAiIiIke2luY2x1ZGVzfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVk
L2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgt
YXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0CmluZGV4IDBjNmM3ZmQuLjE1ZDZhNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBl
Y3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFu
ZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQKQEAgLTEyMjYsNyArMTIyNiw3IEBA
IHZvaWQgT2JqQ0luc3BlY3RvckRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXI6OmV4ZWN1dGVTUUxB
c3luYyhsb25nIGNhbGxJZCwgaW50IGluCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgT2JqQ0VudW1UeXBlPgotT2JqQ0VudW1UeXBlIGZyb21Qcm90b2NvbFN0cmlu
ZyhTdHJpbmcgdmFsdWUpOworT2JqQ0VudW1UeXBlIGZyb21Qcm90b2NvbFN0cmluZyhjb25zdCBT
dHJpbmcmIHZhbHVlKTsKIAogCiBpbmxpbmUgU3RyaW5nIHRvUHJvdG9jb2xTdHJpbmcoUldJUHJv
dG9jb2xEYXRhYmFzZVByaW1hcnlDb2xvcnMgdmFsdWUpCkBAIC0xMjQyLDcgKzEyNDIsNyBAQCBp
bmxpbmUgU3RyaW5nIHRvUHJvdG9jb2xTdHJpbmcoUldJUHJvdG9jb2xEYXRhYmFzZVByaW1hcnlD
b2xvcnMgdmFsdWUpCiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBSV0lQcm90b2NvbERhdGFiYXNl
UHJpbWFyeUNvbG9ycyBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKQoraW5saW5lIFJX
SVByb3RvY29sRGF0YWJhc2VQcmltYXJ5Q29sb3JzIGZyb21Qcm90b2NvbFN0cmluZyhjb25zdCBT
dHJpbmcmIHZhbHVlKQogewogICAgIGlmICh2YWx1ZSA9PSAicmVkIikKICAgICAgICAgcmV0dXJu
IFJXSVByb3RvY29sRGF0YWJhc2VQcmltYXJ5Q29sb3JzUmVkOwpAQCAtMTI2OSw3ICsxMjY5LDcg
QEAgaW5saW5lIFN0cmluZyB0b1Byb3RvY29sU3RyaW5nKFJXSVByb3RvY29sRGF0YWJhc2VFeGVj
dXRlU1FMU3luY09wdGlvbmFsUmV0dXJuVmEKIH0KIAogdGVtcGxhdGU8PgotaW5saW5lIFJXSVBy
b3RvY29sRGF0YWJhc2VFeGVjdXRlU1FMU3luY09wdGlvbmFsUmV0dXJuVmFsdWVzUHJpbnRDb2xv
ciBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKQoraW5saW5lIFJXSVByb3RvY29sRGF0
YWJhc2VFeGVjdXRlU1FMU3luY09wdGlvbmFsUmV0dXJuVmFsdWVzUHJpbnRDb2xvciBmcm9tUHJv
dG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAodmFsdWUgPT0gImN5
YW4iKQogICAgICAgICByZXR1cm4gUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVTUUxTeW5jT3B0
aW9uYWxSZXR1cm5WYWx1ZXNQcmludENvbG9yQ3lhbjsKQEAgLTEyOTgsNyArMTI5OCw3IEBAIGlu
bGluZSBTdHJpbmcgdG9Qcm90b2NvbFN0cmluZyhSV0lQcm90b2NvbERhdGFiYXNlRXhlY3V0ZVNR
TEFzeW5jT3B0aW9uYWxSZXR1cm5WCiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBSV0lQcm90b2Nv
bERhdGFiYXNlRXhlY3V0ZVNRTEFzeW5jT3B0aW9uYWxSZXR1cm5WYWx1ZXNQcmludENvbG9yIGZy
b21Qcm90b2NvbFN0cmluZyhTdHJpbmcgdmFsdWUpCitpbmxpbmUgUldJUHJvdG9jb2xEYXRhYmFz
ZUV4ZWN1dGVTUUxBc3luY09wdGlvbmFsUmV0dXJuVmFsdWVzUHJpbnRDb2xvciBmcm9tUHJvdG9j
b2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAodmFsdWUgPT0gImN5YW4i
KQogICAgICAgICByZXR1cm4gUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVTUUxBc3luY09wdGlv
bmFsUmV0dXJuVmFsdWVzUHJpbnRDb2xvckN5YW47CkBAIC0xMzI3LDcgKzEzMjcsNyBAQCBpbmxp
bmUgU3RyaW5nIHRvUHJvdG9jb2xTdHJpbmcoUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVTUUxT
eW5jUHJpbnRDb2xvciB2YWx1ZQogfQogCiB0ZW1wbGF0ZTw+Ci1pbmxpbmUgUldJUHJvdG9jb2xE
YXRhYmFzZUV4ZWN1dGVTUUxTeW5jUHJpbnRDb2xvciBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5n
IHZhbHVlKQoraW5saW5lIFJXSVByb3RvY29sRGF0YWJhc2VFeGVjdXRlU1FMU3luY1ByaW50Q29s
b3IgZnJvbVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKHZh
bHVlID09ICJjeWFuIikKICAgICAgICAgcmV0dXJuIFJXSVByb3RvY29sRGF0YWJhc2VFeGVjdXRl
U1FMU3luY1ByaW50Q29sb3JDeWFuOwpAQCAtMTM1Niw3ICsxMzU2LDcgQEAgaW5saW5lIFN0cmlu
ZyB0b1Byb3RvY29sU3RyaW5nKFJXSVByb3RvY29sRGF0YWJhc2VFeGVjdXRlU1FMQXN5bmNQcmlu
dENvbG9yIHZhbHUKIH0KIAogdGVtcGxhdGU8PgotaW5saW5lIFJXSVByb3RvY29sRGF0YWJhc2VF
eGVjdXRlU1FMQXN5bmNQcmludENvbG9yIGZyb21Qcm90b2NvbFN0cmluZyhTdHJpbmcgdmFsdWUp
CitpbmxpbmUgUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVTUUxBc3luY1ByaW50Q29sb3IgZnJv
bVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKHZhbHVlID09
ICJjeWFuIikKICAgICAgICAgcmV0dXJuIFJXSVByb3RvY29sRGF0YWJhc2VFeGVjdXRlU1FMQXN5
bmNQcmludENvbG9yQ3lhbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwt
cmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxs
LXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CmluZGV4IGNhN2UxYTcuLjkwMDQ1NjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9l
eHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVy
cy5qc29uLXJlc3VsdApAQCAtMTA3Nyw3ICsxMDc3LDcgQEAgdm9pZCBPYmpDSW5zcGVjdG9yRGF0
YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcjo6ZXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzKGxvbmcg
Y2EKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmpDRW51bVR5
cGU+Ci1PYmpDRW51bVR5cGUgZnJvbVByb3RvY29sU3RyaW5nKFN0cmluZyB2YWx1ZSk7CitPYmpD
RW51bVR5cGUgZnJvbVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpOwogCiAKIGlu
bGluZSBTdHJpbmcgdG9Qcm90b2NvbFN0cmluZyhSV0lQcm90b2NvbERhdGFiYXNlUHJpbWFyeUNv
bG9ycyB2YWx1ZSkKQEAgLTEwOTMsNyArMTA5Myw3IEBAIGlubGluZSBTdHJpbmcgdG9Qcm90b2Nv
bFN0cmluZyhSV0lQcm90b2NvbERhdGFiYXNlUHJpbWFyeUNvbG9ycyB2YWx1ZSkKIH0KIAogdGVt
cGxhdGU8PgotaW5saW5lIFJXSVByb3RvY29sRGF0YWJhc2VQcmltYXJ5Q29sb3JzIGZyb21Qcm90
b2NvbFN0cmluZyhTdHJpbmcgdmFsdWUpCitpbmxpbmUgUldJUHJvdG9jb2xEYXRhYmFzZVByaW1h
cnlDb2xvcnMgZnJvbVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAg
aWYgKHZhbHVlID09ICJyZWQiKQogICAgICAgICByZXR1cm4gUldJUHJvdG9jb2xEYXRhYmFzZVBy
aW1hcnlDb2xvcnNSZWQ7CkBAIC0xMTIwLDcgKzExMjAsNyBAQCBpbmxpbmUgU3RyaW5nIHRvUHJv
dG9jb2xTdHJpbmcoUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVBbGxPcHRpb25hbFBhcmFtZXRl
cnNQcgogfQogCiB0ZW1wbGF0ZTw+Ci1pbmxpbmUgUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVB
bGxPcHRpb25hbFBhcmFtZXRlcnNQcmludENvbG9yIGZyb21Qcm90b2NvbFN0cmluZyhTdHJpbmcg
dmFsdWUpCitpbmxpbmUgUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVBbGxPcHRpb25hbFBhcmFt
ZXRlcnNQcmludENvbG9yIGZyb21Qcm90b2NvbFN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQog
ewogICAgIGlmICh2YWx1ZSA9PSAiY3lhbiIpCiAgICAgICAgIHJldHVybiBSV0lQcm90b2NvbERh
dGFiYXNlRXhlY3V0ZUFsbE9wdGlvbmFsUGFyYW1ldGVyc1ByaW50Q29sb3JDeWFuOwpAQCAtMTE0
OSw3ICsxMTQ5LDcgQEAgaW5saW5lIFN0cmluZyB0b1Byb3RvY29sU3RyaW5nKFJXSVByb3RvY29s
RGF0YWJhc2VFeGVjdXRlQWxsT3B0aW9uYWxQYXJhbWV0ZXJzUHIKIH0KIAogdGVtcGxhdGU8Pgot
aW5saW5lIFJXSVByb3RvY29sRGF0YWJhc2VFeGVjdXRlQWxsT3B0aW9uYWxQYXJhbWV0ZXJzUHJp
bnRDb2xvciBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKQoraW5saW5lIFJXSVByb3Rv
Y29sRGF0YWJhc2VFeGVjdXRlQWxsT3B0aW9uYWxQYXJhbWV0ZXJzUHJpbnRDb2xvciBmcm9tUHJv
dG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAodmFsdWUgPT0gImN5
YW4iKQogICAgICAgICByZXR1cm4gUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVBbGxPcHRpb25h
bFBhcmFtZXRlcnNQcmludENvbG9yQ3lhbjsKQEAgLTExNzgsNyArMTE3OCw3IEBAIGlubGluZSBT
dHJpbmcgdG9Qcm90b2NvbFN0cmluZyhSV0lQcm90b2NvbERhdGFiYXNlRXhlY3V0ZU5vT3B0aW9u
YWxQYXJhbWV0ZXJzUHJpCiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBSV0lQcm90b2NvbERhdGFi
YXNlRXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzUHJpbnRDb2xvciBmcm9tUHJvdG9jb2xTdHJp
bmcoU3RyaW5nIHZhbHVlKQoraW5saW5lIFJXSVByb3RvY29sRGF0YWJhc2VFeGVjdXRlTm9PcHRp
b25hbFBhcmFtZXRlcnNQcmludENvbG9yIGZyb21Qcm90b2NvbFN0cmluZyhjb25zdCBTdHJpbmcm
IHZhbHVlKQogewogICAgIGlmICh2YWx1ZSA9PSAiY3lhbiIpCiAgICAgICAgIHJldHVybiBSV0lQ
cm90b2NvbERhdGFiYXNlRXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzUHJpbnRDb2xvckN5YW47
CkBAIC0xMjA3LDcgKzEyMDcsNyBAQCBpbmxpbmUgU3RyaW5nIHRvUHJvdG9jb2xTdHJpbmcoUldJ
UHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVyc1ByaQogfQogCiB0ZW1w
bGF0ZTw+Ci1pbmxpbmUgUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVOb09wdGlvbmFsUGFyYW1l
dGVyc1ByaW50Q29sb3IgZnJvbVByb3RvY29sU3RyaW5nKFN0cmluZyB2YWx1ZSkKK2lubGluZSBS
V0lQcm90b2NvbERhdGFiYXNlRXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzUHJpbnRDb2xvciBm
cm9tUHJvdG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAodmFsdWUg
PT0gImN5YW4iKQogICAgICAgICByZXR1cm4gUldJUHJvdG9jb2xEYXRhYmFzZUV4ZWN1dGVOb09w
dGlvbmFsUGFyYW1ldGVyc1ByaW50Q29sb3JDeWFuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12
YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29t
bWFuZC1zaXplcy5qc29uLXJlc3VsdAppbmRleCBkYmY0Y2I2Li4xOTBiMjYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
ZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlu
cy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdApAQCAtMTEwMyw3ICsxMTAz
LDcgQEAgdm9pZCBPYmpDSW5zcGVjdG9yTmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlcjo6bG9hZFJl
c291cmNlNyhsb25nIGNhbGxJZCkKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBPYmpDRW51bVR5cGU+Ci1PYmpDRW51bVR5cGUgZnJvbVByb3RvY29sU3RyaW5nKFN0
cmluZyB2YWx1ZSk7CitPYmpDRW51bVR5cGUgZnJvbVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpOwogCiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0t
dmFsdWVzLmpzb24tcmVzdWx0CmluZGV4IDY2N2Q0MmEuLjlkNzQ4NTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVt
LXZhbHVlcy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQKQEAgLTgzNSw3
ICs4MzUsNyBAQCB2b2lkIE9iakNJbnNwZWN0b3JDb21tYW5kRG9tYWluQmFja2VuZERpc3BhdGNo
ZXI6OmNvbW1hbmRXaXRoRW51bVJldHVyblZhbHVlKGxvbgogbmFtZXNwYWNlIEluc3BlY3RvciB7
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIE9iakNFbnVtVHlwZT4KLU9iakNFbnVtVHlwZSBmcm9tUHJv
dG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKTsKK09iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJp
bmcoY29uc3QgU3RyaW5nJiB2YWx1ZSk7CiAKIAogaW5saW5lIFN0cmluZyB0b1Byb3RvY29sU3Ry
aW5nKFJXSVByb3RvY29sVHlwZURvbWFpbkVudW0gdmFsdWUpCkBAIC04NTMsNyArODUzLDcgQEAg
aW5saW5lIFN0cmluZyB0b1Byb3RvY29sU3RyaW5nKFJXSVByb3RvY29sVHlwZURvbWFpbkVudW0g
dmFsdWUpCiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBSV0lQcm90b2NvbFR5cGVEb21haW5FbnVt
IGZyb21Qcm90b2NvbFN0cmluZyhTdHJpbmcgdmFsdWUpCitpbmxpbmUgUldJUHJvdG9jb2xUeXBl
RG9tYWluRW51bSBmcm9tUHJvdG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAg
ICBpZiAodmFsdWUgPT0gInNoYXJlZCIpCiAgICAgICAgIHJldHVybiBSV0lQcm90b2NvbFR5cGVE
b21haW5FbnVtU2hhcmVkOwpAQCAtODgzLDcgKzg4Myw3IEBAIGlubGluZSBTdHJpbmcgdG9Qcm90
b2NvbFN0cmluZyhSV0lQcm90b2NvbENvbW1hbmREb21haW5Db21tYW5kV2l0aEVudW1SZXR1cm5W
YWx1CiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBSV0lQcm90b2NvbENvbW1hbmREb21haW5Db21t
YW5kV2l0aEVudW1SZXR1cm5WYWx1ZVJldHVyblZhbHVlIGZyb21Qcm90b2NvbFN0cmluZyhTdHJp
bmcgdmFsdWUpCitpbmxpbmUgUldJUHJvdG9jb2xDb21tYW5kRG9tYWluQ29tbWFuZFdpdGhFbnVt
UmV0dXJuVmFsdWVSZXR1cm5WYWx1ZSBmcm9tUHJvdG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2
YWx1ZSkKIHsKICAgICBpZiAodmFsdWUgPT0gInNoYXJlZCIpCiAgICAgICAgIHJldHVybiBSV0lQ
cm90b2NvbENvbW1hbmREb21haW5Db21tYW5kV2l0aEVudW1SZXR1cm5WYWx1ZVJldHVyblZhbHVl
U2hhcmVkOwpAQCAtOTExLDcgKzkxMSw3IEBAIGlubGluZSBTdHJpbmcgdG9Qcm90b2NvbFN0cmlu
ZyhSV0lQcm90b2NvbEV2ZW50RG9tYWluRXZlbnRXaXRoRW51bVBhcmFtZXRlclBhcmFtCiB9CiAK
IHRlbXBsYXRlPD4KLWlubGluZSBSV0lQcm90b2NvbEV2ZW50RG9tYWluRXZlbnRXaXRoRW51bVBh
cmFtZXRlclBhcmFtZXRlciBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKQoraW5saW5l
IFJXSVByb3RvY29sRXZlbnREb21haW5FdmVudFdpdGhFbnVtUGFyYW1ldGVyUGFyYW1ldGVyIGZy
b21Qcm90b2NvbFN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIGlmICh2YWx1ZSA9
PSAic2hhcmVkIikKICAgICAgICAgcmV0dXJuIFJXSVByb3RvY29sRXZlbnREb21haW5FdmVudFdp
dGhFbnVtUGFyYW1ldGVyUGFyYW1ldGVyU2hhcmVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9w
dGlvbmFsLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1l
dGVycy5qc29uLXJlc3VsdAppbmRleCBhZWY3OTI5Li40YjYyMmQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZXZlbnRz
LXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0
aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdApAQCAtNzg0LDcgKzc4NCw3IEBAIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IE9iakNFbnVtVHlwZT4KLU9iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZh
bHVlKTsKK09iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1
ZSk7CiAKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3VhcmRz
Lmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJl
c3VsdAppbmRleCBlZDJjYjljLi5iYjhkMjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13
aXRoLWZlYXR1cmUtZ3VhcmRzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgt
ZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1bHQKQEAgLTg4MSw3ICs4ODEsNyBAQCB2b2lkIE9iakNJ
bnNwZWN0b3JOZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVyOjpsb2FkUmVzb3VyY2UobG9uZyBjYWxs
SWQpCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgT2JqQ0VudW1U
eXBlPgotT2JqQ0VudW1UeXBlIGZyb21Qcm90b2NvbFN0cmluZyhTdHJpbmcgdmFsdWUpOworT2Jq
Q0VudW1UeXBlIGZyb21Qcm90b2NvbFN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKTsKIAogCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zYW1l
LXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdAppbmRleCAwMTg0Nzg5Li5jMjcy
ZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZXhwZWN0ZWQvc2FtZS10eXBlLWlkLWRpZmZlcmVudC1kb21haW4uanNvbi1yZXN1bHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0CkBAIC02NDYsNyAr
NjQ2LDcgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgT2JqQ0VudW1UeXBlPgotT2JqQ0VudW1UeXBlIGZyb21Qcm90b2Nv
bFN0cmluZyhTdHJpbmcgdmFsdWUpOworT2JqQ0VudW1UeXBlIGZyb21Qcm90b2NvbFN0cmluZyhj
b25zdCBTdHJpbmcmIHZhbHVlKTsKIAogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10
eXBlLXNldHRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpz
b24tcmVzdWx0CmluZGV4IDNhNjFjNTIuLmE4MTg2ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zaGFkb3dlZC1vcHRp
b25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5cGUt
c2V0dGVycy5qc29uLXJlc3VsdApAQCAtNzE1LDcgKzcxNSw3IEBAIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIE9iakNFbnVt
VHlwZT4KLU9iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKTsKK09i
akNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSk7CiAKIAog
aW5saW5lIFN0cmluZyB0b1Byb3RvY29sU3RyaW5nKFJXSVByb3RvY29sUnVudGltZUtleVBhdGhU
eXBlIHZhbHVlKQpAQCAtNzMxLDcgKzczMSw3IEBAIGlubGluZSBTdHJpbmcgdG9Qcm90b2NvbFN0
cmluZyhSV0lQcm90b2NvbFJ1bnRpbWVLZXlQYXRoVHlwZSB2YWx1ZSkKIH0KIAogdGVtcGxhdGU8
PgotaW5saW5lIFJXSVByb3RvY29sUnVudGltZUtleVBhdGhUeXBlIGZyb21Qcm90b2NvbFN0cmlu
ZyhTdHJpbmcgdmFsdWUpCitpbmxpbmUgUldJUHJvdG9jb2xSdW50aW1lS2V5UGF0aFR5cGUgZnJv
bVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKHZhbHVlID09
ICJudWxsIikKICAgICAgICAgcmV0dXJuIFJXSVByb3RvY29sUnVudGltZUtleVBhdGhUeXBlTnVs
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5cGUuanNv
bi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVz
dWx0CmluZGV4IDAyMzdhZTIuLjUzYjNmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFs
aWFzZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxp
YXNlZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdApAQCAtNjM3LDcgKzYzNyw3IEBAIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIE9iakNFbnVtVHlwZT4KLU9iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5n
IHZhbHVlKTsKK09iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2
YWx1ZSk7CiAKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdAppbmRleCA0NmZj
ZWQ5Li43ZTllZjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24t
cmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKQEAgLTY2
OSw3ICs2NjksNyBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmpDRW51bVR5cGU+Ci1PYmpDRW51bVR5cGUgZnJvbVBy
b3RvY29sU3RyaW5nKFN0cmluZyB2YWx1ZSk7CitPYmpDRW51bVR5cGUgZnJvbVByb3RvY29sU3Ry
aW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpOwogCiAKIGlubGluZSBTdHJpbmcgdG9Qcm90b2NvbFN0
cmluZyhSV0lQcm90b2NvbERlYnVnZ2VyUmVhc29uIHZhbHVlKQpAQCAtNjg1LDcgKzY4NSw3IEBA
IGlubGluZSBTdHJpbmcgdG9Qcm90b2NvbFN0cmluZyhSV0lQcm90b2NvbERlYnVnZ2VyUmVhc29u
IHZhbHVlKQogfQogCiB0ZW1wbGF0ZTw+Ci1pbmxpbmUgUldJUHJvdG9jb2xEZWJ1Z2dlclJlYXNv
biBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKQoraW5saW5lIFJXSVByb3RvY29sRGVi
dWdnZXJSZWFzb24gZnJvbVByb3RvY29sU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAg
ICAgaWYgKHZhbHVlID09ICJEaWVkIikKICAgICAgICAgcmV0dXJuIFJXSVByb3RvY29sRGVidWdn
ZXJSZWFzb25EaWVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0CmluZGV4IGY1ZDU2
YjMuLjZkNjNkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJl
c3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQKQEAgLTY2Niw3
ICs2NjYsNyBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIG5hbWVzcGFjZSBJbnNwZWN0b3Igewog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmpDRW51bVR5cGU+Ci1PYmpDRW51bVR5cGUgZnJvbVByb3Rv
Y29sU3RyaW5nKFN0cmluZyB2YWx1ZSk7CitPYmpDRW51bVR5cGUgZnJvbVByb3RvY29sU3RyaW5n
KGNvbnN0IFN0cmluZyYgdmFsdWUpOwogCiAKIGlubGluZSBTdHJpbmcgdG9Qcm90b2NvbFN0cmlu
ZyhSV0lQcm90b2NvbFJ1bnRpbWVGYXJtQW5pbWFscyB2YWx1ZSkKQEAgLTY4NCw3ICs2ODQsNyBA
QCBpbmxpbmUgU3RyaW5nIHRvUHJvdG9jb2xTdHJpbmcoUldJUHJvdG9jb2xSdW50aW1lRmFybUFu
aW1hbHMgdmFsdWUpCiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBSV0lQcm90b2NvbFJ1bnRpbWVG
YXJtQW5pbWFscyBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKQoraW5saW5lIFJXSVBy
b3RvY29sUnVudGltZUZhcm1BbmltYWxzIGZyb21Qcm90b2NvbFN0cmluZyhjb25zdCBTdHJpbmcm
IHZhbHVlKQogewogICAgIGlmICh2YWx1ZSA9PSAiUGlncyIpCiAgICAgICAgIHJldHVybiBSV0lQ
cm90b2NvbFJ1bnRpbWVGYXJtQW5pbWFsc1BpZ3M7CkBAIC03MTMsNyArNzEzLDcgQEAgaW5saW5l
IFN0cmluZyB0b1Byb3RvY29sU3RyaW5nKFJXSVByb3RvY29sUnVudGltZVR3b0xlZ2dlZEFuaW1h
bHMgdmFsdWUpCiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBSV0lQcm90b2NvbFJ1bnRpbWVUd29M
ZWdnZWRBbmltYWxzIGZyb21Qcm90b2NvbFN0cmluZyhTdHJpbmcgdmFsdWUpCitpbmxpbmUgUldJ
UHJvdG9jb2xSdW50aW1lVHdvTGVnZ2VkQW5pbWFscyBmcm9tUHJvdG9jb2xTdHJpbmcoY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAodmFsdWUgPT0gIkR1Y2tzIikKICAgICAgICAgcmV0
dXJuIFJXSVByb3RvY29sUnVudGltZVR3b0xlZ2dlZEFuaW1hbHNEdWNrczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24t
b2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggYjVmNGRhYS4uNmU5NDk0MSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVk
L3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFy
YXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKQEAgLTExMDYsNyArMTEwNiw3IEBAIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIE9iakNFbnVtVHlwZT4KLU9iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5n
IHZhbHVlKTsKK09iakNFbnVtVHlwZSBmcm9tUHJvdG9jb2xTdHJpbmcoY29uc3QgU3RyaW5nJiB2
YWx1ZSk7CiAKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5qc29u
LXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9l
eHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CmluZGV4IGY0
OTA3NTYuLjllYjFkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpz
b24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CkBA
IC05OTMsNyArOTkzLDcgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiBuYW1lc3BhY2UgSW5zcGVj
dG9yIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgT2JqQ0VudW1UeXBlPgotT2JqQ0VudW1UeXBlIGZy
b21Qcm90b2NvbFN0cmluZyhTdHJpbmcgdmFsdWUpOworT2JqQ0VudW1UeXBlIGZyb21Qcm90b2Nv
bFN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKTsKIAogCiBpbmxpbmUgU3RyaW5nIHRvUHJvdG9j
b2xTdHJpbmcoUldJUHJvdG9jb2xUZXN0VW5jYXN0ZWRBbmltYWxzIHZhbHVlKQpAQCAtMTAxMSw3
ICsxMDExLDcgQEAgaW5saW5lIFN0cmluZyB0b1Byb3RvY29sU3RyaW5nKFJXSVByb3RvY29sVGVz
dFVuY2FzdGVkQW5pbWFscyB2YWx1ZSkKIH0KIAogdGVtcGxhdGU8PgotaW5saW5lIFJXSVByb3Rv
Y29sVGVzdFVuY2FzdGVkQW5pbWFscyBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKQor
aW5saW5lIFJXSVByb3RvY29sVGVzdFVuY2FzdGVkQW5pbWFscyBmcm9tUHJvdG9jb2xTdHJpbmco
Y29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAodmFsdWUgPT0gIlBpZ3MiKQogICAgICAg
ICByZXR1cm4gUldJUHJvdG9jb2xUZXN0VW5jYXN0ZWRBbmltYWxzUGlnczsKQEAgLTEwNDAsNyAr
MTA0MCw3IEBAIGlubGluZSBTdHJpbmcgdG9Qcm90b2NvbFN0cmluZyhSV0lQcm90b2NvbFRlc3RD
YXN0ZWRBbmltYWxzIHZhbHVlKQogfQogCiB0ZW1wbGF0ZTw+Ci1pbmxpbmUgUldJUHJvdG9jb2xU
ZXN0Q2FzdGVkQW5pbWFscyBmcm9tUHJvdG9jb2xTdHJpbmcoU3RyaW5nIHZhbHVlKQoraW5saW5l
IFJXSVByb3RvY29sVGVzdENhc3RlZEFuaW1hbHMgZnJvbVByb3RvY29sU3RyaW5nKGNvbnN0IFN0
cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKHZhbHVlID09ICJEdWNrcyIpCiAgICAgICAgIHJldHVy
biBSV0lQcm90b2NvbFRlc3RDYXN0ZWRBbmltYWxzRHVja3M7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuaAppbmRleCAzZGZmOGU0Li44YzJkNGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTY1Myw3ICs2NTMsNyBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uOwogICAgIH0KIAotICAgIHZvaWQgc2V0RXJyb3JNZXNz
YWdlKFN0cmluZyBtc2cpCisgICAgdm9pZCBzZXRFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBt
c2cpCiAgICAgewogICAgICAgICBtX2Vycm9yTWVzc2FnZSA9IG1zZzsKICAgICB9CkBAIC02Njcs
NyArNjY3LDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQSwgdHlwZW5hbWUg
QiwgdHlwZW5hbWUgQywgdHlwZW5hbWUgRCwgdHlwZW5hbWUgRSwgdHlwZW5hbWUgRj4gTkVWRVJf
SU5MSU5FIHZvaWQgbG9nRXJyb3IoYm9vbCwgY29uc3QgQSYsIGNvbnN0IEImLCBjb25zdCBDJiwg
Y29uc3QgRCYsIGNvbnN0IEUmLCBjb25zdCBGJik7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEs
IHR5cGVuYW1lIEIsIHR5cGVuYW1lIEMsIHR5cGVuYW1lIEQsIHR5cGVuYW1lIEUsIHR5cGVuYW1l
IEYsIHR5cGVuYW1lIEc+IE5FVkVSX0lOTElORSB2b2lkIGxvZ0Vycm9yKGJvb2wsIGNvbnN0IEEm
LCBjb25zdCBCJiwgY29uc3QgQyYsIGNvbnN0IEQmLCBjb25zdCBFJiwgY29uc3QgRiYsIGNvbnN0
IEcmKTsKICAgICAKLSAgICBORVZFUl9JTkxJTkUgdm9pZCB1cGRhdGVFcnJvcldpdGhOYW1lQW5k
TWVzc2FnZShjb25zdCBjaGFyKiBiZWZvcmVNc2csIFN0cmluZyBuYW1lLCBjb25zdCBjaGFyKiBh
ZnRlck1zZykKKyAgICBORVZFUl9JTkxJTkUgdm9pZCB1cGRhdGVFcnJvcldpdGhOYW1lQW5kTWVz
c2FnZShjb25zdCBjaGFyKiBiZWZvcmVNc2csIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgY2hh
ciogYWZ0ZXJNc2cpCiAgICAgewogICAgICAgICBtX2Vycm9yTWVzc2FnZSA9IG1ha2VTdHJpbmco
YmVmb3JlTXNnLCAiICciLCBuYW1lLCAiJyAiLCBhZnRlck1zZyk7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJFcnJvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJFcnJvci5oCmluZGV4IGNlMTQ1ZDcuLjg5YTA1YWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRXJyb3IuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckVycm9yLmgKQEAgLTcwLDcg
KzcwLDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBQYXJzZXJFcnJvcihFcnJvclR5
cGUgdHlwZSwgU3ludGF4RXJyb3JUeXBlIHN5bnRheEVycm9yLCBKU1Rva2VuIHRva2VuLCBTdHJp
bmcgbXNnLCBpbnQgbGluZSkKKyAgICBQYXJzZXJFcnJvcihFcnJvclR5cGUgdHlwZSwgU3ludGF4
RXJyb3JUeXBlIHN5bnRheEVycm9yLCBKU1Rva2VuIHRva2VuLCBjb25zdCBTdHJpbmcmIG1zZywg
aW50IGxpbmUpCiAgICAgICAgIDogbV90b2tlbih0b2tlbikKICAgICAgICAgLCBtX21lc3NhZ2Uo
bXNnKQogICAgICAgICAsIG1fbGluZShsaW5lKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ0V4cC5jcHAKaW5kZXggNDYyYjllMy4uZTE4MmM3OCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHAuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgUmVnRXhwRnVuY3Rpb25h
bFRlc3RDb2xsZWN0b3IqIFJlZ0V4cEZ1bmN0aW9uYWxUZXN0Q29sbGVjdG9yOjpnZXQoKQogICAg
IHJldHVybiBzX2luc3RhbmNlOwogfQogCi12b2lkIFJlZ0V4cEZ1bmN0aW9uYWxUZXN0Q29sbGVj
dG9yOjpvdXRwdXRPbmVUZXN0KFJlZ0V4cCogcmVnRXhwLCBTdHJpbmcgcywgaW50IHN0YXJ0T2Zm
c2V0LCBpbnQqIG92ZWN0b3IsIGludCByZXN1bHQpCit2b2lkIFJlZ0V4cEZ1bmN0aW9uYWxUZXN0
Q29sbGVjdG9yOjpvdXRwdXRPbmVUZXN0KFJlZ0V4cCogcmVnRXhwLCBjb25zdCBTdHJpbmcmIHMs
IGludCBzdGFydE9mZnNldCwgaW50KiBvdmVjdG9yLCBpbnQgcmVzdWx0KQogewogICAgIGlmICgo
IW1fbGFzdFJlZ0V4cCkgfHwgKG1fbGFzdFJlZ0V4cCAhPSByZWdFeHApKSB7CiAgICAgICAgIG1f
bGFzdFJlZ0V4cCA9IHJlZ0V4cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBPYmplY3QuY3BwCmluZGV4IDI1Yzg1ODUuLjc0YzI5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcApAQCAtMTk5LDcgKzE5OSw3IEBA
IGlubGluZSB2b2lkIGFwcGVuZExpbmVUZXJtaW5hdG9yRXNjYXBlPFVDaGFyPihTdHJpbmdCdWls
ZGVyJiBidWlsZGVyLCBVQ2hhciBsaW5lCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPgotc3RhdGljIGlubGluZSBKU1ZhbHVlIHJlZ0V4cE9iamVjdFNvdXJjZUludGVybmFs
KEV4ZWNTdGF0ZSogZXhlYywgU3RyaW5nIHBhdHRlcm4sIGNvbnN0IENoYXJhY3RlclR5cGUqIGNo
YXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSByZWdFeHBP
YmplY3RTb3VyY2VJbnRlcm5hbChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFN0cmluZyYgcGF0dGVy
biwgY29uc3QgQ2hhcmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogewog
ICAgIGJvb2wgcHJldmlvdXNDaGFyYWN0ZXJXYXNCYWNrc2xhc2ggPSBmYWxzZTsKICAgICBib29s
IGluQnJhY2tldHMgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVQcm9maWxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
eXBlUHJvZmlsZXIuY3BwCmluZGV4IGUwZjA2YzkuLjMzOGExYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyLmNwcApAQCAtMTAxLDcgKzEwMSw2IEBA
IFN0cmluZyBUeXBlUHJvZmlsZXI6OnR5cGVJbmZvcm1hdGlvbkZvckV4cHJlc3Npb25BdE9mZnNl
dChUeXBlUHJvZmlsZXJTZWFyY2hEZXNjCiAgICAgZWxzZQogICAgICAgICBqc29uLmFwcGVuZExp
dGVyYWwoImZhbHNlIik7CiAKLQogICAgIGpzb24uYXBwZW5kKCd9Jyk7CiAgICAgCiAgICAgcmV0
dXJuIGpzb24udG9TdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9UeXBlUHJvZmlsZXJMb2cuY3BwCmluZGV4IDQ3NmNhZjUuLmQwZDkzMGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcApAQCAtNTIs
NyArNTIsNyBAQCBUeXBlUHJvZmlsZXJMb2c6On5UeXBlUHJvZmlsZXJMb2coKQogICAgIGRlbGV0
ZVtdIG1fbG9nU3RhcnRQdHI7CiB9CiAKLXZvaWQgVHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9n
RW50cmllcyhTdHJpbmcgcmVhc29uKQordm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dF
bnRyaWVzKGNvbnN0IFN0cmluZyYgcmVhc29uKQogewogICAgIGlmICh2ZXJib3NlKQogICAgICAg
ICBkYXRhTG9nKCJQcm9jZXNzIGNhbGxlcjonIiwgcmVhc29uLCAiJyIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuaAppbmRleCBjMTRiOTkzLi40
NmVlYWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJv
ZmlsZXJMb2cuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmls
ZXJMb2cuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAKICAgICB+VHlwZVByb2ZpbGVyTG9n
KCk7CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByb2Nlc3NMb2dFbnRyaWVzKFN0cmlu
Zyk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcm9jZXNzTG9nRW50cmllcyhjb25zdCBT
dHJpbmcmKTsKICAgICBMb2dFbnRyeSogbG9nRW5kUHRyKCkgY29uc3QgeyByZXR1cm4gbV9sb2dF
bmRQdHI7IH0KIAogICAgIHN0YXRpYyBwdHJkaWZmX3QgbG9nU3RhcnRPZmZzZXQoKSB7IHJldHVy
biBPQkpFQ1RfT0ZGU0VUT0YoVHlwZVByb2ZpbGVyTG9nLCBtX2xvZ1N0YXJ0UHRyKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0Z1bmN0aW9uT3ZlcnJpZGVzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9GdW5jdGlvbk92ZXJyaWRlcy5jcHAKaW5k
ZXggODNlNGYxYy4uMjM1MzFiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rv
b2xzL0Z1bmN0aW9uT3ZlcnJpZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9v
bHMvRnVuY3Rpb25PdmVycmlkZXMuY3BwCkBAIC0xMDQsNyArMTA0LDcgQEAgRnVuY3Rpb25PdmVy
cmlkZXM6OkZ1bmN0aW9uT3ZlcnJpZGVzKGNvbnN0IGNoYXIqIG92ZXJyaWRlc0ZpbGVOYW1lKQog
ICAgIHBhcnNlT3ZlcnJpZGVzSW5GaWxlKG92ZXJyaWRlc0ZpbGVOYW1lKTsKIH0KIAotc3RhdGlj
IHZvaWQgaW5pdGlhbGl6ZU92ZXJyaWRlSW5mbyhjb25zdCBTb3VyY2VDb2RlJiBvcmlnQ29kZSwg
U3RyaW5nIG5ld0JvZHksIEZ1bmN0aW9uT3ZlcnJpZGVzOjpPdmVycmlkZUluZm8mIGluZm8pCitz
dGF0aWMgdm9pZCBpbml0aWFsaXplT3ZlcnJpZGVJbmZvKGNvbnN0IFNvdXJjZUNvZGUmIG9yaWdD
b2RlLCBjb25zdCBTdHJpbmcmIG5ld0JvZHksIEZ1bmN0aW9uT3ZlcnJpZGVzOjpPdmVycmlkZUlu
Zm8mIGluZm8pCiB7CiAgICAgU3RyaW5nIG9yaWdQcm92aWRlclN0ciA9IG9yaWdDb2RlLnByb3Zp
ZGVyKCktPnNvdXJjZSgpOwogICAgIHVuc2lnbmVkIG9yaWdCcmFjZVN0YXJ0ID0gb3JpZ0NvZGUu
c3RhcnRPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1M2ViOTE2Li4yZWY2MWVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjQgQEAKKzIwMTUtMDUtMDcgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KKworICAgICAgICBQYXNzIFN0cmluZyBhcyByZWZlcmVuY2UgaW4gbW9yZSBw
bGFjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
NDc2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
YmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNsb25lU2VyaWFsaXplcjo6ZHVtcFN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNl
cmlhbGl6ZXI6OmR1bXBTdHJpbmdPYmplY3QpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRNYXJrZXJDb250cm9s
bGVyOjphZGRNYXJrZXIpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6YXNz
ZXJ0RnJhbWVXaXRoRG9jdW1lbnRMb2FkZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
Tm9kZUZpbmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpcENoYXJhY3RlcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTm9kZUZpbmRlcjo6SW5zcGVjdG9yTm9kZUZpbmRlcik6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvck5vZGVGaW5kZXIuaDoKKwogMjAxNS0wNS0w
NiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+IGFuZCBQZXIgQXJu
ZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dIENvbXBp
bGUgZXJyb3IgZHVlIHRvIHVuZGVmaW5lZCBzeW1ib2xzIGFmdGVyIHIxODM4NjgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmlu
ZGV4IGVlMTViZDUuLjQ5MDRjYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtNjgxLDcgKzY4MSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIH0KICAgICB9CiAKLSAgICB2b2lkIGR1bXBTdHJpbmcoU3RyaW5nIHN0cikK
KyAgICB2b2lkIGR1bXBTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHIpCiAgICAgewogICAgICAgICBp
ZiAoc3RyLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHdyaXRlKEVtcHR5U3RyaW5nVGFnKTsKQEAg
LTY5MSw3ICs2OTEsNyBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgfQogCi0gICAgdm9pZCBk
dW1wU3RyaW5nT2JqZWN0KFN0cmluZyBzdHIpCisgICAgdm9pZCBkdW1wU3RyaW5nT2JqZWN0KGNv
bnN0IFN0cmluZyYgc3RyKQogICAgIHsKICAgICAgICAgaWYgKHN0ci5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICB3cml0ZShFbXB0eVN0cmluZ09iamVjdFRhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwCmluZGV4IDRhM2NjZjguLmNlMDUwN2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3Bw
CkBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZFRl
eHRNYXRjaE1hcmtlcihjb25zdCBSYW5nZSogcmFuZ2UsIGJvb2wgYWN0aXYKIH0KIAogI2lmIFBM
QVRGT1JNKElPUykKLXZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGRNYXJrZXIoUmFu
Z2UqIHJhbmdlLCBEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZSB0eXBlLCBTdHJpbmcgZGVzY3Jp
cHRpb24sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpbnRlcnByZXRhdGlvbnMsIGNvbnN0IFJldGFp
blB0cjxpZD4mIG1ldGFkYXRhKQordm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZE1h
cmtlcihSYW5nZSogcmFuZ2UsIERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlIHR5cGUsIGNvbnN0
IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpbnRlcnByZXRhdGlv
bnMsIGNvbnN0IFJldGFpblB0cjxpZD4mIG1ldGFkYXRhKQogewogICAgIC8vIFVzZSBhIFRleHRJ
dGVyYXRvciB0byB2aXNpdCB0aGUgcG90ZW50aWFsbHkgbXVsdGlwbGUgbm9kZXMgdGhlIHJhbmdl
IGNvdmVycy4KICAgICBmb3IgKFRleHRJdGVyYXRvciBtYXJrZWRUZXh0KHJhbmdlKTsgIW1hcmtl
ZFRleHQuYXRFbmQoKTsgbWFya2VkVGV4dC5hZHZhbmNlKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAppbmRleCAzMmNhMzAwLi41OTRlZTY5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaApAQCAt
NTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRNYXJrZXJUb05vZGUoTm9kZSosIHVu
c2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgsIERvY3VtZW50TWFya2VyOjpNYXJr
ZXJUeXBlLCBQYXNzUmVmUHRyPERvY3VtZW50TWFya2VyRGV0YWlscz4pOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgYWRkVGV4dE1hdGNoTWFya2VyKGNvbnN0IFJhbmdlKiwgYm9vbCBhY3RpdmVN
YXRjaCk7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgIHZvaWQgYWRkTWFya2VyKFJhbmdlKiwgRG9j
dW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUsIFN0cmluZyBkZXNjcmlwdGlvbiwgY29uc3QgVmVjdG9y
PFN0cmluZz4mIGludGVycHJldGF0aW9ucywgY29uc3QgUmV0YWluUHRyPGlkPiYgbWV0YWRhdGEp
OworICAgIHZvaWQgYWRkTWFya2VyKFJhbmdlKiwgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUs
IGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpbnRlcnBy
ZXRhdGlvbnMsIGNvbnN0IFJldGFpblB0cjxpZD4mIG1ldGFkYXRhKTsKICAgICB2b2lkIGFkZERp
Y3RhdGlvblBocmFzZVdpdGhBbHRlcm5hdGl2ZXNNYXJrZXIoUmFuZ2UqLCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYgaW50ZXJwcmV0YXRpb25zKTsKICAgICB2b2lkIGFkZERpY3RhdGlvblJlc3VsdE1h
cmtlcihSYW5nZSosIGNvbnN0IFJldGFpblB0cjxpZD4mIG1ldGFkYXRhKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50LmNwcAppbmRleCAzZTZmNjMyLi5mZDRjYWY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNo
ZUFnZW50OjpnZXRGcmFtZXNXaXRoTWFuaWZlc3RzKEVycm9yU3RyaW5nJiwgUmVmUHRyCiAgICAg
fQogfQogCi1Eb2N1bWVudExvYWRlciogSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Ojph
c3NlcnRGcmFtZVdpdGhEb2N1bWVudExvYWRlcihFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIFN0
cmluZyBmcmFtZUlkKQorRG9jdW1lbnRMb2FkZXIqIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudDo6YXNzZXJ0RnJhbWVXaXRoRG9jdW1lbnRMb2FkZXIoRXJyb3JTdHJpbmcmIGVycm9yU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIGZyYW1lSWQpCiB7CiAgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdl
QWdlbnQtPmFzc2VydEZyYW1lKGVycm9yU3RyaW5nLCBmcmFtZUlkKTsKICAgICBpZiAoIWZyYW1l
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudC5oCmluZGV4IGYwOGFjZTIuLjJkNjIxOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICBSZWY8SW5zcGVjdG9yOjpQcm90
b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXBwbGljYXRpb25DYWNoZTo6QXBwbGlj
YXRpb25DYWNoZVJlc291cmNlPj4gYnVpbGRBcnJheUZvckFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJj
ZXMoY29uc3QgQXBwbGljYXRpb25DYWNoZUhvc3Q6OlJlc291cmNlSW5mb0xpc3QmKTsKICAgICBS
ZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXBwbGljYXRpb25DYWNoZTo6QXBwbGljYXRpb25DYWNo
ZVJlc291cmNlPiBidWlsZE9iamVjdEZvckFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZShjb25zdCBB
cHBsaWNhdGlvbkNhY2hlSG9zdDo6UmVzb3VyY2VJbmZvJik7CiAKLSAgICBEb2N1bWVudExvYWRl
ciogYXNzZXJ0RnJhbWVXaXRoRG9jdW1lbnRMb2FkZXIoRXJyb3JTdHJpbmcmLCBTdHJpbmcgZnJh
bWVJZCk7CisgICAgRG9jdW1lbnRMb2FkZXIqIGFzc2VydEZyYW1lV2l0aERvY3VtZW50TG9hZGVy
KEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBmcmFtZUlkKTsKIAogICAgIEluc3BlY3RvclBh
Z2VBZ2VudCogbV9wYWdlQWdlbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6QXBw
bGljYXRpb25DYWNoZUZyb250ZW5kRGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTm9kZUZpbmRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTm9kZUZpbmRlci5jcHAKaW5k
ZXggYjUxMDg3ZC4uMWVkYmJmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck5vZGVGaW5kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JOb2RlRmluZGVyLmNwcApAQCAtNDIsNyArNDIsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLXN0YXRpYyBTdHJpbmcgc3RyaXBDaGFyYWN0ZXJzKFN0cmluZyBzdHJpbmcsIGNv
bnN0IGNoYXIgc3RhcnRDaGFyYWN0ZXIsIGNvbnN0IGNoYXIgZW5kQ2hhcmFjdGVyLCBib29sJiBz
dGFydENoYXJGb3VuZCwgYm9vbCYgZW5kQ2hhckZvdW5kKQorc3RhdGljIFN0cmluZyBzdHJpcENo
YXJhY3RlcnMoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IGNoYXIgc3RhcnRDaGFyYWN0ZXIs
IGNvbnN0IGNoYXIgZW5kQ2hhcmFjdGVyLCBib29sJiBzdGFydENoYXJGb3VuZCwgYm9vbCYgZW5k
Q2hhckZvdW5kKQogewogICAgIHN0YXJ0Q2hhckZvdW5kID0gc3RyaW5nLnN0YXJ0c1dpdGgoc3Rh
cnRDaGFyYWN0ZXIpOwogICAgIGVuZENoYXJGb3VuZCA9IHN0cmluZy5lbmRzV2l0aChlbmRDaGFy
YWN0ZXIpOwpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgU3RyaW5nIHN0cmlwQ2hhcmFjdGVycyhT
dHJpbmcgc3RyaW5nLCBjb25zdCBjaGFyIHN0YXJ0Q2hhcmFjdGVyLCBjb25zdCBjaAogICAgIHJl
dHVybiBzdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBlbmQgLSBzdGFydCk7CiB9CiAKLUluc3BlY3Rv
ck5vZGVGaW5kZXI6Okluc3BlY3Rvck5vZGVGaW5kZXIoU3RyaW5nIHdoaXRlc3BhY2VUcmltbWVk
UXVlcnkpCitJbnNwZWN0b3JOb2RlRmluZGVyOjpJbnNwZWN0b3JOb2RlRmluZGVyKGNvbnN0IFN0
cmluZyYgd2hpdGVzcGFjZVRyaW1tZWRRdWVyeSkKICAgICA6IG1fd2hpdGVzcGFjZVRyaW1tZWRR
dWVyeSh3aGl0ZXNwYWNlVHJpbW1lZFF1ZXJ5KQogewogICAgIG1fdGFnTmFtZVF1ZXJ5ID0gc3Ry
aXBDaGFyYWN0ZXJzKHdoaXRlc3BhY2VUcmltbWVkUXVlcnksICc8JywgJz4nLCBtX3N0YXJ0VGFn
Rm91bmQsIG1fZW5kVGFnRm91bmQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvck5vZGVGaW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JOb2RlRmluZGVyLmgKaW5kZXggZTFhMjI1Ni4uNmE0Mjc2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5vZGVGaW5kZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTm9kZUZpbmRlci5oCkBAIC00Miw3ICs0Miw3IEBA
IGNsYXNzIE5vZGU7CiAKIGNsYXNzIEluc3BlY3Rvck5vZGVGaW5kZXIgewogcHVibGljOgotICAg
IEluc3BlY3Rvck5vZGVGaW5kZXIoU3RyaW5nIHdoaXRlc3BhY2VUcmltbWVkUXVlcnkpOworICAg
IEluc3BlY3Rvck5vZGVGaW5kZXIoY29uc3QgU3RyaW5nJiB3aGl0ZXNwYWNlVHJpbW1lZFF1ZXJ5
KTsKICAgICB2b2lkIHBlcmZvcm1TZWFyY2goTm9kZSopOwogICAgIGNvbnN0IExpc3RIYXNoU2V0
PE5vZGUqPiYgcmVzdWx0cygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdWx0czsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggNGE0MGNmZC4uMTQ3MTBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1
LTA1LTA3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UGFzcyBTdHJpbmcgYXMgcmVmZXJlbmNlIGluIG1vcmUgcGxhY2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ3NjkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3JVSS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJOjpzaG93TWFp
blJlc291cmNlRm9yRnJhbWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3JVSS5oOgorCiAyMDE1LTA1LTA2ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRG9ja2luZyBUb29sYmFyIEJ1dHRvbnMg
ZG8gbm90IHJlc3BlY3QgRG9ja2luZyBBdmFpbGFiaWxpdHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwCmluZGV4IDBmZmVkZDIu
LjMyMDkzOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJJbnNwZWN0b3JVSS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3RvclVJLmNwcApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgV2ViSW5zcGVjdG9y
VUk6OnNob3dSZXNvdXJjZXMoKQogICAgIGV2YWx1YXRlQ29tbWFuZE9uTG9hZChBU0NJSUxpdGVy
YWwoInNob3dSZXNvdXJjZXMiKSk7CiB9CiAKLXZvaWQgV2ViSW5zcGVjdG9yVUk6OnNob3dNYWlu
UmVzb3VyY2VGb3JGcmFtZShTdHJpbmcgZnJhbWVJZGVudGlmaWVyKQordm9pZCBXZWJJbnNwZWN0
b3JVSTo6c2hvd01haW5SZXNvdXJjZUZvckZyYW1lKGNvbnN0IFN0cmluZyYgZnJhbWVJZGVudGlm
aWVyKQogewogICAgIGV2YWx1YXRlQ29tbWFuZE9uTG9hZChBU0NJSUxpdGVyYWwoInNob3dNYWlu
UmVzb3VyY2VGb3JGcmFtZSIpLCBmcmFtZUlkZW50aWZpZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuaAppbmRleCA1YzE1ODYz
Li40MTgwZjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViSW5zcGVjdG9yVUkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViSW5zcGVjdG9yVUkuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93
Q29uc29sZSgpOwogICAgIHZvaWQgc2hvd1Jlc291cmNlcygpOwogCi0gICAgdm9pZCBzaG93TWFp
blJlc291cmNlRm9yRnJhbWUoU3RyaW5nIGZyYW1lSWRlbnRpZmllcik7CisgICAgdm9pZCBzaG93
TWFpblJlc291cmNlRm9yRnJhbWUoY29uc3QgU3RyaW5nJiBmcmFtZUlkZW50aWZpZXIpOwogCiAg
ICAgdm9pZCBzdGFydFBhZ2VQcm9maWxpbmcoKTsKICAgICB2b2lkIHN0b3BQYWdlUHJvZmlsaW5n
KCk7Cg==
</data>
<flag name="review"
          id="277487"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>