<?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>186293</bug_id>
          
          <creation_ts>2018-06-04 17:20:29 -0700</creation_ts>
          <short_desc>run-testmem should have a dry run option and an option to parse the stdout of executing the dry run</short_desc>
          <delta_ts>2018-06-05 12:00:38 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1429974</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-04 17:20:29 -0700</bug_when>
    <thetext>So it can create a bunch of commands for me and I can run it on a device that doesn&apos;t have a ruby</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430136</commentid>
    <comment_count>1</comment_count>
      <attachid>341976</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-05 11:00:04 -0700</bug_when>
    <thetext>Created attachment 341976
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430138</commentid>
    <comment_count>2</comment_count>
      <attachid>341976</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-06-05 11:06:08 -0700</bug_when>
    <thetext>Comment on attachment 341976
patch

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

&gt; Tools/Scripts/run-testmem:40
&gt; +    puts &quot;--parse       (-p)   After executing the dry run, capture its stdout and write it to a file. Pass the path to that file for this option and run-testmem will compute the results of the benchmark run.&quot;
&gt; +    puts &quot;--help        (-h)   print this message&quot;

Some of these start with a capital and end in a period, some don&apos;t. Should be consistent.

&gt; Tools/Scripts/run-testmem:261
&gt; +

Nit: drop empty line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430141</commentid>
    <comment_count>3</comment_count>
      <attachid>341978</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-05 11:08:07 -0700</bug_when>
    <thetext>Created attachment 341978
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430142</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-05 11:08:28 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #3)
&gt; Created attachment 341978 [details]
&gt; patch

Addressed Joe&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430148</commentid>
    <comment_count>5</comment_count>
      <attachid>341976</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-06-05 11:18:20 -0700</bug_when>
    <thetext>Comment on attachment 341976
patch

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

r=me with fixes.

&gt; Tools/Scripts/run-testmem:138
&gt;          filePath = dirPath.join(filename).to_s
&gt; +        filePath = Pathname.new($scriptPath).join(filename).to_s if $scriptPath

I think line 137 is unnecessary now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430149</commentid>
    <comment_count>6</comment_count>
      <attachid>341976</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-06-05 11:24:42 -0700</bug_when>
    <thetext>Comment on attachment 341976
patch

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

&gt;&gt; Tools/Scripts/run-testmem:138
&gt;&gt; +        filePath = Pathname.new($scriptPath).join(filename).to_s if $scriptPath
&gt; 
&gt; I think line 137 is unnecessary now.

Oops, never mind.  I missed the &quot;if $scriptPath&quot;.  Line 137 is necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430159</commentid>
    <comment_count>7</comment_count>
      <attachid>341978</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-05 11:54:17 -0700</bug_when>
    <thetext>Comment on attachment 341978
patch

Clearing flags on attachment: 341978

Committed r232517: &lt;https://trac.webkit.org/changeset/232517&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430160</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-05 11:54:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430164</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-05 12:00:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/40817463&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341976</attachid>
            <date>2018-06-05 11:00:04 -0700</date>
            <delta_ts>2018-06-05 11:18:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>8719</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIzMjUxMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE4LTA2LTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgor
