<?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>78568</bug_id>
          
          <creation_ts>2012-02-13 19:33:27 -0800</creation_ts>
          <short_desc>webkitpy: clean up options, port handling in manager_worker_broker</short_desc>
          <delta_ts>2012-02-14 16:42:57 -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>
          
          <blocked>78171</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>555884</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-13 19:33:27 -0800</bug_when>
    <thetext>webkitpy: clean up options, port handling in manager_worker_broker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555885</commentid>
    <comment_count>1</comment_count>
      <attachid>126891</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-13 19:35:29 -0800</bug_when>
    <thetext>Created attachment 126891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555887</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-13 19:36:03 -0800</bug_when>
    <thetext>Tony, please take a look (after 78171)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556738</commentid>
    <comment_count>3</comment_count>
      <attachid>126891</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-14 16:13:53 -0800</bug_when>
    <thetext>Comment on attachment 126891
Patch

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

&gt; Tools/ChangeLog:14
&gt; +        * Scripts/webkitpy/layout_tests/controllers/manager.py:
&gt; +        (Manager._run_tests):
&gt; +        * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
&gt; +        (get):

Nit: Some annotations would have made this clearer.  Part of this patch is removing unused functions/parameters.  Some of it is moving around whether we pass a parameter to a constructor or to a specific method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556741</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-14 16:18:33 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Nit: Some annotations would have made this clearer.  Part of this patch is removing unused functions/parameters.  Some of it is moving around whether we pass a parameter to a constructor or to a specific method.

Sorry, I&apos;ve never been in the habit of function-level annotations in the ChangeLogs (they&apos;re always noise to me). I will try to be better about such things in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556755</commentid>
    <comment_count>5</comment_count>
      <attachid>127076</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-14 16:33:51 -0800</bug_when>
    <thetext>Created attachment 127076
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556758</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-14 16:36:35 -0800</bug_when>
    <thetext>Committed r107754: &lt;http://trac.webkit.org/changeset/107754&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126891</attachid>
            <date>2012-02-13 19:35:29 -0800</date>
            <delta_ts>2012-02-14 16:33:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78568-20120213193526.patch</filename>
            <type>text/plain</type>
            <size>16396</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NjUxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmUyNTVlNWQ2MTJiNDExZThjZWFhYTdiZWE2Y2RhYzcz
