<?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>57815</bug_id>
          
          <creation_ts>2011-04-04 22:20:19 -0700</creation_ts>
          <short_desc>Remove duplicate API from WKContext</short_desc>
          <delta_ts>2011-04-06 05:07:41 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>darin</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>379328</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-04 22:20:19 -0700</bug_when>
    <thetext>Remove duplicate API from WKContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379334</commentid>
    <comment_count>1</comment_count>
      <attachid>88185</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-04 22:29:44 -0700</bug_when>
    <thetext>Created attachment 88185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379335</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-04 22:33:07 -0700</bug_when>
    <thetext>Attachment 88185 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1

Source/WebKit2/WebProcess/WebProcess.h:122:  The parameter name &quot;cachesToClear&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379339</commentid>
    <comment_count>3</comment_count>
      <attachid>88185</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-04-04 22:37:05 -0700</bug_when>
    <thetext>Comment on attachment 88185
Patch

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

&gt; Source/WebKit2/WebProcess/WebProcess.messages.in:59
&gt; +    DownloadRequest(uint64_t downloadID, uint64_t initiatingPageID, WebCore::ResourceRequest request)

Does removing the void change the code in any way? I see a couple voids above this (Start and StopMemorySampler), should those be changed too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379340</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-04 22:37:39 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 88185 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=88185&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebProcess.messages.in:59
&gt; &gt; +    DownloadRequest(uint64_t downloadID, uint64_t initiatingPageID, WebCore::ResourceRequest request)
&gt; 
&gt; Does removing the void change the code in any way? I see a couple voids above this (Start and StopMemorySampler), should those be changed too?

No, it was just wrong.  The void has no meaning in that syntax.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379342</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-04 22:38:55 -0700</bug_when>
    <thetext>Landed in r82906.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379359</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-05 00:26:36 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Landed in r82906.

And a buildfix landed in http://trac.webkit.org/changeset/82907

