<?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>137379</bug_id>
          
          <creation_ts>2014-10-02 20:55:55 -0700</creation_ts>
          <short_desc>CSSOM rule wrappers always have a corresponding internal style object.</short_desc>
          <delta_ts>2014-10-03 01:03:24 -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>CSS</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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039113</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-10-02 20:55:55 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039114</commentid>
    <comment_count>1</comment_count>
      <attachid>239175</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-10-02 20:57:16 -0700</bug_when>
    <thetext>Created attachment 239175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039119</commentid>
    <comment_count>2</comment_count>
      <attachid>239175</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-10-02 21:33:56 -0700</bug_when>
    <thetext>Comment on attachment 239175
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039120</commentid>
    <comment_count>3</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-10-02 21:38:35 -0700</bug_when>
    <thetext>Committed r174256: &lt;http://trac.webkit.org/changeset/174256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039126</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-10-02 22:26:00 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Committed r174256: &lt;http://trac.webkit.org/changeset/174256&gt;

It broke the EFL build:
https://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2%20%28Perf%29/builds/3370/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039159</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-03 01:03:24 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Committed r174256: &lt;http://trac.webkit.org/changeset/174256&gt;
&gt; 
&gt; It broke the EFL build:
&gt; https://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2%20%28Perf%29/builds/3370/steps/compile-webkit/logs/stdio

Ossy, I fix the break on r174261 for now.
http://trac.webkit.org/changeset/174261

If there is any problem, please post a comment to Bug 137384.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239175</attachid>
            <date>2014-10-02 20:57:16 -0700</date>
            <delta_ts>2014-10-02 21:33:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137379.diff</filename>
            <type>text/plain</type>
            <size>36365</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5M2JkMDg0Li42OTg2NzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODYg
QEAKKzIwMTQtMTAtMDIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIENTU09NIHJ1bGUgd3JhcHBlcnMgYWx3YXlzIGhhdmUgYSBjb3JyZXNwb25kaW5nIGludGVy
bmFsIHN0eWxlIG9iamVjdC4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzNzM3OT4K
KworICAgICAgICBNYWtlIHRoZSBDU1NPTSBydWxlIHdyYXBwZXIgY2xhc3NlcyB1c2UgcmVmZXJl
bmNlcyAmIFJlZiBpbnN0ZWFkIG9mCisgICAgICAgIHJhdyBwb2ludGVycyBhbmQgUmVmUHRyIGZv
ciBwb2ludGluZyB0byB0aGUgaW50ZXJuYWwgc3R5bGUgcnVsZS4KKworICAgICAgICBBbHNvIGNo
YW5nZWQgdGhlIHNpZ25hdHVyZSBvZiByZWF0dGFjaCgpIHRvIHRha2UgYSBTdHlsZVJ1bGVCYXNl
JgorICAgICAgICBzaW5jZSBpdCdzIG5ldmVyIGNhbGxlZCB3aXRoIGEgbnVsbCBwb2ludGVyLgor
CisgICAgICAgIEZpbmFsbHkgbWFya2VkIHRoZSBydWxlIGNsYXNzZXMgZmluYWwuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ2hhcnNl
dFJ1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRGYWNlUnVsZTo6Q1NTRm9udEZhY2VSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlUnVsZTo6cmVhdHRhY2gpOgorICAgICAgICAqIGNzcy9DU1NGb250RmFj
ZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlUnVsZTo6Y3JlYXRlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0dyb3VwaW5nUnVsZTo6Q1NTR3JvdXBpbmdSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0dyb3VwaW5nUnVsZTo6cmVhdHRhY2gpOgorICAgICAgICAqIGNzcy9DU1NHcm91cGluZ1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTSW1wb3J0UnVsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NJbXBvcnRSdWxlOjpDU1NJbXBvcnRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0lt
cG9ydFJ1bGU6OmhyZWYpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6bWVkaWEp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6Y3NzVGV4dCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NJbXBvcnRSdWxlOjpzdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ltcG9ydFJ1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKiBjc3MvQ1NTSW1wb3J0UnVsZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTSW1wb3J0UnVsZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVs
ZTo6Q1NTTWVkaWFSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6bWVkaWFR
dWVyaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6cmVhdHRhY2gpOgorICAg
ICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVs
ZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUGFnZVJ1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFnZVJ1bGU6OkNTU1BhZ2VSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhZ2VSdWxlOjpyZWF0dGFjaCk6CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmg6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpDU1NTdHlsZVJ1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVSdWxlOjpyZWF0dGFjaCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVs
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpjcmVhdGUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpzdHlsZVJ1bGUpOiBEZWxldGVkLgorICAg
ICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
U2hlZXQ6OnJlYXR0YWNoQ2hpbGRSdWxlQ1NTT01XcmFwcGVycyk6CisgICAgICAgICogY3NzL0NT
U1N1cHBvcnRzUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdXBwb3J0c1J1bGU6OkNT
U1N1cHBvcnRzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdXBwb3J0c1J1bGU6OmNvbmRp
dGlvblRleHQpOgorICAgICAgICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3MvQ1NTVW5rbm93
blJ1bGUuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlcik6CisgICAgICAgICogY3NzL1N0eWxl
UnVsZUltcG9ydC5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlSW1wb3J0OjptZWRpYVF1
ZXJpZXMpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGUp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpyZWF0dGFjaCk6Cisg
ICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5oOgorICAgICAgICAqIGNzcy9XZWJL
aXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0tleWZy
YW1lc1J1bGU6OldlYktpdENTU0tleWZyYW1lc1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZTo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlOjpyZWF0dGFjaCk6CisgICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1l
c1J1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0tleWZyYW1lc1J1bGU6OmNyZWF0
ZSk6CisgICAgICAgICogY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NSZWdpb25SdWxlOjpjc3NUZXh0KToKKyAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTUmVnaW9uUnVsZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTUmVnaW9u
UnVsZTo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1ZpZXdwb3J0UnVsZTo6cmVhdHRhY2gpOgorICAg
ICAgICAqIGNzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaDoKKwogMjAxNC0xMC0wMiAgQ2hyaXN0
b3BoZSBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGlzPD4oKSAvIGRv
d25jYXN0PD4oKSBmb3IgQ1NTUnVsZSBzdWJjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0
UnVsZS5oCmluZGV4IDg2ZWEzZjMuLmEyYzVkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDaGFyc2V0UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0
UnVsZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q1NTQ2hhcnNldFJ1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7CitjbGFzcyBDU1NDaGFyc2V0UnVsZSBm
aW5hbCA6IHB1YmxpYyBDU1NSdWxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NDaGFyc2V0UnVsZT4gY3JlYXRlKENTU1N0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5n
JiBlbmNvZGluZykKICAgICB7CkBAIC0zNyw3ICszNyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQ0hBUlNFVF9S
VUxFOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IG92ZXJyaWRlOwotICAg
IHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKiBydWxlKSBvdmVycmlkZSB7IEFT
U0VSVF9VTlVTRUQocnVsZSwgIXJ1bGUpOyB9CisgICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0
eWxlUnVsZUJhc2UmKSBvdmVycmlkZSB7IH0KIAogICAgIGNvbnN0IFN0cmluZyYgZW5jb2Rpbmco
KSBjb25zdCB7IHJldHVybiBtX2VuY29kaW5nOyB9CiAgICAgdm9pZCBzZXRFbmNvZGluZyhjb25z
dCBTdHJpbmcmIGVuY29kaW5nLCBFeGNlcHRpb25Db2RlJikgeyBtX2VuY29kaW5nID0gZW5jb2Rp
bmc7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAKaW5kZXggMmJiOTQ1YS4u
ZjY0YWNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAKQEAgLTI5LDcg
KzI5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1DU1NGb250RmFjZVJ1bGU6OkNTU0Zv
bnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSogZm9udEZhY2VSdWxlLCBDU1NTdHlsZVNoZWV0
KiBwYXJlbnQpCitDU1NGb250RmFjZVJ1bGU6OkNTU0ZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250
RmFjZSYgZm9udEZhY2VSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCiAgICAgOiBDU1NSdWxl
KHBhcmVudCkKICAgICAsIG1fZm9udEZhY2VSdWxlKGZvbnRGYWNlUnVsZSkKIHsKQEAgLTYwLDEx
ICs2MCwxMCBAQCBTdHJpbmcgQ1NTRm9udEZhY2VSdWxlOjpjc3NUZXh0KCkgY29uc3QKICAgICBy
ZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiB9CiAKLXZvaWQgQ1NTRm9udEZhY2VSdWxlOjpyZWF0
dGFjaChTdHlsZVJ1bGVCYXNlKiBydWxlKQordm9pZCBDU1NGb250RmFjZVJ1bGU6OnJlYXR0YWNo
KFN0eWxlUnVsZUJhc2UmIHJ1bGUpCiB7Ci0gICAgQVNTRVJUKHJ1bGUpOwotICAgIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHJ1bGUtPmlzRm9udEZhY2VSdWxlKCkpOwotICAgIG1f
Zm9udEZhY2VSdWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlRm9udEZhY2UqPihydWxlKTsKKyAg
ICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihydWxlLmlzRm9udEZhY2VSdWxlKCkp
OworICAgIG1fZm9udEZhY2VSdWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlRm9udEZhY2UmPihy
dWxlKTsKICAgICBpZiAobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQogICAgICAgICBtX3Byb3Bl
cnRpZXNDU1NPTVdyYXBwZXItPnJlYXR0YWNoKG1fZm9udEZhY2VSdWxlLT5tdXRhYmxlUHJvcGVy
dGllcygpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaAppbmRleCA2MzhlODk4
Li45ZmZhNDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCkBAIC0zMCwyMiAr
MzAsMjIgQEAgY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbjsKIGNsYXNzIFN0eWxlUnVsZUZvbnRG
YWNlOwogY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsKIAotY2xhc3MgQ1NTRm9u
dEZhY2VSdWxlIDogcHVibGljIENTU1J1bGUgeworY2xhc3MgQ1NTRm9udEZhY2VSdWxlIGZpbmFs
IDogcHVibGljIENTU1J1bGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0Zv
bnRGYWNlUnVsZT4gY3JlYXRlKFN0eWxlUnVsZUZvbnRGYWNlKiBydWxlLCBDU1NTdHlsZVNoZWV0
KiBzaGVldCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ZvbnRGYWNlUnVsZShydWxlLCBzaGVl
dCkpOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTRm9udEZhY2VSdWxlPiBjcmVhdGUoU3R5
bGVSdWxlRm9udEZhY2UmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTRm9udEZhY2VSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KIAogICAgIHZpcnR1YWwg
fkNTU0ZvbnRGYWNlUnVsZSgpOwogCiAgICAgdmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5cGUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBGT05UX0ZBQ0VfUlVMRTsgfQogICAgIHZpcnR1YWwgU3Ry
aW5nIGNzc1RleHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2go
U3R5bGVSdWxlQmFzZSopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHls
ZVJ1bGVCYXNlJikgb3ZlcnJpZGU7CiAKICAgICBDU1NTdHlsZURlY2xhcmF0aW9uJiBzdHlsZSgp
OwogCiBwcml2YXRlOgotICAgIENTU0ZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSosIENT
U1N0eWxlU2hlZXQqIHBhcmVudCk7CisgICAgQ1NTRm9udEZhY2VSdWxlKFN0eWxlUnVsZUZvbnRG
YWNlJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIAotICAgIFJlZlB0cjxTdHlsZVJ1bGVGb250
RmFjZT4gbV9mb250RmFjZVJ1bGU7CisgICAgUmVmPFN0eWxlUnVsZUZvbnRGYWNlPiBtX2ZvbnRG
YWNlUnVsZTsKICAgICBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9w
ZXJ0aWVzQ1NTT01XcmFwcGVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyb3VwaW5nUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxl
LmNwcAppbmRleCA2NDhmYzIyLi45OTNmYjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JvdXBpbmdSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmNwcApAQCAtNDEsMTAgKzQxLDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Q1NTR3JvdXBpbmdSdWxlOjpDU1NHcm91cGluZ1J1bGUoU3R5bGVSdWxlR3JvdXAqIGdyb3VwUnVs
ZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQorQ1NTR3JvdXBpbmdSdWxlOjpDU1NHcm91cGluZ1J1
bGUoU3R5bGVSdWxlR3JvdXAmIGdyb3VwUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQogICAg
IDogQ1NTUnVsZShwYXJlbnQpCiAgICAgLCBtX2dyb3VwUnVsZShncm91cFJ1bGUpCi0gICAgLCBt
X2NoaWxkUnVsZUNTU09NV3JhcHBlcnMoZ3JvdXBSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKQor
ICAgICwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKGdyb3VwUnVsZS5jaGlsZFJ1bGVzKCkuc2l6
ZSgpKQogewogfQogCkBAIC0xNDgsMTMgKzE0OCwxMiBAQCBDU1NSdWxlTGlzdCYgQ1NTR3JvdXBp
bmdSdWxlOjpjc3NSdWxlcygpIGNvbnN0CiAgICAgcmV0dXJuICptX3J1bGVMaXN0Q1NTT01XcmFw
cGVyOwogfQogCi12b2lkIENTU0dyb3VwaW5nUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSog
cnVsZSkKK3ZvaWQgQ1NTR3JvdXBpbmdSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBydWxl
KQogewotICAgIEFTU0VSVChydWxlKTsKLSAgICBtX2dyb3VwUnVsZSA9IHN0YXRpY19jYXN0PFN0
eWxlUnVsZUdyb3VwKj4ocnVsZSk7CisgICAgbV9ncm91cFJ1bGUgPSBzdGF0aWNfY2FzdDxTdHls
ZVJ1bGVHcm91cCY+KHJ1bGUpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxk
UnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKG1fY2hpbGRSdWxl
Q1NTT01XcmFwcGVyc1tpXSkKLSAgICAgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tp
XS0+cmVhdHRhY2gobV9ncm91cFJ1bGUtPmNoaWxkUnVsZXMoKVtpXS5nZXQoKSk7CisgICAgICAg
ICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnJlYXR0YWNoKCptX2dyb3VwUnVsZS5n
ZXQoKS5jaGlsZFJ1bGVzKClbaV0pOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3Vw
aW5nUnVsZS5oCmluZGV4IDMwZjMwNDIuLjY0MGNlZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jv
dXBpbmdSdWxlLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgQ1NTR3JvdXBpbmdSdWxlIDogcHVi
bGljIENTU1J1bGUgewogcHVibGljOgogICAgIHZpcnR1YWwgfkNTU0dyb3VwaW5nUnVsZSgpOwog
Ci0gICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSYpIG92ZXJyaWRlOwogCiAgICAg
Q1NTUnVsZUxpc3QmIGNzc1J1bGVzKCkgY29uc3Q7CiAKQEAgLTQ4LDExICs0OCwxMSBAQCBwdWJs
aWM6CiAgICAgQ1NTUnVsZSogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CiAKIHByb3RlY3Rl
ZDoKLSAgICBDU1NHcm91cGluZ1J1bGUoU3R5bGVSdWxlR3JvdXAqIGdyb3VwUnVsZSwgQ1NTU3R5
bGVTaGVldCogcGFyZW50KTsKKyAgICBDU1NHcm91cGluZ1J1bGUoU3R5bGVSdWxlR3JvdXAmIGdy
b3VwUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKICAgICAKICAgICB2b2lkIGFwcGVuZENz
c1RleHRGb3JJdGVtcyhTdHJpbmdCdWlsZGVyJikgY29uc3Q7CiAKLSAgICBSZWZQdHI8U3R5bGVS
dWxlR3JvdXA+IG1fZ3JvdXBSdWxlOworICAgIFJlZjxTdHlsZVJ1bGVHcm91cD4gbV9ncm91cFJ1
bGU7CiAgICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPENTU1J1bGU+PiBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnM7CiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUnVsZUxpc3Q+IG1fcnVs
ZUxpc3RDU1NPTVdyYXBwZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3BwCmlu
ZGV4IDUxNzU3NTYuLjc3NDg1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5jcHAK
QEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1DU1NJbXBvcnRSdWxl
OjpDU1NJbXBvcnRSdWxlKFN0eWxlUnVsZUltcG9ydCogaW1wb3J0UnVsZSwgQ1NTU3R5bGVTaGVl
dCogcGFyZW50KQorQ1NTSW1wb3J0UnVsZTo6Q1NTSW1wb3J0UnVsZShTdHlsZVJ1bGVJbXBvcnQm
IGltcG9ydFJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKICAgICA6IENTU1J1bGUocGFyZW50
KQogICAgICwgbV9pbXBvcnRSdWxlKGltcG9ydFJ1bGUpCiB7CkBAIC01MCwxMyArNTAsMTMgQEAg
Q1NTSW1wb3J0UnVsZTo6fkNTU0ltcG9ydFJ1bGUoKQogCiBTdHJpbmcgQ1NTSW1wb3J0UnVsZTo6
aHJlZigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1faW1wb3J0UnVsZS0+aHJlZigpOworICAgIHJl
dHVybiBtX2ltcG9ydFJ1bGUuZ2V0KCkuaHJlZigpOwogfQogCiBNZWRpYUxpc3QmIENTU0ltcG9y
dFJ1bGU6Om1lZGlhKCkgY29uc3QKIHsKICAgICBpZiAoIW1fbWVkaWFDU1NPTVdyYXBwZXIpCi0g
ICAgICAgIG1fbWVkaWFDU1NPTVdyYXBwZXIgPSBNZWRpYUxpc3Q6OmNyZWF0ZShtX2ltcG9ydFJ1
bGUtPm1lZGlhUXVlcmllcygpLCBjb25zdF9jYXN0PENTU0ltcG9ydFJ1bGUqPih0aGlzKSk7Cisg
ICAgICAgIG1fbWVkaWFDU1NPTVdyYXBwZXIgPSBNZWRpYUxpc3Q6OmNyZWF0ZShtX2ltcG9ydFJ1
bGUuZ2V0KCkubWVkaWFRdWVyaWVzKCksIGNvbnN0X2Nhc3Q8Q1NTSW1wb3J0UnVsZSo+KHRoaXMp
KTsKICAgICByZXR1cm4gKm1fbWVkaWFDU1NPTVdyYXBwZXI7CiB9CiAKQEAgLTY0LDExICs2NCwx
MSBAQCBTdHJpbmcgQ1NTSW1wb3J0UnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiB7CiAgICAgU3RyaW5n
QnVpbGRlciByZXN1bHQ7CiAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIkBpbXBvcnQgdXJsKFwi
Iik7Ci0gICAgcmVzdWx0LmFwcGVuZChtX2ltcG9ydFJ1bGUtPmhyZWYoKSk7CisgICAgcmVzdWx0
LmFwcGVuZChtX2ltcG9ydFJ1bGUuZ2V0KCkuaHJlZigpKTsKICAgICByZXN1bHQuYXBwZW5kTGl0
ZXJhbCgiXCIpIik7CiAKLSAgICBpZiAobV9pbXBvcnRSdWxlLT5tZWRpYVF1ZXJpZXMoKSkgewot
ICAgICAgICBTdHJpbmcgbWVkaWFUZXh0ID0gbV9pbXBvcnRSdWxlLT5tZWRpYVF1ZXJpZXMoKS0+
bWVkaWFUZXh0KCk7CisgICAgaWYgKG1faW1wb3J0UnVsZS5nZXQoKS5tZWRpYVF1ZXJpZXMoKSkg
eworICAgICAgICBTdHJpbmcgbWVkaWFUZXh0ID0gbV9pbXBvcnRSdWxlLmdldCgpLm1lZGlhUXVl
cmllcygpLT5tZWRpYVRleHQoKTsKICAgICAgICAgaWYgKCFtZWRpYVRleHQuaXNFbXB0eSgpKSB7
CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CiAgICAgICAgICAgICByZXN1bHQuYXBw
ZW5kKG1lZGlhVGV4dCk7CkBAIC04MSwxNSArODEsMTUgQEAgU3RyaW5nIENTU0ltcG9ydFJ1bGU6
OmNzc1RleHQoKSBjb25zdAogCiBDU1NTdHlsZVNoZWV0KiBDU1NJbXBvcnRSdWxlOjpzdHlsZVNo
ZWV0KCkgY29uc3QKIHsgCi0gICAgaWYgKCFtX2ltcG9ydFJ1bGUtPnN0eWxlU2hlZXQoKSkKKyAg
ICBpZiAoIW1faW1wb3J0UnVsZS5nZXQoKS5zdHlsZVNoZWV0KCkpCiAgICAgICAgIHJldHVybiAw
OwogCiAgICAgaWYgKCFtX3N0eWxlU2hlZXRDU1NPTVdyYXBwZXIpCi0gICAgICAgIG1fc3R5bGVT
aGVldENTU09NV3JhcHBlciA9IENTU1N0eWxlU2hlZXQ6OmNyZWF0ZSgqbV9pbXBvcnRSdWxlLT5z
dHlsZVNoZWV0KCksIGNvbnN0X2Nhc3Q8Q1NTSW1wb3J0UnVsZSo+KHRoaXMpKTsKKyAgICAgICAg
bV9zdHlsZVNoZWV0Q1NTT01XcmFwcGVyID0gQ1NTU3R5bGVTaGVldDo6Y3JlYXRlKCptX2ltcG9y
dFJ1bGUuZ2V0KCkuc3R5bGVTaGVldCgpLCBjb25zdF9jYXN0PENTU0ltcG9ydFJ1bGUqPih0aGlz
KSk7CiAgICAgcmV0dXJuIG1fc3R5bGVTaGVldENTU09NV3JhcHBlci5nZXQoKTsgCiB9CiAKLXZv
aWQgQ1NTSW1wb3J0UnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSopCit2b2lkIENTU0ltcG9y
dFJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKQogewogICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgd2hlbiBlbmFibGluZyBjYWNoaW5nIGZvciBzdHlsZXNoZWV0cyB3aXRoIGltcG9ydCBydWxl
cy4KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5o
CmluZGV4IDRjNGYyNjIuLjdkMGRlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApA
QCAtMzEsMjQgKzMxLDI0IEBAIGNsYXNzIE1lZGlhTGlzdDsKIGNsYXNzIE1lZGlhUXVlcnlTZXQ7
CiBjbGFzcyBTdHlsZVJ1bGVJbXBvcnQ7CiAKLWNsYXNzIENTU0ltcG9ydFJ1bGUgOiBwdWJsaWMg
Q1NTUnVsZSB7CitjbGFzcyBDU1NJbXBvcnRSdWxlIGZpbmFsIDogcHVibGljIENTU1J1bGUgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+IGNyZWF0ZShTdHls
ZVJ1bGVJbXBvcnQqIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgQ1NTSW1wb3J0UnVsZShydWxlLCBzaGVldCkpOyB9CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q1NTSW1wb3J0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZUltcG9ydCYgcnVsZSwgQ1NTU3R5bGVT
aGVldCogc2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbXBvcnRSdWxlKHJ1bGUsIHNo
ZWV0KSk7IH0KICAgICAKICAgICB2aXJ0dWFsIH5DU1NJbXBvcnRSdWxlKCk7CiAKICAgICB2aXJ0
dWFsIENTU1J1bGU6OlR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIElNUE9SVF9S
VUxFOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IG92ZXJyaWRlOwotICAg
IHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSBvdmVycmlkZTsKIAogICAgIFN0cmlu
ZyBocmVmKCkgY29uc3Q7CiAgICAgTWVkaWFMaXN0JiBtZWRpYSgpIGNvbnN0OwogICAgIENTU1N0
eWxlU2hlZXQqIHN0eWxlU2hlZXQoKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBDU1NJbXBvcnRS
dWxlKFN0eWxlUnVsZUltcG9ydCosIENTU1N0eWxlU2hlZXQqKTsKKyAgICBDU1NJbXBvcnRSdWxl
KFN0eWxlUnVsZUltcG9ydCYsIENTU1N0eWxlU2hlZXQqKTsKIAotICAgIFJlZlB0cjxTdHlsZVJ1
bGVJbXBvcnQ+IG1faW1wb3J0UnVsZTsKKyAgICBSZWY8U3R5bGVSdWxlSW1wb3J0PiBtX2ltcG9y
dFJ1bGU7CiAgICAgbXV0YWJsZSBSZWZQdHI8TWVkaWFMaXN0PiBtX21lZGlhQ1NTT01XcmFwcGVy
OwogICAgIG11dGFibGUgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IG1fc3R5bGVTaGVldENTU09NV3Jh
cHBlcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCmluZGV4IDVlOTZlNDEuLjhj
YmUzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCkBAIC0zMiw3ICszMiw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ1NTTWVkaWFSdWxlOjpDU1NNZWRpYVJ1bGUoU3R5
bGVSdWxlTWVkaWEqIG1lZGlhUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQorQ1NTTWVkaWFS
dWxlOjpDU1NNZWRpYVJ1bGUoU3R5bGVSdWxlTWVkaWEmIG1lZGlhUnVsZSwgQ1NTU3R5bGVTaGVl
dCogcGFyZW50KQogICAgIDogQ1NTR3JvdXBpbmdSdWxlKG1lZGlhUnVsZSwgcGFyZW50KQogewog
fQpAQCAtNDUsNyArNDUsNyBAQCBDU1NNZWRpYVJ1bGU6On5DU1NNZWRpYVJ1bGUoKQogCiBNZWRp
YVF1ZXJ5U2V0KiBDU1NNZWRpYVJ1bGU6Om1lZGlhUXVlcmllcygpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIHRvU3R5bGVSdWxlTWVkaWEobV9ncm91cFJ1bGUuZ2V0KCkpLT5tZWRpYVF1ZXJpZXMoKTsK
KyAgICByZXR1cm4gdG9TdHlsZVJ1bGVNZWRpYSgmbV9ncm91cFJ1bGUuZ2V0KCkpLT5tZWRpYVF1
ZXJpZXMoKTsKIH0KIAogU3RyaW5nIENTU01lZGlhUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CkBAIC03
MSw3ICs3MSw3IEBAIE1lZGlhTGlzdCogQ1NTTWVkaWFSdWxlOjptZWRpYSgpIGNvbnN0CiAgICAg
cmV0dXJuIG1fbWVkaWFDU1NPTVdyYXBwZXIuZ2V0KCk7CiB9CiAKLXZvaWQgQ1NTTWVkaWFSdWxl
OjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlKiBydWxlKQordm9pZCBDU1NNZWRpYVJ1bGU6OnJlYXR0
YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCiB7CiAgICAgQ1NTR3JvdXBpbmdSdWxlOjpyZWF0dGFj
aChydWxlKTsKICAgICBpZiAobV9tZWRpYUNTU09NV3JhcHBlciAmJiBtZWRpYVF1ZXJpZXMoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaAppbmRleCBhNDIyMDcwLi44NjcyMTUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU01lZGlhUnVsZS5oCkBAIC0zMCwyMCArMzAsMjAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTdHlsZVJ1bGVNZWRpYTsKIAotY2xhc3MgQ1NTTWVkaWFSdWxlIDogcHVi
bGljIENTU0dyb3VwaW5nUnVsZSB7CitjbGFzcyBDU1NNZWRpYVJ1bGUgZmluYWwgOiBwdWJsaWMg
Q1NTR3JvdXBpbmdSdWxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NNZWRp
YVJ1bGU+IGNyZWF0ZShTdHlsZVJ1bGVNZWRpYSogcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NNZWRpYVJ1bGUocnVsZSwgc2hlZXQpKTsgfQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU01lZGlhUnVsZT4gY3JlYXRlKFN0eWxlUnVsZU1lZGlhJiBy
dWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU01lZGlh
UnVsZShydWxlLCBzaGVldCkpOyB9CiAKICAgICB2aXJ0dWFsIH5DU1NNZWRpYVJ1bGUoKTsKIAog
ICAgIHZpcnR1YWwgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
TUVESUFfUlVMRTsgfQotICAgIHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAg
ICBNZWRpYUxpc3QqIG1lZGlhKCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgQ1NTTWVkaWFSdWxl
KFN0eWxlUnVsZU1lZGlhKiwgQ1NTU3R5bGVTaGVldCopOworICAgIENTU01lZGlhUnVsZShTdHls
ZVJ1bGVNZWRpYSYsIENTU1N0eWxlU2hlZXQqKTsKIAogICAgIE1lZGlhUXVlcnlTZXQqIG1lZGlh
UXVlcmllcygpIGNvbnN0OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhZ2VSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKaW5kZXgg
M2U0ODM2Yi4uZjIxNDMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VS
dWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCkBAIC0zNCw3
ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ1NTUGFnZVJ1bGU6OkNTU1BhZ2VS
dWxlKFN0eWxlUnVsZVBhZ2UqIHBhZ2VSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCitDU1NQ
YWdlUnVsZTo6Q1NTUGFnZVJ1bGUoU3R5bGVSdWxlUGFnZSYgcGFnZVJ1bGUsIENTU1N0eWxlU2hl
ZXQqIHBhcmVudCkKICAgICA6IENTU1J1bGUocGFyZW50KQogICAgICwgbV9wYWdlUnVsZShwYWdl
UnVsZSkKIHsKQEAgLTk0LDEzICs5NCwxMiBAQCBTdHJpbmcgQ1NTUGFnZVJ1bGU6OmNzc1RleHQo
KSBjb25zdAogICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKIH0KIAotdm9pZCBDU1NQYWdl
UnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSogcnVsZSkKK3ZvaWQgQ1NTUGFnZVJ1bGU6OnJl
YXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCiB7Ci0gICAgQVNTRVJUKHJ1bGUpOwotICAgIEFT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHJ1bGUtPmlzUGFnZVJ1bGUoKSk7Ci0gICAg
bV9wYWdlUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZVBhZ2UqPihydWxlKTsKKyAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihydWxlLmlzUGFnZVJ1bGUoKSk7CisgICAgbV9w
YWdlUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZVBhZ2UmPihydWxlKTsKICAgICBpZiAobV9w
cm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQotICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIt
PnJlYXR0YWNoKG1fcGFnZVJ1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCkpOworICAgICAgICBtX3By
b3BlcnRpZXNDU1NPTVdyYXBwZXItPnJlYXR0YWNoKG1fcGFnZVJ1bGUuZ2V0KCkubXV0YWJsZVBy
b3BlcnRpZXMoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
Z2VSdWxlLmgKaW5kZXggODJlOTFhYS4uNWRmOWFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhZ2VSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxl
LmgKQEAgLTMxLDE1ICszMSwxNSBAQCBjbGFzcyBDU1NTdHlsZVNoZWV0OwogY2xhc3MgU3R5bGVS
dWxlUGFnZTsKIGNsYXNzIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb247CiAKLWNsYXNzIENT
U1BhZ2VSdWxlIDogcHVibGljIENTU1J1bGUgeworY2xhc3MgQ1NTUGFnZVJ1bGUgZmluYWwgOiBw
dWJsaWMgQ1NTUnVsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTUGFnZVJ1
bGU+IGNyZWF0ZShTdHlsZVJ1bGVQYWdlKiBydWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IENTU1BhZ2VSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxDU1NQYWdlUnVsZT4gY3JlYXRlKFN0eWxlUnVsZVBhZ2UmIHJ1bGUsIENT
U1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTUGFnZVJ1bGUocnVs
ZSwgc2hlZXQpKTsgfQogCiAgICAgdmlydHVhbCB+Q1NTUGFnZVJ1bGUoKTsKIAogICAgIHZpcnR1
YWwgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gUEFHRV9SVUxF
OyB9CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZp
cnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKikgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSBvdmVycmlkZTsKIAogICAgIENTU1N0eWxl
RGVjbGFyYXRpb24mIHN0eWxlKCk7CiAKQEAgLTQ3LDkgKzQ3LDkgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0U2VsZWN0b3JUZXh0KGNvbnN0IFN0cmluZyYpOwogCiBwcml2YXRlOgotICAgIENTU1Bh
Z2VSdWxlKFN0eWxlUnVsZVBhZ2UqLCBDU1NTdHlsZVNoZWV0Kik7CisgICAgQ1NTUGFnZVJ1bGUo
U3R5bGVSdWxlUGFnZSYsIENTU1N0eWxlU2hlZXQqKTsKICAgICAKLSAgICBSZWZQdHI8U3R5bGVS
dWxlUGFnZT4gbV9wYWdlUnVsZTsKKyAgICBSZWY8U3R5bGVSdWxlUGFnZT4gbV9wYWdlUnVsZTsK
ICAgICBtdXRhYmxlIFJlZlB0cjxTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uPiBtX3Byb3Bl
cnRpZXNDU1NPTVdyYXBwZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCAyOTQ1Yjk4Li42
YzUxM2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgY3Nz
VGV4dCgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFz
ZSopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSYpID0gMDsK
IAogICAgIHZvaWQgc2V0UGFyZW50U3R5bGVTaGVldChDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKaW5kZXggODU2MzliNS4uOTVh
NjljZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAg
c3RhdGljIFNlbGVjdG9yVGV4dENhY2hlJiBzZWxlY3RvclRleHRDYWNoZSgpCiAgICAgcmV0dXJu
IGNhY2hlOwogfQogCi1DU1NTdHlsZVJ1bGU6OkNTU1N0eWxlUnVsZShTdHlsZVJ1bGUqIHN0eWxl
UnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQorQ1NTU3R5bGVSdWxlOjpDU1NTdHlsZVJ1bGUo
U3R5bGVSdWxlJiBzdHlsZVJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKICAgICA6IENTU1J1
bGUocGFyZW50KQogICAgICwgbV9zdHlsZVJ1bGUoc3R5bGVSdWxlKQogewpAQCAtMTMxLDExICsx
MzEsMTAgQEAgU3RyaW5nIENTU1N0eWxlUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgcmV0dXJu
IHJlc3VsdC50b1N0cmluZygpOwogfQogCi12b2lkIENTU1N0eWxlUnVsZTo6cmVhdHRhY2goU3R5
bGVSdWxlQmFzZSogcnVsZSkKK3ZvaWQgQ1NTU3R5bGVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVC
YXNlJiBydWxlKQogewotICAgIEFTU0VSVChydWxlKTsKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihydWxlLT5pc1N0eWxlUnVsZSgpKTsKLSAgICBtX3N0eWxlUnVsZSA9IHN0
YXRpY19jYXN0PFN0eWxlUnVsZSo+KHJ1bGUpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKHJ1bGUuaXNTdHlsZVJ1bGUoKSk7CisgICAgbV9zdHlsZVJ1bGUgPSBzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGUmPihydWxlKTsKICAgICBpZiAobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVy
KQogICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPnJlYXR0YWNoKG1fc3R5bGVSdWxl
LT5tdXRhYmxlUHJvcGVydGllcygpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAppbmRl
eCA0ZDUwZmVhLi5iOGYyNGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCkBAIC0zMCwx
NSArMzAsMTUgQEAgY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbjsKIGNsYXNzIFN0eWxlUnVsZUNT
U1N0eWxlRGVjbGFyYXRpb247CiBjbGFzcyBTdHlsZVJ1bGU7CiAKLWNsYXNzIENTU1N0eWxlUnVs
ZSA6IHB1YmxpYyBDU1NSdWxlIHsKK2NsYXNzIENTU1N0eWxlUnVsZSBmaW5hbCA6IHB1YmxpYyBD
U1NSdWxlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NTdHlsZVJ1bGU+IGNy
ZWF0ZShTdHlsZVJ1bGUqIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTU3R5bGVSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDU1NTdHlsZVJ1bGU+IGNyZWF0ZShTdHlsZVJ1bGUmIHJ1bGUsIENTU1N0eWxlU2hlZXQq
IHNoZWV0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTU3R5bGVSdWxlKHJ1bGUsIHNoZWV0KSk7
IH0KIAogICAgIHZpcnR1YWwgfkNTU1N0eWxlUnVsZSgpOwogCiAgICAgdmlydHVhbCBDU1NSdWxl
OjpUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBTVFlMRV9SVUxFOyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgY3NzVGV4dCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCByZWF0dGFj
aChTdHlsZVJ1bGVCYXNlKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0
eWxlUnVsZUJhc2UmKSBvdmVycmlkZTsKIAogICAgIFN0cmluZyBzZWxlY3RvclRleHQoKSBjb25z
dDsKICAgICB2b2lkIHNldFNlbGVjdG9yVGV4dChjb25zdCBTdHJpbmcmKTsKQEAgLTQ2LDE0ICs0
NiwxNCBAQCBwdWJsaWM6CiAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiYgc3R5bGUoKTsKIAogICAg
IC8vIEZJWE1FOiBOb3QgQ1NTT00uIFJlbW92ZS4KLSAgICBTdHlsZVJ1bGUqIHN0eWxlUnVsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc3R5bGVSdWxlLmdldCgpOyB9CisgICAgU3R5bGVSdWxlKiBzdHls
ZVJ1bGUoKSBjb25zdCB7IHJldHVybiAmY29uc3RfY2FzdDxTdHlsZVJ1bGUmPihtX3N0eWxlUnVs
ZS5nZXQoKSk7IH0KIAogcHJpdmF0ZToKLSAgICBDU1NTdHlsZVJ1bGUoU3R5bGVSdWxlKiwgQ1NT
U3R5bGVTaGVldCopOworICAgIENTU1N0eWxlUnVsZShTdHlsZVJ1bGUmLCBDU1NTdHlsZVNoZWV0
Kik7CiAKICAgICBTdHJpbmcgZ2VuZXJhdGVTZWxlY3RvclRleHQoKSBjb25zdDsKIAotICAgIFJl
ZlB0cjxTdHlsZVJ1bGU+IG1fc3R5bGVSdWxlOyAgICAKKyAgICBSZWY8U3R5bGVSdWxlPiBtX3N0
eWxlUnVsZTsKICAgICBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9w
ZXJ0aWVzQ1NTT01XcmFwcGVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3Bw
CmluZGV4IGJkNGEzZmYuLjIyOWUzN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5j
cHAKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIENTU1N0eWxlU2hlZXQ6OnJlYXR0YWNoQ2hpbGRS
dWxlQ1NTT01XcmFwcGVycygpCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAoIW1fY2hpbGRSdWxl
Q1NTT01XcmFwcGVyc1tpXSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBtX2NoaWxk
UnVsZUNTU09NV3JhcHBlcnNbaV0tPnJlYXR0YWNoKG1fY29udGVudHMtPnJ1bGVBdChpKSk7Cisg
ICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXS0+cmVhdHRhY2goKm1fY29udGVudHMt
PnJ1bGVBdChpKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3VwcG9ydHNSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUu
Y3BwCmluZGV4IGE2NmZmYTIuLjFhYTc4MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdXBwb3J0c1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0
c1J1bGUuY3BwCkBAIC00MSw3ICs0MSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ1NT
U3VwcG9ydHNSdWxlOjpDU1NTdXBwb3J0c1J1bGUoU3R5bGVSdWxlU3VwcG9ydHMqIHN1cHBvcnRz
UnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQorQ1NTU3VwcG9ydHNSdWxlOjpDU1NTdXBwb3J0
c1J1bGUoU3R5bGVSdWxlU3VwcG9ydHMmIHN1cHBvcnRzUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFy
ZW50KQogICAgIDogQ1NTR3JvdXBpbmdSdWxlKHN1cHBvcnRzUnVsZSwgcGFyZW50KQogewogfQpA
QCAtNjEsNyArNjEsNyBAQCBTdHJpbmcgQ1NTU3VwcG9ydHNSdWxlOjpjc3NUZXh0KCkgY29uc3QK
IAogU3RyaW5nIENTU1N1cHBvcnRzUnVsZTo6Y29uZGl0aW9uVGV4dCgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHRvU3R5bGVSdWxlU3VwcG9ydHMobV9ncm91cFJ1bGUuZ2V0KCkpLT5jb25kaXRpb25U
ZXh0KCk7CisgICAgcmV0dXJuIHRvU3R5bGVSdWxlU3VwcG9ydHMoJm1fZ3JvdXBSdWxlLmdldCgp
KS0+Y29uZGl0aW9uVGV4dCgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmgKaW5kZXggZWZlNWNlNi4uNDdmNTA0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaApAQCAtMzgsOSArMzgsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBDU1NSdWxlOwogY2xhc3MgU3R5bGVSdWxlU3VwcG9ydHM7CiAKLWNsYXNz
IENTU1N1cHBvcnRzUnVsZSA6IHB1YmxpYyBDU1NHcm91cGluZ1J1bGUgeworY2xhc3MgQ1NTU3Vw
cG9ydHNSdWxlIGZpbmFsIDogcHVibGljIENTU0dyb3VwaW5nUnVsZSB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTU3VwcG9ydHNSdWxlPiBjcmVhdGUoU3R5bGVSdWxlU3VwcG9y
dHMqIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENT
U1N1cHBvcnRzUnVsZT4gY3JlYXRlKFN0eWxlUnVsZVN1cHBvcnRzJiBydWxlLCBDU1NTdHlsZVNo
ZWV0KiBzaGVldCkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTU3VwcG9y
dHNSdWxlKHJ1bGUsIHNoZWV0KSk7CiAgICAgfQpAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAg
ICAgU3RyaW5nIGNvbmRpdGlvblRleHQoKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBDU1NTdXBw
b3J0c1J1bGUoU3R5bGVSdWxlU3VwcG9ydHMqLCBDU1NTdHlsZVNoZWV0Kik7CisgICAgQ1NTU3Vw
cG9ydHNSdWxlKFN0eWxlUnVsZVN1cHBvcnRzJiwgQ1NTU3R5bGVTaGVldCopOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Vu
a25vd25SdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaAppbmRleCBh
NzQxNDNhLi45OTU3OTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5rbm93
blJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaApAQCAtMjYs
MTQgKzI2LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTVW5rbm93blJ1
bGUgOiBwdWJsaWMgQ1NTUnVsZSB7CitjbGFzcyBDU1NVbmtub3duUnVsZSBmaW5hbCA6IHB1Ymxp
YyBDU1NSdWxlIHsKIHB1YmxpYzoKICAgICBDU1NVbmtub3duUnVsZSgpIDogQ1NTUnVsZSgwKSB7
IH0KICAgICB2aXJ0dWFsIH5DU1NVbmtub3duUnVsZSgpIHsgfQogCiAgICAgdmlydHVhbCBDU1NS
dWxlOjpUeXBlIHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBVTktOT1dOX1JVTEU7IH0K
ICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSopIG92ZXJy
aWRlIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlJikgb3ZlcnJp
ZGUgeyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwCmluZGV4IDgzNzQxYTcuLjk5YzQyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBA
IC0xNDcsMzkgKzE0NywzOSBAQCBQYXNzUmVmPFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJhc2U6
OmNvcHkoKSBjb25zdAogUGFzc1JlZlB0cjxDU1NSdWxlPiBTdHlsZVJ1bGVCYXNlOjpjcmVhdGVD
U1NPTVdyYXBwZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIENTU1J1bGUqIHBhcmVudFJ1
bGUpIGNvbnN0CiB7CiAgICAgUmVmUHRyPENTU1J1bGU+IHJ1bGU7Ci0gICAgU3R5bGVSdWxlQmFz
ZSogc2VsZiA9IGNvbnN0X2Nhc3Q8U3R5bGVSdWxlQmFzZSo+KHRoaXMpOworICAgIFN0eWxlUnVs
ZUJhc2UmIHNlbGYgPSBjb25zdF9jYXN0PFN0eWxlUnVsZUJhc2UmPigqdGhpcyk7CiAgICAgc3dp
dGNoICh0eXBlKCkpIHsKICAgICBjYXNlIFN0eWxlOgotICAgICAgICBydWxlID0gQ1NTU3R5bGVS
dWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlKj4oc2VsZiksIHBhcmVudFNoZWV0KTsK
KyAgICAgICAgcnVsZSA9IENTU1N0eWxlUnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVs
ZSY+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGFnZToK
LSAgICAgICAgcnVsZSA9IENTU1BhZ2VSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
UGFnZSo+KHNlbGYpLCBwYXJlbnRTaGVldCk7CisgICAgICAgIHJ1bGUgPSBDU1NQYWdlUnVsZTo6
Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVBhZ2UmPihzZWxmKSwgcGFyZW50U2hlZXQpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIEZvbnRGYWNlOgotICAgICAgICBydWxlID0gQ1NTRm9u
dEZhY2VSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlRm9udEZhY2UqPihzZWxmKSwg
cGFyZW50U2hlZXQpOworICAgICAgICBydWxlID0gQ1NTRm9udEZhY2VSdWxlOjpjcmVhdGUoc3Rh
dGljX2Nhc3Q8U3R5bGVSdWxlRm9udEZhY2UmPihzZWxmKSwgcGFyZW50U2hlZXQpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIE1lZGlhOgotICAgICAgICBydWxlID0gQ1NTTWVkaWFSdWxlOjpj
cmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlTWVkaWEqPihzZWxmKSwgcGFyZW50U2hlZXQpOwor
ICAgICAgICBydWxlID0gQ1NTTWVkaWFSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
TWVkaWEmPihzZWxmKSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUo
Q1NTM19DT05ESVRJT05BTF9SVUxFUykKICAgICBjYXNlIFN1cHBvcnRzOgotICAgICAgICBydWxl
ID0gQ1NTU3VwcG9ydHNSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlU3VwcG9ydHMq
PihzZWxmKSwgcGFyZW50U2hlZXQpOworICAgICAgICBydWxlID0gQ1NTU3VwcG9ydHNSdWxlOjpj
cmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlU3VwcG9ydHMmPihzZWxmKSwgcGFyZW50U2hlZXQp
OwogICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBj
YXNlIFJlZ2lvbjoKLSAgICAgICAgcnVsZSA9IFdlYktpdENTU1JlZ2lvblJ1bGU6OmNyZWF0ZShz
dGF0aWNfY2FzdDxTdHlsZVJ1bGVSZWdpb24qPihzZWxmKSwgcGFyZW50U2hlZXQpOworICAgICAg
ICBydWxlID0gV2ViS2l0Q1NTUmVnaW9uUnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVJlZ2lvbiY+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAg
ICAgY2FzZSBJbXBvcnQ6Ci0gICAgICAgIHJ1bGUgPSBDU1NJbXBvcnRSdWxlOjpjcmVhdGUoc3Rh
dGljX2Nhc3Q8U3R5bGVSdWxlSW1wb3J0Kj4oc2VsZiksIHBhcmVudFNoZWV0KTsKKyAgICAgICAg
cnVsZSA9IENTU0ltcG9ydFJ1bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVJbXBvcnQm
PihzZWxmKSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEtleWZyYW1l
czoKLSAgICAgICAgcnVsZSA9IFdlYktpdENTU0tleWZyYW1lc1J1bGU6OmNyZWF0ZShzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGVLZXlmcmFtZXMqPihzZWxmKSwgcGFyZW50U2hlZXQpOworICAgICAgICBy
dWxlID0gV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVs
ZUtleWZyYW1lcyY+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwogI2lmIEVO
QUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAgY2FzZSBWaWV3cG9ydDoKLSAgICAgICAg
cnVsZSA9IFdlYktpdENTU1ZpZXdwb3J0UnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVZpZXdwb3J0Kj4oc2VsZiksIHBhcmVudFNoZWV0KTsKKyAgICAgICAgcnVsZSA9IFdlYktpdENT
U1ZpZXdwb3J0UnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Jj4oc2Vs
ZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICBjYXNlIFVua25v
d246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmgKaW5kZXggZGQ3Y2E5ZS4uMjhmYWNl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuaApAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiAgICAgU3R5bGVTaGVldENvbnRlbnRzKiBzdHlsZVNoZWV0KCkgY29uc3QgeyByZXR1
cm4gbV9zdHlsZVNoZWV0LmdldCgpOyB9CiAKICAgICBib29sIGlzTG9hZGluZygpIGNvbnN0Owot
ICAgIE1lZGlhUXVlcnlTZXQqIG1lZGlhUXVlcmllcygpIHsgcmV0dXJuIG1fbWVkaWFRdWVyaWVz
LmdldCgpOyB9CisgICAgTWVkaWFRdWVyeVNldCogbWVkaWFRdWVyaWVzKCkgY29uc3QgeyByZXR1
cm4gbV9tZWRpYVF1ZXJpZXMuZ2V0KCk7IH0KIAogICAgIHZvaWQgcmVxdWVzdFN0eWxlU2hlZXQo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVs
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcAppbmRl
eCAzZTU2Mzk4Li5hNWUzMjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTS2V5ZnJhbWVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlLmNwcApAQCAtOTIsNyArOTIsNyBAQCBTdHJpbmcgU3R5bGVLZXlmcmFtZTo6Y3Nz
VGV4dCgpIGNvbnN0CiAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQogCi1XZWJLaXRD
U1NLZXlmcmFtZVJ1bGU6OldlYktpdENTU0tleWZyYW1lUnVsZShTdHlsZUtleWZyYW1lKiBrZXlm
cmFtZSwgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSogcGFyZW50KQorV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlOjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGUoU3R5bGVLZXlmcmFtZSYga2V5ZnJhbWUsIFdlYktp
dENTU0tleWZyYW1lc1J1bGUqIHBhcmVudCkKICAgICA6IENTU1J1bGUoMCkKICAgICAsIG1fa2V5
ZnJhbWUoa2V5ZnJhbWUpCiB7CkBAIC0xMTIsNyArMTEyLDcgQEAgQ1NTU3R5bGVEZWNsYXJhdGlv
biYgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpzdHlsZSgpCiAgICAgcmV0dXJuICptX3Byb3BlcnRp
ZXNDU1NPTVdyYXBwZXI7CiB9CiAKLXZvaWQgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpyZWF0dGFj
aChTdHlsZVJ1bGVCYXNlKikKK3ZvaWQgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpyZWF0dGFjaChT
dHlsZVJ1bGVCYXNlJikKIHsKICAgICAvLyBObyBuZWVkIHRvIHJlYXR0YWNoLCB0aGUgdW5kZXJs
eWluZyBkYXRhIGlzIHNoYXJlYWJsZSBvbiBtdXRhdGlvbi4KICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaAppbmRleCA3
YWE1YTJjLi5kMzZlYmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
S2V5ZnJhbWVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1l
UnVsZS5oCkBAIC02NSwxMyArNjUsMTMgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9rZXk7CiB9
OwogCi1jbGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7CitjbGFz
cyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUgZmluYWwgOiBwdWJsaWMgQ1NTUnVsZSB7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlKCk7CiAKICAgICB2aXJ0dWFsIENT
U1J1bGU6OlR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFdFQktJVF9LRVlGUkFN
RV9SVUxFOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIG1fa2V5ZnJhbWUtPmNzc1RleHQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCByZWF0dGFj
aChTdHlsZVJ1bGVCYXNlKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0
eWxlUnVsZUJhc2UmKSBvdmVycmlkZTsKIAogICAgIFN0cmluZyBrZXlUZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV9rZXlmcmFtZS0+a2V5VGV4dCgpOyB9CiAgICAgdm9pZCBzZXRLZXlUZXh0KGNvbnN0
IFN0cmluZyYgcykgeyBtX2tleWZyYW1lLT5zZXRLZXlUZXh0KHMpOyB9CkBAIC03OSw5ICs3OSw5
IEBAIHB1YmxpYzoKICAgICBDU1NTdHlsZURlY2xhcmF0aW9uJiBzdHlsZSgpOwogCiBwcml2YXRl
OgotICAgIFdlYktpdENTU0tleWZyYW1lUnVsZShTdHlsZUtleWZyYW1lKiwgV2ViS2l0Q1NTS2V5
ZnJhbWVzUnVsZSogcGFyZW50KTsKKyAgICBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUoU3R5bGVLZXlm
cmFtZSYsIFdlYktpdENTU0tleWZyYW1lc1J1bGUqIHBhcmVudCk7CiAKLSAgICBSZWZQdHI8U3R5
bGVLZXlmcmFtZT4gbV9rZXlmcmFtZTsKKyAgICBSZWY8U3R5bGVLZXlmcmFtZT4gbV9rZXlmcmFt
ZTsKICAgICBtdXRhYmxlIFJlZlB0cjxTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uPiBtX3By
b3BlcnRpZXNDU1NPTVdyYXBwZXI7CiAgICAgCiAgICAgZnJpZW5kIGNsYXNzIFdlYktpdENTU0tl
eWZyYW1lc1J1bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5
ZnJhbWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZS5jcHAKaW5kZXggZTUzMmJjZS4uYzMyYmEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcApAQCAtODYsMTAgKzg2LDEwIEBAIGludCBTdHlsZVJ1
bGVLZXlmcmFtZXM6OmZpbmRLZXlmcmFtZUluZGV4KGNvbnN0IFN0cmluZyYga2V5KSBjb25zdAog
ICAgIHJldHVybiAtMTsKIH0KIAotV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6V2ViS2l0Q1NTS2V5
ZnJhbWVzUnVsZShTdHlsZVJ1bGVLZXlmcmFtZXMqIGtleWZyYW1lc1J1bGUsIENTU1N0eWxlU2hl
ZXQqIHBhcmVudCkKK1dlYktpdENTU0tleWZyYW1lc1J1bGU6OldlYktpdENTU0tleWZyYW1lc1J1
bGUoU3R5bGVSdWxlS2V5ZnJhbWVzJiBrZXlmcmFtZXNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJl
bnQpCiAgICAgOiBDU1NSdWxlKHBhcmVudCkKICAgICAsIG1fa2V5ZnJhbWVzUnVsZShrZXlmcmFt
ZXNSdWxlKQotICAgICwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKGtleWZyYW1lc1J1bGUtPmtl
eWZyYW1lcygpLnNpemUoKSkKKyAgICAsIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyhrZXlmcmFt
ZXNSdWxlLmtleWZyYW1lcygpLnNpemUoKSkKIHsKIH0KIApAQCAtMTgwLDcgKzE4MCw3IEBAIFdl
YktpdENTU0tleWZyYW1lUnVsZSogV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6aXRlbSh1bnNpZ25l
ZCBpbmRleCkgY29uc3QKICAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUo
KSA9PSBtX2tleWZyYW1lc1J1bGUtPmtleWZyYW1lcygpLnNpemUoKSk7CiAgICAgUmVmUHRyPFdl
YktpdENTU0tleWZyYW1lUnVsZT4mIHJ1bGUgPSBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaW5k
ZXhdOwogICAgIGlmICghcnVsZSkKLSAgICAgICAgcnVsZSA9IGFkb3B0UmVmKG5ldyBXZWJLaXRD
U1NLZXlmcmFtZVJ1bGUobV9rZXlmcmFtZXNSdWxlLT5rZXlmcmFtZXMoKVtpbmRleF0uZ2V0KCks
IGNvbnN0X2Nhc3Q8V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSo+KHRoaXMpKSk7CisgICAgICAgIHJ1
bGUgPSBhZG9wdFJlZihuZXcgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlKCptX2tleWZyYW1lc1J1bGUt
PmtleWZyYW1lcygpW2luZGV4XSwgY29uc3RfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZXNSdWxlKj4o
dGhpcykpKTsKIAogICAgIHJldHVybiBydWxlLmdldCgpOyAKIH0KQEAgLTE5MiwxMSArMTkyLDEw
IEBAIENTU1J1bGVMaXN0JiBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpjc3NSdWxlcygpCiAgICAg
cmV0dXJuICptX3J1bGVMaXN0Q1NTT01XcmFwcGVyOwogfQogCi12b2lkIFdlYktpdENTU0tleWZy
YW1lc1J1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCit2b2lkIFdlYktpdENTU0tl
eWZyYW1lc1J1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCiB7Ci0gICAgQVNTRVJU
KHJ1bGUpOwotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHJ1bGUtPmlzS2V5
ZnJhbWVzUnVsZSgpKTsKLSAgICBtX2tleWZyYW1lc1J1bGUgPSBzdGF0aWNfY2FzdDxTdHlsZVJ1
bGVLZXlmcmFtZXMqPihydWxlKTsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TihydWxlLmlzS2V5ZnJhbWVzUnVsZSgpKTsKKyAgICBtX2tleWZyYW1lc1J1bGUgPSBzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGVLZXlmcmFtZXMmPihydWxlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgKaW5kZXgg
OTNmODZiZS4uMmM3OTBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENT
U0tleWZyYW1lc1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZS5oCkBAIC02NSwxNSArNjUsMTUgQEAgcHJpdmF0ZToKICAgICBBdG9taWNTdHJpbmcg
bV9uYW1lOwogfTsKIAotY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSA6IHB1YmxpYyBDU1NS
dWxlIHsKK2NsYXNzIFdlYktpdENTU0tleWZyYW1lc1J1bGUgZmluYWwgOiBwdWJsaWMgQ1NTUnVs
ZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZT4gY3JlYXRlKFN0eWxlUnVsZUtleWZyYW1lcyogcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlKHJ1bGUsIHNoZWV0
KSk7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRDU1NLZXlmcmFtZXNSdWxlPiBjcmVh
dGUoU3R5bGVSdWxlS2V5ZnJhbWVzJiBydWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFdlYktpdENTU0tleWZyYW1lc1J1bGUocnVsZSwgc2hlZXQpKTsgfQog
CiAgICAgdmlydHVhbCB+V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSgpOwogCiAgICAgdmlydHVhbCBD
U1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBXRUJLSVRfS0VZRlJB
TUVTX1JVTEU7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Qgb3ZlcnJpZGU7
Ci0gICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSYpIG92ZXJyaWRlOwogCiAgICAg
U3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX2tleWZyYW1lc1J1bGUtPm5hbWUoKTsgfQog
ICAgIHZvaWQgc2V0TmFtZShjb25zdCBTdHJpbmcmKTsKQEAgLTkwLDkgKzkwLDkgQEAgcHVibGlj
OgogICAgIFdlYktpdENTU0tleWZyYW1lUnVsZSogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7
CiAKIHByaXZhdGU6Ci0gICAgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZShTdHlsZVJ1bGVLZXlmcmFt
ZXMqLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOworICAgIFdlYktpdENTU0tleWZyYW1lc1J1bGUo
U3R5bGVSdWxlS2V5ZnJhbWVzJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIAotICAgIFJlZlB0
cjxTdHlsZVJ1bGVLZXlmcmFtZXM+IG1fa2V5ZnJhbWVzUnVsZTsKKyAgICBSZWY8U3R5bGVSdWxl
S2V5ZnJhbWVzPiBtX2tleWZyYW1lc1J1bGU7CiAgICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPFdl
YktpdENTU0tleWZyYW1lUnVsZT4+IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyczsKICAgICBtdXRh
YmxlIHN0ZDo6dW5pcXVlX3B0cjxDU1NSdWxlTGlzdD4gbV9ydWxlTGlzdENTU09NV3JhcHBlcjsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHAKaW5kZXggMzUx
ODhiMy4uZWMxMGUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1Jl
Z2lvblJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxl
LmNwcApAQCAtNDAsNyArNDAsNyBAQAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewotV2ViS2l0Q1NTUmVnaW9uUnVsZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZShT
dHlsZVJ1bGVSZWdpb24qIHJlZ2lvblJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKK1dlYktp
dENTU1JlZ2lvblJ1bGU6OldlYktpdENTU1JlZ2lvblJ1bGUoU3R5bGVSdWxlUmVnaW9uJiByZWdp
b25SdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCiAgICAgOiBDU1NHcm91cGluZ1J1bGUocmVn
aW9uUnVsZSwgcGFyZW50KQogewogfQpAQCAtNTEsNyArNTEsNyBAQCBTdHJpbmcgV2ViS2l0Q1NT
UmVnaW9uUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIkAt
d2Via2l0LXJlZ2lvbiAiKTsKIAogICAgIC8vIEZpcnN0IGFkZCB0aGUgc2VsZWN0b3JzLgotICAg
IHJlc3VsdC5hcHBlbmQodG9TdHlsZVJ1bGVSZWdpb24obV9ncm91cFJ1bGUuZ2V0KCkpLT5zZWxl
Y3Rvckxpc3QoKS5zZWxlY3RvcnNUZXh0KCkpOworICAgIHJlc3VsdC5hcHBlbmQodG9TdHlsZVJ1
bGVSZWdpb24oJm1fZ3JvdXBSdWxlLmdldCgpKS0+c2VsZWN0b3JMaXN0KCkuc2VsZWN0b3JzVGV4
dCgpKTsKIAogICAgIC8vIFRoZW4gYWRkIHRoZSBydWxlcy4KICAgICByZXN1bHQuYXBwZW5kTGl0
ZXJhbCgiIHsgXG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NS
ZWdpb25SdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oCmlu
ZGV4IDQ3ODU4NDIuLjUxNmJjYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NSZWdpb25SdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lv
blJ1bGUuaApAQCAtMzksMTUgKzM5LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U3R5bGVSdWxlUmVnaW9uOwogCi1jbGFzcyBXZWJLaXRDU1NSZWdpb25SdWxlIDogcHVibGljIENT
U0dyb3VwaW5nUnVsZSB7CitjbGFzcyBXZWJLaXRDU1NSZWdpb25SdWxlIGZpbmFsIDogcHVibGlj
IENTU0dyb3VwaW5nUnVsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0
Q1NTUmVnaW9uUnVsZT4gY3JlYXRlKFN0eWxlUnVsZVJlZ2lvbiogcnVsZSwgQ1NTU3R5bGVTaGVl
dCogc2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRDU1NSZWdpb25SdWxlKHJ1bGUs
IHNoZWV0KSk7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRDU1NSZWdpb25SdWxlPiBj
cmVhdGUoU3R5bGVSdWxlUmVnaW9uJiBydWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFdlYktpdENTU1JlZ2lvblJ1bGUocnVsZSwgc2hlZXQpKTsgfQogCiAg
ICAgdmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBX
RUJLSVRfUkVHSU9OX1JVTEU7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Qg
b3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgV2ViS2l0Q1NTUmVnaW9uUnVsZShTdHlsZVJ1bGVS
ZWdpb24qLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOworICAgIFdlYktpdENTU1JlZ2lvblJ1bGUo
U3R5bGVSdWxlUmVnaW9uJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NW
aWV3cG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVs
ZS5jcHAKaW5kZXggYzA1OTYwYi4uZDZhMTdiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dl
YktpdENTU1ZpZXdwb3J0UnVsZS5jcHAKQEAgLTc1LDExICs3NSwxMCBAQCBTdHJpbmcgV2ViS2l0
Q1NTVmlld3BvcnRSdWxlOjpjc3NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0LnRvU3Ry
aW5nKCk7CiB9CiAKLXZvaWQgV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpyZWF0dGFjaChTdHlsZVJ1
bGVCYXNlKiBydWxlKQordm9pZCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnJlYXR0YWNoKFN0eWxl
UnVsZUJhc2UmIHJ1bGUpCiB7Ci0gICAgQVNTRVJUKHJ1bGUpOwotICAgIEFTU0VSVF9XSVRIX1NF
Q1VSSVRZX0lNUExJQ0FUSU9OKHJ1bGUtPmlzVmlld3BvcnRSdWxlKCkpOwotICAgIG1fdmlld3Bv
cnRSdWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmlld3BvcnQqPihydWxlKTsKKyAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihydWxlLmlzVmlld3BvcnRSdWxlKCkpOworICAg
IG1fdmlld3BvcnRSdWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmlld3BvcnQmPihydWxlKTsK
IAogICAgIGlmIChtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpCiAgICAgICAgIG1fcHJvcGVydGll
c0NTU09NV3JhcHBlci0+cmVhdHRhY2gobV92aWV3cG9ydFJ1bGUtPm11dGFibGVQcm9wZXJ0aWVz
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVs
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCmluZGV4IGIx
YzkyNGYuLjg4ZmJmNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NW
aWV3cG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRS
dWxlLmgKQEAgLTQxLDkgKzQxLDkgQEAgY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbjsKIGNsYXNz
IFN0eWxlUnVsZVZpZXdwb3J0OwogY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsK
IAotY2xhc3MgV2ViS2l0Q1NTVmlld3BvcnRSdWxlOiBwdWJsaWMgQ1NTUnVsZSB7CitjbGFzcyBX
ZWJLaXRDU1NWaWV3cG9ydFJ1bGUgZmluYWwgOiBwdWJsaWMgQ1NTUnVsZSB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0Q1NTVmlld3BvcnRSdWxlPiBjcmVhdGUoU3R5bGVS
dWxlVmlld3BvcnQqIHZpZXdwb3J0UnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpCisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8V2ViS2l0Q1NTVmlld3BvcnRSdWxlPiBjcmVhdGUoU3R5bGVSdWxlVmll
d3BvcnQmIHZpZXdwb3J0UnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpCiAgICAgewogICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdENTU1ZpZXdwb3J0UnVsZSh2aWV3cG9ydFJ1bGUs
IHNoZWV0KSk7CiAgICAgfQpAQCAtNTEsMTQgKzUxLDE0IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gV0VCS0lUX1ZJ
RVdQT1JUX1JVTEU7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqKSBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSYpIG92ZXJyaWRlOwogCiAg
ICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiYgc3R5bGUoKTsKIAogcHJpdmF0ZToKICAgICBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqLCBDU1NTdHlsZVNoZWV0Kik7CiAKLSAg
ICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IG1fdmlld3BvcnRSdWxlOworICAgIFJlZjxTdHls
ZVJ1bGVWaWV3cG9ydD4gbV92aWV3cG9ydFJ1bGU7CiAgICAgbXV0YWJsZSBSZWZQdHI8U3R5bGVS
dWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyOwogfTsKIAo=
</data>
<flag name="review"
          id="263886"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>