<?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>137366</bug_id>
          
          <creation_ts>2014-10-02 16:18:53 -0700</creation_ts>
          <short_desc>update-work-items should never delete items</short_desc>
          <delta_ts>2014-10-02 16:50:05 -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>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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039026</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-02 16:18:53 -0700</bug_when>
    <thetext>Directly manipulating WorkItems from the client is confusing and racy, as the bot will continue processing even if the item is removed (and then the user can start another commit queue with the same patch by flipping cq+ back).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039035</commentid>
    <comment_count>1</comment_count>
      <attachid>239154</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-02 16:29:19 -0700</bug_when>
    <thetext>Created attachment 239154
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039036</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-02 16:32:11 -0700</bug_when>
    <thetext>Attachment 239154 did not pass style-queue:


ERROR: Tools/QueueStatusServer/handlers/updateworkitems.py:50:  [UpdateWorkItems._work_items_from_request] Instance of &apos;UpdateWorkItems&apos; has no &apos;request&apos; member  [pylint/E1101] [5]
ERROR: Tools/QueueStatusServer/model/workitems.py:75:  [WorkItems.add_work_item] Instance of &apos;WorkItems&apos; has no &apos;key&apos; member  [pylint/E1101] [5]
ERROR: Tools/QueueStatusServer/model/workitems.py:78:  [WorkItems.add_work_items] Instance of &apos;WorkItems&apos; has no &apos;key&apos; member  [pylint/E1101] [5]
Total errors found: 3 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039045</commentid>
    <comment_count>3</comment_count>
      <attachid>239154</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-10-02 16:46:09 -0700</bug_when>
    <thetext>Comment on attachment 239154
proposed patch

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

&gt; Tools/QueueStatusServer/handlers/updateworkitems.py:-49
&gt;      def _parse_work_items_string(self, items_string):
&gt; -        try:
&gt; -            item_strings = items_string.split(&quot; &quot;) if items_string else []
&gt; -            return map(int, item_strings)
&gt; -        except ValueError:
&gt; -            return None

Could you add a comment in the change log as to why we&apos;re removing try-except here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039050</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-02 16:50:05 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r174248&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239154</attachid>
            <date>2014-10-02 16:29:19 -0700</date>
            <delta_ts>2014-10-02 16:46:09 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>OnlyAdd.txt</filename>
            <type>text/plain</type>
            <size>18613</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NDIzOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQzIEBACisyMDE0LTEwLTAyICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIHVwZGF0ZS13b3JrLWl0ZW1zIHNob3VsZCBuZXZlciBkZWxldGUgaXRlbXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM2Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHdlIGRv
