<?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>222203</bug_id>
          
          <creation_ts>2021-02-19 14:43:34 -0800</creation_ts>
          <short_desc>[JSC] Not allocating empty object for Intl options</short_desc>
          <delta_ts>2021-02-19 18:02:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1731600</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-19 14:43:34 -0800</bug_when>
    <thetext>[JSC] Not allocating empty object for Intl options</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731601</commentid>
    <comment_count>1</comment_count>
      <attachid>421035</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-19 14:46:12 -0800</bug_when>
    <thetext>Created attachment 421035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731604</commentid>
    <comment_count>2</comment_count>
      <attachid>421036</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-19 14:50:51 -0800</bug_when>
    <thetext>Created attachment 421036
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731618</commentid>
    <comment_count>3</comment_count>
      <attachid>421036</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-02-19 15:10:18 -0800</bug_when>
    <thetext>Comment on attachment 421036
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731705</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-19 18:01:23 -0800</bug_when>
    <thetext>Committed r273187: &lt;https://commits.webkit.org/r273187&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421036.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731706</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-19 18:02:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/74545617&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421035</attachid>
            <date>2021-02-19 14:46:12 -0800</date>
            <delta_ts>2021-02-19 14:50:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222203-20210219144611.patch</filename>
            <type>text/plain</type>
            <size>31169</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MTg2ZDQyOTVlYjRlMGI2N2EwNDM0OWIwZTZlNThlMWVhYzY2MDQ3Li5jZjBlNzQ1NTI2ZWZmOTdj
