<?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>106536</bug_id>
          
          <creation_ts>2013-01-10 00:51:57 -0800</creation_ts>
          <short_desc>Changing tests to be consistent and use self.scm rather then recreating the scm object.</short_desc>
          <delta_ts>2013-01-10 10:42:29 -0800</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim &apos;mithro&apos; Ansell">mithro</reporter>
          <assigned_to name="Tim &apos;mithro&apos; Ansell">mithro</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>804133</commentid>
    <comment_count>0</comment_count>
    <who name="Tim &apos;mithro&apos; Ansell">mithro</who>
    <bug_when>2013-01-10 00:51:57 -0800</bug_when>
    <thetext>Changing tests to be consistent and use self.scm rather then recreating the scm object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804134</commentid>
    <comment_count>1</comment_count>
      <attachid>182081</attachid>
    <who name="Tim &apos;mithro&apos; Ansell">mithro</who>
    <bug_when>2013-01-10 00:52:53 -0800</bug_when>
    <thetext>Created attachment 182081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804138</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 00:57:17 -0800</bug_when>
    <thetext>Attachment 182081 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy...&quot; exit_code: 1
Tools/ChangeLog:8:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804140</commentid>
    <comment_count>3</comment_count>
      <attachid>182081</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-10 00:58:40 -0800</bug_when>
    <thetext>Comment on attachment 182081
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804157</commentid>
    <comment_count>4</comment_count>
      <attachid>182081</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 01:14:56 -0800</bug_when>
    <thetext>Comment on attachment 182081
Patch

Rejecting attachment 182081 from commit-queue.

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, u&apos;--status-host=queues.webkit.org&apos;, ...&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
rce/WebKit/chromium/webkit/media/crypto/ppapi/cdm --revision 173055 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
56&gt;At revision 173055.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/15755923</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804170</commentid>
    <comment_count>5</comment_count>
      <attachid>182088</attachid>
    <who name="Tim &apos;mithro&apos; Ansell">mithro</who>
    <bug_when>2013-01-10 01:41:23 -0800</bug_when>
    <thetext>Created attachment 182088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804171</commentid>
    <comment_count>6</comment_count>
    <who name="Tim &apos;mithro&apos; Ansell">mithro</who>
    <bug_when>2013-01-10 01:42:42 -0800</bug_when>
    <thetext>Update the patch so it merges correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804172</commentid>
    <comment_count>7</comment_count>
      <attachid>182088</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-10 01:45:05 -0800</bug_when>
    <thetext>Comment on attachment 182088
Patch

purple style bubbles don&apos;t bode well for this.  purple normally means it failed to apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804180</commentid>
    <comment_count>8</comment_count>
      <attachid>182088</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 01:59:43 -0800</bug_when>
    <thetext>Comment on attachment 182088
Patch

Clearing flags on attachment: 182088

Committed r139299: &lt;http://trac.webkit.org/changeset/139299&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804181</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 01:59:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804184</commentid>
    <comment_count>10</comment_count>
    <who name="Tim &apos;mithro&apos; Ansell">mithro</who>
    <bug_when>2013-01-10 02:03:00 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804185</commentid>
    <comment_count>11</comment_count>
      <attachid>182093</attachid>
    <who name="Tim &apos;mithro&apos; Ansell">mithro</who>
    <bug_when>2013-01-10 02:03:05 -0800</bug_when>
    <thetext>Created attachment 182093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804186</commentid>
    <comment_count>12</comment_count>
      <attachid>182094</attachid>
    <who name="Tim &apos;mithro&apos; Ansell">mithro</who>
    <bug_when>2013-01-10 02:06:36 -0800</bug_when>
    <thetext>Created attachment 182094
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804188</commentid>
    <comment_count>13</comment_count>
      <attachid>182094</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-10 02:07:19 -0800</bug_when>
    <thetext>Comment on attachment 182094
Patch

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

&gt; Tools/Scripts/webkitpy/common/checkout/scm/scm_unittest.py:1546
&gt; -        scm = detect_scm_system(self.git_checkout_path)
&gt;          self._shared_test_exists(scm, scm.commit_locally_with_message)

Doesn&apos;t look like this will wokr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804199</commentid>
    <comment_count>14</comment_count>
      <attachid>182097</attachid>
    <who name="Tim &apos;mithro&apos; Ansell">mithro</who>
    <bug_when>2013-01-10 02:32:24 -0800</bug_when>
    <thetext>Created attachment 182097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804525</commentid>
    <comment_count>15</comment_count>
      <attachid>182097</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 10:42:25 -0800</bug_when>
    <thetext>Comment on attachment 182097
Patch

Clearing flags on attachment: 182097

Committed r139338: &lt;http://trac.webkit.org/changeset/139338&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804527</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 10:42:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182081</attachid>
            <date>2013-01-10 00:52:53 -0800</date>
            <delta_ts>2013-01-10 01:41:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106536-20130110194955.patch</filename>
            <type>text/plain</type>
            <size>22187</size>
            <attacher name="Tim &apos;mithro&apos; Ansell">mithro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDQyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzZlM2FkOTkyNTVjYWE5OGI5ZmJmYzZkYTM2ZmEwY2Mz
