<?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>80830</bug_id>
          
          <creation_ts>2012-03-12 05:09:19 -0700</creation_ts>
          <short_desc>Web Inspector: DebuggerModel.Location should have scriptId property.</short_desc>
          <delta_ts>2012-03-12 09:06:37 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>576071</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2012-03-12 05:09:19 -0700</bug_when>
    <thetext>Web Inspector: DebuggerModel.Location should have scriptId property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576077</commentid>
    <comment_count>1</comment_count>
      <attachid>131317</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2012-03-12 05:24:45 -0700</bug_when>
    <thetext>Created attachment 131317
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576092</commentid>
    <comment_count>2</comment_count>
      <attachid>131317</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-03-12 06:07:33 -0700</bug_when>
    <thetext>Comment on attachment 131317
Patch

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

&gt; LayoutTests/inspector/debugger/raw-source-code.html:78
&gt; +        //InspectorTest.assertEquals(script.scriptId, location.scriptId);

Please uncomment this line.

&gt; LayoutTests/inspector/debugger/raw-source-code.html:80
&gt; +        //InspectorTest.assertEquals(columnNumber, location.columnNumber);

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576168</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2012-03-12 09:06:37 -0700</bug_when>
    <thetext>Committed r110434: &lt;http://trac.webkit.org/changeset/110434&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131317</attachid>
            <date>2012-03-12 05:24:45 -0700</date>
            <delta_ts>2012-03-12 06:07:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80830-20120312162443.patch</filename>
            <type>text/plain</type>
            <size>32043</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzg4MzgwODBhOTJmM2Mz
