<?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>103537</bug_id>
          
          <creation_ts>2012-11-28 10:35:26 -0800</creation_ts>
          <short_desc>[webkitpy] Raise a ScriptError where it can be handled instead of directly using sys.exit</short_desc>
          <delta_ts>2012-11-30 08:19:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>103532</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>778038</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-28 10:35:26 -0800</bug_when>
    <thetext>[webkitpy] Raise a ScriptError where it can be handled instead of directly using sys.exit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778061</commentid>
    <comment_count>1</comment_count>
      <attachid>176521</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-28 10:48:23 -0800</bug_when>
    <thetext>Created attachment 176521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778065</commentid>
    <comment_count>2</comment_count>
      <attachid>176521</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-28 10:50:34 -0800</bug_when>
    <thetext>Comment on attachment 176521
Patch

Removing the cq flag as this patch depends on the patch posted at bug #103532 for correct logging output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778139</commentid>
    <comment_count>3</comment_count>
      <attachid>176521</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-11-28 11:54:35 -0800</bug_when>
    <thetext>Comment on attachment 176521
Patch


ScriptError is used by Executives to indicate that a called subprocess returned an exit code; you&apos;re using this for totally different reasons that have nothing to do with this, making the meaning of ScriptError much less clear. Many of the changes in the commands seems like they could be replaced with a common exception, but ScriptError is the wrong thing to use. Maybe add a generic StepException or CommandException to indicate fatal errors in commands ...

Further, using the same exception for various command-related errors and various internal errors seems confusing. For example, the change in scm.ensure_no_local_commits() doesn&apos;t seem like it should be an exception at all (since it seems like an error that could easily happen), and the change in scm.commit_locally_with_message seems like it should be an AssertionError or a NotImplementedError instead.


