<?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>33678</bug_id>
          
          <creation_ts>2010-01-14 09:49:53 -0800</creation_ts>
          <short_desc>check-webkit-style: Eliminate error_count global state.</short_desc>
          <delta_ts>2010-01-17 16:04:48 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>33764</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Jerdonek">cjerdonek</reporter>
          <assigned_to name="Chris Jerdonek">cjerdonek</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180753</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-14 09:49:53 -0800</bug_when>
    <thetext>This is part of the FIXME to move more logic from cpp_style.py to checker.py, where appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181473</commentid>
    <comment_count>1</comment_count>
      <attachid>46733</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-15 21:37:07 -0800</bug_when>
    <thetext>Created attachment 46733
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181629</commentid>
    <comment_count>2</comment_count>
      <attachid>46733</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-17 15:39:50 -0800</bug_when>
    <thetext>Comment on attachment 46733
Proposed patch

This patch appears to do a few things at once, but this looks reasonable.  Thanks for the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181633</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-17 15:47:08 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 46733 [details])
&gt; This patch appears to do a few things at once, but this looks reasonable. 
&gt; Thanks for the patch.

Thanks a lot for the weekend review, Adam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181640</commentid>
    <comment_count>4</comment_count>
      <attachid>46733</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-17 16:04:42 -0800</bug_when>
    <thetext>Comment on attachment 46733
Proposed patch

Clearing flags on attachment: 46733

Committed r53374: &lt;http://trac.webkit.org/changeset/53374&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181641</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-17 16:04:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46733</attachid>
            <date>2010-01-15 21:37:07 -0800</date>
            <delta_ts>2010-01-17 16:04:42 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch-33678-1.txt</filename>
            <type>text/plain</type>
            <size>21901</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA3YTM1ODZlLi5lZWE0MzhiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTAtMDEt
MTUgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRWxpbWluYXRlZCB0aGUgZXJyb3Jf
Y291bnQgZ2xvYmFsIHZhcmlhYmxlIGFuZCByZWxhdGVkCisgICAgICAgIGNoZWNrLXdlYmtpdC1z
dHlsZSByZWZhY3RvcmluZy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzM2NzgKKworICAgICAgICAqIFNjcmlwdHMvY2hlY2std2Via2l0LXN0eWxl
OgorICAgICAgICAgIC0gVXBkYXRlZCB0byB1c2Ugd2Via2l0X2FyZ3VtZW50X2RlZmF1bHRzKCku
CisgICAgICAgICAgLSBSZW5hbWVkIHN0eWxlQ2hlY2tlciB0byBzdHlsZV9jaGVja2VyLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5OgorICAgICAgICAgIC0g
UHJlZml4ZWQgdGhlIHRocmVlIGRlZmF1bHQgYXJndW1lbnRzIHdpdGggV0VCS0lUX0RFRkFVTFQu
CisgICAgICAgICAgLSBBZGRlZCB3ZWJraXRfYXJndW1lbnRfZGVmYXVsdHMoKS4KKyAgICAgICAg
ICAtIEFkZGVkIGRlZmF1bHQgZmlsdGVyX3J1bGVzIHBhcmFtZXRlciB0byBDYXRlZ29yeUZpbHRl
ciBjb25zdHJ1Y3Rvci4KKyAgICAgICAgICAtIEFkZGVkIF9fbmVfXygpIHRvIENhdGVnb3J5Rmls
dGVyIGNsYXNzLgorICAgICAgICAgIC0gQWRkZWQgX19lcV9fKCkgYW5kIF9fbmVfXygpIHRvIFBy
b2Nlc3Nvck9wdGlvbnMgY2xhc3MuCisgICAgICAgICAgLSBBZGRlZCBlcnJvcl9jb3VudCBhbmQg
X3dyaXRlX2Vycm9yIGF0dHJpYnV0ZXMgdG8gU3R5bGVDaGVja2VyIGNsYXNzLgorICAgICAgICAg
IC0gTWFkZSBTdHlsZUNoZWNrZXIuX2hhbmRsZV9lcnJvcigpIGluY3JlbWVudCB0aGUgZXJyb3Ig
Y291bnQuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRl
c3QucHk6CisgICAgICAgICAgLSBJbXByb3ZlZCBDYXRlZ29yeUZpbHRlclRlc3QudGVzdF9lcSgp
LgorICAgICAgICAgIC0gQWRkZWQgQ2F0ZWdvcnlGaWx0ZXJUZXN0LnRlc3RfbmUoKS4KKyAgICAg
ICAgICAtIEFkZGVkIHRlc3RfZXEoKSBhbmQgdGVzdF9uZSgpIHRvIFByb2Nlc3Nvck9wdGlvbnNU
ZXN0IGNsYXNzLgorICAgICAgICAgIC0gVXBkYXRlZCB1bml0IHRlc3RzIHRvIHVzZSB3ZWJraXRf
YXJndW1lbnRfZGVmYXVsdHMoKS4KKyAgICAgICAgICAtIEFkZGVkIFN0eWxlQ2hlY2tlclRlc3Qg
Y2xhc3MuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NwcF9zdHlsZS5weToK
KyAgICAgICAgICAtIFJlbW92ZWQgcmVmZXJlbmNlcyB0byBnbG9iYWwgZXJyb3JfY291bnQuCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NwcF9zdHlsZV91bml0dGVzdC5weToK
KyAgICAgICAgICAtIFJlbW92ZWQgQ3BwU3R5bGVTdGF0ZVRlc3QgY2xhc3MuCisKIDIwMTAtMDEt
MTUgIENocmlzIEplcmRvbmVrICA8Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhdmlkIEtpbHplci4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvY2hlY2std2Via2l0LXN0eWxlIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9jaGVjay13ZWJraXQt
c3R5bGUKaW5kZXggYTVhYjQ1MC4uMTQ3NWU2YSAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9jaGVjay13ZWJraXQtc3R5bGUKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9jaGVjay13
ZWJraXQtc3R5bGUKQEAgLTU5LDE4ICs1OSwxNiBAQCBkZWYgbWFpbigpOgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVjcy5nZXR3cml0ZXIoJ3V0ZjgnKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVwbGFjZScpCiAK
LSAgICBkZWZhdWx0cyA9IGNoZWNrZXIuQXJndW1lbnREZWZhdWx0cyhjaGVja2VyLkRFRkFVTFRf
T1VUUFVUX0ZPUk1BVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
aGVja2VyLkRFRkFVTFRfVkVSQk9TSVRZLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNoZWNrZXIuV0VCS0lUX0ZJTFRFUl9SVUxFUykKKyAgICBkZWZhdWx0cyA9IGNo
ZWNrZXIud2Via2l0X2FyZ3VtZW50X2RlZmF1bHRzKCkKIAogICAgIHBhcnNlciA9IGNoZWNrZXIu
QXJndW1lbnRQYXJzZXIoZGVmYXVsdHMpCiAgICAgKGZpbGVzLCBvcHRpb25zKSA9IHBhcnNlci5w
YXJzZShzeXMuYXJndlsxOl0pCiAKLSAgICBzdHlsZUNoZWNrZXIgPSBjaGVja2VyLlN0eWxlQ2hl
Y2tlcihvcHRpb25zKQorICAgIHN0eWxlX2NoZWNrZXIgPSBjaGVja2VyLlN0eWxlQ2hlY2tlcihv
cHRpb25zKQogCiAgICAgaWYgZmlsZXM6CiAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlczoK
LSAgICAgICAgICAgIHN0eWxlQ2hlY2tlci5wcm9jZXNzX2ZpbGUoZmlsZW5hbWUpCisgICAgICAg
ICAgICBzdHlsZV9jaGVja2VyLnByb2Nlc3NfZmlsZShmaWxlbmFtZSkKIAogICAgIGVsc2U6CiAg
ICAgICAgIGN3ZCA9IG9zLnBhdGguYWJzcGF0aCgnLicpCkBAIC04NiwxMCArODQsMTAgQEAgZGVm
IG1haW4oKToKICAgICAgICAgICAgIHBhdGNoID0gc2NtLmNyZWF0ZV9wYXRjaF9zaW5jZV9sb2Nh
bF9jb21taXQoY29tbWl0KQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcGF0Y2ggPSBzY20u
Y3JlYXRlX3BhdGNoKCkKLSAgICAgICAgc3R5bGVDaGVja2VyLnByb2Nlc3NfcGF0Y2gocGF0Y2gp
CisgICAgICAgIHN0eWxlX2NoZWNrZXIucHJvY2Vzc19wYXRjaChwYXRjaCkKIAotICAgIHN5cy5z
dGRlcnIud3JpdGUoJ1RvdGFsIGVycm9ycyBmb3VuZDogJWRcbicgJSBjaGVja2VyLmVycm9yX2Nv
dW50KCkpCi0gICAgc3lzLmV4aXQoY2hlY2tlci5lcnJvcl9jb3VudCgpID4gMCkKKyAgICBzeXMu
c3RkZXJyLndyaXRlKCdUb3RhbCBlcnJvcnMgZm91bmQ6ICVkXG4nICUgc3R5bGVfY2hlY2tlci5l
cnJvcl9jb3VudCkKKyAgICBzeXMuZXhpdChzdHlsZV9jaGVja2VyLmVycm9yX2NvdW50ID4gMCkK
IAogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CmluZGV4IGE2MmQ5YTEuLmM0NmE1NDUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKQEAgLTQxLDggKzQx
LDggQEAgZnJvbSBkaWZmX3BhcnNlciBpbXBvcnQgRGlmZlBhcnNlcgogCiAKICMgVGhlc2UgZGVm
YXVsdHMgYXJlIHVzZWQgYnkgY2hlY2std2Via2l0LXN0eWxlLgotREVGQVVMVF9WRVJCT1NJVFkg
PSAxCi1ERUZBVUxUX09VVFBVVF9GT1JNQVQgPSAnZW1hY3MnCitXRUJLSVRfREVGQVVMVF9WRVJC
T1NJVFkgPSAxCitXRUJLSVRfREVGQVVMVF9PVVRQVVRfRk9STUFUID0gJ2VtYWNzJwogCiAKICMg
RklYTUU6IEZvciBzdHlsZSBjYXRlZ29yaWVzIHdlIHdpbGwgbmV2ZXIgd2FudCB0byBoYXZlLCBy
ZW1vdmUgdGhlbS4KQEAgLTU3LDcgKzU3LDcgQEAgREVGQVVMVF9PVVRQVVRfRk9STUFUID0gJ2Vt
YWNzJwogIyBUaGUgX1dFQktJVF9GSUxURVJfUlVMRVMgYXJlIHByZXBlbmRlZCB0byBhbnkgdXNl
ci1zcGVjaWZpZWQgZmlsdGVyCiAjIHJ1bGVzLiBTaW5jZSBieSBkZWZhdWx0IGFsbCBlcnJvcnMg
YXJlIG9uLCBvbmx5IGluY2x1ZGUgcnVsZXMgdGhhdAogIyBiZWdpbiB3aXRoIGEgLSBzaWduLgot
V0VCS0lUX0ZJTFRFUl9SVUxFUyA9IFsKK1dFQktJVF9ERUZBVUxUX0ZJTFRFUl9SVUxFUyA9IFsK
ICAgICAnLWJ1aWxkL2VuZGlmX2NvbW1lbnQnLAogICAgICctYnVpbGQvaW5jbHVkZV93aGF0X3lv
dV91c2UnLCAgIyA8c3RyaW5nPiBmb3Igc3RkOjpzdHJpbmcKICAgICAnLWJ1aWxkL3N0b3JhZ2Vf
Y2xhc3MnLCAgIyBjb25zdCBzdGF0aWMKQEAgLTE1OCw2ICsxNTgsMTMgQEAgU1RZTEVfQ0FURUdP
UklFUyA9IFsKICAgICBdCiAKIAorZGVmIHdlYmtpdF9hcmd1bWVudF9kZWZhdWx0cygpOgorICAg
ICIiIlJldHVybiB0aGUgRGVmYXVsdEFyZ3VtZW50cyBpbnN0YW5jZSBmb3IgdXNlIGJ5IGNoZWNr
LXdlYmtpdC1zdHlsZS4iIiIKKyAgICByZXR1cm4gQXJndW1lbnREZWZhdWx0cyhXRUJLSVRfREVG
QVVMVF9PVVRQVVRfRk9STUFULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9E
RUZBVUxUX1ZFUkJPU0lUWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfREVG
QVVMVF9GSUxURVJfUlVMRVMpCisKKwogZGVmIF9jcmVhdGVfdXNhZ2UoZGVmYXVsdHMpOgogICAg
ICIiIlJldHVybiB0aGUgdXNhZ2Ugc3RyaW5nIHRvIGRpc3BsYXkgZm9yIGNvbW1hbmQgaGVscC4K
IApAQCAtMjM0LDcgKzI0MSw3IEBAIGNsYXNzIENhdGVnb3J5RmlsdGVyKG9iamVjdCk6CiAKICAg
ICAiIiJGaWx0ZXJzIHdoZXRoZXIgdG8gY2hlY2sgc3R5bGUgY2F0ZWdvcmllcy4iIiIKIAotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBmaWx0ZXJfcnVsZXMpOgorICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBmaWx0ZXJfcnVsZXM9Tm9uZSk6CiAgICAgICAgICIiIkNyZWF0ZSBhIGNhdGVnb3J5IGZpbHRl
ci4KIAogICAgICAgICBUaGlzIG1ldGhvZCBwZXJmb3JtcyBhcmd1bWVudCB2YWxpZGF0aW9uIGJ1
dCBkb2VzIG5vdCBzdHJpcApAQCAtMjQ1LDEyICsyNTIsMTYgQEAgY2xhc3MgQ2F0ZWdvcnlGaWx0
ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBzdHJpbmdzIGJlZ2lubmlu
ZyB3aXRoIHRoZSBwbHVzIG9yIG1pbnVzCiAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2wg
KCsvLSkuIFRoZSBsaXN0IHNob3VsZCBpbmNsdWRlIGFueQogICAgICAgICAgICAgICAgICAgICAg
ICAgZGVmYXVsdCBmaWx0ZXIgcnVsZXMgYXQgdGhlIGJlZ2lubmluZy4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIERlZmF1bHRzIHRvIHRoZSBlbXB0eSBsaXN0LgogCiAgICAgICAgIFJhaXNlczoK
ICAgICAgICAgICBWYWx1ZUVycm9yOiBJbnZhbGlkIGZpbHRlciBydWxlIGlmIGEgcnVsZSBkb2Vz
IG5vdCBzdGFydCB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgcGx1cyAoIisiKSBvciBtaW51
cyAoIi0iKS4KIAogICAgICAgICAiIiIKKyAgICAgICAgaWYgZmlsdGVyX3J1bGVzIGlzIE5vbmU6
CisgICAgICAgICAgICBmaWx0ZXJfcnVsZXMgPSBbXQorCiAgICAgICAgIGZvciBydWxlIGluIGZp
bHRlcl9ydWxlczoKICAgICAgICAgICAgIGlmIG5vdCAocnVsZS5zdGFydHN3aXRoKCcrJykgb3Ig
cnVsZS5zdGFydHN3aXRoKCctJykpOgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Io
J0ludmFsaWQgZmlsdGVyIHJ1bGUgIiVzIjogZXZlcnkgcnVsZSAnCkBAIC0yNjMsMTEgKzI3NCwx
NSBAQCBjbGFzcyBDYXRlZ29yeUZpbHRlcihvYmplY3QpOgogICAgIGRlZiBfX3N0cl9fKHNlbGYp
OgogICAgICAgICByZXR1cm4gIiwiLmpvaW4oc2VsZi5fZmlsdGVyX3J1bGVzKQogCisgICAgIyBV
c2VmdWwgZm9yIHVuaXQgdGVzdGluZy4KICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLSAg
ICAgICAgIyBUaGlzIGlzIHVzZWZ1bCBmb3IgdW5pdCB0ZXN0aW5nLgotICAgICAgICAjIFR3byBj
YXRlZ29yeSBmaWx0ZXJzIGFyZSB0aGUgc2FtZSBpZiBhbmQgb25seSBpZiB0aGVpcgotICAgICAg
ICAjIGNvbnN0aXR1ZW50IGZpbHRlciBydWxlcyBhcmUgdGhlIHNhbWUuCi0gICAgICAgIHJldHVy
biAoc3RyKHNlbGYpID09IHN0cihvdGhlcikpCisgICAgICAgICIiIlJldHVybiB3aGV0aGVyIHRo
aXMgQ2F0ZWdvcnlGaWx0ZXIgaW5zdGFuY2UgaXMgZXF1YWwgdG8gYW5vdGhlci4iIiIKKyAgICAg
ICAgcmV0dXJuIHNlbGYuX2ZpbHRlcl9ydWxlcyA9PSBvdGhlci5fZmlsdGVyX3J1bGVzCisKKyAg
ICAjIFVzZWZ1bCBmb3IgdW5pdCB0ZXN0aW5nLgorICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIp
OgorICAgICAgICAjIFB5dGhvbiBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5IGRlZHVjZSBmcm9tIF9f
ZXFfXygpLgorICAgICAgICByZXR1cm4gbm90IChzZWxmID09IG90aGVyKQogCiAgICAgZGVmIHNo
b3VsZF9jaGVjayhzZWxmLCBjYXRlZ29yeSk6CiAgICAgICAgICIiIlJldHVybiB3aGV0aGVyIHRo
ZSBjYXRlZ29yeSBzaG91bGQgYmUgY2hlY2tlZC4KQEAgLTMyNCw3ICszMzksNyBAQCBjbGFzcyBQ
cm9jZXNzb3JPcHRpb25zKG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG91dHB1dF9m
b3JtYXQ9ImVtYWNzIiwgdmVyYm9zaXR5PTEsIGZpbHRlcj1Ob25lLAogICAgICAgICAgICAgICAg
ICBnaXRfY29tbWl0PU5vbmUsIGV4dHJhX2ZsYWdfdmFsdWVzPU5vbmUpOgogICAgICAgICBpZiBm
aWx0ZXIgaXMgTm9uZToKLSAgICAgICAgICAgIGZpbHRlciA9IENhdGVnb3J5RmlsdGVyKFtdKQor
ICAgICAgICAgICAgZmlsdGVyID0gQ2F0ZWdvcnlGaWx0ZXIoKQogICAgICAgICBpZiBleHRyYV9m
bGFnX3ZhbHVlcyBpcyBOb25lOgogICAgICAgICAgICAgZXh0cmFfZmxhZ192YWx1ZXMgPSB7fQog
CkBAIC0zNDQsNiArMzU5LDI3IEBAIGNsYXNzIFByb2Nlc3Nvck9wdGlvbnMob2JqZWN0KToKICAg
ICAgICAgc2VsZi5naXRfY29tbWl0ID0gZ2l0X2NvbW1pdAogICAgICAgICBzZWxmLmV4dHJhX2Zs
YWdfdmFsdWVzID0gZXh0cmFfZmxhZ192YWx1ZXMKIAorICAgICMgVXNlZnVsIGZvciB1bml0IHRl
c3RpbmcuCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAgICIiIlJldHVybiB3
aGV0aGVyIHRoaXMgUHJvY2Vzc29yT3B0aW9ucyBpbnN0YW5jZSBpcyBlcXVhbCB0byBhbm90aGVy
LiIiIgorICAgICAgICBpZiBzZWxmLm91dHB1dF9mb3JtYXQgIT0gb3RoZXIub3V0cHV0X2Zvcm1h
dDoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBpZiBzZWxmLnZlcmJvc2l0eSAh
PSBvdGhlci52ZXJib3NpdHk6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgaWYg
c2VsZi5maWx0ZXIgIT0gb3RoZXIuZmlsdGVyOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisg
ICAgICAgIGlmIHNlbGYuZ2l0X2NvbW1pdCAhPSBvdGhlci5naXRfY29tbWl0OgorICAgICAgICAg
ICAgcmV0dXJuIEZhbHNlCisgICAgICAgIGlmIHNlbGYuZXh0cmFfZmxhZ192YWx1ZXMgIT0gb3Ro
ZXIuZXh0cmFfZmxhZ192YWx1ZXM6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAg
ICByZXR1cm4gVHJ1ZQorCisgICAgIyBVc2VmdWwgZm9yIHVuaXQgdGVzdGluZy4KKyAgICBkZWYg
X19uZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgIyBQeXRob24gZG9lcyBub3QgYXV0b21hdGlj
YWxseSBkZWR1Y2UgZnJvbSBfX2VxX18oKS4KKyAgICAgICAgcmV0dXJuIG5vdCAoc2VsZiA9PSBv
dGhlcikKKwogICAgIGRlZiBzaG91bGRfcmVwb3J0X2Vycm9yKHNlbGYsIGNhdGVnb3J5LCBjb25m
aWRlbmNlX2luX2Vycm9yKToKICAgICAgICAgIiIiUmV0dXJuIHdoZXRoZXIgYW4gZXJyb3Igc2hv
dWxkIGJlIHJlcG9ydGVkLgogCkBAIC01ODUsMjYgKzYyMSwzOCBAQCBjbGFzcyBBcmd1bWVudFBh
cnNlcihvYmplY3QpOgogCiBjbGFzcyBTdHlsZUNoZWNrZXIob2JqZWN0KToKIAotICAgICIiIlN1
cHBvcnRzIGNoZWNraW5nIHN0eWxlIGluIGZpbGVzIGFuZCBwYXRjaGVzLiIiIgorICAgICIiIlN1
cHBvcnRzIGNoZWNraW5nIHN0eWxlIGluIGZpbGVzIGFuZCBwYXRjaGVzLgorCisgICAgICAgQXR0
cmlidXRlczoKKyAgICAgICAgIGVycm9yX2NvdW50OiBBbiBpbnRlZ2VyIHRoYXQgaXMgdGhlIHRv
dGFsIG51bWJlciBvZiByZXBvcnRlZAorICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyBmb3Ig
dGhlIGxpZmV0aW1lIG9mIHRoaXMgU3R5bGVDaGVja2VyCisgICAgICAgICAgICAgICAgICAgICAg
aW5zdGFuY2UuCisgICAgICAgICBvcHRpb25zOiBBIFByb2Nlc3Nvck9wdGlvbnMgaW5zdGFuY2Ug
dGhhdCBjb250cm9scyB0aGUgYmVoYXZpb3IKKyAgICAgICAgICAgICAgICAgIG9mIHN0eWxlIGNo
ZWNraW5nLgorCisgICAgIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucyk6Cisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnMsIHdyaXRlX2Vycm9yPXN5cy5zdGRlcnIud3Jp
dGUpOgogICAgICAgICAiIiJDcmVhdGUgYSBTdHlsZUNoZWNrZXIgaW5zdGFuY2UuCiAKICAgICAg
ICAgQXJnczoKLSAgICAgICAgICBvcHRpb25zOiBBIFByb2Nlc3Nvck9wdGlvbnMgaW5zdGFuY2Uu
CisgICAgICAgICAgb3B0aW9uczogU2VlIG9wdGlvbnMgYXR0cmlidXRlLgorICAgICAgICAgIHN0
ZGVycl93cml0ZTogQSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgc3RyaW5nIGFzIGEgcGFyYW1ldGVy
CisgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhhdCBpcyBjYWxsZWQgd2hlbiBhIHN0eWxl
IGVycm9yIG9jY3Vycy4KIAogICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fd3JpdGVfZXJyb3Ig
PSB3cml0ZV9lcnJvcgogICAgICAgICBzZWxmLm9wdGlvbnMgPSBvcHRpb25zCisgICAgICAgIHNl
bGYuZXJyb3JfY291bnQgPSAwCiAKICAgICAgICAgIyBGSVhNRTogRWxpbWluYXRlIHRoZSBuZWVk
IHRvIHNldCBnbG9iYWwgc3RhdGUgaGVyZS4KICAgICAgICAgY3BwX3N0eWxlLl9zZXRfdmVyYm9z
ZV9sZXZlbChvcHRpb25zLnZlcmJvc2l0eSkKIAogICAgIGRlZiBfaGFuZGxlX2Vycm9yKHNlbGYs
IGZpbGVuYW1lLCBsaW5lX251bWJlciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1lc3NhZ2UpOgot
ICAgICAgICAiIiJMb2dzIHRoZSBmYWN0IHdlJ3ZlIGZvdW5kIGEgbGludCBlcnJvci4KKyAgICAg
ICAgIiIiSGFuZGxlIHRoZSBvY2N1cnJlbmNlIG9mIGEgc3R5bGUgZXJyb3Igd2hpbGUgY2hlY2tp
bmcuCiAKLSAgICAgICAgV2UgbG9nIHRoZSBlcnJvciBsb2NhdGlvbiBhbmQgb3VyIGNvbmZpZGVu
Y2UgaW4gdGhlIGVycm9yLCBpLmUuCi0gICAgICAgIGhvdyBjZXJ0YWluIHdlIGFyZSB0aGUgZXJy
b3IgaXMgYSBsZWdpdGltYXRlIHN0eWxlIHJlZ3Jlc3Npb24KLSAgICAgICAgdmVyc3VzIGEgbWlz
aWRlbnRpZmljYXRpb24gb3IganVzdGlmaWVkIHVzZS4KKyAgICAgICAgQ2hlY2sgd2hldGhlciBh
biBlcnJvciBzaG91bGQgYmUgcmVwb3J0ZWQuIElmIHNvLCBpbmNyZW1lbnQgdGhlCisgICAgICAg
IGdsb2JhbCBlcnJvciBjb3VudCBhbmQgcmVwb3J0IHRoZSBlcnJvciBkZXRhaWxzLgogCiAgICAg
ICAgIEFyZ3M6CiAgICAgICAgICAgZmlsZW5hbWU6IFRoZSBuYW1lIG9mIHRoZSBmaWxlIGNvbnRh
aW5pbmcgdGhlIGVycm9yLgpAQCAtNjIzLDE1ICs2NzEsMTUgQEAgY2xhc3MgU3R5bGVDaGVja2Vy
KG9iamVjdCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLm9wdGlvbnMuc2hvdWxkX3JlcG9ydF9lcnJv
cihjYXRlZ29yeSwgY29uZmlkZW5jZSk6CiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICAj
IEZJWE1FOiBFbGltaW5hdGUgdGhlIG5lZWQgdG8gcmVmZXJlbmNlIGNwcF9zdHlsZSBoZXJlLgot
ICAgICAgICBjcHBfc3R5bGUuX2NwcF9zdHlsZV9zdGF0ZS5pbmNyZW1lbnRfZXJyb3JfY291bnQo
KQorICAgICAgICBzZWxmLmVycm9yX2NvdW50ICs9IDEKIAogICAgICAgICBpZiBzZWxmLm9wdGlv
bnMub3V0cHV0X2Zvcm1hdCA9PSAndnM3JzoKLSAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUo
JyVzKCVzKTogICVzICBbJXNdIFslZF1cbicgJSAoCi0gICAgICAgICAgICAgICAgZmlsZW5hbWUs
IGxpbmVfbnVtYmVyLCBtZXNzYWdlLCBjYXRlZ29yeSwgY29uZmlkZW5jZSkpCisgICAgICAgICAg
ICBmb3JtYXRfc3RyaW5nID0gIiVzKCVzKTogICVzICBbJXNdIFslZF1cbiIKICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJyVzOiVzOiAgJXMgIFslc10gWyVkXVxu
JyAlICgKLSAgICAgICAgICAgICAgICBmaWxlbmFtZSwgbGluZV9udW1iZXIsIG1lc3NhZ2UsIGNh
dGVnb3J5LCBjb25maWRlbmNlKSkKKyAgICAgICAgICAgIGZvcm1hdF9zdHJpbmcgPSAiJXM6JXM6
ICAlcyAgWyVzXSBbJWRdXG4iCisKKyAgICAgICAgc2VsZi5fd3JpdGVfZXJyb3IoZm9ybWF0X3N0
cmluZyAlIChmaWxlbmFtZSwgbGluZV9udW1iZXIsIG1lc3NhZ2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksIGNvbmZpZGVuY2UpKQogCiAgICAg
ZGVmIHByb2Nlc3NfZmlsZShzZWxmLCBmaWxlbmFtZSk6CiAgICAgICAgICIiIkNoZWNrcyBzdHls
ZSBmb3IgdGhlIHNwZWNpZmllZCBmaWxlLgpAQCAtNjc2LDggKzcyNCwzIEBAIGNsYXNzIFN0eWxl
Q2hlY2tlcihvYmplY3QpOgogICAgICAgICAgICAgICAgIGNwcF9zdHlsZS5wcm9jZXNzX2ZpbGUo
ZmlsZW5hbWUsIGVycm9yX2Zvcl9wYXRjaCkKICAgICAgICAgICAgIGVsaWYgdGV4dF9zdHlsZS5j
YW5faGFuZGxlKGZpbGVuYW1lKToKICAgICAgICAgICAgICAgICB0ZXh0X3N0eWxlLnByb2Nlc3Nf
ZmlsZShmaWxlbmFtZSwgZXJyb3JfZm9yX3BhdGNoKQotCi0KLWRlZiBlcnJvcl9jb3VudCgpOgot
ICAgICIiIlJldHVybnMgdGhlIHRvdGFsIGVycm9yIGNvdW50LiIiIgotICAgIHJldHVybiBjcHBf
c3R5bGUuZXJyb3JfY291bnQoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CmluZGV4IDExZTBmNTIuLjVhNmU2NTAgMTAw
NzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0
dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJf
dW5pdHRlc3QucHkKQEAgLTM5LDYgKzM5LDcgQEAgaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgY2hl
Y2tlciBhcyBzdHlsZQogZnJvbSBjaGVja2VyIGltcG9ydCBDYXRlZ29yeUZpbHRlcgogZnJvbSBj
aGVja2VyIGltcG9ydCBQcm9jZXNzb3JPcHRpb25zCitmcm9tIGNoZWNrZXIgaW1wb3J0IFN0eWxl
Q2hlY2tlcgogCiBjbGFzcyBDYXRlZ29yeUZpbHRlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
CkBAIC00Nyw3ICs0OCw3IEBAIGNsYXNzIENhdGVnb3J5RmlsdGVyVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgZGVmIHRlc3RfaW5pdChzZWxmKToKICAgICAgICAgIiIiVGVzdCBfX2luaXRf
XyBjb25zdHJ1Y3Rvci4iIiIKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwg
Q2F0ZWdvcnlGaWx0ZXIsIFsibm9fcHJlZml4Il0pCi0gICAgICAgIENhdGVnb3J5RmlsdGVyKFtd
KSAjIE5vIFZhbHVlRXJyb3I6IHdvcmtzCisgICAgICAgIENhdGVnb3J5RmlsdGVyKCkgIyBObyBW
YWx1ZUVycm9yOiB3b3JrcwogICAgICAgICBDYXRlZ29yeUZpbHRlcihbIisiXSkgIyBObyBWYWx1
ZUVycm9yOiB3b3JrcwogICAgICAgICBDYXRlZ29yeUZpbHRlcihbIi0iXSkgIyBObyBWYWx1ZUVy
cm9yOiB3b3JrcwogCkBAIC01NywxNiArNTgsMjYgQEAgY2xhc3MgQ2F0ZWdvcnlGaWx0ZXJUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc3RyKGZpbHRl
ciksICIrYSwtYiIpCiAKICAgICBkZWYgdGVzdF9lcShzZWxmKToKLSAgICAgICAgIiIiVGVzdCBf
X2VxX18gZXF1YWxpdHkgb3BlcmF0b3IuIiIiCisgICAgICAgICIiIlRlc3QgX19lcV9fIGVxdWFs
aXR5IGZ1bmN0aW9uLiIiIgogICAgICAgICBmaWx0ZXIxID0gQ2F0ZWdvcnlGaWx0ZXIoWyIrYSIs
ICIrYiJdKQogICAgICAgICBmaWx0ZXIyID0gQ2F0ZWdvcnlGaWx0ZXIoWyIrYSIsICIrYiJdKQog
ICAgICAgICBmaWx0ZXIzID0gQ2F0ZWdvcnlGaWx0ZXIoWyIrYiIsICIrYSJdKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhmaWx0ZXIxLCBmaWx0ZXIyKQotICAgICAgICBzZWxmLmFzc2VydE5v
dEVxdWFscyhmaWx0ZXIxLCBmaWx0ZXIzKQorCisgICAgICAgICMgPT0gY2FsbHMgX19lcV9fLgor
ICAgICAgICBzZWxmLmFzc2VydFRydWUoZmlsdGVyMSA9PSBmaWx0ZXIyKQorICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKGZpbHRlcjEgPT0gZmlsdGVyMykgIyBDYW5ub3QgdGVzdCB3aXRoIGFzc2Vy
dE5vdEVxdWFsLgorCisgICAgZGVmIHRlc3RfbmUoc2VsZik6CisgICAgICAgICIiIlRlc3QgX19u
ZV9fIGluZXF1YWxpdHkgZnVuY3Rpb24uIiIiCisgICAgICAgICMgIT0gY2FsbHMgX19uZV9fLgor
ICAgICAgICAjIEJ5IGRlZmF1bHQsIF9fbmVfXyBhbHdheXMgcmV0dXJucyB0cnVlIG9uIGRpZmZl
cmVudCBvYmplY3RzLgorICAgICAgICAjIFRodXMsIGp1c3QgY2hlY2sgdGhlIGRpc3Rpbmd1aXNo
aW5nIGNhc2UgdG8gdmVyaWZ5IHRoYXQgdGhlCisgICAgICAgICMgY29kZSBkZWZpbmVzIF9fbmVf
Xy4KKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShDYXRlZ29yeUZpbHRlcigpICE9IENhdGVnb3J5
RmlsdGVyKCkpCiAKICAgICBkZWYgdGVzdF9zaG91bGRfY2hlY2soc2VsZik6CiAgICAgICAgICIi
IlRlc3Qgc2hvdWxkX2NoZWNrKCkgbWV0aG9kLiIiIgotICAgICAgICBmaWx0ZXIgPSBDYXRlZ29y
eUZpbHRlcihbXSkKKyAgICAgICAgZmlsdGVyID0gQ2F0ZWdvcnlGaWx0ZXIoKQogICAgICAgICBz
ZWxmLmFzc2VydFRydWUoZmlsdGVyLnNob3VsZF9jaGVjaygiZXZlcnl0aGluZyIpKQogICAgICAg
ICAjIENoZWNrIGEgc2Vjb25kIHRpbWUgdG8gZXhlcmNpc2UgY2FjaGUuCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShmaWx0ZXIuc2hvdWxkX2NoZWNrKCJldmVyeXRoaW5nIikpCkBAIC05NCwxMSAr
MTA1LDEyIEBAIGNsYXNzIFByb2Nlc3Nvck9wdGlvbnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgIyBDaGVjayBkZWZhdWx0IHBhcmFtZXRlcnMuCiAgICAgICAgIG9wdGlvbnMgPSBQ
cm9jZXNzb3JPcHRpb25zKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0aW9ucy5leHRy
YV9mbGFnX3ZhbHVlcywge30pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9wdGlvbnMuZmls
dGVyLCBDYXRlZ29yeUZpbHRlcihbXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9wdGlv
bnMuZmlsdGVyLCBDYXRlZ29yeUZpbHRlcigpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhv
cHRpb25zLmdpdF9jb21taXQsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9wdGlv
bnMub3V0cHV0X2Zvcm1hdCwgImVtYWNzIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3B0
aW9ucy52ZXJib3NpdHksIDEpCiAKKyAgICAgICAgIyBDaGVjayBhcmd1bWVudCB2YWxpZGF0aW9u
LgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBQcm9jZXNzb3JPcHRpb25z
LCBvdXRwdXRfZm9ybWF0PSJiYWQiKQogICAgICAgICBQcm9jZXNzb3JPcHRpb25zKG91dHB1dF9m
b3JtYXQ9ImVtYWNzIikgIyBObyBWYWx1ZUVycm9yOiB3b3JrcwogICAgICAgICBQcm9jZXNzb3JP
cHRpb25zKG91dHB1dF9mb3JtYXQ9InZzNyIpICMgd29ya3MKQEAgLTExOSw2ICsxMzEsMzEgQEAg
Y2xhc3MgUHJvY2Vzc29yT3B0aW9uc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhvcHRpb25zLm91dHB1dF9mb3JtYXQsICJ2czciKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhvcHRpb25zLnZlcmJvc2l0eSwgMykKIAorICAgIGRlZiB0ZXN0X2Vx
KHNlbGYpOgorICAgICAgICAiIiJUZXN0IF9fZXFfXyBlcXVhbGl0eSBmdW5jdGlvbi4iIiIKKyAg
ICAgICAgIyA9PSBjYWxscyBfX2VxX18uCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShQcm9jZXNz
b3JPcHRpb25zKCkgPT0gUHJvY2Vzc29yT3B0aW9ucygpKQorCisgICAgICAgICMgVmVyaWZ5IHRo
YXQgYSBkaWZmZXJlbmNlIGluIGFueSBhcmd1bWVudCBjYXVzZSBlcXVhbGl0eSB0byBmYWlsLgor
ICAgICAgICBvcHRpb25zID0gUHJvY2Vzc29yT3B0aW9ucyhleHRyYV9mbGFnX3ZhbHVlcz17ImV4
dHJhX3ZhbHVlIiA6IDF9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0
ZXI9Q2F0ZWdvcnlGaWx0ZXIoWyIrIl0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnaXRfY29tbWl0PSJjb21taXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvdXRwdXRfZm9ybWF0PSJ2czciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2ZXJib3NpdHk9MSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcHRpb25zID09IFBy
b2Nlc3Nvck9wdGlvbnMoZXh0cmFfZmxhZ192YWx1ZXM9eyJleHRyYV92YWx1ZSIgOiAyfSkpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3B0aW9ucyA9PSBQcm9jZXNzb3JPcHRpb25zKGZpbHRl
cj1DYXRlZ29yeUZpbHRlcihbIi0iXSkpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9wdGlv
bnMgPT0gUHJvY2Vzc29yT3B0aW9ucyhnaXRfY29tbWl0PSJjb21taXQyIikpCisgICAgICAgIHNl
bGYuYXNzZXJ0RmFsc2Uob3B0aW9ucyA9PSBQcm9jZXNzb3JPcHRpb25zKG91dHB1dF9mb3JtYXQ9
ImVtYWNzIikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3B0aW9ucyA9PSBQcm9jZXNzb3JP
cHRpb25zKHZlcmJvc2l0eT0yKSkKKworICAgIGRlZiB0ZXN0X25lKHNlbGYpOgorICAgICAgICAi
IiJUZXN0IF9fbmVfXyBpbmVxdWFsaXR5IGZ1bmN0aW9uLiIiIgorICAgICAgICAjICE9IGNhbGxz
IF9fbmVfXy4KKyAgICAgICAgIyBCeSBkZWZhdWx0LCBfX25lX18gYWx3YXlzIHJldHVybnMgdHJ1
ZSBvbiBkaWZmZXJlbnQgb2JqZWN0cy4KKyAgICAgICAgIyBUaHVzLCBqdXN0IGNoZWNrIHRoZSBk
aXN0aW5ndWlzaGluZyBjYXNlIHRvIHZlcmlmeSB0aGF0IHRoZQorICAgICAgICAjIGNvZGUgZGVm
aW5lcyBfX25lX18uCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoUHJvY2Vzc29yT3B0aW9ucygp
ICE9IFByb2Nlc3Nvck9wdGlvbnMoKSkKKwogICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXBvcnRfZXJy
b3Ioc2VsZik6CiAgICAgICAgICIiIlRlc3Qgc2hvdWxkX3JlcG9ydF9lcnJvcigpLiIiIgogICAg
ICAgICBmaWx0ZXIgPSBDYXRlZ29yeUZpbHRlcihbIi14eXoiXSkKQEAgLTEzMywyNyArMTcwLDMx
IEBAIGNsYXNzIFByb2Nlc3Nvck9wdGlvbnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZShvcHRpb25zLnNob3VsZF9yZXBvcnRfZXJyb3IoInh5eiIsIDMp
KQogCiAKLWNsYXNzIERlZmF1bHRBcmd1bWVudHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKK2Ns
YXNzIFdlYktpdEFyZ3VtZW50RGVmYXVsdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAg
ICIiIlRlc3RzIHZhbGlkaXR5IG9mIGRlZmF1bHQgYXJndW1lbnRzIHVzZWQgYnkgY2hlY2std2Vi
a2l0LXN0eWxlLiIiIgogCisgICAgZGVmIGRlZmF1bHRzKHNlbGYpOgorICAgICAgICByZXR1cm4g
c3R5bGUud2Via2l0X2FyZ3VtZW50X2RlZmF1bHRzKCkKKwogICAgIGRlZiB0ZXN0X2ZpbHRlcl9y
dWxlcyhzZWxmKToKKyAgICAgICAgZGVmYXVsdHMgPSBzZWxmLmRlZmF1bHRzKCkKICAgICAgICAg
YWxyZWFkeV9zZWVuID0gW10KLSAgICAgICAgZm9yIHJ1bGUgaW4gc3R5bGUuV0VCS0lUX0ZJTFRF
Ul9SVUxFUzoKKyAgICAgICAgZm9yIHJ1bGUgaW4gZGVmYXVsdHMuZmlsdGVyX3J1bGVzOgogICAg
ICAgICAgICAgIyBDaGVjayBubyBsZWFkaW5nIG9yIHRyYWlsaW5nIHdoaXRlIHNwYWNlLgogICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocnVsZSwgcnVsZS5zdHJpcCgpKQogICAgICAgICAg
ICAgIyBBbGwgY2F0ZWdvcmllcyBhcmUgb24gYnkgZGVmYXVsdCwgc28gZGVmYXVsdHMgc2hvdWxk
CiAgICAgICAgICAgICAjIGJlZ2luIHdpdGggLS4KICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShydWxlLnN0YXJ0c3dpdGgoJy0nKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShydWxl
WzE6XSBpbiBzdHlsZS5TVFlMRV9DQVRFR09SSUVTKQorICAgICAgICAgICAgIyBDaGVjayBubyBy
dWxlIG9jY3VycyB0d2ljZS4KICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnVsZSBpbiBh
bHJlYWR5X3NlZW4pCiAgICAgICAgICAgICBhbHJlYWR5X3NlZW4uYXBwZW5kKHJ1bGUpCiAKICAg
ICBkZWYgdGVzdF9kZWZhdWx0cyhzZWxmKToKICAgICAgICAgIiIiQ2hlY2sgdGhhdCBkZWZhdWx0
IGFyZ3VtZW50cyBhcmUgdmFsaWQuIiIiCi0gICAgICAgIGRlZmF1bHRzID0gc3R5bGUuQXJndW1l
bnREZWZhdWx0cyhzdHlsZS5ERUZBVUxUX09VVFBVVF9GT1JNQVQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZS5ERUZBVUxUX1ZFUkJPU0lUWSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlLldFQktJVF9GSUxURVJf
UlVMRVMpCisgICAgICAgIGRlZmF1bHRzID0gc2VsZi5kZWZhdWx0cygpCisKICAgICAgICAgIyBG
SVhNRTogV2Ugc2hvdWxkIG5vdCBuZWVkIHRvIGNhbGwgcGFyc2UoKSB0byBkZXRlcm1pbmUKICAg
ICAgICAgIyAgICAgICAgd2hldGhlciB0aGUgZGVmYXVsdCBhcmd1bWVudHMgYXJlIHZhbGlkLgog
ICAgICAgICBwYXJzZXIgPSBzdHlsZS5Bcmd1bWVudFBhcnNlcihkZWZhdWx0cykKQEAgLTMxMSw2
ICszNTIsNjggQEAgY2xhc3MgQXJndW1lbnRQYXJzZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZmlsZXMsIFsnZm9vLmNwcCcsICdiYXIuY3BwJ10p
CiAKIAorY2xhc3MgU3R5bGVDaGVja2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICAi
IiJUZXN0IHRoZSBTdHlsZUNoZWNrZXIgY2xhc3MuCisKKyAgICBBdHRyaWJ1dGVzOgorICAgICAg
ZXJyb3JfbWVzc2FnZTogQSBzdHJpbmcgdGhhdCBpcyB0aGUgbGFzdCBlcnJvciBtZXNzYWdlIHJl
cG9ydGVkCisgICAgICAgICAgICAgICAgICAgICBieSB0aGUgdGVzdCBTdHlsZUNoZWNrZXIgaW5z
dGFuY2UuCisKKyAgICAiIiIKKworICAgIGVycm9yX21lc3NhZ2UgPSAiIgorCisgICAgZGVmIG1v
Y2tfd3JpdGVfZXJyb3Ioc2VsZiwgZXJyb3JfbWVzc2FnZSk6CisgICAgICAgICIiIlN0b3JlIGFu
IGVycm9yIG1lc3NhZ2Ugd2l0aG91dCBwcmludGluZyBpdC4iIiIKKyAgICAgICAgc2VsZi5lcnJv
cl9tZXNzYWdlID0gZXJyb3JfbWVzc2FnZQorICAgICAgICBwYXNzCisKKyAgICBkZWYgc3R5bGVf
Y2hlY2tlcihzZWxmLCBvcHRpb25zKToKKyAgICAgICAgcmV0dXJuIFN0eWxlQ2hlY2tlcihvcHRp
b25zLCBzZWxmLm1vY2tfd3JpdGVfZXJyb3IpCisKKyAgICBkZWYgdGVzdF9pbml0KHNlbGYpOgor
ICAgICAgICAiIiJUZXN0IF9faW5pdF9fIGNvbnN0cnVjdG9yLiIiIgorICAgICAgICBvcHRpb25z
ID0gUHJvY2Vzc29yT3B0aW9ucygpCisgICAgICAgIHN0eWxlX2NoZWNrZXIgPSBzZWxmLnN0eWxl
X2NoZWNrZXIob3B0aW9ucykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzdHlsZV9jaGVj
a2VyLmVycm9yX2NvdW50LCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzdHlsZV9jaGVj
a2VyLm9wdGlvbnMsIG9wdGlvbnMpCisKKyAgICBkZWYgd3JpdGVfc2FtcGxlX2Vycm9yKHNlbGYs
IHN0eWxlX2NoZWNrZXIsIGVycm9yX2NvbmZpZGVuY2UpOgorICAgICAgICAiIiJXcml0ZSBhbiBl
cnJvciB0byB0aGUgZ2l2ZW4gc3R5bGVfY2hlY2tlci4iIiIKKyAgICAgICAgc3R5bGVfY2hlY2tl
ci5faGFuZGxlX2Vycm9yKGZpbGVuYW1lPSJmaWxlbmFtZSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lX251bWJlcj0xLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY2F0ZWdvcnk9ImNhdGVnb3J5IiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbmZpZGVuY2U9ZXJyb3JfY29uZmlkZW5jZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9Im1lc3NhZ2UiKQorCisgICAgZGVmIHRlc3Rf
aGFuZGxlX2Vycm9yKHNlbGYpOgorICAgICAgICAiIiJUZXN0IF9oYW5kbGVyX2Vycm9yKCkgZnVu
Y3Rpb24uIiIiCisgICAgICAgIG9wdGlvbnMgPSBQcm9jZXNzb3JPcHRpb25zKG91dHB1dF9mb3Jt
YXQ9ImVtYWNzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyYm9zaXR5
PTMpCisgICAgICAgIHN0eWxlX2NoZWNrZXIgPSBzZWxmLnN0eWxlX2NoZWNrZXIob3B0aW9ucykK
KworICAgICAgICAjIFZlcmlmeSBpbml0aWFsaXplZCBwcm9wZXJseS4KKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMoc3R5bGVfY2hlY2tlci5lcnJvcl9jb3VudCwgMCkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMoc2VsZi5lcnJvcl9tZXNzYWdlLCAiIikKKworICAgICAgICAjIENoZWNrIHRo
YXQgc2hvdWxkX3ByaW50X2Vycm9yIGlzIGdldHRpbmcgY2FsbGVkIGFwcHJvcHJpYXRlbHkuCisg
ICAgICAgIHNlbGYud3JpdGVfc2FtcGxlX2Vycm9yKHN0eWxlX2NoZWNrZXIsIDIpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHN0eWxlX2NoZWNrZXIuZXJyb3JfY291bnQsIDApICMgRXJyb3Ig
Y29uZmlkZW5jZSB0b28gbG93LgorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWxmLmVycm9y
X21lc3NhZ2UsICIiKQorCisgICAgICAgIHNlbGYud3JpdGVfc2FtcGxlX2Vycm9yKHN0eWxlX2No
ZWNrZXIsIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHN0eWxlX2NoZWNrZXIuZXJyb3Jf
Y291bnQsIDEpICMgRXJyb3IgY29uZmlkZW5jZSBqdXN0IGhpZ2ggZW5vdWdoLgorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhzZWxmLmVycm9yX21lc3NhZ2UsICJmaWxlbmFtZToxOiAgbWVzc2Fn
ZSAgW2NhdGVnb3J5XSBbM11cbiIpCisKKyAgICAgICAgIyBDaGVjayAidnM3IiBvdXRwdXQgZm9y
bWF0LgorICAgICAgICBzdHlsZV9jaGVja2VyLm9wdGlvbnMub3V0cHV0X2Zvcm1hdCA9ICJ2czci
CisgICAgICAgIHNlbGYud3JpdGVfc2FtcGxlX2Vycm9yKHN0eWxlX2NoZWNrZXIsIDMpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHN0eWxlX2NoZWNrZXIuZXJyb3JfY291bnQsIDIpICMgRXJy
b3IgY29uZmlkZW5jZSBqdXN0IGhpZ2ggZW5vdWdoLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cyhzZWxmLmVycm9yX21lc3NhZ2UsICJmaWxlbmFtZSgxKTogIG1lc3NhZ2UgIFtjYXRlZ29yeV0g
WzNdXG4iKQorCisKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgaW1wb3J0IHN5cwog
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NwcF9zdHls
ZS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY3BwX3N0eWxlLnB5Cmlu
ZGV4IDQ2OWQyZTAuLjM5NDBhNzUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvc3R5bGUvY3BwX3N0eWxlLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvc3R5bGUvY3BwX3N0eWxlLnB5CkBAIC0yNDcsNyArMjQ3LDYgQEAgY2xhc3MgX0NwcFN0eWxl
U3RhdGUob2JqZWN0KToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgc2VsZi52
ZXJib3NlX2xldmVsID0gMSAgIyBnbG9iYWwgc2V0dGluZy4KLSAgICAgICAgc2VsZi5lcnJvcl9j
b3VudCA9IDAgICAgIyBnbG9iYWwgY291bnQgb2YgcmVwb3J0ZWQgZXJyb3JzCiAKICAgICBkZWYg
c2V0X3ZlcmJvc2VfbGV2ZWwoc2VsZiwgbGV2ZWwpOgogICAgICAgICAiIiJTZXRzIHRoZSBtb2R1
bGUncyB2ZXJib3NpdHksIGFuZCByZXR1cm5zIHRoZSBwcmV2aW91cyBzZXR0aW5nLiIiIgpAQCAt
MjU1LDE0ICsyNTQsNiBAQCBjbGFzcyBfQ3BwU3R5bGVTdGF0ZShvYmplY3QpOgogICAgICAgICBz
ZWxmLnZlcmJvc2VfbGV2ZWwgPSBsZXZlbAogICAgICAgICByZXR1cm4gbGFzdF92ZXJib3NlX2xl
dmVsCiAKLSAgICBkZWYgcmVzZXRfZXJyb3JfY291bnQoc2VsZik6Ci0gICAgICAgICIiIlNldHMg
dGhlIG1vZHVsZSdzIGVycm9yIHN0YXRpc3RpYyBiYWNrIHRvIHplcm8uIiIiCi0gICAgICAgIHNl
bGYuZXJyb3JfY291bnQgPSAwCi0KLSAgICBkZWYgaW5jcmVtZW50X2Vycm9yX2NvdW50KHNlbGYp
OgotICAgICAgICAiIiJCdW1wcyB0aGUgbW9kdWxlJ3MgZXJyb3Igc3RhdGlzdGljLiIiIgotICAg
ICAgICBzZWxmLmVycm9yX2NvdW50ICs9IDEKLQogCiBfY3BwX3N0eWxlX3N0YXRlID0gX0NwcFN0
eWxlU3RhdGUoKQogCkBAIC0yNzcsMTEgKzI2OCw2IEBAIGRlZiBfc2V0X3ZlcmJvc2VfbGV2ZWwo
bGV2ZWwpOgogICAgIHJldHVybiBfY3BwX3N0eWxlX3N0YXRlLnNldF92ZXJib3NlX2xldmVsKGxl
dmVsKQogCiAKLWRlZiBlcnJvcl9jb3VudCgpOgotICAgICIiIlJldHVybnMgdGhlIGdsb2JhbCBj
b3VudCBvZiByZXBvcnRlZCBlcnJvcnMuIiIiCi0gICAgcmV0dXJuIF9jcHBfc3R5bGVfc3RhdGUu
ZXJyb3JfY291bnQKLQotCiBjbGFzcyBfRnVuY3Rpb25TdGF0ZShvYmplY3QpOgogICAgICIiIlRy
YWNrcyBjdXJyZW50IGZ1bmN0aW9uIG5hbWUgYW5kIHRoZSBudW1iZXIgb2YgbGluZXMgaW4gaXRz
IGJvZHkuIiIiCiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5
bGUvY3BwX3N0eWxlX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9z
dHlsZS9jcHBfc3R5bGVfdW5pdHRlc3QucHkKaW5kZXggY2Q3MDJkMi4uNGQyZjJlNiAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jcHBfc3R5bGVfdW5pdHRl
c3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jcHBfc3R5bGVf
dW5pdHRlc3QucHkKQEAgLTI2MTksMTYgKzI2MTksNiBAQCBjbGFzcyBOb05vblZpcnR1YWxEZXN0
cnVjdG9yc1Rlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAgICAgICAgICAgICAgJ3ZpcnR1YWwgbWV0
aG9kKHMpLCBvbmUgZGVjbGFyZWQgYXQgbGluZSAyLiAgW3J1bnRpbWUvdmlydHVhbF0gWzRdJ10p
CiAKIAotY2xhc3MgQ3BwU3R5bGVTdGF0ZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGRl
ZiB0ZXN0X2Vycm9yX2NvdW50KHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydEVxdWFscygwLCBj
cHBfc3R5bGUuZXJyb3JfY291bnQoKSkKLSAgICAgICAgY3BwX3N0eWxlLl9jcHBfc3R5bGVfc3Rh
dGUuaW5jcmVtZW50X2Vycm9yX2NvdW50KCkKLSAgICAgICAgY3BwX3N0eWxlLl9jcHBfc3R5bGVf
c3RhdGUuaW5jcmVtZW50X2Vycm9yX2NvdW50KCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
MiwgY3BwX3N0eWxlLmVycm9yX2NvdW50KCkpCi0gICAgICAgIGNwcF9zdHlsZS5fY3BwX3N0eWxl
X3N0YXRlLnJlc2V0X2Vycm9yX2NvdW50KCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoMCwg
Y3BwX3N0eWxlLmVycm9yX2NvdW50KCkpCi0KLQogY2xhc3MgV2ViS2l0U3R5bGVUZXN0KENwcFN0
eWxlVGVzdEJhc2UpOgogCiAgICAgIyBmb3IgaHR0cDovL3dlYmtpdC5vcmcvY29kaW5nL2NvZGlu
Zy1zdHlsZS5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>