NWY3OTM1YS4uNGU2OTZlMzgxZDU1MjljN2M5MzYwY2NlNjYyNjgwZGE1YzQ4NTdjMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDEzLTAxLTEwICBUaW0gJ21pdGhybycgQW5zZWxsICA8bWl0aHJvQG1pdGhpcy5jb20+
CisKKyAgICAgICAgQ2hhbmdpbmcgdGVzdHMgdG8gYmUgY29uc2lzdGVudCBhbmQgdXNlIHNlbGYu
c2NtIHJhdGhlciB0aGVuIHJlY3JlYXRpbmcgdGhlIHNjbSBvYmplY3QuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY1MzYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkKKwogMjAxMy0wMS0wMiAgU3RldmUgQmxv
Y2sgIDxzdGV2ZWJsb2NrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgY2hyb21pdW0ub3Jn
IGVtYWlsIGFkZHJlc3MgZm9yIFN0ZXZlIEJsb2NrLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkKaW5kZXgg
MTRlOWZkMzg0Mjc4NzEyOGQ0Y2JkMGYzYWZiMmUxY2MxMjZlMmNmMC4uNTBkMzE1MDM0N2Y1NDBi
ZjRmMzdlYTYyNWQzMGNiZGZkM2ZhOTM5OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5CkBAIC0xMDUw
LDkgKzEwNTAsOSBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBzZWxmLl90
ZWFyX2Rvd25fZ2l0X2NoZWNrb3V0KCkKIAogICAgIGRlZiB0ZXN0X2RldGVjdGlvbihzZWxmKToK
LSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzY20uZGlzcGxheV9uYW1lKCksICJnaXQiKQotICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHNjbS5zdXBwb3J0c19sb2NhbF9jb21taXRzKCksIFRydWUp
CisgICAgICAgIHNlbGYuc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRf
cGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5kaXNwbGF5X25hbWUoKSwg
ImdpdCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20uc3VwcG9ydHNfbG9jYWxf
Y29tbWl0cygpLCBUcnVlKQogCiAgICAgZGVmIHRlc3RfcmVhZF9naXRfY29uZmlnKHNlbGYpOgog
ICAgICAgICBrZXkgPSAndGVzdC5naXQtY29uZmlnJwpAQCAtMTExMSw0NSArMTExMSwzOSBAQCBj
bGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICAjIC0tcXVpZXQgZG9lc24ndCBtYWtl
IGdpdCBzdm4gc2lsZW50LCBzbyB1c2UgcnVuX3NpbGVudCB0byByZWRpcmVjdCBvdXRwdXQKICAg
ICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU2NyaXB0RXJyb3IsIHJ1bl9zaWxlbnQsIFsnZ2l0Jywg
J3N2bicsICctLXF1aWV0JywgJ3JlYmFzZSddKSAjIFdpbGwgZmFpbCBkdWUgdG8gYSBjb25mbGlj
dCBsZWF2aW5nIHVzIG1pZC1yZWJhc2UuCiAKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0
ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNjbS5y
ZWJhc2VfaW5fcHJvZ3Jlc3MoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuc2NtLnJl
YmFzZV9pbl9wcm9ncmVzcygpKQogCiAgICAgICAgICMgTWFrZSBzdXJlIG91ciBjbGVhbnVwIHdv
cmtzLgotICAgICAgICBzY20uY2xlYW5fd29ya2luZ19kaXJlY3RvcnkoKQotICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKHNjbS5yZWJhc2VfaW5fcHJvZ3Jlc3MoKSkKKyAgICAgICAgc2VsZi5zY20u
Y2xlYW5fd29ya2luZ19kaXJlY3RvcnkoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYu
c2NtLnJlYmFzZV9pbl9wcm9ncmVzcygpKQogCiAgICAgICAgICMgTWFrZSBzdXJlIGNsZWFudXAg
ZG9lc24ndCB0aHJvdyB3aGVuIG5vIHJlYmFzZSBpcyBpbiBwcm9ncmVzcy4KLSAgICAgICAgc2Nt
LmNsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KCkKKyAgICAgICAgc2VsZi5zY20uY2xlYW5fd29ya2lu
Z19kaXJlY3RvcnkoKQogCiAgICAgZGVmIHRlc3RfY29tbWl0aXNoX3BhcnNpbmcoc2VsZik6Ci0g
ICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0K
ICAgICAgICAgIyBNdWx0aXBsZSByZXZpc2lvbnMgYXJlIGNoZXJyeS1waWNrZWQuCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNjbS5jb21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3Vt
ZW50cyhbJ0hFQUR+MiddKSksIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNjbS5j
b21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cyhbJ0hFQUQnLCAnSEVBRH4yJ10pKSwg
MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5zY20uY29tbWl0X2lkc19mcm9t
X2NvbW1pdGlzaF9hcmd1bWVudHMoWydIRUFEfjInXSkpLCAxKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGxlbihzZWxmLnNjbS5jb21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cyhb
J0hFQUQnLCAnSEVBRH4yJ10pKSwgMikKIAogICAgICAgICAjIC4uLiBpcyBhbiBpbnZhbGlkIHJh
bmdlIHNwZWNpZmllcgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwgc2Nt
LmNvbW1pdF9pZHNfZnJvbV9jb21taXRpc2hfYXJndW1lbnRzLCBbJ3RydW5rLi4uSEVBRCddKQor
ICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwgc2VsZi5zY20uY29tbWl0X2lk
c19mcm9tX2NvbW1pdGlzaF9hcmd1bWVudHMsIFsndHJ1bmsuLi5IRUFEJ10pCiAKICAgICBkZWYg
dGVzdF9jb21taXRpc2hfb3JkZXIoc2VsZik6Ci0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lz
dGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0KICAgICAgICAgY29tbWl0X3JhbmdlID0gJ0hF
QUR+My4uSEVBRCcKIAotICAgICAgICBhY3R1YWxfY29tbWl0cyA9IHNjbS5jb21taXRfaWRzX2Zy
b21fY29tbWl0aXNoX2FyZ3VtZW50cyhbY29tbWl0X3JhbmdlXSkKKyAgICAgICAgYWN0dWFsX2Nv
bW1pdHMgPSBzZWxmLnNjbS5jb21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cyhbY29t
bWl0X3JhbmdlXSkKICAgICAgICAgZXhwZWN0ZWRfY29tbWl0cyA9IFtdCiAgICAgICAgIGV4cGVj
dGVkX2NvbW1pdHMgKz0gcmV2ZXJzZWQocnVuX2NvbW1hbmQoWydnaXQnLCAncmV2LWxpc3QnLCBj
b21taXRfcmFuZ2VdKS5zcGxpdGxpbmVzKCkpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChh
Y3R1YWxfY29tbWl0cywgZXhwZWN0ZWRfY29tbWl0cykKIAogICAgIGRlZiB0ZXN0X2FwcGx5X2dp
dF9wYXRjaChzZWxmKToKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRf
Y2hlY2tvdXRfcGF0aCkKICAgICAgICAgIyBXZSBjYXJlZnVsbGx5IHBpY2sgYSBkaWZmIHdoaWNo
IGRvZXMgbm90IGhhdmUgYSBkaXJlY3RvcnkgYWRkaXRpb24KICAgICAgICAgIyBhcyBjdXJyZW50
bHkgc3ZuLWFwcGx5IHdpbGwgZXJyb3Igb3V0IHdoZW4gdHJ5aW5nIHRvIHJlbW92ZSBkaXJlY3Rv
cmllcwogICAgICAgICAjIGluIEdpdDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM0ODcxCiAgICAgICAgIHBhdGNoID0gc2VsZi5fY3JlYXRlX3BhdGNoKF9naXRfZGlm
ZignSEVBRC4uSEVBRF4nKSkKLSAgICAgICAgc2VsZi5fc2V0dXBfd2Via2l0dG9vbHNfc2NyaXB0
c19zeW1saW5rKHNjbSkKLSAgICAgICAgQ2hlY2tvdXQoc2NtKS5hcHBseV9wYXRjaChwYXRjaCkK
KyAgICAgICAgc2VsZi5fc2V0dXBfd2Via2l0dG9vbHNfc2NyaXB0c19zeW1saW5rKHNlbGYuc2Nt
KQorICAgICAgICBDaGVja291dChzZWxmLnNjbSkuYXBwbHlfcGF0Y2gocGF0Y2gpCiAKICAgICBk
ZWYgdGVzdF9jb21taXRfdGV4dF9wYXJzaW5nKHNlbGYpOgogICAgICAgICB3cml0ZV9pbnRvX2Zp
bGVfYXRfcGF0aCgndGVzdF9maWxlJywgJ21vcmUgdGVzdCBjb250ZW50JykKQEAgLTExNTksMTAg
KzExNTMsOSBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgIGRlZiB0ZXN0X2NvbW1p
dF93aXRoX21lc3NhZ2Vfd29ya2luZ19jb3B5X29ubHkoc2VsZik6CiAgICAgICAgIHdyaXRlX2lu
dG9fZmlsZV9hdF9wYXRoKCd0ZXN0X2ZpbGVfY29tbWl0MScsICdtb3JlIHRlc3QgY29udGVudCcp
CiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2FkZCcsICd0ZXN0X2ZpbGVfY29tbWl0MSdd
KQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRo
KQotICAgICAgICBjb21taXRfdGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJ5ZXQgYW5v
dGhlciB0ZXN0IGNvbW1pdCIpCisgICAgICAgIGNvbW1pdF90ZXh0ID0gc2VsZi5zY20uY29tbWl0
X3dpdGhfbWVzc2FnZSgieWV0IGFub3RoZXIgdGVzdCBjb21taXQiKQogCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0
KSwgJzYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLnN2bl9yZXZpc2lvbl9m
cm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQogICAgICAgICBzdm5fbG9nID0gcnVu
X2NvbW1hbmQoWydnaXQnLCAnc3ZuJywgJ2xvZycsICctLWxpbWl0PTEnLCAnLS12ZXJib3NlJ10p
CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29tbWl0MScs
IHN2bl9sb2cpKQogCkBAIC0xMTk2LDExICsxMTg5LDEwIEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NN
VGVzdCk6CiAKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9tZXNzYWdlKHNlbGYpOgogICAgICAg
ICBzZWxmLl9vbmVfbG9jYWxfY29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMoKQotICAg
ICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAg
ICAgICBzZWxmLmFzc2VydFJhaXNlcyhBbWJpZ3VvdXNDb21taXRFcnJvciwgc2NtLmNvbW1pdF93
aXRoX21lc3NhZ2UsICJ5ZXQgYW5vdGhlciB0ZXN0IGNvbW1pdCIpCi0gICAgICAgIGNvbW1pdF90
ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoInlldCBhbm90aGVyIHRlc3QgY29tbWl0Iiwg
Zm9yY2Vfc3F1YXNoPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFtYmlndW91c0Nv
bW1pdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAieWV0IGFub3RoZXIgdGVz
dCBjb21taXQiKQorICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1pdF93aXRoX21l
c3NhZ2UoInlldCBhbm90aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCiAKLSAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzY20uc3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQo
Y29tbWl0X3RleHQpLCAnNicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20uc3Zu
X3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29tbWl0X3RleHQpLCAnNicpCiAgICAgICAgIHN2
bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGltaXQ9MScsICct
LXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLnNlYXJjaChyJ3Rlc3RfZmls
ZV9jb21taXQyJywgc3ZuX2xvZykpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5zZWFyY2go
cid0ZXN0X2ZpbGVfY29tbWl0MScsIHN2bl9sb2cpKQpAQCAtMTIwOCw5ICsxMjAwLDggQEAgY2xh
c3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9tZXNzYWdl
X2dpdF9jb21taXQoc2VsZik6CiAgICAgICAgIHNlbGYuX3R3b19sb2NhbF9jb21taXRzKCkKIAot
ICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQot
ICAgICAgICBjb21taXRfdGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90aGVyIHRl
c3QgY29tbWl0IiwgZ2l0X2NvbW1pdD0iSEVBRF4iKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNjbS5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChjb21taXRfdGV4dCksICc2JykKKyAg
ICAgICAgY29tbWl0X3RleHQgPSBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90aGVy
IHRlc3QgY29tbWl0IiwgZ2l0X2NvbW1pdD0iSEVBRF4iKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwg
JzYnKQogCiAgICAgICAgIHN2bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9n
JywgJy0tbGltaXQ9MScsICctLXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJl
LnNlYXJjaChyJ3Rlc3RfZmlsZV9jb21taXQxJywgc3ZuX2xvZykpCkBAIC0xMjE5LDkgKzEyMTAs
OCBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgIGRlZiB0ZXN0X2NvbW1pdF93aXRo
X21lc3NhZ2VfZ2l0X2NvbW1pdF9yYW5nZShzZWxmKToKICAgICAgICAgc2VsZi5fdGhyZWVfbG9j
YWxfY29tbWl0cygpCiAKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRf
Y2hlY2tvdXRfcGF0aCkKLSAgICAgICAgY29tbWl0X3RleHQgPSBzY20uY29tbWl0X3dpdGhfbWVz
c2FnZSgiYW5vdGhlciB0ZXN0IGNvbW1pdCIsIGdpdF9jb21taXQ9IkhFQUR+Mi4uSEVBRCIpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0
KGNvbW1pdF90ZXh0KSwgJzYnKQorICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1p
dF93aXRoX21lc3NhZ2UoImFub3RoZXIgdGVzdCBjb21taXQiLCBnaXRfY29tbWl0PSJIRUFEfjIu
LkhFQUQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLnN2bl9yZXZpc2lvbl9m
cm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQogCiAgICAgICAgIHN2bl9sb2cgPSBy
dW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGltaXQ9MScsICctLXZlcmJvc2Un
XSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29tbWl0
MCcsIHN2bl9sb2cpKQpAQCAtMTIzMCwyMCArMTIyMCwxOCBAQCBjbGFzcyBHaXRTVk5UZXN0KFND
TVRlc3QpOgogCiAgICAgZGVmIHRlc3RfY29tbWl0X3dpdGhfbWVzc2FnZV9vbmx5X2xvY2FsX2Nv
bW1pdChzZWxmKToKICAgICAgICAgc2VsZi5fb25lX2xvY2FsX2NvbW1pdCgpCi0gICAgICAgIHNj
bSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIGNv
bW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoImFub3RoZXIgdGVzdCBjb21taXQi
KQorICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoImFu
b3RoZXIgdGVzdCBjb21taXQiKQogICAgICAgICBzdm5fbG9nID0gcnVuX2NvbW1hbmQoWydnaXQn
LCAnc3ZuJywgJ2xvZycsICctLWxpbWl0PTEnLCAnLS12ZXJib3NlJ10pCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShyZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29tbWl0MScsIHN2bl9sb2cpKQogCiAg
ICAgZGVmIHRlc3RfY29tbWl0X3dpdGhfbWVzc2FnZV9tdWx0aXBsZV9sb2NhbF9jb21taXRzX2Fu
ZF93b3JraW5nX2NvcHkoc2VsZik6CiAgICAgICAgIHNlbGYuX3R3b19sb2NhbF9jb21taXRzKCkK
ICAgICAgICAgd3JpdGVfaW50b19maWxlX2F0X3BhdGgoJ3Rlc3RfZmlsZV9jb21taXQxJywgJ3dv
cmtpbmcgY29weSBjaGFuZ2UnKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxm
LmdpdF9jaGVja291dF9wYXRoKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFtYmlndW91
c0NvbW1pdEVycm9yLCBzY20uY29tbWl0X3dpdGhfbWVzc2FnZSwgImFub3RoZXIgdGVzdCBjb21t
aXQiKQotICAgICAgICBjb21taXRfdGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90
aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0
UmFpc2VzKEFtYmlndW91c0NvbW1pdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdl
LCAiYW5vdGhlciB0ZXN0IGNvbW1pdCIpCisgICAgICAgIGNvbW1pdF90ZXh0ID0gc2VsZi5zY20u
Y29tbWl0X3dpdGhfbWVzc2FnZSgiYW5vdGhlciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3NxdWFzaD1U
cnVlKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2Nv
bW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
bGYuc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQog
ICAgICAgICBzdm5fbG9nID0gcnVuX2NvbW1hbmQoWydnaXQnLCAnc3ZuJywgJ2xvZycsICctLWxp
bWl0PTEnLCAnLS12ZXJib3NlJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5zZWFyY2go
cid0ZXN0X2ZpbGVfY29tbWl0MicsIHN2bl9sb2cpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUo
cmUuc2VhcmNoKHIndGVzdF9maWxlX2NvbW1pdDEnLCBzdm5fbG9nKSkKQEAgLTEyNTEsMTUgKzEy
MzksMTMgQEAgY2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9jb21taXRf
d2l0aF9tZXNzYWdlX2dpdF9jb21taXRfYW5kX3dvcmtpbmdfY29weShzZWxmKToKICAgICAgICAg
c2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQogICAgICAgICB3cml0ZV9pbnRvX2ZpbGVfYXRfcGF0
aCgndGVzdF9maWxlX2NvbW1pdDEnLCAnd29ya2luZyBjb3B5IGNoYW5nZScpCi0gICAgICAgIHNj
bSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHNl
bGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBzY20uY29tbWl0X3dpdGhfbWVzc2FnZSwgImFu
b3RoZXIgdGVzdCBjb21taXQiLCBnaXRfY29tbWl0PSJIRUFEXiIpCisgICAgICAgIHNlbGYuYXNz
ZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAiYW5v
dGhlciB0ZXN0IGNvbW1pdCIsIGdpdF9jb21taXQ9IkhFQUReIikKIAogICAgIGRlZiB0ZXN0X2Nv
bW1pdF93aXRoX21lc3NhZ2VfbXVsdGlwbGVfbG9jYWxfY29tbWl0c19hbHdheXNfc3F1YXNoKHNl
bGYpOgogICAgICAgICBzZWxmLl90d29fbG9jYWxfY29tbWl0cygpCi0gICAgICAgIHNjbSA9IGRl
dGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHNjbS5fYXNz
ZXJ0X2Nhbl9zcXVhc2ggPSBsYW1iZGEgd29ya2luZ19kaXJlY3RvcnlfaXNfY2xlYW46IFRydWUK
LSAgICAgICAgY29tbWl0X3RleHQgPSBzY20uY29tbWl0X3dpdGhfbWVzc2FnZSgieWV0IGFub3Ro
ZXIgdGVzdCBjb21taXQiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjbS5zdm5fcmV2aXNp
b25fZnJvbV9jb21taXRfdGV4dChjb21taXRfdGV4dCksICc2JykKKyAgICAgICAgc2VsZi5zY20u
X2Fzc2VydF9jYW5fc3F1YXNoID0gbGFtYmRhIHdvcmtpbmdfZGlyZWN0b3J5X2lzX2NsZWFuOiBU
cnVlCisgICAgICAgIGNvbW1pdF90ZXh0ID0gc2VsZi5zY20uY29tbWl0X3dpdGhfbWVzc2FnZSgi
eWV0IGFub3RoZXIgdGVzdCBjb21taXQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYu
c2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQogCiAg
ICAgICAgIHN2bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGlt
aXQ9MScsICctLXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLnNlYXJjaChy
J3Rlc3RfZmlsZV9jb21taXQyJywgc3ZuX2xvZykpCkBAIC0xMjY3LDExICsxMjUzLDEwIEBAIGNs
YXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9tZXNz
YWdlX211bHRpcGxlX2xvY2FsX2NvbW1pdHMoc2VsZik6CiAgICAgICAgIHNlbGYuX3R3b19sb2Nh
bF9jb21taXRzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hl
Y2tvdXRfcGF0aCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQW1iaWd1b3VzQ29tbWl0RXJy
b3IsIHNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAieWV0IGFub3RoZXIgdGVzdCBjb21taXQiKQot
ICAgICAgICBjb21taXRfdGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJ5ZXQgYW5vdGhl
ciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3NxdWFzaD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydFJh
aXNlcyhBbWJpZ3VvdXNDb21taXRFcnJvciwgc2VsZi5zY20uY29tbWl0X3dpdGhfbWVzc2FnZSwg
InlldCBhbm90aGVyIHRlc3QgY29tbWl0IikKKyAgICAgICAgY29tbWl0X3RleHQgPSBzZWxmLnNj
bS5jb21taXRfd2l0aF9tZXNzYWdlKCJ5ZXQgYW5vdGhlciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3Nx
dWFzaD1UcnVlKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9m
cm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlbGYuc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwg
JzYnKQogCiAgICAgICAgIHN2bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9n
JywgJy0tbGltaXQ9MScsICctLXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJl
LnNlYXJjaChyJ3Rlc3RfZmlsZV9jb21taXQyJywgc3ZuX2xvZykpCkBAIC0xMjgwLDExICsxMjY1
LDEwIEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgZGVmIHRlc3RfY29tbWl0X3dp
dGhfbWVzc2FnZV9ub3Rfc3luY2VkKHNlbGYpOgogICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcs
ICdjaGVja291dCcsICctYicsICdteS1icmFuY2gnLCAndHJ1bmt+MyddKQogICAgICAgICBzZWxm
Ll90d29fbG9jYWxfY29tbWl0cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNl
bGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFtYmlndW91
c0NvbW1pdEVycm9yLCBzY20uY29tbWl0X3dpdGhfbWVzc2FnZSwgImFub3RoZXIgdGVzdCBjb21t
aXQiKQotICAgICAgICBjb21taXRfdGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90
aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0
UmFpc2VzKEFtYmlndW91c0NvbW1pdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdl
LCAiYW5vdGhlciB0ZXN0IGNvbW1pdCIpCisgICAgICAgIGNvbW1pdF90ZXh0ID0gc2VsZi5zY20u
Y29tbWl0X3dpdGhfbWVzc2FnZSgiYW5vdGhlciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3NxdWFzaD1U
cnVlKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2Nv
bW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
bGYuc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQog
CiAgICAgICAgIHN2bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0t
bGltaXQ9MScsICctLXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZS5zZWFy
Y2gocid0ZXN0X2ZpbGUyJywgc3ZuX2xvZykpCkBAIC0xMjk1LDkgKzEyNzksOCBAQCBjbGFzcyBH
aXRTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcsICdjaGVja291
dCcsICctYicsICdteS1icmFuY2gnLCAndHJ1bmt+MyddKQogICAgICAgICBzZWxmLl9sb2NhbF9j
b21taXQoJ3Rlc3RfZmlsZTInLCAnYXNkZicsICdhc2RmIGNvbW1pdCcpCiAKLSAgICAgICAgc2Nt
ID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKICAgICAgICAgIyBU
aGVyZSdzIGEgY29uZmxpY3QgYmV0d2VlbiB0cnVuayBhbmQgdGhlIHRlc3RfZmlsZTIgbW9kaWZp
Y2F0aW9uLgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwgc2NtLmNvbW1p
dF93aXRoX21lc3NhZ2UsICJhbm90aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUp
CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBzZWxmLnNjbS5jb21taXRf
d2l0aF9tZXNzYWdlLCAiYW5vdGhlciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3NxdWFzaD1UcnVlKQog
CiAgICAgZGVmIHRlc3RfdXBzdHJlYW1fYnJhbmNoKHNlbGYpOgogICAgICAgICBydW5fY29tbWFu
ZChbJ2dpdCcsICdjaGVja291dCcsICctdCcsICctYicsICdteS1icmFuY2gnXSkKQEAgLTEzMTgs
MTUgKzEzMDEsMTMgQEAgY2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKIAogICAgIGRlZiB0ZXN0
X2NyZWF0ZV9wYXRjaF9sb2NhbF9wbHVzX3dvcmtpbmdfY29weShzZWxmKToKICAgICAgICAgc2Vs
Zi5fb25lX2xvY2FsX2NvbW1pdF9wbHVzX3dvcmtpbmdfY29weV9jaGFuZ2VzKCkKLSAgICAgICAg
c2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAg
cGF0Y2ggPSBzY20uY3JlYXRlX3BhdGNoKCkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVh
dGVfcGF0Y2goKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuc2VhcmNoKHIndGVzdF9maWxl
X2NvbW1pdDEnLCBwYXRjaCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5zZWFyY2gocid0
ZXN0X2ZpbGVfY29tbWl0MicsIHBhdGNoKSkKIAogICAgIGRlZiB0ZXN0X2NyZWF0ZV9wYXRjaChz
ZWxmKToKICAgICAgICAgc2VsZi5fb25lX2xvY2FsX2NvbW1pdF9wbHVzX3dvcmtpbmdfY29weV9j
aGFuZ2VzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tv
dXRfcGF0aCkKLSAgICAgICAgcGF0Y2ggPSBzY20uY3JlYXRlX3BhdGNoKCkKKyAgICAgICAgcGF0
Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUu
c2VhcmNoKHIndGVzdF9maWxlX2NvbW1pdDInLCBwYXRjaCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShyZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29tbWl0MScsIHBhdGNoKSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKHJlLnNlYXJjaChyJ1N1YnZlcnNpb24gUmV2aXNpb246IDUnLCBwYXRjaCkp
CkBAIC0xMzM2LDc4ICsxMzE3LDY5IEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAg
ICAgIHNlbGYuX29uZV9sb2NhbF9jb21taXQoKQogICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcs
ICdtZXJnZScsICd0cnVuayddKQogCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNl
bGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHBhdGNoID0gc2NtLmNyZWF0ZV9wYXRjaCgp
CisgICAgICAgIHBhdGNoID0gc2VsZi5zY20uY3JlYXRlX3BhdGNoKCkKICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKHJlLnNlYXJjaChyJ3Rlc3RfZmlsZV9jb21taXQxJywgcGF0Y2gpKQogICAgICAg
ICBzZWxmLmFzc2VydFRydWUocmUuc2VhcmNoKHInU3VidmVyc2lvbiBSZXZpc2lvbjogNScsIHBh
dGNoKSkKIAogICAgIGRlZiB0ZXN0X2NyZWF0ZV9wYXRjaF93aXRoX2NoYW5nZWRfZmlsZXMoc2Vs
Zik6CiAgICAgICAgIHNlbGYuX29uZV9sb2NhbF9jb21taXRfcGx1c193b3JraW5nX2NvcHlfY2hh
bmdlcygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0
X3BhdGgpCi0gICAgICAgIHBhdGNoID0gc2NtLmNyZWF0ZV9wYXRjaChjaGFuZ2VkX2ZpbGVzPVsn
dGVzdF9maWxlX2NvbW1pdDInXSkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0
Y2goY2hhbmdlZF9maWxlcz1bJ3Rlc3RfZmlsZV9jb21taXQyJ10pCiAgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShyZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29tbWl0MicsIHBhdGNoKSkKIAogICAgIGRl
ZiB0ZXN0X2NyZWF0ZV9wYXRjaF93aXRoX3JtX2FuZF9jaGFuZ2VkX2ZpbGVzKHNlbGYpOgogICAg
ICAgICBzZWxmLl9vbmVfbG9jYWxfY29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMoKQot
ICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQog
ICAgICAgICBvcy5yZW1vdmUoJ3Rlc3RfZmlsZV9jb21taXQxJykKLSAgICAgICAgcGF0Y2ggPSBz
Y20uY3JlYXRlX3BhdGNoKCkKLSAgICAgICAgcGF0Y2hfd2l0aF9jaGFuZ2VkX2ZpbGVzID0gc2Nt
LmNyZWF0ZV9wYXRjaChjaGFuZ2VkX2ZpbGVzPVsndGVzdF9maWxlX2NvbW1pdDEnLCAndGVzdF9m
aWxlX2NvbW1pdDInXSkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goKQor
ICAgICAgICBwYXRjaF93aXRoX2NoYW5nZWRfZmlsZXMgPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2go
Y2hhbmdlZF9maWxlcz1bJ3Rlc3RfZmlsZV9jb21taXQxJywgJ3Rlc3RfZmlsZV9jb21taXQyJ10p
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGF0Y2gsIHBhdGNoX3dpdGhfY2hhbmdlZF9maWxl
cykKIAogICAgIGRlZiB0ZXN0X2NyZWF0ZV9wYXRjaF9naXRfY29tbWl0KHNlbGYpOgogICAgICAg
ICBzZWxmLl90d29fbG9jYWxfY29tbWl0cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lz
dGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHBhdGNoID0gc2NtLmNyZWF0ZV9w
YXRjaChnaXRfY29tbWl0PSJIRUFEXiIpCisgICAgICAgIHBhdGNoID0gc2VsZi5zY20uY3JlYXRl
X3BhdGNoKGdpdF9jb21taXQ9IkhFQUReIikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLnNl
YXJjaChyJ3Rlc3RfZmlsZV9jb21taXQxJywgcGF0Y2gpKQogICAgICAgICBzZWxmLmFzc2VydEZh
bHNlKHJlLnNlYXJjaChyJ3Rlc3RfZmlsZV9jb21taXQyJywgcGF0Y2gpKQogCiAgICAgZGVmIHRl
c3RfY3JlYXRlX3BhdGNoX2dpdF9jb21taXRfcmFuZ2Uoc2VsZik6CiAgICAgICAgIHNlbGYuX3Ro
cmVlX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxm
LmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRjaCA9IHNjbS5jcmVhdGVfcGF0Y2goZ2l0
X2NvbW1pdD0iSEVBRH4yLi5IRUFEIikKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVf
cGF0Y2goZ2l0X2NvbW1pdD0iSEVBRH4yLi5IRUFEIikKICAgICAgICAgc2VsZi5hc3NlcnRGYWxz
ZShyZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29tbWl0MCcsIHBhdGNoKSkKICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKHJlLnNlYXJjaChyJ3Rlc3RfZmlsZV9jb21taXQyJywgcGF0Y2gpKQogICAgICAg
ICBzZWxmLmFzc2VydFRydWUocmUuc2VhcmNoKHIndGVzdF9maWxlX2NvbW1pdDEnLCBwYXRjaCkp
CiAKICAgICBkZWYgdGVzdF9jcmVhdGVfcGF0Y2hfd29ya2luZ19jb3B5X29ubHkoc2VsZik6CiAg
ICAgICAgIHNlbGYuX29uZV9sb2NhbF9jb21taXRfcGx1c193b3JraW5nX2NvcHlfY2hhbmdlcygp
Ci0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgp
Ci0gICAgICAgIHBhdGNoID0gc2NtLmNyZWF0ZV9wYXRjaChnaXRfY29tbWl0PSJIRUFELi4uLiIp
CisgICAgICAgIHBhdGNoID0gc2VsZi5zY20uY3JlYXRlX3BhdGNoKGdpdF9jb21taXQ9IkhFQUQu
Li4uIikKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29t
bWl0MScsIHBhdGNoKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLnNlYXJjaChyJ3Rlc3Rf
ZmlsZV9jb21taXQyJywgcGF0Y2gpKQogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3BhdGNoX211bHRp
cGxlX2xvY2FsX2NvbW1pdHMoc2VsZik6CiAgICAgICAgIHNlbGYuX3R3b19sb2NhbF9jb21taXRz
KCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0
aCkKLSAgICAgICAgcGF0Y2ggPSBzY20uY3JlYXRlX3BhdGNoKCkKKyAgICAgICAgcGF0Y2ggPSBz
ZWxmLnNjbS5jcmVhdGVfcGF0Y2goKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuc2VhcmNo
KHIndGVzdF9maWxlX2NvbW1pdDInLCBwYXRjaCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShy
ZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29tbWl0MScsIHBhdGNoKSkKIAogICAgIGRlZiB0ZXN0X2Ny
ZWF0ZV9wYXRjaF9ub3Rfc3luY2VkKHNlbGYpOgogICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcs
ICdjaGVja291dCcsICctYicsICdteS1icmFuY2gnLCAndHJ1bmt+MyddKQogICAgICAgICBzZWxm
Ll90d29fbG9jYWxfY29tbWl0cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNl
bGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHBhdGNoID0gc2NtLmNyZWF0ZV9wYXRjaCgp
CisgICAgICAgIHBhdGNoID0gc2VsZi5zY20uY3JlYXRlX3BhdGNoKCkKICAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZShyZS5zZWFyY2gocid0ZXN0X2ZpbGUyJywgcGF0Y2gpKQogICAgICAgICBzZWxm
LmFzc2VydFRydWUocmUuc2VhcmNoKHIndGVzdF9maWxlX2NvbW1pdDInLCBwYXRjaCkpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5zZWFyY2gocid0ZXN0X2ZpbGVfY29tbWl0MScsIHBhdGNo
KSkKIAogICAgIGRlZiB0ZXN0X2NyZWF0ZV9iaW5hcnlfcGF0Y2goc2VsZik6CiAgICAgICAgICMg
Q3JlYXRlIGEgZ2l0IGJpbmFyeSBwYXRjaCBhbmQgY2hlY2sgdGhlIGNvbnRlbnRzLgotICAgICAg
ICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQogICAgICAg
ICB0ZXN0X2ZpbGVfbmFtZSA9ICdiaW5hcnlfZmlsZScKICAgICAgICAgdGVzdF9maWxlX3BhdGgg
PSBvcy5wYXRoLmpvaW4oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCwgdGVzdF9maWxlX25hbWUpCiAg
ICAgICAgIGZpbGVfY29udGVudHMgPSAnJy5qb2luKG1hcChjaHIsIHJhbmdlKDI1NikpKQogICAg
ICAgICB3cml0ZV9pbnRvX2ZpbGVfYXRfcGF0aCh0ZXN0X2ZpbGVfcGF0aCwgZmlsZV9jb250ZW50
cywgZW5jb2Rpbmc9Tm9uZSkKICAgICAgICAgcnVuX2NvbW1hbmQoWydnaXQnLCAnYWRkJywgdGVz
dF9maWxlX25hbWVdKQotICAgICAgICBwYXRjaCA9IHNjbS5jcmVhdGVfcGF0Y2goKQorICAgICAg
ICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShyZS5zZWFyY2gocidcbmxpdGVyYWwgMFxuJywgcGF0Y2gpKQogICAgICAgICBzZWxmLmFzc2Vy
dFRydWUocmUuc2VhcmNoKHInXG5saXRlcmFsIDI1NlxuJywgcGF0Y2gpKQogCiAgICAgICAgICMg
Q2hlY2sgaWYgd2UgY2FuIGFwcGx5IHRoZSBjcmVhdGVkIHBhdGNoLgogICAgICAgICBydW5fY29t
bWFuZChbJ2dpdCcsICdybScsICctZicsIHRlc3RfZmlsZV9uYW1lXSkKLSAgICAgICAgc2VsZi5f
c2V0dXBfd2Via2l0dG9vbHNfc2NyaXB0c19zeW1saW5rKHNjbSkKKyAgICAgICAgc2VsZi5fc2V0
dXBfd2Via2l0dG9vbHNfc2NyaXB0c19zeW1saW5rKHNlbGYuc2NtKQogICAgICAgICBzZWxmLmNo
ZWNrb3V0LmFwcGx5X3BhdGNoKHNlbGYuX2NyZWF0ZV9wYXRjaChwYXRjaCkpCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZmlsZV9jb250ZW50cywgcmVhZF9mcm9tX3BhdGgodGVzdF9maWxlX3Bh
dGgsIGVuY29kaW5nPU5vbmUpKQogCkBAIC0xNDE1LDYxICsxMzg3LDU1IEBAIGNsYXNzIEdpdFNW
TlRlc3QoU0NNVGVzdCk6CiAgICAgICAgIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRoKHRlc3RfZmls
ZV9wYXRoLCBmaWxlX2NvbnRlbnRzLCBlbmNvZGluZz1Ob25lKQogICAgICAgICBydW5fY29tbWFu
ZChbJ2dpdCcsICdhZGQnLCB0ZXN0X2ZpbGVfbmFtZV0pCiAgICAgICAgIHJ1bl9jb21tYW5kKFsn
Z2l0JywgJ2NvbW1pdCcsICctbScsICdiaW5hcnkgZGlmZiddKQotICAgICAgICBwYXRjaF9mcm9t
X2xvY2FsX2NvbW1pdCA9IHNjbS5jcmVhdGVfcGF0Y2goJ0hFQUQnKQorICAgICAgICBwYXRjaF9m
cm9tX2xvY2FsX2NvbW1pdCA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaCgnSEVBRCcpCiAgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShyZS5zZWFyY2gocidcbmxpdGVyYWwgMFxuJywgcGF0Y2hfZnJvbV9s
b2NhbF9jb21taXQpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuc2VhcmNoKHInXG5saXRl
cmFsIDI1NlxuJywgcGF0Y2hfZnJvbV9sb2NhbF9jb21taXQpKQogCiAgICAgZGVmIHRlc3RfY2hh
bmdlZF9maWxlc19sb2NhbF9wbHVzX3dvcmtpbmdfY29weShzZWxmKToKICAgICAgICAgc2VsZi5f
b25lX2xvY2FsX2NvbW1pdF9wbHVzX3dvcmtpbmdfY29weV9jaGFuZ2VzKCkKLSAgICAgICAgc2Nt
ID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgZmls
ZXMgPSBzY20uY2hhbmdlZF9maWxlcygpCisgICAgICAgIGZpbGVzID0gc2VsZi5zY20uY2hhbmdl
ZF9maWxlcygpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgndGVzdF9maWxlX2NvbW1pdDEnIGlu
IGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoJ3Rlc3RfZmlsZV9jb21taXQyJyBpbiBm
aWxlcykKIAogICAgICAgICAjIHdvcmtpbmcgY29weSBzaG91bGQgKm5vdCogYmUgaW4gdGhlIGxp
c3QuCi0gICAgICAgIGZpbGVzID0gc2NtLmNoYW5nZWRfZmlsZXMoJ3RydW5rLi4nKQorICAgICAg
ICBmaWxlcyA9IHNlbGYuc2NtLmNoYW5nZWRfZmlsZXMoJ3RydW5rLi4nKQogICAgICAgICBzZWxm
LmFzc2VydFRydWUoJ3Rlc3RfZmlsZV9jb21taXQxJyBpbiBmaWxlcykKICAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZSgndGVzdF9maWxlX2NvbW1pdDInIGluIGZpbGVzKQogCiAgICAgICAgICMgd29y
a2luZyBjb3B5ICpzaG91bGQqIGJlIGluIHRoZSBsaXN0LgotICAgICAgICBmaWxlcyA9IHNjbS5j
aGFuZ2VkX2ZpbGVzKCd0cnVuay4uLi4nKQorICAgICAgICBmaWxlcyA9IHNlbGYuc2NtLmNoYW5n
ZWRfZmlsZXMoJ3RydW5rLi4uLicpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgndGVzdF9maWxl
X2NvbW1pdDEnIGluIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoJ3Rlc3RfZmlsZV9j
b21taXQyJyBpbiBmaWxlcykKIAogICAgIGRlZiB0ZXN0X2NoYW5nZWRfZmlsZXNfZ2l0X2NvbW1p
dChzZWxmKToKICAgICAgICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20g
PSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBmaWxl
cyA9IHNjbS5jaGFuZ2VkX2ZpbGVzKGdpdF9jb21taXQ9IkhFQUReIikKKyAgICAgICAgZmlsZXMg
PSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKGdpdF9jb21taXQ9IkhFQUReIikKICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKCd0ZXN0X2ZpbGVfY29tbWl0MScgaW4gZmlsZXMpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RmFsc2UoJ3Rlc3RfZmlsZV9jb21taXQyJyBpbiBmaWxlcykKIAogICAgIGRlZiB0ZXN0
X2NoYW5nZWRfZmlsZXNfZ2l0X2NvbW1pdF9yYW5nZShzZWxmKToKICAgICAgICAgc2VsZi5fdGhy
ZWVfbG9jYWxfY29tbWl0cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYu
Z2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIGZpbGVzID0gc2NtLmNoYW5nZWRfZmlsZXMoZ2l0
X2NvbW1pdD0iSEVBRH4yLi5IRUFEIikKKyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2Vk
X2ZpbGVzKGdpdF9jb21taXQ9IkhFQUR+Mi4uSEVBRCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZSgndGVzdF9maWxlX2NvbW1pdDAnIG5vdCBpbiBmaWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKCd0ZXN0X2ZpbGVfY29tbWl0MScgaW4gZmlsZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZSgndGVzdF9maWxlX2NvbW1pdDInIGluIGZpbGVzKQogCiAgICAgZGVmIHRlc3RfY2hhbmdlZF9m
aWxlc193b3JraW5nX2NvcHlfb25seShzZWxmKToKICAgICAgICAgc2VsZi5fb25lX2xvY2FsX2Nv
bW1pdF9wbHVzX3dvcmtpbmdfY29weV9jaGFuZ2VzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3Nj
bV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgZmlsZXMgPSBzY20uY2hh
bmdlZF9maWxlcyhnaXRfY29tbWl0PSJIRUFELi4uLiIpCisgICAgICAgIGZpbGVzID0gc2VsZi5z
Y20uY2hhbmdlZF9maWxlcyhnaXRfY29tbWl0PSJIRUFELi4uLiIpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoJ3Rlc3RfZmlsZV9jb21taXQxJyBpbiBmaWxlcykKICAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKCd0ZXN0X2ZpbGVfY29tbWl0MicgaW4gZmlsZXMpCiAKICAgICBkZWYgdGVzdF9jaGFu
Z2VkX2ZpbGVzX211bHRpcGxlX2xvY2FsX2NvbW1pdHMoc2VsZik6CiAgICAgICAgIHNlbGYuX3R3
b19sb2NhbF9jb21taXRzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5n
aXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgZmlsZXMgPSBzY20uY2hhbmdlZF9maWxlcygpCisg
ICAgICAgIGZpbGVzID0gc2VsZi5zY20uY2hhbmdlZF9maWxlcygpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZSgndGVzdF9maWxlX2NvbW1pdDInIGluIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2Vy
dFRydWUoJ3Rlc3RfZmlsZV9jb21taXQxJyBpbiBmaWxlcykKIAogICAgIGRlZiB0ZXN0X2NoYW5n
ZWRfZmlsZXNfbm90X3N5bmNlZChzZWxmKToKICAgICAgICAgcnVuX2NvbW1hbmQoWydnaXQnLCAn
Y2hlY2tvdXQnLCAnLWInLCAnbXktYnJhbmNoJywgJ3RydW5rfjMnXSkKICAgICAgICAgc2VsZi5f
dHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxm
LmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBmaWxlcyA9IHNjbS5jaGFuZ2VkX2ZpbGVzKCkK
KyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKCkKICAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZSgndGVzdF9maWxlMicgaW4gZmlsZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZSgndGVzdF9maWxlX2NvbW1pdDInIGluIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydFRydWUo
J3Rlc3RfZmlsZV9jb21taXQxJyBpbiBmaWxlcykKQEAgLTE0NzcsOCArMTQ0Myw3IEBAIGNsYXNz
IEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgZGVmIHRlc3RfY2hhbmdlZF9maWxlc19ub3Rfc3lu
Y2VkKHNlbGYpOgogICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcsICdjaGVja291dCcsICctYics
ICdteS1icmFuY2gnLCAndHJ1bmt+MyddKQogICAgICAgICBzZWxmLl90d29fbG9jYWxfY29tbWl0
cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3Bh
dGgpCi0gICAgICAgIGZpbGVzID0gc2NtLmNoYW5nZWRfZmlsZXMoKQorICAgICAgICBmaWxlcyA9
IHNlbGYuc2NtLmNoYW5nZWRfZmlsZXMoKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCd0ZXN0
X2ZpbGUyJyBpbiBmaWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCd0ZXN0X2ZpbGVfY29t
bWl0MicgaW4gZmlsZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgndGVzdF9maWxlX2NvbW1p
dDEnIGluIGZpbGVzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182088</attachid>
            <date>2013-01-10 01:41:23 -0800</date>
            <delta_ts>2013-01-10 02:02:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106536-20130110203825.patch</filename>
            <type>text/plain</type>
            <size>22227</size>
            <attacher name="Tim &apos;mithro&apos; Ansell">mithro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5Mjk3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDI2MzIyNGE2ZDU1MTAxMTFlZDk0N2VkZGIyZDI1ZmE5
