<?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>99301</bug_id>
          
          <creation_ts>2012-10-15 01:30:38 -0700</creation_ts>
          <short_desc>Web Inspector: Extract domain specific editing handling logic from UISourceCode (step 2).</short_desc>
          <delta_ts>2012-10-16 08:43:20 -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="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</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>741844</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-15 01:30:38 -0700</bug_when>
    <thetext>This is the second (last) step. StyleFile and ScriptFile now listen for the UISourceCode WorkingCopyChanged/Committed events and process them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741877</commentid>
    <comment_count>1</comment_count>
      <attachid>168656</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-15 02:32:22 -0700</bug_when>
    <thetext>Created attachment 168656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743173</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-16 08:43:20 -0700</bug_when>
    <thetext>Committed r131458: &lt;http://trac.webkit.org/changeset/131458&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168656</attachid>
            <date>2012-10-15 02:32:22 -0700</date>
            <delta_ts>2012-10-15 03:00:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99301-20121015133112.patch</filename>
            <type>text/plain</type>
            <size>24882</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjEyN2MzNWI4NTgxYTlh
MWFkZmFhOGRmOTU1YTE4ZDc1YWRkY2QzYS4uOGEwMDMyZmFkNjFlMTI5Y2U2ZjhkZTg1YzMzYjQw
ODJkNWZlNmEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTEwLTE1ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEV4dHJhY3QgZG9tYWluIHNwZWNpZmljIGVkaXRpbmcgaGFuZGxpbmcgbG9naWMgZnJvbSBV
SVNvdXJjZUNvZGUgKHN0ZXAgMikuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05OTMwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFN0eWxlRmlsZSBhbmQgU2NyaXB0RmlsZSBub3cgbGlzdGVuIGZvciB0aGUg
VUlTb3VyY2VDb2RlIFdvcmtpbmdDb3B5Q2hhbmdlZC9Db21taXR0ZWQgZXZlbnRzIGFuZCBwcm9j
ZXNzCisgICAgICAgIHRoZW0gaW5zdGVhZCBvZiBiZWluZyBjYWxsZWQgZXhwbGljaXRseS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5vblRleHRDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBl
Ll93aWxsTWVyZ2VUb1ZNKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNl
RnJhbWUucHJvdG90eXBlLl9kaWRNZXJnZVRvVk0pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkph
dmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX3dpbGxEaXZlcmdlRnJvbVZNKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLl9kaWREaXZl
cmdlRnJvbVZNKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUu
cHJvdG90eXBlLl9tdXRlQnJlYWtwb2ludHNXaGlsZUVkaXRpbmcpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX3Jlc3RvcmVCcmVha3BvaW50
c0FmdGVyRWRpdGluZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNj
cmlwdE1hcHBpbmcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBw
aW5nLnByb3RvdHlwZS5faGFzTWVyZ2VkVG9WTSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVz
b3VyY2VTY3JpcHRNYXBwaW5nLnByb3RvdHlwZS5faGFzRGl2ZXJnZWRGcm9tVk0pOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2JpbmRVSVNv
dXJjZUNvZGVUb1NjcmlwdHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0
RmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRGaWxlLnByb3RvdHlw
ZS5fd29ya2luZ0NvcHlDb21taXR0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNl
U2NyaXB0RmlsZS5wcm90b3R5cGUuX3dvcmtpbmdDb3B5Q2hhbmdlZCk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU25pcHBldFNjcmlwdEZpbGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNuaXBwZXRT
Y3JpcHRGaWxlLnByb3RvdHlwZS5fd29ya2luZ0NvcHlDb21taXR0ZWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNuaXBwZXRTY3JpcHRGaWxlLnByb3RvdHlwZS5fd29ya2luZ0NvcHlDaGFuZ2Vk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NvdXJjZU1hcHBpbmcuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVGaWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TdHlsZUZpbGUucHJvdG90eXBlLl93b3JraW5nQ29weUNvbW1pdHRlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU3R5bGVGaWxlLnByb3RvdHlwZS5fd29ya2luZ0NvcHlDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZUZpbGUucHJvdG90eXBlLl9jb21taXRJbmNyZW1lbnRh
bEVkaXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlRmlsZS5wcm90b3R5cGUuX2NsZWFy
SW5jcmVtZW50YWxVcGRhdGVUaW1lcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVGaWxl
LnByb3RvdHlwZS5hZGRSZXZpc2lvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVDb250
ZW50QmluZGluZy5wcm90b3R5cGUuX2lubmVyU3R5bGVTaGVldENoYW5nZWQpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2RlLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUuc2V0V29ya2luZ0NvcHkpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUuY29tbWl0V29ya2luZ0NvcHkpOgorCiAy
MDEyLTEwLTEyICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBOTUkgcmVtb3ZlIGhhbmQgbWFkZSBvYmplY3QgYnVpbGRlcnMg
d2l0aCBhdXRvbWF0aWMgYnVpbGRlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKaW5kZXggM2VkZWZm
OGE1MTNkY2FmNDI5ZjA0YzI4ZjQ5NzhhZDUwNzJlMzU3ZC4uOTk3NzQ1YWNmYzk4NDVmMjEwZGIw
NjIzODJjYTgzMzRkNWM1ZDhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJhbWUuanMKQEAgLTYzLDYgKzYz
LDEzIEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUgPSBmdW5jdGlvbihzY3Jp
cHRzUGFuZWwsIGphdmFTY3JpcHRTb3VyY2UpCiAgICAgdGhpcy5famF2YVNjcmlwdFNvdXJjZS5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLkNvbnNvbGVN
ZXNzYWdlQWRkZWQsIHRoaXMuX2NvbnNvbGVNZXNzYWdlQWRkZWQsIHRoaXMpOwogICAgIHRoaXMu
X2phdmFTY3JpcHRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VD
b2RlLkV2ZW50cy5Db25zb2xlTWVzc2FnZVJlbW92ZWQsIHRoaXMuX2NvbnNvbGVNZXNzYWdlUmVt
b3ZlZCwgdGhpcyk7CiAgICAgdGhpcy5famF2YVNjcmlwdFNvdXJjZS5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLkNvbnNvbGVNZXNzYWdlc0NsZWFyZWQs
IHRoaXMuX2NvbnNvbGVNZXNzYWdlc0NsZWFyZWQsIHRoaXMpOworICAgIAorICAgIGlmICh0aGlz
Ll9zY3JpcHRGaWxlKSB7CisgICAgICAgIHRoaXMuX3NjcmlwdEZpbGUuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZS5FdmVudHMuV2lsbE1lcmdlVG9WTSwgdGhpcy5fd2ls
bE1lcmdlVG9WTSwgdGhpcyk7CisgICAgICAgIHRoaXMuX3NjcmlwdEZpbGUuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZS5FdmVudHMuRGlkTWVyZ2VUb1ZNLCB0aGlzLl9k
aWRNZXJnZVRvVk0sIHRoaXMpOworICAgICAgICB0aGlzLl9zY3JpcHRGaWxlLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlNjcmlwdEZpbGUuRXZlbnRzLldpbGxEaXZlcmdlRnJvbVZNLCB0
aGlzLl93aWxsRGl2ZXJnZUZyb21WTSwgdGhpcyk7CisgICAgICAgIHRoaXMuX3NjcmlwdEZpbGUu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZS5FdmVudHMuRGlkRGl2ZXJn
ZUZyb21WTSwgdGhpcy5fZGlkRGl2ZXJnZUZyb21WTSwgdGhpcyk7CisgICAgfQogfQogCiBXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKQEAgLTk1LDggKzEw
Miw3IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuX2lzQ29tbWl0dGluZ0VkaXRpbmcg
PSB0cnVlOwotICAgICAgICB2YXIgYnJlYWtwb2ludHMgPSB0aGlzLl9nZXRCcmVha3BvaW50RGVj
b3JhdGlvbnMoKTsKLSAgICAgICAgdGhpcy5famF2YVNjcmlwdFNvdXJjZS5jb21taXRXb3JraW5n
Q29weSh0aGlzLl9kaWRFZGl0Q29udGVudC5iaW5kKHRoaXMsIGJyZWFrcG9pbnRzKSk7CisgICAg
ICAgIHRoaXMuX2phdmFTY3JpcHRTb3VyY2UuY29tbWl0V29ya2luZ0NvcHkoZnVuY3Rpb24oKSB7
IH0pOwogICAgICAgICBkZWxldGUgdGhpcy5faXNDb21taXR0aW5nRWRpdGluZzsKICAgICB9LAog
CkBAIC0xNzcsNDMgKzE4Myw0MyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1l
LnByb3RvdHlwZSA9IHsKICAgICBvblRleHRDaGFuZ2VkOiBmdW5jdGlvbihvbGRSYW5nZSwgbmV3
UmFuZ2UpCiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBl
Lm9uVGV4dENoYW5nZWQuY2FsbCh0aGlzLCBvbGRSYW5nZSwgbmV3UmFuZ2UpOwotCi0gICAgICAg
IHZhciB3YXNEaXZlcmdlZCA9IHRoaXMuX3NjcmlwdEZpbGUgJiYgdGhpcy5fc2NyaXB0RmlsZS5o
YXNEaXZlcmdlZEZyb21WTSgpOwotCi0gICAgICAgIHRoaXMuX3ByZXNlcnZlRGVjb3JhdGlvbnMg
PSB0cnVlOwogICAgICAgICB0aGlzLl9pc1NldHRpbmdXb3JraW5nQ29weSA9IHRydWU7CiAgICAg
ICAgIHRoaXMuX2phdmFTY3JpcHRTb3VyY2Uuc2V0V29ya2luZ0NvcHkodGhpcy5fdGV4dEVkaXRv
ci50ZXh0KCkpOwogICAgICAgICBkZWxldGUgdGhpcy5faXNTZXR0aW5nV29ya2luZ0NvcHk7Ci0g
ICAgICAgIGRlbGV0ZSB0aGlzLl9wcmVzZXJ2ZURlY29yYXRpb25zOworICAgIH0sCiAKKyAgICBf
d2lsbE1lcmdlVG9WTTogZnVuY3Rpb24oKQorICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3N1cHBv
cnRzRW5hYmxlZEJyZWFrcG9pbnRzV2hpbGVFZGl0aW5nKCkpCiAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIHRoaXMuX3ByZXNlcnZlRGVjb3JhdGlvbnMgPSB0cnVlOworICAgIH0sCiAKLSAg
ICAgICAgdmFyIGlzRGl2ZXJnZWQgPSB0aGlzLl9zY3JpcHRGaWxlICYmIHRoaXMuX3NjcmlwdEZp
bGUuaGFzRGl2ZXJnZWRGcm9tVk0oKTsKLSAgICAgICAgaWYgKCF3YXNEaXZlcmdlZCAmJiBpc0Rp
dmVyZ2VkKQotICAgICAgICAgICAgdGhpcy5fbXV0ZUJyZWFrcG9pbnRzV2hpbGVFZGl0aW5nKCk7
Ci0gICAgICAgIGVsc2UgaWYgKHdhc0RpdmVyZ2VkICYmICFpc0RpdmVyZ2VkKSB7Ci0gICAgICAg
ICAgICB2YXIgYnJlYWtwb2ludHMgPSB0aGlzLl9nZXRCcmVha3BvaW50RGVjb3JhdGlvbnMoKTsK
LSAgICAgICAgICAgIHRoaXMuX3Jlc3RvcmVCcmVha3BvaW50c0FmdGVyRWRpdGluZyhicmVha3Bv
aW50cyk7Ci0gICAgICAgIH0KKyAgICBfZGlkTWVyZ2VUb1ZNOiBmdW5jdGlvbigpCisgICAgewor
ICAgICAgICBpZiAodGhpcy5fc3VwcG9ydHNFbmFibGVkQnJlYWtwb2ludHNXaGlsZUVkaXRpbmco
KSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgZGVsZXRlIHRoaXMuX3ByZXNlcnZlRGVj
b3JhdGlvbnM7CisgICAgICAgIHRoaXMuX3Jlc3RvcmVCcmVha3BvaW50c0FmdGVyRWRpdGluZygp
OwogICAgIH0sCiAKLSAgICBfZ2V0QnJlYWtwb2ludERlY29yYXRpb25zOiBmdW5jdGlvbigpCisg
ICAgX3dpbGxEaXZlcmdlRnJvbVZNOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgYnJl
YWtwb2ludHMgPSB7fTsKLSAgICAgICAgLy8gUmVzdG9yZSBhbGwgbXV0ZWQgYnJlYWtwb2ludHMu
Ci0gICAgICAgIGZvciAodmFyIGxpbmVOdW1iZXIgPSAwOyBsaW5lTnVtYmVyIDwgdGhpcy5fdGV4
dEVkaXRvci5saW5lc0NvdW50OyArK2xpbmVOdW1iZXIpIHsKLSAgICAgICAgICAgIHZhciBicmVh
a3BvaW50RGVjb3JhdGlvbiA9IHRoaXMuX3RleHRFZGl0b3IuZ2V0QXR0cmlidXRlKGxpbmVOdW1i
ZXIsICJicmVha3BvaW50Iik7Ci0gICAgICAgICAgICBpZiAoYnJlYWtwb2ludERlY29yYXRpb24p
Ci0gICAgICAgICAgICAgICAgYnJlYWtwb2ludHNbbGluZU51bWJlcl0gPSBicmVha3BvaW50RGVj
b3JhdGlvbjsKLSAgICAgICAgfQorICAgICAgICBpZiAodGhpcy5fc3VwcG9ydHNFbmFibGVkQnJl
YWtwb2ludHNXaGlsZUVkaXRpbmcoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdGhp
cy5fcHJlc2VydmVEZWNvcmF0aW9ucyA9IHRydWU7CisgICAgfSwKIAotICAgICAgICByZXR1cm4g
YnJlYWtwb2ludHM7CisgICAgX2RpZERpdmVyZ2VGcm9tVk06IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIGlmICh0aGlzLl9zdXBwb3J0c0VuYWJsZWRCcmVha3BvaW50c1doaWxlRWRpdGluZygp
KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBkZWxldGUgdGhpcy5fcHJlc2VydmVEZWNv
cmF0aW9uczsKKyAgICAgICAgdGhpcy5fbXV0ZUJyZWFrcG9pbnRzV2hpbGVFZGl0aW5nKCk7CiAg
ICAgfSwKIAogICAgIF9tdXRlQnJlYWtwb2ludHNXaGlsZUVkaXRpbmc6IGZ1bmN0aW9uKCkKICAg
ICB7Ci0gICAgICAgIHZhciBicmVha3BvaW50cyA9IHRoaXMuX2dldEJyZWFrcG9pbnREZWNvcmF0
aW9ucygpOwogICAgICAgICBmb3IgKHZhciBsaW5lTnVtYmVyID0gMDsgbGluZU51bWJlciA8IHRo
aXMuX3RleHRFZGl0b3IubGluZXNDb3VudDsgKytsaW5lTnVtYmVyKSB7CiAgICAgICAgICAgICB2
YXIgYnJlYWtwb2ludERlY29yYXRpb24gPSB0aGlzLl90ZXh0RWRpdG9yLmdldEF0dHJpYnV0ZShs
aW5lTnVtYmVyLCAiYnJlYWtwb2ludCIpOwogICAgICAgICAgICAgaWYgKCFicmVha3BvaW50RGVj
b3JhdGlvbikKQEAgLTIyOCwxOSArMjM0LDE5IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291
cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5famF2YVNjcmlwdFNv
dXJjZS5pc1NuaXBwZXQ7CiAgICAgfSwKIAotICAgIF9kaWRFZGl0Q29udGVudDogZnVuY3Rpb24o
YnJlYWtwb2ludHMsIGVycm9yKQorICAgIF9yZXN0b3JlQnJlYWtwb2ludHNBZnRlckVkaXRpbmc6
IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy5fc3VwcG9ydHNFbmFibGVkQnJl
YWtwb2ludHNXaGlsZUVkaXRpbmcoKSkKLSAgICAgICAgICAgIHRoaXMuX3Jlc3RvcmVCcmVha3Bv
aW50c0FmdGVyRWRpdGluZyhicmVha3BvaW50cyk7Ci0KLSAgICAgICAgaWYgKGVycm9yKSB7Ci0g
ICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd0Vycm9yTWVzc2FnZShlcnJvcik7Ci0gICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIHZhciBicmVha3BvaW50cyA9IHt9OworICAgICAgICAvLyBT
YXZlIGFuZCByZW1vdmUgbXV0ZWQgYnJlYWtwb2ludCBkZWNvcmF0aW9ucy4KKyAgICAgICAgZm9y
ICh2YXIgbGluZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCB0aGlzLl90ZXh0RWRpdG9yLmxpbmVz
Q291bnQ7ICsrbGluZU51bWJlcikgeworICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnREZWNvcmF0
aW9uID0gdGhpcy5fdGV4dEVkaXRvci5nZXRBdHRyaWJ1dGUobGluZU51bWJlciwgImJyZWFrcG9p
bnQiKTsKKyAgICAgICAgICAgIGlmIChicmVha3BvaW50RGVjb3JhdGlvbikgeworICAgICAgICAg
ICAgICAgIGJyZWFrcG9pbnRzW2xpbmVOdW1iZXJdID0gYnJlYWtwb2ludERlY29yYXRpb247Cisg
ICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlQnJlYWtwb2ludERlY29yYXRpb24obGluZU51bWJl
cik7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICB9LAogCi0gICAgX3Jlc3RvcmVCcmVh
a3BvaW50c0FmdGVyRWRpdGluZzogZnVuY3Rpb24oYnJlYWtwb2ludHMpCi0gICAgeworICAgICAg
ICAvLyBSZW1vdmUgYWxsIGJyZWFrcG9pbnRzLgogICAgICAgICB2YXIgYnJlYWtwb2ludExvY2F0
aW9ucyA9IHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLmJyZWFrcG9pbnRMb2NhdGlvbnNGb3JVSVNv
dXJjZUNvZGUodGhpcy5famF2YVNjcmlwdFNvdXJjZSk7CiAgICAgICAgIHZhciBsaW5lTnVtYmVy
cyA9IHt9OwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJyZWFrcG9pbnRMb2NhdGlvbnMu
bGVuZ3RoOyArK2kpIHsKQEAgLTI0OCwxNiArMjU0LDEyIEBAIFdlYkluc3BlY3Rvci5KYXZhU2Ny
aXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICAgICAgYnJlYWtwb2ludExvY2F0
aW9uc1tpXS5icmVha3BvaW50LnJlbW92ZSgpOwogICAgICAgICB9CiAKLSAgICAgICAgZm9yICh2
YXIgbGluZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCB0aGlzLl90ZXh0RWRpdG9yLmxpbmVzQ291
bnQ7ICsrbGluZU51bWJlcikKLSAgICAgICAgICAgIHRoaXMuX3JlbW92ZUJyZWFrcG9pbnREZWNv
cmF0aW9uKGxpbmVOdW1iZXIpOwotCi0gICAgICAgIC8vIFJlc3RvcmUgYWxsIG11dGVkIGJyZWFr
cG9pbnRzLgorICAgICAgICAvLyBSZXN0b3JlIGFsbCBicmVha3BvaW50cyBmcm9tIHNhdmVkIGRl
Y29yYXRpb25zLgogICAgICAgICBmb3IgKHZhciBsaW5lTnVtYmVyU3RyaW5nIGluIGJyZWFrcG9p
bnRzKSB7CiAgICAgICAgICAgICB2YXIgbGluZU51bWJlciA9IHBhcnNlSW50KGxpbmVOdW1iZXJT
dHJpbmcsIDEwKTsKICAgICAgICAgICAgIGlmIChpc05hTihsaW5lTnVtYmVyKSkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIHZhciBicmVha3BvaW50RGVjb3JhdGlvbiA9
IGJyZWFrcG9pbnRzW2xpbmVOdW1iZXJTdHJpbmddOwotICAgICAgICAgICAgLy8gU2V0IG5ldyBi
cmVha3BvaW50CiAgICAgICAgICAgICB0aGlzLl9zZXRCcmVha3BvaW50KGxpbmVOdW1iZXIsIGJy
ZWFrcG9pbnREZWNvcmF0aW9uLmNvbmRpdGlvbiwgYnJlYWtwb2ludERlY29yYXRpb24uZW5hYmxl
ZCk7CiAgICAgICAgIH0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBpbmcuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlU2NyaXB0TWFwcGluZy5qcwppbmRleCBhODZhNzNk
YzU1ODA1ZWNiOTBkYmJiMmE1NmI3NDYzYjMwNzc4YTM0Li5mNzFmYzI2Y2IzZmI5YjA2MjJlZmQ2
OThiNDlhYjY2ZWQ0NmRkOWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Jlc291cmNlU2NyaXB0TWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlU2NyaXB0TWFwcGluZy5qcwpAQCAtNjUsMTYgKzY1
LDI5IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdE1hcHBpbmcucHJvdG90eXBlID0gewog
ICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5VSUxvY2F0aW9uKHVpU291cmNlQ29kZSwg
ZGVidWdnZXJNb2RlbExvY2F0aW9uLmxpbmVOdW1iZXIsIGRlYnVnZ2VyTW9kZWxMb2NhdGlvbi5j
b2x1bW5OdW1iZXIgfHwgMCk7CiAgICAgfSwKIAotICAgIF9oYXNEaXZlcmdlZEZyb21WTUNoYW5n
ZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9y
LlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCisgICAgICovCisgICAgX2hhc01lcmdlZFRvVk06
IGZ1bmN0aW9uKHVpU291cmNlQ29kZSkKKyAgICB7CisgICAgICAgIHZhciBzY3JpcHRzID0gdGhp
cy5fc2NyaXB0c0ZvclVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGUpOworICAgICAgICBpZiAoIXNj
cmlwdHMubGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHNjcmlwdHMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBzY3JpcHRzW2ldLnNldFNv
dXJjZU1hcHBpbmcodGhpcyk7CisgICAgICAgIHRoaXMuX2RlbGV0ZVRlbXBvcmFyeVVJU291cmNl
Q29kZUZvclNjcmlwdHMoc2NyaXB0cyk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJh
bSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCisgICAgICovCisgICAg
X2hhc0RpdmVyZ2VkRnJvbVZNOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUpCiAgICAgewotICAgICAg
ICB2YXIgdWlTb3VyY2VDb2RlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
fSAqLyBldmVudC5kYXRhOwogICAgICAgICB2YXIgc2NyaXB0cyA9IHRoaXMuX3NjcmlwdHNGb3JV
SVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKICAgICAgICAgaWYgKCFzY3JpcHRzLmxlbmd0aCkK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY3JpcHRz
Lmxlbmd0aDsgKytpKQogICAgICAgICAgICAgc2NyaXB0c1tpXS5zZXRTb3VyY2VNYXBwaW5nKHRo
aXMpOwotICAgICAgICBpZiAodWlTb3VyY2VDb2RlLnNjcmlwdEZpbGUoKSAmJiAhdWlTb3VyY2VD
b2RlLnNjcmlwdEZpbGUoKS5oYXNEaXZlcmdlZEZyb21WTSgpKQotICAgICAgICAgICAgdGhpcy5f
ZGVsZXRlVGVtcG9yYXJ5VUlTb3VyY2VDb2RlRm9yU2NyaXB0cyhzY3JpcHRzKTsKICAgICB9LAog
CiAgICAgLyoqCkBAIC0xNDksOSArMTYyLDggQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0
TWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRTY3Jp
cHQgPSBzY3JpcHRzWzBdLmlzQ29udGVudFNjcmlwdDsKICAgICAgICAgdWlTb3VyY2VDb2RlLnNl
dFNvdXJjZU1hcHBpbmcodGhpcyk7CiAgICAgICAgIGlmICghdWlTb3VyY2VDb2RlLmlzVGVtcG9y
YXJ5KSB7Ci0gICAgICAgICAgICB2YXIgc2NyaXB0RmlsZSA9IG5ldyBXZWJJbnNwZWN0b3IuUmVz
b3VyY2VTY3JpcHRGaWxlKHVpU291cmNlQ29kZSk7CisgICAgICAgICAgICB2YXIgc2NyaXB0Rmls
ZSA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRGaWxlKHRoaXMsIHVpU291cmNlQ29k
ZSk7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0U2NyaXB0RmlsZShzY3JpcHRGaWxlKTsK
LSAgICAgICAgICAgIHNjcmlwdEZpbGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2Ny
aXB0RmlsZS5FdmVudHMuSGFzRGl2ZXJnZWRGcm9tVk1DaGFuZ2VkLCB0aGlzLl9oYXNEaXZlcmdl
ZEZyb21WTUNoYW5nZWQsIHRoaXMpOwogICAgICAgICB9CiAgICAgfSwKIApAQCAtMjU0LDcgKzI2
NiwxMCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZSA9IGZ1bmN0aW9uKCkKIH0KIAogV2ViSW5z
cGVjdG9yLlNjcmlwdEZpbGUuRXZlbnRzID0gewotICAgIEhhc0RpdmVyZ2VkRnJvbVZNQ2hhbmdl
ZDogIkhhc0RpdmVyZ2VkRnJvbVZNQ2hhbmdlZCIsCisgICAgV2lsbE1lcmdlVG9WTTogIldpbGxN
ZXJnZVRvVk0iLAorICAgIERpZE1lcmdlVG9WTTogIkRpZE1lcmdlVG9WTSIsCisgICAgV2lsbERp
dmVyZ2VGcm9tVk06ICJXaWxsRGl2ZXJnZUZyb21WTSIsCisgICAgRGlkRGl2ZXJnZUZyb21WTTog
IkRpZERpdmVyZ2VGcm9tVk0iLAogfQogCiBXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZS5wcm90b3R5
cGUgPSB7CkBAIC0yODcsNTEgKzMwMiw1MSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZS5wcm90
b3R5cGUgPSB7CiAgKiBAY29uc3RydWN0b3IKICAqIEBpbXBsZW1lbnRzIHtXZWJJbnNwZWN0b3Iu
U2NyaXB0RmlsZX0KICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuT2JqZWN0fQorICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBwaW5nfSByZXNvdXJjZVNjcmlwdE1hcHBp
bmcKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCiAg
Ki8KLVdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdEZpbGUgPSBmdW5jdGlvbih1aVNvdXJjZUNv
ZGUpCitXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRGaWxlID0gZnVuY3Rpb24ocmVzb3VyY2VT
Y3JpcHRNYXBwaW5nLCB1aVNvdXJjZUNvZGUpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlNjcmlwdEZp
bGUuY2FsbCh0aGlzKTsKKyAgICB0aGlzLl9yZXNvdXJjZVNjcmlwdE1hcHBpbmcgPSByZXNvdXJj
ZVNjcmlwdE1hcHBpbmc7CiAgICAgdGhpcy5fdWlTb3VyY2VDb2RlID0gdWlTb3VyY2VDb2RlOwor
ICAgIHRoaXMuX3VpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5Q29tbWl0dGVkLCB0aGlzLl93b3JraW5nQ29weUNv
bW1pdHRlZCwgdGhpcyk7CisgICAgdGhpcy5fdWlTb3VyY2VDb2RlLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuV29ya2luZ0NvcHlDaGFuZ2VkLCB0aGlz
Ll93b3JraW5nQ29weUNoYW5nZWQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VT
Y3JpcHRGaWxlLnByb3RvdHlwZSA9IHsKLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9u
KD9zdHJpbmcpfSBjYWxsYmFjawotICAgICAqLwotICAgIHdvcmtpbmdDb3B5Q29tbWl0dGVkOiBm
dW5jdGlvbihjYWxsYmFjaykKKyAgICBfd29ya2luZ0NvcHlDb21taXR0ZWQ6IGZ1bmN0aW9uKGV2
ZW50KQogICAgIHsKICAgICAgICAgLyoqCi0gICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBlcnJv
cgorICAgICAgICAgKiBAcGFyYW0gez9zdHJpbmd9IGVycm9yCiAgICAgICAgICAqLwogICAgICAg
ICBmdW5jdGlvbiBpbm5lckNhbGxiYWNrKGVycm9yKQogICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoZXJyb3IpCi0gICAgICAgICAgICAgICAgdGhpcy5faGFzRGl2ZXJnZWRGcm9tVk0gPSB0cnVl
OwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9oYXNEaXZl
cmdlZEZyb21WTTsKLSAgICAgICAgICAgIHRoaXMuZmlyZUhhc0RpdmVyZ2VkRnJvbVZNQ2hhbmdl
ZCgpOwotCi0gICAgICAgICAgICBjYWxsYmFjayhlcnJvcik7CisgICAgICAgICAgICBpZiAoZXJy
b3IpIHsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd0Vycm9yTWVzc2FnZShlcnJv
cik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZS5F
dmVudHMuV2lsbE1lcmdlVG9WTSwgdGhpcyk7CisgICAgICAgICAgICBkZWxldGUgdGhpcy5faGFz
RGl2ZXJnZWRGcm9tVk07CisgICAgICAgICAgICB0aGlzLl9yZXNvdXJjZVNjcmlwdE1hcHBpbmcu
X2hhc01lcmdlZFRvVk0odGhpcy5fdWlTb3VyY2VDb2RlKTsKKyAgICAgICAgICAgIHRoaXMuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5TY3JpcHRGaWxlLkV2ZW50cy5EaWRN
ZXJnZVRvVk0sIHRoaXMpOwogICAgICAgICB9CisKICAgICAgICAgdmFyIHJhd0xvY2F0aW9uID0g
LyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5Mb2NhdGlvbn0gKi8gdGhpcy5f
dWlTb3VyY2VDb2RlLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKDAsIDApOwotICAgICAgICBpZiAo
IXJhd0xvY2F0aW9uKSB7Ci0gICAgICAgICAgICBjYWxsYmFjayhudWxsKTsKKyAgICAgICAgaWYg
KCFyYXdMb2NhdGlvbikKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQogICAgICAgICB2
YXIgc2NyaXB0ID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuc2NyaXB0Rm9ySWQocmF3TG9j
YXRpb24uc2NyaXB0SWQpOwogICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zZXRT
Y3JpcHRTb3VyY2Uoc2NyaXB0LnNjcmlwdElkLCB0aGlzLl91aVNvdXJjZUNvZGUud29ya2luZ0Nv
cHkoKSwgaW5uZXJDYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICB9LAogCi0gICAgd29ya2luZ0Nv
cHlDaGFuZ2VkOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0aGlzLmZpcmVIYXNEaXZlcmdl
ZEZyb21WTUNoYW5nZWQoKTsKLSAgICB9LAotCi0gICAgZmlyZUhhc0RpdmVyZ2VkRnJvbVZNQ2hh
bmdlZDogZnVuY3Rpb24oKQorICAgIF93b3JraW5nQ29weUNoYW5nZWQ6IGZ1bmN0aW9uKGV2ZW50
KQogICAgIHsKICAgICAgICAgdGhpcy5faXNEaXZlcmdpbmdGcm9tVk0gPSB0cnVlOwotICAgICAg
ICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuU2NyaXB0RmlsZS5F
dmVudHMuSGFzRGl2ZXJnZWRGcm9tVk1DaGFuZ2VkLCB0aGlzLl91aVNvdXJjZUNvZGUpOworICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuU2NyaXB0Rmls
ZS5FdmVudHMuV2lsbERpdmVyZ2VGcm9tVk0sIHRoaXMuX3VpU291cmNlQ29kZSk7CisgICAgICAg
IHRoaXMuX2hhc0RpdmVyZ2VkRnJvbVZNID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fcmVzb3VyY2VT
Y3JpcHRNYXBwaW5nLl9oYXNEaXZlcmdlZEZyb21WTSh0aGlzLl91aVNvdXJjZUNvZGUpOworICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuU2NyaXB0Rmls
ZS5FdmVudHMuRGlkRGl2ZXJnZUZyb21WTSwgdGhpcy5fdWlTb3VyY2VDb2RlKTsKICAgICAgICAg
ZGVsZXRlIHRoaXMuX2lzRGl2ZXJnaW5nRnJvbVZNOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMK
aW5kZXggMzM1MzVmZjlhMGNlZWQ0YjhhZDE3NTE3MTcxMDg1OTIwN2E1ZjkxZC4uMDg5ZTUwOTM4
ZTcyNmZhNmNkNjEwY2E5MDI4NzBlYjc3ZWFmNjFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKQEAgLTQ1
MCw2ICs0NTAsOCBAQCBXZWJJbnNwZWN0b3IuU25pcHBldFNjcmlwdEZpbGUgPSBmdW5jdGlvbihz
Y3JpcHRTbmlwcGV0TW9kZWwsIHNuaXBwZXRKYXZhU2NyaXB0UwogICAgIHRoaXMuX3NjcmlwdFNu
aXBwZXRNb2RlbCA9IHNjcmlwdFNuaXBwZXRNb2RlbDsKICAgICB0aGlzLl9zbmlwcGV0SmF2YVNj
cmlwdFNvdXJjZSA9IHNuaXBwZXRKYXZhU2NyaXB0U291cmNlOwogICAgIHRoaXMuX2hhc0RpdmVy
Z2VkRnJvbVZNID0gdHJ1ZTsKKyAgICB0aGlzLl9zbmlwcGV0SmF2YVNjcmlwdFNvdXJjZS5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5
Q29tbWl0dGVkLCB0aGlzLl93b3JraW5nQ29weUNvbW1pdHRlZCwgdGhpcyk7CisgICAgdGhpcy5f
c25pcHBldEphdmFTY3JpcHRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNoYW5nZWQsIHRoaXMuX3dvcmtpbmdDb3B5Q2hh
bmdlZCwgdGhpcyk7CiB9CiAKIFdlYkluc3BlY3Rvci5TbmlwcGV0U2NyaXB0RmlsZS5wcm90b3R5
cGUgPSB7CkBAIC00ODUsMTYgKzQ4NywxMiBAQCBXZWJJbnNwZWN0b3IuU25pcHBldFNjcmlwdEZp
bGUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9pc0RpdmVyZ2luZ0Zyb21WTSA9IGlzRGl2
ZXJnaW5nRnJvbVZNOwogICAgIH0sCiAKLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9u
KD9zdHJpbmcpfSBjYWxsYmFjawotICAgICAqLwotICAgIHdvcmtpbmdDb3B5Q29tbWl0dGVkOiBm
dW5jdGlvbihjYWxsYmFjaykKKyAgICBfd29ya2luZ0NvcHlDb21taXR0ZWQ6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIHRoaXMuX3NjcmlwdFNuaXBwZXRNb2RlbC5fc2V0U2NyaXB0U25pcHBl
dENvbnRlbnQodGhpcy5fc25pcHBldEphdmFTY3JpcHRTb3VyY2UsIHRoaXMuX3NuaXBwZXRKYXZh
U2NyaXB0U291cmNlLndvcmtpbmdDb3B5KCkpOwotICAgICAgICBjYWxsYmFjayhudWxsKTsKICAg
ICB9LAogCi0gICAgd29ya2luZ0NvcHlDaGFuZ2VkOiBmdW5jdGlvbigpCisgICAgX3dvcmtpbmdD
b3B5Q2hhbmdlZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fc2NyaXB0U25pcHBl
dE1vZGVsLl9zY3JpcHRTbmlwcGV0RWRpdGVkKHRoaXMuX3NuaXBwZXRKYXZhU2NyaXB0U291cmNl
KTsKICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TdHlsZXNTb3VyY2VNYXBwaW5nLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TdHlsZXNTb3VyY2VNYXBwaW5nLmpzCmluZGV4IGViYWU0ZWFmZTc2NzMzNmY2YWIwMTBh
NWFmNDQ1Njg2ODI0MzMxNzguLjFkMTg1YmU2ZDFmOGUwNmQ2MjU0MWQzNTIxMWU4YjU0NTdiMzIy
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVz
U291cmNlTWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1N0eWxlc1NvdXJjZU1hcHBpbmcuanMKQEAgLTEwMiw1MiArMTAyLDY4IEBAIFdlYkluc3BlY3Rv
ci5TdHlsZXNTb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKIFdlYkluc3BlY3Rvci5TdHlsZUZp
bGUgPSBmdW5jdGlvbih1aVNvdXJjZUNvZGUpCiB7CiAgICAgdGhpcy5fdWlTb3VyY2VDb2RlID0g
dWlTb3VyY2VDb2RlOworICAgIHRoaXMuX3VpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5Q2hhbmdlZCwgdGhpcy5f
d29ya2luZ0NvcHlDaGFuZ2VkLCB0aGlzKTsKKyAgICB0aGlzLl91aVNvdXJjZUNvZGUuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNv
bW1pdHRlZCwgdGhpcy5fd29ya2luZ0NvcHlDb21taXR0ZWQsIHRoaXMpOwogfQogCiBXZWJJbnNw
ZWN0b3IuU3R5bGVGaWxlLnVwZGF0ZVRpbWVvdXQgPSAyMDA7CiAKIFdlYkluc3BlY3Rvci5TdHls
ZUZpbGUucHJvdG90eXBlID0gewotICAgIC8qKgotICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP3N0
cmluZyl9IGNhbGxiYWNrCi0gICAgICovCi0gICAgd29ya2luZ0NvcHlDb21taXR0ZWQ6IGZ1bmN0
aW9uKGNhbGxiYWNrKQorICAgIF93b3JraW5nQ29weUNvbW1pdHRlZDogZnVuY3Rpb24oZXZlbnQp
CiAgICAgewotICAgICAgICB0aGlzLl9jb21taXRJbmNyZW1lbnRhbEVkaXQodHJ1ZSwgY2FsbGJh
Y2spOwotICAgIH0sCisgICAgICAgIGlmICh0aGlzLl9pc0FkZGluZ1JldmlzaW9uKQorICAgICAg
ICAgICAgcmV0dXJuOwogCi0gICAgd29ya2luZ0NvcHlDaGFuZ2VkOiBmdW5jdGlvbigpCi0gICAg
ewotICAgICAgICB0aGlzLl9jYWxsT3JTZXRUaW1lb3V0KHRoaXMuX2NvbW1pdEluY3JlbWVudGFs
RWRpdC5iaW5kKHRoaXMsIGZhbHNlLCBmdW5jdGlvbigpIHt9KSk7CisgICAgICAgIHRoaXMuX2Nv
bW1pdEluY3JlbWVudGFsRWRpdCh0cnVlKTsKICAgICB9LAogCi0gICAgLyoqCi0gICAgICogQHBh
cmFtIHtmdW5jdGlvbig/c3RyaW5nKX0gY2FsbGJhY2sKLSAgICAgKi8KLSAgICBfY2FsbE9yU2V0
VGltZW91dDogZnVuY3Rpb24oY2FsbGJhY2spCisgICAgX3dvcmtpbmdDb3B5Q2hhbmdlZDogZnVu
Y3Rpb24oZXZlbnQpCiAgICAgeworICAgICAgICBpZiAodGhpcy5faXNBZGRpbmdSZXZpc2lvbikK
KyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICAvLyBGSVhNRTogRXh0ZW5zaW9ucyB0ZXN0
cyBvdmVycmlkZSB1cGRhdGVUaW1lb3V0IGJlY2F1c2UgZXh0ZW5zaW9ucyBkb24ndCBoYXZlIGFu
eSBjb250cm9sIG92ZXIgYXBwbHlpbmcgY2hhbmdlcyB0byBkb21haW4gc3BlY2lmaWMgYmluZGlu
Z3MuCi0gICAgICAgIGlmIChXZWJJbnNwZWN0b3IuU3R5bGVGaWxlLnVwZGF0ZVRpbWVvdXQgPj0g
MCkKLSAgICAgICAgICAgIHRoaXMuX2luY3JlbWVudGFsVXBkYXRlVGltZXIgPSBzZXRUaW1lb3V0
KGNhbGxiYWNrLCBXZWJJbnNwZWN0b3IuU3R5bGVGaWxlLnVwZGF0ZVRpbWVvdXQpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBjYWxsYmFjayhudWxsKTsKKyAgICAgICAgaWYgKFdlYkluc3Bl
Y3Rvci5TdHlsZUZpbGUudXBkYXRlVGltZW91dCA+PSAwKSB7CisgICAgICAgICAgICB0aGlzLl9p
bmNyZW1lbnRhbFVwZGF0ZVRpbWVyID0gc2V0VGltZW91dCh0aGlzLl9jb21taXRJbmNyZW1lbnRh
bEVkaXQuYmluZCh0aGlzLCBmYWxzZSksIFdlYkluc3BlY3Rvci5TdHlsZUZpbGUudXBkYXRlVGlt
ZW91dCkKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0aGlzLl9jb21taXRJbmNyZW1lbnRh
bEVkaXQoZmFsc2UpOwogICAgIH0sCiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59
IG1ham9yQ2hhbmdlCi0gICAgICogQHBhcmFtIHtmdW5jdGlvbig/c3RyaW5nKX0gY2FsbGJhY2sK
ICAgICAgKi8KLSAgICBfY29tbWl0SW5jcmVtZW50YWxFZGl0OiBmdW5jdGlvbihtYWpvckNoYW5n
ZSwgY2FsbGJhY2spCisgICAgX2NvbW1pdEluY3JlbWVudGFsRWRpdDogZnVuY3Rpb24obWFqb3JD
aGFuZ2UpCiAgICAgeworICAgICAgICAvKioKKyAgICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBl
cnJvcgorICAgICAgICAgKi8KKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGlmIChlcnJvcikKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0
b3Iuc2hvd0Vycm9yTWVzc2FnZShlcnJvcik7CisgICAgICAgIH0KKwogICAgICAgICB0aGlzLl9j
bGVhckluY3JlbWVudGFsVXBkYXRlVGltZXIoKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnN0eWxl
Q29udGVudEJpbmRpbmcuc2V0U3R5bGVDb250ZW50KHRoaXMuX3VpU291cmNlQ29kZSwgdGhpcy5f
dWlTb3VyY2VDb2RlLndvcmtpbmdDb3B5KCksIG1ham9yQ2hhbmdlLCBjYWxsYmFjayk7CiAgICAg
fSwKIAogICAgIF9jbGVhckluY3JlbWVudGFsVXBkYXRlVGltZXI6IGZ1bmN0aW9uKCkKICAgICB7
Ci0gICAgICAgIGlmICh0aGlzLl9pbmNyZW1lbnRhbFVwZGF0ZVRpbWVyKQotICAgICAgICAgICAg
Y2xlYXJUaW1lb3V0KHRoaXMuX2luY3JlbWVudGFsVXBkYXRlVGltZXIpOworICAgICAgICBpZiAo
IXRoaXMuX2luY3JlbWVudGFsVXBkYXRlVGltZXIpCisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIGNsZWFyVGltZW91dCh0aGlzLl9pbmNyZW1lbnRhbFVwZGF0ZVRpbWVyKTsKICAgICAgICAg
ZGVsZXRlIHRoaXMuX2luY3JlbWVudGFsVXBkYXRlVGltZXI7CiAgICAgfSwKKworICAgIC8qKgor
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50CisgICAgICovCisgICAgYWRkUmV2aXNpb246
IGZ1bmN0aW9uKGNvbnRlbnQpCisgICAgeworICAgICAgICB0aGlzLl9pc0FkZGluZ1JldmlzaW9u
ID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlLmFkZFJldmlzaW9uKGNvbnRlbnQp
OworICAgICAgICBkZWxldGUgdGhpcy5faXNBZGRpbmdSZXZpc2lvbjsKKyAgICB9LAogfQogCiAK
QEAgLTI0NSw4ICsyNjEsOCBAQCBXZWJJbnNwZWN0b3IuU3R5bGVDb250ZW50QmluZGluZy5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoIXVpU291cmNlQ29kZSkKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgICAgIGlmICh1aVNvdXJjZUNvZGUuY29udGVudFR5cGUoKSA9
PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU3R5bGVzaGVldCkKLSAgICAgICAgICAgICAg
ICB1aVNvdXJjZUNvZGUuYWRkUmV2aXNpb24oY29udGVudCk7CisgICAgICAgICAgICBpZiAodWlT
b3VyY2VDb2RlLnN0eWxlRmlsZSgpKQorICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZS5zdHls
ZUZpbGUoKS5hZGRSZXZpc2lvbihjb250ZW50KTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMu
X2Nzc01vZGVsLnJlc291cmNlQmluZGluZygpLnJlcXVlc3RSZXNvdXJjZVVSTEZvclN0eWxlU2hl
ZXRJZChzdHlsZVNoZWV0SWQsIGNhbGxiYWNrLmJpbmQodGhpcykpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qcwppbmRleCAyYmIwZTFi
ZDIzMDVhYjk4ZTg1MjU0MTZmYjI0NTM3N2VmMTcwMDBlLi5hNjFkOTE0ZTFmMTNhODA1MjFiNTM5
YTY4MmM4ZWZkYjhkYzMzY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qcwpAQCAtMzA4LDEwICszMDgsNiBAQCBXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl93
b3JraW5nQ29weTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGhpcy5fd29ya2luZ0NvcHkg
PSBuZXdXb3JraW5nQ29weTsKLSAgICAgICAgaWYgKHRoaXMuc2NyaXB0RmlsZSgpKQotICAgICAg
ICAgICAgdGhpcy5zY3JpcHRGaWxlKCkud29ya2luZ0NvcHlDaGFuZ2VkKCk7Ci0gICAgICAgIGVs
c2UgaWYgKHRoaXMuc3R5bGVGaWxlKCkpCi0gICAgICAgICAgICB0aGlzLnN0eWxlRmlsZSgpLndv
cmtpbmdDb3B5Q2hhbmdlZCgpOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNoYW5nZWQsIHtv
bGRXb3JraW5nQ29weTogb2xkV29ya2luZ0NvcHksIHdvcmtpbmdDb3B5OiB0aGlzLndvcmtpbmdD
b3B5KCl9KTsKICAgICB9LAogCkBAIC0zMjUsMTEgKzMyMSw4IEBAIFdlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGUucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKHRoaXMuc2NyaXB0RmlsZSgpKQotICAgICAgICAgICAgdGhpcy5zY3JpcHRG
aWxlKCkud29ya2luZ0NvcHlDb21taXR0ZWQoY2FsbGJhY2spOwotICAgICAgICBlbHNlIGlmICh0
aGlzLnN0eWxlRmlsZSgpKQotICAgICAgICAgICAgdGhpcy5zdHlsZUZpbGUoKS53b3JraW5nQ29w
eUNvbW1pdHRlZChjYWxsYmFjayk7CiAgICAgICAgIHRoaXMuX2NvbW1pdENvbnRlbnQodGhpcy5f
d29ya2luZ0NvcHkpOworICAgICAgICBjYWxsYmFjayhudWxsKTsKICAgICB9LAogCiAgICAgLyoq
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZTc4Y2E5ZDhlNTg4MDE5ZGU5ZDMzYjkyMTBmOTY0YTRiMzNlYTQ3ZS4uMTg5YzVl
NjkzMTg2NGQ5NGUxODYzMDg3NGQ4OWRhNTNjMmI3ZjM5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDEyLTEwLTE1ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEV4dHJhY3QgZG9tYWluIHNwZWNpZmljIGVkaXRpbmcgaGFu
ZGxpbmcgbG9naWMgZnJvbSBVSVNvdXJjZUNvZGUgKHN0ZXAgMikuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTMwMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXItdGVzdC5qczoKKyAgICAgICAgKGluaXRpYWxpemVfRGVidWdnZXJUZXN0KToKKyAgICAg
ICAgKiBpbnNwZWN0b3Ivc3R5bGVzL2VkaXQtaW5zcGVjdG9yLXN0eWxlc2hlZXQuaHRtbDoKKwog
MjAxMi0xMC0xNCAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmluZywgVGVzdEV4cGVjdGF0aW9ucyB1
cGRhdGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXItdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
LXRlc3QuanMKaW5kZXggMGU1MDY0OGNlZDVlMDNmNjE2Nzc3YTQyNWNkNDMzMDBjZTkxMzlmOC4u
YWRjODlmOWJiN2I1MjgzMzhmMWNhZDhlZWM4ZmQ1OTQ4ZjFlNTQ2MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcworKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzCkBAIC0xNjAsNyAr
MTYwLDcgQEAgSW5zcGVjdG9yVGVzdC5fcmVzdW1lZFNjcmlwdCA9IGZ1bmN0aW9uKCkKIAogSW5z
cGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlID0gZnVuY3Rpb24oc2NyaXB0TmFtZSwgY2FsbGJh
Y2spCiB7Ci0gICAgdmFyIHBhbmVsID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJzY3JpcHRzIik7Cisg
ICAgdmFyIHBhbmVsID0gV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgic2NyaXB0cyIpOwogICAgIHZh
ciB1aVNvdXJjZUNvZGVzID0gcGFuZWwuX3dvcmtzcGFjZS51aVNvdXJjZUNvZGVzKCk7CiAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCB1aVNvdXJjZUNvZGVzLmxlbmd0aDsgKytpKSB7CiAgICAgICAg
IGlmICh1aVNvdXJjZUNvZGVzW2ldLnBhcnNlZFVSTC5sYXN0UGF0aENvbXBvbmVudCA9PT0gc2Ny
aXB0TmFtZSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9lZGl0
LWluc3BlY3Rvci1zdHlsZXNoZWV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L2VkaXQtaW5zcGVjdG9yLXN0eWxlc2hlZXQuaHRtbAppbmRleCAyMTJlYTBhODI3MmRhNDZiNTdi
MWFlYzFmMjRmMTg3NTZlNjQzN2QxLi43MmJmNTBiMDUwZTIyNjM1YzVmMTBhYzI0NWQyM2Q2NGVh
M2I2MGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL2VkaXQtaW5z
cGVjdG9yLXN0eWxlc2hlZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
L2VkaXQtaW5zcGVjdG9yLXN0eWxlc2hlZXQuaHRtbApAQCAtMTQsMjUgKzE0LDI0IEBAIGZ1bmN0
aW9uIHRlc3QoKQogCiAgICAgZnVuY3Rpb24gc3RlcDEobm9kZSkKICAgICB7Ci0gICAgICAgIFdl
Ykluc3BlY3Rvci5wYW5lbCgic2NyaXB0cyIpLl93b3Jrc3BhY2UuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIuRXZlbnRzLlVJU291cmNlQ29kZUFkZGVk
LCBzb3VyY2VDb2RlQWRkZWQpOwogICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuYWRkUnVs
ZShub2RlLmlkLCAiI2luc3BlY3RlZCIsIHN1Y2Nlc3NDYWxsYmFjaywgZmFpbHVyZUNhbGxiYWNr
KTsKIAotICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKSB7IH0KKyAgICAgICAgZnVu
Y3Rpb24gc3VjY2Vzc0NhbGxiYWNrKCkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gc2V0VGlt
d291dCBpcyBuZWVkZWQgaGVyZSBiZWNhdXNlIHNob3dTY3JpcHRTb3VyY2UgY2FsbGJhY2sgaXMg
dHJpZ2dlcmVkIGJ5IHVpU291cmNlQ29kZSBhZGRSZXZpc2lvbiBoYW5kbGluZworICAgICAgICAg
ICAgLy8gYW5kIHdlIG5lZWQgdG8gd2FpdCB1bnRpbCB0aGUgY29kZSBmbG93IGV4aXRzIFN0eWxl
RmlsZS5hZGRSZXZpc2lvbi4gCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRT
b3VyY2UoImluc3BlY3Rvci1zdHlsZXNoZWV0Iiwgc2V0VGltZW91dC5iaW5kKHRoaXMsIHN0ZXAy
LCAwKSk7CisgICAgICAgIH0KICAgICAgICAgZnVuY3Rpb24gZmFpbHVyZUNhbGxiYWNrKCkKICAg
ICAgICAgewogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZhaWxlZCB0byBh
ZGQgcnVsZS4iKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CiAg
ICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBzb3VyY2VDb2RlQWRkZWQoZXZlbnQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGlmIChldmVudC5kYXRhLnBhcnNlZFVSTC5zY2hlbWUgPT09ICJp
bnNwZWN0b3IiKQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJj
ZSgiaW5zcGVjdG9yLXN0eWxlc2hlZXQiLCBzdGVwMi5iaW5kKHRoaXMsIGV2ZW50LmRhdGEpKTsK
LSAgICAgICAgfQogICAgIH0KIAotICAgIGZ1bmN0aW9uIHN0ZXAyKHN0eWxlU291cmNlLCBzb3Vy
Y2VGcmFtZSkKKyAgICBmdW5jdGlvbiBzdGVwMihzb3VyY2VGcmFtZSkKICAgICB7CisgICAgICAg
IHZhciBzdHlsZVNvdXJjZSA9IHNvdXJjZUZyYW1lLl91aVNvdXJjZUNvZGU7CiAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJJbnNwZWN0b3Igc3R5bGVzaGVldCBVUkw6ICIgKyBzdHls
ZVNvdXJjZS5wYXJzZWRVUkwuZGlzcGxheU5hbWUpOwogICAgICAgICBzdHlsZVNvdXJjZS5yZXF1
ZXN0Q29udGVudChwcmludENvbnRlbnQoKSk7CiAK
</data>
<flag name="review"
          id="181701"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>