bid0IGp1c3QgcmVwbGFjZSB0aGUgd2hvbGUgbGlzdCBhbnkgbW9yZSwgaW5kaWNhdGUgd2hpY2gg
aXRlbXMgYXJlIGhpZ2gKKyAgICAgICAgcHJpb3JpdHksIGFuZCB3aGljaCBhcmUgbm90LiBIaWdo
dCBwcmlvcml0eSBvbmVzIHdpbGwgYmUgcHJlcGVuZGVkIHRvIHRoZSBxdWV1ZSwKKyAgICAgICAg
b3RoZXJzIHdpbGwgYmUgYXBwZW5kZWQuCisKKyAgICAgICAgVGhpcyBjcmVhdGVzIGEgYml0IG9m
IHVuZmFpcm5lc3MgaW4gdGhhdCBoaWdoIHByaW9yaXR5IGl0ZW0gcXVldWUgYmVjb21lcyBhIExJ
Rk8uCisgICAgICAgIEJ1dCBob3BlZnVsbHkgd2Ugd2lsbCBuZXZlciBoYXZlIG1hbnkgcm9sbG91
dHMgY29tcGV0aW5nIGxpa2UgdGhhdC4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2Fw
cC55YW1sOiBVcGRhdGUgdmVyc2lvbi4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hh
bmRsZXJzL3VwZGF0ZXdvcmtpdGVtcy5weTogTmV2ZXIgcmVtb3ZlIGl0ZW1zLiBQYXNzIGhpZ2gK
KyAgICAgICAgcHJpb3JpdHkgYW5kIHJlZ3VsYXIgaXRlbXMgc2VwYXJhdGVseS4KKworICAgICAg
ICAqIFF1ZXVlU3RhdHVzU2VydmVyL21haW4ucHk6IFJlbW92ZWQgdW5uZWNlc3NhcnkgcmVnZXhw
cyBmcm9tIFVSTCBtYXRjaGluZyBjb2RlLgorCisgICAgICAgICogUXVldWVTdGF0dXNTZXJ2ZXIv
bW9kZWwvd29ya2l0ZW1zLnB5OiBBZGRlZCBhIHdheSB0byBhZGQgaGlnaCBwcmlvcml0eSBpdGVt
cy4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL3RlbXBsYXRlcy91cGRhdGV3b3JraXRl
bXMuaHRtbDogQWRkZWQgYSBmaWVsZCBmb3IgaGlnaAorICAgICAgICBwcmlvcml0eSBpdGVtcy4K
KworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxs
YS5weToKKyAgICAgICAgKEJ1Z3ppbGxhUXVlcmllcy5fcGFyc2VfYXR0YWNobWVudF9pZHNfcmVx
dWVzdF9xdWVyeSk6IFJlbW92ZWQgYW4gYW5ub3lpbmcgbG9nCisgICAgICAgIGxpbmUgdGhhdCBj
b21wbGljYXRlZCB0ZXN0aW5nLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L3N0YXR1c3NlcnZlci5weTogUGFzcyBoaWdoIHByaW9yaXR5IGl0ZW1zIHNlcGFyYXRlbHku
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZlZWRlcnMucHk6IEZvciBj
b21taXQgcXVldWUsIHNwbGl0IGhpZ2ggYW5kIHJlZ3VsYXIKKyAgICAgICAgcHJpb3JpdHkgaXRl
bXMgaW50byBzZXBhcmF0ZSBsaXN0cy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL25ldC9zdGF0dXNzZXJ2ZXJfbW9jay5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L2ZlZWRlcnNfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weToKKyAgICAgICAgVXBkYXRlZCB0ZXN0
cy4KKwogMjAxNC0xMC0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3NDEyMC4KSW5kZXg6IFRvb2xz
L1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1F1ZXVlU3Rh
dHVzU2VydmVyL2FwcC55YW1sCShyZXZpc2lvbiAxNzQyMzEpCisrKyBUb29scy9RdWV1ZVN0YXR1
c1NlcnZlci9hcHAueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIGFwcGxpY2F0
aW9uOiB3ZWJraXQtcXVldWVzCi12ZXJzaW9uOiAxNzQxNTggIyBCdWd6aWxsYSBidWcgSUQgb2Yg
bGFzdCBtYWpvciBjaGFuZ2UKK3ZlcnNpb246IGFwICMgQnVnemlsbGEgYnVnIElEIG9mIGxhc3Qg
bWFqb3IgY2hhbmdlCiBydW50aW1lOiBweXRob24KIGFwaV92ZXJzaW9uOiAxCiAKSW5kZXg6IFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL21haW4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvbWFpbi5weQkocmV2aXNpb24gMTc0MjMxKQorKysgVG9vbHMvUXVldWVTdGF0
dXNTZXJ2ZXIvbWFpbi5weQkod29ya2luZyBjb3B5KQpAQCAtNjMsNyArNjMsNyBAQCByb3V0ZXMg
PSBbCiAgICAgKCcvc3luYy1xdWV1ZS1sb2dzJywgU3luY1F1ZXVlTG9ncyksCiAgICAgKHInL3Bh
dGNoLXN0YXR1cy8oLiopLyguKiknLCBQYXRjaFN0YXR1cyksCiAgICAgKHInL3BhdGNoLyguKikn
LCBQYXRjaCksCi0gICAgKHInL3N1Ym1pdC10by1ld3MnLCBTdWJtaXRUb0VXUyksCisgICAgKCcv
c3VibWl0LXRvLWV3cycsIFN1Ym1pdFRvRVdTKSwKICAgICAocicvcmVzdWx0cy8oLiopJywgU2hv
d1Jlc3VsdHMpLAogICAgIChyJy9zdGF0dXMtYnViYmxlLyguKiknLCBTdGF0dXNCdWJibGUpLAog
ICAgIChyJy9zdm4tcmV2aXNpb24vKC4qKScsIFNWTlJldmlzaW9uKSwKQEAgLTczLDggKzczLDgg
QEAgcm91dGVzID0gWwogICAgIChyJy9xdWV1ZS1zdGF0dXMvKC4qKScsIFF1ZXVlU3RhdHVzKSwK
ICAgICAocicvcXVldWUtc3RhdHVzLWpzb24vKC4qKScsIFF1ZXVlU3RhdHVzSlNPTiksCiAgICAg
KHInL25leHQtcGF0Y2gvKC4qKScsIE5leHRQYXRjaCksCi0gICAgKHInL3JlbGVhc2UtcGF0Y2gn
LCBSZWxlYXNlUGF0Y2gpLAotICAgIChyJy9yZWxlYXNlLWxvY2snLCBSZWxlYXNlTG9jayksCisg
ICAgKCcvcmVsZWFzZS1wYXRjaCcsIFJlbGVhc2VQYXRjaCksCisgICAgKCcvcmVsZWFzZS1sb2Nr
JywgUmVsZWFzZUxvY2spLAogICAgICgnL3VwZGF0ZS1zdGF0dXMnLCBVcGRhdGVTdGF0dXMpLAog
ICAgICgnL3VwZGF0ZS13b3JrLWl0ZW1zJywgVXBkYXRlV29ya0l0ZW1zKSwKICAgICAoJy91cGRh
dGUtc3ZuLXJldmlzaW9uJywgVXBkYXRlU1ZOUmV2aXNpb24pLApJbmRleDogVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRld29ya2l0ZW1zLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZXdvcmtpdGVtcy5weQkocmV2aXNp
b24gMTc0MjMxKQorKysgVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRld29y
a2l0ZW1zLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNSBAQAogIyBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTQyLDIxICs0MywxNSBAQCBjbGFzcyBVcGRhdGVXb3JrSXRlbXMoVXBk
YXRlQmFzZSk6CiAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHRlbXBsYXRlLnJlbmRl
cigidGVtcGxhdGVzL3VwZGF0ZXdvcmtpdGVtcy5odG1sIiwgTm9uZSkpCiAKICAgICBkZWYgX3Bh
cnNlX3dvcmtfaXRlbXNfc3RyaW5nKHNlbGYsIGl0ZW1zX3N0cmluZyk6Ci0gICAgICAgIHRyeToK
LSAgICAgICAgICAgIGl0ZW1fc3RyaW5ncyA9IGl0ZW1zX3N0cmluZy5zcGxpdCgiICIpIGlmIGl0
ZW1zX3N0cmluZyBlbHNlIFtdCi0gICAgICAgICAgICByZXR1cm4gbWFwKGludCwgaXRlbV9zdHJp
bmdzKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiBOb25l
CisgICAgICAgIGl0ZW1fc3RyaW5ncyA9IGl0ZW1zX3N0cmluZy5zcGxpdCgiICIpIGlmIGl0ZW1z
X3N0cmluZyBlbHNlIFtdCisgICAgICAgIHJldHVybiBtYXAoaW50LCBpdGVtX3N0cmluZ3MpCiAK
LSAgICBkZWYgX3VwZGF0ZV93b3JrX2l0ZW1zX2Zyb21fcmVxdWVzdChzZWxmLCB3b3JrX2l0ZW1z
KToKKyAgICBkZWYgX3dvcmtfaXRlbXNfZnJvbV9yZXF1ZXN0KHNlbGYpOgorICAgICAgICBoaWdo
X3ByaW9yaXR5X2l0ZW1zX3N0cmluZyA9IHNlbGYucmVxdWVzdC5nZXQoImhpZ2hfcHJpb3JpdHlf
aXRlbXMiKQogICAgICAgICBpdGVtc19zdHJpbmcgPSBzZWxmLnJlcXVlc3QuZ2V0KCJ3b3JrX2l0
ZW1zIikKLSAgICAgICAgbmV3X3dvcmtfaXRlbXMgPSBzZWxmLl9wYXJzZV93b3JrX2l0ZW1zX3N0
cmluZyhpdGVtc19zdHJpbmcpCi0gICAgICAgIGlmIG5ld193b3JrX2l0ZW1zID09IE5vbmU6Ci0g
ICAgICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0ZSgiRmFpbGVkIHRvIHBhcnNlIHdvcmsg
aXRlbXM6ICVzIiAlIGl0ZW1zX3N0cmluZykKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAg
ICAgICB3b3JrX2l0ZW1zLml0ZW1faWRzID0gbmV3X3dvcmtfaXRlbXMKLSAgICAgICAgd29ya19p
dGVtcy5kYXRlID0gZGF0ZXRpbWUudXRjbm93KCkKLSAgICAgICAgcmV0dXJuIFRydWUKKyAgICAg
ICAgaGlnaF9wcmlvcml0eV93b3JrX2l0ZW1zID0gc2VsZi5fcGFyc2Vfd29ya19pdGVtc19zdHJp
bmcoaGlnaF9wcmlvcml0eV9pdGVtc19zdHJpbmcpCisgICAgICAgIHdvcmtfaXRlbXMgPSBzZWxm
Ll9wYXJzZV93b3JrX2l0ZW1zX3N0cmluZyhpdGVtc19zdHJpbmcpCisgICAgICAgIHJldHVybiBo
aWdoX3ByaW9yaXR5X3dvcmtfaXRlbXMsIHdvcmtfaXRlbXMKIAogICAgIGRlZiBfcXVldWVfZnJv
bV9yZXF1ZXN0KHNlbGYpOgogICAgICAgICBxdWV1ZV9uYW1lID0gc2VsZi5yZXF1ZXN0LmdldCgi
cXVldWVfbmFtZSIpCkBAIC03MSwxNyArNjYsMTIgQEAgY2xhc3MgVXBkYXRlV29ya0l0ZW1zKFVw
ZGF0ZUJhc2UpOgogICAgICAgICBpZiBub3QgcXVldWU6CiAgICAgICAgICAgICBzZWxmLnJlc3Bv
bnNlLnNldF9zdGF0dXMoNTAwKQogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIHdvcmtfaXRl
bXMgPSBxdWV1ZS53b3JrX2l0ZW1zKCkKLSAgICAgICAgb2xkX2l0ZW1zID0gc2V0KHdvcmtfaXRl
bXMuaXRlbV9pZHMpCiAKLSAgICAgICAgc3VjY2VzcyA9IHNlbGYuX3VwZGF0ZV93b3JrX2l0ZW1z
X2Zyb21fcmVxdWVzdCh3b3JrX2l0ZW1zKQotICAgICAgICBpZiBub3Qgc3VjY2VzczoKLSAgICAg
ICAgICAgIHNlbGYucmVzcG9uc2Uuc2V0X3N0YXR1cyg1MDApCi0gICAgICAgICAgICByZXR1cm4K
LSAgICAgICAgbmV3X2l0ZW1zID0gc2V0KHdvcmtfaXRlbXMuaXRlbV9pZHMpCi0gICAgICAgIHdv
cmtfaXRlbXMucHV0KCkKKyAgICAgICAgaGlnaF9wcmlvcml0eV9pdGVtcywgaXRlbXMgPSBzZWxm
Ll93b3JrX2l0ZW1zX2Zyb21fcmVxdWVzdCgpCisKKyAgICAgICAgIyBBZGQgaXRlbXMgdGhhdCBh
cmUgbm90IGN1cnJlbnRseSBpbiB0aGUgd29yayBxdWV1ZS4gTmV2ZXIgcmVtb3ZlIGFueSBpdGVt
cywKKyAgICAgICAgIyBhcyB0aGF0IHNob3VsZCBiZSBkb25lIGJ5IHRoZSBxdWV1ZSwgZmVlZGVy
IG9ubHkgYWRkcyB0aGVtLgorICAgICAgICBhZGRlZF9pdGVtcyA9IHF1ZXVlLndvcmtfaXRlbXMo
KS5hZGRfd29ya19pdGVtcyhoaWdoX3ByaW9yaXR5X2l0ZW1zLCBpdGVtcykKIAotICAgICAgICBm
b3Igd29ya19pdGVtIGluIG5ld19pdGVtcyAtIG9sZF9pdGVtczoKKyAgICAgICAgZm9yIHdvcmtf
aXRlbSBpbiBhZGRlZF9pdGVtczoKICAgICAgICAgICAgIFJlY29yZFBhdGNoRXZlbnQuYWRkZWQo
d29ya19pdGVtLCBxdWV1ZS5uYW1lKCkpCi0gICAgICAgIGZvciB3b3JrX2l0ZW0gaW4gb2xkX2l0
ZW1zIC0gbmV3X2l0ZW1zOgotICAgICAgICAgICAgUmVjb3JkUGF0Y2hFdmVudC5zdG9wcGVkKHdv
cmtfaXRlbSwgcXVldWUubmFtZSgpKQpJbmRleDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9k
ZWwvd29ya2l0ZW1zLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21v
ZGVsL3dvcmtpdGVtcy5weQkocmV2aXNpb24gMTc0MjMxKQorKysgVG9vbHMvUXVldWVTdGF0dXNT
ZXJ2ZXIvbW9kZWwvd29ya2l0ZW1zLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMg
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUzLDE2ICs1NCwyOCBAQCBjbGFzcyBXb3Jr
SXRlbXMoZGIuTW9kZWwsIFF1ZXVlUHJvcGVydHlNCiAgICAgICAgIHJldHVybiBOb25lCiAKICAg
ICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF91bmd1YXJkZWRfYWRkKGtleSwgYXR0YWNobWVudF9p
ZCk6CisgICAgZGVmIF91bmd1YXJkZWRfYWRkKGtleSwgaGlnaF9wcmlvcml0eV9pdGVtcywgaXRl
bXMpOgogICAgICAgICB3b3JrX2l0ZW1zID0gZGIuZ2V0KGtleSkKLSAgICAgICAgaWYgYXR0YWNo
bWVudF9pZCBpbiB3b3JrX2l0ZW1zLml0ZW1faWRzOgotICAgICAgICAgICAgcmV0dXJuCi0gICAg
ICAgIHdvcmtfaXRlbXMuaXRlbV9pZHMuYXBwZW5kKGF0dGFjaG1lbnRfaWQpCisgICAgICAgIGFk
ZGVkX2l0ZW1zID0gW10KKyAgICAgICAgZm9yIGl0ZW0gaW4gaGlnaF9wcmlvcml0eV9pdGVtc1s6
Oi0xXToKKyAgICAgICAgICAgIGlmIGl0ZW0gaW4gd29ya19pdGVtcy5pdGVtX2lkczoKKyAgICAg
ICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgd29ya19pdGVtcy5pdGVtX2lkcy5pbnNl
cnQoMCwgaXRlbSkKKyAgICAgICAgICAgIGFkZGVkX2l0ZW1zLmluc2VydCgwLCBpdGVtKQorICAg
ICAgICBmb3IgaXRlbSBpbiBpdGVtczoKKyAgICAgICAgICAgIGlmIGl0ZW0gaW4gd29ya19pdGVt
cy5pdGVtX2lkczoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgd29ya19p
dGVtcy5pdGVtX2lkcy5hcHBlbmQoaXRlbSkKKyAgICAgICAgICAgIGFkZGVkX2l0ZW1zLmFwcGVu
ZChpdGVtKQogICAgICAgICB3b3JrX2l0ZW1zLnB1dCgpCisgICAgICAgIHJldHVybiBhZGRlZF9p
dGVtcwogCiAgICAgIyBCZWNhdXNlIHRoaXMgdXNlcyAua2V5KCkgc2VsZi5pc19zYXZlZCgpIG11
c3QgYmUgVHJ1ZSBvciB0aGlzIHdpbGwgdGhyb3cgTm90U2F2ZWRFcnJvci4KICAgICBkZWYgYWRk
X3dvcmtfaXRlbShzZWxmLCBhdHRhY2htZW50X2lkKToKLSAgICAgICAgZGIucnVuX2luX3RyYW5z
YWN0aW9uKHNlbGYuX3VuZ3VhcmRlZF9hZGQsIHNlbGYua2V5KCksIGF0dGFjaG1lbnRfaWQpCisg
ICAgICAgIGRiLnJ1bl9pbl90cmFuc2FjdGlvbihzZWxmLl91bmd1YXJkZWRfYWRkLCBzZWxmLmtl
eSgpLCBbXSwgW2F0dGFjaG1lbnRfaWRdKQorCisgICAgZGVmIGFkZF93b3JrX2l0ZW1zKHNlbGYs
IGhpZ2hfcHJpb3JpdHlfaXRlbXMsIGl0ZW1zKToKKyAgICAgICAgcmV0dXJuIGRiLnJ1bl9pbl90
cmFuc2FjdGlvbihzZWxmLl91bmd1YXJkZWRfYWRkLCBzZWxmLmtleSgpLCBoaWdoX3ByaW9yaXR5
X2l0ZW1zLCBpdGVtcykKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgX3VuZ3VhcmRlZF9y
ZW1vdmUoa2V5LCBhdHRhY2htZW50X2lkKToKSW5kZXg6IFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVy
L3RlbXBsYXRlcy91cGRhdGV3b3JraXRlbXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9RdWV1
ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvdXBkYXRld29ya2l0ZW1zLmh0bWwJKHJldmlzaW9uIDE3
NDIzMSkKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL3RlbXBsYXRlcy91cGRhdGV3b3JraXRl
bXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDggQEAKIDxmb3JtIG5hbWU9InVwZGF0
ZV93b3JrX2l0ZW1zIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9InBvc3Qi
PgogVXBkYXRlIHdvcmsgaXRlbXMgZm9yIGEgcXVldWU6IDxpbnB1dCBuYW1lPSJxdWV1ZV9uYW1l
Ij4KICA8ZGl2PgotICAgICBXb3JrIEl0ZW1zOgotICAgIDxpbnB1dCBuYW1lPSJ3b3JrX2l0ZW1z
Ij4KKyAgICAgV29yayBpdGVtczogPGlucHV0IG5hbWU9IndvcmtfaXRlbXMiPgorICAgICBIaWdo
IHByaW9yaXR5IHdvcmsgaXRlbXM6IDxpbnB1dCBuYW1lPSJoaWdoX3ByaW9yaXR5X3dvcmtfaXRl
bXMiPgogIDwvZGl2PgogIDxkaXY+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlVwZGF0ZSBX
b3JrIEl0ZW1zIj48L2Rpdj4KIDwvZm9ybT4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL25ldC9zdGF0dXNzZXJ2ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQkocmV2aXNpb24gMTc0MjMxKQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMTAwLDEzICsxMDAsMTUgQEAgY2xhc3MgU3RhdHVzU2VydmVyOgogICAgICAg
ICBzZWxmLl9icm93c2VyWyJicm9rZW5fYm90Il0gPSBicm9rZW5fYm90CiAgICAgICAgIHJldHVy
biBzZWxmLl9icm93c2VyLnN1Ym1pdCgpLnJlYWQoKQogCi0gICAgZGVmIF9wb3N0X3dvcmtfaXRl
bXNfdG9fc2VydmVyKHNlbGYsIHF1ZXVlX25hbWUsIHdvcmtfaXRlbXMpOgorICAgIGRlZiBfcG9z
dF93b3JrX2l0ZW1zX3RvX3NlcnZlcihzZWxmLCBxdWV1ZV9uYW1lLCBoaWdoX3ByaW9yaXR5X3dv
cmtfaXRlbXMsIHdvcmtfaXRlbXMpOgogICAgICAgICB1cGRhdGVfd29ya19pdGVtc191cmwgPSAi
JXMvdXBkYXRlLXdvcmstaXRlbXMiICUgc2VsZi51cmwKICAgICAgICAgc2VsZi5fYnJvd3Nlci5v
cGVuKHVwZGF0ZV93b3JrX2l0ZW1zX3VybCkKICAgICAgICAgc2VsZi5fYnJvd3Nlci5zZWxlY3Rf
Zm9ybShuYW1lPSJ1cGRhdGVfd29ya19pdGVtcyIpCiAgICAgICAgIHNlbGYuX2Jyb3dzZXJbInF1
ZXVlX25hbWUiXSA9IHF1ZXVlX25hbWUKICAgICAgICAgd29ya19pdGVtcyA9IG1hcCh1bmljb2Rl
LCB3b3JrX2l0ZW1zKSAgIyAuam9pbiBleHBlY3RzIHN0cmluZ3MKICAgICAgICAgc2VsZi5fYnJv
d3Nlclsid29ya19pdGVtcyJdID0gIiAiLmpvaW4od29ya19pdGVtcykKKyAgICAgICAgaGlnaF9w
cmlvcml0eV93b3JrX2l0ZW1zID0gbWFwKHVuaWNvZGUsIGhpZ2hfcHJpb3JpdHlfd29ya19pdGVt
cykKKyAgICAgICAgc2VsZi5fYnJvd3NlclsiaGlnaF9wcmlvcml0eV93b3JrX2l0ZW1zIl0gPSAi
ICIuam9pbihoaWdoX3ByaW9yaXR5X3dvcmtfaXRlbXMpCiAgICAgICAgIHJldHVybiBzZWxmLl9i
cm93c2VyLnN1Ym1pdCgpLnJlYWQoKQogCiAgICAgZGVmIF9wb3N0X3dvcmtfaXRlbV90b19ld3Mo
c2VsZiwgYXR0YWNobWVudF9pZCk6CkBAIC0xNDksOSArMTUxLDkgQEAgY2xhc3MgU3RhdHVzU2Vy
dmVyOgogICAgICAgICBfbG9nLmluZm8oIlJlbGVhc2luZyBsb2NrIGZvciB3b3JrIGl0ZW0gJXMg
ZnJvbSAlcyIgJSAocGF0Y2guaWQoKSwgcXVldWVfbmFtZSkpCiAgICAgICAgIHJldHVybiBOZXR3
b3JrVHJhbnNhY3Rpb24oY29udmVydF80MDRfdG9fTm9uZT1UcnVlKS5ydW4obGFtYmRhOiBzZWxm
Ll9wb3N0X3JlbGVhc2VfbG9jayhxdWV1ZV9uYW1lLCBwYXRjaCkpCiAKLSAgICBkZWYgdXBkYXRl
X3dvcmtfaXRlbXMoc2VsZiwgcXVldWVfbmFtZSwgd29ya19pdGVtcyk6Ci0gICAgICAgIF9sb2cu
ZGVidWcoIlJlY29yZGluZyB3b3JrIGl0ZW1zOiAlcyBmb3IgJXMiICUgKHdvcmtfaXRlbXMsIHF1
ZXVlX25hbWUpKQotICAgICAgICByZXR1cm4gTmV0d29ya1RyYW5zYWN0aW9uKCkucnVuKGxhbWJk
YTogc2VsZi5fcG9zdF93b3JrX2l0ZW1zX3RvX3NlcnZlcihxdWV1ZV9uYW1lLCB3b3JrX2l0ZW1z
KSkKKyAgICBkZWYgdXBkYXRlX3dvcmtfaXRlbXMoc2VsZiwgcXVldWVfbmFtZSwgaGlnaF9wcmlv
cml0eV93b3JrX2l0ZW1zLCB3b3JrX2l0ZW1zKToKKyAgICAgICAgX2xvZy5kZWJ1ZygiUmVjb3Jk
aW5nIHdvcmsgaXRlbXM6ICVzIGZvciAlcyIgJSAoaGlnaF9wcmlvcml0eV93b3JrX2l0ZW1zICsg
d29ya19pdGVtcywgcXVldWVfbmFtZSkpCisgICAgICAgIHJldHVybiBOZXR3b3JrVHJhbnNhY3Rp
b24oKS5ydW4obGFtYmRhOiBzZWxmLl9wb3N0X3dvcmtfaXRlbXNfdG9fc2VydmVyKHF1ZXVlX25h
bWUsIGhpZ2hfcHJpb3JpdHlfd29ya19pdGVtcywgd29ya19pdGVtcykpCiAKICAgICBkZWYgdXBk
YXRlX3N0YXR1cyhzZWxmLCBxdWV1ZV9uYW1lLCBzdGF0dXMsIHBhdGNoPU5vbmUsIHJlc3VsdHNf
ZmlsZT1Ob25lKToKICAgICAgICAgX2xvZy5pbmZvKHN0YXR1cykKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL25ldC9zdGF0dXNzZXJ2ZXJfbW9jay5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvc3RhdHVzc2VydmVyX21vY2sucHkJ
KHJldmlzaW9uIDE3NDIzMSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9z
dGF0dXNzZXJ2ZXJfbW9jay5weQkod29ya2luZyBjb3B5KQpAQCAtNTUsOSArNTUsOSBAQCBjbGFz
cyBNb2NrU3RhdHVzU2VydmVyKG9iamVjdCk6CiAgICAgZGVmIHJlbGVhc2VfbG9jayhzZWxmLCBx
dWV1ZV9uYW1lLCBwYXRjaCk6CiAgICAgICAgIF9sb2cuaW5mbygiTU9DSzogcmVsZWFzZV9sb2Nr
OiAlcyAlcyIgJSAocXVldWVfbmFtZSwgcGF0Y2guaWQoKSkpCiAKLSAgICBkZWYgdXBkYXRlX3dv
cmtfaXRlbXMoc2VsZiwgcXVldWVfbmFtZSwgd29ya19pdGVtcyk6CisgICAgZGVmIHVwZGF0ZV93
b3JrX2l0ZW1zKHNlbGYsIHF1ZXVlX25hbWUsIGhpZ2hfcHJpb3JpdHlfd29ya19pdGVtcywgd29y
a19pdGVtcyk6CiAgICAgICAgIHNlbGYuX3dvcmtfaXRlbXMgPSB3b3JrX2l0ZW1zCi0gICAgICAg
IF9sb2cuaW5mbygiTU9DSzogdXBkYXRlX3dvcmtfaXRlbXM6ICVzICVzIiAlIChxdWV1ZV9uYW1l
LCB3b3JrX2l0ZW1zKSkKKyAgICAgICAgX2xvZy5pbmZvKCJNT0NLOiB1cGRhdGVfd29ya19pdGVt
czogJXMgJXMiICUgKHF1ZXVlX25hbWUsIGhpZ2hfcHJpb3JpdHlfd29ya19pdGVtcyArIHdvcmtf
aXRlbXMpKQogCiAgICAgZGVmIHN1Ym1pdF90b19ld3Moc2VsZiwgcGF0Y2hfaWQpOgogICAgICAg
ICBfbG9nLmluZm8oIk1PQ0s6IHN1Ym1pdF90b19ld3M6ICVzIiAlIChwYXRjaF9pZCkpCkluZGV4
OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGEucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxh
L2J1Z3ppbGxhLnB5CShyZXZpc2lvbiAxNzQyMzEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGEucHkJKHdvcmtpbmcgY29weSkKQEAgLTIwNCw3
ICsyMDQsNiBAQCBjbGFzcyBCdWd6aWxsYVF1ZXJpZXMob2JqZWN0KToKICAgICAgICAgICAgIHBh
dGNoX2lkID0gaW50KGRpZ2l0cy5zZWFyY2gocGF0Y2hfdGFnWyJocmVmIl0pLmdyb3VwKDApKQog
ICAgICAgICAgICAgZGF0ZV90YWcgPSByb3cuZmluZCgidGQiLCB0ZXh0PWRhdGVfZm9ybWF0KQog
ICAgICAgICAgICAgaWYgZGF0ZV90YWcgYW5kIGRhdGV0aW1lLnN0cnB0aW1lKGRhdGVfZm9ybWF0
LnNlYXJjaChkYXRlX3RhZykuZ3JvdXAoMCksICIlWS0lbS0lZCAlSDolTSIpIDwgc2luY2U6Ci0g
ICAgICAgICAgICAgICAgX2xvZy5pbmZvKCJQYXRjaCBpcyBvbGQ6ICVkICglcykiICUgKHBhdGNo
X2lkLCBkYXRlX3RhZykpCiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHBh
dGNoX2lkcy5hcHBlbmQocGF0Y2hfaWQpCiAgICAgICAgIHJldHVybiBwYXRjaF9pZHMKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmVlZGVycy5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZlZWRlcnMucHkJKHJldmlzaW9uIDE3
NDIzMSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmVlZGVycy5weQkod29y
a2luZyBjb3B5KQpAQCAtNTAsMTggKzUwLDE2IEBAIGNsYXNzIENvbW1pdFF1ZXVlRmVlZGVyKEFi
c3RyYWN0RmVlZGVyKToKICAgICAgICAgQWJzdHJhY3RGZWVkZXIuX19pbml0X18oc2VsZiwgdG9v
bCkKICAgICAgICAgc2VsZi5jb21taXR0ZXJfdmFsaWRhdG9yID0gQ29tbWl0dGVyVmFsaWRhdG9y
KHNlbGYuX3Rvb2wpCiAKLSAgICBkZWYgX3VwZGF0ZV93b3JrX2l0ZW1zKHNlbGYsIGl0ZW1faWRz
KToKLSAgICAgICAgIyBGSVhNRTogVGhpcyBpcyB0aGUgbGFzdCB1c2Ugb2YgdXBkYXRlX3dvcmtf
aXRlbXMsIHRoZSBjb21taXQtcXVldWUKLSAgICAgICAgIyBzaG91bGQgbW92ZSB0byBmZWVkaW5n
IHBhdGNoZXMgb25lIGF0IGEgdGltZSBsaWtlIHRoZSBFV1MgZG9lcy4KLSAgICAgICAgc2VsZi5f
dG9vbC5zdGF0dXNfc2VydmVyLnVwZGF0ZV93b3JrX2l0ZW1zKHNlbGYucXVldWVfbmFtZSwgaXRl
bV9pZHMpCi0gICAgICAgIF9sb2cuaW5mbygiRmVlZGluZyAlcyBpdGVtcyAlcyIgJSAoc2VsZi5x
dWV1ZV9uYW1lLCBpdGVtX2lkcykpCi0KICAgICBkZWYgZmVlZChzZWxmKToKICAgICAgICAgcGF0
Y2hlcyA9IHNlbGYuX3ZhbGlkYXRlX3BhdGNoZXMoKQogICAgICAgICBwYXRjaGVzID0gc2VsZi5f
cGF0Y2hlc193aXRoX2FjY2VwdGFibGVfcmV2aWV3X2ZsYWcocGF0Y2hlcykKICAgICAgICAgcGF0
Y2hlcyA9IHNvcnRlZChwYXRjaGVzLCBzZWxmLl9wYXRjaF9jbXApCi0gICAgICAgIHBhdGNoX2lk
cyA9IFtwYXRjaC5pZCgpIGZvciBwYXRjaCBpbiBwYXRjaGVzXQotICAgICAgICBzZWxmLl91cGRh
dGVfd29ya19pdGVtcyhwYXRjaF9pZHMpCisKKyAgICAgICAgaGlnaF9wcmlvcml0eV9pdGVtX2lk
cyA9IFtwYXRjaC5pZCgpIGZvciBwYXRjaCBpbiBwYXRjaGVzIGlmIHBhdGNoLmlzX3JvbGxvdXQo
KV0KKyAgICAgICAgaXRlbV9pZHMgPSBbcGF0Y2guaWQoKSBmb3IgcGF0Y2ggaW4gcGF0Y2hlcyBp
ZiBub3QgcGF0Y2guaXNfcm9sbG91dCgpXQorCisgICAgICAgIF9sb2cuaW5mbygiRmVlZGluZyAl
cyBoaWdoIHByaW9yaXR5IGl0ZW1zICVzLCByZWd1bGFyIGl0ZW1zICVzIiAlIChzZWxmLnF1ZXVl
X25hbWUsIGhpZ2hfcHJpb3JpdHlfaXRlbV9pZHMsIGl0ZW1faWRzKSkKKyAgICAgICAgc2VsZi5f
dG9vbC5zdGF0dXNfc2VydmVyLnVwZGF0ZV93b3JrX2l0ZW1zKHNlbGYucXVldWVfbmFtZSwgaGln
aF9wcmlvcml0eV9pdGVtX2lkcywgaXRlbV9pZHMpCiAKICAgICBkZWYgX3BhdGNoZXNfZm9yX2J1
ZyhzZWxmLCBidWdfaWQpOgogICAgICAgICByZXR1cm4gc2VsZi5fdG9vbC5idWdzLmZldGNoX2J1
ZyhidWdfaWQpLmNvbW1pdF9xdWV1ZWRfcGF0Y2hlcyhpbmNsdWRlX2ludmFsaWQ9VHJ1ZSkKQEAg
LTc3LDExICs3NSw2IEBAIGNsYXNzIENvbW1pdFF1ZXVlRmVlZGVyKEFic3RyYWN0RmVlZGVyKToK
ICAgICAgICAgcmV0dXJuIHNlbGYuY29tbWl0dGVyX3ZhbGlkYXRvci5wYXRjaGVzX2FmdGVyX3Jl
amVjdGluZ19pbnZhbGlkX2NvbW1pdGVyc19hbmRfcmV2aWV3ZXJzKGFsbF9wYXRjaGVzKQogCiAg
ICAgZGVmIF9wYXRjaF9jbXAoc2VsZiwgYSwgYik6Ci0gICAgICAgICMgU29ydCBmaXJzdCBieSBp
c19yb2xsb3V0LCB0aGVuIGJ5IGF0dGFjaF9kYXRlLgotICAgICAgICAjIFJldmVyc2luZyB0aGUg
b3JkZXIgc28gdGhhdCBpc19yb2xsb3V0IGlzIGZpcnN0LgotICAgICAgICByb2xsb3V0X2NtcCA9
IGNtcChiLmlzX3JvbGxvdXQoKSwgYS5pc19yb2xsb3V0KCkpCi0gICAgICAgIGlmIHJvbGxvdXRf
Y21wICE9IDA6Ci0gICAgICAgICAgICByZXR1cm4gcm9sbG91dF9jbXAKICAgICAgICAgcmV0dXJu
IGNtcChhLmF0dGFjaF9kYXRlKCksIGIuYXR0YWNoX2RhdGUoKSkKIAogCkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZlZWRlcnNfdW5pdHRlc3QucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9mZWVkZXJzX3VuaXR0ZXN0LnB5CShy
ZXZpc2lvbiAxNzQyMzEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZlZWRl
cnNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAgZnJvbSB3ZWJr
aXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2NrVAogCiBjbGFzcyBGZWVkZXJzVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfY29tbWl0X3F1ZXVlX2ZlZWRlcihzZWxmKToK
KyAgICAgICAgc2VsZi5tYXhEaWZmID0gTm9uZQogICAgICAgICBmZWVkZXIgPSBDb21taXRRdWV1
ZUZlZWRlcihNb2NrVG9vbCgpKQogICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiV2FybmluZywg
YXR0YWNobWVudCAxMDAwMSBvbiBidWcgNTAwMDAgaGFzIGludmFsaWQgY29tbWl0dGVyIChub24t
Y29tbWl0dGVyQGV4YW1wbGUuY29tKQogV2FybmluZywgYXR0YWNobWVudCAxMDAwMSBvbiBidWcg
NTAwMDAgaGFzIGludmFsaWQgY29tbWl0dGVyIChub24tY29tbWl0dGVyQGV4YW1wbGUuY29tKQpA
QCAtNDUsOCArNDYsOCBAQCBNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVlJyB0byAnLScg
CiAtIElmIHlvdSBkbyBub3QgaGF2ZSBjb21taXR0ZXIgcmlnaHRzIHBsZWFzZSByZWFkIGh0dHA6
Ly93ZWJraXQub3JnL2NvZGluZy9jb250cmlidXRpbmcuaHRtbCBmb3IgaW5zdHJ1Y3Rpb25zIG9u
IGhvdyB0byB1c2UgYnVnemlsbGEgZmxhZ3MuCiAKIC0gSWYgeW91IGhhdmUgY29tbWl0dGVyIHJp
Z2h0cyBwbGVhc2UgY29ycmVjdCB0aGUgZXJyb3IgaW4gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vY29uZmlnL2NvbnRyaWJ1dG9ycy5qc29uIGJ5IGFkZGluZyB5b3Vyc2VsZiB0byB0aGUg
ZmlsZSAobm8gcmV2aWV3IG5lZWRlZCkuICBUaGUgY29tbWl0LXF1ZXVlIHJlc3RhcnRzIGl0c2Vs
ZiBldmVyeSAyIGhvdXJzLiAgQWZ0ZXIgcmVzdGFydCB0aGUgY29tbWl0LXF1ZXVlIHdpbGwgY29y
cmVjdGx5IHJlc3BlY3QgeW91ciBjb21taXR0ZXIgcmlnaHRzLicKK0ZlZWRpbmcgY29tbWl0LXF1
ZXVlIGhpZ2ggcHJpb3JpdHkgaXRlbXMgWzEwMDA1XSwgcmVndWxhciBpdGVtcyBbMTAwMDBdCiBN
T0NLOiB1cGRhdGVfd29ya19pdGVtczogY29tbWl0LXF1ZXVlIFsxMDAwNSwgMTAwMDBdCi1GZWVk
aW5nIGNvbW1pdC1xdWV1ZSBpdGVtcyBbMTAwMDUsIDEwMDAwXQogIiIiCiAgICAgICAgIE91dHB1
dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBmZWVkZXIuZmVlZCwgZXhwZWN0ZWRfbG9n
cz1leHBlY3RlZF9sb2dzKQogCkBAIC01NiwxOSArNTcsNiBAQCBGZWVkaW5nIGNvbW1pdC1xdWV1
ZSBpdGVtcyBbMTAwMDUsIDEwMDAwCiAgICAgICAgIGF0dGFjaG1lbnQuYXR0YWNoX2RhdGUgPSBs
YW1iZGE6IGF0dGFjaF9kYXRlCiAgICAgICAgIHJldHVybiBhdHRhY2htZW50CiAKLSAgICBkZWYg
dGVzdF9wYXRjaF9jbXAoc2VsZik6Ci0gICAgICAgIGxvbmdfYWdvX2RhdGUgPSBkYXRldGltZSgx
OTAwLCAxLCAyMSkKLSAgICAgICAgcmVjZW50X2RhdGUgPSBkYXRldGltZSgyMDEwLCAxLCAyMSkK
LSAgICAgICAgYXR0YWNobWVudDEgPSBzZWxmLl9tb2NrX2F0dGFjaG1lbnQoaXNfcm9sbG91dD1G
YWxzZSwgYXR0YWNoX2RhdGU9cmVjZW50X2RhdGUpCi0gICAgICAgIGF0dGFjaG1lbnQyID0gc2Vs
Zi5fbW9ja19hdHRhY2htZW50KGlzX3JvbGxvdXQ9RmFsc2UsIGF0dGFjaF9kYXRlPWxvbmdfYWdv
X2RhdGUpCi0gICAgICAgIGF0dGFjaG1lbnQzID0gc2VsZi5fbW9ja19hdHRhY2htZW50KGlzX3Jv
bGxvdXQ9VHJ1ZSwgYXR0YWNoX2RhdGU9cmVjZW50X2RhdGUpCi0gICAgICAgIGF0dGFjaG1lbnQ0
ID0gc2VsZi5fbW9ja19hdHRhY2htZW50KGlzX3JvbGxvdXQ9VHJ1ZSwgYXR0YWNoX2RhdGU9bG9u
Z19hZ29fZGF0ZSkKLSAgICAgICAgYXR0YWNobWVudHMgPSBbYXR0YWNobWVudDEsIGF0dGFjaG1l
bnQyLCBhdHRhY2htZW50MywgYXR0YWNobWVudDRdCi0gICAgICAgIGV4cGVjdGVkX3NvcnQgPSBb
YXR0YWNobWVudDQsIGF0dGFjaG1lbnQzLCBhdHRhY2htZW50MiwgYXR0YWNobWVudDFdCi0gICAg
ICAgIHF1ZXVlID0gQ29tbWl0UXVldWVGZWVkZXIoTW9ja1Rvb2woKSkKLSAgICAgICAgYXR0YWNo
bWVudHMuc29ydChxdWV1ZS5fcGF0Y2hfY21wKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGF0
dGFjaG1lbnRzLCBleHBlY3RlZF9zb3J0KQotCiAgICAgZGVmIHRlc3RfcGF0Y2hlc193aXRoX2Fj
Y2VwdGFibGVfcmV2aWV3X2ZsYWcoc2VsZik6CiAgICAgICAgIGNsYXNzIE1vY2tQYXRjaChvYmpl
Y3QpOgogICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGNoX2lkLCByZXZpZXcpOgpJ
bmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlc191bml0dGVz
dC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cXVldWVzX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAxNzQyMzEpCisrKyBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBA
IC0xMjgsNiArMTI4LDcgQEAgY2xhc3MgQWJzdHJhY3RRdWV1ZVRlc3QoQ29tbWFuZHNUZXN0KToK
IAogY2xhc3MgRmVlZGVyUXVldWVUZXN0KFF1ZXVlc1Rlc3QpOgogICAgIGRlZiB0ZXN0X2ZlZWRl
cl9xdWV1ZShzZWxmKToKKyAgICAgICAgc2VsZi5tYXhEaWZmID0gTm9uZQogICAgICAgICBxdWV1
ZSA9IFRlc3RGZWVkZXJRdWV1ZSgpCiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbChsb2dfZXhlY3V0
aXZlPVRydWUpCiAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSB7CkBAIC0xMzksOCArMTQwLDggQEAg
TU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0nIAogLSBJZiB5b3UgZG8gbm90
IGhhdmUgY29tbWl0dGVyIHJpZ2h0cyBwbGVhc2UgcmVhZCBodHRwOi8vd2Via2l0Lm9yZy9jb2Rp
bmcvY29udHJpYnV0aW5nLmh0bWwgZm9yIGluc3RydWN0aW9ucyBvbiBob3cgdG8gdXNlIGJ1Z3pp
bGxhIGZsYWdzLgogCiAtIElmIHlvdSBoYXZlIGNvbW1pdHRlciByaWdodHMgcGxlYXNlIGNvcnJl
Y3QgdGhlIGVycm9yIGluIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb250
cmlidXRvcnMuanNvbiBieSBhZGRpbmcgeW91cnNlbGYgdG8gdGhlIGZpbGUgKG5vIHJldmlldyBu
ZWVkZWQpLiAgVGhlIGNvbW1pdC1xdWV1ZSByZXN0YXJ0cyBpdHNlbGYgZXZlcnkgMiBob3Vycy4g
IEFmdGVyIHJlc3RhcnQgdGhlIGNvbW1pdC1xdWV1ZSB3aWxsIGNvcnJlY3RseSByZXNwZWN0IHlv
dXIgY29tbWl0dGVyIHJpZ2h0cy4nCitGZWVkaW5nIGNvbW1pdC1xdWV1ZSBoaWdoIHByaW9yaXR5
IGl0ZW1zIFsxMDAwNV0sIHJlZ3VsYXIgaXRlbXMgWzEwMDAwXQogTU9DSzogdXBkYXRlX3dvcmtf
aXRlbXM6IGNvbW1pdC1xdWV1ZSBbMTAwMDUsIDEwMDAwXQotRmVlZGluZyBjb21taXQtcXVldWUg
aXRlbXMgWzEwMDA1LCAxMDAwMF0KIEZlZWRpbmcgRVdTICgxIHI/IHBhdGNoLCAxIG5ldykKIE1P
Q0s6IHN1Ym1pdF90b19ld3M6IDEwMDAyCiAiIiIsCg==
</data>
<flag name="review"
          id="263867"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>