NzJhODU4MGU3YjllYzkzMWRmYTM0NDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OSBAQAorMjAyMS0wMi0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE5vdCBhbGxvY2F0aW5nIGVtcHR5IG9iamVjdCBmb3IgSW50bCBv
cHRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjIyMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIGludHJvZHVjZXMgT3B0aW9uYWw8SlNPYmplY3QmPiB0byBJbnRsIG9wdGlvbnMg
dG8gZXhwbGljaXRseSBtYXJrIGl0IGFzIG1heWJlLW51bGwuCisgICAgICAgIFRoaXMgbWF5YmUt
bnVsbCBvYmplY3QgY2FuIGFwcGVhciB3aGVuIHRoZSBvcHRpb25zIGlzIHVuZGVmaW5lZC4gQWNj
b3JkaW5nIHRvIHRoZSBzcGVjLCB3ZSBhbGxvY2F0ZXMKKyAgICAgICAgZW1wdHkgb2JqZWN0ICh3
aXRoIG51bGwgW1tQcm90b3R5cGVdXSkgZm9yIHRoaXMgY2FzZSwgYnV0IGFjY2Vzc2luZyB0aGlz
IG9iamVjdCdzIHByb3BlcnR5IGlzIG5vbi1vYnNlcnZhYmxlCisgICAgICAgIHNpbmNlIHRoaXMg
ZG9lcyBub3QgaGF2ZSBbW1Byb3RvdHlwZV1dLiBBcyBhIHJlc3VsdCwgd2UgY2FuIHNraXAgYWxs
b2NhdGlvbiBhbmQgYWNjZXNzZXMgaW4gdGhpcyBjYXNlLgorCisgICAgICAgIFRoaXMgY2FuIGFs
c28gcGF2ZSB0aGUgd2F5IHRvIGF2b2lkaW5nIGFsbG9jYXRpb25zIG9mIG9wdGlvbnMgb2JqZWN0
cyBmb3IgRGF0ZSN0b0xvY2FsZVN0cmluZyBldGMuJ3Mgc3BlY2lmaWMgY2FzZXMuCisKKyAgICAg
ICAgKiBydW50aW1lL0ludGxDb2xsYXRvci5jcHA6CisgICAgICAgIChKU0M6OkludGxDb2xsYXRv
cjo6aW5pdGlhbGl6ZUNvbGxhdG9yKToKKyAgICAgICAgKiBydW50aW1lL0ludGxEYXRlVGltZUZv
cm1hdC5jcHA6CisgICAgICAgIChKU0M6OkludGxEYXRlVGltZUZvcm1hdDo6aW5pdGlhbGl6ZURh
dGVUaW1lRm9ybWF0KToKKyAgICAgICAgKEpTQzo6dG9EYXRlVGltZU9wdGlvbnNBbnlEYXRlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0ludGxEaXNwbGF5TmFtZXMuY3BwOgorICAgICAg
ICAoSlNDOjpJbnRsRGlzcGxheU5hbWVzOjppbml0aWFsaXplRGlzcGxheU5hbWVzKToKKyAgICAg
ICAgKiBydW50aW1lL0ludGxMaXN0Rm9ybWF0LmNwcDoKKyAgICAgICAgKEpTQzo6SW50bExpc3RG
b3JtYXQ6OmluaXRpYWxpemVMaXN0Rm9ybWF0KToKKyAgICAgICAgKiBydW50aW1lL0ludGxMb2Nh
bGUuY3BwOgorICAgICAgICAoSlNDOjpJbnRsTG9jYWxlOjppbml0aWFsaXplTG9jYWxlKToKKyAg
ICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwOgorICAgICAgICAoSlNDOjpJbnRs
TnVtYmVyRm9ybWF0Ojppbml0aWFsaXplTnVtYmVyRm9ybWF0KToKKyAgICAgICAgKiBydW50aW1l
L0ludGxOdW1iZXJGb3JtYXQuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXRJ
bmxpbmVzLmg6CisgICAgICAgIChKU0M6OnNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyk6Cisg
ICAgICAgICogcnVudGltZS9JbnRsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6aW50bEJvb2xl
YW5PcHRpb24pOgorICAgICAgICAoSlNDOjppbnRsU3RyaW5nT3B0aW9uKToKKyAgICAgICAgKEpT
Qzo6aW50bE51bWJlck9wdGlvbik6CisgICAgICAgIChKU0M6OnN1cHBvcnRlZExvY2FsZXMpOgor
ICAgICAgICAqIHJ1bnRpbWUvSW50bE9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE9i
amVjdElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6aW50bE9wdGlvbik6CisgICAgICAgICogcnVu
dGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwOgorICAgICAgICAoSlNDOjpJbnRsUGx1cmFsUnVsZXM6
OmluaXRpYWxpemVQbHVyYWxSdWxlcyk6CisgICAgICAgICogcnVudGltZS9JbnRsUGx1cmFsUnVs
ZXMuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXQuY3BwOgorICAg
ICAgICAoSlNDOjpJbnRsUmVsYXRpdmVUaW1lRm9ybWF0Ojppbml0aWFsaXplUmVsYXRpdmVUaW1l
Rm9ybWF0KToKKyAgICAgICAgKiBydW50aW1lL0ludGxTZWdtZW50ZXIuY3BwOgorICAgICAgICAo
SlNDOjpJbnRsU2VnbWVudGVyOjppbml0aWFsaXplU2VnbWVudGVyKToKKwogMjAyMS0wMi0xOSAg
TWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGEgR0Mg
dmVyaWZpZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
Q29sbGF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9y
LmNwcAppbmRleCA4MzlhYzBkOTE2OTZjOTM3ODdkZWYyMjM4MDc3MDRhOGRjMTc1N2RjLi40NjU1
MjQ4ZjI4MDQ5MTBlNGI0ZGNjMjBlNWJiZTkxNGU1ODlmMWVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvci5jcHAKQEAgLTE2NCwxMSArMTY0LDggQEAg
dm9pZCBJbnRsQ29sbGF0b3I6OmluaXRpYWxpemVDb2xsYXRvcihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIGxvY2EKICAgICBhdXRvIHJlcXVlc3RlZExvY2FsZXMgPSBjYW5v
bmljYWxpemVMb2NhbGVMaXN0KGdsb2JhbE9iamVjdCwgbG9jYWxlcyk7CiAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIEpTVmFsdWUgb3B0aW9ucyA9IG9wdGlv
bnNWYWx1ZTsKLSAgICBpZiAoIW9wdGlvbnNWYWx1ZS5pc1VuZGVmaW5lZCgpKSB7Ci0gICAgICAg
IG9wdGlvbnMgPSBvcHRpb25zVmFsdWUudG9PYmplY3QoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICB9CisgICAgT3B0aW9uYWw8
SlNPYmplY3QmPiBvcHRpb25zID0gaW50bENvZXJjZU9wdGlvbnNUb09iamVjdChnbG9iYWxPYmpl
Y3QsIG9wdGlvbnNWYWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgp
KTsKIAogICAgIG1fdXNhZ2UgPSBpbnRsT3B0aW9uPFVzYWdlPihnbG9iYWxPYmplY3QsIG9wdGlv
bnMsIHZtLnByb3BlcnR5TmFtZXMtPnVzYWdlLCB7IHsgInNvcnQiX3MsIFVzYWdlOjpTb3J0IH0s
IHsgInNlYXJjaCJfcywgVXNhZ2U6OlNlYXJjaCB9IH0sICJ1c2FnZSBtdXN0IGJlIGVpdGhlciBc
InNvcnRcIiBvciBcInNlYXJjaFwiIl9zLCBVc2FnZTo6U29ydCk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgdm9pZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwCmluZGV4IGFjMWVjODdmMzVkNzM4OWZiOWFh
ZGI5NTk3NmY1MDI5ZmY2MDhiM2MuLmExN2E5YzIwNDkyNWIwNzdjMmMzZjhlZjk3M2E5OTZiY2Fl
MjcxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRl
VGltZUZvcm1hdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERh
dGVUaW1lRm9ybWF0LmNwcApAQCAtMTk0LDcgKzE5NCw3IEBAIFZlY3RvcjxTdHJpbmc+IEludGxE
YXRlVGltZUZvcm1hdDo6bG9jYWxlRGF0YShjb25zdCBTdHJpbmcmIGxvY2FsZSwgUmVsZXZhbnRF
eHRlCiAgICAgcmV0dXJuIGtleUxvY2FsZURhdGE7CiB9CiAKLXN0YXRpYyBKU09iamVjdCogdG9E
YXRlVGltZU9wdGlvbnNBbnlEYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFs
dWUgb3JpZ2luYWxPcHRpb25zKQorc3RhdGljIE9wdGlvbmFsPEpTT2JqZWN0Jj4gdG9EYXRlVGlt
ZU9wdGlvbnNBbnlEYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3Jp
Z2luYWxPcHRpb25zKQogewogICAgIC8vIDEyLjEuMSBUb0RhdGVUaW1lT3B0aW9ucyBhYnN0cmFj
dCBvcGVyYXRpb24gKEVDTUEtNDAyIDIuMCkKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZt
KCk7CkBAIC0yMDgsNyArMjA4LDcgQEAgc3RhdGljIEpTT2JqZWN0KiB0b0RhdGVUaW1lT3B0aW9u
c0FueURhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZQogICAgICAgICBv
cHRpb25zID0gY29uc3RydWN0RW1wdHlPYmplY3Qodm0sIGdsb2JhbE9iamVjdC0+bnVsbFByb3Rv
dHlwZU9iamVjdFN0cnVjdHVyZSgpKTsKICAgICBlbHNlIHsKICAgICAgICAgSlNPYmplY3QqIG9y
aWdpbmFsVG9PYmplY3QgPSBvcmlnaW5hbE9wdGlvbnMudG9PYmplY3QoZ2xvYmFsT2JqZWN0KTsK
LSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1
Y3RFbXB0eU9iamVjdChnbG9iYWxPYmplY3QsIG9yaWdpbmFsVG9PYmplY3QpOwogICAgIH0KIApA
QCAtMjI0LDIyICsyMjQsMjIgQEAgc3RhdGljIEpTT2JqZWN0KiB0b0RhdGVUaW1lT3B0aW9uc0Fu
eURhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZQogICAgIC8vIGlpaS4g
UmV0dXJuSWZBYnJ1cHQodmFsdWUpLgogICAgIC8vIGl2LiBJZiB2YWx1ZSBpcyBub3QgdW5kZWZp
bmVkLCB0aGVuIGxldCBuZWVkRGVmYXVsdHMgYmUgZmFsc2UuCiAgICAgSlNWYWx1ZSB3ZWVrZGF5
ID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+d2Vla2RheSk7
Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICBpZiAoIXdlZWtkYXkuaXNVbmRlZmluZWQoKSkK
ICAgICAgICAgbmVlZERlZmF1bHRzID0gZmFsc2U7CiAKICAgICBKU1ZhbHVlIHllYXIgPSBvcHRp
b25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT55ZWFyKTsKLSAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB7IH0pOwogICAgIGlmICgheWVhci5pc1VuZGVmaW5lZCgpKQogICAgICAgICBuZWVk
RGVmYXVsdHMgPSBmYWxzZTsKIAogICAgIEpTVmFsdWUgbW9udGggPSBvcHRpb25zLT5nZXQoZ2xv
YmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5tb250aCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgbnVsbHB0cik7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9
KTsKICAgICBpZiAoIW1vbnRoLmlzVW5kZWZpbmVkKCkpCiAgICAgICAgIG5lZWREZWZhdWx0cyA9
IGZhbHNlOwogCiAgICAgSlNWYWx1ZSBkYXkgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2
bS5wcm9wZXJ0eU5hbWVzLT5kYXkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51
bGxwdHIpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAgaWYgKCFk
YXkuaXNVbmRlZmluZWQoKSkKICAgICAgICAgbmVlZERlZmF1bHRzID0gZmFsc2U7CiAKQEAgLTI1
MywzNSArMjUzLDM1IEBAIHN0YXRpYyBKU09iamVjdCogdG9EYXRlVGltZU9wdGlvbnNBbnlEYXRl
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUKICAgICAvLyBpdi4gSWYgdmFs
dWUgaXMgbm90IHVuZGVmaW5lZCwgdGhlbiBsZXQgbmVlZERlZmF1bHRzIGJlIGZhbHNlLgogICAg
IGlmIChPcHRpb25zOjp1c2VJbnRsRGF0ZVRpbWVGb3JtYXREYXlQZXJpb2QoKSkgewogICAgICAg
ICBKU1ZhbHVlIGRheVBlcmlvZCA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3Bl
cnR5TmFtZXMtPmRheVBlcmlvZCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IG51bGxwdHIpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAg
ICAgICBpZiAoIWRheVBlcmlvZC5pc1VuZGVmaW5lZCgpKQogICAgICAgICAgICAgbmVlZERlZmF1
bHRzID0gZmFsc2U7CiAgICAgfQogCiAgICAgSlNWYWx1ZSBob3VyID0gb3B0aW9ucy0+Z2V0KGds
b2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+aG91cik7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgbnVsbHB0cik7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9
KTsKICAgICBpZiAoIWhvdXIuaXNVbmRlZmluZWQoKSkKICAgICAgICAgbmVlZERlZmF1bHRzID0g
ZmFsc2U7CiAKICAgICBKU1ZhbHVlIG1pbnV0ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3Qs
IHZtLnByb3BlcnR5TmFtZXMtPm1pbnV0ZSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgbnVsbHB0cik7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICBp
ZiAoIW1pbnV0ZS5pc1VuZGVmaW5lZCgpKQogICAgICAgICBuZWVkRGVmYXVsdHMgPSBmYWxzZTsK
IAogICAgIEpTVmFsdWUgc2Vjb25kID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJv
cGVydHlOYW1lcy0+c2Vjb25kKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxs
cHRyKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIGlmICghc2Vj
b25kLmlzVW5kZWZpbmVkKCkpCiAgICAgICAgIG5lZWREZWZhdWx0cyA9IGZhbHNlOwogCiAgICAg
SlNWYWx1ZSBmcmFjdGlvbmFsU2Vjb25kRGlnaXRzID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVj
dCwgdm0ucHJvcGVydHlOYW1lcy0+ZnJhY3Rpb25hbFNlY29uZERpZ2l0cyk7Ci0gICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgeyB9KTsKICAgICBpZiAoIWZyYWN0aW9uYWxTZWNvbmREaWdpdHMuaXNVbmRlZmluZWQo
KSkKICAgICAgICAgbmVlZERlZmF1bHRzID0gZmFsc2U7CiAKICAgICBKU1ZhbHVlIGRhdGVTdHls
ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPmRhdGVTdHls
ZSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICBKU1ZhbHVlIHRpbWVTdHlsZSA9IG9wdGlv
bnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPnRpbWVTdHlsZSk7Ci0gICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgeyB9KTsKIAogICAgIGlmICghZGF0ZVN0eWxlLmlzVW5kZWZpbmVkKCkgfHwg
IXRpbWVTdHlsZS5pc1VuZGVmaW5lZCgpKQogICAgICAgICBuZWVkRGVmYXVsdHMgPSBmYWxzZTsK
QEAgLTI5NSwyMCArMjk1LDIwIEBAIHN0YXRpYyBKU09iamVjdCogdG9EYXRlVGltZU9wdGlvbnNB
bnlEYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUKICAgICAgICAgSlNT
dHJpbmcqIG51bWVyaWMgPSBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJudW1lcmljIl9zKTsKIAog
ICAgICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnllYXIsIG51
bWVyaWMpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAogICAgICAgICBvcHRpb25z
LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1vbnRoLCBudW1lcmljKTsKLSAgICAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKICAgICAgICAgb3B0aW9ucy0+cHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5kYXksIG51bWVyaWMpOwotICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgeyB9KTsKICAgICB9CiAKICAgICAvLyA4LiBJZiBuZWVkRGVmYXVsdHMgaXMgdHJ1ZSBhbmQg
ZGVmYXVsdHMgaXMgZWl0aGVyICJ0aW1lIiBvciAiYWxsIiwgdGhlbgogICAgIC8vIERlZmF1bHRz
IGlzIGFsd2F5cyAiZGF0ZSIuIElnbm9yZSB0aGlzIGJyYW5jaC4KIAogICAgIC8vIDkuIFJldHVy
biBvcHRpb25zLgotICAgIHJldHVybiBvcHRpb25zOworICAgIHJldHVybiAqb3B0aW9uczsKIH0K
IAogdm9pZCBJbnRsRGF0ZVRpbWVGb3JtYXQ6OnNldEZvcm1hdHNGcm9tUGF0dGVybihjb25zdCBT
dHJpbmdWaWV3JiBwYXR0ZXJuKQpAQCAtNTI1LDcgKzUyNSw3IEBAIHZvaWQgSW50bERhdGVUaW1l
Rm9ybWF0Ojppbml0aWFsaXplRGF0ZVRpbWVGb3JtYXQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwKICAgICBWZWN0b3I8U3RyaW5nPiByZXF1ZXN0ZWRMb2NhbGVzID0gY2Fub25pY2FsaXpl
TG9jYWxlTGlzdChnbG9iYWxPYmplY3QsIGxvY2FsZXMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIHZvaWQoKSk7CiAKLSAgICBKU09iamVjdCogb3B0aW9ucyA9IHRvRGF0ZVRpbWVP
cHRpb25zQW55RGF0ZShnbG9iYWxPYmplY3QsIG9yaWdpbmFsT3B0aW9ucyk7CisgICAgT3B0aW9u
YWw8SlNPYmplY3QmPiBvcHRpb25zID0gdG9EYXRlVGltZU9wdGlvbnNBbnlEYXRlKGdsb2JhbE9i
amVjdCwgb3JpZ2luYWxPcHRpb25zKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2
b2lkKCkpOwogCiAgICAgUmVzb2x2ZUxvY2FsZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEaXNwbGF5TmFtZXMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERpc3BsYXlOYW1lcy5jcHAKaW5k
ZXggN2UzYTk5ODJiNmUzNTJiZWJhNGQzYmU5Mjg2Njc0MTIxY2FjNDNlOS4uMjJhMTE1ZDEzOWY2
YzViMjQ1ZWRlYmE4MDllMjhlOTg2NzY4MGI4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bERpc3BsYXlOYW1lcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bERpc3BsYXlOYW1lcy5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgdm9p
ZCBJbnRsRGlzcGxheU5hbWVzOjppbml0aWFsaXplRGlzcGxheU5hbWVzKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTVmEKICAgICBhdXRvIHJlcXVlc3RlZExvY2FsZXMgPSBjYW5vbmlj
YWxpemVMb2NhbGVMaXN0KGdsb2JhbE9iamVjdCwgbG9jYWxlcyk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIEpTT2JqZWN0KiBvcHRpb25zID0gb3B0aW9u
c1ZhbHVlLnRvT2JqZWN0KGdsb2JhbE9iamVjdCk7CisgICAgT3B0aW9uYWw8SlNPYmplY3QmPiBv
cHRpb25zID0gaW50bEdldE9wdGlvbnNPYmplY3QoZ2xvYmFsT2JqZWN0LCBvcHRpb25zVmFsdWUp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICAvLyBEb2Vz
IG5vdCBzZXQgZWl0aGVyIG9mICJjYSIgb3IgIm51Ii4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGxMaXN0Rm9ybWF0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxMaXN0Rm9ybWF0LmNwcAppbmRleCA3MmZiYzViN2Q5ZTc0NzY4YjUx
NTk4NDJlYzU3ZDlkNjY0OWQ0MWVkLi44MTdiOWNhZTU5MzRhZjc2NTU0NjMyZGU5OTU3Njg1ZTA5
MGEzMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTGlz
dEZvcm1hdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bExpc3RG
b3JtYXQuY3BwCkBAIC05MSwxMyArOTEsOCBAQCB2b2lkIEludGxMaXN0Rm9ybWF0Ojppbml0aWFs
aXplTGlzdEZvcm1hdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlCiAgICAg
YXV0byByZXF1ZXN0ZWRMb2NhbGVzID0gY2Fub25pY2FsaXplTG9jYWxlTGlzdChnbG9iYWxPYmpl
Y3QsIGxvY2FsZXMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAK
LSAgICBKU09iamVjdCogb3B0aW9uczsKLSAgICBpZiAob3B0aW9uc1ZhbHVlLmlzVW5kZWZpbmVk
KCkpCi0gICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCh2bSwgZ2xvYmFsT2Jq
ZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOwotICAgIGVsc2UgewotICAgICAg
ICBvcHRpb25zID0gb3B0aW9uc1ZhbHVlLnRvT2JqZWN0KGdsb2JhbE9iamVjdCk7Ci0gICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgfQorICAgIE9wdGlvbmFs
PEpTT2JqZWN0Jj4gb3B0aW9ucyA9IGludGxHZXRPcHRpb25zT2JqZWN0KGdsb2JhbE9iamVjdCwg
b3B0aW9uc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwog
CiAgICAgUmVzb2x2ZUxvY2FsZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bExvY2FsZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTG9jYWxlLmNwcAppbmRleCBlZWM5NGZlMzZhZjAyMGY1
ZmVlZTFlZTgwOGQxZTZjYmMyMDdmYjc0Li5jNWY4OWI3ZjQ0YmJmNmE1YmE4NDUzNjRhOTI1YjE2
NmQzYjFmNWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
TG9jYWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTG9jYWxl
LmNwcApAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIklu
dGxMb2NhbGUuaCIKIAotI2luY2x1ZGUgIkludGxPYmplY3QuaCIKKyNpbmNsdWRlICJJbnRsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlIDx1bmljb2Rl
L3Vsb2MuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9pY3UvSUNVSGVscGVycy5oPgpAQCAtMjIz
LDExICsyMjMsOCBAQCB2b2lkIEludGxMb2NhbGU6OmluaXRpYWxpemVMb2NhbGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiB0YQogICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CiAKLSAgICBKU1ZhbHVlIG9wdGlvbnMgPSBvcHRpb25zVmFsdWU7Ci0gICAgaWYgKCFvcHRpb25z
VmFsdWUuaXNVbmRlZmluZWQoKSkgewotICAgICAgICBvcHRpb25zID0gb3B0aW9uc1ZhbHVlLnRv
T2JqZWN0KGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHZvaWQoKSk7Ci0gICAgfQorICAgIE9wdGlvbmFsPEpTT2JqZWN0Jj4gb3B0aW9ucyA9IGludGxD
b2VyY2VPcHRpb25zVG9PYmplY3QoZ2xvYmFsT2JqZWN0LCBvcHRpb25zVmFsdWUpOworICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICBMb2NhbGVJREJ1aWxkZXIg
bG9jYWxlSUQ7CiAgICAgaWYgKCFsb2NhbGVJRC5pbml0aWFsaXplKHRhZykpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKaW5kZXgg
OWM2ODEwZThhMGZmNTI5NGViM2ZjODljYWFhYzYzYzBmYTYyYWQwNy4uMDA3YzlkMzAyNzE1YTU4
MzI4NTc2MGRjYzcwYjJkNGVmOWYwNThjYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHAKQEAgLTI3NCwxMyArMjc0LDggQEAgdm9p
ZCBJbnRsTnVtYmVyRm9ybWF0Ojppbml0aWFsaXplTnVtYmVyRm9ybWF0KEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTVmEKICAgICBhdXRvIHJlcXVlc3RlZExvY2FsZXMgPSBjYW5vbmlj
YWxpemVMb2NhbGVMaXN0KGdsb2JhbE9iamVjdCwgbG9jYWxlcyk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIEpTT2JqZWN0KiBvcHRpb25zOwotICAgIGlm
IChvcHRpb25zVmFsdWUuaXNVbmRlZmluZWQoKSkKLSAgICAgICAgb3B0aW9ucyA9IGNvbnN0cnVj
dEVtcHR5T2JqZWN0KHZtLCBnbG9iYWxPYmplY3QtPm51bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1
cmUoKSk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zVmFsdWUudG9PYmpl
Y3QoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9p
ZCgpKTsKLSAgICB9CisgICAgT3B0aW9uYWw8SlNPYmplY3QmPiBvcHRpb25zID0gaW50bENvZXJj
ZU9wdGlvbnNUb09iamVjdChnbG9iYWxPYmplY3QsIG9wdGlvbnNWYWx1ZSk7CisgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAogICAgIFJlc29sdmVMb2NhbGVPcHRpb25z
IGxvY2FsZU9wdGlvbnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxOdW1iZXJGb3JtYXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxOdW1iZXJGb3JtYXQuaAppbmRleCAzOGE3NzBjNTlkNDEwNzAwZjg5YzQ5Zjc2OWE5MTQ5ZGJj
YTg1N2RlLi42ZjZiYTYyZWNiZjFiM2MzZDMwOGZlYTYxYzY2MmMwMjExOWI3ODdkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5oCkBAIC01
MCw3ICs1MCw3IEBAIGVudW0gY2xhc3MgUmVsZXZhbnRFeHRlbnNpb25LZXkgOiB1aW50OF90Owog
CiBlbnVtIGNsYXNzIEludGxSb3VuZGluZ1R5cGUgOiB1aW50OF90IHsgRnJhY3Rpb25EaWdpdHMs
IFNpZ25pZmljYW50RGlnaXRzLCBDb21wYWN0Um91bmRpbmcgfTsKIGVudW0gY2xhc3MgSW50bE5v
dGF0aW9uIDogdWludDhfdCB7IFN0YW5kYXJkLCBTY2llbnRpZmljLCBFbmdpbmVlcmluZywgQ29t
cGFjdCB9OwotdGVtcGxhdGU8dHlwZW5hbWUgSW50bFR5cGU+IHZvaWQgc2V0TnVtYmVyRm9ybWF0
RGlnaXRPcHRpb25zKEpTR2xvYmFsT2JqZWN0KiwgSW50bFR5cGUqLCBKU09iamVjdCosIHVuc2ln
bmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQsIHVuc2lnbmVkIG1heGltdW1GcmFjdGlv
bkRpZ2l0c0RlZmF1bHQsIEludGxOb3RhdGlvbik7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBJbnRsVHlw
ZT4gdm9pZCBzZXROdW1iZXJGb3JtYXREaWdpdE9wdGlvbnMoSlNHbG9iYWxPYmplY3QqLCBJbnRs
VHlwZSosIE9wdGlvbmFsPEpTT2JqZWN0Jj4sIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0
c0RlZmF1bHQsIHVuc2lnbmVkIG1heGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQsIEludGxOb3Rh
dGlvbik7CiAKIGNsYXNzIEludGxOdW1iZXJGb3JtYXQgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7CiBwdWJsaWM6CkBAIC04OCw3ICs4OCw3IEBAIGNsYXNzIEludGxOdW1iZXJGb3Jt
YXQgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgc3RhdGljIHZvaWQgZm9y
bWF0VG9QYXJ0c0ludGVybmFsKEpTR2xvYmFsT2JqZWN0KiwgU3R5bGUsIGRvdWJsZSwgY29uc3Qg
U3RyaW5nJiBmb3JtYXR0ZWQsIEludGxGaWVsZEl0ZXJhdG9yJiwgSlNBcnJheSosIEpTU3RyaW5n
KiB1bml0ID0gbnVsbHB0cik7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJbnRsVHlwZT4KLSAg
ICBmcmllbmQgdm9pZCBzZXROdW1iZXJGb3JtYXREaWdpdE9wdGlvbnMoSlNHbG9iYWxPYmplY3Qq
LCBJbnRsVHlwZSosIEpTT2JqZWN0KiwgdW5zaWduZWQgbWluaW11bUZyYWN0aW9uRGlnaXRzRGVm
YXVsdCwgdW5zaWduZWQgbWF4aW11bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCwgSW50bE5vdGF0aW9u
KTsKKyAgICBmcmllbmQgdm9pZCBzZXROdW1iZXJGb3JtYXREaWdpdE9wdGlvbnMoSlNHbG9iYWxP
YmplY3QqLCBJbnRsVHlwZSosIE9wdGlvbmFsPEpTT2JqZWN0Jj4sIHVuc2lnbmVkIG1pbmltdW1G
cmFjdGlvbkRpZ2l0c0RlZmF1bHQsIHVuc2lnbmVkIG1heGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1
bHQsIEludGxOb3RhdGlvbik7CiAKICAgICBzdGF0aWMgQVNDSUlMaXRlcmFsIG5vdGF0aW9uU3Ry
aW5nKEludGxOb3RhdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxOdW1iZXJGb3JtYXRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5lcy5oCmluZGV4IGVkNWIwMzg4Njc0NjE4OWFj
YWQ4NjE1NDZjNDdiM2E4NzJlODcxNmIuLjQxMDRiNTg2M2EzMzhlODNmZTU0YjFmY2RlYmU3NTUw
YmRmZGM0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxO
dW1iZXJGb3JtYXRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bE51bWJlckZvcm1hdElubGluZXMuaApAQCAtMzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIEpT
QyAgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJbnRsVHlwZT4KLXZvaWQgc2V0TnVtYmVyRm9ybWF0
RGlnaXRPcHRpb25zKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEludGxUeXBlKiBpbnRs
SW5zdGFuY2UsIEpTT2JqZWN0KiBvcHRpb25zLCB1bnNpZ25lZCBtaW5pbXVtRnJhY3Rpb25EaWdp
dHNEZWZhdWx0LCB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCBJbnRsTm90
YXRpb24gbm90YXRpb24pCit2b2lkIHNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBJbnRsVHlwZSogaW50bEluc3RhbmNlLCBPcHRpb25hbDxK
U09iamVjdCY+IG9wdGlvbnMsIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQs
IHVuc2lnbmVkIG1heGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQsIEludGxOb3RhdGlvbiBub3Rh
dGlvbikKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtNDEsMTcgKzQxLDIzIEBAIHZvaWQgc2V0
TnVtYmVyRm9ybWF0RGlnaXRPcHRpb25zKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIElu
dGxUeXBlKiBpbnRsSW5zCiAgICAgdW5zaWduZWQgbWluaW11bUludGVnZXJEaWdpdHMgPSBpbnRs
TnVtYmVyT3B0aW9uKGdsb2JhbE9iamVjdCwgb3B0aW9ucywgdm0ucHJvcGVydHlOYW1lcy0+bWlu
aW11bUludGVnZXJEaWdpdHMsIDEsIDIxLCAxKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOwogCi0gICAgSlNWYWx1ZSBtaW5pbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZSA9
IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1GcmFj
dGlvbkRpZ2l0cyk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAg
ICBKU1ZhbHVlIG1pbmltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlID0ganNVbmRlZmluZWQoKTsKKyAg
ICBKU1ZhbHVlIG1heGltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlID0ganNVbmRlZmluZWQoKTsKKyAg
ICBKU1ZhbHVlIG1pbmltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlID0ganNVbmRlZmluZWQoKTsK
KyAgICBKU1ZhbHVlIG1heGltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlID0ganNVbmRlZmluZWQo
KTsKKyAgICBpZiAob3B0aW9ucykgeworICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHNWYWx1
ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1G
cmFjdGlvbkRpZ2l0cyk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQo
KSk7CiAKLSAgICBKU1ZhbHVlIG1heGltdW1GcmFjdGlvbkRpZ2l0c1ZhbHVlID0gb3B0aW9ucy0+
Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+bWF4aW11bUZyYWN0aW9uRGlnaXRz
KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworICAgICAgICBtYXhp
bXVtRnJhY3Rpb25EaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnBy
b3BlcnR5TmFtZXMtPm1heGltdW1GcmFjdGlvbkRpZ2l0cyk7CisgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKLSAgICBKU1ZhbHVlIG1pbmltdW1TaWduaWZpY2Fu
dERpZ2l0c1ZhbHVlID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1l
cy0+bWluaW11bVNpZ25pZmljYW50RGlnaXRzKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOworICAgICAgICBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IG9w
dGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPm1pbmltdW1TaWduaWZp
Y2FudERpZ2l0cyk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7
CiAKLSAgICBKU1ZhbHVlIG1heGltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlID0gb3B0aW9ucy0+
Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+bWF4aW11bVNpZ25pZmljYW50RGln
aXRzKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworICAgICAgICBt
YXhpbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3Qs
IHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1TaWduaWZpY2FudERpZ2l0cyk7CisgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAgfQogCiAgICAgaW50bEluc3Rh
bmNlLT5tX21pbmltdW1JbnRlZ2VyRGlnaXRzID0gbWluaW11bUludGVnZXJEaWdpdHM7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKaW5kZXggOTMwZmY0
NjYyMzU0M2YzYTdiMzg2M2E4ZDI0OGViMTQwZDM1NGQwNC4uY2U2NTcyNmY0Yjg5NmU5MTlhZDcy
MTIyOGE5ZmY4YjlkNWM4YzkxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bE9iamVjdC5jcHAKQEAgLTQ5OCwxOCArNDk4LDE1IEBAIGNvbnN0IEhhc2hTZXQ8U3RyaW5n
PiYgaW50bFNlZ21lbnRlckF2YWlsYWJsZUxvY2FsZXMoKQogfQogCiAvLyBodHRwczovL3RjMzku
ZXMvZWNtYTQwMi8jc2VjLWdldG9wdGlvbgotVHJpU3RhdGUgaW50bEJvb2xlYW5PcHRpb24oSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBvcHRpb25zLCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHkpCitUcmlTdGF0ZSBpbnRsQm9vbGVhbk9wdGlvbihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBPcHRpb25hbDxKU09iamVjdCY+IG9wdGlvbnMsIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eSkKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKG9wdGlvbnMuaXNVbmRlZmlu
ZWQoKSkKKyAgICBpZiAoIW9wdGlvbnMpCiAgICAgICAgIHJldHVybiBUcmlTdGF0ZTo6SW5kZXRl
cm1pbmF0ZTsKIAotICAgIEpTT2JqZWN0KiBvcHRzID0gb3B0aW9ucy50b09iamVjdChnbG9iYWxP
YmplY3QpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFRyaVN0YXRlOjpJbmRldGVy
bWluYXRlKTsKLQotICAgIEpTVmFsdWUgdmFsdWUgPSBvcHRzLT5nZXQoZ2xvYmFsT2JqZWN0LCBw
cm9wZXJ0eSk7CisgICAgSlNWYWx1ZSB2YWx1ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3Qs
IHByb3BlcnR5KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBUcmlTdGF0ZTo6SW5k
ZXRlcm1pbmF0ZSk7CiAKICAgICBpZiAodmFsdWUuaXNVbmRlZmluZWQoKSkKQEAgLTUxOCw3ICs1
MTUsNyBAQCBUcmlTdGF0ZSBpbnRsQm9vbGVhbk9wdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU1ZhbHVlIG9wdGlvbnMsIFByb3BlcgogICAgIHJldHVybiB0cmlTdGF0ZSh2YWx1
ZS50b0Jvb2xlYW4oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKLVN0cmluZyBpbnRsU3RyaW5nT3B0aW9u
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3B0aW9ucywgUHJvcGVydHlO
YW1lIHByb3BlcnR5LCBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8Y29uc3QgY2hhcio+IHZhbHVlcywg
Y29uc3QgY2hhciogbm90Rm91bmQsIGNvbnN0IGNoYXIqIGZhbGxiYWNrKQorU3RyaW5nIGludGxT
dHJpbmdPcHRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgT3B0aW9uYWw8SlNPYmpl
Y3QmPiBvcHRpb25zLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHksIHN0ZDo6aW5pdGlhbGl6ZXJfbGlz
dDxjb25zdCBjaGFyKj4gdmFsdWVzLCBjb25zdCBjaGFyKiBub3RGb3VuZCwgY29uc3QgY2hhciog
ZmFsbGJhY2spCiB7CiAgICAgLy8gR2V0T3B0aW9uIChvcHRpb25zLCBwcm9wZXJ0eSwgdHlwZT0i
c3RyaW5nIiwgdmFsdWVzLCBmYWxsYmFjaykKICAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlv
L2VjbWE0MDIvI3NlYy1nZXRvcHRpb24KQEAgLTUyNiwxMyArNTIzLDEwIEBAIFN0cmluZyBpbnRs
U3RyaW5nT3B0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3B0aW9u
cywgUHJvcGVydHlOCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChvcHRpb25zLmlzVW5k
ZWZpbmVkKCkpCisgICAgaWYgKCFvcHRpb25zKQogICAgICAgICByZXR1cm4gZmFsbGJhY2s7CiAK
LSAgICBKU09iamVjdCogb3B0cyA9IG9wdGlvbnMudG9PYmplY3QoZ2xvYmFsT2JqZWN0KTsKLSAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBTdHJpbmcoKSk7Ci0KLSAgICBKU1ZhbHVlIHZh
bHVlID0gb3B0cy0+Z2V0KGdsb2JhbE9iamVjdCwgcHJvcGVydHkpOworICAgIEpTVmFsdWUgdmFs
dWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eSk7CiAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwogCiAgICAgaWYgKCF2YWx1ZS5pc1VuZGVmaW5l
ZCgpKSB7CkBAIC01NDksNyArNTQzLDcgQEAgU3RyaW5nIGludGxTdHJpbmdPcHRpb24oSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBvcHRpb25zLCBQcm9wZXJ0eU4KICAgICBy
ZXR1cm4gZmFsbGJhY2s7CiB9CiAKLXVuc2lnbmVkIGludGxOdW1iZXJPcHRpb24oSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBvcHRpb25zLCBQcm9wZXJ0eU5hbWUgcHJvcGVy
dHksIHVuc2lnbmVkIG1pbmltdW0sIHVuc2lnbmVkIG1heGltdW0sIHVuc2lnbmVkIGZhbGxiYWNr
KQordW5zaWduZWQgaW50bE51bWJlck9wdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBPcHRpb25hbDxKU09iamVjdCY+IG9wdGlvbnMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eSwgdW5z
aWduZWQgbWluaW11bSwgdW5zaWduZWQgbWF4aW11bSwgdW5zaWduZWQgZmFsbGJhY2spCiB7CiAg
ICAgLy8gR2V0TnVtYmVyT3B0aW9uIChvcHRpb25zLCBwcm9wZXJ0eSwgbWluaW11bSwgbWF4aW11
bSwgZmFsbGJhY2spCiAgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hNDAyLyNzZWMt
Z2V0bnVtYmVyb3B0aW9uCkBAIC01NTcsMTMgKzU1MSwxMCBAQCB1bnNpZ25lZCBpbnRsTnVtYmVy
T3B0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3B0aW9ucywgUHJv
cGVydAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAob3B0aW9ucy5pc1VuZGVmaW5lZCgp
KQorICAgIGlmICghb3B0aW9ucykKICAgICAgICAgcmV0dXJuIGZhbGxiYWNrOwogCi0gICAgSlNP
YmplY3QqIG9wdHMgPSBvcHRpb25zLnRvT2JqZWN0KGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgMCk7Ci0KLSAgICBKU1ZhbHVlIHZhbHVlID0gb3B0cy0+Z2V0
KGdsb2JhbE9iamVjdCwgcHJvcGVydHkpOworICAgIEpTVmFsdWUgdmFsdWUgPSBvcHRpb25zLT5n
ZXQoZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgMCk7CiAKICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIGludGxEZWZhdWx0TnVtYmVy
T3B0aW9uKGdsb2JhbE9iamVjdCwgdmFsdWUsIHByb3BlcnR5LCBtaW5pbXVtLCBtYXhpbXVtLCBm
YWxsYmFjaykpOwpAQCAtOTMzLDcgKzkyNCw3IEBAIHN0YXRpYyBKU0FycmF5KiBiZXN0Rml0U3Vw
cG9ydGVkTG9jYWxlcyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBIYXNoCiAg
ICAgcmV0dXJuIGxvb2t1cFN1cHBvcnRlZExvY2FsZXMoZ2xvYmFsT2JqZWN0LCBhdmFpbGFibGVM
b2NhbGVzLCByZXF1ZXN0ZWRMb2NhbGVzKTsKIH0KIAotSlNWYWx1ZSBzdXBwb3J0ZWRMb2NhbGVz
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYXZh
aWxhYmxlTG9jYWxlcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHJlcXVlc3RlZExvY2FsZXMsIEpT
VmFsdWUgb3B0aW9ucykKK0pTVmFsdWUgc3VwcG9ydGVkTG9jYWxlcyhKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGF2YWlsYWJsZUxvY2FsZXMsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiByZXF1ZXN0ZWRMb2NhbGVzLCBKU1ZhbHVlIG9wdGlvbnNWYWx1
ZSkKIHsKICAgICAvLyBTdXBwb3J0ZWRMb2NhbGVzIChhdmFpbGFibGVMb2NhbGVzLCByZXF1ZXN0
ZWRMb2NhbGVzLCBvcHRpb25zKQogICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTQw
Mi8jc2VjLXN1cHBvcnRlZGxvY2FsZXMKQEAgLTk0Miw2ICs5MzMsOSBAQCBKU1ZhbHVlIHN1cHBv
cnRlZExvY2FsZXMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSGFzaFNldDxT
dHJpbmc+JiBhdgogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAg
ICBTdHJpbmcgbWF0Y2hlcjsKIAorICAgIE9wdGlvbmFsPEpTT2JqZWN0Jj4gb3B0aW9ucyA9IGlu
dGxDb2VyY2VPcHRpb25zVG9PYmplY3QoZ2xvYmFsT2JqZWN0LCBvcHRpb25zVmFsdWUpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CisKICAgICBMb2NhbGVNYXRj
aGVyIGxvY2FsZU1hdGNoZXIgPSBpbnRsT3B0aW9uPExvY2FsZU1hdGNoZXI+KGdsb2JhbE9iamVj
dCwgb3B0aW9ucywgdm0ucHJvcGVydHlOYW1lcy0+bG9jYWxlTWF0Y2hlciwgeyB7ICJsb29rdXAi
X3MsIExvY2FsZU1hdGNoZXI6Okxvb2t1cCB9LCB7ICJiZXN0IGZpdCJfcywgTG9jYWxlTWF0Y2hl
cjo6QmVzdEZpdCB9IH0sICJsb2NhbGVNYXRjaGVyIG11c3QgYmUgZWl0aGVyIFwibG9va3VwXCIg
b3IgXCJiZXN0IGZpdFwiIl9zLCBMb2NhbGVNYXRjaGVyOjpCZXN0Rml0KTsKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsT2JqZWN0LmgKaW5kZXggZTgyN2ZmZDBiN2EzMmJjZGI1NDg4ZjZiOTg4YmJk
ZWMxMjk0YTdkNS4uNmQ2YjgwOTU2ZDYwYmNkYmNmOGFiOTNhMjE1ZGI0MmY3OTBiNmFiZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuaApAQCAtOTEsOSArOTEs
OSBAQCBpbmxpbmUgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBpbnRsUGx1cmFsUnVsZXNBdmFpbGFi
bGVMb2NhbGVzKCkgeyByZXR1cm4gaW50bEF2YQogaW5saW5lIGNvbnN0IEhhc2hTZXQ8U3RyaW5n
PiYgaW50bFJlbGF0aXZlVGltZUZvcm1hdEF2YWlsYWJsZUxvY2FsZXMoKSB7IHJldHVybiBpbnRs
QXZhaWxhYmxlTG9jYWxlcygpOyB9CiBpbmxpbmUgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBpbnRs
TGlzdEZvcm1hdEF2YWlsYWJsZUxvY2FsZXMoKSB7IHJldHVybiBpbnRsQXZhaWxhYmxlTG9jYWxl
cygpOyB9CiAKLVRyaVN0YXRlIGludGxCb29sZWFuT3B0aW9uKEpTR2xvYmFsT2JqZWN0KiwgSlNW
YWx1ZSBvcHRpb25zLCBQcm9wZXJ0eU5hbWUpOwotU3RyaW5nIGludGxTdHJpbmdPcHRpb24oSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlIG9wdGlvbnMsIFByb3BlcnR5TmFtZSwgc3RkOjppbml0aWFs
aXplcl9saXN0PGNvbnN0IGNoYXIqPiB2YWx1ZXMsIGNvbnN0IGNoYXIqIG5vdEZvdW5kLCBjb25z
dCBjaGFyKiBmYWxsYmFjayk7Ci11bnNpZ25lZCBpbnRsTnVtYmVyT3B0aW9uKEpTR2xvYmFsT2Jq
ZWN0KiwgSlNWYWx1ZSBvcHRpb25zLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIG1pbmltdW0sIHVu
c2lnbmVkIG1heGltdW0sIHVuc2lnbmVkIGZhbGxiYWNrKTsKK1RyaVN0YXRlIGludGxCb29sZWFu
T3B0aW9uKEpTR2xvYmFsT2JqZWN0KiwgT3B0aW9uYWw8SlNPYmplY3QmPiBvcHRpb25zLCBQcm9w
ZXJ0eU5hbWUpOworU3RyaW5nIGludGxTdHJpbmdPcHRpb24oSlNHbG9iYWxPYmplY3QqLCBPcHRp
b25hbDxKU09iamVjdCY+IG9wdGlvbnMsIFByb3BlcnR5TmFtZSwgc3RkOjppbml0aWFsaXplcl9s
aXN0PGNvbnN0IGNoYXIqPiB2YWx1ZXMsIGNvbnN0IGNoYXIqIG5vdEZvdW5kLCBjb25zdCBjaGFy
KiBmYWxsYmFjayk7Cit1bnNpZ25lZCBpbnRsTnVtYmVyT3B0aW9uKEpTR2xvYmFsT2JqZWN0Kiwg
T3B0aW9uYWw8SlNPYmplY3QmPiBvcHRpb25zLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIG1pbmlt
dW0sIHVuc2lnbmVkIG1heGltdW0sIHVuc2lnbmVkIGZhbGxiYWNrKTsKIHVuc2lnbmVkIGludGxE
ZWZhdWx0TnVtYmVyT3B0aW9uKEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSwgUHJvcGVydHlOYW1l
LCB1bnNpZ25lZCBtaW5pbXVtLCB1bnNpZ25lZCBtYXhpbXVtLCB1bnNpZ25lZCBmYWxsYmFjayk7
CiBWZWN0b3I8Y2hhciwgMzI+IGxvY2FsZUlEQnVmZmVyRm9yTGFuZ3VhZ2VUYWcoY29uc3QgQ1N0
cmluZyYpOwogU3RyaW5nIGxhbmd1YWdlVGFnRm9yTG9jYWxlSUQoY29uc3QgY2hhciosIGJvb2wg
aXNJbW1vcnRhbCA9IGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxPYmplY3RJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRsT2JqZWN0SW5saW5lcy5oCmluZGV4IDQ4ZTM0MGQyMjE4M2Q1NmFiMWI2MWQ0NjMxZmUx
YWZmZjkzYmIxYzguLjM2ZmU3ZDcyY2RiNGZiNmZiYWVhNDdkMTc2ZjBmNjIyZTExZmY2ZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3RJbmxpbmVz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdElubGluZXMu
aApAQCAtMTE5LDcgKzExOSw3IEBAIEluc3RhbmNlVHlwZSogdW53cmFwRm9yTGVnYWN5SW50bENv
bnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsCiB9CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFJlc3VsdFR5cGU+Ci1SZXN1bHRUeXBlIGludGxPcHRpb24oSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBvcHRpb25zLCBQcm9wZXJ0eU5hbWUgcHJvcGVy
dHksIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxzdGQ6OnBhaXI8QVNDSUlMaXRlcmFsLCBSZXN1bHRU
eXBlPj4gdmFsdWVzLCBBU0NJSUxpdGVyYWwgbm90Rm91bmRNZXNzYWdlLCBSZXN1bHRUeXBlIGZh
bGxiYWNrKQorUmVzdWx0VHlwZSBpbnRsT3B0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIE9wdGlvbmFsPEpTT2JqZWN0Jj4gb3B0aW9ucywgUHJvcGVydHlOYW1lIHByb3BlcnR5LCBz
dGQ6OmluaXRpYWxpemVyX2xpc3Q8c3RkOjpwYWlyPEFTQ0lJTGl0ZXJhbCwgUmVzdWx0VHlwZT4+
IHZhbHVlcywgQVNDSUlMaXRlcmFsIG5vdEZvdW5kTWVzc2FnZSwgUmVzdWx0VHlwZSBmYWxsYmFj
aykKIHsKICAgICAvLyBHZXRPcHRpb24gKG9wdGlvbnMsIHByb3BlcnR5LCB0eXBlPSJzdHJpbmci
LCB2YWx1ZXMsIGZhbGxiYWNrKQogICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTQw
Mi8jc2VjLWdldG9wdGlvbgpAQCAtMTI5LDEzICsxMjksMTAgQEAgUmVzdWx0VHlwZSBpbnRsT3B0
aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3B0aW9ucywgUHJvcGVy
dHlOYW0KICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKG9wdGlvbnMuaXNVbmRlZmluZWQo
KSkKKyAgICBpZiAoIW9wdGlvbnMpCiAgICAgICAgIHJldHVybiBmYWxsYmFjazsKIAotICAgIEpT
T2JqZWN0KiBvcHRzID0gb3B0aW9ucy50b09iamVjdChnbG9iYWxPYmplY3QpOwotICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7Ci0KLSAgICBKU1ZhbHVlIHZhbHVlID0gb3B0cy0+
Z2V0KGdsb2JhbE9iamVjdCwgcHJvcGVydHkpOworICAgIEpTVmFsdWUgdmFsdWUgPSBvcHRpb25z
LT5nZXQoZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgeyB9KTsKIAogICAgIGlmICghdmFsdWUuaXNVbmRlZmluZWQoKSkgewpAQCAtMTgwLDQg
KzE3NywyOSBAQCBpbmxpbmUgVUNvbGxhdGlvblJlc3VsdCBjb21wYXJlQVNDSUlXaXRoVUNBRFVD
RVQoY29uc3QgQ2hhcmFjdGVyVHlwZTEqIGNoYXJhY3RlcgogICAgIHJldHVybiBsZW5ndGgxID4g
bGVuZ3RoMiA/IFVDT0xfR1JFQVRFUiA6IFVDT0xfTEVTUzsKIH0KIAorLy8gaHR0cHM6Ly90YzM5
LmVzL2VjbWE0MDIvI3NlYy1nZXRvcHRpb25zb2JqZWN0CitpbmxpbmUgT3B0aW9uYWw8SlNPYmpl
Y3QmPiBpbnRsR2V0T3B0aW9uc09iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U1ZhbHVlIG9wdGlvbnMpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBpZiAob3B0aW9ucy5p
c1VuZGVmaW5lZCgpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIGlmIChMSUtF
TFkob3B0aW9ucy5pc09iamVjdCgpKSkKKyAgICAgICAgcmV0dXJuICphc09iamVjdChvcHRpb25z
KTsKKyAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAib3B0aW9ucyBhcmd1
bWVudCBpcyBub3QgYW4gb2JqZWN0IG9yIHVuZGVmaW5lZCJfcyk7CisgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKK30KKworLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWE0MDIvI3NlYy1jb2VyY2VvcHRp
b25zdG9vYmplY3QKK2lubGluZSBPcHRpb25hbDxKU09iamVjdCY+IGludGxDb2VyY2VPcHRpb25z
VG9PYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBvcHRpb25zVmFs
dWUpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBpZiAob3B0aW9uc1ZhbHVlLmlzVW5kZWZp
bmVkKCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgSlNPYmplY3QqIG9wdGlv
bnMgPSBvcHRpb25zVmFsdWUudG9PYmplY3QoZ2xvYmFsT2JqZWN0KTsKKyAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBXVEY6Om51bGxvcHQpOworICAgIHJldHVybiAqb3B0aW9uczsKK30K
KwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bFBsdXJhbFJ1bGVzLmNwcAppbmRleCAwYTA5MjY1MzBjMzgyNTViMWMzNjFhMzdlOTYw
NWM5YmMxZTQ0ODBiLi5lNjVmYjBkNzMyNzE1MjliNWNhYTlkOWZhYmVjOWJlYmNiNGM1NmEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5j
cHAKQEAgLTg2LDEzICs4Niw4IEBAIHZvaWQgSW50bFBsdXJhbFJ1bGVzOjppbml0aWFsaXplUGx1
cmFsUnVsZXMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1CiAgICAgVmVjdG9y
PFN0cmluZz4gcmVxdWVzdGVkTG9jYWxlcyA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoZ2xvYmFs
T2JqZWN0LCBsb2NhbGVzKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkp
OwogCi0gICAgSlNPYmplY3QqIG9wdGlvbnM7Ci0gICAgaWYgKG9wdGlvbnNWYWx1ZS5pc1VuZGVm
aW5lZCgpKQotICAgICAgICBvcHRpb25zID0gY29uc3RydWN0RW1wdHlPYmplY3Qodm0sIGdsb2Jh
bE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZSgpKTsKLSAgICBlbHNlIHsKLSAg
ICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50b09iamVjdChnbG9iYWxPYmplY3QpOwotICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIH0KKyAgICBPcHRp
b25hbDxKU09iamVjdCY+IG9wdGlvbnMgPSBpbnRsQ29lcmNlT3B0aW9uc1RvT2JqZWN0KGdsb2Jh
bE9iamVjdCwgb3B0aW9uc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2
b2lkKCkpOwogCiAgICAgUmVzb2x2ZUxvY2FsZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsKICAgICBM
b2NhbGVNYXRjaGVyIGxvY2FsZU1hdGNoZXIgPSBpbnRsT3B0aW9uPExvY2FsZU1hdGNoZXI+KGds
b2JhbE9iamVjdCwgb3B0aW9ucywgdm0ucHJvcGVydHlOYW1lcy0+bG9jYWxlTWF0Y2hlciwgeyB7
ICJsb29rdXAiX3MsIExvY2FsZU1hdGNoZXI6Okxvb2t1cCB9LCB7ICJiZXN0IGZpdCJfcywgTG9j
YWxlTWF0Y2hlcjo6QmVzdEZpdCB9IH0sICJsb2NhbGVNYXRjaGVyIG11c3QgYmUgZWl0aGVyIFwi
bG9va3VwXCIgb3IgXCJiZXN0IGZpdFwiIl9zLCBMb2NhbGVNYXRjaGVyOjpCZXN0Rml0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmgKaW5kZXgg
NmQzYWNhYjg0ZTgxNGU1ZjdjMDdkMDI0ZjNlMjVmZjJlNWYwZjZlNC4uZTI5ZTFiNjI2ZDMxYzkw
ODI2ZDQ3ZjJkNmJiNWFjMTM3YTViZmI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmgKQEAgLTU4LDcgKzU4LDcgQEAgY2xhc3MgSW50bFBs
dXJhbFJ1bGVzIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIERFQ0xBUkVf
SU5GTzsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEludGxUeXBlPgotICAgIGZyaWVuZCB2b2lk
IHNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCosIEludGxUeXBlKiwg
SlNPYmplY3QqLCB1bnNpZ25lZCBtaW5pbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCB1bnNpZ25l
ZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCBJbnRsTm90YXRpb24pOworICAgIGZyaWVu
ZCB2b2lkIHNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCosIEludGxU
eXBlKiwgT3B0aW9uYWw8SlNPYmplY3QmPiwgdW5zaWduZWQgbWluaW11bUZyYWN0aW9uRGlnaXRz
RGVmYXVsdCwgdW5zaWduZWQgbWF4aW11bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCwgSW50bE5vdGF0
aW9uKTsKIAogICAgIHZvaWQgaW5pdGlhbGl6ZVBsdXJhbFJ1bGVzKEpTR2xvYmFsT2JqZWN0Kiwg
SlNWYWx1ZSBsb2NhbGVzLCBKU1ZhbHVlIG9wdGlvbnMpOwogICAgIEpTVmFsdWUgc2VsZWN0KEpT
R2xvYmFsT2JqZWN0KiwgZG91YmxlIHZhbHVlKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdC5jcHAKaW5kZXgg
YzVjN2JiM2UyNjVlNjlkNWU4MWUyMDNiZGJlM2I3NTRlNDIyYTlkMC4uZjdkMzhiODFlYWM4Mjg2
M2Y1YWQ4YmNjODMyNDY1MjY5MjgxNzc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdC5jcHAKQEAgLTg5LDEzICs4
OSw4IEBAIHZvaWQgSW50bFJlbGF0aXZlVGltZUZvcm1hdDo6aW5pdGlhbGl6ZVJlbGF0aXZlVGlt
ZUZvcm1hdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsCiAgICAgVmVjdG9yPFN0cmluZz4gcmVxdWVz
dGVkTG9jYWxlcyA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoZ2xvYmFsT2JqZWN0LCBsb2NhbGVz
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgSlNPYmpl
Y3QqIG9wdGlvbnM7Ci0gICAgaWYgKG9wdGlvbnNWYWx1ZS5pc1VuZGVmaW5lZCgpKQotICAgICAg
ICBvcHRpb25zID0gY29uc3RydWN0RW1wdHlPYmplY3Qodm0sIGdsb2JhbE9iamVjdC0+bnVsbFBy
b3RvdHlwZU9iamVjdFN0cnVjdHVyZSgpKTsKLSAgICBlbHNlIHsKLSAgICAgICAgb3B0aW9ucyA9
IG9wdGlvbnNWYWx1ZS50b09iamVjdChnbG9iYWxPYmplY3QpOwotICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIH0KKyAgICBPcHRpb25hbDxKU09iamVjdCY+
IG9wdGlvbnMgPSBpbnRsQ29lcmNlT3B0aW9uc1RvT2JqZWN0KGdsb2JhbE9iamVjdCwgb3B0aW9u
c1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCiAgICAg
UmVzb2x2ZUxvY2FsZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsKICAgICBMb2NhbGVNYXRjaGVyIGxv
Y2FsZU1hdGNoZXIgPSBpbnRsT3B0aW9uPExvY2FsZU1hdGNoZXI+KGdsb2JhbE9iamVjdCwgb3B0
aW9ucywgdm0ucHJvcGVydHlOYW1lcy0+bG9jYWxlTWF0Y2hlciwgeyB7ICJsb29rdXAiX3MsIExv
Y2FsZU1hdGNoZXI6Okxvb2t1cCB9LCB7ICJiZXN0IGZpdCJfcywgTG9jYWxlTWF0Y2hlcjo6QmVz
dEZpdCB9IH0sICJsb2NhbGVNYXRjaGVyIG11c3QgYmUgZWl0aGVyIFwibG9va3VwXCIgb3IgXCJi
ZXN0IGZpdFwiIl9zLCBMb2NhbGVNYXRjaGVyOjpCZXN0Rml0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxTZWdtZW50ZXIuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bFNlZ21lbnRlci5jcHAKaW5kZXggZjFjYTE5ZmRlZTdjYjg4
ZWRiMjg3NmI3MjJmNjM3ZWFlM2JkYjllNi4uMDRjZjE3ZDUwOTM1NjIxYzQyNDhlODQ4Yjc3NTBl
ZGEzN2VhODFlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bFNlZ21lbnRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFNl
Z21lbnRlci5jcHAKQEAgLTY3LDEzICs2Nyw4IEBAIHZvaWQgSW50bFNlZ21lbnRlcjo6aW5pdGlh
bGl6ZVNlZ21lbnRlcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIGxvCiAg
ICAgYXV0byByZXF1ZXN0ZWRMb2NhbGVzID0gY2Fub25pY2FsaXplTG9jYWxlTGlzdChnbG9iYWxP
YmplY3QsIGxvY2FsZXMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7
CiAKLSAgICBKU09iamVjdCogb3B0aW9uczsKLSAgICBpZiAob3B0aW9uc1ZhbHVlLmlzVW5kZWZp
bmVkKCkpCi0gICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCh2bSwgZ2xvYmFs
T2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOwotICAgIGVsc2UgewotICAg
ICAgICBvcHRpb25zID0gb3B0aW9uc1ZhbHVlLnRvT2JqZWN0KGdsb2JhbE9iamVjdCk7Ci0gICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgfQorICAgIE9wdGlv
bmFsPEpTT2JqZWN0Jj4gb3B0aW9ucyA9IGludGxHZXRPcHRpb25zT2JqZWN0KGdsb2JhbE9iamVj
dCwgb3B0aW9uc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkp
OwogCiAgICAgUmVzb2x2ZUxvY2FsZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421036</attachid>
            <date>2021-02-19 14:50:51 -0800</date>
            <delta_ts>2021-02-19 18:01:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222203-20210219145050.patch</filename>
            <type>text/plain</type>
            <size>31032</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ZDU4YTExZGFlYjc3MDhkMjJhMTRmMzNlNWJkZmM0ZTM3MWMzYmM3Li40MzJmZjlkYjRhMTViZjU5