Lastly, it&apos;s not clear what a caller is supposed to when many of these errors are raised; if ScriptError is raised; if there&apos;s nothing they can reasonably do other than call sys.exit (which seems to be what happens in abstractsequencedcommand.py), it doesn&apos;t seem like this is much of an improvement over calling sys.exit directly.
ScriptError, on the other hand, is almost never used to indicate &quot;I give up, so you should exit&quot;; most ScriptError exceptions are recoverable (frankly, I think ScriptError is mostly used for bad reasons where the caller was being lazy :().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779980</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-30 03:15:58 -0800</bug_when>
    <thetext>Thanks for the input, the patch is clearly wrong in that regard. I&apos;ll still try to minimize the number of calls to sys.exit by replacing them with a more proper method. I&apos;ll rename this bug once I approach this problem again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780134</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-11-30 08:19:12 -0800</bug_when>
    <thetext>We could also add an executive.exit() instead if you like.

sys.exit isn&apos;t ideal, but my understanding is the python unittest harness can handle it.  I believe unittest overrides sys.exit to throw an exception instead, or maybe sys.exit always throws an exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780135</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-11-30 08:19:38 -0800</bug_when>
    <thetext>I guess I&apos;m not sure what the goal of this bug is? :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176521</attachid>
            <date>2012-11-28 10:48:23 -0800</date>
            <delta_ts>2012-11-28 11:54:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103537-20121128194557.patch</filename>
            <type>text/plain</type>
            <size>15946</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDA5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGUxOWRlMTQwODRkOTRjYWNkMmExOGViNTdjNTM0Nzdh
YzIyZTU2OC4uOTY3NDg5YzNjZjk5ZTE0MGUwYjM5ODBkODFjYTdkMmJjOTdkZjE0MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQy
IEBACisyMDEyLTExLTI4ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisK
KyAgICAgICAgW3dlYmtpdHB5XSBSYWlzZSBhIFNjcmlwdEVycm9yIHdoZXJlIGl0IGNhbiBiZSBo
YW5kbGVkIGluc3RlYWQgb2YgZGlyZWN0bHkgdXNpbmcgc3lzLmV4aXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzUzNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgdXNpbmcgc3lzLmV4
aXQgdG8gYWJvcnQgdGhlIHByb2dyYW0gd2hlbiBhbiBlcnJvciBvY2N1cnMsIHJhaXNlIGEgU2Ny
aXB0RXJyb3IKKyAgICAgICAgZXhjZXB0aW9uLiBUaGUgZXhjZXB0aW9uIHJhaXNpbmcgcmVwbGFj
ZXMgdGhlIHN5cy5leGl0IGNhbGwgYW5kIHRoZSBlcnJvciBsb2dnaW5nIHRoYXQgcHJlY2VlZHMK
KyAgICAgICAgaXQsIHVzaW5nIHRoYXQgbG9nIG1lc3NhZ2UgYXMgdGhlIG1lc3NhZ2Ugb2YgdGhl
IHRvLWJlLXJhaXNlZCBleGNlcHRpb24uCisKKyAgICAgICAgVGhlIHN3aXRjaCBpcyBvbmx5IG1h
ZGUgaW4gcGxhY2VzIHdoZXJlIGl0IGNhbiBiZSBoYW5kbGVkIGZvciBleGFtcGxlIGJ5IHRoZSBz
dGVwIHNlcXVlbmNlIHNvCisgICAgICAgIHRoZSBjb21tYW5kIGV4ZWN1dGlvbiBjYW4gZmFpbCBp
biBhIGNvbnRyb2xsZWQgd2F5LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvc2NtL3NjbS5weToKKyAgICAgICAgKFNDTS5lbnN1cmVfbm9fbG9jYWxfY29tbWl0
cyk6CisgICAgICAgIChTQ00ud2lsbC5jb21taXRfbG9jYWxseV93aXRoX21lc3NhZ2UpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHk6CisgICAgICAg
IChBYnN0cmFjdFF1ZXVlLmJlZ2luX3dvcmtfcXVldWUpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9yb2xsX3VuaXR0ZXN0LnB5OgorICAgICAgICAodGVzdF91cGRh
dGVfY2hyb21pdW1fZGVwc19vbGRlcl9yZXZpc2lvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS90b29sL2NvbW1hbmRzL3VwbG9hZC5weToKKyAgICAgICAgKEFic3RyYWN0UGF0Y2hVcGxv
YWRpbmdDb21tYW5kLl9wcmVwYXJlX3N0YXRlKToKKyAgICAgICAgKFBvc3RDb21taXRzLmV4ZWN1
dGUpOgorICAgICAgICAoTWFya0J1Z0ZpeGVkLl9kZXRlcm1pbmVfYnVnX2lkX2FuZF9zdm5fcmV2
aXNpb24pOgorICAgICAgICAoTWFya0J1Z0ZpeGVkLmV4ZWN1dGUpOgorICAgICAgICAoQ3JlYXRl
QnVnLmNyZWF0ZV9idWdfZnJvbV9jb21taXQpOgorICAgICAgICAoQ3JlYXRlQnVnLmV4ZWN1dGUp
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9lbnN1cmVsb2NhbGNvbW1p
dGlmbmVlZGVkLnB5OgorICAgICAgICAoRW5zdXJlTG9jYWxDb21taXRJZk5lZWRlZC5ydW4pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nLnB5
OgorICAgICAgICAoUHJlcGFyZUNoYW5nZUxvZy5ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zdGVwcy91cGRhdGVjaHJvbWl1bWRlcHMucHk6CisgICAgICAgIChVcGRhdGVD
aHJvbWl1bURFUFMuX3ZhbGlkYXRlX3JldmlzaW9ucyk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlY2hhbmdlbG9ncy5weToKKyAgICAgICAgKFZhbGlkYXRl
Q2hhbmdlTG9ncy5ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy92
YWxpZGF0ZXJldmlld2VyLnB5OgorICAgICAgICAoVmFsaWRhdGVSZXZpZXdlci5ydW4pOgorCiAy
MDEyLTExLTI4ICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQGludGVsLmNvbT4KIAogICAgICAg
ICBNaW5vciBjbGVhbnVwIGluIFRlc3RJbnZvY2F0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbS5weQppbmRleCA3ZDZlMTgwNGQzYTM4NTQ3
NTdkNzZjZDBkZTY3MGJkNDZmNmM1ZmUwLi5hYTFhNmNkNDE3ODVjYTY1ZjJkZTAyMmMxMWVmZWUz
NjhlY2MxN2Y4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9zY20vc2NtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L3NjbS9zY20ucHkKQEAgLTMxLDcgKzMxLDYgQEAKIAogaW1wb3J0IGxvZ2dpbmcKIGltcG9y
dCByZQotaW1wb3J0IHN5cwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZl
IGltcG9ydCBFeGVjdXRpdmUsIFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0uZmlsZXN5c3RlbSBpbXBvcnQgRmlsZVN5c3RlbQpAQCAtMTA2LDggKzEwNSw3IEBAIGNsYXNz
IFNDTToKICAgICAgICAgaWYgbm90IGxlbihjb21taXRzKToKICAgICAgICAgICAgIHJldHVybgog
ICAgICAgICBpZiBub3QgZm9yY2U6Ci0gICAgICAgICAgICBfbG9nLmVycm9yKCJXb3JraW5nIGRp
cmVjdG9yeSBoYXMgbG9jYWwgY29tbWl0cywgcGFzcyAtLWZvcmNlLWNsZWFuIHRvIGNvbnRpbnVl
LiIpCi0gICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJy
b3IobWVzc2FnZT0iV29ya2luZyBkaXJlY3RvcnkgaGFzIGxvY2FsIGNvbW1pdHMsIHBhc3MgLS1m
b3JjZS1jbGVhbiB0byBjb250aW51ZS4iKQogICAgICAgICBzZWxmLmRpc2NhcmRfbG9jYWxfY29t
bWl0cygpCiAKICAgICBkZWYgcnVuX3N0YXR1c19hbmRfZXh0cmFjdF9maWxlbmFtZXMoc2VsZiwg
c3RhdHVzX2NvbW1hbmQsIHN0YXR1c19yZWdleHApOgpAQCAtMjQxLDggKzIzOSw3IEBAIGNsYXNz
IFNDTToKICAgICAgICAgU0NNLl9zdWJjbGFzc19tdXN0X2ltcGxlbWVudCgpCiAKICAgICBkZWYg
Y29tbWl0X2xvY2FsbHlfd2l0aF9tZXNzYWdlKHNlbGYsIG1lc3NhZ2UpOgotICAgICAgICBfbG9n
LmVycm9yKCJZb3VyIHNvdXJjZSBjb250cm9sIG1hbmFnZXIgZG9lcyBub3Qgc3VwcG9ydCBsb2Nh
bCBjb21taXRzLiIpCi0gICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIHJhaXNlIFNjcmlwdEVy
cm9yKG1lc3NhZ2U9IllvdXIgc291cmNlIGNvbnRyb2wgbWFuYWdlciBkb2VzIG5vdCBzdXBwb3J0
IGxvY2FsIGNvbW1pdHMuIikKIAogICAgIGRlZiBkaXNjYXJkX2xvY2FsX2NvbW1pdHMoc2VsZik6
CiAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9xdWV1ZXMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cXVldWVzLnB5CmluZGV4IGVkZmJlZTQwMjU5NTQ2ZTAyMTZjM2VhYTkxYjRkZTFjODBiYmE0YmMu
Ljg1YjZhZmU2Mzc2NGM4YWQ3MzVlOWVkMWI0ZDhiOGQ1MDdiZmFkNjYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQpAQCAtMzAsNyArMzAsNiBA
QAogaW1wb3J0IGNvZGVjcwogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcwotaW1wb3J0IHN5cwog
aW1wb3J0IHRpbWUKIGltcG9ydCB0cmFjZWJhY2sKIApAQCAtMTE3LDggKzExNiw3IEBAIGNsYXNz
IEFic3RyYWN0UXVldWUoQ29tbWFuZCwgUXVldWVFbmdpbmVEZWxlZ2F0ZSk6CiAgICAgICAgIGlm
IHNlbGYuX29wdGlvbnMuY29uZmlybToKICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi5fdG9v
bC51c2VyLnByb21wdCgiQXJlIHlvdSBzdXJlPyAgVHlwZSBcInllc1wiIHRvIGNvbnRpbnVlOiAi
KQogICAgICAgICAgICAgaWYgKHJlc3BvbnNlICE9ICJ5ZXMiKToKLSAgICAgICAgICAgICAgICBf
bG9nLmVycm9yKCJVc2VyIGRlY2xpbmVkLiIpCi0gICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkK
KyAgICAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcihtZXNzYWdlPSJVc2VyIGRlY2xpbmVk
LiIpCiAgICAgICAgIF9sb2cuaW5mbygiUnVubmluZyBXZWJLaXQgJXMuIiAlIHNlbGYubmFtZSkK
ICAgICAgICAgc2VsZi5fdG9vbC5zdGF0dXNfc2VydmVyLnVwZGF0ZV9zdGF0dXMoc2VsZi5uYW1l
LCAiU3RhcnRpbmcgUXVldWUiKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvcm9sbF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9jb21tYW5kcy9yb2xsX3VuaXR0ZXN0LnB5CmluZGV4IDFkYWU0OTdiYzNmYWZhNTRiMTFi
MmQyNDAxYTdkNWNlNGZkYTUwOTUuLjE0MjkyYmFmZmQzODY5YzcwMGExYTBhNzE3YWE1MDE3Y2Jm
ZDZhMTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9y
b2xsX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy9yb2xsX3VuaXR0ZXN0LnB5CkBAIC00Myw3ICs0Myw3IEBAIENvbW1pdHRlZCByNDk4MjQ6IDxo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80OTgyND4KICAgICAgICAgc2VsZi5hc3Nl
cnRfZXhlY3V0ZV9vdXRwdXRzKFJvbGxDaHJvbWl1bURFUFMoKSwgWzY3NjRdLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF91cGRhdGVfY2hyb21pdW1fZGVwc19v
bGRlcl9yZXZpc2lvbihzZWxmKToKLSAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKG5vbl9p
bnRlcmFjdGl2ZT1GYWxzZSkKKyAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKG5vbl9pbnRl
cmFjdGl2ZT1GYWxzZSwgcGFyZW50X2NvbW1hbmQ9Tm9uZSkKICAgICAgICAgZXhwZWN0ZWRfbG9n
cyA9ICIiIkN1cnJlbnQgQ2hyb21pdW0gREVQUyByZXZpc2lvbiA2NTY0IGlzIG5ld2VyIHRoYW4g
NTc2NC4KIFVuYWJsZSB0byB1cGRhdGUgQ2hyb21pdW0gREVQUwogIiIiCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvdXBsb2FkLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3VwbG9hZC5weQppbmRleCA1Y2QwZGU5ZTA0Yjg1
ZDUwOGIzN2MyYTEwNTY1M2UyMDNiMTU2M2YwLi5jNGVkOWM0MmZiNzM4ZWVhZDlhNTA4NmRjMjc5
OTUzOTYzMTM3MDFhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvdXBsb2FkLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy91cGxvYWQucHkKQEAgLTM5LDYgKzM5LDcgQEAgZnJvbSB3ZWJraXRweS50b29sIGltcG9ydCBz
dGVwcwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5jaGFuZ2Vsb2cgaW1wb3J0IHBh
cnNlX2J1Z19pZF9mcm9tX2NoYW5nZWxvZwogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLmNv
bW1pdHRlcnMgaW1wb3J0IENvbW1pdHRlckxpc3QKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0udXNlciBpbXBvcnQgVXNlcgogZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5Lm1vY2sgaW1wb3J0
IE1vY2sKIGZyb20gd2Via2l0cHkudG9vbC5jb21tYW5kcy5hYnN0cmFjdHNlcXVlbmNlZGNvbW1h
bmQgaW1wb3J0IEFic3RyYWN0U2VxdWVuY2VkQ29tbWFuZApAQCAtMjA0LDggKzIwNSw3IEBAIGNs
YXNzIEFic3RyYWN0UGF0Y2hVcGxvYWRpbmdDb21tYW5kKEFic3RyYWN0U2VxdWVuY2VkQ29tbWFu
ZCk6CiAgICAgICAgIHN0YXRlID0ge30KICAgICAgICAgc3RhdGVbImJ1Z19pZCJdID0gc2VsZi5f
YnVnX2lkKG9wdGlvbnMsIGFyZ3MsIHRvb2wsIHN0YXRlKQogICAgICAgICBpZiBub3Qgc3RhdGVb
ImJ1Z19pZCJdOgotICAgICAgICAgICAgX2xvZy5lcnJvcigiTm8gYnVnIGlkIHBhc3NlZCBhbmQg
bm8gYnVnIHVybCBmb3VuZCBpbiBDaGFuZ2VMb2dzLiIpCi0gICAgICAgICAgICBzeXMuZXhpdCgx
KQorICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2FnZT0iTm8gYnVnIGlkIHBhc3Nl
ZCBhbmQgbm8gYnVnIHVybCBmb3VuZCBpbiBDaGFuZ2VMb2dzLiIpCiAgICAgICAgIHJldHVybiBz
dGF0ZQogCiAKQEAgLTMyNSw4ICszMjUsNyBAQCBjbGFzcyBQb3N0Q29tbWl0cyhBYnN0cmFjdERl
Y2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywgYXJncywg
dG9vbCk6CiAgICAgICAgIGNvbW1pdF9pZHMgPSB0b29sLnNjbSgpLmNvbW1pdF9pZHNfZnJvbV9j
b21taXRpc2hfYXJndW1lbnRzKGFyZ3MpCiAgICAgICAgIGlmIGxlbihjb21taXRfaWRzKSA+IDEw
OiAjIFdlIGNvdWxkIGxvd2VyIHRoaXMgbGltaXQsIDEwIGlzIHRvbyBtYW55IGZvciBvbmUgYnVn
IGFzLWlzLgotICAgICAgICAgICAgX2xvZy5lcnJvcigid2Via2l0LXBhdGNoIGRvZXMgbm90IHN1
cHBvcnQgYXR0YWNoaW5nICVzIGF0IG9uY2UuICBBcmUgeW91IHN1cmUgeW91IHBhc3NlZCB0aGUg
cmlnaHQgY29tbWl0IHJhbmdlPyIgJSAocGx1cmFsaXplKCJwYXRjaCIsIGxlbihjb21taXRfaWRz
KSkpKQotICAgICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAgICAgIHJhaXNlIFNjcmlwdEVy
cm9yKG1lc3NhZ2U9IndlYmtpdC1wYXRjaCBkb2VzIG5vdCBzdXBwb3J0IGF0dGFjaGluZyAlcyBh
dCBvbmNlLiAgQXJlIHlvdSBzdXJlIHlvdSBwYXNzZWQgdGhlIHJpZ2h0IGNvbW1pdCByYW5nZT8i
ICUgKHBsdXJhbGl6ZSgicGF0Y2giLCBsZW4oY29tbWl0X2lkcykpKSkKIAogICAgICAgICBoYXZl
X29ic29sZXRlZF9wYXRjaGVzID0gc2V0KCkKICAgICAgICAgZm9yIGNvbW1pdF9pZCBpbiBjb21t
aXRfaWRzOgpAQCAtMzg2LDkgKzM4NSw4IEBAIGNsYXNzIE1hcmtCdWdGaXhlZChBYnN0cmFjdERl
Y2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgICAgICAgICAgICAgbm90X2ZvdW5kLmFwcGVuZCgiYnVn
IGlkIikKICAgICAgICAgICAgIGlmIG5vdCBzdm5fcmV2aXNpb246CiAgICAgICAgICAgICAgICAg
bm90X2ZvdW5kLmFwcGVuZCgic3ZuIHJldmlzaW9uIikKLSAgICAgICAgICAgIF9sb2cuZXJyb3Io
IkNvdWxkIG5vdCBmaW5kICVzIG9uIGNvbW1hbmQtbGluZSBvciBpbiAlcy4iCi0gICAgICAgICAg
ICAgICAgICAlICgiIG9yICIuam9pbihub3RfZm91bmQpLCAiciVzIiAlIHN2bl9yZXZpc2lvbiBp
ZiBzdm5fcmV2aXNpb24gZWxzZSAibGFzdCBjb21taXQiKSkKLSAgICAgICAgICAgIHN5cy5leGl0
KDEpCisgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcihtZXNzYWdlPSJDb3VsZCBub3QgZmlu
ZCAlcyBvbiBjb21tYW5kLWxpbmUgb3IgaW4gJXMuIgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJSAoIiBvciAiLmpvaW4obm90X2ZvdW5kKSwgInIlcyIgJSBzdm5fcmV2aXNpb24gaWYg
c3ZuX3JldmlzaW9uIGVsc2UgImxhc3QgY29tbWl0IikpCiAKICAgICAgICAgcmV0dXJuIChidWdf
aWQsIHN2bl9yZXZpc2lvbikKIApAQCAtNDAwLDggKzM5OCw3IEBAIGNsYXNzIE1hcmtCdWdGaXhl
ZChBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgICAgICAgICBpZiByZS5tYXRjaCgi
XnJbMC05XSskIiwgc3ZuX3JldmlzaW9uLCByZS5JR05PUkVDQVNFKToKICAgICAgICAgICAgICAg
ICBzdm5fcmV2aXNpb24gPSBzdm5fcmV2aXNpb25bMTpdCiAgICAgICAgICAgICBpZiBub3QgcmUu
bWF0Y2goIl5bMC05XSskIiwgc3ZuX3JldmlzaW9uKToKLSAgICAgICAgICAgICAgICBfbG9nLmVy
cm9yKCJJbnZhbGlkIHN2biByZXZpc2lvbjogJyVzJyIgJSBzdm5fcmV2aXNpb24pCi0gICAgICAg
ICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvciht
ZXNzYWdlPSJJbnZhbGlkIHN2biByZXZpc2lvbjogJyVzJyIgJSBzdm5fcmV2aXNpb24pCiAKICAg
ICAgICAgbmVlZHNfcHJvbXB0ID0gRmFsc2UKICAgICAgICAgaWYgbm90IGJ1Z19pZCBvciBub3Qg
c3ZuX3JldmlzaW9uOgpAQCAtNDQ5LDggKzQ0Niw3IEBAIGNsYXNzIENyZWF0ZUJ1ZyhBYnN0cmFj
dERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgZGVmIGNyZWF0ZV9idWdfZnJvbV9jb21taXQoc2Vs
Ziwgb3B0aW9ucywgYXJncywgdG9vbCk6CiAgICAgICAgIGNvbW1pdF9pZHMgPSB0b29sLnNjbSgp
LmNvbW1pdF9pZHNfZnJvbV9jb21taXRpc2hfYXJndW1lbnRzKGFyZ3MpCiAgICAgICAgIGlmIGxl
bihjb21taXRfaWRzKSA+IDM6Ci0gICAgICAgICAgICBfbG9nLmVycm9yKCJBcmUgeW91IHN1cmUg
eW91IHdhbnQgdG8gY3JlYXRlIG9uZSBidWcgd2l0aCAlcyBwYXRjaGVzPyIgJSBsZW4oY29tbWl0
X2lkcykpCi0gICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICAgICAgcmFpc2UgU2NyaXB0
RXJyb3IobWVzc2FnZT0iQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNyZWF0ZSBvbmUgYnVnIHdp
dGggJXMgcGF0Y2hlcz8iICUgbGVuKGNvbW1pdF9pZHMpKQogCiAgICAgICAgIGNvbW1pdF9pZCA9
IGNvbW1pdF9pZHNbMF0KIApAQCAtNTA2LDggKzUwMiw3IEBAIGNsYXNzIENyZWF0ZUJ1ZyhBYnN0
cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywg
YXJncywgdG9vbCk6CiAgICAgICAgIGlmIGxlbihhcmdzKToKICAgICAgICAgICAgIGlmIChub3Qg
dG9vbC5zY20oKS5zdXBwb3J0c19sb2NhbF9jb21taXRzKCkpOgotICAgICAgICAgICAgICAgIF9s
b2cuZXJyb3IoIkV4dHJhIGFyZ3VtZW50cyBub3Qgc3VwcG9ydGVkOyBwYXRjaCBpcyB0YWtlbiBm
cm9tIHdvcmtpbmcgZGlyZWN0b3J5LiIpCi0gICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKKyAg
ICAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcihtZXNzYWdlPSJFeHRyYSBhcmd1bWVudHMg
bm90IHN1cHBvcnRlZDsgcGF0Y2ggaXMgdGFrZW4gZnJvbSB3b3JraW5nIGRpcmVjdG9yeS4iKQog
ICAgICAgICAgICAgc2VsZi5jcmVhdGVfYnVnX2Zyb21fY29tbWl0KG9wdGlvbnMsIGFyZ3MsIHRv
b2wpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLmNyZWF0ZV9idWdfZnJvbV9wYXRj
aChvcHRpb25zLCBhcmdzLCB0b29sKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL3N0ZXBzL2Vuc3VyZWxvY2FsY29tbWl0aWZuZWVkZWQucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvZW5zdXJlbG9jYWxjb21taXRpZm5lZWRlZC5weQppbmRleCA3
NzhkN2FlNTZkM2EwMmZkNDZhZDI4OWNjMjgxYzc5MTkxZmY1Y2U0Li4yZWY2NzU5OTA1NTczZGYw
ODc5N2Y4ZTVhZTRiNmJkNmJhYTQwOWVkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc3RlcHMvZW5zdXJlbG9jYWxjb21taXRpZm5lZWRlZC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvZW5zdXJlbG9jYWxjb21taXRpZm5lZWRlZC5weQpA
QCAtMjcsOCArMjcsOCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBpbXBvcnQgbG9nZ2luZwotaW1wb3J0
IHN5cwogCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3Jp
cHRFcnJvcgogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLmFic3RyYWN0c3RlcCBpbXBvcnQgQWJz
dHJhY3RTdGVwCiBmcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMub3B0aW9ucyBpbXBvcnQgT3B0aW9u
cwogCkBAIC00NCw1ICs0NCw0IEBAIGNsYXNzIEVuc3VyZUxvY2FsQ29tbWl0SWZOZWVkZWQoQWJz
dHJhY3RTdGVwKToKIAogICAgIGRlZiBydW4oc2VsZiwgc3RhdGUpOgogICAgICAgICBpZiBzZWxm
Ll9vcHRpb25zLmxvY2FsX2NvbW1pdCBhbmQgbm90IHNlbGYuX3Rvb2wuc2NtKCkuc3VwcG9ydHNf
bG9jYWxfY29tbWl0cygpOgotICAgICAgICAgICAgX2xvZy5lcnJvcigiLS1sb2NhbC1jb21taXQg
cGFzc2VkLCBidXQgJXMgZG9lcyBub3Qgc3VwcG9ydCBsb2NhbCBjb21taXRzIiAlIHNlbGYuX3Rv
b2wuc2NtKCkuZGlzcGxheV9uYW1lKCkpCi0gICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAg
ICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVzc2FnZT0iLS1sb2NhbC1jb21taXQgcGFzc2VkLCBi
dXQgJXMgZG9lcyBub3Qgc3VwcG9ydCBsb2NhbCBjb21taXRzIiAlIHNlbGYuX3Rvb2wuc2NtKCku
ZGlzcGxheV9uYW1lKCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
c3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9z
dGVwcy9wcmVwYXJlY2hhbmdlbG9nLnB5CmluZGV4IDRkODBhYjYxZmM0MDc3ZWE5N2I2NGU5NGU5
MmFjNzI3NmI0ZjhhZDguLjViMzFiOTY2NDEzNWYwMTEyYjY5NzcxZjhiMzVlNDRkZjgwOTA2MzYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hh
bmdlbG9nLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJl
Y2hhbmdlbG9nLnB5CkBAIC0yNyw3ICsyNyw2IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCBs
b2dnaW5nCi1pbXBvcnQgc3lzCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LmNoYW5n
ZWxvZyBpbXBvcnQgQ2hhbmdlTG9nCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0
aXZlIGltcG9ydCBTY3JpcHRFcnJvcgpAQCAtNzcsNiArNzYsNSBAQCBjbGFzcyBQcmVwYXJlQ2hh
bmdlTG9nKEFic3RyYWN0U3RlcCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuX3Rv
b2wuZXhlY3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChhcmdzLCBzZWxmLl9vcHRpb25zLnF1
aWV0LCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9yb290KQogICAgICAgICBleGNlcHQg
U2NyaXB0RXJyb3IsIGU6Ci0gICAgICAgICAgICBfbG9nLmVycm9yKCJVbmFibGUgdG8gcHJlcGFy
ZSBDaGFuZ2VMb2dzLiIpCi0gICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICAgICAgcmFp
c2UgU2NyaXB0RXJyb3IobWVzc2FnZT0iVW5hYmxlIHRvIHByZXBhcmUgQ2hhbmdlTG9ncy4iKQog
ICAgICAgICBzZWxmLmRpZF9tb2RpZnlfY2hlY2tvdXQoc3RhdGUpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlY2hyb21pdW1kZXBzLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZWNocm9taXVtZGVwcy5weQppbmRl
eCAyM2Q4NjFiZmNhZjE0YzFkMjA3OGYxZWYzNDIwYmIwNGQzODFiNWFlLi41NzNkOGJiMzc2NTI3
Y2ZhMTlkNWM3YWE1NDJlZDRiNWU1NmM3ZmUxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlY2hyb21pdW1kZXBzLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGVjaHJvbWl1bWRlcHMucHkKQEAgLTI3LDEyICsy
NywxMiBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBpbXBvcnQgbG9nZ2luZwotaW1wb3J0IHN5cwogaW1w
b3J0IHVybGxpYjIKIAorZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnIGltcG9ydCB1cmxzCitm
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgog
ZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLmFic3RyYWN0c3RlcCBpbXBvcnQgQWJzdHJhY3RTdGVw
CiBmcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMub3B0aW9ucyBpbXBvcnQgT3B0aW9ucwotZnJvbSB3
ZWJraXRweS5jb21tb24uY29uZmlnIGltcG9ydCB1cmxzCiAKIF9sb2cgPSBsb2dnaW5nLmdldExv
Z2dlcihfX25hbWVfXykKIApAQCAtNTIsOCArNTIsNyBAQCBjbGFzcyBVcGRhdGVDaHJvbWl1bURF
UFMoQWJzdHJhY3RTdGVwKToKICAgICAgICAgaWYgbmV3X2Nocm9taXVtX3JldmlzaW9uIDwgY3Vy
cmVudF9jaHJvbWl1bV9yZXZpc2lvbjoKICAgICAgICAgICAgIG1lc3NhZ2UgPSAiQ3VycmVudCBD
aHJvbWl1bSBERVBTIHJldmlzaW9uICVzIGlzIG5ld2VyIHRoYW4gJXMuIiAlIChjdXJyZW50X2No
cm9taXVtX3JldmlzaW9uLCBuZXdfY2hyb21pdW1fcmV2aXNpb24pCiAgICAgICAgICAgICBpZiBz
ZWxmLl9vcHRpb25zLm5vbl9pbnRlcmFjdGl2ZToKLSAgICAgICAgICAgICAgICBfbG9nLmVycm9y
KG1lc3NhZ2UpCi0gICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAgICAgICAgICBy
YWlzZSBTY3JpcHRFcnJvcihtZXNzYWdlPW1lc3NhZ2UpCiAgICAgICAgICAgICBfbG9nLmluZm8o
bWVzc2FnZSkKICAgICAgICAgICAgIG5ld19jaHJvbWl1bV9yZXZpc2lvbiA9IHNlbGYuX3Rvb2wu
dXNlci5wcm9tcHQoIkVudGVyIG5ldyBjaHJvbWl1bSByZXZpc2lvbiAoZW50ZXIgbm90aGluZyB0
byBjYW5jZWwpOlxuIikKICAgICAgICAgICAgIHRyeToKQEAgLTYxLDggKzYwLDcgQEAgY2xhc3Mg
VXBkYXRlQ2hyb21pdW1ERVBTKEFic3RyYWN0U3RlcCk6CiAgICAgICAgICAgICBleGNlcHQgVmFs
dWVFcnJvciwgVHlwZUVycm9yOgogICAgICAgICAgICAgICAgIG5ld19jaHJvbWl1bV9yZXZpc2lv
biA9IE5vbmUKICAgICAgICAgICAgIGlmIG5vdCBuZXdfY2hyb21pdW1fcmV2aXNpb246Ci0gICAg
ICAgICAgICAgICAgX2xvZy5lcnJvcigiVW5hYmxlIHRvIHVwZGF0ZSBDaHJvbWl1bSBERVBTIikK
LSAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICAgICAgICAgIHJhaXNlIFNjcmlw
dEVycm9yKG1lc3NhZ2U9IlVuYWJsZSB0byB1cGRhdGUgQ2hyb21pdW0gREVQUyIpCiAKICAgICBk
ZWYgcnVuKHNlbGYsIHN0YXRlKToKICAgICAgICAgIyBOb3RlIHRoYXQgc3RhdGVbImNocm9taXVt
X3JldmlzaW9uIl0gbXVzdCBiZSBkZWZpbmVkLCBidXQgY2FuIGJlIE5vbmUuCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdmFsaWRhdGVjaGFuZ2Vsb2dzLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlY2hhbmdlbG9ncy5w
eQppbmRleCAwNjFiYWE1ZWM4YTk3YzJmZTQ3NWIzYThmNTMxY2QwZTM3MjE3Njg0Li5lYWE5NDRh
NmM2YjExODQzMGYwZjJlMzc5N2ZkODcxYzdhMTEwODIxIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdmFsaWRhdGVjaGFuZ2Vsb2dzLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy92YWxpZGF0ZWNoYW5nZWxvZ3MucHkKQEAgLTI5
LDkgKzI5LDEwIEBACiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHN5cwogCitmcm9tIHdlYmtpdHB5
LmNvbW1vbi5jaGVja291dC5kaWZmX3BhcnNlciBpbXBvcnQgRGlmZlBhcnNlcgorZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IKIGZyb20gd2Vi
a2l0cHkudG9vbC5zdGVwcy5hYnN0cmFjdHN0ZXAgaW1wb3J0IEFic3RyYWN0U3RlcAogZnJvbSB3
ZWJraXRweS50b29sLnN0ZXBzLm9wdGlvbnMgaW1wb3J0IE9wdGlvbnMKLWZyb20gd2Via2l0cHku
Y29tbW9uLmNoZWNrb3V0LmRpZmZfcGFyc2VyIGltcG9ydCBEaWZmUGFyc2VyCiAKIF9sb2cgPSBs
b2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIApAQCAtNzcsNSArNzgsNCBAQCBjbGFzcyBWYWxp
ZGF0ZUNoYW5nZUxvZ3MoQWJzdHJhY3RTdGVwKToKICAgICAgICAgICAgIHBhcnNlZF9kaWZmID0g
RGlmZlBhcnNlcihkaWZmLnNwbGl0bGluZXMoKSkKICAgICAgICAgICAgIGZvciBmaWxlbmFtZSwg
ZGlmZl9maWxlIGluIHBhcnNlZF9kaWZmLmZpbGVzLml0ZW1zKCk6CiAgICAgICAgICAgICAgICAg
aWYgbm90IHNlbGYuX2NoZWNrX2NoYW5nZWxvZ19kaWZmKGRpZmZfZmlsZSk6Ci0gICAgICAgICAg
ICAgICAgICAgIF9sb2cuZXJyb3IoIkNoYW5nZUxvZyBlbnRyeSBpbiAlcyBpcyBub3QgYXQgdGhl
IHRvcCBvZiB0aGUgZmlsZS4iICUgZGlmZl9maWxlLmZpbGVuYW1lKQotICAgICAgICAgICAgICAg
ICAgICBzeXMuZXhpdCgxKQorICAgICAgICAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvciht
ZXNzYWdlPSJDaGFuZ2VMb2cgZW50cnkgaW4gJXMgaXMgbm90IGF0IHRoZSB0b3Agb2YgdGhlIGZp
bGUuIiAlIGRpZmZfZmlsZS5maWxlbmFtZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zdGVwcy92YWxpZGF0ZXJldmlld2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlcmV2aWV3ZXIucHkKaW5kZXggOTBkZGY1YmUzZjIwNzQz
ZGViMjMyYzdiNzM1M2E4ZDM2OGJjMzk2OC4uZTQwZGQ4YjI1MzAyNjI0NGViZjJmMDM2MzhjYTZm
OTI0OTM3NWEzOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L3ZhbGlkYXRlcmV2aWV3ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0
ZXBzL3ZhbGlkYXRlcmV2aWV3ZXIucHkKQEAgLTI3LDkgKzI3LDkgQEAKICMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
IAogaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBzeXMKIAogZnJvbSB3ZWJraXRweS5jb21tb24uY2hl
Y2tvdXQuY2hhbmdlbG9nIGltcG9ydCBDaGFuZ2VMb2cKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LnRvb2wuc3Rl
cHMuYWJzdHJhY3RzdGVwIGltcG9ydCBBYnN0cmFjdFN0ZXAKIGZyb20gd2Via2l0cHkudG9vbC5z
dGVwcy5vcHRpb25zIGltcG9ydCBPcHRpb25zCiAKQEAgLTU2LDUgKzU2LDQgQEAgY2xhc3MgVmFs
aWRhdGVSZXZpZXdlcihBYnN0cmFjdFN0ZXApOgogICAgICAgICAgICAgcmV2aWV3ZXJfdGV4dCA9
IGNoYW5nZWxvZ19lbnRyeS5yZXZpZXdlcl90ZXh0KCkKICAgICAgICAgICAgIGlmIHJldmlld2Vy
X3RleHQ6CiAgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCIlcyBmb3VuZCBpbiAlcyBkb2VzIG5v
dCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpZXdlciBhY2NvcmRpbmcgdG8gY29tbWl0dGVycy5w
eS4iICUgKHJldmlld2VyX3RleHQsIGNoYW5nZWxvZ19wYXRoKSkKLSAgICAgICAgICAgIF9sb2cu
ZXJyb3IoJyVzIG5laXRoZXIgbGlzdHMgYSB2YWxpZCByZXZpZXdlciBub3IgY29udGFpbnMgdGhl
IHN0cmluZyAiVW5yZXZpZXdlZCIgb3IgIlJ1YmJlciBzdGFtcCIgKGNhc2UgaW5zZW5zaXRpdmUp
LicgJSBjaGFuZ2Vsb2dfcGF0aCkKLSAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgICAg
ICByYWlzZSBTY3JpcHRFcnJvcihtZXNzYWdlPSclcyBuZWl0aGVyIGxpc3RzIGEgdmFsaWQgcmV2
aWV3ZXIgbm9yIGNvbnRhaW5zIHRoZSBzdHJpbmcgIlVucmV2aWV3ZWQiIG9yICJSdWJiZXIgc3Rh
bXAiIChjYXNlIGluc2Vuc2l0aXZlKS4nICUgY2hhbmdlbG9nX3BhdGgpCg==
</data>
<flag name="review"
          id="192327"
          type_id="1"
          status="-"
          setter="dpranke"
    />
          </attachment>
      

    </bug>

</bugzilla>