CisgICAgICAgIHJ1bi10ZXN0bWVtIHNob3VsZCBoYXZlIGEgZHJ5IHJ1biBvcHRpb24gYW5kIGFu
IG9wdGlvbiB0byBwYXJzZSB0aGUgc3Rkb3V0IG9mIGV4ZWN1dGluZyB0aGUgZHJ5IHJ1bgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2MjkzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYWtlcyBp
dCBlYXNpZXIgdG8gZXhlY3V0ZSBydW4tdGVzdG1lbSBvbiBhIGRldmljZSB0aGF0IGRvZXNuJ3Qg
aGF2ZSBydWJ5CisgICAgICAgIG9uIGl0LiBydW4tdGVzdG1lbSBub3cgaGFzIGEgLS1kcnkgb3B0
aW9uIHRoYXQgd2lsbCBvdXRwdXQgY29tbWFuZHMgdG8gZXhlY3V0ZQorICAgICAgICBpbiBiYXNo
LiBUbyBydW4gb24gYSBkZXZpY2UgdGhhdCBkb2Vzbid0IGhhdmUgcnVieSwganVzdCBwdXQgaXRz
IG91dHB1dCBpbnRvCisgICAgICAgIGEgYmFzaCBzY3JpcHQsIGFuZCBjb3B5IHRoZSBQZXJmb3Jt
YW5jZVRlc3RzL3Rlc3RtZW0gZGlyZWN0b3J5IG9udG8gdGhhdCBkZXZpY2UsCisgICAgICAgIGFu
ZCBleGVjdXRlIHRoZSBiYXNoIHNjcmlwdC4gUnVubmluZyB0aGF0IGJhc2ggc2NyaXB0IHdpbGwg
Z2l2ZSB5b3UgcmF3IG91dHB1dC4KKyAgICAgICAgTWFrZSBhIGZpbGUgd2l0aCB0aGF0IG91dHB1
dCBhbmQgcGFzcyBpdCBpbnRvIHJ1bi10ZXN0bWVtIHVzaW5nIHRoZSAtLXBhcnNlIG9wdGlvbi4K
KyAgICAgICAgcnVuLXRlc3RtZW0gd2lsbCBwYXJzZSB0aGUgcmF3IG91dHB1dCBhbmQgY29tcHV0
ZSB0aGUgYmVuY2htYXJrIHNjb3JlLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tdGVzdG1lbToK
KwogMjAxOC0wNi0wNCAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgaW1wb3J0LXczYy10ZXN0cyBzaG91bGQgcmVseSBvbiA8bWV0YSBuYW1lPSJmbGFncyI+IHRv
IGRldGVjdCBDU1MgbWFudWFsIHRlc3RzCkluZGV4OiBUb29scy9TY3JpcHRzL3J1bi10ZXN0bWVt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLXRlc3RtZW0JKHJldmlzaW9uIDIzMjQ4
NikKKysrIFRvb2xzL1NjcmlwdHMvcnVuLXRlc3RtZW0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDEw
ICszMSwxMyBAQCByZXF1aXJlICdnZXRvcHRsb25nJwogCiBkZWYgdXNhZ2UKICAgICBwdXRzICJy
dW4tdGVzdG1lbSBbb3B0aW9uc10iCi0gICAgcHV0cyAiLS1idWlsZC1kaXIgICgtYikgICBwYXNz
IGluIGEgcGF0aCB0byB5b3VyIGJ1aWxkIGRpcmVjdG9yeSwgZS5nLCBXZWJLaXRCdWlsZC9SZWxl
YXNlIgotICAgIHB1dHMgIi0tdmVyYm9zZSAgICAoLXYpICAgcHJpbnQgbW9yZSBpbmZvcm1hdGlv
biBhcyB0aGUgYmVuY2htYXJrIHJ1bnMiCi0gICAgcHV0cyAiLS1jb3VudCAgICAgICgtYykgICBu
dW1iZXIgb2Ygb3V0ZXIgaXRlcmF0aW9ucyB0byBydW4gdGhlIGJlbmNobWFyayBmb3IiCi0gICAg
cHV0cyAiLS1oZWxwICAgICAgICgtaCkgICBwcmludCB0aGlzIG1lc3NhZ2UiCisgICAgcHV0cyAi
LS1idWlsZC1kaXIgICAoLWIpICAgcGFzcyBpbiBhIHBhdGggdG8geW91ciBidWlsZCBkaXJlY3Rv
cnksIGUuZywgV2ViS2l0QnVpbGQvUmVsZWFzZSIKKyAgICBwdXRzICItLXZlcmJvc2UgICAgICgt
dikgICBwcmludCBtb3JlIGluZm9ybWF0aW9uIGFzIHRoZSBiZW5jaG1hcmsgcnVucyIKKyAgICBw
dXRzICItLWNvdW50ICAgICAgICgtYykgICBudW1iZXIgb2Ygb3V0ZXIgaXRlcmF0aW9ucyB0byBy
dW4gdGhlIGJlbmNobWFyayBmb3IiCisgICAgcHV0cyAiLS1kcnkgICAgICAgICAoLWQpICAgcHJp
bnQgc2hlbGwgb3V0cHV0IHRoYXQgY2FuIGJlIHJ1biBhcyBhIGJhc2ggc2NyaXB0IG9uIGEgZGlm
ZmVyZW50IGRldmljZS4gV2hlbiB1c2luZyB0aGlzIG9wdGlvbiwgcHJvdmlkZSB0aGUgLS1zY3Jp
cHQtcGF0aCBhbmQgLS1idWlsZC1kaXIgb3B0aW9ucy4iCisgICAgcHV0cyAiLS1zY3JpcHQtcGF0
aCAoLXMpICAgVGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3UgZXhwZWN0IHRoZSB0
ZXN0bWVtIHRlc3RzIHRvIGxpdmUuIFVzZSB0aGlzIHdoZW4gZG9pbmcgYSBkcnkgcnVuIHdpdGgg
LS1kcnkuIgorICAgIHB1dHMgIi0tcGFyc2UgICAgICAgKC1wKSAgIEFmdGVyIGV4ZWN1dGluZyB0
aGUgZHJ5IHJ1biwgY2FwdHVyZSBpdHMgc3Rkb3V0IGFuZCB3cml0ZSBpdCB0byBhIGZpbGUuIFBh
c3MgdGhlIHBhdGggdG8gdGhhdCBmaWxlIGZvciB0aGlzIG9wdGlvbiBhbmQgcnVuLXRlc3RtZW0g
d2lsbCBjb21wdXRlIHRoZSByZXN1bHRzIG9mIHRoZSBiZW5jaG1hcmsgcnVuLiIKKyAgICBwdXRz
ICItLWhlbHAgICAgICAgICgtaCkgICBwcmludCB0aGlzIG1lc3NhZ2UiCiBlbmQKIAogVEhJU19T
Q1JJUFRfUEFUSCA9IFBhdGhuYW1lLm5ldyhfX0ZJTEVfXykucmVhbHBhdGgKQEAgLTQzLDEwICs0
NiwxNiBAQCBTQ1JJUFRTX1BBVEggPSBUSElTX1NDUklQVF9QQVRILmRpcm5hbWUKICRidWlsZERp
ciA9IG5pbAogJHZlcmJvc2UgPSBmYWxzZQogJG91dGVySXRlcmF0aW9ucyA9IDMKKyRkcnlSdW4g
PSBmYWxzZQorJHNjcmlwdFBhdGggPSBuaWwKKyRwYXJzZVBhdGggPSBuaWwKIAogR2V0b3B0TG9u
Zy5uZXcoWyItLWJ1aWxkLWRpciIsICItYiIsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5U
XSwKICAgICAgICAgICAgICAgIFsiLS12ZXJib3NlIiwgIi12IiwgR2V0b3B0TG9uZzo6Tk9fQVJH
VU1FTlRdLAogICAgICAgICAgICAgICAgWyItLWNvdW50IiwgIi1jIiwgR2V0b3B0TG9uZzo6UkVR
VUlSRURfQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgWyItLWRyeSIsICItZCIsIEdldG9wdExv
bmc6Ok5PX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgIFsiLS1zY3JpcHQtcGF0aCIsICItcyIs
IEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgIFsiLS1wYXJz
ZSIsICItcCIsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAg
IFsiLS1oZWxwIiwgIi1oIiwgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAgICAgICAgICAg
ICAgKS5lYWNoIHsKICAgICB8IG9wdCwgYXJnIHwKQEAgLTYxLDEyICs3MCwyMyBAQCBHZXRvcHRM
b25nLm5ldyhbIi0tYnVpbGQtZGlyIiwgIi1iIiwgR2V0CiAgICAgICAgICAgICBwdXRzICItLWNv
dW50IG11c3QgYmUgPiAwIgogICAgICAgICAgICAgZXhpdCAxCiAgICAgICAgIGVuZAorICAgIHdo
ZW4gIi0tZHJ5IgorICAgICAgICAkZHJ5UnVuID0gdHJ1ZQorICAgIHdoZW4gIi0tc2NyaXB0LXBh
dGgiCisgICAgICAgICRzY3JpcHRQYXRoID0gYXJnCisgICAgd2hlbiAiLS1wYXJzZSIKKyAgICAg
ICAgJHBhcnNlUGF0aCA9IGFyZwogICAgIHdoZW4gIi0taGVscCIKICAgICAgICAgdXNhZ2UKICAg
ICAgICAgZXhpdCAxCiAgICAgZW5kCiB9CiAKK2lmICRzY3JpcHRQYXRoICYmICEkZHJ5UnVuCisg
ICAgcHV0cyAiLS1zY3JpcHQtcGF0aCBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHlvdSBhcmUgZG9p
bmcgYSAtLWRyeSBydW4iCisgICAgZXhpdCAxCitlbmQKKwogZGVmIGdldEJ1aWxkRGlyZWN0b3J5
CiAgICAgaWYgJGJ1aWxkRGlyICE9IG5pbAogICAgICAgICByZXR1cm4gJGJ1aWxkRGlyCkBAIC04
OSw3ICsxMDksNyBAQCBlbmQKIAogZGVmIGdldFRlc3RtZW1QYXRoCiAgICAgcGF0aCA9IFBhdGhu
YW1lLm5ldyhnZXRCdWlsZERpcmVjdG9yeSkuam9pbigidGVzdG1lbSIpLnRvX3MKLSAgICBpZiAh
RmlsZS5leGlzdHM/KHBhdGgpCisgICAgaWYgIUZpbGUuZXhpc3RzPyhwYXRoKSAmJiAhJGRyeVJ1
bgogICAgICAgICBwdXRzICJFcnJvcjogbm8gdGVzdG1lbSBiaW5hcnkgZm91bmQgaW4gPGJ1aWxk
Pi9SZWxlYXNlIgogICAgICAgICBleGl0IDEKICAgICBlbmQKQEAgLTExNSwyMCArMTM1LDMwIEBA
IGRlZiBnZXRUZXN0cwogICAgICAgICB8IGZpbGVuYW1lIHwKICAgICAgICAgbmV4dCB1bmxlc3Mg
ZmlsZW5hbWUgPX4gL1wuanMkLwogICAgICAgICBmaWxlUGF0aCA9IGRpclBhdGguam9pbihmaWxl
bmFtZSkudG9fcworICAgICAgICBmaWxlUGF0aCA9IFBhdGhuYW1lLm5ldygkc2NyaXB0UGF0aCku
am9pbihmaWxlbmFtZSkudG9fcyBpZiAkc2NyaXB0UGF0aAogICAgICAgICBmaWxlcy5wdXNoKFtm
aWxlUGF0aCwgaXRlcmF0aW9uQ291bnQoZmlsZVBhdGgpXSkKICAgICB9CiAKICAgICBmaWxlcy5z
b3J0X2J5IHsgfCAocGF0aCkgfCBGaWxlLmJhc2VuYW1lKHBhdGgpIH0KIGVuZAogCi1kZWYgZ2Vv
bWVhbihhcnIpCi0gICAgc2NvcmUgPSBhcnIuaW5qZWN0KDEuMCwgOiopCi0gICAgc2NvcmUgKiog
KDEuMCAvIGFyci5sZW5ndGgpCi1lbmQKK2RlZiBwcm9jZXNzUnVuT3V0cHV0KHN0ZG91dCwgcGF0
aCkKKyAgICB0aW1lLCBwZWFrRm9vdHByaW50LCBmb290cHJpbnRBdEVuZCA9IHN0ZG91dC5zcGxp
dCgiXG4iKQorICAgIHJhaXNlIHVubGVzcyB0aW1lLnNsaWNlISgidGltZToiKQorICAgIHJhaXNl
IHVubGVzcyBwZWFrRm9vdHByaW50LnNsaWNlISgicGVhayBmb290cHJpbnQ6IikKKyAgICByYWlz
ZSB1bmxlc3MgZm9vdHByaW50QXRFbmQuc2xpY2UhKCJmb290cHJpbnQgYXQgZW5kOiIpCisgICAg
dGltZSA9IHRpbWUudG9fZgorICAgIHBlYWtGb290cHJpbnQgPSBwZWFrRm9vdHByaW50LnRvX2YK
KyAgICBmb290cHJpbnRBdEVuZCA9IGZvb3RwcmludEF0RW5kLnRvX2YKIAotZGVmIG1lYW4oYXJy
KQotICAgIHN1bSA9IGFyci5pbmplY3QoMC4wLCA6KykKLSAgICBzdW0gLyBhcnIubGVuZ3RoCisg
ICAgaWYgJHZlcmJvc2UKKyAgICAgICAgcHV0cyBwYXRoCisgICAgICAgIHB1dHMgInRpbWU6ICN7
dGltZX0iCisgICAgICAgIHB1dHMgInBlYWsgZm9vdHByaW50OiAje3BlYWtGb290cHJpbnQvMTAy
NC8xMDI0fSBNQiIKKyAgICAgICAgcHV0cyAiZW5kIGZvb3RwcmludDogICN7Zm9vdHByaW50QXRF
bmQvMTAyNC8xMDI0fSBNQlxuIgorICAgIGVuZAorCisgICAgeyJ0aW1lIj0+dGltZSwgInBlYWsi
PT5wZWFrRm9vdHByaW50LCAiZW5kIj0+Zm9vdHByaW50QXRFbmR9CiBlbmQKIAogZGVmIHJ1blRl
c3QocGF0aCwgaXRlcnMpCkBAIC0xMzgsNiArMTY4LDE2IEBAIGRlZiBydW5UZXN0KHBhdGgsIGl0
ZXJzKQogICAgICAgICAiSlNDX3VzZUpJVCIgPT4gImZhbHNlIiwKICAgICAgICAgIkpTQ191c2VS
ZWdFeHBKSVQiID0+ICJmYWxzZSIsCiAgICAgfQorCisgICAgaWYgJGRyeVJ1bgorICAgICAgICBl
bnZpcm9ubWVudC5lYWNoIHsgfCBrZXksIHZhbHVlIHwKKyAgICAgICAgICAgIGNvbW1hbmQgPSAi
I3trZXl9PSN7dmFsdWV9ICN7Y29tbWFuZH0iCisgICAgICAgIH0KKyAgICAgICAgcHV0cyAiZWNo
byBcIiN7Y29tbWFuZH1cIiIKKyAgICAgICAgcHV0cyBjb21tYW5kCisgICAgICAgIHJldHVybgor
ICAgIGVuZAorCiAgICAgc3Rkb3V0LCBzdGRlcnIsIGV4aXRDb2RlID0gT3BlbjMuY2FwdHVyZTMo
ZW52aXJvbm1lbnQsIGNvbW1hbmQpCiAKICAgICBpZiAkdmVyYm9zZQpAQCAtMTUyLDM5ICsxOTIs
MjAgQEAgZGVmIHJ1blRlc3QocGF0aCwgaXRlcnMpCiAgICAgICAgIGV4aXQgMQogICAgIGVuZAog
Ci0gICAgdGltZSwgcGVha0Zvb3RwcmludCwgZm9vdHByaW50QXRFbmQgPSBzdGRvdXQuc3BsaXQo
IlxuIikKLSAgICByYWlzZSB1bmxlc3MgdGltZS5zbGljZSEoInRpbWU6IikKLSAgICByYWlzZSB1
bmxlc3MgcGVha0Zvb3RwcmludC5zbGljZSEoInBlYWsgZm9vdHByaW50OiIpCi0gICAgcmFpc2Ug
dW5sZXNzIGZvb3RwcmludEF0RW5kLnNsaWNlISgiZm9vdHByaW50IGF0IGVuZDoiKQotICAgIHRp
bWUgPSB0aW1lLnRvX2YKLSAgICBwZWFrRm9vdHByaW50ID0gcGVha0Zvb3RwcmludC50b19mCi0g
ICAgZm9vdHByaW50QXRFbmQgPSBmb290cHJpbnRBdEVuZC50b19mCi0KLSAgICBpZiAkdmVyYm9z
ZQotICAgICAgICBwdXRzIHBhdGgKLSAgICAgICAgcHV0cyAidGltZTogI3t0aW1lfSIKLSAgICAg
ICAgcHV0cyAicGVhayBmb290cHJpbnQ6ICN7cGVha0Zvb3RwcmludC8xMDI0LzEwMjR9IE1CIgot
ICAgICAgICBwdXRzICJlbmQgZm9vdHByaW50OiAgI3tmb290cHJpbnRBdEVuZC8xMDI0LzEwMjR9
IE1CXG4iCi0gICAgZW5kCi0KLSAgICB7InRpbWUiPT50aW1lLCAicGVhayI9PnBlYWtGb290cHJp
bnQsICJlbmQiPT5mb290cHJpbnRBdEVuZH0KKyAgICBwcm9jZXNzUnVuT3V0cHV0KHN0ZG91dCwg
cGF0aCkKIGVuZAogCi1kZWYgcnVuCi0gICAgdGVzdHMgPSBnZXRUZXN0cwotICAgIHNjb3JlcyA9
IHt9Ci0gICAgdGVzdHMuZWFjaCB7IHwgKHBhdGgpIHwgc2NvcmVzW3BhdGhdID0gW10gfQotICAg
IGNvdW50ID0gJG91dGVySXRlcmF0aW9ucwotICAgICgwLi4oY291bnQtMSkpLmVhY2ggeyB8IGN1
cnJlbnRJdGVyIHwKLSAgICAgICAgdGVzdHMuZWFjaCB7IHwgKHBhdGgsIGl0ZXJzKSB8IAotICAg
ICAgICAgICAgc3RhdHVzVG9QcmludCA9ICJpdGVyYXRpb24gI3tjdXJyZW50SXRlciArIDF9OiAj
e0ZpbGUuYmFzZW5hbWUocGF0aCwgIi5qcyIpfSIKLSAgICAgICAgICAgIHByaW50ICIje3N0YXR1
c1RvUHJpbnR9XHIiCi0gICAgICAgICAgICBzY29yZXNbcGF0aF0ucHVzaChydW5UZXN0KHBhdGgs
IGl0ZXJzKSkKLSAgICAgICAgICAgIHByaW50ICIjeyIgIi5yanVzdChzdGF0dXNUb1ByaW50Lmxl
bmd0aCl9XHIiCitkZWYgZ2VvbWVhbihhcnIpCisgICAgc2NvcmUgPSBhcnIuaW5qZWN0KDEuMCwg
OiopCisgICAgc2NvcmUgKiogKDEuMCAvIGFyci5sZW5ndGgpCitlbmQKIAotICAgICAgICB9Ci0g
ICAgfQorZGVmIG1lYW4oYXJyKQorICAgIHN1bSA9IGFyci5pbmplY3QoMC4wLCA6KykKKyAgICBz
dW0gLyBhcnIubGVuZ3RoCitlbmQKIAorZGVmIHByb2Nlc3NTY29yZXMoc2NvcmVzKQogICAgIHBl
YWtTY29yZSA9IFtdCiAgICAgZW5kU2NvcmUgPSBbXQogICAgIHRpbWVTY29yZSA9IFtdCkBAIC0y
MTYsNCArMjM3LDU2IEBAIGRlZiBydW4KICAgICBwdXRzIEpTT04ucHJldHR5X2dlbmVyYXRlKHNj
b3JlcykgaWYgJHZlcmJvc2UKIGVuZAogCi1ydW4KK2RlZiBydW4KKyAgICB0ZXN0cyA9IGdldFRl
c3RzCisgICAgc2NvcmVzID0ge30KKyAgICB0ZXN0cy5lYWNoIHsgfCAocGF0aCkgfCBzY29yZXNb
cGF0aF0gPSBbXSB9CisgICAgY291bnQgPSAkb3V0ZXJJdGVyYXRpb25zCisKKyAgICBpZiAkZHJ5
UnVuCisgICAgICAgICgwLi4oY291bnQtMSkpLmVhY2ggeyB8IGN1cnJlbnRJdGVyIHwKKyAgICAg
ICAgICAgIHRlc3RzLmVhY2ggeyB8IChwYXRoLCBpdGVycykgfCAKKyAgICAgICAgICAgICAgICBy
dW5UZXN0KHBhdGgsIGl0ZXJzKQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJl
dHVybgorICAgIGVuZAorCisgICAgKDAuLihjb3VudC0xKSkuZWFjaCB7IHwgY3VycmVudEl0ZXIg
fAorICAgICAgICB0ZXN0cy5lYWNoIHsgfCAocGF0aCwgaXRlcnMpIHwgCisgICAgICAgICAgICBz
dGF0dXNUb1ByaW50ID0gIml0ZXJhdGlvbiAje2N1cnJlbnRJdGVyICsgMX06ICN7RmlsZS5iYXNl
bmFtZShwYXRoLCAiLmpzIil9IgorICAgICAgICAgICAgcHJpbnQgIiN7c3RhdHVzVG9QcmludH1c
ciIKKyAgICAgICAgICAgIHNjb3Jlc1twYXRoXS5wdXNoKHJ1blRlc3QocGF0aCwgaXRlcnMpKQor
ICAgICAgICAgICAgcHJpbnQgIiN7IiAiLnJqdXN0KHN0YXR1c1RvUHJpbnQubGVuZ3RoKX1cciIK
KworICAgICAgICB9CisgICAgfQorCisgICAgcHJvY2Vzc1Njb3JlcyhzY29yZXMpCitlbmQKKwor
ZGVmIHBhcnNlUmVzdWx0T2ZEcnlSdW4ocGF0aCkKKyAgICBjb250ZW50cyA9IElPLnJlYWQocGF0
aCkuc3BsaXQoIlxuIikKKyAgICBpZiAhY29udGVudHMubGVuZ3RoIHx8IGNvbnRlbnRzLmxlbmd0
aCAlIDQgIT0gMAorICAgICAgICBwdXRzICJCYWQgaW5wdXQsIGV4cGVjdCBtdWx0aXBsZSBvZiA0
IG51bWJlciBvZiBsaW5lcyBmcm9tIG91dHB1dCBvZiBydW5uaW5nIHRoZSByZXN1bHQgb2YgLS1k
cnkiCisgICAgICAgIGV4aXQgMQorICAgIGVuZAorCisgICAgc2NvcmVzID0ge30KKyAgICBpID0g
MAorICAgIHdoaWxlIGkgPCBjb250ZW50cy5sZW5ndGgKKyAgICAgICAgcGF0aCA9IGNvbnRlbnRz
W2kgKyAwXS5zcGxpdCgiICIpWy0yXQorICAgICAgICBzY29yZXNbcGF0aF0gPSBbXSBpZiAhc2Nv
cmVzW3BhdGhdCisgICAgICAgIHN0ZG91dCA9IFtjb250ZW50c1tpICsgMV0sIGNvbnRlbnRzW2kg
KyAyXSwgY29udGVudHNbaSArIDNdXS5qb2luKCJcbiIpCisgICAgICAgIHNjb3Jlc1twYXRoXS5w
dXNoKHByb2Nlc3NSdW5PdXRwdXQoc3Rkb3V0LCBwYXRoKSkKKyAgICAgICAgaSArPSA0CisgICAg
ZW5kCisKKyAgICBwcm9jZXNzU2NvcmVzKHNjb3JlcykKK2VuZAorCitpZiAkcGFyc2VQYXRoCisg
ICAgcGFyc2VSZXN1bHRPZkRyeVJ1bigkcGFyc2VQYXRoKQorZWxzZQorICAgIHJ1bgorZW5kCg==
</data>
<flag name="review"
          id="360133"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341978</attachid>
            <date>2018-06-05 11:08:07 -0700</date>
            <delta_ts>2018-06-05 11:54:17 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>8714</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIzMjUxMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE4LTA2LTA1ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgor
