<?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>52300</bug_id>
          
          <creation_ts>2011-01-12 09:06:38 -0800</creation_ts>
          <short_desc>Web Inspector: breakpoints are restored incorrectly when reverting live edit</short_desc>
          <delta_ts>2011-01-21 03:59:57 -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>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>333111</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-01-12 09:06:38 -0800</bug_when>
    <thetext>* fix breakpoints restoring when reverting to old revision by using text diff
* move live edit logic from ScriptsPanel to DebuggerModel
* eliminate unnecessary editLine delegate in TextViewer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333113</commentid>
    <comment_count>1</comment_count>
      <attachid>78697</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-01-12 09:09:38 -0800</bug_when>
    <thetext>Created attachment 78697
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337996</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-01-21 03:59:57 -0800</bug_when>
    <thetext>Committed r76341: &lt;http://trac.webkit.org/changeset/76341&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78697</attachid>
            <date>2011-01-12 09:09:38 -0800</date>
            <delta_ts>2011-01-21 02:12:44 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>21999</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MTExYmE0Li4yYzM1NzY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMg
QEAKKzIwMTEtMDEtMTIgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogYnJlYWtwb2ludHMgYXJlIHJlc3RvcmVkIGluY29ycmVjdGx5IHdoZW4gcmV2ZXJ0
aW5nIGxpdmUgZWRpdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTUyMzAwCisKKyAgICAgICAgRml4IGJyZWFrcG9pbnRzIHJlc3RvcmluZyB3aGVuIHJl
dmVydGluZyB0byBvbGQgcmV2aXNpb24gYnkgdXNpbmcgdGV4dCBkaWZmLgorICAgICAgICBNb3Zl
IGxpdmUgZWRpdCBsb2dpYyBmcm9tIFNjcmlwdHNQYW5lbCB0byBEZWJ1Z2dlck1vZGVsLgorICAg
ICAgICBFbGltaW5hdGUgdW5uZWNlc3NhcnkgZWRpdExpbmUgZGVsZWdhdGUgaW4gVGV4dFZpZXdl
ci4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGVidWdnZXJNb2RlbC5wcm90b3R5cGUuZWRpdFNjcmlwdFNvdXJjZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUuX3VwZGF0ZVNjcmlwdFNvdXJjZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUuZ2V0IGNhbGxGcmFt
ZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLnBhdXNl
ZFNjcmlwdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUu
cmVzdW1lZFNjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHQuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0LnByb3RvdHlwZS5nZXQgc291cmNlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdFZpZXcuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0Vmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3Jp
cHRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9zY3JpcHRTb3VyY2VDaGFu
Z2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
b3VyY2VGcmFtZS5wcm90b3R5cGUuX2NyZWF0ZVZpZXdlcklmTmVlZGVkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX2RvdWJsZUNsaWNrLmRpZEVkaXRMaW5l
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX2RvdWJsZUNs
aWNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVZpZXcuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU291cmNlVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9UZXh0Vmlld2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXIpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXIucHJvdG90eXBlLl9oYW5kbGVLZXlEb3du
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyLnByb3RvdHlwZS5lZGl0TGluZS5m
aW5pc2hFZGl0aW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyLnByb3RvdHlw
ZS5lZGl0TGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dENodW5rLnByb3RvdHlwZS5f
Y3JlYXRlUm93KToKKwogMjAxMS0wMS0xMiAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKaW5k
ZXggNWFiMGUyZC4uMzQ3Nzg2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcwpAQCAtMzMsNiArMzMsNyBAQCBXZWJJbnNwZWN0
b3IuRGVidWdnZXJNb2RlbCA9IGZ1bmN0aW9uKCkKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyRG9tYWluRGlzcGF0Y2hlcigiRGVidWdnZXIiLCB0aGlzKTsKIAogICAgIHRoaXMuX3BhdXNl
ZCA9IGZhbHNlOworICAgIHRoaXMuX2NhbGxGcmFtZXMgPSBbXTsKICAgICB0aGlzLl9icmVha3Bv
aW50cyA9IHt9OwogICAgIHRoaXMuX3NvdXJjZUlEQW5kTGluZVRvQnJlYWtwb2ludElkID0ge307
CiAgICAgdGhpcy5fc2NyaXB0cyA9IHt9OwpAQCAtNDMsNiArNDQsNyBAQCBXZWJJbnNwZWN0b3Iu
RGVidWdnZXJNb2RlbC5FdmVudHMgPSB7CiAgICAgRGVidWdnZXJSZXN1bWVkOiAiZGVidWdnZXIt
cmVzdW1lZCIsCiAgICAgUGFyc2VkU2NyaXB0U291cmNlOiAicGFyc2VkLXNjcmlwdC1zb3VyY2Ui
LAogICAgIEZhaWxlZFRvUGFyc2VTY3JpcHRTb3VyY2U6ICJmYWlsZWQtdG8tcGFyc2Utc2NyaXB0
LXNvdXJjZSIsCisgICAgU2NyaXB0U291cmNlQ2hhbmdlZDogInNjcmlwdC1zb3VyY2UtY2hhbmdl
ZCIsCiAgICAgQnJlYWtwb2ludEFkZGVkOiAiYnJlYWtwb2ludC1hZGRlZCIsCiAgICAgQnJlYWtw
b2ludFJlbW92ZWQ6ICJicmVha3BvaW50LXJlbW92ZWQiCiB9CkBAIC0xMzQsNiArMTM2LDcgQEAg
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlID0gewogICAgIHJlc2V0OiBmdW5j
dGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9wYXVzZWQgPSBmYWxzZTsKKyAgICAgICAgdGhp
cy5fY2FsbEZyYW1lcyA9IFtdOwogICAgICAgICB0aGlzLl9icmVha3BvaW50cyA9IHt9OwogICAg
ICAgICBkZWxldGUgdGhpcy5fb25lVGltZUJyZWFrcG9pbnQ7CiAgICAgICAgIHRoaXMuX3NvdXJj
ZUlEQW5kTGluZVRvQnJlYWtwb2ludElkID0ge307CkBAIC0xNjEsMTEgKzE2NCw2NiBAQCBXZWJJ
bnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBzY3Jp
cHRzOwogICAgIH0sCiAKKyAgICBlZGl0U2NyaXB0U291cmNlOiBmdW5jdGlvbihzb3VyY2VJRCwg
c2NyaXB0U291cmNlKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gZGlkRWRpdFNjcmlwdFNvdXJj
ZShzdWNjZXNzLCBuZXdCb2R5T3JFcnJvck1lc3NhZ2UsIGNhbGxGcmFtZXMpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7CisgICAgICAgICAgICAgICAgaWYgKGNhbGxGcmFt
ZXMgJiYgY2FsbEZyYW1lcy5sZW5ndGgpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NhbGxG
cmFtZXMgPSBjYWxsRnJhbWVzOworICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVNjcmlwdFNv
dXJjZShzb3VyY2VJRCwgbmV3Qm9keU9yRXJyb3JNZXNzYWdlKTsKKyAgICAgICAgICAgIH0gZWxz
ZQorICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5sb2cobmV3Qm9keU9yRXJyb3JNZXNzYWdl
LCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZUxldmVsLldhcm5pbmcpOworICAg
ICAgICB9CisgICAgICAgIEluc3BlY3RvckJhY2tlbmQuZWRpdFNjcmlwdFNvdXJjZShzb3VyY2VJ
RCwgc2NyaXB0U291cmNlLCBkaWRFZGl0U2NyaXB0U291cmNlLmJpbmQodGhpcykpOworICAgIH0s
CisKKyAgICBfdXBkYXRlU2NyaXB0U291cmNlOiBmdW5jdGlvbihzb3VyY2VJRCwgc2NyaXB0U291
cmNlKQorICAgIHsKKyAgICAgICAgdmFyIHNjcmlwdCA9IHRoaXMuX3NjcmlwdHNbc291cmNlSURd
OworICAgICAgICB2YXIgb2xkU291cmNlID0gc2NyaXB0LnNvdXJjZTsKKyAgICAgICAgc2NyaXB0
LnNvdXJjZSA9IHNjcmlwdFNvdXJjZTsKKworICAgICAgICAvLyBDbGVhciBhbmQgcmUtY3JlYXRl
IGJyZWFrcG9pbnRzIGFjY29yZGluZyB0byB0ZXh0IGRpZmYuCisgICAgICAgIHZhciBkaWZmID0g
QXJyYXkuZGlmZihvbGRTb3VyY2Uuc3BsaXQoIlxuIiksIHNjcmlwdC5zb3VyY2Uuc3BsaXQoIlxu
IikpOworICAgICAgICBmb3IgKHZhciBpZCBpbiB0aGlzLl9icmVha3BvaW50cykgeworICAgICAg
ICAgICAgdmFyIGJyZWFrcG9pbnQgPSB0aGlzLl9icmVha3BvaW50c1tpZF07CisgICAgICAgICAg
ICBpZiAoYnJlYWtwb2ludC5zb3VyY2VJRCAhPT0gc291cmNlSUQpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBicmVha3BvaW50LnJlbW92ZSgpOworICAgICAgICAgICAg
dmFyIGxpbmVOdW1iZXIgPSBicmVha3BvaW50LmxpbmUgLSAxOworICAgICAgICAgICAgdmFyIG5l
d0xpbmVOdW1iZXIgPSBkaWZmLmxlZnRbbGluZU51bWJlcl0ucm93OworICAgICAgICAgICAgaWYg
KG5ld0xpbmVOdW1iZXIgPT09IHVuZGVmaW5lZCkgeworICAgICAgICAgICAgICAgIGZvciAodmFy
IGkgPSBsaW5lTnVtYmVyIC0gMTsgaSA+PSAwOyAtLWkpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGRpZmYubGVmdFtpXS5yb3cgPT09IHVuZGVmaW5lZCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICB2YXIgc2hpZnRlZExpbmVOdW1iZXIg
PSBkaWZmLmxlZnRbaV0ucm93ICsgbGluZU51bWJlciAtIGk7CisgICAgICAgICAgICAgICAgICAg
IGlmIChzaGlmdGVkTGluZU51bWJlciA8IGRpZmYucmlnaHQubGVuZ3RoKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICB2YXIgb3JpZ2luYWxMaW5lTnVtYmVyID0gZGlmZi5yaWdodFtzaGlmdGVk
TGluZU51bWJlcl0ucm93OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdpbmFsTGlu
ZU51bWJlciA9PT0gbGluZU51bWJlciB8fCBvcmlnaW5hbExpbmVOdW1iZXIgPT09IHVuZGVmaW5l
ZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdMaW5lTnVtYmVyID0gc2hpZnRlZExp
bmVOdW1iZXI7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG5l
d0xpbmVOdW1iZXIgIT09IHVuZGVmaW5lZCkKKyAgICAgICAgICAgICAgICB0aGlzLnNldEJyZWFr
cG9pbnQoc291cmNlSUQsIG5ld0xpbmVOdW1iZXIgKyAxLCBicmVha3BvaW50LmVuYWJsZWQsIGJy
ZWFrcG9pbnQuY29uZGl0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5TY3JpcHRT
b3VyY2VDaGFuZ2VkLCB7IHNvdXJjZUlEOiBzb3VyY2VJRCwgb2xkU291cmNlOiBvbGRTb3VyY2Ug
fSk7CisgICAgfSwKKworICAgIGdldCBjYWxsRnJhbWVzKCkKKyAgICB7CisgICAgICAgIHJldHVy
biB0aGlzLl9jYWxsRnJhbWVzOworICAgIH0sCisKICAgICAvLyBBbGwgdGhlIG1ldGhvZHMgYmVs
b3cgYXJlIEluc3BlY3RvckJhY2tlbmQgbm90aWZpY2F0aW9uIGhhbmRsZXJzLgogCiAgICAgcGF1
c2VkU2NyaXB0OiBmdW5jdGlvbihkZXRhaWxzKQogICAgIHsKICAgICAgICAgdGhpcy5fcGF1c2Vk
ID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fY2FsbEZyYW1lcyA9IGRldGFpbHMuY2FsbEZyYW1lczsK
ICAgICAgICAgaWYgKCJfY29udGludWVUb0xpbmVCcmVha3BvaW50SWQiIGluIHRoaXMpIHsKICAg
ICAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVtb3ZlQnJlYWtwb2ludCh0aGlzLl9jb250aW51
ZVRvTGluZUJyZWFrcG9pbnRJZCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fY29udGludWVU
b0xpbmVCcmVha3BvaW50SWQ7CkBAIC0xODUsNiArMjQzLDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyTW9kZWwucHJvdG90eXBlID0gewogICAgIHJlc3VtZWRTY3JpcHQ6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHRoaXMuX3BhdXNlZCA9IGZhbHNlOworICAgICAgICB0aGlzLl9jYWxsRnJh
bWVzID0gW107CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5EZWJ1Z2dlclJlc3VtZWQpOwogCiAgICAgICAgIGlm
ICghdGhpcy5fbGFzdEhpdEJyZWFrcG9pbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0LmpzCmluZGV4IDUyN2RkOWQuLmJmZDllMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzCkBAIC03NSw2ICs3NSw4IEBAIFdl
Ykluc3BlY3Rvci5TY3JpcHQucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHNvdXJjZSgpCiAgICAg
eworICAgICAgICBpZiAoIXRoaXMuX3NvdXJjZSAmJiB0aGlzLnJlc291cmNlKQorICAgICAgICAg
ICAgdGhpcy5fc291cmNlID0gdGhpcy5yZXNvdXJjZS5jb250ZW50OwogICAgICAgICByZXR1cm4g
dGhpcy5fc291cmNlOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0Vmlldy5qcwppbmRleCBmMTM1NDc1Li44OTFjMjNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdFZpZXcuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRWaWV3LmpzCkBAIC0zMyw3
ICszMyw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRWaWV3ID0gZnVuY3Rpb24oc2NyaXB0KQogCiAg
ICAgdGhpcy5fZnJhbWVOZWVkc1NldHVwID0gdHJ1ZTsKICAgICB0aGlzLl9zb3VyY2VGcmFtZVNl
dHVwID0gZmFsc2U7Ci0gICAgdGhpcy5zb3VyY2VGcmFtZSA9IG5ldyBXZWJJbnNwZWN0b3IuU291
cmNlRnJhbWUodGhpcy5lbGVtZW50LCBbc2NyaXB0XSwgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3Jp
cHRzLmNhbkVkaXRTY3JpcHRzKCkpOworICAgIHRoaXMuc291cmNlRnJhbWUgPSBuZXcgV2ViSW5z
cGVjdG9yLlNvdXJjZUZyYW1lKHRoaXMuZWxlbWVudCwgW3NjcmlwdF0sIHRydWUpOwogfQogCiBX
ZWJJbnNwZWN0b3IuU2NyaXB0Vmlldy5wcm90b3R5cGUgPSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IGEwNDk3MGUuLjBj
YjA3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1BhbmVsLmpzCkBAIC00NCw2ICs0NCw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwg
PSBmdW5jdGlvbigpCiAgICAgdGhpcy5mb3J3YXJkQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiYnV0dG9uIik7CiAgICAgdGhpcy5mb3J3YXJkQnV0dG9uLmNsYXNzTmFtZSA9ICJzdGF0
dXMtYmFyLWl0ZW0iOwogICAgIHRoaXMuZm9yd2FyZEJ1dHRvbi5pZCA9ICJzY3JpcHRzLWZvcndh
cmQiOworCiAgICAgdGhpcy5mb3J3YXJkQnV0dG9uLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJTaG93IHRoZSBuZXh0IHNjcmlwdCByZXNvdXJjZS4iKTsKICAgICB0aGlzLmZvcndhcmRC
dXR0b24uZGlzYWJsZWQgPSB0cnVlOwogICAgIHRoaXMuZm9yd2FyZEJ1dHRvbi5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSk7CkBAIC0xNzksNiArMTgwLDcgQEAgV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9uKCkKIAogICAgIFdlYkluc3BlY3Rvci5k
ZWJ1Z2dlck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwu
RXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJjZSwgdGhpcy5fcGFyc2VkU2NyaXB0U291cmNlLCB0aGlz
KTsKICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5GYWlsZWRUb1BhcnNlU2NyaXB0U291cmNlLCB0
aGlzLl9mYWlsZWRUb1BhcnNlU2NyaXB0U291cmNlLCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVs
LkV2ZW50cy5TY3JpcHRTb3VyY2VDaGFuZ2VkLCB0aGlzLl9zY3JpcHRTb3VyY2VDaGFuZ2VkLCB0
aGlzKTsKICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5EZWJ1Z2dlclBhdXNlZCwgdGhpcy5fZGVi
dWdnZXJQYXVzZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkRlYnVnZ2VyUmVz
dW1lZCwgdGhpcy5fZGVidWdnZXJSZXN1bWVkLCB0aGlzKTsKIH0KQEAgLTI0OSw2ICsyNTEsMjcg
QEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMu
X2FkZFNjcmlwdChldmVudC5kYXRhKTsKICAgICB9LAogCisgICAgX3NjcmlwdFNvdXJjZUNoYW5n
ZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdmFyIHNvdXJjZUlEID0gZXZlbnQu
ZGF0YS5zb3VyY2VJRDsKKyAgICAgICAgdmFyIG9sZFNvdXJjZSA9IGV2ZW50LmRhdGEub2xkU291
cmNlOworCisgICAgICAgIHZhciBzY3JpcHQgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5z
Y3JpcHRGb3JTb3VyY2VJRChzb3VyY2VJRCk7CisgICAgICAgIHZhciBvbGRWaWV3ID0gc2NyaXB0
Ll9zY3JpcHRWaWV3OworICAgICAgICBpZiAob2xkVmlldykgeworICAgICAgICAgICAgc2NyaXB0
Ll9zY3JpcHRWaWV3ID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRWaWV3KHNjcmlwdCk7CisgICAg
ICAgICAgICB0aGlzLnZpZXdSZWNyZWF0ZWQob2xkVmlldywgc2NyaXB0Ll9zY3JpcHRWaWV3KTsK
KyAgICAgICAgfQorICAgICAgICBpZiAoc2NyaXB0LnJlc291cmNlKSB7CisgICAgICAgICAgICB2
YXIgcmV2ZXJ0SGFuZGxlID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuZWRpdFNjcmlwdFNv
dXJjZS5iaW5kKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLCBzb3VyY2VJRCwgb2xkU291cmNl
KTsKKyAgICAgICAgICAgIHNjcmlwdC5yZXNvdXJjZS5zZXRDb250ZW50KHNjcmlwdC5zb3VyY2Us
IHJldmVydEhhbmRsZSk7CisgICAgICAgIH0KKworICAgICAgICB2YXIgY2FsbEZyYW1lcyA9IFdl
Ykluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmNhbGxGcmFtZXM7CisgICAgICAgIGlmIChjYWxsRnJh
bWVzLmxlbmd0aCkKKyAgICAgICAgICAgIHRoaXMuX2RlYnVnZ2VyUGF1c2VkKHsgZGF0YTogeyBj
YWxsRnJhbWVzOiBjYWxsRnJhbWVzIH0gfSk7CisgICAgfSwKKwogICAgIF9hZGRTY3JpcHQ6IGZ1
bmN0aW9uKHNjcmlwdCkKICAgICB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rv
ci5yZXNvdXJjZUZvclVSTChzY3JpcHQuc291cmNlVVJMKTsKQEAgLTI4Nyw1MiArMzEwLDYgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGRlbGV0ZSBy
ZXNvdXJjZS5fc2NyaXB0c1BlbmRpbmdSZXNvdXJjZUxvYWQ7CiAgICAgfSwKIAotICAgIGNhbkVk
aXRTY3JpcHRzOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gUHJlZmVyZW5jZXMu
Y2FuRWRpdFNjcmlwdFNvdXJjZTsKLSAgICB9LAotCi0gICAgZWRpdFNjcmlwdFNvdXJjZTogZnVu
Y3Rpb24oZWRpdERhdGEsIHJldmVydEVkaXRpbmdDYWxsYmFjaywgY2FuY2VsRWRpdGluZ0NhbGxi
YWNrKQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLmNhbkVkaXRTY3JpcHRzKCkpCi0gICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgLy8gTmVlZCB0byBjbGVhciBicmVha3BvaW50cyBhbmQg
cmUtY3JlYXRlIHRoZW0gbGF0ZXIgd2hlbiBlZGl0aW5nIHNvdXJjZS4KLSAgICAgICAgdmFyIGJy
ZWFrcG9pbnRzID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwucXVlcnlCcmVha3BvaW50cyhm
dW5jdGlvbihiKSB7IHJldHVybiBiLnNvdXJjZUlEID09PSBlZGl0RGF0YS5zb3VyY2VJRCB9KTsK
LSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBicmVha3BvaW50cy5sZW5ndGg7ICsraSkKLSAg
ICAgICAgICAgIGJyZWFrcG9pbnRzW2ldLnJlbW92ZSgpOwotCi0gICAgICAgIGZ1bmN0aW9uIG15
Y2FsbGJhY2soc3VjY2VzcywgbmV3Qm9keU9yRXJyb3JNZXNzYWdlLCBjYWxsRnJhbWVzKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAoc3VjY2VzcykgewotICAgICAgICAgICAgICAgIHZhciBz
Y3JpcHQgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zY3JpcHRGb3JTb3VyY2VJRChlZGl0
RGF0YS5zb3VyY2VJRCk7Ci0gICAgICAgICAgICAgICAgc2NyaXB0LnNvdXJjZSA9IG5ld0JvZHlP
ckVycm9yTWVzc2FnZTsKLSAgICAgICAgICAgICAgICB2YXIgb2xkVmlldyA9IHNjcmlwdC5fc2Ny
aXB0VmlldwotICAgICAgICAgICAgICAgIGlmIChvbGRWaWV3KSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHNjcmlwdC5fc2NyaXB0VmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0VmlldyhzY3Jp
cHQpOwotICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdSZWNyZWF0ZWQob2xkVmlldywgc2Ny
aXB0Ll9zY3JpcHRWaWV3KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYg
KHNjcmlwdC5yZXNvdXJjZSkKLSAgICAgICAgICAgICAgICAgICAgc2NyaXB0LnJlc291cmNlLnNl
dENvbnRlbnQobmV3Qm9keU9yRXJyb3JNZXNzYWdlLCByZXZlcnRFZGl0aW5nQ2FsbGJhY2spOwot
Ci0gICAgICAgICAgICAgICAgaWYgKGNhbGxGcmFtZXMgJiYgY2FsbEZyYW1lcy5sZW5ndGgpCi0g
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2RlYnVnZ2VyUGF1c2VkKHsgZGF0YTogeyBjYWxsRnJh
bWVzOiBjYWxsRnJhbWVzIH0gfSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIGlmIChjYW5jZWxFZGl0aW5nQ2FsbGJhY2spCi0gICAgICAgICAgICAgICAgICAgIGNhbmNl
bEVkaXRpbmdDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5sb2cobmV3
Qm9keU9yRXJyb3JNZXNzYWdlLCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZUxl
dmVsLldhcm5pbmcpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBicmVha3BvaW50cy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIHZhciBicmVh
a3BvaW50ID0gYnJlYWtwb2ludHNbaV07Ci0gICAgICAgICAgICAgICAgdmFyIG5ld0xpbmUgPSBi
cmVha3BvaW50LmxpbmU7Ci0gICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MgJiYgYnJlYWtwb2lu
dC5saW5lID49IGVkaXREYXRhLmxpbmUpCi0gICAgICAgICAgICAgICAgICAgIG5ld0xpbmUgKz0g
ZWRpdERhdGEubGluZXNDb3VudFRvU2hpZnQ7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChlZGl0RGF0YS5zb3VyY2VJRCwgbmV3TGluZSwg
YnJlYWtwb2ludC5lbmFibGVkLCBicmVha3BvaW50LmNvbmRpdGlvbik7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIH07Ci0gICAgICAgIEluc3BlY3RvckJhY2tlbmQuZWRpdFNjcmlwdFNvdXJjZShl
ZGl0RGF0YS5zb3VyY2VJRCwgZWRpdERhdGEuY29udGVudCwgbXljYWxsYmFjay5iaW5kKHRoaXMp
KTsKLSAgICB9LAotCiAgICAgc2VsZWN0ZWRDYWxsRnJhbWVJZDogZnVuY3Rpb24oKQogICAgIHsK
ICAgICAgICAgdmFyIHNlbGVjdGVkQ2FsbEZyYW1lID0gdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0
YWNrLnNlbGVjdGVkQ2FsbEZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU291cmNlRnJhbWUuanMKaW5kZXggNDJjOThmNS4uZWExZDkzYTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwpAQCAt
MjgsMTMgKzI4LDEzIEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5Tb3Vy
Y2VGcmFtZSA9IGZ1bmN0aW9uKHBhcmVudEVsZW1lbnQsIHNjcmlwdHMsIGNhbkVkaXRTY3JpcHRz
KQorV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lID0gZnVuY3Rpb24ocGFyZW50RWxlbWVudCwgc2Ny
aXB0cywgaXNTY3JpcHQpCiB7CiAgICAgdGhpcy5fcGFyZW50RWxlbWVudCA9IHBhcmVudEVsZW1l
bnQ7CiAgICAgdGhpcy5fc2NyaXB0cyA9IHt9OwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2Ny
aXB0cy5sZW5ndGg7ICsraSkKICAgICAgICAgdGhpcy5fc2NyaXB0c1tzY3JpcHRzW2ldLnNvdXJj
ZUlEXSA9IHNjcmlwdHNbaV07Ci0gICAgdGhpcy5fY2FuRWRpdFNjcmlwdHMgPSBjYW5FZGl0U2Ny
aXB0czsKKyAgICB0aGlzLl9pc1NjcmlwdCA9IGlzU2NyaXB0OwogCiAgICAgdGhpcy5fdGV4dE1v
ZGVsID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwoKTsKICAgICB0aGlzLl90ZXh0
TW9kZWwucmVwbGFjZVRhYnNXaXRoU3BhY2VzID0gdHJ1ZTsKQEAgLTE5Miw2ICsxOTIsNyBAQCBX
ZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICBlbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX21vdXNlRG93bi5iaW5kKHRoaXMpLCB0
cnVlKTsKICAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCB0aGlz
Ll9tb3VzZU1vdmUuYmluZCh0aGlzKSwgdHJ1ZSk7CiAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigic2Nyb2xsIiwgdGhpcy5fc2Nyb2xsLmJpbmQodGhpcyksIHRydWUpOworICAgICAg
ICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIiwgdGhpcy5fZG91YmxlQ2xpY2su
YmluZCh0aGlzKSwgdHJ1ZSk7CiAgICAgICAgIHRoaXMuX3BhcmVudEVsZW1lbnQuYXBwZW5kQ2hp
bGQoZWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fdGV4dFZpZXdlci5iZWdpblVwZGF0ZXMoKTsK
QEAgLTIyOSw5ICsyMzAsNiBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlID0g
ewogICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5CcmVha3BvaW50QWRkZWQsIHRoaXMuX2Jy
ZWFrcG9pbnRBZGRlZCwgdGhpcyk7CiAKICAgICAgICAgdGhpcy5fdGV4dFZpZXdlci5lbmRVcGRh
dGVzKCk7Ci0KLSAgICAgICAgaWYgKHRoaXMuX2NhbkVkaXRTY3JpcHRzKQotICAgICAgICAgICAg
dGhpcy5fdGV4dFZpZXdlci5lZGl0Q2FsbGJhY2sgPSB0aGlzLl9lZGl0TGluZS5iaW5kKHRoaXMp
OwogICAgIH0sCiAKICAgICBmaW5kU2VhcmNoTWF0Y2hlczogZnVuY3Rpb24ocXVlcnksIGZpbmlz
aGVkQ2FsbGJhY2spCkBAIC03OTgsNDEgKzc5NiwzNCBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJh
bWUucHJvdG90eXBlID0gewogICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5jb250
aW51ZVRvTGluZShzb3VyY2VJRCwgbGluZU51bWJlcik7CiAgICAgfSwKIAotICAgIF9lZGl0TGlu
ZTogZnVuY3Rpb24obGluZU51bWJlciwgbmV3Q29udGVudCwgY2FuY2VsRWRpdGluZ0NhbGxiYWNr
KQorICAgIF9kb3VibGVDbGljazogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICBsaW5l
TnVtYmVyICs9IDE7Ci0KLSAgICAgICAgdmFyIGxpbmVzID0gW107Ci0gICAgICAgIHZhciBvbGRM
aW5lcyA9IHRoaXMuX2NvbnRlbnQuc3BsaXQoJ1xuJyk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgb2xkTGluZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChpID09PSBsaW5l
TnVtYmVyIC0gMSkKLSAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKG5ld0NvbnRlbnQpOwotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGxpbmVzLnB1c2gob2xkTGluZXNbaV0pOwot
ICAgICAgICB9CisgICAgICAgIGlmICghUHJlZmVyZW5jZXMuY2FuRWRpdFNjcmlwdFNvdXJjZSB8
fCAhdGhpcy5faXNTY3JpcHQpCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIGVk
aXREYXRhID0ge307Ci0gICAgICAgIGVkaXREYXRhLnNvdXJjZUlEID0gdGhpcy5fc291cmNlSURG
b3JMaW5lKGxpbmVOdW1iZXIpOwotICAgICAgICBlZGl0RGF0YS5jb250ZW50ID0gbGluZXMuam9p
bigiXG4iKTsKLSAgICAgICAgZWRpdERhdGEubGluZSA9IGxpbmVOdW1iZXI7Ci0gICAgICAgIGVk
aXREYXRhLmxpbmVzQ291bnRUb1NoaWZ0ID0gbmV3Q29udGVudC5zcGxpdCgiXG4iKS5sZW5ndGgg
LSAxOwotICAgICAgICB0aGlzLl9kb0VkaXRMaW5lKGVkaXREYXRhLCBjYW5jZWxFZGl0aW5nQ2Fs
bGJhY2spOwotICAgIH0sCisgICAgICAgIHZhciB0YXJnZXQgPSBldmVudC50YXJnZXQuZW5jbG9z
aW5nTm9kZU9yU2VsZldpdGhOb2RlTmFtZSgiVEQiKTsKKyAgICAgICAgaWYgKCF0YXJnZXQgfHwg
dGFyZ2V0LnBhcmVudEVsZW1lbnQuZmlyc3RDaGlsZCA9PT0gdGFyZ2V0KQorICAgICAgICAgICAg
cmV0dXJuOyAgLy8gRG8gbm90IHRyaWdnZXIgZWRpdGluZyBmcm9tIGxpbmUgbnVtYmVycy4KIAot
ICAgIF9yZXZlcnRFZGl0TGluZTogZnVuY3Rpb24oZWRpdERhdGEsIGNvbnRlbnRUb1JldmVydFRv
KQotICAgIHsKLSAgICAgICAgdmFyIG5ld0VkaXREYXRhID0ge307Ci0gICAgICAgIG5ld0VkaXRE
YXRhLnNvdXJjZUlEID0gZWRpdERhdGEuc291cmNlSUQ7Ci0gICAgICAgIG5ld0VkaXREYXRhLmNv
bnRlbnQgPSBjb250ZW50VG9SZXZlcnRUbzsKLSAgICAgICAgbmV3RWRpdERhdGEubGluZSA9IGVk
aXREYXRhLmxpbmU7Ci0gICAgICAgIG5ld0VkaXREYXRhLmxpbmVzQ291bnRUb1NoaWZ0ID0gLWVk
aXREYXRhLmxpbmVzQ291bnRUb1NoaWZ0OwotICAgICAgICB0aGlzLl9kb0VkaXRMaW5lKG5ld0Vk
aXREYXRhKTsKLSAgICB9LAorICAgICAgICB2YXIgbGluZVJvdyA9IHRhcmdldC5wYXJlbnRFbGVt
ZW50OworICAgICAgICB2YXIgbGluZU51bWJlciA9IGxpbmVSb3cubGluZU51bWJlcjsKKyAgICAg
ICAgdmFyIHNvdXJjZUlEID0gdGhpcy5fc291cmNlSURGb3JMaW5lKGxpbmVOdW1iZXIgKyAxKTsK
KyAgICAgICAgaWYgKCFzb3VyY2VJRCkKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgIF9kb0Vk
aXRMaW5lOiBmdW5jdGlvbihlZGl0RGF0YSwgY2FuY2VsRWRpdGluZ0NhbGxiYWNrKQotICAgIHsK
LSAgICAgICAgdmFyIHJldmVydEVkaXRpbmdDYWxsYmFjayA9IHRoaXMuX3JldmVydEVkaXRMaW5l
LmJpbmQodGhpcywgZWRpdERhdGEpOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlw
dHMuZWRpdFNjcmlwdFNvdXJjZShlZGl0RGF0YSwgcmV2ZXJ0RWRpdGluZ0NhbGxiYWNrLCBjYW5j
ZWxFZGl0aW5nQ2FsbGJhY2spOworICAgICAgICBmdW5jdGlvbiBkaWRFZGl0TGluZShuZXdDb250
ZW50KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgbGluZXMgPSBbXTsKKyAgICAgICAgICAg
IHZhciBvbGRMaW5lcyA9IHRoaXMuX2NvbnRlbnQuc3BsaXQoJ1xuJyk7CisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IG9sZExpbmVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAg
ICAgaWYgKGkgPT09IGxpbmVOdW1iZXIpCisgICAgICAgICAgICAgICAgICAgIGxpbmVzLnB1c2go
bmV3Q29udGVudCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBs
aW5lcy5wdXNoKG9sZExpbmVzW2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmVkaXRTY3JpcHRTb3VyY2Uoc291cmNlSUQsIGxpbmVzLmpv
aW4oIlxuIikpOworICAgICAgICB9CisgICAgICAgIHRoaXMuX3RleHRWaWV3ZXIuZWRpdExpbmUo
bGluZVJvdywgZGlkRWRpdExpbmUuYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAgIF9zZXRCcmVh
a3BvaW50OiBmdW5jdGlvbihsaW5lTnVtYmVyLCBlbmFibGVkLCBjb25kaXRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVZpZXcuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVZpZXcuanMKaW5kZXggMWU0
ZWY1ZC4uMTExZTZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Tb3VyY2VWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU291cmNlVmlldy5qcwpAQCAtMzMsOCArMzMsOCBAQCBXZWJJbnNwZWN0b3IuU291cmNlVmll
dyA9IGZ1bmN0aW9uKHJlc291cmNlKQogICAgIHRoaXMuZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJz
b3VyY2UiKTsKIAogICAgIHZhciBzY3JpcHRzID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwu
c2NyaXB0c0ZvclVSTChyZXNvdXJjZS51cmwpOwotICAgIHZhciBjYW5FZGl0U2NyaXB0cyA9IFdl
Ykluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5jYW5FZGl0U2NyaXB0cygpICYmIHJlc291cmNlLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLlNjcmlwdDsKLSAgICB0aGlzLnNvdXJj
ZUZyYW1lID0gbmV3IFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZSh0aGlzLmVsZW1lbnQsIHNjcmlw
dHMsIGNhbkVkaXRTY3JpcHRzKTsKKyAgICB2YXIgaXNTY3JpcHQgPSByZXNvdXJjZS50eXBlID09
PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TY3JpcHQ7CisgICAgdGhpcy5zb3VyY2VGcmFt
ZSA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUodGhpcy5lbGVtZW50LCBzY3JpcHRzLCBp
c1NjcmlwdCk7CiAgICAgcmVzb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoZWQiLCB0aGlz
Ll9yZXNvdXJjZUxvYWRpbmdGaW5pc2hlZCwgdGhpcyk7CiAgICAgdGhpcy5fZnJhbWVOZWVkc1Nl
dHVwID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGV4dFZpZXdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
VGV4dFZpZXdlci5qcwppbmRleCBmMTE2ZGVhLi5lYTM2NTEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzCkBAIC00Myw3ICs0Myw2IEBA
IFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyID0gZnVuY3Rpb24odGV4dE1vZGVsLCBwbGF0Zm9ybSwg
dXJsKQogICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5f
aGFuZGxlS2V5RG93bi5iaW5kKHRoaXMpLCBmYWxzZSk7CiAgICAgdGhpcy5lbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoImJlZm9yZWNvcHkiLCB0aGlzLl9iZWZvcmVDb3B5LmJpbmQodGhpcyksIGZh
bHNlKTsKICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsIHRoaXMuX2Nv
cHkuYmluZCh0aGlzKSwgZmFsc2UpOwotICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJkYmxjbGljayIsIHRoaXMuX2hhbmRsZURvdWJsZUNsaWNrLmJpbmQodGhpcyksIGZhbHNlKTsK
IAogICAgIHRoaXMuX3VybCA9IHVybDsKIApAQCAtODAsMTEgKzc5LDYgQEAgV2ViSW5zcGVjdG9y
LlRleHRWaWV3ZXIucHJvdG90eXBlID0gewogICAgICAgICBjaHVuay5lbGVtZW50LnNjcm9sbElu
dG9WaWV3SWZOZWVkZWQoKTsKICAgICB9LAogCi0gICAgc2V0IGVkaXRDYWxsYmFjayhlZGl0Q2Fs
bGJhY2spCi0gICAgewotICAgICAgICB0aGlzLl9lZGl0Q2FsbGJhY2sgPSBlZGl0Q2FsbGJhY2s7
Ci0gICAgfSwKLQogICAgIGFkZERlY29yYXRpb246IGZ1bmN0aW9uKGxpbmVOdW1iZXIsIGRlY29y
YXRpb24pCiAgICAgewogICAgICAgICB2YXIgY2h1bmsgPSB0aGlzLl9tYWtlTGluZUFDaHVuayhs
aW5lTnVtYmVyKTsKQEAgLTIzMSwyMCArMjI1LDIwIEBAIFdlYkluc3BlY3Rvci5UZXh0Vmlld2Vy
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHNjcm9sbFZhbHVlID0gLTE7CiAgICAgICAgIGVs
c2UgaWYgKGV2ZW50LmtleUNvZGUgPT0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5
cy5Eb3duLmNvZGUpCiAgICAgICAgICAgICBzY3JvbGxWYWx1ZSA9IDE7Ci0gICAgICAgIAorCiAg
ICAgICAgIGlmIChzY3JvbGxWYWx1ZSkgewogICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1
bHQoKTsKICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAg
dGhpcy5lbGVtZW50LnNjcm9sbEJ5TGluZXMoc2Nyb2xsVmFsdWUpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIHNjcm9sbFZhbHVlID0gMDsKICAg
ICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
LktleXMuTGVmdC5jb2RlKQogICAgICAgICAgICAgc2Nyb2xsVmFsdWUgPSAtNDA7CiAgICAgICAg
IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
S2V5cy5SaWdodC5jb2RlKQogICAgICAgICAgICAgc2Nyb2xsVmFsdWUgPSA0MDsKLSAgICAgICAg
CisKICAgICAgICAgaWYgKHNjcm9sbFZhbHVlKSB7CiAgICAgICAgICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOwogICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CkBAIC0yNTIs
NDIgKzI0NiwyNSBAQCBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlci5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIH0KICAgICB9LAogCi0gICAgX2hhbmRsZURvdWJsZUNsaWNrOiBmdW5jdGlvbihlKQorICAg
IGVkaXRMaW5lOiBmdW5jdGlvbihsaW5lUm93LCBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIGlm
ICghdGhpcy5fZWRpdENhbGxiYWNrKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHZh
ciBjZWxsID0gZS50YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFtZSgiVEQiKTsK
LSAgICAgICAgaWYgKCFjZWxsKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHZhciBs
aW5lUm93ID0gY2VsbC5wYXJlbnRFbGVtZW50OwotICAgICAgICBpZiAobGluZVJvdy5maXJzdENo
aWxkID09PSBjZWxsKQotICAgICAgICAgICAgcmV0dXJuOyAgLy8gRG8gbm90IHRyaWdnZXIgZWRp
dGluZyBmcm9tIGxpbmUgbnVtYmVycy4KLQotICAgICAgICB2YXIgb2xkQ29udGVudCA9IGxpbmVS
b3cubGFzdENoaWxkLmlubmVySFRNTDsKLSAgICAgICAgdmFyIGNhbmNlbEVkaXRpbmdDYWxsYmFj
ayA9IHRoaXMuX2NhbmNlbEVkaXRpbmdMaW5lLmJpbmQodGhpcywgbGluZVJvdy5sYXN0Q2hpbGQs
IG9sZENvbnRlbnQpOwotICAgICAgICB2YXIgY29tbWl0RWRpdGluZ0NhbGxiYWNrID0gdGhpcy5f
Y29tbWl0RWRpdGluZ0xpbmUuYmluZCh0aGlzLCBsaW5lUm93LmxpbmVOdW1iZXIsIGxpbmVSb3cu
bGFzdENoaWxkLCBjYW5jZWxFZGl0aW5nQ2FsbGJhY2spOwotICAgICAgICB0aGlzLl9lZGl0aW5n
TGluZSA9IFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcobGluZVJvdy5sYXN0Q2hpbGQsIHsKKyAg
ICAgICAgdmFyIGVsZW1lbnQgPSBsaW5lUm93Lmxhc3RDaGlsZDsKKyAgICAgICAgdmFyIG9sZENv
bnRlbnQgPSBlbGVtZW50LmlubmVySFRNTDsKKyAgICAgICAgZnVuY3Rpb24gZmluaXNoRWRpdGlu
Zyhjb21taXR0ZWQsIGUsIG5ld0NvbnRlbnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChj
b21taXR0ZWQpCisgICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3Q29udGVudCk7CisgICAgICAg
ICAgICBlbGVtZW50LmlubmVySFRNTCA9IG9sZENvbnRlbnQ7CisgICAgICAgICAgICBkZWxldGUg
dGhpcy5fZWRpdGluZ0xpbmU7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5fZWRpdGluZ0xpbmUg
PSBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKGVsZW1lbnQsIHsKICAgICAgICAgICAgIGNvbnRl
eHQ6IG51bGwsCi0gICAgICAgICAgICBjb21taXRIYW5kbGVyOiBjb21taXRFZGl0aW5nQ2FsbGJh
Y2ssCi0gICAgICAgICAgICBjYW5jZWxIYW5kbGVyOiBjYW5jZWxFZGl0aW5nQ2FsbGJhY2ssCisg
ICAgICAgICAgICBjb21taXRIYW5kbGVyOiBmaW5pc2hFZGl0aW5nLmJpbmQodGhpcywgdHJ1ZSks
CisgICAgICAgICAgICBjYW5jZWxIYW5kbGVyOiBmaW5pc2hFZGl0aW5nLmJpbmQodGhpcywgZmFs
c2UpLAogICAgICAgICAgICAgbXVsdGlsaW5lOiB0cnVlCiAgICAgICAgIH0pOwogICAgIH0sCiAK
LSAgICBfY29tbWl0RWRpdGluZ0xpbmU6IGZ1bmN0aW9uKGxpbmVOdW1iZXIsIGVsZW1lbnQsIGNh
bmNlbEVkaXRpbmdDYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHRoaXMuX2VkaXRDYWxsYmFjayhs
aW5lTnVtYmVyLCBlbGVtZW50LnRleHRDb250ZW50LCBjYW5jZWxFZGl0aW5nQ2FsbGJhY2spOwot
ICAgICAgICBkZWxldGUgdGhpcy5fZWRpdGluZ0xpbmU7Ci0gICAgfSwKLQotICAgIF9jYW5jZWxF
ZGl0aW5nTGluZTogZnVuY3Rpb24oZWxlbWVudCwgb2xkQ29udGVudCwgZSkKLSAgICB7Ci0gICAg
ICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gb2xkQ29udGVudDsKLSAgICAgICAgZGVsZXRlIHRoaXMu
X2VkaXRpbmdMaW5lOwotICAgIH0sCi0KICAgICBfYmVmb3JlQ29weTogZnVuY3Rpb24oZSkKICAg
ICB7CiAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKQEAgLTc4Niw3ICs3NjMsNyBAQCBXZWJJ
bnNwZWN0b3IuVGV4dENodW5rLnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgdmFyIGxpbmVD
b250ZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7CiAgICAgICAgICAg
ICBsaW5lQ29udGVudEVsZW1lbnQuY2xhc3NOYW1lID0gIndlYmtpdC1saW5lLWNvbnRlbnQiOwot
ICAgICAgICAgICAgbGluZVJvdy5hcHBlbmRDaGlsZChsaW5lQ29udGVudEVsZW1lbnQpOyAgICAg
ICAgCisgICAgICAgICAgICBsaW5lUm93LmFwcGVuZENoaWxkKGxpbmVDb250ZW50RWxlbWVudCk7
CiAgICAgICAgIH0KICAgICAgICAgbGluZVJvdy5saW5lTnVtYmVyID0gbGluZU51bWJlcjsKICAg
ICAgICAgbGluZU51bWJlckVsZW1lbnQudGV4dENvbnRlbnQgPSBsaW5lTnVtYmVyICsgMTsK
</data>
<flag name="review"
          id="70055"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>