Yjc4Yjg2MS4uODY4YzY4ZGM0ZTQ5NDdjZjY4NGEwN2E4ODVmY2NhZDk4M2VjYjBmOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0
IEBACiAyMDEzLTAxLTEwICBUaW0gJ21pdGhybycgQW5zZWxsICA8bWl0aHJvQG1pdGhpcy5jb20+
CiAKKyAgICAgICAgQ2hhbmdpbmcgdGVzdHMgdG8gYmUgY29uc2lzdGVudCBhbmQgdXNlIHNlbGYu
c2NtIHJhdGhlciB0aGVuIHJlY3JlYXRpbmcgdGhlIHNjbSBvYmplY3QuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY1MzYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHk6CisKKzIwMTMtMDEtMTAgIFRpbSAnbWl0
aHJvJyBBbnNlbGwgIDxtaXRocm9AbWl0aGlzLmNvbT4KKwogICAgICAgICBDb252ZXJ0aW5nIHRv
IHVuaXR0ZXN0MiBzbyB3ZSBjYW4gdXNlIGFzc2VydEl0ZW1zRXF1YWwsIG1ha2luZyB0ZXN0cwog
ICAgICAgICBub3QgZGVwZW5kZW50IG9uIG9yZGVyIG9mIGl0ZW1zLgogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NTMyCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5w
eQppbmRleCBhZDY2NGE3YWQyOGZhZDA4NjQyMDVmZmZmNmMxMjc2YzU4NDdkYWM4Li45OGEyYjZi
YTY2ZTY0MDM0ODJmOTQ1OGFiZTMxNjQxMGMyNjY5NWVlIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkK
QEAgLTEwNTAsOSArMTA1MCw5IEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgICAg
IHNlbGYuX3RlYXJfZG93bl9naXRfY2hlY2tvdXQoKQogCiAgICAgZGVmIHRlc3RfZGV0ZWN0aW9u
KHNlbGYpOgotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291
dF9wYXRoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjbS5kaXNwbGF5X25hbWUoKSwgImdp
dCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMo
KSwgVHJ1ZSkKKyAgICAgICAgc2VsZi5zY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9j
aGVja291dF9wYXRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLmRpc3BsYXlf
bmFtZSgpLCAiZ2l0IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5zdXBwb3J0
c19sb2NhbF9jb21taXRzKCksIFRydWUpCiAKICAgICBkZWYgdGVzdF9yZWFkX2dpdF9jb25maWco
c2VsZik6CiAgICAgICAgIGtleSA9ICd0ZXN0LmdpdC1jb25maWcnCkBAIC0xMTExLDQ1ICsxMTEx
LDM5IEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgICAgICMgLS1xdWlldCBkb2Vz
bid0IG1ha2UgZ2l0IHN2biBzaWxlbnQsIHNvIHVzZSBydW5fc2lsZW50IHRvIHJlZGlyZWN0IG91
dHB1dAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwgcnVuX3NpbGVudCwg
WydnaXQnLCAnc3ZuJywgJy0tcXVpZXQnLCAncmViYXNlJ10pICMgV2lsbCBmYWlsIGR1ZSB0byBh
IGNvbmZsaWN0IGxlYXZpbmcgdXMgbWlkLXJlYmFzZS4KIAotICAgICAgICBzY20gPSBkZXRlY3Rf
c2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBzZWxmLmFzc2VydFRy
dWUoc2NtLnJlYmFzZV9pbl9wcm9ncmVzcygpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2Vs
Zi5zY20ucmViYXNlX2luX3Byb2dyZXNzKCkpCiAKICAgICAgICAgIyBNYWtlIHN1cmUgb3VyIGNs
ZWFudXAgd29ya3MuCi0gICAgICAgIHNjbS5jbGVhbl93b3JraW5nX2RpcmVjdG9yeSgpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2NtLnJlYmFzZV9pbl9wcm9ncmVzcygpKQorICAgICAgICBz
ZWxmLnNjbS5jbGVhbl93b3JraW5nX2RpcmVjdG9yeSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2Uoc2VsZi5zY20ucmViYXNlX2luX3Byb2dyZXNzKCkpCiAKICAgICAgICAgIyBNYWtlIHN1cmUg
Y2xlYW51cCBkb2Vzbid0IHRocm93IHdoZW4gbm8gcmViYXNlIGlzIGluIHByb2dyZXNzLgotICAg
ICAgICBzY20uY2xlYW5fd29ya2luZ19kaXJlY3RvcnkoKQorICAgICAgICBzZWxmLnNjbS5jbGVh
bl93b3JraW5nX2RpcmVjdG9yeSgpCiAKICAgICBkZWYgdGVzdF9jb21taXRpc2hfcGFyc2luZyhz
ZWxmKToKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRf
cGF0aCkKLQogICAgICAgICAjIE11bHRpcGxlIHJldmlzaW9ucyBhcmUgY2hlcnJ5LXBpY2tlZC4K
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2NtLmNvbW1pdF9pZHNfZnJvbV9jb21taXRp
c2hfYXJndW1lbnRzKFsnSEVBRH4yJ10pKSwgMSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChs
ZW4oc2NtLmNvbW1pdF9pZHNfZnJvbV9jb21taXRpc2hfYXJndW1lbnRzKFsnSEVBRCcsICdIRUFE
fjInXSkpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLnNjbS5jb21taXRf
aWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cyhbJ0hFQUR+MiddKSksIDEpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYuc2NtLmNvbW1pdF9pZHNfZnJvbV9jb21taXRpc2hfYXJn
dW1lbnRzKFsnSEVBRCcsICdIRUFEfjInXSkpLCAyKQogCiAgICAgICAgICMgLi4uIGlzIGFuIGlu
dmFsaWQgcmFuZ2Ugc3BlY2lmaWVyCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVy
cm9yLCBzY20uY29tbWl0X2lkc19mcm9tX2NvbW1pdGlzaF9hcmd1bWVudHMsIFsndHJ1bmsuLi5I
RUFEJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBzZWxmLnNjbS5j
b21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cywgWyd0cnVuay4uLkhFQUQnXSkKIAog
ICAgIGRlZiB0ZXN0X2NvbW1pdGlzaF9vcmRlcihzZWxmKToKLSAgICAgICAgc2NtID0gZGV0ZWN0
X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLQogICAgICAgICBjb21taXRfcmFu
Z2UgPSAnSEVBRH4zLi5IRUFEJwogCi0gICAgICAgIGFjdHVhbF9jb21taXRzID0gc2NtLmNvbW1p
dF9pZHNfZnJvbV9jb21taXRpc2hfYXJndW1lbnRzKFtjb21taXRfcmFuZ2VdKQorICAgICAgICBh
Y3R1YWxfY29tbWl0cyA9IHNlbGYuc2NtLmNvbW1pdF9pZHNfZnJvbV9jb21taXRpc2hfYXJndW1l
bnRzKFtjb21taXRfcmFuZ2VdKQogICAgICAgICBleHBlY3RlZF9jb21taXRzID0gW10KICAgICAg
ICAgZXhwZWN0ZWRfY29tbWl0cyArPSByZXZlcnNlZChydW5fY29tbWFuZChbJ2dpdCcsICdyZXYt
bGlzdCcsIGNvbW1pdF9yYW5nZV0pLnNwbGl0bGluZXMoKSkKIAogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGFjdHVhbF9jb21taXRzLCBleHBlY3RlZF9jb21taXRzKQogCiAgICAgZGVmIHRlc3Rf
YXBwbHlfZ2l0X3BhdGNoKHNlbGYpOgotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShz
ZWxmLmdpdF9jaGVja291dF9wYXRoKQogICAgICAgICAjIFdlIGNhcmVmdWxsbHkgcGljayBhIGRp
ZmYgd2hpY2ggZG9lcyBub3QgaGF2ZSBhIGRpcmVjdG9yeSBhZGRpdGlvbgogICAgICAgICAjIGFz
IGN1cnJlbnRseSBzdm4tYXBwbHkgd2lsbCBlcnJvciBvdXQgd2hlbiB0cnlpbmcgdG8gcmVtb3Zl
IGRpcmVjdG9yaWVzCiAgICAgICAgICMgaW4gR2l0OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzQ4NzEKICAgICAgICAgcGF0Y2ggPSBzZWxmLl9jcmVhdGVfcGF0Y2go
X2dpdF9kaWZmKCdIRUFELi5IRUFEXicpKQotICAgICAgICBzZWxmLl9zZXR1cF93ZWJraXR0b29s
c19zY3JpcHRzX3N5bWxpbmsoc2NtKQotICAgICAgICBDaGVja291dChzY20pLmFwcGx5X3BhdGNo
KHBhdGNoKQorICAgICAgICBzZWxmLl9zZXR1cF93ZWJraXR0b29sc19zY3JpcHRzX3N5bWxpbmso
c2VsZi5zY20pCisgICAgICAgIENoZWNrb3V0KHNlbGYuc2NtKS5hcHBseV9wYXRjaChwYXRjaCkK
IAogICAgIGRlZiB0ZXN0X2NvbW1pdF90ZXh0X3BhcnNpbmcoc2VsZik6CiAgICAgICAgIHdyaXRl
X2ludG9fZmlsZV9hdF9wYXRoKCd0ZXN0X2ZpbGUnLCAnbW9yZSB0ZXN0IGNvbnRlbnQnKQpAQCAt
MTE1OSwxMCArMTE1Myw5IEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgZGVmIHRl
c3RfY29tbWl0X3dpdGhfbWVzc2FnZV93b3JraW5nX2NvcHlfb25seShzZWxmKToKICAgICAgICAg
d3JpdGVfaW50b19maWxlX2F0X3BhdGgoJ3Rlc3RfZmlsZV9jb21taXQxJywgJ21vcmUgdGVzdCBj
b250ZW50JykKICAgICAgICAgcnVuX2NvbW1hbmQoWydnaXQnLCAnYWRkJywgJ3Rlc3RfZmlsZV9j
b21taXQxJ10pCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNr
b3V0X3BhdGgpCi0gICAgICAgIGNvbW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2Uo
InlldCBhbm90aGVyIHRlc3QgY29tbWl0IikKKyAgICAgICAgY29tbWl0X3RleHQgPSBzZWxmLnNj
bS5jb21taXRfd2l0aF9tZXNzYWdlKCJ5ZXQgYW5vdGhlciB0ZXN0IGNvbW1pdCIpCiAKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzY20uc3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29t
bWl0X3RleHQpLCAnNicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20uc3ZuX3Jl
dmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29tbWl0X3RleHQpLCAnNicpCiAgICAgICAgIHN2bl9s
b2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGltaXQ9MScsICctLXZl
cmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHN2bl9sb2csIHIndGVz
dF9maWxlX2NvbW1pdDEnKQogCkBAIC0xMTk2LDExICsxMTg5LDEwIEBAIGNsYXNzIEdpdFNWTlRl
c3QoU0NNVGVzdCk6CiAKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9tZXNzYWdlKHNlbGYpOgog
ICAgICAgICBzZWxmLl9vbmVfbG9jYWxfY29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMo
KQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRo
KQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBbWJpZ3VvdXNDb21taXRFcnJvciwgc2NtLmNv
bW1pdF93aXRoX21lc3NhZ2UsICJ5ZXQgYW5vdGhlciB0ZXN0IGNvbW1pdCIpCi0gICAgICAgIGNv
bW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoInlldCBhbm90aGVyIHRlc3QgY29t
bWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFtYmln
dW91c0NvbW1pdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAieWV0IGFub3Ro
ZXIgdGVzdCBjb21taXQiKQorICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1pdF93
aXRoX21lc3NhZ2UoInlldCBhbm90aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUp
CiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzY20uc3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0
X3RleHQoY29tbWl0X3RleHQpLCAnNicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5z
Y20uc3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29tbWl0X3RleHQpLCAnNicpCiAgICAg
ICAgIHN2bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGltaXQ9
MScsICctLXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHN2bl9s
b2csIHIndGVzdF9maWxlX2NvbW1pdDInKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNo
ZXMoc3ZuX2xvZywgcid0ZXN0X2ZpbGVfY29tbWl0MScpCkBAIC0xMjA4LDkgKzEyMDAsOCBAQCBj
bGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgIGRlZiB0ZXN0X2NvbW1pdF93aXRoX21lc3Nh
Z2VfZ2l0X2NvbW1pdChzZWxmKToKICAgICAgICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQog
Ci0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgp
Ci0gICAgICAgIGNvbW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoImFub3RoZXIg
dGVzdCBjb21taXQiLCBnaXRfY29tbWl0PSJIRUFEXiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQor
ICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoImFub3Ro
ZXIgdGVzdCBjb21taXQiLCBnaXRfY29tbWl0PSJIRUFEXiIpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc2VsZi5zY20uc3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29tbWl0X3RleHQp
LCAnNicpCiAKICAgICAgICAgc3ZuX2xvZyA9IHJ1bl9jb21tYW5kKFsnZ2l0JywgJ3N2bicsICds
b2cnLCAnLS1saW1pdD0xJywgJy0tdmVyYm9zZSddKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4
cE1hdGNoZXMoc3ZuX2xvZywgcid0ZXN0X2ZpbGVfY29tbWl0MScpCkBAIC0xMjE5LDkgKzEyMTAs
OCBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgIGRlZiB0ZXN0X2NvbW1pdF93aXRo
X21lc3NhZ2VfZ2l0X2NvbW1pdF9yYW5nZShzZWxmKToKICAgICAgICAgc2VsZi5fdGhyZWVfbG9j
YWxfY29tbWl0cygpCiAKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRf
Y2hlY2tvdXRfcGF0aCkKLSAgICAgICAgY29tbWl0X3RleHQgPSBzY20uY29tbWl0X3dpdGhfbWVz
c2FnZSgiYW5vdGhlciB0ZXN0IGNvbW1pdCIsIGdpdF9jb21taXQ9IkhFQUR+Mi4uSEVBRCIpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0
KGNvbW1pdF90ZXh0KSwgJzYnKQorICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1p
dF93aXRoX21lc3NhZ2UoImFub3RoZXIgdGVzdCBjb21taXQiLCBnaXRfY29tbWl0PSJIRUFEfjIu
LkhFQUQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLnN2bl9yZXZpc2lvbl9m
cm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQogCiAgICAgICAgIHN2bl9sb2cgPSBy
dW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGltaXQ9MScsICctLXZlcmJvc2Un
XSkKICAgICAgICAgc2VsZi5hc3NlcnROb3RSZWdleHBNYXRjaGVzKHN2bl9sb2csIHIndGVzdF9m
aWxlX2NvbW1pdDAnKQpAQCAtMTIzMCwyMCArMTIyMCwxOCBAQCBjbGFzcyBHaXRTVk5UZXN0KFND
TVRlc3QpOgogCiAgICAgZGVmIHRlc3RfY29tbWl0X3dpdGhfbWVzc2FnZV9vbmx5X2xvY2FsX2Nv
bW1pdChzZWxmKToKICAgICAgICAgc2VsZi5fb25lX2xvY2FsX2NvbW1pdCgpCi0gICAgICAgIHNj
bSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIGNv
bW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoImFub3RoZXIgdGVzdCBjb21taXQi
KQorICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoImFu
b3RoZXIgdGVzdCBjb21taXQiKQogICAgICAgICBzdm5fbG9nID0gcnVuX2NvbW1hbmQoWydnaXQn
LCAnc3ZuJywgJ2xvZycsICctLWxpbWl0PTEnLCAnLS12ZXJib3NlJ10pCiAgICAgICAgIHNlbGYu
YXNzZXJ0UmVnZXhwTWF0Y2hlcyhzdm5fbG9nLCByJ3Rlc3RfZmlsZV9jb21taXQxJykKIAogICAg
IGRlZiB0ZXN0X2NvbW1pdF93aXRoX21lc3NhZ2VfbXVsdGlwbGVfbG9jYWxfY29tbWl0c19hbmRf
d29ya2luZ19jb3B5KHNlbGYpOgogICAgICAgICBzZWxmLl90d29fbG9jYWxfY29tbWl0cygpCiAg
ICAgICAgIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRoKCd0ZXN0X2ZpbGVfY29tbWl0MScsICd3b3Jr
aW5nIGNvcHkgY2hhbmdlJykKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5n
aXRfY2hlY2tvdXRfcGF0aCkKIAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBbWJpZ3VvdXND
b21taXRFcnJvciwgc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UsICJhbm90aGVyIHRlc3QgY29tbWl0
IikKLSAgICAgICAgY29tbWl0X3RleHQgPSBzY20uY29tbWl0X3dpdGhfbWVzc2FnZSgiYW5vdGhl
ciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3NxdWFzaD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydFJh
aXNlcyhBbWJpZ3VvdXNDb21taXRFcnJvciwgc2VsZi5zY20uY29tbWl0X3dpdGhfbWVzc2FnZSwg
ImFub3RoZXIgdGVzdCBjb21taXQiKQorICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNv
bW1pdF93aXRoX21lc3NhZ2UoImFub3RoZXIgdGVzdCBjb21taXQiLCBmb3JjZV9zcXVhc2g9VHJ1
ZSkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjbS5zdm5fcmV2aXNpb25fZnJvbV9jb21t
aXRfdGV4dChjb21taXRfdGV4dCksICc2JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxm
LnNjbS5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChjb21taXRfdGV4dCksICc2JykKICAg
ICAgICAgc3ZuX2xvZyA9IHJ1bl9jb21tYW5kKFsnZ2l0JywgJ3N2bicsICdsb2cnLCAnLS1saW1p
dD0xJywgJy0tdmVyYm9zZSddKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMoc3Zu
X2xvZywgcid0ZXN0X2ZpbGVfY29tbWl0MicpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0
Y2hlcyhzdm5fbG9nLCByJ3Rlc3RfZmlsZV9jb21taXQxJykKQEAgLTEyNTEsMTUgKzEyMzksMTMg
QEAgY2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9t
ZXNzYWdlX2dpdF9jb21taXRfYW5kX3dvcmtpbmdfY29weShzZWxmKToKICAgICAgICAgc2VsZi5f
dHdvX2xvY2FsX2NvbW1pdHMoKQogICAgICAgICB3cml0ZV9pbnRvX2ZpbGVfYXRfcGF0aCgndGVz
dF9maWxlX2NvbW1pdDEnLCAnd29ya2luZyBjb3B5IGNoYW5nZScpCi0gICAgICAgIHNjbSA9IGRl
dGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBzY20uY29tbWl0X3dpdGhfbWVzc2FnZSwgImFub3RoZXIg
dGVzdCBjb21taXQiLCBnaXRfY29tbWl0PSJIRUFEXiIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFp
c2VzKFNjcmlwdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAiYW5vdGhlciB0
ZXN0IGNvbW1pdCIsIGdpdF9jb21taXQ9IkhFQUReIikKIAogICAgIGRlZiB0ZXN0X2NvbW1pdF93
aXRoX21lc3NhZ2VfbXVsdGlwbGVfbG9jYWxfY29tbWl0c19hbHdheXNfc3F1YXNoKHNlbGYpOgog
ICAgICAgICBzZWxmLl90d29fbG9jYWxfY29tbWl0cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9z
Y21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHNjbS5fYXNzZXJ0X2Nh
bl9zcXVhc2ggPSBsYW1iZGEgd29ya2luZ19kaXJlY3RvcnlfaXNfY2xlYW46IFRydWUKLSAgICAg
ICAgY29tbWl0X3RleHQgPSBzY20uY29tbWl0X3dpdGhfbWVzc2FnZSgieWV0IGFub3RoZXIgdGVz
dCBjb21taXQiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjbS5zdm5fcmV2aXNpb25fZnJv
bV9jb21taXRfdGV4dChjb21taXRfdGV4dCksICc2JykKKyAgICAgICAgc2VsZi5zY20uX2Fzc2Vy
dF9jYW5fc3F1YXNoID0gbGFtYmRhIHdvcmtpbmdfZGlyZWN0b3J5X2lzX2NsZWFuOiBUcnVlCisg
ICAgICAgIGNvbW1pdF90ZXh0ID0gc2VsZi5zY20uY29tbWl0X3dpdGhfbWVzc2FnZSgieWV0IGFu
b3RoZXIgdGVzdCBjb21taXQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLnN2
bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQogCiAgICAgICAg
IHN2bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGltaXQ9MScs
ICctLXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHN2bl9sb2cs
IHIndGVzdF9maWxlX2NvbW1pdDInKQpAQCAtMTI2NywxMSArMTI1MywxMCBAQCBjbGFzcyBHaXRT
Vk5UZXN0KFNDTVRlc3QpOgogCiAgICAgZGVmIHRlc3RfY29tbWl0X3dpdGhfbWVzc2FnZV9tdWx0
aXBsZV9sb2NhbF9jb21taXRzKHNlbGYpOgogICAgICAgICBzZWxmLl90d29fbG9jYWxfY29tbWl0
cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3Bh
dGgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFtYmlndW91c0NvbW1pdEVycm9yLCBzY20u
Y29tbWl0X3dpdGhfbWVzc2FnZSwgInlldCBhbm90aGVyIHRlc3QgY29tbWl0IikKLSAgICAgICAg
Y29tbWl0X3RleHQgPSBzY20uY29tbWl0X3dpdGhfbWVzc2FnZSgieWV0IGFub3RoZXIgdGVzdCBj
b21taXQiLCBmb3JjZV9zcXVhc2g9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQW1i
aWd1b3VzQ29tbWl0RXJyb3IsIHNlbGYuc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UsICJ5ZXQgYW5v
dGhlciB0ZXN0IGNvbW1pdCIpCisgICAgICAgIGNvbW1pdF90ZXh0ID0gc2VsZi5zY20uY29tbWl0
X3dpdGhfbWVzc2FnZSgieWV0IGFub3RoZXIgdGVzdCBjb21taXQiLCBmb3JjZV9zcXVhc2g9VHJ1
ZSkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjbS5zdm5fcmV2aXNpb25fZnJvbV9jb21t
aXRfdGV4dChjb21taXRfdGV4dCksICc2JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxm
LnNjbS5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChjb21taXRfdGV4dCksICc2JykKIAog
ICAgICAgICBzdm5fbG9nID0gcnVuX2NvbW1hbmQoWydnaXQnLCAnc3ZuJywgJ2xvZycsICctLWxp
bWl0PTEnLCAnLS12ZXJib3NlJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhz
dm5fbG9nLCByJ3Rlc3RfZmlsZV9jb21taXQyJykKQEAgLTEyODAsMTEgKzEyNjUsMTAgQEAgY2xh
c3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9tZXNzYWdl
X25vdF9zeW5jZWQoc2VsZik6CiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2NoZWNrb3V0
JywgJy1iJywgJ215LWJyYW5jaCcsICd0cnVua34zJ10pCiAgICAgICAgIHNlbGYuX3R3b19sb2Nh
bF9jb21taXRzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hl
Y2tvdXRfcGF0aCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQW1iaWd1b3VzQ29tbWl0RXJy
b3IsIHNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAiYW5vdGhlciB0ZXN0IGNvbW1pdCIpCi0gICAg
ICAgIGNvbW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoImFub3RoZXIgdGVzdCBj
b21taXQiLCBmb3JjZV9zcXVhc2g9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQW1i
aWd1b3VzQ29tbWl0RXJyb3IsIHNlbGYuc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UsICJhbm90aGVy
IHRlc3QgY29tbWl0IikKKyAgICAgICAgY29tbWl0X3RleHQgPSBzZWxmLnNjbS5jb21taXRfd2l0
aF9tZXNzYWdlKCJhbm90aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCiAKLSAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzY20uc3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQo
Y29tbWl0X3RleHQpLCAnNicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20uc3Zu
X3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29tbWl0X3RleHQpLCAnNicpCiAKICAgICAgICAg
c3ZuX2xvZyA9IHJ1bl9jb21tYW5kKFsnZ2l0JywgJ3N2bicsICdsb2cnLCAnLS1saW1pdD0xJywg
Jy0tdmVyYm9zZSddKQogICAgICAgICBzZWxmLmFzc2VydE5vdFJlZ2V4cE1hdGNoZXMoc3ZuX2xv
Zywgcid0ZXN0X2ZpbGUyJykKQEAgLTEyOTUsOSArMTI3OSw4IEBAIGNsYXNzIEdpdFNWTlRlc3Qo
U0NNVGVzdCk6CiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2NoZWNrb3V0JywgJy1iJywg
J215LWJyYW5jaCcsICd0cnVua34zJ10pCiAgICAgICAgIHNlbGYuX2xvY2FsX2NvbW1pdCgndGVz
dF9maWxlMicsICdhc2RmJywgJ2FzZGYgY29tbWl0JykKIAotICAgICAgICBzY20gPSBkZXRlY3Rf
c2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQogICAgICAgICAjIFRoZXJlJ3MgYSBj
b25mbGljdCBiZXR3ZWVuIHRydW5rIGFuZCB0aGUgdGVzdF9maWxlMiBtb2RpZmljYXRpb24uCi0g
ICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBzY20uY29tbWl0X3dpdGhfbWVz
c2FnZSwgImFub3RoZXIgdGVzdCBjb21taXQiLCBmb3JjZV9zcXVhc2g9VHJ1ZSkKKyAgICAgICAg
c2VsZi5hc3NlcnRSYWlzZXMoU2NyaXB0RXJyb3IsIHNlbGYuc2NtLmNvbW1pdF93aXRoX21lc3Nh
Z2UsICJhbm90aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCiAKICAgICBkZWYg
dGVzdF91cHN0cmVhbV9icmFuY2goc2VsZik6CiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0Jywg
J2NoZWNrb3V0JywgJy10JywgJy1iJywgJ215LWJyYW5jaCddKQpAQCAtMTMxOCwxNSArMTMwMSwx
MyBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3Bh
dGNoX2xvY2FsX3BsdXNfd29ya2luZ19jb3B5KHNlbGYpOgogICAgICAgICBzZWxmLl9vbmVfbG9j
YWxfY29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMoKQotICAgICAgICBzY20gPSBkZXRl
Y3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRjaCA9IHNj
bS5jcmVhdGVfcGF0Y2goKQorICAgICAgICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaCgp
CiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2ZpbGVfY29t
bWl0MScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2Zp
bGVfY29tbWl0MicpCiAKICAgICBkZWYgdGVzdF9jcmVhdGVfcGF0Y2goc2VsZik6CiAgICAgICAg
IHNlbGYuX29uZV9sb2NhbF9jb21taXRfcGx1c193b3JraW5nX2NvcHlfY2hhbmdlcygpCi0gICAg
ICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAg
ICAgIHBhdGNoID0gc2NtLmNyZWF0ZV9wYXRjaCgpCisgICAgICAgIHBhdGNoID0gc2VsZi5zY20u
Y3JlYXRlX3BhdGNoKCkKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHBhdGNoLCBy
J3Rlc3RfZmlsZV9jb21taXQyJykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHBh
dGNoLCByJ3Rlc3RfZmlsZV9jb21taXQxJykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRj
aGVzKHBhdGNoLCByJ1N1YnZlcnNpb24gUmV2aXNpb246IDUnKQpAQCAtMTMzNiw3OCArMTMxNyw2
OSBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBzZWxmLl9vbmVfbG9jYWxf
Y29tbWl0KCkKICAgICAgICAgcnVuX2NvbW1hbmQoWydnaXQnLCAnbWVyZ2UnLCAndHJ1bmsnXSkK
IAotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRo
KQotICAgICAgICBwYXRjaCA9IHNjbS5jcmVhdGVfcGF0Y2goKQorICAgICAgICBwYXRjaCA9IHNl
bGYuc2NtLmNyZWF0ZV9wYXRjaCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhw
YXRjaCwgcid0ZXN0X2ZpbGVfY29tbWl0MScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0
Y2hlcyhwYXRjaCwgcidTdWJ2ZXJzaW9uIFJldmlzaW9uOiA1JykKIAogICAgIGRlZiB0ZXN0X2Ny
ZWF0ZV9wYXRjaF93aXRoX2NoYW5nZWRfZmlsZXMoc2VsZik6CiAgICAgICAgIHNlbGYuX29uZV9s
b2NhbF9jb21taXRfcGx1c193b3JraW5nX2NvcHlfY2hhbmdlcygpCi0gICAgICAgIHNjbSA9IGRl
dGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIHBhdGNoID0g
c2NtLmNyZWF0ZV9wYXRjaChjaGFuZ2VkX2ZpbGVzPVsndGVzdF9maWxlX2NvbW1pdDInXSkKKyAg
ICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goY2hhbmdlZF9maWxlcz1bJ3Rlc3Rf
ZmlsZV9jb21taXQyJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwg
cid0ZXN0X2ZpbGVfY29tbWl0MicpCiAKICAgICBkZWYgdGVzdF9jcmVhdGVfcGF0Y2hfd2l0aF9y
bV9hbmRfY2hhbmdlZF9maWxlcyhzZWxmKToKICAgICAgICAgc2VsZi5fb25lX2xvY2FsX2NvbW1p
dF9wbHVzX3dvcmtpbmdfY29weV9jaGFuZ2VzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9z
eXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKICAgICAgICAgb3MucmVtb3ZlKCd0ZXN0X2Zp
bGVfY29tbWl0MScpCi0gICAgICAgIHBhdGNoID0gc2NtLmNyZWF0ZV9wYXRjaCgpCi0gICAgICAg
IHBhdGNoX3dpdGhfY2hhbmdlZF9maWxlcyA9IHNjbS5jcmVhdGVfcGF0Y2goY2hhbmdlZF9maWxl
cz1bJ3Rlc3RfZmlsZV9jb21taXQxJywgJ3Rlc3RfZmlsZV9jb21taXQyJ10pCisgICAgICAgIHBh
dGNoID0gc2VsZi5zY20uY3JlYXRlX3BhdGNoKCkKKyAgICAgICAgcGF0Y2hfd2l0aF9jaGFuZ2Vk
X2ZpbGVzID0gc2VsZi5zY20uY3JlYXRlX3BhdGNoKGNoYW5nZWRfZmlsZXM9Wyd0ZXN0X2ZpbGVf
Y29tbWl0MScsICd0ZXN0X2ZpbGVfY29tbWl0MiddKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHBhdGNoLCBwYXRjaF93aXRoX2NoYW5nZWRfZmlsZXMpCiAKICAgICBkZWYgdGVzdF9jcmVhdGVf
cGF0Y2hfZ2l0X2NvbW1pdChzZWxmKToKICAgICAgICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMo
KQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRo
KQotICAgICAgICBwYXRjaCA9IHNjbS5jcmVhdGVfcGF0Y2goZ2l0X2NvbW1pdD0iSEVBRF4iKQor
ICAgICAgICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaChnaXRfY29tbWl0PSJIRUFEXiIp
CiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2ZpbGVfY29t
bWl0MScpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0
X2ZpbGVfY29tbWl0MicpCiAKICAgICBkZWYgdGVzdF9jcmVhdGVfcGF0Y2hfZ2l0X2NvbW1pdF9y
YW5nZShzZWxmKToKICAgICAgICAgc2VsZi5fdGhyZWVfbG9jYWxfY29tbWl0cygpCi0gICAgICAg
IHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAg
IHBhdGNoID0gc2NtLmNyZWF0ZV9wYXRjaChnaXRfY29tbWl0PSJIRUFEfjIuLkhFQUQiKQorICAg
ICAgICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaChnaXRfY29tbWl0PSJIRUFEfjIuLkhF
QUQiKQogICAgICAgICBzZWxmLmFzc2VydE5vdFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9m
aWxlX2NvbW1pdDAnKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIn
dGVzdF9maWxlX2NvbW1pdDInKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0
Y2gsIHIndGVzdF9maWxlX2NvbW1pdDEnKQogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3BhdGNoX3dv
cmtpbmdfY29weV9vbmx5KHNlbGYpOgogICAgICAgICBzZWxmLl9vbmVfbG9jYWxfY29tbWl0X3Bs
dXNfd29ya2luZ19jb3B5X2NoYW5nZXMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3Rl
bShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRjaCA9IHNjbS5jcmVhdGVfcGF0
Y2goZ2l0X2NvbW1pdD0iSEVBRC4uLi4iKQorICAgICAgICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0
ZV9wYXRjaChnaXRfY29tbWl0PSJIRUFELi4uLiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90UmVn
ZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2ZpbGVfY29tbWl0MScpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2ZpbGVfY29tbWl0MicpCiAKICAgICBkZWYg
dGVzdF9jcmVhdGVfcGF0Y2hfbXVsdGlwbGVfbG9jYWxfY29tbWl0cyhzZWxmKToKICAgICAgICAg
c2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3Rl
bShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRjaCA9IHNjbS5jcmVhdGVfcGF0
Y2goKQorICAgICAgICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaCgpCiAgICAgICAgIHNl
bGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2ZpbGVfY29tbWl0MicpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2ZpbGVfY29tbWl0MScp
CiAKICAgICBkZWYgdGVzdF9jcmVhdGVfcGF0Y2hfbm90X3N5bmNlZChzZWxmKToKICAgICAgICAg
cnVuX2NvbW1hbmQoWydnaXQnLCAnY2hlY2tvdXQnLCAnLWInLCAnbXktYnJhbmNoJywgJ3RydW5r
fjMnXSkKICAgICAgICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBk
ZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRjaCA9
IHNjbS5jcmVhdGVfcGF0Y2goKQorICAgICAgICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRj
aCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2Zp
bGUyJykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHBhdGNoLCByJ3Rlc3RfZmls
ZV9jb21taXQyJykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHBhdGNoLCByJ3Rl
c3RfZmlsZV9jb21taXQxJykKIAogICAgIGRlZiB0ZXN0X2NyZWF0ZV9iaW5hcnlfcGF0Y2goc2Vs
Zik6CiAgICAgICAgICMgQ3JlYXRlIGEgZ2l0IGJpbmFyeSBwYXRjaCBhbmQgY2hlY2sgdGhlIGNv
bnRlbnRzLgotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291
dF9wYXRoKQogICAgICAgICB0ZXN0X2ZpbGVfbmFtZSA9ICdiaW5hcnlfZmlsZScKICAgICAgICAg
dGVzdF9maWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCwgdGVz
dF9maWxlX25hbWUpCiAgICAgICAgIGZpbGVfY29udGVudHMgPSAnJy5qb2luKG1hcChjaHIsIHJh
bmdlKDI1NikpKQogICAgICAgICB3cml0ZV9pbnRvX2ZpbGVfYXRfcGF0aCh0ZXN0X2ZpbGVfcGF0
aCwgZmlsZV9jb250ZW50cywgZW5jb2Rpbmc9Tm9uZSkKICAgICAgICAgcnVuX2NvbW1hbmQoWydn
aXQnLCAnYWRkJywgdGVzdF9maWxlX25hbWVdKQotICAgICAgICBwYXRjaCA9IHNjbS5jcmVhdGVf
cGF0Y2goKQorICAgICAgICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaCgpCiAgICAgICAg
IHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcidcbmxpdGVyYWwgMFxuJykKICAgICAg
ICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHBhdGNoLCByJ1xubGl0ZXJhbCAyNTZcbicpCiAK
ICAgICAgICAgIyBDaGVjayBpZiB3ZSBjYW4gYXBwbHkgdGhlIGNyZWF0ZWQgcGF0Y2guCiAgICAg
ICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ3JtJywgJy1mJywgdGVzdF9maWxlX25hbWVdKQotICAg
ICAgICBzZWxmLl9zZXR1cF93ZWJraXR0b29sc19zY3JpcHRzX3N5bWxpbmsoc2NtKQorICAgICAg
ICBzZWxmLl9zZXR1cF93ZWJraXR0b29sc19zY3JpcHRzX3N5bWxpbmsoc2VsZi5zY20pCiAgICAg
ICAgIHNlbGYuY2hlY2tvdXQuYXBwbHlfcGF0Y2goc2VsZi5fY3JlYXRlX3BhdGNoKHBhdGNoKSkK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlX2NvbnRlbnRzLCByZWFkX2Zyb21fcGF0aCh0
ZXN0X2ZpbGVfcGF0aCwgZW5jb2Rpbmc9Tm9uZSkpCiAKQEAgLTE0MTUsMzggKzEzODcsMzYgQEAg
Y2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICAgICAgd3JpdGVfaW50b19maWxlX2F0X3Bh
dGgodGVzdF9maWxlX3BhdGgsIGZpbGVfY29udGVudHMsIGVuY29kaW5nPU5vbmUpCiAgICAgICAg
IHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2FkZCcsIHRlc3RfZmlsZV9uYW1lXSkKICAgICAgICAgcnVu
X2NvbW1hbmQoWydnaXQnLCAnY29tbWl0JywgJy1tJywgJ2JpbmFyeSBkaWZmJ10pCi0gICAgICAg
IHBhdGNoX2Zyb21fbG9jYWxfY29tbWl0ID0gc2NtLmNyZWF0ZV9wYXRjaCgnSEVBRCcpCisKKyAg
ICAgICAgcGF0Y2hfZnJvbV9sb2NhbF9jb21taXQgPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goJ0hF
QUQnKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2hfZnJvbV9sb2NhbF9j
b21taXQsIHInXG5saXRlcmFsIDBcbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hl
cyhwYXRjaF9mcm9tX2xvY2FsX2NvbW1pdCwgcidcbmxpdGVyYWwgMjU2XG4nKQogCiAgICAgZGVm
IHRlc3RfY2hhbmdlZF9maWxlc19sb2NhbF9wbHVzX3dvcmtpbmdfY29weShzZWxmKToKICAgICAg
ICAgc2VsZi5fb25lX2xvY2FsX2NvbW1pdF9wbHVzX3dvcmtpbmdfY29weV9jaGFuZ2VzKCkKLSAg
ICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAg
ICAgICAgZmlsZXMgPSBzY20uY2hhbmdlZF9maWxlcygpCisgICAgICAgIGZpbGVzID0gc2VsZi5z
Y20uY2hhbmdlZF9maWxlcygpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Rlc3RfZmlsZV9jb21t
aXQxJywgZmlsZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Rlc3RfZmlsZV9jb21taXQyJywg
ZmlsZXMpCiAKICAgICAgICAgIyB3b3JraW5nIGNvcHkgc2hvdWxkICpub3QqIGJlIGluIHRoZSBs
aXN0LgotICAgICAgICBmaWxlcyA9IHNjbS5jaGFuZ2VkX2ZpbGVzKCd0cnVuay4uJykKKyAgICAg
ICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKCd0cnVuay4uJykKICAgICAgICAgc2Vs
Zi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDEnLCBmaWxlcykKICAgICAgICAgc2VsZi5hc3Nl
cnROb3RJbigndGVzdF9maWxlX2NvbW1pdDInLCBmaWxlcykKIAogICAgICAgICAjIHdvcmtpbmcg
Y29weSAqc2hvdWxkKiBiZSBpbiB0aGUgbGlzdC4KLSAgICAgICAgZmlsZXMgPSBzY20uY2hhbmdl
ZF9maWxlcygndHJ1bmsuLi4uJykKKyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2Zp
bGVzKCd0cnVuay4uLi4nKQogICAgICAgICBzZWxmLmFzc2VydEluKCd0ZXN0X2ZpbGVfY29tbWl0
MScsIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydEluKCd0ZXN0X2ZpbGVfY29tbWl0MicsIGZp
bGVzKQogCiAgICAgZGVmIHRlc3RfY2hhbmdlZF9maWxlc19naXRfY29tbWl0KHNlbGYpOgogICAg
ICAgICBzZWxmLl90d29fbG9jYWxfY29tbWl0cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21f
c3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAgIGZpbGVzID0gc2NtLmNoYW5n
ZWRfZmlsZXMoZ2l0X2NvbW1pdD0iSEVBRF4iKQorICAgICAgICBmaWxlcyA9IHNlbGYuc2NtLmNo
YW5nZWRfZmlsZXMoZ2l0X2NvbW1pdD0iSEVBRF4iKQogICAgICAgICBzZWxmLmFzc2VydEluKCd0
ZXN0X2ZpbGVfY29tbWl0MScsIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydE5vdEluKCd0ZXN0
X2ZpbGVfY29tbWl0MicsIGZpbGVzKQogCiAgICAgZGVmIHRlc3RfY2hhbmdlZF9maWxlc19naXRf
Y29tbWl0X3JhbmdlKHNlbGYpOgogICAgICAgICBzZWxmLl90aHJlZV9sb2NhbF9jb21taXRzKCkK
LSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkK
LSAgICAgICAgZmlsZXMgPSBzY20uY2hhbmdlZF9maWxlcyhnaXRfY29tbWl0PSJIRUFEfjIuLkhF
QUQiKQorICAgICAgICBmaWxlcyA9IHNlbGYuc2NtLmNoYW5nZWRfZmlsZXMoZ2l0X2NvbW1pdD0i
SEVBRH4yLi5IRUFEIikKICAgICAgICAgc2VsZi5hc3NlcnROb3RJbigndGVzdF9maWxlX2NvbW1p
dDAnLCBmaWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDEnLCBm
aWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDInLCBmaWxlcykK
QEAgLTE0NTQsMjIgKzE0MjQsMjAgQEAgY2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICBk
ZWYgdGVzdF9jaGFuZ2VkX2ZpbGVzX3dvcmtpbmdfY29weV9vbmx5KHNlbGYpOgogICAgICAgICBz
ZWxmLl9vbmVfbG9jYWxfY29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMoKQogICAgICAg
ICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAg
ICBmaWxlcyA9IHNjbS5jaGFuZ2VkX2ZpbGVzKGdpdF9jb21taXQ9IkhFQUQuLi4uIikKKyAgICAg
ICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKGdpdF9jb21taXQ9IkhFQUQuLi4uIikK
ICAgICAgICAgc2VsZi5hc3NlcnROb3RJbigndGVzdF9maWxlX2NvbW1pdDEnLCBmaWxlcykKICAg
ICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDInLCBmaWxlcykKIAogICAgIGRl
ZiB0ZXN0X2NoYW5nZWRfZmlsZXNfbXVsdGlwbGVfbG9jYWxfY29tbWl0cyhzZWxmKToKICAgICAg
ICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5
c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBmaWxlcyA9IHNjbS5jaGFuZ2Vk
X2ZpbGVzKCkKKyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKCkKICAgICAg
ICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDInLCBmaWxlcykKICAgICAgICAgc2Vs
Zi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDEnLCBmaWxlcykKIAogICAgIGRlZiB0ZXN0X2No
YW5nZWRfZmlsZXNfbm90X3N5bmNlZChzZWxmKToKICAgICAgICAgcnVuX2NvbW1hbmQoWydnaXQn
LCAnY2hlY2tvdXQnLCAnLWInLCAnbXktYnJhbmNoJywgJ3RydW5rfjMnXSkKICAgICAgICAgc2Vs
Zi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShz
ZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBmaWxlcyA9IHNjbS5jaGFuZ2VkX2ZpbGVz
KCkKKyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKCkKICAgICAgICAgc2Vs
Zi5hc3NlcnROb3RJbigndGVzdF9maWxlMicsIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydElu
KCd0ZXN0X2ZpbGVfY29tbWl0MicsIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydEluKCd0ZXN0
X2ZpbGVfY29tbWl0MScsIGZpbGVzKQpAQCAtMTQ3Nyw4ICsxNDQ1LDcgQEAgY2xhc3MgR2l0U1ZO
VGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9jaGFuZ2VkX2ZpbGVzX25vdF9zeW5jZWQoc2Vs
Zik6CiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2NoZWNrb3V0JywgJy1iJywgJ215LWJy
YW5jaCcsICd0cnVua34zJ10pCiAgICAgICAgIHNlbGYuX3R3b19sb2NhbF9jb21taXRzKCkKLSAg
ICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAg
ICAgICAgZmlsZXMgPSBzY20uY2hhbmdlZF9maWxlcygpCisgICAgICAgIGZpbGVzID0gc2VsZi5z
Y20uY2hhbmdlZF9maWxlcygpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3Rlc3RfZmlsZTIn
LCBmaWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDInLCBmaWxl
cykKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDEnLCBmaWxlcykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182093</attachid>
            <date>2013-01-10 02:03:05 -0800</date>
            <delta_ts>2013-01-10 02:06:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106536-20130110210007.patch</filename>
            <type>text/plain</type>
            <size>22386</size>
            <attacher name="Tim &apos;mithro&apos; Ansell">mithro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5Mjk3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDI2MzIyNGE2ZDU1MTAxMTFlZDk0N2VkZGIyZDI1ZmE5
