<?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>122187</bug_id>
          
          <creation_ts>2013-10-01 15:19:13 -0700</creation_ts>
          <short_desc>Please display (and link to) revision ranges at build.webkit.org/dashboard</short_desc>
          <delta_ts>2013-12-29 13:14:06 -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>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>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>935226</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-01 15:19:13 -0700</bug_when>
    <thetext>Most test runs cover multiple revisions. Having a link to just the last one is not very useful - there is no reason to expect that it&apos;s the one of interest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940434</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-16 10:48:46 -0700</bug_when>
    <thetext>Not sure if this should be inline or in a popover.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940435</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-16 10:49:33 -0700</bug_when>
    <thetext>But the link we currently have to the last revision in range is clearly misleading, it should be either improved or removed in my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963223</commentid>
    <comment_count>3</comment_count>
      <attachid>220086</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-12-29 11:20:36 -0800</bug_when>
    <thetext>Created attachment 220086
poposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963229</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-12-29 13:14:06 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r161124&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220086</attachid>
            <date>2013-12-29 11:20:36 -0800</date>
            <delta_ts>2013-12-29 11:39:16 -0800</delta_ts>
            <desc>poposed patch</desc>
            <filename>RevisionNumberPopovers.txt</filename>
            <type>text/plain</type>
            <size>25638</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2MTEyMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ3IEBACisyMDEzLTEyLTI5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIFBsZWFzZSBkaXNwbGF5IChhbmQgbGluayB0bykgcmV2aXNpb24gcmFuZ2Vz