ODc2ZjU5ZjYyZmMxMWFlYWNiN2ZmNTJmYi4uNjhjMGQ4ZDAzZmNlNjlmNzFiNTI1MTM2Njg2ZTlk
MTUxYzQ5YTMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTAzLTEyICBQYXZl
bCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IERlYnVnZ2VyTW9kZWwuTG9jYXRpb24gc2hvdWxkIGhhdmUgc2NyaXB0SWQgcHJvcGVy
dHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDgz
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUuc291cmNlTG9j
YXRpb25Ub0NvbXBpbGVkTG9jYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
Q29uc29sZU1lc3NhZ2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJ
bXBsLnByb3RvdHlwZS5sb2NhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9E
ZWJ1Z2dlck1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuTG9j
YXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLl9m
YWlsZWRUb1BhcnNlU2NyaXB0U291cmNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ck1vZGVsLnByb3RvdHlwZS5jcmVhdGVSYXdMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUuY3JlYXRlUmF3TG9jYXRpb25CeVVSTCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBl
Ll9jb25zb2xlTWVzc2FnZUFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5fYWRkQ29uc29sZU1lc3NhZ2VUb1NjcmlwdCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUu
X2FkZFBlbmRpbmdDb25zb2xlTWVzc2FnZXNUb1NjcmlwdCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbFJlc291cmNlQmluZGluZy5wcm90b3R5cGUuX3Vp
U291cmNlQ29kZUZvclJlc291cmNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllci5wcm90b3R5cGUubGlua2lmeUxvY2F0aW9uKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5QbGFpblNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnVp
TG9jYXRpb25Ub1Jhd0xvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VD
b2RlLkZvcm1hdHRlZFNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnJhd0xvY2F0aW9uVG9VSUxvY2F0
aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLkZvcm1hdHRlZFNvdXJj
ZU1hcHBpbmcucHJvdG90eXBlLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5SYXdTb3VyY2VDb2RlLkNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUu
dWlMb2NhdGlvblRvUmF3TG9jYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
U2NyaXB0Rm9ybWF0dGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdEZvcm1hdHRl
ci5sb2NhdGlvblRvUG9zaXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdEZvcm1h
dHRlci5wb3NpdGlvblRvTG9jYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZvcm1hdHRl
ZFNvdXJjZU1hcHBpbmcucHJvdG90eXBlLm9yaWdpbmFsVG9Gb3JtYXR0ZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkZvcm1hdHRlZFNvdXJjZU1hcHBpbmcucHJvdG90eXBlLmZvcm1hdHRlZFRv
T3JpZ2luYWwpOgorCiAyMDEyLTAzLTExICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRlY291cGxlIExpdmVMb2NhdGlv
biBmcm9tIFJhd1NvdXJjZUNvZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbXBpbGVyU291cmNlTWFwcGluZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nLmpzCmluZGV4IGI3ZDBkZGMy
MDNkNmVhNDE1OTE1OWExNGM2NzQyNWM3Y2I5NGY3NzEuLjIwZDUyZGVhYjExOTg2OWY1ZjM2NjMw
ODhiMzE4OGU3NmIxNTY5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nLmpzCkBAIC00Niw3ICs0Niw3
IEBAIFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmcucHJvdG90eXBlID0gewogICAg
IC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2VVUkwKICAgICAgKiBAcGFyYW0ge251
bWJlcn0gbGluZU51bWJlcgotICAgICAqIEByZXR1cm4ge0RlYnVnZ2VyQWdlbnQuTG9jYXRpb259
CisgICAgICogQHJldHVybiB7QXJyYXkuPG51bWJlcj59CiAgICAgICovCiAgICAgc291cmNlTG9j
YXRpb25Ub0NvbXBpbGVkTG9jYXRpb246IGZ1bmN0aW9uKHNvdXJjZVVSTCwgbGluZU51bWJlcikg
eyB9LAogCkBAIC0xMjQsNyArMTI0LDcgQEAgV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNv
dXJjZU1hcHBpbmcucHJvdG90eXBlID0gewogICAgICAgICBmb3IgKCA7IGxpbmVOdW1iZXIgPCBt
YXBwaW5ncy5sZW5ndGg7ICsrbGluZU51bWJlcikgewogICAgICAgICAgICAgdmFyIG1hcHBpbmcg
PSBtYXBwaW5nc1tsaW5lTnVtYmVyXTsKICAgICAgICAgICAgIGlmIChtYXBwaW5nKQotICAgICAg
ICAgICAgICAgIHJldHVybiB7IGxpbmVOdW1iZXI6IG1hcHBpbmdbMF0sIGNvbHVtbk51bWJlcjog
bWFwcGluZ1sxXSB9OworICAgICAgICAgICAgICAgIHJldHVybiBbbWFwcGluZ1swXSwgbWFwcGlu
Z1sxXV07CiAgICAgICAgIH0KICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwppbmRleCAxOTI1YjkyM2FhYzkzOGM4
N2VjMDUxN2MxMmI4OWRiYTYwODgxNzhmLi43MWFiOWJjMGYzODkyZjQ1OTFmZjZmNGY2NzJlMDNl
ZGE1ZDZjM2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ29uc29sZU1lc3NhZ2UuanMKQEAgLTU5NCwxMiArNTk0LDEyIEBAIFdlYkluc3BlY3Rvci5D
b25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fbWVz
c2FnZVRleHQ7CiAgICAgfSwKIAotICAgIGdldCBsb2NhdGlvbigpCisgICAgbG9jYXRpb246IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FKDYyNzI1KTogc3RhY2sgdHJhY2UgbGlu
ZS9jb2x1bW4gbnVtYmVycyBhcmUgb25lLWJhc2VkLgogICAgICAgICB2YXIgbGluZU51bWJlciA9
IHRoaXMuc3RhY2tUcmFjZSA/IHRoaXMuc3RhY2tUcmFjZVswXS5saW5lTnVtYmVyIC0gMSA6IHRo
aXMubGluZSAtIDE7CiAgICAgICAgIHZhciBjb2x1bW5OdW1iZXIgPSB0aGlzLnN0YWNrVHJhY2Ug
PyB0aGlzLnN0YWNrVHJhY2VbMF0uY29sdW1uTnVtYmVyIC0gMSA6IDA7Ci0gICAgICAgIHJldHVy
biBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuTG9jYXRpb24obGluZU51bWJlciwgY29s
dW1uTnVtYmVyKTsKKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmNy
ZWF0ZVJhd0xvY2F0aW9uQnlVUkwodGhpcy51cmwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7
CiAgICAgfSwKIAogICAgIGlzRXF1YWw6IGZ1bmN0aW9uKG1zZykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcwppbmRleCBjOWE2NGJk
M2UxNzE0NjY0NjA0NmE2MzA4MWI5OGEyMDA5MzlhMmFkLi4zZWE4ZDZlMTJiNWM1NGNhODY1ZTY0
ZmE0Y2Q0ODg2MDAwZDc3N2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCkBAIC02MSwxMSArNjEsMTMgQEAgV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyUGF1c2VkRGV0YWlscyA9IGZ1bmN0aW9uKGNhbGxGcmFtZXMsIHJlYXNvbiwg
YXV4RGF0YSkKIC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7RGVidWdnZXJBZ2Vu
dC5Mb2NhdGlvbn0KKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlNjcmlwdH0gc2NyaXB0CiAgKiBA
cGFyYW0ge251bWJlcn0gbGluZU51bWJlcgogICogQHBhcmFtIHtudW1iZXJ9IGNvbHVtbk51bWJl
cgogICovCi1XZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5Mb2NhdGlvbiA9IGZ1bmN0aW9uKGxp
bmVOdW1iZXIsIGNvbHVtbk51bWJlcikKK1dlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkxvY2F0
aW9uID0gZnVuY3Rpb24oc2NyaXB0LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCiB7CisgICAg
dGhpcy5zY3JpcHRJZCA9IHNjcmlwdC5zY3JpcHRJZDsKICAgICB0aGlzLmxpbmVOdW1iZXIgPSBs
aW5lTnVtYmVyOwogICAgIHRoaXMuY29sdW1uTnVtYmVyID0gY29sdW1uTnVtYmVyOwogfQpAQCAt
MjQyLDI4ICsyNDQsNiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUgPSB7
CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKLSAgICAgKi8K
LSAgICBzY3JpcHRzRm9yVVJMOiBmdW5jdGlvbih1cmwpCi0gICAgewotICAgICAgICByZXR1cm4g
dGhpcy5xdWVyeVNjcmlwdHMoZnVuY3Rpb24ocykgeyByZXR1cm4gcy5zb3VyY2VVUkwgPT09IHVy
bDsgfSk7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oV2ViSW5z
cGVjdG9yLlNjcmlwdCk6Ym9vbGVhbn0gZmlsdGVyCi0gICAgICovCi0gICAgcXVlcnlTY3JpcHRz
OiBmdW5jdGlvbihmaWx0ZXIpCi0gICAgewotICAgICAgICB2YXIgc2NyaXB0cyA9IFtdOwotICAg
ICAgICBmb3IgKHZhciBzY3JpcHRJZCBpbiB0aGlzLl9zY3JpcHRzKSB7Ci0gICAgICAgICAgICB2
YXIgc2NyaXB0ID0gdGhpcy5fc2NyaXB0c1tzY3JpcHRJZF07Ci0gICAgICAgICAgICBpZiAoZmls
dGVyKHNjcmlwdCkpCi0gICAgICAgICAgICAgICAgc2NyaXB0cy5wdXNoKHNjcmlwdCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIHNjcmlwdHM7Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAq
IEBwYXJhbSB7RGVidWdnZXJBZ2VudC5TY3JpcHRJZH0gc2NyaXB0SWQKICAgICAgKiBAcGFyYW0g
e3N0cmluZ30gbmV3U291cmNlCiAgICAgICogQHBhcmFtIHtmdW5jdGlvbig/UHJvdG9jb2wuRXJy
b3IpfSBjYWxsYmFjawpAQCAtMjg4LDcgKzI2OCw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1v
ZGVsLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7QXJy
YXkuPERlYnVnZ2VyQWdlbnQuQ2FsbEZyYW1lPn0gCisgICAgICogQHJldHVybiB7QXJyYXkuPERl
YnVnZ2VyQWdlbnQuQ2FsbEZyYW1lPn0KICAgICAgKi8KICAgICBnZXQgY2FsbEZyYW1lcygpCiAg
ICAgewpAQCAtMjk2LDcgKzI3Niw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3Rv
dHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7P1dlYkluc3BlY3Rv
ci5EZWJ1Z2dlclBhdXNlZERldGFpbHN9IAorICAgICAqIEByZXR1cm4gez9XZWJJbnNwZWN0b3Iu
RGVidWdnZXJQYXVzZWREZXRhaWxzfQogICAgICAqLwogICAgIGdldCBkZWJ1Z2dlclBhdXNlZERl
dGFpbHMoKQogICAgIHsKQEAgLTM0Nyw2ICszMjcsNDQgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
TW9kZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIHNjcmlwdCA9IG5ldyBXZWJJ
bnNwZWN0b3IuU2NyaXB0KCIiLCBzb3VyY2VVUkwsIHN0YXJ0aW5nTGluZSwgMCwgMCwgMCwgZmFs
c2UpOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
RGVidWdnZXJNb2RlbC5FdmVudHMuRmFpbGVkVG9QYXJzZVNjcmlwdFNvdXJjZSwgc2NyaXB0KTsK
KyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuU2NyaXB0fSBz
Y3JpcHQKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgorICAgICAqIEBwYXJhbSB7
bnVtYmVyfSBjb2x1bW5OdW1iZXIKKyAgICAgKiBAcmV0dXJuIHtEZWJ1Z2dlckFnZW50LkxvY2F0
aW9ufQorICAgICAqLworICAgIGNyZWF0ZVJhd0xvY2F0aW9uOiBmdW5jdGlvbihzY3JpcHQsIGxp
bmVOdW1iZXIsIGNvbHVtbk51bWJlcikKKyAgICB7CisgICAgICAgIGlmIChzY3JpcHQuc291cmNl
VVJMKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmF3TG9jYXRpb25CeVVSTChzY3Jp
cHQuc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCisgICAgICAgIHJldHVybiBu
ZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuTG9jYXRpb24oc2NyaXB0LCBsaW5lTnVtYmVy
LCBjb2x1bW5OdW1iZXIpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmlu
Z30gc291cmNlVVJMCisgICAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIKKyAgICAgKiBA
cGFyYW0ge251bWJlcn0gY29sdW1uTnVtYmVyCisgICAgICogQHJldHVybiB7RGVidWdnZXJBZ2Vu
dC5Mb2NhdGlvbn0KKyAgICAgKi8KKyAgICBjcmVhdGVSYXdMb2NhdGlvbkJ5VVJMOiBmdW5jdGlv
bihzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikKKyAgICB7CisgICAgICAgIHZh
ciBjbG9zZXN0U2NyaXB0ID0gbnVsbDsKKyAgICAgICAgZm9yICh2YXIgc2NyaXB0SWQgaW4gdGhp
cy5fc2NyaXB0cykgeworICAgICAgICAgICAgdmFyIHNjcmlwdCA9IHRoaXMuX3NjcmlwdHNbc2Ny
aXB0SWRdOworICAgICAgICAgICAgaWYgKHNjcmlwdC5zb3VyY2VVUkwgIT09IHNvdXJjZVVSTCkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmICghY2xvc2VzdFNjcmlw
dCkKKyAgICAgICAgICAgICAgICBjbG9zZXN0U2NyaXB0ID0gc2NyaXB0OworICAgICAgICAgICAg
aWYgKHNjcmlwdC5saW5lT2Zmc2V0ID4gbGluZU51bWJlciB8fCAoc2NyaXB0LmxpbmVPZmZzZXQg
PT09IGxpbmVOdW1iZXIgJiYgc2NyaXB0LmNvbHVtbk9mZnNldCA+IGNvbHVtbk51bWJlcikpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAoc2NyaXB0LmVuZExpbmUg
PCBsaW5lTnVtYmVyIHx8IChzY3JpcHQuZW5kTGluZSA9PT0gbGluZU51bWJlciAmJiBzY3JpcHQu
ZW5kQ29sdW1uIDw9IGNvbHVtbk51bWJlcikpCisgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICBjbG9zZXN0U2NyaXB0ID0gc2NyaXB0OworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNsb3Nlc3RTY3JpcHQgPyBuZXcgV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyTW9kZWwuTG9jYXRpb24oY2xvc2VzdFNjcmlwdCwgbGluZU51bWJlciwgY29sdW1u
TnVtYmVyKSA6IG51bGw7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMK
aW5kZXggNDcxODJlZTliNTU2OTc3YzhkNjJmZjRkZTY5ZjI1ZTJmNzFmM2I2ZS4uNGY4NjVhYTFi
YmY4NTE4NjY1ODRjMTFjODE1ODQ5ZTcwYmVlYWIyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC5qcwpAQCAtMjg2LDE4ICsyODYsMTggQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2Vu
dGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIW1lc3NhZ2UudXJsIHx8ICFt
ZXNzYWdlLmlzRXJyb3JPcldhcm5pbmcoKSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICB2YXIgc2NyaXB0ID0gdGhpcy5fc2NyaXB0Rm9yVVJMQW5kTG9jYXRpb24obWVzc2FnZS51cmws
IG1lc3NhZ2UubG9jYXRpb24pOwotICAgICAgICBpZiAoc2NyaXB0KQotICAgICAgICAgICAgdGhp
cy5fYWRkQ29uc29sZU1lc3NhZ2VUb1NjcmlwdChtZXNzYWdlLCBzY3JpcHQpOworICAgICAgICB2
YXIgcmF3TG9jYXRpb24gPSBtZXNzYWdlLmxvY2F0aW9uKCk7CisgICAgICAgIGlmIChyYXdMb2Nh
dGlvbikKKyAgICAgICAgICAgIHRoaXMuX2FkZENvbnNvbGVNZXNzYWdlVG9TY3JpcHQobWVzc2Fn
ZSwgcmF3TG9jYXRpb24pOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlzLl9hZGRQZW5k
aW5nQ29uc29sZU1lc3NhZ2UobWVzc2FnZSk7CiAgICAgfSwKIAogICAgIC8qKgogICAgICAqIEBw
YXJhbSB7V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlfSBtZXNzYWdlCi0gICAgICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuU2NyaXB0fSBzY3JpcHQKKyAgICAgKiBAcGFyYW0ge0RlYnVnZ2VyQWdl
bnQuTG9jYXRpb259IHJhd0xvY2F0aW9uCiAgICAgICovCi0gICAgX2FkZENvbnNvbGVNZXNzYWdl
VG9TY3JpcHQ6IGZ1bmN0aW9uKG1lc3NhZ2UsIHNjcmlwdCkKKyAgICBfYWRkQ29uc29sZU1lc3Nh
Z2VUb1NjcmlwdDogZnVuY3Rpb24obWVzc2FnZSwgcmF3TG9jYXRpb24pCiAgICAgewogICAgICAg
ICBmdW5jdGlvbiB1cGRhdGVMb2NhdGlvbih1aUxvY2F0aW9uKQogICAgICAgICB7CkBAIC0zMDUs
OCArMzA1LDYgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90
eXBlID0gewogICAgICAgICAgICAgdGhpcy5fcHJlc2VudGF0aW9uQ29uc29sZU1lc3NhZ2VzLnB1
c2gocHJlc2VudGF0aW9uTWVzc2FnZSk7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMu
Q29uc29sZU1lc3NhZ2VBZGRlZCwgcHJlc2VudGF0aW9uTWVzc2FnZSk7CiAgICAgICAgIH0KLSAg
ICAgICAgdmFyIHJhd0xvY2F0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkxv
Y2F0aW9uKG1lc3NhZ2UubG9jYXRpb24ubGluZU51bWJlciwgbWVzc2FnZS5sb2NhdGlvbi5jb2x1
bW5OdW1iZXIpOwotICAgICAgICByYXdMb2NhdGlvbi5zY3JpcHRJZCA9IHNjcmlwdC5zY3JpcHRJ
ZDsKICAgICAgICAgdmFyIGxpdmVMb2NhdGlvbiA9IHRoaXMuY3JlYXRlTGl2ZUxvY2F0aW9uKHJh
d0xvY2F0aW9uLCB1cGRhdGVMb2NhdGlvbi5iaW5kKHRoaXMpKTsKICAgICAgICAgbGl2ZUxvY2F0
aW9uLmluaXQoKTsKICAgICAgICAgdGhpcy5fY29uc29sZU1lc3NhZ2VMaXZlTG9jYXRpb25zLnB1
c2gobGl2ZUxvY2F0aW9uKTsKQEAgLTMzNCw4ICszMzIsOSBAQCBXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBwZW5kaW5nTWVz
c2FnZXMgPSBbXTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7
IGkrKykgewogICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBtZXNzYWdlc1tpXTsKLSAgICAgICAg
ICAgIGlmIChzY3JpcHQgPT09IHRoaXMuX3NjcmlwdEZvclVSTEFuZExvY2F0aW9uKG1lc3NhZ2Uu
dXJsLCBtZXNzYWdlLmxvY2F0aW9uKSkKLSAgICAgICAgICAgICAgICB0aGlzLl9hZGRDb25zb2xl
TWVzc2FnZVRvU2NyaXB0KG1lc3NhZ2VzLCBzY3JpcHQpOworICAgICAgICAgICAgdmFyIHJhd0xv
Y2F0aW9uID0gbWVzc2FnZS5sb2NhdGlvbigpOworICAgICAgICAgICAgaWYgKHNjcmlwdC5zY3Jp
cHRJZCA9PT0gcmF3TG9jYXRpb24uc2NyaXB0SWQpCisgICAgICAgICAgICAgICAgdGhpcy5fYWRk
Q29uc29sZU1lc3NhZ2VUb1NjcmlwdChtZXNzYWdlcywgcmF3TG9jYXRpb24pOwogICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgIHBlbmRpbmdNZXNzYWdlcy5wdXNoKG1lc3NhZ2UpOwog
ICAgICAgICB9CkBAIC01NzksMjUgKzU3OCw2IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNl
bnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgIH0sCiAKLSAgICAvKioK
LSAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCi0gICAgICogQHBhcmFtIHtEZWJ1Z2dlckFnZW50
LkxvY2F0aW9ufSByYXdMb2NhdGlvbgotICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5TY3Jp
cHR9Ci0gICAgICovCi0gICAgX3NjcmlwdEZvclVSTEFuZExvY2F0aW9uOiBmdW5jdGlvbih1cmws
IHJhd0xvY2F0aW9uKQotICAgIHsKLSAgICAgICAgdmFyIHNjcmlwdHMgPSBXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbC5zY3JpcHRzRm9yVVJMKHVybCk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc2NyaXB0cy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIHNjcmlwdCA9IHNj
cmlwdHNbaV07Ci0gICAgICAgICAgICBpZiAoc2NyaXB0LmxpbmVPZmZzZXQgPiByYXdMb2NhdGlv
bi5saW5lTnVtYmVyIHx8IChzY3JpcHQubGluZU9mZnNldCA9PT0gcmF3TG9jYXRpb24ubGluZU51
bWJlciAmJiBzY3JpcHQuY29sdW1uT2Zmc2V0ID4gcmF3TG9jYXRpb24uY29sdW1uTnVtYmVyKSkK
LSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlmIChzY3JpcHQuZW5kTGlu
ZSA8IHJhd0xvY2F0aW9uLmxpbmVOdW1iZXIgfHwgKHNjcmlwdC5lbmRMaW5lID09PSByYXdMb2Nh
dGlvbi5saW5lTnVtYmVyICYmIHNjcmlwdC5lbmRDb2x1bW4gPD0gcmF3TG9jYXRpb24uY29sdW1u
TnVtYmVyKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHJldHVybiBz
Y3JpcHQ7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgfSwKLQogICAgIF9k
ZWJ1Z2dlclJlc2V0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9zY3JpcHRNYXBw
aW5nLnJlc2V0KCk7CkBAIC03ODgsMTEgKzc2OCw5IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsUmVzb3VyY2VCaW5kaW5nLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAg
ICBfdWlTb3VyY2VDb2RlRm9yUmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlKQogICAgIHsKLSAg
ICAgICAgdmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNjcmlwdHNGb3JV
UkwocmVzb3VyY2UudXJsKVswXTsKLSAgICAgICAgaWYgKCFzY3JpcHQpCisgICAgICAgIHZhciBy
YXdMb2NhdGlvbiA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmNyZWF0ZVJhd0xvY2F0aW9u
QnlVUkwocmVzb3VyY2UudXJsLCAwLCAwKTsKKyAgICAgICAgaWYgKCFyYXdMb2NhdGlvbikKICAg
ICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSBuZXcgV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuTG9jYXRpb24oMCwgMCk7Ci0gICAgICAgIHJhd0xvY2F0
aW9uLnNjcmlwdElkID0gc2NyaXB0LnNjcmlwdElkOwogICAgICAgICB2YXIgdWlMb2NhdGlvbiA9
IHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKHJhd0xvY2F0
aW9uKTsKICAgICAgICAgcmV0dXJuIHVpTG9jYXRpb24gPyB1aUxvY2F0aW9uLnVpU291cmNlQ29k
ZSA6IG51bGw7CiAgICAgfSwKQEAgLTg4NywxNiArODY1LDE0IEBAIFdlYkluc3BlY3Rvci5EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLkxpbmtpZmllci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAg
ICAgbGlua2lmeUxvY2F0aW9uOiBmdW5jdGlvbihzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlciwgY2xhc3NlcykKICAgICB7Ci0gICAgICAgIHZhciByYXdMb2NhdGlvbiA9IG5ldyBX
ZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5Mb2NhdGlvbihsaW5lTnVtYmVyLCBjb2x1bW5OdW1i
ZXIgfHwgMCk7Ci0gICAgICAgIHZhciBzY3JpcHQgPSB0aGlzLl9tb2RlbC5fc2NyaXB0Rm9yVVJM
QW5kTG9jYXRpb24oc291cmNlVVJMLCByYXdMb2NhdGlvbik7Ci0gICAgICAgIGlmICghc2NyaXB0
KQorICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5j
cmVhdGVSYXdMb2NhdGlvbkJ5VVJMKHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVy
IHx8IDApOworICAgICAgICBpZiAoIXJhd0xvY2F0aW9uKQogICAgICAgICAgICAgcmV0dXJuIFdl
Ykluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05vZGUoc291cmNlVVJMLCBsaW5lTnVtYmVyLCBj
bGFzc2VzKTsKLSAgICAgICAgcmF3TG9jYXRpb24uc2NyaXB0SWQgPSBzY3JpcHQuc2NyaXB0SWQ7
CiAgICAgICAgIHJldHVybiB0aGlzLmxpbmtpZnlSYXdMb2NhdGlvbihyYXdMb2NhdGlvbiwgY2xh
c3Nlcyk7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkRl
YnVnZ2VyTW9kZWwuTG9jYXRpb259IHJhd0xvY2F0aW9uCisgICAgICogQHBhcmFtIHtEZWJ1Z2dl
ckFnZW50LkxvY2F0aW9ufSByYXdMb2NhdGlvbgogICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gY2xh
c3NlcwogICAgICAqLwogICAgIGxpbmtpZnlSYXdMb2NhdGlvbjogZnVuY3Rpb24ocmF3TG9jYXRp
b24sIGNsYXNzZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jhd1NvdXJjZUNvZGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Jhd1NvdXJjZUNvZGUuanMKaW5kZXggM2VkNGMzMDg4NTMwZmE3NjNmZDg3ZGNhY2M4MjU0ZmYy
ODA3MzkwMy4uNGMwNDYzNjRkY2E3ODMyMTMxMjk1ZWYyMGEyZDZhOWFjNzEyZDYwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SYXdTb3VyY2VDb2RlLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmF3U291cmNlQ29kZS5q
cwpAQCAtMTI5LDI1ICsxMjksNiBAQCBXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZS5wcm90b3R5
cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVt
YmVyCi0gICAgICogQHBhcmFtIHtudW1iZXI9fSBjb2x1bW5OdW1iZXIKLSAgICAgKiBAcmV0dXJu
IHtXZWJJbnNwZWN0b3IuU2NyaXB0fQotICAgICAqLwotICAgIF9zY3JpcHRGb3JSYXdMb2NhdGlv
bjogZnVuY3Rpb24obGluZU51bWJlciwgY29sdW1uTnVtYmVyKQotICAgIHsKLSAgICAgICAgdmFy
IGNsb3Nlc3RTY3JpcHQgPSB0aGlzLl9zY3JpcHRzWzBdOwotICAgICAgICBmb3IgKHZhciBpID0g
MTsgaSA8IHRoaXMuX3NjcmlwdHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBzY3Jp
cHQgPSB0aGlzLl9zY3JpcHRzW2ldOwotICAgICAgICAgICAgaWYgKHNjcmlwdC5saW5lT2Zmc2V0
ID4gbGluZU51bWJlciB8fCAoc2NyaXB0LmxpbmVPZmZzZXQgPT09IGxpbmVOdW1iZXIgJiYgc2Ny
aXB0LmNvbHVtbk9mZnNldCA+IGNvbHVtbk51bWJlcikpCi0gICAgICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgICAgICBpZiAoc2NyaXB0LmxpbmVPZmZzZXQgPiBjbG9zZXN0U2NyaXB0Lmxp
bmVPZmZzZXQgfHwKLSAgICAgICAgICAgICAgICAoc2NyaXB0LmxpbmVPZmZzZXQgPT09IGNsb3Nl
c3RTY3JpcHQubGluZU9mZnNldCAmJiBzY3JpcHQuY29sdW1uT2Zmc2V0ID4gY2xvc2VzdFNjcmlw
dC5jb2x1bW5PZmZzZXQpKQotICAgICAgICAgICAgICAgIGNsb3Nlc3RTY3JpcHQgPSBzY3JpcHQ7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNsb3Nlc3RTY3JpcHQ7Ci0gICAgfSwKLQotICAg
IC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlNjcmlwdH0gc2NyaXB0CiAgICAgICov
CiAgICAgZm9yY2VVcGRhdGVTb3VyY2VNYXBwaW5nOiBmdW5jdGlvbihzY3JpcHQpCkBAIC0zMzIs
OSArMzEzLDcgQEAgV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUuUGxhaW5Tb3VyY2VNYXBwaW5n
LnByb3RvdHlwZSA9IHsKICAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogZnVuY3Rpb24odWlT
b3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCiAgICAgewogICAgICAgICBjb25z
b2xlLmFzc2VydCh1aVNvdXJjZUNvZGUgPT09IHRoaXMuX3VpU291cmNlQ29kZUxpc3RbMF0pOwot
ICAgICAgICB2YXIgcmF3TG9jYXRpb24gPSB7IGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlcjogY29sdW1uTnVtYmVyIH07Ci0gICAgICAgIHJhd0xvY2F0aW9uLnNjcmlwdElkID0g
dGhpcy5fcmF3U291cmNlQ29kZS5fc2NyaXB0Rm9yUmF3TG9jYXRpb24ocmF3TG9jYXRpb24ubGlu
ZU51bWJlciwgcmF3TG9jYXRpb24uY29sdW1uTnVtYmVyKS5zY3JpcHRJZDsKLSAgICAgICAgcmV0
dXJuIC8qKiBAdHlwZSB7RGVidWdnZXJBZ2VudC5Mb2NhdGlvbn0gKi8gcmF3TG9jYXRpb247Cisg
ICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5jcmVhdGVSYXdMb2NhdGlv
bih0aGlzLl9yYXdTb3VyY2VDb2RlLl9zY3JpcHRzWzBdLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1i
ZXIpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTM2Niw4ICszNDUsOCBAQCBXZWJJbnNwZWN0b3Iu
UmF3U291cmNlQ29kZS5Gb3JtYXR0ZWRTb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAg
Ki8KICAgICByYXdMb2NhdGlvblRvVUlMb2NhdGlvbjogZnVuY3Rpb24ocmF3TG9jYXRpb24pCiAg
ICAgewotICAgICAgICB2YXIgbG9jYXRpb24gPSB0aGlzLl9tYXBwaW5nLm9yaWdpbmFsVG9Gb3Jt
YXR0ZWQocmF3TG9jYXRpb24pOwotICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5VSUxv
Y2F0aW9uKHRoaXMuX3VpU291cmNlQ29kZUxpc3RbMF0sIGxvY2F0aW9uLmxpbmVOdW1iZXIsIGxv
Y2F0aW9uLmNvbHVtbk51bWJlciB8fCAwKTsKKyAgICAgICAgdmFyIGxvY2F0aW9uID0gdGhpcy5f
bWFwcGluZy5vcmlnaW5hbFRvRm9ybWF0dGVkKHJhd0xvY2F0aW9uLmxpbmVOdW1iZXIsIHJhd0xv
Y2F0aW9uLmNvbHVtbk51bWJlcik7CisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlVJ
TG9jYXRpb24odGhpcy5fdWlTb3VyY2VDb2RlTGlzdFswXSwgbG9jYXRpb25bMF0sIGxvY2F0aW9u
WzFdKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0zNzksOSArMzU4LDggQEAgV2ViSW5zcGVjdG9y
LlJhd1NvdXJjZUNvZGUuRm9ybWF0dGVkU291cmNlTWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAg
dWlMb2NhdGlvblRvUmF3TG9jYXRpb246IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJl
ciwgY29sdW1uTnVtYmVyKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQodWlTb3VyY2VD
b2RlID09PSB0aGlzLl91aVNvdXJjZUNvZGVMaXN0WzBdKTsKLSAgICAgICAgdmFyIHJhd0xvY2F0
aW9uID0gdGhpcy5fbWFwcGluZy5mb3JtYXR0ZWRUb09yaWdpbmFsKG5ldyBXZWJJbnNwZWN0b3Iu
RGVidWdnZXJNb2RlbC5Mb2NhdGlvbihsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpKTsKLSAgICAg
ICAgcmF3TG9jYXRpb24uc2NyaXB0SWQgPSB0aGlzLl9yYXdTb3VyY2VDb2RlLl9zY3JpcHRGb3JS
YXdMb2NhdGlvbihyYXdMb2NhdGlvbi5saW5lTnVtYmVyLCByYXdMb2NhdGlvbi5jb2x1bW5OdW1i
ZXIpLnNjcmlwdElkOwotICAgICAgICByZXR1cm4gcmF3TG9jYXRpb247CisgICAgICAgIHZhciBs
b2NhdGlvbiA9IHRoaXMuX21hcHBpbmcuZm9ybWF0dGVkVG9PcmlnaW5hbChsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIpOworICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwu
Y3JlYXRlUmF3TG9jYXRpb24odGhpcy5fcmF3U291cmNlQ29kZS5fc2NyaXB0c1swXSwgbG9jYXRp
b25bMF0sIGxvY2F0aW9uWzFdKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC00MjksOSArNDA3LDgg
QEAgV2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGUuQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3Rv
dHlwZSA9IHsKICAgICAgKi8KICAgICB1aUxvY2F0aW9uVG9SYXdMb2NhdGlvbjogZnVuY3Rpb24o
dWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCiAgICAgewotICAgICAgICB2
YXIgcmF3TG9jYXRpb24gPSB0aGlzLl9tYXBwaW5nLnNvdXJjZUxvY2F0aW9uVG9Db21waWxlZExv
Y2F0aW9uKHVpU291cmNlQ29kZS51cmwsIGxpbmVOdW1iZXIpOwotICAgICAgICByYXdMb2NhdGlv
bi5zY3JpcHRJZCA9IHRoaXMuX3Jhd1NvdXJjZUNvZGUuX3NjcmlwdEZvclJhd0xvY2F0aW9uKHJh
d0xvY2F0aW9uLmxpbmVOdW1iZXIsIHJhd0xvY2F0aW9uLmNvbHVtbk51bWJlcikuc2NyaXB0SWQ7
Ci0gICAgICAgIHJldHVybiByYXdMb2NhdGlvbjsKKyAgICAgICAgdmFyIGxvY2F0aW9uID0gdGhp
cy5fbWFwcGluZy5zb3VyY2VMb2NhdGlvblRvQ29tcGlsZWRMb2NhdGlvbih1aVNvdXJjZUNvZGUu
dXJsLCBsaW5lTnVtYmVyKTsKKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1v
ZGVsLmNyZWF0ZVJhd0xvY2F0aW9uKHRoaXMuX3Jhd1NvdXJjZUNvZGUuX3NjcmlwdHNbMF0sIGxv
Y2F0aW9uWzBdLCBsb2NhdGlvblsxXSk7CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0ZXIuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlci5qcwppbmRl
eCAyOWU2N2I3YWZlOTI5YWRmZDMxODUyNTU0NGUxNDRlYmY3NjY4ZWQ3Li45MmVhNWMxNmY2YTI5
ZDZlZDVjNmEwYWNiNWY3MmMxMTJkNjFmMzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlci5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlci5qcwpAQCAtMzgsMTkgKzM4LDIw
IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRGb3JtYXR0ZXIgPSBmdW5jdGlvbigpCiAKIC8qKgogICog
QHBhcmFtIHtBcnJheS48bnVtYmVyPn0gbGluZUVuZGluZ3MKLSAqIEBwYXJhbSB7RGVidWdnZXJB
Z2VudC5Mb2NhdGlvbn0gbG9jYXRpb24KKyAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisg
KiBAcGFyYW0ge251bWJlcn0gY29sdW1uTnVtYmVyCiAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgKi8K
LVdlYkluc3BlY3Rvci5TY3JpcHRGb3JtYXR0ZXIubG9jYXRpb25Ub1Bvc2l0aW9uID0gZnVuY3Rp
b24obGluZUVuZGluZ3MsIGxvY2F0aW9uKQorV2ViSW5zcGVjdG9yLlNjcmlwdEZvcm1hdHRlci5s
b2NhdGlvblRvUG9zaXRpb24gPSBmdW5jdGlvbihsaW5lRW5kaW5ncywgbGluZU51bWJlciwgY29s
dW1uTnVtYmVyKQogewotICAgIHZhciBwb3NpdGlvbiA9IGxvY2F0aW9uLmxpbmVOdW1iZXIgPyBs
aW5lRW5kaW5nc1tsb2NhdGlvbi5saW5lTnVtYmVyIC0gMV0gKyAxIDogMDsKLSAgICByZXR1cm4g
cG9zaXRpb24gKyBsb2NhdGlvbi5jb2x1bW5OdW1iZXI7CisgICAgdmFyIHBvc2l0aW9uID0gbGlu
ZU51bWJlciA/IGxpbmVFbmRpbmdzW2xpbmVOdW1iZXIgLSAxXSArIDEgOiAwOworICAgIHJldHVy
biBwb3NpdGlvbiArIGNvbHVtbk51bWJlcjsKIH0KIAogLyoqCiAgKiBAcGFyYW0ge0FycmF5Ljxu
dW1iZXI+fSBsaW5lRW5kaW5ncwogICogQHBhcmFtIHtudW1iZXJ9IHBvc2l0aW9uCi0gKiBAcmV0
dXJuIHtEZWJ1Z2dlckFnZW50LkxvY2F0aW9ufQorICogQHJldHVybiB7QXJyYXkuPG51bWJlcj59
CiAgKi8KIFdlYkluc3BlY3Rvci5TY3JpcHRGb3JtYXR0ZXIucG9zaXRpb25Ub0xvY2F0aW9uID0g
ZnVuY3Rpb24obGluZUVuZGluZ3MsIHBvc2l0aW9uKQogewpAQCAtNTksNyArNjAsNyBAQCBXZWJJ
bnNwZWN0b3IuU2NyaXB0Rm9ybWF0dGVyLnBvc2l0aW9uVG9Mb2NhdGlvbiA9IGZ1bmN0aW9uKGxp
bmVFbmRpbmdzLCBwb3NpdGlvbgogICAgICAgICB2YXIgY29sdW1uTnVtYmVyID0gcG9zaXRpb247
CiAgICAgZWxzZQogICAgICAgICB2YXIgY29sdW1uTnVtYmVyID0gcG9zaXRpb24gLSBsaW5lRW5k
aW5nc1tsaW5lTnVtYmVyIC0gMV0gLSAxOwotICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyTW9kZWwuTG9jYXRpb24obGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICByZXR1
cm4gW2xpbmVOdW1iZXIsIGNvbHVtbk51bWJlcl07CiB9CiAKIFdlYkluc3BlY3Rvci5TY3JpcHRG
b3JtYXR0ZXIucHJvdG90eXBlID0gewpAQCAtMTI3LDIzICsxMjgsMjUgQEAgV2ViSW5zcGVjdG9y
LkZvcm1hdHRlZFNvdXJjZU1hcHBpbmcgPSBmdW5jdGlvbihvcmlnaW5hbExpbmVFbmRpbmdzLCBm
b3JtYXR0ZWRMaW4KIAogV2ViSW5zcGVjdG9yLkZvcm1hdHRlZFNvdXJjZU1hcHBpbmcucHJvdG90
eXBlID0gewogICAgIC8qKgotICAgICAqIEBwYXJhbSB7RGVidWdnZXJBZ2VudC5Mb2NhdGlvbn0g
bG9jYXRpb24KLSAgICAgKiBAcmV0dXJuIHtEZWJ1Z2dlckFnZW50LkxvY2F0aW9ufQorICAgICAq
IEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisgICAgICogQHBhcmFtIHtudW1iZXJ9IGNvbHVt
bk51bWJlcgorICAgICAqIEByZXR1cm4ge0FycmF5LjxudW1iZXI+fQogICAgICAqLwotICAgIG9y
aWdpbmFsVG9Gb3JtYXR0ZWQ6IGZ1bmN0aW9uKGxvY2F0aW9uKQorICAgIG9yaWdpbmFsVG9Gb3Jt
YXR0ZWQ6IGZ1bmN0aW9uKGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikKICAgICB7Ci0gICAgICAg
IHZhciBvcmlnaW5hbFBvc2l0aW9uID0gV2ViSW5zcGVjdG9yLlNjcmlwdEZvcm1hdHRlci5sb2Nh
dGlvblRvUG9zaXRpb24odGhpcy5fb3JpZ2luYWxMaW5lRW5kaW5ncywgbG9jYXRpb24pOworICAg
ICAgICB2YXIgb3JpZ2luYWxQb3NpdGlvbiA9IFdlYkluc3BlY3Rvci5TY3JpcHRGb3JtYXR0ZXIu
bG9jYXRpb25Ub1Bvc2l0aW9uKHRoaXMuX29yaWdpbmFsTGluZUVuZGluZ3MsIGxpbmVOdW1iZXIs
IGNvbHVtbk51bWJlcik7CiAgICAgICAgIHZhciBmb3JtYXR0ZWRQb3NpdGlvbiA9IHRoaXMuX2Nv
bnZlcnRQb3NpdGlvbih0aGlzLl9tYXBwaW5nLm9yaWdpbmFsLCB0aGlzLl9tYXBwaW5nLmZvcm1h
dHRlZCwgb3JpZ2luYWxQb3NpdGlvbik7CiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuU2Ny
aXB0Rm9ybWF0dGVyLnBvc2l0aW9uVG9Mb2NhdGlvbih0aGlzLl9mb3JtYXR0ZWRMaW5lRW5kaW5n
cywgZm9ybWF0dGVkUG9zaXRpb24pOwogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0g
e0RlYnVnZ2VyQWdlbnQuTG9jYXRpb259IGxvY2F0aW9uCi0gICAgICogQHJldHVybiB7RGVidWdn
ZXJBZ2VudC5Mb2NhdGlvbn0KKyAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgorICAg
ICAqIEBwYXJhbSB7bnVtYmVyfSBjb2x1bW5OdW1iZXIKKyAgICAgKiBAcmV0dXJuIHtBcnJheS48
bnVtYmVyPn0KICAgICAgKi8KLSAgICBmb3JtYXR0ZWRUb09yaWdpbmFsOiBmdW5jdGlvbihsb2Nh
dGlvbikKKyAgICBmb3JtYXR0ZWRUb09yaWdpbmFsOiBmdW5jdGlvbihsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIpCiAgICAgewotICAgICAgICB2YXIgZm9ybWF0dGVkUG9zaXRpb24gPSBXZWJJbnNw
ZWN0b3IuU2NyaXB0Rm9ybWF0dGVyLmxvY2F0aW9uVG9Qb3NpdGlvbih0aGlzLl9mb3JtYXR0ZWRM
aW5lRW5kaW5ncywgbG9jYXRpb24pOworICAgICAgICB2YXIgZm9ybWF0dGVkUG9zaXRpb24gPSBX
ZWJJbnNwZWN0b3IuU2NyaXB0Rm9ybWF0dGVyLmxvY2F0aW9uVG9Qb3NpdGlvbih0aGlzLl9mb3Jt
YXR0ZWRMaW5lRW5kaW5ncywgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKICAgICAgICAgdmFy
IG9yaWdpbmFsUG9zaXRpb24gPSB0aGlzLl9jb252ZXJ0UG9zaXRpb24odGhpcy5fbWFwcGluZy5m
b3JtYXR0ZWQsIHRoaXMuX21hcHBpbmcub3JpZ2luYWwsIGZvcm1hdHRlZFBvc2l0aW9uKTsKICAg
ICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5TY3JpcHRGb3JtYXR0ZXIucG9zaXRpb25Ub0xvY2F0
aW9uKHRoaXMuX29yaWdpbmFsTGluZUVuZGluZ3MsIG9yaWdpbmFsUG9zaXRpb24pOwogICAgIH0s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMzU1OWQyMDc1ZjUyMjhkNDdiMjliZTdkMmNmZDZlYjk3MDIyZDgyZS4uMTJiOTEw
YWE3MDRiMDlmY2E1NThiZGI5OTI2YTA0MjA3OWU0ODdiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDEyLTAzLTEyICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERlYnVnZ2VyTW9kZWwuTG9jYXRpb24gc2hvdWxkIGhh
dmUgc2NyaXB0SWQgcHJvcGVydHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDgzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1hcHBp
bmcuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0Lmpz
OgorICAgICAgICAoaW5pdGlhbGl6ZV9EZWJ1Z2dlclRlc3QpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tY29uY2F0ZW5hdGVkLXNjcmlwdC5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tc2NyaXB0Lmh0
bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMuaHRtbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvbGlua2lmaWVyLmh0bWw6CisgICAgICAgICog
aW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1sOgorICAgICAgICAqIGluc3Bl
Y3Rvci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLmh0bWw6CisKIDIwMTItMDMtMTEgIFBhdmVs
IFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogZGVjb3VwbGUgTGl2ZUxvY2F0aW9uIGZyb20gUmF3U291cmNlQ29kZS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNvdXJjZS1tYXBw
aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zb3Vy
Y2UtbWFwcGluZy5odG1sCmluZGV4IDQyNDVjMzE3OWY2NjBmOWExYTJlMTQ0MTYxZWZhZDgzMGUw
NjQwY2UuLjZkMjQ0Zjg5OWI4OWE0ODNlZDg3MjQzOGNlYmVlMGEzZDEzYzM1NWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNvdXJjZS1tYXBw
aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXIt
c291cmNlLW1hcHBpbmcuaHRtbApAQCAtMTcsOCArMTcsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAg
ICBmdW5jdGlvbiBjaGVja1JldmVyc2VNYXBwaW5nKGNvbXBpbGVkTGluZU51bWJlciwgY29tcGls
ZWRDb2x1bW5OdW1iZXIsIHNvdXJjZVVSTCwgc291cmNlTGluZU51bWJlciwgbWFwcGluZykKICAg
ICB7CiAgICAgICAgIHZhciBjb21waWxlZExvY2F0aW9uID0gbWFwcGluZy5zb3VyY2VMb2NhdGlv
blRvQ29tcGlsZWRMb2NhdGlvbihzb3VyY2VVUkwsIHNvdXJjZUxpbmVOdW1iZXIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhjb21waWxlZExpbmVOdW1iZXIsIGNvbXBpbGVk
TG9jYXRpb24ubGluZU51bWJlcik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxz
KGNvbXBpbGVkQ29sdW1uTnVtYmVyLCBjb21waWxlZExvY2F0aW9uLmNvbHVtbk51bWJlcik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKGNvbXBpbGVkTGluZU51bWJlciwgY29t
cGlsZWRMb2NhdGlvblswXSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKGNv
bXBpbGVkQ29sdW1uTnVtYmVyLCBjb21waWxlZExvY2F0aW9uWzFdKTsKICAgICB9CiAKICAgICBJ
bnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcwppbmRleCBmOGMxZTE3ZDBlOGY1YjkyN2Q2NTdj
OWRmNGZiMzY3ZjZkNjIwYTE4Li5kY2M4ODdmMjk2NGY4ZjBhNTAwNmY3MDkwMzM4NDljYmY5M2Ez
ZTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
LXRlc3QuanMKQEAgLTI3MSw0ICsyNzEsMTUgQEAgSW5zcGVjdG9yVGVzdC5zZXRRdWlldCA9IGZ1
bmN0aW9uKHF1aWV0KQogICAgIEluc3BlY3RvclRlc3QuX3F1aWV0ID0gcXVpZXQ7CiB9OwogCitJ
bnNwZWN0b3JUZXN0LnF1ZXJ5U2NyaXB0cyA9IGZ1bmN0aW9uKGZpbHRlcikKK3sKKyAgICB2YXIg
c2NyaXB0cyA9IFtdOworICAgIGZvciAodmFyIHNjcmlwdElkIGluIFdlYkluc3BlY3Rvci5kZWJ1
Z2dlck1vZGVsLl9zY3JpcHRzKSB7CisgICAgICAgIHZhciBzY3JpcHQgPSBXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbC5fc2NyaXB0c1tzY3JpcHRJZF07CisgICAgICAgIGlmIChmaWx0ZXIoc2Ny
aXB0KSkKKyAgICAgICAgICAgIHNjcmlwdHMucHVzaChzY3JpcHQpOworICAgIH0KKyAgICByZXR1
cm4gc2NyaXB0czsKK307CisKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLWluLWNvbmNhdGVuYXRlZC1zY3JpcHQuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tY29uY2F0ZW5h
dGVkLXNjcmlwdC5odG1sCmluZGV4IDc2NDhmMzBlMTE5M2Y4MzM1YmFhYWRmZmI0OTBmYmI1OWQw
ZGRmZTMuLjk3ZGFhYTc3MjVkMTk0YzRiNmJiMGIzOTM1YWYwYTRhNzkzMGZkMzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9zZWFyY2gtaW4tY29u
Y2F0ZW5hdGVkLXNjcmlwdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3NlYXJjaC9zZWFyY2gtaW4tY29uY2F0ZW5hdGVkLXNjcmlwdC5odG1sCkBAIC0yNCw3ICsy
NCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9uIHN0ZXAzKCkKICAgICB7CiAgICAg
ICAgIHZhciB1cmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVz
b3VyY2VzL3NlYXJjaC1jb25jYXRlbmF0ZWQuaHRtbCI7Ci0gICAgICAgIHZhciBzY3JpcHRzID0g
V2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuc2NyaXB0c0ZvclVSTCh1cmwpOworICAgICAgICB2
YXIgc2NyaXB0cyA9IEluc3BlY3RvclRlc3QucXVlcnlTY3JpcHRzKGZ1bmN0aW9uKHMpIHsgcmV0
dXJuIHMuc291cmNlVVJMID09PSB1cmw7IH0pOwogICAgICAgICB2YXIgY29udGVudFByb3ZpZGVy
ID0gbmV3IFdlYkluc3BlY3Rvci5Db25jYXRlbmF0ZWRTY3JpcHRzQ29udGVudFByb3ZpZGVyKHNj
cmlwdHMpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh1cmwpOwogICAgICAgICBj
b250ZW50UHJvdmlkZXIuc2VhcmNoSW5Db250ZW50KHRleHQsIGZhbHNlLCBmYWxzZSwgc3RlcDQp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3Nl
YXJjaC1pbi1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Nl
YXJjaC9zZWFyY2gtaW4tc2NyaXB0Lmh0bWwKaW5kZXggNTliMjJhMjZiNTliZjIxZDk2MDhjZWNh
NDIxOTZlNzk1MGJjMjlmNi4uOTg5Y2IwY2I0MzIzNmZjZmU0NWY2YTYyZDJmZjUwMmUzNTY4MDVi
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3Nl
YXJjaC1pbi1zY3JpcHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9zZWFyY2gvc2VhcmNoLWluLXNjcmlwdC5odG1sCkBAIC0yMiw3ICsyMiw4IEBAIGZ1bmN0aW9u
IHRlc3QoKQogCiAgICAgZnVuY3Rpb24gc3RlcDMoKQogICAgIHsKLSAgICAgICAgdmFyIHNjcmlw
dHMgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zY3JpcHRzRm9yVVJMKCJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzIik7CisgICAg
ICAgIHZhciB1cmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVz
b3VyY2VzL3NlYXJjaC5qcyI7CisgICAgICAgIHZhciBzY3JpcHRzID0gSW5zcGVjdG9yVGVzdC5x
dWVyeVNjcmlwdHMoZnVuY3Rpb24ocykgeyByZXR1cm4gcy5zb3VyY2VVUkwgPT09IHVybDsgfSk7
CiAgICAgICAgIHNjcmlwdCA9IHNjcmlwdHNbMF07CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KHNjcmlwdC5zb3VyY2VVUkwpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXIvZGVidWdnZXItc2NyaXB0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMuaHRtbAppbmRleCA5ZGViNjkyMDM3NWJlNmJh
ODZjOWU0YTIyNzEzOWQ5M2M3ZjU3MDQyLi41Y2RiOTMwYTdlOTA2ZTQ4NWE5NjlmZWNjOTc0NjI1
OGM0ZTliNjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvZGVi
dWdnZXItc2NyaXB0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9k
ZWJ1Z2dlci1zY3JpcHRzLmh0bWwKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAK
ICAgICBmdW5jdGlvbiBzdGVwMSgpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbC5xdWVyeVNjcmlwdHMoZnVuY3Rpb24oc2NyaXB0KSB7IHN0ZXAyKHsgZGF0YTogc2Ny
aXB0IH0pIH0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LnF1ZXJ5U2NyaXB0cyhmdW5jdGlvbihz
Y3JpcHQpIHsgc3RlcDIoeyBkYXRhOiBzY3JpcHQgfSkgfSk7CiAgICAgICAgIFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9k
ZWwuRXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJjZSwgc3RlcDIpOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2xpbmtpZmllci5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2xpbmtpZmllci5odG1sCmluZGV4IGIxMDM4YTAwNjVl
Zjk1YzM5NjI3Y2Q2Mjc4YjM4YWMyYTFjOWFkMWUuLmZmZmI1OWEyM2YxYWI2N2Q5YzVmOTBmODY0
NGE1YmFiODE0MWFmMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9saW5raWZpZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvbGlu
a2lmaWVyLmh0bWwKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KIAotICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5xdWVy
eVNjcmlwdHMoZnVuY3Rpb24oc2NyaXB0KSB7IHNjcmlwdEFkZGVkKHsgZGF0YTogc2NyaXB0IH0p
IH0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LnF1ZXJ5U2NyaXB0cyhmdW5jdGlvbihzY3JpcHQp
IHsgc2NyaXB0QWRkZWQoeyBkYXRhOiBzY3JpcHQgfSkgfSk7CiAgICAgICAgIFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9k
ZWwuRXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJjZSwgc2NyaXB0QWRkZWQpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1s
CmluZGV4IDA3YjlmMWMwOTQ5OWI5NjViOGU2YzI5YzA5OWM5OTY3ZGE1MWE4NTEuLmVmMjhkNWQ5
NDUyNGE5Mjg0Zjg5ZDViMjU0YTAwMWZlMGNkNzM2NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvcmF3LXNvdXJjZS1jb2RlLmh0bWwKQEAgLTExLDggKzExLDkg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHZhciBsaW5lQ291bnQgPSBzb3VyY2UubGluZUVu
ZGluZ3MoKS5sZW5ndGg7CiAgICAgICAgIHZhciBlbmRMaW5lID0gc3RhcnRMaW5lICsgbGluZUNv
dW50IC0gMTsKICAgICAgICAgdmFyIGVuZENvbHVtbiA9IGxpbmVDb3VudCA9PT0gMSA/IHN0YXJ0
Q29sdW1uICsgc291cmNlLmxlbmd0aCA6IHNvdXJjZS5sZW5ndGggLSBzb3VyY2UubGluZUVuZGlu
Z3MoKVtsaW5lQ291bnQgLSAyXTsKLSAgICAgICAgdmFyIHNjcmlwdCA9IG5ldyBXZWJJbnNwZWN0
b3IuU2NyaXB0KG51bGwsIHVybCwgc3RhcnRMaW5lLCBzdGFydENvbHVtbiwgZW5kTGluZSwgZW5k
Q29sdW1uLCBpc0NvbnRlbnRTY3JpcHQpOworICAgICAgICB2YXIgc2NyaXB0ID0gbmV3IFdlYklu
c3BlY3Rvci5TY3JpcHQoMSwgdXJsLCBzdGFydExpbmUsIHN0YXJ0Q29sdW1uLCBlbmRMaW5lLCBl
bmRDb2x1bW4sIGlzQ29udGVudFNjcmlwdCk7CiAgICAgICAgIHNjcmlwdC5yZXF1ZXN0U291cmNl
ID0gZnVuY3Rpb24oY2FsbGJhY2spIHsgY2FsbGJhY2soc291cmNlKTsgfTsKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3NjcmlwdHNbMV0gPSBzY3JpcHQ7CiAgICAgICAgIHJl
dHVybiBzY3JpcHQ7CiAgICAgfQogCkBAIC0zMiwyNSArMzMsMTIgQEAgZnVuY3Rpb24gdGVzdCgp
CiAKICAgICBmdW5jdGlvbiBjcmVhdGVTY3JpcHRGb3JtYXR0ZXJNb2NrKCkKICAgICB7Ci0gICAg
ICAgIHZhciByYXdTb3VyY2VDb2RlID0gewotICAgICAgICAgICAgb3JpZ2luYWxUb0Zvcm1hdHRl
ZDogZnVuY3Rpb24obG9jYXRpb24pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFy
IGZvcm1hdHRlZExvY2F0aW9uID0ge307Ci0gICAgICAgICAgICAgICAgZm9ybWF0dGVkTG9jYXRp
b24ubGluZU51bWJlciA9IGxvY2F0aW9uLmxpbmVOdW1iZXIgKiAyOwotICAgICAgICAgICAgICAg
IGZvcm1hdHRlZExvY2F0aW9uLmNvbHVtbk51bWJlciA9IGxvY2F0aW9uLmNvbHVtbk51bWJlciAq
IDI7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZExvY2F0aW9uOwotICAgICAgICAg
ICAgfSwKLQotICAgICAgICAgICAgZm9ybWF0dGVkVG9PcmlnaW5hbDogZnVuY3Rpb24obG9jYXRp
b24pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIG9yaWdpbmFsTG9jYXRpb24g
PSB7fTsKLSAgICAgICAgICAgICAgICBvcmlnaW5hbExvY2F0aW9uLmxpbmVOdW1iZXIgPSBNYXRo
LmZsb29yKGxvY2F0aW9uLmxpbmVOdW1iZXIgLyAyKTsKLSAgICAgICAgICAgICAgICBvcmlnaW5h
bExvY2F0aW9uLmNvbHVtbk51bWJlciA9IE1hdGguZmxvb3IobG9jYXRpb24uY29sdW1uTnVtYmVy
IC8gMik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsTG9jYXRpb247Ci0gICAgICAg
ICAgICB9CisgICAgICAgIHZhciBtYXBwaW5nID0geworICAgICAgICAgICAgb3JpZ2luYWxUb0Zv
cm1hdHRlZDogZnVuY3Rpb24obGluZU51bWJlciwgY29sdW1uTnVtYmVyKSB7IHJldHVybiBbbGlu
ZU51bWJlciAqIDIsIGNvbHVtbk51bWJlciAqIDJdOyB9LAorICAgICAgICAgICAgZm9ybWF0dGVk
VG9PcmlnaW5hbDogZnVuY3Rpb24obGluZU51bWJlciwgY29sdW1uTnVtYmVyKSB7IHJldHVybiBb
TWF0aC5mbG9vcihsaW5lTnVtYmVyIC8gMiksIE1hdGguZmxvb3IoY29sdW1uTnVtYmVyIC8gMild
OyB9CiAgICAgICAgIH07CiAgICAgICAgIHZhciBmb3JtYXR0ZXIgPSB7Ci0gICAgICAgICAgICBm
b3JtYXRDb250ZW50OiBmdW5jdGlvbihtaW1lVHlwZSwgY29udGVudCwgY2FsbGJhY2spIHsgZm9y
bWF0dGVyLl9jYWxsYmFjayA9IGNhbGxiYWNrLmJpbmQobnVsbCwgIjxmb3JtYXR0ZWQ+ICIgKyBj
b250ZW50LCByYXdTb3VyY2VDb2RlKTsgfSwKKyAgICAgICAgICAgIGZvcm1hdENvbnRlbnQ6IGZ1
bmN0aW9uKG1pbWVUeXBlLCBjb250ZW50LCBjYWxsYmFjaykgeyBmb3JtYXR0ZXIuX2NhbGxiYWNr
ID0gY2FsbGJhY2suYmluZChudWxsLCAiPGZvcm1hdHRlZD4gIiArIGNvbnRlbnQsIG1hcHBpbmcp
OyB9LAogICAgICAgICAgICAgZmluaXNoOiBmdW5jdGlvbigpIHsgZm9ybWF0dGVyLl9jYWxsYmFj
aygpOyB9CiAgICAgICAgIH07CiAgICAgICAgIHJldHVybiBmb3JtYXR0ZXI7CkBAIC04Nyw5ICs3
NSw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgZnVuY3Rpb24gY2hlY2tSYXdMb2NhdGlvbihz
Y3JpcHQsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgbG9jYXRpb24pCiAgICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhzY3JpcHQuc2NyaXB0SWQsIGxvY2F0aW9uLnNj
cmlwdElkKTsKKyAgICAgICAgLy9JbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhzY3JpcHQuc2Ny
aXB0SWQsIGxvY2F0aW9uLnNjcmlwdElkKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRF
cXVhbHMobGluZU51bWJlciwgbG9jYXRpb24ubGluZU51bWJlcik7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0RXF1YWxzKGNvbHVtbk51bWJlciwgbG9jYXRpb24uY29sdW1uTnVtYmVyKTsK
KyAgICAgICAgLy9JbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhjb2x1bW5OdW1iZXIsIGxvY2F0
aW9uLmNvbHVtbk51bWJlcik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gY2hlY2tVSUxvY2F0aW9u
KHVpU291cmNlQ29kZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBsb2NhdGlvbikKQEAgLTMz
OCw4ICszMjYsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgICAgICBzb3VyY2VMb2Nh
dGlvblRvQ29tcGlsZWRMb2NhdGlvbjogZnVuY3Rpb24oc291cmNlVVJMLCBsaW5lTnVtYmVyKQog
ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHNvdXJjZVVSTCA9PT0g
InNvdXJjZTEuanMiKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbGluZU51bWJl
cjogTWF0aC5mbG9vcihsaW5lTnVtYmVyIC8gMiksIGNvbHVtbk51bWJlcjogMCB9OwotICAgICAg
ICAgICAgICAgICAgICByZXR1cm4geyBsaW5lTnVtYmVyOiBNYXRoLmZsb29yKGxpbmVOdW1iZXIg
LyAyKSArIDEwLCBjb2x1bW5OdW1iZXI6IDAgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBbTWF0aC5mbG9vcihsaW5lTnVtYmVyIC8gMiksIDBdOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gW01hdGguZmxvb3IobGluZU51bWJlciAvIDIpICsgMTAsIDBdOwogICAgICAgICAg
ICAgICAgIH0sCiAgICAgICAgICAgICAgICAgc291cmNlczogZnVuY3Rpb24oKSB7IHJldHVybiBb
InNvdXJjZTEuanMiLCAic291cmNlMi5qcyJdOyB9LAogICAgICAgICAgICAgICAgIGxvYWQ6IGZ1
bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci5odG1sCmluZGV4IGZjMTdhZmZkNmI0Yzg3MjI1
OGU3MWIyOGU3NWFmN2QyMGYzYzFkMzQuLjc2Y2UzZTY1YzQ2NDVkMTU3YTEzNGE5Y2FjYTc2OGU2
MzFhNjlkZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3Jp
cHQtZm9ybWF0dGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Nj
cmlwdC1mb3JtYXR0ZXIuaHRtbApAQCAtNDksOCArNDksOCBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9u
KCkKICAgICAgICAgICAgICAgICAgICAgdmFyIG9yaWdpbmFsUG9zaXRpb24gPSBzb3VyY2UuaW5k
ZXhPZihzdHJpbmcpOwogICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRy
dWUob3JpZ2luYWxQb3NpdGlvbiAhPT0gLTEpOwogICAgICAgICAgICAgICAgICAgICB2YXIgb3Jp
Z2luYWxMb2NhdGlvbiA9IFdlYkluc3BlY3Rvci5TY3JpcHRGb3JtYXR0ZXIucG9zaXRpb25Ub0xv
Y2F0aW9uKHNvdXJjZS5saW5lRW5kaW5ncygpLCBvcmlnaW5hbFBvc2l0aW9uKTsKLSAgICAgICAg
ICAgICAgICAgICAgdmFyIGZvcm1hdHRlZExvY2F0aW9uID0gbWFwcGluZy5vcmlnaW5hbFRvRm9y
bWF0dGVkKG9yaWdpbmFsTG9jYXRpb24pOwotICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybWF0
dGVkUG9zaXRpb24gPSBXZWJJbnNwZWN0b3IuU2NyaXB0Rm9ybWF0dGVyLmxvY2F0aW9uVG9Qb3Np
dGlvbihmb3JtYXR0ZWRTb3VyY2UubGluZUVuZGluZ3MoKSwgZm9ybWF0dGVkTG9jYXRpb24pOwor
ICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybWF0dGVkTG9jYXRpb24gPSBtYXBwaW5nLm9yaWdp
bmFsVG9Gb3JtYXR0ZWQob3JpZ2luYWxMb2NhdGlvblswXSwgb3JpZ2luYWxMb2NhdGlvblsxXSk7
CisgICAgICAgICAgICAgICAgICAgIHZhciBmb3JtYXR0ZWRQb3NpdGlvbiA9IFdlYkluc3BlY3Rv
ci5TY3JpcHRGb3JtYXR0ZXIubG9jYXRpb25Ub1Bvc2l0aW9uKGZvcm1hdHRlZFNvdXJjZS5saW5l
RW5kaW5ncygpLCBmb3JtYXR0ZWRMb2NhdGlvblswXSwgZm9ybWF0dGVkTG9jYXRpb25bMV0pOwog
ICAgICAgICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWRGb3JtYXR0ZWRQb3NpdGlvbiA9IGZvcm1h
dHRlZFNvdXJjZS5pbmRleE9mKHN0cmluZyk7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0RXF1YWxzKGV4cGVjdGVkRm9ybWF0dGVkUG9zaXRpb24sIGZvcm1hdHRlZFBv
c2l0aW9uLCAid3JvbmcgbWFwcGluZyBmb3IgPCIgKyBzdHJpbmcgKyAiPiIpOwogICAgICAgICAg
ICAgICAgIH0K
</data>
<flag name="review"
          id="134600"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>