Yjc4Yjg2MS4uODY4YzY4ZGM0ZTQ5NDdjZjY4NGEwN2E4ODVmY2NhZDk4M2VjYjBmOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0
IEBACiAyMDEzLTAxLTEwICBUaW0gJ21pdGhybycgQW5zZWxsICA8bWl0aHJvQG1pdGhpcy5jb20+
CiAKKyAgICAgICAgQ2hhbmdpbmcgdGVzdHMgdG8gYmUgY29uc2lzdGVudCBhbmQgdXNlIHNlbGYu
c2NtIHJhdGhlciB0aGVuIHJlY3JlYXRpbmcgdGhlIHNjbSBvYmplY3QuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY1MzYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHk6CisKKzIwMTMtMDEtMTAgIFRpbSAnbWl0
aHJvJyBBbnNlbGwgIDxtaXRocm9AbWl0aGlzLmNvbT4KKwogICAgICAgICBDb252ZXJ0aW5nIHRv
IHVuaXR0ZXN0MiBzbyB3ZSBjYW4gdXNlIGFzc2VydEl0ZW1zRXF1YWwsIG1ha2luZyB0ZXN0cwog
ICAgICAgICBub3QgZGVwZW5kZW50IG9uIG9yZGVyIG9mIGl0ZW1zLgogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NTMyCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5w
eQppbmRleCBhZDY2NGE3YWQyOGZhZDA4NjQyMDVmZmZmNmMxMjc2YzU4NDdkYWM4Li4zY2QzYTQ5
MTI0MWMyYmEwZmI5ZjIyZmI4YTc0MjA4OWQ0Yzc3MTA1IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkK
QEAgLTEwNTAsOSArMTA1MCw4IEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgICAg
IHNlbGYuX3RlYXJfZG93bl9naXRfY2hlY2tvdXQoKQogCiAgICAgZGVmIHRlc3RfZGV0ZWN0aW9u
KHNlbGYpOgotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291
dF9wYXRoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjbS5kaXNwbGF5X25hbWUoKSwgImdp
dCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMo
KSwgVHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5kaXNwbGF5X25hbWUo
KSwgImdpdCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20uc3VwcG9ydHNfbG9j
YWxfY29tbWl0cygpLCBUcnVlKQogCiAgICAgZGVmIHRlc3RfcmVhZF9naXRfY29uZmlnKHNlbGYp
OgogICAgICAgICBrZXkgPSAndGVzdC5naXQtY29uZmlnJwpAQCAtMTExMSw0NSArMTExMCwzOSBA
QCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICAjIC0tcXVpZXQgZG9lc24ndCBt
YWtlIGdpdCBzdm4gc2lsZW50LCBzbyB1c2UgcnVuX3NpbGVudCB0byByZWRpcmVjdCBvdXRwdXQK
ICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU2NyaXB0RXJyb3IsIHJ1bl9zaWxlbnQsIFsnZ2l0
JywgJ3N2bicsICctLXF1aWV0JywgJ3JlYmFzZSddKSAjIFdpbGwgZmFpbCBkdWUgdG8gYSBjb25m
bGljdCBsZWF2aW5nIHVzIG1pZC1yZWJhc2UuCiAKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9z
eXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNj
bS5yZWJhc2VfaW5fcHJvZ3Jlc3MoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuc2Nt
LnJlYmFzZV9pbl9wcm9ncmVzcygpKQogCiAgICAgICAgICMgTWFrZSBzdXJlIG91ciBjbGVhbnVw
IHdvcmtzLgotICAgICAgICBzY20uY2xlYW5fd29ya2luZ19kaXJlY3RvcnkoKQotICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKHNjbS5yZWJhc2VfaW5fcHJvZ3Jlc3MoKSkKKyAgICAgICAgc2VsZi5z
Y20uY2xlYW5fd29ya2luZ19kaXJlY3RvcnkoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNl
bGYuc2NtLnJlYmFzZV9pbl9wcm9ncmVzcygpKQogCiAgICAgICAgICMgTWFrZSBzdXJlIGNsZWFu
dXAgZG9lc24ndCB0aHJvdyB3aGVuIG5vIHJlYmFzZSBpcyBpbiBwcm9ncmVzcy4KLSAgICAgICAg
c2NtLmNsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KCkKKyAgICAgICAgc2VsZi5zY20uY2xlYW5fd29y
a2luZ19kaXJlY3RvcnkoKQogCiAgICAgZGVmIHRlc3RfY29tbWl0aXNoX3BhcnNpbmcoc2VsZik6
Ci0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgp
Ci0KICAgICAgICAgIyBNdWx0aXBsZSByZXZpc2lvbnMgYXJlIGNoZXJyeS1waWNrZWQuCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNjbS5jb21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2Fy
Z3VtZW50cyhbJ0hFQUR+MiddKSksIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNj
bS5jb21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cyhbJ0hFQUQnLCAnSEVBRH4yJ10p
KSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5zY20uY29tbWl0X2lkc19m
cm9tX2NvbW1pdGlzaF9hcmd1bWVudHMoWydIRUFEfjInXSkpLCAxKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxlbihzZWxmLnNjbS5jb21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50
cyhbJ0hFQUQnLCAnSEVBRH4yJ10pKSwgMikKIAogICAgICAgICAjIC4uLiBpcyBhbiBpbnZhbGlk
IHJhbmdlIHNwZWNpZmllcgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwg
c2NtLmNvbW1pdF9pZHNfZnJvbV9jb21taXRpc2hfYXJndW1lbnRzLCBbJ3RydW5rLi4uSEVBRCdd
KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwgc2VsZi5zY20uY29tbWl0
X2lkc19mcm9tX2NvbW1pdGlzaF9hcmd1bWVudHMsIFsndHJ1bmsuLi5IRUFEJ10pCiAKICAgICBk
ZWYgdGVzdF9jb21taXRpc2hfb3JkZXIoc2VsZik6Ci0gICAgICAgIHNjbSA9IGRldGVjdF9zY21f
c3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0KICAgICAgICAgY29tbWl0X3JhbmdlID0g
J0hFQUR+My4uSEVBRCcKIAotICAgICAgICBhY3R1YWxfY29tbWl0cyA9IHNjbS5jb21taXRfaWRz
X2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cyhbY29tbWl0X3JhbmdlXSkKKyAgICAgICAgYWN0dWFs
X2NvbW1pdHMgPSBzZWxmLnNjbS5jb21taXRfaWRzX2Zyb21fY29tbWl0aXNoX2FyZ3VtZW50cyhb
Y29tbWl0X3JhbmdlXSkKICAgICAgICAgZXhwZWN0ZWRfY29tbWl0cyA9IFtdCiAgICAgICAgIGV4
cGVjdGVkX2NvbW1pdHMgKz0gcmV2ZXJzZWQocnVuX2NvbW1hbmQoWydnaXQnLCAncmV2LWxpc3Qn
LCBjb21taXRfcmFuZ2VdKS5zcGxpdGxpbmVzKCkpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChhY3R1YWxfY29tbWl0cywgZXhwZWN0ZWRfY29tbWl0cykKIAogICAgIGRlZiB0ZXN0X2FwcGx5
X2dpdF9wYXRjaChzZWxmKToKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5n
aXRfY2hlY2tvdXRfcGF0aCkKICAgICAgICAgIyBXZSBjYXJlZnVsbGx5IHBpY2sgYSBkaWZmIHdo
aWNoIGRvZXMgbm90IGhhdmUgYSBkaXJlY3RvcnkgYWRkaXRpb24KICAgICAgICAgIyBhcyBjdXJy
ZW50bHkgc3ZuLWFwcGx5IHdpbGwgZXJyb3Igb3V0IHdoZW4gdHJ5aW5nIHRvIHJlbW92ZSBkaXJl
Y3RvcmllcwogICAgICAgICAjIGluIEdpdDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM0ODcxCiAgICAgICAgIHBhdGNoID0gc2VsZi5fY3JlYXRlX3BhdGNoKF9naXRf
ZGlmZignSEVBRC4uSEVBRF4nKSkKLSAgICAgICAgc2VsZi5fc2V0dXBfd2Via2l0dG9vbHNfc2Ny
aXB0c19zeW1saW5rKHNjbSkKLSAgICAgICAgQ2hlY2tvdXQoc2NtKS5hcHBseV9wYXRjaChwYXRj
aCkKKyAgICAgICAgc2VsZi5fc2V0dXBfd2Via2l0dG9vbHNfc2NyaXB0c19zeW1saW5rKHNlbGYu
c2NtKQorICAgICAgICBDaGVja291dChzZWxmLnNjbSkuYXBwbHlfcGF0Y2gocGF0Y2gpCiAKICAg
ICBkZWYgdGVzdF9jb21taXRfdGV4dF9wYXJzaW5nKHNlbGYpOgogICAgICAgICB3cml0ZV9pbnRv
X2ZpbGVfYXRfcGF0aCgndGVzdF9maWxlJywgJ21vcmUgdGVzdCBjb250ZW50JykKQEAgLTExNTks
MTAgKzExNTIsOSBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgIGRlZiB0ZXN0X2Nv
bW1pdF93aXRoX21lc3NhZ2Vfd29ya2luZ19jb3B5X29ubHkoc2VsZik6CiAgICAgICAgIHdyaXRl
X2ludG9fZmlsZV9hdF9wYXRoKCd0ZXN0X2ZpbGVfY29tbWl0MScsICdtb3JlIHRlc3QgY29udGVu
dCcpCiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2FkZCcsICd0ZXN0X2ZpbGVfY29tbWl0
MSddKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9w
YXRoKQotICAgICAgICBjb21taXRfdGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJ5ZXQg
YW5vdGhlciB0ZXN0IGNvbW1pdCIpCisgICAgICAgIGNvbW1pdF90ZXh0ID0gc2VsZi5zY20uY29t
bWl0X3dpdGhfbWVzc2FnZSgieWV0IGFub3RoZXIgdGVzdCBjb21taXQiKQogCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90
ZXh0KSwgJzYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLnN2bl9yZXZpc2lv
bl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQogICAgICAgICBzdm5fbG9nID0g
cnVuX2NvbW1hbmQoWydnaXQnLCAnc3ZuJywgJ2xvZycsICctLWxpbWl0PTEnLCAnLS12ZXJib3Nl
J10pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhzdm5fbG9nLCByJ3Rlc3RfZmls
ZV9jb21taXQxJykKIApAQCAtMTE5NiwxMSArMTE4OCwxMCBAQCBjbGFzcyBHaXRTVk5UZXN0KFND
TVRlc3QpOgogCiAgICAgZGVmIHRlc3RfY29tbWl0X3dpdGhfbWVzc2FnZShzZWxmKToKICAgICAg
ICAgc2VsZi5fb25lX2xvY2FsX2NvbW1pdF9wbHVzX3dvcmtpbmdfY29weV9jaGFuZ2VzKCkKLSAg
ICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAg
ICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQW1iaWd1b3VzQ29tbWl0RXJyb3IsIHNjbS5jb21taXRf
d2l0aF9tZXNzYWdlLCAieWV0IGFub3RoZXIgdGVzdCBjb21taXQiKQotICAgICAgICBjb21taXRf
dGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJ5ZXQgYW5vdGhlciB0ZXN0IGNvbW1pdCIs
IGZvcmNlX3NxdWFzaD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBbWJpZ3VvdXND
b21taXRFcnJvciwgc2VsZi5zY20uY29tbWl0X3dpdGhfbWVzc2FnZSwgInlldCBhbm90aGVyIHRl
c3QgY29tbWl0IikKKyAgICAgICAgY29tbWl0X3RleHQgPSBzZWxmLnNjbS5jb21taXRfd2l0aF9t
ZXNzYWdlKCJ5ZXQgYW5vdGhlciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3NxdWFzaD1UcnVlKQogCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0
KGNvbW1pdF90ZXh0KSwgJzYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLnN2
bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQogICAgICAgICBz
dm5fbG9nID0gcnVuX2NvbW1hbmQoWydnaXQnLCAnc3ZuJywgJ2xvZycsICctLWxpbWl0PTEnLCAn
LS12ZXJib3NlJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhzdm5fbG9nLCBy
J3Rlc3RfZmlsZV9jb21taXQyJykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHN2
bl9sb2csIHIndGVzdF9maWxlX2NvbW1pdDEnKQpAQCAtMTIwOCw5ICsxMTk5LDggQEAgY2xhc3Mg
R2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9tZXNzYWdlX2dp
dF9jb21taXQoc2VsZik6CiAgICAgICAgIHNlbGYuX3R3b19sb2NhbF9jb21taXRzKCkKIAotICAg
ICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAg
ICAgICBjb21taXRfdGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90aGVyIHRlc3Qg
Y29tbWl0IiwgZ2l0X2NvbW1pdD0iSEVBRF4iKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNj
bS5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChjb21taXRfdGV4dCksICc2JykKKyAgICAg
ICAgY29tbWl0X3RleHQgPSBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90aGVyIHRl
c3QgY29tbWl0IiwgZ2l0X2NvbW1pdD0iSEVBRF4iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNlbGYuc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYn
KQogCiAgICAgICAgIHN2bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywg
Jy0tbGltaXQ9MScsICctLXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRj
aGVzKHN2bl9sb2csIHIndGVzdF9maWxlX2NvbW1pdDEnKQpAQCAtMTIxOSw5ICsxMjA5LDggQEAg
Y2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9tZXNz
YWdlX2dpdF9jb21taXRfcmFuZ2Uoc2VsZik6CiAgICAgICAgIHNlbGYuX3RocmVlX2xvY2FsX2Nv
bW1pdHMoKQogCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNr
b3V0X3BhdGgpCi0gICAgICAgIGNvbW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2Uo
ImFub3RoZXIgdGVzdCBjb21taXQiLCBnaXRfY29tbWl0PSJIRUFEfjIuLkhFQUQiKQotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHNjbS5zdm5fcmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChjb21t
aXRfdGV4dCksICc2JykKKyAgICAgICAgY29tbWl0X3RleHQgPSBzZWxmLnNjbS5jb21taXRfd2l0
aF9tZXNzYWdlKCJhbm90aGVyIHRlc3QgY29tbWl0IiwgZ2l0X2NvbW1pdD0iSEVBRH4yLi5IRUFE
IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5zdm5fcmV2aXNpb25fZnJvbV9j
b21taXRfdGV4dChjb21taXRfdGV4dCksICc2JykKIAogICAgICAgICBzdm5fbG9nID0gcnVuX2Nv
bW1hbmQoWydnaXQnLCAnc3ZuJywgJ2xvZycsICctLWxpbWl0PTEnLCAnLS12ZXJib3NlJ10pCiAg
ICAgICAgIHNlbGYuYXNzZXJ0Tm90UmVnZXhwTWF0Y2hlcyhzdm5fbG9nLCByJ3Rlc3RfZmlsZV9j
b21taXQwJykKQEAgLTEyMzAsMjAgKzEyMTksMTggQEAgY2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0
KToKIAogICAgIGRlZiB0ZXN0X2NvbW1pdF93aXRoX21lc3NhZ2Vfb25seV9sb2NhbF9jb21taXQo
c2VsZik6CiAgICAgICAgIHNlbGYuX29uZV9sb2NhbF9jb21taXQoKQotICAgICAgICBzY20gPSBk
ZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBjb21taXRf
dGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90aGVyIHRlc3QgY29tbWl0IikKKyAg
ICAgICAgY29tbWl0X3RleHQgPSBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90aGVy
IHRlc3QgY29tbWl0IikKICAgICAgICAgc3ZuX2xvZyA9IHJ1bl9jb21tYW5kKFsnZ2l0JywgJ3N2
bicsICdsb2cnLCAnLS1saW1pdD0xJywgJy0tdmVyYm9zZSddKQogICAgICAgICBzZWxmLmFzc2Vy
dFJlZ2V4cE1hdGNoZXMoc3ZuX2xvZywgcid0ZXN0X2ZpbGVfY29tbWl0MScpCiAKICAgICBkZWYg
dGVzdF9jb21taXRfd2l0aF9tZXNzYWdlX211bHRpcGxlX2xvY2FsX2NvbW1pdHNfYW5kX3dvcmtp
bmdfY29weShzZWxmKToKICAgICAgICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQogICAgICAg
ICB3cml0ZV9pbnRvX2ZpbGVfYXRfcGF0aCgndGVzdF9maWxlX2NvbW1pdDEnLCAnd29ya2luZyBj
b3B5IGNoYW5nZScpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2No
ZWNrb3V0X3BhdGgpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQW1iaWd1b3VzQ29tbWl0
RXJyb3IsIHNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAiYW5vdGhlciB0ZXN0IGNvbW1pdCIpCi0g
ICAgICAgIGNvbW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoImFub3RoZXIgdGVz
dCBjb21taXQiLCBmb3JjZV9zcXVhc2g9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMo
QW1iaWd1b3VzQ29tbWl0RXJyb3IsIHNlbGYuc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UsICJhbm90
aGVyIHRlc3QgY29tbWl0IikKKyAgICAgICAgY29tbWl0X3RleHQgPSBzZWxmLnNjbS5jb21taXRf
d2l0aF9tZXNzYWdlKCJhbm90aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCiAK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzY20uc3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3Rl
eHQoY29tbWl0X3RleHQpLCAnNicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20u
c3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29tbWl0X3RleHQpLCAnNicpCiAgICAgICAg
IHN2bl9sb2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGltaXQ9MScs
ICctLXZlcmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHN2bl9sb2cs
IHIndGVzdF9maWxlX2NvbW1pdDInKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMo
c3ZuX2xvZywgcid0ZXN0X2ZpbGVfY29tbWl0MScpCkBAIC0xMjUxLDE1ICsxMjM4LDEzIEBAIGNs
YXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgZGVmIHRlc3RfY29tbWl0X3dpdGhfbWVzc2Fn
ZV9naXRfY29tbWl0X2FuZF93b3JraW5nX2NvcHkoc2VsZik6CiAgICAgICAgIHNlbGYuX3R3b19s
b2NhbF9jb21taXRzKCkKICAgICAgICAgd3JpdGVfaW50b19maWxlX2F0X3BhdGgoJ3Rlc3RfZmls
ZV9jb21taXQxJywgJ3dvcmtpbmcgY29weSBjaGFuZ2UnKQotICAgICAgICBzY20gPSBkZXRlY3Rf
c2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBzZWxmLmFzc2VydFJh
aXNlcyhTY3JpcHRFcnJvciwgc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UsICJhbm90aGVyIHRlc3Qg
Y29tbWl0IiwgZ2l0X2NvbW1pdD0iSEVBRF4iKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhT
Y3JpcHRFcnJvciwgc2VsZi5zY20uY29tbWl0X3dpdGhfbWVzc2FnZSwgImFub3RoZXIgdGVzdCBj
b21taXQiLCBnaXRfY29tbWl0PSJIRUFEXiIpCiAKICAgICBkZWYgdGVzdF9jb21taXRfd2l0aF9t
ZXNzYWdlX211bHRpcGxlX2xvY2FsX2NvbW1pdHNfYWx3YXlzX3NxdWFzaChzZWxmKToKICAgICAg
ICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5
c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBzY20uX2Fzc2VydF9jYW5fc3F1
YXNoID0gbGFtYmRhIHdvcmtpbmdfZGlyZWN0b3J5X2lzX2NsZWFuOiBUcnVlCi0gICAgICAgIGNv
bW1pdF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoInlldCBhbm90aGVyIHRlc3QgY29t
bWl0IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzY20uc3ZuX3JldmlzaW9uX2Zyb21fY29t
bWl0X3RleHQoY29tbWl0X3RleHQpLCAnNicpCisgICAgICAgIHNlbGYuc2NtLl9hc3NlcnRfY2Fu
X3NxdWFzaCA9IGxhbWJkYSB3b3JraW5nX2RpcmVjdG9yeV9pc19jbGVhbjogVHJ1ZQorICAgICAg
ICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoInlldCBhbm90aGVy
IHRlc3QgY29tbWl0IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5zdm5fcmV2
aXNpb25fZnJvbV9jb21taXRfdGV4dChjb21taXRfdGV4dCksICc2JykKIAogICAgICAgICBzdm5f
bG9nID0gcnVuX2NvbW1hbmQoWydnaXQnLCAnc3ZuJywgJ2xvZycsICctLWxpbWl0PTEnLCAnLS12
ZXJib3NlJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhzdm5fbG9nLCByJ3Rl
c3RfZmlsZV9jb21taXQyJykKQEAgLTEyNjcsMTEgKzEyNTIsMTAgQEAgY2xhc3MgR2l0U1ZOVGVz
dChTQ01UZXN0KToKIAogICAgIGRlZiB0ZXN0X2NvbW1pdF93aXRoX21lc3NhZ2VfbXVsdGlwbGVf
bG9jYWxfY29tbWl0cyhzZWxmKToKICAgICAgICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQot
ICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQot
ICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBbWJpZ3VvdXNDb21taXRFcnJvciwgc2NtLmNvbW1p
dF93aXRoX21lc3NhZ2UsICJ5ZXQgYW5vdGhlciB0ZXN0IGNvbW1pdCIpCi0gICAgICAgIGNvbW1p
dF90ZXh0ID0gc2NtLmNvbW1pdF93aXRoX21lc3NhZ2UoInlldCBhbm90aGVyIHRlc3QgY29tbWl0
IiwgZm9yY2Vfc3F1YXNoPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFtYmlndW91
c0NvbW1pdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAieWV0IGFub3RoZXIg
dGVzdCBjb21taXQiKQorICAgICAgICBjb21taXRfdGV4dCA9IHNlbGYuc2NtLmNvbW1pdF93aXRo
X21lc3NhZ2UoInlldCBhbm90aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCiAK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzY20uc3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3Rl
eHQoY29tbWl0X3RleHQpLCAnNicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20u
c3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29tbWl0X3RleHQpLCAnNicpCiAKICAgICAg
ICAgc3ZuX2xvZyA9IHJ1bl9jb21tYW5kKFsnZ2l0JywgJ3N2bicsICdsb2cnLCAnLS1saW1pdD0x
JywgJy0tdmVyYm9zZSddKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMoc3ZuX2xv
Zywgcid0ZXN0X2ZpbGVfY29tbWl0MicpCkBAIC0xMjgwLDExICsxMjY0LDEwIEBAIGNsYXNzIEdp
dFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgZGVmIHRlc3RfY29tbWl0X3dpdGhfbWVzc2FnZV9ub3Rf
c3luY2VkKHNlbGYpOgogICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcsICdjaGVja291dCcsICct
YicsICdteS1icmFuY2gnLCAndHJ1bmt+MyddKQogICAgICAgICBzZWxmLl90d29fbG9jYWxfY29t
bWl0cygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0
X3BhdGgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFtYmlndW91c0NvbW1pdEVycm9yLCBz
Y20uY29tbWl0X3dpdGhfbWVzc2FnZSwgImFub3RoZXIgdGVzdCBjb21taXQiKQotICAgICAgICBj
b21taXRfdGV4dCA9IHNjbS5jb21taXRfd2l0aF9tZXNzYWdlKCJhbm90aGVyIHRlc3QgY29tbWl0
IiwgZm9yY2Vfc3F1YXNoPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFtYmlndW91
c0NvbW1pdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAiYW5vdGhlciB0ZXN0
IGNvbW1pdCIpCisgICAgICAgIGNvbW1pdF90ZXh0ID0gc2VsZi5zY20uY29tbWl0X3dpdGhfbWVz
c2FnZSgiYW5vdGhlciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3NxdWFzaD1UcnVlKQogCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc2NtLnN2bl9yZXZpc2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1p
dF90ZXh0KSwgJzYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLnN2bl9yZXZp
c2lvbl9mcm9tX2NvbW1pdF90ZXh0KGNvbW1pdF90ZXh0KSwgJzYnKQogCiAgICAgICAgIHN2bl9s
b2cgPSBydW5fY29tbWFuZChbJ2dpdCcsICdzdm4nLCAnbG9nJywgJy0tbGltaXQ9MScsICctLXZl
cmJvc2UnXSkKICAgICAgICAgc2VsZi5hc3NlcnROb3RSZWdleHBNYXRjaGVzKHN2bl9sb2csIHIn
dGVzdF9maWxlMicpCkBAIC0xMjk1LDkgKzEyNzgsOCBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRl
c3QpOgogICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcsICdjaGVja291dCcsICctYicsICdteS1i
cmFuY2gnLCAndHJ1bmt+MyddKQogICAgICAgICBzZWxmLl9sb2NhbF9jb21taXQoJ3Rlc3RfZmls
ZTInLCAnYXNkZicsICdhc2RmIGNvbW1pdCcpCiAKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9z
eXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKICAgICAgICAgIyBUaGVyZSdzIGEgY29uZmxp
Y3QgYmV0d2VlbiB0cnVuayBhbmQgdGhlIHRlc3RfZmlsZTIgbW9kaWZpY2F0aW9uLgotICAgICAg
ICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwgc2NtLmNvbW1pdF93aXRoX21lc3NhZ2Us
ICJhbm90aGVyIHRlc3QgY29tbWl0IiwgZm9yY2Vfc3F1YXNoPVRydWUpCisgICAgICAgIHNlbGYu
YXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBzZWxmLnNjbS5jb21taXRfd2l0aF9tZXNzYWdlLCAi
YW5vdGhlciB0ZXN0IGNvbW1pdCIsIGZvcmNlX3NxdWFzaD1UcnVlKQogCiAgICAgZGVmIHRlc3Rf
dXBzdHJlYW1fYnJhbmNoKHNlbGYpOgogICAgICAgICBydW5fY29tbWFuZChbJ2dpdCcsICdjaGVj
a291dCcsICctdCcsICctYicsICdteS1icmFuY2gnXSkKQEAgLTEzMTgsMTUgKzEzMDAsMTMgQEAg
Y2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKIAogICAgIGRlZiB0ZXN0X2NyZWF0ZV9wYXRjaF9s
b2NhbF9wbHVzX3dvcmtpbmdfY29weShzZWxmKToKICAgICAgICAgc2VsZi5fb25lX2xvY2FsX2Nv
bW1pdF9wbHVzX3dvcmtpbmdfY29weV9jaGFuZ2VzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3Nj
bV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgcGF0Y2ggPSBzY20uY3Jl
YXRlX3BhdGNoKCkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goKQogICAg
ICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9maWxlX2NvbW1pdDEn
KQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9maWxlX2Nv
bW1pdDInKQogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3BhdGNoKHNlbGYpOgogICAgICAgICBzZWxm
Ll9vbmVfbG9jYWxfY29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMoKQotICAgICAgICBz
Y20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBw
YXRjaCA9IHNjbS5jcmVhdGVfcGF0Y2goKQorICAgICAgICBwYXRjaCA9IHNlbGYuc2NtLmNyZWF0
ZV9wYXRjaCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0
X2ZpbGVfY29tbWl0MicpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwg
cid0ZXN0X2ZpbGVfY29tbWl0MScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhw
YXRjaCwgcidTdWJ2ZXJzaW9uIFJldmlzaW9uOiA1JykKQEAgLTEzMzYsNzggKzEzMTYsNjkgQEAg
Y2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICAgICAgc2VsZi5fb25lX2xvY2FsX2NvbW1p
dCgpCiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ21lcmdlJywgJ3RydW5rJ10pCiAKLSAg
ICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAg
ICAgICAgcGF0Y2ggPSBzY20uY3JlYXRlX3BhdGNoKCkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNj
bS5jcmVhdGVfcGF0Y2goKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gs
IHIndGVzdF9maWxlX2NvbW1pdDEnKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMo
cGF0Y2gsIHInU3VidmVyc2lvbiBSZXZpc2lvbjogNScpCiAKICAgICBkZWYgdGVzdF9jcmVhdGVf
cGF0Y2hfd2l0aF9jaGFuZ2VkX2ZpbGVzKHNlbGYpOgogICAgICAgICBzZWxmLl9vbmVfbG9jYWxf
Y29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMoKQotICAgICAgICBzY20gPSBkZXRlY3Rf
c2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRjaCA9IHNjbS5j
cmVhdGVfcGF0Y2goY2hhbmdlZF9maWxlcz1bJ3Rlc3RfZmlsZV9jb21taXQyJ10pCisgICAgICAg
IHBhdGNoID0gc2VsZi5zY20uY3JlYXRlX3BhdGNoKGNoYW5nZWRfZmlsZXM9Wyd0ZXN0X2ZpbGVf
Y29tbWl0MiddKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVz
dF9maWxlX2NvbW1pdDInKQogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3BhdGNoX3dpdGhfcm1fYW5k
X2NoYW5nZWRfZmlsZXMoc2VsZik6CiAgICAgICAgIHNlbGYuX29uZV9sb2NhbF9jb21taXRfcGx1
c193b3JraW5nX2NvcHlfY2hhbmdlcygpCi0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVt
KHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCiAgICAgICAgIG9zLnJlbW92ZSgndGVzdF9maWxlX2Nv
bW1pdDEnKQotICAgICAgICBwYXRjaCA9IHNjbS5jcmVhdGVfcGF0Y2goKQotICAgICAgICBwYXRj
aF93aXRoX2NoYW5nZWRfZmlsZXMgPSBzY20uY3JlYXRlX3BhdGNoKGNoYW5nZWRfZmlsZXM9Wyd0
ZXN0X2ZpbGVfY29tbWl0MScsICd0ZXN0X2ZpbGVfY29tbWl0MiddKQorICAgICAgICBwYXRjaCA9
IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaCgpCisgICAgICAgIHBhdGNoX3dpdGhfY2hhbmdlZF9maWxl
cyA9IHNlbGYuc2NtLmNyZWF0ZV9wYXRjaChjaGFuZ2VkX2ZpbGVzPVsndGVzdF9maWxlX2NvbW1p
dDEnLCAndGVzdF9maWxlX2NvbW1pdDInXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXRj
aCwgcGF0Y2hfd2l0aF9jaGFuZ2VkX2ZpbGVzKQogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3BhdGNo
X2dpdF9jb21taXQoc2VsZik6CiAgICAgICAgIHNlbGYuX3R3b19sb2NhbF9jb21taXRzKCkKLSAg
ICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAg
ICAgICAgcGF0Y2ggPSBzY20uY3JlYXRlX3BhdGNoKGdpdF9jb21taXQ9IkhFQUReIikKKyAgICAg
ICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goZ2l0X2NvbW1pdD0iSEVBRF4iKQogICAg
ICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9maWxlX2NvbW1pdDEn
KQogICAgICAgICBzZWxmLmFzc2VydE5vdFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9maWxl
X2NvbW1pdDInKQogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3BhdGNoX2dpdF9jb21taXRfcmFuZ2Uo
c2VsZik6CiAgICAgICAgIHNlbGYuX3RocmVlX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20g
PSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRj
aCA9IHNjbS5jcmVhdGVfcGF0Y2goZ2l0X2NvbW1pdD0iSEVBRH4yLi5IRUFEIikKKyAgICAgICAg
cGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goZ2l0X2NvbW1pdD0iSEVBRH4yLi5IRUFEIikK
ICAgICAgICAgc2VsZi5hc3NlcnROb3RSZWdleHBNYXRjaGVzKHBhdGNoLCByJ3Rlc3RfZmlsZV9j
b21taXQwJykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHBhdGNoLCByJ3Rlc3Rf
ZmlsZV9jb21taXQyJykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHBhdGNoLCBy
J3Rlc3RfZmlsZV9jb21taXQxJykKIAogICAgIGRlZiB0ZXN0X2NyZWF0ZV9wYXRjaF93b3JraW5n
X2NvcHlfb25seShzZWxmKToKICAgICAgICAgc2VsZi5fb25lX2xvY2FsX2NvbW1pdF9wbHVzX3dv
cmtpbmdfY29weV9jaGFuZ2VzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2Vs
Zi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgcGF0Y2ggPSBzY20uY3JlYXRlX3BhdGNoKGdp
dF9jb21taXQ9IkhFQUQuLi4uIikKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0
Y2goZ2l0X2NvbW1pdD0iSEVBRC4uLi4iKQogICAgICAgICBzZWxmLmFzc2VydE5vdFJlZ2V4cE1h
dGNoZXMocGF0Y2gsIHIndGVzdF9maWxlX2NvbW1pdDEnKQogICAgICAgICBzZWxmLmFzc2VydFJl
Z2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9maWxlX2NvbW1pdDInKQogCiAgICAgZGVmIHRlc3Rf
Y3JlYXRlX3BhdGNoX211bHRpcGxlX2xvY2FsX2NvbW1pdHMoc2VsZik6CiAgICAgICAgIHNlbGYu
X3R3b19sb2NhbF9jb21taXRzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2Vs
Zi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgcGF0Y2ggPSBzY20uY3JlYXRlX3BhdGNoKCkK
KyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goKQogICAgICAgICBzZWxmLmFz
c2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9maWxlX2NvbW1pdDInKQogICAgICAgICBz
ZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9maWxlX2NvbW1pdDEnKQogCiAg
ICAgZGVmIHRlc3RfY3JlYXRlX3BhdGNoX25vdF9zeW5jZWQoc2VsZik6CiAgICAgICAgIHJ1bl9j
b21tYW5kKFsnZ2l0JywgJ2NoZWNrb3V0JywgJy1iJywgJ215LWJyYW5jaCcsICd0cnVua34zJ10p
CiAgICAgICAgIHNlbGYuX3R3b19sb2NhbF9jb21taXRzKCkKLSAgICAgICAgc2NtID0gZGV0ZWN0
X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkKLSAgICAgICAgcGF0Y2ggPSBzY20u
Y3JlYXRlX3BhdGNoKCkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goKQog
ICAgICAgICBzZWxmLmFzc2VydE5vdFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHIndGVzdF9maWxlMicp
CiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2ZpbGVfY29t
bWl0MicpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcid0ZXN0X2Zp
bGVfY29tbWl0MScpCiAKICAgICBkZWYgdGVzdF9jcmVhdGVfYmluYXJ5X3BhdGNoKHNlbGYpOgog
ICAgICAgICAjIENyZWF0ZSBhIGdpdCBiaW5hcnkgcGF0Y2ggYW5kIGNoZWNrIHRoZSBjb250ZW50
cy4KLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0
aCkKICAgICAgICAgdGVzdF9maWxlX25hbWUgPSAnYmluYXJ5X2ZpbGUnCiAgICAgICAgIHRlc3Rf
ZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgsIHRlc3RfZmls
ZV9uYW1lKQogICAgICAgICBmaWxlX2NvbnRlbnRzID0gJycuam9pbihtYXAoY2hyLCByYW5nZSgy
NTYpKSkKICAgICAgICAgd3JpdGVfaW50b19maWxlX2F0X3BhdGgodGVzdF9maWxlX3BhdGgsIGZp
bGVfY29udGVudHMsIGVuY29kaW5nPU5vbmUpCiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0Jywg
J2FkZCcsIHRlc3RfZmlsZV9uYW1lXSkKLSAgICAgICAgcGF0Y2ggPSBzY20uY3JlYXRlX3BhdGNo
KCkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLnNjbS5jcmVhdGVfcGF0Y2goKQogICAgICAgICBzZWxm
LmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0Y2gsIHInXG5saXRlcmFsIDBcbicpCiAgICAgICAgIHNl
bGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcyhwYXRjaCwgcidcbmxpdGVyYWwgMjU2XG4nKQogCiAgICAg
ICAgICMgQ2hlY2sgaWYgd2UgY2FuIGFwcGx5IHRoZSBjcmVhdGVkIHBhdGNoLgogICAgICAgICBy
dW5fY29tbWFuZChbJ2dpdCcsICdybScsICctZicsIHRlc3RfZmlsZV9uYW1lXSkKLSAgICAgICAg
c2VsZi5fc2V0dXBfd2Via2l0dG9vbHNfc2NyaXB0c19zeW1saW5rKHNjbSkKKyAgICAgICAgc2Vs
Zi5fc2V0dXBfd2Via2l0dG9vbHNfc2NyaXB0c19zeW1saW5rKHNlbGYuc2NtKQogICAgICAgICBz
ZWxmLmNoZWNrb3V0LmFwcGx5X3BhdGNoKHNlbGYuX2NyZWF0ZV9wYXRjaChwYXRjaCkpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZV9jb250ZW50cywgcmVhZF9mcm9tX3BhdGgodGVzdF9m
aWxlX3BhdGgsIGVuY29kaW5nPU5vbmUpKQogCkBAIC0xNDE1LDYxICsxMzg2LDU2IEBAIGNsYXNz
IEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgICAgIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRoKHRl
c3RfZmlsZV9wYXRoLCBmaWxlX2NvbnRlbnRzLCBlbmNvZGluZz1Ob25lKQogICAgICAgICBydW5f
Y29tbWFuZChbJ2dpdCcsICdhZGQnLCB0ZXN0X2ZpbGVfbmFtZV0pCiAgICAgICAgIHJ1bl9jb21t
YW5kKFsnZ2l0JywgJ2NvbW1pdCcsICctbScsICdiaW5hcnkgZGlmZiddKQotICAgICAgICBwYXRj
aF9mcm9tX2xvY2FsX2NvbW1pdCA9IHNjbS5jcmVhdGVfcGF0Y2goJ0hFQUQnKQorCisgICAgICAg
IHBhdGNoX2Zyb21fbG9jYWxfY29tbWl0ID0gc2VsZi5zY20uY3JlYXRlX3BhdGNoKCdIRUFEJykK
ICAgICAgICAgc2VsZi5hc3NlcnRSZWdleHBNYXRjaGVzKHBhdGNoX2Zyb21fbG9jYWxfY29tbWl0
LCByJ1xubGl0ZXJhbCAwXG4nKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4cE1hdGNoZXMocGF0
Y2hfZnJvbV9sb2NhbF9jb21taXQsIHInXG5saXRlcmFsIDI1NlxuJykKIAogICAgIGRlZiB0ZXN0
X2NoYW5nZWRfZmlsZXNfbG9jYWxfcGx1c193b3JraW5nX2NvcHkoc2VsZik6CiAgICAgICAgIHNl
bGYuX29uZV9sb2NhbF9jb21taXRfcGx1c193b3JraW5nX2NvcHlfY2hhbmdlcygpCi0gICAgICAg
IHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAgICAg
IGZpbGVzID0gc2NtLmNoYW5nZWRfZmlsZXMoKQorICAgICAgICBmaWxlcyA9IHNlbGYuc2NtLmNo
YW5nZWRfZmlsZXMoKQogICAgICAgICBzZWxmLmFzc2VydEluKCd0ZXN0X2ZpbGVfY29tbWl0MScs
IGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydEluKCd0ZXN0X2ZpbGVfY29tbWl0MicsIGZpbGVz
KQogCiAgICAgICAgICMgd29ya2luZyBjb3B5IHNob3VsZCAqbm90KiBiZSBpbiB0aGUgbGlzdC4K
LSAgICAgICAgZmlsZXMgPSBzY20uY2hhbmdlZF9maWxlcygndHJ1bmsuLicpCisgICAgICAgIGZp
bGVzID0gc2VsZi5zY20uY2hhbmdlZF9maWxlcygndHJ1bmsuLicpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0SW4oJ3Rlc3RfZmlsZV9jb21taXQxJywgZmlsZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90
SW4oJ3Rlc3RfZmlsZV9jb21taXQyJywgZmlsZXMpCiAKICAgICAgICAgIyB3b3JraW5nIGNvcHkg
KnNob3VsZCogYmUgaW4gdGhlIGxpc3QuCi0gICAgICAgIGZpbGVzID0gc2NtLmNoYW5nZWRfZmls
ZXMoJ3RydW5rLi4uLicpCisgICAgICAgIGZpbGVzID0gc2VsZi5zY20uY2hhbmdlZF9maWxlcygn
dHJ1bmsuLi4uJykKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDEnLCBm
aWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDInLCBmaWxlcykK
IAogICAgIGRlZiB0ZXN0X2NoYW5nZWRfZmlsZXNfZ2l0X2NvbW1pdChzZWxmKToKICAgICAgICAg
c2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3Rl
bShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBmaWxlcyA9IHNjbS5jaGFuZ2VkX2Zp
bGVzKGdpdF9jb21taXQ9IkhFQUReIikKKyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2Vk
X2ZpbGVzKGdpdF9jb21taXQ9IkhFQUReIikKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9m
aWxlX2NvbW1pdDEnLCBmaWxlcykKICAgICAgICAgc2VsZi5hc3NlcnROb3RJbigndGVzdF9maWxl
X2NvbW1pdDInLCBmaWxlcykKIAogICAgIGRlZiB0ZXN0X2NoYW5nZWRfZmlsZXNfZ2l0X2NvbW1p
dF9yYW5nZShzZWxmKToKICAgICAgICAgc2VsZi5fdGhyZWVfbG9jYWxfY29tbWl0cygpCi0gICAg
ICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCi0gICAg
ICAgIGZpbGVzID0gc2NtLmNoYW5nZWRfZmlsZXMoZ2l0X2NvbW1pdD0iSEVBRH4yLi5IRUFEIikK
KyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKGdpdF9jb21taXQ9IkhFQUR+
Mi4uSEVBRCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3Rlc3RfZmlsZV9jb21taXQwJywg
ZmlsZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Rlc3RfZmlsZV9jb21taXQxJywgZmlsZXMp
CiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Rlc3RfZmlsZV9jb21taXQyJywgZmlsZXMpCiAKICAg
ICBkZWYgdGVzdF9jaGFuZ2VkX2ZpbGVzX3dvcmtpbmdfY29weV9vbmx5KHNlbGYpOgogICAgICAg
ICBzZWxmLl9vbmVfbG9jYWxfY29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMoKQotICAg
ICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAg
ICAgICBmaWxlcyA9IHNjbS5jaGFuZ2VkX2ZpbGVzKGdpdF9jb21taXQ9IkhFQUQuLi4uIikKKyAg
ICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKGdpdF9jb21taXQ9IkhFQUQuLi4u
IikKICAgICAgICAgc2VsZi5hc3NlcnROb3RJbigndGVzdF9maWxlX2NvbW1pdDEnLCBmaWxlcykK
ICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDInLCBmaWxlcykKIAogICAg
IGRlZiB0ZXN0X2NoYW5nZWRfZmlsZXNfbXVsdGlwbGVfbG9jYWxfY29tbWl0cyhzZWxmKToKICAg
ICAgICAgc2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2Nt
X3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBmaWxlcyA9IHNjbS5jaGFu
Z2VkX2ZpbGVzKCkKKyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKCkKICAg
ICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDInLCBmaWxlcykKICAgICAgICAg
c2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDEnLCBmaWxlcykKIAogICAgIGRlZiB0ZXN0
X2NoYW5nZWRfZmlsZXNfbm90X3N5bmNlZChzZWxmKToKICAgICAgICAgcnVuX2NvbW1hbmQoWydn
aXQnLCAnY2hlY2tvdXQnLCAnLWInLCAnbXktYnJhbmNoJywgJ3RydW5rfjMnXSkKICAgICAgICAg
c2VsZi5fdHdvX2xvY2FsX2NvbW1pdHMoKQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3Rl
bShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBmaWxlcyA9IHNjbS5jaGFuZ2VkX2Zp
bGVzKCkKKyAgICAgICAgZmlsZXMgPSBzZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzKCkKICAgICAgICAg
c2VsZi5hc3NlcnROb3RJbigndGVzdF9maWxlMicsIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2Vy
dEluKCd0ZXN0X2ZpbGVfY29tbWl0MicsIGZpbGVzKQogICAgICAgICBzZWxmLmFzc2VydEluKCd0
ZXN0X2ZpbGVfY29tbWl0MScsIGZpbGVzKQpAQCAtMTQ3Nyw4ICsxNDQzLDcgQEAgY2xhc3MgR2l0
U1ZOVGVzdChTQ01UZXN0KToKICAgICBkZWYgdGVzdF9jaGFuZ2VkX2ZpbGVzX25vdF9zeW5jZWQo
c2VsZik6CiAgICAgICAgIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2NoZWNrb3V0JywgJy1iJywgJ215
LWJyYW5jaCcsICd0cnVua34zJ10pCiAgICAgICAgIHNlbGYuX3R3b19sb2NhbF9jb21taXRzKCkK
LSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRfY2hlY2tvdXRfcGF0aCkK
LSAgICAgICAgZmlsZXMgPSBzY20uY2hhbmdlZF9maWxlcygpCisgICAgICAgIGZpbGVzID0gc2Vs
Zi5zY20uY2hhbmdlZF9maWxlcygpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3Rlc3RfZmls
ZTInLCBmaWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDInLCBm
aWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRJbigndGVzdF9maWxlX2NvbW1pdDEnLCBmaWxlcykK
QEAgLTE1NzgsNyArMTU0Myw2IEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgICAg
IHNlbGYuYXNzZXJ0SW4oIi1tb3JlIHRlc3QgY29udGVudCIsIGNhY2hlZF9kaWZmKQogCiAgICAg
ZGVmIHRlc3RfZXhpc3RzKHNlbGYpOgotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShz
ZWxmLmdpdF9jaGVja291dF9wYXRoKQogICAgICAgICBzZWxmLl9zaGFyZWRfdGVzdF9leGlzdHMo
c2NtLCBzY20uY29tbWl0X2xvY2FsbHlfd2l0aF9tZXNzYWdlKQogCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182094</attachid>
            <date>2013-01-10 02:06:36 -0800</date>
            <delta_ts>2013-01-10 02:32:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106536-20130110210338.patch</filename>
            <type>text/plain</type>
            <size>2150</size>
            <attacher name="Tim &apos;mithro&apos; Ansell">mithro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MzAwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjE4N2U4MTRmNGMzNDAwYTEyNzM3ODI1MDU2MjQxYjhh
