<?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>98911</bug_id>
          
          <creation_ts>2012-10-10 08:28:40 -0700</creation_ts>
          <short_desc>Web Inspector: Refactor UISourceCode, make it possible to distinguish working copy changes/commits from formatting.</short_desc>
          <delta_ts>2012-10-12 04:19:42 -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>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>738974</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-10 08:28:40 -0700</bug_when>
    <thetext>ContentChanged was dispatched both when working copy was committed and UISourceCode was formatted before.
WorkingCopyChanged event was dispatched when working copy was set.
Now there are three explicit events: WorkingCopyChanged, WorkingCopyCommitted, FormattedChanged.
No events are dispatched now during revisions restoring.
Reverting to revisions is now implemented based on the working copy editing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738975</commentid>
    <comment_count>1</comment_count>
      <attachid>168003</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-10 08:31:45 -0700</bug_when>
    <thetext>Created attachment 168003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740791</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-12 04:19:42 -0700</bug_when>
    <thetext>Committed r131169: &lt;http://trac.webkit.org/changeset/131169&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168003</attachid>
            <date>2012-10-10 08:31:45 -0700</date>
            <delta_ts>2012-10-11 04:47:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98911-20121010193043.patch</filename>
            <type>text/plain</type>
            <size>21780</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwODkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYwMDM0M2Y2MmQ1MGJl
