<?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>99487</bug_id>
          
          <creation_ts>2012-10-16 12:17:33 -0700</creation_ts>
          <short_desc>Update indentation in *ResourceLoader headers to match modern WebKit style</short_desc>
          <delta_ts>2012-10-16 13:22:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>743408</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-16 12:17:33 -0700</bug_when>
    <thetext>Update indentation in *ResourceLoader headers to match modern WebKit style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743410</commentid>
    <comment_count>1</comment_count>
      <attachid>168995</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-16 12:19:06 -0700</bug_when>
    <thetext>Created attachment 168995
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743415</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-16 12:23:44 -0700</bug_when>
    <thetext>Attachment 168995 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/loader/ResourceLoader.h:153:  One space before end of line comments  [whitespace/comments] [5]
Total errors found: 1 in 4 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>743465</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-16 13:14:41 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 168995 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
&gt; Source/WebCore/loader/ResourceLoader.h:153:  One space before end of line comments  [whitespace/comments] [5]
&gt; Total errors found: 1 in 4 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

Fixed that, won&apos;t re-upload the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743471</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-16 13:22:30 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/131492</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743472</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-16 13:22:57 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Attachment 168995 [details] [details] did not pass style-queue:
&gt; &gt; 
&gt; &gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
&gt; &gt; Source/WebCore/loader/ResourceLoader.h:153:  One space before end of line comments  [whitespace/comments] [5]
&gt; &gt; Total errors found: 1 in 4 files
&gt; &gt; 
&gt; &gt; 
&gt; &gt; If any of these errors are false positives, please file a bug against check-webkit-style.
&gt; 
&gt; Fixed that, won&apos;t re-upload the patch.

Didn&apos;t actually fix that.  There&apos;s precedent for keeping groups of comments aligned like that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168995</attachid>
            <date>2012-10-16 12:19:06 -0700</date>
            <delta_ts>2012-10-16 13:15:13 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>24696</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YTdiNjFkLi4yYmI0ODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYg
QEAKKzIwMTItMTAtMTYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFVwZGF0ZSBpbmRlbnRhdGlvbiBpbiAqUmVzb3VyY2VMb2FkZXIgaGVhZGVycyB0byBtYXRj
aCBtb2Rlcm4gV2ViS2l0IHN0eWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05OTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEknbSBnb2luZyB0byBiZSB3b3JraW5nIG9uIHRoZXNlIGNsYXNzZXMgYW5k
IHRoZSBpbmRlbnRhdGlvbiBpcyBkcml2aW5nIG1lIGNyYXp5LgorCisgICAgICAgICogbG9hZGVy
L01haW5SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChNYWlu
UmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjpp
c0xvYWRpbmdNdWx0aXBhcnRDb250ZW50KToKKworICAgICAgICAqIGxvYWRlci9OZXRzY2FwZVBs
dWdJblN0cmVhbUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChOZXRzY2Fw
ZVBsdWdJblN0cmVhbUxvYWRlckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpOZXRzY2FwZVBs
dWdJblN0cmVhbUxvYWRlckNsaWVudDo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJD
b3JlOjpOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlckNsaWVudDo6d2FudHNBbGxTdHJlYW1zKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyQ2xpZW50Ojp+TmV0
c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXJDbGllbnQpOgorICAgICAgICAoTmV0c2NhcGVQbHVnSW5T
dHJlYW1Mb2FkZXIpOgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlTG9hZGVyOjpkb2N1bWVudExvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRlcjo6b3JpZ2luYWxSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlTG9hZGVyOjppZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVy
OjpkaWRSZWNlaXZlQ2FjaGVkTWV0YWRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VM
b2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRlcjo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6ZGlkQ2FuY2VsQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmNhbkF1dGhlbnRpY2F0
ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
ZXI6OnJlY2VpdmVkQ2FuY2VsbGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjp1cmwpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmhhbmRsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6c2VuZFJlc291cmNlTG9hZENhbGxiYWNr
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6cmVhY2hlZFRlcm1pbmFsU3Rh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OnJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmNhbmNlbGxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRlcjo6ZGVmZXJzTG9hZGluZyk6CisKIDIwMTItMTAtMTYgIEp1bGllbiBD
aGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRm9sZCBzZXRDZWxs
TG9naWNhbFdpZHRocyBsb2dpYyBpbnRvIFJlbmRlclRhYmxlU2VjdGlvbiBsYXlvdXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaAppbmRleCAyNTAyN2ZkLi4wOTQw
NmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oCkBAIC00
Niw3OCArNDYsNzggQEAgT0JKQ19DTEFTUyBXZWJGaWx0ZXJFdmFsdWF0b3I7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEZvcm1TdGF0ZTsKLSAgICBjbGFzcyBSZXNvdXJjZVJl
cXVlc3Q7CitjbGFzcyBGb3JtU3RhdGU7CitjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLSAgICBj
bGFzcyBNYWluUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkZXIgewotICAgIHB1
YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8TWFpblJlc291cmNlTG9hZGVyPiBjcmVh
dGUoRnJhbWUqKTsKLSAgICAgICAgdmlydHVhbCB+TWFpblJlc291cmNlTG9hZGVyKCk7CitjbGFz
cyBNYWluUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkZXIgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1haW5SZXNvdXJjZUxvYWRlcj4gY3JlYXRlKEZyYW1lKik7
CisgICAgdmlydHVhbCB+TWFpblJlc291cmNlTG9hZGVyKCk7CiAKLSAgICAgICAgdm9pZCBsb2Fk
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJik7Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBhZGREYXRhKGNvbnN0IGNoYXIqLCBpbnQsIGJvb2wgYWxsQXRPbmNlKSBP
VkVSUklERTsKKyAgICB2b2lkIGxvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Vi
c3RpdHV0ZURhdGEmKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkRGF0YShjb25zdCBjaGFyKiwgaW50
LCBib29sIGFsbEF0T25jZSkgT1ZFUlJJREU7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHNldERl
ZmVyc0xvYWRpbmcoYm9vbCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNldERlZmVyc0xv
YWRpbmcoYm9vbCkgT1ZFUlJJREU7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxTZW5kUmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJl
c3BvbnNlKSBPVkVSUklERTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgT1ZFUlJJREU7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiwgaW50LCBsb25nIGxvbmcgZW5jb2RlZERhdGFM
ZW5ndGgsIGJvb2wgYWxsQXRPbmNlKSBPVkVSUklERTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRp
ZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpIE9WRVJSSURFOwotICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciosIGludCwgbG9uZyBsb25n
IGVuY29kZWREYXRhTGVuZ3RoLCBib29sIGFsbEF0T25jZSkgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpIE9WRVJSSURFOworICAg
IHZpcnR1YWwgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKSBPVkVSUklERTsKIAog
I2lmIEhBVkUoUlVOTE9PUF9USU1FUikKLSAgICAgICAgdHlwZWRlZiBSdW5Mb29wVGltZXI8TWFp
blJlc291cmNlTG9hZGVyPiBNYWluUmVzb3VyY2VMb2FkZXJUaW1lcjsKKyAgICB0eXBlZGVmIFJ1
bkxvb3BUaW1lcjxNYWluUmVzb3VyY2VMb2FkZXI+IE1haW5SZXNvdXJjZUxvYWRlclRpbWVyOwog
I2Vsc2UKLSAgICAgICAgdHlwZWRlZiBUaW1lcjxNYWluUmVzb3VyY2VMb2FkZXI+IE1haW5SZXNv
dXJjZUxvYWRlclRpbWVyOworICAgIHR5cGVkZWYgVGltZXI8TWFpblJlc291cmNlTG9hZGVyPiBN
YWluUmVzb3VyY2VMb2FkZXJUaW1lcjsKICNlbmRpZgogCi0gICAgICAgIGJvb2wgaXNMb2FkaW5n
TXVsdGlwYXJ0Q29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZGluZ011bHRpcGFydENvbnRl
bnQ7IH0KKyAgICBib29sIGlzTG9hZGluZ011bHRpcGFydENvbnRlbnQoKSBjb25zdCB7IHJldHVy
biBtX2xvYWRpbmdNdWx0aXBhcnRDb250ZW50OyB9CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9W
RVJSSURFOwogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgZXhwbGljaXQgTWFpblJlc291cmNlTG9h
ZGVyKEZyYW1lKik7Citwcml2YXRlOgorICAgIGV4cGxpY2l0IE1haW5SZXNvdXJjZUxvYWRlcihG
cmFtZSopOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2FuY2VsKGNvbnN0IFJlc291cmNl
RXJyb3ImKSBPVkVSUklERTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbChjb25zdCBS
ZXNvdXJjZUVycm9yJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxDYW5jZWwoY29u
c3QgUmVzb3VyY2VFcnJvciYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaWRDYW5jZWwo
Y29uc3QgUmVzb3VyY2VFcnJvciYpIE9WRVJSSURFOwogCi0gICAgICAgIGJvb2wgbG9hZE5vdyhS
ZXNvdXJjZVJlcXVlc3QmKTsKKyAgICBib29sIGxvYWROb3coUmVzb3VyY2VSZXF1ZXN0Jik7CiAK
LSAgICAgICAgdm9pZCBoYW5kbGVFbXB0eUxvYWQoY29uc3QgS1VSTCYsIGJvb2wgZm9yVVJMU2No
ZW1lKTsKLSAgICAgICAgdm9pZCBoYW5kbGVTdWJzdGl0dXRlRGF0YUxvYWRTb29uKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYpOwotICAgICAgICB2b2lkIGhhbmRsZVN1YnN0aXR1dGVEYXRhTG9hZE5v
dyhNYWluUmVzb3VyY2VMb2FkZXJUaW1lciopOworICAgIHZvaWQgaGFuZGxlRW1wdHlMb2FkKGNv
bnN0IEtVUkwmLCBib29sIGZvclVSTFNjaGVtZSk7CisgICAgdm9pZCBoYW5kbGVTdWJzdGl0dXRl
RGF0YUxvYWRTb29uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOworICAgIHZvaWQgaGFuZGxlU3Vi
c3RpdHV0ZURhdGFMb2FkTm93KE1haW5SZXNvdXJjZUxvYWRlclRpbWVyKik7CiAKLSAgICAgICAg
dm9pZCBzdGFydERhdGFMb2FkVGltZXIoKTsKKyAgICB2b2lkIHN0YXJ0RGF0YUxvYWRUaW1lcigp
OwogCi0gICAgICAgIHZvaWQgcmVjZWl2ZWRFcnJvcihjb25zdCBSZXNvdXJjZUVycm9yJik7Ci0g
ICAgICAgIFJlc291cmNlRXJyb3IgaW50ZXJydXB0ZWRGb3JQb2xpY3lDaGFuZ2VFcnJvcigpIGNv
bnN0OwotICAgICAgICB2b2lkIHN0b3BMb2FkaW5nRm9yUG9saWN5Q2hhbmdlKCk7Ci0gICAgICAg
IGJvb2wgaXNQb3N0T3JSZWRpcmVjdEFmdGVyUG9zdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5l
d1JlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOworICAg
IHZvaWQgcmVjZWl2ZWRFcnJvcihjb25zdCBSZXNvdXJjZUVycm9yJik7CisgICAgUmVzb3VyY2VF
cnJvciBpbnRlcnJ1cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKCkgY29uc3Q7CisgICAgdm9pZCBz
dG9wTG9hZGluZ0ZvclBvbGljeUNoYW5nZSgpOworICAgIGJvb2wgaXNQb3N0T3JSZWRpcmVjdEFm
dGVyUG9zdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwogCi0gICAgICAgIHN0YXRpYyB2b2lkIGNhbGxD
b250aW51ZUFmdGVyTmF2aWdhdGlvblBvbGljeSh2b2lkKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBib29sIHNob3VsZENvbnRpbnVlKTsKLSAgICAgICAg
dm9pZCBjb250aW51ZUFmdGVyTmF2aWdhdGlvblBvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBib29sIHNob3VsZENvbnRpbnVlKTsKKyAgICBzdGF0aWMgdm9pZCBjYWxsQ29udGludWVBZnRl
ck5hdmlnYXRpb25Qb2xpY3kodm9pZCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhc3NSZWZQ
dHI8Rm9ybVN0YXRlPiwgYm9vbCBzaG91bGRDb250aW51ZSk7CisgICAgdm9pZCBjb250aW51ZUFm
dGVyTmF2aWdhdGlvblBvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBib29sIHNob3VsZENv
bnRpbnVlKTsKIAotICAgICAgICBzdGF0aWMgdm9pZCBjYWxsQ29udGludWVBZnRlckNvbnRlbnRQ
b2xpY3kodm9pZCosIFBvbGljeUFjdGlvbik7Ci0gICAgICAgIHZvaWQgY29udGludWVBZnRlckNv
bnRlbnRQb2xpY3koUG9saWN5QWN0aW9uKTsKLSAgICAgICAgdm9pZCBjb250aW51ZUFmdGVyQ29u
dGVudFBvbGljeShQb2xpY3lBY3Rpb24sIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKLSAgICAg
ICAgCisgICAgc3RhdGljIHZvaWQgY2FsbENvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KHZvaWQq
LCBQb2xpY3lBY3Rpb24pOworICAgIHZvaWQgY29udGludWVBZnRlckNvbnRlbnRQb2xpY3koUG9s
aWN5QWN0aW9uKTsKKyAgICB2b2lkIGNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KFBvbGljeUFj
dGlvbiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOworICAgIAogI2lmIFBMQVRGT1JNKFFUKQot
ICAgICAgICB2b2lkIHN1YnN0aXR1dGVNSU1FVHlwZUZyb21QbHVnaW5EYXRhYmFzZShjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9pZCBzdWJzdGl0dXRlTUlNRVR5cGVGcm9tUGx1Z2lu
RGF0YWJhc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogI2VuZGlmCiAKLSAgICAgICAgUmVz
b3VyY2VSZXF1ZXN0IG1faW5pdGlhbFJlcXVlc3Q7Ci0gICAgICAgIFN1YnN0aXR1dGVEYXRhIG1f
c3Vic3RpdHV0ZURhdGE7CisgICAgUmVzb3VyY2VSZXF1ZXN0IG1faW5pdGlhbFJlcXVlc3Q7Cisg
ICAgU3Vic3RpdHV0ZURhdGEgbV9zdWJzdGl0dXRlRGF0YTsKIAotICAgICAgICBNYWluUmVzb3Vy
Y2VMb2FkZXJUaW1lciBtX2RhdGFMb2FkVGltZXI7CisgICAgTWFpblJlc291cmNlTG9hZGVyVGlt
ZXIgbV9kYXRhTG9hZFRpbWVyOwogCi0gICAgICAgIGJvb2wgbV9sb2FkaW5nTXVsdGlwYXJ0Q29u
dGVudDsKLSAgICAgICAgYm9vbCBtX3dhaXRpbmdGb3JDb250ZW50UG9saWN5OwotICAgICAgICBk
b3VibGUgbV90aW1lT2ZMYXN0RGF0YVJlY2VpdmVkOworICAgIGJvb2wgbV9sb2FkaW5nTXVsdGlw
YXJ0Q29udGVudDsKKyAgICBib29sIG1fd2FpdGluZ0ZvckNvbnRlbnRQb2xpY3k7CisgICAgZG91
YmxlIG1fdGltZU9mTGFzdERhdGFSZWNlaXZlZDsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBM
QVRGT1JNKElPUykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDgwCi0g
ICAgICAgIFdlYkZpbHRlckV2YWx1YXRvciAqbV9maWx0ZXI7CisgICAgV2ViRmlsdGVyRXZhbHVh
dG9yICptX2ZpbHRlcjsKICNlbmRpZgotICAgIH07Cit9OwogCiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmgKaW5kZXggZDFmMGE3
NS4uYjczMjFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyLmgKQEAgLTM0LDQyICszNCw0MiBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLSAgICBjbGFzcyBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcjsKK2NsYXNzIE5ldHNj
YXBlUGx1Z0luU3RyZWFtTG9hZGVyOwogCi0gICAgY2xhc3MgTmV0c2NhcGVQbHVnSW5TdHJlYW1M
b2FkZXJDbGllbnQgewotICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVSZXNwb25zZShOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlciosIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShOZXRzY2Fw
ZVBsdWdJblN0cmVhbUxvYWRlciosIGNvbnN0IGNoYXIqLCBpbnQpID0gMDsKLSAgICAgICAgdmly
dHVhbCB2b2lkIGRpZEZhaWwoTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIqLCBjb25zdCBSZXNv
dXJjZUVycm9yJikgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhO
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlciopIHsgfQotICAgICAgICB2aXJ0dWFsIGJvb2wgd2Fu
dHNBbGxTdHJlYW1zKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KK2NsYXNzIE5ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZVJlc3BvbnNlKE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoTmV0c2NhcGVQ
bHVnSW5TdHJlYW1Mb2FkZXIqLCBjb25zdCBjaGFyKiwgaW50KSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIGRpZEZhaWwoTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIqLCBjb25zdCBSZXNvdXJjZUVy
cm9yJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKE5ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyKikgeyB9CisgICAgdmlydHVhbCBib29sIHdhbnRzQWxsU3RyZWFtcygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1
YWwgfk5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyQ2xpZW50KCkgeyB9Ci0gICAgfTsKK3Byb3Rl
Y3RlZDoKKyAgICB2aXJ0dWFsIH5OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlckNsaWVudCgpIHsg
fQorfTsKIAotICAgIGNsYXNzIE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyIDogcHVibGljIFJl
c291cmNlTG9hZGVyIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5l
dHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyPiBjcmVhdGUoRnJhbWUqLCBOZXRzY2FwZVBsdWdJblN0
cmVhbUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOwotICAgICAgICB2aXJ0
dWFsIH5OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcigpOworY2xhc3MgTmV0c2NhcGVQbHVnSW5T
dHJlYW1Mb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VMb2FkZXIgeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyPiBjcmVhdGUoRnJhbWUqLCBO
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYp
OworICAgIHZpcnR1YWwgfk5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyKCk7CiAKLSAgICAgICAg
Ym9vbCBpc0RvbmUoKSBjb25zdDsKKyAgICBib29sIGlzRG9uZSgpIGNvbnN0OwogCi0gICAgcHJp
dmF0ZToKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25z
dCBjaGFyKiwgaW50LCBsb25nIGxvbmcgZW5jb2RlZERhdGFMZW5ndGgsIGJvb2wgYWxsQXRPbmNl
KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRp
bWUpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJik7
Citwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYpOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBj
aGFyKiwgaW50LCBsb25nIGxvbmcgZW5jb2RlZERhdGFMZW5ndGgsIGJvb2wgYWxsQXRPbmNlKTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSk7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpOwogCi0gICAgICAg
IHZpcnR1YWwgdm9pZCByZWxlYXNlUmVzb3VyY2VzKCk7CisgICAgdmlydHVhbCB2b2lkIHJlbGVh
c2VSZXNvdXJjZXMoKTsKIAotICAgICAgICBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcihGcmFt
ZSosIE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyQ2xpZW50Kik7CisgICAgTmV0c2NhcGVQbHVn
SW5TdHJlYW1Mb2FkZXIoRnJhbWUqLCBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlckNsaWVudCop
OwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2FuY2VsKGNvbnN0IFJlc291cmNlRXJyb3Im
KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbChjb25zdCBSZXNvdXJjZUVycm9yJik7
CisgICAgdmlydHVhbCB2b2lkIHdpbGxDYW5jZWwoY29uc3QgUmVzb3VyY2VFcnJvciYpOworICAg
IHZpcnR1YWwgdm9pZCBkaWRDYW5jZWwoY29uc3QgUmVzb3VyY2VFcnJvciYpOwogCi0gICAgICAg
IE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyQ2xpZW50KiBtX2NsaWVudDsKLSAgICB9OworICAg
IE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyQ2xpZW50KiBtX2NsaWVudDsKK307CiAKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAppbmRleCAyOTYxNmE5Li43ZWVlMjBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaApAQCAtMzksMTUzICszOSwx
NTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgQXV0aGVudGljYXRpb25D
aGFsbGVuZ2U7Ci0gICAgY2xhc3MgRG9jdW1lbnRMb2FkZXI7Ci0gICAgY2xhc3MgRnJhbWU7Ci0g
ICAgY2xhc3MgRnJhbWVMb2FkZXI7Ci0gICAgY2xhc3MgS1VSTDsKLSAgICBjbGFzcyBSZXNvdXJj
ZUJ1ZmZlcjsKLSAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKK2NsYXNzIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOworY2xhc3MgRG9jdW1lbnRMb2FkZXI7CitjbGFzcyBGcmFtZTsKK2NsYXNzIEZy
YW1lTG9hZGVyOworY2xhc3MgS1VSTDsKK2NsYXNzIFJlc291cmNlQnVmZmVyOworY2xhc3MgUmVz
b3VyY2VIYW5kbGU7CisKK2NsYXNzIFJlc291cmNlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
UmVzb3VyY2VMb2FkZXI+LCBwcm90ZWN0ZWQgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworcHVibGlj
OgorICAgIHZpcnR1YWwgflJlc291cmNlTG9hZGVyKCk7CisKKyAgICB2b2lkIGNhbmNlbCgpOwor
CisgICAgdmlydHVhbCBib29sIGluaXQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7CisKKyAgICBG
cmFtZUxvYWRlciogZnJhbWVMb2FkZXIoKSBjb25zdDsKKyAgICBEb2N1bWVudExvYWRlciogZG9j
dW1lbnRMb2FkZXIoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50TG9hZGVyLmdldCgpOyB9Cisg
ICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QoKSBjb25zdCB7IHJldHVy
biBtX29yaWdpbmFsUmVxdWVzdDsgfQorICAgIAorICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoY29u
c3QgUmVzb3VyY2VFcnJvciYpOworICAgIFJlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJyb3IoKTsK
KyAgICBSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJvcigpOworICAgIFJlc291cmNlRXJyb3IgY2Fu
bm90U2hvd1VSTEVycm9yKCk7CiAgICAgCi0gICAgY2xhc3MgUmVzb3VyY2VMb2FkZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxSZXNvdXJjZUxvYWRlcj4sIHByb3RlY3RlZCBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7Ci0gICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5SZXNvdXJjZUxvYWRlcigpOwot
Ci0gICAgICAgIHZvaWQgY2FuY2VsKCk7Ci0KLSAgICAgICAgdmlydHVhbCBib29sIGluaXQoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0Jik7Ci0KLSAgICAgICAgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVy
KCkgY29uc3Q7Ci0gICAgICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlcigpIGNvbnN0
IHsgcmV0dXJuIG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCk7IH0KLSAgICAgICAgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX29yaWdpbmFsUmVx
dWVzdDsgfQotICAgICAgICAKLSAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbChjb25zdCBSZXNv
dXJjZUVycm9yJik7Ci0gICAgICAgIFJlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJyb3IoKTsKLSAg
ICAgICAgUmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoKTsKLSAgICAgICAgUmVzb3VyY2VFcnJv
ciBjYW5ub3RTaG93VVJMRXJyb3IoKTsKLSAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgdm9pZCBz
ZXREZWZlcnNMb2FkaW5nKGJvb2wpOwotCi0gICAgICAgIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQotCi0gICAgICAgIHZpcnR1YWwgdm9p
ZCByZWxlYXNlUmVzb3VyY2VzKCk7Ci0gICAgICAgIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKCkgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCB2b2lkIGFkZERhdGEoY29uc3QgY2hh
ciosIGludCwgYm9vbCBhbGxBdE9uY2UpOwotICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UmVz
b3VyY2VCdWZmZXI+IHJlc291cmNlRGF0YSgpOwotICAgICAgICB2b2lkIGNsZWFyUmVzb3VyY2VE
YXRhKCk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1N1YnJlc291cmNlTG9hZGVyKCk7Ci0gICAg
ICAgIAotICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5z
aWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciosIGludCwgbG9uZyBsb25nIGVu
Y29kZWREYXRhTGVuZ3RoLCBib29sIGFsbEF0T25jZSk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlQ2FjaGVkTWV0YWRhdGEoY29uc3QgY2hhciosIGludCkgeyB9Ci0gICAgICAgIHZv
aWQgd2lsbFN0b3BCdWZmZXJpbmdEYXRhKGNvbnN0IGNoYXIqLCBpbnQpOwotICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSk7Ci0gICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKKyAgICB2aXJ0dWFsIHZv
aWQgc2V0RGVmZXJzTG9hZGluZyhib29sKTsKKworICAgIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorCisgICAgdmlydHVhbCB2b2lkIHJl
bGVhc2VSZXNvdXJjZXMoKTsKKyAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSgp
IGNvbnN0OworCisgICAgdmlydHVhbCB2b2lkIGFkZERhdGEoY29uc3QgY2hhciosIGludCwgYm9v
bCBhbGxBdE9uY2UpOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gcmVz
b3VyY2VEYXRhKCk7CisgICAgdm9pZCBjbGVhclJlc291cmNlRGF0YSgpOworICAgIHZpcnR1YWwg
Ym9vbCBpc1N1YnJlc291cmNlTG9hZGVyKCk7CisgICAgCisgICAgdmlydHVhbCB2b2lkIHdpbGxT
ZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRp
cmVjdFJlc3BvbnNlKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9u
ZyBsb25nIGJ5dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCk7
CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJik7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqLCBpbnQs
IGxvbmcgbG9uZyBlbmNvZGVkRGF0YUxlbmd0aCwgYm9vbCBhbGxBdE9uY2UpOworICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlQ2FjaGVkTWV0YWRhdGEoY29uc3QgY2hhciosIGludCkgeyB9Cisg
ICAgdm9pZCB3aWxsU3RvcEJ1ZmZlcmluZ0RhdGEoY29uc3QgY2hhciosIGludCk7CisgICAgdmly
dHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpOworICAgIHZpcnR1
YWwgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICNpZiBIQVZFKE5FVFdPUktf
Q0ZEQVRBX0FSUkFZX0NBTExCQUNLKQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURh
dGFBcnJheShDRkFycmF5UmVmIGRhdGFBcnJheSk7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVEYXRhQXJyYXkoQ0ZBcnJheVJlZiBkYXRhQXJyYXkpOwogI2VuZGlmCiAKLSAgICAgICAgdmly
dHVhbCBib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKCk7Ci0gICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UmKTsKLSAgICAgICAgdm9pZCBkaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOworICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSgpOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsK
KyAgICB2b2lkIGRpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJik7CiAjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFD
SykKLSAgICAgICAgdmlydHVhbCBib29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9u
U3BhY2UoY29uc3QgUHJvdGVjdGlvblNwYWNlJik7CisgICAgdmlydHVhbCBib29sIGNhbkF1dGhl
bnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoY29uc3QgUHJvdGVjdGlvblNwYWNlJik7CiAj
ZW5kaWYKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkQ2FuY2VsbGF0aW9uKGNvbnN0IEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7Ci0KLSAgICAgICAgLy8gUmVzb3VyY2VIYW5kbGVDbGll
bnQKLSAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZUhhbmRsZSos
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9u
c2UpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEoUmVzb3VyY2VIYW5kbGUqLCB1
bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRl
c1RvQmVTZW50KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNv
dXJjZUhhbmRsZSosIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKLSAgICAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVEYXRhKFJlc291cmNlSGFuZGxlKiwgY29uc3QgY2hhciosIGludCwgaW50
IGVuY29kZWREYXRhTGVuZ3RoKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVDYWNo
ZWRNZXRhZGF0YShSZXNvdXJjZUhhbmRsZSosIGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgp
IHsgZGlkUmVjZWl2ZUNhY2hlZE1ldGFkYXRhKGRhdGEsIGxlbmd0aCk7IH0KLSAgICAgICAgdmly
dHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqLCBkb3VibGUgZmluaXNo
VGltZSk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKFJlc291cmNlSGFuZGxlKiwgY29u
c3QgUmVzb3VyY2VFcnJvciYpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgd2FzQmxvY2tlZChSZXNv
dXJjZUhhbmRsZSopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY2Fubm90U2hvd1VSTChSZXNvdXJj
ZUhhbmRsZSopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFN0b3BCdWZmZXJpbmdEYXRhKFJl
c291cmNlSGFuZGxlKiwgY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkgeyB3aWxsU3RvcEJ1
ZmZlcmluZ0RhdGEoZGF0YSwgbGVuZ3RoKTsgfSAKLSAgICAgICAgdmlydHVhbCBib29sIHNob3Vs
ZFVzZUNyZWRlbnRpYWxTdG9yYWdlKFJlc291cmNlSGFuZGxlKikgeyByZXR1cm4gc2hvdWxkVXNl
Q3JlZGVudGlhbFN0b3JhZ2UoKTsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFJlc291cmNlSGFuZGxlKiwgY29uc3QgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UmIGNoYWxsZW5nZSkgeyBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoY2hhbGxlbmdlKTsgfSAKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKFJlc291cmNlSGFuZGxlKiwgY29uc3QgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UmIGNoYWxsZW5nZSkgeyBkaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjaGFs
bGVuZ2UpOyB9IAorICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZENhbmNlbGxhdGlvbihjb25zdCBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOworCisgICAgLy8gUmVzb3VyY2VIYW5kbGVDbGllbnQK
KyAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwgUmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKFJlc291cmNlSGFuZGxlKiwgdW5zaWduZWQgbG9u
ZyBsb25nIGJ5dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCk7
CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSosIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEo
UmVzb3VyY2VIYW5kbGUqLCBjb25zdCBjaGFyKiwgaW50LCBpbnQgZW5jb2RlZERhdGFMZW5ndGgp
OworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQ2FjaGVkTWV0YWRhdGEoUmVzb3VyY2VIYW5k
bGUqLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKSB7IGRpZFJlY2VpdmVDYWNoZWRNZXRh
ZGF0YShkYXRhLCBsZW5ndGgpOyB9CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmco
UmVzb3VyY2VIYW5kbGUqLCBkb3VibGUgZmluaXNoVGltZSk7CisgICAgdmlydHVhbCB2b2lkIGRp
ZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CisgICAgdmlydHVh
bCB2b2lkIHdhc0Jsb2NrZWQoUmVzb3VyY2VIYW5kbGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2Fu
bm90U2hvd1VSTChSZXNvdXJjZUhhbmRsZSopOworICAgIHZpcnR1YWwgdm9pZCB3aWxsU3RvcEJ1
ZmZlcmluZ0RhdGEoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3Ro
KSB7IHdpbGxTdG9wQnVmZmVyaW5nRGF0YShkYXRhLCBsZW5ndGgpOyB9IAorICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShSZXNvdXJjZUhhbmRsZSopIHsgcmV0dXJu
IHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFJlc291cmNlSGFuZGxlKiwgY29uc3QgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5nZSkgeyBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UoY2hhbGxlbmdlKTsgfSAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FuY2VsQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYgY2hhbGxlbmdlKSB7IGRpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNo
YWxsZW5nZSk7IH0gCiAjaWYgSEFWRShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKLSAg
ICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhQXJyYXkoUmVzb3VyY2VIYW5kbGUqLCBD
RkFycmF5UmVmIGRhdGFBcnJheSk7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhQXJy
YXkoUmVzb3VyY2VIYW5kbGUqLCBDRkFycmF5UmVmIGRhdGFBcnJheSk7CiAjZW5kaWYKICNpZiBV
U0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQotICAgICAgICB2aXJ0dWFsIGJvb2wg
Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShSZXNvdXJjZUhhbmRsZSosIGNv
bnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKSB7IHJldHVybiBjYW5BdXRoZW50
aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKHByb3RlY3Rpb25TcGFjZSk7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShSZXNvdXJjZUhh
bmRsZSosIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKSB7IHJldHVybiBj
YW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKHByb3RlY3Rpb25TcGFjZSk7IH0K
ICNlbmRpZgotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRDYW5jZWxsYXRpb24oUmVzb3Vy
Y2VIYW5kbGUqLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlKSB7IHJl
Y2VpdmVkQ2FuY2VsbGF0aW9uKGNoYWxsZW5nZSk7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIHdp
bGxDYWNoZVJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiwgQ2FjaGVTdG9yYWdlUG9saWN5Jik7Cisg
ICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkQ2FuY2VsbGF0aW9uKFJlc291cmNlSGFuZGxlKiwgY29u
c3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5nZSkgeyByZWNlaXZlZENhbmNlbGxh
dGlvbihjaGFsbGVuZ2UpOyB9CisgICAgdmlydHVhbCB2b2lkIHdpbGxDYWNoZVJlc3BvbnNlKFJl
c291cmNlSGFuZGxlKiwgQ2FjaGVTdG9yYWdlUG9saWN5Jik7CiAjaWYgUExBVEZPUk0oTUFDKQog
I2lmIFVTRShDRk5FVFdPUkspCi0gICAgICAgIHZpcnR1YWwgQ0ZDYWNoZWRVUkxSZXNwb25zZVJl
ZiB3aWxsQ2FjaGVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSosIENGQ2FjaGVkVVJMUmVzcG9uc2VS
ZWYpOworICAgIHZpcnR1YWwgQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZiB3aWxsQ2FjaGVSZXNwb25z
ZShSZXNvdXJjZUhhbmRsZSosIENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogI2Vsc2UKLSAgICAg
ICAgdmlydHVhbCBOU0NhY2hlZFVSTFJlc3BvbnNlKiB3aWxsQ2FjaGVSZXNwb25zZShSZXNvdXJj
ZUhhbmRsZSosIE5TQ2FjaGVkVVJMUmVzcG9uc2UqKTsKKyAgICB2aXJ0dWFsIE5TQ2FjaGVkVVJM
UmVzcG9uc2UqIHdpbGxDYWNoZVJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiwgTlNDYWNoZWRVUkxS
ZXNwb25zZSopOwogI2VuZGlmCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogI2lmIFBMQVRGT1JN
KFdJTikgJiYgVVNFKENGTkVUV09SSykKLSAgICAgICAgLy8gRklYTUU6IFdpbmRvd3Mgc2hvdWxk
IHVzZSB3aWxsQ2FjaGVSZXNwb25zZSAtIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTcyNTc+LgotICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkQ2FjaGVSZXNwb25z
ZShSZXNvdXJjZUhhbmRsZSosIENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOworICAgIC8vIEZJWE1F
OiBXaW5kb3dzIHNob3VsZCB1c2Ugd2lsbENhY2hlUmVzcG9uc2UgLSA8aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MjU3Pi4KKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
Q2FjaGVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSosIENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwog
I2VuZGlmCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRE
b3dubG9hZERhdGEoUmVzb3VyY2VIYW5kbGUqLCBpbnQpOwotICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkRG93bmxvYWREYXRhKGludCk7CisgICAgdmlydHVhbCB2b2lkIGRpZERvd25sb2FkRGF0YShS
ZXNvdXJjZUhhbmRsZSosIGludCk7CisgICAgdmlydHVhbCB2b2lkIGRpZERvd25sb2FkRGF0YShp
bnQpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEJMT0IpCi0gICAgICAgIHZpcnR1YWwgQXN5bmNGaWxl
U3RyZWFtKiBjcmVhdGVBc3luY0ZpbGVTdHJlYW0oRmlsZVN0cmVhbUNsaWVudCopOworICAgIHZp
cnR1YWwgQXN5bmNGaWxlU3RyZWFtKiBjcmVhdGVBc3luY0ZpbGVTdHJlYW0oRmlsZVN0cmVhbUNs
aWVudCopOwogI2VuZGlmCiAKLSAgICAgICAgY29uc3QgS1VSTCYgdXJsKCkgY29uc3QgeyByZXR1
cm4gbV9yZXF1ZXN0LnVybCgpOyB9IAotICAgICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlKCkg
Y29uc3QgeyByZXR1cm4gbV9oYW5kbGUuZ2V0KCk7IH0KLSAgICAgICAgYm9vbCBzZW5kUmVzb3Vy
Y2VMb2FkQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9vcHRpb25zLnNlbmRMb2FkQ2FsbGJh
Y2tzID09IFNlbmRDYWxsYmFja3M7IH0KLQotICAgICAgICBib29sIHJlYWNoZWRUZXJtaW5hbFN0
YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZWFjaGVkVGVybWluYWxTdGF0ZTsgfQotCi0gICAgICAg
IHZvaWQgc2V0U2hvdWxkQnVmZmVyRGF0YShEYXRhQnVmZmVyaW5nUG9saWN5KTsKLQotICAgICAg
ICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0
OwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBSZXNvdXJjZUxvYWRlcihGcmFtZSosIFJlc291
cmNlTG9hZGVyT3B0aW9ucyk7Ci0KLSAgICAgICAgZnJpZW5kIGNsYXNzIEFwcGxpY2F0aW9uQ2Fj
aGVIb3N0OyAgLy8gZm9yIGFjY2VzcyB0byByZXF1ZXN0KCkKLSAgICAgICAgZnJpZW5kIGNsYXNz
IFJlc291cmNlTG9hZFNjaGVkdWxlcjsgLy8gZm9yIGFjY2VzcyB0byBzdGFydCgpCi0gICAgICAg
IC8vIHN0YXJ0KCkgYWN0dWFsbHkgc2VuZHMgdGhlIGxvYWQgdG8gdGhlIG5ldHdvcmsgKHVubGVz
cyB0aGUgbG9hZCBpcyBiZWluZyAKLSAgICAgICAgLy8gZGVmZXJyZWQpIGFuZCBzaG91bGQgb25s
eSBiZSBjYWxsZWQgYnkgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIG9yIHNldERlZmVyc0xvYWRpbmco
KS4KLSAgICAgICAgdm9pZCBzdGFydCgpOwotICAgICAgICAKLSAgICAgICAgdm9pZCBkaWRGaW5p
c2hMb2FkaW5nT25lUGFydChkb3VibGUgZmluaXNoVGltZSk7Ci0KLSAgICAgICAgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0OyB9Ci0gICAg
ICAgIGJvb2wgY2FuY2VsbGVkKCkgY29uc3QgeyByZXR1cm4gbV9jYW5jZWxsZWQ7IH0KLSAgICAg
ICAgYm9vbCBkZWZlcnNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gbV9kZWZlcnNMb2FkaW5nOyB9
Ci0KLSAgICAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBtX2hhbmRsZTsKLSAgICAgICAgUmVm
UHRyPEZyYW1lPiBtX2ZyYW1lOwotICAgICAgICBSZWZQdHI8RG9jdW1lbnRMb2FkZXI+IG1fZG9j
dW1lbnRMb2FkZXI7Ci0gICAgICAgIFJlc291cmNlUmVzcG9uc2UgbV9yZXNwb25zZTsKLSAgICAg
ICAgCi0gICAgcHJpdmF0ZToKLSAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxDYW5jZWwoY29uc3Qg
UmVzb3VyY2VFcnJvciYpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbChjb25z
dCBSZXNvdXJjZUVycm9yJikgPSAwOwotCi0gICAgICAgIFJlc291cmNlUmVxdWVzdCBtX3JlcXVl
c3Q7Ci0gICAgICAgIFJlc291cmNlUmVxdWVzdCBtX29yaWdpbmFsUmVxdWVzdDsgLy8gQmVmb3Jl
IHJlZGlyZWN0cy4KLSAgICAgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBtX3Jlc291cmNlRGF0
YTsKLSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGxvbmcgbV9pZGVudGlmaWVyOwotCi0gICAg
ICAgIGJvb2wgbV9yZWFjaGVkVGVybWluYWxTdGF0ZTsKLSAgICAgICAgYm9vbCBtX2NhbGxlZFdp
bGxDYW5jZWw7Ci0gICAgICAgIGJvb2wgbV9jYW5jZWxsZWQ7Ci0gICAgICAgIGJvb2wgbV9ub3Rp
ZmllZExvYWRDb21wbGV0ZTsKLQotICAgICAgICBib29sIG1fZGVmZXJzTG9hZGluZzsKLSAgICAg
ICAgUmVzb3VyY2VSZXF1ZXN0IG1fZGVmZXJyZWRSZXF1ZXN0OwotICAgICAgICBSZXNvdXJjZUxv
YWRlck9wdGlvbnMgbV9vcHRpb25zOwotICAgIH07CisgICAgY29uc3QgS1VSTCYgdXJsKCkgY29u
c3QgeyByZXR1cm4gbV9yZXF1ZXN0LnVybCgpOyB9IAorICAgIFJlc291cmNlSGFuZGxlKiBoYW5k
bGUoKSBjb25zdCB7IHJldHVybiBtX2hhbmRsZS5nZXQoKTsgfQorICAgIGJvb2wgc2VuZFJlc291
cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucy5zZW5kTG9hZENhbGxi
YWNrcyA9PSBTZW5kQ2FsbGJhY2tzOyB9CisKKyAgICBib29sIHJlYWNoZWRUZXJtaW5hbFN0YXRl
KCkgY29uc3QgeyByZXR1cm4gbV9yZWFjaGVkVGVybWluYWxTdGF0ZTsgfQorCisgICAgdm9pZCBz
ZXRTaG91bGRCdWZmZXJEYXRhKERhdGFCdWZmZXJpbmdQb2xpY3kpOworCisgICAgdmlydHVhbCB2
b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKworcHJvdGVj
dGVkOgorICAgIFJlc291cmNlTG9hZGVyKEZyYW1lKiwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKTsK
KworICAgIGZyaWVuZCBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdDsgIC8vIGZvciBhY2Nlc3Mg
dG8gcmVxdWVzdCgpCisgICAgZnJpZW5kIGNsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlcjsgLy8g
Zm9yIGFjY2VzcyB0byBzdGFydCgpCisgICAgLy8gc3RhcnQoKSBhY3R1YWxseSBzZW5kcyB0aGUg
bG9hZCB0byB0aGUgbmV0d29yayAodW5sZXNzIHRoZSBsb2FkIGlzIGJlaW5nIAorICAgIC8vIGRl
ZmVycmVkKSBhbmQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGJ5IFJlc291cmNlTG9hZFNjaGVkdWxl
ciBvciBzZXREZWZlcnNMb2FkaW5nKCkuCisgICAgdm9pZCBzdGFydCgpOworICAgIAorICAgIHZv
aWQgZGlkRmluaXNoTG9hZGluZ09uZVBhcnQoZG91YmxlIGZpbmlzaFRpbWUpOworCisgICAgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0OyB9
CisgICAgYm9vbCBjYW5jZWxsZWQoKSBjb25zdCB7IHJldHVybiBtX2NhbmNlbGxlZDsgfQorICAg
IGJvb2wgZGVmZXJzTG9hZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fZGVmZXJzTG9hZGluZzsgfQor
CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBtX2hhbmRsZTsKKyAgICBSZWZQdHI8RnJhbWU+
IG1fZnJhbWU7CisgICAgUmVmUHRyPERvY3VtZW50TG9hZGVyPiBtX2RvY3VtZW50TG9hZGVyOwor
ICAgIFJlc291cmNlUmVzcG9uc2UgbV9yZXNwb25zZTsKKyAgICAKK3ByaXZhdGU6CisgICAgdmly
dHVhbCB2b2lkIHdpbGxDYW5jZWwoY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2FuY2VsKGNvbnN0IFJlc291cmNlRXJyb3ImKSA9IDA7CisKKyAgICBSZXNv
dXJjZVJlcXVlc3QgbV9yZXF1ZXN0OworICAgIFJlc291cmNlUmVxdWVzdCBtX29yaWdpbmFsUmVx
dWVzdDsgLy8gQmVmb3JlIHJlZGlyZWN0cy4KKyAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1f
cmVzb3VyY2VEYXRhOworICAgIAorICAgIHVuc2lnbmVkIGxvbmcgbV9pZGVudGlmaWVyOworCisg
ICAgYm9vbCBtX3JlYWNoZWRUZXJtaW5hbFN0YXRlOworICAgIGJvb2wgbV9jYWxsZWRXaWxsQ2Fu
Y2VsOworICAgIGJvb2wgbV9jYW5jZWxsZWQ7CisgICAgYm9vbCBtX25vdGlmaWVkTG9hZENvbXBs
ZXRlOworCisgICAgYm9vbCBtX2RlZmVyc0xvYWRpbmc7CisgICAgUmVzb3VyY2VSZXF1ZXN0IG1f
ZGVmZXJyZWRSZXF1ZXN0OworICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucyBtX29wdGlvbnM7Cit9
OwogCiBpbmxpbmUgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgUmVzb3VyY2VMb2FkZXI6OnJlc3Bv
bnNlKCkgY29uc3QKIHsK
</data>
<flag name="review"
          id="182136"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>