YTBkMTA5NS4uZGRhY2JmODE1NDE2OTdhZmEyNjNkNmNmMmQ4ZWIyYjE2ZDg3YmMxOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQy
IEBACiAyMDEyLTAyLTEzICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiBjbGVhbiB1cCBvcHRpb25zLCBwb3J0IGhhbmRsaW5nIGluIG1hbmFn
ZXJfd29ya2VyX2Jyb2tlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Nzg1NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBtYW5hZ2VyX3dvcmtlcl9icm9rZXIgbm8gbG9uZ2VyIG5lZWRzIG9wdGlvbnMgb3Ig
cG9ydCBvYmplY3RzCisgICAgICAgIGRpcmVjdGx5LCBzbyB3ZSBtYWtlIHRoZW0gb25seSBiZSBw
YXNzZWQgaW4gc3RhcnRfd29ya2VyKCkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5OgorICAgICAgICAoTWFuYWdlci5fcnVu
X3Rlc3RzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHk6CisgICAgICAgIChnZXQpOgorICAgICAgICAo
X01hbmFnZXJDb25uZWN0aW9uLl9faW5pdF9fKToKKyAgICAgICAgKF9NYW5hZ2VyQ29ubmVjdGlv
bi5zdGFydF93b3JrZXIpOgorICAgICAgICAoX0lubGluZU1hbmFnZXIuX19pbml0X18pOgorICAg
ICAgICAoX0lubGluZU1hbmFnZXIuc3RhcnRfd29ya2VyKToKKyAgICAgICAgKF9JbmxpbmVNYW5h
Z2VyLnJ1bl9tZXNzYWdlX2xvb3ApOgorICAgICAgICAoX011bHRpUHJvY2Vzc01hbmFnZXIuX19p
bml0X18pOgorICAgICAgICAoX011bHRpUHJvY2Vzc01hbmFnZXIpOgorICAgICAgICAoX011bHRp
UHJvY2Vzc01hbmFnZXIuc3RhcnRfd29ya2VyKToKKyAgICAgICAgKF9JbmxpbmVXb3JrZXJDb25u
ZWN0aW9uLl9faW5pdF9fKToKKyAgICAgICAgKF9JbmxpbmVXb3JrZXJDb25uZWN0aW9uLnJ1bik6
CisgICAgICAgIChfUHJvY2Vzcy5fX2luaXRfXyk6CisgICAgICAgIChfTXVsdGlQcm9jZXNzV29y
a2VyQ29ubmVjdGlvbi5fX2luaXRfXyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5Ogor
ICAgICAgICAobWFrZV9icm9rZXIpOgorICAgICAgICAoX1Rlc3RXb3JrZXIucnVuKToKKyAgICAg
ICAgKF9UZXN0c01peGluLnRlc3RfY2FuY2VsKToKKyAgICAgICAgKF9UZXN0c01peGluLnRlc3Rf
ZG9uZSk6CisgICAgICAgIChfVGVzdHNNaXhpbi50ZXN0X3Vua25vd25fbWVzc2FnZSk6CisgICAg
ICAgIChNdWx0aVByb2Nlc3NCcm9rZXJUZXN0cy5zZXRVcCk6CisgICAgICAgIChJbnRlcmZhY2VU
ZXN0LnRlc3RfbWFuYWdlcmNvbm5lY3Rpb25faXNfYWJzdHJhY3QpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21lc3NhZ2VfYnJva2VyLnB5Ogor
ICAgICAgICAoQnJva2VyLl9faW5pdF9fKToKKworMjAxMi0wMi0xMyAgRGlyayBQcmFua2UgIDxk
cHJhbmtlQGNocm9taXVtLm9yZz4KKwogICAgICAgICB3ZWJraXRweTogY3JlYXRlIHBvcnRzIGlu
IFdvcmtlcnMsIG5vdCBpbiBtYW5hZ2VyX3dvcmtlcl9icm9rZXIKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTY1CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5
CmluZGV4IDAyYjIwYjg3YmQyNGM1NDI2YTJmYTE2ZjM3M2U0ZGMyOTQ2YmI5ZWEuLjAzODY3YjYx
NjBhNDFiZDBhN2FjZjNjMTEzODI4NjZlNDNkNTIxNDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQpA
QCAtNzUyLDE0ICs3NTIsMTQgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICBudW1f
d29ya2VycyA9IG1pbihpbnQoc2VsZi5fb3B0aW9ucy5jaGlsZF9wcm9jZXNzZXMpLCBsZW4oYWxs
X3NoYXJkcykpCiAgICAgICAgIHNlbGYuX2xvZ19udW1fd29ya2VycyhudW1fd29ya2VycywgbGVu
KGFsbF9zaGFyZHMpLCBsZW4obG9ja2VkX3NoYXJkcykpCiAKLSAgICAgICAgbWFuYWdlcl9jb25u
ZWN0aW9uID0gbWFuYWdlcl93b3JrZXJfYnJva2VyLmdldChzZWxmLl9wb3J0LCBzZWxmLl9vcHRp
b25zLCBzZWxmLCB3b3JrZXIuV29ya2VyKQorICAgICAgICBtYW5hZ2VyX2Nvbm5lY3Rpb24gPSBt
YW5hZ2VyX3dvcmtlcl9icm9rZXIuZ2V0KHNlbGYuX29wdGlvbnMud29ya2VyX21vZGVsLCBzZWxm
LCB3b3JrZXIuV29ya2VyKQogCiAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuZHJ5X3J1bjoKICAg
ICAgICAgICAgIHJldHVybiAoa2V5Ym9hcmRfaW50ZXJydXB0ZWQsIGludGVycnVwdGVkLCB0aHJl
YWRfdGltaW5ncywgc2VsZi5fZ3JvdXBfc3RhdHMsIHNlbGYuX2FsbF9yZXN1bHRzKQogCiAgICAg
ICAgIHNlbGYuX3ByaW50ZXIucHJpbnRfdXBkYXRlKCdTdGFydGluZyAlcyAuLi4nICUgZ3JhbW1h
ci5wbHVyYWxpemUoJ3dvcmtlcicsIG51bV93b3JrZXJzKSkKICAgICAgICAgZm9yIHdvcmtlcl9u
dW1iZXIgaW4geHJhbmdlKG51bV93b3JrZXJzKToKLSAgICAgICAgICAgIHdvcmtlcl9jb25uZWN0
aW9uID0gbWFuYWdlcl9jb25uZWN0aW9uLnN0YXJ0X3dvcmtlcih3b3JrZXJfbnVtYmVyLCBzZWxm
LnJlc3VsdHNfZGlyZWN0b3J5KCkpCisgICAgICAgICAgICB3b3JrZXJfY29ubmVjdGlvbiA9IG1h
bmFnZXJfY29ubmVjdGlvbi5zdGFydF93b3JrZXIod29ya2VyX251bWJlciwgc2VsZi5fcG9ydCwg
c2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpLCBzZWxmLl9vcHRpb25zKQogICAgICAgICAgICAgd29y
a2VyX3N0YXRlID0gX1dvcmtlclN0YXRlKHdvcmtlcl9udW1iZXIsIHdvcmtlcl9jb25uZWN0aW9u
KQogICAgICAgICAgICAgc2VsZi5fd29ya2VyX3N0YXRlc1t3b3JrZXJfY29ubmVjdGlvbi5uYW1l
XSA9IHdvcmtlcl9zdGF0ZQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9i
cm9rZXIucHkKaW5kZXggY2JiOTRhM2E0YTVhZDJhOGNjMTlkYmRjZmU2MjU3OWI0MzAzNWEyNy4u
ZDUyZDM4YzljNDdkNzlkMDljZDljNGEwYzYwOGVjYTYzYmUyODdhYyAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3Jr
ZXJfYnJva2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2Nv
bnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weQpAQCAtNTksMjMgKzU5LDExIEBAIE1B
TkFHRVJfVE9QSUMgPSAnbWFuYWdlcnMnCiBBTllfV09SS0VSX1RPUElDID0gJ3dvcmtlcnMnCiAK
IAotZGVmIHJ1bnRpbWVfb3B0aW9ucygpOgotICAgICIiIlJldHVybiBhIGxpc3Qgb2Ygb3B0cGFy
c2UuT3B0aW9uIG9iamVjdHMgZm9yIGFueSBydW50aW1lIHZhbHVlcyB1c2VkCi0gICAgYnkgdGhp
cyBtb2R1bGUuIiIiCi0gICAgb3B0aW9ucyA9IFsKLSAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRp
b24oIi0td29ya2VyLW1vZGVsIiwgYWN0aW9uPSJzdG9yZSIsCi0gICAgICAgICAgICBoZWxwPSgi
Y29udHJvbHMgd29ya2VyIG1vZGVsLiBWYWxpZCB2YWx1ZXMgYXJlICIKLSAgICAgICAgICAgICIn
aW5saW5lJyBhbmQgJ3Byb2Nlc3NlcycuIikpLAotICAgIF0KLSAgICByZXR1cm4gb3B0aW9ucwot
Ci0KLWRlZiBnZXQocG9ydCwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3MpOgorZGVmIGdl
dCh3b3JrZXJfbW9kZWwsIGNsaWVudCwgd29ya2VyX2NsYXNzKToKICAgICAiIiJSZXR1cm4gYSBj
b25uZWN0aW9uIHRvIGEgbWFuYWdlci93b3JrZXIgbWVzc2FnZV9icm9rZXIKIAogICAgIEFyZ3M6
Ci0gICAgICAgIHBvcnQgLSBoYW5kbGUgdG8gbGF5b3V0X3Rlc3RzL3BvcnQgb2JqZWN0IGZvciBw
b3J0LXNwZWNpZmljIHN0dWZmCi0gICAgICAgIG9wdGlvbnMgLSBvcHRwYXJzZSBhcmd1bWVudCBm
b3IgY29tbWFuZC1saW5lIG9wdGlvbnMKKyAgICAgICAgd29ya2VyX21vZGVsIC0gY29uY3VycmVu
Y3kgbW9kZWwgdG8gdXNlIChpbmxpbmUvcHJvY2Vzc2VzKQogICAgICAgICBjbGllbnQgLSBtZXNz
YWdlX2Jyb2tlci5Ccm9rZXJDbGllbnQgaW1wbGVtZW50YXRpb24gdG8gZGlzcGF0Y2gKICAgICAg
ICAgICAgIHJlcGxpZXMgdG8uCiAgICAgICAgIHdvcmtlcl9jbGFzcyAtIHR5cGUgb2Ygd29ya2Vy
cyB0byBjcmVhdGUuIFRoaXMgY2xhc3MgbXVzdCBpbXBsZW1lbnQKQEAgLTg0LDcgKzcyLDYgQEAg
ZGVmIGdldChwb3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcyk6CiAgICAgICAgIEEg
aGFuZGxlIHRvIGFuIG9iamVjdCB0aGF0IHdpbGwgdGFsayB0byBhIG1lc3NhZ2UgYnJva2VyIGNv
bmZpZ3VyZWQKICAgICAgICAgZm9yIHRoZSBub3JtYWwgbWFuYWdlci93b3JrZXIgY29tbXVuaWNh
dGlvbi4KICAgICAiIiIKLSAgICB3b3JrZXJfbW9kZWwgPSBvcHRpb25zLndvcmtlcl9tb2RlbAog
ICAgIGlmIHdvcmtlcl9tb2RlbCA9PSAnaW5saW5lJzoKICAgICAgICAgcXVldWVfY2xhc3MgPSBR
dWV1ZS5RdWV1ZQogICAgICAgICBtYW5hZ2VyX2NsYXNzID0gX0lubGluZU1hbmFnZXIKQEAgLTk0
LDggKzgxLDggQEAgZGVmIGdldChwb3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcyk6
CiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigidW5zdXBwb3J0ZWQgdmFsdWUg
Zm9yIC0td29ya2VyLW1vZGVsOiAlcyIgJSB3b3JrZXJfbW9kZWwpCiAKLSAgICBicm9rZXIgPSBt
ZXNzYWdlX2Jyb2tlci5Ccm9rZXIob3B0aW9ucywgcXVldWVfY2xhc3MpCi0gICAgcmV0dXJuIG1h
bmFnZXJfY2xhc3MoYnJva2VyLCBwb3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcykK
KyAgICBicm9rZXIgPSBtZXNzYWdlX2Jyb2tlci5Ccm9rZXIocXVldWVfY2xhc3MpCisgICAgcmV0
dXJuIG1hbmFnZXJfY2xhc3MoYnJva2VyLCBjbGllbnQsIHdvcmtlcl9jbGFzcykKIAogCiBjbGFz
cyBBYnN0cmFjdFdvcmtlcihtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDbGllbnQpOgpAQCAtMTMxLDU0
ICsxMTgsNDggQEAgY2xhc3MgQWJzdHJhY3RXb3JrZXIobWVzc2FnZV9icm9rZXIuQnJva2VyQ2xp
ZW50KToKIAogCiBjbGFzcyBfTWFuYWdlckNvbm5lY3Rpb24obWVzc2FnZV9icm9rZXIuQnJva2Vy
Q29ubmVjdGlvbik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgb3B0aW9ucywgY2xp
ZW50LCB3b3JrZXJfY2xhc3MpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIGNsaWVu
dCwgd29ya2VyX2NsYXNzKToKICAgICAgICAgIiIiQmFzZSBpbml0aWFsaXphdGlvbiBmb3IgYWxs
IE1hbmFnZXIgb2JqZWN0cy4KIAogICAgICAgICBBcmdzOgogICAgICAgICAgICAgYnJva2VyOiBo
YW5kbGUgdG8gdGhlIG1lc3NhZ2VfYnJva2VyIG9iamVjdAotICAgICAgICAgICAgb3B0aW9uczog
Y29tbWFuZCBsaW5lIG9wdGlvbnMgb2JqZWN0CiAgICAgICAgICAgICBjbGllbnQ6IGNhbGxiYWNr
IG9iamVjdCAodGhlIGNhbGxlcikKICAgICAgICAgICAgIHdvcmtlcl9jbGFzczogY2xhc3Mgb2Jq
ZWN0IHRvIHVzZSB0byBjcmVhdGUgd29ya2Vycy4KICAgICAgICAgIiIiCiAgICAgICAgIG1lc3Nh
Z2VfYnJva2VyLkJyb2tlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCBjbGllbnQs
CiAgICAgICAgICAgICBNQU5BR0VSX1RPUElDLCBBTllfV09SS0VSX1RPUElDKQotICAgICAgICBz
ZWxmLl9vcHRpb25zID0gb3B0aW9ucwogICAgICAgICBzZWxmLl93b3JrZXJfY2xhc3MgPSB3b3Jr
ZXJfY2xhc3MKIAotICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwgd29ya2VyX251bWJlciwgcmVz
dWx0c19kaXJlY3RvcnkpOgorICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwgd29ya2VyX251bWJl
ciwgcG9ydCwgcmVzdWx0c19kaXJlY3RvcnksIG9wdGlvbnMpOgogICAgICAgICByYWlzZSBOb3RJ
bXBsZW1lbnRlZEVycm9yCiAKIAogY2xhc3MgX0lubGluZU1hbmFnZXIoX01hbmFnZXJDb25uZWN0
aW9uKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCBwb3J0LCBvcHRpb25zLCBjbGll
bnQsIHdvcmtlcl9jbGFzcyk6Ci0gICAgICAgIF9NYW5hZ2VyQ29ubmVjdGlvbi5fX2luaXRfXyhz
ZWxmLCBicm9rZXIsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKQotICAgICAgICBzZWxm
Ll9wb3J0ID0gcG9ydAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIGNsaWVudCwgd29y
a2VyX2NsYXNzKToKKyAgICAgICAgX01hbmFnZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJy
b2tlciwgY2xpZW50LCB3b3JrZXJfY2xhc3MpCiAgICAgICAgIHNlbGYuX2lubGluZV93b3JrZXIg
PSBOb25lCiAKLSAgICBkZWYgc3RhcnRfd29ya2VyKHNlbGYsIHdvcmtlcl9udW1iZXIsIHJlc3Vs
dHNfZGlyZWN0b3J5KToKLSAgICAgICAgc2VsZi5faW5saW5lX3dvcmtlciA9IF9JbmxpbmVXb3Jr
ZXJDb25uZWN0aW9uKHNlbGYuX2Jyb2tlciwgc2VsZi5fcG9ydCwKLSAgICAgICAgICAgIHNlbGYu
X2NsaWVudCwgc2VsZi5fd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVj
dG9yeSwgc2VsZi5fb3B0aW9ucykKKyAgICBkZWYgc3RhcnRfd29ya2VyKHNlbGYsIHdvcmtlcl9u
dW1iZXIsIHBvcnQsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKToKKyAgICAgICAgc2VsZi5f
aW5saW5lX3dvcmtlciA9IF9JbmxpbmVXb3JrZXJDb25uZWN0aW9uKHNlbGYuX2Jyb2tlciwKKyAg
ICAgICAgICAgIHNlbGYuX2NsaWVudCwgc2VsZi5fd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVy
LCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucykKKyAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQK
ICAgICAgICAgcmV0dXJuIHNlbGYuX2lubGluZV93b3JrZXIKIAogICAgIGRlZiBydW5fbWVzc2Fn
ZV9sb29wKHNlbGYsIGRlbGF5X3NlY3M9Tm9uZSk6CiAgICAgICAgICMgTm90ZSB0aGF0IGRlbGF5
X3NlY3MgaXMgaWdub3JlZCBpbiB0aGlzIGNhc2Ugc2luY2Ugd2UgY2FuJ3QgZWFzaWx5CiAgICAg
ICAgICMgaW1wbGVtZW50IGl0LgotICAgICAgICBzZWxmLl9pbmxpbmVfd29ya2VyLnJ1bigpCisg
ICAgICAgIHNlbGYuX2lubGluZV93b3JrZXIucnVuKHNlbGYuX3BvcnQpCiAgICAgICAgIHNlbGYu
X2Jyb2tlci5ydW5fYWxsX3BlbmRpbmcoTUFOQUdFUl9UT1BJQywgc2VsZi5fY2xpZW50KQogCiAK
IGNsYXNzIF9NdWx0aVByb2Nlc3NNYW5hZ2VyKF9NYW5hZ2VyQ29ubmVjdGlvbik6Ci0gICAgZGVm
IF9faW5pdF9fKHNlbGYsIGJyb2tlciwgcG9ydCwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xh
c3MpOgotICAgICAgICAjIE5vdGUgdGhhdCB0aGlzIGNsYXNzIGRvZXMgbm90IGtlZXAgYSBoYW5k
bGUgdG8gdGhlIGFjdHVhbCBwb3J0Ci0gICAgICAgICMgb2JqZWN0LCBiZWNhdXNlIGl0IGlzbid0
IFBpY2tsYWJsZS4gSW5zdGVhZCBpdCBrZWVwcyB0aGUgcG9ydAotICAgICAgICAjIG5hbWUgYW5k
IHJlY3JlYXRlcyB0aGUgcG9ydCBpbiB0aGUgY2hpbGQgcHJvY2VzcyBmcm9tIHRoZSBuYW1lCi0g
ICAgICAgICMgYW5kIG9wdGlvbnMuCi0gICAgICAgIF9NYW5hZ2VyQ29ubmVjdGlvbi5fX2luaXRf
XyhzZWxmLCBicm9rZXIsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKQotICAgICAgICBz
ZWxmLl9wbGF0Zm9ybV9uYW1lID0gcG9ydC5yZWFsX25hbWUoKQotCi0gICAgZGVmIHN0YXJ0X3dv
cmtlcihzZWxmLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSk6Ci0gICAgICAgIHdv
cmtlcl9jb25uZWN0aW9uID0gX011bHRpUHJvY2Vzc1dvcmtlckNvbm5lY3Rpb24oc2VsZi5fYnJv
a2VyLCBzZWxmLl9wbGF0Zm9ybV9uYW1lLAotICAgICAgICAgICAgc2VsZi5fd29ya2VyX2NsYXNz
LCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgc2VsZi5fb3B0aW9ucykKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCBjbGllbnQsIHdvcmtlcl9jbGFzcyk6CisgICAgICAg
IF9NYW5hZ2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxmLCBicm9rZXIsIGNsaWVudCwgd29ya2Vy
X2NsYXNzKQorCisgICAgZGVmIHN0YXJ0X3dvcmtlcihzZWxmLCB3b3JrZXJfbnVtYmVyLCBwb3J0
LCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucyk6CisgICAgICAgICMgTm90ZSB0aGF0IHdlIGln
bm9yZSB0aGUgcG9ydCBzaW5jZSB3ZSBjYW4ndCBwYXNzIGl0IHRvIHRoZSBjaGlsZCAoaXQgaXNu
J3QgUGlja2xhYmxlKS4KKyAgICAgICAgd29ya2VyX2Nvbm5lY3Rpb24gPSBfTXVsdGlQcm9jZXNz
V29ya2VyQ29ubmVjdGlvbihzZWxmLl9icm9rZXIsCisgICAgICAgICAgICBzZWxmLl93b3JrZXJf
Y2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKQogICAgICAg
ICB3b3JrZXJfY29ubmVjdGlvbi5zdGFydCgpCiAgICAgICAgIHJldHVybiB3b3JrZXJfY29ubmVj
dGlvbgogCkBAIC0yMDQsMTAgKzE4NSw5IEBAIGNsYXNzIF9Xb3JrZXJDb25uZWN0aW9uKG1lc3Nh
Z2VfYnJva2VyLkJyb2tlckNvbm5lY3Rpb24pOgogCiAKIGNsYXNzIF9JbmxpbmVXb3JrZXJDb25u
ZWN0aW9uKF9Xb3JrZXJDb25uZWN0aW9uKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2Vy
LCBwb3J0LCBtYW5hZ2VyX2NsaWVudCwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1
bHRzX2RpcmVjdG9yeSwgb3B0aW9ucyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwg
bWFuYWdlcl9jbGllbnQsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJl
Y3RvcnksIG9wdGlvbnMpOgogICAgICAgICBfV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxm
LCBicm9rZXIsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJlY3Rvcnks
IG9wdGlvbnMpCiAgICAgICAgIHNlbGYuX2FsaXZlID0gRmFsc2UKLSAgICAgICAgc2VsZi5fcG9y
dCA9IHBvcnQKICAgICAgICAgc2VsZi5fbWFuYWdlcl9jbGllbnQgPSBtYW5hZ2VyX2NsaWVudAog
CiAgICAgZGVmIGNhbmNlbChzZWxmKToKQEAgLTIxOSw5ICsxOTksOSBAQCBjbGFzcyBfSW5saW5l
V29ya2VyQ29ubmVjdGlvbihfV29ya2VyQ29ubmVjdGlvbik6CiAgICAgZGVmIGpvaW4oc2VsZiwg
dGltZW91dCk6CiAgICAgICAgIGFzc2VydCBub3Qgc2VsZi5fYWxpdmUKIAotICAgIGRlZiBydW4o
c2VsZik6CisgICAgZGVmIHJ1bihzZWxmLCBwb3J0KToKICAgICAgICAgc2VsZi5fYWxpdmUgPSBU
cnVlCi0gICAgICAgIHNlbGYuX2NsaWVudC5ydW4oc2VsZi5fcG9ydCkKKyAgICAgICAgc2VsZi5f
Y2xpZW50LnJ1bihwb3J0KQogICAgICAgICBzZWxmLl9hbGl2ZSA9IEZhbHNlCiAKICAgICBkZWYg
eWllbGRfdG9fYnJva2VyKHNlbGYpOgpAQCAtMjM1LDIwICsyMTUsMTggQEAgY2xhc3MgX0lubGlu
ZVdvcmtlckNvbm5lY3Rpb24oX1dvcmtlckNvbm5lY3Rpb24pOgogCiAKIGNsYXNzIF9Qcm9jZXNz
KG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgd29ya2Vy
X2Nvbm5lY3Rpb24sIHBsYXRmb3JtX25hbWUsIG9wdGlvbnMsIGNsaWVudCk6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHdvcmtlcl9jb25uZWN0aW9uLCBjbGllbnQpOgogICAgICAgICBtdWx0aXBy
b2Nlc3NpbmcuUHJvY2Vzcy5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxmLl93b3JrZXJfY29u
bmVjdGlvbiA9IHdvcmtlcl9jb25uZWN0aW9uCi0gICAgICAgIHNlbGYuX3BsYXRmb3JtX25hbWUg
PSBwbGF0Zm9ybV9uYW1lCi0gICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCiAgICAgICAg
IHNlbGYuX2NsaWVudCA9IGNsaWVudAogCiAgICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAgc2Vs
Zi5fY2xpZW50LnJ1bihwb3J0PU5vbmUpCiAKIGNsYXNzIF9NdWx0aVByb2Nlc3NXb3JrZXJDb25u
ZWN0aW9uKF9Xb3JrZXJDb25uZWN0aW9uKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2Vy
LCBwbGF0Zm9ybV9uYW1lLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGly
ZWN0b3J5LCBvcHRpb25zKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3JrZXJf
Y2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKToKICAgICAg
ICAgX1dvcmtlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3JrZXJfY2xhc3Ms
IHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKQotICAgICAgICBzZWxm
Ll9wcm9jID0gX1Byb2Nlc3Moc2VsZiwgcGxhdGZvcm1fbmFtZSwgb3B0aW9ucywgc2VsZi5fY2xp
ZW50KQorICAgICAgICBzZWxmLl9wcm9jID0gX1Byb2Nlc3Moc2VsZiwgc2VsZi5fY2xpZW50KQog
CiAgICAgZGVmIGNhbmNlbChzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX3Byb2MudGVybWlu
YXRlKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2Nv
bnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlcl91bml0dGVzdC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tl
cl91bml0dGVzdC5weQppbmRleCBlNDFlMjJjYTY4MjY0ZDEyNTE2NDg3NzMyYmQ3YWExNmQ1ZTdh
ZTg4Li5jOTM4NzU4MTgyNjZhNTA1NTk5ZGZmNTkzZDE4NDA0OWQ1NWYzOTlkIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2Vy
X3dvcmtlcl9icm9rZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5
CkBAIC0zMiwxMSArMzIsOCBAQCBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBvdXRwdXRjYXB0dXJlCi1mcm9tIHdlYmtpdHB5
LmNvbW1vbi5ob3N0X21vY2sgaW1wb3J0IE1vY2tIb3N0Ci1mcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cyBpbXBvcnQgcG9ydAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxlcnMg
aW1wb3J0IG1hbmFnZXJfd29ya2VyX2Jyb2tlcgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMu
Y29udHJvbGxlcnMgaW1wb3J0IG1lc3NhZ2VfYnJva2VyCi1mcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy52aWV3cyBpbXBvcnQgcHJpbnRpbmcKIAogCiAjIEluIG9yZGVyIHRvIHJlbGlhYmx5IGNv
bnRyb2wgd2hlbiBjaGlsZCB3b3JrZXJzIGFyZSBzdGFydGluZyBhbmQgc3RvcHBpbmcsCkBAIC01
MywxMCArNTAsNyBAQCBkZWYgbWFrZV9icm9rZXIobWFuYWdlciwgd29ya2VyX21vZGVsLCBzdGFy
dF9xdWV1ZT1Ob25lLCBzdG9wX3F1ZXVlPU5vbmUpOgogICAgIGdsb2JhbCBzdG9wcGluZ19xdWV1
ZQogICAgIHN0YXJ0aW5nX3F1ZXVlID0gc3RhcnRfcXVldWUKICAgICBzdG9wcGluZ19xdWV1ZSA9
IHN0b3BfcXVldWUKLSAgICBvcHRpb25zID0gZ2V0X29wdGlvbnMod29ya2VyX21vZGVsKQotICAg
IGhvc3QgPSBNb2NrSG9zdCgpCi0gICAgdGVzdF9wb3J0ID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0
KCJ0ZXN0IikKLSAgICByZXR1cm4gbWFuYWdlcl93b3JrZXJfYnJva2VyLmdldCh0ZXN0X3BvcnQs
IG9wdGlvbnMsIG1hbmFnZXIsIF9UZXN0V29ya2VyKQorICAgIHJldHVybiBtYW5hZ2VyX3dvcmtl
cl9icm9rZXIuZ2V0KHdvcmtlcl9tb2RlbCwgbWFuYWdlciwgX1Rlc3RXb3JrZXIpCiAKIAogY2xh
c3MgX1Rlc3RXb3JrZXIobWFuYWdlcl93b3JrZXJfYnJva2VyLkFic3RyYWN0V29ya2VyKToKQEAg
LTEwMSwxNyArOTUsNiBAQCBjbGFzcyBfVGVzdFdvcmtlcihtYW5hZ2VyX3dvcmtlcl9icm9rZXIu
QWJzdHJhY3RXb3JrZXIpOgogICAgICAgICAgICAgc2VsZi5fYnJva2VyX2Nvbm5lY3Rpb24ucG9z
dF9tZXNzYWdlKCdleGNlcHRpb24nLCAodHlwZShlKSwgc3RyKGUpLCBOb25lKSkKIAogCi1kZWYg
Z2V0X29wdGlvbnMod29ya2VyX21vZGVsKToKLSAgICBvcHRpb25fbGlzdCA9IChtYW5hZ2VyX3dv
cmtlcl9icm9rZXIucnVudGltZV9vcHRpb25zKCkgKwotICAgICAgICAgICAgICAgICAgIHByaW50
aW5nLnByaW50X29wdGlvbnMoKSArCi0gICAgICAgICAgICAgICAgICAgW29wdHBhcnNlLm1ha2Vf
b3B0aW9uKCItLWV4cGVyaW1lbnRhbC1mdWxseS1wYXJhbGxlbCIsIGRlZmF1bHQ9RmFsc2UpLAot
ICAgICAgICAgICAgICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1jaGlsZC1wcm9jZXNz
ZXMiLCBkZWZhdWx0PScyJyldKQotICAgIHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcihv
cHRpb25fbGlzdD1vcHRpb25fbGlzdCkKLSAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VyLnBhcnNl
X2FyZ3MoYXJncz1bJy0td29ya2VyLW1vZGVsJywgd29ya2VyX21vZGVsXSkKLSAgICByZXR1cm4g
b3B0aW9ucwotCi0KLQogY2xhc3MgRnVuY3Rpb25UZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgZGVmIHRlc3RfZ2V0X19pbmxpbmUoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSht
YWtlX2Jyb2tlcihzZWxmLCAnaW5saW5lJykgaXMgbm90IE5vbmUpCkBAIC0xNjEsNyArMTQ0LDcg
QEAgY2xhc3MgX1Rlc3RzTWl4aW4ob2JqZWN0KToKIAogICAgIGRlZiB0ZXN0X2NhbmNlbChzZWxm
KToKICAgICAgICAgc2VsZi5tYWtlX2Jyb2tlcigpCi0gICAgICAgIHdvcmtlciA9IHNlbGYuX2Jy
b2tlci5zdGFydF93b3JrZXIoMCwgTm9uZSkKKyAgICAgICAgd29ya2VyID0gc2VsZi5fYnJva2Vy
LnN0YXJ0X3dvcmtlcigwLCBOb25lLCBOb25lLCBOb25lKQogICAgICAgICB3b3JrZXIuY2FuY2Vs
KCkKICAgICAgICAgc2VsZi5fYnJva2VyLnBvc3RfbWVzc2FnZSgndGVzdCcsIDEsICdoZWxsbywg
d29ybGQnKQogICAgICAgICB3b3JrZXIuam9pbigwLjUpCkBAIC0xNjksNyArMTUyLDcgQEAgY2xh
c3MgX1Rlc3RzTWl4aW4ob2JqZWN0KToKIAogICAgIGRlZiB0ZXN0X2RvbmUoc2VsZik6CiAgICAg
ICAgIHNlbGYubWFrZV9icm9rZXIoKQotICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3Rh
cnRfd29ya2VyKDAsIE5vbmUpCisgICAgICAgIHdvcmtlciA9IHNlbGYuX2Jyb2tlci5zdGFydF93
b3JrZXIoMCwgTm9uZSwgTm9uZSwgTm9uZSkKICAgICAgICAgc2VsZi5fYnJva2VyLnBvc3RfbWVz
c2FnZSgndGVzdCcsIDEsICdoZWxsbywgd29ybGQnKQogICAgICAgICBzZWxmLl9icm9rZXIucG9z
dF9tZXNzYWdlKCdzdG9wJykKICAgICAgICAgc2VsZi5fYnJva2VyLnJ1bl9tZXNzYWdlX2xvb3Ao
KQpAQCAtMTgxLDcgKzE2NCw3IEBAIGNsYXNzIF9UZXN0c01peGluKG9iamVjdCk6CiAKICAgICBk
ZWYgdGVzdF91bmtub3duX21lc3NhZ2Uoc2VsZik6CiAgICAgICAgIHNlbGYubWFrZV9icm9rZXIo
KQotICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKDAsIE5vbmUpCisg
ICAgICAgIHdvcmtlciA9IHNlbGYuX2Jyb2tlci5zdGFydF93b3JrZXIoMCwgTm9uZSwgTm9uZSwg
Tm9uZSkKICAgICAgICAgc2VsZi5fYnJva2VyLnBvc3RfbWVzc2FnZSgndW5rbm93bicpCiAgICAg
ICAgIHNlbGYuX2Jyb2tlci5ydW5fbWVzc2FnZV9sb29wKCkKICAgICAgICAgd29ya2VyLmpvaW4o
MC41KQpAQCAtMjAyLDE0ICsxODUsNiBAQCBpZiBzeXMucGxhdGZvcm0gbm90IGluICgnY3lnd2lu
JywgJ3dpbjMyJyk6CiAgICAgICAgICAgICBzZWxmLl93b3JrZXJfbW9kZWwgPSAncHJvY2Vzc2Vz
JwogCiAKLWNsYXNzIEZ1bmN0aW9uc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGRlZiB0
ZXN0X3J1bnRpbWVfb3B0aW9ucyhzZWxmKToKLSAgICAgICAgb3B0aW9uX2xpc3QgPSBtYW5hZ2Vy
X3dvcmtlcl9icm9rZXIucnVudGltZV9vcHRpb25zKCkKLSAgICAgICAgcGFyc2VyID0gb3B0cGFy
c2UuT3B0aW9uUGFyc2VyKG9wdGlvbl9saXN0PW9wdGlvbl9saXN0KQotICAgICAgICBvcHRpb25z
LCBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoW10pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShv
cHRpb25zKQotCi0KIGNsYXNzIEludGVyZmFjZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICMgVGhlc2UgdGVzdHMgbW9zdGx5IGV4aXN0IHRvIHBhY2lmeSBjb3ZlcmFnZS4KIApAQCAtMjE5
LDggKzE5NCw4IEBAIGNsYXNzIEludGVyZmFjZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICAjIFRlc3QgdGhhdCBhbGwgdGhlIGJhc2UgY2xhc3MgbWV0aG9kcyBhcmUgYWJzdHJhY3Qg
YW5kIGhhdmUgdGhlCiAgICAgICAgICMgc2lnbmF0dXJlIHdlIGV4cGVjdC4KICAgICAgICAgYnJv
a2VyID0gbWFrZV9icm9rZXIoc2VsZiwgJ2lubGluZScpCi0gICAgICAgIG9iaiA9IG1hbmFnZXJf
d29ya2VyX2Jyb2tlci5fTWFuYWdlckNvbm5lY3Rpb24oYnJva2VyLl9icm9rZXIsIE5vbmUsIHNl
bGYsIE5vbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3Is
IG9iai5zdGFydF93b3JrZXIsIDAsIE5vbmUpCisgICAgICAgIG9iaiA9IG1hbmFnZXJfd29ya2Vy
X2Jyb2tlci5fTWFuYWdlckNvbm5lY3Rpb24oYnJva2VyLl9icm9rZXIsIHNlbGYsIE5vbmUpCisg
ICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG9iai5zdGFydF93
b3JrZXIsIDAsIE5vbmUsIE5vbmUsIE5vbmUpCiAKICAgICBkZWYgdGVzdF93b3JrZXJjb25uZWN0
aW9uX2lzX2Fic3RyYWN0KHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhhdCBhbGwgdGhlIGJhc2Ug
Y2xhc3MgbWV0aG9kcyBhcmUgYWJzdHJhY3QgYW5kIGhhdmUgdGhlCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tZXNzYWdlX2Jyb2tl
ci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21l
c3NhZ2VfYnJva2VyLnB5CmluZGV4IGQ1OGE2Y2QxMWJiODgzNGZmNGViZWJkMDE3M2QxNGY2Mzc5
MzFmZGQuLmY2NGQzNmQ0YjQ1ZTQ1ZmZlYWVlM2ExOGM4OTc1ZTg3ZDNiYTU2ZjMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21lc3Nh
Z2VfYnJva2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2Nv
bnRyb2xsZXJzL21lc3NhZ2VfYnJva2VyLnB5CkBAIC05NCwxMyArOTQsMTEgQEAgY2xhc3MgQnJv
a2VyKG9iamVjdCk6CiAgICAgbWVzc2FnZSB0byBhbnkgdG9waWMgdXNpbmcgcG9zdF9tZXNzYWdl
KCksIGFuZCBjYW4gcHJvY2VzcyBtZXNzYWdlcyBvbiBvbmUKICAgICB0b3BpYyBhdCBhIHRpbWUg
dXNpbmcgcnVuX21lc3NhZ2VfbG9vcCgpLiIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG9w
dGlvbnMsIHF1ZXVlX21ha2VyKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcXVldWVfbWFrZXIp
OgogICAgICAgICAiIiJBcmdzOgotICAgICAgICAgICAgb3B0aW9uczogYSBydW50aW1lIG9wdGlv
biBjbGFzcyBmcm9tIG9wdHBhcnNlCiAgICAgICAgICAgICBxdWV1ZV9tYWtlcjogYSBmYWN0b3J5
IG1ldGhvZCB0aGF0IHJldHVybnMgb2JqZWN0cyBpbXBsZW1lbnRpbmcgYQogICAgICAgICAgICAg
ICAgIFF1ZXVlIGludGVyZmFjZSAocHV0KCkvZ2V0KCkpLgogICAgICAgICAiIiIKLSAgICAgICAg
c2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgICAgc2VsZi5fcXVldWVfbWFrZXIgPSBxdWV1
ZV9tYWtlcgogICAgICAgICBzZWxmLl90b3BpY3MgPSB7fQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127076</attachid>
            <date>2012-02-14 16:33:51 -0800</date>
            <delta_ts>2012-02-14 16:42:57 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-78568-20120214163349.patch</filename>
            <type>text/plain</type>
            <size>16259</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzUyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmQwOGE5NmI2YWNiNGVhYWNkNWIyNzE3Zjc1ZTQ0ZjA0
