<?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>86926</bug_id>
          
          <creation_ts>2012-05-18 17:18:23 -0700</creation_ts>
          <short_desc>webkitpy: clean up the TestExpectations constructor</short_desc>
          <delta_ts>2012-05-21 15:39:37 -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>
          
          <blocked>65834</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>levin</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>628275</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-18 17:18:23 -0700</bug_when>
    <thetext>webkitpy: clean up the TestExpectations constructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628276</commentid>
    <comment_count>1</comment_count>
      <attachid>142826</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-18 17:19:59 -0700</bug_when>
    <thetext>Created attachment 142826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629617</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-21 15:39:26 -0700</bug_when>
    <thetext>landed in http://trac.webkit.org/changeset/117805 .</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142826</attachid>
            <date>2012-05-18 17:19:59 -0700</date>
            <delta_ts>2012-05-21 15:39:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86926-20120518171958.patch</filename>
            <type>text/plain</type>
            <size>23805</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NjQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDI1MjEyNDQwNjI3OTU4ZGFlNDRhOWM1OTFjMThjODA3
ODUyOTdmNy4uYTg0NTVlYmU3YWM2MGE0NGIyNmMxOWQ5YmYxZjU4OTNiMmM4NWYyYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU4
IEBACiAyMDEyLTA1LTE4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiBjbGVhbiB1cCB0aGUgVGVzdEV4cGVjdGF0aW9ucyBjb25zdHJ1Y3Rv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY5MjYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgVGVz
dEV4cGVjdGF0aW9ucyBjb25zdHJ1Y3RvciB3YXMgYXR0ZW1wdGluZyB0byBwcmV0ZW5kCisgICAg
ICAgIGl0IGRpZG4ndCBuZWVkIHRvIGdldCBzdHVmZiBmcm9tIHRoZSBQb3J0LCBhbmQgYXMgYSBy
ZXN1bHQgd2UKKyAgICAgICAgaGFkIGEgY29tcGxpY2F0ZWQgY29uc3RydWN0b3Igd2l0aCBhIGJ1
bmNoIG9mIGFyZ3VtZW50cywgYW5kCisgICAgICAgIGNhbGxpbmcgaXQgd2FzIHRvbyBjb21wbGlj
YXRlZCAoYWx0aG91Z2ggaXQgbWFkZSB0ZXN0aW5nIGEKKyAgICAgICAgbGl0dGxlIGVhc2llciBh
bmQgc2ltcGxpZmllZCB0aGUgc3R5bGUgY2hlY2tlcikuCisKKyAgICAgICAgVGhpcyBwYXRjaCBo
YXMgdGhlIGNvbnN0cnVjdG9yIHB1bGwgYWxsIHRoZSBkYXRhIGl0IG5lZWRzIGZyb20KKyAgICAg
ICAgdGhlIHBvcnQgZGlyZWN0bHksIGFuZCBhbGxvd3MgdXMgdG8gZGVsZXRlIGEgYnVuY2ggb2Yg
Y29kZS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL21hbmFnZXIucHk6CisgICAgICAgIChNYW5hZ2VyLnBhcnNlX2V4cGVjdGF0aW9ucyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
cl91bml0dGVzdC5weToKKyAgICAgICAgKE1hbmFnZXJUZXN0LnRlc3RfdXBkYXRlX3N1bW1hcnlf
d2l0aF9yZXN1bHQpOgorICAgICAgICAoUmVzdWx0U3VtbWFyeVRlc3QuZ2V0X3Jlc3VsdF9zdW1t
YXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVz
dF9leHBlY3RhdGlvbnMucHk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25zLl9faW5pdF9fKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBl
Y3RhdGlvbnNfdW5pdHRlc3QucHk6CisgICAgICAgIChwYXJzZV9leHApOgorICAgICAgICAoU2tp
cHBlZFRlc3RzLmNoZWNrKToKKyAgICAgICAgKFJlbW92ZUNvbmZpZ3VyYXRpb25zVGVzdC50ZXN0
X3JlbW92ZSk6CisgICAgICAgICh0ZXN0X3JlbW92ZV9saW5lKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5OgorICAgICAgICAobGlu
dCk6CisgICAgICAgIChydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAoTGludFRl
c3QudGVzdF9hbGxfY29uZmlndXJhdGlvbnMuRmFrZVBvcnQuX19pbml0X18pOgorICAgICAgICAo
TGludFRlc3QudGVzdF9hbGxfY29uZmlndXJhdGlvbnMuRmFrZVBvcnQudGVzdF9leHBlY3RhdGlv
bnMpOgorICAgICAgICAoTGludFRlc3QudGVzdF9hbGxfY29uZmlndXJhdGlvbnMuRmFrZVBvcnQu
c2tpcHBlZF9sYXlvdXRfdGVzdHMpOgorICAgICAgICAoTGludFRlc3QudGVzdF9hbGxfY29uZmln
dXJhdGlvbnMuRmFrZVBvcnQpOgorICAgICAgICAoTGludFRlc3QudGVzdF9hbGxfY29uZmlndXJh
dGlvbnMuRmFrZVBvcnQuYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMpOgorICAgICAgICAoTGludFRl
c3QudGVzdF9hbGxfY29uZmlndXJhdGlvbnMuRmFrZVBvcnQuY29uZmlndXJhdGlvbl9zcGVjaWZp
ZXJfbWFjcm9zKToKKyAgICAgICAgKExpbnRUZXN0LnRlc3RfYWxsX2NvbmZpZ3VyYXRpb25zLkZh
a2VQb3J0LnBhdGhfZnJvbV93ZWJraXRfYmFzZSk6CisgICAgICAgIChMaW50VGVzdC50ZXN0X2Fs
bF9jb25maWd1cmF0aW9ucy5GYWtlUG9ydC5nZXRfb3B0aW9uKToKKyAgICAgICAgKExpbnRUZXN0
LnRlc3RfYWxsX2NvbmZpZ3VyYXRpb25zLkZha2VGYWN0b3J5Ll9faW5pdF9fKToKKyAgICAgICAg
KExpbnRUZXN0LnRlc3RfYWxsX2NvbmZpZ3VyYXRpb25zLkZha2VGYWN0b3J5LmFsbF9wb3J0X25h
bWVzKToKKyAgICAgICAgKExpbnRUZXN0LnRlc3RfYWxsX2NvbmZpZ3VyYXRpb25zKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZ191bml0dGVz
dC5weToKKyAgICAgICAgKFRlc3RwcmludGVyLmdldF9yZXN1bHRfc3VtbWFyeSk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy90ZXN0X2V4cGVjdGF0aW9ucy5weToK
KyAgICAgICAgKFRlc3RFeHBlY3RhdGlvbnNDaGVja2VyLmNoZWNrX3Rlc3RfZXhwZWN0YXRpb25z
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllcy5weToK
KyAgICAgICAgKFByaW50RXhwZWN0YXRpb25zLl9tb2RlbCk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmUucHk6CisgICAgICAgIChSZWJhc2VsaW5l
VGVzdC5fdXBkYXRlX2V4cGVjdGF0aW9uc19maWxlKToKKyAgICAgICAgKFJlYmFzZWxpbmVFeHBl
Y3RhdGlvbnMuX2V4cGVjdGF0aW9ucyk6CisKKzIwMTItMDUtMTggIERpcmsgUHJhbmtlICA8ZHBy
YW5rZUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgc2NtLmFkZCgpIGRvZXNuJ3Qgd29yayBwcm9w
ZXJseSB3aXRoIHN2biAxLjcKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg2Nzc5CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CmluZGV4IGEyMjVjZTg1NmQxMDYy
MDA1ZTc5YzFjMDE3N2E5NTI1NzI1YWYxMGYuLjQzMjNkYmIxNGU3MTc0NTJhOGYzZmZiMmI3OTg5
N2U0NDRmOGVmZWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQpAQCAtMzYyLDE5ICszNjIsNyBAQCBj
bGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBzZWxmLlBFUkZfU1VCRElSID09
IHRlc3Qgb3IgKHNlbGYuUEVSRl9TVUJESVIgKyBzZWxmLl9wb3J0LlRFU1RfUEFUSF9TRVBBUkFU
T1IpIGluIHRlc3QKIAogICAgIGRlZiBwYXJzZV9leHBlY3RhdGlvbnMoc2VsZik6Ci0gICAgICAg
ICIiIlBhcnNlIHRoZSBleHBlY3RhdGlvbnMgZnJvbSB0aGUgdGVzdF9saXN0IGZpbGVzIGFuZCBy
ZXR1cm4gYSBkYXRhCi0gICAgICAgIHN0cnVjdHVyZSBob2xkaW5nIHRoZW0uIFRocm93cyBhbiBl
cnJvciBpZiB0aGUgdGVzdF9saXN0IGZpbGVzIGhhdmUKLSAgICAgICAgaW52YWxpZCBzeW50YXgu
IiIiCi0gICAgICAgIHBvcnQgPSBzZWxmLl9wb3J0Ci0gICAgICAgIHRlc3RzX3RvX2lnbm9yZSA9
IHNldChzZWxmLl9vcHRpb25zLmlnbm9yZV90ZXN0cykKLSAgICAgICAgc2VsZi5fZXhwZWN0YXRp
b25zID0gdGVzdF9leHBlY3RhdGlvbnMuVGVzdEV4cGVjdGF0aW9ucygKLSAgICAgICAgICAgIHBv
cnQsCi0gICAgICAgICAgICBzZWxmLl90ZXN0X2ZpbGVzLAotICAgICAgICAgICAgcG9ydC50ZXN0
X2V4cGVjdGF0aW9ucygpLAotICAgICAgICAgICAgcG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKSwK
LSAgICAgICAgICAgIHNlbGYuX29wdGlvbnMubGludF90ZXN0X2ZpbGVzLAotICAgICAgICAgICAg
cG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKLSAgICAgICAgICAgIHBvcnQuc2tp
cHBlZF9sYXlvdXRfdGVzdHMoc2VsZi5fdGVzdF9maWxlcykudW5pb24odGVzdHNfdG9faWdub3Jl
KSkKKyAgICAgICAgc2VsZi5fZXhwZWN0YXRpb25zID0gdGVzdF9leHBlY3RhdGlvbnMuVGVzdEV4
cGVjdGF0aW9ucyhzZWxmLl9wb3J0LCBzZWxmLl90ZXN0X2ZpbGVzKQogCiAgICAgZGVmIF9zcGxp
dF9pbnRvX2NodW5rc19pZl9uZWNlc3Nhcnkoc2VsZiwgc2tpcHBlZCk6CiAgICAgICAgIGlmIG5v
dCBzZWxmLl9vcHRpb25zLnJ1bl9jaHVuayBhbmQgbm90IHNlbGYuX29wdGlvbnMucnVuX3BhcnQ6
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQppbmRleCA4YmZmNzQzOWE0Y2Ni
ODdlMGNkNWY3ZDA5ZWY0ZDhmMjcxMzEwZTU0Li5hNThhYWM5NDA0MDJiZmE2NDU5ZjI2ZDUxMmQ2
NzMyMjU2NTgyZGM3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkKQEAg
LTI1Nyw5ICsyNTcsOCBAQCBjbGFzcyBNYW5hZ2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgICAgIHBvcnQgPSBob3N0LnBvcnRfZmFjdG9y
eS5nZXQoJ3Rlc3Qtd2luLXhwJykKICAgICAgICAgdGVzdCA9ICdmYWlsdXJlcy9leHBlY3RlZC9y
ZWZ0ZXN0Lmh0bWwnCi0gICAgICAgIGV4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlvbnMocG9y
dCwgdGVzdHM9W3Rlc3RdLAotICAgICAgICAgICAgIGV4cGVjdGF0aW9ucz0nV09OVEZJWCA6IGZh
aWx1cmVzL2V4cGVjdGVkL3JlZnRlc3QuaHRtbCA9IElNQUdFJywKLSAgICAgICAgICAgICB0ZXN0
X2NvbmZpZz1wb3J0LnRlc3RfY29uZmlndXJhdGlvbigpKQorICAgICAgICBwb3J0LnRlc3RfZXhw
ZWN0YXRpb25zID0gbGFtYmRhOiAnV09OVEZJWCA6IGZhaWx1cmVzL2V4cGVjdGVkL3JlZnRlc3Qu
aHRtbCA9IElNQUdFJworICAgICAgICBleHBlY3RhdGlvbnMgPSBUZXN0RXhwZWN0YXRpb25zKHBv
cnQsIHRlc3RzPVt0ZXN0XSkKICAgICAgICAgIyBSZWZ0ZXN0cyBleHBlY3RlZCB0byBiZSBpbWFn
ZSBtaXNtYXRjaCBzaG91bGQgYmUgcmVzcGVjdGVkIHdoZW4gcGl4ZWxfdGVzdHM9RmFsc2UuCiAg
ICAgICAgIG1hbmFnZXIgPSBNYW5hZ2VyKHBvcnQ9cG9ydCwgb3B0aW9ucz1Nb2NrT3B0aW9ucyhw
aXhlbF90ZXN0cz1GYWxzZSwgZXhpdF9hZnRlcl9uX2ZhaWx1cmVzPU5vbmUsIGV4aXRfYWZ0ZXJf
bl9jcmFzaGVzX29yX3RpbWVvdXRzPU5vbmUpLCBwcmludGVyPU1vY2soKSkKICAgICAgICAgbWFu
YWdlci5fZXhwZWN0YXRpb25zID0gZXhwZWN0YXRpb25zCkBAIC0zODUsNyArMzg0LDggQEAgY2xh
c3MgUmVzdWx0U3VtbWFyeVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICByZXR1cm4g
dGVzdF9yZXN1bHRzLlRlc3RSZXN1bHQodGVzdF9uYW1lLCBmYWlsdXJlcz1mYWlsdXJlcywgdGVz
dF9ydW5fdGltZT1ydW5fdGltZSkKIAogICAgIGRlZiBnZXRfcmVzdWx0X3N1bW1hcnkoc2VsZiwg
cG9ydCwgdGVzdF9uYW1lcywgZXhwZWN0YXRpb25zX3N0cik6Ci0gICAgICAgIGV4cGVjdGF0aW9u
cyA9IHRlc3RfZXhwZWN0YXRpb25zLlRlc3RFeHBlY3RhdGlvbnMocG9ydCwgdGVzdF9uYW1lcywg
ZXhwZWN0YXRpb25zX3N0ciwgcG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKSwgaXNfbGludF9tb2Rl
PUZhbHNlKQorICAgICAgICBwb3J0LnRlc3RfZXhwZWN0YXRpb25zID0gbGFtYmRhOiBleHBlY3Rh
dGlvbnNfc3RyCisgICAgICAgIGV4cGVjdGF0aW9ucyA9IHRlc3RfZXhwZWN0YXRpb25zLlRlc3RF
eHBlY3RhdGlvbnMocG9ydCwgdGVzdF9uYW1lcykKICAgICAgICAgcmV0dXJuIHRlc3RfbmFtZXMs
IHJlc3VsdF9zdW1tYXJ5LlJlc3VsdFN1bW1hcnkoZXhwZWN0YXRpb25zLCB0ZXN0X25hbWVzKSwg
ZXhwZWN0YXRpb25zCiAKICAgICAjIEZJWE1FOiBVc2UgdGhpcyB0byB0ZXN0IG1vcmUgb2Ygc3Vt
bWFyaXplX3Jlc3VsdHMuIFRoaXMgd2FzIG1vdmVkIGZyb20gcHJpbnRpbmdfdW5pdHRlc3QucHku
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMv
dGVzdF9leHBlY3RhdGlvbnMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKaW5kZXggMjQyMGI5ZmRmNDkxZDliMmM1N2Ex
YmVmYmE2ODk1NGI4ZWQ0MDAzOS4uYzE4NDUyNDIxOWIzYjdjYzFiY2ZjZDNiY2EyYjI5Nzg4ZTU1
ZjQ3NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQpAQCAtNzIyLDQyICs3MjIsMjYg
QEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9ucyhvYmplY3QpOgogICAgICAgICBhc3NlcnQoJyAnIG5v
dCBpbiBzdHJpbmcpICAjIFRoaXMgb25seSBoYW5kbGVzIG9uZSBleHBlY3RhdGlvbiBhdCBhIHRp
bWUuCiAgICAgICAgIHJldHVybiBjbHMuRVhQRUNUQVRJT05TLmdldChzdHJpbmcubG93ZXIoKSkK
IAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCB0ZXN0cywgZXhwZWN0YXRpb25zLAotICAg
ICAgICAgICAgICAgICB0ZXN0X2NvbmZpZywgaXNfbGludF9tb2RlPUZhbHNlLCBvdmVycmlkZXM9
Tm9uZSwKLSAgICAgICAgICAgICAgICAgc2tpcHBlZF90ZXN0cz1Ob25lKToKLSAgICAgICAgIiIi
TG9hZHMgYW5kIHBhcnNlcyB0aGUgdGVzdCBleHBlY3RhdGlvbnMgZ2l2ZW4gaW4gdGhlIHN0cmlu
Zy4KLSAgICAgICAgQXJnczoKLSAgICAgICAgICAgIHBvcnQ6IGhhbmRsZSB0byBvYmplY3QgY29u
dGFpbmluZyBwbGF0Zm9ybS1zcGVjaWZpYyBmdW5jdGlvbmFsaXR5Ci0gICAgICAgICAgICB0ZXN0
czogbGlzdCBvZiBhbGwgb2YgdGhlIHRlc3QgZmlsZXMKLSAgICAgICAgICAgIGV4cGVjdGF0aW9u
czogdGVzdCBleHBlY3RhdGlvbnMgYXMgYSBzdHJpbmcKLSAgICAgICAgICAgIHRlc3RfY29uZmln
OiBzcGVjaWZpYyB2YWx1ZXMgdG8gY2hlY2sgYWdhaW5zdCB3aGVuCi0gICAgICAgICAgICAgICAg
cGFyc2luZyB0aGUgZmlsZSAodXN1YWxseSBwb3J0LnRlc3RfY29uZmlnKCksCi0gICAgICAgICAg
ICAgICAgYnV0IG1heSBiZSBkaWZmZXJlbnQgd2hlbiBsaW50aW5nIG9yIGRvaW5nIG90aGVyIHRo
aW5ncykuCi0gICAgICAgICAgICBpc19saW50X21vZGU6IElmIFRydWUsIHBhcnNlIHRoZSBleHBl
Y3RhdGlvbnMgc3RyaW5nIGFuZCByYWlzZQotICAgICAgICAgICAgICAgIGFuIGV4Y2VwdGlvbiBp
ZiB3YXJuaW5ncyBhcmUgZW5jb3VudGVyZWQuCi0gICAgICAgICAgICBvdmVycmlkZXM6IHRlc3Qg
ZXhwZWN0YXRpb25zIHRoYXQgYXJlIGFsbG93ZWQgdG8gb3ZlcnJpZGUgYW55Ci0gICAgICAgICAg
ICAgICAgZW50cmllcyBpbiB8ZXhwZWN0YXRpb25zfC4gVGhpcyBpcyB1c2VkIGJ5IGNhbGxlcnMK
LSAgICAgICAgICAgICAgICB0aGF0IG5lZWQgdG8gbWFuYWdlIHR3byBzZXRzIG9mIGV4cGVjdGF0
aW9ucyAoZS5nLiwgdXBzdHJlYW0KLSAgICAgICAgICAgICAgICBhbmQgZG93bnN0cmVhbSBleHBl
Y3RhdGlvbnMpLgotICAgICAgICAgICAgc2tpcHBlZF90ZXN0czogdGVzdCBwYXRocyB0byBza2lw
LgotICAgICAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydCwgdGVzdHM9Tm9uZSwg
aXNfbGludF9tb2RlPUZhbHNlKToKICAgICAgICAgc2VsZi5fZnVsbF90ZXN0X2xpc3QgPSB0ZXN0
cwotICAgICAgICBzZWxmLl90ZXN0X2NvbmZpZyA9IHRlc3RfY29uZmlnCisgICAgICAgIHNlbGYu
X3Rlc3RfY29uZmlnID0gcG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKQogICAgICAgICBzZWxmLl9p
c19saW50X21vZGUgPSBpc19saW50X21vZGUKICAgICAgICAgc2VsZi5fbW9kZWwgPSBUZXN0RXhw
ZWN0YXRpb25zTW9kZWwoKQogICAgICAgICBzZWxmLl9wYXJzZXIgPSBUZXN0RXhwZWN0YXRpb25Q
YXJzZXIocG9ydCwgdGVzdHMsIGlzX2xpbnRfbW9kZSkKICAgICAgICAgc2VsZi5fcG9ydCA9IHBv
cnQKICAgICAgICAgc2VsZi5fc2tpcHBlZF90ZXN0c193YXJuaW5ncyA9IFtdCiAKLSAgICAgICAg
c2VsZi5fZXhwZWN0YXRpb25zID0gc2VsZi5fcGFyc2VyLnBhcnNlKGV4cGVjdGF0aW9ucykKKyAg
ICAgICAgc2VsZi5fZXhwZWN0YXRpb25zID0gc2VsZi5fcGFyc2VyLnBhcnNlKHBvcnQudGVzdF9l
eHBlY3RhdGlvbnMoKSkKICAgICAgICAgc2VsZi5fYWRkX2V4cGVjdGF0aW9ucyhzZWxmLl9leHBl
Y3RhdGlvbnMsIGluX292ZXJyaWRlcz1GYWxzZSkKIAorICAgICAgICBvdmVycmlkZXMgPSBwb3J0
LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpCiAgICAgICAgIGlmIG92ZXJyaWRlczoKICAg
ICAgICAgICAgIG92ZXJyaWRlc19leHBlY3RhdGlvbnMgPSBzZWxmLl9wYXJzZXIucGFyc2Uob3Zl
cnJpZGVzKQogICAgICAgICAgICAgc2VsZi5fYWRkX2V4cGVjdGF0aW9ucyhvdmVycmlkZXNfZXhw
ZWN0YXRpb25zLCBpbl9vdmVycmlkZXM9VHJ1ZSkKICAgICAgICAgICAgIHNlbGYuX2V4cGVjdGF0
aW9ucyArPSBvdmVycmlkZXNfZXhwZWN0YXRpb25zCiAKLSAgICAgICAgc2VsZi5fYWRkX3NraXBw
ZWRfdGVzdHMoc2tpcHBlZF90ZXN0cyBvciBbXSkKKyAgICAgICAgIyBGSVhNRTogbW92ZSBpZ25v
cmVfdGVzdHMgaW50byBwb3J0LnNraXBwZWRfbGF5b3V0X3Rlc3RzKCkKKyAgICAgICAgc2VsZi5f
YWRkX3NraXBwZWRfdGVzdHMocG9ydC5za2lwcGVkX2xheW91dF90ZXN0cyh0ZXN0cykudW5pb24o
c2V0KHBvcnQuZ2V0X29wdGlvbignaWdub3JlX3Rlc3RzJywgW10pKSkpCiAKICAgICAgICAgc2Vs
Zi5faGFzX3dhcm5pbmdzID0gRmFsc2UKICAgICAgICAgc2VsZi5fcmVwb3J0X3dhcm5pbmdzKCkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90
ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQppbmRleCAzOWE0
NjEzN2ZmNjNkZmJkN2MwODZkZGFhZTE2NmZiMTU0OTgzZGE4Li4wNDUzYTA4MTg3NzgzMTgwMDU2
M2QxOWJlMmNkY2RhMWI4NWQ1M2M4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRp
b25zX3VuaXR0ZXN0LnB5CkBAIC0xMTksMTMgKzExOSw5IEBAIEJVR19URVNUIFdPTlRGSVggTUFD
IDogZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCA9IElNQUdFCiAiIiIKIAogICAgIGRlZiBw
YXJzZV9leHAoc2VsZiwgZXhwZWN0YXRpb25zLCBvdmVycmlkZXM9Tm9uZSwgaXNfbGludF9tb2Rl
PUZhbHNlKToKLSAgICAgICAgdGVzdF9jb25maWcgPSBzZWxmLl9wb3J0LnRlc3RfY29uZmlndXJh
dGlvbigpCi0gICAgICAgIHNlbGYuX2V4cCA9IFRlc3RFeHBlY3RhdGlvbnMoc2VsZi5fcG9ydCwK
LSAgICAgICAgICAgICB0ZXN0cz1zZWxmLmdldF9iYXNpY190ZXN0cygpLAotICAgICAgICAgICAg
IGV4cGVjdGF0aW9ucz1leHBlY3RhdGlvbnMsCi0gICAgICAgICAgICAgdGVzdF9jb25maWc9dGVz
dF9jb25maWcsCi0gICAgICAgICAgICAgaXNfbGludF9tb2RlPWlzX2xpbnRfbW9kZSwKLSAgICAg
ICAgICAgICBvdmVycmlkZXM9b3ZlcnJpZGVzKQorICAgICAgICBzZWxmLl9wb3J0LnRlc3RfZXhw
ZWN0YXRpb25zID0gbGFtYmRhOiBleHBlY3RhdGlvbnMKKyAgICAgICAgc2VsZi5fcG9ydC50ZXN0
X2V4cGVjdGF0aW9uc19vdmVycmlkZXMgPSBsYW1iZGE6IG92ZXJyaWRlcworICAgICAgICBzZWxm
Ll9leHAgPSBUZXN0RXhwZWN0YXRpb25zKHNlbGYuX3BvcnQsIHNlbGYuZ2V0X2Jhc2ljX3Rlc3Rz
KCksIGlzX2xpbnRfbW9kZSkKIAogICAgIGRlZiBhc3NlcnRfZXhwKHNlbGYsIHRlc3QsIHJlc3Vs
dCk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlbGYuX2V4cC5nZXRfZXhwZWN0YXRpb25z
KHNlbGYuZ2V0X3Rlc3QodGVzdCkpLApAQCAtMjY1LDkgKzI2MSwxMCBAQCBjbGFzcyBTa2lwcGVk
VGVzdHMoQmFzZSk6CiAgICAgZGVmIGNoZWNrKHNlbGYsIGV4cGVjdGF0aW9ucywgb3ZlcnJpZGVz
LCBza2lwcywgbGludD1GYWxzZSk6CiAgICAgICAgIHBvcnQgPSBNb2NrSG9zdCgpLnBvcnRfZmFj
dG9yeS5nZXQoJ3F0JykKICAgICAgICAgcG9ydC5fZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUo
cG9ydC5fZmlsZXN5c3RlbS5qb2luKHBvcnQubGF5b3V0X3Rlc3RzX2RpcigpLCAnZmFpbHVyZXMv
ZXhwZWN0ZWQvdGV4dC5odG1sJyksICdmb28nKQotICAgICAgICBleHAgPSBUZXN0RXhwZWN0YXRp
b25zKHBvcnQsIHRlc3RzPVsnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJ10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0YXRpb25zPWV4cGVjdGF0aW9ucywgb3ZlcnJp
ZGVzPW92ZXJyaWRlcywgaXNfbGludF9tb2RlPWxpbnQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdF9jb25maWc9cG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKSwgc2tpcHBlZF90
ZXN0cz1zZXQoc2tpcHMpKQorICAgICAgICBwb3J0LnRlc3RfZXhwZWN0YXRpb25zID0gbGFtYmRh
OiBleHBlY3RhdGlvbnMKKyAgICAgICAgcG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMg
PSBsYW1iZGE6IG92ZXJyaWRlcworICAgICAgICBwb3J0LnNraXBwZWRfbGF5b3V0X3Rlc3RzID0g
bGFtYmRhIHRlc3RzOiBzZXQoc2tpcHMpCisgICAgICAgIGV4cCA9IFRlc3RFeHBlY3RhdGlvbnMo
cG9ydCwgWydmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnXSwgbGludCkKIAogICAgICAgICAj
IENoZWNrIHRoYXQgdGhlIGV4cGVjdGF0aW9uIGlzIGZvciBCVUdfRFVNTVkgU0tJUCA6IC4uLiA9
IFBBU1MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZXhwLmdldF9tb2RpZmllcnMoJ2ZhaWx1
cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcpLApAQCAtNDEwLDE0ICs0MDcsMTAgQEAgY2xhc3MgUmVt
b3ZlQ29uZmlndXJhdGlvbnNUZXN0KEJhc2UpOgogICAgICAgICB0ZXN0X3BvcnQudGVzdF9pc2Zp
bGUgPSBsYW1iZGEgdGVzdDogVHJ1ZQogCiAgICAgICAgIHRlc3RfY29uZmlnID0gdGVzdF9wb3J0
LnRlc3RfY29uZmlndXJhdGlvbigpCi0gICAgICAgIGV4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3Rh
dGlvbnModGVzdF9wb3J0LAotICAgICAgICAgICAgIHRlc3RzPXNlbGYuZ2V0X2Jhc2ljX3Rlc3Rz
KCksCi0gICAgICAgICAgICAgZXhwZWN0YXRpb25zPSIiIkJVR1ggTElOVVggV0lOIFJFTEVBU0Ug
OiBmYWlsdXJlcy9leHBlY3RlZC9mb28uaHRtbCA9IFRFWFQKKyAgICAgICAgdGVzdF9wb3J0LnRl
c3RfZXhwZWN0YXRpb25zID0gbGFtYmRhOiAiIiJCVUdYIExJTlVYIFdJTiBSRUxFQVNFIDogZmFp
bHVyZXMvZXhwZWN0ZWQvZm9vLmh0bWwgPSBURVhUCiBCVUdZIFdJTiBNQUMgREVCVUcgOiBmYWls
dXJlcy9leHBlY3RlZC9mb28uaHRtbCA9IENSQVNICi0iIiIsCi0gICAgICAgICAgICAgdGVzdF9j
b25maWc9dGVzdF9jb25maWcsCi0gICAgICAgICAgICAgaXNfbGludF9tb2RlPUZhbHNlLAotICAg
ICAgICAgICAgIG92ZXJyaWRlcz1Ob25lKQorIiIiCisgICAgICAgIGV4cGVjdGF0aW9ucyA9IFRl
c3RFeHBlY3RhdGlvbnModGVzdF9wb3J0LCBzZWxmLmdldF9iYXNpY190ZXN0cygpKQogCiAgICAg
ICAgIGFjdHVhbF9leHBlY3RhdGlvbnMgPSBleHBlY3RhdGlvbnMucmVtb3ZlX2NvbmZpZ3VyYXRp
b25fZnJvbV90ZXN0KCdmYWlsdXJlcy9leHBlY3RlZC9mb28uaHRtbCcsIHRlc3RfY29uZmlnKQog
CkBAIC00MzIsMTQgKzQyNSwxMCBAQCBCVUdZIFdJTiBNQUMgREVCVUcgOiBmYWlsdXJlcy9leHBl
Y3RlZC9mb28uaHRtbCA9IENSQVNICiAgICAgICAgIHRlc3RfcG9ydC50ZXN0X2lzZmlsZSA9IGxh
bWJkYSB0ZXN0OiBUcnVlCiAKICAgICAgICAgdGVzdF9jb25maWcgPSB0ZXN0X3BvcnQudGVzdF9j
b25maWd1cmF0aW9uKCkKLSAgICAgICAgZXhwZWN0YXRpb25zID0gVGVzdEV4cGVjdGF0aW9ucyh0
ZXN0X3BvcnQsCi0gICAgICAgICAgICAgdGVzdHM9Tm9uZSwKLSAgICAgICAgICAgICBleHBlY3Rh
dGlvbnM9IiIiQlVHWCBXSU4gUkVMRUFTRSA6IGZhaWx1cmVzL2V4cGVjdGVkL2Zvby5odG1sID0g
VEVYVAorICAgICAgICB0ZXN0X3BvcnQudGVzdF9leHBlY3RhdGlvbnMgPSBsYW1iZGE6ICIiIkJV
R1ggV0lOIFJFTEVBU0UgOiBmYWlsdXJlcy9leHBlY3RlZC9mb28uaHRtbCA9IFRFWFQKIEJVR1kg
V0lOIERFQlVHIDogZmFpbHVyZXMvZXhwZWN0ZWQvZm9vLmh0bWwgPSBDUkFTSAotIiIiLAotICAg
ICAgICAgICAgIHRlc3RfY29uZmlnPXRlc3RfY29uZmlnLAotICAgICAgICAgICAgIGlzX2xpbnRf
bW9kZT1GYWxzZSwKLSAgICAgICAgICAgICBvdmVycmlkZXM9Tm9uZSkKKyIiIgorICAgICAgICBl
eHBlY3RhdGlvbnMgPSBUZXN0RXhwZWN0YXRpb25zKHRlc3RfcG9ydCkKIAogICAgICAgICBhY3R1
YWxfZXhwZWN0YXRpb25zID0gZXhwZWN0YXRpb25zLnJlbW92ZV9jb25maWd1cmF0aW9uX2Zyb21f
dGVzdCgnZmFpbHVyZXMvZXhwZWN0ZWQvZm9vLmh0bWwnLCB0ZXN0X2NvbmZpZykKICAgICAgICAg
YWN0dWFsX2V4cGVjdGF0aW9ucyA9IGV4cGVjdGF0aW9ucy5yZW1vdmVfY29uZmlndXJhdGlvbl9m
cm9tX3Rlc3QoJ2ZhaWx1cmVzL2V4cGVjdGVkL2Zvby5odG1sJywgaG9zdC5wb3J0X2ZhY3Rvcnku
Z2V0KCd0ZXN0LXdpbi12aXN0YScsIE5vbmUpLnRlc3RfY29uZmlndXJhdGlvbigpKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVz
dHMucHkKaW5kZXggZGU1ZWViODRhYTk1MzFkYzM0OTg0NTM2ZDhhZDY1YTAwOWEyMTU5Ni4uNDg1
YWU5YjA2MGFlNGY2MjkyOTI5MzI3ZDFjNTc0ZmViZTM1ZDk4NSAxMDA3NTUKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBA
IC00Niw3ICs0Niw3IEBAIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzIGltcG9ydCBw
cmludGluZwogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKLWRlZiBsaW50
KHBvcnQsIG9wdGlvbnMsIGV4cGVjdGF0aW9uc19jbGFzcyk6CitkZWYgbGludChwb3J0LCBvcHRp
b25zKToKICAgICBob3N0ID0gcG9ydC5ob3N0CiAgICAgaWYgb3B0aW9ucy5wbGF0Zm9ybToKICAg
ICAgICAgcG9ydHNfdG9fbGludCA9IFtwb3J0XQpAQCAtNjIsMTIgKzYyLDcgQEAgZGVmIGxpbnQo
cG9ydCwgb3B0aW9ucywgZXhwZWN0YXRpb25zX2NsYXNzKToKICAgICAgICAgICAgIGNvbnRpbnVl
CiAKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgZXhwZWN0YXRpb25zX2NsYXNzKHBvcnRfdG9f
bGludCwKLSAgICAgICAgICAgICAgICB0ZXN0cz1Ob25lLAotICAgICAgICAgICAgICAgIGV4cGVj
dGF0aW9ucz1wb3J0X3RvX2xpbnQudGVzdF9leHBlY3RhdGlvbnMoKSwKLSAgICAgICAgICAgICAg
ICB0ZXN0X2NvbmZpZz1wb3J0X3RvX2xpbnQudGVzdF9jb25maWd1cmF0aW9uKCksCi0gICAgICAg
ICAgICAgICAgaXNfbGludF9tb2RlPVRydWUsCi0gICAgICAgICAgICAgICAgb3ZlcnJpZGVzPXBv
cnRfdG9fbGludC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSkKKyAgICAgICAgICAgIHRl
c3RfZXhwZWN0YXRpb25zLlRlc3RFeHBlY3RhdGlvbnMocG9ydF90b19saW50LCBpc19saW50X21v
ZGU9VHJ1ZSkKICAgICAgICAgZXhjZXB0IHRlc3RfZXhwZWN0YXRpb25zLlBhcnNlRXJyb3IsIGU6
CiAgICAgICAgICAgICBsaW50X2ZhaWxlZCA9IFRydWUKICAgICAgICAgICAgIF9sb2cuZXJyb3Io
JycpCkBAIC05Nyw3ICs5Miw3IEBAIGRlZiBydW4ocG9ydCwgb3B0aW9ucywgYXJncywgcmVndWxh
cl9vdXRwdXQ9c3lzLnN0ZGVyciwgYnVpbGRib3Rfb3V0cHV0PXN5cy5zdGRvCiAgICAgICAgIHJl
dHVybiAwCiAKICAgICBpZiBvcHRpb25zLmxpbnRfdGVzdF9maWxlczoKLSAgICAgICAgcmV0dXJu
IGxpbnQocG9ydCwgb3B0aW9ucywgdGVzdF9leHBlY3RhdGlvbnMuVGVzdEV4cGVjdGF0aW9ucykK
KyAgICAgICAgcmV0dXJuIGxpbnQocG9ydCwgb3B0aW9ucykKIAogICAgICMgV2Ugd3JhcCBhbnkg
cGFydHMgb2YgdGhlIHJ1biB0aGF0IGFyZSBzbG93IG9yIGxpa2VseSB0byByYWlzZSBleGNlcHRp
b25zCiAgICAgIyBpbiBhIHRyeS9maW5hbGx5IHRvIGVuc3VyZSB0aGF0IHdlIGNsZWFuIHVwIHRo
ZSBsb2dnaW5nIGNvbmZpZ3VyYXRpb24uCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdy
YXRpb250ZXN0LnB5CmluZGV4IDY2ZTdkOGYwYmNjNDNlY2FlODRlMzk1NWU0MjJkM2Q4ZDU2N2Nm
MWQuLjk2ZmI2ODUzZDk5MWFmOTE0ZjcwMTg1ZjVjMjJhZTZkOTc5ZmY4MDIgMTAwNzU1Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50
ZWdyYXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC0xOTIsMTEgKzE5MiwxMyBA
QCBjbGFzcyBMaW50VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToK
ICAgICBkZWYgdGVzdF9hbGxfY29uZmlndXJhdGlvbnMoc2VsZik6CiAKICAgICAgICAgY2xhc3Mg
RmFrZVBvcnQob2JqZWN0KToKLSAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBw
YXRoKToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0LCBuYW1lLCBwYXRoKToK
KyAgICAgICAgICAgICAgICBzZWxmLmhvc3QgPSBob3N0CiAgICAgICAgICAgICAgICAgc2VsZi5u
YW1lID0gbmFtZQogICAgICAgICAgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKIAogICAgICAgICAg
ICAgZGVmIHRlc3RfZXhwZWN0YXRpb25zKHNlbGYpOgorICAgICAgICAgICAgICAgIHNlbGYuaG9z
dC5wb3J0c19wYXJzZWQuYXBwZW5kKHNlbGYubmFtZSkKICAgICAgICAgICAgICAgICByZXR1cm4g
JycKIAogICAgICAgICAgICAgZGVmIHBhdGhfdG9fdGVzdF9leHBlY3RhdGlvbnNfZmlsZShzZWxm
KToKQEAgLTIwOCwxNCArMjEwLDI3IEBAIGNsYXNzIExpbnRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
LCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAgICAgZGVmIHRlc3RfZXhwZWN0YXRpb25z
X292ZXJyaWRlcyhzZWxmKToKICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQogCisgICAgICAg
ICAgICBkZWYgc2tpcHBlZF9sYXlvdXRfdGVzdHMoc2VsZiwgdGVzdHMpOgorICAgICAgICAgICAg
ICAgIHJldHVybiBzZXQoW10pCisKKyAgICAgICAgICAgIGRlZiBhbGxfdGVzdF9jb25maWd1cmF0
aW9ucyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gW10KKworICAgICAgICAgICAgZGVm
IGNvbmZpZ3VyYXRpb25fc3BlY2lmaWVyX21hY3JvcyhzZWxmKToKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gW10KKworICAgICAgICAgICAgZGVmIHBhdGhfZnJvbV93ZWJraXRfYmFzZShzZWxmKToK
KyAgICAgICAgICAgICAgICByZXR1cm4gJycKKworICAgICAgICAgICAgZGVmIGdldF9vcHRpb24o
c2VsZiwgbmFtZSwgdmFsKToKKyAgICAgICAgICAgICAgICByZXR1cm4gdmFsCisKICAgICAgICAg
Y2xhc3MgRmFrZUZhY3Rvcnkob2JqZWN0KToKICAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBob3N0LCBwb3J0cyk6CiAgICAgICAgICAgICAgICAgc2VsZi5ob3N0ID0gaG9zdAogICAgICAg
ICAgICAgICAgIHNlbGYucG9ydHMgPSB7fQogICAgICAgICAgICAgICAgIGZvciBwb3J0IGluIHBv
cnRzOgogICAgICAgICAgICAgICAgICAgICBzZWxmLnBvcnRzW3BvcnQubmFtZV0gPSBwb3J0Ci0g
ICAgICAgICAgICAgICAgICAgIHBvcnQuaG9zdCA9IGhvc3QKLSAgICAgICAgICAgICAgICAgICAg
cG9ydC5mYWN0b3J5ID0gc2VsZgogCiAgICAgICAgICAgICBkZWYgZ2V0KHNlbGYsIHBvcnRfbmFt
ZSwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wb3J0c1tw
b3J0X25hbWVdCkBAIC0yMjMsMjEgKzIzOCwxNyBAQCBjbGFzcyBMaW50VGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgICAgIGRlZiBhbGxfcG9ydF9u
YW1lcyhzZWxmKToKICAgICAgICAgICAgICAgICByZXR1cm4gc29ydGVkKHNlbGYucG9ydHMua2V5
cygpKQogCi0gICAgICAgIGNsYXNzIEZha2VFeHBlY3RhdGlvbnNQYXJzZXIob2JqZWN0KToKLSAg
ICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCAqYXJncywgKiprd2FyZ3MpOgotICAg
ICAgICAgICAgICAgIHBvcnQuaG9zdC5wb3J0c19wYXJzZWQuYXBwZW5kKHBvcnQubmFtZSkKLQog
ICAgICAgICBob3N0ID0gTW9ja0hvc3QoKQogICAgICAgICBob3N0LnBvcnRzX3BhcnNlZCA9IFtd
Ci0gICAgICAgIGhvc3QucG9ydF9mYWN0b3J5ID0gRmFrZUZhY3RvcnkoaG9zdCwgKEZha2VQb3J0
KCdhJywgJ3BhdGgtdG8tYScpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBGYWtlUG9ydCgnYicsICdwYXRoLXRvLWInKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFrZVBvcnQoJ2Itd2luJywgJ3BhdGgtdG8t
YicpKSkKKyAgICAgICAgaG9zdC5wb3J0X2ZhY3RvcnkgPSBGYWtlRmFjdG9yeShob3N0LCAoRmFr
ZVBvcnQoaG9zdCwgJ2EnLCAncGF0aC10by1hJyksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEZha2VQb3J0KGhvc3QsICdiJywgJ3BhdGgtdG8tYicpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWtlUG9ydCho
b3N0LCAnYi13aW4nLCAncGF0aC10by1iJykpKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KHJ1bl93ZWJraXRfdGVzdHMubGludChob3N0LnBvcnRfZmFjdG9yeS5wb3J0c1snYSddLCBNb2Nr
T3B0aW9ucyhwbGF0Zm9ybT1Ob25lKSwgRmFrZUV4cGVjdGF0aW9uc1BhcnNlciksIDApCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJ1bl93ZWJraXRfdGVzdHMubGludChob3N0LnBvcnRfZmFj
dG9yeS5wb3J0c1snYSddLCBNb2NrT3B0aW9ucyhwbGF0Zm9ybT1Ob25lKSksIDApCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKGhvc3QucG9ydHNfcGFyc2VkLCBbJ2EnLCAnYiddKQogCiAgICAg
ICAgIGhvc3QucG9ydHNfcGFyc2VkID0gW10KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocnVu
X3dlYmtpdF90ZXN0cy5saW50KGhvc3QucG9ydF9mYWN0b3J5LnBvcnRzWydhJ10sIE1vY2tPcHRp
b25zKHBsYXRmb3JtPSdhJyksIEZha2VFeHBlY3RhdGlvbnNQYXJzZXIpLCAwKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhydW5fd2Via2l0X3Rlc3RzLmxpbnQoaG9zdC5wb3J0X2ZhY3Rvcnku
cG9ydHNbJ2EnXSwgTW9ja09wdGlvbnMocGxhdGZvcm09J2EnKSksIDApCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKGhvc3QucG9ydHNfcGFyc2VkLCBbJ2EnXSkKIAogICAgIGRlZiB0ZXN0X2xp
bnRfdGVzdF9maWxlcyhzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3ZpZXdzL3ByaW50aW5nX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmdfdW5pdHRlc3QucHkKaW5kZXggODc3
N2ZkOGQ2ZTMyMmJhNmRlMjM1N2M0NDRjODhlZTY4NjFkZDMzYi4uNTY5NzBhODYzMTBjZjRiYTU5
YmVkY2U3OTdlYWEyMzRmMTQyM2IxZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmdfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmdfdW5pdHRlc3QucHkKQEAg
LTEyNiwxMCArMTI2LDkgQEAgY2xhc3MgIFRlc3RwcmludGVyKHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgcmV0dXJuIHRlc3RfcmVzdWx0cy5UZXN0UmVzdWx0KHRlc3RfbmFtZSwgZmFpbHVy
ZXM9ZmFpbHVyZXMsIHRlc3RfcnVuX3RpbWU9cnVuX3RpbWUpCiAKICAgICBkZWYgZ2V0X3Jlc3Vs
dF9zdW1tYXJ5KHNlbGYsIHRlc3RfbmFtZXMsIGV4cGVjdGF0aW9uc19zdHIpOgotICAgICAgICBl
eHBlY3RhdGlvbnMgPSB0ZXN0X2V4cGVjdGF0aW9ucy5UZXN0RXhwZWN0YXRpb25zKAotICAgICAg
ICAgICAgc2VsZi5fcG9ydCwgdGVzdF9uYW1lcywgZXhwZWN0YXRpb25zX3N0ciwKLSAgICAgICAg
ICAgIHNlbGYuX3BvcnQudGVzdF9jb25maWd1cmF0aW9uKCksCi0gICAgICAgICAgICBpc19saW50
X21vZGU9RmFsc2UpCisgICAgICAgIHBvcnQudGVzdF9leHBlY3RhdGlvbnMgPSBsYW1iZGE6IGV4
cGVjdGF0aW9uc19zdHIKKyAgICAgICAgcG9ydC50ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMg
PSBsYW1iZGE6IE5vbmUKKyAgICAgICAgZXhwZWN0YXRpb25zID0gdGVzdF9leHBlY3RhdGlvbnMu
VGVzdEV4cGVjdGF0aW9ucyhzZWxmLl9wb3J0LCB0ZXN0X25hbWVzKQogCiAgICAgICAgIHJzID0g
cmVzdWx0X3N1bW1hcnkuUmVzdWx0U3VtbWFyeShleHBlY3RhdGlvbnMsIHRlc3RfbmFtZXMpCiAg
ICAgICAgIHJldHVybiB0ZXN0X25hbWVzLCBycywgZXhwZWN0YXRpb25zCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy90ZXN0X2V4cGVjdGF0aW9u
cy5weQppbmRleCBmZjFiZTljMjlmZDQzMTAxMDE5YTRiM2RhMWYwNTk4NTcwNWM2ZDg3Li42MTY5
NTlmNzY1M2M1OTMwYzY2MWRjNjQ2ZjVjMmFhNjQ2MWY2MzNjIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvdGVzdF9leHBlY3RhdGlvbnMu
cHkKQEAgLTc5LDEzICs3OSwyMSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zQ2hlY2tlcihvYmpl
Y3QpOgogICAgIGRlZiBjaGVja190ZXN0X2V4cGVjdGF0aW9ucyhzZWxmLCBleHBlY3RhdGlvbnNf
c3RyLCB0ZXN0cz1Ob25lLCBvdmVycmlkZXM9Tm9uZSk6CiAgICAgICAgIGVyciA9IE5vbmUKICAg
ICAgICAgZXhwZWN0YXRpb25zID0gTm9uZQorICAgICAgICAjIEZJWE1FOiBXZSBuZWVkIHRvIHJl
d29yayBob3cgd2UgbGludCBzdHJpbmdzIHNvIHRoYXQgd2UgY2FuIGRvIGl0IGluZGVwZW5kZW50
bHkgb2Ygd2hhdCBhCisgICAgICAgICMgcG9ydCdzIGV4aXN0aW5nIGV4cGVjdGF0aW9ucyBhcmUu
IExpbnRpbmcgc2hvdWxkIHByb2JhYmx5IGp1c3QgY2FsbCB0aGUgcGFyc2VyIGRpcmVjdGx5Lgor
ICAgICAgICAjIEZvciBub3cgd2Ugb3ZlcnJpZGUgdGhlIHBvcnQgaG9va3MuIFRoaXMgd2lsbCBh
bHNvIG5lZWQgdG8gYmUgcmV3b3JrZWQgd2hlbiBleHBlY3RhdGlvbnMKKyAgICAgICAgIyBjYW4g
Y2FzY2FkZSBhcmJpdHJhcmlseSwgcmF0aGVyIHRoYW4ganVzdCBoYXZlIGV4cGVjdGF0aW9ucyBh
bmQgb3ZlcnJpZGVzLgorICAgICAgICBvcmlnX2V4cGVjdGF0aW9ucyA9IHNlbGYuX3BvcnRfb2Jq
LnRlc3RfZXhwZWN0YXRpb25zCisgICAgICAgIG9yaWdfb3ZlcnJpZGVzID0gc2VsZi5fcG9ydF9v
YmoudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzCiAgICAgICAgIHRyeToKLSAgICAgICAgICAg
IGV4cGVjdGF0aW9ucyA9IHRlc3RfZXhwZWN0YXRpb25zLlRlc3RFeHBlY3RhdGlvbnMoCi0gICAg
ICAgICAgICAgICAgcG9ydD1zZWxmLl9wb3J0X29iaiwgZXhwZWN0YXRpb25zPWV4cGVjdGF0aW9u
c19zdHIsIHRlc3RzPXRlc3RzLAotICAgICAgICAgICAgICAgIHRlc3RfY29uZmlnPXNlbGYuX3Bv
cnRfb2JqLnRlc3RfY29uZmlndXJhdGlvbigpLAotICAgICAgICAgICAgICAgIGlzX2xpbnRfbW9k
ZT1UcnVlLCBvdmVycmlkZXM9b3ZlcnJpZGVzKQorICAgICAgICAgICAgc2VsZi5fcG9ydF9vYmou
dGVzdF9leHBlY3RhdGlvbnMgPSBsYW1iZGE6IGV4cGVjdGF0aW9uc19zdHIKKyAgICAgICAgICAg
IHNlbGYuX3BvcnRfb2JqLnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcyA9IGxhbWJkYTogb3Zl
cnJpZGVzCisgICAgICAgICAgICBleHBlY3RhdGlvbnMgPSB0ZXN0X2V4cGVjdGF0aW9ucy5UZXN0
RXhwZWN0YXRpb25zKHNlbGYuX3BvcnRfb2JqLCB0ZXN0cywgVHJ1ZSkKICAgICAgICAgZXhjZXB0
IHRlc3RfZXhwZWN0YXRpb25zLlBhcnNlRXJyb3IsIGVycm9yOgogICAgICAgICAgICAgZXJyID0g
ZXJyb3IKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYuX3BvcnRfb2JqLnRleHRf
ZXhwZWN0YXRpb25zID0gb3JpZ19leHBlY3RhdGlvbnMKKyAgICAgICAgICAgIHNlbGYuX3BvcnRf
b2JqLnRleHRfZXhwZWN0YXRpb25zX292ZXJyaWRlcyA9IG9yaWdfb3ZlcnJpZGVzCiAKICAgICAg
ICAgaWYgZXJyOgogICAgICAgICAgICAgbGV2ZWwgPSA1CmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllcy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzLnB5CmluZGV4IGVlNDc2Zjk1MzVhNTcyMWU5MjQ2
ZmNhZjliY2EyMTliZDc5MjZjMmQuLmFiOWRiNGFjYWU0NTdkMGMxZjc1YTUxNDMzODI3MzhmZWRi
YWY3MTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9x
dWVyaWVzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVy
aWVzLnB5CkBAIC00NTYsMTMgKzQ1Niw3IEBAIGNsYXNzIFByaW50RXhwZWN0YXRpb25zKEFic3Ry
YWN0RGVjbGFyYXRpdmVDb21tYW5kKToKICAgICAgICAgcG9ydCA9IHNlbGYuX3Rvb2wucG9ydF9m
YWN0b3J5LmdldChwb3J0X25hbWUsIG9wdGlvbnMpCiAgICAgICAgIGV4cGVjdGF0aW9uc19wYXRo
ID0gcG9ydC5wYXRoX3RvX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKQogICAgICAgICBpZiBub3Qg
ZXhwZWN0YXRpb25zX3BhdGggaW4gc2VsZi5fZXhwZWN0YXRpb25fbW9kZWxzOgotICAgICAgICAg
ICAgbGludF9tb2RlID0gRmFsc2UKLSAgICAgICAgICAgIHNlbGYuX2V4cGVjdGF0aW9uX21vZGVs
c1tleHBlY3RhdGlvbnNfcGF0aF0gPSBUZXN0RXhwZWN0YXRpb25zKHBvcnQsIHRlc3RzLAotICAg
ICAgICAgICAgICAgIHBvcnQudGVzdF9leHBlY3RhdGlvbnMoKSwKLSAgICAgICAgICAgICAgICBw
b3J0LnRlc3RfY29uZmlndXJhdGlvbigpLAotICAgICAgICAgICAgICAgIGxpbnRfbW9kZSwKLSAg
ICAgICAgICAgICAgICBwb3J0LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLAotICAgICAg
ICAgICAgICAgIHBvcnQuc2tpcHBlZF9sYXlvdXRfdGVzdHModGVzdHMpKS5tb2RlbCgpCisgICAg
ICAgICAgICBzZWxmLl9leHBlY3RhdGlvbl9tb2RlbHNbZXhwZWN0YXRpb25zX3BhdGhdID0gVGVz
dEV4cGVjdGF0aW9ucyhwb3J0LCB0ZXN0cykubW9kZWwoKQogICAgICAgICByZXR1cm4gc2VsZi5f
ZXhwZWN0YXRpb25fbW9kZWxzW2V4cGVjdGF0aW9uc19wYXRoXQogCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5lLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmUucHkKaW5kZXggYjM3NWU4
ZTA1ZDlkN2ViYmY4NTFjY2E3N2ZmZjBmODU2MGY1MjM5Mi4uMzA0MDk3ODNmN2YwNDYyNzVkZGJi
MDYzOWVkYzg4NjQ4ZDczYTFlMSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3JlYmFzZWxpbmUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3JlYmFzZWxpbmUucHkKQEAgLTEyMSw4ICsxMjEsNyBAQCBjbGFzcyBSZWJh
c2VsaW5lVGVzdChBYnN0cmFjdFJlYmFzZWxpbmluZ0NvbW1hbmQpOgogCiAgICAgZGVmIF91cGRh
dGVfZXhwZWN0YXRpb25zX2ZpbGUoc2VsZiwgYnVpbGRlcl9uYW1lLCB0ZXN0X25hbWUpOgogICAg
ICAgICBwb3J0ID0gc2VsZi5fdG9vbC5wb3J0X2ZhY3RvcnkuZ2V0X2Zyb21fYnVpbGRlcl9uYW1l
KGJ1aWxkZXJfbmFtZSkKLSAgICAgICAgZXhwZWN0YXRpb25zU3RyaW5nID0gcG9ydC50ZXN0X2V4
cGVjdGF0aW9ucygpCi0gICAgICAgIGV4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlvbnMocG9y
dCwgTm9uZSwgZXhwZWN0YXRpb25zU3RyaW5nLCBwb3J0LnRlc3RfY29uZmlndXJhdGlvbigpKQor
ICAgICAgICBleHBlY3RhdGlvbnMgPSBUZXN0RXhwZWN0YXRpb25zKHBvcnQpCiAKICAgICAgICAg
Zm9yIHRlc3RfY29uZmlndXJhdGlvbiBpbiBwb3J0LmFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKCk6
CiAgICAgICAgICAgICBpZiB0ZXN0X2NvbmZpZ3VyYXRpb24udmVyc2lvbiA9PSBwb3J0LnRlc3Rf
Y29uZmlndXJhdGlvbigpLnZlcnNpb246CkBAIC0yMzksNyArMjM4LDcgQEAgY2xhc3MgUmViYXNl
bGluZUV4cGVjdGF0aW9ucyhBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgICAgIHJl
dHVybiBwb3J0X25hbWUuc3RhcnRzd2l0aCgnY2hyb21pdW0tJykKIAogICAgIGRlZiBfZXhwZWN0
YXRpb25zKHNlbGYsIHBvcnQpOgotICAgICAgICByZXR1cm4gVGVzdEV4cGVjdGF0aW9ucyhwb3J0
LCBOb25lLCBwb3J0LnRlc3RfZXhwZWN0YXRpb25zKCksIHBvcnQudGVzdF9jb25maWd1cmF0aW9u
KCkpCisgICAgICAgIHJldHVybiBUZXN0RXhwZWN0YXRpb25zKHBvcnQpCiAKICAgICBkZWYgX3Vw
ZGF0ZV9leHBlY3RhdGlvbnNfZmlsZShzZWxmLCBwb3J0X25hbWUpOgogICAgICAgICBpZiBub3Qg
c2VsZi5faXNfc3VwcG9ydGVkX3BvcnQocG9ydF9uYW1lKToK
</data>

          </attachment>
      

    </bug>

</bugzilla>