NTVkNjg0ZC4uODA0NjNiZWJlMzJhODVlMDUwZjhhZjU1ZGYxYjE0NGIwNWQ4MjlmMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw2ICsxLDE2
IEBACiAyMDEzLTAxLTEwICBUaW0gJ21pdGhybycgQW5zZWxsICA8bWl0aHJvQG1pdGhpcy5jb20+
CiAKICAgICAgICAgQ2hhbmdpbmcgdGVzdHMgdG8gYmUgY29uc2lzdGVudCBhbmQgdXNlIHNlbGYu
c2NtIHJhdGhlciB0aGVuIHJlY3JlYXRpbmcgdGhlIHNjbSBvYmplY3QuCisgICAgICAgIChNaXNz
ZWQgYSBjb3VwbGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDY1MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3Qu
cHk6CisKKzIwMTMtMDEtMTAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgIDxtaXRocm9AbWl0aGlzLmNv
bT4KKworICAgICAgICBDaGFuZ2luZyB0ZXN0cyB0byBiZSBjb25zaXN0ZW50IGFuZCB1c2Ugc2Vs
Zi5zY20gcmF0aGVyIHRoZW4gcmVjcmVhdGluZyB0aGUgc2NtIG9iamVjdC4KICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjUzNgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkKaW5kZXggOThhMmI2YmE2
NmU2NDAzNDgyZjk0NThhYmUzMTY0MTBjMjY2OTVlZS4uM2NkM2E0OTEyNDFjMmJhMGZiOWYyMmZi
OGE3NDIwODlkNGM3NzEwNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5CkBAIC0xMDUwLDcgKzEwNTAs
NiBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBzZWxmLl90ZWFyX2Rvd25f
Z2l0X2NoZWNrb3V0KCkKIAogICAgIGRlZiB0ZXN0X2RldGVjdGlvbihzZWxmKToKLSAgICAgICAg
c2VsZi5zY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLmRpc3BsYXlfbmFtZSgpLCAiZ2l0IikKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5zdXBwb3J0c19sb2NhbF9jb21taXRzKCks
IFRydWUpCiAKQEAgLTE0MjMsNyArMTQyMiw2IEBAIGNsYXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6
CiAKICAgICBkZWYgdGVzdF9jaGFuZ2VkX2ZpbGVzX3dvcmtpbmdfY29weV9vbmx5KHNlbGYpOgog
ICAgICAgICBzZWxmLl9vbmVfbG9jYWxfY29tbWl0X3BsdXNfd29ya2luZ19jb3B5X2NoYW5nZXMo
KQotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRo
KQogICAgICAgICBmaWxlcyA9IHNlbGYuc2NtLmNoYW5nZWRfZmlsZXMoZ2l0X2NvbW1pdD0iSEVB
RC4uLi4iKQogICAgICAgICBzZWxmLmFzc2VydE5vdEluKCd0ZXN0X2ZpbGVfY29tbWl0MScsIGZp
bGVzKQogICAgICAgICBzZWxmLmFzc2VydEluKCd0ZXN0X2ZpbGVfY29tbWl0MicsIGZpbGVzKQpA
QCAtMTU0NSw3ICsxNTQzLDYgQEAgY2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKICAgICAgICAg
c2VsZi5hc3NlcnRJbigiLW1vcmUgdGVzdCBjb250ZW50IiwgY2FjaGVkX2RpZmYpCiAKICAgICBk
ZWYgdGVzdF9leGlzdHMoc2VsZik6Ci0gICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNl
bGYuZ2l0X2NoZWNrb3V0X3BhdGgpCiAgICAgICAgIHNlbGYuX3NoYXJlZF90ZXN0X2V4aXN0cyhz
Y20sIHNjbS5jb21taXRfbG9jYWxseV93aXRoX21lc3NhZ2UpCiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182097</attachid>
            <date>2013-01-10 02:32:24 -0800</date>
            <delta_ts>2013-01-10 10:42:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106536-20130110212927.patch</filename>
            <type>text/plain</type>
            <size>5220</size>
            <attacher name="Tim &apos;mithro&apos; Ansell">mithro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MzAwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjE4N2U4MTRmNGMzNDAwYTEyNzM3ODI1MDU2MjQxYjhh
