<?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>84704</bug_id>
          
          <creation_ts>2012-04-24 04:04:10 -0700</creation_ts>
          <short_desc>Web Inspector: remove pure delegation code from DebuggerPresentationModel</short_desc>
          <delta_ts>2012-04-24 04:24:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</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>608526</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-24 04:04:10 -0700</bug_when>
    <thetext>This change removes the code that delegates calls to breakpoint manager and exposes the breakpoint manager in debugger presentation model itself. It allows narrowing dpm dependencies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608528</commentid>
    <comment_count>1</comment_count>
      <attachid>138532</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-24 04:07:32 -0700</bug_when>
    <thetext>Created attachment 138532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608535</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-24 04:24:48 -0700</bug_when>
    <thetext>Committed r115032: &lt;http://trac.webkit.org/changeset/115032&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138532</attachid>
            <date>2012-04-24 04:07:32 -0700</date>
            <delta_ts>2012-04-24 04:22:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84704-20120424150730.patch</filename>
            <type>text/plain</type>
            <size>29366</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2VlYjAzNWIzYmVjM2Y2
ODkyNmI4YWNkYmZiMjgwZjBmNWY3NzI3Mi4uZGZiYTY1OGE3OGZhNjY4MGI4ZTg2YmZlMzliYzFl
MTA4M2Q2Yzk2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTA0LTI0ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHJlbW92ZSBwdXJlIGRlbGVnYXRpb24gY29kZSBmcm9tIERlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0
NzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBjaGFuZ2UgcmVtb3ZlcyB0aGUgY29kZSB0aGF0IGRlbGVnYXRlcyBjYWxscyB0byBicmVha3Bv
aW50IG1hbmFnZXIgYW5kIGV4cG9zZXMgdGhlIGJyZWFrcG9pbnQKKyAgICAgICAgbWFuYWdlciBp
biBkZWJ1Z2dlciBwcmVzZW50YXRpb24gbW9kZWwgaXRzZWxmLiBJdCBhbGxvd3MgbmFycm93aW5n
IGRwbSBkZXBlbmRlbmNpZXMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFr
cG9pbnRzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJy
ZWFrcG9pbnRzU2lkZWJhclBhbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRC
cmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fYnJlYWtwb2ludENoZWNrYm94Q2xpY2tl
ZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBh
bmUucHJvdG90eXBlLl9icmVha3BvaW50Q29udGV4dE1lbnUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fY29udGV4dE1l
bnUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5kZWJ1Z2dlclBhdXNl
ZERldGFpbHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBl
LmNyZWF0ZVJhd0xvY2F0aW9uQnlVUkwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
TW9kZWwucHJvdG90eXBlLmlzUGF1c2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuZ2V0IGJyZWFrcG9pbnRNYW5hZ2VyKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlw
ZS5fZGVidWdnZXJQYXVzZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2Vu
dGF0aW9uTW9kZWxSZXNvdXJjZUJpbmRpbmcucHJvdG90eXBlLl9zZXRDb250ZW50V2l0aEluaXRp
YWxDb250ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3Vy
Y2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZS5wcm90b3R5cGUuY29uc29sZU1lc3NhZ2Vz
Q2xlYXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZS5wcm90b3R5
cGUuZmluZEJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2UucHJvdG90eXBlLnNldEJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFT
Y3JpcHRTb3VyY2UucHJvdG90eXBlLnNldEJyZWFrcG9pbnRFbmFibGVkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlLnByb3RvdHlwZS5yZW1vdmVCcmVha3BvaW50KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlLnByb3RvdHlwZS51cGRhdGVC
cmVha3BvaW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlLnByb3Rv
dHlwZS5jb250aW51ZVRvTGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNv
dXJjZS5wcm90b3R5cGUuY2FuU2V0Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2
YVNjcmlwdFNvdXJjZS5wcm90b3R5cGUuc2V0Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuSmF2YVNjcmlwdFNvdXJjZS5wcm90b3R5cGUudXBkYXRlQnJlYWtwb2ludHNBZnRlckxpdmVF
ZGl0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2VGcmFt
ZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90
eXBlLmNhbkVkaXRTb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5wcm90b3R5cGUuZWRpdENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkph
dmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX29uQ29udGVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUucG9wdWxhdGVM
aW5lR3V0dGVyQ29udGV4dE1lbnUuZWxzZS5lZGl0QnJlYWtwb2ludENvbmRpdGlvbi5kaWRFZGl0
QnJlYWtwb2ludENvbmRpdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNv
dXJjZUZyYW1lLnByb3RvdHlwZS5wb3B1bGF0ZUxpbmVHdXR0ZXJDb250ZXh0TWVudS5lbHNlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLnBv
cHVsYXRlTGluZUd1dHRlckNvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZh
U2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLmJlZm9yZVRleHRDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlLl9nZXRQb3BvdmVy
QW5jaG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJv
dG90eXBlLl9yZXNvbHZlT2JqZWN0Rm9yUG9wb3Zlci5zaG93T2JqZWN0UG9wb3Zlcik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fcmVzb2x2
ZU9iamVjdEZvclBvcG92ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5wcm90b3R5cGUuX3NldEJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX29uTW91c2VEb3duKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Njb3BlQ2hhaW5TaWRlYmFyUGFuZS5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY29wZUNoYWluU2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fZGVidWdnZXJQYXVzZWQuZWxzZS5k
aWRHZXRVSUxvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJv
dG90eXBlLl9kZWJ1Z2dlclBhdXNlZCk6CisKIDIwMTItMDQtMjMgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIENvbnNvbGlkYXRlIGV4dGVybmFsIHN0eWxlc2hl
ZXQgcXVpcmtzIGhhbmRsaW5nIHRvIFN0eWxlU2hlZXRJbnRlcm5hbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQ
YW5lLmpzCmluZGV4IDhiYTQyYWFhZWUwOWZjNTQwMmQ3MjMyNjg3NWMwNWM0ZWM4YjNiMTAuLjgy
ZDhlYzI3YTE1MmNkMGVlMGY1OWQ1NDBkMDE5ZDEzMzhlMGQ5OWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJh
clBhbmUuanMKQEAgLTI1LDEzICsyNSwxNCBAQAogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgorICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXJ9IGJyZWFrcG9pbnRNYW5hZ2Vy
CiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lfQogICovCi1XZWJJbnNwZWN0
b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUgPSBmdW5jdGlvbihtb2RlbCwgc2hv
d1NvdXJjZUxpbmVEZWxlZ2F0ZSkKK1dlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNT
aWRlYmFyUGFuZSA9IGZ1bmN0aW9uKGJyZWFrcG9pbnRNYW5hZ2VyLCBzaG93U291cmNlTGluZURl
bGVnYXRlKQogewogICAgIFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5jYWxsKHRoaXMsIFdlYklu
c3BlY3Rvci5VSVN0cmluZygiQnJlYWtwb2ludHMiKSk7CiAKLSAgICB0aGlzLl9tb2RlbCA9IG1v
ZGVsOworICAgIHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyID0gYnJlYWtwb2ludE1hbmFnZXI7CiAg
ICAgdGhpcy5fc2hvd1NvdXJjZUxpbmVEZWxlZ2F0ZSA9IHNob3dTb3VyY2VMaW5lRGVsZWdhdGU7
CiAKICAgICB0aGlzLmxpc3RFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2wiKTsK
QEAgLTE0OCwxNyArMTQ5LDE3IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNT
aWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIEJyZWFrcG9pbnQgZWxlbWVudCBo
YXMgaXQncyBvd24gY2xpY2sgaGFuZGxlci4KICAgICAgICAgZXZlbnQuY29uc3VtZSgpOwogCi0g
ICAgICAgIHRoaXMuX21vZGVsLnNldEJyZWFrcG9pbnRFbmFibGVkKGJyZWFrcG9pbnQudWlTb3Vy
Y2VDb2RlLCBicmVha3BvaW50LmxpbmVOdW1iZXIsIGV2ZW50LnRhcmdldC5jaGVja2VkKTsKKyAg
ICAgICAgYnJlYWtwb2ludC51aVNvdXJjZUNvZGUuc2V0QnJlYWtwb2ludEVuYWJsZWQoYnJlYWtw
b2ludC5saW5lTnVtYmVyLCBldmVudC50YXJnZXQuY2hlY2tlZCk7CiAgICAgfSwKIAogICAgIF9i
cmVha3BvaW50Q29udGV4dE1lbnU6IGZ1bmN0aW9uKGJyZWFrcG9pbnQsIGV2ZW50KQogICAgIHsK
ICAgICAgICAgdmFyIGNvbnRleHRNZW51ID0gbmV3IFdlYkluc3BlY3Rvci5Db250ZXh0TWVudSgp
OwogCi0gICAgICAgIHZhciByZW1vdmVIYW5kbGVyID0gdGhpcy5fbW9kZWwucmVtb3ZlQnJlYWtw
b2ludC5iaW5kKHRoaXMuX21vZGVsLCBicmVha3BvaW50LnVpU291cmNlQ29kZSwgYnJlYWtwb2lu
dC5saW5lTnVtYmVyKTsKKyAgICAgICAgdmFyIHJlbW92ZUhhbmRsZXIgPSBicmVha3BvaW50LnVp
U291cmNlQ29kZS5yZW1vdmVCcmVha3BvaW50LmJpbmQoYnJlYWtwb2ludC51aVNvdXJjZUNvZGUs
IGJyZWFrcG9pbnQubGluZU51bWJlcik7CiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0o
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZW1vdmUgQnJlYWtwb2ludCIpLCByZW1vdmVIYW5kbGVy
KTsKICAgICAgICAgdmFyIHJlbW92ZUFsbFRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdl
Ykluc3BlY3Rvci51c2VMb3dlckNhc2VNZW51VGl0bGVzKCkgPyAiUmVtb3ZlIGFsbCBKYXZhU2Ny
aXB0IGJyZWFrcG9pbnRzIiA6ICJSZW1vdmUgQWxsIEphdmFTY3JpcHQgQnJlYWtwb2ludHMiKTsK
LSAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShyZW1vdmVBbGxUaXRsZSwgdGhpcy5fbW9k
ZWwucmVtb3ZlQWxsQnJlYWtwb2ludHMuYmluZCh0aGlzLl9tb2RlbCkpOworICAgICAgICBjb250
ZXh0TWVudS5hcHBlbmRJdGVtKHJlbW92ZUFsbFRpdGxlLCB0aGlzLl9icmVha3BvaW50TWFuYWdl
ci5yZW1vdmVBbGxCcmVha3BvaW50cy5iaW5kKHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyKSk7CiAK
ICAgICAgICAgY29udGV4dE1lbnUuc2hvdyhldmVudCk7CiAgICAgfSwKQEAgLTE2Nyw3ICsxNjgs
NyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90
eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIGNvbnRleHRNZW51ID0gbmV3IFdlYkluc3BlY3Rv
ci5Db250ZXh0TWVudSgpOwogICAgICAgICB2YXIgcmVtb3ZlQWxsVGl0bGUgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVUaXRsZXMoKSA/ICJSZW1v
dmUgYWxsIEphdmFTY3JpcHQgYnJlYWtwb2ludHMiIDogIlJlbW92ZSBBbGwgSmF2YVNjcmlwdCBC
cmVha3BvaW50cyIpOwotICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKHJlbW92ZUFsbFRp
dGxlLCB0aGlzLl9tb2RlbC5yZW1vdmVBbGxCcmVha3BvaW50cy5iaW5kKHRoaXMuX21vZGVsKSk7
CisgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0ocmVtb3ZlQWxsVGl0bGUsIHRoaXMuX2Jy
ZWFrcG9pbnRNYW5hZ2VyLnJlbW92ZUFsbEJyZWFrcG9pbnRzLmJpbmQodGhpcy5fYnJlYWtwb2lu
dE1hbmFnZXIpKTsKICAgICAgICAgY29udGV4dE1lbnUuc2hvdyhldmVudCk7CiAgICAgfSwKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1v
ZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVs
LmpzCmluZGV4IGEzMGU5NjIyZTIyNjFiMDIwYjNlNTMxY2Q4ZWFjMWI1NTM3YTYyYzYuLjg0ZDk2
YzgzMjZkYTE1MDU4ZWQzMjRkZDExY2RiY2MyYzQ3MDdjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKQEAgLTI3OCw3ICsy
NzgsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgLyoq
CiAgICAgICogQHJldHVybiB7P1dlYkluc3BlY3Rvci5EZWJ1Z2dlclBhdXNlZERldGFpbHN9CiAg
ICAgICovCi0gICAgZ2V0IGRlYnVnZ2VyUGF1c2VkRGV0YWlscygpCisgICAgZGVidWdnZXJQYXVz
ZWREZXRhaWxzOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZGVidWdn
ZXJQYXVzZWREZXRhaWxzOwogICAgIH0sCkBAIC0zNjUsNiArMzY1LDE0IEBAIFdlYkluc3BlY3Rv
ci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiBjbG9zZXN0U2NyaXB0ID8gbmV3IFdlYkluc3BlY3Rvci5EZWJ1
Z2dlck1vZGVsLkxvY2F0aW9uKGNsb3Nlc3RTY3JpcHQsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJl
cikgOiBudWxsOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQor
ICAgICAqLworICAgIGlzUGF1c2VkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4g
ISF0aGlzLmRlYnVnZ2VyUGF1c2VkRGV0YWlscygpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNl
bnRhdGlvbk1vZGVsLmpzCmluZGV4IDU4NzM4YTE0YjI1MDcwMDAzMTRjYTc1MDVmZTkwZjY0YjVl
YTJiNDIuLjc1NDI1ZDkzNTNlNmFkODFhZTA0MmZmM2ZiMzZmMjQwNjRlZjVhMDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRp
b25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwuanMKQEAgLTcxLDYgKzcxLDExIEBAIFdlYkluc3BlY3Rvci5E
ZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cyA9IHsKIH0KIAogV2ViSW5zcGVjdG9yLkRl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0geworICAgIGdldCBicmVha3BvaW50
TWFuYWdlcigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludE1hbmFnZXI7
CisgICAgfSwKKwogICAgIC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
UHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyRm9ybWF0dGVyPX0gZm9ybWF0dGVyCiAgICAgICov
CkBAIC0yMTEsNDEgKzIxNiw2IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKLSAgICAgKiBAcGFyYW0ge3N0cmlu
Z30gb2xkU291cmNlCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IG5ld1NvdXJjZQotICAgICAqLwot
ICAgIF91cGRhdGVCcmVha3BvaW50c0FmdGVyTGl2ZUVkaXQ6IGZ1bmN0aW9uKHVpU291cmNlQ29k
ZSwgb2xkU291cmNlLCBuZXdTb3VyY2UpCi0gICAgewotICAgICAgICB2YXIgYnJlYWtwb2ludHMg
PSB1aVNvdXJjZUNvZGUuYnJlYWtwb2ludHMoKTsKLQotICAgICAgICAvLyBDbGVhciBhbmQgcmUt
Y3JlYXRlIGJyZWFrcG9pbnRzIGFjY29yZGluZyB0byB0ZXh0IGRpZmYuCi0gICAgICAgIHZhciBk
aWZmID0gQXJyYXkuZGlmZihvbGRTb3VyY2Uuc3BsaXQoIlxuIiksIG5ld1NvdXJjZS5zcGxpdCgi
XG4iKSk7Ci0gICAgICAgIGZvciAodmFyIGxpbmVOdW1iZXIgaW4gYnJlYWtwb2ludHMpIHsKLSAg
ICAgICAgICAgIHZhciBicmVha3BvaW50ID0gYnJlYWtwb2ludHNbbGluZU51bWJlcl07Ci0KLSAg
ICAgICAgICAgIHRoaXMucmVtb3ZlQnJlYWtwb2ludCh1aVNvdXJjZUNvZGUsIHBhcnNlSW50KGxp
bmVOdW1iZXIsIDEwKSk7Ci0KLSAgICAgICAgICAgIHZhciBuZXdMaW5lTnVtYmVyID0gZGlmZi5s
ZWZ0W2xpbmVOdW1iZXJdLnJvdzsKLSAgICAgICAgICAgIGlmIChuZXdMaW5lTnVtYmVyID09PSB1
bmRlZmluZWQpIHsKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gbGluZU51bWJlciAtIDE7
IGkgPj0gMDsgLS1pKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkaWZmLmxlZnRbaV0ucm93
ID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgICAgICAgICAgdmFyIHNoaWZ0ZWRMaW5lTnVtYmVyID0gZGlmZi5sZWZ0W2ldLnJvdyAr
IGxpbmVOdW1iZXIgLSBpOwotICAgICAgICAgICAgICAgICAgICBpZiAoc2hpZnRlZExpbmVOdW1i
ZXIgPCBkaWZmLnJpZ2h0Lmxlbmd0aCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9y
aWdpbmFsTGluZU51bWJlciA9IGRpZmYucmlnaHRbc2hpZnRlZExpbmVOdW1iZXJdLnJvdzsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChvcmlnaW5hbExpbmVOdW1iZXIgPT09IGxpbmVOdW1i
ZXIgfHwgb3JpZ2luYWxMaW5lTnVtYmVyID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbmV3TGluZU51bWJlciA9IHNoaWZ0ZWRMaW5lTnVtYmVyOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChuZXdMaW5lTnVtYmVyICE9PSB1bmRl
ZmluZWQpCi0gICAgICAgICAgICAgICAgdGhpcy5zZXRCcmVha3BvaW50KHVpU291cmNlQ29kZSwg
bmV3TGluZU51bWJlciwgYnJlYWtwb2ludC5jb25kaXRpb24sIGJyZWFrcG9pbnQuZW5hYmxlZCk7
Ci0gICAgICAgIH0KLSAgICB9LAotCi0gICAgLyoqCiAgICAgICogQHBhcmFtIHtib29sZWFufSBm
b3JtYXRTb3VyY2UKICAgICAgKi8KICAgICBzZXRGb3JtYXRTb3VyY2U6IGZ1bmN0aW9uKGZvcm1h
dFNvdXJjZSkKQEAgLTM0Miw3MCArMzEyLDExIEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNl
bnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TW9kZWwuY29udGludWVUb0xvY2F0aW9uKHJhd0xvY2F0aW9uKTsKICAgICB9LAogCi0gICAgLyoq
Ci0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUK
LSAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgotICAgICAqIEBwYXJhbSB7c3RyaW5n
fSBjb25kaXRpb24KLSAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZWQKLSAgICAgKi8KLSAg
ICBzZXRCcmVha3BvaW50OiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbmRp
dGlvbiwgZW5hYmxlZCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLnNl
dEJyZWFrcG9pbnQodWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQp
OwotICAgICAgICB0aGlzLnNldEJyZWFrcG9pbnRzQWN0aXZlKHRydWUpOwotICAgIH0sCi0KLSAg
ICAvKioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNl
Q29kZQotICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCi0gICAgICogQHBhcmFtIHti
b29sZWFufSBlbmFibGVkCi0gICAgICovCi0gICAgc2V0QnJlYWtwb2ludEVuYWJsZWQ6IGZ1bmN0
aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlciwgZW5hYmxlZCkKLSAgICB7Ci0gICAgICAgIHZh
ciBicmVha3BvaW50ID0gdGhpcy5maW5kQnJlYWtwb2ludCh1aVNvdXJjZUNvZGUsIGxpbmVOdW1i
ZXIpOwotICAgICAgICBpZiAoIWJyZWFrcG9pbnQpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLnJlbW92ZUJyZWFrcG9pbnQodWlTb3VyY2VDb2Rl
LCBsaW5lTnVtYmVyKTsKLSAgICAgICAgdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIuc2V0QnJlYWtw
b2ludCh1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGJyZWFrcG9pbnQuY29uZGl0aW9uLCBlbmFi
bGVkKTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKLSAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJl
cgotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjb25kaXRpb24KLSAgICAgKiBAcGFyYW0ge2Jvb2xl
YW59IGVuYWJsZWQKLSAgICAgKi8KLSAgICB1cGRhdGVCcmVha3BvaW50OiBmdW5jdGlvbih1aVNv
dXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCkKLSAgICB7Ci0gICAgICAg
IHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLnJlbW92ZUJyZWFrcG9pbnQodWlTb3VyY2VDb2RlLCBs
aW5lTnVtYmVyKTsKLSAgICAgICAgdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIuc2V0QnJlYWtwb2lu
dCh1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCk7Ci0gICAgfSwK
LQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlT
b3VyY2VDb2RlCi0gICAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVOdW1iZXIKLSAgICAgKi8KLSAg
ICByZW1vdmVCcmVha3BvaW50OiBmdW5jdGlvbih1aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIpCi0g
ICAgewotICAgICAgICB0aGlzLl9icmVha3BvaW50TWFuYWdlci5yZW1vdmVCcmVha3BvaW50KHVp
U291cmNlQ29kZSwgbGluZU51bWJlcik7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqLwogICAg
IHJlbW92ZUFsbEJyZWFrcG9pbnRzOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9i
cmVha3BvaW50TWFuYWdlci5yZW1vdmVBbGxCcmVha3BvaW50cygpOwogICAgIH0sCiAKLSAgICAv
KioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29k
ZQotICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCi0gICAgICogQHJldHVybiB7V2Vi
SW5zcGVjdG9yLlVJQnJlYWtwb2ludHx1bmRlZmluZWR9Ci0gICAgICovCi0gICAgZmluZEJyZWFr
cG9pbnQ6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSwgbGluZU51bWJlcikKLSAgICB7Ci0gICAgICAg
IHJldHVybiB1aVNvdXJjZUNvZGUuYnJlYWtwb2ludHMoKVtTdHJpbmcobGluZU51bWJlcildOwot
ICAgIH0sCi0KICAgICBfZGVidWdnZXJQYXVzZWQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAg
IHZhciBjYWxsRnJhbWVzID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuY2FsbEZyYW1lczsK
QEAgLTQxNSw3ICszMjYsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9k
ZWwuc2NyaXB0Rm9yU291cmNlSUQoY2FsbEZyYW1lLmxvY2F0aW9uLnNjcmlwdElkKSkKICAgICAg
ICAgICAgICAgICB0aGlzLl9wcmVzZW50YXRpb25DYWxsRnJhbWVzLnB1c2gobmV3IFdlYkluc3Bl
Y3Rvci5QcmVzZW50YXRpb25DYWxsRnJhbWUoY2FsbEZyYW1lLCBpLCB0aGlzKSk7CiAgICAgICAg
IH0KLSAgICAgICAgdmFyIGRldGFpbHMgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5kZWJ1
Z2dlclBhdXNlZERldGFpbHM7CisgICAgICAgIHZhciBkZXRhaWxzID0gV2ViSW5zcGVjdG9yLmRl
YnVnZ2VyTW9kZWwuZGVidWdnZXJQYXVzZWREZXRhaWxzKCk7CiAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVs
LkV2ZW50cy5EZWJ1Z2dlclBhdXNlZCwgeyBjYWxsRnJhbWVzOiB0aGlzLl9wcmVzZW50YXRpb25D
YWxsRnJhbWVzLCBkZXRhaWxzOiBkZXRhaWxzIH0pOwogICAgICAgICB0aGlzLnNlbGVjdGVkQ2Fs
bEZyYW1lID0gdGhpcy5fcHJlc2VudGF0aW9uQ2FsbEZyYW1lc1swXTsKICAgICB9LApAQCAtNDI3
LDExICszMzgsNiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5EZWJ1Z2dlclJlc3VtZWQpOwog
ICAgIH0sCiAKLSAgICBnZXQgcGF1c2VkKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiAhIVdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmRlYnVnZ2VyUGF1c2VkRGV0YWlsczsKLSAgICB9LAotCiAg
ICAgc2V0IHNlbGVjdGVkQ2FsbEZyYW1lKGNhbGxGcmFtZSkKICAgICB7CiAgICAgICAgIGlmICh0
aGlzLl9leGVjdXRpb25MaW5lTGl2ZUxvY2F0aW9uKQpAQCAtNzU1LDcgKzY2MSw3IEBAIFdlYklu
c3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsUmVzb3VyY2VCaW5kaW5nLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIGlmICh1c2VyQ2FsbGJhY2spCiAgICAgICAgICAgICAgICAgdXNl
ckNhbGxiYWNrKGVycm9yKTsKICAgICAgICAgICAgIGlmICghZXJyb3IpCi0gICAgICAgICAgICAg
ICAgdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwuX3VwZGF0ZUJyZWFrcG9pbnRzQWZ0ZXJMaXZlRWRp
dCh1aVNvdXJjZUNvZGUsIG9sZENvbnRlbnQgfHwgIiIsIGNvbnRlbnQpOworICAgICAgICAgICAg
ICAgIHVpU291cmNlQ29kZS51cGRhdGVCcmVha3BvaW50c0FmdGVyTGl2ZUVkaXQob2xkQ29udGVu
dCB8fCAiIiwgY29udGVudCk7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fcHJlc2VudGF0aW9u
TW9kZWwuc2V0U2NyaXB0U291cmNlKHVpU291cmNlQ29kZSwgY29udGVudCwgY2FsbGJhY2suYmlu
ZCh0aGlzKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9KYXZhU2NyaXB0U291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9KYXZhU2NyaXB0U291cmNlLmpzCmluZGV4IGFlMTc2NDhiODMyZDg3ZDA3NDQxOTVl
MjgxYzU0ZTFhMDkzYjVlYjMuLjM5YjFkNDhlNzllMDAyMTdmZGQ0ZTA4YmU2M2ZlZDFhZDc5Y2Zi
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNj
cmlwdFNvdXJjZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ph
dmFTY3JpcHRTb3VyY2UuanMKQEAgLTM4LDYgKzM4LDEyIEBACiBXZWJJbnNwZWN0b3IuSmF2YVNj
cmlwdFNvdXJjZSA9IGZ1bmN0aW9uKGlkLCB1cmwsIGNvbnRlbnRQcm92aWRlcikKIHsKICAgICBX
ZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLmNhbGwodGhpcywgaWQsIHVybCwgY29udGVudFByb3Zp
ZGVyKTsKKworICAgIHRoaXMuX21vZGVsID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyUHJlc2VudGF0
aW9uTW9kZWw7CisKKyAgICBpZiAodGhpcy5fbW9kZWwpIC8vIEZvciB0ZXN0cy4KKyAgICAgICAg
dGhpcy5fYnJlYWtwb2ludE1hbmFnZXIgPSB0aGlzLl9tb2RlbC5icmVha3BvaW50TWFuYWdlcjsK
KwogICAgIC8qKgogICAgICAqIEB0eXBlIHtPYmplY3QuPHN0cmluZyxXZWJJbnNwZWN0b3IuVUlC
cmVha3BvaW50Pn0KICAgICAgKi8KQEAgLTk5LDYgKzEwNSwxMTIgQEAgV2ViSW5zcGVjdG9yLkph
dmFTY3JpcHRTb3VyY2UucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fY29uc29s
ZU1lc3NhZ2VzID0gW107CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUuRXZlbnRzLkNvbnNvbGVNZXNzYWdlc0NsZWFyZWQpOwor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51bWJlcgorICAg
ICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5VSUJyZWFrcG9pbnR8dW5kZWZpbmVkfQorICAgICAq
LworICAgIGZpbmRCcmVha3BvaW50OiBmdW5jdGlvbihsaW5lTnVtYmVyKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIHRoaXMuX2JyZWFrcG9pbnRzW1N0cmluZyhsaW5lTnVtYmVyKV07CisgICAgfSwK
KworICAgIC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisgICAgICogQHBh
cmFtIHtzdHJpbmd9IGNvbmRpdGlvbgorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlZAor
ICAgICAqLworICAgIHNldEJyZWFrcG9pbnQ6IGZ1bmN0aW9uKGxpbmVOdW1iZXIsIGNvbmRpdGlv
biwgZW5hYmxlZCkKKyAgICB7CisgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLnNldEJy
ZWFrcG9pbnQodGhpcywgbGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKTsKKyAgICAgICAg
dGhpcy5fbW9kZWwuc2V0QnJlYWtwb2ludHNBY3RpdmUodHJ1ZSk7CisgICAgfSwKKworICAgIC8q
KgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisgICAgICogQHBhcmFtIHtib29s
ZWFufSBlbmFibGVkCisgICAgICovCisgICAgc2V0QnJlYWtwb2ludEVuYWJsZWQ6IGZ1bmN0aW9u
KGxpbmVOdW1iZXIsIGVuYWJsZWQpCisgICAgeworICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHRo
aXMuZmluZEJyZWFrcG9pbnQobGluZU51bWJlcik7CisgICAgICAgIGlmICghYnJlYWtwb2ludCkK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdGhpcy5fYnJlYWtwb2ludE1hbmFnZXIucmVt
b3ZlQnJlYWtwb2ludCh0aGlzLCBsaW5lTnVtYmVyKTsKKyAgICAgICAgdGhpcy5fYnJlYWtwb2lu
dE1hbmFnZXIuc2V0QnJlYWtwb2ludCh0aGlzLCBsaW5lTnVtYmVyLCBicmVha3BvaW50LmNvbmRp
dGlvbiwgZW5hYmxlZCk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVy
fSBsaW5lTnVtYmVyCisgICAgICovCisgICAgcmVtb3ZlQnJlYWtwb2ludDogZnVuY3Rpb24obGlu
ZU51bWJlcikKKyAgICB7CisgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLnJlbW92ZUJy
ZWFrcG9pbnQodGhpcywgbGluZU51bWJlcik7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBw
YXJhbSB7bnVtYmVyfSBsaW5lTnVtYmVyCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGNvbmRpdGlv
bgorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlZAorICAgICAqLworICAgIHVwZGF0ZUJy
ZWFrcG9pbnQ6IGZ1bmN0aW9uKGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCkKKyAgICB7
CisgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLnJlbW92ZUJyZWFrcG9pbnQodGhpcywg
bGluZU51bWJlcik7CisgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRNYW5hZ2VyLnNldEJyZWFrcG9p
bnQodGhpcywgbGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKTsKKyAgICB9LAorCisgICAg
Y29udGludWVUb0xpbmU6IGZ1bmN0aW9uKGxpbmVOdW1iZXIpCisgICAgeworICAgICAgICB0aGlz
Ll9tb2RlbC5jb250aW51ZVRvTGluZSh0aGlzLCBsaW5lTnVtYmVyKTsKKyAgICB9LAorCisgICAg
LyoqCisgICAgICogQHJldHVybiB7Ym9vbGVhbn0KKyAgICAgKi8KKyAgICBjYW5TZXRDb250ZW50
OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fbW9kZWwuY2FuRWRpdFNj
cmlwdFNvdXJjZSh0aGlzKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJp
bmd9IG5ld1NvdXJjZQorICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP1Byb3RvY29sLkVycm9yKX0g
Y2FsbGJhY2sKKyAgICAgKi8KKyAgICBzZXRDb250ZW50OiBmdW5jdGlvbihuZXdTb3VyY2UsIGNh
bGxiYWNrKQorICAgIHsKKyAgICAgICAgdGhpcy5fbW9kZWwuc2V0U2NyaXB0U291cmNlKHRoaXMs
IG5ld1NvdXJjZSwgY2FsbGJhY2spOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e3N0cmluZ30gb2xkU291cmNlCisgICAgICogQHBhcmFtIHtzdHJpbmd9IG5ld1NvdXJjZQorICAg
ICAqLworICAgIHVwZGF0ZUJyZWFrcG9pbnRzQWZ0ZXJMaXZlRWRpdDogZnVuY3Rpb24ob2xkU291
cmNlLCBuZXdTb3VyY2UpCisgICAgeworICAgICAgICAvLyBDbGVhciBhbmQgcmUtY3JlYXRlIGJy
ZWFrcG9pbnRzIGFjY29yZGluZyB0byB0ZXh0IGRpZmYuCisgICAgICAgIHZhciBkaWZmID0gQXJy
YXkuZGlmZihvbGRTb3VyY2Uuc3BsaXQoIlxuIiksIG5ld1NvdXJjZS5zcGxpdCgiXG4iKSk7Cisg
ICAgICAgIGZvciAodmFyIGxpbmVOdW1iZXIgaW4gdGhpcy5fYnJlYWtwb2ludHMpIHsKKyAgICAg
ICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fYnJlYWtwb2ludHNbbGluZU51bWJlcl07CisK
KyAgICAgICAgICAgIHRoaXMucmVtb3ZlQnJlYWtwb2ludChwYXJzZUludChsaW5lTnVtYmVyLCAx
MCkpOworCisgICAgICAgICAgICB2YXIgbmV3TGluZU51bWJlciA9IGRpZmYubGVmdFtsaW5lTnVt
YmVyXS5yb3c7CisgICAgICAgICAgICBpZiAobmV3TGluZU51bWJlciA9PT0gdW5kZWZpbmVkKSB7
CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IGxpbmVOdW1iZXIgLSAxOyBpID49IDA7IC0t
aSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoZGlmZi5sZWZ0W2ldLnJvdyA9PT0gdW5kZWZp
bmVkKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAg
ICAgIHZhciBzaGlmdGVkTGluZU51bWJlciA9IGRpZmYubGVmdFtpXS5yb3cgKyBsaW5lTnVtYmVy
IC0gaTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNoaWZ0ZWRMaW5lTnVtYmVyIDwgZGlmZi5y
aWdodC5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvcmlnaW5hbExpbmVO
dW1iZXIgPSBkaWZmLnJpZ2h0W3NoaWZ0ZWRMaW5lTnVtYmVyXS5yb3c7CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAob3JpZ2luYWxMaW5lTnVtYmVyID09PSBsaW5lTnVtYmVyIHx8IG9yaWdp
bmFsTGluZU51bWJlciA9PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5ld0xpbmVOdW1iZXIgPSBzaGlmdGVkTGluZU51bWJlcjsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBpZiAobmV3TGluZU51bWJlciAhPT0gdW5kZWZpbmVkKQorICAg
ICAgICAgICAgICAgIHRoaXMuc2V0QnJlYWtwb2ludChuZXdMaW5lTnVtYmVyLCBicmVha3BvaW50
LmNvbmRpdGlvbiwgYnJlYWtwb2ludC5lbmFibGVkKTsKKyAgICAgICAgfQogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0
U291cmNlRnJhbWUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFT
Y3JpcHRTb3VyY2VGcmFtZS5qcwppbmRleCAwZWRhMjA2ZGZiNGRiMTBiOGRkM2M4Zjc0MTZhODQ3
Yzg2MmE4YzNkLi5iZTIwYTgxMmEwY2I4YjJmZGZiOWNmMDU2ZTc4OWI5NTQ0OThiZjZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFT
Y3JpcHRTb3VyY2VGcmFtZS5qcwpAQCAtODgsMjYgKzg4LDI2IEBAIFdlYkluc3BlY3Rvci5KYXZh
U2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogCiAgICAgY2FuRWRpdFNvdXJjZTogZnVu
Y3Rpb24oKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX21vZGVsLmNhbkVkaXRTY3JpcHRT
b3VyY2UodGhpcy5fdWlTb3VyY2VDb2RlKTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3VpU291cmNl
Q29kZS5jYW5TZXRDb250ZW50KCk7CiAgICAgfSwKIAogICAgIGVkaXRDb250ZW50OiBmdW5jdGlv
bihuZXdDb250ZW50LCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIHRoaXMuX2VkaXRpbmdDb250
ZW50ID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fbW9kZWwuc2V0U2NyaXB0U291cmNlKHRoaXMuX3Vp
U291cmNlQ29kZSwgbmV3Q29udGVudCwgY2FsbGJhY2spOworICAgICAgICB0aGlzLl91aVNvdXJj
ZUNvZGUuc2V0Q29udGVudChuZXdDb250ZW50LCBjYWxsYmFjayk7CiAgICAgfSwKIAogICAgIF9v
bkNvbnRlbnRDaGFuZ2VkOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBpZiAodGhpcy5fZWRp
dGluZ0NvbnRlbnQpCisgICAgICAgIGlmICghdGhpcy5fZWRpdGluZ0NvbnRlbnQpCiAgICAgICAg
ICAgICB0aGlzLnJlcXVlc3RDb250ZW50KHRoaXMuc2V0Q29udGVudC5iaW5kKHRoaXMpKTsKICAg
ICB9LAogCiAgICAgcG9wdWxhdGVMaW5lR3V0dGVyQ29udGV4dE1lbnU6IGZ1bmN0aW9uKGNvbnRl
eHRNZW51LCBsaW5lTnVtYmVyKQogICAgIHsKLSAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRl
bShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVUaXRs
ZXMoKSA/ICJDb250aW51ZSB0byBoZXJlIiA6ICJDb250aW51ZSB0byBIZXJlIiksIHRoaXMuX21v
ZGVsLmNvbnRpbnVlVG9MaW5lLmJpbmQodGhpcy5fbW9kZWwsIHRoaXMuX3VpU291cmNlQ29kZSwg
bGluZU51bWJlcikpOworICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rv
ci5VSVN0cmluZyhXZWJJbnNwZWN0b3IudXNlTG93ZXJDYXNlTWVudVRpdGxlcygpID8gIkNvbnRp
bnVlIHRvIGhlcmUiIDogIkNvbnRpbnVlIHRvIEhlcmUiKSwgdGhpcy5fdWlTb3VyY2VDb2RlLmNv
bnRpbnVlVG9MaW5lLmJpbmQodGhpcy5fdWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKSk7CiAKLSAg
ICAgICAgdmFyIGJyZWFrcG9pbnQgPSB0aGlzLl9tb2RlbC5maW5kQnJlYWtwb2ludCh0aGlzLl91
aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIpOworICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHRoaXMu
X3VpU291cmNlQ29kZS5maW5kQnJlYWtwb2ludChsaW5lTnVtYmVyKTsKICAgICAgICAgaWYgKCFi
cmVha3BvaW50KSB7CiAgICAgICAgICAgICAvLyBUaGlzIHJvdyBkb2Vzbid0IGhhdmUgYSBicmVh
a3BvaW50OiBXZSB3YW50IHRvIHNob3cgQWRkIEJyZWFrcG9pbnQgYW5kIEFkZCBhbmQgRWRpdCBC
cmVha3BvaW50LgogICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVUaXRsZXMoKSA/ICJBZGQg
YnJlYWtwb2ludCIgOiAiQWRkIEJyZWFrcG9pbnQiKSwgdGhpcy5fc2V0QnJlYWtwb2ludC5iaW5k
KHRoaXMsIGxpbmVOdW1iZXIsICIiLCB0cnVlKSk7CkBAIC0xMjYsMjEgKzEyNiwyMSBAQCBXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdlYkluc3BlY3Rv
ci51c2VMb3dlckNhc2VNZW51VGl0bGVzKCkgPyAiQWRkIGNvbmRpdGlvbmFsIGJyZWFrcG9pbnTi
gKYiIDogIkFkZCBDb25kaXRpb25hbCBCcmVha3BvaW504oCmIiksIGFkZENvbmRpdGlvbmFsQnJl
YWtwb2ludC5iaW5kKHRoaXMpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIFRo
aXMgcm93IGhhcyBhIGJyZWFrcG9pbnQsIHdlIHdhbnQgdG8gc2hvdyBlZGl0IGFuZCByZW1vdmUg
YnJlYWtwb2ludCwgYW5kIGVpdGhlciBkaXNhYmxlIG9yIGVuYWJsZS4KLSAgICAgICAgICAgIGNv
bnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdlYkluc3BlY3Rvci51
c2VMb3dlckNhc2VNZW51VGl0bGVzKCkgPyAiUmVtb3ZlIGJyZWFrcG9pbnQiIDogIlJlbW92ZSBC
cmVha3BvaW50IiksIHRoaXMuX21vZGVsLnJlbW92ZUJyZWFrcG9pbnQuYmluZCh0aGlzLl9tb2Rl
bCwgdGhpcy5fdWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKSk7CisgICAgICAgICAgICBjb250ZXh0
TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZyhXZWJJbnNwZWN0b3IudXNlTG93
ZXJDYXNlTWVudVRpdGxlcygpID8gIlJlbW92ZSBicmVha3BvaW50IiA6ICJSZW1vdmUgQnJlYWtw
b2ludCIpLCB0aGlzLl91aVNvdXJjZUNvZGUucmVtb3ZlQnJlYWtwb2ludC5iaW5kKHRoaXMuX3Vp
U291cmNlQ29kZSwgbGluZU51bWJlcikpOwogCiAgICAgICAgICAgICBmdW5jdGlvbiBlZGl0QnJl
YWtwb2ludENvbmRpdGlvbigpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZnVuY3Rp
b24gZGlkRWRpdEJyZWFrcG9pbnRDb25kaXRpb24oY29tbWl0dGVkLCBjb25kaXRpb24pCiAgICAg
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBpZiAoY29tbWl0dGVkKQotICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fbW9kZWwudXBkYXRlQnJlYWtwb2ludCh0aGlzLl91aVNv
dXJjZUNvZGUsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgYnJlYWtwb2ludC5lbmFibGVkKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZS51cGRhdGVCcmVha3BvaW50
KGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgYnJlYWtwb2ludC5lbmFibGVkKTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgdGhpcy5fZWRpdEJyZWFrcG9pbnRDb25kaXRpb24obGlu
ZU51bWJlciwgYnJlYWtwb2ludC5jb25kaXRpb24sIGRpZEVkaXRCcmVha3BvaW50Q29uZGl0aW9u
LmJpbmQodGhpcykpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY29udGV4dE1lbnUuYXBw
ZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1l
bnVUaXRsZXMoKSA/ICJFZGl0IGJyZWFrcG9pbnTigKYiIDogIkVkaXQgQnJlYWtwb2ludOKApiIp
LCBlZGl0QnJlYWtwb2ludENvbmRpdGlvbi5iaW5kKHRoaXMpKTsKICAgICAgICAgICAgIGZ1bmN0
aW9uIHNldEJyZWFrcG9pbnRFbmFibGVkKGVuYWJsZWQpCiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgdGhpcy5fbW9kZWwudXBkYXRlQnJlYWtwb2ludCh0aGlzLl91aVNvdXJjZUNvZGUs
IGxpbmVOdW1iZXIsIGJyZWFrcG9pbnQuY29uZGl0aW9uLCBlbmFibGVkKTsKKyAgICAgICAgICAg
ICAgICB0aGlzLl91aVNvdXJjZUNvZGUudXBkYXRlQnJlYWtwb2ludChsaW5lTnVtYmVyLCBicmVh
a3BvaW50LmNvbmRpdGlvbiwgZW5hYmxlZCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBp
ZiAoYnJlYWtwb2ludC5lbmFibGVkKQogICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVu
ZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdlYkluc3BlY3Rvci51c2VMb3dlckNhc2VNZW51
VGl0bGVzKCkgPyAiRGlzYWJsZSBicmVha3BvaW50IiA6ICJEaXNhYmxlIEJyZWFrcG9pbnQiKSwg
c2V0QnJlYWtwb2ludEVuYWJsZWQuYmluZCh0aGlzLCBmYWxzZSkpOwpAQCAtMTc3LDcgKzE3Nyw3
IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgZm9yICh2YXIgbGluZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCB0aGlzLnRleHRN
b2RlbC5saW5lc0NvdW50OyArK2xpbmVOdW1iZXIpIHsKICAgICAgICAgICAgICAgICB2YXIgYnJl
YWtwb2ludCA9IHRoaXMudGV4dE1vZGVsLmdldEF0dHJpYnV0ZShsaW5lTnVtYmVyLCAiYnJlYWtw
b2ludCIpOwogICAgICAgICAgICAgICAgIGlmIChicmVha3BvaW50KSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHRoaXMuX21vZGVsLnJlbW92ZUJyZWFrcG9pbnQodGhpcy5fdWlTb3VyY2VDb2RlLCBs
aW5lTnVtYmVyKTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlLnJlbW92
ZUJyZWFrcG9pbnQobGluZU51bWJlcik7CiAgICAgICAgICAgICAgICAgICAgIC8vIFJlLWFkZGlu
ZyBkZWNvcmF0aW9uIG9ubHkuCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9p
bnREZWNvcmF0aW9uKGxpbmVOdW1iZXIsIGJyZWFrcG9pbnQucmVzb2x2ZWQsIGJyZWFrcG9pbnQu
Y29uZGl0aW9uYWwsIGJyZWFrcG9pbnQuZW5hYmxlZCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAg
fQpAQCAtMjE0LDcgKzIxNCw3IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUu
cHJvdG90eXBlID0gewogCiAgICAgX2dldFBvcG92ZXJBbmNob3I6IGZ1bmN0aW9uKGVsZW1lbnQs
IGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9tb2RlbC5wYXVzZWQpCisgICAgICAg
IGlmICghV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuaXNQYXVzZWQoKSkKICAgICAgICAgICAg
IHJldHVybiBudWxsOwogICAgICAgICBpZiAod2luZG93LmdldFNlbGVjdGlvbigpLnR5cGUgPT09
ICJSYW5nZSIpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKQEAgLTI2OSw3ICsyNjksNyBAQCBX
ZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICovCiAgICAgICAgIGZ1bmN0aW9uIHNob3dPYmplY3RQb3BvdmVyKHJlc3VsdCwgd2FzVGhyb3du
KQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIXRoaXMuX21vZGVsLnBhdXNlZCkgeworICAg
ICAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5pc1BhdXNlZCgpKSB7CiAg
ICAgICAgICAgICAgICAgdGhpcy5fcG9wb3ZlckhlbHBlci5oaWRlUG9wb3ZlcigpOwogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KQEAgLTM1NSw3ICszNTUsNyBAQCBXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKIAogICAgIF9zZXRC
cmVha3BvaW50OiBmdW5jdGlvbihsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQpCiAgICAg
ewotICAgICAgICB0aGlzLl9tb2RlbC5zZXRCcmVha3BvaW50KHRoaXMuX3VpU291cmNlQ29kZSwg
bGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKTsKKyAgICAgICAgdGhpcy5fdWlTb3VyY2VD
b2RlLnNldEJyZWFrcG9pbnQobGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKTsKICAgICB9
LAogCiAgICAgX29uTW91c2VEb3duOiBmdW5jdGlvbihldmVudCkKQEAgLTM3MCwxMiArMzcwLDEy
IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB2YXIgbGluZU51bWJlciA9IHRhcmdldC5saW5lTnVt
YmVyOwogCi0gICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5fbW9kZWwuZmluZEJyZWFrcG9p
bnQodGhpcy5fdWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKTsKKyAgICAgICAgdmFyIGJyZWFrcG9p
bnQgPSB0aGlzLl91aVNvdXJjZUNvZGUuZmluZEJyZWFrcG9pbnQobGluZU51bWJlcik7CiAgICAg
ICAgIGlmIChicmVha3BvaW50KSB7CiAgICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpCi0g
ICAgICAgICAgICAgICAgdGhpcy5fbW9kZWwudXBkYXRlQnJlYWtwb2ludCh0aGlzLl91aVNvdXJj
ZUNvZGUsIGxpbmVOdW1iZXIsIGJyZWFrcG9pbnQuY29uZGl0aW9uLCAhYnJlYWtwb2ludC5lbmFi
bGVkKTsKKyAgICAgICAgICAgICAgICB0aGlzLl91aVNvdXJjZUNvZGUudXBkYXRlQnJlYWtwb2lu
dChsaW5lTnVtYmVyLCBicmVha3BvaW50LmNvbmRpdGlvbiwgIWJyZWFrcG9pbnQuZW5hYmxlZCk7
CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGhpcy5fbW9kZWwucmVtb3ZlQnJl
YWtwb2ludCh0aGlzLl91aVNvdXJjZUNvZGUsIGxpbmVOdW1iZXIpOworICAgICAgICAgICAgICAg
IHRoaXMuX3VpU291cmNlQ29kZS5yZW1vdmVCcmVha3BvaW50KGxpbmVOdW1iZXIpOwogICAgICAg
ICB9IGVsc2UKICAgICAgICAgICAgIHRoaXMuX3NldEJyZWFrcG9pbnQobGluZU51bWJlciwgIiIs
IHRydWUpOwogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY29wZUNoYWluU2lkZWJhclBhbmUuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njb3BlQ2hhaW5TaWRlYmFyUGFu
ZS5qcwppbmRleCAzYjRlMmQ1ZGE3MWEyMzJlYTg0Nzk0NzI3ZWQyMWY3YThjODM1YWY1Li5jNmM1
ZmFiNjNkMzM0YWRhNzU1MDFkNjU5MjEzZjFiOTgzMDdjZGVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njb3BlQ2hhaW5TaWRlYmFyUGFuZS5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njb3BlQ2hhaW5TaWRlYmFyUGFu
ZS5qcwpAQCAtNzksNyArNzksNyBAQCBXZWJJbnNwZWN0b3IuU2NvcGVDaGFpblNpZGViYXJQYW5l
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNhbGxGcmFtZS50aGlzKQog
ICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFQcm9wZXJ0aWVzID0gWyBuZXcgV2ViSW5zcGVj
dG9yLlJlbW90ZU9iamVjdFByb3BlcnR5KCJ0aGlzIiwgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVj
dC5mcm9tUGF5bG9hZChjYWxsRnJhbWUudGhpcykpIF07CiAgICAgICAgICAgICAgICAgICAgIGlm
IChpID09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZXRhaWxzID0gV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTW9kZWwuZGVidWdnZXJQYXVzZWREZXRhaWxzOworICAgICAgICAgICAg
ICAgICAgICAgICAgdmFyIGRldGFpbHMgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5kZWJ1
Z2dlclBhdXNlZERldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleGNlcHRp
b24gPSBkZXRhaWxzLnJlYXNvbiA9PT0gV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuQnJlYWtS
ZWFzb24uRXhjZXB0aW9uID8gZGV0YWlscy5hdXhEYXRhIDogMDsKICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChleGNlcHRpb24pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRy
YVByb3BlcnRpZXMgPSBleHRyYVByb3BlcnRpZXMgfHwgW107CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IDFlOTg3MTkxNTUy
OGUzMTJlYzgxMzRlM2E1MjhkMGQ2YTdhMzlmMzkuLmQ3Yjg2NDA3MGUxZDY3YjQxYTE4ZDgyZTQ3
NDBmNDg4MjkzMzEzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c1BhbmVsLmpzCkBAIC0zNTMsNyArMzUzLDcgQEAgV2ViSW5zcGVjdG9yLlNj
cmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBm
dW5jdGlvbiBkaWRHZXRVSUxvY2F0aW9uKHVpTG9jYXRpb24pCiAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgaWYgKCF0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5maW5kQnJlYWtwb2ludCh1
aUxvY2F0aW9uLnVpU291cmNlQ29kZSwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKSkKKyAgICAgICAg
ICAgICAgICBpZiAoIXVpTG9jYXRpb24udWlTb3VyY2VDb2RlLmZpbmRCcmVha3BvaW50KHVpTG9j
YXRpb24ubGluZU51bWJlcikpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5qc0JyZWFrcG9pbnRzLmhpZ2hsaWdodEJyZWFrcG9p
bnQodWlMb2NhdGlvbi51aVNvdXJjZUNvZGUsIHVpTG9jYXRpb24ubGluZU51bWJlcik7CiAgICAg
ICAgICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnNldFN0YXR1cyhXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlBhdXNlZCBvbiBhIEphdmFTY3JpcHQgYnJlYWtwb2ludC4iKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMDllODFiZTU5NDE2OThlODNhYzZjN2Q1ZTFhODNlY2ZiMzg2OWQ0NS4uOGQ0ZmEzYzBj
OWQ0NjdjZGQxOWM5NDRlM2QyMWIzZDlkNzFjOWNhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDEyLTA0LTI0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBwdXJlIGRlbGVnYXRpb24gY29kZSBmcm9tIERlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg0NzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzOgorICAg
ICAgICAoaW5pdGlhbGl6ZV9EZWJ1Z2dlclRlc3QpOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1
Z2dlci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0Lmh0bWw6CisKIDIwMTItMDQtMjQgIFBoaWxpcHBl
IE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdU
SyB0ZXN0X2V4cGVjdGF0aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcwppbmRleCBhMDQ5MTFjMzJiYWI4ZDRjMDYxOGZj
ZWE1Mjk4ZTJiZTZjNTFkMTAwLi4xZWRjZjhhNzg0NTdiNDVhNGI1MGVhNGNkNTY4ZjZlYjBhMDg5
ZTU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
LXRlc3QuanMKQEAgLTIxNyw3ICsyMTcsNyBAQCBJbnNwZWN0b3JUZXN0LnNldEJyZWFrcG9pbnQg
PSBmdW5jdGlvbihzb3VyY2VGcmFtZSwgbGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibAogCiBJ
bnNwZWN0b3JUZXN0LnJlbW92ZUJyZWFrcG9pbnQgPSBmdW5jdGlvbihzb3VyY2VGcmFtZSwgbGlu
ZU51bWJlcikKIHsKLSAgICBzb3VyY2VGcmFtZS5fbW9kZWwucmVtb3ZlQnJlYWtwb2ludChzb3Vy
Y2VGcmFtZS5fdWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKTsKKyAgICBzb3VyY2VGcmFtZS5fdWlT
b3VyY2VDb2RlLnJlbW92ZUJyZWFrcG9pbnQobGluZU51bWJlcik7CiB9OwogCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNj
cmlwdC5odG1sCmluZGV4IGRhOGYwN2I4YTA1YTVkMjE4NDNmODQzNzg3MGQ1ZTdiZDFjMDY0MmEu
Ljk0NTFjY2YwY2UyNGJkOTFlNTBiZDg0MDc5YmQ1NDc2YzExN2IwNDMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3BhdXNlLWluLWlubGluZS1zY3Jp
cHQuaHRtbApAQCAtMzIsNyArMzIsNyBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKICAgICBmdW5j
dGlvbiBzdGVwMSgpCiAgICAgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGlk
IGxvYWQgZnJvbnQtZW5kIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQYXVz
ZWQ6ICIgKyAhIVdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmRlYnVnZ2VyUGF1c2VkRGV0YWls
cyk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQYXVzZWQ6ICIgKyAhIVdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmRlYnVnZ2VyUGF1c2VkRGV0YWlscygpKTsKICAgICAgICAg
SW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKGRpZFJlbG9hZC5iaW5kKHRoaXMpKTsKICAgICAgICAg
V2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
RGVidWdnZXJNb2RlbC5FdmVudHMuRGVidWdnZXJQYXVzZWQsIGRpZFBhdXNlQWZ0ZXJSZWxvYWQs
IHRoaXMpOyAKIAo=
</data>
<flag name="review"
          id="143904"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>