<?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>172928</bug_id>
          
          <creation_ts>2017-06-05 11:29:48 -0700</creation_ts>
          <short_desc>webkitpy: Abstract Executive class</short_desc>
          <delta_ts>2017-06-05 16:01:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>lforschler</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1315729</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-05 11:29:48 -0700</bug_when>
    <thetext>We should abstract the Executive class so to make it straightforward to define derived classes. This will be useful to support iOS on-device testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315730</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-06-05 11:30:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/32569531&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315731</commentid>
    <comment_count>2</comment_count>
      <attachid>312019</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-05 11:35:53 -0700</bug_when>
    <thetext>Created attachment 312019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315742</commentid>
    <comment_count>3</comment_count>
      <attachid>312019</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-06-05 12:30:11 -0700</bug_when>
    <thetext>Comment on attachment 312019
Patch

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

&gt; Tools/Scripts/webkitpy/common/system/abstractexecutive.py:120
&gt; +    def run_command(self,
&gt; +                    args,

Nit: Wrong indentation. Arguments should be indented by exactly 4 spaces.
But I don&apos;t think we need to wrap for each argument like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315807</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-05 16:01:32 -0700</bug_when>
    <thetext>Committed r217801: &lt;http://trac.webkit.org/changeset/217801&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312019</attachid>
            <date>2017-06-05 11:35:53 -0700</date>
            <delta_ts>2017-06-05 12:30:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172928-20170605113552.patch</filename>
            <type>text/plain</type>
            <size>12504</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3Nzg5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWMwYWEwZGNiY2I5NDhkMWIzZDQ0MGM3ZThkZjVmNDEz
ZThmZjY1MC4uY2EzMjM2OTJiZWZjZTk0MTViMTAyYTNhMjEwNzRjNjFjMmQ5MDgwZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4
IEBACisyMDE3LTA2LTA1ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICB3ZWJraXRweTogQWJzdHJhY3QgRXhlY3V0aXZlIGNsYXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI5MjgKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMyNTY5NTMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZHMgYW4gQWJzdHJhY3RFeGVjdXRpdmUgY2xhc3MgYW5kIG1ha2VzIEV4ZWN1
dGl2ZSBleHRlbmQgQWJzdHJhY3RFeGVjdXRpdmUuCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIGl0
IHN0cmFpZ2h0Zm9yd2FyZCB0byBjcmVhdGUgYWRkaXRpb25hbCBkZXJpdmVkIGNsYXNzZXMgdGhh
dAorICAgICAgICBhZGhlcmUgdG8gdGhlIHNhbWUgaW50ZXJmYWNlLCBzYXkgZm9yIGlPUyBvbi1k
ZXZpY2UgdGVzdGluZy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS9hYnN0cmFjdGV4ZWN1dGl2ZS5weTogQWRkZWQuCisgICAgICAgIChBYnN0cmFjdEV4ZWN1dGl2
ZSk6CisgICAgICAgIChBYnN0cmFjdEV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwpOgor
ICAgICAgICAoQWJzdHJhY3RFeGVjdXRpdmUuY3B1X2NvdW50KToKKyAgICAgICAgKEFic3RyYWN0
RXhlY3V0aXZlLmludGVycHJldGVyX2Zvcl9zY3JpcHQpOgorICAgICAgICAoQWJzdHJhY3RFeGVj
dXRpdmUuc2hlbGxfY29tbWFuZF9mb3Jfc2NyaXB0KToKKyAgICAgICAgKEFic3RyYWN0RXhlY3V0
aXZlLmtpbGxfcHJvY2Vzcyk6CisgICAgICAgIChBYnN0cmFjdEV4ZWN1dGl2ZS5jaGVja19ydW5u
aW5nX3BpZCk6CisgICAgICAgIChBYnN0cmFjdEV4ZWN1dGl2ZS5ydW5uaW5nX3BpZHMpOgorICAg
ICAgICAoQWJzdHJhY3RFeGVjdXRpdmUud2FpdF9uZXdlc3QpOgorICAgICAgICAoQWJzdHJhY3RF
eGVjdXRpdmUud2FpdF9saW1pdGVkKToKKyAgICAgICAgKEFic3RyYWN0RXhlY3V0aXZlLmludGVy
cnVwdCk6CisgICAgICAgIChBYnN0cmFjdEV4ZWN1dGl2ZS5kZWZhdWx0X2Vycm9yX2hhbmRsZXIp
OgorICAgICAgICAoQWJzdHJhY3RFeGVjdXRpdmUuaWdub3JlX2Vycm9yKToKKyAgICAgICAgKEFi
c3RyYWN0RXhlY3V0aXZlLl9zdHJpbmdpZnlfYXJncyk6CisgICAgICAgIChBYnN0cmFjdEV4ZWN1
dGl2ZS5jb21tYW5kX2Zvcl9wcmludGluZyk6CisgICAgICAgIChBYnN0cmFjdEV4ZWN1dGl2ZS5y
dW5fY29tbWFuZCk6CisgICAgICAgIChBYnN0cmFjdEV4ZWN1dGl2ZS5wb3Blbik6CisgICAgICAg
IChBYnN0cmFjdEV4ZWN1dGl2ZS5ydW5faW5fcGFyYWxsZWwpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6CisgICAgICAgIChFeGVjdXRpdmUp
OgorICAgICAgICAoRXhlY3V0aXZlLmNwdV9jb3VudCk6CisgICAgICAgIChFeGVjdXRpdmUucnVu
bmluZ19waWRzKToKKyAgICAgICAgKEV4ZWN1dGl2ZS5raWxsX2FsbCk6CisgICAgICAgIChFeGVj
dXRpdmUuX2NvbXB1dGVfc3RkaW4pOgorICAgICAgICAoRXhlY3V0aXZlLmludGVycHJldGVyX2Zv
cl9zY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAoRXhlY3V0aXZlLnNoZWxsX2NvbW1hbmRfZm9y
X3NjcmlwdCk6IERlbGV0ZWQuCisgICAgICAgIChFeGVjdXRpdmUud2FpdF9uZXdlc3QpOiBEZWxl
dGVkLgorICAgICAgICAoRXhlY3V0aXZlLndhaXRfbGltaXRlZCk6IERlbGV0ZWQuCisgICAgICAg
IChFeGVjdXRpdmUuZGVmYXVsdF9lcnJvcl9oYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKEV4
ZWN1dGl2ZS5pZ25vcmVfZXJyb3IpOiBEZWxldGVkLgorICAgICAgICAoRXhlY3V0aXZlLmNvbW1h
bmRfZm9yX3ByaW50aW5nKTogRGVsZXRlZC4KKwogMjAxNy0wNi0wNSAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiBtX2N1
cnJlbnRTY3JpcHRDYWxsYmFja0lEIGluIFVJU2NyaXB0Q29udGV4dDo6cmVxdWVzdFVJU2NyaXB0
Q29tcGxldGlvbihKU1N0cmluZ1JlZikgcnVubmluZyBmYXN0L2V2ZW50cy9pb3MvYXV0b2NvcnJl
Y3Qtd2l0aC1yYW5nZS1zZWxlY3Rpb24uaHRtbApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2Fic3RyYWN0ZXhlY3V0aXZlLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2Fic3RyYWN0ZXhlY3V0aXZlLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ4N2MzMzFmYmVlMWE4Y2Q3YjVmMDIwNTBiOGE3NmVlYmQxYjhlZTYKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vYWJzdHJhY3RleGVjdXRp
dmUucHkKQEAgLTAsMCArMSwxMzQgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyMg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisjIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgorIyBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwor
IyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworaW1wb3J0IHN5cworaW1wb3J0IHRpbWUKKworZnJvbSB3ZWJraXRweS5jb21tb24u
c3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0ZW0KKworCitjbGFzcyBBYnN0cmFjdEV4
ZWN1dGl2ZShvYmplY3QpOgorCisgICAgZGVmIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChzZWxmLCBh
cmdzLCBxdWlldD1GYWxzZSwgZGVjb2RlX291dHB1dD1UcnVlLCAqKmt3YXJncyk6CisgICAgICAg
IHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ3N1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQnKQor
CisgICAgZGVmIGNwdV9jb3VudChzZWxmKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRF
cnJvcignc3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCcpCisKKyAgICBAc3RhdGljbWV0aG9kCisg
ICAgZGVmIGludGVycHJldGVyX2Zvcl9zY3JpcHQoc2NyaXB0X3BhdGgsIGZzPU5vbmUpOgorICAg
ICAgICBmcyA9IGZzIG9yIEZpbGVTeXN0ZW0oKQorICAgICAgICBsaW5lcyA9IGZzLnJlYWRfdGV4
dF9maWxlKHNjcmlwdF9wYXRoKS5zcGxpdGxpbmVzKCkKKyAgICAgICAgaWYgbm90IGxlbihsaW5l
cyk6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBmaXJzdF9saW5lID0gbGluZXNb
MF0KKyAgICAgICAgaWYgbm90IGZpcnN0X2xpbmUuc3RhcnRzd2l0aCgnIyEnKToKKyAgICAgICAg
ICAgIHJldHVybiBOb25lCisgICAgICAgIGlmIGZpcnN0X2xpbmUuZmluZCgncHl0aG9uJykgPiAt
MToKKyAgICAgICAgICAgIHJldHVybiBzeXMuZXhlY3V0YWJsZQorICAgICAgICBpZiBmaXJzdF9s
aW5lLmZpbmQoJ3BlcmwnKSA+IC0xOgorICAgICAgICAgICAgcmV0dXJuICdwZXJsJworICAgICAg
ICBpZiBmaXJzdF9saW5lLmZpbmQoJ3J1YnknKSA+IC0xOgorICAgICAgICAgICAgcmV0dXJuICdy
dWJ5JworICAgICAgICByZXR1cm4gTm9uZQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBz
aGVsbF9jb21tYW5kX2Zvcl9zY3JpcHQoc2NyaXB0X3BhdGgsIGZzPU5vbmUpOgorICAgICAgICBm
cyA9IGZzIG9yIEZpbGVTeXN0ZW0oKQorICAgICAgICAjIFdpbjMyIGRvZXMgbm90IHN1cHBvcnQg
c2hlYmFuZy4gV2UgbmVlZCB0byBkZXRlY3QgdGhlIGludGVycHJldGVyIG91cnNlbGYuCisgICAg
ICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKToKKyAgICAgICAgICAgIGludGVy
cHJldGVyID0gQWJzdHJhY3RFeGVjdXRpdmUuaW50ZXJwcmV0ZXJfZm9yX3NjcmlwdChzY3JpcHRf
cGF0aCwgZnMpCisgICAgICAgICAgICBpZiBpbnRlcnByZXRlcjoKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gW2ludGVycHJldGVyLCBzY3JpcHRfcGF0aF0KKyAgICAgICAgcmV0dXJuIFtzY3JpcHRf
cGF0aF0KKworICAgIGRlZiBraWxsX3Byb2Nlc3Moc2VsZiwgcGlkKToKKyAgICAgICAgcmFpc2Ug
Tm90SW1wbGVtZW50ZWRFcnJvcignc3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCcpCisKKyAgICBk
ZWYgY2hlY2tfcnVubmluZ19waWQoc2VsZiwgcGlkKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVt
ZW50ZWRFcnJvcignc3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCcpCisKKyAgICBkZWYgcnVubmlu
Z19waWRzKHNlbGYsIHByb2Nlc3NfbmFtZV9maWx0ZXI9Tm9uZSk6CisgICAgICAgIHJhaXNlIE5v
dEltcGxlbWVudGVkRXJyb3IoJ3N1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQnKQorCisgICAgZGVm
IHdhaXRfbmV3ZXN0KHNlbGYsIHByb2Nlc3NfbmFtZV9maWx0ZXI9Tm9uZSk6CisgICAgICAgIGlm
IG5vdCBwcm9jZXNzX25hbWVfZmlsdGVyOgorICAgICAgICAgICAgcHJvY2Vzc19uYW1lX2ZpbHRl
ciA9IGxhbWJkYSBwcm9jZXNzX25hbWU6IFRydWUKKworICAgICAgICBydW5uaW5nX3BpZHMgPSBz
ZWxmLnJ1bm5pbmdfcGlkcyhwcm9jZXNzX25hbWVfZmlsdGVyKQorICAgICAgICBpZiBub3QgcnVu
bmluZ19waWRzOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHBpZCA9IHJ1bm5pbmdfcGlk
c1stMV0KKworICAgICAgICB3aGlsZSBzZWxmLmNoZWNrX3J1bm5pbmdfcGlkKHBpZCk6CisgICAg
ICAgICAgICB0aW1lLnNsZWVwKDAuMjUpCisKKyAgICBkZWYgd2FpdF9saW1pdGVkKHNlbGYsIHBp
ZCwgbGltaXRfaW5fc2Vjb25kcz1Ob25lLCBjaGVja19mcmVxdWVuY3lfaW5fc2Vjb25kcz1Ob25l
KToKKyAgICAgICAgc2Vjb25kc19sZWZ0ID0gbGltaXRfaW5fc2Vjb25kcyBvciAxMAorICAgICAg
ICBzbGVlcF9sZW5ndGggPSBjaGVja19mcmVxdWVuY3lfaW5fc2Vjb25kcyBvciAxCisgICAgICAg
IHdoaWxlIHNlY29uZHNfbGVmdCA+IDAgYW5kIHNlbGYuY2hlY2tfcnVubmluZ19waWQocGlkKToK
KyAgICAgICAgICAgIHNlY29uZHNfbGVmdCAtPSBzbGVlcF9sZW5ndGgKKyAgICAgICAgICAgIHRp
bWUuc2xlZXAoc2xlZXBfbGVuZ3RoKQorCisgICAgZGVmIGludGVycnVwdChzZWxmLCBwaWQpOgor
ICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdzdWJjbGFzc2VzIG11c3QgaW1wbGVt
ZW50JykKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgZGVmYXVsdF9lcnJvcl9oYW5kbGVy
KGVycm9yKToKKyAgICAgICAgcmFpc2UgZXJyb3IKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBk
ZWYgaWdub3JlX2Vycm9yKGVycm9yKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIF9zdHJpbmdp
ZnlfYXJncyhzZWxmLCBhcmdzKToKKyAgICAgICAgcmV0dXJuIG1hcCh1bmljb2RlLCBhcmdzKQor
CisgICAgZGVmIGNvbW1hbmRfZm9yX3ByaW50aW5nKHNlbGYsIGFyZ3MpOgorICAgICAgICAiIiJS
ZXR1cm5zIGEgcHJpbnQtcmVhZHkgc3RyaW5nIHJlcHJlc2VudGluZyBjb21tYW5kIGFyZ3MuCisg
ICAgICAgIFRoZSBzdHJpbmcgc2hvdWxkIGJlIGNvcHkvcGFzdGUgcmVhZHkgZm9yIGV4ZWN1dGlv
biBpbiBhIHNoZWxsLiIiIgorICAgICAgICBhcmdzID0gc2VsZi5fc3RyaW5naWZ5X2FyZ3MoYXJn
cykKKyAgICAgICAgZXNjYXBlZF9hcmdzID0gW10KKyAgICAgICAgZm9yIGFyZyBpbiBhcmdzOgor
ICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShhcmcsIHVuaWNvZGUpOgorICAgICAgICAgICAgICAg
ICMgRXNjYXBlIGFueSBub24tYXNjaWkgY2hhcmFjdGVycyBmb3IgZWFzeSBjb3B5L3Bhc3RlCisg
ICAgICAgICAgICAgICAgYXJnID0gYXJnLmVuY29kZSgidW5pY29kZV9lc2NhcGUiKQorICAgICAg
ICAgICAgIyBGSVhNRTogRG8gd2UgbmVlZCB0byBmaXggcXVvdGVzIGhlcmU/CisgICAgICAgICAg
ICBlc2NhcGVkX2FyZ3MuYXBwZW5kKGFyZykKKyAgICAgICAgcmV0dXJuICIgIi5qb2luKGVzY2Fw
ZWRfYXJncykKKworICAgIGRlZiBydW5fY29tbWFuZChzZWxmLAorICAgICAgICAgICAgICAgICAg
ICBhcmdzLAorICAgICAgICAgICAgICAgICAgICBjd2Q9Tm9uZSwKKyAgICAgICAgICAgICAgICAg
ICAgZW52PU5vbmUsCisgICAgICAgICAgICAgICAgICAgIGlucHV0PU5vbmUsCisgICAgICAgICAg
ICAgICAgICAgIGVycm9yX2hhbmRsZXI9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
X2V4aXRfY29kZT1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3N0ZGVycj1UcnVl
LAorICAgICAgICAgICAgICAgICAgICBkZWNvZGVfb3V0cHV0PVRydWUpOgorICAgICAgICByYWlz
ZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50JykKKworICAg
IGRlZiBwb3BlbihzZWxmLCBhcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHJhaXNlIE5vdEltcGxl
bWVudGVkRXJyb3IoJ3N1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQnKQorCisgICAgZGVmIHJ1bl9p
bl9wYXJhbGxlbChzZWxmLCBjb21tYW5kX2xpbmVzX2FuZF9jd2RzLCBwcm9jZXNzZXM9Tm9uZSk6
CisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ3N1YmNsYXNzZXMgbXVzdCBpbXBs
ZW1lbnQnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L2V4ZWN1dGl2ZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVj
dXRpdmUucHkKaW5kZXggY2NiYjE3OTVmMTZhZjkzNDA4MjYyMTVmNjMxYTAzM2ZkYWY1MjgxZC4u
YTI5Y2NjNDBiMWQyMDhiMjA3MTkzZDBiNDFjZDM5NGUyN2Y0NzY1YiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CkBAIC0zNyw4ICsz
Nyw4IEBAIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogCitmcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uYWJzdHJhY3RleGVjdXRpdmUgaW1wb3J0IEFic3RyYWN0
RXhlY3V0aXZlCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ub3V0cHV0dGVlIGltcG9ydCBU
ZWUKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lz
dGVtCiAKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQpAQCAtODAsNyArODAs
NyBAQCBjbGFzcyBTY3JpcHRFcnJvcihFeGNlcHRpb24pOgogICAgICAgICByZXR1cm4gb3MucGF0
aC5iYXNlbmFtZShjb21tYW5kX3BhdGgpCiAKIAotY2xhc3MgRXhlY3V0aXZlKG9iamVjdCk6Citj
bGFzcyBFeGVjdXRpdmUoQWJzdHJhY3RFeGVjdXRpdmUpOgogICAgIFBJUEUgPSBzdWJwcm9jZXNz
LlBJUEUKICAgICBTVERPVVQgPSBzdWJwcm9jZXNzLlNURE9VVAogCkBAIC0xNTcsMzMgKzE1Nyw2
IEBAIGNsYXNzIEV4ZWN1dGl2ZShvYmplY3QpOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBy
ZXR1cm4gbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCgpCiAKLSAgICBAc3RhdGljbWV0aG9kCi0g
ICAgZGVmIGludGVycHJldGVyX2Zvcl9zY3JpcHQoc2NyaXB0X3BhdGgsIGZzPU5vbmUpOgotICAg
ICAgICBmcyA9IGZzIG9yIEZpbGVTeXN0ZW0oKQotICAgICAgICBsaW5lcyA9IGZzLnJlYWRfdGV4
dF9maWxlKHNjcmlwdF9wYXRoKS5zcGxpdGxpbmVzKCkKLSAgICAgICAgaWYgbm90IGxlbihsaW5l
cyk6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICBmaXJzdF9saW5lID0gbGluZXNb
MF0KLSAgICAgICAgaWYgbm90IGZpcnN0X2xpbmUuc3RhcnRzd2l0aCgnIyEnKToKLSAgICAgICAg
ICAgIHJldHVybiBOb25lCi0gICAgICAgIGlmIGZpcnN0X2xpbmUuZmluZCgncHl0aG9uJykgPiAt
MToKLSAgICAgICAgICAgIHJldHVybiBzeXMuZXhlY3V0YWJsZQotICAgICAgICBpZiBmaXJzdF9s
aW5lLmZpbmQoJ3BlcmwnKSA+IC0xOgotICAgICAgICAgICAgcmV0dXJuICdwZXJsJwotICAgICAg
ICBpZiBmaXJzdF9saW5lLmZpbmQoJ3J1YnknKSA+IC0xOgotICAgICAgICAgICAgcmV0dXJuICdy
dWJ5JwotICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBz
aGVsbF9jb21tYW5kX2Zvcl9zY3JpcHQoc2NyaXB0X3BhdGgsIGZzPU5vbmUpOgotICAgICAgICBm
cyA9IGZzIG9yIEZpbGVTeXN0ZW0oKQotICAgICAgICAjIFdpbjMyIGRvZXMgbm90IHN1cHBvcnQg
c2hlYmFuZy4gV2UgbmVlZCB0byBkZXRlY3QgdGhlIGludGVycHJldGVyIG91cnNlbGYuCi0gICAg
ICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKToKLSAgICAgICAgICAgIGludGVy
cHJldGVyID0gRXhlY3V0aXZlLmludGVycHJldGVyX2Zvcl9zY3JpcHQoc2NyaXB0X3BhdGgsIGZz
KQotICAgICAgICAgICAgaWYgaW50ZXJwcmV0ZXI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFtp
bnRlcnByZXRlciwgc2NyaXB0X3BhdGhdCi0gICAgICAgIHJldHVybiBbc2NyaXB0X3BhdGhdCi0K
ICAgICBkZWYga2lsbF9wcm9jZXNzKHNlbGYsIHBpZCk6CiAgICAgICAgICMgS2lsbGluZyBhIHBy
b2Nlc3Mgd2l0aCBhIHBpZCBvZiAwIG9yIGEgbmVnYXRpdmUgcGlkIGlzIGEgdmFsaWQgY29tbWFu
ZCwgYnV0CiAgICAgICAgICMgd2lsbCBraWxsIGFsbCBwcm9jZXNzZXMgaW4gdGhpcyBwcm9jZXNz
JyBncm91cCAoaWYgMCkgb3IgYWxsIG5vbi1zeXN0ZW0gcHJvY2Vzc2VzCkBAIC0zMjMsMjUgKzI5
Niw2IEBAIGNsYXNzIEV4ZWN1dGl2ZShvYmplY3QpOgogCiAgICAgICAgIHJldHVybiBzb3J0ZWQo
cnVubmluZ19waWRzKQogCi0gICAgZGVmIHdhaXRfbmV3ZXN0KHNlbGYsIHByb2Nlc3NfbmFtZV9m
aWx0ZXI9Tm9uZSk6Ci0gICAgICAgIGlmIG5vdCBwcm9jZXNzX25hbWVfZmlsdGVyOgotICAgICAg
ICAgICAgcHJvY2Vzc19uYW1lX2ZpbHRlciA9IGxhbWJkYSBwcm9jZXNzX25hbWU6IFRydWUKLQot
ICAgICAgICBydW5uaW5nX3BpZHMgPSBzZWxmLnJ1bm5pbmdfcGlkcyhwcm9jZXNzX25hbWVfZmls
dGVyKQotICAgICAgICBpZiBub3QgcnVubmluZ19waWRzOgotICAgICAgICAgICAgcmV0dXJuCi0g
ICAgICAgIHBpZCA9IHJ1bm5pbmdfcGlkc1stMV0KLQotICAgICAgICB3aGlsZSBzZWxmLmNoZWNr
X3J1bm5pbmdfcGlkKHBpZCk6Ci0gICAgICAgICAgICB0aW1lLnNsZWVwKDAuMjUpCi0KLSAgICBk
ZWYgd2FpdF9saW1pdGVkKHNlbGYsIHBpZCwgbGltaXRfaW5fc2Vjb25kcz1Ob25lLCBjaGVja19m
cmVxdWVuY3lfaW5fc2Vjb25kcz1Ob25lKToKLSAgICAgICAgc2Vjb25kc19sZWZ0ID0gbGltaXRf
aW5fc2Vjb25kcyBvciAxMAotICAgICAgICBzbGVlcF9sZW5ndGggPSBjaGVja19mcmVxdWVuY3lf
aW5fc2Vjb25kcyBvciAxCi0gICAgICAgIHdoaWxlIHNlY29uZHNfbGVmdCA+IDAgYW5kIHNlbGYu
Y2hlY2tfcnVubmluZ19waWQocGlkKToKLSAgICAgICAgICAgIHNlY29uZHNfbGVmdCAtPSBzbGVl
cF9sZW5ndGgKLSAgICAgICAgICAgIHRpbWUuc2xlZXAoc2xlZXBfbGVuZ3RoKQotCiAgICAgZGVm
IF93aW5kb3dzX2ltYWdlX25hbWUoc2VsZiwgcHJvY2Vzc19uYW1lKToKICAgICAgICAgbmFtZSwg
ZXh0ZW5zaW9uID0gb3MucGF0aC5zcGxpdGV4dChwcm9jZXNzX25hbWUpCiAgICAgICAgIGlmIG5v
dCBleHRlbnNpb246CkBAIC0zODQsMTcgKzMzOCw2IEBAIGNsYXNzIEV4ZWN1dGl2ZShvYmplY3Qp
OgogICAgICAgICAjIFdlIHNob3VsZCBsb2cgaW4gZXhpdF9jb2RlID09IDEKICAgICAgICAgc2Vs
Zi5ydW5fY29tbWFuZChjb21tYW5kLCBlcnJvcl9oYW5kbGVyPXNlbGYuaWdub3JlX2Vycm9yKQog
Ci0gICAgIyBFcnJvciBoYW5kbGVycyBkbyBub3QgbmVlZCB0byBiZSBzdGF0aWMgbWV0aG9kcyBv
bmNlIGFsbCBjYWxsZXJzIGFyZQotICAgICMgdXBkYXRlZCB0byB1c2UgYW4gRXhlY3V0aXZlIG9i
amVjdC4KLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgZGVmYXVsdF9lcnJvcl9oYW5kbGVy
KGVycm9yKToKLSAgICAgICAgcmFpc2UgZXJyb3IKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBk
ZWYgaWdub3JlX2Vycm9yKGVycm9yKToKLSAgICAgICAgcGFzcwotCiAgICAgZGVmIF9jb21wdXRl
X3N0ZGluKHNlbGYsIGlucHV0KToKICAgICAgICAgIiIiUmV0dXJucyAoc3RkaW4sIHN0cmluZ190
b19jb21tdW5pY2F0ZSkiIiIKICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIGJlIHJldHVybmlu
ZyAvZGV2L251bGwgZm9yIHN0ZGluCkBAIC00MTQsMTkgKzM1Nyw2IEBAIGNsYXNzIEV4ZWN1dGl2
ZShvYmplY3QpOgogICAgICAgICAgICAgaW5wdXQgPSBpbnB1dC5lbmNvZGUoc2VsZi5fY2hpbGRf
cHJvY2Vzc19lbmNvZGluZygpKQogICAgICAgICByZXR1cm4gKHNlbGYuUElQRSwgaW5wdXQpCiAK
LSAgICBkZWYgY29tbWFuZF9mb3JfcHJpbnRpbmcoc2VsZiwgYXJncyk6Ci0gICAgICAgICIiIlJl
dHVybnMgYSBwcmludC1yZWFkeSBzdHJpbmcgcmVwcmVzZW50aW5nIGNvbW1hbmQgYXJncy4KLSAg
ICAgICAgVGhlIHN0cmluZyBzaG91bGQgYmUgY29weS9wYXN0ZSByZWFkeSBmb3IgZXhlY3V0aW9u
IGluIGEgc2hlbGwuIiIiCi0gICAgICAgIGFyZ3MgPSBzZWxmLl9zdHJpbmdpZnlfYXJncyhhcmdz
KQotICAgICAgICBlc2NhcGVkX2FyZ3MgPSBbXQotICAgICAgICBmb3IgYXJnIGluIGFyZ3M6Ci0g
ICAgICAgICAgICBpZiBpc2luc3RhbmNlKGFyZywgdW5pY29kZSk6Ci0gICAgICAgICAgICAgICAg
IyBFc2NhcGUgYW55IG5vbi1hc2NpaSBjaGFyYWN0ZXJzIGZvciBlYXN5IGNvcHkvcGFzdGUKLSAg
ICAgICAgICAgICAgICBhcmcgPSBhcmcuZW5jb2RlKCJ1bmljb2RlX2VzY2FwZSIpCi0gICAgICAg
ICAgICAjIEZJWE1FOiBEbyB3ZSBuZWVkIHRvIGZpeCBxdW90ZXMgaGVyZT8KLSAgICAgICAgICAg
IGVzY2FwZWRfYXJncy5hcHBlbmQoYXJnKQotICAgICAgICByZXR1cm4gIiAiLmpvaW4oZXNjYXBl
ZF9hcmdzKQotCiAgICAgIyBGSVhNRTogcnVuX2FuZF90aHJvd19pZl9mYWlsIHNob3VsZCBiZSBt
ZXJnZWQgaW50byB0aGlzIG1ldGhvZC4KICAgICBkZWYgcnVuX2NvbW1hbmQoc2VsZiwKICAgICAg
ICAgICAgICAgICAgICAgYXJncywK
</data>
<flag name="review"
          id="332952"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>