CisgICAgICAgIHJ1bi10ZXN0bWVtIHNob3VsZCBoYXZlIGEgZHJ5IHJ1biBvcHRpb24gYW5kIGFu
IG9wdGlvbiB0byBwYXJzZSB0aGUgc3Rkb3V0IG9mIGV4ZWN1dGluZyB0aGUgZHJ5IHJ1bgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2MjkzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYWtlcyBp
dCBlYXNpZXIgdG8gZXhlY3V0ZSBydW4tdGVzdG1lbSBvbiBhIGRldmljZSB0aGF0IGRvZXNuJ3Qg
aGF2ZSBydWJ5CisgICAgICAgIG9uIGl0LiBydW4tdGVzdG1lbSBub3cgaGFzIGEgLS1kcnkgb3B0
aW9uIHRoYXQgd2lsbCBvdXRwdXQgY29tbWFuZHMgdG8gZXhlY3V0ZQorICAgICAgICBpbiBiYXNo
LiBUbyBydW4gb24gYSBkZXZpY2UgdGhhdCBkb2Vzbid0IGhhdmUgcnVieSwganVzdCBwdXQgaXRz
IG91dHB1dCBpbnRvCisgICAgICAgIGEgYmFzaCBzY3JpcHQsIGFuZCBjb3B5IHRoZSBQZXJmb3Jt
YW5jZVRlc3RzL3Rlc3RtZW0gZGlyZWN0b3J5IG9udG8gdGhhdCBkZXZpY2UsCisgICAgICAgIGFu
ZCBleGVjdXRlIHRoZSBiYXNoIHNjcmlwdC4gUnVubmluZyB0aGF0IGJhc2ggc2NyaXB0IHdpbGwg
Z2l2ZSB5b3UgcmF3IG91dHB1dC4KKyAgICAgICAgTWFrZSBhIGZpbGUgd2l0aCB0aGF0IG91dHB1
dCBhbmQgcGFzcyBpdCBpbnRvIHJ1bi10ZXN0bWVtIHVzaW5nIHRoZSAtLXBhcnNlIG9wdGlvbi4K
KyAgICAgICAgcnVuLXRlc3RtZW0gd2lsbCBwYXJzZSB0aGUgcmF3IG91dHB1dCBhbmQgY29tcHV0
ZSB0aGUgYmVuY2htYXJrIHNjb3JlLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tdGVzdG1lbToK
KwogMjAxOC0wNi0wNCAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgaW1wb3J0LXczYy10ZXN0cyBzaG91bGQgcmVseSBvbiA8bWV0YSBuYW1lPSJmbGFncyI+IHRv
IGRldGVjdCBDU1MgbWFudWFsIHRlc3RzCkluZGV4OiBUb29scy9TY3JpcHRzL3J1bi10ZXN0bWVt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLXRlc3RtZW0JKHJldmlzaW9uIDIzMjQ4
NikKKysrIFRvb2xzL1NjcmlwdHMvcnVuLXRlc3RtZW0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDEw
ICszMSwxMyBAQCByZXF1aXJlICdnZXRvcHRsb25nJwogCiBkZWYgdXNhZ2UKICAgICBwdXRzICJy
dW4tdGVzdG1lbSBbb3B0aW9uc10iCi0gICAgcHV0cyAiLS1idWlsZC1kaXIgICgtYikgICBwYXNz
IGluIGEgcGF0aCB0byB5b3VyIGJ1aWxkIGRpcmVjdG9yeSwgZS5nLCBXZWJLaXRCdWlsZC9SZWxl
YXNlIgotICAgIHB1dHMgIi0tdmVyYm9zZSAgICAoLXYpICAgcHJpbnQgbW9yZSBpbmZvcm1hdGlv
biBhcyB0aGUgYmVuY2htYXJrIHJ1bnMiCi0gICAgcHV0cyAiLS1jb3VudCAgICAgICgtYykgICBu
dW1iZXIgb2Ygb3V0ZXIgaXRlcmF0aW9ucyB0byBydW4gdGhlIGJlbmNobWFyayBmb3IiCi0gICAg
cHV0cyAiLS1oZWxwICAgICAgICgtaCkgICBwcmludCB0aGlzIG1lc3NhZ2UiCisgICAgcHV0cyAi
LS1idWlsZC1kaXIgICAoLWIpICAgUGFzcyBpbiBhIHBhdGggdG8geW91ciBidWlsZCBkaXJlY3Rv
cnksIGUuZywgV2ViS2l0QnVpbGQvUmVsZWFzZSIKKyAgICBwdXRzICItLXZlcmJvc2UgICAgICgt
dikgICBQcmludCBtb3JlIGluZm9ybWF0aW9uIGFzIHRoZSBiZW5jaG1hcmsgcnVucyIKKyAgICBw
dXRzICItLWNvdW50ICAgICAgICgtYykgICBOdW1iZXIgb2Ygb3V0ZXIgaXRlcmF0aW9ucyB0byBy
dW4gdGhlIGJlbmNobWFyayBmb3IiCisgICAgcHV0cyAiLS1kcnkgICAgICAgICAoLWQpICAgUHJp
bnQgc2hlbGwgb3V0cHV0IHRoYXQgY2FuIGJlIHJ1biBhcyBhIGJhc2ggc2NyaXB0IG9uIGEgZGlm
ZmVyZW50IGRldmljZS4gV2hlbiB1c2luZyB0aGlzIG9wdGlvbiwgcHJvdmlkZSB0aGUgLS1zY3Jp
cHQtcGF0aCBhbmQgLS1idWlsZC1kaXIgb3B0aW9ucyIKKyAgICBwdXRzICItLXNjcmlwdC1wYXRo
ICgtcykgICBUaGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIHlvdSBleHBlY3QgdGhlIHRl
c3RtZW0gdGVzdHMgdG8gbGl2ZS4gVXNlIHRoaXMgd2hlbiBkb2luZyBhIGRyeSBydW4gd2l0aCAt
LWRyeSIKKyAgICBwdXRzICItLXBhcnNlICAgICAgICgtcCkgICBBZnRlciBleGVjdXRpbmcgdGhl
IGRyeSBydW4sIGNhcHR1cmUgaXRzIHN0ZG91dCBhbmQgd3JpdGUgaXQgdG8gYSBmaWxlLiBQYXNz
IHRoZSBwYXRoIHRvIHRoYXQgZmlsZSBmb3IgdGhpcyBvcHRpb24gYW5kIHJ1bi10ZXN0bWVtIHdp
bGwgY29tcHV0ZSB0aGUgcmVzdWx0cyBvZiB0aGUgYmVuY2htYXJrIHJ1biIKKyAgICBwdXRzICIt
LWhlbHAgICAgICAgICgtaCkgICBQcmludCB0aGlzIG1lc3NhZ2UiCiBlbmQKIAogVEhJU19TQ1JJ
UFRfUEFUSCA9IFBhdGhuYW1lLm5ldyhfX0ZJTEVfXykucmVhbHBhdGgKQEAgLTQzLDEwICs0Niwx
NiBAQCBTQ1JJUFRTX1BBVEggPSBUSElTX1NDUklQVF9QQVRILmRpcm5hbWUKICRidWlsZERpciA9
IG5pbAogJHZlcmJvc2UgPSBmYWxzZQogJG91dGVySXRlcmF0aW9ucyA9IDMKKyRkcnlSdW4gPSBm
YWxzZQorJHNjcmlwdFBhdGggPSBuaWwKKyRwYXJzZVBhdGggPSBuaWwKIAogR2V0b3B0TG9uZy5u
ZXcoWyItLWJ1aWxkLWRpciIsICItYiIsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwK
ICAgICAgICAgICAgICAgIFsiLS12ZXJib3NlIiwgIi12IiwgR2V0b3B0TG9uZzo6Tk9fQVJHVU1F
TlRdLAogICAgICAgICAgICAgICAgWyItLWNvdW50IiwgIi1jIiwgR2V0b3B0TG9uZzo6UkVRVUlS
RURfQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgWyItLWRyeSIsICItZCIsIEdldG9wdExvbmc6
Ok5PX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgIFsiLS1zY3JpcHQtcGF0aCIsICItcyIsIEdl
dG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgIFsiLS1wYXJzZSIs
ICItcCIsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsi
LS1oZWxwIiwgIi1oIiwgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAgICAgICAgICAgICAg
KS5lYWNoIHsKICAgICB8IG9wdCwgYXJnIHwKQEAgLTYxLDEyICs3MCwyMyBAQCBHZXRvcHRMb25n
Lm5ldyhbIi0tYnVpbGQtZGlyIiwgIi1iIiwgR2V0CiAgICAgICAgICAgICBwdXRzICItLWNvdW50
IG11c3QgYmUgPiAwIgogICAgICAgICAgICAgZXhpdCAxCiAgICAgICAgIGVuZAorICAgIHdoZW4g
Ii0tZHJ5IgorICAgICAgICAkZHJ5UnVuID0gdHJ1ZQorICAgIHdoZW4gIi0tc2NyaXB0LXBhdGgi
CisgICAgICAgICRzY3JpcHRQYXRoID0gYXJnCisgICAgd2hlbiAiLS1wYXJzZSIKKyAgICAgICAg
JHBhcnNlUGF0aCA9IGFyZwogICAgIHdoZW4gIi0taGVscCIKICAgICAgICAgdXNhZ2UKICAgICAg
ICAgZXhpdCAxCiAgICAgZW5kCiB9CiAKK2lmICRzY3JpcHRQYXRoICYmICEkZHJ5UnVuCisgICAg
cHV0cyAiLS1zY3JpcHQtcGF0aCBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHlvdSBhcmUgZG9pbmcg
YSAtLWRyeSBydW4iCisgICAgZXhpdCAxCitlbmQKKwogZGVmIGdldEJ1aWxkRGlyZWN0b3J5CiAg
ICAgaWYgJGJ1aWxkRGlyICE9IG5pbAogICAgICAgICByZXR1cm4gJGJ1aWxkRGlyCkBAIC04OSw3
ICsxMDksNyBAQCBlbmQKIAogZGVmIGdldFRlc3RtZW1QYXRoCiAgICAgcGF0aCA9IFBhdGhuYW1l
Lm5ldyhnZXRCdWlsZERpcmVjdG9yeSkuam9pbigidGVzdG1lbSIpLnRvX3MKLSAgICBpZiAhRmls
ZS5leGlzdHM/KHBhdGgpCisgICAgaWYgIUZpbGUuZXhpc3RzPyhwYXRoKSAmJiAhJGRyeVJ1bgog
ICAgICAgICBwdXRzICJFcnJvcjogbm8gdGVzdG1lbSBiaW5hcnkgZm91bmQgaW4gPGJ1aWxkPi9S
ZWxlYXNlIgogICAgICAgICBleGl0IDEKICAgICBlbmQKQEAgLTExNSwyMCArMTM1LDMwIEBAIGRl
ZiBnZXRUZXN0cwogICAgICAgICB8IGZpbGVuYW1lIHwKICAgICAgICAgbmV4dCB1bmxlc3MgZmls
ZW5hbWUgPX4gL1wuanMkLwogICAgICAgICBmaWxlUGF0aCA9IGRpclBhdGguam9pbihmaWxlbmFt
ZSkudG9fcworICAgICAgICBmaWxlUGF0aCA9IFBhdGhuYW1lLm5ldygkc2NyaXB0UGF0aCkuam9p
bihmaWxlbmFtZSkudG9fcyBpZiAkc2NyaXB0UGF0aAogICAgICAgICBmaWxlcy5wdXNoKFtmaWxl
UGF0aCwgaXRlcmF0aW9uQ291bnQoZmlsZVBhdGgpXSkKICAgICB9CiAKICAgICBmaWxlcy5zb3J0
X2J5IHsgfCAocGF0aCkgfCBGaWxlLmJhc2VuYW1lKHBhdGgpIH0KIGVuZAogCi1kZWYgZ2VvbWVh
bihhcnIpCi0gICAgc2NvcmUgPSBhcnIuaW5qZWN0KDEuMCwgOiopCi0gICAgc2NvcmUgKiogKDEu
MCAvIGFyci5sZW5ndGgpCi1lbmQKK2RlZiBwcm9jZXNzUnVuT3V0cHV0KHN0ZG91dCwgcGF0aCkK
KyAgICB0aW1lLCBwZWFrRm9vdHByaW50LCBmb290cHJpbnRBdEVuZCA9IHN0ZG91dC5zcGxpdCgi
XG4iKQorICAgIHJhaXNlIHVubGVzcyB0aW1lLnNsaWNlISgidGltZToiKQorICAgIHJhaXNlIHVu
bGVzcyBwZWFrRm9vdHByaW50LnNsaWNlISgicGVhayBmb290cHJpbnQ6IikKKyAgICByYWlzZSB1
bmxlc3MgZm9vdHByaW50QXRFbmQuc2xpY2UhKCJmb290cHJpbnQgYXQgZW5kOiIpCisgICAgdGlt
ZSA9IHRpbWUudG9fZgorICAgIHBlYWtGb290cHJpbnQgPSBwZWFrRm9vdHByaW50LnRvX2YKKyAg
ICBmb290cHJpbnRBdEVuZCA9IGZvb3RwcmludEF0RW5kLnRvX2YKIAotZGVmIG1lYW4oYXJyKQot
ICAgIHN1bSA9IGFyci5pbmplY3QoMC4wLCA6KykKLSAgICBzdW0gLyBhcnIubGVuZ3RoCisgICAg
aWYgJHZlcmJvc2UKKyAgICAgICAgcHV0cyBwYXRoCisgICAgICAgIHB1dHMgInRpbWU6ICN7dGlt
ZX0iCisgICAgICAgIHB1dHMgInBlYWsgZm9vdHByaW50OiAje3BlYWtGb290cHJpbnQvMTAyNC8x
MDI0fSBNQiIKKyAgICAgICAgcHV0cyAiZW5kIGZvb3RwcmludDogICN7Zm9vdHByaW50QXRFbmQv
MTAyNC8xMDI0fSBNQlxuIgorICAgIGVuZAorCisgICAgeyJ0aW1lIj0+dGltZSwgInBlYWsiPT5w
ZWFrRm9vdHByaW50LCAiZW5kIj0+Zm9vdHByaW50QXRFbmR9CiBlbmQKIAogZGVmIHJ1blRlc3Qo
cGF0aCwgaXRlcnMpCkBAIC0xMzgsNiArMTY4LDE2IEBAIGRlZiBydW5UZXN0KHBhdGgsIGl0ZXJz
KQogICAgICAgICAiSlNDX3VzZUpJVCIgPT4gImZhbHNlIiwKICAgICAgICAgIkpTQ191c2VSZWdF
eHBKSVQiID0+ICJmYWxzZSIsCiAgICAgfQorCisgICAgaWYgJGRyeVJ1bgorICAgICAgICBlbnZp
cm9ubWVudC5lYWNoIHsgfCBrZXksIHZhbHVlIHwKKyAgICAgICAgICAgIGNvbW1hbmQgPSAiI3tr
ZXl9PSN7dmFsdWV9ICN7Y29tbWFuZH0iCisgICAgICAgIH0KKyAgICAgICAgcHV0cyAiZWNobyBc
IiN7Y29tbWFuZH1cIiIKKyAgICAgICAgcHV0cyBjb21tYW5kCisgICAgICAgIHJldHVybgorICAg
IGVuZAorCiAgICAgc3Rkb3V0LCBzdGRlcnIsIGV4aXRDb2RlID0gT3BlbjMuY2FwdHVyZTMoZW52
aXJvbm1lbnQsIGNvbW1hbmQpCiAKICAgICBpZiAkdmVyYm9zZQpAQCAtMTUyLDM5ICsxOTIsMjAg
QEAgZGVmIHJ1blRlc3QocGF0aCwgaXRlcnMpCiAgICAgICAgIGV4aXQgMQogICAgIGVuZAogCi0g
ICAgdGltZSwgcGVha0Zvb3RwcmludCwgZm9vdHByaW50QXRFbmQgPSBzdGRvdXQuc3BsaXQoIlxu
IikKLSAgICByYWlzZSB1bmxlc3MgdGltZS5zbGljZSEoInRpbWU6IikKLSAgICByYWlzZSB1bmxl
c3MgcGVha0Zvb3RwcmludC5zbGljZSEoInBlYWsgZm9vdHByaW50OiIpCi0gICAgcmFpc2UgdW5s
ZXNzIGZvb3RwcmludEF0RW5kLnNsaWNlISgiZm9vdHByaW50IGF0IGVuZDoiKQotICAgIHRpbWUg
PSB0aW1lLnRvX2YKLSAgICBwZWFrRm9vdHByaW50ID0gcGVha0Zvb3RwcmludC50b19mCi0gICAg
Zm9vdHByaW50QXRFbmQgPSBmb290cHJpbnRBdEVuZC50b19mCi0KLSAgICBpZiAkdmVyYm9zZQot
ICAgICAgICBwdXRzIHBhdGgKLSAgICAgICAgcHV0cyAidGltZTogI3t0aW1lfSIKLSAgICAgICAg
cHV0cyAicGVhayBmb290cHJpbnQ6ICN7cGVha0Zvb3RwcmludC8xMDI0LzEwMjR9IE1CIgotICAg
ICAgICBwdXRzICJlbmQgZm9vdHByaW50OiAgI3tmb290cHJpbnRBdEVuZC8xMDI0LzEwMjR9IE1C
XG4iCi0gICAgZW5kCi0KLSAgICB7InRpbWUiPT50aW1lLCAicGVhayI9PnBlYWtGb290cHJpbnQs
ICJlbmQiPT5mb290cHJpbnRBdEVuZH0KKyAgICBwcm9jZXNzUnVuT3V0cHV0KHN0ZG91dCwgcGF0
aCkKIGVuZAogCi1kZWYgcnVuCi0gICAgdGVzdHMgPSBnZXRUZXN0cwotICAgIHNjb3JlcyA9IHt9
Ci0gICAgdGVzdHMuZWFjaCB7IHwgKHBhdGgpIHwgc2NvcmVzW3BhdGhdID0gW10gfQotICAgIGNv
dW50ID0gJG91dGVySXRlcmF0aW9ucwotICAgICgwLi4oY291bnQtMSkpLmVhY2ggeyB8IGN1cnJl
bnRJdGVyIHwKLSAgICAgICAgdGVzdHMuZWFjaCB7IHwgKHBhdGgsIGl0ZXJzKSB8IAotICAgICAg
ICAgICAgc3RhdHVzVG9QcmludCA9ICJpdGVyYXRpb24gI3tjdXJyZW50SXRlciArIDF9OiAje0Zp
bGUuYmFzZW5hbWUocGF0aCwgIi5qcyIpfSIKLSAgICAgICAgICAgIHByaW50ICIje3N0YXR1c1Rv
UHJpbnR9XHIiCi0gICAgICAgICAgICBzY29yZXNbcGF0aF0ucHVzaChydW5UZXN0KHBhdGgsIGl0
ZXJzKSkKLSAgICAgICAgICAgIHByaW50ICIjeyIgIi5yanVzdChzdGF0dXNUb1ByaW50Lmxlbmd0
aCl9XHIiCitkZWYgZ2VvbWVhbihhcnIpCisgICAgc2NvcmUgPSBhcnIuaW5qZWN0KDEuMCwgOiop
CisgICAgc2NvcmUgKiogKDEuMCAvIGFyci5sZW5ndGgpCitlbmQKIAotICAgICAgICB9Ci0gICAg
fQorZGVmIG1lYW4oYXJyKQorICAgIHN1bSA9IGFyci5pbmplY3QoMC4wLCA6KykKKyAgICBzdW0g
LyBhcnIubGVuZ3RoCitlbmQKIAorZGVmIHByb2Nlc3NTY29yZXMoc2NvcmVzKQogICAgIHBlYWtT
Y29yZSA9IFtdCiAgICAgZW5kU2NvcmUgPSBbXQogICAgIHRpbWVTY29yZSA9IFtdCkBAIC0yMTYs
NCArMjM3LDU1IEBAIGRlZiBydW4KICAgICBwdXRzIEpTT04ucHJldHR5X2dlbmVyYXRlKHNjb3Jl
cykgaWYgJHZlcmJvc2UKIGVuZAogCi1ydW4KK2RlZiBydW4KKyAgICB0ZXN0cyA9IGdldFRlc3Rz
CisgICAgc2NvcmVzID0ge30KKyAgICB0ZXN0cy5lYWNoIHsgfCAocGF0aCkgfCBzY29yZXNbcGF0
aF0gPSBbXSB9CisgICAgY291bnQgPSAkb3V0ZXJJdGVyYXRpb25zCisKKyAgICBpZiAkZHJ5UnVu
CisgICAgICAgICgwLi4oY291bnQtMSkpLmVhY2ggeyB8IGN1cnJlbnRJdGVyIHwKKyAgICAgICAg
ICAgIHRlc3RzLmVhY2ggeyB8IChwYXRoLCBpdGVycykgfCAKKyAgICAgICAgICAgICAgICBydW5U
ZXN0KHBhdGgsIGl0ZXJzKQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVy
bgorICAgIGVuZAorCisgICAgKDAuLihjb3VudC0xKSkuZWFjaCB7IHwgY3VycmVudEl0ZXIgfAor
ICAgICAgICB0ZXN0cy5lYWNoIHsgfCAocGF0aCwgaXRlcnMpIHwgCisgICAgICAgICAgICBzdGF0
dXNUb1ByaW50ID0gIml0ZXJhdGlvbiAje2N1cnJlbnRJdGVyICsgMX06ICN7RmlsZS5iYXNlbmFt
ZShwYXRoLCAiLmpzIil9IgorICAgICAgICAgICAgcHJpbnQgIiN7c3RhdHVzVG9QcmludH1cciIK
KyAgICAgICAgICAgIHNjb3Jlc1twYXRoXS5wdXNoKHJ1blRlc3QocGF0aCwgaXRlcnMpKQorICAg
ICAgICAgICAgcHJpbnQgIiN7IiAiLnJqdXN0KHN0YXR1c1RvUHJpbnQubGVuZ3RoKX1cciIKKyAg
ICAgICAgfQorICAgIH0KKworICAgIHByb2Nlc3NTY29yZXMoc2NvcmVzKQorZW5kCisKK2RlZiBw
YXJzZVJlc3VsdE9mRHJ5UnVuKHBhdGgpCisgICAgY29udGVudHMgPSBJTy5yZWFkKHBhdGgpLnNw
bGl0KCJcbiIpCisgICAgaWYgIWNvbnRlbnRzLmxlbmd0aCB8fCBjb250ZW50cy5sZW5ndGggJSA0
ICE9IDAKKyAgICAgICAgcHV0cyAiQmFkIGlucHV0LCBleHBlY3QgbXVsdGlwbGUgb2YgNCBudW1i
ZXIgb2YgbGluZXMgZnJvbSBvdXRwdXQgb2YgcnVubmluZyB0aGUgcmVzdWx0IG9mIC0tZHJ5Igor
ICAgICAgICBleGl0IDEKKyAgICBlbmQKKworICAgIHNjb3JlcyA9IHt9CisgICAgaSA9IDAKKyAg
ICB3aGlsZSBpIDwgY29udGVudHMubGVuZ3RoCisgICAgICAgIHBhdGggPSBjb250ZW50c1tpICsg
MF0uc3BsaXQoIiAiKVstMl0KKyAgICAgICAgc2NvcmVzW3BhdGhdID0gW10gaWYgIXNjb3Jlc1tw
YXRoXQorICAgICAgICBzdGRvdXQgPSBbY29udGVudHNbaSArIDFdLCBjb250ZW50c1tpICsgMl0s
IGNvbnRlbnRzW2kgKyAzXV0uam9pbigiXG4iKQorICAgICAgICBzY29yZXNbcGF0aF0ucHVzaChw
cm9jZXNzUnVuT3V0cHV0KHN0ZG91dCwgcGF0aCkpCisgICAgICAgIGkgKz0gNAorICAgIGVuZAor
CisgICAgcHJvY2Vzc1Njb3JlcyhzY29yZXMpCitlbmQKKworaWYgJHBhcnNlUGF0aAorICAgIHBh
cnNlUmVzdWx0T2ZEcnlSdW4oJHBhcnNlUGF0aCkKK2Vsc2UKKyAgICBydW4KK2VuZAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>