<?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>88944</bug_id>
          
          <creation_ts>2012-06-12 19:21:17 -0700</creation_ts>
          <short_desc>nrwt: restructure the port classes to handle multiple expectations files</short_desc>
          <delta_ts>2012-06-13 12:40:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>
          <dependson>88942</dependson>
          <blocked>65834</blocked>
    
    <blocked>88946</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>647598</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-12 19:21:17 -0700</bug_when>
    <thetext>nrwt: restructure the port classes to handle multiple expectations files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647602</commentid>
    <comment_count>1</comment_count>
      <attachid>147215</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-12 19:26:36 -0700</bug_when>
    <thetext>Created attachment 147215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648132</commentid>
    <comment_count>2</comment_count>
      <attachid>147215</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-06-13 09:30:05 -0700</bug_when>
    <thetext>Comment on attachment 147215
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:924
&gt; +    def test_expectations(self):

Add a FIXME to remove this?

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:931
&gt;      def test_expectations_overrides(self):

Add a FIXME to remove this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648202</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-13 10:19:34 -0700</bug_when>
    <thetext>Will do. Obviously, they get removed later in this series of patches, but better to be safe in the meantime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648370</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-13 12:40:59 -0700</bug_when>
    <thetext>Committed r120236: &lt;http://trac.webkit.org/changeset/120236&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147215</attachid>
            <date>2012-06-12 19:26:36 -0700</date>
            <delta_ts>2012-06-13 09:30:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88944-20120612192636.patch</filename>
            <type>text/plain</type>
            <size>24149</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODA0ZjAyNzUzZjFkNDRmMjJlYTAxODg5ZjNiOWI4Y2Q1