M2MyMGQxZmNiMmUwY2I2NzlkZjYwMGQ1My4uMzY0MTM3NTk4NjdmNmI2YWVkMzI3ZWRkN2E5YmZi
MGQwYTM0NzExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU2IEBACiAyMDEyLTEwLTEwICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJlZmFjdG9yIFVJU291cmNlQ29kZSwgbWFrZSBpdCBwb3NzaWJsZSB0byBkaXN0aW5ndWlz
aCB3b3JraW5nIGNvcHkgY2hhbmdlcy9jb21taXRzIGZyb20gZm9ybWF0dGluZy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTExCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udGVudENoYW5nZWQgd2Fz
IGRpc3BhdGNoZWQgYm90aCB3aGVuIHdvcmtpbmcgY29weSB3YXMgY29tbWl0dGVkIGFuZCBVSVNv
dXJjZUNvZGUgd2FzIGZvcm1hdHRlZCBiZWZvcmUuCisgICAgICAgIFdvcmtpbmdDb3B5Q2hhbmdl
ZCBldmVudCB3YXMgZGlzcGF0Y2hlZCB3aGVuIHdvcmtpbmcgY29weSB3YXMgc2V0LgorICAgICAg
ICBOb3cgdGhlcmUgYXJlIHRocmVlIGV4cGxpY2l0IGV2ZW50czogV29ya2luZ0NvcHlDaGFuZ2Vk
LCBXb3JraW5nQ29weUNvbW1pdHRlZCwgRm9ybWF0dGVkQ2hhbmdlZC4KKyAgICAgICAgTm8gZXZl
bnRzIGFyZSBkaXNwYXRjaGVkIG5vdyBkdXJpbmcgcmV2aXNpb25zIHJlc3RvcmluZy4KKyAgICAg
ICAgUmV2ZXJ0aW5nIHRvIHJldmlzaW9ucyBpcyBub3cgaW1wbGVtZW50ZWQgYmFzZWQgb24gdGhl
IHdvcmtpbmcgY29weSBlZGl0aW5nLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9K
YXZhU2NyaXB0U291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlw
dFNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJh
bWUucHJvdG90eXBlLl9vbkZvcm1hdHRlZENoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX29uV29ya2luZ0NvcHlDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLl9v
bldvcmtpbmdDb3B5Q29tbWl0dGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0
U291cmNlRnJhbWUucHJvdG90eXBlLl9pbm5lclNldENvbnRlbnQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUub25UZXh0Q2hhbmdlZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OYXZpZ2F0b3JWaWV3LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLk5hdmlnYXRvclZpZXcucHJvdG90eXBlLl91aVNvdXJjZUNvZGVXb3JraW5n
Q29weUNvbW1pdHRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF2aWdhdG9yVmlldy5wcm90
b3R5cGUuX3VpU291cmNlQ29kZUZvcm1hdHRlZENoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLk5hdmlnYXRvclZpZXcucHJvdG90eXBlLl9hZGRVSVNvdXJjZUNvZGVMaXN0ZW5lcnMpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRvclZpZXcucHJvdG90eXBlLl9yZW1vdmVVSVNv
dXJjZUNvZGVMaXN0ZW5lcnMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVk
RWRpdG9yQ29udGFpbmVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZEVkaXRvckNv
bnRhaW5lci5wcm90b3R5cGUuX2FkZFVJU291cmNlQ29kZUxpc3RlbmVycyk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLnByb3RvdHlwZS5fcmVtb3ZlVUlTb3Vy
Y2VDb2RlTGlzdGVuZXJzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRFZGl0b3JDb250
YWluZXIucHJvdG90eXBlLl91aVNvdXJjZUNvZGVXb3JraW5nQ29weUNvbW1pdHRlZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLnByb3RvdHlwZS5fdWlTb3Vy
Y2VDb2RlRm9ybWF0dGVkQ2hhbmdlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9V
SVNvdXJjZUNvZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLl9jb21taXRDb250ZW50
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLmFkZFJldmlz
aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLl9yZXN0
b3JlUmV2aXNpb25IaXN0b3J5KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUu
cHJvdG90eXBlLnJldmVydFRvT3JpZ2luYWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVJU291
cmNlQ29kZS5wcm90b3R5cGUucmV2ZXJ0QW5kQ2xlYXJIaXN0b3J5KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLnNldFdvcmtpbmdDb3B5KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLmNvbW1pdFdvcmtpbmdDb3B5KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLnNldEZvcm1hdHRl
ZC5kaWRHZXRDb250ZW50LmZvcm1hdHRlZENoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlVJU291cmNlQ29kZS5wcm90b3R5cGUuc2V0Rm9ybWF0dGVkLmRpZEdldENvbnRlbnQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUuc2V0Rm9ybWF0dGVkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXZpc2lvbi5wcm90b3R5cGUucmV2ZXJ0VG9UaGlzKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZUZyYW1lLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5VSVNvdXJjZUNvZGVGcmFtZS5wcm90b3R5cGUub25UZXh0Q2hhbmdlZCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlRnJhbWUucHJvdG90eXBlLl9vbkZvcm1hdHRlZENo
YW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZUZyYW1lLnByb3RvdHlw
ZS5fb25Xb3JraW5nQ29weUNoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVJU291cmNl
Q29kZUZyYW1lLnByb3RvdHlwZS5fb25Xb3JraW5nQ29weUNvbW1pdHRlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlRnJhbWUucHJvdG90eXBlLl9pbm5lclNldENvbnRlbnQp
OgorCisyMDEyLTEwLTEwICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgor
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEV4Y2VwdGlvbiB3aGVuIGNvbW1pdHRpbmcgamF2YSBz
Y3JpcHQgZWRpdGluZyB3aXRoIHJldmlzaW9uIGhpc3RvcnkgdmlldyBvcGVuLgogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5MDgKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlRnJh
bWUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5qcwppbmRleCBmOGYyYmIzZDM1NWNlMDkxNTRkM2IyMzkxMjBhMGRjYmZhM2M4MmI5
Li4yYjI0NTBjNTE5NjE4Njk1ODIzZWJmNDE0MmFlZjg2NmM3YmVhY2RjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VGcmFtZS5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5qcwpAQCAtNTYsNyArNTYsOSBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJj
ZUZyYW1lID0gZnVuY3Rpb24oc2NyaXB0c1BhbmVsLCBqYXZhU2NyaXB0U291cmNlKQogICAgIHRo
aXMuX2JyZWFrcG9pbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJyZWFr
cG9pbnRNYW5hZ2VyLkV2ZW50cy5CcmVha3BvaW50QWRkZWQsIHRoaXMuX2JyZWFrcG9pbnRBZGRl
ZCwgdGhpcyk7CiAgICAgdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuRXZlbnRzLkJyZWFrcG9pbnRSZW1vdmVkLCB0
aGlzLl9icmVha3BvaW50UmVtb3ZlZCwgdGhpcyk7CiAKLSAgICB0aGlzLl9qYXZhU2NyaXB0U291
cmNlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuQ29u
dGVudENoYW5nZWQsIHRoaXMuX29uQ29udGVudENoYW5nZWQsIHRoaXMpOworICAgIHRoaXMuX2ph
dmFTY3JpcHRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
LkV2ZW50cy5Gb3JtYXR0ZWRDaGFuZ2VkLCB0aGlzLl9vbkZvcm1hdHRlZENoYW5nZWQsIHRoaXMp
OworICAgIHRoaXMuX2phdmFTY3JpcHRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNoYW5nZWQsIHRoaXMuX29uV29ya2lu
Z0NvcHlDaGFuZ2VkLCB0aGlzKTsKKyAgICB0aGlzLl9qYXZhU2NyaXB0U291cmNlLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuV29ya2luZ0NvcHlDb21t
aXR0ZWQsIHRoaXMuX29uV29ya2luZ0NvcHlDb21taXR0ZWQsIHRoaXMpOwogICAgIHRoaXMuX2ph
dmFTY3JpcHRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
LkV2ZW50cy5Db25zb2xlTWVzc2FnZUFkZGVkLCB0aGlzLl9jb25zb2xlTWVzc2FnZUFkZGVkLCB0
aGlzKTsKICAgICB0aGlzLl9qYXZhU2NyaXB0U291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuQ29uc29sZU1lc3NhZ2VSZW1vdmVkLCB0aGlzLl9j
b25zb2xlTWVzc2FnZVJlbW92ZWQsIHRoaXMpOwogICAgIHRoaXMuX2phdmFTY3JpcHRTb3VyY2Uu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Db25zb2xl
TWVzc2FnZXNDbGVhcmVkLCB0aGlzLl9jb25zb2xlTWVzc2FnZXNDbGVhcmVkLCB0aGlzKTsKQEAg
LTEwMCwxMSArMTAyLDMyIEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJv
dG90eXBlID0gewogICAgIC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkV2ZW50fSBl
dmVudAogICAgICAqLwotICAgIF9vbkNvbnRlbnRDaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKKyAg
ICBfb25Gb3JtYXR0ZWRDaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlm
ICh0aGlzLl9pc0NvbW1pdHRpbmdFZGl0aW5nKQotICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB2YXIgY29udGVudCA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBldmVudC5kYXRhLmNvbnRlbnQ7
CisgICAgICAgIHRoaXMuX2lubmVyU2V0Q29udGVudChjb250ZW50KTsKKyAgICB9LAorCisgICAg
LyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRXZlbnR9IGV2ZW50CisgICAgICovCisg
ICAgX29uV29ya2luZ0NvcHlDaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAg
IHRoaXMuX2lubmVyU2V0Q29udGVudCh0aGlzLl9qYXZhU2NyaXB0U291cmNlLndvcmtpbmdDb3B5
KCkpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5FdmVu
dH0gZXZlbnQKKyAgICAgKi8KKyAgICBfb25Xb3JraW5nQ29weUNvbW1pdHRlZDogZnVuY3Rpb24o
ZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9pbm5lclNldENvbnRlbnQodGhpcy5famF2YVNj
cmlwdFNvdXJjZS53b3JraW5nQ29weSgpKTsKKyAgICB9LAorCisgICAgX2lubmVyU2V0Q29udGVu
dDogZnVuY3Rpb24oY29udGVudCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9pc1NldHRpbmdX
b3JraW5nQ29weSB8fCB0aGlzLl9pc0NvbW1pdHRpbmdFZGl0aW5nKQorICAgICAgICAgICAgcmV0
dXJuOwogCiAgICAgICAgIGlmICh0aGlzLl9qYXZhU2NyaXB0U291cmNlLnRvZ2dsaW5nRm9ybWF0
dGVyKCkpCiAgICAgICAgICAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCwgZmFsc2UsIHRoaXMu
X2phdmFTY3JpcHRTb3VyY2UubWltZVR5cGUoKSk7CkBAIC0xNjIsNyArMTg1LDkgQEAgV2ViSW5z
cGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciB3
YXNEaXZlcmdlZCA9IHRoaXMuX2hhc0RpdmVyZ2VkRnJvbVZNKCk7CiAKICAgICAgICAgdGhpcy5f
cHJlc2VydmVEZWNvcmF0aW9ucyA9IHRydWU7CisgICAgICAgIHRoaXMuX2lzU2V0dGluZ1dvcmtp
bmdDb3B5ID0gdHJ1ZTsKICAgICAgICAgdGhpcy5famF2YVNjcmlwdFNvdXJjZS5zZXRXb3JraW5n
Q29weSh0aGlzLl90ZXh0RWRpdG9yLnRleHQoKSk7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9pc1Nl
dHRpbmdXb3JraW5nQ29weTsKICAgICAgICAgZGVsZXRlIHRoaXMuX3ByZXNlcnZlRGVjb3JhdGlv
bnM7CiAKICAgICAgICAgaWYgKHRoaXMuX3N1cHBvcnRzRW5hYmxlZEJyZWFrcG9pbnRzV2hpbGVF
ZGl0aW5nKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L05hdmlnYXRvclZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05h
dmlnYXRvclZpZXcuanMKaW5kZXggOTY5YTEwYTE5Y2FkYWExZWY3NzY4MDY1OGI2NmZhNzRhYThj
MzZjYy4uOTdmODhlOGU1ODA1N2MxMWViZDNkYzVhYTk3NDU4OTI4N2ZiYjFkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXZpZ2F0b3JWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmF2aWdhdG9yVmlldy5qcwpA
QCAtOTQsNyArOTQsMTMgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRvclZpZXcucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl91cGRhdGVTY3JpcHRUaXRsZSh1aVNvdXJjZUNvZGUpCiAgICAgfSwK
IAotICAgIF91aVNvdXJjZUNvZGVDb250ZW50Q2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCisgICAg
X3VpU291cmNlQ29kZVdvcmtpbmdDb3B5Q29tbWl0dGVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7
CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGV9ICovIGV2ZW50LnRhcmdldDsKKyAgICAgICAgdGhpcy5fdXBkYXRlU2NyaXB0VGl0
bGUodWlTb3VyY2VDb2RlKQorICAgIH0sCisKKyAgICBfdWlTb3VyY2VDb2RlRm9ybWF0dGVkQ2hh
bmdlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0g
LyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSAqLyBldmVudC50YXJnZXQ7CiAg
ICAgICAgIHRoaXMuX3VwZGF0ZVNjcmlwdFRpdGxlKHVpU291cmNlQ29kZSk7CkBAIC0xODcsNyAr
MTkzLDggQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRvclZpZXcucHJvdG90eXBlID0gewogICAgIHsK
ICAgICAgICAgdWlTb3VyY2VDb2RlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291
cmNlQ29kZS5FdmVudHMuVGl0bGVDaGFuZ2VkLCB0aGlzLl91aVNvdXJjZUNvZGVUaXRsZUNoYW5n
ZWQsIHRoaXMpOwogICAgICAgICB1aVNvdXJjZUNvZGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNoYW5nZWQsIHRoaXMuX3VpU291
cmNlQ29kZVdvcmtpbmdDb3B5Q2hhbmdlZCwgdGhpcyk7Ci0gICAgICAgIHVpU291cmNlQ29kZS5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLkNvbnRlbnRD
aGFuZ2VkLCB0aGlzLl91aVNvdXJjZUNvZGVDb250ZW50Q2hhbmdlZCwgdGhpcyk7CisgICAgICAg
IHVpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUu
RXZlbnRzLldvcmtpbmdDb3B5Q29tbWl0dGVkLCB0aGlzLl91aVNvdXJjZUNvZGVXb3JraW5nQ29w
eUNvbW1pdHRlZCwgdGhpcyk7CisgICAgICAgIHVpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLkZvcm1hdHRlZENoYW5nZWQsIHRoaXMu
X3VpU291cmNlQ29kZUZvcm1hdHRlZENoYW5nZWQsIHRoaXMpOwogICAgIH0sCiAKICAgICAvKioK
QEAgLTE5Nyw3ICsyMDQsOCBAQCBXZWJJbnNwZWN0b3IuTmF2aWdhdG9yVmlldy5wcm90b3R5cGUg
PSB7CiAgICAgewogICAgICAgICB1aVNvdXJjZUNvZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5UaXRsZUNoYW5nZWQsIHRoaXMuX3VpU291cmNl
Q29kZVRpdGxlQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIHVpU291cmNlQ29kZS5yZW1vdmVFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5Q2hh
bmdlZCwgdGhpcy5fdWlTb3VyY2VDb2RlV29ya2luZ0NvcHlDaGFuZ2VkLCB0aGlzKTsKLSAgICAg
ICAgdWlTb3VyY2VDb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNl
Q29kZS5FdmVudHMuQ29udGVudENoYW5nZWQsIHRoaXMuX3VpU291cmNlQ29kZUNvbnRlbnRDaGFu
Z2VkLCB0aGlzKTsKKyAgICAgICAgdWlTb3VyY2VDb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuV29ya2luZ0NvcHlDb21taXR0ZWQsIHRoaXMu
X3VpU291cmNlQ29kZVdvcmtpbmdDb3B5Q29tbWl0dGVkLCB0aGlzKTsKKyAgICAgICAgdWlTb3Vy
Y2VDb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVu
dHMuRm9ybWF0dGVkQ2hhbmdlZCwgdGhpcy5fdWlTb3VyY2VDb2RlRm9ybWF0dGVkQ2hhbmdlZCwg
dGhpcyk7CiAgICAgfSwKIAogICAgIF9zaG93U2NyaXB0Rm9sZGVyc1NldHRpbmdDaGFuZ2VkOiBm
dW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1RhYmJlZEVkaXRvckNvbnRhaW5lci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGFiYmVkRWRpdG9yQ29udGFpbmVyLmpzCmluZGV4IGNjYWExZGIyMjQxZGJlOGEzNDU1
MDFlNmViNjQ4ZGUwZDY0ZmRiNjIuLmQ0YTRlOWUwYTcwNjA4MGFlM2JhZTExZThjZWI2M2NjM2M2
NWZjMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFi
YmVkRWRpdG9yQ29udGFpbmVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGFiYmVkRWRpdG9yQ29udGFpbmVyLmpzCkBAIC0zMzMsNyArMzMzLDggQEAgV2ViSW5z
cGVjdG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAg
ICB1aVNvdXJjZUNvZGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
LkV2ZW50cy5UaXRsZUNoYW5nZWQsIHRoaXMuX3VpU291cmNlQ29kZVRpdGxlQ2hhbmdlZCwgdGhp
cyk7CiAgICAgICAgIHVpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5Q2hhbmdlZCwgdGhpcy5fdWlTb3VyY2VDb2Rl
V29ya2luZ0NvcHlDaGFuZ2VkLCB0aGlzKTsKLSAgICAgICAgdWlTb3VyY2VDb2RlLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuQ29udGVudENoYW5nZWQs
IHRoaXMuX3VpU291cmNlQ29kZUNvbnRlbnRDaGFuZ2VkLCB0aGlzKTsKKyAgICAgICAgdWlTb3Vy
Y2VDb2RlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMu
V29ya2luZ0NvcHlDb21taXR0ZWQsIHRoaXMuX3VpU291cmNlQ29kZVdvcmtpbmdDb3B5Q29tbWl0
dGVkLCB0aGlzKTsKKyAgICAgICAgdWlTb3VyY2VDb2RlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuRm9ybWF0dGVkQ2hhbmdlZCwgdGhpcy5fdWlTb3Vy
Y2VDb2RlRm9ybWF0dGVkQ2hhbmdlZCwgdGhpcyk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMzQz
LDcgKzM0NCw4IEBAIFdlYkluc3BlY3Rvci5UYWJiZWRFZGl0b3JDb250YWluZXIucHJvdG90eXBl
ID0gewogICAgIHsKICAgICAgICAgdWlTb3VyY2VDb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuVGl0bGVDaGFuZ2VkLCB0aGlzLl91aVNvdXJj
ZUNvZGVUaXRsZUNoYW5nZWQsIHRoaXMpOwogICAgICAgICB1aVNvdXJjZUNvZGUucmVtb3ZlRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNo
YW5nZWQsIHRoaXMuX3VpU291cmNlQ29kZVdvcmtpbmdDb3B5Q2hhbmdlZCwgdGhpcyk7Ci0gICAg
ICAgIHVpU291cmNlQ29kZS5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJj
ZUNvZGUuRXZlbnRzLkNvbnRlbnRDaGFuZ2VkLCB0aGlzLl91aVNvdXJjZUNvZGVDb250ZW50Q2hh
bmdlZCwgdGhpcyk7CisgICAgICAgIHVpU291cmNlQ29kZS5yZW1vdmVFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdDb3B5Q29tbWl0dGVkLCB0aGlz
Ll91aVNvdXJjZUNvZGVXb3JraW5nQ29weUNvbW1pdHRlZCwgdGhpcyk7CisgICAgICAgIHVpU291
cmNlQ29kZS5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZl
bnRzLkZvcm1hdHRlZENoYW5nZWQsIHRoaXMuX3VpU291cmNlQ29kZUZvcm1hdHRlZENoYW5nZWQs
IHRoaXMpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTM3MCw3ICszNzIsMTMgQEAgV2ViSW5zcGVj
dG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3Vw
ZGF0ZUZpbGVUaXRsZSh1aVNvdXJjZUNvZGUpOwogICAgIH0sCiAKLSAgICBfdWlTb3VyY2VDb2Rl
Q29udGVudENoYW5nZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIF91aVNvdXJjZUNvZGVXb3JraW5n
Q29weUNvbW1pdHRlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB2YXIgdWlTb3Vy
Y2VDb2RlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSAqLyBldmVudC50
YXJnZXQ7CisgICAgICAgIHRoaXMuX3VwZGF0ZUZpbGVUaXRsZSh1aVNvdXJjZUNvZGUpOworICAg
IH0sCisKKyAgICBfdWlTb3VyY2VDb2RlRm9ybWF0dGVkQ2hhbmdlZDogZnVuY3Rpb24oZXZlbnQp
CiAgICAgewogICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlfSAqLyBldmVudC50YXJnZXQ7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUZp
bGVUaXRsZSh1aVNvdXJjZUNvZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qcwppbmRleCBkOWE5NzM3OTJjNWI5MDA2NjNhMWIzODA1
ODdhYWI2NGFlYThlZDMwLi45N2Y3Yjc2YmZiZDhiMTZkMTdiZmQzY2VjOGVkZjdmODU3NTkxMmE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNl
Q29kZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNl
Q29kZS5qcwpAQCAtNjEsMTMgKzYxLDE1IEBAIFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUgPSBm
dW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJsZSkKICAgICAgKiBAdHlwZSB7
QXJyYXkuPFdlYkluc3BlY3Rvci5SZXZpc2lvbj59CiAgICAgICovCiAgICAgdGhpcy5oaXN0b3J5
ID0gW107Ci0gICAgdGhpcy5fcmVzdG9yZVJldmlzaW9uSGlzdG9yeSgpOworICAgIGlmICh0aGlz
LmlzRWRpdGFibGUoKSkKKyAgICAgICAgdGhpcy5fcmVzdG9yZVJldmlzaW9uSGlzdG9yeSgpOwog
ICAgIHRoaXMuX2Zvcm1hdHRlck1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLklkZW50aXR5Rm9y
bWF0dGVyU291cmNlTWFwcGluZygpOwogfQogCiBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2
ZW50cyA9IHsKLSAgICBDb250ZW50Q2hhbmdlZDogIkNvbnRlbnRDaGFuZ2VkIiwKKyAgICBGb3Jt
YXR0ZWRDaGFuZ2VkOiAiRm9ybWF0dGVkQ2hhbmdlZCIsCiAgICAgV29ya2luZ0NvcHlDaGFuZ2Vk
OiAiV29ya2luZ0NvcHlDaGFuZ2VkIiwKKyAgICBXb3JraW5nQ29weUNvbW1pdHRlZDogIldvcmtp
bmdDb3B5Q29tbWl0dGVkIiwKICAgICBUaXRsZUNoYW5nZWQ6ICJUaXRsZUNoYW5nZWQiLAogICAg
IENvbnNvbGVNZXNzYWdlQWRkZWQ6ICJDb25zb2xlTWVzc2FnZUFkZGVkIiwKICAgICBDb25zb2xl
TWVzc2FnZVJlbW92ZWQ6ICJDb25zb2xlTWVzc2FnZVJlbW92ZWQiLApAQCAtMTQwLDMzICsxNDIs
MzIgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAog
ICAgIC8qKgotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdDb250ZW50CisgICAgICogQHBhcmFt
IHtzdHJpbmd9IGNvbnRlbnQKICAgICAgKi8KLSAgICBfc2V0Q29udGVudDogZnVuY3Rpb24obmV3
Q29udGVudCkKKyAgICBfY29tbWl0Q29udGVudDogZnVuY3Rpb24oY29udGVudCkKICAgICB7Ci0g
ICAgICAgIHRoaXMuc2V0V29ya2luZ0NvcHkobmV3Q29udGVudCk7Ci0gICAgICAgIHRoaXMuY29t
bWl0V29ya2luZ0NvcHkoZnVuY3Rpb24oKSB7fSk7CisgICAgICAgIHRoaXMuX2NvbnRlbnQgPSBj
b250ZW50OworICAgICAgICB0aGlzLl9jb250ZW50TG9hZGVkID0gdHJ1ZTsKKyAgICAgICAgCisg
ICAgICAgIHZhciBsYXN0UmV2aXNpb24gPSB0aGlzLmhpc3RvcnkubGVuZ3RoID8gdGhpcy5oaXN0
b3J5W3RoaXMuaGlzdG9yeS5sZW5ndGggLSAxXSA6IG51bGw7CisgICAgICAgIGlmICghbGFzdFJl
dmlzaW9uIHx8IGxhc3RSZXZpc2lvbi5fY29udGVudCAhPT0gdGhpcy5fY29udGVudCkgeworICAg
ICAgICAgICAgdmFyIHJldmlzaW9uID0gbmV3IFdlYkluc3BlY3Rvci5SZXZpc2lvbih0aGlzLCB0
aGlzLl9jb250ZW50LCBuZXcgRGF0ZSgpKTsKKyAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wdXNo
KHJldmlzaW9uKTsKKyAgICAgICAgICAgIHJldmlzaW9uLl9wZXJzaXN0KCk7CisgICAgICAgIH0K
KworICAgICAgICB2YXIgb2xkV29ya2luZ0NvcHkgPSB0aGlzLl93b3JraW5nQ29weTsKKyAgICAg
ICAgZGVsZXRlIHRoaXMuX3dvcmtpbmdDb3B5OworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Xb3JraW5nQ29weUNv
bW1pdHRlZCwge29sZFdvcmtpbmdDb3B5OiBvbGRXb3JraW5nQ29weSwgd29ya2luZ0NvcHk6IHRo
aXMud29ya2luZ0NvcHkoKX0pOworICAgICAgICBXZWJJbnNwZWN0b3Iud29ya3NwYWNlLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuV29ya3NwYWNlLkV2ZW50cy5VSVNvdXJj
ZUNvZGVDb250ZW50Q29tbWl0dGVkLCB7IHVpU291cmNlQ29kZTogdGhpcywgY29udGVudDogdGhp
cy5fY29udGVudCB9KTsKICAgICB9LAogCiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9
IGNvbnRlbnQKLSAgICAgKiBAcGFyYW0ge0RhdGU9fSB0aW1lc3RhbXAKLSAgICAgKiBAcGFyYW0g
e2Jvb2xlYW49fSByZXN0b3JpbmdIaXN0b3J5CiAgICAgICovCi0gICAgYWRkUmV2aXNpb246IGZ1
bmN0aW9uKGNvbnRlbnQsIHRpbWVzdGFtcCwgcmVzdG9yaW5nSGlzdG9yeSkKKyAgICBhZGRSZXZp
c2lvbjogZnVuY3Rpb24oY29udGVudCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLmhpc3Rvcnku
bGVuZ3RoKSB7Ci0gICAgICAgICAgICB2YXIgbGFzdFJldmlzaW9uID0gdGhpcy5oaXN0b3J5W3Ro
aXMuaGlzdG9yeS5sZW5ndGggLSAxXTsKLSAgICAgICAgICAgIGlmIChsYXN0UmV2aXNpb24uX2Nv
bnRlbnQgPT09IGNvbnRlbnQpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0g
ICAgICAgIHZhciByZXZpc2lvbiA9IG5ldyBXZWJJbnNwZWN0b3IuUmV2aXNpb24odGhpcywgY29u
dGVudCwgdGltZXN0YW1wIHx8IG5ldyBEYXRlKCkpOwotICAgICAgICB0aGlzLmhpc3RvcnkucHVz
aChyZXZpc2lvbik7Ci0KLSAgICAgICAgdGhpcy5jb250ZW50Q2hhbmdlZChyZXZpc2lvbi5jb250
ZW50IHx8ICIiLCB0aGlzLmNhbm9uaWNhbE1pbWVUeXBlKCkpOwotICAgICAgICBpZiAoIXJlc3Rv
cmluZ0hpc3RvcnkpCi0gICAgICAgICAgICByZXZpc2lvbi5fcGVyc2lzdCgpOwotICAgICAgICBX
ZWJJbnNwZWN0b3Iud29ya3NwYWNlLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuV29ya3NwYWNlLkV2ZW50cy5VSVNvdXJjZUNvZGVDb250ZW50Q29tbWl0dGVkLCB7IHVpU291
cmNlQ29kZTogdGhpcywgY29udGVudDogY29udGVudCB9KTsKKyAgICAgICAgdGhpcy5fY29tbWl0
Q29udGVudChjb250ZW50KTsKICAgICB9LAogCiAgICAgX3Jlc3RvcmVSZXZpc2lvbkhpc3Rvcnk6
IGZ1bmN0aW9uKCkKQEAgLTE3Niw4ICsxNzcsMTcgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29k
ZS5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdmFyIHJlZ2lzdHJ5ID0gV2ViSW5zcGVjdG9yLlJl
dmlzaW9uLl9yZXZpc2lvbkhpc3RvcnlSZWdpc3RyeSgpOwogICAgICAgICB2YXIgaGlzdG9yeUl0
ZW1zID0gcmVnaXN0cnlbdGhpcy51cmxdOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaGlzdG9y
eUl0ZW1zICYmIGkgPCBoaXN0b3J5SXRlbXMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICB0aGlz
LmFkZFJldmlzaW9uKHdpbmRvdy5sb2NhbFN0b3JhZ2VbaGlzdG9yeUl0ZW1zW2ldLmtleV0sIG5l
dyBEYXRlKGhpc3RvcnlJdGVtc1tpXS50aW1lc3RhbXApLCB0cnVlKTsKKyAgICAgICAgaWYgKCFo
aXN0b3J5SXRlbXMgfHwgIWhpc3RvcnlJdGVtcy5sZW5ndGgpCisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGlzdG9yeUl0ZW1zLmxlbmd0aDsgKytpKSB7
CisgICAgICAgICAgICB2YXIgY29udGVudCA9IHdpbmRvdy5sb2NhbFN0b3JhZ2VbaGlzdG9yeUl0
ZW1zW2ldLmtleV07CisgICAgICAgICAgICB2YXIgdGltZXN0YW1wID0gbmV3IERhdGUoaGlzdG9y
eUl0ZW1zW2ldLnRpbWVzdGFtcCk7CisgICAgICAgICAgICB2YXIgcmV2aXNpb24gPSBuZXcgV2Vi
SW5zcGVjdG9yLlJldmlzaW9uKHRoaXMsIGNvbnRlbnQsIHRpbWVzdGFtcCk7CisgICAgICAgICAg
ICB0aGlzLmhpc3RvcnkucHVzaChyZXZpc2lvbik7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5f
Y29udGVudCA9IHRoaXMuaGlzdG9yeVt0aGlzLmhpc3RvcnkubGVuZ3RoIC0gMV0uY29udGVudDsK
KyAgICAgICAgdGhpcy5fY29udGVudExvYWRlZCA9IHRydWU7CisgICAgICAgIHRoaXMuX21pbWVU
eXBlID0gdGhpcy5jYW5vbmljYWxNaW1lVHlwZSgpOwogICAgIH0sCiAKICAgICBfY2xlYXJSZXZp
c2lvbkhpc3Rvcnk6IGZ1bmN0aW9uKCkKQEAgLTIwNiw3ICsyMTYsNyBAQCBXZWJJbnNwZWN0b3Iu
VUlTb3VyY2VDb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmICh0eXBlb2YgY29udGVu
dCAhPT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICB0
aGlzLl9zZXRDb250ZW50KGNvbnRlbnQpOworICAgICAgICAgICAgdGhpcy5hZGRSZXZpc2lvbihj
b250ZW50KTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMucmVxdWVzdE9yaWdpbmFsQ29udGVu
dChjYWxsYmFjay5iaW5kKHRoaXMpKTsKQEAgLTIyOCw3ICsyMzgsNyBAQCBXZWJJbnNwZWN0b3Iu
VUlTb3VyY2VDb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmICh0eXBlb2YgY29udGVu
dCAhPT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICB0
aGlzLl9zZXRDb250ZW50KGNvbnRlbnQpOworICAgICAgICAgICAgdGhpcy5hZGRSZXZpc2lvbihj
b250ZW50KTsKICAgICAgICAgICAgIHRoaXMuX2NsZWFyUmV2aXNpb25IaXN0b3J5KCk7CiAgICAg
ICAgICAgICB0aGlzLmhpc3RvcnkgPSBbXTsKICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMpOwpA
QCAtMjM4LDE5ICsyNDgsNiBAQCBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZSA9
IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IG5ld0NvbnRlbnQK
LSAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWltZVR5cGUKLSAgICAgKi8KLSAgICBjb250ZW50Q2hh
bmdlZDogZnVuY3Rpb24obmV3Q29udGVudCwgbWltZVR5cGUpCi0gICAgewotICAgICAgICB0aGlz
Ll9jb250ZW50ID0gbmV3Q29udGVudDsKLSAgICAgICAgdGhpcy5fbWltZVR5cGUgPSBtaW1lVHlw
ZTsKLSAgICAgICAgdGhpcy5fY29udGVudExvYWRlZCA9IHRydWU7Ci0gICAgICAgIGRlbGV0ZSB0
aGlzLl93b3JraW5nQ29weTsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5FdmVudHMuQ29udGVudENoYW5nZWQsIHtjb250ZW50
OiBuZXdDb250ZW50fSk7Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAqIEByZXR1cm4ge2Jvb2xl
YW59CiAgICAgICovCiAgICAgaXNFZGl0YWJsZTogZnVuY3Rpb24oKQpAQCAtMjczLDEzICsyNzAs
MTQgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUgPSB7CiAgICAgICovCiAg
ICAgc2V0V29ya2luZ0NvcHk6IGZ1bmN0aW9uKG5ld1dvcmtpbmdDb3B5KQogICAgIHsKKyAgICAg
ICAgdGhpcy5fbWltZVR5cGUgPSB0aGlzLmNhbm9uaWNhbE1pbWVUeXBlKCk7CiAgICAgICAgIHZh
ciBvbGRXb3JraW5nQ29weSA9IHRoaXMuX3dvcmtpbmdDb3B5OwogICAgICAgICBpZiAodGhpcy5f
Y29udGVudCA9PT0gbmV3V29ya2luZ0NvcHkpCiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fd29y
a2luZ0NvcHk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRoaXMuX3dvcmtpbmdDb3B5ID0g
bmV3V29ya2luZ0NvcHk7CiAgICAgICAgIHRoaXMud29ya2luZ0NvcHlDaGFuZ2VkKCk7Ci0gICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNv
ZGUuRXZlbnRzLldvcmtpbmdDb3B5Q2hhbmdlZCwge29sZFdvcmtpbmdDb3B5OiBvbGRXb3JraW5n
Q29weSwgd29ya2luZ0NvcHk6IG5ld1dvcmtpbmdDb3B5fSk7CisgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtp
bmdDb3B5Q2hhbmdlZCwge29sZFdvcmtpbmdDb3B5OiBvbGRXb3JraW5nQ29weSwgd29ya2luZ0Nv
cHk6IHRoaXMud29ya2luZ0NvcHkoKX0pOwogICAgIH0sCiAKICAgICB3b3JraW5nQ29weUNoYW5n
ZWQ6IGZ1bmN0aW9uKCkKQEAgLTI5Nyw5ICsyOTUsOCBAQCBXZWJJbnNwZWN0b3IuVUlTb3VyY2VD
b2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAg
ICAgIHZhciBuZXdDb250ZW50ID0gdGhpcy5fd29ya2luZ0NvcHk7CiAgICAgICAgIHRoaXMud29y
a2luZ0NvcHlDb21taXR0ZWQoY2FsbGJhY2spOwotICAgICAgICB0aGlzLmFkZFJldmlzaW9uKG5l
d0NvbnRlbnQpOworICAgICAgICB0aGlzLl9jb21taXRDb250ZW50KHRoaXMuX3dvcmtpbmdDb3B5
KTsKICAgICB9LAogCiAgICAgLyoqCkBAIC01MzgsNyArNTM1LDkgQEAgV2ViSW5zcGVjdG9yLlVJ
U291cmNlQ29kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBmdW5jdGlvbiBmb3JtYXR0ZWRD
aGFuZ2VkKGNvbnRlbnQsIGZvcm1hdHRlck1hcHBpbmcpCiAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgdGhpcy5fdG9nZ2xpbmdGb3JtYXR0ZXIgPSB0cnVlOwotICAgICAgICAgICAgICAg
IHRoaXMuY29udGVudENoYW5nZWQoY29udGVudCwgbWltZVR5cGUpOworICAgICAgICAgICAgICAg
IHRoaXMuX2NvbnRlbnQgPSBjb250ZW50OworICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl93
b3JraW5nQ29weTsKKyAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Gb3JtYXR0ZWRDaGFuZ2VkLCB7Y29u
dGVudDogY29udGVudH0pOwogICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl90b2dnbGluZ0Zv
cm1hdHRlcjsKICAgICAgICAgICAgICAgICB0aGlzLl9mb3JtYXR0ZXJNYXBwaW5nID0gZm9ybWF0
dGVyTWFwcGluZzsKICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUxpdmVMb2NhdGlvbnMoKTsK
QEAgLTc4Miw3ICs3ODEsNyBAQCBXZWJJbnNwZWN0b3IuUmV2aXNpb24ucHJvdG90eXBlID0gewog
ICAgICAgICBmdW5jdGlvbiByZXZlcnQoY29udGVudCkKICAgICAgICAgewogICAgICAgICAgICAg
aWYgKHRoaXMuX3VpU291cmNlQ29kZS5fY29udGVudCAhPT0gY29udGVudCkKLSAgICAgICAgICAg
ICAgICB0aGlzLl91aVNvdXJjZUNvZGUuX3NldENvbnRlbnQoY29udGVudCk7CisgICAgICAgICAg
ICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlLmFkZFJldmlzaW9uKGNvbnRlbnQpOwogICAgICAgICB9
CiAgICAgICAgIHRoaXMucmVxdWVzdENvbnRlbnQocmV2ZXJ0LmJpbmQodGhpcykpOwogICAgIH0s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNl
Q29kZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJj
ZUNvZGVGcmFtZS5qcwppbmRleCA5Yjk5NjhlNGUxMTE2ZjdmNjllZDg0MzM3MmM4OTYzYWVjMzBh
MTc0Li43ZTBiZjUxY2RkZmViY2NlYTEyNGNiZGY0Y2I3MGRkZGY5ODg3NmJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZUZyYW1lLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2RlRnJh
bWUuanMKQEAgLTM1LDcgKzM1LDkgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZUZyYW1lID0g
ZnVuY3Rpb24odWlTb3VyY2VDb2RlKQogewogICAgIHRoaXMuX3VpU291cmNlQ29kZSA9IHVpU291
cmNlQ29kZTsKICAgICBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUuY2FsbCh0aGlzLCB0aGlzLl91
aVNvdXJjZUNvZGUpOwotICAgIHRoaXMuX3VpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLkNvbnRlbnRDaGFuZ2VkLCB0aGlzLl9vbkNv
bnRlbnRDaGFuZ2VkLCB0aGlzKTsKKyAgICB0aGlzLl91aVNvdXJjZUNvZGUuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Gb3JtYXR0ZWRDaGFuZ2VkLCB0
aGlzLl9vbkZvcm1hdHRlZENoYW5nZWQsIHRoaXMpOworICAgIHRoaXMuX3VpU291cmNlQ29kZS5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLldvcmtpbmdD
b3B5Q2hhbmdlZCwgdGhpcy5fb25Xb3JraW5nQ29weUNoYW5nZWQsIHRoaXMpOworICAgIHRoaXMu
X3VpU291cmNlQ29kZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUu
RXZlbnRzLldvcmtpbmdDb3B5Q29tbWl0dGVkLCB0aGlzLl9vbldvcmtpbmdDb3B5Q29tbWl0dGVk
LCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZUZyYW1lLnByb3RvdHlwZSA9
IHsKQEAgLTYyLDcgKzY0LDkgQEAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZUZyYW1lLnByb3Rv
dHlwZSA9IHsKIAogICAgIG9uVGV4dENoYW5nZWQ6IGZ1bmN0aW9uKG9sZFJhbmdlLCBuZXdSYW5n
ZSkKICAgICB7CisgICAgICAgIHRoaXMuX2lzU2V0dGluZ1dvcmtpbmdDb3B5ID0gdHJ1ZTsKICAg
ICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlLnNldFdvcmtpbmdDb3B5KHRoaXMuX3RleHRFZGl0b3Iu
dGV4dCgpKTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2lzU2V0dGluZ1dvcmtpbmdDb3B5OwogICAg
IH0sCiAKICAgICBfZGlkRWRpdENvbnRlbnQ6IGZ1bmN0aW9uKGVycm9yKQpAQCAtNzYsMTAgKzgw
LDM0IEBAIFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAg
LyoqCiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRXZlbnR9IGV2ZW50CiAgICAgICovCi0g
ICAgX29uQ29udGVudENoYW5nZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIF9vbkZvcm1hdHRlZENo
YW5nZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9pc0NvbW1p
dHRpbmdFZGl0aW5nKQotICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KHRoaXMuX3VpU291cmNl
Q29kZS5jb250ZW50KCkgfHwgIiIsIGZhbHNlLCB0aGlzLl91aVNvdXJjZUNvZGUuY29udGVudFR5
cGUoKS5jYW5vbmljYWxNaW1lVHlwZSgpKTsKKyAgICAgICAgdmFyIGNvbnRlbnQgPSAvKiogQHR5
cGUge3N0cmluZ30gKi8gZXZlbnQuZGF0YS5jb250ZW50OworICAgICAgICB0aGlzLl9pbm5lclNl
dENvbnRlbnQoY29udGVudCk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLkV2ZW50fSBldmVudAorICAgICAqLworICAgIF9vbldvcmtpbmdDb3B5Q2hhbmdl
ZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9pbm5lclNldENvbnRlbnQo
dGhpcy5fdWlTb3VyY2VDb2RlLndvcmtpbmdDb3B5KCkpOworICAgIH0sCisKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5FdmVudH0gZXZlbnQKKyAgICAgKi8KKyAgICBfb25X
b3JraW5nQ29weUNvbW1pdHRlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlz
Ll9pbm5lclNldENvbnRlbnQodGhpcy5fdWlTb3VyY2VDb2RlLndvcmtpbmdDb3B5KCkpOworICAg
IH0sCisKKyAgICBfaW5uZXJTZXRDb250ZW50OiBmdW5jdGlvbihjb250ZW50KQorICAgIHsKKyAg
ICAgICAgaWYgKHRoaXMuX2lzU2V0dGluZ1dvcmtpbmdDb3B5IHx8IHRoaXMuX2lzQ29tbWl0dGlu
Z0VkaXRpbmcpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5zZXRDb250ZW50
KHRoaXMuX3VpU291cmNlQ29kZS5jb250ZW50KCkgfHwgIiIsIGZhbHNlLCB0aGlzLl91aVNvdXJj
ZUNvZGUuY29udGVudFR5cGUoKS5jYW5vbmljYWxNaW1lVHlwZSgpKTsKICAgICB9LAogCiAgICAg
cG9wdWxhdGVUZXh0QXJlYUNvbnRleHRNZW51OiBmdW5jdGlvbihjb250ZXh0TWVudSwgbGluZU51
bWJlcikK
</data>
<flag name="review"
          id="180863"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>