<?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>124766</bug_id>
          
          <creation_ts>2013-11-22 04:22:16 -0800</creation_ts>
          <short_desc>Remove wdiff</short_desc>
          <delta_ts>2014-01-13 08:43:49 -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>WebKit Misc.</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="Dániel Bátyai">dbatyai.u-szeged</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>953500</commentid>
    <comment_count>0</comment_count>
    <who name="Dániel Bátyai">dbatyai.u-szeged</who>
    <bug_when>2013-11-22 04:22:16 -0800</bug_when>
    <thetext>Remove unneeded wdiff related code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953501</commentid>
    <comment_count>1</comment_count>
      <attachid>217668</attachid>
    <who name="Dániel Bátyai">dbatyai.u-szeged</who>
    <bug_when>2013-11-22 04:23:16 -0800</bug_when>
    <thetext>Created attachment 217668
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967216</commentid>
    <comment_count>2</comment_count>
      <attachid>221018</attachid>
    <who name="Dániel Bátyai">dbatyai.u-szeged</who>
    <bug_when>2014-01-13 02:14:37 -0800</bug_when>
    <thetext>Created attachment 221018
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967342</commentid>
    <comment_count>3</comment_count>
      <attachid>221018</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-13 08:43:47 -0800</bug_when>
    <thetext>Comment on attachment 221018
Proposed patch

Clearing flags on attachment: 221018

Committed r161881: &lt;http://trac.webkit.org/changeset/161881&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967343</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-13 08:43:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217668</attachid>
            <date>2013-11-22 04:23:16 -0800</date>
            <delta_ts>2014-01-09 07:32:29 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>proposedpatch.patch</filename>
            <type>text/plain</type>
            <size>17473</size>
            <attacher name="Dániel Bátyai">dbatyai.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiOWIz
ZWU2Li43ZjgyYzNjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTMtMTEtMjIgIETDoW5pZWwgQsOhdHlhaSAgPEJh
dHlhaS5EYW5pZWxAc3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZW1vdmVkIHVubmVlZGVk
IHdkaWZmIHJlbGF0ZWQgY29kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNDc2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
dGVzdF9yZXN1bHRfd3JpdGVyLnB5OgorICAgICAgICAoVGVzdFJlc3VsdFdyaXRlcik6CisgICAg
ICAgIChUZXN0UmVzdWx0V3JpdGVyLmNyZWF0ZV90ZXh0X2RpZmZfYW5kX3dyaXRlX3Jlc3VsdCk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVu
X3Jlc3VsdHMucHk6CisgICAgICAgIChzdW1tYXJpemVfcmVzdWx0cyk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRl
c3QucHk6CisgICAgICAgIChSdW5UZXN0LnRlc3Rfb3V0cHV0X2RpZmZzKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBvcnQuX19pbml0X18pOgor
ICAgICAgICAoUG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAgICAgICAgKFBvcnQuY2hlY2tf
cHJldHR5X3BhdGNoKToKKyAgICAgICAgKFBvcnQucmVwb3NpdG9yeV9wYXRocyk6CisgICAgICAg
IChQb3J0Ll9wYXRoX3RvX2xpZ2h0dHBkX3BocCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2Jhc2VfdW5pdHRlc3QucHk6CisgICAgICAgIChQb3J0VGVzdC50ZXN0X2RlZmF1bHRf
Y2hpbGRfcHJvY2Vzc2VzKToKKyAgICAgICAgKFBvcnRUZXN0LnRlc3RfcHJldHR5X3BhdGNoX3Nj
cmlwdF9lcnJvcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNh
c2UucHk6CisgICAgICAgIChQb3J0VGVzdENhc2UudGVzdF9kaWZmX2ltYWdlX2NyYXNoZWQpOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5OgorICAgICAgICAoVGVzdFBv
cnQub3BlcmF0aW5nX3N5c3RlbSk6CisKIDIwMTMtMTEtMjAgIENvbW1pdCBRdWV1ZSAgPGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
NTk0OTYuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9j
b250cm9sbGVycy90ZXN0X3Jlc3VsdF93cml0ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9jb250cm9sbGVycy90ZXN0X3Jlc3VsdF93cml0ZXIucHkKaW5kZXggMjNl
NDRkNS4uZDY2NzkzMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvdGVzdF9yZXN1bHRfd3JpdGVyLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Rlc3RfcmVzdWx0X3dyaXRlci5w
eQpAQCAtOTMsNyArOTMsNiBAQCBjbGFzcyBUZXN0UmVzdWx0V3JpdGVyKG9iamVjdCk6CiAgICAg
RklMRU5BTUVfU1VGRklYX1NUREVSUiA9ICItc3RkZXJyIgogICAgIEZJTEVOQU1FX1NVRkZJWF9D
UkFTSF9MT0cgPSAiLWNyYXNoLWxvZyIKICAgICBGSUxFTkFNRV9TVUZGSVhfU0FNUExFID0gIi1z
YW1wbGUiCi0gICAgRklMRU5BTUVfU1VGRklYX1dESUZGID0gIi13ZGlmZi5odG1sIgogICAgIEZJ
TEVOQU1FX1NVRkZJWF9QUkVUVFlfUEFUQ0ggPSAiLXByZXR0eS1kaWZmLmh0bWwiCiAgICAgRklM
RU5BTUVfU1VGRklYX0lNQUdFX0RJRkYgPSAiLWRpZmYucG5nIgogICAgIEZJTEVOQU1FX1NVRkZJ
WF9JTUFHRV9ESUZGU19IVE1MID0gIi1kaWZmcy5odG1sIgpAQCAtMTg5LDEyICsxODgsNiBAQCBj
bGFzcyBUZXN0UmVzdWx0V3JpdGVyKG9iamVjdCk6CiAgICAgICAgIGRpZmZfZmlsZW5hbWUgPSBz
ZWxmLm91dHB1dF9maWxlbmFtZShzZWxmLkZJTEVOQU1FX1NVRkZJWF9ESUZGICsgZmlsZV90eXBl
KQogICAgICAgICBzZWxmLl93cml0ZV9iaW5hcnlfZmlsZShkaWZmX2ZpbGVuYW1lLCBkaWZmKQog
Ci0gICAgICAgICMgU2hlbGwgb3V0IHRvIHdkaWZmIHRvIGdldCBjb2xvcmVkIGlubGluZSBkaWZm
cy4KLSAgICAgICAgaWYgc2VsZi5fcG9ydC53ZGlmZl9hdmFpbGFibGUoKToKLSAgICAgICAgICAg
IHdkaWZmID0gc2VsZi5fcG9ydC53ZGlmZl90ZXh0KGV4cGVjdGVkX2ZpbGVuYW1lLCBhY3R1YWxf
ZmlsZW5hbWUpCi0gICAgICAgICAgICB3ZGlmZl9maWxlbmFtZSA9IHNlbGYub3V0cHV0X2ZpbGVu
YW1lKHNlbGYuRklMRU5BTUVfU1VGRklYX1dESUZGKQotICAgICAgICAgICAgc2VsZi5fd3JpdGVf
YmluYXJ5X2ZpbGUod2RpZmZfZmlsZW5hbWUsIHdkaWZmKQotCiAgICAgICAgICMgVXNlIFdlYktp
dCdzIFByZXR0eVBhdGNoLnJiIHRvIGdldCBhbiBIVE1MIGRpZmYuCiAgICAgICAgIGlmIHNlbGYu
X3BvcnQucHJldHR5X3BhdGNoX2F2YWlsYWJsZSgpOgogICAgICAgICAgICAgcHJldHR5X3BhdGNo
ID0gc2VsZi5fcG9ydC5wcmV0dHlfcGF0Y2hfdGV4dChkaWZmX2ZpbGVuYW1lKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jl
c3VsdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVz
dF9ydW5fcmVzdWx0cy5weQppbmRleCA3NjMyMzY0Li4yYzlkOWI0IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9ydW5fcmVzdWx0cy5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9y
dW5fcmVzdWx0cy5weQpAQCAtMjQyLDcgKzI0Miw2IEBAIGRlZiBzdW1tYXJpemVfcmVzdWx0cyhw
b3J0X29iaiwgZXhwZWN0YXRpb25zLCBpbml0aWFsX3Jlc3VsdHMsIHJldHJ5X3Jlc3VsdHMsIGVu
CiAgICAgcmVzdWx0c1sndXNlc19leHBlY3RhdGlvbnNfZmlsZSddID0gcG9ydF9vYmoudXNlc190
ZXN0X2V4cGVjdGF0aW9uc19maWxlKCkKICAgICByZXN1bHRzWydpbnRlcnJ1cHRlZCddID0gaW5p
dGlhbF9yZXN1bHRzLmludGVycnVwdGVkICAjIERvZXMgcmVzdWx0cy5odG1sIGhhdmUgZW5vdWdo
IGluZm9ybWF0aW9uIHRvIGNvbXB1dGUgdGhpcyBpdHNlbGY/IChieSBjaGVja2luZyB0b3RhbCBu
dW1iZXIgb2YgcmVzdWx0cyB2cy4gdG90YWwgbnVtYmVyIG9mIHRlc3RzPykKICAgICByZXN1bHRz
WydsYXlvdXRfdGVzdHNfZGlyJ10gPSBwb3J0X29iai5sYXlvdXRfdGVzdHNfZGlyKCkKLSAgICBy
ZXN1bHRzWydoYXNfd2RpZmYnXSA9IHBvcnRfb2JqLndkaWZmX2F2YWlsYWJsZSgpCiAgICAgcmVz
dWx0c1snaGFzX3ByZXR0eV9wYXRjaCddID0gcG9ydF9vYmoucHJldHR5X3BhdGNoX2F2YWlsYWJs
ZSgpCiAgICAgcmVzdWx0c1sncGl4ZWxfdGVzdHNfZW5hYmxlZCddID0gcG9ydF9vYmouZ2V0X29w
dGlvbigncGl4ZWxfdGVzdHMnKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRp
b250ZXN0LnB5CmluZGV4IDM0NzU5OTkuLjljMDk4M2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC03OTQsMTggKzc5NCwxNSBAQCBjbGFzcyBSdW5U
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKCdwbGF0Zm9ybS90ZXN0LXdpbi13aW43L2h0dHAvdGVzdC5odG1sJyBpbiB0
ZXN0c19ydW4pCiAKICAgICBkZWYgdGVzdF9vdXRwdXRfZGlmZnMoc2VsZik6Ci0gICAgICAgICMg
VGVzdCB0byBlbnN1cmUgdGhhdCB3ZSBkb24ndCBnZW5lcmF0ZSAtd2RpZmYuaHRtbCBvciAtcHJl
dHR5Lmh0bWwgaWYgd2RpZmYgYW5kIFByZXR0eVBhdGNoCi0gICAgICAgICMgYXJlbid0IGF2YWls
YWJsZS4KKyAgICAgICAgIyBUZXN0IHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IGdlbmVyYXRlIC1w
cmV0dHkuaHRtbCBpZiBQcmV0dHlQYXRjaCBpc24ndCBhdmFpbGFibGUuCiAgICAgICAgIGhvc3Qg
PSBNb2NrSG9zdCgpCiAgICAgICAgIF8sIGVyciwgXyA9IGxvZ2dpbmdfcnVuKFsnLS1waXhlbC10
ZXN0cycsICdmYWlsdXJlcy91bmV4cGVjdGVkL3RleHQtaW1hZ2UtY2hlY2tzdW0uaHRtbCddLCB0
ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3QpCiAgICAgICAgIHdyaXR0ZW5fZmlsZXMgPSBo
b3N0LmZpbGVzeXN0ZW0ud3JpdHRlbl9maWxlcwogICAgICAgICBzZWxmLmFzc2VydFRydWUoYW55
KHBhdGguZW5kc3dpdGgoJy1kaWZmLnR4dCcpIGZvciBwYXRoIGluIHdyaXR0ZW5fZmlsZXMua2V5
cygpKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhbnkocGF0aC5lbmRzd2l0aCgnLXdkaWZm
Lmh0bWwnKSBmb3IgcGF0aCBpbiB3cml0dGVuX2ZpbGVzLmtleXMoKSkpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RmFsc2UoYW55KHBhdGguZW5kc3dpdGgoJy1wcmV0dHktZGlmZi5odG1sJykgZm9yIHBh
dGggaW4gd3JpdHRlbl9maWxlcy5rZXlzKCkpKQogCiAgICAgICAgIGZ1bGxfcmVzdWx0c190ZXh0
ID0gaG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKCcvdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZnVsbF9yZXN1bHRzLmpzb24nKQogICAgICAgICBmdWxsX3Jlc3VsdHMgPSBqc29uLmxvYWRz
KGZ1bGxfcmVzdWx0c190ZXh0LnJlcGxhY2UoIkFERF9SRVNVTFRTKCIsICIiKS5yZXBsYWNlKCIp
OyIsICIiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdWxsX3Jlc3VsdHNbJ2hhc193ZGlm
ZiddLCBGYWxzZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdWxsX3Jlc3VsdHNbJ2hhc19w
cmV0dHlfcGF0Y2gnXSwgRmFsc2UpCiAKICAgICBkZWYgdGVzdF91bnN1cHBvcnRlZF9wbGF0Zm9y
bShzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXggMTgzNWE1NC4uNGVj
MDYxNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTEyNCwyMSArMTI0LDYg
QEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJvY2Vzc19jb25z
dHJ1Y3RvciA9IHNlcnZlcl9wcm9jZXNzLlNlcnZlclByb2Nlc3MgICMgb3ZlcnJpZGFibGUgZm9y
IHRlc3RpbmcKICAgICAgICAgc2VsZi5faHR0cF9sb2NrID0gTm9uZSAgIyBGSVhNRTogV2h5IGRv
ZXMgdGhpcyBsaXZlIG9uIHRoZSBwb3J0IG9iamVjdD8KIAotICAgICAgICAjIFB5dGhvbidzIFBv
cGVuIGhhcyBhIGJ1ZyB0aGF0IGNhdXNlcyBhbnkgcGlwZXMgb3BlbmVkIHRvIGEKLSAgICAgICAg
IyBwcm9jZXNzIHRoYXQgY2FuJ3QgYmUgZXhlY3V0ZWQgdG8gYmUgbGVha2VkLiAgU2luY2UgdGhp
cwotICAgICAgICAjIGNvZGUgaXMgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIHRvIHRvbGVyYXRlIGV4
ZWMgZmFpbHVyZXMKLSAgICAgICAgIyB0byBncmFjZWZ1bGx5IGhhbmRsZSBjYXNlcyB3aGVyZSB3
ZGlmZiBpcyBub3QgaW5zdGFsbGVkLAotICAgICAgICAjIHRoZSBidWcgcmVzdWx0cyBpbiBhIG1h
c3NpdmUgZmlsZSBkZXNjcmlwdG9yIGxlYWsuIEFzIGEKLSAgICAgICAgIyB3b3JrYXJvdW5kLCBp
ZiBhbiBleGVjIGZhaWx1cmUgaXMgZXZlciBleHBlcmllbmNlZCBmb3IKLSAgICAgICAgIyB3ZGlm
ZiwgYXNzdW1lIGl0J3Mgbm90IGF2YWlsYWJsZS4gIFRoaXMgd2lsbCBsZWFrIG9uZQotICAgICAg
ICAjIGZpbGUgZGVzY3JpcHRvciBidXQgdGhhdCdzIGJldHRlciB0aGFuIGxlYWtpbmcgZWFjaCB0
aW1lCi0gICAgICAgICMgd2RpZmYgd291bGQgYmUgcnVuLgotICAgICAgICAjCi0gICAgICAgICMg
aHR0cDovL21haWwucHl0aG9uLm9yZy9waXBlcm1haWwvcHl0aG9uLWxpc3QvCi0gICAgICAgICMg
ICAgMjAwOC1BdWd1c3QvNTA1NzUzLmh0bWwKLSAgICAgICAgIyBodHRwOi8vYnVncy5weXRob24u
b3JnL2lzc3VlMzIxMAotICAgICAgICBzZWxmLl93ZGlmZl9hdmFpbGFibGUgPSBOb25lCi0KICAg
ICAgICAgIyBGSVhNRTogcHJldHR5cGF0Y2gucHkga25vd3MgdGhpcyBwYXRoLCB3aHkgaXMgaXQg
Y29waWVkIGhlcmU/CiAgICAgICAgIHNlbGYuX3ByZXR0eV9wYXRjaF9wYXRoID0gc2VsZi5wYXRo
X2Zyb21fd2Via2l0X2Jhc2UoIldlYnNpdGVzIiwgImJ1Z3Mud2Via2l0Lm9yZyIsICJQcmV0dHlQ
YXRjaCIsICJwcmV0dGlmeS5yYiIpCiAgICAgICAgIHNlbGYuX3ByZXR0eV9wYXRjaF9hdmFpbGFi
bGUgPSBOb25lCkBAIC0xNzMsMTEgKzE1OCw2IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAg
ICAgIyB3ZWxsIChmb3IgdGhpbmdzIGxpa2UgQVNBTiwgVmFsZ3JpbmQsIGV0Yy4pCiAgICAgICAg
IHJldHVybiAzLjAgKiBmbG9hdChzZWxmLmdldF9vcHRpb24oJ3RpbWVfb3V0X21zJywgJzAnKSkg
LyBzZWxmLmRlZmF1bHRfdGltZW91dF9tcygpCiAKLSAgICBkZWYgd2RpZmZfYXZhaWxhYmxlKHNl
bGYpOgotICAgICAgICBpZiBzZWxmLl93ZGlmZl9hdmFpbGFibGUgaXMgTm9uZToKLSAgICAgICAg
ICAgIHNlbGYuX3dkaWZmX2F2YWlsYWJsZSA9IHNlbGYuY2hlY2tfd2RpZmYobG9nZ2luZz1GYWxz
ZSkKLSAgICAgICAgcmV0dXJuIHNlbGYuX3dkaWZmX2F2YWlsYWJsZQotCiAgICAgZGVmIHByZXR0
eV9wYXRjaF9hdmFpbGFibGUoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX3ByZXR0eV9wYXRjaF9h
dmFpbGFibGUgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYuX3ByZXR0eV9wYXRjaF9hdmFpbGFi
bGUgPSBzZWxmLmNoZWNrX3ByZXR0eV9wYXRjaChsb2dnaW5nPUZhbHNlKQpAQCAtMzAwLDI3ICsy
ODAsNiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAKICAgICAgICAgcmV0dXJuIFRydWUKIAotICAg
IGRlZiBjaGVja193ZGlmZihzZWxmLCBsb2dnaW5nPVRydWUpOgotICAgICAgICBpZiBub3Qgc2Vs
Zi5fcGF0aF90b193ZGlmZigpOgotICAgICAgICAgICAgIyBEb24ndCBuZWVkIHRvIGxvZyBoZXJl
IHNpbmNlIHRoaXMgaXMgdGhlIHBvcnQgY2hvb3Npbmcgbm90IHRvIHVzZSB3ZGlmZi4KLSAgICAg
ICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIF8gPSBzZWxm
Ll9leGVjdXRpdmUucnVuX2NvbW1hbmQoW3NlbGYuX3BhdGhfdG9fd2RpZmYoKSwgJy0taGVscCdd
KQotICAgICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgICAgIGlmIGxvZ2dpbmc6Ci0gICAg
ICAgICAgICAgICAgbWVzc2FnZSA9IHNlbGYuX3dkaWZmX21pc3NpbmdfbWVzc2FnZSgpCi0gICAg
ICAgICAgICAgICAgaWYgbWVzc2FnZToKLSAgICAgICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4g
bWVzc2FnZS5zcGxpdGxpbmVzKCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm5p
bmcoJyAgICAnICsgbGluZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygn
JykKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgICAgIHJldHVybiBUcnVlCi0KLSAg
ICBkZWYgX3dkaWZmX21pc3NpbmdfbWVzc2FnZShzZWxmKToKLSAgICAgICAgcmV0dXJuICd3ZGlm
ZiBpcyBub3QgaW5zdGFsbGVkOyBwbGVhc2UgaW5zdGFsbCBpdCB0byBnZW5lcmF0ZSB3b3JkLWJ5
LXdvcmQgZGlmZnMuJwotCiAgICAgZGVmIGNoZWNrX2h0dHBkKHNlbGYpOgogICAgICAgICBpZiBz
ZWxmLl91c2VzX2FwYWNoZSgpOgogICAgICAgICAgICAgaHR0cGRfcGF0aCA9IHNlbGYuX3BhdGhf
dG9fYXBhY2hlKCkKQEAgLTExMDAsNjIgKzEwNTksNiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAg
ICAgICAgICAgICByZXBvc2l0b3J5X3BhdGhzICs9IFsoc2VsZi5fb3B0aW9ucy5hZGRpdGlvbmFs
X3JlcG9zaXRvcnlfbmFtZSwgc2VsZi5fb3B0aW9ucy5hZGRpdGlvbmFsX3JlcG9zaXRvcnlfcGF0
aCldCiAgICAgICAgIHJldHVybiByZXBvc2l0b3J5X3BhdGhzCiAKLSAgICBfV0RJRkZfREVMID0g
JyMjV0RJRkZfREVMIyMnCi0gICAgX1dESUZGX0FERCA9ICcjI1dESUZGX0FERCMjJwotICAgIF9X
RElGRl9FTkQgPSAnIyNXRElGRl9FTkQjIycKLQotICAgIGRlZiBfZm9ybWF0X3dkaWZmX291dHB1
dF9hc19odG1sKHNlbGYsIHdkaWZmKToKLSAgICAgICAgd2RpZmYgPSBjZ2kuZXNjYXBlKHdkaWZm
KQotICAgICAgICB3ZGlmZiA9IHdkaWZmLnJlcGxhY2Uoc2VsZi5fV0RJRkZfREVMLCAiPHNwYW4g
Y2xhc3M9ZGVsPiIpCi0gICAgICAgIHdkaWZmID0gd2RpZmYucmVwbGFjZShzZWxmLl9XRElGRl9B
REQsICI8c3BhbiBjbGFzcz1hZGQ+IikKLSAgICAgICAgd2RpZmYgPSB3ZGlmZi5yZXBsYWNlKHNl
bGYuX1dESUZGX0VORCwgIjwvc3Bhbj4iKQotICAgICAgICBodG1sID0gIjxoZWFkPjxzdHlsZT4u
ZGVsIHsgYmFja2dyb3VuZDogI2ZhYTsgfSAiCi0gICAgICAgIGh0bWwgKz0gIi5hZGQgeyBiYWNr
Z3JvdW5kOiAjYWZhOyB9PC9zdHlsZT48L2hlYWQ+IgotICAgICAgICBodG1sICs9ICI8cHJlPiVz
PC9wcmU+IiAlIHdkaWZmCi0gICAgICAgIHJldHVybiBodG1sCi0KLSAgICBkZWYgX3dkaWZmX2Nv
bW1hbmQoc2VsZiwgYWN0dWFsX2ZpbGVuYW1lLCBleHBlY3RlZF9maWxlbmFtZSk6Ci0gICAgICAg
IGV4ZWN1dGFibGUgPSBzZWxmLl9wYXRoX3RvX3dkaWZmKCkKLSAgICAgICAgcmV0dXJuIFtleGVj
dXRhYmxlLAotICAgICAgICAgICAgICAgICItLXN0YXJ0LWRlbGV0ZT0lcyIgJSBzZWxmLl9XRElG
Rl9ERUwsCi0gICAgICAgICAgICAgICAgIi0tZW5kLWRlbGV0ZT0lcyIgJSBzZWxmLl9XRElGRl9F
TkQsCi0gICAgICAgICAgICAgICAgIi0tc3RhcnQtaW5zZXJ0PSVzIiAlIHNlbGYuX1dESUZGX0FE
RCwKLSAgICAgICAgICAgICAgICAiLS1lbmQtaW5zZXJ0PSVzIiAlIHNlbGYuX1dESUZGX0VORCwK
LSAgICAgICAgICAgICAgICBhY3R1YWxfZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgZXhwZWN0
ZWRfZmlsZW5hbWVdCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9oYW5kbGVfd2RpZmZf
ZXJyb3Ioc2NyaXB0X2Vycm9yKToKLSAgICAgICAgIyBFeGl0IDEgbWVhbnMgdGhlIGZpbGVzIGRp
ZmZlcmVkLCBhbnkgb3RoZXIgZXhpdCBjb2RlIGlzIGFuIGVycm9yLgotICAgICAgICBpZiBzY3Jp
cHRfZXJyb3IuZXhpdF9jb2RlICE9IDE6Ci0gICAgICAgICAgICByYWlzZSBzY3JpcHRfZXJyb3IK
LQotICAgIGRlZiBfcnVuX3dkaWZmKHNlbGYsIGFjdHVhbF9maWxlbmFtZSwgZXhwZWN0ZWRfZmls
ZW5hbWUpOgotICAgICAgICAiIiJSdW5zIHdkaWZmIGFuZCBtYXkgdGhyb3cgZXhjZXB0aW9ucy4K
LSAgICAgICAgVGhpcyBpcyBtb3N0bHkgYSBob29rIGZvciB1bml0IHRlc3RpbmcuIiIiCi0gICAg
ICAgICMgRGlmZnMgYXJlIHRyZWF0ZWQgYXMgYmluYXJ5IGFzIHRoZXkgbWF5IGluY2x1ZGUgbXVs
dGlwbGUgZmlsZXMKLSAgICAgICAgIyB3aXRoIGNvbmZsaWN0aW5nIGVuY29kaW5ncy4gIFRodXMg
d2UgZG8gbm90IGRlY29kZSB0aGUgb3V0cHV0LgotICAgICAgICBjb21tYW5kID0gc2VsZi5fd2Rp
ZmZfY29tbWFuZChhY3R1YWxfZmlsZW5hbWUsIGV4cGVjdGVkX2ZpbGVuYW1lKQotICAgICAgICB3
ZGlmZiA9IHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChjb21tYW5kLCBkZWNvZGVfb3V0cHV0
PUZhbHNlLAotICAgICAgICAgICAgZXJyb3JfaGFuZGxlcj1zZWxmLl9oYW5kbGVfd2RpZmZfZXJy
b3IpCi0gICAgICAgIHJldHVybiBzZWxmLl9mb3JtYXRfd2RpZmZfb3V0cHV0X2FzX2h0bWwod2Rp
ZmYpCi0KLSAgICBkZWYgd2RpZmZfdGV4dChzZWxmLCBhY3R1YWxfZmlsZW5hbWUsIGV4cGVjdGVk
X2ZpbGVuYW1lKToKLSAgICAgICAgIiIiUmV0dXJucyBhIHN0cmluZyBvZiBIVE1MIGluZGljYXRp
bmcgdGhlIHdvcmQtbGV2ZWwgZGlmZiBvZiB0aGUKLSAgICAgICAgY29udGVudHMgb2YgdGhlIHR3
byBmaWxlbmFtZXMuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHdvcmQtbGV2ZWwKLSAgICAg
ICAgZGlmZmluZyBpc24ndCBhdmFpbGFibGUuIiIiCi0gICAgICAgIGlmIG5vdCBzZWxmLndkaWZm
X2F2YWlsYWJsZSgpOgotICAgICAgICAgICAgcmV0dXJuICIiCi0gICAgICAgIHRyeToKLSAgICAg
ICAgICAgICMgSXQncyBwb3NzaWJsZSB0byByYWlzZSBhIFNjcmlwdEVycm9yIHdlIHBhc3Mgd2Rp
ZmYgaW52YWxpZCBwYXRocy4KLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9ydW5fd2RpZmYoYWN0
dWFsX2ZpbGVuYW1lLCBleHBlY3RlZF9maWxlbmFtZSkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3Is
IGU6Ci0gICAgICAgICAgICBpZiBlLmVycm5vIGluIFtlcnJuby5FTk9FTlQsIGVycm5vLkVBQ0NF
UywgZXJybm8uRUNISUxEXToKLSAgICAgICAgICAgICAgICAjIFNpbGVudGx5IGlnbm9yZSBjYXNl
cyB3aGVyZSB3ZGlmZiBpcyBtaXNzaW5nLgotICAgICAgICAgICAgICAgIHNlbGYuX3dkaWZmX2F2
YWlsYWJsZSA9IEZhbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJuICIiCi0gICAgICAgICAgICBy
YWlzZQotCiAgICAgIyBUaGlzIGlzIGEgY2xhc3MgdmFyaWFibGUgc28gd2UgY2FuIHRlc3QgZXJy
b3Igb3V0cHV0IGVhc2lseS4KICAgICBfcHJldHR5X3BhdGNoX2Vycm9yX2h0bWwgPSAiRmFpbGVk
IHRvIHJ1biBQcmV0dHlQYXRjaCwgc2VlIGVycm9yIGxvZy4iCiAKQEAgLTEzMTQsMTYgKzEyMTcs
NiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIFRoaXMgaXMgbmVlZGVkIG9ubHkgYnkg
cG9ydHMgdGhhdCB1c2UgdGhlIGh0dHBfc2VydmVyLnB5IG1vZHVsZS4iIiIKICAgICAgICAgcmFp
c2UgTm90SW1wbGVtZW50ZWRFcnJvcignUG9ydC5fcGF0aF90b19saWdodHRwZF9waHAnKQogCi0g
ICAgQG1lbW9pemVkCi0gICAgZGVmIF9wYXRoX3RvX3dkaWZmKHNlbGYpOgotICAgICAgICAiIiJS
ZXR1cm5zIHRoZSBmdWxsIHBhdGggdG8gdGhlIHdkaWZmIGJpbmFyeSwgb3IgTm9uZSBpZiBpdCBp
cyBub3QgYXZhaWxhYmxlLgotCi0gICAgICAgIFRoaXMgaXMgbGlrZWx5IHVzZWQgb25seSBieSB3
ZGlmZl90ZXh0KCkiIiIKLSAgICAgICAgZm9yIHBhdGggaW4gKCIvdXNyL2Jpbi93ZGlmZiIsICIv
dXNyL2Jpbi9kd2RpZmYiKToKLSAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHBhdGgpOgotICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCi0gICAgICAgIHJldHVybiBOb25l
Ci0KICAgICBkZWYgX3dlYmtpdF9iYXNlbGluZV9wYXRoKHNlbGYsIHBsYXRmb3JtKToKICAgICAg
ICAgIiIiUmV0dXJuIHRoZSAgZnVsbCBwYXRoIHRvIHRoZSB0b3Agb2YgdGhlIGJhc2VsaW5lIHRy
ZWUgZm9yIGEKICAgICAgICAgZ2l2ZW4gcGxhdGZvcm0uIiIiCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CmluZGV4IGMwNGNhZTAuLjZmY2I2NzcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CkBAIC01OSwyNyAr
NTksNiBAQCBjbGFzcyBQb3J0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHBvcnQg
PSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKHBvcnQuZGVm
YXVsdF9jaGlsZF9wcm9jZXNzZXMoKSkKIAotICAgIGRlZiB0ZXN0X2Zvcm1hdF93ZGlmZl9vdXRw
dXRfYXNfaHRtbChzZWxmKToKLSAgICAgICAgb3V0cHV0ID0gIk9VVFBVVCAlcyAlcyAlcyIgJSAo
UG9ydC5fV0RJRkZfREVMLCBQb3J0Ll9XRElGRl9BREQsIFBvcnQuX1dESUZGX0VORCkKLSAgICAg
ICAgaHRtbCA9IHNlbGYubWFrZV9wb3J0KCkuX2Zvcm1hdF93ZGlmZl9vdXRwdXRfYXNfaHRtbChv
dXRwdXQpCi0gICAgICAgIGV4cGVjdGVkX2h0bWwgPSAiPGhlYWQ+PHN0eWxlPi5kZWwgeyBiYWNr
Z3JvdW5kOiAjZmFhOyB9IC5hZGQgeyBiYWNrZ3JvdW5kOiAjYWZhOyB9PC9zdHlsZT48L2hlYWQ+
PHByZT5PVVRQVVQgPHNwYW4gY2xhc3M9ZGVsPiA8c3BhbiBjbGFzcz1hZGQ+IDwvc3Bhbj48L3By
ZT4iCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaHRtbCwgZXhwZWN0ZWRfaHRtbCkKLQotICAg
IGRlZiB0ZXN0X3dkaWZmX2NvbW1hbmQoc2VsZik6Ci0gICAgICAgIHBvcnQgPSBzZWxmLm1ha2Vf
cG9ydCgpCi0gICAgICAgIHBvcnQuX3BhdGhfdG9fd2RpZmYgPSBsYW1iZGE6ICIvcGF0aC90by93
ZGlmZiIKLSAgICAgICAgY29tbWFuZCA9IHBvcnQuX3dkaWZmX2NvbW1hbmQoIi9hY3R1YWwvcGF0
aCIsICIvZXhwZWN0ZWQvcGF0aCIpCi0gICAgICAgIGV4cGVjdGVkX2NvbW1hbmQgPSBbCi0gICAg
ICAgICAgICAiL3BhdGgvdG8vd2RpZmYiLAotICAgICAgICAgICAgIi0tc3RhcnQtZGVsZXRlPSMj
V0RJRkZfREVMIyMiLAotICAgICAgICAgICAgIi0tZW5kLWRlbGV0ZT0jI1dESUZGX0VORCMjIiwK
LSAgICAgICAgICAgICItLXN0YXJ0LWluc2VydD0jI1dESUZGX0FERCMjIiwKLSAgICAgICAgICAg
ICItLWVuZC1pbnNlcnQ9IyNXRElGRl9FTkQjIyIsCi0gICAgICAgICAgICAiL2FjdHVhbC9wYXRo
IiwKLSAgICAgICAgICAgICIvZXhwZWN0ZWQvcGF0aCIsCi0gICAgICAgIF0KLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChjb21tYW5kLCBleHBlY3RlZF9jb21tYW5kKQotCiAgICAgZGVmIF9maWxl
X3dpdGhfY29udGVudHMoc2VsZiwgY29udGVudHMsIGVuY29kaW5nPSJ1dGYtOCIpOgogICAgICAg
ICBuZXdfZmlsZSA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpCiAgICAgICAgIG5ld19m
aWxlLndyaXRlKGNvbnRlbnRzLmVuY29kZShlbmNvZGluZykpCkBAIC0xMDksNTYgKzg4LDYgQEAg
Y2xhc3MgUG9ydFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHBvcnQucHJldHR5X3BhdGNoX3RleHQoInBhdGNoLnR4dCIpLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIHBvcnQuX3ByZXR0eV9wYXRjaF9lcnJvcl9odG1sKQogCi0gICAgZGVmIGludGVn
cmF0aW9uX3Rlc3RfcnVuX3dkaWZmKHNlbGYpOgotICAgICAgICBleGVjdXRpdmUgPSBFeGVjdXRp
dmUoKQotICAgICAgICAjIFRoaXMgbWF5IGZhaWwgb24gc29tZSBzeXN0ZW1zLiAgV2UgY291bGQg
YXNrIHRoZSBwb3J0Ci0gICAgICAgICMgb2JqZWN0IGZvciB0aGUgd2RpZmYgcGF0aCwgYnV0IHNp
bmNlIHdlIGRvbid0IGtub3cgd2hhdAotICAgICAgICAjIHBvcnQgb2JqZWN0IHRvIHVzZSwgdGhp
cyBpcyBzdWZmaWNpZW50IGZvciBub3cuCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHdkaWZm
X3BhdGggPSBleGVjdXRpdmUucnVuX2NvbW1hbmQoWyJ3aGljaCIsICJ3ZGlmZiJdKS5yc3RyaXAo
KQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgotICAgICAgICAgICAgd2RpZmZfcGF0aCA9
IE5vbmUKLQotICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoZXhlY3V0aXZlPWV4ZWN1dGl2
ZSkKLSAgICAgICAgcG9ydC5fcGF0aF90b193ZGlmZiA9IGxhbWJkYTogd2RpZmZfcGF0aAotCi0g
ICAgICAgIGlmIHdkaWZmX3BhdGg6Ci0gICAgICAgICAgICAjICJ3aXRoIHRlbXBmaWxlLk5hbWVk
VGVtcG9yYXJ5RmlsZSgpIGFzIGFjdHVhbCIgZG9lcyBub3Qgc2VlbSB0byB3b3JrIGluIFB5dGhv
biAyLjUKLSAgICAgICAgICAgIGFjdHVhbCA9IHNlbGYuX2ZpbGVfd2l0aF9jb250ZW50cyh1ImZv
byIpCi0gICAgICAgICAgICBleHBlY3RlZCA9IHNlbGYuX2ZpbGVfd2l0aF9jb250ZW50cyh1ImJh
ciIpCi0gICAgICAgICAgICB3ZGlmZiA9IHBvcnQuX3J1bl93ZGlmZihhY3R1YWwubmFtZSwgZXhw
ZWN0ZWQubmFtZSkKLSAgICAgICAgICAgIGV4cGVjdGVkX3dkaWZmID0gIjxoZWFkPjxzdHlsZT4u
ZGVsIHsgYmFja2dyb3VuZDogI2ZhYTsgfSAuYWRkIHsgYmFja2dyb3VuZDogI2FmYTsgfTwvc3R5
bGU+PC9oZWFkPjxwcmU+PHNwYW4gY2xhc3M9ZGVsPmZvbzwvc3Bhbj48c3BhbiBjbGFzcz1hZGQ+
YmFyPC9zcGFuPjwvcHJlPiIKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod2RpZmYsIGV4
cGVjdGVkX3dkaWZmKQotICAgICAgICAgICAgIyBSdW5uaW5nIHRoZSBmdWxsIHdkaWZmX3RleHQg
bWV0aG9kIHNob3VsZCBnaXZlIHRoZSBzYW1lIHJlc3VsdC4KLSAgICAgICAgICAgIHBvcnQuX3dk
aWZmX2F2YWlsYWJsZSA9IFRydWUgICMgSW4gY2FzZSBpdCdzIHNvbWVob3cgYWxyZWFkeSBkaXNh
YmxlZC4KLSAgICAgICAgICAgIHdkaWZmID0gcG9ydC53ZGlmZl90ZXh0KGFjdHVhbC5uYW1lLCBl
eHBlY3RlZC5uYW1lKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3ZGlmZiwgZXhwZWN0
ZWRfd2RpZmYpCi0gICAgICAgICAgICAjIHdkaWZmIHNob3VsZCBzdGlsbCBiZSBhdmFpbGFibGUg
YWZ0ZXIgcnVubmluZyB3ZGlmZl90ZXh0IHdpdGggYSB2YWxpZCBkaWZmLgotICAgICAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKHBvcnQuX3dkaWZmX2F2YWlsYWJsZSkKLSAgICAgICAgICAgIGFjdHVh
bC5jbG9zZSgpCi0gICAgICAgICAgICBleHBlY3RlZC5jbG9zZSgpCi0KLSAgICAgICAgICAgICMg
Qm9ndXMgcGF0aHMgc2hvdWxkIHJhaXNlIGEgc2NyaXB0IGVycm9yLgotICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRSYWlzZXMoU2NyaXB0RXJyb3IsIHBvcnQuX3J1bl93ZGlmZiwgIi9kb2VzL25vdC9l
eGlzdCIsICIvZG9lcy9ub3QvZXhpc3QyIikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2Vz
KFNjcmlwdEVycm9yLCBwb3J0LndkaWZmX3RleHQsICIvZG9lcy9ub3QvZXhpc3QiLCAiL2RvZXMv
bm90L2V4aXN0MiIpCi0gICAgICAgICAgICAjIHdkaWZmIHdpbGwgc3RpbGwgYmUgYXZhaWxhYmxl
IGFmdGVyIHJ1bm5pbmcgd2RpZmZfdGV4dCB3aXRoIGludmFsaWQgcGF0aHMuCi0gICAgICAgICAg
ICBzZWxmLmFzc2VydFRydWUocG9ydC5fd2RpZmZfYXZhaWxhYmxlKQotCi0gICAgICAgICMgSWYg
d2RpZmYgZG9lcyBub3QgZXhpc3QgX3J1bl93ZGlmZiBzaG91bGQgdGhyb3cgYW4gT1NFcnJvci4K
LSAgICAgICAgcG9ydC5fcGF0aF90b193ZGlmZiA9IGxhbWJkYTogIi9pbnZhbGlkL3BhdGgvdG8v
d2RpZmYiCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHBvcnQuX3J1bl93ZGlm
ZiwgImZvbyIsICJiYXIiKQotCi0gICAgICAgICMgd2RpZmZfdGV4dCBzaG91bGQgbm90IHRocm93
IGFuIGVycm9yIGlmIHdkaWZmIGRvZXMgbm90IGV4aXN0LgotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHBvcnQud2RpZmZfdGV4dCgiZm9vIiwgImJhciIpLCAiIikKLSAgICAgICAgIyBIb3dldmVy
IHdkaWZmIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlIGFmdGVyIHJ1bm5pbmcgd2RpZmZfdGV4dCBp
ZiB3ZGlmZiBpcyBtaXNzaW5nLgotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuX3dkaWZm
X2F2YWlsYWJsZSkKLQotICAgIGRlZiB0ZXN0X3dkaWZmX3RleHQoc2VsZik6Ci0gICAgICAgIHBv
cnQgPSBzZWxmLm1ha2VfcG9ydCgpCi0gICAgICAgIHBvcnQud2RpZmZfYXZhaWxhYmxlID0gbGFt
YmRhOiBUcnVlCi0gICAgICAgIHBvcnQuX3J1bl93ZGlmZiA9IGxhbWJkYSBhLCBiOiAnUEFTUycK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnUEFTUycsIHBvcnQud2RpZmZfdGV4dChOb25lLCBO
b25lKSkKLQogICAgIGRlZiB0ZXN0X2RpZmZfdGV4dChzZWxmKToKICAgICAgICAgcG9ydCA9IHNl
bGYubWFrZV9wb3J0KCkKICAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCBydW4gaW50
byBkZWNvZGluZyBleGNlcHRpb25zIHdoZW4gdGhlCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IDYzY2MxZTkuLjIzOWU3YTAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CkBAIC0yOTEsMTAgKzI5MSw2
IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwocG9ydC5kaWZmX2ltYWdlKCdmb28nLCAnYmFyJyksICgnJywgMCwgJ0ltYWdl
RGlmZiBjcmFzaGVkXG4nKSkKICAgICAgICAgcG9ydC5jbGVhbl91cF90ZXN0X3J1bigpCiAKLSAg
ICBkZWYgdGVzdF9jaGVja193ZGlmZihzZWxmKToKLSAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9w
b3J0KCkKLSAgICAgICAgcG9ydC5jaGVja193ZGlmZigpCi0KICAgICBkZWYgaW50ZWdyYXRpb25f
dGVzdF93ZWJzb2NrZXRfc2VydmVyX19ub3JtYWwoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxm
Lm1ha2VfcG9ydCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0X3NlcnZlcnNfYXJlX2Rvd24oJ2xvY2Fs
aG9zdCcsIHNlbGYuV0VCU09DS0VUX1BPUlRTKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L3Rlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5w
eQppbmRleCA3NmZlYTNiLi4zNjJhMGU4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvdGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5w
eQpAQCAtNDUxLDkgKzQ1MSw2IEBAIGNsYXNzIFRlc3RQb3J0KFBvcnQpOgogICAgIGRlZiBvcGVy
YXRpbmdfc3lzdGVtKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fb3BlcmF0aW5nX3N5c3Rl
bQogCi0gICAgZGVmIF9wYXRoX3RvX3dkaWZmKHNlbGYpOgotICAgICAgICByZXR1cm4gTm9uZQot
CiAgICAgZGVmIGRlZmF1bHRfcmVzdWx0c19kaXJlY3Rvcnkoc2VsZik6CiAgICAgICAgIHJldHVy
biAnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzJwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221018</attachid>
            <date>2014-01-13 02:14:37 -0800</date>
            <delta_ts>2014-01-13 08:43:47 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>proposepatch.patch</filename>
            <type>text/plain</type>
            <size>17998</size>
            <attacher name="Dániel Bátyai">dbatyai.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NjM2
