<?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>161771</bug_id>
          
          <creation_ts>2016-09-08 16:56:13 -0700</creation_ts>
          <short_desc>Enhance Network logging</short_desc>
          <delta_ts>2016-09-12 12:01: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>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1227944</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-08 16:56:13 -0700</bug_when>
    <thetext>The initial logging used to track progress through the resource-downloading operation is a bit scattered. It would be better for it to conform to some sort of standard. By doing this, the logging can be more easily tracked and parsed (possibly by tools that try to extract important information from the logging. 

Change the logging to generally follow the format:

&lt;this&gt; - &lt;class&gt;::&lt;method&gt;: &lt;message&gt; (&lt;data&gt;)

&lt;this&gt;: Helps track activity for one particular instances, such as the downloading of one particular resource.
&lt;class&gt;::&lt;method&gt;: Helps identify what stage of the operation we are in.
&lt;message&gt;: Some arbitrary message, useful if a single method logs multiple times. Optional.
&lt;data&gt;: Handy data to help us understand what&apos;s going on. Optional.

For example:

0x110bf5000 - WebLoaderStrategy::scheduleLoad: Resource will be scheduled with the NetworkProcess (priority = 2, pageID = 6, frameID = 1, WebResourceLoader = 0x113858288)

0x113858288 - WebResourceLoader::didReceiveData: (size = 16384)

0x113858288 - WebResourceLoader::didFinishResourceLoad</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228224</commentid>
    <comment_count>1</comment_count>
      <attachid>288415</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-09 11:00:33 -0700</bug_when>
    <thetext>Created attachment 288415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228835</commentid>
    <comment_count>2</comment_count>
      <attachid>288415</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 12:01:37 -0700</bug_when>
    <thetext>Comment on attachment 288415
Patch

Clearing flags on attachment: 288415

Committed r205817: &lt;http://trac.webkit.org/changeset/205817&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228836</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 12:01:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288415</attachid>
            <date>2016-09-09 11:00:33 -0700</date>
            <delta_ts>2016-09-12 12:01:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161771-20160909105805.patch</filename>
            <type>text/plain</type>
            <size>23088</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZjMzlkODZiOGFmOTg1
MWVhYzkxZDgxMmQxMWM0NDQyZDc0MGMzMi4uZjE0NWE3NTQzYjliOTc0OTdhOGZjYWJlODM4MmJi
MWQxMWUwMDNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTA5LTA4ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBFbmhhbmNlIE5ldHdvcmsg
bG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYxNzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TW9kaWZ5IGN1cnJlbnQgbG9nZ2luZyBzdGF0ZW1lbnRzIHRvIGZvbGxvdyBhIGNvbnNpc3RlbnQg
cGF0dGVybiBpbgorICAgICAgICBvcmRlciB0byBlbmhhbmNlIHJlYWRhYmlsaXR5IGFuZCBwYXJz
aW5nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAtLSB0aGVyZSBhcmUgbm8gdGVzdHMgZm9yIGxv
Z2dpbmcuCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXI6OnByZXBhcmVGb3JMb2FkU3RhcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OmNoZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lKToKKwogMjAxNi0w
OS0wOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVSTFBhcnNlciBzaG91bGQgcGFyc2UgVVJMcyB3aXRoIGEgdXNlciBidXQgbm8gcGFzc3dv
cmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAzODFlYWM2NjJjZTk5MDgzNjQ4ZDUxMjFjMzUxNDdiOTViYjViOTBh
Li4wNGM5ZTk3NmY0YjZiZDYyOGI4YTI5ZmY3NjNmYzMzZDZkMDg5NmNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTYtMDktMDggIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIEVuaGFuY2UgTmV0d29yayBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE3NzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb2RpZnkgY3VycmVudCBsb2dnaW5nIHN0
YXRlbWVudHMgdG8gZm9sbG93IGEgY29uc2lzdGVudCBwYXR0ZXJuIGluCisgICAgICAgIG9yZGVy
IHRvIGVuaGFuY2UgcmVhZGFiaWxpdHkgYW5kIHBhcnNpbmcuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9h
ZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OmRpZFJl
Y2VpdmVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OmRpZEZpbmlzaCk6CisgICAg
ICAgIChXZWJLaXQ6OkRvd25sb2FkOjpkaWRGYWlsKToKKyAgICAgICAgKFdlYktpdDo6RG93bmxv
YWQ6OmRpZENhbmNlbCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFy
dE5ldHdvcmtMb2FkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVy
OjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29y
ay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0
ZWd5OjpzY2hlZHVsZUxvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjp3aWxs
U2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJl
Y2VpdmVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlz
aFJlc291cmNlTG9hZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpkaWRG
YWlsUmVzb3VyY2VMb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRp
ZFJlY2VpdmVSZXNvdXJjZSk6CisKIDIwMTYtMDktMDggIFphbiBEb2JlcnNlayAgPHpkb2JlcnNl
a0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE1vdmUgd2Via2l0Mmd0ay5wYy5pbiwgd2Via2l0Mmd0
ay13ZWItZXh0ZW5zaW9uLnBjLmluIGZpbGVzIHVuZGVyIFNvdXJjZS9XZWJLaXQyL2d0ay8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGU1NDc5MzhlOGQ0MjNkOTk0ZTg0
ODc1MTY5M2VkNjY5NDNmZGRhYmYuLmJhMDg2YWZmZDBjZGZjODdkNTBlYWIyMGE4MzhkNjFmNDZk
NTg2NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTQxLDcgKzE0
MSw3IEBACiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKICNlbmRpZgogCi0jZGVm
aW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09u
TG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywgX19WQV9BUkdTX18pCisjZGVmaW5lIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5n
QWxsb3dlZCgpLCBOZXR3b3JrLCAiJXAgLSBGcmFtZUxvYWRlcjo6IiBmbXQsIHRoaXMsICMjX19W
QV9BUkdTX18pCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTA5OCw3ICsxMDk4LDcgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6c3RhcnRlZCgpCiAKIHZvaWQgRnJhbWVMb2FkZXI6OnByZXBhcmVG
b3JMb2FkU3RhcnQoKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIlN0YXJ0aW5nIGZy
YW1lIGxvYWQsIGZyYW1lID0gJXAsIG1haW4gPSAlZCIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFp
bkZyYW1lKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInByZXBhcmVGb3JMb2FkU3Rh
cnQ6IFN0YXJ0aW5nIGZyYW1lIGxvYWQgKGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFt
ZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpKTsKIAogICAgIG1fcHJvZ3Jlc3NUcmFja2VyLT5wcm9n
cmVzc1N0YXJ0ZWQoKTsKICAgICBtX2NsaWVudC5kaXNwYXRjaERpZFN0YXJ0UHJvdmlzaW9uYWxM
b2FkKCk7CkBAIC0yMzAzLDExICsyMzAzLDExIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoZWNrTG9h
ZENvbXBsZXRlRm9yVGhpc0ZyYW1lKCkKIAogICAgICAgICAgICAgQVhPYmplY3RDYWNoZTo6QVhM
b2FkaW5nRXZlbnQgbG9hZGluZ0V2ZW50OwogICAgICAgICAgICAgaWYgKCFlcnJvci5pc051bGwo
KSkgewotICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIkZpbmlzaGVkIGZy
YW1lIGxvYWQgd2l0aCBlcnJvciwgZnJhbWUgPSAlcCwgbWFpbiA9ICVkLCBpc1RpbWVvdXQgPSAl
ZCwgaXNDYW5jZWxsYXRpb24gPSAlZCwgZXJyb3JDb2RlID0gJWQiLCAmbV9mcmFtZSwgbV9mcmFt
ZS5pc01haW5GcmFtZSgpLCBlcnJvci5pc1RpbWVvdXQoKSwgZXJyb3IuaXNDYW5jZWxsYXRpb24o
KSwgZXJyb3IuZXJyb3JDb2RlKCkpOworICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoImNoZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lOiBGaW5pc2hlZCBmcmFtZSBsb2Fk
IHdpdGggZXJyb3IgKGZyYW1lID0gJXAsIG1haW4gPSAlZCwgaXNUaW1lb3V0ID0gJWQsIGlzQ2Fu
Y2VsbGF0aW9uID0gJWQsIGVycm9yQ29kZSA9ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFp
bkZyYW1lKCksIGVycm9yLmlzVGltZW91dCgpLCBlcnJvci5pc0NhbmNlbGxhdGlvbigpLCBlcnJv
ci5lcnJvckNvZGUoKSk7CiAgICAgICAgICAgICAgICAgbV9jbGllbnQuZGlzcGF0Y2hEaWRGYWls
TG9hZChlcnJvcik7CiAgICAgICAgICAgICAgICAgbG9hZGluZ0V2ZW50ID0gQVhPYmplY3RDYWNo
ZTo6QVhMb2FkaW5nRmFpbGVkOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJGaW5pc2hlZCBmcmFtZSBsb2FkIHdpdGhvdXQgZXJy
b3IsIGZyYW1lID0gJXAsIG1haW4gPSAlZCIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1l
KCkpOworICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNoZWNrTG9hZENv
bXBsZXRlRm9yVGhpc0ZyYW1lOiBGaW5pc2hlZCBmcmFtZSBsb2FkIHdpdGhvdXQgZXJyb3IgKGZy
YW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01haW5GcmFtZSgpKTsK
ICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAgICAgICAgICAgICAgYXV0byogZG9jdW1l
bnQgPSBtX2ZyYW1lLmRvY3VtZW50KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZnJhbWUuc2V0
dGluZ3MoKS5kYXRhRGV0ZWN0b3JUeXBlcygpICE9IERhdGFEZXRlY3RvclR5cGVOb25lICYmIGRv
Y3VtZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxv
YWRzL0Rvd25sb2FkLmNwcAppbmRleCAyZjBlMTY3MTBhYmM1MTllMGExODk5MGJjYjFkYjJiZTll
ZWQ2OWI0Li5kZjNmMzY0MmZiYjM1N2ZlZWY4YTQ4OTc2ZTRkYzA3MjBiZDAzZmIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5j
cHAKQEAgLTM4LDggKzM4LDcgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLSNkZWZp
bmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCguLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25M
b2dnaW5nQWxsb3dlZCgpLCBOZXR3b3JrLCBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgUkVMRUFTRV9M
T0dfRVJST1JfSUZfQUxMT1dFRCguLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25M
b2dnaW5nQWxsb3dlZCgpLCBOZXR3b3JrLCBfX1ZBX0FSR1NfXykKKyNkZWZpbmUgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdB
bGxvd2VkKCksIE5ldHdvcmssICIlcCAtIERvd25sb2FkOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FS
R1NfXykKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTg2LDcgKzg1LDcgQEAgdm9pZCBEb3du
bG9hZDo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJgogCiB2b2lkIERvd25sb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgiRG93bmxvYWQgdGFzayAoJWxsdSkgY3JlYXRlZCIsIGRvd25sb2FkSUQoKS5kb3dubG9hZElE
KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZFJlY2VpdmVSZXNwb25zZTogQ3Jl
YXRlZCAoaWQgPSAlbGx1KSIsIGRvd25sb2FkSUQoKS5kb3dubG9hZElEKCkpOwogCiAgICAgc2Vu
ZChNZXNzYWdlczo6RG93bmxvYWRQcm94eTo6RGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKSk7
CiB9CkBAIC05NSw3ICs5NCw3IEBAIHZvaWQgRG93bmxvYWQ6OmRpZFJlY2VpdmVSZXNwb25zZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHZvaWQgRG93bmxvYWQ6OmRpZFJlY2Vp
dmVEYXRhKHVpbnQ2NF90IGxlbmd0aCkKIHsKICAgICBpZiAoIW1faGFzUmVjZWl2ZWREYXRhKSB7
Ci0gICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIkRvd25sb2FkIHRhc2sgKCVsbHUpIHN0
YXJ0ZWQgcmVjZWl2aW5nIGRhdGEiLCBkb3dubG9hZElEKCkuZG93bmxvYWRJRCgpKTsKKyAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZURhdGE6IFN0YXJ0ZWQgcmVjZWl2
aW5nIGRhdGEgKGlkID0gJWxsdSkiLCBkb3dubG9hZElEKCkuZG93bmxvYWRJRCgpKTsKICAgICAg
ICAgbV9oYXNSZWNlaXZlZERhdGEgPSB0cnVlOwogICAgIH0KIApAQCAtMTM0LDcgKzEzMyw3IEBA
IHZvaWQgRG93bmxvYWQ6OmRpZENyZWF0ZURlc3RpbmF0aW9uKGNvbnN0IFN0cmluZyYgcGF0aCkK
IAogdm9pZCBEb3dubG9hZDo6ZGlkRmluaXNoKCkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJEb3dubG9hZCB0YXNrICglbGx1KSBmaW5pc2hlZCIsIGRvd25sb2FkSUQoKS5kb3dubG9h
ZElEKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlzaDogKGlkID0gJWxs
dSkiLCBkb3dubG9hZElEKCkuZG93bmxvYWRJRCgpKTsKIAogICAgIHBsYXRmb3JtRGlkRmluaXNo
KCk7CiAKQEAgLTE1MCw3ICsxNDksNyBAQCB2b2lkIERvd25sb2FkOjpkaWRGaW5pc2goKQogCiB2
b2lkIERvd25sb2FkOjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yLCBjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmIHJlc3VtZURhdGEpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgiRG93bmxvYWQgdGFzayAoJWxsdSkgZmFpbGVkLCBpc1RpbWVvdXQgPSAlZCwgaXNDYW5j
ZWxsYXRpb24gPSAlZCwgZXJyQ29kZSA9ICVkIiwKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJkaWRGYWlsOiAoaWQgPSAlbGx1LCBpc1RpbWVvdXQgPSAlZCwgaXNDYW5jZWxsYXRpb24gPSAl
ZCwgZXJyQ29kZSA9ICVkKSIsCiAgICAgICAgIGRvd25sb2FkSUQoKS5kb3dubG9hZElEKCksIGVy
cm9yLmlzVGltZW91dCgpLCBlcnJvci5pc0NhbmNlbGxhdGlvbigpLCBlcnJvci5lcnJvckNvZGUo
KSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpEb3dubG9hZFByb3h5OjpEaWRGYWlsKGVycm9yLCBy
ZXN1bWVEYXRhKSk7CkBAIC0xNjQsNyArMTYzLDcgQEAgdm9pZCBEb3dubG9hZDo6ZGlkRmFpbChj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiByZXMK
IAogdm9pZCBEb3dubG9hZDo6ZGlkQ2FuY2VsKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcmVz
dW1lRGF0YSkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJEb3dubG9hZCB0YXNrICgl
bGx1KSBjYW5jZWxlZCIsIGRvd25sb2FkSUQoKS5kb3dubG9hZElEKCkpOworICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoImRpZENhbmNlbDogKGlkID0gJWxsdSkiLCBkb3dubG9hZElEKCkuZG93
bmxvYWRJRCgpKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OkRvd25sb2FkUHJveHk6OkRpZENhbmNl
bChyZXN1bWVEYXRhKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDhiZWVmOTMwNDA4MWE5OGZmMWNi
YmE3NGE2ODdmYzYxZmYzN2NkZWUuLmE2YjFmMmY5ZWM5ZmRjZTQ0M2YwMTQzMjMwMWMzZjcxMWEy
NmM4ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNDksOCArNDksNyBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKC4uLikgUkVMRUFT
RV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIE5ldHdvcmssIF9fVkFfQVJHU19f
KQotI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKC4uLikgUkVMRUFTRV9MT0df
RVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIE5ldHdvcmssIF9fVkFfQVJHU19f
KQorI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19J
Rihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywgIiVwIC0gTmV0d29ya1Jlc291
cmNlTG9hZGVyOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKQEAgLTIwNiw3ICsyMDUsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3Rh
cnROZXR3b3JrTG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAgICAgICAgIG1f
YnVmZmVyZWREYXRhRm9yQ2FjaGUgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSgpOwogI2VuZGlmCiAK
LSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJTdGFydGluZyBuZXR3b3JrIHJlc291cmNlIGxv
YWQ6IGxvYWRlciA9ICVwLCBwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgaXNNYWluUmVz
b3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkIiwgdGhpcywgbV9wYXJhbWV0ZXJzLndlYlBh
Z2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIGlzTWFpblJlc291cmNlKCksIGlzU3luY2hy
b25vdXMoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RhcnROZXR3b3JrTG9hZDog
KHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCBpc01haW5SZXNvdXJjZSA9ICVkLCBpc1N5
bmNocm9ub3VzID0gJWQpIiwgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQsIGlzTWFpblJlc291cmNlKCksIGlzU3luY2hyb25vdXMoKSk7CiAKICAgICBOZXR3
b3JrTG9hZFBhcmFtZXRlcnMgcGFyYW1ldGVycyA9IG1fcGFyYW1ldGVyczsKICAgICBwYXJhbWV0
ZXJzLmRlZmVyc0xvYWRpbmcgPSBtX2RlZmVyc0xvYWRpbmc7CkBAIC0yOTAsNyArMjg5LDcgQEAg
dm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmFib3J0KCkKIAogYXV0byBOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVjZWl2ZWRS
ZXNwb25zZSkgLT4gU2hvdWxkQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UKIHsKLSAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJSZWNlaXZlZCBuZXR3b3JrIHJlc291cmNlIHJlc3BvbnNlOiBs
b2FkZXIgPSAlcCwgcGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIGlzTWFpblJlc291cmNl
ID0gJWQsIGlzU3luY2hyb25vdXMgPSAlZCwgaHR0cFN0YXR1c0NvZGUgPSAlZCIsIHRoaXMsIG1f
cGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBpc01haW5SZXNv
dXJjZSgpLCBpc1N5bmNocm9ub3VzKCksIHJlY2VpdmVkUmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUo
KSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc3BvbnNlOiAocGFn
ZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIGlzTWFpblJlc291cmNlID0gJWQsIGlzU3luY2hy
b25vdXMgPSAlZCwgaHR0cFN0YXR1c0NvZGUgPSAlZCkiLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlE
LCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgaXNNYWluUmVzb3VyY2UoKSwgaXNTeW5jaHJvbm91
cygpLCByZWNlaXZlZFJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgbV9yZXNwb25z
ZSA9IFdURk1vdmUocmVjZWl2ZWRSZXNwb25zZSk7CiAKQEAgLTMyMiw3ICszMjEsNyBAQCBhdXRv
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9u
c2UmJiByZWNlaXZlZFJlc3BvbgogICAgICAgICBpZiAoaXNTeW5jaHJvbm91cygpKQogICAgICAg
ICAgICAgbV9zeW5jaHJvbm91c0xvYWREYXRhLT5yZXNwb25zZSA9IG1fcmVzcG9uc2U7CiAgICAg
ICAgIGVsc2UgewotICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiU2VuZGluZyBk
aWRSZWNlaXZlUmVzcG9uc2UgbWVzc2FnZSB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzOiBsb2Fk
ZXIgPSAlcCwgcGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIGlzTWFpblJlc291cmNlID0g
JWQsIGlzU3luY2hyb25vdXMgPSAlZCIsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcg
bG9uZz4obV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcg
bG9uZz4obV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQpLCBpc01haW5SZXNvdXJjZSgpLCBpc1N5bmNo
cm9ub3VzKCkpOworICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2
ZVJlc3BvbnNlOiBTZW5kaW5nIGRpZFJlY2VpdmVSZXNwb25zZSBtZXNzYWdlIHRvIHRoZSBXZWJD
b250ZW50IHByb2Nlc3MgKHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCBpc01haW5SZXNv
dXJjZSA9ICVkLCBpc1N5bmNocm9ub3VzID0gJWQpIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9u
ZyBsb25nPihtX3BhcmFtZXRlcnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9u
ZyBsb25nPihtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCksIGlzTWFpblJlc291cmNlKCksIGlzU3lu
Y2hyb25vdXMoKSk7CiAgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRl
cjo6RGlkUmVjZWl2ZVJlc3BvbnNlKG1fcmVzcG9uc2UsIHNob3VsZFdhaXRDb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZSkpOwogICAgICAgICB9CiAgICAgfQpAQCAtMzM0LDExICszMzMsMTEgQEAg
YXV0byBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJl
c3BvbnNlJiYgcmVjZWl2ZWRSZXNwb24KICNlbmRpZgogCiAgICAgaWYgKHNob3VsZENvbnRpbnVl
RGlkUmVjZWl2ZVJlc3BvbnNlKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIlNo
b3VsZCB3YWl0IGZvciBtZXNzYWdlIGZyb20gV2ViQ29udGVudCBwcm9jZXNzIGJlZm9yZSBjb250
aW51aW5nIHJlc291cmNlIGxvYWQ6IGxvYWRlciA9ICVwLCBwYWdlSUQgPSAlbGx1LCBmcmFtZUlE
ID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkIiwgdGhpcywg
c3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViUGFnZUlEKSwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCks
IGlzTWFpblJlc291cmNlKCksIGlzU3luY2hyb25vdXMoKSk7CisgICAgICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoImRpZFJlY2VpdmVSZXNwb25zZTogU2hvdWxkIHdhaXQgZm9yIG1lc3NhZ2Ug
ZnJvbSBXZWJDb250ZW50IHByb2Nlc3MgYmVmb3JlIGNvbnRpbnVpbmcgcmVzb3VyY2UgbG9hZCAo
cGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIGlzTWFpblJlc291cmNlID0gJWQsIGlzU3lu
Y2hyb25vdXMgPSAlZCkiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fcGFyYW1l
dGVycy53ZWJQYWdlSUQpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fcGFyYW1l
dGVycy53ZWJGcmFtZUlEKSwgaXNNYWluUmVzb3VyY2UoKSwgaXNTeW5jaHJvbm91cygpKTsKICAg
ICAgICAgcmV0dXJuIFNob3VsZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOjpZZXM7CiAgICAg
fQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiU2hvdWxkIG5vdCB3YWl0IGZvciBtZXNz
YWdlIGZyb20gV2ViQ29udGVudCBwcm9jZXNzIGJlZm9yZSBjb250aW51aW5nIHJlc291cmNlIGxv
YWQ6IGxvYWRlciA9ICVwLCBwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgaXNNYWluUmVz
b3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkIiwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgbG9uZyBsb25nPihtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCksIGlzTWFpblJlc291cmNlKCks
IGlzU3luY2hyb25vdXMoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2
ZVJlc3BvbnNlOiBTaG91bGQgbm90IHdhaXQgZm9yIG1lc3NhZ2UgZnJvbSBXZWJDb250ZW50IHBy
b2Nlc3MgYmVmb3JlIGNvbnRpbnVpbmcgcmVzb3VyY2UgbG9hZCAocGFnZUlEID0gJWxsdSwgZnJh
bWVJRCA9ICVsbHUsIGlzTWFpblJlc291cmNlID0gJWQsIGlzU3luY2hyb25vdXMgPSAlZCkiLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fcGFyYW1ldGVycy53ZWJQYWdlSUQpLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fcGFyYW1ldGVycy53ZWJGcmFtZUlEKSwg
aXNNYWluUmVzb3VyY2UoKSwgaXNTeW5jaHJvbm91cygpKTsKICAgICByZXR1cm4gU2hvdWxkQ29u
dGludWVEaWRSZWNlaXZlUmVzcG9uc2U6Ok5vOwogfQogCkBAIC0zNzEsNyArMzcwLDcgQEAgdm9p
ZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVCdWZmZXIoUmVmPFNoYXJlZEJ1ZmZl
cj4mJiBidWZmZXIsIGludCByZXAKIAogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZp
bmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgiRmluaXNoZWQgbG9hZGluZyBuZXR3b3JrIHJlc291cmNlOiBsb2FkZXIgPSAlcCwgcGFn
ZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIGlzTWFpblJlc291cmNlID0gJWQsIGlzU3luY2hy
b25vdXMgPSAlZCIsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJh
bWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJh
bWV0ZXJzLndlYkZyYW1lSUQpLCBpc01haW5SZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCkpOwor
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEZpbmlzaExvYWRpbmc6IChwYWdlSUQgPSAl
bGx1LCBmcmFtZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9
ICVkKSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYlBh
Z2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYkZy
YW1lSUQpLCBpc01haW5SZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCkpOwogCiAjaWYgRU5BQkxF
KE5FVFdPUktfQ0FDSEUpCiAgICAgaWYgKG1fY2FjaGVFbnRyeUZvclZhbGlkYXRpb24pIHsKQEAg
LTQwMiw3ICs0MDEsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9h
ZGluZyhkb3VibGUgZmluaXNoVGltZSkKIAogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRp
ZEZhaWxMb2FkaW5nKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogewotICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoIkZhaWxlZCBsb2FkaW5nIG5ldHdvcmsgcmVzb3VyY2U6IGxvYWRlciA9
ICVwLCBwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwg
aXNTeW5jaHJvbm91cyA9ICVkLCBpc1RpbWVvdXQgPSAlZCwgaXNDYW5jZWxsYXRpb24gPSAlZCwg
ZXJyQ29kZSA9ICVkIiwgdGhpcywgbV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJz
LndlYkZyYW1lSUQsIGlzTWFpblJlc291cmNlKCksIGlzU3luY2hyb25vdXMoKSwgZXJyb3IuaXNU
aW1lb3V0KCksIGVycm9yLmlzQ2FuY2VsbGF0aW9uKCksIGVycm9yLmVycm9yQ29kZSgpKTsKKyAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRGYWlsTG9hZGluZzogKHBhZ2VJRCA9ICVsbHUs
IGZyYW1lSUQgPSAlbGx1LCBpc01haW5SZXNvdXJjZSA9ICVkLCBpc1N5bmNocm9ub3VzID0gJWQs
IGlzVGltZW91dCA9ICVkLCBpc0NhbmNlbGxhdGlvbiA9ICVkLCBlcnJDb2RlID0gJWQpIiwgbV9w
YXJhbWV0ZXJzLndlYlBhZ2VJRCwgbV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQsIGlzTWFpblJlc291
cmNlKCksIGlzU3luY2hyb25vdXMoKSwgZXJyb3IuaXNUaW1lb3V0KCksIGVycm9yLmlzQ2FuY2Vs
bGF0aW9uKCksIGVycm9yLmVycm9yQ29kZSgpKTsKIAogICAgIEFTU0VSVCghZXJyb3IuaXNOdWxs
KCkpOwogCkBAIC00NDgsNyArNDQ3LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Ondp
bGxTZW5kUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwKIAogdm9p
ZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KFJlc291cmNl
UmVxdWVzdCYmIG5ld1JlcXVlc3QpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiRm9s
bG93aW5nIHJlZGlyZWN0IG9mIG5ldHdvcmsgcmVzb3VyY2U6IGxvYWRlciA9ICVwLCBwYWdlSUQg
PSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91
cyA9ICVkIiwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihtX3BhcmFtZXRl
cnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihtX3BhcmFtZXRl
cnMud2ViRnJhbWVJRCksIGlzTWFpblJlc291cmNlKCksIGlzU3luY2hyb25vdXMoKSk7CisgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29udGludWVXaWxsU2VuZFJlcXVlc3Q6IChwYWdlSUQg
PSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91
cyA9ICVkKSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndl
YlBhZ2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQpLCBpc01haW5SZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCkpOwogCiAjaWYgRU5B
QkxFKE5FVFdPUktfQ0FDSEUpCiAgICAgaWYgKG1faXNXYWl0aW5nQ29udGludWVXaWxsU2VuZFJl
cXVlc3RGb3JDYWNoZWRSZWRpcmVjdCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggNzg4ZDgyNGU2Y2I0
NjUxMGM0NGQ1YmMzZGM2MGNmYmM2YzBlYWMwZC4uMGUyNjdmNzg1MGIyZjM1OWEwZDdhYmEyMjNj
ZGQwY2Q2YWNmYWFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC01Nyw4ICs1Nyw4IEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCi0jZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoLi4u
KSBSRUxFQVNFX0xPR19JRihsb2FkUGFyYW1ldGVycy5zZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dp
bmdBbGxvd2VkKCksIE5ldHdvcmssIF9fVkFfQVJHU19fKQotI2RlZmluZSBSRUxFQVNFX0xPR19F
UlJPUl9JRl9BTExPV0VEKC4uLikgUkVMRUFTRV9MT0dfRVJST1JfSUYobG9hZFBhcmFtZXRlcnMu
c2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBOZXR3b3JrLCBfX1ZBX0FSR1Nf
XykKKyNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0df
SUYobG9hZFBhcmFtZXRlcnMuc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBO
ZXR3b3JrLCAiJXAgLSBXZWJMb2FkZXJTdHJhdGVneTo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdT
X18pCisjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVB
U0VfTE9HX0VSUk9SX0lGKGxvYWRQYXJhbWV0ZXJzLnNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2lu
Z0FsbG93ZWQoKSwgTmV0d29yaywgIiVwIC0gV2ViTG9hZGVyU3RyYXRlZ3k6OiIgZm10LCB0aGlz
LCAjI19fVkFfQVJHU19fKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjAyLDcgKzIwMiw3
IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYg
cmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiAgICAgQVNTRVJUKChsb2FkUGFyYW1ldGVycy53
ZWJQYWdlSUQgJiYgbG9hZFBhcmFtZXRlcnMud2ViRnJhbWVJRCkgfHwgbG9hZFBhcmFtZXRlcnMu
Y2xpZW50Q3JlZGVudGlhbFBvbGljeSA9PSBDbGllbnRDcmVkZW50aWFsUG9saWN5OjpDYW5ub3RB
c2tDbGllbnRGb3JDcmVkZW50aWFscyk7CiAKICAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpTY2hlZHVsZVJlc291cmNlTG9hZChsb2FkUGFyYW1l
dGVycyksIDApKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIldlYkxv
YWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQ6IFVuYWJsZSB0byBzY2hlZHVsZSByZXNvdXJjZSB3
aXRoIHRoZSBOZXR3b3JrUHJvY2VzcyB3aXRoIHByaW9yaXR5ID0gJWQsIHBhZ2VJRCA9ICVsbHUs
IGZyYW1lSUQgPSAlbGx1Iiwgc3RhdGljX2Nhc3Q8aW50PihyZXNvdXJjZUxvYWRlci5yZXF1ZXN0
KCkucHJpb3JpdHkoKSksIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obG9hZFBhcmFt
ZXRlcnMud2ViUGFnZUlEKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihsb2FkUGFy
YW1ldGVycy53ZWJGcmFtZUlEKSk7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9X
RUQoInNjaGVkdWxlTG9hZDogVW5hYmxlIHRvIHNjaGVkdWxlIHJlc291cmNlIHdpdGggdGhlIE5l
dHdvcmtQcm9jZXNzIChwcmlvcml0eSA9ICVkLCBwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxs
dSkiLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc291cmNlTG9hZGVyLnJlcXVlc3QoKS5wcmlvcml0eSgp
KSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihsb2FkUGFyYW1ldGVycy53ZWJQYWdl
SUQpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGxvYWRQYXJhbWV0ZXJzLndlYkZy
YW1lSUQpKTsKICAgICAgICAgLy8gV2UgcHJvYmFibHkgZmFpbGVkIHRvIHNjaGVkdWxlIHRoaXMg
bG9hZCB3aXRoIHRoZSBOZXR3b3JrUHJvY2VzcyBiZWNhdXNlIGl0IGhhZCBjcmFzaGVkLgogICAg
ICAgICAvLyBUaGlzIGxvYWQgd2lsbCBuZXZlciBzdWNjZWVkIHNvIHdlIHdpbGwgc2NoZWR1bGUg
aXQgdG8gZmFpbCBhc3luY2hyb25vdXNseS4KICAgICAgICAgc2NoZWR1bGVJbnRlcm5hbGx5RmFp
bGVkTG9hZChyZXNvdXJjZUxvYWRlcik7CkBAIC0yMTAsNyArMjEwLDcgQEAgdm9pZCBXZWJMb2Fk
ZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwg
Q2FjaGVkUmVzb3UKICAgICB9CiAKICAgICBhdXRvIHdlYlJlc291cmNlTG9hZGVyID0gV2ViUmVz
b3VyY2VMb2FkZXI6OmNyZWF0ZShyZXNvdXJjZUxvYWRlcik7Ci0gICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgiV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZDogUmVzb3VyY2Ugd2lsbCBi
ZSBzY2hlZHVsZWQgd2l0aCB0aGUgTmV0d29ya1Byb2Nlc3Mgd2l0aCBwcmlvcml0eSA9ICVkLCBw
YWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgV2ViUmVzb3VyY2VMb2FkZXIgPSAlcCIsIHN0
YXRpY19jYXN0PGludD4ocmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpLnByaW9yaXR5KCkpLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGxvYWRQYXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0
YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obG9hZFBhcmFtZXRlcnMud2ViRnJhbWVJRCks
IHdlYlJlc291cmNlTG9hZGVyLnB0cigpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJz
Y2hlZHVsZUxvYWQ6IFJlc291cmNlIHdpbGwgYmUgc2NoZWR1bGVkIHdpdGggdGhlIE5ldHdvcmtQ
cm9jZXNzIChwcmlvcml0eSA9ICVkLCBwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgV2Vi
UmVzb3VyY2VMb2FkZXIgPSAlcCkiLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc291cmNlTG9hZGVyLnJl
cXVlc3QoKS5wcmlvcml0eSgpKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihsb2Fk
UGFyYW1ldGVycy53ZWJQYWdlSUQpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGxv
YWRQYXJhbWV0ZXJzLndlYkZyYW1lSUQpLCB3ZWJSZXNvdXJjZUxvYWRlci5wdHIoKSk7CiAgICAg
bV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0KGlkZW50aWZpZXIsIFdURk1vdmUod2ViUmVzb3VyY2VM
b2FkZXIpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggN2ZjYTJmOTNkNTVlYTc1NjVkNGE0ZGVi
ODI0NmE1NTU4OTgxOWM0OS4uMzY1ZDU5ODhjNGM1NTBkOTc1NDgwYzA0YTAzN2RmZTNkMzcyNmYx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00Miw3ICs0Miw3IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCi0jZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xP
R19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywgX19WQV9BUkdTX18pCisj
ZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKGlz
QWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBOZXR3b3JrLCAiJXAgLSBXZWJSZXNvdXJjZUxvYWRl
cjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBA
IC03OCw3ICs3OCw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRldGFjaEZyb21Db3JlTG9h
ZGVyKCkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJl
cXVlc3QmJiBwcm9wb3NlZFJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3Bv
bnNlKQogewogICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZGVy
Ojp3aWxsU2VuZFJlcXVlc3QgdG8gJyVzJyIsIHByb3Bvc2VkUmVxdWVzdC51cmwoKS5zdHJpbmco
KS5sYXRpbjEoKS5kYXRhKCkpOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIldlYlJlc291
cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QsIFdlYlJlc291cmNlTG9hZGVyID0gJXAiLCB0aGlz
KTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJ3aWxsU2VuZFJlcXVlc3QiKTsKIAogICAg
IFJlZlB0cjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKIApAQCAtMTAx
LDcgKzEwMSw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFNlbmREYXRhKHVpbnQ2NF90
IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTCiB2b2lkIFdlYlJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9H
KE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNw
b25zZSBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCku
bGF0aW4xKCkuZGF0YSgpLCByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpKTsKLSAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKCJXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlLCBX
ZWJSZXNvdXJjZUxvYWRlciA9ICVwLCBzdGF0dXMgPSAlZC4iLCB0aGlzLCByZXNwb25zZS5odHRw
U3RhdHVzQ29kZSgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlUmVz
cG9uc2U6IChzdGF0dXMgPSAlZCkiLCByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpKTsKIAogICAg
IFJlZjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCgqdGhpcyk7CiAKQEAgLTEzMyw3ICsxMzMs
NyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGJvbwogdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlk
UmVjZWl2ZURhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBpbnQ2NF90IGVuY29k
ZWREYXRhTGVuZ3RoKQogewogICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291
cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0YSBvZiBzaXplICVsdSBmb3IgJyVzJyIsIGRhdGEuc2l6
ZSgpLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLmxhdGluMSgpLmRhdGEoKSk7Ci0gICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRh
LCBXZWJSZXNvdXJjZUxvYWRlciA9ICVwLCBzaXplID0gJWx1IiwgdGhpcywgZGF0YS5zaXplKCkp
OworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZFJlY2VpdmVEYXRhOiAoc2l6ZSA9ICVs
dSkiLCBkYXRhLnNpemUoKSk7CiAKICNpZiBVU0UoUVVJQ0tfTE9PSykKICAgICBpZiAoUXVpY2tM
b29rSGFuZGxlKiBxdWlja0xvb2tIYW5kbGUgPSBtX2NvcmVMb2FkZXItPmRvY3VtZW50TG9hZGVy
KCktPnF1aWNrTG9va0hhbmRsZSgpKSB7CkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBXZWJSZXNv
dXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRh
LCBpbnQ2NF90IGUKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaFJlc291cmNlTG9h
ZChkb3VibGUgZmluaXNoVGltZSkKIHsKICAgICBMT0coTmV0d29yaywgIihXZWJQcm9jZXNzKSBX
ZWJSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoUmVzb3VyY2VMb2FkIGZvciAnJXMnIiwgbV9jb3Jl
TG9hZGVyLT51cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwotICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoIldlYlJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hSZXNvdXJjZUxvYWQsIFdl
YlJlc291cmNlTG9hZGVyID0gJXAiLCB0aGlzKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJkaWRGaW5pc2hSZXNvdXJjZUxvYWQiKTsKIAogI2lmIFVTRShRVUlDS19MT09LKQogICAgIGlm
IChRdWlja0xvb2tIYW5kbGUqIHF1aWNrTG9va0hhbmRsZSA9IG1fY29yZUxvYWRlci0+ZG9jdW1l
bnRMb2FkZXIoKS0+cXVpY2tMb29rSGFuZGxlKCkpIHsKQEAgLTE2MSw3ICsxNjEsNyBAQCB2b2lk
IFdlYlJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRp
bWUpCiB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQogewogICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdl
YlJlc291cmNlTG9hZGVyOjpkaWRGYWlsUmVzb3VyY2VMb2FkIGZvciAnJXMnIiwgbV9jb3JlTG9h
ZGVyLT51cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCkpOwotICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoIldlYlJlc291cmNlTG9hZGVyOjpkaWRGYWlsUmVzb3VyY2VMb2FkLCBXZWJSZXNv
dXJjZUxvYWRlciA9ICVwIiwgdGhpcyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlk
RmFpbFJlc291cmNlTG9hZCIpOwogCiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgaWYgKFF1aWNr
TG9va0hhbmRsZSogcXVpY2tMb29rSGFuZGxlID0gbV9jb3JlTG9hZGVyLT5kb2N1bWVudExvYWRl
cigpLT5xdWlja0xvb2tIYW5kbGUoKSkKQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lkIFdlYlJlc291
cmNlTG9hZGVyOjpkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9y
KQogdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc291cmNlKGNvbnN0IFNoYXJl
YWJsZVJlc291cmNlOjpIYW5kbGUmIGhhbmRsZSwgZG91YmxlIGZpbmlzaFRpbWUpCiB7CiAgICAg
TE9HKE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVS
ZXNvdXJjZSBmb3IgJyVzJyIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkubGF0aW4xKCku
ZGF0YSgpKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJXZWJSZXNvdXJjZUxvYWRlcjo6
ZGlkUmVjZWl2ZVJlc291cmNlLCBXZWJSZXNvdXJjZUxvYWRlciA9ICVwIiwgdGhpcyk7CisgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkUmVjZWl2ZVJlc291cmNlIik7CiAKICAgICBSZWZQ
dHI8U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBoYW5kbGUudHJ5V3JhcEluU2hhcmVkQnVmZmVyKCk7
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>