ODk4Yzc3NWQ0N2FhZDc3NmUyMDQxMmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MCBAQAorMjAyMS0wMi0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE5vdCBhbGxvY2F0aW5nIGVtcHR5IG9iamVjdCBmb3IgSW50bCBv
cHRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjIyMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIGludHJvZHVjZXMgT3B0aW9uYWw8SlNPYmplY3QmPiB0byBJbnRsIG9wdGlvbnMg
dG8gZXhwbGljaXRseSBtYXJrIGl0IGFzIG1heWJlLW51bGwuCisgICAgICAgIFRoaXMgbWF5YmUt
bnVsbCBvYmplY3QgY2FuIGFwcGVhciB3aGVuIHRoZSBvcHRpb25zIGlzIHVuZGVmaW5lZC4gQWNj
b3JkaW5nIHRvIHRoZSBzcGVjLCB3ZSBhbGxvY2F0ZXMKKyAgICAgICAgZW1wdHkgb2JqZWN0ICh3
aXRoIG51bGwgW1tQcm90b3R5cGVdXSkgZm9yIHRoaXMgY2FzZSwgYnV0IGFjY2Vzc2luZyB0aGlz
IG9iamVjdCdzIHByb3BlcnR5IGlzIG5vbi1vYnNlcnZhYmxlCisgICAgICAgIHNpbmNlIHRoaXMg
ZG9lcyBub3QgaGF2ZSBbW1Byb3RvdHlwZV1dLiBBcyBhIHJlc3VsdCwgd2UgY2FuIHNraXAgYWxs
b2NhdGlvbiBhbmQgYWNjZXNzZXMgaW4gdGhpcyBjYXNlLgorCisgICAgICAgIFRoaXMgY2FuIGFs
c28gcGF2ZSB0aGUgd2F5IHRvIGF2b2lkaW5nIGFsbG9jYXRpb25zIG9mIG9wdGlvbnMgb2JqZWN0
cyBmb3IgRGF0ZSN0b0xvY2FsZVN0cmluZyBldGMuJ3Mgc3BlY2lmaWMgY2FzZXMuCisKKyAgICAg
ICAgKiBydW50aW1lL0ludGxDb2xsYXRvci5jcHA6CisgICAgICAgIChKU0M6OkludGxDb2xsYXRv
cjo6aW5pdGlhbGl6ZUNvbGxhdG9yKToKKyAgICAgICAgKiBydW50aW1lL0ludGxEYXRlVGltZUZv
cm1hdC5jcHA6CisgICAgICAgIChKU0M6OkludGxEYXRlVGltZUZvcm1hdDo6aW5pdGlhbGl6ZURh
dGVUaW1lRm9ybWF0KToKKyAgICAgICAgKEpTQzo6dG9EYXRlVGltZU9wdGlvbnNBbnlEYXRlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0ludGxEaXNwbGF5TmFtZXMuY3BwOgorICAgICAg
ICAoSlNDOjpJbnRsRGlzcGxheU5hbWVzOjppbml0aWFsaXplRGlzcGxheU5hbWVzKToKKyAgICAg
ICAgKiBydW50aW1lL0ludGxMaXN0Rm9ybWF0LmNwcDoKKyAgICAgICAgKEpTQzo6SW50bExpc3RG
b3JtYXQ6OmluaXRpYWxpemVMaXN0Rm9ybWF0KToKKyAgICAgICAgKiBydW50aW1lL0ludGxMb2Nh
bGUuY3BwOgorICAgICAgICAoSlNDOjpJbnRsTG9jYWxlOjppbml0aWFsaXplTG9jYWxlKToKKyAg
ICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwOgorICAgICAgICAoSlNDOjpJbnRs
TnVtYmVyRm9ybWF0Ojppbml0aWFsaXplTnVtYmVyRm9ybWF0KToKKyAgICAgICAgKiBydW50aW1l
L0ludGxOdW1iZXJGb3JtYXQuaDoKKyAgICAgICAgKiBydW50aW1lL0ludGxOdW1iZXJGb3JtYXRJ
bmxpbmVzLmg6CisgICAgICAgIChKU0M6OnNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyk6Cisg
ICAgICAgICogcnVudGltZS9JbnRsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6aW50bEJvb2xl
YW5PcHRpb24pOgorICAgICAgICAoSlNDOjppbnRsU3RyaW5nT3B0aW9uKToKKyAgICAgICAgKEpT
Qzo6aW50bE51bWJlck9wdGlvbik6CisgICAgICAgIChKU0M6OnN1cHBvcnRlZExvY2FsZXMpOgor
ICAgICAgICAqIHJ1bnRpbWUvSW50bE9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE9i
amVjdElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6aW50bE9wdGlvbik6CisgICAgICAgIChKU0M6
OmludGxHZXRPcHRpb25zT2JqZWN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0ludGxQ
bHVyYWxSdWxlcy5jcHA6CisgICAgICAgIChKU0M6OkludGxQbHVyYWxSdWxlczo6aW5pdGlhbGl6
ZVBsdXJhbFJ1bGVzKToKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlcy5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdC5jcHA6CisgICAgICAgIChKU0M6
OkludGxSZWxhdGl2ZVRpbWVGb3JtYXQ6OmluaXRpYWxpemVSZWxhdGl2ZVRpbWVGb3JtYXQpOgor
ICAgICAgICAqIHJ1bnRpbWUvSW50bFNlZ21lbnRlci5jcHA6CisgICAgICAgIChKU0M6OkludGxT
ZWdtZW50ZXI6OmluaXRpYWxpemVTZWdtZW50ZXIpOgorCiAyMDIxLTAyLTE5ICBNaWNoYWVsIFNh
Ym9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIE1pbm9yIGZpeGVzIHRvIFJlZ0V4
cCBtYXRjaCBpbmRpY2VzIGFmdGVyIHIyNzMwODYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsQ29sbGF0b3IuY3BwCmluZGV4IDgzOWFjMGQ5MTY5NmM5Mzc4N2RlZjIyMzgw
NzcwNGE4ZGMxNzU3ZGMuLjQ2NTUyNDhmMjgwNDkxMGU0YjRkY2MyMGU1YmJlOTE0ZTU4OWYxZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmNwcApA
QCAtMTY0LDExICsxNjQsOCBAQCB2b2lkIEludGxDb2xsYXRvcjo6aW5pdGlhbGl6ZUNvbGxhdG9y
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgbG9jYQogICAgIGF1dG8gcmVx
dWVzdGVkTG9jYWxlcyA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoZ2xvYmFsT2JqZWN0LCBsb2Nh
bGVzKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgSlNW
YWx1ZSBvcHRpb25zID0gb3B0aW9uc1ZhbHVlOwotICAgIGlmICghb3B0aW9uc1ZhbHVlLmlzVW5k
ZWZpbmVkKCkpIHsKLSAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50b09iamVjdChnbG9i
YWxPYmplY3QpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwot
ICAgIH0KKyAgICBPcHRpb25hbDxKU09iamVjdCY+IG9wdGlvbnMgPSBpbnRsQ29lcmNlT3B0aW9u
c1RvT2JqZWN0KGdsb2JhbE9iamVjdCwgb3B0aW9uc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCiAgICAgbV91c2FnZSA9IGludGxPcHRpb248VXNhZ2U+
KGdsb2JhbE9iamVjdCwgb3B0aW9ucywgdm0ucHJvcGVydHlOYW1lcy0+dXNhZ2UsIHsgeyAic29y
dCJfcywgVXNhZ2U6OlNvcnQgfSwgeyAic2VhcmNoIl9zLCBVc2FnZTo6U2VhcmNoIH0gfSwgInVz
YWdlIG11c3QgYmUgZWl0aGVyIFwic29ydFwiIG9yIFwic2VhcmNoXCIiX3MsIFVzYWdlOjpTb3J0
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdC5jcHAKaW5kZXgg
YWMxZWM4N2YzNWQ3Mzg5ZmI5YWFkYjk1OTc2ZjUwMjlmZjYwOGIzYy4uYTE3YTljMjA0OTI1YjA3
N2MyYzNmOGVmOTczYTk5NmJjYWUyNzE5YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXQuY3BwCkBAIC0xOTQsNyArMTk0LDcgQEAg
VmVjdG9yPFN0cmluZz4gSW50bERhdGVUaW1lRm9ybWF0Ojpsb2NhbGVEYXRhKGNvbnN0IFN0cmlu
ZyYgbG9jYWxlLCBSZWxldmFudEV4dGUKICAgICByZXR1cm4ga2V5TG9jYWxlRGF0YTsKIH0KIAot
c3RhdGljIEpTT2JqZWN0KiB0b0RhdGVUaW1lT3B0aW9uc0FueURhdGUoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBvcmlnaW5hbE9wdGlvbnMpCitzdGF0aWMgT3B0aW9uYWw8
SlNPYmplY3QmPiB0b0RhdGVUaW1lT3B0aW9uc0FueURhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBvcmlnaW5hbE9wdGlvbnMpCiB7CiAgICAgLy8gMTIuMS4xIFRvRGF0
ZVRpbWVPcHRpb25zIGFic3RyYWN0IG9wZXJhdGlvbiAoRUNNQS00MDIgMi4wKQogICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTIwOCw3ICsyMDgsNyBAQCBzdGF0aWMgSlNPYmpl
Y3QqIHRvRGF0ZVRpbWVPcHRpb25zQW55RGF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU1ZhbHVlCiAgICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCh2bSwgZ2xv
YmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOwogICAgIGVsc2Ugewog
ICAgICAgICBKU09iamVjdCogb3JpZ2luYWxUb09iamVjdCA9IG9yaWdpbmFsT3B0aW9ucy50b09i
amVjdChnbG9iYWxPYmplY3QpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBu
dWxscHRyKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICAg
ICAgb3B0aW9ucyA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdCwgb3JpZ2luYWxU
b09iamVjdCk7CiAgICAgfQogCkBAIC0yMjQsMjIgKzIyNCwyMiBAQCBzdGF0aWMgSlNPYmplY3Qq
IHRvRGF0ZVRpbWVPcHRpb25zQW55RGF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U1ZhbHVlCiAgICAgLy8gaWlpLiBSZXR1cm5JZkFicnVwdCh2YWx1ZSkuCiAgICAgLy8gaXYuIElm
IHZhbHVlIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4gbGV0IG5lZWREZWZhdWx0cyBiZSBmYWxzZS4K
ICAgICBKU1ZhbHVlIHdlZWtkYXkgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9w
ZXJ0eU5hbWVzLT53ZWVrZGF5KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxs
cHRyKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIGlmICghd2Vl
a2RheS5pc1VuZGVmaW5lZCgpKQogICAgICAgICBuZWVkRGVmYXVsdHMgPSBmYWxzZTsKIAogICAg
IEpTVmFsdWUgeWVhciA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFt
ZXMtPnllYXIpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAgaWYgKCF5ZWFyLmlzVW5kZWZp
bmVkKCkpCiAgICAgICAgIG5lZWREZWZhdWx0cyA9IGZhbHNlOwogCiAgICAgSlNWYWx1ZSBtb250
aCA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPm1vbnRoKTsK
LSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIGlmICghbW9udGguaXNVbmRlZmluZWQoKSkKICAg
ICAgICAgbmVlZERlZmF1bHRzID0gZmFsc2U7CiAKICAgICBKU1ZhbHVlIGRheSA9IG9wdGlvbnMt
PmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPmRheSk7Ci0gICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgeyB9KTsKICAgICBpZiAoIWRheS5pc1VuZGVmaW5lZCgpKQogICAgICAgICBuZWVkRGVmYXVs
dHMgPSBmYWxzZTsKIApAQCAtMjUzLDM1ICsyNTMsMzUgQEAgc3RhdGljIEpTT2JqZWN0KiB0b0Rh
dGVUaW1lT3B0aW9uc0FueURhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZQogICAgIC8vIGl2LiBJZiB2YWx1ZSBpcyBub3QgdW5kZWZpbmVkLCB0aGVuIGxldCBuZWVkRGVm
YXVsdHMgYmUgZmFsc2UuCiAgICAgaWYgKE9wdGlvbnM6OnVzZUludGxEYXRlVGltZUZvcm1hdERh
eVBlcmlvZCgpKSB7CiAgICAgICAgIEpTVmFsdWUgZGF5UGVyaW9kID0gb3B0aW9ucy0+Z2V0KGds
b2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+ZGF5UGVyaW9kKTsKLSAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIHsgfSk7CiAgICAgICAgIGlmICghZGF5UGVyaW9kLmlzVW5kZWZpbmVkKCkpCiAg
ICAgICAgICAgICBuZWVkRGVmYXVsdHMgPSBmYWxzZTsKICAgICB9CiAKICAgICBKU1ZhbHVlIGhv
dXIgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5ob3VyKTsK
LSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIGlmICghaG91ci5pc1VuZGVmaW5lZCgpKQogICAg
ICAgICBuZWVkRGVmYXVsdHMgPSBmYWxzZTsKIAogICAgIEpTVmFsdWUgbWludXRlID0gb3B0aW9u
cy0+Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+bWludXRlKTsKLSAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB7IH0pOwogICAgIGlmICghbWludXRlLmlzVW5kZWZpbmVkKCkpCiAgICAgICAgIG5l
ZWREZWZhdWx0cyA9IGZhbHNlOwogCiAgICAgSlNWYWx1ZSBzZWNvbmQgPSBvcHRpb25zLT5nZXQo
Z2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5zZWNvbmQpOwotICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIG51bGxwdHIpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHsgfSk7CiAgICAgaWYgKCFzZWNvbmQuaXNVbmRlZmluZWQoKSkKICAgICAgICAgbmVlZERlZmF1
bHRzID0gZmFsc2U7CiAKICAgICBKU1ZhbHVlIGZyYWN0aW9uYWxTZWNvbmREaWdpdHMgPSBvcHRp
b25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5mcmFjdGlvbmFsU2Vjb25k
RGlnaXRzKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIGlmICghZnJhY3Rpb25hbFNlY29u
ZERpZ2l0cy5pc1VuZGVmaW5lZCgpKQogICAgICAgICBuZWVkRGVmYXVsdHMgPSBmYWxzZTsKIAog
ICAgIEpTVmFsdWUgZGF0ZVN0eWxlID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJv
cGVydHlOYW1lcy0+ZGF0ZVN0eWxlKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBu
dWxscHRyKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIEpTVmFs
dWUgdGltZVN0eWxlID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1l
cy0+dGltZVN0eWxlKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsK
KyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCiAgICAgaWYgKCFkYXRlU3R5
bGUuaXNVbmRlZmluZWQoKSB8fCAhdGltZVN0eWxlLmlzVW5kZWZpbmVkKCkpCiAgICAgICAgIG5l
ZWREZWZhdWx0cyA9IGZhbHNlOwpAQCAtMjk1LDIwICsyOTUsMjAgQEAgc3RhdGljIEpTT2JqZWN0
KiB0b0RhdGVUaW1lT3B0aW9uc0FueURhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNWYWx1ZQogICAgICAgICBKU1N0cmluZyogbnVtZXJpYyA9IGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIm51bWVyaWMiX3MpOwogCiAgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+eWVhciwgbnVtZXJpYyk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIG51bGxwdHIpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0p
OwogCiAgICAgICAgIG9wdGlvbnMtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bW9u
dGgsIG51bWVyaWMpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRy
KTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAogICAgICAgICBv
cHRpb25zLT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmRheSwgbnVtZXJpYyk7Ci0g
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOworICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIH0KIAogICAgIC8vIDguIElmIG5lZWRE
ZWZhdWx0cyBpcyB0cnVlIGFuZCBkZWZhdWx0cyBpcyBlaXRoZXIgInRpbWUiIG9yICJhbGwiLCB0
aGVuCiAgICAgLy8gRGVmYXVsdHMgaXMgYWx3YXlzICJkYXRlIi4gSWdub3JlIHRoaXMgYnJhbmNo
LgogCiAgICAgLy8gOS4gUmV0dXJuIG9wdGlvbnMuCi0gICAgcmV0dXJuIG9wdGlvbnM7CisgICAg
cmV0dXJuICpvcHRpb25zOwogfQogCiB2b2lkIEludGxEYXRlVGltZUZvcm1hdDo6c2V0Rm9ybWF0
c0Zyb21QYXR0ZXJuKGNvbnN0IFN0cmluZ1ZpZXcmIHBhdHRlcm4pCkBAIC01MjUsNyArNTI1LDcg
QEAgdm9pZCBJbnRsRGF0ZVRpbWVGb3JtYXQ6OmluaXRpYWxpemVEYXRlVGltZUZvcm1hdChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LAogICAgIFZlY3RvcjxTdHJpbmc+IHJlcXVlc3RlZExv
Y2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KGdsb2JhbE9iamVjdCwgbG9jYWxlcyk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIEpTT2JqZWN0KiBv
cHRpb25zID0gdG9EYXRlVGltZU9wdGlvbnNBbnlEYXRlKGdsb2JhbE9iamVjdCwgb3JpZ2luYWxP
cHRpb25zKTsKKyAgICBPcHRpb25hbDxKU09iamVjdCY+IG9wdGlvbnMgPSB0b0RhdGVUaW1lT3B0
aW9uc0FueURhdGUoZ2xvYmFsT2JqZWN0LCBvcmlnaW5hbE9wdGlvbnMpOwogICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICBSZXNvbHZlTG9jYWxlT3B0aW9ucyBs
b2NhbGVPcHRpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bERpc3BsYXlOYW1lcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
RGlzcGxheU5hbWVzLmNwcAppbmRleCBlYWU1M2NiYTJmZjE5YTVlZTE4MWNjMDAyMjk4N2NlYTA2
M2E4ZTExLi4yMmExMTVkMTM5ZjZjNWIyNDVlZGViYTgwOWUyOGU5ODY3NjgwYjgzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGlzcGxheU5hbWVzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGlzcGxheU5hbWVzLmNwcApA
QCAtNjksNyArNjksNyBAQCB2b2lkIEludGxEaXNwbGF5TmFtZXM6OmluaXRpYWxpemVEaXNwbGF5
TmFtZXMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYQogICAgIGF1dG8gcmVxdWVz
dGVkTG9jYWxlcyA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoZ2xvYmFsT2JqZWN0LCBsb2NhbGVz
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgSlNPYmpl
Y3QqIG9wdGlvbnMgPSBpbnRsR2V0T3B0aW9uc09iamVjdChnbG9iYWxPYmplY3QsIG9wdGlvbnNW
YWx1ZSk7CisgICAgT3B0aW9uYWw8SlNPYmplY3QmPiBvcHRpb25zID0gaW50bEdldE9wdGlvbnNP
YmplY3QoZ2xvYmFsT2JqZWN0LCBvcHRpb25zVmFsdWUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICAvLyBEb2VzIG5vdCBzZXQgZWl0aGVyIG9mICJjYSIg
b3IgIm51Ii4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxM
aXN0Rm9ybWF0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxMaXN0Rm9y
bWF0LmNwcAppbmRleCA0ZmRiNjhmNTI1MDJkMmYzMzE0MTQ2ZmViOWJjNDNjMDE1NjkxMTU2Li44
MTdiOWNhZTU5MzRhZjc2NTU0NjMyZGU5OTU3Njg1ZTA5MGEzMDkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTGlzdEZvcm1hdC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bExpc3RGb3JtYXQuY3BwCkBAIC05MSw3ICs5MSw3
IEBAIHZvaWQgSW50bExpc3RGb3JtYXQ6OmluaXRpYWxpemVMaXN0Rm9ybWF0KEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUKICAgICBhdXRvIHJlcXVlc3RlZExvY2FsZXMgPSBj
YW5vbmljYWxpemVMb2NhbGVMaXN0KGdsb2JhbE9iamVjdCwgbG9jYWxlcyk7CiAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIEpTT2JqZWN0KiBvcHRpb25zID0g
aW50bEdldE9wdGlvbnNPYmplY3QoZ2xvYmFsT2JqZWN0LCBvcHRpb25zVmFsdWUpOworICAgIE9w
dGlvbmFsPEpTT2JqZWN0Jj4gb3B0aW9ucyA9IGludGxHZXRPcHRpb25zT2JqZWN0KGdsb2JhbE9i
amVjdCwgb3B0aW9uc1ZhbHVlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lk
KCkpOwogCiAgICAgUmVzb2x2ZUxvY2FsZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxMb2NhbGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bExvY2FsZS5jcHAKaW5kZXggZWVjOTRmZTM2YWYw
MjBmNWZlZWUxZWU4MDhkMWU2Y2JjMjA3ZmI3NC4uYzVmODliN2Y0NGJiZjZhNWJhODQ1MzY0YTky
NWIxNjZkM2IxZjVkNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bExvY2FsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bExv
Y2FsZS5jcHAKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJJbnRsTG9jYWxlLmgiCiAKLSNpbmNsdWRlICJJbnRsT2JqZWN0LmgiCisjaW5jbHVkZSAiSW50
bE9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSA8dW5p
Y29kZS91bG9jLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvaWN1L0lDVUhlbHBlcnMuaD4KQEAg
LTIyMywxMSArMjIzLDggQEAgdm9pZCBJbnRsTG9jYWxlOjppbml0aWFsaXplTG9jYWxlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgdGEKICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwogCi0gICAgSlNWYWx1ZSBvcHRpb25zID0gb3B0aW9uc1ZhbHVlOwotICAgIGlmICghb3B0
aW9uc1ZhbHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1
ZS50b09iamVjdChnbG9iYWxPYmplY3QpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOwotICAgIH0KKyAgICBPcHRpb25hbDxKU09iamVjdCY+IG9wdGlvbnMgPSBp
bnRsQ29lcmNlT3B0aW9uc1RvT2JqZWN0KGdsb2JhbE9iamVjdCwgb3B0aW9uc1ZhbHVlKTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCiAgICAgTG9jYWxlSURCdWls
ZGVyIGxvY2FsZUlEOwogICAgIGlmICghbG9jYWxlSUQuaW5pdGlhbGl6ZSh0YWcpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCmlu
ZGV4IDljNjgxMGU4YTBmZjUyOTRlYjNmYzg5Y2FhYWM2M2MwZmE2MmFkMDcuLjAwN2M5ZDMwMjcx
NWE1ODMyODU3NjBkY2M3MGIyZDRlZjlmMDU4Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCkBAIC0yNzQsMTMgKzI3NCw4IEBA
IHZvaWQgSW50bE51bWJlckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJlckZvcm1hdChKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhCiAgICAgYXV0byByZXF1ZXN0ZWRMb2NhbGVzID0gY2Fu
b25pY2FsaXplTG9jYWxlTGlzdChnbG9iYWxPYmplY3QsIGxvY2FsZXMpOwogICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKLSAgICBKU09iamVjdCogb3B0aW9uczsKLSAg
ICBpZiAob3B0aW9uc1ZhbHVlLmlzVW5kZWZpbmVkKCkpCi0gICAgICAgIG9wdGlvbnMgPSBjb25z
dHJ1Y3RFbXB0eU9iamVjdCh2bSwgZ2xvYmFsT2JqZWN0LT5udWxsUHJvdG90eXBlT2JqZWN0U3Ry
dWN0dXJlKCkpOwotICAgIGVsc2UgewotICAgICAgICBvcHRpb25zID0gb3B0aW9uc1ZhbHVlLnRv
T2JqZWN0KGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHZvaWQoKSk7Ci0gICAgfQorICAgIE9wdGlvbmFsPEpTT2JqZWN0Jj4gb3B0aW9ucyA9IGludGxD
b2VyY2VPcHRpb25zVG9PYmplY3QoZ2xvYmFsT2JqZWN0LCBvcHRpb25zVmFsdWUpOworICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICBSZXNvbHZlTG9jYWxlT3B0
aW9ucyBsb2NhbGVPcHRpb25zOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRsTnVtYmVyRm9ybWF0LmgKaW5kZXggMzhhNzcwYzU5ZDQxMDcwMGY4OWM0OWY3NjlhOTE0
OWRiY2E4NTdkZS4uNmY2YmE2MmVjYmYxYjNjM2QzMDhmZWE2MWM2NjJjMDIxMTliNzg3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuaApA
QCAtNTAsNyArNTAsNyBAQCBlbnVtIGNsYXNzIFJlbGV2YW50RXh0ZW5zaW9uS2V5IDogdWludDhf
dDsKIAogZW51bSBjbGFzcyBJbnRsUm91bmRpbmdUeXBlIDogdWludDhfdCB7IEZyYWN0aW9uRGln
aXRzLCBTaWduaWZpY2FudERpZ2l0cywgQ29tcGFjdFJvdW5kaW5nIH07CiBlbnVtIGNsYXNzIElu
dGxOb3RhdGlvbiA6IHVpbnQ4X3QgeyBTdGFuZGFyZCwgU2NpZW50aWZpYywgRW5naW5lZXJpbmcs
IENvbXBhY3QgfTsKLXRlbXBsYXRlPHR5cGVuYW1lIEludGxUeXBlPiB2b2lkIHNldE51bWJlckZv
cm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCosIEludGxUeXBlKiwgSlNPYmplY3QqLCB1
bnNpZ25lZCBtaW5pbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCB1bnNpZ25lZCBtYXhpbXVtRnJh
Y3Rpb25EaWdpdHNEZWZhdWx0LCBJbnRsTm90YXRpb24pOwordGVtcGxhdGU8dHlwZW5hbWUgSW50
bFR5cGU+IHZvaWQgc2V0TnVtYmVyRm9ybWF0RGlnaXRPcHRpb25zKEpTR2xvYmFsT2JqZWN0Kiwg
SW50bFR5cGUqLCBPcHRpb25hbDxKU09iamVjdCY+LCB1bnNpZ25lZCBtaW5pbXVtRnJhY3Rpb25E
aWdpdHNEZWZhdWx0LCB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCBJbnRs
Tm90YXRpb24pOwogCiBjbGFzcyBJbnRsTnVtYmVyRm9ybWF0IGZpbmFsIDogcHVibGljIEpTTm9u
RmluYWxPYmplY3QgewogcHVibGljOgpAQCAtODgsNyArODgsNyBAQCBjbGFzcyBJbnRsTnVtYmVy
Rm9ybWF0IGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIHN0YXRpYyB2b2lk
IGZvcm1hdFRvUGFydHNJbnRlcm5hbChKU0dsb2JhbE9iamVjdCosIFN0eWxlLCBkb3VibGUsIGNv
bnN0IFN0cmluZyYgZm9ybWF0dGVkLCBJbnRsRmllbGRJdGVyYXRvciYsIEpTQXJyYXkqLCBKU1N0
cmluZyogdW5pdCA9IG51bGxwdHIpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSW50bFR5cGU+
Ci0gICAgZnJpZW5kIHZvaWQgc2V0TnVtYmVyRm9ybWF0RGlnaXRPcHRpb25zKEpTR2xvYmFsT2Jq
ZWN0KiwgSW50bFR5cGUqLCBKU09iamVjdCosIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0
c0RlZmF1bHQsIHVuc2lnbmVkIG1heGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQsIEludGxOb3Rh
dGlvbik7CisgICAgZnJpZW5kIHZvaWQgc2V0TnVtYmVyRm9ybWF0RGlnaXRPcHRpb25zKEpTR2xv
YmFsT2JqZWN0KiwgSW50bFR5cGUqLCBPcHRpb25hbDxKU09iamVjdCY+LCB1bnNpZ25lZCBtaW5p
bXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNE
ZWZhdWx0LCBJbnRsTm90YXRpb24pOwogCiAgICAgc3RhdGljIEFTQ0lJTGl0ZXJhbCBub3RhdGlv
blN0cmluZyhJbnRsTm90YXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdElubGluZXMuaAppbmRleCBlZDViMDM4ODY3NDYx
ODlhY2FkODYxNTQ2YzQ3YjNhODcyZTg3MTZiLi40MTA0YjU4NjNhMzM4ZTgzZmU1NGIxZmNkZWJl
NzU1MGJkZmRjNDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsTnVtYmVyRm9ybWF0SW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxOdW1iZXJGb3JtYXRJbmxpbmVzLmgKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFj
ZSBKU0MgIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgSW50bFR5cGU+Ci12b2lkIHNldE51bWJlckZv
cm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBJbnRsVHlwZSog
aW50bEluc3RhbmNlLCBKU09iamVjdCogb3B0aW9ucywgdW5zaWduZWQgbWluaW11bUZyYWN0aW9u
RGlnaXRzRGVmYXVsdCwgdW5zaWduZWQgbWF4aW11bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCwgSW50
bE5vdGF0aW9uIG5vdGF0aW9uKQordm9pZCBzZXROdW1iZXJGb3JtYXREaWdpdE9wdGlvbnMoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSW50bFR5cGUqIGludGxJbnN0YW5jZSwgT3B0aW9u
YWw8SlNPYmplY3QmPiBvcHRpb25zLCB1bnNpZ25lZCBtaW5pbXVtRnJhY3Rpb25EaWdpdHNEZWZh
dWx0LCB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCBJbnRsTm90YXRpb24g
bm90YXRpb24pCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTQxLDE3ICs0MSwyMyBAQCB2b2lk
IHNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBJbnRsVHlwZSogaW50bElucwogICAgIHVuc2lnbmVkIG1pbmltdW1JbnRlZ2VyRGlnaXRzID0g
aW50bE51bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMt
Pm1pbmltdW1JbnRlZ2VyRGlnaXRzLCAxLCAyMSwgMSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgdm9pZCgpKTsKIAotICAgIEpTVmFsdWUgbWluaW11bUZyYWN0aW9uRGlnaXRzVmFs
dWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5taW5pbXVt
RnJhY3Rpb25EaWdpdHMpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7
CisgICAgSlNWYWx1ZSBtaW5pbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZSA9IGpzVW5kZWZpbmVkKCk7
CisgICAgSlNWYWx1ZSBtYXhpbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZSA9IGpzVW5kZWZpbmVkKCk7
CisgICAgSlNWYWx1ZSBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IGpzVW5kZWZpbmVk
KCk7CisgICAgSlNWYWx1ZSBtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IGpzVW5kZWZp
bmVkKCk7CisgICAgaWYgKG9wdGlvbnMpIHsKKyAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRz
VmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5taW5p
bXVtRnJhY3Rpb25EaWdpdHMpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2
b2lkKCkpOwogCi0gICAgSlNWYWx1ZSBtYXhpbXVtRnJhY3Rpb25EaWdpdHNWYWx1ZSA9IG9wdGlv
bnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1GcmFjdGlvbkRp
Z2l0cyk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICAgICAg
bWF4aW11bUZyYWN0aW9uRGlnaXRzVmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2
bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVtRnJhY3Rpb25EaWdpdHMpOworICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgSlNWYWx1ZSBtaW5pbXVtU2lnbmlm
aWNhbnREaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5
TmFtZXMtPm1pbmltdW1TaWduaWZpY2FudERpZ2l0cyk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgdm9pZCgpKTsKKyAgICAgICAgbWluaW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUg
PSBvcHRpb25zLT5nZXQoZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5taW5pbXVtU2ln
bmlmaWNhbnREaWdpdHMpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lk
KCkpOwogCi0gICAgSlNWYWx1ZSBtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IG9wdGlv
bnMtPmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPm1heGltdW1TaWduaWZpY2Fu
dERpZ2l0cyk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICAg
ICAgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzVmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2Jq
ZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMpOworICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworICAgIH0KIAogICAgIGludGxJ
bnN0YW5jZS0+bV9taW5pbXVtSW50ZWdlckRpZ2l0cyA9IG1pbmltdW1JbnRlZ2VyRGlnaXRzOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwCmluZGV4IDkz
MGZmNDY2MjM1NDNmM2E3YjM4NjNhOGQyNDhlYjE0MGQzNTRkMDQuLmNlNjU3MjZmNGI4OTZlOTE5
YWQ3MjEyMjhhOWZmOGI5ZDVjOGM5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGxPYmplY3QuY3BwCkBAIC00OTgsMTggKzQ5OCwxNSBAQCBjb25zdCBIYXNoU2V0PFN0
cmluZz4mIGludGxTZWdtZW50ZXJBdmFpbGFibGVMb2NhbGVzKCkKIH0KIAogLy8gaHR0cHM6Ly90
YzM5LmVzL2VjbWE0MDIvI3NlYy1nZXRvcHRpb24KLVRyaVN0YXRlIGludGxCb29sZWFuT3B0aW9u
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3B0aW9ucywgUHJvcGVydHlO
YW1lIHByb3BlcnR5KQorVHJpU3RhdGUgaW50bEJvb2xlYW5PcHRpb24oSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgT3B0aW9uYWw8SlNPYmplY3QmPiBvcHRpb25zLCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHkpCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChvcHRpb25zLmlzVW5k
ZWZpbmVkKCkpCisgICAgaWYgKCFvcHRpb25zKQogICAgICAgICByZXR1cm4gVHJpU3RhdGU6Oklu
ZGV0ZXJtaW5hdGU7CiAKLSAgICBKU09iamVjdCogb3B0cyA9IG9wdGlvbnMudG9PYmplY3QoZ2xv
YmFsT2JqZWN0KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBUcmlTdGF0ZTo6SW5k
ZXRlcm1pbmF0ZSk7Ci0KLSAgICBKU1ZhbHVlIHZhbHVlID0gb3B0cy0+Z2V0KGdsb2JhbE9iamVj
dCwgcHJvcGVydHkpOworICAgIEpTVmFsdWUgdmFsdWUgPSBvcHRpb25zLT5nZXQoZ2xvYmFsT2Jq
ZWN0LCBwcm9wZXJ0eSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgVHJpU3RhdGU6
OkluZGV0ZXJtaW5hdGUpOwogCiAgICAgaWYgKHZhbHVlLmlzVW5kZWZpbmVkKCkpCkBAIC01MTgs
NyArNTE1LDcgQEAgVHJpU3RhdGUgaW50bEJvb2xlYW5PcHRpb24oSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNWYWx1ZSBvcHRpb25zLCBQcm9wZXIKICAgICByZXR1cm4gdHJpU3RhdGUo
dmFsdWUudG9Cb29sZWFuKGdsb2JhbE9iamVjdCkpOwogfQogCi1TdHJpbmcgaW50bFN0cmluZ09w
dGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIG9wdGlvbnMsIFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eSwgc3RkOjppbml0aWFsaXplcl9saXN0PGNvbnN0IGNoYXIqPiB2YWx1
ZXMsIGNvbnN0IGNoYXIqIG5vdEZvdW5kLCBjb25zdCBjaGFyKiBmYWxsYmFjaykKK1N0cmluZyBp
bnRsU3RyaW5nT3B0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE9wdGlvbmFsPEpT
T2JqZWN0Jj4gb3B0aW9ucywgUHJvcGVydHlOYW1lIHByb3BlcnR5LCBzdGQ6OmluaXRpYWxpemVy
X2xpc3Q8Y29uc3QgY2hhcio+IHZhbHVlcywgY29uc3QgY2hhciogbm90Rm91bmQsIGNvbnN0IGNo
YXIqIGZhbGxiYWNrKQogewogICAgIC8vIEdldE9wdGlvbiAob3B0aW9ucywgcHJvcGVydHksIHR5
cGU9InN0cmluZyIsIHZhbHVlcywgZmFsbGJhY2spCiAgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1
Yi5pby9lY21hNDAyLyNzZWMtZ2V0b3B0aW9uCkBAIC01MjYsMTMgKzUyMywxMCBAQCBTdHJpbmcg
aW50bFN0cmluZ09wdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIG9w
dGlvbnMsIFByb3BlcnR5TgogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAob3B0aW9ucy5p
c1VuZGVmaW5lZCgpKQorICAgIGlmICghb3B0aW9ucykKICAgICAgICAgcmV0dXJuIGZhbGxiYWNr
OwogCi0gICAgSlNPYmplY3QqIG9wdHMgPSBvcHRpb25zLnRvT2JqZWN0KGdsb2JhbE9iamVjdCk7
Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOwotCi0gICAgSlNWYWx1
ZSB2YWx1ZSA9IG9wdHMtPmdldChnbG9iYWxPYmplY3QsIHByb3BlcnR5KTsKKyAgICBKU1ZhbHVl
IHZhbHVlID0gb3B0aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgcHJvcGVydHkpOwogICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIFN0cmluZygpKTsKIAogICAgIGlmICghdmFsdWUuaXNVbmRl
ZmluZWQoKSkgewpAQCAtNTQ5LDcgKzU0Myw3IEBAIFN0cmluZyBpbnRsU3RyaW5nT3B0aW9uKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3B0aW9ucywgUHJvcGVydHlOCiAg
ICAgcmV0dXJuIGZhbGxiYWNrOwogfQogCi11bnNpZ25lZCBpbnRsTnVtYmVyT3B0aW9uKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3B0aW9ucywgUHJvcGVydHlOYW1lIHBy
b3BlcnR5LCB1bnNpZ25lZCBtaW5pbXVtLCB1bnNpZ25lZCBtYXhpbXVtLCB1bnNpZ25lZCBmYWxs
YmFjaykKK3Vuc2lnbmVkIGludGxOdW1iZXJPcHRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgT3B0aW9uYWw8SlNPYmplY3QmPiBvcHRpb25zLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHks
IHVuc2lnbmVkIG1pbmltdW0sIHVuc2lnbmVkIG1heGltdW0sIHVuc2lnbmVkIGZhbGxiYWNrKQog
ewogICAgIC8vIEdldE51bWJlck9wdGlvbiAob3B0aW9ucywgcHJvcGVydHksIG1pbmltdW0sIG1h
eGltdW0sIGZhbGxiYWNrKQogICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTQwMi8j
c2VjLWdldG51bWJlcm9wdGlvbgpAQCAtNTU3LDEzICs1NTEsMTAgQEAgdW5zaWduZWQgaW50bE51
bWJlck9wdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIG9wdGlvbnMs
IFByb3BlcnQKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKG9wdGlvbnMuaXNVbmRlZmlu
ZWQoKSkKKyAgICBpZiAoIW9wdGlvbnMpCiAgICAgICAgIHJldHVybiBmYWxsYmFjazsKIAotICAg
IEpTT2JqZWN0KiBvcHRzID0gb3B0aW9ucy50b09iamVjdChnbG9iYWxPYmplY3QpOwotICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIDApOwotCi0gICAgSlNWYWx1ZSB2YWx1ZSA9IG9wdHMt
PmdldChnbG9iYWxPYmplY3QsIHByb3BlcnR5KTsKKyAgICBKU1ZhbHVlIHZhbHVlID0gb3B0aW9u
cy0+Z2V0KGdsb2JhbE9iamVjdCwgcHJvcGVydHkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIDApOwogCiAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBpbnRsRGVmYXVsdE51
bWJlck9wdGlvbihnbG9iYWxPYmplY3QsIHZhbHVlLCBwcm9wZXJ0eSwgbWluaW11bSwgbWF4aW11
bSwgZmFsbGJhY2spKTsKQEAgLTkzMyw3ICs5MjQsNyBAQCBzdGF0aWMgSlNBcnJheSogYmVzdEZp
dFN1cHBvcnRlZExvY2FsZXMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSGFz
aAogICAgIHJldHVybiBsb29rdXBTdXBwb3J0ZWRMb2NhbGVzKGdsb2JhbE9iamVjdCwgYXZhaWxh
YmxlTG9jYWxlcywgcmVxdWVzdGVkTG9jYWxlcyk7CiB9CiAKLUpTVmFsdWUgc3VwcG9ydGVkTG9j
YWxlcyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBIYXNoU2V0PFN0cmluZz4m
IGF2YWlsYWJsZUxvY2FsZXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiByZXF1ZXN0ZWRMb2NhbGVz
LCBKU1ZhbHVlIG9wdGlvbnMpCitKU1ZhbHVlIHN1cHBvcnRlZExvY2FsZXMoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBhdmFpbGFibGVMb2NhbGVz
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcmVxdWVzdGVkTG9jYWxlcywgSlNWYWx1ZSBvcHRpb25z
VmFsdWUpCiB7CiAgICAgLy8gU3VwcG9ydGVkTG9jYWxlcyAoYXZhaWxhYmxlTG9jYWxlcywgcmVx
dWVzdGVkTG9jYWxlcywgb3B0aW9ucykKICAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2Vj
bWE0MDIvI3NlYy1zdXBwb3J0ZWRsb2NhbGVzCkBAIC05NDIsNiArOTMzLDkgQEAgSlNWYWx1ZSBz
dXBwb3J0ZWRMb2NhbGVzKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IEhhc2hT
ZXQ8U3RyaW5nPiYgYXYKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CiAgICAgU3RyaW5nIG1hdGNoZXI7CiAKKyAgICBPcHRpb25hbDxKU09iamVjdCY+IG9wdGlvbnMg
PSBpbnRsQ29lcmNlT3B0aW9uc1RvT2JqZWN0KGdsb2JhbE9iamVjdCwgb3B0aW9uc1ZhbHVlKTsK
KyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOworCiAgICAgTG9jYWxl
TWF0Y2hlciBsb2NhbGVNYXRjaGVyID0gaW50bE9wdGlvbjxMb2NhbGVNYXRjaGVyPihnbG9iYWxP
YmplY3QsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPmxvY2FsZU1hdGNoZXIsIHsgeyAibG9v
a3VwIl9zLCBMb2NhbGVNYXRjaGVyOjpMb29rdXAgfSwgeyAiYmVzdCBmaXQiX3MsIExvY2FsZU1h
dGNoZXI6OkJlc3RGaXQgfSB9LCAibG9jYWxlTWF0Y2hlciBtdXN0IGJlIGVpdGhlciBcImxvb2t1
cFwiIG9yIFwiYmVzdCBmaXRcIiJfcywgTG9jYWxlTWF0Y2hlcjo6QmVzdEZpdCk7CiAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE9iamVjdC5oCmluZGV4IGU4MjdmZmQwYjdhMzJiY2RiNTQ4OGY2Yjk4
OGJiZGVjMTI5NGE3ZDUuLjZkNmI4MDk1NmQ2MGJjZGJjZjhhYjkzYTIxNWRiNDJmNzkwYjZhYmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmgKQEAgLTkxLDkg
KzkxLDkgQEAgaW5saW5lIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgaW50bFBsdXJhbFJ1bGVzQXZh
aWxhYmxlTG9jYWxlcygpIHsgcmV0dXJuIGludGxBdmEKIGlubGluZSBjb25zdCBIYXNoU2V0PFN0
cmluZz4mIGludGxSZWxhdGl2ZVRpbWVGb3JtYXRBdmFpbGFibGVMb2NhbGVzKCkgeyByZXR1cm4g
aW50bEF2YWlsYWJsZUxvY2FsZXMoKTsgfQogaW5saW5lIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYg
aW50bExpc3RGb3JtYXRBdmFpbGFibGVMb2NhbGVzKCkgeyByZXR1cm4gaW50bEF2YWlsYWJsZUxv
Y2FsZXMoKTsgfQogCi1UcmlTdGF0ZSBpbnRsQm9vbGVhbk9wdGlvbihKU0dsb2JhbE9iamVjdCos
IEpTVmFsdWUgb3B0aW9ucywgUHJvcGVydHlOYW1lKTsKLVN0cmluZyBpbnRsU3RyaW5nT3B0aW9u
KEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBvcHRpb25zLCBQcm9wZXJ0eU5hbWUsIHN0ZDo6aW5p
dGlhbGl6ZXJfbGlzdDxjb25zdCBjaGFyKj4gdmFsdWVzLCBjb25zdCBjaGFyKiBub3RGb3VuZCwg
Y29uc3QgY2hhciogZmFsbGJhY2spOwotdW5zaWduZWQgaW50bE51bWJlck9wdGlvbihKU0dsb2Jh
bE9iamVjdCosIEpTVmFsdWUgb3B0aW9ucywgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBtaW5pbXVt
LCB1bnNpZ25lZCBtYXhpbXVtLCB1bnNpZ25lZCBmYWxsYmFjayk7CitUcmlTdGF0ZSBpbnRsQm9v
bGVhbk9wdGlvbihKU0dsb2JhbE9iamVjdCosIE9wdGlvbmFsPEpTT2JqZWN0Jj4gb3B0aW9ucywg
UHJvcGVydHlOYW1lKTsKK1N0cmluZyBpbnRsU3RyaW5nT3B0aW9uKEpTR2xvYmFsT2JqZWN0Kiwg
T3B0aW9uYWw8SlNPYmplY3QmPiBvcHRpb25zLCBQcm9wZXJ0eU5hbWUsIHN0ZDo6aW5pdGlhbGl6
ZXJfbGlzdDxjb25zdCBjaGFyKj4gdmFsdWVzLCBjb25zdCBjaGFyKiBub3RGb3VuZCwgY29uc3Qg
Y2hhciogZmFsbGJhY2spOwordW5zaWduZWQgaW50bE51bWJlck9wdGlvbihKU0dsb2JhbE9iamVj
dCosIE9wdGlvbmFsPEpTT2JqZWN0Jj4gb3B0aW9ucywgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBt
aW5pbXVtLCB1bnNpZ25lZCBtYXhpbXVtLCB1bnNpZ25lZCBmYWxsYmFjayk7CiB1bnNpZ25lZCBp
bnRsRGVmYXVsdE51bWJlck9wdGlvbihKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUsIFByb3BlcnR5
TmFtZSwgdW5zaWduZWQgbWluaW11bSwgdW5zaWduZWQgbWF4aW11bSwgdW5zaWduZWQgZmFsbGJh
Y2spOwogVmVjdG9yPGNoYXIsIDMyPiBsb2NhbGVJREJ1ZmZlckZvckxhbmd1YWdlVGFnKGNvbnN0
IENTdHJpbmcmKTsKIFN0cmluZyBsYW5ndWFnZVRhZ0ZvckxvY2FsZUlEKGNvbnN0IGNoYXIqLCBi
b29sIGlzSW1tb3J0YWwgPSBmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9JbnRsT2JqZWN0SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bE9iamVjdElubGluZXMuaAppbmRleCAwMjQwMjUyMmQ4ZmU4NTcxNTBkN2Q2MzVl
YzI2ZjFlMjljMWYxNmE3Li4yNjM5YmQwNTViYjZjMzlhYjZjYWI3ODlmZmFhOGI2NGNkNDY0MWQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0SW5s
aW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3RJbmxp
bmVzLmgKQEAgLTEyMCw3ICsxMjAsNyBAQCBJbnN0YW5jZVR5cGUqIHVud3JhcEZvckxlZ2FjeUlu
dGxDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbAogfQogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBSZXN1bHRUeXBlPgotUmVzdWx0VHlwZSBpbnRsT3B0aW9uKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgb3B0aW9ucywgUHJvcGVydHlOYW1lIHBy
b3BlcnR5LCBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8c3RkOjpwYWlyPEFTQ0lJTGl0ZXJhbCwgUmVz
dWx0VHlwZT4+IHZhbHVlcywgQVNDSUlMaXRlcmFsIG5vdEZvdW5kTWVzc2FnZSwgUmVzdWx0VHlw
ZSBmYWxsYmFjaykKK1Jlc3VsdFR5cGUgaW50bE9wdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBPcHRpb25hbDxKU09iamVjdCY+IG9wdGlvbnMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0
eSwgc3RkOjppbml0aWFsaXplcl9saXN0PHN0ZDo6cGFpcjxBU0NJSUxpdGVyYWwsIFJlc3VsdFR5
cGU+PiB2YWx1ZXMsIEFTQ0lJTGl0ZXJhbCBub3RGb3VuZE1lc3NhZ2UsIFJlc3VsdFR5cGUgZmFs
bGJhY2spCiB7CiAgICAgLy8gR2V0T3B0aW9uIChvcHRpb25zLCBwcm9wZXJ0eSwgdHlwZT0ic3Ry
aW5nIiwgdmFsdWVzLCBmYWxsYmFjaykKICAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2Vj
bWE0MDIvI3NlYy1nZXRvcHRpb24KQEAgLTEzMCwxMyArMTMwLDEwIEBAIFJlc3VsdFR5cGUgaW50
bE9wdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIG9wdGlvbnMsIFBy
b3BlcnR5TmFtCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChvcHRpb25zLmlzVW5kZWZp
bmVkKCkpCisgICAgaWYgKCFvcHRpb25zKQogICAgICAgICByZXR1cm4gZmFsbGJhY2s7CiAKLSAg
ICBKU09iamVjdCogb3B0cyA9IG9wdGlvbnMudG9PYmplY3QoZ2xvYmFsT2JqZWN0KTsKLSAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwotCi0gICAgSlNWYWx1ZSB2YWx1ZSA9IG9w
dHMtPmdldChnbG9iYWxPYmplY3QsIHByb3BlcnR5KTsKKyAgICBKU1ZhbHVlIHZhbHVlID0gb3B0
aW9ucy0+Z2V0KGdsb2JhbE9iamVjdCwgcHJvcGVydHkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIHsgfSk7CiAKICAgICBpZiAoIXZhbHVlLmlzVW5kZWZpbmVkKCkpIHsKQEAgLTE4
MiwxNiArMTc5LDI4IEBAIGlubGluZSBVQ29sbGF0aW9uUmVzdWx0IGNvbXBhcmVBU0NJSVdpdGhV
Q0FEVUNFVChjb25zdCBDaGFyYWN0ZXJUeXBlMSogY2hhcmFjdGVyCiB9CiAKIC8vIGh0dHBzOi8v
dGMzOS5lcy9lY21hNDAyLyNzZWMtZ2V0b3B0aW9uc29iamVjdAotaW5saW5lIEpTT2JqZWN0KiBp
bnRsR2V0T3B0aW9uc09iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVl
IG9wdGlvbnMpCitpbmxpbmUgT3B0aW9uYWw8SlNPYmplY3QmPiBpbnRsR2V0T3B0aW9uc09iamVj
dChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIG9wdGlvbnMpCiB7CiAgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKICAgICBpZiAob3B0aW9ucy5pc1VuZGVmaW5lZCgpKQotICAgICAgICBy
ZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3Qodm0sIGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlw
ZU9iamVjdFN0cnVjdHVyZSgpKTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBp
ZiAoTElLRUxZKG9wdGlvbnMuaXNPYmplY3QoKSkpCi0gICAgICAgIHJldHVybiBhc09iamVjdChv
cHRpb25zKTsKKyAgICAgICAgcmV0dXJuICphc09iamVjdChvcHRpb25zKTsKICAgICB0aHJvd1R5
cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAib3B0aW9ucyBhcmd1bWVudCBpcyBub3QgYW4g
b2JqZWN0IG9yIHVuZGVmaW5lZCJfcyk7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKK30KKworLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWE0MDIvI3NlYy1jb2Vy
Y2VvcHRpb25zdG9vYmplY3QKK2lubGluZSBPcHRpb25hbDxKU09iamVjdCY+IGludGxDb2VyY2VP
cHRpb25zVG9PYmplY3QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBvcHRp
b25zVmFsdWUpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBpZiAob3B0aW9uc1ZhbHVlLmlz
VW5kZWZpbmVkKCkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgSlNPYmplY3Qq
IG9wdGlvbnMgPSBvcHRpb25zVmFsdWUudG9PYmplY3QoZ2xvYmFsT2JqZWN0KTsKKyAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBXVEY6Om51bGxvcHQpOworICAgIHJldHVybiAqb3B0aW9u
czsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcAppbmRleCAwYTA5MjY1MzBjMzgyNTViMWMzNjFh
MzdlOTYwNWM5YmMxZTQ0ODBiLi5lNjVmYjBkNzMyNzE1MjliNWNhYTlkOWZhYmVjOWJlYmNiNGM1
NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFs
UnVsZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxS
dWxlcy5jcHAKQEAgLTg2LDEzICs4Niw4IEBAIHZvaWQgSW50bFBsdXJhbFJ1bGVzOjppbml0aWFs
aXplUGx1cmFsUnVsZXMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1CiAgICAg
VmVjdG9yPFN0cmluZz4gcmVxdWVzdGVkTG9jYWxlcyA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qo
Z2xvYmFsT2JqZWN0LCBsb2NhbGVzKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2
b2lkKCkpOwogCi0gICAgSlNPYmplY3QqIG9wdGlvbnM7Ci0gICAgaWYgKG9wdGlvbnNWYWx1ZS5p
c1VuZGVmaW5lZCgpKQotICAgICAgICBvcHRpb25zID0gY29uc3RydWN0RW1wdHlPYmplY3Qodm0s
IGdsb2JhbE9iamVjdC0+bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZSgpKTsKLSAgICBlbHNl
IHsKLSAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50b09iamVjdChnbG9iYWxPYmplY3Qp
OwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIH0KKyAg
ICBPcHRpb25hbDxKU09iamVjdCY+IG9wdGlvbnMgPSBpbnRsQ29lcmNlT3B0aW9uc1RvT2JqZWN0
KGdsb2JhbE9iamVjdCwgb3B0aW9uc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOwogCiAgICAgUmVzb2x2ZUxvY2FsZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsK
ICAgICBMb2NhbGVNYXRjaGVyIGxvY2FsZU1hdGNoZXIgPSBpbnRsT3B0aW9uPExvY2FsZU1hdGNo
ZXI+KGdsb2JhbE9iamVjdCwgb3B0aW9ucywgdm0ucHJvcGVydHlOYW1lcy0+bG9jYWxlTWF0Y2hl
ciwgeyB7ICJsb29rdXAiX3MsIExvY2FsZU1hdGNoZXI6Okxvb2t1cCB9LCB7ICJiZXN0IGZpdCJf
cywgTG9jYWxlTWF0Y2hlcjo6QmVzdEZpdCB9IH0sICJsb2NhbGVNYXRjaGVyIG11c3QgYmUgZWl0
aGVyIFwibG9va3VwXCIgb3IgXCJiZXN0IGZpdFwiIl9zLCBMb2NhbGVNYXRjaGVyOjpCZXN0Rml0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxS
dWxlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmgK
aW5kZXggNmQzYWNhYjg0ZTgxNGU1ZjdjMDdkMDI0ZjNlMjVmZjJlNWYwZjZlNC4uZTI5ZTFiNjI2
ZDMxYzkwODI2ZDQ3ZjJkNmJiNWFjMTM3YTViZmI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmgKQEAgLTU4LDcgKzU4LDcgQEAgY2xhc3Mg
SW50bFBsdXJhbFJ1bGVzIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogICAgIERF
Q0xBUkVfSU5GTzsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEludGxUeXBlPgotICAgIGZyaWVu
ZCB2b2lkIHNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCosIEludGxU
eXBlKiwgSlNPYmplY3QqLCB1bnNpZ25lZCBtaW5pbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCB1
bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0LCBJbnRsTm90YXRpb24pOworICAg
IGZyaWVuZCB2b2lkIHNldE51bWJlckZvcm1hdERpZ2l0T3B0aW9ucyhKU0dsb2JhbE9iamVjdCos
IEludGxUeXBlKiwgT3B0aW9uYWw8SlNPYmplY3QmPiwgdW5zaWduZWQgbWluaW11bUZyYWN0aW9u
RGlnaXRzRGVmYXVsdCwgdW5zaWduZWQgbWF4aW11bUZyYWN0aW9uRGlnaXRzRGVmYXVsdCwgSW50
bE5vdGF0aW9uKTsKIAogICAgIHZvaWQgaW5pdGlhbGl6ZVBsdXJhbFJ1bGVzKEpTR2xvYmFsT2Jq
ZWN0KiwgSlNWYWx1ZSBsb2NhbGVzLCBKU1ZhbHVlIG9wdGlvbnMpOwogICAgIEpTVmFsdWUgc2Vs
ZWN0KEpTR2xvYmFsT2JqZWN0KiwgZG91YmxlIHZhbHVlKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxSZWxhdGl2ZVRpbWVGb3JtYXQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdC5jcHAK
aW5kZXggYzVjN2JiM2UyNjVlNjlkNWU4MWUyMDNiZGJlM2I3NTRlNDIyYTlkMC4uZjdkMzhiODFl
YWM4Mjg2M2Y1YWQ4YmNjODMyNDY1MjY5MjgxNzc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFJlbGF0aXZlVGltZUZvcm1hdC5jcHAKQEAgLTg5
LDEzICs4OSw4IEBAIHZvaWQgSW50bFJlbGF0aXZlVGltZUZvcm1hdDo6aW5pdGlhbGl6ZVJlbGF0
aXZlVGltZUZvcm1hdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsCiAgICAgVmVjdG9yPFN0cmluZz4g
cmVxdWVzdGVkTG9jYWxlcyA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoZ2xvYmFsT2JqZWN0LCBs
b2NhbGVzKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAg
SlNPYmplY3QqIG9wdGlvbnM7Ci0gICAgaWYgKG9wdGlvbnNWYWx1ZS5pc1VuZGVmaW5lZCgpKQot
ICAgICAgICBvcHRpb25zID0gY29uc3RydWN0RW1wdHlPYmplY3Qodm0sIGdsb2JhbE9iamVjdC0+
bnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZSgpKTsKLSAgICBlbHNlIHsKLSAgICAgICAgb3B0
aW9ucyA9IG9wdGlvbnNWYWx1ZS50b09iamVjdChnbG9iYWxPYmplY3QpOwotICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIH0KKyAgICBPcHRpb25hbDxKU09i
amVjdCY+IG9wdGlvbnMgPSBpbnRsQ29lcmNlT3B0aW9uc1RvT2JqZWN0KGdsb2JhbE9iamVjdCwg
b3B0aW9uc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwog
CiAgICAgUmVzb2x2ZUxvY2FsZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsKICAgICBMb2NhbGVNYXRj
aGVyIGxvY2FsZU1hdGNoZXIgPSBpbnRsT3B0aW9uPExvY2FsZU1hdGNoZXI+KGdsb2JhbE9iamVj
dCwgb3B0aW9ucywgdm0ucHJvcGVydHlOYW1lcy0+bG9jYWxlTWF0Y2hlciwgeyB7ICJsb29rdXAi
X3MsIExvY2FsZU1hdGNoZXI6Okxvb2t1cCB9LCB7ICJiZXN0IGZpdCJfcywgTG9jYWxlTWF0Y2hl
cjo6QmVzdEZpdCB9IH0sICJsb2NhbGVNYXRjaGVyIG11c3QgYmUgZWl0aGVyIFwibG9va3VwXCIg
b3IgXCJiZXN0IGZpdFwiIl9zLCBMb2NhbGVNYXRjaGVyOjpCZXN0Rml0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxTZWdtZW50ZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFNlZ21lbnRlci5jcHAKaW5kZXggYWU5NmNhYjVj
ZTFkMDQ4OGEyNGM2OWMwOTM0MjM1MDMzNGUzYWQxZS4uMDRjZjE3ZDUwOTM1NjIxYzQyNDhlODQ4
Yjc3NTBlZGEzN2VhODFlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bFNlZ21lbnRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bFNlZ21lbnRlci5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBJbnRsU2VnbWVudGVyOjpp
bml0aWFsaXplU2VnbWVudGVyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUg
bG8KICAgICBhdXRvIHJlcXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KGds
b2JhbE9iamVjdCwgbG9jYWxlcyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9p
ZCgpKTsKIAotICAgIEpTT2JqZWN0KiBvcHRpb25zID0gaW50bEdldE9wdGlvbnNPYmplY3QoZ2xv
YmFsT2JqZWN0LCBvcHRpb25zVmFsdWUpOworICAgIE9wdGlvbmFsPEpTT2JqZWN0Jj4gb3B0aW9u
cyA9IGludGxHZXRPcHRpb25zT2JqZWN0KGdsb2JhbE9iamVjdCwgb3B0aW9uc1ZhbHVlKTsKICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCiAgICAgUmVzb2x2ZUxvY2Fs
ZU9wdGlvbnMgbG9jYWxlT3B0aW9uczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>