Yjg4Li44ZmYwYWExIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTQtMDEtMTMgIERhbmllbCBCYXR5YWkgIDxkYmF0
eWFpLnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmVtb3ZlIHdkaWZm
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ3NjYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL25ldC9yZXN1bHRzanNvbnBhcnNlcl91bml0dGVzdC5weToKKyAg
ICAgICAgKFJlc3VsdHNKU09OUGFyc2VyVGVzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvdGVzdF9yZXN1bHRfd3JpdGVyLnB5OgorICAgICAg
ICAoVGVzdFJlc3VsdFdyaXRlcik6CisgICAgICAgIChUZXN0UmVzdWx0V3JpdGVyLmNyZWF0ZV90
ZXh0X2RpZmZfYW5kX3dyaXRlX3Jlc3VsdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHMucHk6CisgICAgICAgIChzdW1tYXJp
emVfcmVzdWx0cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVu
X3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHk6CisgICAgICAgIChSdW5UZXN0LnRlc3Rf
b3V0cHV0X2RpZmZzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToK
KyAgICAgICAgKFBvcnQuX19pbml0X18pOgorICAgICAgICAoUG9ydC5kcml2ZXJfc3RvcF90aW1l
b3V0KToKKyAgICAgICAgKFBvcnQuY2hlY2tfaW1hZ2VfZGlmZik6CisgICAgICAgIChQb3J0LnJl
cG9zaXRvcnlfcGF0aHMpOgorICAgICAgICAoUG9ydC5fcGF0aF90b19saWdodHRwZF9waHApOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5OgorICAgICAg
ICAoUG9ydFRlc3QudGVzdF9kZWZhdWx0X2NoaWxkX3Byb2Nlc3Nlcyk6CisgICAgICAgIChQb3J0
VGVzdC50ZXN0X3ByZXR0eV9wYXRjaF9zY3JpcHRfZXJyb3IpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5OgorICAgICAgICAoUG9ydFRlc3RDYXNlLnRl
c3RfZGlmZl9pbWFnZV9jcmFzaGVkKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
dGVzdC5weToKKyAgICAgICAgKFRlc3RQb3J0Lm9wZXJhdGluZ19zeXN0ZW0pOgorCiAyMDE0LTAx
LTEzICBQZXRlciBNb2xuYXIgIDxwbW9sbmFyLnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHBhcnNpbmcgb2Ygb2xkLXJ1bi13ZWJraXQtdGVzdHMgb3V0cHV0
IGZyb20gbWFzdGVyLmNmZwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vbmV0L3Jlc3VsdHNqc29ucGFyc2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L3Jlc3VsdHNqc29ucGFyc2VyX3VuaXR0ZXN0LnB5CmluZGV4IGFhZWI1
ZGMuLjVlN2QzYTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25l
dC9yZXN1bHRzanNvbnBhcnNlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvcmVzdWx0c2pzb25wYXJzZXJfdW5pdHRlc3QucHkKQEAgLTgwLDggKzgw
LDcgQEAgY2xhc3MgUmVzdWx0c0pTT05QYXJzZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAiaGFzX3ByZXR0eV9wYXRjaCI6IGZhbHNlLAogICAgICJmaXhhYmxlIjogMTIyMCwKICAgICAi
bnVtX2ZsYWt5IjogMCwKLSAgICAidXNlc19leHBlY3RhdGlvbnNfZmlsZSI6IHRydWUsCi0gICAg
Imhhc193ZGlmZiI6IGZhbHNlCisgICAgInVzZXNfZXhwZWN0YXRpb25zX2ZpbGUiOiB0cnVlCiB9
KTsiIiIKIAogICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvdGVzdF9yZXN1bHRfd3JpdGVy
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvdGVz
dF9yZXN1bHRfd3JpdGVyLnB5CmluZGV4IGI1YWQ5YjEuLjkzMmIyMmUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Rlc3RfcmVzdWx0
X3dyaXRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250
cm9sbGVycy90ZXN0X3Jlc3VsdF93cml0ZXIucHkKQEAgLTU3LDcgKzU3LDYgQEAgY2xhc3MgVGVz
dFJlc3VsdFdyaXRlcihvYmplY3QpOgogICAgIEZJTEVOQU1FX1NVRkZJWF9TVERFUlIgPSAiLXN0
ZGVyciIKICAgICBGSUxFTkFNRV9TVUZGSVhfQ1JBU0hfTE9HID0gIi1jcmFzaC1sb2ciCiAgICAg
RklMRU5BTUVfU1VGRklYX1NBTVBMRSA9ICItc2FtcGxlIgotICAgIEZJTEVOQU1FX1NVRkZJWF9X
RElGRiA9ICItd2RpZmYuaHRtbCIKICAgICBGSUxFTkFNRV9TVUZGSVhfUFJFVFRZX1BBVENIID0g
Ii1wcmV0dHktZGlmZi5odG1sIgogICAgIEZJTEVOQU1FX1NVRkZJWF9JTUFHRV9ESUZGID0gIi1k
aWZmLnBuZyIKICAgICBGSUxFTkFNRV9TVUZGSVhfSU1BR0VfRElGRlNfSFRNTCA9ICItZGlmZnMu
aHRtbCIKQEAgLTE1MywxMiArMTUyLDYgQEAgY2xhc3MgVGVzdFJlc3VsdFdyaXRlcihvYmplY3Qp
OgogICAgICAgICBkaWZmX2ZpbGVuYW1lID0gc2VsZi5vdXRwdXRfZmlsZW5hbWUoc2VsZi5GSUxF
TkFNRV9TVUZGSVhfRElGRiArIGZpbGVfdHlwZSkKICAgICAgICAgc2VsZi5fd3JpdGVfYmluYXJ5
X2ZpbGUoZGlmZl9maWxlbmFtZSwgZGlmZikKIAotICAgICAgICAjIFNoZWxsIG91dCB0byB3ZGlm
ZiB0byBnZXQgY29sb3JlZCBpbmxpbmUgZGlmZnMuCi0gICAgICAgIGlmIHNlbGYuX3BvcnQud2Rp
ZmZfYXZhaWxhYmxlKCk6Ci0gICAgICAgICAgICB3ZGlmZiA9IHNlbGYuX3BvcnQud2RpZmZfdGV4
dChleHBlY3RlZF9maWxlbmFtZSwgYWN0dWFsX2ZpbGVuYW1lKQotICAgICAgICAgICAgd2RpZmZf
ZmlsZW5hbWUgPSBzZWxmLm91dHB1dF9maWxlbmFtZShzZWxmLkZJTEVOQU1FX1NVRkZJWF9XRElG
RikKLSAgICAgICAgICAgIHNlbGYuX3dyaXRlX2JpbmFyeV9maWxlKHdkaWZmX2ZpbGVuYW1lLCB3
ZGlmZikKLQogICAgICAgICAjIFVzZSBXZWJLaXQncyBQcmV0dHlQYXRjaC5yYiB0byBnZXQgYW4g
SFRNTCBkaWZmLgogICAgICAgICBpZiBzZWxmLl9wb3J0LnByZXR0eV9wYXRjaC5wcmV0dHlfcGF0
Y2hfYXZhaWxhYmxlKCk6CiAgICAgICAgICAgICBwcmV0dHlfcGF0Y2ggPSBzZWxmLl9wb3J0LnBy
ZXR0eV9wYXRjaC5wcmV0dHlfcGF0Y2hfdGV4dChkaWZmX2ZpbGVuYW1lKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcnVuX3Jlc3Vs
dHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9y
dW5fcmVzdWx0cy5weQppbmRleCA0M2QxZWM5Li5mODExZjM4IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9ydW5fcmVzdWx0cy5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9ydW5f
cmVzdWx0cy5weQpAQCAtMjQ5LDcgKzI0OSw2IEBAIGRlZiBzdW1tYXJpemVfcmVzdWx0cyhwb3J0
X29iaiwgZXhwZWN0YXRpb25zLCBpbml0aWFsX3Jlc3VsdHMsIHJldHJ5X3Jlc3VsdHMsIGVuCiAg
ICAgcmVzdWx0c1sndXNlc19leHBlY3RhdGlvbnNfZmlsZSddID0gcG9ydF9vYmoudXNlc190ZXN0
X2V4cGVjdGF0aW9uc19maWxlKCkKICAgICByZXN1bHRzWydpbnRlcnJ1cHRlZCddID0gaW5pdGlh
bF9yZXN1bHRzLmludGVycnVwdGVkICAjIERvZXMgcmVzdWx0cy5odG1sIGhhdmUgZW5vdWdoIGlu
Zm9ybWF0aW9uIHRvIGNvbXB1dGUgdGhpcyBpdHNlbGY/IChieSBjaGVja2luZyB0b3RhbCBudW1i
ZXIgb2YgcmVzdWx0cyB2cy4gdG90YWwgbnVtYmVyIG9mIHRlc3RzPykKICAgICByZXN1bHRzWyds
YXlvdXRfdGVzdHNfZGlyJ10gPSBwb3J0X29iai5sYXlvdXRfdGVzdHNfZGlyKCkKLSAgICByZXN1
bHRzWydoYXNfd2RpZmYnXSA9IHBvcnRfb2JqLndkaWZmX2F2YWlsYWJsZSgpCiAgICAgcmVzdWx0
c1snaGFzX3ByZXR0eV9wYXRjaCddID0gcG9ydF9vYmoucHJldHR5X3BhdGNoLnByZXR0eV9wYXRj
aF9hdmFpbGFibGUoKQogICAgIHJlc3VsdHNbJ3BpeGVsX3Rlc3RzX2VuYWJsZWQnXSA9IHBvcnRf
b2JqLmdldF9vcHRpb24oJ3BpeGVsX3Rlc3RzJykKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3Rz
X2ludGVncmF0aW9udGVzdC5weQppbmRleCA1Njc4YjAwLi5iZTExNDMxIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVn
cmF0aW9udGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9y
dW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQpAQCAtNzk0LDE4ICs3OTQsMTUgQEAg
Y2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZSgncGxhdGZvcm0vdGVzdC13aW4td2luNy9odHRwL3Rlc3Qu
aHRtbCcgaW4gdGVzdHNfcnVuKQogCiAgICAgZGVmIHRlc3Rfb3V0cHV0X2RpZmZzKHNlbGYpOgot
ICAgICAgICAjIFRlc3QgdG8gZW5zdXJlIHRoYXQgd2UgZG9uJ3QgZ2VuZXJhdGUgLXdkaWZmLmh0
bWwgb3IgLXByZXR0eS5odG1sIGlmIHdkaWZmIGFuZCBQcmV0dHlQYXRjaAotICAgICAgICAjIGFy
ZW4ndCBhdmFpbGFibGUuCisgICAgICAgICMgVGVzdCB0byBlbnN1cmUgdGhhdCB3ZSBkb24ndCBn
ZW5lcmF0ZSAtcHJldHR5Lmh0bWwgaWYgUHJldHR5UGF0Y2ggaXNuJ3QgYXZhaWxhYmxlLgogICAg
ICAgICBob3N0ID0gTW9ja0hvc3QoKQogICAgICAgICBfLCBlcnIsIF8gPSBsb2dnaW5nX3J1bihb
Jy0tcGl4ZWwtdGVzdHMnLCAnZmFpbHVyZXMvdW5leHBlY3RlZC90ZXh0LWltYWdlLWNoZWNrc3Vt
Lmh0bWwnXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0KQogICAgICAgICB3cml0dGVu
X2ZpbGVzID0gaG9zdC5maWxlc3lzdGVtLndyaXR0ZW5fZmlsZXMKICAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKGFueShwYXRoLmVuZHN3aXRoKCctZGlmZi50eHQnKSBmb3IgcGF0aCBpbiB3cml0dGVu
X2ZpbGVzLmtleXMoKSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYW55KHBhdGguZW5kc3dp
dGgoJy13ZGlmZi5odG1sJykgZm9yIHBhdGggaW4gd3JpdHRlbl9maWxlcy5rZXlzKCkpKQogICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKGFueShwYXRoLmVuZHN3aXRoKCctcHJldHR5LWRpZmYuaHRt
bCcpIGZvciBwYXRoIGluIHdyaXR0ZW5fZmlsZXMua2V5cygpKSkKIAogICAgICAgICBmdWxsX3Jl
c3VsdHNfdGV4dCA9IGhvc3QuZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZSgnL3RtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Z1bGxfcmVzdWx0cy5qc29uJykKICAgICAgICAgZnVsbF9yZXN1bHRzID0g
anNvbi5sb2FkcyhmdWxsX3Jlc3VsdHNfdGV4dC5yZXBsYWNlKCJBRERfUkVTVUxUUygiLCAiIiku
cmVwbGFjZSgiKTsiLCAiIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnVsbF9yZXN1bHRz
WydoYXNfd2RpZmYnXSwgRmFsc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnVsbF9yZXN1
bHRzWydoYXNfcHJldHR5X3BhdGNoJ10sIEZhbHNlKQogCiAgICAgZGVmIHRlc3RfdW5zdXBwb3J0
ZWRfcGxhdGZvcm0oc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4IDE2
NzVlZjguLmU3MjEyZTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9i
YXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC0xMjYs
MjEgKzEyNiw2IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgc2VsZi5fc2VydmVyX3By
b2Nlc3NfY29uc3RydWN0b3IgPSBzZXJ2ZXJfcHJvY2Vzcy5TZXJ2ZXJQcm9jZXNzICAjIG92ZXJy
aWRhYmxlIGZvciB0ZXN0aW5nCiAgICAgICAgIHNlbGYuX2h0dHBfbG9jayA9IE5vbmUgICMgRklY
TUU6IFdoeSBkb2VzIHRoaXMgbGl2ZSBvbiB0aGUgcG9ydCBvYmplY3Q/CiAKLSAgICAgICAgIyBQ
eXRob24ncyBQb3BlbiBoYXMgYSBidWcgdGhhdCBjYXVzZXMgYW55IHBpcGVzIG9wZW5lZCB0byBh
Ci0gICAgICAgICMgcHJvY2VzcyB0aGF0IGNhbid0IGJlIGV4ZWN1dGVkIHRvIGJlIGxlYWtlZC4g
IFNpbmNlIHRoaXMKLSAgICAgICAgIyBjb2RlIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byB0
b2xlcmF0ZSBleGVjIGZhaWx1cmVzCi0gICAgICAgICMgdG8gZ3JhY2VmdWxseSBoYW5kbGUgY2Fz
ZXMgd2hlcmUgd2RpZmYgaXMgbm90IGluc3RhbGxlZCwKLSAgICAgICAgIyB0aGUgYnVnIHJlc3Vs
dHMgaW4gYSBtYXNzaXZlIGZpbGUgZGVzY3JpcHRvciBsZWFrLiBBcyBhCi0gICAgICAgICMgd29y
a2Fyb3VuZCwgaWYgYW4gZXhlYyBmYWlsdXJlIGlzIGV2ZXIgZXhwZXJpZW5jZWQgZm9yCi0gICAg
ICAgICMgd2RpZmYsIGFzc3VtZSBpdCdzIG5vdCBhdmFpbGFibGUuICBUaGlzIHdpbGwgbGVhayBv
bmUKLSAgICAgICAgIyBmaWxlIGRlc2NyaXB0b3IgYnV0IHRoYXQncyBiZXR0ZXIgdGhhbiBsZWFr
aW5nIGVhY2ggdGltZQotICAgICAgICAjIHdkaWZmIHdvdWxkIGJlIHJ1bi4KLSAgICAgICAgIwot
ICAgICAgICAjIGh0dHA6Ly9tYWlsLnB5dGhvbi5vcmcvcGlwZXJtYWlsL3B5dGhvbi1saXN0Lwot
ICAgICAgICAjICAgIDIwMDgtQXVndXN0LzUwNTc1My5odG1sCi0gICAgICAgICMgaHR0cDovL2J1
Z3MucHl0aG9uLm9yZy9pc3N1ZTMyMTAKLSAgICAgICAgc2VsZi5fd2RpZmZfYXZhaWxhYmxlID0g
Tm9uZQotCiAgICAgICAgIGlmIG5vdCBoYXNhdHRyKG9wdGlvbnMsICdjb25maWd1cmF0aW9uJykg
b3Igbm90IG9wdGlvbnMuY29uZmlndXJhdGlvbjoKICAgICAgICAgICAgIHNlbGYuc2V0X29wdGlv
bl9kZWZhdWx0KCdjb25maWd1cmF0aW9uJywgc2VsZi5kZWZhdWx0X2NvbmZpZ3VyYXRpb24oKSkK
ICAgICAgICAgc2VsZi5fdGVzdF9jb25maWd1cmF0aW9uID0gTm9uZQpAQCAtMTcxLDExICsxNTYs
NiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgd2VsbCAoZm9yIHRoaW5ncyBsaWtl
IEFTQU4sIFZhbGdyaW5kLCBldGMuKQogICAgICAgICByZXR1cm4gMy4wICogZmxvYXQoc2VsZi5n
ZXRfb3B0aW9uKCd0aW1lX291dF9tcycsICcwJykpIC8gc2VsZi5kZWZhdWx0X3RpbWVvdXRfbXMo
KQogCi0gICAgZGVmIHdkaWZmX2F2YWlsYWJsZShzZWxmKToKLSAgICAgICAgaWYgc2VsZi5fd2Rp
ZmZfYXZhaWxhYmxlIGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl93ZGlmZl9hdmFpbGFibGUg
PSBzZWxmLmNoZWNrX3dkaWZmKGxvZ2dpbmc9RmFsc2UpCi0gICAgICAgIHJldHVybiBzZWxmLl93
ZGlmZl9hdmFpbGFibGUKLQogICAgIGRlZiBzaG91bGRfcmV0cnlfY3Jhc2hlcyhzZWxmKToKICAg
ICAgICAgcmV0dXJuIEZhbHNlCiAKQEAgLTI3NCwyNyArMjU0LDYgQEAgY2xhc3MgUG9ydChvYmpl
Y3QpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHJldHVybiBUcnVlCiAKLSAg
ICBkZWYgY2hlY2tfd2RpZmYoc2VsZiwgbG9nZ2luZz1UcnVlKToKLSAgICAgICAgaWYgbm90IHNl
bGYuX3BhdGhfdG9fd2RpZmYoKToKLSAgICAgICAgICAgICMgRG9uJ3QgbmVlZCB0byBsb2cgaGVy
ZSBzaW5jZSB0aGlzIGlzIHRoZSBwb3J0IGNob29zaW5nIG5vdCB0byB1c2Ugd2RpZmYuCi0gICAg
ICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBfID0gc2Vs
Zi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFtzZWxmLl9wYXRoX3RvX3dkaWZmKCksICctLWhlbHAn
XSkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICBpZiBsb2dnaW5nOgotICAg
ICAgICAgICAgICAgIG1lc3NhZ2UgPSBzZWxmLl93ZGlmZl9taXNzaW5nX21lc3NhZ2UoKQotICAg
ICAgICAgICAgICAgIGlmIG1lc3NhZ2U6Ci0gICAgICAgICAgICAgICAgICAgIGZvciBsaW5lIGlu
IG1lc3NhZ2Uuc3BsaXRsaW5lcygpOgotICAgICAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJu
aW5nKCcgICAgJyArIGxpbmUpCi0gICAgICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmco
JycpCi0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0g
ICAgZGVmIF93ZGlmZl9taXNzaW5nX21lc3NhZ2Uoc2VsZik6Ci0gICAgICAgIHJldHVybiAnd2Rp
ZmYgaXMgbm90IGluc3RhbGxlZDsgcGxlYXNlIGluc3RhbGwgaXQgdG8gZ2VuZXJhdGUgd29yZC1i
eS13b3JkIGRpZmZzLicKLQogICAgIGRlZiBjaGVja19odHRwZChzZWxmKToKICAgICAgICAgaWYg
c2VsZi5fdXNlc19hcGFjaGUoKToKICAgICAgICAgICAgIGh0dHBkX3BhdGggPSBzZWxmLl9wYXRo
X3RvX2FwYWNoZSgpCkBAIC0xMDc1LDYxICsxMDM0LDYgQEAgY2xhc3MgUG9ydChvYmplY3QpOgog
ICAgICAgICAgICAgcmVwb3NpdG9yeV9wYXRocyArPSBbKHNlbGYuX29wdGlvbnMuYWRkaXRpb25h
bF9yZXBvc2l0b3J5X25hbWUsIHNlbGYuX29wdGlvbnMuYWRkaXRpb25hbF9yZXBvc2l0b3J5X3Bh
dGgpXQogICAgICAgICByZXR1cm4gcmVwb3NpdG9yeV9wYXRocwogCi0gICAgX1dESUZGX0RFTCA9
ICcjI1dESUZGX0RFTCMjJwotICAgIF9XRElGRl9BREQgPSAnIyNXRElGRl9BREQjIycKLSAgICBf
V0RJRkZfRU5EID0gJyMjV0RJRkZfRU5EIyMnCi0KLSAgICBkZWYgX2Zvcm1hdF93ZGlmZl9vdXRw
dXRfYXNfaHRtbChzZWxmLCB3ZGlmZik6Ci0gICAgICAgIHdkaWZmID0gY2dpLmVzY2FwZSh3ZGlm
ZikKLSAgICAgICAgd2RpZmYgPSB3ZGlmZi5yZXBsYWNlKHNlbGYuX1dESUZGX0RFTCwgIjxzcGFu
IGNsYXNzPWRlbD4iKQotICAgICAgICB3ZGlmZiA9IHdkaWZmLnJlcGxhY2Uoc2VsZi5fV0RJRkZf
QURELCAiPHNwYW4gY2xhc3M9YWRkPiIpCi0gICAgICAgIHdkaWZmID0gd2RpZmYucmVwbGFjZShz
ZWxmLl9XRElGRl9FTkQsICI8L3NwYW4+IikKLSAgICAgICAgaHRtbCA9ICI8aGVhZD48c3R5bGU+
LmRlbCB7IGJhY2tncm91bmQ6ICNmYWE7IH0gIgotICAgICAgICBodG1sICs9ICIuYWRkIHsgYmFj
a2dyb3VuZDogI2FmYTsgfTwvc3R5bGU+PC9oZWFkPiIKLSAgICAgICAgaHRtbCArPSAiPHByZT4l
czwvcHJlPiIgJSB3ZGlmZgotICAgICAgICByZXR1cm4gaHRtbAotCi0gICAgZGVmIF93ZGlmZl9j
b21tYW5kKHNlbGYsIGFjdHVhbF9maWxlbmFtZSwgZXhwZWN0ZWRfZmlsZW5hbWUpOgotICAgICAg
ICBleGVjdXRhYmxlID0gc2VsZi5fcGF0aF90b193ZGlmZigpCi0gICAgICAgIHJldHVybiBbZXhl
Y3V0YWJsZSwKLSAgICAgICAgICAgICAgICAiLS1zdGFydC1kZWxldGU9JXMiICUgc2VsZi5fV0RJ
RkZfREVMLAotICAgICAgICAgICAgICAgICItLWVuZC1kZWxldGU9JXMiICUgc2VsZi5fV0RJRkZf
RU5ELAotICAgICAgICAgICAgICAgICItLXN0YXJ0LWluc2VydD0lcyIgJSBzZWxmLl9XRElGRl9B
REQsCi0gICAgICAgICAgICAgICAgIi0tZW5kLWluc2VydD0lcyIgJSBzZWxmLl9XRElGRl9FTkQs
Ci0gICAgICAgICAgICAgICAgYWN0dWFsX2ZpbGVuYW1lLAotICAgICAgICAgICAgICAgIGV4cGVj
dGVkX2ZpbGVuYW1lXQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBfaGFuZGxlX3dkaWZm
X2Vycm9yKHNjcmlwdF9lcnJvcik6Ci0gICAgICAgICMgRXhpdCAxIG1lYW5zIHRoZSBmaWxlcyBk
aWZmZXJlZCwgYW55IG90aGVyIGV4aXQgY29kZSBpcyBhbiBlcnJvci4KLSAgICAgICAgaWYgc2Ny
aXB0X2Vycm9yLmV4aXRfY29kZSAhPSAxOgotICAgICAgICAgICAgcmFpc2Ugc2NyaXB0X2Vycm9y
Ci0KLSAgICBkZWYgX3J1bl93ZGlmZihzZWxmLCBhY3R1YWxfZmlsZW5hbWUsIGV4cGVjdGVkX2Zp
bGVuYW1lKToKLSAgICAgICAgIiIiUnVucyB3ZGlmZiBhbmQgbWF5IHRocm93IGV4Y2VwdGlvbnMu
Ci0gICAgICAgIFRoaXMgaXMgbW9zdGx5IGEgaG9vayBmb3IgdW5pdCB0ZXN0aW5nLiIiIgotICAg
ICAgICAjIERpZmZzIGFyZSB0cmVhdGVkIGFzIGJpbmFyeSBhcyB0aGV5IG1heSBpbmNsdWRlIG11
bHRpcGxlIGZpbGVzCi0gICAgICAgICMgd2l0aCBjb25mbGljdGluZyBlbmNvZGluZ3MuICBUaHVz
IHdlIGRvIG5vdCBkZWNvZGUgdGhlIG91dHB1dC4KLSAgICAgICAgY29tbWFuZCA9IHNlbGYuX3dk
aWZmX2NvbW1hbmQoYWN0dWFsX2ZpbGVuYW1lLCBleHBlY3RlZF9maWxlbmFtZSkKLSAgICAgICAg
d2RpZmYgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoY29tbWFuZCwgZGVjb2RlX291dHB1
dD1GYWxzZSwKLSAgICAgICAgICAgIGVycm9yX2hhbmRsZXI9c2VsZi5faGFuZGxlX3dkaWZmX2Vy
cm9yKQotICAgICAgICByZXR1cm4gc2VsZi5fZm9ybWF0X3dkaWZmX291dHB1dF9hc19odG1sKHdk
aWZmKQotCi0gICAgZGVmIHdkaWZmX3RleHQoc2VsZiwgYWN0dWFsX2ZpbGVuYW1lLCBleHBlY3Rl
ZF9maWxlbmFtZSk6Ci0gICAgICAgICIiIlJldHVybnMgYSBzdHJpbmcgb2YgSFRNTCBpbmRpY2F0
aW5nIHRoZSB3b3JkLWxldmVsIGRpZmYgb2YgdGhlCi0gICAgICAgIGNvbnRlbnRzIG9mIHRoZSB0
d28gZmlsZW5hbWVzLiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB3b3JkLWxldmVsCi0gICAg
ICAgIGRpZmZpbmcgaXNuJ3QgYXZhaWxhYmxlLiIiIgotICAgICAgICBpZiBub3Qgc2VsZi53ZGlm
Zl9hdmFpbGFibGUoKToKLSAgICAgICAgICAgIHJldHVybiAiIgotICAgICAgICB0cnk6Ci0gICAg
ICAgICAgICAjIEl0J3MgcG9zc2libGUgdG8gcmFpc2UgYSBTY3JpcHRFcnJvciB3ZSBwYXNzIHdk
aWZmIGludmFsaWQgcGF0aHMuCi0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcnVuX3dkaWZmKGFj
dHVhbF9maWxlbmFtZSwgZXhwZWN0ZWRfZmlsZW5hbWUpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9y
LCBlOgotICAgICAgICAgICAgaWYgZS5lcnJubyBpbiBbZXJybm8uRU5PRU5ULCBlcnJuby5FQUND
RVMsIGVycm5vLkVDSElMRF06Ci0gICAgICAgICAgICAgICAgIyBTaWxlbnRseSBpZ25vcmUgY2Fz
ZXMgd2hlcmUgd2RpZmYgaXMgbWlzc2luZy4KLSAgICAgICAgICAgICAgICBzZWxmLl93ZGlmZl9h
dmFpbGFibGUgPSBGYWxzZQotICAgICAgICAgICAgICAgIHJldHVybiAiIgotICAgICAgICAgICAg
cmFpc2UKIAogICAgIGRlZiBkZWZhdWx0X2NvbmZpZ3VyYXRpb24oc2VsZik6CiAgICAgICAgIHJl
dHVybiBzZWxmLl9jb25maWcuZGVmYXVsdF9jb25maWd1cmF0aW9uKCkKQEAgLTEyNjMsMTYgKzEx
NjcsNiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIFRoaXMgaXMgbmVlZGVkIG9ubHkg
YnkgcG9ydHMgdGhhdCB1c2UgdGhlIGh0dHBfc2VydmVyLnB5IG1vZHVsZS4iIiIKICAgICAgICAg
cmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignUG9ydC5fcGF0aF90b19saWdodHRwZF9waHAnKQog
Ci0gICAgQG1lbW9pemVkCi0gICAgZGVmIF9wYXRoX3RvX3dkaWZmKHNlbGYpOgotICAgICAgICAi
IiJSZXR1cm5zIHRoZSBmdWxsIHBhdGggdG8gdGhlIHdkaWZmIGJpbmFyeSwgb3IgTm9uZSBpZiBp
dCBpcyBub3QgYXZhaWxhYmxlLgotCi0gICAgICAgIFRoaXMgaXMgbGlrZWx5IHVzZWQgb25seSBi
eSB3ZGlmZl90ZXh0KCkiIiIKLSAgICAgICAgZm9yIHBhdGggaW4gKCIvdXNyL2Jpbi93ZGlmZiIs
ICIvdXNyL2Jpbi9kd2RpZmYiKToKLSAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhp
c3RzKHBhdGgpOgotICAgICAgICAgICAgICAgIHJldHVybiBwYXRoCi0gICAgICAgIHJldHVybiBO
b25lCi0KICAgICBkZWYgX3dlYmtpdF9iYXNlbGluZV9wYXRoKHNlbGYsIHBsYXRmb3JtKToKICAg
ICAgICAgIiIiUmV0dXJuIHRoZSAgZnVsbCBwYXRoIHRvIHRoZSB0b3Agb2YgdGhlIGJhc2VsaW5l
IHRyZWUgZm9yIGEKICAgICAgICAgZ2l2ZW4gcGxhdGZvcm0uIiIiCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CmluZGV4IGUyZGE1YzYuLjdkM2RhMGUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CkBAIC01OSwy
NyArNTksNiBAQCBjbGFzcyBQb3J0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHBv
cnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKHBvcnQu
ZGVmYXVsdF9jaGlsZF9wcm9jZXNzZXMoKSkKIAotICAgIGRlZiB0ZXN0X2Zvcm1hdF93ZGlmZl9v
dXRwdXRfYXNfaHRtbChzZWxmKToKLSAgICAgICAgb3V0cHV0ID0gIk9VVFBVVCAlcyAlcyAlcyIg
JSAoUG9ydC5fV0RJRkZfREVMLCBQb3J0Ll9XRElGRl9BREQsIFBvcnQuX1dESUZGX0VORCkKLSAg
ICAgICAgaHRtbCA9IHNlbGYubWFrZV9wb3J0KCkuX2Zvcm1hdF93ZGlmZl9vdXRwdXRfYXNfaHRt
bChvdXRwdXQpCi0gICAgICAgIGV4cGVjdGVkX2h0bWwgPSAiPGhlYWQ+PHN0eWxlPi5kZWwgeyBi
YWNrZ3JvdW5kOiAjZmFhOyB9IC5hZGQgeyBiYWNrZ3JvdW5kOiAjYWZhOyB9PC9zdHlsZT48L2hl
YWQ+PHByZT5PVVRQVVQgPHNwYW4gY2xhc3M9ZGVsPiA8c3BhbiBjbGFzcz1hZGQ+IDwvc3Bhbj48
L3ByZT4iCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaHRtbCwgZXhwZWN0ZWRfaHRtbCkKLQot
ICAgIGRlZiB0ZXN0X3dkaWZmX2NvbW1hbmQoc2VsZik6Ci0gICAgICAgIHBvcnQgPSBzZWxmLm1h
a2VfcG9ydCgpCi0gICAgICAgIHBvcnQuX3BhdGhfdG9fd2RpZmYgPSBsYW1iZGE6ICIvcGF0aC90
by93ZGlmZiIKLSAgICAgICAgY29tbWFuZCA9IHBvcnQuX3dkaWZmX2NvbW1hbmQoIi9hY3R1YWwv
cGF0aCIsICIvZXhwZWN0ZWQvcGF0aCIpCi0gICAgICAgIGV4cGVjdGVkX2NvbW1hbmQgPSBbCi0g
ICAgICAgICAgICAiL3BhdGgvdG8vd2RpZmYiLAotICAgICAgICAgICAgIi0tc3RhcnQtZGVsZXRl
PSMjV0RJRkZfREVMIyMiLAotICAgICAgICAgICAgIi0tZW5kLWRlbGV0ZT0jI1dESUZGX0VORCMj
IiwKLSAgICAgICAgICAgICItLXN0YXJ0LWluc2VydD0jI1dESUZGX0FERCMjIiwKLSAgICAgICAg
ICAgICItLWVuZC1pbnNlcnQ9IyNXRElGRl9FTkQjIyIsCi0gICAgICAgICAgICAiL2FjdHVhbC9w
YXRoIiwKLSAgICAgICAgICAgICIvZXhwZWN0ZWQvcGF0aCIsCi0gICAgICAgIF0KLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChjb21tYW5kLCBleHBlY3RlZF9jb21tYW5kKQotCiAgICAgZGVmIF9m
aWxlX3dpdGhfY29udGVudHMoc2VsZiwgY29udGVudHMsIGVuY29kaW5nPSJ1dGYtOCIpOgogICAg
ICAgICBuZXdfZmlsZSA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpCiAgICAgICAgIG5l
d19maWxlLndyaXRlKGNvbnRlbnRzLmVuY29kZShlbmNvZGluZykpCkBAIC0xMDksNTUgKzg4LDYg
QEAgY2xhc3MgUG9ydFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHBvcnQucHJldHR5X3BhdGNoLnByZXR0eV9wYXRjaF90ZXh0KCJwYXRjaC50eHQiKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0LnByZXR0eV9wYXRjaC5wcmV0dHlfcGF0Y2hf
ZXJyb3JfaHRtbCkKIAotICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X3J1bl93ZGlmZihzZWxmKToK
LSAgICAgICAgZXhlY3V0aXZlID0gRXhlY3V0aXZlKCkKLSAgICAgICAgIyBUaGlzIG1heSBmYWls
IG9uIHNvbWUgc3lzdGVtcy4gIFdlIGNvdWxkIGFzayB0aGUgcG9ydAotICAgICAgICAjIG9iamVj
dCBmb3IgdGhlIHdkaWZmIHBhdGgsIGJ1dCBzaW5jZSB3ZSBkb24ndCBrbm93IHdoYXQKLSAgICAg
ICAgIyBwb3J0IG9iamVjdCB0byB1c2UsIHRoaXMgaXMgc3VmZmljaWVudCBmb3Igbm93LgotICAg
ICAgICB0cnk6Ci0gICAgICAgICAgICB3ZGlmZl9wYXRoID0gZXhlY3V0aXZlLnJ1bl9jb21tYW5k
KFsid2hpY2giLCAid2RpZmYiXSkucnN0cmlwKCkKLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwg
ZToKLSAgICAgICAgICAgIHdkaWZmX3BhdGggPSBOb25lCi0KLSAgICAgICAgcG9ydCA9IHNlbGYu
bWFrZV9wb3J0KGV4ZWN1dGl2ZT1leGVjdXRpdmUpCi0gICAgICAgIHBvcnQuX3BhdGhfdG9fd2Rp
ZmYgPSBsYW1iZGE6IHdkaWZmX3BhdGgKLQotICAgICAgICBpZiB3ZGlmZl9wYXRoOgotICAgICAg
ICAgICAgIyAid2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyBhY3R1YWwiIGRv
ZXMgbm90IHNlZW0gdG8gd29yayBpbiBQeXRob24gMi41Ci0gICAgICAgICAgICBhY3R1YWwgPSBz
ZWxmLl9maWxlX3dpdGhfY29udGVudHModSJmb28iKQotICAgICAgICAgICAgZXhwZWN0ZWQgPSBz
ZWxmLl9maWxlX3dpdGhfY29udGVudHModSJiYXIiKQotICAgICAgICAgICAgd2RpZmYgPSBwb3J0
Ll9ydW5fd2RpZmYoYWN0dWFsLm5hbWUsIGV4cGVjdGVkLm5hbWUpCi0gICAgICAgICAgICBleHBl
Y3RlZF93ZGlmZiA9ICI8aGVhZD48c3R5bGU+LmRlbCB7IGJhY2tncm91bmQ6ICNmYWE7IH0gLmFk
ZCB7IGJhY2tncm91bmQ6ICNhZmE7IH08L3N0eWxlPjwvaGVhZD48cHJlPjxzcGFuIGNsYXNzPWRl
bD5mb288L3NwYW4+PHNwYW4gY2xhc3M9YWRkPmJhcjwvc3Bhbj48L3ByZT4iCi0gICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHdkaWZmLCBleHBlY3RlZF93ZGlmZikKLSAgICAgICAgICAgICMg
UnVubmluZyB0aGUgZnVsbCB3ZGlmZl90ZXh0IG1ldGhvZCBzaG91bGQgZ2l2ZSB0aGUgc2FtZSBy
ZXN1bHQuCi0gICAgICAgICAgICBwb3J0Ll93ZGlmZl9hdmFpbGFibGUgPSBUcnVlICAjIEluIGNh
c2UgaXQncyBzb21laG93IGFscmVhZHkgZGlzYWJsZWQuCi0gICAgICAgICAgICB3ZGlmZiA9IHBv
cnQud2RpZmZfdGV4dChhY3R1YWwubmFtZSwgZXhwZWN0ZWQubmFtZSkKLSAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwod2RpZmYsIGV4cGVjdGVkX3dkaWZmKQotICAgICAgICAgICAgIyB3ZGlm
ZiBzaG91bGQgc3RpbGwgYmUgYXZhaWxhYmxlIGFmdGVyIHJ1bm5pbmcgd2RpZmZfdGV4dCB3aXRo
IGEgdmFsaWQgZGlmZi4KLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0Ll93ZGlmZl9h
dmFpbGFibGUpCi0gICAgICAgICAgICBhY3R1YWwuY2xvc2UoKQotICAgICAgICAgICAgZXhwZWN0
ZWQuY2xvc2UoKQotCi0gICAgICAgICAgICAjIEJvZ3VzIHBhdGhzIHNob3VsZCByYWlzZSBhIHNj
cmlwdCBlcnJvci4KLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBw
b3J0Ll9ydW5fd2RpZmYsICIvZG9lcy9ub3QvZXhpc3QiLCAiL2RvZXMvbm90L2V4aXN0MiIpCi0g
ICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwgcG9ydC53ZGlmZl90ZXh0
LCAiL2RvZXMvbm90L2V4aXN0IiwgIi9kb2VzL25vdC9leGlzdDIiKQotICAgICAgICAgICAgIyB3
ZGlmZiB3aWxsIHN0aWxsIGJlIGF2YWlsYWJsZSBhZnRlciBydW5uaW5nIHdkaWZmX3RleHQgd2l0
aCBpbnZhbGlkIHBhdGhzLgotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuX3dkaWZm
X2F2YWlsYWJsZSkKLQotICAgICAgICAjIElmIHdkaWZmIGRvZXMgbm90IGV4aXN0IF9ydW5fd2Rp
ZmYgc2hvdWxkIHRocm93IGFuIE9TRXJyb3IuCi0gICAgICAgIHBvcnQuX3BhdGhfdG9fd2RpZmYg
PSBsYW1iZGE6ICIvaW52YWxpZC9wYXRoL3RvL3dkaWZmIgotICAgICAgICBzZWxmLmFzc2VydFJh
aXNlcyhPU0Vycm9yLCBwb3J0Ll9ydW5fd2RpZmYsICJmb28iLCAiYmFyIikKLQotICAgICAgICAj
IHdkaWZmX3RleHQgc2hvdWxkIG5vdCB0aHJvdyBhbiBlcnJvciBpZiB3ZGlmZiBkb2VzIG5vdCBl
eGlzdC4KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LndkaWZmX3RleHQoImZvbyIsICJi
YXIiKSwgIiIpCi0gICAgICAgICMgSG93ZXZlciB3ZGlmZiBzaG91bGQgbm90IGJlIGF2YWlsYWJs
ZSBhZnRlciBydW5uaW5nIHdkaWZmX3RleHQgaWYgd2RpZmYgaXMgbWlzc2luZy4KLSAgICAgICAg
c2VsZi5hc3NlcnRGYWxzZShwb3J0Ll93ZGlmZl9hdmFpbGFibGUpCi0KLSAgICBkZWYgdGVzdF93
ZGlmZl90ZXh0KHNlbGYpOgotICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQotICAgICAg
ICBwb3J0LndkaWZmX2F2YWlsYWJsZSA9IGxhbWJkYTogVHJ1ZQotICAgICAgICBwb3J0Ll9ydW5f
d2RpZmYgPSBsYW1iZGEgYSwgYjogJ1BBU1MnCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1BB
U1MnLCBwb3J0LndkaWZmX3RleHQoTm9uZSwgTm9uZSkpCiAKICAgICBkZWYgdGVzdF9kaWZmX3Rl
eHQoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IDYzY2MxZTkuLjIzOWU3YTAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CkBAIC0y
OTEsMTAgKzI5MSw2IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2ltYWdlKCdmb28nLCAnYmFyJyksICgn
JywgMCwgJ0ltYWdlRGlmZiBjcmFzaGVkXG4nKSkKICAgICAgICAgcG9ydC5jbGVhbl91cF90ZXN0
X3J1bigpCiAKLSAgICBkZWYgdGVzdF9jaGVja193ZGlmZihzZWxmKToKLSAgICAgICAgcG9ydCA9
IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAgcG9ydC5jaGVja193ZGlmZigpCi0KICAgICBkZWYg
aW50ZWdyYXRpb25fdGVzdF93ZWJzb2NrZXRfc2VydmVyX19ub3JtYWwoc2VsZik6CiAgICAgICAg
IHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0X3NlcnZlcnNfYXJl
X2Rvd24oJ2xvY2FsaG9zdCcsIHNlbGYuV0VCU09DS0VUX1BPUlRTKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvdGVzdC5weQppbmRleCA3NmZlYTNiLi4zNjJhMGU4IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvdGVzdC5weQpAQCAtNDUxLDkgKzQ1MSw2IEBAIGNsYXNzIFRlc3RQb3J0KFBvcnQpOgog
ICAgIGRlZiBvcGVyYXRpbmdfc3lzdGVtKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fb3Bl
cmF0aW5nX3N5c3RlbQogCi0gICAgZGVmIF9wYXRoX3RvX3dkaWZmKHNlbGYpOgotICAgICAgICBy
ZXR1cm4gTm9uZQotCiAgICAgZGVmIGRlZmF1bHRfcmVzdWx0c19kaXJlY3Rvcnkoc2VsZik6CiAg
ICAgICAgIHJldHVybiAnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzJwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>