:(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379649</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-05 09:37:37 -0700</bug_when>
    <thetext>This wont work when people use newer compilers, because on some of them, UNUSED_PARAM actually warns if the variable is used.

So the UNUSED_PARAM needs to be inside the conditional, not unconditional. I also suggest using UNUSED_PARAM on cachesToClear, not on the local variable, and putting the local variable inside the conditional too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380273</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-06 05:07:41 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; This wont work when people use newer compilers, because on some of them, UNUSED_PARAM actually warns if the variable is used.
&gt; 
&gt; So the UNUSED_PARAM needs to be inside the conditional, not unconditional. I also suggest using UNUSED_PARAM on cachesToClear, not on the local variable, and putting the local variable inside the conditional too.

Thanks for the advice, I didn&apos;t know if it can cause problem 
with newer compilers.

I filed a new bug and uploaded a patch based on your suggestion: https://bugs.webkit.org/show_bug.cgi?id=57940</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88185</attachid>
            <date>2011-04-04 22:29:44 -0700</date>
            <delta_ts>2011-04-04 22:37:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57815-20110404222949.patch</filename>
            <type>text/plain</type>
            <size>31952</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyOTAyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTEtMDQtMDQgIFNhbSBXZWlu
aWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmUgZHVwbGljYXRlIEFQSSBmcm9tIFdLQ29udGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc4MTUKKworICAgICAg
ICAtIFJlbW92ZSBXS0NvbnRleHRDbGVhclJlc291cmNlQ2FjaGVzIGFuZCBXS0NvbnRleHRDbGVh
ckFwcGxpY2F0aW9uQ2FjaGUgaW4gZmF2b3IKKyAgICAgICAgICBvZiB0aGVpciBtb3JlIG1vZGVy
biBjb3VudGVycGFydHMgV0tSZXNvdXJjZUNhY2hlTWFuYWdlckNsZWFyQ2FjaGVGb3JBbGxPcmln
aW5zCisgICAgICAgICAgYW5kIFdLQXBwbGljYXRpb25DYWNoZU1hbmFnZXJEZWxldGVBbGxFbnRy
aWVzLgorCisgICAgICAgIC0gRXhwYW5kIGNsZWFyaW5nIGZ1bmN0aW9uYWxpdHkgb2YgV0tSZXNv
dXJjZUNhY2hlTWFuYWdlciBieSBhZGRpbmcgdHlwZSBvZiByZXNvdXJjZXMKKyAgICAgICAgICB0
byBjbGVhci4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6V2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgUmVtb3ZlIGNsZWFyaW5nIGJvb2xzLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0
b1Jlc291cmNlQ2FjaGVzVG9DbGVhcik6CisgICAgICAgIFVwZGF0ZSBmb3IgbmV3IG5hbWUgb2Yg
ZW51bS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaDoKKyAgICAgICAgUmVtb3ZlIFdLQ29udGV4
dENsZWFyUmVzb3VyY2VDYWNoZXMgYW5kIFdLQ29udGV4dENsZWFyQXBwbGljYXRpb25DYWNoZS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcDoK
KyAgICAgICAgKFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJDbGVhckNhY2hlRm9yT3JpZ2luKToKKyAg
ICAgICAgKFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJDbGVhckNhY2hlRm9yQWxsT3JpZ2lucyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VDYWNoZU1hbmFnZXIuaDoKKyAgICAg
ICAgQWRkIFdLUmVzb3VyY2VDYWNoZXNUb0NsZWFyIGVudW0gYW5kIHVzZSBpdCBpbiB0aGUgY2xl
YXJpbmcgZnVuY3Rpb25zLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpXZWJDb250ZXh0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViQ29udGV4dDo6ZW5zdXJlV2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YkNvbnRleHQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46
CisgICAgICAgIFJlbW92ZSBjbGVhcmluZyBmdW5jdGlvbnMgYW5kIHNldHRpbmcgb2YgYm9vbHMg
Zm9yIGNsZWFyIG9uIGxhdW5jaC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5ICNpbmNsdWRlLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OjpjbGVhckNhY2hl
Rm9yT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94
eTo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNv
dXJjZUNhY2hlTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9SZXNvdXJjZUNh
Y2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JPcmlnaW4pOgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFu
YWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkIGVudW0gcGFyYW1ldGVyIGRlc2NyaWJpbmcg
d2hhdCB0eXBlIG9mIGNhY2hlcyB0byBjbGVhci4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQ
cm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Y2xlYXJSZXNvdXJjZUNhY2hl
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgIE5vIGxvbmdl
ciBuZWVkIHRvIHVzZSBvcGFxdWUgdHlwZSBub3cgdGhhdCBpdCBpcyBub3QgYSBtZXNzYWdlIHJl
Y2VpdmVyLgorCiAyMDExLTA0LTA0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTczODQ+IENGTmV0d29yayBhbmQgV2Vi
Q29yZSBsb2FkIHByaW9yaXRpZXMgc2hvdWxkIG1hdGNoCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZp
c2lvbiA4MjkwMCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsOCArMzIsNiBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6V2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycygpCiAgICAgOiBzaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyhmYWxzZSkKLSAg
ICAsIGNsZWFyUmVzb3VyY2VDYWNoZXMoZmFsc2UpCi0gICAgLCBjbGVhckFwcGxpY2F0aW9uQ2Fj
aGUoZmFsc2UpCiAgICAgLCBzaG91bGRBbHdheXNVc2VDb21wbGV4VGV4dENvZGVQYXRoKGZhbHNl
KQogICAgICwgZGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50ZXJ2YWwoSU5UX01BWCkKICNpZiBQTEFU
Rk9STShNQUMpCkBAIC01OCw4ICs1Niw2IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZW5jb2QKICAgICBlbmNvZGVyLT5lbmNvZGUobWltZVR5cGVzV2l0aEN1c3RvbVJlcHJl
c2VudGF0aW9uKTsKICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKGNhY2hlTW9kZWwpOwogICAgIGVu
Y29kZXItPmVuY29kZShzaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyk7Ci0gICAgZW5jb2Rlci0+ZW5j
b2RlKGNsZWFyUmVzb3VyY2VDYWNoZXMpOwotICAgIGVuY29kZXItPmVuY29kZShjbGVhckFwcGxp
Y2F0aW9uQ2FjaGUpOwogICAgIGVuY29kZXItPmVuY29kZShzaG91bGRBbHdheXNVc2VDb21wbGV4
VGV4dENvZGVQYXRoKTsKICAgICBlbmNvZGVyLT5lbmNvZGUoaWNvbkRhdGFiYXNlRW5hYmxlZCk7
CiAgICAgZW5jb2Rlci0+ZW5jb2RlKGxhbmd1YWdlQ29kZSk7CkBAIC0xMDksMTAgKzEwNSw2IEBA
IGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuc2hvdWxkVHJhY2tW
aXNpdGVkTGlua3MpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLT5k
ZWNvZGUocGFyYW1ldGVycy5jbGVhclJlc291cmNlQ2FjaGVzKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBhcmFtZXRlcnMuY2xlYXJBcHBsaWNhdGlv
bkNhY2hlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KHBhcmFtZXRlcnMuc2hvdWxkQWx3YXlzVXNlQ29tcGxleFRleHRDb2RlUGF0aCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYXJhbWV0ZXJzLmljb25E
YXRhYmFzZUVuYWJsZWQpKQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiA4MjkwMCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY0LDkgKzY0LDYgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMgewogCiAgICAgQ2FjaGVNb2RlbCBjYWNoZU1vZGVsOwogICAgIGJvb2wgc2hvdWxkVHJhY2tW
aXNpdGVkTGlua3M7Ci0gICAgCi0gICAgYm9vbCBjbGVhclJlc291cmNlQ2FjaGVzOwotICAgIGJv
b2wgY2xlYXJBcHBsaWNhdGlvbkNhY2hlOwogCiAgICAgYm9vbCBzaG91bGRBbHdheXNVc2VDb21w
bGV4VGV4dENvZGVQYXRoOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHQuY3BwCShyZXZpc2lvbiA4MjkwMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDggKzExMSw2IEBAIFdlYkNvbnRleHQ6
OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2MKICAgICAsIG1fdmlzaXRlZExpbmtQcm92aWRl
cih0aGlzKQogICAgICwgbV9hbHdheXNVc2VzQ29tcGxleFRleHRDb2RlUGF0aChmYWxzZSkKICAg
ICAsIG1fY2FjaGVNb2RlbChDYWNoZU1vZGVsRG9jdW1lbnRWaWV3ZXIpCi0gICAgLCBtX2NsZWFy
UmVzb3VyY2VDYWNoZXNGb3JOZXdXZWJQcm9jZXNzKGZhbHNlKQotICAgICwgbV9jbGVhckFwcGxp
Y2F0aW9uQ2FjaGVGb3JOZXdXZWJQcm9jZXNzKGZhbHNlKQogICAgICwgbV9tZW1vcnlTYW1wbGVy
RW5hYmxlZChmYWxzZSkKICAgICAsIG1fbWVtb3J5U2FtcGxlckludGVydmFsKDE0MDAuMCkKICAg
ICAsIG1fYXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eShXZWJBcHBsaWNhdGlvbkNhY2hlTWFu
YWdlclByb3h5OjpjcmVhdGUodGhpcykpCkBAIC0yMzUsMTQgKzIzMyw5IEBAIHZvaWQgV2ViQ29u
dGV4dDo6ZW5zdXJlV2ViUHJvY2VzcygpCiAgICAgcGFyYW1ldGVycy5hcHBsaWNhdGlvbkNhY2hl
RGlyZWN0b3J5ID0gYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpOwogICAgIHBhcmFtZXRlcnMu
ZGF0YWJhc2VEaXJlY3RvcnkgPSBkYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIHBhcmFtZXRlcnMu
bG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gbG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7Ci0gICAgcGFy
YW1ldGVycy5jbGVhclJlc291cmNlQ2FjaGVzID0gbV9jbGVhclJlc291cmNlQ2FjaGVzRm9yTmV3
V2ViUHJvY2VzczsKLSAgICBwYXJhbWV0ZXJzLmNsZWFyQXBwbGljYXRpb25DYWNoZSA9IG1fY2xl
YXJBcHBsaWNhdGlvbkNhY2hlRm9yTmV3V2ViUHJvY2VzczsKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgcGFyYW1ldGVycy5wcmVzZW50ZXJBcHBsaWNhdGlvblBpZCA9IGdldHBpZCgpOwogI2VuZGlm
Ci0KLSAgICBtX2NsZWFyUmVzb3VyY2VDYWNoZXNGb3JOZXdXZWJQcm9jZXNzID0gZmFsc2U7Ci0g
ICAgbV9jbGVhckFwcGxpY2F0aW9uQ2FjaGVGb3JOZXdXZWJQcm9jZXNzID0gZmFsc2U7CiAgICAg
CiAgICAgY29weVRvVmVjdG9yKG1fc2NoZW1lc1RvUmVnaXN0ZXJBc0VtcHR5RG9jdW1lbnQsIHBh
cmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZXJkQXNFbXB0eURvY3VtZW50KTsKICAgICBjb3B5
VG9WZWN0b3IobV9zY2hlbWVzVG9SZWdpc3RlckFzU2VjdXJlLCBwYXJhbWV0ZXJzLnVybFNjaGVt
ZXNSZWdpc3RlcmVkQXNTZWN1cmUpOwpAQCAtNjcyLDMxICs2NjUsNiBAQCBDb3JlSVBDOjpTeW5j
UmVwbHlNb2RlIFdlYkNvbnRleHQ6OmRpZFJlCiAgICAgcmV0dXJuIENvcmVJUEM6OkF1dG9tYXRp
Y1JlcGx5OwogfQogCi12b2lkIFdlYkNvbnRleHQ6OmNsZWFyUmVzb3VyY2VDYWNoZXMoUmVzb3Vy
Y2VDYWNoZXNUb0NsZWFyIGNhY2hlc1RvQ2xlYXIpCi17Ci0gICAgaWYgKHNlbmRUb0FsbFByb2Nl
c3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6Q2xlYXJSZXNvdXJjZUNhY2hlcyhjYWNoZXNUb0Ns
ZWFyKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChjYWNoZXNUb0NsZWFyID09IEluTWVt
b3J5UmVzb3VyY2VDYWNoZXNPbmx5KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBGSVhNRSA8
cmRhcjovL3Byb2JsZW0vODcyNzg3OT46IFNldHRpbmcgdGhpcyBmbGFnIGVuc3VyZXMgdGhhdCB0
aGUgbmV4dCB0aW1lIGEgV2ViUHJvY2VzcyBpcyBjcmVhdGVkLCB0aGlzIHJlcXVlc3QgdG8KLSAg
ICAvLyBjbGVhciB0aGUgcmVzb3VyY2UgY2FjaGUgd2lsbCBiZSByZXNwZWN0ZWQuIEJ1dCBpZiB0
aGUgdXNlciBxdWl0cyB0aGUgYXBwbGljYXRpb24gYmVmb3JlIGFub3RoZXIgV2ViUHJvY2VzcyBp
cyBjcmVhdGVkLAotICAgIC8vIHRoZWlyIHJlcXVlc3Qgd2lsbCBiZSBpZ25vcmVkLgotICAgIG1f
Y2xlYXJSZXNvdXJjZUNhY2hlc0Zvck5ld1dlYlByb2Nlc3MgPSB0cnVlOwotfQotCi12b2lkIFdl
YkNvbnRleHQ6OmNsZWFyQXBwbGljYXRpb25DYWNoZSgpCi17Ci0gICAgaWYgKHNlbmRUb0FsbFBy
b2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6Q2xlYXJBcHBsaWNhdGlvbkNhY2hlKCkpKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBGSVhNRSA8cmRhcjovL3Byb2JsZW0vODcyNzg3OT46
IFNldHRpbmcgdGhpcyBmbGFnIGVuc3VyZXMgdGhhdCB0aGUgbmV4dCB0aW1lIGEgV2ViUHJvY2Vz
cyBpcyBjcmVhdGVkLCB0aGlzIHJlcXVlc3QgdG8KLSAgICAvLyBjbGVhciB0aGUgYXBwbGljYXRp
b24gY2FjaGUgd2lsbCBiZSByZXNwZWN0ZWQuIEJ1dCBpZiB0aGUgdXNlciBxdWl0cyB0aGUgYXBw
bGljYXRpb24gYmVmb3JlIGFub3RoZXIgV2ViUHJvY2VzcyBpcyBjcmVhdGVkLAotICAgIC8vIHRo
ZWlyIHJlcXVlc3Qgd2lsbCBiZSBpZ25vcmVkLgotICAgIG1fY2xlYXJBcHBsaWNhdGlvbkNhY2hl
Rm9yTmV3V2ViUHJvY2VzcyA9IHRydWU7Ci19Ci0gICAKIHZvaWQgV2ViQ29udGV4dDo6c2V0RW5o
YW5jZWRBY2Nlc3NpYmlsaXR5KGJvb2wgZmxhZykKIHsKICAgICBzZW5kVG9BbGxQcm9jZXNzZXMo
TWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEVuaGFuY2VkQWNjZXNzaWJpbGl0eShmbGFnKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgJKHJldmlzaW9uIDgyOTAwKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTIyLDggKzEyMiw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbChDYWNo
ZU1vZGVsKTsKICAgICBDYWNoZU1vZGVsIGNhY2hlTW9kZWwoKSBjb25zdCB7IHJldHVybiBtX2Nh
Y2hlTW9kZWw7IH0KLSAgICB2b2lkIGNsZWFyUmVzb3VyY2VDYWNoZXMoUmVzb3VyY2VDYWNoZXNU
b0NsZWFyKTsKLSAgICB2b2lkIGNsZWFyQXBwbGljYXRpb25DYWNoZSgpOwogCiAgICAgdm9pZCBz
ZXREZWZhdWx0UmVxdWVzdFRpbWVvdXRJbnRlcnZhbChkb3VibGUpOwogCkBAIC0yMzYsOSArMjM0
LDYgQEAgcHJpdmF0ZToKIAogICAgIFdlYkRvd25sb2FkQ2xpZW50IG1fZG93bmxvYWRDbGllbnQ7
CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPERvd25sb2FkUHJveHk+ID4gbV9kb3dubG9h
ZHM7Ci0KLSAgICBib29sIG1fY2xlYXJSZXNvdXJjZUNhY2hlc0Zvck5ld1dlYlByb2Nlc3M7Ci0g
ICAgYm9vbCBtX2NsZWFyQXBwbGljYXRpb25DYWNoZUZvck5ld1dlYlByb2Nlc3M7CiAgICAgCiAg
ICAgYm9vbCBtX21lbW9yeVNhbXBsZXJFbmFibGVkOwogICAgIGRvdWJsZSBtX21lbW9yeVNhbXBs
ZXJJbnRlcnZhbDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHAJKHJldmlzaW9uIDgyOTAwKQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgogI2luY2x1
ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuY3BwCShyZXZpc2lvbiA4Mjkw
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlclBy
b3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsMTkgKzc4LDE5IEBAIHZvaWQgV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXJQcm94eTo6ZGlkR2UKICAgICBwZXJmb3JtQVBJQ2FsbGJhY2tXaXRoU2Vj
dXJpdHlPcmlnaW5EYXRhVmVjdG9yKG9yaWdpbnMsIGNhbGxiYWNrLmdldCgpKTsKIH0KIAotdm9p
ZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OjpjbGVhckNhY2hlRm9yT3JpZ2luKFdlYlNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4pCit2b2lkIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6
OmNsZWFyQ2FjaGVGb3JPcmlnaW4oV2ViU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUmVzb3VyY2VD
YWNoZXNUb0NsZWFyIGNhY2hlc1RvQ2xlYXIpCiB7CiAgICAgU2VjdXJpdHlPcmlnaW5EYXRhIHNl
Y3VyaXR5T3JpZ2luOwogICAgIHNlY3VyaXR5T3JpZ2luLnByb3RvY29sID0gb3JpZ2luLT5wcm90
b2NvbCgpOwogICAgIHNlY3VyaXR5T3JpZ2luLmhvc3QgPSBvcmlnaW4tPmhvc3QoKTsKICAgICBz
ZWN1cml0eU9yaWdpbi5wb3J0ID0gb3JpZ2luLT5wb3J0KCk7CiAKLSAgICBtX3dlYkNvbnRleHQt
PnNlbmRUb0FsbFByb2Nlc3Nlc1JlbGF1bmNoaW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Q2xlYXJDYWNoZUZvck9yaWdpbihzZWN1cml0eU9yaWdp
bikpOworICAgIG1fd2ViQ29udGV4dC0+c2VuZFRvQWxsUHJvY2Vzc2VzUmVsYXVuY2hpbmdUaGVt
SWZOZWNlc3NhcnkoTWVzc2FnZXM6OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpDbGVhckNhY2hl
Rm9yT3JpZ2luKHNlY3VyaXR5T3JpZ2luLCBjYWNoZXNUb0NsZWFyKSk7CiB9CiAKLXZvaWQgV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoKQordm9p
ZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OjpjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyhS
ZXNvdXJjZUNhY2hlc1RvQ2xlYXIgY2FjaGVzVG9DbGVhcikKIHsKLSAgICBtX3dlYkNvbnRleHQt
PnNlbmRUb0FsbFByb2Nlc3Nlc1JlbGF1bmNoaW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Q2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoKSk7CisgICAg
bV93ZWJDb250ZXh0LT5zZW5kVG9BbGxQcm9jZXNzZXNSZWxhdW5jaGluZ1RoZW1JZk5lY2Vzc2Fy
eShNZXNzYWdlczo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OkNsZWFyQ2FjaGVGb3JBbGxPcmln
aW5zKGNhY2hlc1RvQ2xlYXIpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUNhY2hlTWFu
YWdlclByb3h5LmgJKHJldmlzaW9uIDgyOTAwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgog
I2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgorI2luY2x1ZGUgIlJlc291cmNlQ2FjaGVzVG9D
bGVhci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KIApAQCAtNTgsOCArNTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhckNvbnRleHQo
KSB7IG1fd2ViQ29udGV4dCA9IDA7IH0KIAogICAgIHZvaWQgZ2V0Q2FjaGVPcmlnaW5zKFBhc3NS
ZWZQdHI8QXJyYXlDYWxsYmFjaz4pOwotICAgIHZvaWQgY2xlYXJDYWNoZUZvck9yaWdpbihXZWJT
ZWN1cml0eU9yaWdpbiopOwotICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoKTsKKyAg
ICB2b2lkIGNsZWFyQ2FjaGVGb3JPcmlnaW4oV2ViU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUNh
Y2hlc1RvQ2xlYXIpOworICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoUmVzb3VyY2VD
YWNoZXNUb0NsZWFyKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyUHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCShyZXZpc2lvbiA4MjkwMCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiAr
MzcsNyBAQAogI2luY2x1ZGUgIldLUGFnZS5oIgogI2luY2x1ZGUgIldLUHJlZmVyZW5jZXNQcml2
YXRlLmgiCiAjaW5jbHVkZSAiV0tQcm90ZWN0aW9uU3BhY2VUeXBlcy5oIgorI2luY2x1ZGUgIldL
UmVzb3VyY2VDYWNoZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXS1NoYXJlZEFQSUNhc3QuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL0Nvb2tpZUphci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3JlZGVudGlh
bC5oPgpAQCAtMjQ2LDkgKzI0Nyw5IEBAIGlubGluZSBXZWJDb3JlOjpDcmVkZW50aWFsUGVyc2lz
dGVuY2UgdG8KIGlubGluZSBSZXNvdXJjZUNhY2hlc1RvQ2xlYXIgdG9SZXNvdXJjZUNhY2hlc1Rv
Q2xlYXIoV0tSZXNvdXJjZUNhY2hlc1RvQ2xlYXIgd2tSZXNvdXJjZUNhY2hlc1RvQ2xlYXIpCiB7
CiAgICAgc3dpdGNoICh3a1Jlc291cmNlQ2FjaGVzVG9DbGVhcikgewotICAgIGNhc2Uga1dLQWxs
UmVzb3VyY2VDYWNoZXM6CisgICAgY2FzZSBXS1Jlc291cmNlQ2FjaGVzVG9DbGVhckFsbDoKICAg
ICAgICAgcmV0dXJuIEFsbFJlc291cmNlQ2FjaGVzOwotICAgIGNhc2Uga1dLSW5NZW1vcnlSZXNv
dXJjZUNhY2hlc09ubHk6CisgICAgY2FzZSBXS1Jlc291cmNlQ2FjaGVzVG9DbGVhckluTWVtb3J5
T25seToKICAgICAgICAgcmV0dXJuIEluTWVtb3J5UmVzb3VyY2VDYWNoZXNPbmx5OwogICAgIH0K
IApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAJ
KHJldmlzaW9uIDgyOTAwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OCwxNiArMTQ4LDYgQEAgdm9pZCBXS0NvbnRl
eHRTZXREb21haW5SZWxheGF0aW9uRm9yYmlkZAogICAgIHRvSW1wbChjb250ZXh0UmVmKS0+c2V0
RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSh0b0ltcGwodXJsU2NoZW1lKS0+
c3RyaW5nKCkpOwogfQogCi12b2lkIFdLQ29udGV4dENsZWFyUmVzb3VyY2VDYWNoZXMoV0tDb250
ZXh0UmVmIGNvbnRleHRSZWYsIFdLUmVzb3VyY2VDYWNoZXNUb0NsZWFyIGNhY2hlc1RvQ2xlYXIp
Ci17Ci0gICAgdG9JbXBsKGNvbnRleHRSZWYpLT5jbGVhclJlc291cmNlQ2FjaGVzKHRvUmVzb3Vy
Y2VDYWNoZXNUb0NsZWFyKGNhY2hlc1RvQ2xlYXIpKTsKLX0KLQotdm9pZCBXS0NvbnRleHRDbGVh
ckFwcGxpY2F0aW9uQ2FjaGUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCi17Ci0gICAgdG9JbXBs
KGNvbnRleHRSZWYpLT5jbGVhckFwcGxpY2F0aW9uQ2FjaGUoKTsKLX0KLQogV0tDb29raWVNYW5h
Z2VyUmVmIFdLQ29udGV4dEdldENvb2tpZU1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYp
CiB7CiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChjb250ZXh0UmVmKS0+Y29va2llTWFuYWdlclBy
b3h5KCkpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQu
aAkocmV2aXNpb24gODI5MDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDEyICszOSw2IEBAIGVudW0gewogfTsKIHR5
cGVkZWYgdWludDMyX3QgV0tDYWNoZU1vZGVsOwogCi1lbnVtIHsKLSAgICBrV0tBbGxSZXNvdXJj
ZUNhY2hlcyA9IDAsCi0gICAga1dLSW5NZW1vcnlSZXNvdXJjZUNhY2hlc09ubHkgPSAxCi19Owot
dHlwZWRlZiB1aW50MzJfdCBXS1Jlc291cmNlQ2FjaGVzVG9DbGVhcjsKLQogLy8gSW5qZWN0ZWQg
QnVuZGxlIENsaWVudAogdHlwZWRlZiB2b2lkICgqV0tDb250ZXh0RGlkUmVjZWl2ZU1lc3NhZ2VG
cm9tSW5qZWN0ZWRCdW5kbGVDYWxsYmFjaykoV0tDb250ZXh0UmVmIHBhZ2UsIFdLU3RyaW5nUmVm
IG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQgKmNsaWVudElu
Zm8pOwogdHlwZWRlZiB2b2lkICgqV0tDb250ZXh0RGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2Fn
ZUZyb21JbmplY3RlZEJ1bmRsZUNhbGxiYWNrKShXS0NvbnRleHRSZWYgcGFnZSwgV0tTdHJpbmdS
ZWYgbWVzc2FnZU5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSwgV0tUeXBlUmVmKiByZXR1cm5E
YXRhLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTEyNSw5ICsxMTksNiBAQCBXS19FWFBP
UlQgdm9pZCBXS0NvbnRleHRBZGRWaXNpdGVkTGluayhXCiBXS19FWFBPUlQgdm9pZCBXS0NvbnRl
eHRTZXRDYWNoZU1vZGVsKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0NhY2hlTW9kZWwgY2FjaGVN
b2RlbCk7CiBXS19FWFBPUlQgV0tDYWNoZU1vZGVsIFdLQ29udGV4dEdldENhY2hlTW9kZWwoV0tD
b250ZXh0UmVmIGNvbnRleHQpOwogCi1XS19FWFBPUlQgdm9pZCBXS0NvbnRleHRDbGVhclJlc291
cmNlQ2FjaGVzKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1Jlc291cmNlQ2FjaGVzVG9DbGVhciBj
YWNoZXNUb0NsZWFyKTsKLVdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dENsZWFyQXBwbGljYXRpb25D
YWNoZShXS0NvbnRleHRSZWYgY29udGV4dCk7Ci0KIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFN0
YXJ0TWVtb3J5U2FtcGxlcihXS0NvbnRleHRSZWYgY29udGV4dCwgV0tEb3VibGVSZWYgaW50ZXJ2
YWwpOwogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U3RvcE1lbW9yeVNhbXBsZXIoV0tDb250ZXh0
UmVmIGNvbnRleHQpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tS
ZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiA4MjkwMCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlQ2FjaGVNYW5hZ2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTIgKzQxLDEyIEBAIHZvaWQgV0tSZXNvdXJjZUNh
Y2hlTWFuYWdlckdldENhY2hlT3JpZ2kKICAgICB0b0ltcGwoY2FjaGVNYW5hZ2VyUmVmKS0+Z2V0
Q2FjaGVPcmlnaW5zKEFycmF5Q2FsbGJhY2s6OmNyZWF0ZShjb250ZXh0LCBjYWxsYmFjaykpOwog
fQogCi12b2lkIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJDbGVhckNhY2hlRm9yT3JpZ2luKFdLUmVz
b3VyY2VDYWNoZU1hbmFnZXJSZWYgY2FjaGVNYW5hZ2VyUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVm
IG9yaWdpblJlZikKK3ZvaWQgV0tSZXNvdXJjZUNhY2hlTWFuYWdlckNsZWFyQ2FjaGVGb3JPcmln
aW4oV0tSZXNvdXJjZUNhY2hlTWFuYWdlclJlZiBjYWNoZU1hbmFnZXJSZWYsIFdLU2VjdXJpdHlP
cmlnaW5SZWYgb3JpZ2luUmVmLCBXS1Jlc291cmNlQ2FjaGVzVG9DbGVhciBjYWNoZXNUb0NsZWFy
KQogewotICAgIHRvSW1wbChjYWNoZU1hbmFnZXJSZWYpLT5jbGVhckNhY2hlRm9yT3JpZ2luKHRv
SW1wbChvcmlnaW5SZWYpKTsKKyAgICB0b0ltcGwoY2FjaGVNYW5hZ2VyUmVmKS0+Y2xlYXJDYWNo
ZUZvck9yaWdpbih0b0ltcGwob3JpZ2luUmVmKSwgdG9SZXNvdXJjZUNhY2hlc1RvQ2xlYXIoY2Fj
aGVzVG9DbGVhcikpOwogfQogCi12b2lkIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJDbGVhckNhY2hl
Rm9yQWxsT3JpZ2lucyhXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVmIGNhY2hlTWFuYWdlclJlZikK
K3ZvaWQgV0tSZXNvdXJjZUNhY2hlTWFuYWdlckNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKFdLUmVz
b3VyY2VDYWNoZU1hbmFnZXJSZWYgY2FjaGVNYW5hZ2VyUmVmLCBXS1Jlc291cmNlQ2FjaGVzVG9D
bGVhciBjYWNoZXNUb0NsZWFyKQogewotICAgIHRvSW1wbChjYWNoZU1hbmFnZXJSZWYpLT5jbGVh
ckNhY2hlRm9yQWxsT3JpZ2lucygpOyAgICAKKyAgICB0b0ltcGwoY2FjaGVNYW5hZ2VyUmVmKS0+
Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnModG9SZXNvdXJjZUNhY2hlc1RvQ2xlYXIoY2FjaGVzVG9D
bGVhcikpOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUmVzb3Vy
Y2VDYWNoZU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tSZXNvdXJjZUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiA4MjkwMCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDEzICszMiwxOSBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorZW51
bSB7CisgICAgV0tSZXNvdXJjZUNhY2hlc1RvQ2xlYXJBbGwgPSAwLAorICAgIFdLUmVzb3VyY2VD
YWNoZXNUb0NsZWFySW5NZW1vcnlPbmx5ID0gMQorfTsKK3R5cGVkZWYgdWludDMyX3QgV0tSZXNv
dXJjZUNhY2hlc1RvQ2xlYXI7CisKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS1Jlc291cmNlQ2FjaGVN
YW5hZ2VyR2V0VHlwZUlEKCk7CiAKIHR5cGVkZWYgdm9pZCAoKldLUmVzb3VyY2VDYWNoZU1hbmFn
ZXJHZXRDYWNoZU9yaWdpbnNGdW5jdGlvbikoV0tBcnJheVJlZiwgV0tFcnJvclJlZiwgdm9pZCop
OwogV0tfRVhQT1JUIHZvaWQgV0tSZXNvdXJjZUNhY2hlTWFuYWdlckdldENhY2hlT3JpZ2lucyhX
S1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVmIGNvbnRleHRSZWYsIHZvaWQqIGNvbnRleHQsIFdLUmVz
b3VyY2VDYWNoZU1hbmFnZXJHZXRDYWNoZU9yaWdpbnNGdW5jdGlvbiBmdW5jdGlvbik7CiAKLVdL
X0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJDbGVhckNhY2hlRm9yT3JpZ2luKFdL
UmVzb3VyY2VDYWNoZU1hbmFnZXJSZWYgY2FjaGVNYW5nZXIsIFdLU2VjdXJpdHlPcmlnaW5SZWYg
b3JpZ2luKTsKLVdLX0VYUE9SVCB2b2lkIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJDbGVhckNhY2hl
Rm9yQWxsT3JpZ2lucyhXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVmIGNhY2hlTWFuYWdlcik7CitX
S19FWFBPUlQgdm9pZCBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyQ2xlYXJDYWNoZUZvck9yaWdpbihX
S1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVmIGNhY2hlTWFuZ2VyLCBXS1NlY3VyaXR5T3JpZ2luUmVm
IG9yaWdpbiwgV0tSZXNvdXJjZUNhY2hlc1RvQ2xlYXIgY2FjaGVzVG9DbGVhcik7CitXS19FWFBP
UlQgdm9pZCBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyQ2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoV0tS
ZXNvdXJjZUNhY2hlTWFuYWdlclJlZiBjYWNoZU1hbmFnZXIsIFdLUmVzb3VyY2VDYWNoZXNUb0Ns
ZWFyIGNhY2hlc1RvQ2xlYXIpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gODI5MDApCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMTQsMTEgKzIxNCw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3Mo
Y28KIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVycy5taW1lVHlwZXNXaXRo
Q3VzdG9tUmVwcmVzZW50YXRpb24uc2l6ZSgpOyArK2kpCiAgICAgICAgIG1fbWltZVR5cGVzV2l0
aEN1c3RvbVJlcHJlc2VudGF0aW9ucy5hZGQocGFyYW1ldGVycy5taW1lVHlwZXNXaXRoQ3VzdG9t
UmVwcmVzZW50YXRpb25baV0pOwotCi0gICAgaWYgKHBhcmFtZXRlcnMuY2xlYXJSZXNvdXJjZUNh
Y2hlcykKLSAgICAgICAgY2xlYXJSZXNvdXJjZUNhY2hlcygpOwotICAgIGlmIChwYXJhbWV0ZXJz
LmNsZWFyQXBwbGljYXRpb25DYWNoZSkKLSAgICAgICAgY2xlYXJBcHBsaWNhdGlvbkNhY2hlKCk7
CiAgICAgCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIG1fcHJlc2VudGVyQXBwbGljYXRpb25QaWQg
PSBwYXJhbWV0ZXJzLnByZXNlbnRlckFwcGxpY2F0aW9uUGlkOwpAQCAtNzAyLDEwICs2OTcsOCBA
QCBXZWJQYWdlR3JvdXBQcm94eSogV2ViUHJvY2Vzczo6d2ViUGFnZUdyCiAgICAgcmV0dXJuIHJl
c3VsdC5maXJzdC0+c2Vjb25kLmdldCgpOwogfQogCi12b2lkIFdlYlByb2Nlc3M6OmNsZWFyUmVz
b3VyY2VDYWNoZXModWludDMyX3QgY2FjaGVzVG9DbGVhcikKK3ZvaWQgV2ViUHJvY2Vzczo6Y2xl
YXJSZXNvdXJjZUNhY2hlcyhSZXNvdXJjZUNhY2hlc1RvQ2xlYXIgcmVzb3VyY2VDYWNoZXNUb0Ns
ZWFyKQogewotICAgIFJlc291cmNlQ2FjaGVzVG9DbGVhciByZXNvdXJjZUNhY2hlc1RvQ2xlYXIg
PSBzdGF0aWNfY2FzdDxSZXNvdXJjZUNhY2hlc1RvQ2xlYXI+KGNhY2hlc1RvQ2xlYXIpOwotCiAg
ICAgcGxhdGZvcm1DbGVhclJlc291cmNlQ2FjaGVzKHJlc291cmNlQ2FjaGVzVG9DbGVhcik7CiAK
ICAgICAvLyBUb2dnbGluZyB0aGUgY2FjaGUgbW9kZWwgbGlrZSB0aGlzIGZvcmNlcyB0aGUgY2Fj
aGUgdG8gZXZpY3QgYWxsIGl0cyBpbi1tZW1vcnkgcmVzb3VyY2VzLgpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDgyOTAwKQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsx
MTksNyBAQCBwdWJsaWM6CiAgICAgLy8gR2VvbG9jYXRpb24KICAgICBXZWJHZW9sb2NhdGlvbk1h
bmFnZXImIGdlb2xvY2F0aW9uTWFuYWdlcigpIHsgcmV0dXJuIG1fZ2VvbG9jYXRpb25NYW5hZ2Vy
OyB9CiAKLSAgICB2b2lkIGNsZWFyUmVzb3VyY2VDYWNoZXModWludDMyX3QgY2FjaGVzVG9DbGVh
ciA9IEFsbFJlc291cmNlQ2FjaGVzKTsKKyAgICB2b2lkIGNsZWFyUmVzb3VyY2VDYWNoZXMoUmVz
b3VyY2VDYWNoZXNUb0NsZWFyIGNhY2hlc1RvQ2xlYXIgPSBBbGxSZXNvdXJjZUNhY2hlcyk7CiAg
ICAgCiAgICAgY29uc3QgU3RyaW5nJiBsb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdCB7IHJl
dHVybiBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiA4MjkwMCkK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29y
a2luZyBjb3B5KQpAQCAtNTAsMTYgKzUwLDEzIEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3Mgewog
ICAgIEdldFNpdGVzV2l0aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBwbHVnaW5QYXRo
cywgdWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBDbGVhclBsdWdpblNpdGVEYXRhKFZlY3RvcjxX
VEY6OlN0cmluZz4gcGx1Z2luUGF0aHMsIFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2
NF90IGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQp
CiAjZW5kaWYKLQotICAgIENsZWFyUmVzb3VyY2VDYWNoZXModWludDMyX3QgY2FjaGVzVG9DbGVh
cik7Ci0gICAgQ2xlYXJBcHBsaWNhdGlvbkNhY2hlKCk7CiAgICAgCiAgICAgdm9pZCBTdGFydE1l
bW9yeVNhbXBsZXIoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FtcGxlTG9nRmls
ZUhhbmRsZSwgV1RGOjpTdHJpbmcgc2FtcGxlTG9nRmlsZVBhdGgsIGRvdWJsZSBpbnRlcnZhbCk7
CiAgICAgdm9pZCBTdG9wTWVtb3J5U2FtcGxlcigpOwogCiAgICAgIyBEb3dubG9hZHMuIFRoaXMg
c2hvdWxkIHJlYWxseSBiZSBpbiBhIERvd25sb2FkLm1lc3NhZ2VzLmluLCBidXQgaXQgc2VlbWVk
IHVubmVjZXNzYXJ5IHRvIGNyZWF0ZSBhIG5ldyBmaWxlIGp1c3QgZm9yCiAgICAgIyB0d28gbWVz
c2FnZXMuCi0gICAgdm9pZCBEb3dubG9hZFJlcXVlc3QodWludDY0X3QgZG93bmxvYWRJRCwgdWlu
dDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Qp
CisgICAgRG93bmxvYWRSZXF1ZXN0KHVpbnQ2NF90IGRvd25sb2FkSUQsIHVpbnQ2NF90IGluaXRp
YXRpbmdQYWdlSUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0KQogICAgIENhbmNl
bERvd25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQpCiAKICAgICBTZXRUZXh0Q2hlY2tlclN0YXRl
KFdlYktpdDo6VGV4dENoZWNrZXJTdGF0ZSB0ZXh0Q2hlY2tlclN0YXRlKQpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2Fj
aGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiA4MjkwMCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNvbm5l
Y3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlSUQuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUNhY2hl
c1RvQ2xlYXIuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKICNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUNhY2hlTWFuYWdl
clByb3h5TWVzc2FnZXMuaCIKQEAgLTk2LDggKzk3LDEwIEBAIHZvaWQgV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OmdldENhY2hlT3IKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS50ZXJtaW5hdGVJ
ZlBvc3NpYmxlKCk7CiB9CiAKLXZvaWQgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ2Fj
aGVGb3JPcmlnaW4oU2VjdXJpdHlPcmlnaW5EYXRhIG9yaWdpbkRhdGEpIGNvbnN0Cit2b2lkIFdl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9yT3JpZ2luKFNlY3VyaXR5T3JpZ2lu
RGF0YSBvcmlnaW5EYXRhLCB1aW50MzJfdCBjYWNoZXNUb0NsZWFyKSBjb25zdAogeworICAgIFJl
c291cmNlQ2FjaGVzVG9DbGVhciByZXNvdXJjZUNhY2hlc1RvQ2xlYXIgPSBzdGF0aWNfY2FzdDxS
ZXNvdXJjZUNhY2hlc1RvQ2xlYXI+KGNhY2hlc1RvQ2xlYXIpOworCiAgICAgUmVmUHRyPFNlY3Vy
aXR5T3JpZ2luPiBvcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG9yaWdpbkRhdGEucHJv
dG9jb2wsIG9yaWdpbkRhdGEuaG9zdCwgb3JpZ2luRGF0YS5wb3J0KTsKICAgICBpZiAoIW9yaWdp
bikKICAgICAgICAgcmV0dXJuOwpAQCAtMTA1LDE4ICsxMDgsMjIgQEAgdm9pZCBXZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlcjo6Y2xlYXJDYWNoZQogICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZVJlc291
cmNlc1dpdGhPcmlnaW4ob3JpZ2luLmdldCgpKTsKIAogI2lmIFVTRShDRlVSTENBQ0hFKQotICAg
IFJldGFpblB0cjxDRk11dGFibGVBcnJheVJlZj4gaG9zdEFycmF5KEFkb3B0Q0YsIENGQXJyYXlD
cmVhdGVNdXRhYmxlKDAsIDAsICZrQ0ZUeXBlQXJyYXlDYWxsQmFja3MpKTsKLSAgICBSZXRhaW5Q
dHI8Q0ZTdHJpbmdSZWY+IGhvc3QoQWRvcHRDRiwgb3JpZ2luLT5ob3N0KCkuY3JlYXRlQ0ZTdHJp
bmcoKSk7Ci0gICAgQ0ZBcnJheUFwcGVuZFZhbHVlKGhvc3RBcnJheS5nZXQoKSwgaG9zdC5nZXQo
KSk7CisgICAgaWYgKHJlc291cmNlQ2FjaGVzVG9DbGVhciAhPSBJbk1lbW9yeVJlc291cmNlQ2Fj
aGVzT25seSkgeyAKKyAgICAgICAgUmV0YWluUHRyPENGTXV0YWJsZUFycmF5UmVmPiBob3N0QXJy
YXkoQWRvcHRDRiwgQ0ZBcnJheUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVBcnJheUNhbGxC
YWNrcykpOworICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGhvc3QoQWRvcHRDRiwgb3Jp
Z2luLT5ob3N0KCkuY3JlYXRlQ0ZTdHJpbmcoKSk7CisgICAgICAgIENGQXJyYXlBcHBlbmRWYWx1
ZShob3N0QXJyYXkuZ2V0KCksIGhvc3QuZ2V0KCkpOwogCi0gICAgY2xlYXJDRlVSTENhY2hlRm9y
SG9zdE5hbWVzKGhvc3RBcnJheS5nZXQoKSk7CisgICAgICAgIGNsZWFyQ0ZVUkxDYWNoZUZvckhv
c3ROYW1lcyhob3N0QXJyYXkuZ2V0KCkpOworICAgIH0KICNlbmRpZgogICAgIFdlYlByb2Nlc3M6
OnNoYXJlZCgpLnRlcm1pbmF0ZUlmUG9zc2libGUoKTsKIH0KIAotdm9pZCBXZWJSZXNvdXJjZUNh
Y2hlTWFuYWdlcjo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoKSBjb25zdAordm9pZCBXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlcjo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2FjaGVz
VG9DbGVhcikgY29uc3QKIHsKLSAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jbGVhclJlc291cmNl
Q2FjaGVzKCk7CisgICAgUmVzb3VyY2VDYWNoZXNUb0NsZWFyIHJlc291cmNlQ2FjaGVzVG9DbGVh
ciA9IHN0YXRpY19jYXN0PFJlc291cmNlQ2FjaGVzVG9DbGVhcj4oY2FjaGVzVG9DbGVhcik7CisK
KyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jbGVhclJlc291cmNlQ2FjaGVzKHJlc291cmNlQ2Fj
aGVzVG9DbGVhcik7CiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkudGVybWluYXRlSWZQb3NzaWJs
ZSgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUv
V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaAkocmV2aXNp
b24gODI5MDApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAog
I2RlZmluZSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcl9oCiAKICNpbmNsdWRlICJBcmd1bWVudHMu
aCIKKyNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CkBAIC01Niw4ICs1Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRS
ZWNlaXZlV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24q
LCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogCiAgICAg
dm9pZCBnZXRDYWNoZU9yaWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkgY29uc3Q7Ci0gICAgdm9p
ZCBjbGVhckNhY2hlRm9yT3JpZ2luKFNlY3VyaXR5T3JpZ2luRGF0YSBvcmlnaW4pIGNvbnN0Owot
ICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbE9yaWdpbnMoKSBjb25zdDsKKyAgICB2b2lkIGNsZWFy
Q2FjaGVGb3JPcmlnaW4oU2VjdXJpdHlPcmlnaW5EYXRhLCB1aW50MzJfdCBjYWNoZXNUb0NsZWFy
KSBjb25zdDsKKyAgICB2b2lkIGNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hl
c1RvQ2xlYXIpIGNvbnN0OwogCiAjaWYgVVNFKENGVVJMQ0FDSEUpCiAgICAgc3RhdGljIFJldGFp
blB0cjxDRkFycmF5UmVmPiBjZlVSTENhY2hlSG9zdE5hbWVzKCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIubWVz
c2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJj
ZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLm1lc3NhZ2VzLmluCShyZXZpc2lvbiA4Mjkw
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNiBA
QAogCiBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlciB7CiAgICAgdm9pZCBHZXRD
YWNoZU9yaWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkKLSAgICB2b2lkIENsZWFyQ2FjaGVGb3JP
cmlnaW4oV2ViS2l0OjpTZWN1cml0eU9yaWdpbkRhdGEgb3JpZ2luSWRlbnRpZmllcikKLSAgICB2
b2lkIENsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKCkKKyAgICB2b2lkIENsZWFyQ2FjaGVGb3JPcmln
aW4oV2ViS2l0OjpTZWN1cml0eU9yaWdpbkRhdGEgb3JpZ2luSWRlbnRpZmllciwgdWludDMyX3Qg
Y2FjaGVzVG9DbGVhcikKKyAgICB2b2lkIENsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90
IGNhY2hlc1RvQ2xlYXIpCiB9CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MjkwMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTA0LTA0ICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVtb3ZlIGR1cGxpY2F0ZSBBUEkgZnJvbSBXS0NvbnRleHQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3ODE1CisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvU2VuZGluZ01lc3NhZ2VzVG9UaGVXZWJQ
cm9jZXNzQmVmb3JlSXRJc1ZhbGlkLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL3dpbi9UZXN0V2ViS2l0QVBJLnZjcHJvajoKKyAgICAgICAgUmVtb3ZlIFNlbmRpbmdNZXNz
YWdlc1RvVGhlV2ViUHJvY2Vzc0JlZm9yZUl0SXNWYWxpZCBzaW5jZSB0aGUgQVBJIGl0IHdhcyB0
ZXN0aW5nIGlzIG5vdyByZW1vdmVkLgorCiAyMDExLTA0LTA0ICBUb255IENoYW5nICA8dG9ueUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KSW5kZXg6IFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA4MjkwMCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC01Nyw3ICs1Nyw2IEBACiAJCUMwQURCRTk2MTJGQ0E3OUIwMEQyQzEyOSAvKiBzaW1wbGUt
Zm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovOyB9
OwogCQlDMEJENjY5RDEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNu
dEZpcmVFYXJseS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMEJENjY5QzEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNu
dEZpcmVFYXJseS5jcHAgKi87IH07CiAJCUMwQkQ2NjlGMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNw
b25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEg
LyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwICovOyB9Owot
CQlGNkM1OUUzODEzMkFDNUUwMDAxNzZDMDkgLyogU2VuZGluZ01lc3NhZ2VzVG9UaGVXZWJQcm9j
ZXNzQmVmb3JlSXRJc1ZhbGlkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY2QzU5RTM3MTMyQUM1REYwMDE3NkMwOSAvKiBTZW5kaW5nTWVzc2FnZXNU
b1RoZVdlYlByb2Nlc3NCZWZvcmVJdElzVmFsaWQuY3BwICovOyB9OwogCQlGNkYzRjI5MTEzMzQy
RkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNkYzRjI5MDEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2ll
TWFuYWdlci5jcHAgKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIApAQCAt
MTYxLDcgKzE2MCw2IEBACiAJCUMwQURCRTg0MTJGQ0E2QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9y
bS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInNpbXBsZS1mb3JtLmh0bWwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEJENjY5QzEzMUQzQ0Y3MDBFMThGMkEgLyog
UmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4RjJB
IC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRG
aXJlRWFybHlfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjZDNTlF
MzcxMzJBQzVERjAwMTc2QzA5IC8qIFNlbmRpbmdNZXNzYWdlc1RvVGhlV2ViUHJvY2Vzc0JlZm9y
ZUl0SXNWYWxpZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZW5k
aW5nTWVzc2FnZXNUb1RoZVdlYlByb2Nlc3NCZWZvcmVJdElzVmFsaWQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNkYzRjI5MDEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2llTWFu
YWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb29raWVNYW5h
Z2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJl
bmNlIHNlY3Rpb24gKi8KIApAQCAtMjg5LDcgKzI4Nyw2IEBACiAJCQkJQzBCRDY2OUMxMzFEM0NG
NzAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwICovLAog
CQkJCUMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250
RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi8sCiAJCQkJQzBBREJFODIxMkZDQTZBQTAwRDJDMTI5IC8q
IFJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5nRm9ybURhdGEuY3BwICovLAotCQkJCUY2QzU5
RTM3MTMyQUM1REYwMDE3NkMwOSAvKiBTZW5kaW5nTWVzc2FnZXNUb1RoZVdlYlByb2Nlc3NCZWZv
cmVJdElzVmFsaWQuY3BwICovLAogCQkJCUMwMkI3N0YxMTI2NjEyMTQwMDI2QkYwRiAvKiBTcGFj
ZWJhclNjcm9sbGluZy5jcHAgKi8sCiAJCQkJQkM3QjYxOUExMjk5RkU5RTAwRDE3NEE0IC8qIFdL
UHJlZmVyZW5jZXMuY3BwICovLAogCQkJCUJDOTA5OTVEMTI1NjdCQzEwMDA4Mzc1NiAvKiBXS1N0
cmluZy5jcHAgKi8sCkBAIC00NDQsNyArNDQxLDYgQEAKIAkJCQkxQURCRUZBRTEzMEM2ODlDMDBE
NjFEMTkgLyogRm9yY2VSZXBhaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRCRkRGRkE5MTMx
NDc3NzcwMDYxRjI0QiAvKiBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDMEJENjY5RDEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRv
ZXNudEZpcmVFYXJseS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGNkM1OUUzODEzMkFDNUUwMDAx
NzZDMDkgLyogU2VuZGluZ01lc3NhZ2VzVG9UaGVXZWJQcm9jZXNzQmVmb3JlSXRJc1ZhbGlkLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjQ2RDhFMTMyRjExNUEwMEI1NkQ3QyAvKiBBYm91dEJs
YW5rTG9hZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzI0NkQ5QTEzMkYxRkUxMDBCNTZEN0Mg
LyogQ2FuSGFuZGxlUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNkYzRjI5MTEzMzQy
RkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9TZW5kaW5nTWVzc2FnZXNUb1RoZVdlYlBy
b2Nlc3NCZWZvcmVJdElzVmFsaWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9TZW5kaW5nTWVzc2FnZXNUb1RoZVdlYlByb2Nlc3NCZWZvcmVJdElz
VmFsaWQuY3BwCShyZXZpc2lvbiA4MjkwMCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9TZW5kaW5nTWVzc2FnZXNUb1RoZVdlYlByb2Nlc3NCZWZvcmVJdElzVmFsaWQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
VGVzdC5oIgotCi0jaW5jbHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0ci5oPgotI2luY2x1ZGUgPFdl
YktpdDIvV0tDb250ZXh0Lmg+Ci0KLW5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKLQotVEVTVChX
ZWJLaXQyLCBTZW5kaW5nTWVzc2FnZXNUb1RoZVdlYlByb2Nlc3NCZWZvcmVJdElzVmFsaWQpCi17
Ci0gICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4
dENyZWF0ZSgpKTsKLQotICAgIC8vIE5laXRoZXIgb2YgdGhlc2UgY2FsbHMgc2hvdWxkIGNhdXNl
IGEgY3Jhc2guCi0gICAgV0tDb250ZXh0Q2xlYXJSZXNvdXJjZUNhY2hlcyhjb250ZXh0LmdldCgp
LCBrV0tBbGxSZXNvdXJjZUNhY2hlcyk7Ci0gICAgV0tDb250ZXh0Q2xlYXJSZXNvdXJjZUNhY2hl
cyhjb250ZXh0LmdldCgpLCBrV0tJbk1lbW9yeVJlc291cmNlQ2FjaGVzT25seSk7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvd2lu
L1Rlc3RXZWJLaXRBUEkudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
d2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qCShyZXZpc2lvbiA4MjkwMCkKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00OTIs
MTAgKzQ5Miw2IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxUZXN0c1xXZWJLaXQyXFNlbmRpbmdNZXNzYWdlc1RvVGhlV2ViUHJvY2Vzc0Jl
Zm9yZUl0SXNWYWxpZC5jcHAiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxUZXN0c1xXZWJLaXQyXHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3Np
dGluZy5odG1sIgogCQkJCQk+CiAJCQkJPC9GaWxlPgo=
</data>
<flag name="review"
          id="80662"
          type_id="1"
          status="+"
          setter="bweinstein"
    />
          </attachment>
      

    </bug>

</bugzilla>