IGF0IGJ1aWxkLndlYmtpdC5vcmcvZGFzaGJvYXJkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIxODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBwb3BvdmVycyBmb3IgcmV2aXNpb24gbnVtYmVy
cy4gUmVtb3ZlZCBkaXJlY3QgbGlua3MsIGJlY2F1c2UgdGhleSB3ZXJlIG1pc2xlYWRpbmcgLQor
ICAgICAgICBhIHRlc3QgcnVuIGNvdmVycyBhIHJldmlzaW9uIHJhbmdlLCBub3QganVzdCB0aGUg
bGF0ZXN0IHJldmlzaW9uLiBUaGlzIGFsc28gbWFrZXMKKyAgICAgICAgc2VsZWN0aW5nIGEgcmV2
aXNpb24gZm9yIGNvcHkgZWFzaWVyLgorCisgICAgICAgIEFsbCByZXZpc2lvbiBudW1iZXJzIGhh
dmUgdGhlIHBvcG92ZXJzIGZvciBjb25zaXN0ZW5jeSwgYWx0aG91Z2ggdGhleSBhcmUgbW9zdCB1
c2VmdWwKKyAgICAgICAgZm9yIGl0ZXJhdGlvbnMgdGhhdCBhcmUgbm90IHRoZSBsYXN0IG9uZXMg
aW4gYSB2aWV3LCBiZWNhdXNlIHRoZSBjb250ZW50IGlzIGEgZGVsdGEKKyAgICAgICAgZnJvbSBw
cmV2aW91cyBpdGVyYXRpb24uCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53
ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEJ1
aWxkZXJRdWV1ZVZpZXcuanM6CisgICAgICAgIChCdWlsZGJvdEJ1aWxkZXJRdWV1ZVZpZXcucHJv
dG90eXBlLnVwZGF0ZS5hcHBlbmRCdWlsZGVyUXVldWVTdGF0dXMpOgorICAgICAgICByZXZpc2lv
bkxpbmtzRm9ySXRlcmF0aW9uKCkgaXMgbm93IG5hbWVkIHJldmlzaW9uQ29udGVudEZvckl0ZXJh
dGlvbigpLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RUZXN0ZXJRdWV1ZVZp
ZXcuanM6CisgICAgICAgIChCdWlsZGJvdFRlc3RlclF1ZXVlVmlldy5wcm90b3R5cGUudXBkYXRl
LmFwcGVuZEJ1aWxkZXJRdWV1ZVN0YXR1cyk6CisgICAgICAgIERpdHRvLgorCisgICAgICAgICog
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFz
aGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanM6CisgICAgICAgIChCdWlsZGJvdEl0
ZXJhdGlvbi5wcm90b3R5cGUuZ2V0IHByZXZpb3VzKTogQWRkZWQgYSBmdW5jdGlvbiB0byBnbyBi
YWNrIGluIGl0ZXJhdGlvbiBoaXN0b3J5LgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVp
bGRib3RRdWV1ZVZpZXcuanM6CisgICAgICAgIFJlZmFjdG9yZWQgdG8gc3VwcG9ydCB0aGUgbmV3
IHBvcG92ZXIgdmFyaWF0aW9uLiBSZXBsYWNlZCByZXZpc2lvbkxpbmtzRm9ySXRlcmF0aW9uKCkK
KyAgICAgICAgd2l0aCBhIGZ1bmN0aW9uIHRoYXQgYnVpbGRzIGFuIGVsZW1lbnQgd2l0aCBwb3Bv
dmVyLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvUG9wb3ZlclRyYWNrZXIuanM6CisgICAg
ICAgIENoYW5nZWQgdG8gdGFrZSBhIGZ1bmN0aW9uIGZvciBwb3BvdmVyIHByZXNlbnRhdGlvbiBp
bnN0ZWFkIG9mIGRlbGVnYXRlIG9iamVjdC4KKyAgICAgICAgV2Ugb25seSBuZWVkIG9uZSBkZWxl
Z2F0ZSBmdW5jdGlvbiwgYW5kIGl0J3MgZWFzaWVyIHRvIGhhdmUgbXVsdGlwbGUgcG9wb3ZlcnMg
cGVyIHZpZXcgY2xhc3MKKyAgICAgICAgdGhpcyB3YXkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU3R5
bGVzL01haW4uY3NzOgorICAgICAgICBSZW1vdmVkIGEgcnVsZSBmb3Igc2VsZWN0YWJsZSBjbGFz
cy4gSXQncyByZXBsYWNlZCB3aXRoIGEgc2VtYW50aWMgcnVsZSBpbiBTdGF0dXNMaW5lVmlldy5j
c3MuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU3R5bGVzL1F1ZXVlVmlldy5jc3M6CisgICAgICAgIFJl
bmFtZWQgcGVuZGluZy1jb21taXRzLXBvcG92ZXIgY2xhc3MgdG8gY29tbWl0LWhpc3RvcnktcG9w
b3Zlci4KKworICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TdHlsZXMvU3RhdHVzTGluZVZpZXcuY3NzOgorICAg
ICAgICAoLnN0YXR1cy1saW5lIC5tZXNzYWdlIC5yZXZpc2lvbi1udW1iZXIpOiBBZGRlZCBhIHJ1
bGUgZm9yIHJldmlzaW9uIG51bWJlcnMuCisKIDIwMTMtMTItMjkgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUGxlYXNlIGRpc3BsYXkgaW5mb3JtYXRpb24g
YWJvdXQgcGVuZGluZyBydW5zIGluIGJ1aWxkLndlYmtpdC5vcmcvZGFzaGJvYXJkCkluZGV4OiBU
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEJ1aWxkZXJRdWV1ZVZpZXcuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RCdWlsZGVyUXVldWVWaWV3LmpzCShy
ZXZpc2lvbiAxNjExMjApCisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEJ1aWxkZXJR
dWV1ZVZpZXcuanMJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDcgQEAgQnVpbGRib3RCdWls
ZGVyUXVldWVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciBmaXJzdFJlY2VudEZh
aWxlZEl0ZXJhdGlvbiA9IHF1ZXVlLmZpcnN0UmVjZW50RmFpbGVkSXRlcmF0aW9uOwogICAgICAg
ICAgICAgaWYgKGZpcnN0UmVjZW50RmFpbGVkSXRlcmF0aW9uICYmIGZpcnN0UmVjZW50RmFpbGVk
SXRlcmF0aW9uLmxvYWRlZCkgewogICAgICAgICAgICAgICAgIHZhciBmYWlsdXJlQ291bnQgPSBx
dWV1ZS5yZWNlbnRGYWlsZWRJdGVyYXRpb25Db3VudDsKLSAgICAgICAgICAgICAgICB2YXIgbWVz
c2FnZSA9IHRoaXMucmV2aXNpb25MaW5rc0Zvckl0ZXJhdGlvbihmaXJzdFJlY2VudEZhaWxlZEl0
ZXJhdGlvbik7CisgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSB0aGlzLnJldmlzaW9uQ29u
dGVudEZvckl0ZXJhdGlvbihmaXJzdFJlY2VudEZhaWxlZEl0ZXJhdGlvbik7CiAgICAgICAgICAg
ICAgICAgdmFyIHVybCA9IHF1ZXVlLmJ1aWxkYm90LmJ1aWxkTG9nVVJMRm9ySXRlcmF0aW9uKGZp
cnN0UmVjZW50RmFpbGVkSXRlcmF0aW9uKTsKICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0g
bmV3IFN0YXR1c0xpbmVWaWV3KG1lc3NhZ2UsIFN0YXR1c0xpbmVWaWV3LlN0YXR1cy5CYWQsIGZh
aWx1cmVDb3VudCA+IDEgPyAiZmFpbGVkIGJ1aWxkcyBzaW5jZSIgOiAiZmFpbGVkIGJ1aWxkIiwg
ZmFpbHVyZUNvdW50ID4gMSA/IGZhaWx1cmVDb3VudCA6IG51bGwsIHVybCk7CiAgICAgICAgICAg
ICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHN0YXR1cy5lbGVtZW50KTsKQEAgLTczLDcg
KzczLDcgQEAgQnVpbGRib3RCdWlsZGVyUXVldWVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgICAg
ICAgICAgdmFyIG1vc3RSZWNlbnRTdWNjZXNzZnVsSXRlcmF0aW9uID0gcXVldWUubW9zdFJlY2Vu
dFN1Y2Nlc3NmdWxJdGVyYXRpb247CiAgICAgICAgICAgICBpZiAobW9zdFJlY2VudFN1Y2Nlc3Nm
dWxJdGVyYXRpb24gJiYgbW9zdFJlY2VudFN1Y2Nlc3NmdWxJdGVyYXRpb24ubG9hZGVkKSB7Ci0g
ICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSB0aGlzLnJldmlzaW9uTGlua3NGb3JJdGVyYXRp
b24obW9zdFJlY2VudFN1Y2Nlc3NmdWxJdGVyYXRpb24pOworICAgICAgICAgICAgICAgIHZhciBt
ZXNzYWdlID0gdGhpcy5yZXZpc2lvbkNvbnRlbnRGb3JJdGVyYXRpb24obW9zdFJlY2VudFN1Y2Nl
c3NmdWxJdGVyYXRpb24pOwogICAgICAgICAgICAgICAgIHZhciB1cmwgPSBxdWV1ZS5idWlsZGJv
dC5idWlsZExvZ1VSTEZvckl0ZXJhdGlvbihtb3N0UmVjZW50U3VjY2Vzc2Z1bEl0ZXJhdGlvbik7
CiAgICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5lVmlldyhtZXNzYWdl
LCBTdGF0dXNMaW5lVmlldy5TdGF0dXMuR29vZCwgZmlyc3RSZWNlbnRGYWlsZWRJdGVyYXRpb24g
PyAibGFzdCBzdWNjZXNzZnVsIGJ1aWxkIiA6ICJsYXRlc3QgYnVpbGQiLCBudWxsLCB1cmwpOwog
ICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChzdGF0dXMuZWxlbWVudCk7
CkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qcwkocmV2aXNp
b24gMTYxMDk4KQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanMJ
KHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDE1IEBAIEJ1aWxkYm90SXRlcmF0aW9uLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgdGhpcy5fZmluaXNoZWQgPSB4OwogICAgIH0sCiAKKyAgICBnZXQg
cHJldmlvdXMoKQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnF1ZXVl
Lml0ZXJhdGlvbnMubGVuZ3RoIC0gMTsgKytpKSB7CisgICAgICAgICAgICBpZiAodGhpcy5xdWV1
ZS5pdGVyYXRpb25zW2ldID09PSB0aGlzKQorICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnF1
ZXVlLml0ZXJhdGlvbnNbaSArIDFdOworICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxsOwor
ICAgIH0sCisKICAgICB1cGRhdGU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlz
LmxvYWRlZCAmJiB0aGlzLl9maW5pc2hlZCkKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1
aWxkYm90UXVldWVWaWV3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1
aWxkYm90UXVldWVWaWV3LmpzCShyZXZpc2lvbiAxNjExMjApCisrKyBUb29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2Ny
aXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTA1LDE1ICsxMDUs
MTEgQEAgQnVpbGRib3RRdWV1ZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICB9CiAKICAgICAg
ICAgaWYgKHN0YXR1cykKLSAgICAgICAgICAgIG5ldyBQb3BvdmVyVHJhY2tlcihzdGF0dXMubWVz
c2FnZUVsZW1lbnQsIHRoaXMsIHF1ZXVlKTsKKyAgICAgICAgICAgIG5ldyBQb3BvdmVyVHJhY2tl
cihzdGF0dXMubWVzc2FnZUVsZW1lbnQsIHRoaXMuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0Nv
bW1pdHMuYmluZCh0aGlzKSwgcXVldWUpOwogICAgIH0sCiAKLSAgICBwcmVzZW50UG9wb3ZlckZv
ckVsZW1lbnQ6IGZ1bmN0aW9uKGVsZW1lbnQsIHBvcG92ZXIsIHF1ZXVlKQorICAgIF9wb3BvdmVy
TGluZXNGb3JDb21taXRSYW5nZTogZnVuY3Rpb24odHJhYywgZmlyc3RSZXZpc2lvbk51bWJlciwg
bGFzdFJldmlzaW9uTnVtYmVyKQogICAgIHsKLSAgICAgICAgdmFyIGxhdGVzdEZpbmlzaGVkSXRl
cmF0aW9uID0gdGhpcy5fbGF0ZXN0RmluaXNoZWRJdGVyYXRpb24ocXVldWUpOwotICAgICAgICBp
ZiAoIWxhdGVzdEZpbmlzaGVkSXRlcmF0aW9uKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
CiAgICAgICAgIGZ1bmN0aW9uIGxpbmVGb3JDb21taXQodHJhYywgY29tbWl0KQogICAgICAgICB7
CiAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CkBAIC0xMzksNjQgKzEzNSwxMjggQEAgQnVpbGRib3RRdWV1ZVZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgfQogCi0gICAgICAgIHZhciBjb250
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGNvbnRlbnQuY2xh
c3NOYW1lID0gInBlbmRpbmctY29tbWl0cy1wb3BvdmVyIjsKKyAgICAgICAgLy8gVGhpcyBmdW5j
dGlvbiBvbmx5IGFkZHMgbGluZXMgYWJvdXQgY29tbWl0cyB0aGF0IHRoZSB0cmFjIG9iamVjdCBr
bm93cyBhYm91dC4KKyAgICAgICAgLy8gQWx0ZXJuYXRpdmVseSwgaXQgY291bGQgYWRkIGxpbmtz
IHdpdGhvdXQgaW5mbyBhbmQvb3IgdHJpZ2dlciBsb2FkaW5nIGFkZGl0aW9uYWwKKyAgICAgICAg
Ly8gZGF0YSwgYnV0IHRoaXMgcHJvYmFibHkgZG9lc24ndCBtYXR0ZXIgZm9yIERhc2hib2FyZCB1
c2UuCisgICAgICAgIHZhciByZXN1bHQgPSBbXTsKKyAgICAgICAgZm9yICh2YXIgaSA9IHRyYWMu
cmVjb3JkZWRDb21taXRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7CisgICAgICAgICAgICB2
YXIgY29tbWl0ID0gdHJhYy5yZWNvcmRlZENvbW1pdHNbaV07CisgICAgICAgICAgICBpZiAoY29t
bWl0LnJldmlzaW9uTnVtYmVyID4gbGFzdFJldmlzaW9uTnVtYmVyKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgIGZvciAodmFyIGkgPSB3ZWJraXRUcmFjLnJlY29yZGVkQ29t
bWl0cy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgewotICAgICAgICAgICAgdmFyIGNvbW1pdCA9
IHdlYmtpdFRyYWMucmVjb3JkZWRDb21taXRzW2ldOwotICAgICAgICAgICAgaWYgKGNvbW1pdC5y
ZXZpc2lvbk51bWJlciA8PSBsYXRlc3RGaW5pc2hlZEl0ZXJhdGlvbi5vcGVuU291cmNlUmV2aXNp
b24pCisgICAgICAgICAgICBpZiAoY29tbWl0LnJldmlzaW9uTnVtYmVyIDwgZmlyc3RSZXZpc2lv
bk51bWJlcikKICAgICAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICAgICAgY29udGVudC5h
cHBlbmRDaGlsZChsaW5lRm9yQ29tbWl0KHdlYmtpdFRyYWMsIGNvbW1pdCkpOworICAgICAgICAg
ICAgcmVzdWx0LnB1c2gobGluZUZvckNvbW1pdCh0cmFjLCBjb21taXQpKTsKICAgICAgICAgfQog
Ci0gICAgICAgIGlmIChsYXRlc3RGaW5pc2hlZEl0ZXJhdGlvbi5pbnRlcm5hbFJldmlzaW9uICYm
IGludGVybmFsVHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVyKSB7Ci0gICAgICAgICAg
ICBpZiAobGF0ZXN0RmluaXNoZWRJdGVyYXRpb24uaW50ZXJuYWxSZXZpc2lvbiA8IGludGVybmFs
VHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVyICYmIGNvbnRlbnQuaGFzQ2hpbGROb2Rl
cygpKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGRpdmlkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKLSAgICAgICAgICAgICAgICBkaXZpZGVyLmNsYXNzTmFtZSA9ICJkaXZpZGVy
IjsKLSAgICAgICAgICAgICAgICBjb250ZW50LmFwcGVuZENoaWxkKGRpdmlkZXIpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBmb3IgKHZhciBpID0gaW50ZXJuYWxUcmFjLnJlY29yZGVk
Q29tbWl0cy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgewotICAgICAgICAgICAgICAgIHZhciBj
b21taXQgPSBpbnRlcm5hbFRyYWMucmVjb3JkZWRDb21taXRzW2ldOwotICAgICAgICAgICAgICAg
IGlmIChjb21taXQucmV2aXNpb25OdW1iZXIgPD0gbGF0ZXN0RmluaXNoZWRJdGVyYXRpb24uaW50
ZXJuYWxSZXZpc2lvbikKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfSwKKworICAgIF9wcmVzZW50UG9wb3ZlckZvclBlbmRpbmdDb21taXRz
OiBmdW5jdGlvbihlbGVtZW50LCBwb3BvdmVyLCBxdWV1ZSkKKyAgICB7CisgICAgICAgIHZhciBs
YXRlc3RGaW5pc2hlZEl0ZXJhdGlvbiA9IHRoaXMuX2xhdGVzdEZpbmlzaGVkSXRlcmF0aW9uKHF1
ZXVlKTsKKyAgICAgICAgaWYgKCFsYXRlc3RGaW5pc2hlZEl0ZXJhdGlvbikKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgICAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQobGlu
ZUZvckNvbW1pdChpbnRlcm5hbFRyYWMsIGNvbW1pdCkpOwotICAgICAgICAgICAgfQorICAgICAg
ICB2YXIgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBj
b250ZW50LmNsYXNzTmFtZSA9ICJjb21taXQtaGlzdG9yeS1wb3BvdmVyIjsKKworICAgICAgICB2
YXIgbGluZXNGb3JPcGVuU291cmNlID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29tbWl0UmFuZ2Uo
d2Via2l0VHJhYywgbGF0ZXN0RmluaXNoZWRJdGVyYXRpb24ub3BlblNvdXJjZVJldmlzaW9uICsg
MSwgd2Via2l0VHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVyKTsKKyAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgIT0gbGluZXNGb3JPcGVuU291cmNlLmxlbmd0aDsgKytpKQorICAgICAg
ICAgICAgY29udGVudC5hcHBlbmRDaGlsZChsaW5lc0Zvck9wZW5Tb3VyY2VbaV0pOworCisgICAg
ICAgIHZhciBsaW5lc0ZvckludGVybmFsID0gW107CisgICAgICAgIGlmIChsYXRlc3RGaW5pc2hl
ZEl0ZXJhdGlvbi5pbnRlcm5hbFJldmlzaW9uICYmIGludGVybmFsVHJhYy5sYXRlc3RSZWNvcmRl
ZFJldmlzaW9uTnVtYmVyKQorICAgICAgICAgICAgdmFyIGxpbmVzRm9ySW50ZXJuYWwgPSB0aGlz
Ll9wb3BvdmVyTGluZXNGb3JDb21taXRSYW5nZShpbnRlcm5hbFRyYWMsIGxhdGVzdEZpbmlzaGVk
SXRlcmF0aW9uLmludGVybmFsUmV2aXNpb24gKyAxLCBpbnRlcm5hbFRyYWMubGF0ZXN0UmVjb3Jk
ZWRSZXZpc2lvbk51bWJlcik7CisKKyAgICAgICAgaWYgKGxpbmVzRm9yT3BlblNvdXJjZS5sZW5n
dGggJiYgbGluZXNGb3JJbnRlcm5hbC5sZW5ndGgpIHsKKyAgICAgICAgICAgIHZhciBkaXZpZGVy
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICBkaXZpZGVyLmNs
YXNzTmFtZSA9ICJkaXZpZGVyIjsKKyAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQoZGl2
aWRlcik7CiAgICAgICAgIH0KIAorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSAhPSBsaW5lc0Zv
ckludGVybmFsLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChs
aW5lc0ZvckludGVybmFsW2ldKTsKKwogICAgICAgICB2YXIgcmVjdCA9IERhc2hib2FyZC5SZWN0
LnJlY3RGcm9tQ2xpZW50UmVjdChlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTsKICAg
ICAgICAgcG9wb3Zlci5wcmVzZW50KHJlY3QsIGNvbnRlbnQsIFtEYXNoYm9hcmQuUmVjdEVkZ2Uu
TUlOX1ksIERhc2hib2FyZC5SZWN0RWRnZS5NQVhfWSwgRGFzaGJvYXJkLlJlY3RFZGdlLk1BWF9Y
LCBEYXNoYm9hcmQuUmVjdEVkZ2UuTUlOX1hdKTsKIAogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9LAogCi0gICAgcmV2aXNpb25MaW5rc0Zvckl0ZXJhdGlvbjogZnVuY3Rpb24oaXRlcmF0aW9u
KQorICAgIF9wcmVzZW50UG9wb3ZlckZvclJldmlzaW9uUmFuZ2U6IGZ1bmN0aW9uKGVsZW1lbnQs
IHBvcG92ZXIsIGNvbnRleHQpCiAgICAgewotICAgICAgICBmdW5jdGlvbiBsaW5rRm9yUmV2aXNp
b24ocmV2aXNpb24sIHRyYWMpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBsaW5rRWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKLSAgICAgICAgICAgIGxpbmtFbGVtZW50
LmhyZWYgPSB0cmFjLnJldmlzaW9uVVJMKHJldmlzaW9uKTsKLSAgICAgICAgICAgIGxpbmtFbGVt
ZW50LnRhcmdldCA9ICJfYmxhbmsiOwotICAgICAgICAgICAgbGlua0VsZW1lbnQudGV4dENvbnRl
bnQgPSAiciIgKyByZXZpc2lvbjsKLSAgICAgICAgICAgIGxpbmtFbGVtZW50LmNsYXNzTGlzdC5h
ZGQoInNlbGVjdGFibGUiKTsKKyAgICAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICAgICAgY29udGVudC5jbGFzc05hbWUgPSAiY29tbWl0LWhpc3Rv
cnktcG9wb3ZlciI7CisKKyAgICAgICAgdmFyIGxpbmVzRm9yQ29tbWl0cyA9IHRoaXMuX3BvcG92
ZXJMaW5lc0ZvckNvbW1pdFJhbmdlKGNvbnRleHQudHJhYywgY29udGV4dC5maXJzdFJldmlzaW9u
LCBjb250ZXh0Lmxhc3RSZXZpc2lvbik7CisgICAgICAgIGlmICghbGluZXNGb3JDb21taXRzLmxl
bmd0aCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSAhPSBsaW5lc0ZvckNvbW1pdHMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBjb250ZW50
LmFwcGVuZENoaWxkKGxpbmVzRm9yQ29tbWl0c1tpXSk7CiAKLSAgICAgICAgICAgIHJldHVybiBs
aW5rRWxlbWVudDsKKyAgICAgICAgdmFyIHJlY3QgPSBEYXNoYm9hcmQuUmVjdC5yZWN0RnJvbUNs
aWVudFJlY3QoZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7CisgICAgICAgIHBvcG92
ZXIucHJlc2VudChyZWN0LCBjb250ZW50LCBbRGFzaGJvYXJkLlJlY3RFZGdlLk1JTl9ZLCBEYXNo
Ym9hcmQuUmVjdEVkZ2UuTUFYX1ksIERhc2hib2FyZC5SZWN0RWRnZS5NQVhfWCwgRGFzaGJvYXJk
LlJlY3RFZGdlLk1JTl9YXSk7CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfSwKKworICAg
IF9wcmVzZW50Tm9DaGFuZ2VQb3BvdmVyOiBmdW5jdGlvbihlbGVtZW50LCBwb3BvdmVyLCBjb250
ZXh0KQorICAgIHsKKyAgICAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICAgICAgY29udGVudC5jbGFzc05hbWUgPSAiY29tbWl0LWhpc3RvcnktcG9w
b3ZlciI7CisKKyAgICAgICAgdmFyIGxpbmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKKyAgICAgICAgbGluZS5jbGFzc05hbWUgPSAibm8tY29tbWl0cyI7CisgICAgICAgIGxpbmUu
dGV4dENvbnRlbnQgPSAibm8gbmV3IGNvbW1pdHMgaW4gdGhpcyBidWlsZGJvdCBxdWV1ZSBpdGVy
YXRpb24iOworICAgICAgICAKKyAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChsaW5lKTsKKwor
ICAgICAgICB2YXIgcmVjdCA9IERhc2hib2FyZC5SZWN0LnJlY3RGcm9tQ2xpZW50UmVjdChlbGVt
ZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTsKKyAgICAgICAgcG9wb3Zlci5wcmVzZW50KHJl
Y3QsIGNvbnRlbnQsIFtEYXNoYm9hcmQuUmVjdEVkZ2UuTUlOX1ksIERhc2hib2FyZC5SZWN0RWRn
ZS5NQVhfWSwgRGFzaGJvYXJkLlJlY3RFZGdlLk1BWF9YLCBEYXNoYm9hcmQuUmVjdEVkZ2UuTUlO
X1hdKTsKKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9LAorCisgICAgX3JldmlzaW9uUG9w
b3ZlckNvbnRlbnRGb3JJdGVyYXRpb246IGZ1bmN0aW9uKGl0ZXJhdGlvbiwgaW50ZXJuYWwpCisg
ICAgeworICAgICAgICB2YXIgY29udGVudEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJzcGFuIik7CisgICAgICAgIGNvbnRlbnRFbGVtZW50LnRleHRDb250ZW50ID0gInIiICsgKGlu
dGVybmFsID8gaXRlcmF0aW9uLmludGVybmFsUmV2aXNpb24gOiBpdGVyYXRpb24ub3BlblNvdXJj
ZVJldmlzaW9uKTsKKyAgICAgICAgY29udGVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgicmV2aXNp
b24tbnVtYmVyIik7CisKKyAgICAgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIGJldHRlciB0byBk
aXNwbGF5IGNoYW5nZXMgZnJvbSB0aGUgcHJldmlvdXMgZmluaXNoZWQgcnVuLCBpZ25vcmluZyB0
aG9zZSB0aGF0IHdlcmUgaW50ZXJydXB0ZWQgYW5kIGRvbid0IGhhdmUgcmVzdWx0cy4KKyAgICAg
ICAgdmFyIHByZXZpb3VzSXRlcmF0aW9uID0gaXRlcmF0aW9uLnByZXZpb3VzOworICAgICAgICBp
ZiAocHJldmlvdXNJdGVyYXRpb24pIHsKKyAgICAgICAgICAgIHZhciBjb250ZXh0ID0geworICAg
ICAgICAgICAgICAgIHRyYWM6IGludGVybmFsID8gaW50ZXJuYWxUcmFjIDogd2Via2l0VHJhYywK
KyAgICAgICAgICAgICAgICBmaXJzdFJldmlzaW9uOiAoaW50ZXJuYWwgPyBwcmV2aW91c0l0ZXJh
dGlvbi5pbnRlcm5hbFJldmlzaW9uIDogcHJldmlvdXNJdGVyYXRpb24ub3BlblNvdXJjZVJldmlz
aW9uKSArIDEsCisgICAgICAgICAgICAgICAgbGFzdFJldmlzaW9uOiBpbnRlcm5hbCA/IGl0ZXJh
dGlvbi5pbnRlcm5hbFJldmlzaW9uIDogaXRlcmF0aW9uLm9wZW5Tb3VyY2VSZXZpc2lvbgorICAg
ICAgICAgICAgfTsKKyAgICAgICAgICAgIGlmIChjb250ZXh0LmZpcnN0UmV2aXNpb24gPD0gY29u
dGV4dC5sYXN0UmV2aXNpb24pCisgICAgICAgICAgICAgICAgbmV3IFBvcG92ZXJUcmFja2VyKGNv
bnRlbnRFbGVtZW50LCB0aGlzLl9wcmVzZW50UG9wb3ZlckZvclJldmlzaW9uUmFuZ2UuYmluZCh0
aGlzKSwgY29udGV4dCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbmV3IFBv
cG92ZXJUcmFja2VyKGNvbnRlbnRFbGVtZW50LCB0aGlzLl9wcmVzZW50Tm9DaGFuZ2VQb3BvdmVy
LmJpbmQodGhpcyksIGNvbnRleHQpOwogICAgICAgICB9CiAKKyAgICAgICAgcmV0dXJuIGNvbnRl
bnRFbGVtZW50OworICAgIH0sCisKKyAgICByZXZpc2lvbkNvbnRlbnRGb3JJdGVyYXRpb246IGZ1
bmN0aW9uKGl0ZXJhdGlvbikKKyAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGl0ZXJhdGlv
bi5vcGVuU291cmNlUmV2aXNpb24pOwotICAgICAgICB2YXIgb3BlblNvdXJjZUxpbmsgPSBsaW5r
Rm9yUmV2aXNpb24oaXRlcmF0aW9uLm9wZW5Tb3VyY2VSZXZpc2lvbiwgd2Via2l0VHJhYyk7Cisg
ICAgICAgIHZhciBvcGVuU291cmNlQ29udGVudCA9IHRoaXMuX3JldmlzaW9uUG9wb3ZlckNvbnRl
bnRGb3JJdGVyYXRpb24oaXRlcmF0aW9uKTsKIAogICAgICAgICBpZiAoIWl0ZXJhdGlvbi5pbnRl
cm5hbFJldmlzaW9uKQotICAgICAgICAgICAgcmV0dXJuIG9wZW5Tb3VyY2VMaW5rOworICAgICAg
ICAgICAgcmV0dXJuIG9wZW5Tb3VyY2VDb250ZW50OwogCi0gICAgICAgIHZhciBpbnRlcm5hbExp
bmsgPSBsaW5rRm9yUmV2aXNpb24oaXRlcmF0aW9uLmludGVybmFsUmV2aXNpb24sIGludGVybmFs
VHJhYyk7CisgICAgICAgIHZhciBpbnRlcm5hbENvbnRlbnQgPSB0aGlzLl9yZXZpc2lvblBvcG92
ZXJDb250ZW50Rm9ySXRlcmF0aW9uKGl0ZXJhdGlvbiwgdHJ1ZSk7CiAKICAgICAgICAgdmFyIGZy
YWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwotICAgICAgICBmcmFn
bWVudC5hcHBlbmRDaGlsZChvcGVuU291cmNlTGluayk7CisgICAgICAgIGZyYWdtZW50LmFwcGVu
ZENoaWxkKG9wZW5Tb3VyY2VDb250ZW50KTsKICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBcdWZmMGIgIikpOwotICAgICAgICBmcmFnbWVudC5h
cHBlbmRDaGlsZChpbnRlcm5hbExpbmspOworICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChp
bnRlcm5hbENvbnRlbnQpOwogICAgICAgICByZXR1cm4gZnJhZ21lbnQ7CiAgICAgfSwKIApJbmRl
eDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RUZXN0ZXJRdWV1ZVZpZXcuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcv
cHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RUZXN0ZXJRdWV1ZVZpZXcuanMJ
KHJldmlzaW9uIDE2MTA5OCkKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1aWxkYm90VGVzdGVy
UXVldWVWaWV3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIEJ1aWxkYm90VGVz
dGVyUXVldWVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgICAgIC0tbGltaXQ7CiAK
LSAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZUxpbmtFbGVtZW50ID0gdGhpcy5yZXZpc2lvbkxp
bmtzRm9ySXRlcmF0aW9uKGl0ZXJhdGlvbik7CisgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2VF
bGVtZW50ID0gdGhpcy5yZXZpc2lvbkNvbnRlbnRGb3JJdGVyYXRpb24oaXRlcmF0aW9uKTsKIAog
ICAgICAgICAgICAgICAgIHZhciBsYXlvdXRUZXN0UmVzdWx0cyA9IGl0ZXJhdGlvbi5sYXlvdXRU
ZXN0UmVzdWx0cyB8fCB7ZmFpbHVyZUNvdW50OiAwfTsKICAgICAgICAgICAgICAgICB2YXIgamF2
YXNjcmlwdFRlc3RSZXN1bHRzID0gaXRlcmF0aW9uLmphdmFzY3JpcHRUZXN0UmVzdWx0cyB8fCB7
ZmFpbHVyZUNvdW50OiAwfTsKQEAgLTY2LDM0ICs2NiwzNCBAQCBCdWlsZGJvdFRlc3RlclF1ZXVl
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdmFyIGJpbmRpbmdUZXN0UmVzdWx0
cyA9IGl0ZXJhdGlvbi5iaW5kaW5nVGVzdFJlc3VsdHMgfHwge2Vycm9yT2NjdXJyZWQ6IGZhbHNl
fTsKIAogICAgICAgICAgICAgICAgIGlmICghaXRlcmF0aW9uLmZhaWxlZCkgewotICAgICAgICAg
ICAgICAgICAgICB2YXIgc3RhdHVzID0gbmV3IFN0YXR1c0xpbmVWaWV3KG1lc3NhZ2VMaW5rRWxl
bWVudCwgU3RhdHVzTGluZVZpZXcuU3RhdHVzLkdvb2QsICJhbGwgdGVzdHMgcGFzc2VkIik7Cisg
ICAgICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBuZXcgU3RhdHVzTGluZVZpZXcobWVzc2Fn
ZUVsZW1lbnQsIFN0YXR1c0xpbmVWaWV3LlN0YXR1cy5Hb29kLCAiYWxsIHRlc3RzIHBhc3NlZCIp
OwogICAgICAgICAgICAgICAgICAgICBsaW1pdCA9IDA7CiAgICAgICAgICAgICAgICAgfSBlbHNl
IGlmICghbGF5b3V0VGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50ICYmICFqYXZhc2NyaXB0VGVzdFJl
c3VsdHMuZmFpbHVyZUNvdW50ICYmICFhcGlUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQgJiYgIXB5
dGhvblRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhcGVybFRlc3RSZXN1bHRzLmZhaWx1cmVD
b3VudCAmJiAhYmluZGluZ1Rlc3RSZXN1bHRzLmVycm9yT2NjdXJyZWQpIHsKICAgICAgICAgICAg
ICAgICAgICAgLy8gU29tZXRoaW5nIHdyb25nIGhhcHBlbmVkLCBidXQgaXQgd2FzIG5vdCBhIHRl
c3QgZmFpbHVyZS4KICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IGl0ZXJhdGlvbi5xdWV1
ZS5idWlsZGJvdC5idWlsZFBhZ2VVUkxGb3JJdGVyYXRpb24oaXRlcmF0aW9uKTsKLSAgICAgICAg
ICAgICAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5lVmlldyhtZXNzYWdlTGlua0Vs
ZW1lbnQsIFN0YXR1c0xpbmVWaWV3LlN0YXR1cy5EYW5nZXIsIGl0ZXJhdGlvbi50ZXh0LCB1bmRl
ZmluZWQsIHVybCk7CisgICAgICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBuZXcgU3RhdHVz
TGluZVZpZXcobWVzc2FnZUVsZW1lbnQsIFN0YXR1c0xpbmVWaWV3LlN0YXR1cy5EYW5nZXIsIGl0
ZXJhdGlvbi50ZXh0LCB1bmRlZmluZWQsIHVybCk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlm
IChsYXlvdXRUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQgJiYgIWphdmFzY3JpcHRUZXN0UmVzdWx0
cy5mYWlsdXJlQ291bnQgJiYgIWFwaVRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhcHl0aG9u
VGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50ICYmICFwZXJsVGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50
ICYmICFiaW5kaW5nVGVzdFJlc3VsdHMuZXJyb3JPY2N1cnJlZCkgewogICAgICAgICAgICAgICAg
ICAgICB2YXIgdXJsID0gaXRlcmF0aW9uLnF1ZXVlLmJ1aWxkYm90LmxheW91dFRlc3RSZXN1bHRz
VVJMRm9ySXRlcmF0aW9uKGl0ZXJhdGlvbik7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBzdGF0
dXMgPSBuZXcgU3RhdHVzTGluZVZpZXcobWVzc2FnZUxpbmtFbGVtZW50LCBTdGF0dXNMaW5lVmll
dy5TdGF0dXMuQmFkLCBsYXlvdXRUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQgPT09IDEgPyAibGF5
b3V0IHRlc3QgZmFpbHVyZSIgOiAibGF5b3V0IHRlc3QgZmFpbHVyZXMiLCBsYXlvdXRUZXN0UmVz
dWx0cy50b29NYW55RmFpbHVyZXMgPyBsYXlvdXRUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQgKyAi
XHVmZjBiIiA6IGxheW91dFRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCwgdXJsKTsKKyAgICAgICAg
ICAgICAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5lVmlldyhtZXNzYWdlRWxlbWVu
dCwgU3RhdHVzTGluZVZpZXcuU3RhdHVzLkJhZCwgbGF5b3V0VGVzdFJlc3VsdHMuZmFpbHVyZUNv
dW50ID09PSAxID8gImxheW91dCB0ZXN0IGZhaWx1cmUiIDogImxheW91dCB0ZXN0IGZhaWx1cmVz
IiwgbGF5b3V0VGVzdFJlc3VsdHMudG9vTWFueUZhaWx1cmVzID8gbGF5b3V0VGVzdFJlc3VsdHMu
ZmFpbHVyZUNvdW50ICsgIlx1ZmYwYiIgOiBsYXlvdXRUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQs
IHVybCk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghbGF5b3V0VGVzdFJlc3VsdHMuZmFp
bHVyZUNvdW50ICYmIGphdmFzY3JpcHRUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQgJiYgIWFwaVRl
c3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhcHl0aG9uVGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50
ICYmICFwZXJsVGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50ICYmICFiaW5kaW5nVGVzdFJlc3VsdHMu
ZXJyb3JPY2N1cnJlZCkgewogICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gaXRlcmF0aW9u
LnF1ZXVlLmJ1aWxkYm90LmphdmFzY3JpcHRUZXN0UmVzdWx0c1VSTEZvckl0ZXJhdGlvbihpdGVy
YXRpb24pOwotICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0gbmV3IFN0YXR1c0xpbmVW
aWV3KG1lc3NhZ2VMaW5rRWxlbWVudCwgU3RhdHVzTGluZVZpZXcuU3RhdHVzLkJhZCwgamF2YXNj
cmlwdFRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCA9PT0gMSA/ICJqYXZhc2NyaXB0IHRlc3QgZmFp
bHVyZSIgOiAiamF2YXNjcmlwdCB0ZXN0IGZhaWx1cmVzIiwgamF2YXNjcmlwdFRlc3RSZXN1bHRz
LmZhaWx1cmVDb3VudCwgdXJsKTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9IG5l
dyBTdGF0dXNMaW5lVmlldyhtZXNzYWdlRWxlbWVudCwgU3RhdHVzTGluZVZpZXcuU3RhdHVzLkJh
ZCwgamF2YXNjcmlwdFRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCA9PT0gMSA/ICJqYXZhc2NyaXB0
IHRlc3QgZmFpbHVyZSIgOiAiamF2YXNjcmlwdCB0ZXN0IGZhaWx1cmVzIiwgamF2YXNjcmlwdFRl
c3RSZXN1bHRzLmZhaWx1cmVDb3VudCwgdXJsKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KCFsYXlvdXRUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQgJiYgIWphdmFzY3JpcHRUZXN0UmVzdWx0
cy5mYWlsdXJlQ291bnQgJiYgYXBpVGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50ICYmICFweXRob25U
ZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQgJiYgIXBlcmxUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQg
JiYgIWJpbmRpbmdUZXN0UmVzdWx0cy5lcnJvck9jY3VycmVkKSB7CiAgICAgICAgICAgICAgICAg
ICAgIHZhciB1cmwgPSBpdGVyYXRpb24ucXVldWUuYnVpbGRib3QuYXBpVGVzdFJlc3VsdHNVUkxG
b3JJdGVyYXRpb24oaXRlcmF0aW9uKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9
IG5ldyBTdGF0dXNMaW5lVmlldyhtZXNzYWdlTGlua0VsZW1lbnQsIFN0YXR1c0xpbmVWaWV3LlN0
YXR1cy5CYWQsIGFwaVRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCA9PT0gMSA/ICJhcGkgdGVzdCBm
YWlsdXJlIiA6ICJhcGkgdGVzdCBmYWlsdXJlcyIsIGFwaVRlc3RSZXN1bHRzLmZhaWx1cmVDb3Vu
dCwgdXJsKTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5l
VmlldyhtZXNzYWdlRWxlbWVudCwgU3RhdHVzTGluZVZpZXcuU3RhdHVzLkJhZCwgYXBpVGVzdFJl
c3VsdHMuZmFpbHVyZUNvdW50ID09PSAxID8gImFwaSB0ZXN0IGZhaWx1cmUiIDogImFwaSB0ZXN0
IGZhaWx1cmVzIiwgYXBpVGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50LCB1cmwpOwogICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAoIWxheW91dFRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhamF2
YXNjcmlwdFRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhYXBpVGVzdFJlc3VsdHMuZmFpbHVy
ZUNvdW50ICYmIHB5dGhvblRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhcGVybFRlc3RSZXN1
bHRzLmZhaWx1cmVDb3VudCAmJiAhYmluZGluZ1Rlc3RSZXN1bHRzLmVycm9yT2NjdXJyZWQpIHsK
ICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IGl0ZXJhdGlvbi5xdWV1ZS5idWlsZGJvdC53
ZWJraXRweVRlc3RSZXN1bHRzVVJMRm9ySXRlcmF0aW9uKGl0ZXJhdGlvbik7Ci0gICAgICAgICAg
ICAgICAgICAgIHZhciBzdGF0dXMgPSBuZXcgU3RhdHVzTGluZVZpZXcobWVzc2FnZUxpbmtFbGVt
ZW50LCBTdGF0dXNMaW5lVmlldy5TdGF0dXMuQmFkLCBweXRob25UZXN0UmVzdWx0cy5mYWlsdXJl
Q291bnQgPT09IDEgPyAid2Via2l0cHkgdGVzdCBmYWlsdXJlIiA6ICJ3ZWJraXRweSB0ZXN0IGZh
aWx1cmVzIiwgcHl0aG9uVGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50LCB1cmwpOworICAgICAgICAg
ICAgICAgICAgICB2YXIgc3RhdHVzID0gbmV3IFN0YXR1c0xpbmVWaWV3KG1lc3NhZ2VFbGVtZW50
LCBTdGF0dXNMaW5lVmlldy5TdGF0dXMuQmFkLCBweXRob25UZXN0UmVzdWx0cy5mYWlsdXJlQ291
bnQgPT09IDEgPyAid2Via2l0cHkgdGVzdCBmYWlsdXJlIiA6ICJ3ZWJraXRweSB0ZXN0IGZhaWx1
cmVzIiwgcHl0aG9uVGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50LCB1cmwpOwogICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAoIWxheW91dFRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhamF2YXNj
cmlwdFRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhYXBpVGVzdFJlc3VsdHMuZmFpbHVyZUNv
dW50ICYmICFweXRob25UZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQgJiYgcGVybFRlc3RSZXN1bHRz
LmZhaWx1cmVDb3VudCAmJiAhYmluZGluZ1Rlc3RSZXN1bHRzLmVycm9yT2NjdXJyZWQpIHsKICAg
ICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IGl0ZXJhdGlvbi5xdWV1ZS5idWlsZGJvdC53ZWJr
aXRwZXJsVGVzdFJlc3VsdHNVUkxGb3JJdGVyYXRpb24oaXRlcmF0aW9uKTsKLSAgICAgICAgICAg
ICAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5lVmlldyhtZXNzYWdlTGlua0VsZW1l
bnQsIFN0YXR1c0xpbmVWaWV3LlN0YXR1cy5CYWQsIHBlcmxUZXN0UmVzdWx0cy5mYWlsdXJlQ291
bnQgPT09IDEgPyAid2Via2l0cGVybCB0ZXN0IGZhaWx1cmUiIDogIndlYmtpdHBlcmwgdGVzdCBm
YWlsdXJlcyIsIHBlcmxUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQsIHVybCk7CisgICAgICAgICAg
ICAgICAgICAgIHZhciBzdGF0dXMgPSBuZXcgU3RhdHVzTGluZVZpZXcobWVzc2FnZUVsZW1lbnQs
IFN0YXR1c0xpbmVWaWV3LlN0YXR1cy5CYWQsIHBlcmxUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQg
PT09IDEgPyAid2Via2l0cGVybCB0ZXN0IGZhaWx1cmUiIDogIndlYmtpdHBlcmwgdGVzdCBmYWls
dXJlcyIsIHBlcmxUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQsIHVybCk7CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmICghbGF5b3V0VGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50ICYmICFqYXZhc2Ny
aXB0VGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50ICYmICFhcGlUZXN0UmVzdWx0cy5mYWlsdXJlQ291
bnQgJiYgIXB5dGhvblRlc3RSZXN1bHRzLmZhaWx1cmVDb3VudCAmJiAhcGVybFRlc3RSZXN1bHRz
LmZhaWx1cmVDb3VudCAmJiBiaW5kaW5nVGVzdFJlc3VsdHMuZXJyb3JPY2N1cnJlZCkgewogICAg
ICAgICAgICAgICAgICAgICB2YXIgdXJsID0gaXRlcmF0aW9uLnF1ZXVlLmJ1aWxkYm90LmJpbmRp
bmdzVGVzdFJlc3VsdHNVUkxGb3JJdGVyYXRpb24oaXRlcmF0aW9uKTsKLSAgICAgICAgICAgICAg
ICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5lVmlldyhtZXNzYWdlTGlua0VsZW1lbnQs
IFN0YXR1c0xpbmVWaWV3LlN0YXR1cy5CYWQsICJiaW5kaW5ncyB0ZXN0cyBmYWlsZWQiLCB1bmRl
ZmluZWQsIHVybCk7CisgICAgICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBuZXcgU3RhdHVz
TGluZVZpZXcobWVzc2FnZUVsZW1lbnQsIFN0YXR1c0xpbmVWaWV3LlN0YXR1cy5CYWQsICJiaW5k
aW5ncyB0ZXN0cyBmYWlsZWQiLCB1bmRlZmluZWQsIHVybCk7CiAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IGl0ZXJhdGlvbi5xdWV1ZS5idWls
ZGJvdC5idWlsZFBhZ2VVUkxGb3JJdGVyYXRpb24oaXRlcmF0aW9uKTsKICAgICAgICAgICAgICAg
ICAgICAgdmFyIHRvdGFsRmFpbHVyZXMgPSBsYXlvdXRUZXN0UmVzdWx0cy5mYWlsdXJlQ291bnQg
KyBqYXZhc2NyaXB0VGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50ICsgYXBpVGVzdFJlc3VsdHMuZmFp
bHVyZUNvdW50ICsgcHl0aG9uVGVzdFJlc3VsdHMuZmFpbHVyZUNvdW50ICsgcGVybFRlc3RSZXN1
bHRzLmZhaWx1cmVDb3VudCArIGJpbmRpbmdUZXN0UmVzdWx0cy5lcnJvck9jY3VycmVkOwotICAg
ICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0gbmV3IFN0YXR1c0xpbmVWaWV3KG1lc3NhZ2VM
aW5rRWxlbWVudCwgU3RhdHVzTGluZVZpZXcuU3RhdHVzLkJhZCwgdG90YWxGYWlsdXJlcyA9PT0g
MSA/ICJ0ZXN0IGZhaWx1cmUiIDogInRlc3QgZmFpbHVyZXMiLCB0b3RhbEZhaWx1cmVzLCB1cmwp
OworICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0gbmV3IFN0YXR1c0xpbmVWaWV3KG1l
c3NhZ2VFbGVtZW50LCBTdGF0dXNMaW5lVmlldy5TdGF0dXMuQmFkLCB0b3RhbEZhaWx1cmVzID09
PSAxID8gInRlc3QgZmFpbHVyZSIgOiAidGVzdCBmYWlsdXJlcyIsIHRvdGFsRmFpbHVyZXMsIHVy
bCk7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFw
cGVuZENoaWxkKHN0YXR1cy5lbGVtZW50KTsKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL1Bv
cG92ZXJUcmFja2VyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL1BvcG92
ZXJUcmFja2VyLmpzCShyZXZpc2lvbiAxNjExMjApCisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9y
dC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9Q
b3BvdmVyVHJhY2tlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMjMsMTIgKzIzLDE1IEBACiAgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotUG9wb3ZlclRyYWNrZXIgPSBm
dW5jdGlvbihlbGVtZW50LCBkZWxlZ2F0ZSwgY29udGV4dCkKK1BvcG92ZXJUcmFja2VyID0gZnVu
Y3Rpb24oZWxlbWVudCwgcHJlc2VudFBvcG92ZXJDYWxsYmFjaywgY29udGV4dCkKIHsKICAgICBC
YXNlT2JqZWN0LmNhbGwodGhpcyk7CiAKKyAgICBjb25zb2xlLmFzc2VydChlbGVtZW50KTsKKyAg
ICBjb25zb2xlLmFzc2VydChwcmVzZW50UG9wb3ZlckNhbGxiYWNrICYmIHR5cGVvZiBwcmVzZW50
UG9wb3ZlckNhbGxiYWNrID09ICJmdW5jdGlvbiIpOworCiAgICAgdGhpcy5fZWxlbWVudCA9IGVs
ZW1lbnQ7Ci0gICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKKyAgICB0aGlzLl9wcmVzZW50
UG9wb3ZlciA9IHByZXNlbnRQb3BvdmVyQ2FsbGJhY2s7CiAgICAgdGhpcy5fY29udGV4dCA9IGNv
bnRleHQ7CiAgICAgdGhpcy5fYWN0aXZlID0gZmFsc2U7CiAKQEAgLTYxLDExICs2NCw4IEBAIFBv
cG92ZXJUcmFja2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgICAgICBjb25zb2xlLmFz
c2VydCghUG9wb3ZlclRyYWNrZXIuX3BvcG92ZXIpOwogCi0gICAgICAgIGlmICghdGhpcy5fZGVs
ZWdhdGUgfHwgIXRoaXMuX2RlbGVnYXRlLnByZXNlbnRQb3BvdmVyRm9yRWxlbWVudCB8fCB0eXBl
b2YgdGhpcy5fZGVsZWdhdGUucHJlc2VudFBvcG92ZXJGb3JFbGVtZW50ICE9ICJmdW5jdGlvbiIp
Ci0gICAgICAgICAgICByZXR1cm47Ci0KICAgICAgICAgdmFyIHBvcG92ZXIgPSBuZXcgRGFzaGJv
YXJkLlBvcG92ZXIodGhpcyk7Ci0gICAgICAgIGlmICghdGhpcy5fZGVsZWdhdGUucHJlc2VudFBv
cG92ZXJGb3JFbGVtZW50KGV2ZW50LnRhcmdldCwgcG9wb3ZlciwgdGhpcy5fY29udGV4dCkpCisg
ICAgICAgIGlmICghdGhpcy5fcHJlc2VudFBvcG92ZXIoZXZlbnQudGFyZ2V0LCBwb3BvdmVyLCB0
aGlzLl9jb250ZXh0KSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAocG9wb3Zl
cldhc1Zpc2libGUpCkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU3R5bGVzL01haW4uY3NzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1
YmxpY19odG1sL2Rhc2hib2FyZC9TdHlsZXMvTWFpbi5jc3MJKHJldmlzaW9uIDE2MTA5OCkKKysr
IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19o
dG1sL2Rhc2hib2FyZC9TdHlsZXMvTWFpbi5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTM3LDEwICsz
Nyw2IEBAIGE6aG92ZXIgewogICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogfQogCi0u
c2VsZWN0YWJsZSB7Ci0gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogYXV0bzsKLX0KLQogZGl2LmNl
bGxCdXR0b24gewogICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhTmV1ZS1MaWdodCIsIHNhbnMt
c2VyaWY7CiAgICAgZm9udC1zaXplOiAxMnB4OwpJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1N0eWxlcy9R
dWV1ZVZpZXcuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxk
LndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TdHlsZXMvUXVldWVWaWV3
LmNzcwkocmV2aXNpb24gMTYxMTIwKQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1N0eWxlcy9RdWV1ZVZpZXcu
Y3NzCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw4IEBACiAgICAgbWFyZ2luLXRvcDogMTBw
eDsKIH0KIAotLnBlbmRpbmctY29tbWl0cy1wb3BvdmVyID4gLnBlbmRpbmctY29tbWl0IHsKKy5j
b21taXQtaGlzdG9yeS1wb3BvdmVyID4gLnBlbmRpbmctY29tbWl0LAorLmNvbW1pdC1oaXN0b3J5
LXBvcG92ZXIgPiAubm8tY29tbWl0cyB7CiAgICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2FOZXVl
LUxpZ2h0IiwgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjsKICAgICBjb2xvcjogcmdiKDE0
NSwgMTM1LCA5NSk7CiAgICAgZm9udC1zaXplOiAxMnB4OwpAQCAtNDksMTUgKzUwLDE1IEBACiAg
ICAgdXNlci1zZWxlY3Q6IGF1dG87CiB9CiAKLS5wZW5kaW5nLWNvbW1pdHMtcG9wb3ZlciA+IC5w
ZW5kaW5nLWNvbW1pdCA+IC5hdXRob3IgeworLmNvbW1pdC1oaXN0b3J5LXBvcG92ZXIgPiAucGVu
ZGluZy1jb21taXQgPiAuYXV0aG9yIHsKICAgICBwYWRkaW5nLWxlZnQ6IDVweDsKICAgICBwYWRk
aW5nLXJpZ2h0OiA1cHg7CiB9CiAKLS5wZW5kaW5nLWNvbW1pdHMtcG9wb3ZlciA+IC5wZW5kaW5n
LWNvbW1pdCA+IC50aXRsZSB7CisuY29tbWl0LWhpc3RvcnktcG9wb3ZlciA+IC5wZW5kaW5nLWNv
bW1pdCA+IC50aXRsZSB7CiAgICAgY29sb3I6IGJsYWNrOwogfQogCi0ucGVuZGluZy1jb21taXRz
LXBvcG92ZXIgPiAuZGl2aWRlciB7CisuY29tbWl0LWhpc3RvcnktcG9wb3ZlciA+IC5kaXZpZGVy
IHsKICAgICBoZWlnaHQ6IDdweDsKIH0KSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TdHlsZXMvU3RhdHVz
TGluZVZpZXcuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxk
LndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TdHlsZXMvU3RhdHVzTGlu
ZVZpZXcuY3NzCShyZXZpc2lvbiAxNjExMjApCisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU3R5bGVzL1N0YXR1
c0xpbmVWaWV3LmNzcwkod29ya2luZyBjb3B5KQpAQCAtMTAxLDYgKzEwMSwxMCBAQAogICAgIGNv
bG9yOiBpbmhlcml0OwogfQogCisuc3RhdHVzLWxpbmUgLm1lc3NhZ2UgLnJldmlzaW9uLW51bWJl
ciB7CisgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogYXV0bzsKK30KKwogLnN0YXR1cy1saW5lLm5v
LWxhYmVsIC5tZXNzYWdlIHsKICAgICBsaW5lLWhlaWdodDogMjhweDsKIH0K
</data>
<flag name="review"
          id="243753"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>