NTVkNjg0ZC4uODA0NjNiZWJlMzJhODVlMDUwZjhhZjU1ZGYxYjE0NGIwNWQ4MjlmMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw2ICsxLDE2
IEBACiAyMDEzLTAxLTEwICBUaW0gJ21pdGhybycgQW5zZWxsICA8bWl0aHJvQG1pdGhpcy5jb20+
CiAKICAgICAgICAgQ2hhbmdpbmcgdGVzdHMgdG8gYmUgY29uc2lzdGVudCBhbmQgdXNlIHNlbGYu
c2NtIHJhdGhlciB0aGVuIHJlY3JlYXRpbmcgdGhlIHNjbSBvYmplY3QuCisgICAgICAgIChNaXNz
ZWQgYSBjb3VwbGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDY1MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3Qu
cHk6CisKKzIwMTMtMDEtMTAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgIDxtaXRocm9AbWl0aGlzLmNv
bT4KKworICAgICAgICBDaGFuZ2luZyB0ZXN0cyB0byBiZSBjb25zaXN0ZW50IGFuZCB1c2Ugc2Vs
Zi5zY20gcmF0aGVyIHRoZW4gcmVjcmVhdGluZyB0aGUgc2NtIG9iamVjdC4KICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjUzNgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkKaW5kZXggOThhMmI2YmE2
NmU2NDAzNDgyZjk0NThhYmUzMTY0MTBjMjY2OTVlZS4uNGZlYjQzMGViYzRiOTM1ZjBkNjk2YThm
MDQyYzIzM2ZiOGM4ODI0YSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5CkBAIC02NjEsOSArNjYxLDgg
QEAgY2xhc3MgU1ZOVGVzdChTQ01UZXN0KToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiJXNc
biIgJSBvcy5wYXRoLnJlYWxwYXRoKHNjbS5jaGVja291dF9yb290KSwgcGF0Y2hfY29udGVudHMp
ICMgQWRkIGEgXG4gYmVjYXVzZSBlY2hvIGFkZHMgYSBcbi4KIAogICAgIGRlZiB0ZXN0X2RldGVj
dGlvbihzZWxmKToKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5zdm5fY2hl
Y2tvdXRfcGF0aCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzY20uZGlzcGxheV9uYW1lKCks
ICJzdm4iKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjbS5zdXBwb3J0c19sb2NhbF9jb21t
aXRzKCksIEZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLmRpc3BsYXlf
bmFtZSgpLCAic3ZuIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5zdXBwb3J0
c19sb2NhbF9jb21taXRzKCksIEZhbHNlKQogCiAgICAgZGVmIHRlc3RfYXBwbHlfc21hbGxfYmlu
YXJ5X3BhdGNoKHNlbGYpOgogICAgICAgICBwYXRjaF9jb250ZW50cyA9ICIiIkluZGV4OiB0ZXN0
X2ZpbGUuc3dmCkBAIC02ODcsMTAgKzY4Niw5IEBAIFExZFRCeDBBQUFCNDJpdGc0R2xnWUpqR3dN
RER5T0RNeE1EdzM0R0JnUUVBSlBRREpBPT0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1
YWxfY29udGVudHMsIGV4cGVjdGVkX2NvbnRlbnRzKQogCiAgICAgZGVmIHRlc3RfYXBwbHlfc3Zu
X3BhdGNoKHNlbGYpOgotICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShzZWxmLnN2bl9j
aGVja291dF9wYXRoKQogICAgICAgICBwYXRjaCA9IHNlbGYuX2NyZWF0ZV9wYXRjaChfc3ZuX2Rp
ZmYoIi1yNTo0IikpCi0gICAgICAgIHNlbGYuX3NldHVwX3dlYmtpdHRvb2xzX3NjcmlwdHNfc3lt
bGluayhzY20pCi0gICAgICAgIENoZWNrb3V0KHNjbSkuYXBwbHlfcGF0Y2gocGF0Y2gpCisgICAg
ICAgIHNlbGYuX3NldHVwX3dlYmtpdHRvb2xzX3NjcmlwdHNfc3ltbGluayhzZWxmLnNjbSkKKyAg
ICAgICAgQ2hlY2tvdXQoc2VsZi5zY20pLmFwcGx5X3BhdGNoKHBhdGNoKQogCiAgICAgZGVmIHRl
c3RfY29tbWl0X2xvZ3Moc2VsZik6CiAgICAgICAgICMgQ29tbWl0cyBoYXZlIGRhdGVzIGFuZCB1
c2VybmFtZXMgaW4gdGhlbSwgc28gd2UgY2FuJ3QganVzdCBkaXJlY3QgY29tcGFyZS4KQEAgLTc1
NiwxMyArNzU0LDEyIEBAIEVORAogICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5fdGVzdF9o
YXNfYXV0aG9yaXphdGlvbl9mb3JfcmVhbG1fdXNpbmdfY3JlZGVudGlhbHMoU1ZOLnN2bl9zZXJ2
ZXJfcmVhbG0sIGNyZWRlbnRpYWxzKSkKIAogICAgIGRlZiBfdGVzdF9oYXNfYXV0aG9yaXphdGlv
bl9mb3JfcmVhbG1fdXNpbmdfY3JlZGVudGlhbHMoc2VsZiwgcmVhbG0sIGNyZWRlbnRpYWxzKToK
LSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5zdm5fY2hlY2tvdXRfcGF0aCkK
ICAgICAgICAgZmFrZV9ob21lX2RpciA9IHRlbXBmaWxlLm1rZHRlbXAoc3VmZml4PSJmYWtlX2hv
bWVfZGlyIikKICAgICAgICAgc3ZuX2NvbmZpZ19kaXJfcGF0aCA9IG9zLnBhdGguam9pbihmYWtl
X2hvbWVfZGlyLCAiLnN1YnZlcnNpb24iKQogICAgICAgICBvcy5ta2Rpcihzdm5fY29uZmlnX2Rp
cl9wYXRoKQogICAgICAgICBmYWtlX3dlYmtpdF9hdXRoX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3Zu
X2NvbmZpZ19kaXJfcGF0aCwgImZha2Vfd2Via2l0X2F1dGhfZmlsZSIpCiAgICAgICAgIHdyaXRl
X2ludG9fZmlsZV9hdF9wYXRoKGZha2Vfd2Via2l0X2F1dGhfZmlsZSwgY3JlZGVudGlhbHMpCi0g
ICAgICAgIHJlc3VsdCA9IHNjbS5oYXNfYXV0aG9yaXphdGlvbl9mb3JfcmVhbG0ocmVhbG0sIGhv
bWVfZGlyZWN0b3J5PWZha2VfaG9tZV9kaXIpCisgICAgICAgIHJlc3VsdCA9IHNlbGYuc2NtLmhh
c19hdXRob3JpemF0aW9uX2Zvcl9yZWFsbShyZWFsbSwgaG9tZV9kaXJlY3Rvcnk9ZmFrZV9ob21l
X2RpcikKICAgICAgICAgb3MucmVtb3ZlKGZha2Vfd2Via2l0X2F1dGhfZmlsZSkKICAgICAgICAg
b3Mucm1kaXIoc3ZuX2NvbmZpZ19kaXJfcGF0aCkKICAgICAgICAgb3Mucm1kaXIoZmFrZV9ob21l
X2RpcikKQEAgLTc4MywxMSArNzgwLDEwIEBAIEVORAogICAgICAgICBzZWxmLmFzc2VydEZhbHNl
KHNlbGYuX3Rlc3RfaGFzX2F1dGhvcml6YXRpb25fZm9yX3JlYWxtX3VzaW5nX2NyZWRlbnRpYWxz
KFNWTi5zdm5fc2VydmVyX3JlYWxtLCBjcmVkZW50aWFscykpCiAKICAgICBkZWYgdGVzdF9ub3Rf
aGF2ZV9hdXRob3JpemF0aW9uX2Zvcl9yZWFsbV93aGVuX21pc3NpbmdfY3JlZGVudGlhbHNfZmls
ZShzZWxmKToKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5zdm5fY2hlY2tv
dXRfcGF0aCkKICAgICAgICAgZmFrZV9ob21lX2RpciA9IHRlbXBmaWxlLm1rZHRlbXAoc3VmZml4
PSJmYWtlX2hvbWVfZGlyIikKICAgICAgICAgc3ZuX2NvbmZpZ19kaXJfcGF0aCA9IG9zLnBhdGgu
am9pbihmYWtlX2hvbWVfZGlyLCAiLnN1YnZlcnNpb24iKQogICAgICAgICBvcy5ta2Rpcihzdm5f
Y29uZmlnX2Rpcl9wYXRoKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjbS5oYXNfYXV0aG9y
aXphdGlvbl9mb3JfcmVhbG0oU1ZOLnN2bl9zZXJ2ZXJfcmVhbG0sIGhvbWVfZGlyZWN0b3J5PWZh
a2VfaG9tZV9kaXIpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYuc2NtLmhhc19hdXRo
b3JpemF0aW9uX2Zvcl9yZWFsbShTVk4uc3ZuX3NlcnZlcl9yZWFsbSwgaG9tZV9kaXJlY3Rvcnk9
ZmFrZV9ob21lX2RpcikpCiAgICAgICAgIG9zLnJtZGlyKHN2bl9jb25maWdfZGlyX3BhdGgpCiAg
ICAgICAgIG9zLnJtZGlyKGZha2VfaG9tZV9kaXIpCiAKQEAgLTEwNTAsNyArMTA0Niw2IEBAIGNs
YXNzIEdpdFNWTlRlc3QoU0NNVGVzdCk6CiAgICAgICAgIHNlbGYuX3RlYXJfZG93bl9naXRfY2hl
Y2tvdXQoKQogCiAgICAgZGVmIHRlc3RfZGV0ZWN0aW9uKHNlbGYpOgotICAgICAgICBzZWxmLnNj
bSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20uZGlzcGxheV9uYW1lKCksICJnaXQiKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKSwgVHJ1ZSkK
IApAQCAtMTQyMyw3ICsxNDE4LDYgQEAgY2xhc3MgR2l0U1ZOVGVzdChTQ01UZXN0KToKIAogICAg
IGRlZiB0ZXN0X2NoYW5nZWRfZmlsZXNfd29ya2luZ19jb3B5X29ubHkoc2VsZik6CiAgICAgICAg
IHNlbGYuX29uZV9sb2NhbF9jb21taXRfcGx1c193b3JraW5nX2NvcHlfY2hhbmdlcygpCi0gICAg
ICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgpCiAgICAg
ICAgIGZpbGVzID0gc2VsZi5zY20uY2hhbmdlZF9maWxlcyhnaXRfY29tbWl0PSJIRUFELi4uLiIp
CiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3Rlc3RfZmlsZV9jb21taXQxJywgZmlsZXMpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Rlc3RfZmlsZV9jb21taXQyJywgZmlsZXMpCkBAIC0xNTQ1
LDggKzE1MzksNyBAQCBjbGFzcyBHaXRTVk5UZXN0KFNDTVRlc3QpOgogICAgICAgICBzZWxmLmFz
c2VydEluKCItbW9yZSB0ZXN0IGNvbnRlbnQiLCBjYWNoZWRfZGlmZikKIAogICAgIGRlZiB0ZXN0
X2V4aXN0cyhzZWxmKToKLSAgICAgICAgc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5naXRf
Y2hlY2tvdXRfcGF0aCkKLSAgICAgICAgc2VsZi5fc2hhcmVkX3Rlc3RfZXhpc3RzKHNjbSwgc2Nt
LmNvbW1pdF9sb2NhbGx5X3dpdGhfbWVzc2FnZSkKKyAgICAgICAgc2VsZi5fc2hhcmVkX3Rlc3Rf
ZXhpc3RzKHNlbGYuc2NtLCBzZWxmLnNjbS5jb21taXRfbG9jYWxseV93aXRoX21lc3NhZ2UpCiAK
IAogIyBXZSBuZWVkIHRvIHNwbGl0IG9mZiBtb3JlIG9mIHRoZXNlIFNDTSB0ZXN0cyB0byB1c2Ug
bW9ja3MgaW5zdGVhZCBvZiB0aGUgZmlsZXN5c3RlbS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>