MDZhZWVmZS4uNzk2MjhlZTg1ODA3YzE3ZjUzNGY3NGI5YWM3NzU1MTlmNGU2ZWI3NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYz
IEBACiAyMDEyLTA2LTEyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIG5yd3Q6IHJlc3RydWN0dXJlIHRoZSBwb3J0IGNsYXNzZXMgdG8gaGFuZGxlIG11bHRp
cGxlIGV4cGVjdGF0aW9ucyBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODg5NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlc3RydWN0dXJlcyB0aGUgUG9ydCBjbGFzc2VzIHNv
IHRoYXQgZWFjaCBwb3J0CisgICAgICAgIHJldHVybnMgYSBsaXN0IG9mIFRlc3RFeHBlY3RhdGlv
bnMgZmlsZXMgdG8gYmUgdXNlZCAoaW4gYSBuZXcsIHB1YmxpYywKKyAgICAgICAgZXhwZWN0YXRp
b25zX2ZpbGVzKCkgbWV0aG9kKSwgYW5kIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIHJvbGxzIHRo
ZW0KKyAgICAgICAgdXAgaW50byB0aGUgb3JkZXJlZCBleHBlY3RhdGlvbnNfZGljdCgpLCB3aGlj
aCBiZWNvbWVzIGEgcHVibGljCisgICAgICAgIG1ldGhvZC4KKworICAgICAgICBwb3J0LnBhdGhf
dG9fdGVzdF9leHBlY3RhdGlvbnNfZmlsZSgpLCBwb3J0LnRlc3RfZXhwZWN0YXRpb25zKCksCisg
ICAgICAgIGFuZCBwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpIGFyZSB0aGVuIHJl
aW1wbGVtZW50ZWQgYXMKKyAgICAgICAgd3JhcHBlcnMgYXJvdW5kIHBvcnQuZXhwZWN0YXRpb25z
X2RpY3QoKS4KKyAgICAgICAgcG9ydC50ZXN0X2V4cGVjdGF0aW9ucygpIGFuZCBwb3J0LnRlc3Rf
ZXhwZWN0YXRpb25zX292ZXJyaWRlcygpCisgICAgICAgIHdpbGwgZXZlbnR1YWxseSBiZSByZW1v
dmVkIHdoZW4gdGhlIGNhc2NhZGUgaXMgZnVsbHkgY29tcGxldGVkLAorICAgICAgICBhbmQgcG9y
dC5wYXRoX3RvX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKSB3aWxsIGJlIHJlbW92ZWQgd2hlbgor
ICAgICAgICB0aGUgcmViYXNlbGluaW5nIHRvb2wgc3VwcG9ydHMgdGhlIGNhc2NhZGUKKyAgICAg
ICAgKGV4cGVjdGF0aW9uc19maWxlcygpIG1heSBhbHNvIGJlY29tZSBwcml2YXRlIGF0IHRoYXQg
cG9pbnQpLgorCisgICAgICAgIFRoZXJlIHNob3VsZCBiZSBubyBmdW5jdGlvbmFsIGNoYW5nZXMg
aW4gdGhpcyBwYXRjaCwgYnV0IGEgYnVuY2gKKyAgICAgICAgb2YgY3VzdG9tIGxvZ2ljIGdldHMg
ZGVsZXRlZCEKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
YmFzZS5weToKKyAgICAgICAgKFBvcnQuZXhwZWN0YXRpb25zX2RpY3QpOgorICAgICAgICAoUG9y
dCk6CisgICAgICAgIChQb3J0LmV4cGVjdGF0aW9uc19maWxlcyk6CisgICAgICAgIChQb3J0LnRl
c3RfZXhwZWN0YXRpb25zKToKKyAgICAgICAgKFBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJp
ZGVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Vf
dW5pdHRlc3QucHk6CisgICAgICAgIChQb3J0VGVzdC50ZXN0X2FkZGl0aW9uYWxfZXhwZWN0YXRp
b25zKToKKyAgICAgICAgKFBvcnRUZXN0LnRlc3RfdXNlc190ZXN0X2V4cGVjdGF0aW9uc19maWxl
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
LnB5OgorICAgICAgICAoQ2hyb21pdW1Qb3J0LmFsbF9iYXNlbGluZV92YXJpYW50cyk6CisgICAg
ICAgIChDaHJvbWl1bVBvcnQuZXhwZWN0YXRpb25zX2ZpbGVzKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5OgorICAgICAg
ICAoQ2hyb21pdW1Qb3J0VGVzdC50ZXN0X292ZXJyaWRlc19hbmRfYnVpbGRlcl9uYW1lcyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9nb29nbGVfY2hyb21l
LnB5OgorICAgICAgICAoX2V4cGVjdGF0aW9uc19maWxlcyk6CisgICAgICAgIChHb29nbGVDaHJv
bWVMaW51eDMyUG9ydC5leHBlY3RhdGlvbnNfZmlsZXMpOgorICAgICAgICAoR29vZ2xlQ2hyb21l
TGludXg2NFBvcnQuZXhwZWN0YXRpb25zX2ZpbGVzKToKKyAgICAgICAgKEdvb2dsZUNocm9tZU1h
Y1BvcnQuZXhwZWN0YXRpb25zX2ZpbGVzKToKKyAgICAgICAgKEdvb2dsZUNocm9tZVdpblBvcnQu
ZXhwZWN0YXRpb25zX2ZpbGVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2dvb2dsZV9jaHJvbWVfdW5pdHRlc3QucHk6CisgICAgICAgIChUZXN0R29vZ2xl
Q2hyb21lUG9ydC5fdmVyaWZ5X2V4cGVjdGF0aW9uc19vdmVycmlkZXMpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcG9ydF90ZXN0Y2FzZS5weToKKyAgICAg
ICAgKFBvcnRUZXN0Q2FzZS50ZXN0X2V4cGVjdGF0aW9uc19vcmRlcmluZyk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHk6CisgICAgICAgIChX
ZWJLaXRQb3J0Ll9za2lwcGVkX2ZpbGVfc2VhcmNoX3BhdGhzKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZV91bml0dGVzdC5weToKKyAgICAgICAg
KFRlc3RSZWJhc2VsaW5lLnRlc3RfcmViYXNlbGluZV91cGRhdGVzX2V4cGVjdGF0aW9uc19maWxl
X25vb3ApOgorICAgICAgICAodGVzdF9yZWJhc2VsaW5lX3VwZGF0ZXNfZXhwZWN0YXRpb25zX2Zp
bGUpOgorICAgICAgICAodGVzdF9yZWJhc2VsaW5lX2RvZXNfbm90X2luY2x1ZGVfb3ZlcnJpZGVz
KToKKyAgICAgICAgKHRlc3RfcmViYXNlbGluZV9leHBlY3RhdGlvbnMpOgorICAgICAgICAodGVz
dF9vdmVycmlkZXNfYXJlX2luY2x1ZGVkX2NvcnJlY3RseSk6CisKKzIwMTItMDYtMTIgIERpcmsg
UHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgbnJ3dDogcHJlbGltaW5h
cnkgY2xlYW51cCBiZWZvcmUgc3VwcG9ydGluZyBjYXNjYWRpbmcgZXhwZWN0YXRpb25zIGZpbGVz
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODk0Mgog
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jh
c2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkK
aW5kZXggZDBlZjQ3MDVkZTFiZGFlNmE5NzlkNGY3MzY2NWYyYTE2ZTI0ZDkwOS4uOTUxYzk1ODRl
ODI0YTY4MjYwMTZkMWNhODY0NjA2N2NhMzY5MjgzYSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAtODk0LDcgKzg5NCw3IEBAIGNs
YXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgIyBzb21lIHBvcnRzIGhhdmUgU2tpcHBlZCBmaWxl
cyB3aGljaCBhcmUgcmV0dXJuZWQgYXMgcGFydCBvZiB0ZXN0X2V4cGVjdGF0aW9ucygpLgogICAg
ICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5wYXRoX3RvX3Rlc3RfZXhw
ZWN0YXRpb25zX2ZpbGUoKSkKIAotICAgIGRlZiBfZXhwZWN0YXRpb25zX2RpY3Qoc2VsZik6Cisg
ICAgZGVmIGV4cGVjdGF0aW9uc19kaWN0KHNlbGYpOgogICAgICAgICAiIiJSZXR1cm5zIGFuIE9y
ZGVyZWREaWN0IG9mIG5hbWUgLT4gZXhwZWN0YXRpb25zIHN0cmluZ3MuIFRoZSBuYW1lcwogICAg
ICAgICBhcmUgZXhwZWN0ZWQgdG8gYmUgKGJ1dCBub3QgcmVxdWlyZWQgdG8gYmUpIHBhdGhzIGlu
IHRoZSBmaWxlc3lzdGVtLgogICAgICAgICBJZiB0aGUgbmFtZSBpcyBhIHBhdGgsIHRoZSBmaWxl
IGNhbiBiZSBjb25zaWRlcmVkIHVwZGF0YWJsZSBmb3IgdGhpbmdzCkBAIC05MDQsMjkgKzkwNCwy
OSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIGhvbm9ycyBib3RoIGZvcm1hdHMpLCB0
aGVuIGFueSBidWlsdC1pbiBleHBlY3RhdGlvbnMgKGUuZy4sIGZyb20gY29tcGlsZS10aW1lCiAg
ICAgICAgIGV4Y2x1c2lvbnMpLCB0aGVuIC0tYWRkaXRpb25hbC1leHBlY3RhdGlvbnMgb3B0aW9u
cy4iIiIKICAgICAgICAgIyBGSVhNRTogcmVuYW1lIHRoaXMgdG8gdGVzdF9leHBlY3RhdGlvbnMo
KSBvbmNlIGFsbCB0aGUgY2FsbGVycyBhcmUgdXBkYXRlZCB0byBrbm93IGFib3V0IHRoZSBvcmRl
cmVkIGRpY3QuCi0gICAgICAgIG92ZXJyaWRlcyA9IE9yZGVyZWREaWN0KCkKLSAgICAgICAgcGF0
aCA9IHNlbGYucGF0aF90b190ZXN0X2V4cGVjdGF0aW9uc19maWxlKCkKLSAgICAgICAgb3ZlcnJp
ZGVzW3BhdGhdID0gc2VsZi5fZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShwYXRoKQotICAgICAg
ICByZXR1cm4gb3ZlcnJpZGVzCisgICAgICAgIGV4cGVjdGF0aW9ucyA9IE9yZGVyZWREaWN0KCkK
IAotICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9ucyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyB0
aGUgdGVzdCBleHBlY3RhdGlvbnMgZm9yIHRoaXMgcG9ydC4KLQotICAgICAgICBCYXNpY2FsbHkg
dGhpcyBzdHJpbmcgc2hvdWxkIGNvbnRhaW4gdGhlIGVxdWl2YWxlbnQgb2YgYQotICAgICAgICB0
ZXN0X2V4cGVjdGF0aW9ucyBmaWxlLiBTZWUgdGVzdF9leHBlY3RhdGlvbnMucHkgZm9yIG1vcmUg
ZGV0YWlscy4iIiIKLSAgICAgICAgcmV0dXJuICcnLmpvaW4oc2VsZi5fZXhwZWN0YXRpb25zX2Rp
Y3QoKS52YWx1ZXMoKSkKKyAgICAgICAgZm9yIHBhdGggaW4gc2VsZi5leHBlY3RhdGlvbnNfZmls
ZXMoKToKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uc1twYXRoXSA9IHNlbGYuX2ZpbGVzeXN0ZW0u
cmVhZF90ZXh0X2ZpbGUocGF0aCkKIAotICAgIGRlZiBfZXhwZWN0YXRpb25zX292ZXJyaWRlc19k
aWN0KHNlbGYpOgotICAgICAgICAjIEZJWE1FOiBtZXJnZSB0aGlzIGludG8gdGVzdF9leHBlY3Rh
dGlvbnMoKSB3aGVuIF9leHBlY3RhdGlvbnNfZGljdCgpIGlzIHJlbmFtZWQuCi0gICAgICAgIG92
ZXJyaWRlcyA9IE9yZGVyZWREaWN0KCkKICAgICAgICAgZm9yIHBhdGggaW4gc2VsZi5nZXRfb3B0
aW9uKCdhZGRpdGlvbmFsX2V4cGVjdGF0aW9ucycsIFtdKToKICAgICAgICAgICAgIGV4cGFuZGVk
X3BhdGggPSBzZWxmLl9maWxlc3lzdGVtLmV4cGFuZHVzZXIocGF0aCkKICAgICAgICAgICAgIGlm
IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKGV4cGFuZGVkX3BhdGgpOgogICAgICAgICAgICAgICAg
IF9sb2cuZGVidWcoInJlYWRpbmcgYWRkaXRpb25hbF9leHBlY3RhdGlvbnMgZnJvbSBwYXRoICcl
cyciICUgcGF0aCkKLSAgICAgICAgICAgICAgICBvdmVycmlkZXNbcGF0aF0gPSBzZWxmLl9maWxl
c3lzdGVtLnJlYWRfdGV4dF9maWxlKHBhdGgpCisgICAgICAgICAgICAgICAgZXhwZWN0YXRpb25z
W3BhdGhdID0gc2VsZi5fZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShleHBhbmRlZF9wYXRoKQog
ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoImFkZGl0aW9u
YWxfZXhwZWN0YXRpb25zIHBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIgJSBwYXRoKQotICAgICAg
ICByZXR1cm4gb3ZlcnJpZGVzCisgICAgICAgIHJldHVybiBleHBlY3RhdGlvbnMKKworICAgIGRl
ZiBleHBlY3RhdGlvbnNfZmlsZXMoc2VsZik6CisgICAgICAgIHJldHVybiBbc2VsZi5wYXRoX3Rv
X3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKV0KKworICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9ucyhz
ZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgdGVzdCBleHBlY3RhdGlvbnMgZm9yIHRoaXMg
cG9ydC4KKworICAgICAgICBCYXNpY2FsbHkgdGhpcyBzdHJpbmcgc2hvdWxkIGNvbnRhaW4gdGhl
IGVxdWl2YWxlbnQgb2YgYQorICAgICAgICB0ZXN0X2V4cGVjdGF0aW9ucyBmaWxlLiBTZWUgdGVz
dF9leHBlY3RhdGlvbnMucHkgZm9yIG1vcmUgZGV0YWlscy4iIiIKKyAgICAgICAgcmV0dXJuIHNl
bGYuZXhwZWN0YXRpb25zX2RpY3QoKS52YWx1ZXMoKVswXQogCiAgICAgZGVmIHRlc3RfZXhwZWN0
YXRpb25zX292ZXJyaWRlcyhzZWxmKToKICAgICAgICAgIiIiUmV0dXJucyBhbiBvcHRpb25hbCBz
ZXQgb2Ygb3ZlcnJpZGVzIGZvciB0aGUgdGVzdF9leHBlY3RhdGlvbnMuCkBAIC05MzUsOSArOTM1
LDggQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBpdCBpcyBwb3NzaWJsZSB0aGF0IHlv
dSBtaWdodCBuZWVkICJkb3duc3RyZWFtIiBleHBlY3RhdGlvbnMgdGhhdAogICAgICAgICB0ZW1w
b3JhcmlseSBvdmVycmlkZSB0aGUgInVwc3RyZWFtIiBleHBlY3RhdGlvbnMgdW50aWwgdGhlIHBv
cnQgY2FuCiAgICAgICAgIHN5bmMgdXAgdGhlIHR3byByZXBvcy4iIiIKLSAgICAgICAgb3ZlcnJp
ZGVzID0gc2VsZi5fZXhwZWN0YXRpb25zX292ZXJyaWRlc19kaWN0KCkKLSAgICAgICAgaWYgb3Zl
cnJpZGVzOgotICAgICAgICAgICAgcmV0dXJuICcnLmpvaW4ob3ZlcnJpZGVzLnZhbHVlcygpKQor
ICAgICAgICBpZiBsZW4oc2VsZi5leHBlY3RhdGlvbnNfZGljdCgpKSA+IDE6CisgICAgICAgICAg
ICByZXR1cm4gJycuam9pbihzZWxmLmV4cGVjdGF0aW9uc19kaWN0KCkudmFsdWVzKClbMTpdKQog
ICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIHJlcG9zaXRvcnlfcGF0aHMoc2VsZik6CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Vf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jh
c2VfdW5pdHRlc3QucHkKaW5kZXggZWZkMDVhZmIxZWE3YjcxOTQyOGQxYTExN2Y4MGFiOTNiY2U1
YzQwYy4uNWExMGU2MDI2MzE4MTkwOTVjYmE4NjVlMmI1M2M5YzA3MGM4MDdhNyAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91
bml0dGVzdC5weQpAQCAtMjgwLDYgKzI4MCw4IEBAIGNsYXNzIFBvcnRUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2FkZGl0aW9uYWxfZXhwZWN0YXRpb25zKHNlbGYpOgog
ICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQocG9ydF9uYW1lPSdmb28nKQorICAgICAgICBw
b3J0LnBvcnRfbmFtZSA9ICdmb28nCisgICAgICAgIHBvcnQuX2ZpbGVzeXN0ZW0ud3JpdGVfdGV4
dF9maWxlKCcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9mb28vVGVzdEV4cGVj
dGF0aW9ucycsICcnKQogCiAgICAgICAgIHBvcnQuX2ZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxl
KAogICAgICAgICAgICAgJy90bXAvYWRkaXRpb25hbC1leHBlY3RhdGlvbnMtMS50eHQnLCAnY29u
dGVudDFcbicpCkBAIC0zMDIsNiArMzA0LDcgQEAgY2xhc3MgUG9ydFRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogCiAgICAgZGVmIHRlc3RfdXNlc190ZXN0X2V4cGVjdGF0aW9uc19maWxlKHNlbGYp
OgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQocG9ydF9uYW1lPSdmb28nKQorICAgICAg
ICBwb3J0LnBvcnRfbmFtZSA9ICdmb28nCiAgICAgICAgIHBvcnQucGF0aF90b190ZXN0X2V4cGVj
dGF0aW9uc19maWxlID0gbGFtYmRhOiAnL21vY2stcmVzdWx0cy90ZXN0X2V4cGVjdGF0aW9ucy50
eHQnCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocG9ydC51c2VzX3Rlc3RfZXhwZWN0YXRpb25z
X2ZpbGUoKSkKICAgICAgICAgcG9ydC5fZmlsZXN5c3RlbSA9IE1vY2tGaWxlU3lzdGVtKHsnL21v
Y2stcmVzdWx0cy90ZXN0X2V4cGVjdGF0aW9ucy50eHQnOiAnJ30pCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRleCBmYTQz
MzcwMTU5OWFmMjdiNDFkZGI3OTU4OGE5MjgwNzhhYjcyNzY3Li44MGI5N2Y2ZDI5MDNjNzM2Njk1
NzczZThjOTI5NDU4ZDk0YjNiOTA3IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTMxMCwxNCArMzEwLDYgQEAgY2xh
c3MgQ2hyb21pdW1Qb3J0KFBvcnQpOgogICAgIGRlZiBhbGxfYmFzZWxpbmVfdmFyaWFudHMoc2Vs
Zik6CiAgICAgICAgIHJldHVybiBzZWxmLkFMTF9CQVNFTElORV9WQVJJQU5UUwogCi0gICAgZGVm
IHRlc3RfZXhwZWN0YXRpb25zKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSB0ZXN0IGV4
cGVjdGF0aW9ucyBmb3IgdGhpcyBwb3J0LgotCi0gICAgICAgIEJhc2ljYWxseSB0aGlzIHN0cmlu
ZyBzaG91bGQgY29udGFpbiB0aGUgZXF1aXZhbGVudCBvZiBhCi0gICAgICAgIHRlc3RfZXhwZWN0
YXRpb25zIGZpbGUuIFNlZSB0ZXN0X2V4cGVjdGF0aW9ucy5weSBmb3IgbW9yZSBkZXRhaWxzLiIi
IgotICAgICAgICBleHBlY3RhdGlvbnNfcGF0aCA9IHNlbGYucGF0aF90b190ZXN0X2V4cGVjdGF0
aW9uc19maWxlKCkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0ucmVhZF90ZXh0X2Zp
bGUoZXhwZWN0YXRpb25zX3BhdGgpCi0KICAgICBkZWYgX2dlbmVyYXRlX2FsbF90ZXN0X2NvbmZp
Z3VyYXRpb25zKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm5zIGEgc2VxdWVuY2Ugb2YgdGhlIFRl
c3RDb25maWd1cmF0aW9ucyB0aGUgcG9ydCBzdXBwb3J0cy4iIiIKICAgICAgICAgIyBCeSBkZWZh
dWx0LCB3ZSBhc3N1bWUgd2Ugd2FudCB0byB0ZXN0IGV2ZXJ5IGdyYXBoaWNzIHR5cGUgaW4KQEAg
LTMzNywzNyArMzI5LDEyIEBAIGNsYXNzIENocm9taXVtUG9ydChQb3J0KToKICAgICAgICAgJ3dp
bl9sYXlvdXRfcmVsJywKICAgICBdKQogCi0gICAgZGVmIF9leHBlY3RhdGlvbnNfZmlsZV9jb250
ZW50cyhzZWxmLCBmaWxldHlwZSwgZmlsZXBhdGgpOgotICAgICAgICBpZiBzZWxmLl9maWxlc3lz
dGVtLmV4aXN0cyhmaWxlcGF0aCk6Ci0gICAgICAgICAgICBfbG9nLmRlYnVnKAotICAgICAgICAg
ICAgICAgICJyZWFkaW5nICVzIHRlc3RfZXhwZWN0YXRpb25zIG92ZXJyaWRlcyBmcm9tIGZpbGUg
JyVzJyIgJQotICAgICAgICAgICAgICAgIChmaWxldHlwZSwgZmlsZXBhdGgpKQotICAgICAgICAg
ICAgcmV0dXJuIChzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKGZpbGVwYXRoKSBvciAn
JykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgRklYTUU6IFRoaXMgYWxsb3dzIHRoaXMg
dG8gd29yayB3aXRoIG1vY2sgY2hlY2tvdXRzOwotICAgICAgICAgICAgIyBUaGlzIHByb2JhYmx5
IHNob3VsZG4ndCBiZSB1c2VkIHdpdGggYSBtb2NrIGNoZWNrb3V0LCB0aG91Z2guCi0gICAgICAg
ICAgICBpZiBub3QgJ21vY2stY2hlY2tvdXQnIGluIGZpbGVwYXRoOgotICAgICAgICAgICAgICAg
IF9sb2cud2FybmluZygKLSAgICAgICAgICAgICAgICAgICAgIiVzIHRlc3RfZXhwZWN0YXRpb25z
IG92ZXJyaWRlcyBmaWxlICclcycgZG9lcyBub3QgZXhpc3QiICUKLSAgICAgICAgICAgICAgICAg
ICAgKGZpbGV0eXBlLCBmaWxlcGF0aCkpCi0gICAgICAgICAgICByZXR1cm4gJycKLQotICAgIGRl
ZiB0ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoc2VsZik6Ci0gICAgICAgIGNvbWJpbmVkX292
ZXJyaWRlcyA9ICcnCi0gICAgICAgIGNvbWJpbmVkX292ZXJyaWRlcyArPSBzZWxmLl9leHBlY3Rh
dGlvbnNfZmlsZV9jb250ZW50cygKLSAgICAgICAgICAgICdza2lhJywgc2VsZi5wYXRoX2Zyb21f
Y2hyb21pdW1fYmFzZSgKLSAgICAgICAgICAgICAgICAnc2tpYScsICdza2lhX3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCcpKQotICAgICAgICAjIEZJWE1FOiBJdCBzZWVtcyBiYWQgdGhhdCBydW5fd2Vi
a2l0X3Rlc3RzLnB5IHVzZXMgYSBoYXJkY29kZWQgZHVtbXkKLSAgICAgICAgIyBidWlsZGVyIHN0
cmluZyBpbnN0ZWFkIG9mIGp1c3QgdXNpbmcgTm9uZS4KKyAgICBkZWYgZXhwZWN0YXRpb25zX2Zp
bGVzKHNlbGYpOgorICAgICAgICBwYXRocyA9IFtzZWxmLnBhdGhfdG9fdGVzdF9leHBlY3RhdGlv
bnNfZmlsZSgpLCBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCdza2lhJywgJ3NraWFfdGVz
dF9leHBlY3RhdGlvbnMudHh0JyldCiAgICAgICAgIGJ1aWxkZXJfbmFtZSA9IHNlbGYuZ2V0X29w
dGlvbignYnVpbGRlcl9uYW1lJywgJ0RVTU1ZX0JVSUxERVJfTkFNRScpCiAgICAgICAgIGlmIGJ1
aWxkZXJfbmFtZSA9PSAnRFVNTVlfQlVJTERFUl9OQU1FJyBvciAnKGRlcHMpJyBpbiBidWlsZGVy
X25hbWUgb3IgYnVpbGRlcl9uYW1lIGluIHNlbGYudHJ5X2J1aWxkZXJfbmFtZXM6Ci0gICAgICAg
ICAgICBjb21iaW5lZF9vdmVycmlkZXMgKz0gc2VsZi5fZXhwZWN0YXRpb25zX2ZpbGVfY29udGVu
dHMoCi0gICAgICAgICAgICAgICAgJ2Nocm9taXVtJywgc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1f
YmFzZSgKLSAgICAgICAgICAgICAgICAgICAgJ3dlYmtpdCcsICd0b29scycsICdsYXlvdXRfdGVz
dHMnLCAndGVzdF9leHBlY3RhdGlvbnMudHh0JykpCi0KLSAgICAgICAgYmFzZV9vdmVycmlkZXMg
PSBzdXBlcihDaHJvbWl1bVBvcnQsIHNlbGYpLnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygp
Ci0gICAgICAgIGNvbWJpbmVkX292ZXJyaWRlcyArPSAoYmFzZV9vdmVycmlkZXMgb3IgJycpCi0g
ICAgICAgIHJldHVybiBjb21iaW5lZF9vdmVycmlkZXMKKyAgICAgICAgICAgIHBhdGhzLmFwcGVu
ZChzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd3ZWJraXQnLCAndG9vbHMnLCAnbGF5b3V0
X3Rlc3RzJywgJ3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpKQorICAgICAgICByZXR1cm4gcGF0aHMK
IAogICAgIGRlZiByZXBvc2l0b3J5X3BhdGhzKHNlbGYpOgogICAgICAgICByZXBvcyA9IHN1cGVy
KENocm9taXVtUG9ydCwgc2VsZikucmVwb3NpdG9yeV9wYXRocygpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0
dGVzdC5weQppbmRleCA4NDBiNDA4NTVjYjgwNWIxMzAyYjNiNzkxYjYzZTU3MGU1NmM2YmFiLi45
ZGRjN2FiNTU3NzBlMDNmMzNlMTE2MWRlMzgwNDNkMjY1Mjk3NzFjIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
dW5pdHRlc3QucHkKQEAgLTI5NCw4ICsyOTQsMTEgQEAgY2xhc3MgQ2hyb21pdW1Qb3J0VGVzdChw
b3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9vdmVycmlkZXNfYW5k
X2J1aWxkZXJfbmFtZXMoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCisg
ICAgICAgIHBvcnQucG9ydF9uYW1lID0gJ2Nocm9taXVtJwogCiAgICAgICAgIGZpbGVzeXN0ZW0g
PSBNb2NrRmlsZVN5c3RlbSgpCisgICAgICAgIGZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKCcv
bW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zJywgJycpCisKICAgICAgICAgcG9ydC5fZmlsZXN5c3RlbSA9IGZpbGVzeXN0ZW0KICAgICAg
ICAgcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSA9IGxhbWJkYSAqY29tcHM6ICcvJyArICcv
Jy5qb2luKGNvbXBzKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2dvb2dsZV9jaHJvbWUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2dvb2dsZV9jaHJvbWUucHkKaW5kZXggNmQ1ZDkyNzZiOWU0ZGE3MzJl
MGVmMjgzMGFiZTEyOGYwZDE3NmM1MS4uOGQyZGYwZWU5OGM0MmUzMWFjY2M0Y2I3MGZiMjcwOTk3
MWFlNjliMSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9nb29nbGVfY2hyb21lLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvZ29vZ2xlX2Nocm9tZS5weQpAQCAtMjksMjEgKzI5LDggQEAgaW1wb3J0IGNo
cm9taXVtX21hYwogaW1wb3J0IGNocm9taXVtX3dpbgogCiAKLWRlZiBfdGVzdF9leHBlY3RhdGlv
bnNfb3ZlcnJpZGVzKHBvcnQsIHN1cGVyKToKLSAgICAjIFRoZSBjaHJvbWUgcG9ydHMgdXNlIHRo
ZSByZWd1bGFyIG92ZXJyaWRlcyBwbHVzIGFueXRoaW5nIGluIHRoZQotICAgICMgb2ZmaWNpYWwg
dGVzdF9leHBlY3RhdGlvbnMgYXMgd2VsbC4gSG9wZWZ1bGx5IHdlIGRvbid0IGdldCBjb2xsaXNp
b25zLgotICAgIGNocm9taXVtX292ZXJyaWRlcyA9IHN1cGVyLnRlc3RfZXhwZWN0YXRpb25zX292
ZXJyaWRlcyhwb3J0KQotCi0gICAgIyBGSVhNRTogSXQgdXNlZCB0byBiZSB0aGF0IEFzc2VydGlv
bkVycm9yIHdvdWxkIGdldCByYWlzZWQgYnkKLSAgICAjIHBhdGhfZnJvbV9jaHJvbWl1bV9iYXNl
KCkgaWYgd2Ugd2VyZW4ndCBpbiBhIENocm9taXVtIGNoZWNrb3V0LCBidXQKLSAgICAjIHRoaXMg
Y2hhbmdlZCBpbiByNjA0MjcuIFRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIGNoYW5nZWQgYmFjay4K
LSAgICBvdmVycmlkZXNfcGF0aCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoJ3dlYmtp
dCcsICd0b29scycsCi0gICAgICAgICAgICAnbGF5b3V0X3Rlc3RzJywgJ3Rlc3RfZXhwZWN0YXRp
b25zX2Nocm9tZS50eHQnKQotICAgIGlmIG5vdCBwb3J0Ll9maWxlc3lzdGVtLmV4aXN0cyhvdmVy
cmlkZXNfcGF0aCk6Ci0gICAgICAgIHJldHVybiBjaHJvbWl1bV9vdmVycmlkZXMKLQotICAgIGNo
cm9taXVtX292ZXJyaWRlcyA9IGNocm9taXVtX292ZXJyaWRlcyBvciAnJwotICAgIHJldHVybiBj
aHJvbWl1bV9vdmVycmlkZXMgKyBwb3J0Ll9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKG92ZXJy
aWRlc19wYXRoKQorZGVmIF9leHBlY3RhdGlvbnNfZmlsZXMocG9ydCwgc3VwZXIpOgorICAgIHJl
dHVybiBzdXBlci5leHBlY3RhdGlvbnNfZmlsZXMocG9ydCkgKyBbcG9ydC5wYXRoX2Zyb21fY2hy
b21pdW1fYmFzZSgnd2Via2l0JywgJ3Rvb2xzJywgJ2xheW91dF90ZXN0cycsICd0ZXN0X2V4cGVj
dGF0aW9uc19jaHJvbWUudHh0JyldCiAKIAogY2xhc3MgR29vZ2xlQ2hyb21lTGludXgzMlBvcnQo
Y2hyb21pdW1fbGludXguQ2hyb21pdW1MaW51eFBvcnQpOgpAQCAtNTksOCArNDYsOCBAQCBjbGFz
cyBHb29nbGVDaHJvbWVMaW51eDMyUG9ydChjaHJvbWl1bV9saW51eC5DaHJvbWl1bUxpbnV4UG9y
dCk6CiAgICAgICAgIHBhdGhzLmluc2VydCgwLCBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCgn
Z29vZ2xlLWNocm9tZS1saW51eDMyJykpCiAgICAgICAgIHJldHVybiBwYXRocwogCi0gICAgZGVm
IHRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIF90ZXN0
X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoc2VsZiwgY2hyb21pdW1fbGludXguQ2hyb21pdW1MaW51
eFBvcnQpCisgICAgZGVmIGV4cGVjdGF0aW9uc19maWxlcyhzZWxmKToKKyAgICAgICAgcmV0dXJu
IF9leHBlY3RhdGlvbnNfZmlsZXMoc2VsZiwgY2hyb21pdW1fbGludXguQ2hyb21pdW1MaW51eFBv
cnQpCiAKICAgICBkZWYgYXJjaGl0ZWN0dXJlKHNlbGYpOgogICAgICAgICByZXR1cm4gJ3g4NicK
QEAgLTc5LDggKzY2LDggQEAgY2xhc3MgR29vZ2xlQ2hyb21lTGludXg2NFBvcnQoY2hyb21pdW1f
bGludXguQ2hyb21pdW1MaW51eFBvcnQpOgogICAgICAgICBwYXRocy5pbnNlcnQoMCwgc2VsZi5f
d2Via2l0X2Jhc2VsaW5lX3BhdGgoJ2dvb2dsZS1jaHJvbWUtbGludXg2NCcpKQogICAgICAgICBy
ZXR1cm4gcGF0aHMKIAotICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoc2VsZik6
Ci0gICAgICAgIHJldHVybiBfdGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKHNlbGYsIGNocm9t
aXVtX2xpbnV4LkNocm9taXVtTGludXhQb3J0KQorICAgIGRlZiBleHBlY3RhdGlvbnNfZmlsZXMo
c2VsZik6CisgICAgICAgIHJldHVybiBfZXhwZWN0YXRpb25zX2ZpbGVzKHNlbGYsIGNocm9taXVt
X2xpbnV4LkNocm9taXVtTGludXhQb3J0KQogCiAgICAgZGVmIGFyY2hpdGVjdHVyZShzZWxmKToK
ICAgICAgICAgcmV0dXJuICd4ODZfNjQnCkBAIC05OSw4ICs4Niw4IEBAIGNsYXNzIEdvb2dsZUNo
cm9tZU1hY1BvcnQoY2hyb21pdW1fbWFjLkNocm9taXVtTWFjUG9ydCk6CiAgICAgICAgIHBhdGhz
Lmluc2VydCgwLCBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCgnZ29vZ2xlLWNocm9tZS1tYWMn
KSkKICAgICAgICAgcmV0dXJuIHBhdGhzCiAKLSAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfb3Zl
cnJpZGVzKHNlbGYpOgotICAgICAgICByZXR1cm4gX3Rlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRl
cyhzZWxmLCBjaHJvbWl1bV9tYWMuQ2hyb21pdW1NYWNQb3J0KQorICAgIGRlZiBleHBlY3RhdGlv
bnNfZmlsZXMoc2VsZik6CisgICAgICAgIHJldHVybiBfZXhwZWN0YXRpb25zX2ZpbGVzKHNlbGYs
IGNocm9taXVtX21hYy5DaHJvbWl1bU1hY1BvcnQpCiAKIAogY2xhc3MgR29vZ2xlQ2hyb21lV2lu
UG9ydChjaHJvbWl1bV93aW4uQ2hyb21pdW1XaW5Qb3J0KToKQEAgLTExNiw1ICsxMDMsNSBAQCBj
bGFzcyBHb29nbGVDaHJvbWVXaW5Qb3J0KGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQpOgog
ICAgICAgICBwYXRocy5pbnNlcnQoMCwgc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgoJ2dvb2ds
ZS1jaHJvbWUtd2luJykpCiAgICAgICAgIHJldHVybiBwYXRocwogCi0gICAgZGVmIHRlc3RfZXhw
ZWN0YXRpb25zX292ZXJyaWRlcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIF90ZXN0X2V4cGVjdGF0
aW9uc19vdmVycmlkZXMoc2VsZiwgY2hyb21pdW1fd2luLkNocm9taXVtV2luUG9ydCkKKyAgICBk
ZWYgZXhwZWN0YXRpb25zX2ZpbGVzKHNlbGYpOgorICAgICAgICByZXR1cm4gX2V4cGVjdGF0aW9u
c19maWxlcyhzZWxmLCBjaHJvbWl1bV93aW4uQ2hyb21pdW1XaW5Qb3J0KQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9nb29nbGVfY2hyb21lX3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9nb29n
bGVfY2hyb21lX3VuaXR0ZXN0LnB5CmluZGV4IGM4OGEzMTA4ZWRjMWZjOTRjNTc0M2RhZDJhZmJi
M2RhZDAyMTQyMjAuLjYwYzFiNjliZWIyMjdiY2JjYjQ5YmFhNjg1NGI2MmRiYTBlYTgzODMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ29vZ2xl
X2Nocm9tZV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2dvb2dsZV9jaHJvbWVfdW5pdHRlc3QucHkKQEAgLTM4LDIzICszOCwxMCBAQCBj
bGFzcyBUZXN0R29vZ2xlQ2hyb21lUG9ydCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYg
X3ZlcmlmeV9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKHNlbGYsIHBvcnRfbmFtZSk6CiAgICAgICAg
IGhvc3QgPSBNb2NrU3lzdGVtSG9zdCgpCi0gICAgICAgIGNocm9taXVtX3BvcnQgPSBQb3J0RmFj
dG9yeShob3N0KS5nZXQoImNocm9taXVtLW1hYy1sZW9wYXJkIikKLSAgICAgICAgY2hyb21pdW1f
YmFzZSA9IGNocm9taXVtX3BvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoKQogICAgICAgICBw
b3J0ID0gUG9ydEZhY3RvcnkoaG9zdCkuZ2V0KHBvcnRfbmFtZT1wb3J0X25hbWUsIG9wdGlvbnM9
Tm9uZSkKLQotICAgICAgICBleHBlY3RlZF9jaHJvbWl1bV9vdmVycmlkZXMgPSAnLy8gY2hyb21p
dW0gb3ZlcnJpZGVzXG4nCi0gICAgICAgIGV4cGVjdGVkX2Nocm9tZV9vdmVycmlkZXMgPSAnLy8g
Y2hyb21lIG92ZXJyaWRlc1xuJwotICAgICAgICBjaHJvbWl1bV9wYXRoID0gaG9zdC5maWxlc3lz
dGVtLmpvaW4oY2hyb21pdW1fYmFzZSwgJ3dlYmtpdCcsICd0b29scycsICdsYXlvdXRfdGVzdHMn
LCAndGVzdF9leHBlY3RhdGlvbnMudHh0JykKLSAgICAgICAgY2hyb21lX3BhdGggPSBob3N0LmZp
bGVzeXN0ZW0uam9pbihjaHJvbWl1bV9iYXNlLCAnd2Via2l0JywgJ3Rvb2xzJywgJ2xheW91dF90
ZXN0cycsICd0ZXN0X2V4cGVjdGF0aW9uc19jaHJvbWUudHh0JykKLQotICAgICAgICBob3N0LmZp
bGVzeXN0ZW0uZmlsZXNbY2hyb21pdW1fcGF0aF0gPSBleHBlY3RlZF9jaHJvbWl1bV9vdmVycmlk
ZXMKLSAgICAgICAgaG9zdC5maWxlc3lzdGVtLmZpbGVzW2Nocm9tZV9wYXRoXSA9IE5vbmUKLSAg
ICAgICAgYWN0dWFsX2Nocm9tZV9vdmVycmlkZXMgPSBwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292
ZXJyaWRlcygpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfY2hyb21pdW1fb3Zl
cnJpZGVzLCBhY3R1YWxfY2hyb21lX292ZXJyaWRlcykKLQotICAgICAgICBob3N0LmZpbGVzeXN0
ZW0uZmlsZXNbY2hyb21lX3BhdGhdID0gZXhwZWN0ZWRfY2hyb21lX292ZXJyaWRlcwotICAgICAg
ICBhY3R1YWxfY2hyb21lX292ZXJyaWRlcyA9IHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJp
ZGVzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWxfY2hyb21lX292ZXJyaWRlcywg
ZXhwZWN0ZWRfY2hyb21pdW1fb3ZlcnJpZGVzICsgZXhwZWN0ZWRfY2hyb21lX292ZXJyaWRlcykK
KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdUZXN0RXhwZWN0YXRpb25zJyBpbiBwb3J0LmV4cGVj
dGF0aW9uc19maWxlcygpWzBdKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJ3NraWFfdGVzdF9l
eHBlY3RhdGlvbnMudHh0JyBpbiBwb3J0LmV4cGVjdGF0aW9uc19maWxlcygpWzFdKQorICAgICAg
ICBzZWxmLmFzc2VydFRydWUoJ3Rlc3RfZXhwZWN0YXRpb25zX2Nocm9tZS50eHQnIGluIHBvcnQu
ZXhwZWN0YXRpb25zX2ZpbGVzKClbLTFdKQogCiAgICAgZGVmIHRlc3RfZ2V0X2dvb2dsZV9jaHJv
bWVfcG9ydChzZWxmKToKICAgICAgICAgc2VsZi5fdmVyaWZ5X2Jhc2VsaW5lX3NlYXJjaF9wYXRo
X3N0YXJ0c3dpdGgoJ2dvb2dsZS1jaHJvbWUtbGludXgzMicsIFsnZ29vZ2xlLWNocm9tZS1saW51
eDMyJywgJ2Nocm9taXVtLWxpbnV4LXg4NiddKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IDRiODNj
M2VkMDI3Yjg5ZDE3MWRlYWY1OWI4ZTU1MzcxYWVmOGYzODUuLmYzNzI3M2Y3ODQ3MDNjYzU4Mjdj
ZjJmMzA2MWYyMWM3ZTdjYzkwNmMgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvcG9ydF90ZXN0Y2FzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkKQEAgLTM0MSwyMCArMzQx
LDIwIEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYg
dGVzdF9leHBlY3RhdGlvbnNfb3JkZXJpbmcoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1h
a2VfcG9ydCgpCi0gICAgICAgIHBhdGggPSBwb3J0LnBhdGhfdG9fdGVzdF9leHBlY3RhdGlvbnNf
ZmlsZSgpCi0gICAgICAgIGlmIG5vdCBwb3J0Ll9maWxlc3lzdGVtLmV4aXN0cyhwYXRoKToKKyAg
ICAgICAgZm9yIHBhdGggaW4gcG9ydC5leHBlY3RhdGlvbnNfZmlsZXMoKToKICAgICAgICAgICAg
IHBvcnQuX2ZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBhdGgsICcnKQotICAgICAgICBvcmRl
cmVkX2RpY3QgPSBwb3J0Ll9leHBlY3RhdGlvbnNfZGljdCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKHBhdGgsIG9yZGVyZWRfZGljdC5rZXlzKClbMF0pCisgICAgICAgIG9yZGVyZWRfZGlj
dCA9IHBvcnQuZXhwZWN0YXRpb25zX2RpY3QoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhw
b3J0LnBhdGhfdG9fdGVzdF9leHBlY3RhdGlvbnNfZmlsZSgpLCBvcmRlcmVkX2RpY3Qua2V5cygp
WzBdKQogCi0gICAgZGVmIHRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlc19vcmRlcmluZyhzZWxm
KToKICAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKGFkZGl0aW9uYWxfZXhwZWN0YXRpb25z
PVsnL3RtcC9mb28nLCAnL3RtcC9iYXInXSkKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0
KG9wdGlvbnM9b3B0aW9ucykKKyAgICAgICAgZm9yIHBhdGggaW4gcG9ydC5leHBlY3RhdGlvbnNf
ZmlsZXMoKToKKyAgICAgICAgICAgIHBvcnQuX2ZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBh
dGgsICcnKQogICAgICAgICBwb3J0Ll9maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZSgnL3RtcC9m
b28nLCAnZm9vJykKICAgICAgICAgcG9ydC5fZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoJy90
bXAvYmFyJywgJ2JhcicpCi0gICAgICAgIG9yZGVyZWRfZGljdCA9IHBvcnQuX2V4cGVjdGF0aW9u
c19vdmVycmlkZXNfZGljdCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9yZGVyZWRfZGlj
dC5rZXlzKCksIG9wdGlvbnMuYWRkaXRpb25hbF9leHBlY3RhdGlvbnMpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG9yZGVyZWRfZGljdC52YWx1ZXMoKSwgWydmb28nLCAnYmFyJ10pCisgICAg
ICAgIG9yZGVyZWRfZGljdCA9IHBvcnQuZXhwZWN0YXRpb25zX2RpY3QoKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhvcmRlcmVkX2RpY3Qua2V5cygpWy0yOl0sIG9wdGlvbnMuYWRkaXRpb25h
bF9leHBlY3RhdGlvbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9yZGVyZWRfZGljdC52
YWx1ZXMoKVstMjpdLCBbJ2ZvbycsICdiYXInXSkKIAogCiAjIEZJWE1FOiBUaGlzIGNsYXNzIGFu
ZCBtYWluKCkgc2hvdWxkIGJlIG1lcmdlZCBpbnRvIHRlc3Qtd2Via2l0cHkuCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CmluZGV4IDNk
MTYwY2E5NGU3ZWFhYzE5ZGI1ZmYxNWJjMTZlOWRhNjY0ODZiZjcuLjliYjBmOTdhZDk5MjVjYWEy
ZWNiNGY5YmU3ZWJlOTgwMDdiZGU4Y2YgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CkBAIC0zNTYsMTUgKzM1Niw2IEBAIGNsYXNz
IFdlYktpdFBvcnQoUG9ydCk6CiAKICAgICAgICAgcmV0dXJuIHNlYXJjaF9wYXRocwogCi0gICAg
ZGVmIHRlc3RfZXhwZWN0YXRpb25zKHNlbGYpOgotICAgICAgICAjIFRoaXMgYWxsb3dzIHBvcnRz
IHRvIHVzZSBhIGNvbWJpbmF0aW9uIG9mIFRlc3RFeHBlY3RhdGlvbnMgZmlsZXMgYW5kIFNraXBw
ZWQgbGlzdHMuCi0gICAgICAgIGV4cGVjdGF0aW9ucyA9ICcnCi0gICAgICAgIGV4cGVjdGF0aW9u
c19wYXRoID0gc2VsZi5wYXRoX3RvX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKQotICAgICAgICBp
ZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhleHBlY3RhdGlvbnNfcGF0aCk6Ci0gICAgICAgICAg
ICBfbG9nLmRlYnVnKCJVc2luZyB0ZXN0IGV4cGVjdGF0aW9uczogJXMiICUgZXhwZWN0YXRpb25z
X3BhdGgpCi0gICAgICAgICAgICBleHBlY3RhdGlvbnMgPSBzZWxmLl9maWxlc3lzdGVtLnJlYWRf
dGV4dF9maWxlKGV4cGVjdGF0aW9uc19wYXRoKQotICAgICAgICByZXR1cm4gZXhwZWN0YXRpb25z
Ci0KICAgICBkZWYgc2tpcHBlZF9sYXlvdXRfdGVzdHMoc2VsZiwgdGVzdF9saXN0KToKICAgICAg
ICAgdGVzdHNfdG9fc2tpcCA9IHNldChzZWxmLl9leHBlY3RhdGlvbnNfZnJvbV9za2lwcGVkX2Zp
bGVzKHNlbGYuX3NraXBwZWRfZmlsZV9zZWFyY2hfcGF0aHMoKSkpCiAgICAgICAgIHRlc3RzX3Rv
X3NraXAudXBkYXRlKHNlbGYuX3Rlc3RzX2Zvcl9vdGhlcl9wbGF0Zm9ybXMoKSkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5lX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmVf
dW5pdHRlc3QucHkKaW5kZXggNWFmOWUwNzMxZjVhYjA4NzNlMWE4ZTYzYjc0YWZhYzI0ZDM5MjJi
Yi4uZjA3NDBmMWUwZTA3NjlmMzkyOWMwYzg2ZjI1MjY0NjliODIxZjM5NiAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmVfdW5pdHRlc3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmVf
dW5pdHRlc3QucHkKQEAgLTQ4LDYgKzQ4LDggQEAgY2xhc3MgVGVzdFJlYmFzZWxpbmUodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBjb21tYW5kLmJpbmRfdG9fdG9vbCh0b29sKQogCiAgICAg
ICAgIGxpb25fcG9ydCA9IHRvb2wucG9ydF9mYWN0b3J5LmdldF9mcm9tX2J1aWxkZXJfbmFtZSgi
V2Via2l0IE1hYzEwLjciKQorICAgICAgICBmb3IgcGF0aCBpbiBsaW9uX3BvcnQuZXhwZWN0YXRp
b25zX2ZpbGVzKCk6CisgICAgICAgICAgICB0b29sLmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxl
KHBhdGgsICcnKQogICAgICAgICB0b29sLmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKGxpb25f
cG9ydC5wYXRoX3RvX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKSwgIiIiQlVHQiBNQUMgTElOVVgg
WFAgREVCVUcgOiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLXJlYWxs
eS1kZWVwLWFycmF5Lmh0bWwgPSBQQVNTCiBCVUdBIERFQlVHIDogZmFzdC9jc3MvbGFyZ2UtbGlz
dC1vZi1ydWxlcy1jcmFzaC5odG1sID0gVEVYVAogIiIiKQpAQCAtNzIsNiArNzQsNyBAQCBCVUdB
IERFQlVHIDogZmFzdC9jc3MvbGFyZ2UtbGlzdC1vZi1ydWxlcy1jcmFzaC5odG1sID0gVEVYVAog
ICAgICAgICBjb21tYW5kLmJpbmRfdG9fdG9vbCh0b29sKQogCiAgICAgICAgIGxpb25fcG9ydCA9
IHRvb2wucG9ydF9mYWN0b3J5LmdldF9mcm9tX2J1aWxkZXJfbmFtZSgiV2Via2l0IE1hYzEwLjci
KQorICAgICAgICB0b29sLmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKGxpb25fcG9ydC5wYXRo
X2Zyb21fY2hyb21pdW1fYmFzZSgnc2tpYScsICdza2lhX3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcp
LCAnJykKICAgICAgICAgdG9vbC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZShsaW9uX3BvcnQu
cGF0aF90b190ZXN0X2V4cGVjdGF0aW9uc19maWxlKCksICJCVUdYIE1BQyA6IHVzZXJzY3JpcHRz
L2Fub3RoZXItdGVzdC5odG1sID0gSU1BR0VcbkJVR1ogTElOVVggOiB1c2Vyc2NyaXB0cy9hbm90
aGVyLXRlc3QuaHRtbCA9IElNQUdFXG4iKQogICAgICAgICB0b29sLmZpbGVzeXN0ZW0ud3JpdGVf
dGV4dF9maWxlKG9zLnBhdGguam9pbihsaW9uX3BvcnQubGF5b3V0X3Rlc3RzX2RpcigpLCAidXNl
cnNjcmlwdHMvYW5vdGhlci10ZXN0Lmh0bWwiKSwgIkR1bW15IHRlc3QgY29udGVudHMiKQogCkBA
IC05MCw2ICs5Myw3IEBAIFJldHJpZXZpbmcgaHR0cDovL2V4YW1wbGUuY29tL2YvYnVpbGRlcnMv
V2Via2l0IE1hYzEwLjcvcmVzdWx0cy9sYXlvdXQtdGVzdC1yZXN1CiAgICAgICAgIGNvbW1hbmQu
YmluZF90b190b29sKHRvb2wpCiAKICAgICAgICAgbGlvbl9wb3J0ID0gdG9vbC5wb3J0X2ZhY3Rv
cnkuZ2V0X2Zyb21fYnVpbGRlcl9uYW1lKCJXZWJraXQgTWFjMTAuNyIpCisgICAgICAgIHRvb2wu
ZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUobGlvbl9wb3J0LnBhdGhfZnJvbV9jaHJvbWl1bV9i
YXNlKCdza2lhJywgJ3NraWFfdGVzdF9leHBlY3RhdGlvbnMudHh0JyksICcnKQogICAgICAgICB0
b29sLmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKGxpb25fcG9ydC5wYXRoX3RvX3Rlc3RfZXhw
ZWN0YXRpb25zX2ZpbGUoKSwgIkJVR1ggTUFDIDogdXNlcnNjcmlwdHMvYW5vdGhlci10ZXN0Lmh0
bWwgPSBJTUFHRVxuQlVHWiBMSU5VWCA6IHVzZXJzY3JpcHRzL2Fub3RoZXItdGVzdC5odG1sID0g
SU1BR0VcbiIpCiAgICAgICAgIHRvb2wuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUobGlvbl9w
b3J0LnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCdza2lhJywgJ3NraWFfdGVzdF9leHBlY3RhdGlv
bnMudHh0JyksICJCVUdZIE1BQyA6IG90aGVyLXRlc3QuaHRtbCA9IFRFWFRcbiIpCiAgICAgICAg
IHRvb2wuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUob3MucGF0aC5qb2luKGxpb25fcG9ydC5s
YXlvdXRfdGVzdHNfZGlyKCksICJ1c2Vyc2NyaXB0cy9hbm90aGVyLXRlc3QuaHRtbCIpLCAiRHVt
bXkgdGVzdCBjb250ZW50cyIpCkBAIC0xNzksNyArMTgzLDggQEAgUmV0cmlldmluZyBodHRwOi8v
ZXhhbXBsZS5jb20vZi9idWlsZGVycy9XZWJraXQgTWFjMTAuNy9yZXN1bHRzL2xheW91dC10ZXN0
LXJlc3UKIAogICAgICAgICBmb3IgcG9ydF9uYW1lIGluIHRvb2wucG9ydF9mYWN0b3J5LmFsbF9w
b3J0X25hbWVzKCk6CiAgICAgICAgICAgICBwb3J0ID0gdG9vbC5wb3J0X2ZhY3RvcnkuZ2V0KHBv
cnRfbmFtZSkKLSAgICAgICAgICAgIHRvb2wuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocG9y
dC5wYXRoX3RvX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKSwgJycpCisgICAgICAgICAgICBmb3Ig
cGF0aCBpbiBwb3J0LmV4cGVjdGF0aW9uc19maWxlcygpOgorICAgICAgICAgICAgICAgIHRvb2wu
ZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUocGF0aCwgJycpCiAKICAgICAgICAgIyBEb24ndCBl
bmFibGUgbG9nZ2luZyB1bnRpbCBhZnRlciB3ZSBjcmVhdGUgdGhlIG1vY2sgZXhwZWN0YXRpb24g
ZmlsZXMgYXMgc29tZSBQb3J0Ll9faW5pdF9fJ3MgcnVuIHN1YmNvbW1hbmRzLgogICAgICAgICB0
b29sLmV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUoc2hvdWxkX2xvZz1UcnVlKQpAQCAtMjUyLDcg
KzI1Nyw4IEBAIE1PQ0sgcnVuX2NvbW1hbmQ6IFsnZWNobycsICdyZWJhc2VsaW5lLXRlc3QnLCAn
LS1zdWZmaXhlcycsICdwbmcnLCAnV2Via2l0IFdpbicsCiAgICAgICAgIHNlbGYub3ZlcnJpZGVz
ID0gKCdCVUdYIFJFQkFTRUxJTkUgOiB1c2Vyc2NyaXB0cy9hbm90aGVyLXRlc3QuaHRtbCA9IFRF
WFRcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JVR1kgOiB1c2Vyc2NyaXB0cy90ZXN0
Lmh0bWwgPSBDUkFTSFxuJykKIAotICAgICAgICBwb3J0Ll9maWxlc3lzdGVtLndyaXRlX3RleHRf
ZmlsZShwb3J0LnBhdGhfdG9fdGVzdF9leHBlY3RhdGlvbnNfZmlsZSgpLCAnJykKKyAgICAgICAg
Zm9yIHBhdGggaW4gcG9ydC5leHBlY3RhdGlvbnNfZmlsZXMoKToKKyAgICAgICAgICAgIHBvcnQu
X2ZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHBhdGgsICcnKQogICAgICAgICBwb3J0Ll9maWxl
c3lzdGVtLndyaXRlX3RleHRfZmlsZShwb3J0LmxheW91dF90ZXN0c19kaXIoKSArICcvdXNlcnNj
cmlwdHMvYW5vdGhlci10ZXN0Lmh0bWwnLCAnJykKICAgICAgICAgcG9ydC50ZXN0X2V4cGVjdGF0
aW9uc19vdmVycmlkZXMgPSBsYW1iZGE6IHNlbGYub3ZlcnJpZGVzCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKGNvbW1hbmQuX3Rlc3RzX3RvX3JlYmFzZWxpbmUocG9ydCksIHsndXNlcnNjcmlw
dHMvYW5vdGhlci10ZXN0Lmh0bWwnOiBzZXQoWyd0eHQnXSl9KQo=
</data>
<flag name="review"
          id="154676"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>