YjljNjYwNC4uNWNiZTcyYTYzNTI2NTJiYWQ3MzRlYzAwNzY0MzVjNjIyMDQ1MDQyZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQy
IEBACiAyMDEyLTAyLTE0ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiBjbGVhbiB1cCBvcHRpb25zLCBwb3J0IGhhbmRsaW5nIGluIG1hbmFn
ZXJfd29ya2VyX2Jyb2tlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Nzg1NjgKKworICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgorCisgICAg
ICAgIG1hbmFnZXJfd29ya2VyX2Jyb2tlciBubyBsb25nZXIgbmVlZHMgb3B0aW9ucyBvciBwb3J0
IG9iamVjdHMKKyAgICAgICAgZGlyZWN0bHksIHNvIHdlIG1ha2UgdGhlbSBvbmx5IGJlIHBhc3Nl
ZCBpbiBzdGFydF93b3JrZXIoKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6CisgICAgICAgIChNYW5hZ2VyLl9ydW5fdGVz
dHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJz
L21hbmFnZXJfd29ya2VyX2Jyb2tlci5weToKKyAgICAgICAgKGdldCk6CisgICAgICAgIChfTWFu
YWdlckNvbm5lY3Rpb24uX19pbml0X18pOgorICAgICAgICAoX01hbmFnZXJDb25uZWN0aW9uLnN0
YXJ0X3dvcmtlcik6CisgICAgICAgIChfSW5saW5lTWFuYWdlci5fX2luaXRfXyk6CisgICAgICAg
IChfSW5saW5lTWFuYWdlci5zdGFydF93b3JrZXIpOgorICAgICAgICAoX0lubGluZU1hbmFnZXIu
cnVuX21lc3NhZ2VfbG9vcCk6CisgICAgICAgIChfTXVsdGlQcm9jZXNzTWFuYWdlci5fX2luaXRf
Xyk6CisgICAgICAgIChfTXVsdGlQcm9jZXNzTWFuYWdlcik6CisgICAgICAgIChfTXVsdGlQcm9j
ZXNzTWFuYWdlci5zdGFydF93b3JrZXIpOgorICAgICAgICAoX0lubGluZVdvcmtlckNvbm5lY3Rp
b24uX19pbml0X18pOgorICAgICAgICAoX0lubGluZVdvcmtlckNvbm5lY3Rpb24ucnVuKToKKyAg
ICAgICAgKF9Qcm9jZXNzLl9faW5pdF9fKToKKyAgICAgICAgKF9NdWx0aVByb2Nlc3NXb3JrZXJD
b25uZWN0aW9uLl9faW5pdF9fKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXJfdW5pdHRlc3QucHk6CisgICAg
ICAgIChtYWtlX2Jyb2tlcik6CisgICAgICAgIChfVGVzdFdvcmtlci5ydW4pOgorICAgICAgICAo
X1Rlc3RzTWl4aW4udGVzdF9jYW5jZWwpOgorICAgICAgICAoX1Rlc3RzTWl4aW4udGVzdF9kb25l
KToKKyAgICAgICAgKF9UZXN0c01peGluLnRlc3RfdW5rbm93bl9tZXNzYWdlKToKKyAgICAgICAg
KE11bHRpUHJvY2Vzc0Jyb2tlclRlc3RzLnNldFVwKToKKyAgICAgICAgKEludGVyZmFjZVRlc3Qu
dGVzdF9tYW5hZ2VyY29ubmVjdGlvbl9pc19hYnN0cmFjdCk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWVzc2FnZV9icm9rZXIucHk6CisgICAg
ICAgIChCcm9rZXIuX19pbml0X18pOgorCisyMDEyLTAyLTE0ICBEaXJrIFByYW5rZSAgPGRwcmFu
a2VAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIG5yd3Q6IGFkZCBhIHVuaXQgdGVzdCBmb3IgcmVn
cmVzc2lvbiBpbnRyb2R1Y2VkIGluIGJ1ZyA3ODU2NQogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2NDYKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXgg
MDJiMjBiODdiZDI0YzU0MjZhMmZhMTZmMzczZTRkYzI5NDZiYjllYS4uMDM4NjdiNjE2MGE0MWJk
MGE3YWNmM2MxMTM4Mjg2NmU0M2Q1MjE0NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC03NTIs
MTQgKzc1MiwxNCBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgIG51bV93b3JrZXJz
ID0gbWluKGludChzZWxmLl9vcHRpb25zLmNoaWxkX3Byb2Nlc3NlcyksIGxlbihhbGxfc2hhcmRz
KSkKICAgICAgICAgc2VsZi5fbG9nX251bV93b3JrZXJzKG51bV93b3JrZXJzLCBsZW4oYWxsX3No
YXJkcyksIGxlbihsb2NrZWRfc2hhcmRzKSkKIAotICAgICAgICBtYW5hZ2VyX2Nvbm5lY3Rpb24g
PSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuZ2V0KHNlbGYuX3BvcnQsIHNlbGYuX29wdGlvbnMsIHNl
bGYsIHdvcmtlci5Xb3JrZXIpCisgICAgICAgIG1hbmFnZXJfY29ubmVjdGlvbiA9IG1hbmFnZXJf
d29ya2VyX2Jyb2tlci5nZXQoc2VsZi5fb3B0aW9ucy53b3JrZXJfbW9kZWwsIHNlbGYsIHdvcmtl
ci5Xb3JrZXIpCiAKICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5kcnlfcnVuOgogICAgICAgICAg
ICAgcmV0dXJuIChrZXlib2FyZF9pbnRlcnJ1cHRlZCwgaW50ZXJydXB0ZWQsIHRocmVhZF90aW1p
bmdzLCBzZWxmLl9ncm91cF9zdGF0cywgc2VsZi5fYWxsX3Jlc3VsdHMpCiAKICAgICAgICAgc2Vs
Zi5fcHJpbnRlci5wcmludF91cGRhdGUoJ1N0YXJ0aW5nICVzIC4uLicgJSBncmFtbWFyLnBsdXJh
bGl6ZSgnd29ya2VyJywgbnVtX3dvcmtlcnMpKQogICAgICAgICBmb3Igd29ya2VyX251bWJlciBp
biB4cmFuZ2UobnVtX3dvcmtlcnMpOgotICAgICAgICAgICAgd29ya2VyX2Nvbm5lY3Rpb24gPSBt
YW5hZ2VyX2Nvbm5lY3Rpb24uc3RhcnRfd29ya2VyKHdvcmtlcl9udW1iZXIsIHNlbGYucmVzdWx0
c19kaXJlY3RvcnkoKSkKKyAgICAgICAgICAgIHdvcmtlcl9jb25uZWN0aW9uID0gbWFuYWdlcl9j
b25uZWN0aW9uLnN0YXJ0X3dvcmtlcih3b3JrZXJfbnVtYmVyLCBzZWxmLl9wb3J0LCBzZWxmLnJl
c3VsdHNfZGlyZWN0b3J5KCksIHNlbGYuX29wdGlvbnMpCiAgICAgICAgICAgICB3b3JrZXJfc3Rh
dGUgPSBfV29ya2VyU3RhdGUod29ya2VyX251bWJlciwgd29ya2VyX2Nvbm5lY3Rpb24pCiAgICAg
ICAgICAgICBzZWxmLl93b3JrZXJfc3RhdGVzW3dvcmtlcl9jb25uZWN0aW9uLm5hbWVdID0gd29y
a2VyX3N0YXRlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5w
eQppbmRleCBjYmI5NGEzYTRhNWFkMmE4Y2MxOWRiZGNmZTYyNTc5YjQzMDM1YTI3Li5mYjU0MmRl
MzQ5NDhhMGJjZTFmNTY5MTFkOWNlMjkzNTgxMzE5MjE5IDEwMDc1NQotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9r
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5CkBAIC01OSwyMyArNTksMTEgQEAgTUFOQUdFUl9U
T1BJQyA9ICdtYW5hZ2VycycKIEFOWV9XT1JLRVJfVE9QSUMgPSAnd29ya2VycycKIAogCi1kZWYg
cnVudGltZV9vcHRpb25zKCk6Ci0gICAgIiIiUmV0dXJuIGEgbGlzdCBvZiBvcHRwYXJzZS5PcHRp
b24gb2JqZWN0cyBmb3IgYW55IHJ1bnRpbWUgdmFsdWVzIHVzZWQKLSAgICBieSB0aGlzIG1vZHVs
ZS4iIiIKLSAgICBvcHRpb25zID0gWwotICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS13
b3JrZXItbW9kZWwiLCBhY3Rpb249InN0b3JlIiwKLSAgICAgICAgICAgIGhlbHA9KCJjb250cm9s
cyB3b3JrZXIgbW9kZWwuIFZhbGlkIHZhbHVlcyBhcmUgIgotICAgICAgICAgICAgIidpbmxpbmUn
IGFuZCAncHJvY2Vzc2VzJy4iKSksCi0gICAgXQotICAgIHJldHVybiBvcHRpb25zCi0KLQotZGVm
IGdldChwb3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcyk6CitkZWYgZ2V0KHdvcmtl
cl9tb2RlbCwgY2xpZW50LCB3b3JrZXJfY2xhc3MpOgogICAgICIiIlJldHVybiBhIGNvbm5lY3Rp
b24gdG8gYSBtYW5hZ2VyL3dvcmtlciBtZXNzYWdlX2Jyb2tlcgogCiAgICAgQXJnczoKLSAgICAg
ICAgcG9ydCAtIGhhbmRsZSB0byBsYXlvdXRfdGVzdHMvcG9ydCBvYmplY3QgZm9yIHBvcnQtc3Bl
Y2lmaWMgc3R1ZmYKLSAgICAgICAgb3B0aW9ucyAtIG9wdHBhcnNlIGFyZ3VtZW50IGZvciBjb21t
YW5kLWxpbmUgb3B0aW9ucworICAgICAgICB3b3JrZXJfbW9kZWwgLSBjb25jdXJyZW5jeSBtb2Rl
bCB0byB1c2UgKGlubGluZS9wcm9jZXNzZXMpCiAgICAgICAgIGNsaWVudCAtIG1lc3NhZ2VfYnJv
a2VyLkJyb2tlckNsaWVudCBpbXBsZW1lbnRhdGlvbiB0byBkaXNwYXRjaAogICAgICAgICAgICAg
cmVwbGllcyB0by4KICAgICAgICAgd29ya2VyX2NsYXNzIC0gdHlwZSBvZiB3b3JrZXJzIHRvIGNy
ZWF0ZS4gVGhpcyBjbGFzcyBtdXN0IGltcGxlbWVudApAQCAtODQsNyArNzIsNiBAQCBkZWYgZ2V0
KHBvcnQsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKToKICAgICAgICAgQSBoYW5kbGUg
dG8gYW4gb2JqZWN0IHRoYXQgd2lsbCB0YWxrIHRvIGEgbWVzc2FnZSBicm9rZXIgY29uZmlndXJl
ZAogICAgICAgICBmb3IgdGhlIG5vcm1hbCBtYW5hZ2VyL3dvcmtlciBjb21tdW5pY2F0aW9uLgog
ICAgICIiIgotICAgIHdvcmtlcl9tb2RlbCA9IG9wdGlvbnMud29ya2VyX21vZGVsCiAgICAgaWYg
d29ya2VyX21vZGVsID09ICdpbmxpbmUnOgogICAgICAgICBxdWV1ZV9jbGFzcyA9IFF1ZXVlLlF1
ZXVlCiAgICAgICAgIG1hbmFnZXJfY2xhc3MgPSBfSW5saW5lTWFuYWdlcgpAQCAtOTQsOCArODEs
OCBAQCBkZWYgZ2V0KHBvcnQsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKToKICAgICBl
bHNlOgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1bnN1cHBvcnRlZCB2YWx1ZSBmb3IgLS13
b3JrZXItbW9kZWw6ICVzIiAlIHdvcmtlcl9tb2RlbCkKIAotICAgIGJyb2tlciA9IG1lc3NhZ2Vf
YnJva2VyLkJyb2tlcihvcHRpb25zLCBxdWV1ZV9jbGFzcykKLSAgICByZXR1cm4gbWFuYWdlcl9j
bGFzcyhicm9rZXIsIHBvcnQsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKQorICAgIGJy
b2tlciA9IG1lc3NhZ2VfYnJva2VyLkJyb2tlcihxdWV1ZV9jbGFzcykKKyAgICByZXR1cm4gbWFu
YWdlcl9jbGFzcyhicm9rZXIsIGNsaWVudCwgd29ya2VyX2NsYXNzKQogCiAKIGNsYXNzIEFic3Ry
YWN0V29ya2VyKG1lc3NhZ2VfYnJva2VyLkJyb2tlckNsaWVudCk6CkBAIC0xMzEsNTQgKzExOCw0
NSBAQCBjbGFzcyBBYnN0cmFjdFdvcmtlcihtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDbGllbnQpOgog
CiAKIGNsYXNzIF9NYW5hZ2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0
aW9uKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCBvcHRpb25zLCBjbGllbnQsIHdv
cmtlcl9jbGFzcyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgY2xpZW50LCB3b3Jr
ZXJfY2xhc3MpOgogICAgICAgICAiIiJCYXNlIGluaXRpYWxpemF0aW9uIGZvciBhbGwgTWFuYWdl
ciBvYmplY3RzLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBicm9rZXI6IGhhbmRsZSB0
byB0aGUgbWVzc2FnZV9icm9rZXIgb2JqZWN0Ci0gICAgICAgICAgICBvcHRpb25zOiBjb21tYW5k
IGxpbmUgb3B0aW9ucyBvYmplY3QKICAgICAgICAgICAgIGNsaWVudDogY2FsbGJhY2sgb2JqZWN0
ICh0aGUgY2FsbGVyKQogICAgICAgICAgICAgd29ya2VyX2NsYXNzOiBjbGFzcyBvYmplY3QgdG8g
dXNlIHRvIGNyZWF0ZSB3b3JrZXJzLgogICAgICAgICAiIiIKICAgICAgICAgbWVzc2FnZV9icm9r
ZXIuQnJva2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxmLCBicm9rZXIsIGNsaWVudCwKICAgICAg
ICAgICAgIE1BTkFHRVJfVE9QSUMsIEFOWV9XT1JLRVJfVE9QSUMpCi0gICAgICAgIHNlbGYuX29w
dGlvbnMgPSBvcHRpb25zCiAgICAgICAgIHNlbGYuX3dvcmtlcl9jbGFzcyA9IHdvcmtlcl9jbGFz
cwogCi0gICAgZGVmIHN0YXJ0X3dvcmtlcihzZWxmLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2Rp
cmVjdG9yeSk6CisgICAgZGVmIHN0YXJ0X3dvcmtlcihzZWxmLCB3b3JrZXJfbnVtYmVyLCBwb3J0
LCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucyk6CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVu
dGVkRXJyb3IKIAogCiBjbGFzcyBfSW5saW5lTWFuYWdlcihfTWFuYWdlckNvbm5lY3Rpb24pOgot
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIHBvcnQsIG9wdGlvbnMsIGNsaWVudCwgd29y
a2VyX2NsYXNzKToKLSAgICAgICAgX01hbmFnZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJy
b2tlciwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3MpCi0gICAgICAgIHNlbGYuX3BvcnQg
PSBwb3J0CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgY2xpZW50LCB3b3JrZXJfY2xh
c3MpOgorICAgICAgICBfTWFuYWdlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCBj
bGllbnQsIHdvcmtlcl9jbGFzcykKICAgICAgICAgc2VsZi5faW5saW5lX3dvcmtlciA9IE5vbmUK
IAotICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJl
Y3RvcnkpOgotICAgICAgICBzZWxmLl9pbmxpbmVfd29ya2VyID0gX0lubGluZVdvcmtlckNvbm5l
Y3Rpb24oc2VsZi5fYnJva2VyLCBzZWxmLl9wb3J0LAotICAgICAgICAgICAgc2VsZi5fY2xpZW50
LCBzZWxmLl93b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBz
ZWxmLl9vcHRpb25zKQorICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwgd29ya2VyX251bWJlciwg
cG9ydCwgcmVzdWx0c19kaXJlY3RvcnksIG9wdGlvbnMpOgorICAgICAgICBzZWxmLl9pbmxpbmVf
d29ya2VyID0gX0lubGluZVdvcmtlckNvbm5lY3Rpb24oc2VsZi5fYnJva2VyLAorICAgICAgICAg
ICAgc2VsZi5fY2xpZW50LCBzZWxmLl93b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3Vs
dHNfZGlyZWN0b3J5LCBvcHRpb25zKQorICAgICAgICBzZWxmLl9wb3J0ID0gcG9ydAogICAgICAg
ICByZXR1cm4gc2VsZi5faW5saW5lX3dvcmtlcgogCiAgICAgZGVmIHJ1bl9tZXNzYWdlX2xvb3Ao
c2VsZiwgZGVsYXlfc2Vjcz1Ob25lKToKICAgICAgICAgIyBOb3RlIHRoYXQgZGVsYXlfc2VjcyBp
cyBpZ25vcmVkIGluIHRoaXMgY2FzZSBzaW5jZSB3ZSBjYW4ndCBlYXNpbHkKICAgICAgICAgIyBp
bXBsZW1lbnQgaXQuCi0gICAgICAgIHNlbGYuX2lubGluZV93b3JrZXIucnVuKCkKKyAgICAgICAg
c2VsZi5faW5saW5lX3dvcmtlci5ydW4oc2VsZi5fcG9ydCkKICAgICAgICAgc2VsZi5fYnJva2Vy
LnJ1bl9hbGxfcGVuZGluZyhNQU5BR0VSX1RPUElDLCBzZWxmLl9jbGllbnQpCiAKIAogY2xhc3Mg
X011bHRpUHJvY2Vzc01hbmFnZXIoX01hbmFnZXJDb25uZWN0aW9uKToKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgYnJva2VyLCBwb3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcyk6Ci0g
ICAgICAgICMgTm90ZSB0aGF0IHRoaXMgY2xhc3MgZG9lcyBub3Qga2VlcCBhIGhhbmRsZSB0byB0
aGUgYWN0dWFsIHBvcnQKLSAgICAgICAgIyBvYmplY3QsIGJlY2F1c2UgaXQgaXNuJ3QgUGlja2xh
YmxlLiBJbnN0ZWFkIGl0IGtlZXBzIHRoZSBwb3J0Ci0gICAgICAgICMgbmFtZSBhbmQgcmVjcmVh
dGVzIHRoZSBwb3J0IGluIHRoZSBjaGlsZCBwcm9jZXNzIGZyb20gdGhlIG5hbWUKLSAgICAgICAg
IyBhbmQgb3B0aW9ucy4KLSAgICAgICAgX01hbmFnZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYs
IGJyb2tlciwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3MpCi0gICAgICAgIHNlbGYuX3Bs
YXRmb3JtX25hbWUgPSBwb3J0LnJlYWxfbmFtZSgpCi0KLSAgICBkZWYgc3RhcnRfd29ya2VyKHNl
bGYsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5KToKLSAgICAgICAgd29ya2VyX2Nv
bm5lY3Rpb24gPSBfTXVsdGlQcm9jZXNzV29ya2VyQ29ubmVjdGlvbihzZWxmLl9icm9rZXIsIHNl
bGYuX3BsYXRmb3JtX25hbWUsCi0gICAgICAgICAgICBzZWxmLl93b3JrZXJfY2xhc3MsIHdvcmtl
cl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBzZWxmLl9vcHRpb25zKQorICAgIGRlZiBzdGFy
dF93b3JrZXIoc2VsZiwgd29ya2VyX251bWJlciwgcG9ydCwgcmVzdWx0c19kaXJlY3RvcnksIG9w
dGlvbnMpOgorICAgICAgICAjIE5vdGUgdGhhdCB3ZSBpZ25vcmUgdGhlIHBvcnQgc2luY2Ugd2Ug
Y2FuJ3QgcGFzcyBpdCB0byB0aGUgY2hpbGQgKGl0IGlzbid0IFBpY2tsYWJsZSkuCisgICAgICAg
IHdvcmtlcl9jb25uZWN0aW9uID0gX011bHRpUHJvY2Vzc1dvcmtlckNvbm5lY3Rpb24oc2VsZi5f
YnJva2VyLAorICAgICAgICAgICAgc2VsZi5fd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCBy
ZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucykKICAgICAgICAgd29ya2VyX2Nvbm5lY3Rpb24uc3Rh
cnQoKQogICAgICAgICByZXR1cm4gd29ya2VyX2Nvbm5lY3Rpb24KIApAQCAtMjA0LDEwICsxODIs
OSBAQCBjbGFzcyBfV29ya2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0
aW9uKToKIAogCiBjbGFzcyBfSW5saW5lV29ya2VyQ29ubmVjdGlvbihfV29ya2VyQ29ubmVjdGlv
bik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgcG9ydCwgbWFuYWdlcl9jbGllbnQs
IHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJlY3RvcnksIG9wdGlvbnMp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIG1hbmFnZXJfY2xpZW50LCB3b3JrZXJf
Y2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKToKICAgICAg
ICAgX1dvcmtlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3JrZXJfY2xhc3Ms
IHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKQogICAgICAgICBzZWxm
Ll9hbGl2ZSA9IEZhbHNlCi0gICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CiAgICAgICAgIHNlbGYu
X21hbmFnZXJfY2xpZW50ID0gbWFuYWdlcl9jbGllbnQKIAogICAgIGRlZiBjYW5jZWwoc2VsZik6
CkBAIC0yMTksOSArMTk2LDkgQEAgY2xhc3MgX0lubGluZVdvcmtlckNvbm5lY3Rpb24oX1dvcmtl
ckNvbm5lY3Rpb24pOgogICAgIGRlZiBqb2luKHNlbGYsIHRpbWVvdXQpOgogICAgICAgICBhc3Nl
cnQgbm90IHNlbGYuX2FsaXZlCiAKLSAgICBkZWYgcnVuKHNlbGYpOgorICAgIGRlZiBydW4oc2Vs
ZiwgcG9ydCk6CiAgICAgICAgIHNlbGYuX2FsaXZlID0gVHJ1ZQotICAgICAgICBzZWxmLl9jbGll
bnQucnVuKHNlbGYuX3BvcnQpCisgICAgICAgIHNlbGYuX2NsaWVudC5ydW4ocG9ydCkKICAgICAg
ICAgc2VsZi5fYWxpdmUgPSBGYWxzZQogCiAgICAgZGVmIHlpZWxkX3RvX2Jyb2tlcihzZWxmKToK
QEAgLTIzNSwyMCArMjEyLDE4IEBAIGNsYXNzIF9JbmxpbmVXb3JrZXJDb25uZWN0aW9uKF9Xb3Jr
ZXJDb25uZWN0aW9uKToKIAogCiBjbGFzcyBfUHJvY2VzcyhtdWx0aXByb2Nlc3NpbmcuUHJvY2Vz
cyk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHdvcmtlcl9jb25uZWN0aW9uLCBwbGF0Zm9ybV9u
YW1lLCBvcHRpb25zLCBjbGllbnQpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3b3JrZXJfY29u
bmVjdGlvbiwgY2xpZW50KToKICAgICAgICAgbXVsdGlwcm9jZXNzaW5nLlByb2Nlc3MuX19pbml0
X18oc2VsZikKICAgICAgICAgc2VsZi5fd29ya2VyX2Nvbm5lY3Rpb24gPSB3b3JrZXJfY29ubmVj
dGlvbgotICAgICAgICBzZWxmLl9wbGF0Zm9ybV9uYW1lID0gcGxhdGZvcm1fbmFtZQotICAgICAg
ICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucwogICAgICAgICBzZWxmLl9jbGllbnQgPSBjbGllbnQK
IAogICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgIHNlbGYuX2NsaWVudC5ydW4ocG9ydD1Ob25l
KQogCiBjbGFzcyBfTXVsdGlQcm9jZXNzV29ya2VyQ29ubmVjdGlvbihfV29ya2VyQ29ubmVjdGlv
bik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgcGxhdGZvcm1fbmFtZSwgd29ya2Vy
X2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucyk6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCBy
ZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucyk6CiAgICAgICAgIF9Xb3JrZXJDb25uZWN0aW9uLl9f
aW5pdF9fKHNlbGYsIGJyb2tlciwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRz
X2RpcmVjdG9yeSwgb3B0aW9ucykKLSAgICAgICAgc2VsZi5fcHJvYyA9IF9Qcm9jZXNzKHNlbGYs
IHBsYXRmb3JtX25hbWUsIG9wdGlvbnMsIHNlbGYuX2NsaWVudCkKKyAgICAgICAgc2VsZi5fcHJv
YyA9IF9Qcm9jZXNzKHNlbGYsIHNlbGYuX2NsaWVudCkKIAogICAgIGRlZiBjYW5jZWwoc2VsZik6
CiAgICAgICAgIHJldHVybiBzZWxmLl9wcm9jLnRlcm1pbmF0ZSgpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtl
cl9icm9rZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXJfdW5pdHRlc3QucHkKaW5kZXggZTQx
ZTIyY2E2ODI2NGQxMjUxNjQ4NzczMmJkN2FhMTZkNWU3YWU4OC4uYzkzODc1ODE4MjY2YTUwNTU5
OWRmZjU5M2QxODQwNDlkNTVmMzk5ZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJz
L21hbmFnZXJfd29ya2VyX2Jyb2tlcl91bml0dGVzdC5weQpAQCAtMzIsMTEgKzMyLDggQEAgaW1w
b3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBp
bXBvcnQgb3V0cHV0Y2FwdHVyZQotZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdF9tb2NrIGltcG9y
dCBNb2NrSG9zdAotZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMgaW1wb3J0IHBvcnQKIGZyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLmNvbnRyb2xsZXJzIGltcG9ydCBtYW5hZ2VyX3dvcmtlcl9i
cm9rZXIKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLmNvbnRyb2xsZXJzIGltcG9ydCBtZXNz
YWdlX2Jyb2tlcgotZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMudmlld3MgaW1wb3J0IHByaW50
aW5nCiAKIAogIyBJbiBvcmRlciB0byByZWxpYWJseSBjb250cm9sIHdoZW4gY2hpbGQgd29ya2Vy
cyBhcmUgc3RhcnRpbmcgYW5kIHN0b3BwaW5nLApAQCAtNTMsMTAgKzUwLDcgQEAgZGVmIG1ha2Vf
YnJva2VyKG1hbmFnZXIsIHdvcmtlcl9tb2RlbCwgc3RhcnRfcXVldWU9Tm9uZSwgc3RvcF9xdWV1
ZT1Ob25lKToKICAgICBnbG9iYWwgc3RvcHBpbmdfcXVldWUKICAgICBzdGFydGluZ19xdWV1ZSA9
IHN0YXJ0X3F1ZXVlCiAgICAgc3RvcHBpbmdfcXVldWUgPSBzdG9wX3F1ZXVlCi0gICAgb3B0aW9u
cyA9IGdldF9vcHRpb25zKHdvcmtlcl9tb2RlbCkKLSAgICBob3N0ID0gTW9ja0hvc3QoKQotICAg
IHRlc3RfcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldCgidGVzdCIpCi0gICAgcmV0dXJuIG1h
bmFnZXJfd29ya2VyX2Jyb2tlci5nZXQodGVzdF9wb3J0LCBvcHRpb25zLCBtYW5hZ2VyLCBfVGVz
dFdvcmtlcikKKyAgICByZXR1cm4gbWFuYWdlcl93b3JrZXJfYnJva2VyLmdldCh3b3JrZXJfbW9k
ZWwsIG1hbmFnZXIsIF9UZXN0V29ya2VyKQogCiAKIGNsYXNzIF9UZXN0V29ya2VyKG1hbmFnZXJf
d29ya2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtlcik6CkBAIC0xMDEsMTcgKzk1LDYgQEAgY2xhc3Mg
X1Rlc3RXb3JrZXIobWFuYWdlcl93b3JrZXJfYnJva2VyLkFic3RyYWN0V29ya2VyKToKICAgICAg
ICAgICAgIHNlbGYuX2Jyb2tlcl9jb25uZWN0aW9uLnBvc3RfbWVzc2FnZSgnZXhjZXB0aW9uJywg
KHR5cGUoZSksIHN0cihlKSwgTm9uZSkpCiAKIAotZGVmIGdldF9vcHRpb25zKHdvcmtlcl9tb2Rl
bCk6Ci0gICAgb3B0aW9uX2xpc3QgPSAobWFuYWdlcl93b3JrZXJfYnJva2VyLnJ1bnRpbWVfb3B0
aW9ucygpICsKLSAgICAgICAgICAgICAgICAgICBwcmludGluZy5wcmludF9vcHRpb25zKCkgKwot
ICAgICAgICAgICAgICAgICAgIFtvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1leHBlcmltZW50YWwt
ZnVsbHktcGFyYWxsZWwiLCBkZWZhdWx0PUZhbHNlKSwKLSAgICAgICAgICAgICAgICAgICAgb3B0
cGFyc2UubWFrZV9vcHRpb24oIi0tY2hpbGQtcHJvY2Vzc2VzIiwgZGVmYXVsdD0nMicpXSkKLSAg
ICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIob3B0aW9uX2xpc3Q9b3B0aW9uX2xpc3Qp
Ci0gICAgb3B0aW9ucywgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKGFyZ3M9WyctLXdvcmtlci1t
b2RlbCcsIHdvcmtlcl9tb2RlbF0pCi0gICAgcmV0dXJuIG9wdGlvbnMKLQotCi0KIGNsYXNzIEZ1
bmN0aW9uVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2dldF9faW5saW5l
KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUobWFrZV9icm9rZXIoc2VsZiwgJ2lubGlu
ZScpIGlzIG5vdCBOb25lKQpAQCAtMTYxLDcgKzE0NCw3IEBAIGNsYXNzIF9UZXN0c01peGluKG9i
amVjdCk6CiAKICAgICBkZWYgdGVzdF9jYW5jZWwoc2VsZik6CiAgICAgICAgIHNlbGYubWFrZV9i
cm9rZXIoKQotICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKDAsIE5v
bmUpCisgICAgICAgIHdvcmtlciA9IHNlbGYuX2Jyb2tlci5zdGFydF93b3JrZXIoMCwgTm9uZSwg
Tm9uZSwgTm9uZSkKICAgICAgICAgd29ya2VyLmNhbmNlbCgpCiAgICAgICAgIHNlbGYuX2Jyb2tl
ci5wb3N0X21lc3NhZ2UoJ3Rlc3QnLCAxLCAnaGVsbG8sIHdvcmxkJykKICAgICAgICAgd29ya2Vy
LmpvaW4oMC41KQpAQCAtMTY5LDcgKzE1Miw3IEBAIGNsYXNzIF9UZXN0c01peGluKG9iamVjdCk6
CiAKICAgICBkZWYgdGVzdF9kb25lKHNlbGYpOgogICAgICAgICBzZWxmLm1ha2VfYnJva2VyKCkK
LSAgICAgICAgd29ya2VyID0gc2VsZi5fYnJva2VyLnN0YXJ0X3dvcmtlcigwLCBOb25lKQorICAg
ICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKDAsIE5vbmUsIE5vbmUsIE5v
bmUpCiAgICAgICAgIHNlbGYuX2Jyb2tlci5wb3N0X21lc3NhZ2UoJ3Rlc3QnLCAxLCAnaGVsbG8s
IHdvcmxkJykKICAgICAgICAgc2VsZi5fYnJva2VyLnBvc3RfbWVzc2FnZSgnc3RvcCcpCiAgICAg
ICAgIHNlbGYuX2Jyb2tlci5ydW5fbWVzc2FnZV9sb29wKCkKQEAgLTE4MSw3ICsxNjQsNyBAQCBj
bGFzcyBfVGVzdHNNaXhpbihvYmplY3QpOgogCiAgICAgZGVmIHRlc3RfdW5rbm93bl9tZXNzYWdl
KHNlbGYpOgogICAgICAgICBzZWxmLm1ha2VfYnJva2VyKCkKLSAgICAgICAgd29ya2VyID0gc2Vs
Zi5fYnJva2VyLnN0YXJ0X3dvcmtlcigwLCBOb25lKQorICAgICAgICB3b3JrZXIgPSBzZWxmLl9i
cm9rZXIuc3RhcnRfd29ya2VyKDAsIE5vbmUsIE5vbmUsIE5vbmUpCiAgICAgICAgIHNlbGYuX2Jy
b2tlci5wb3N0X21lc3NhZ2UoJ3Vua25vd24nKQogICAgICAgICBzZWxmLl9icm9rZXIucnVuX21l
c3NhZ2VfbG9vcCgpCiAgICAgICAgIHdvcmtlci5qb2luKDAuNSkKQEAgLTIwMiwxNCArMTg1LDYg
QEAgaWYgc3lzLnBsYXRmb3JtIG5vdCBpbiAoJ2N5Z3dpbicsICd3aW4zMicpOgogICAgICAgICAg
ICAgc2VsZi5fd29ya2VyX21vZGVsID0gJ3Byb2Nlc3NlcycKIAogCi1jbGFzcyBGdW5jdGlvbnNU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBkZWYgdGVzdF9ydW50aW1lX29wdGlvbnMoc2Vs
Zik6Ci0gICAgICAgIG9wdGlvbl9saXN0ID0gbWFuYWdlcl93b3JrZXJfYnJva2VyLnJ1bnRpbWVf
b3B0aW9ucygpCi0gICAgICAgIHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcihvcHRpb25f
bGlzdD1vcHRpb25fbGlzdCkKLSAgICAgICAgb3B0aW9ucywgYXJncyA9IHBhcnNlci5wYXJzZV9h
cmdzKFtdKQotICAgICAgICBzZWxmLmFzc2VydFRydWUob3B0aW9ucykKLQotCiBjbGFzcyBJbnRl
cmZhY2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAjIFRoZXNlIHRlc3RzIG1vc3RseSBl
eGlzdCB0byBwYWNpZnkgY292ZXJhZ2UuCiAKQEAgLTIxOSw4ICsxOTQsOCBAQCBjbGFzcyBJbnRl
cmZhY2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBUZXN0IHRoYXQgYWxsIHRo
ZSBiYXNlIGNsYXNzIG1ldGhvZHMgYXJlIGFic3RyYWN0IGFuZCBoYXZlIHRoZQogICAgICAgICAj
IHNpZ25hdHVyZSB3ZSBleHBlY3QuCiAgICAgICAgIGJyb2tlciA9IG1ha2VfYnJva2VyKHNlbGYs
ICdpbmxpbmUnKQotICAgICAgICBvYmogPSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuX01hbmFnZXJD
b25uZWN0aW9uKGJyb2tlci5fYnJva2VyLCBOb25lLCBzZWxmLCBOb25lKQotICAgICAgICBzZWxm
LmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBvYmouc3RhcnRfd29ya2VyLCAwLCBO
b25lKQorICAgICAgICBvYmogPSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuX01hbmFnZXJDb25uZWN0
aW9uKGJyb2tlci5fYnJva2VyLCBzZWxmLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNl
cyhOb3RJbXBsZW1lbnRlZEVycm9yLCBvYmouc3RhcnRfd29ya2VyLCAwLCBOb25lLCBOb25lLCBO
b25lKQogCiAgICAgZGVmIHRlc3Rfd29ya2VyY29ubmVjdGlvbl9pc19hYnN0cmFjdChzZWxmKToK
ICAgICAgICAgIyBUZXN0IHRoYXQgYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZHMgYXJlIGFic3Ry
YWN0IGFuZCBoYXZlIHRoZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWVzc2FnZV9icm9rZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tZXNzYWdlX2Jyb2tlci5weQppbmRleCBk
NThhNmNkMTFiYjg4MzRmZjRlYmViZDAxNzNkMTRmNjM3OTMxZmRkLi5mNjRkMzZkNGI0NWU0NWZm
ZWFlZTNhMThjODk3NWU4N2QzYmE1NmYzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tZXNzYWdlX2Jyb2tlci5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tZXNzYWdlX2Jyb2tl
ci5weQpAQCAtOTQsMTMgKzk0LDExIEBAIGNsYXNzIEJyb2tlcihvYmplY3QpOgogICAgIG1lc3Nh
Z2UgdG8gYW55IHRvcGljIHVzaW5nIHBvc3RfbWVzc2FnZSgpLCBhbmQgY2FuIHByb2Nlc3MgbWVz
c2FnZXMgb24gb25lCiAgICAgdG9waWMgYXQgYSB0aW1lIHVzaW5nIHJ1bl9tZXNzYWdlX2xvb3Ao
KS4iIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zLCBxdWV1ZV9tYWtlcik6Cisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHF1ZXVlX21ha2VyKToKICAgICAgICAgIiIiQXJnczoKLSAg
ICAgICAgICAgIG9wdGlvbnM6IGEgcnVudGltZSBvcHRpb24gY2xhc3MgZnJvbSBvcHRwYXJzZQog
ICAgICAgICAgICAgcXVldWVfbWFrZXI6IGEgZmFjdG9yeSBtZXRob2QgdGhhdCByZXR1cm5zIG9i
amVjdHMgaW1wbGVtZW50aW5nIGEKICAgICAgICAgICAgICAgICBRdWV1ZSBpbnRlcmZhY2UgKHB1
dCgpL2dldCgpKS4KICAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25z
CiAgICAgICAgIHNlbGYuX3F1ZXVlX21ha2VyID0gcXVldWVfbWFrZXIKICAgICAgICAgc2VsZi5f
dG9waWNzID0ge30KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>