<?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>58047</bug_id>
          
          <creation_ts>2011-04-07 08:59:15 -0700</creation_ts>
          <short_desc>Web Inspector: remove &quot;enabled&quot; from the setBreakpoint protocol.</short_desc>
          <delta_ts>2011-06-07 22:05:58 -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="Nobody">webkit-unassigned</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>seokju.kwon</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>381386</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-07 08:59:15 -0700</bug_when>
    <thetext>There should be no way to add disabled breakpoint. Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381461</commentid>
    <comment_count>1</comment_count>
      <attachid>88658</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-07 10:29:12 -0700</bug_when>
    <thetext>Created attachment 88658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381473</commentid>
    <comment_count>2</comment_count>
      <attachid>88658</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-07 10:41:21 -0700</bug_when>
    <thetext>Comment on attachment 88658
Patch

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

&gt; Source/WebCore/inspector/front-end/DebuggerPresentationModel.js:123
&gt; +                breakpoint.debuggerId = breakpointData.debuggerId;

Extract method.

&gt; Source/WebCore/inspector/front-end/DebuggerPresentationModel.js:168
&gt; +        if (!sourceFile)

Please remove this, it never happens.

&gt; Source/WebCore/inspector/front-end/DebuggerPresentationModel.js:274
&gt; +            this._breakpointAdded(breakpoint);

New breakpoint set should be saved.

&gt; Source/WebCore/inspector/front-end/DebuggerPresentationModel.js:339
&gt; +            this._removeBreakpointFromDebugger(breakpoint);

please pass afterUpdate as a callback to _removeBreakpointFromDebugger

&gt; Source/WebCore/inspector/front-end/DebuggerPresentationModel.js:395
&gt; +    _breakpointRemoved: function(breakpoint)

Please inline this method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381517</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-07 11:25:14 -0700</bug_when>
    <thetext>Committed r83190: &lt;http://trac.webkit.org/changeset/83190&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88658</attachid>
            <date>2011-04-07 10:29:12 -0700</date>
            <delta_ts>2011-04-07 10:41:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58047-20110407212909.patch</filename>
            <type>text/plain</type>
            <size>30663</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMxNzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1Mzk1Yjc2OWIwMjlkYjUw
Nzc5ZGNhZDVkMDk3NTJiODg3ZTBjYmEzLi42NzhjZDNjMTA5NDMxNjUwZDU0MWM4ZmE0ZDk0MmIy
YjdjNmRkZmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMTEtMDQtMDcgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSAiZW5hYmxlZCIg
ZnJvbSB0aGUgc2V0QnJlYWtwb2ludCBwcm90b2NvbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MDQ3CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9T
Y3JpcHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZl
cjo6aGFzQnJlYWtwb2ludCk6CisgICAgICAgICogYmluZGluZ3MvdjgvRGVidWdnZXJTY3JpcHQu
anM6CisgICAgICAgICgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpzZXRCcmVha3BvaW50
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRP
YmplY3RGb3JCcmVha3BvaW50Q29va2llKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRl
YnVnZ2VyQWdlbnQ6OnNldEJyZWFrcG9pbnRCeVVybCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50OjpzZXRCcmVha3BvaW50KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmNvbnRpbnVlVG9Mb2NhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaWRQYXJzZVNvdXJjZSk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
U2NyaXB0QnJlYWtwb2ludC5oOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0QnJlYWtwb2ludDo6
U2NyaXB0QnJlYWtwb2ludCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dl
ck1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBl
LnNldEJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJv
dG90eXBlLnNldEJyZWFrcG9pbnRCeVNvdXJjZUlkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3Jlc3RvcmVCcmVha3BvaW50cyk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUu
X3VwZGF0ZUJyZWFrcG9pbnRzQWZ0ZXJMaXZlRWRpdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuc2V0QnJlYWtwb2ludC5jYWxsYmFj
ayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90
b3R5cGUuc2V0QnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3NldEJyZWFrcG9pbnRJbkRlYnVnZ2VyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5fc2V0
QnJlYWtwb2ludEluRGVidWdnZXIuZGlkUmVxdWVzdFNvdXJjZU1hcHBpbmcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9yZW1vdmVC
cmVha3BvaW50RnJvbURlYnVnZ2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5zZXRCcmVha3BvaW50RW5hYmxlZC5hZnRlclVwZGF0
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90
b3R5cGUuc2V0QnJlYWtwb2ludEVuYWJsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLnVwZGF0ZUJyZWFrcG9pbnQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLnJlbW92
ZUJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwucHJvdG90eXBlLl9icmVha3BvaW50QWRkZWQuZGlkUmVxdWVzdFNvdXJjZU1hcHBpbmcp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90
eXBlLl9icmVha3BvaW50QWRkZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJl
c2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl9icmVha3BvaW50UmVtb3ZlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX2JyZWFrcG9p
bnRSZXNvbHZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC5wcm90b3R5cGUuX3Jlc3RvcmVCcmVha3BvaW50c0Zyb21TZXR0aW5ncyk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3NhdmVC
cmVha3BvaW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC5wcm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QcmVzZW50YXRp
b25CcmVha3BvaW50KToKKwogMjAxMS0wNC0wNiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdv
b2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCA1
YjBlYjU4NWExMWY1YWJkN2MxMTBlMjM0OTZiOTlkYmYzMWE0ZTM2Li4yZGQxZWMyNzVlYTMyZGIz
Njk1M2I0Y2QwY2EwNTJmOWU2YzQzNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAgYm9vbCBTY3Jp
cHREZWJ1Z1NlcnZlcjo6aGFzQnJlYWtwb2ludChpbnRwdHJfdCBzb3VyY2VJRCwgY29uc3QgVGV4
dFBvc2l0aW9uMCYgcG8KICAgICBpZiAobGluZU51bWJlciA8PSAwKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgTGluZVRvQnJlYWtwb2ludE1hcDo6Y29uc3RfaXRlcmF0b3IgYnJlYWtJdCA9
IGl0LT5zZWNvbmQuZmluZChsaW5lTnVtYmVyKTsKLSAgICBpZiAoYnJlYWtJdCA9PSBpdC0+c2Vj
b25kLmVuZCgpIHx8ICFicmVha0l0LT5zZWNvbmQuZW5hYmxlZCkKKyAgICBpZiAoYnJlYWtJdCA9
PSBpdC0+c2Vjb25kLmVuZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBBbiBl
bXB0eSBjb25kaXRpb24gY291bnRzIGFzIG5vIGNvbmRpdGlvbiB3aGljaCBpcyBlcXVpdmFsZW50
IHRvICJ0cnVlIi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RlYnVn
Z2VyU2NyaXB0LmpzIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGVidWdnZXJTY3JpcHQu
anMKaW5kZXggZmU2ZThhYjZkOGIxYmVjZDk0OTE0YjhmOGU3ZTNlNzRiYTlhMTNjNC4uNjM2YzEw
NjE0NDUwYTVjMzgxNzkwNWRiNWM3MGI3NWIwODY4YmI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvRGVidWdnZXJTY3JpcHQuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvRGVidWdnZXJTY3JpcHQuanMKQEAgLTkyLDggKzkyLDYgQEAgRGVidWdnZXJT
Y3JpcHQuX2Zvcm1hdFNjcmlwdCA9IGZ1bmN0aW9uKHNjcmlwdCkKIERlYnVnZ2VyU2NyaXB0LnNl
dEJyZWFrcG9pbnQgPSBmdW5jdGlvbihleGVjU3RhdGUsIGFyZ3MpCiB7CiAgICAgdmFyIGJyZWFr
SWQgPSBEZWJ1Zy5zZXRTY3JpcHRCcmVha1BvaW50QnlJZChhcmdzLnNjcmlwdElkLCBhcmdzLmxp
bmVOdW1iZXIsIGFyZ3MuY29sdW1uTnVtYmVyLCBhcmdzLmNvbmRpdGlvbik7Ci0gICAgaWYgKCFh
cmdzLmVuYWJsZWQpCi0gICAgICAgIERlYnVnLmRpc2FibGVTY3JpcHRCcmVha1BvaW50KGJyZWFr
SWQpOwogCiAgICAgdmFyIGxvY2F0aW9ucyA9IERlYnVnLmZpbmRCcmVha1BvaW50QWN0dWFsTG9j
YXRpb25zKGJyZWFrSWQpOwogICAgIGlmICghbG9jYXRpb25zLmxlbmd0aCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCBkMTUzODUw
MzY1NTZlYzQ1OWE4YThkNWJiY2JlYTgzYmQ2N2ZmYWIyLi5jNzAyMTY0YzNhNTNlMzUyMGYzMzZj
MjhiM2YwNGIyMDUwZGVmZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC03MSw3ICs3MSw2IEBAIFN0cmluZyBTY3JpcHREZWJ1
Z1NlcnZlcjo6c2V0QnJlYWtwb2ludChjb25zdCBTdHJpbmcmIHNvdXJjZUlELCBjb25zdCBTY3Jp
cHRCcmVhCiAgICAgYXJncy0+U2V0KHY4OjpTdHJpbmc6Ok5ldygibGluZU51bWJlciIpLCB2ODo6
SW50ZWdlcjo6TmV3KHNjcmlwdEJyZWFrcG9pbnQubGluZU51bWJlcikpOwogICAgIGFyZ3MtPlNl
dCh2ODo6U3RyaW5nOjpOZXcoImNvbHVtbk51bWJlciIpLCB2ODo6SW50ZWdlcjo6TmV3KHNjcmlw
dEJyZWFrcG9pbnQuY29sdW1uTnVtYmVyKSk7CiAgICAgYXJncy0+U2V0KHY4OjpTdHJpbmc6Ok5l
dygiY29uZGl0aW9uIiksIHY4U3RyaW5nKHNjcmlwdEJyZWFrcG9pbnQuY29uZGl0aW9uKSk7Ci0g
ICAgYXJncy0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiZW5hYmxlZCIpLCB2ODo6Qm9vbGVhbjo6TmV3
KHNjcmlwdEJyZWFrcG9pbnQuZW5hYmxlZCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rp
b24+IHNldEJyZWFrcG9pbnRGdW5jdGlvbiA9IHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpDYXN0
KG1fZGVidWdnZXJTY3JpcHQuZ2V0KCktPkdldCh2ODo6U3RyaW5nOjpOZXcoInNldEJyZWFrcG9p
bnQiKSkpOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBicmVha3BvaW50SWQgPSB2ODo6RGVi
dWc6OkNhbGwoc2V0QnJlYWtwb2ludEZ1bmN0aW9uLCBhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA4ODc3YzMxZDRhMjY2ZjRhNGExZGEwZWQ0YzBjYWQ0
MjY2MDAxMGFiLi42ODQ1M2IzNDQxYzI2YzY2Y2UxMThiMTIxYjcyZDU4NGRhMGU2YWNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xMjczLDggKzEyNzMsNyBA
QAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVybCIsICJ0eXBlIjogInN0cmluZyIs
ICJkZXNjcmlwdGlvbiI6ICJVUkwgb2YgdGhlIHJlc291cmNlIHRvIHNldCBicmVha3BvaW50IG9u
LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsaW5lTnVtYmVyIiwgInR5cGUi
OiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJMaW5lIG51bWJlciB0byBzZXQgYnJlYWtwb2lu
dCBhdC4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY29sdW1uTnVtYmVyIiwg
InR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJPZmZz
ZXQgaW4gdGhlIGxpbmUgdG8gc2V0IGJyZWFrcG9pbnQgYXQuIiB9LAotICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImNvbmRpdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6
IHRydWUsICJkZXNjcmlwdGlvbiI6ICJFeHByZXNzaW9uIHRvIHVzZSBhcyBhIGJyZWFrcG9pbnQg
Y29uZGl0aW9uLiBXaGVuIHNwZWNpZmllZCwgZGVidWdnZXIgd2lsbCBvbmx5IHN0b3Agb24gdGhl
IGJyZWFrcG9pbnQgaWYgdGhpcyBleHByZXNzaW9uIGV2YWx1YXRlcyB0byB0cnVlLiIgfSwKLSAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJlbmFibGVkIiwgInR5cGUiOiAiYm9vbGVhbiIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJEZXRlcm1pbmVzIGluaXRpYWwgc3Rh
dGUgZm9yIHRoZSBicmVha3BvaW50LiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNvbmRpdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJFeHByZXNzaW9uIHRvIHVzZSBhcyBhIGJyZWFrcG9pbnQgY29uZGl0aW9uLiBXaGVu
IHNwZWNpZmllZCwgZGVidWdnZXIgd2lsbCBvbmx5IHN0b3Agb24gdGhlIGJyZWFrcG9pbnQgaWYg
dGhpcyBleHByZXNzaW9uIGV2YWx1YXRlcyB0byB0cnVlLiIgfQogICAgICAgICAgICAgICAgIF0s
CiAgICAgICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiYnJlYWtwb2ludElkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIklk
IG9mIHRoZSBjcmVhdGVkIGJyZWFrcG9pbnQgZm9yIGZ1cnRoZXIgbWFuaXB1bGF0aW9ucy4iIH0s
CkBAIC0xMjg4LDggKzEyODcsNyBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNv
dXJjZUlkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlNvdXJjZSBJRCBvZiB0
aGUgcmVzb3VyY2UgdG8gc2V0IGJyZWFrcG9pbnQgb24gKGFzIHJlcG9ydGVkIGJ5IDxjb2RlPnNj
cmlwdFBhcnNlZDwvY29kZT4pLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJs
aW5lTnVtYmVyIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJMaW5lIG51bWJl
ciB0byBzZXQgYnJlYWtwb2ludCBhdC4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAiY29sdW1uTnVtYmVyIiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJPZmZzZXQgaW4gdGhlIGxpbmUgdG8gc2V0IGJyZWFrcG9pbnQgYXQuIiB9
LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNvbmRpdGlvbiIsICJ0eXBlIjogInN0
cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJFeHByZXNzaW9uIHRvIHVz
ZSBhcyBhIGJyZWFrcG9pbnQgY29uZGl0aW9uLiBXaGVuIHNwZWNpZmllZCwgZGVidWdnZXIgd2ls
bCBvbmx5IHN0b3Agb24gdGhlIGJyZWFrcG9pbnQgaWYgdGhpcyBleHByZXNzaW9uIGV2YWx1YXRl
cyB0byB0cnVlLiIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJlbmFibGVkIiwg
InR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJEZXRl
cm1pbmVzIGluaXRpYWwgc3RhdGUgZm9yIHRoZSBicmVha3BvaW50LiIgfQorICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImNvbmRpdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJFeHByZXNzaW9uIHRvIHVzZSBhcyBhIGJyZWFrcG9p
bnQgY29uZGl0aW9uLiBXaGVuIHNwZWNpZmllZCwgZGVidWdnZXIgd2lsbCBvbmx5IHN0b3Agb24g
dGhlIGJyZWFrcG9pbnQgaWYgdGhpcyBleHByZXNzaW9uIGV2YWx1YXRlcyB0byB0cnVlLiIgfQog
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiYnJlYWtwb2ludElkIiwgInR5cGUiOiAic3RyaW5nIiwg
ImRlc2NyaXB0aW9uIjogIklkIG9mIHRoZSBjcmVhdGVkIGJyZWFrcG9pbnQgZm9yIGZ1cnRoZXIg
bWFuaXB1bGF0aW9ucy4iIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggOWYyODg1MTJjMjdjOTI2MDVmNGEwZWQ3OGUz
NzA3YmQ4NjRkNTA4NS4uNmNlYjc3ZGU0ZjUzYmZhMTc0OTYyZjIzM2ZkZWM5YTA5M2U0ODMwZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmNwcApAQCAtMTQxLDMxICsxNDEsMjkgQEAgdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50
OjppbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpCiAgICAgbV9icmVha3BvaW50SWRU
b0RlYnVnU2VydmVyQnJlYWtwb2ludElkcy5jbGVhcigpOwogfQogCi1zdGF0aWMgUGFzc1JlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+IGJ1aWxkT2JqZWN0Rm9yQnJlYWtwb2ludENvb2tpZShjb25zdCBT
dHJpbmcmIHVybCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgY29uZGl0aW9uLCBib29sIGVuYWJsZWQpCitzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IGJ1aWxkT2JqZWN0Rm9yQnJlYWtwb2ludENvb2tpZShjb25zdCBTdHJpbmcmIHVybCwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgY29uZGl0aW9u
KQogewogICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJyZWFrcG9pbnRPYmplY3QgPSBJbnNw
ZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogICAgIGJyZWFrcG9pbnRPYmplY3QtPnNldFN0cmluZygi
dXJsIiwgdXJsKTsKICAgICBicmVha3BvaW50T2JqZWN0LT5zZXROdW1iZXIoImxpbmVOdW1iZXIi
LCBsaW5lTnVtYmVyKTsKICAgICBicmVha3BvaW50T2JqZWN0LT5zZXROdW1iZXIoImNvbHVtbk51
bWJlciIsIGNvbHVtbk51bWJlcik7CiAgICAgYnJlYWtwb2ludE9iamVjdC0+c2V0U3RyaW5nKCJj
b25kaXRpb24iLCBjb25kaXRpb24pOwotICAgIGJyZWFrcG9pbnRPYmplY3QtPnNldEJvb2xlYW4o
ImVuYWJsZWQiLCBlbmFibGVkKTsKICAgICByZXR1cm4gYnJlYWtwb2ludE9iamVjdDsKIH0KIAot
dm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpzZXRCcmVha3BvaW50QnlVcmwoRXJyb3JTdHJp
bmcqLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IGludCogY29uc3Qg
b3B0aW9uYWxDb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyogY29uc3Qgb3B0aW9uYWxDb25kaXRp
b24sIGNvbnN0IGJvb2wqIGNvbnN0IG9wdGlvbmFsRW5hYmxlZCwgU3RyaW5nKiBvdXRCcmVha3Bv
aW50SWQsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGxvY2F0aW9ucykKK3ZvaWQgSW5zcGVjdG9y
RGVidWdnZXJBZ2VudDo6c2V0QnJlYWtwb2ludEJ5VXJsKEVycm9yU3RyaW5nKiwgY29uc3QgU3Ry
aW5nJiB1cmwsIGludCBsaW5lTnVtYmVyLCBjb25zdCBpbnQqIGNvbnN0IG9wdGlvbmFsQ29sdW1u
TnVtYmVyLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9wdGlvbmFsQ29uZGl0aW9uLCBTdHJpbmcqIG91
dEJyZWFrcG9pbnRJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogbG9jYXRpb25zKQogewogICAg
IGludCBjb2x1bW5OdW1iZXIgPSBvcHRpb25hbENvbHVtbk51bWJlciA/ICpvcHRpb25hbENvbHVt
bk51bWJlciA6IDA7CiAgICAgU3RyaW5nIGNvbmRpdGlvbiA9IG9wdGlvbmFsQ29uZGl0aW9uID8g
Km9wdGlvbmFsQ29uZGl0aW9uIDogIiI7Ci0gICAgYm9vbCBlbmFibGVkID0gb3B0aW9uYWxFbmFi
bGVkID8gKm9wdGlvbmFsRW5hYmxlZCA6IHRydWU7CiAKICAgICBTdHJpbmcgYnJlYWtwb2ludElk
ID0gbWFrZVN0cmluZyh1cmwsICI6IiwgU3RyaW5nOjpudW1iZXIobGluZU51bWJlciksICI6Iiwg
U3RyaW5nOjpudW1iZXIoY29sdW1uTnVtYmVyKSk7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gYnJlYWtwb2ludHNDb29raWUgPSBtX2luc3BlY3RvclN0YXRlLT5nZXRPYmplY3QoRGVidWdn
ZXJBZ2VudFN0YXRlOjpqYXZhU2NyaXB0QnJlYWtwb2ludHMpOwogICAgIGlmIChicmVha3BvaW50
c0Nvb2tpZS0+ZmluZChicmVha3BvaW50SWQpICE9IGJyZWFrcG9pbnRzQ29va2llLT5lbmQoKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIGJyZWFrcG9pbnRzQ29va2llLT5zZXRPYmplY3QoYnJlYWtw
b2ludElkLCBidWlsZE9iamVjdEZvckJyZWFrcG9pbnRDb29raWUodXJsLCBsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCkpOworICAgIGJyZWFrcG9pbnRzQ29va2ll
LT5zZXRPYmplY3QoYnJlYWtwb2ludElkLCBidWlsZE9iamVjdEZvckJyZWFrcG9pbnRDb29raWUo
dXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNvbmRpdGlvbikpOwogICAgIG1faW5zcGVj
dG9yU3RhdGUtPnNldE9iamVjdChEZWJ1Z2dlckFnZW50U3RhdGU6OmphdmFTY3JpcHRCcmVha3Bv
aW50cywgYnJlYWtwb2ludHNDb29raWUpOwogCi0gICAgU2NyaXB0QnJlYWtwb2ludCBicmVha3Bv
aW50KGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKTsKKyAgICBT
Y3JpcHRCcmVha3BvaW50IGJyZWFrcG9pbnQobGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjb25k
aXRpb24pOwogICAgIGZvciAoU2NyaXB0c01hcDo6aXRlcmF0b3IgaXQgPSBtX3NjcmlwdHMuYmVn
aW4oKTsgaXQgIT0gbV9zY3JpcHRzLmVuZCgpOyArK2l0KSB7CiAgICAgICAgIGlmIChpdC0+c2Vj
b25kLnVybCAhPSB1cmwpCiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTE3NiwxNiArMTc0LDE1
IEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0QnJlYWtwb2ludEJ5VXJsKEVycm9y
U3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1cmwsCiAgICAgKm91dEJyZWFrcG9pbnRJZCA9IGJyZWFr
cG9pbnRJZDsKIH0KIAotdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpzZXRCcmVha3BvaW50
KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBzb3VyY2VJZCwgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IGludCogY29uc3Qgb3B0aW9uYWxDb2x1bW5OdW1iZXIsIGNvbnN0IFN0
cmluZyogY29uc3Qgb3B0aW9uYWxDb25kaXRpb24sIGNvbnN0IGJvb2wqIGNvbnN0IG9wdGlvbmFs
RW5hYmxlZCwgU3RyaW5nKiBvdXRCcmVha3BvaW50SWQsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
KiBsb2NhdGlvbikKK3ZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0QnJlYWtwb2ludChF
cnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgc291cmNlSWQsIGludCBsaW5l
TnVtYmVyLCBjb25zdCBpbnQqIGNvbnN0IG9wdGlvbmFsQ29sdW1uTnVtYmVyLCBjb25zdCBTdHJp
bmcqIGNvbnN0IG9wdGlvbmFsQ29uZGl0aW9uLCBTdHJpbmcqIG91dEJyZWFrcG9pbnRJZCwgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4qIGxvY2F0aW9uKQogewogICAgIGludCBjb2x1bW5OdW1iZXIg
PSBvcHRpb25hbENvbHVtbk51bWJlciA/ICpvcHRpb25hbENvbHVtbk51bWJlciA6IDA7CiAgICAg
U3RyaW5nIGNvbmRpdGlvbiA9IG9wdGlvbmFsQ29uZGl0aW9uID8gKm9wdGlvbmFsQ29uZGl0aW9u
IDogIiI7Ci0gICAgYm9vbCBlbmFibGVkID0gb3B0aW9uYWxFbmFibGVkID8gKm9wdGlvbmFsRW5h
YmxlZCA6IHRydWU7CiAKICAgICBTdHJpbmcgYnJlYWtwb2ludElkID0gbWFrZVN0cmluZyhzb3Vy
Y2VJZCwgIjoiLCBTdHJpbmc6Om51bWJlcihsaW5lTnVtYmVyKSwgIjoiLCBTdHJpbmc6Om51bWJl
cihjb2x1bW5OdW1iZXIpKTsKICAgICBpZiAobV9icmVha3BvaW50SWRUb0RlYnVnU2VydmVyQnJl
YWtwb2ludElkcy5maW5kKGJyZWFrcG9pbnRJZCkgIT0gbV9icmVha3BvaW50SWRUb0RlYnVnU2Vy
dmVyQnJlYWtwb2ludElkcy5lbmQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIFNjcmlwdEJyZWFr
cG9pbnQgYnJlYWtwb2ludChsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNvbmRpdGlvbiwgZW5h
YmxlZCk7CisgICAgU2NyaXB0QnJlYWtwb2ludCBicmVha3BvaW50KGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlciwgY29uZGl0aW9uKTsKICAgICAqbG9jYXRpb24gPSByZXNvbHZlQnJlYWtwb2ludChi
cmVha3BvaW50SWQsIHNvdXJjZUlkLCBicmVha3BvaW50KTsKICAgICBpZiAoKmxvY2F0aW9uKQog
ICAgICAgICAqb3V0QnJlYWtwb2ludElkID0gYnJlYWtwb2ludElkOwpAQCAtMjEzLDcgKzIxMCw3
IEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6Y29udGludWVUb0xvY2F0aW9uKEVycm9y
U3RyaW5nKiBlcnJvciwgY29uc3QgU3RyaW5nCiAgICAgICAgIHNjcmlwdERlYnVnU2VydmVyKCku
cmVtb3ZlQnJlYWtwb2ludChtX2NvbnRpbnVlVG9Mb2NhdGlvbkJyZWFrcG9pbnRJZCk7CiAgICAg
ICAgIG1fY29udGludWVUb0xvY2F0aW9uQnJlYWtwb2ludElkID0gIiI7CiAgICAgfQotICAgIFNj
cmlwdEJyZWFrcG9pbnQgYnJlYWtwb2ludChsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsICIiLCB0
cnVlKTsKKyAgICBTY3JpcHRCcmVha3BvaW50IGJyZWFrcG9pbnQobGluZU51bWJlciwgY29sdW1u
TnVtYmVyLCAiIik7CiAgICAgbV9jb250aW51ZVRvTG9jYXRpb25CcmVha3BvaW50SWQgPSBzY3Jp
cHREZWJ1Z1NlcnZlcigpLnNldEJyZWFrcG9pbnQoc291cmNlSWQsIGJyZWFrcG9pbnQsICZsaW5l
TnVtYmVyLCAmY29sdW1uTnVtYmVyKTsKICAgICByZXN1bWUoZXJyb3IpOwogfQpAQCAtMzcxLDcg
KzM2OCw2IEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkUGFyc2VTb3VyY2UoY29u
c3QgU3RyaW5nJiBzb3VyY2VJRCwgY29uc3QgU3RyaW5nCiAgICAgICAgIGJyZWFrcG9pbnRPYmpl
Y3QtPmdldE51bWJlcigibGluZU51bWJlciIsICZicmVha3BvaW50LmxpbmVOdW1iZXIpOwogICAg
ICAgICBicmVha3BvaW50T2JqZWN0LT5nZXROdW1iZXIoImNvbHVtbk51bWJlciIsICZicmVha3Bv
aW50LmNvbHVtbk51bWJlcik7CiAgICAgICAgIGJyZWFrcG9pbnRPYmplY3QtPmdldFN0cmluZygi
Y29uZGl0aW9uIiwgJmJyZWFrcG9pbnQuY29uZGl0aW9uKTsKLSAgICAgICAgYnJlYWtwb2ludE9i
amVjdC0+Z2V0Qm9vbGVhbigiZW5hYmxlZCIsICZicmVha3BvaW50LmVuYWJsZWQpOwogICAgICAg
ICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBsb2NhdGlvbiA9IHJlc29sdmVCcmVha3BvaW50KGl0
LT5maXJzdCwgc291cmNlSUQsIGJyZWFrcG9pbnQpOwogICAgICAgICBpZiAobG9jYXRpb24pCiAg
ICAgICAgICAgICBtX2Zyb250ZW5kLT5icmVha3BvaW50UmVzb2x2ZWQoaXQtPmZpcnN0LCBsb2Nh
dGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaAppbmRleCA0OGViYTA5MGFmZjdjN2Q1NDczNDhiNmY2YTk2YTQwOTZjNzQ1NGVmLi40
N2U4ZTVkZjJiODc0YzA2NGQ4YTk1MmU5NWI5MDliNTA5YTBkZjc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTgwLDggKzgw
LDggQEAgcHVibGljOgogICAgIC8vIFBhcnQgb2YgdGhlIHByb3RvY29sLgogICAgIHZvaWQgc2V0
QnJlYWtwb2ludHNBY3RpdmUoRXJyb3JTdHJpbmcqLCBib29sIGFjdGl2ZSk7CiAKLSAgICB2b2lk
IHNldEJyZWFrcG9pbnRCeVVybChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQg
bGluZU51bWJlciwgY29uc3QgaW50KiBjb25zdCBvcHRpb25hbENvbHVtbk51bWJlciwgY29uc3Qg
U3RyaW5nKiBjb25zdCBvcHRpb25hbENvbmRpdGlvbiwgY29uc3QgYm9vbCogY29uc3Qgb3B0aW9u
YWxFbmFibGVkLCBTdHJpbmcqIGJyZWFrcG9pbnRJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5Piog
bG9jYXRpb25zKTsKLSAgICB2b2lkIHNldEJyZWFrcG9pbnQoRXJyb3JTdHJpbmcqLCBjb25zdCBT
dHJpbmcmIHNvdXJjZUlkLCBpbnQgbGluZU51bWJlciwgY29uc3QgaW50KiBjb25zdCBvcHRpb25h
bENvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nKiBjb25zdCBvcHRpb25hbENvbmRpdGlvbiwgY29u
c3QgYm9vbCogY29uc3Qgb3B0aW9uYWxFbmFibGVkLCBTdHJpbmcqIGJyZWFrcG9pbnRJZCwgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4qIGxvY2F0aW9uKTsKKyAgICB2b2lkIHNldEJyZWFrcG9pbnRC
eVVybChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlciwgY29u
c3QgaW50KiBjb25zdCBvcHRpb25hbENvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nKiBjb25zdCBv
cHRpb25hbENvbmRpdGlvbiwgU3RyaW5nKiBicmVha3BvaW50SWQsIFJlZlB0cjxJbnNwZWN0b3JB
cnJheT4qIGxvY2F0aW9ucyk7CisgICAgdm9pZCBzZXRCcmVha3BvaW50KEVycm9yU3RyaW5nKiwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VJZCwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IGludCogY29uc3Qg
b3B0aW9uYWxDb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyogY29uc3Qgb3B0aW9uYWxDb25kaXRp
b24sIFN0cmluZyogYnJlYWtwb2ludElkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogbG9jYXRp
b24pOwogICAgIHZvaWQgcmVtb3ZlQnJlYWtwb2ludChFcnJvclN0cmluZyosIGNvbnN0IFN0cmlu
ZyYgYnJlYWtwb2ludElkKTsKICAgICB2b2lkIGNvbnRpbnVlVG9Mb2NhdGlvbihFcnJvclN0cmlu
ZyosIGNvbnN0IFN0cmluZyYgc291cmNlSWQsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVt
YmVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdEJyZWFr
cG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRCcmVha3BvaW50LmgKaW5k
ZXggNDkxN2FlZmM1MDA4YmZiNGNlZDE3NjZkYWI2OGFkZGNkMzMxZGVkMy4uOTIwZmIzZjJjMmM3
ZDY5NWEyOGU2NmM4YzEyN2U0MDc0NjUyYjk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvU2NyaXB0QnJlYWtwb2ludC5oCkBAIC0zOSwxOCArMzksMTYgQEAgc3RydWN0IFNjcmlwdEJy
ZWFrcG9pbnQgewogICAgIHsKICAgICB9CiAKLSAgICBTY3JpcHRCcmVha3BvaW50KGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIGNvbmRpdGlvbiwgYm9vbCBl
bmFibGVkKQorICAgIFNjcmlwdEJyZWFrcG9pbnQoaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5O
dW1iZXIsIGNvbnN0IFN0cmluZyYgY29uZGl0aW9uKQogICAgICAgICA6IGxpbmVOdW1iZXIobGlu
ZU51bWJlcikKICAgICAgICAgLCBjb2x1bW5OdW1iZXIoY29sdW1uTnVtYmVyKQogICAgICAgICAs
IGNvbmRpdGlvbihjb25kaXRpb24pCi0gICAgICAgICwgZW5hYmxlZChlbmFibGVkKQogICAgIHsK
ICAgICB9CiAKICAgICBpbnQgbGluZU51bWJlcjsKICAgICBpbnQgY29sdW1uTnVtYmVyOwogICAg
IFN0cmluZyBjb25kaXRpb247Ci0gICAgYm9vbCBlbmFibGVkOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9EZWJ1Z2dlck1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
ZWJ1Z2dlck1vZGVsLmpzCmluZGV4IGQ5NmZmZGYxYmMwYzA3Y2E2YWYzMTQ2MTIzOGRmMTE4OTlh
ZDMxOTQuLjVmNWM5NDNjZmNkYTViZDJlNGFiOTZhMGU3MGJhNTU3MTQxYWFhZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMK
QEAgLTczLDcgKzczLDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlID0g
ewogICAgICAgICBEZWJ1Z2dlckFnZW50LmNvbnRpbnVlVG9Mb2NhdGlvbihzb3VyY2VJRCwgbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyKTsKICAgICB9LAogCi0gICAgc2V0QnJlYWtwb2ludDogZnVu
Y3Rpb24odXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCwg
Y2FsbGJhY2spCisgICAgc2V0QnJlYWtwb2ludDogZnVuY3Rpb24odXJsLCBsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIsIGNvbmRpdGlvbiwgY2FsbGJhY2spCiAgICAgewogICAgICAgICAvLyBBZGp1
c3QgY29sdW1uIGlmIG5lZWRlZC4KICAgICAgICAgdmFyIG1pbkNvbHVtbk51bWJlciA9IDA7CkBA
IC04OSwxNyArODksMTcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVy
cm9yID8gbnVsbCA6IGJyZWFrcG9pbnRJZCwgbG9jYXRpb25zKTsKICAgICAgICAgfQotICAgICAg
ICBEZWJ1Z2dlckFnZW50LnNldEJyZWFrcG9pbnRCeVVybCh1cmwsIGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkLCBkaWRTZXRCcmVha3BvaW50LmJpbmQodGhpcykp
OworICAgICAgICBEZWJ1Z2dlckFnZW50LnNldEJyZWFrcG9pbnRCeVVybCh1cmwsIGxpbmVOdW1i
ZXIsIGNvbHVtbk51bWJlciwgY29uZGl0aW9uLCBkaWRTZXRCcmVha3BvaW50LmJpbmQodGhpcykp
OwogICAgIH0sCiAKLSAgICBzZXRCcmVha3BvaW50QnlTb3VyY2VJZDogZnVuY3Rpb24oc291cmNl
SUQsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkLCBjYWxsYmFj
aykKKyAgICBzZXRCcmVha3BvaW50QnlTb3VyY2VJZDogZnVuY3Rpb24oc291cmNlSUQsIGxpbmVO
dW1iZXIsIGNvbHVtbk51bWJlciwgY29uZGl0aW9uLCBjYWxsYmFjaykKICAgICB7CiAgICAgICAg
IGZ1bmN0aW9uIGRpZFNldEJyZWFrcG9pbnQoZXJyb3IsIGJyZWFrcG9pbnRJZCwgbG9jYXRpb24p
CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKICAgICAgICAgICAgICAgICBj
YWxsYmFjayhlcnJvciA/IG51bGwgOiBicmVha3BvaW50SWQsIFtsb2NhdGlvbl0pOwogICAgICAg
ICB9Ci0gICAgICAgIERlYnVnZ2VyQWdlbnQuc2V0QnJlYWtwb2ludChzb3VyY2VJRCwgbGluZU51
bWJlciwgY29sdW1uTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQsIGRpZFNldEJyZWFrcG9pbnQu
YmluZCh0aGlzKSk7CisgICAgICAgIERlYnVnZ2VyQWdlbnQuc2V0QnJlYWtwb2ludChzb3VyY2VJ
RCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjb25kaXRpb24sIGRpZFNldEJyZWFrcG9pbnQu
YmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAgIHJlbW92ZUJyZWFrcG9pbnQ6IGZ1bmN0aW9uKGJy
ZWFrcG9pbnRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCA3NWVkYjA4ZDE5
YmE2ZGE4NDk1NGIzY2VjODBmMDllZjAyMWUxMWYwLi5lYTE3ZDZiYWJjNDAxNmQ5ZWU3NmM4MzVh
ZDgyMzYyN2M0OWFiZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC0zMiw4
ICszMiw5IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsID0gZnVuY3Rp
b24oKQogewogICAgIHRoaXMuX3NvdXJjZUZpbGVzID0ge307CiAgICAgdGhpcy5fbWVzc2FnZXMg
PSBbXTsKLSAgICB0aGlzLl9wcmVzZW50YXRpb25CcmVha3BvaW50cyA9IHt9OworICAgIHRoaXMu
X2JyZWFrcG9pbnRzQnlEZWJ1Z2dlcklkID0ge307CiAgICAgdGhpcy5fYnJlYWtwb2ludHNXaXRo
b3V0U291cmNlRmlsZSA9IHt9OworCiAgICAgdGhpcy5fcHJlc2VudGF0aW9uQ2FsbEZyYW1lcyA9
IFtdOwogICAgIHRoaXMuX3NlbGVjdGVkQ2FsbEZyYW1lSW5kZXggPSAwOwogCkBAIC0xMTcsMTAg
KzExOCwxMyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHZhciBwZW5kaW5nQnJlYWtwb2ludHMgPSB0aGlzLl9icmVha3BvaW50
c1dpdGhvdXRTb3VyY2VGaWxlW3NvdXJjZUZpbGUuaWRdOwogICAgICAgICBmb3IgKHZhciBpID0g
MDsgcGVuZGluZ0JyZWFrcG9pbnRzICYmIGkgPCBwZW5kaW5nQnJlYWtwb2ludHMubGVuZ3RoOyAr
K2kpIHsKICAgICAgICAgICAgIHZhciBicmVha3BvaW50RGF0YSA9IHBlbmRpbmdCcmVha3BvaW50
c1tpXTsKLSAgICAgICAgICAgIGlmICgiZGVidWdnZXJJZCIgaW4gYnJlYWtwb2ludERhdGEpCi0g
ICAgICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2ludEFkZGVkKG5ldyBXZWJJbnNwZWN0b3IuUHJl
c2VudGF0aW9uQnJlYWtwb2ludChzb3VyY2VGaWxlLCBicmVha3BvaW50RGF0YS5saW5lTnVtYmVy
LCBicmVha3BvaW50RGF0YS5jb25kaXRpb24sIGJyZWFrcG9pbnREYXRhLmVuYWJsZWQsIGJyZWFr
cG9pbnREYXRhLmRlYnVnZ2VySWQpKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICB0aGlzLnNldEJyZWFrcG9pbnQoc291cmNlRmlsZS5pZCwgYnJlYWtwb2ludERhdGEubGluZU51
bWJlciwgYnJlYWtwb2ludERhdGEuY29uZGl0aW9uLCBicmVha3BvaW50RGF0YS5lbmFibGVkLCBm
YWxzZSk7CisgICAgICAgICAgICBpZiAoImRlYnVnZ2VySWQiIGluIGJyZWFrcG9pbnREYXRhKSB7
CisgICAgICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBuZXcgV2ViSW5zcGVjdG9yLlByZXNl
bnRhdGlvbkJyZWFrcG9pbnQoc291cmNlRmlsZSwgYnJlYWtwb2ludERhdGEubGluZU51bWJlciwg
YnJlYWtwb2ludERhdGEuY29uZGl0aW9uLCBicmVha3BvaW50RGF0YS5lbmFibGVkKTsKKyAgICAg
ICAgICAgICAgICBicmVha3BvaW50LmRlYnVnZ2VySWQgPSBicmVha3BvaW50RGF0YS5kZWJ1Z2dl
cklkOworICAgICAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRzQnlEZWJ1Z2dlcklkW2JyZWFr
cG9pbnQuZGVidWdnZXJJZF0gPSBicmVha3BvaW50OworICAgICAgICAgICAgICAgIHRoaXMuX2Jy
ZWFrcG9pbnRBZGRlZChicmVha3BvaW50KTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAg
ICAgICAgIHRoaXMuc2V0QnJlYWtwb2ludChzb3VyY2VGaWxlLmlkLCBicmVha3BvaW50RGF0YS5s
aW5lTnVtYmVyLCBicmVha3BvaW50RGF0YS5jb25kaXRpb24sIGJyZWFrcG9pbnREYXRhLmVuYWJs
ZWQsIHRydWUpOwogICAgICAgICB9CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9icmVha3BvaW50c1dp
dGhvdXRTb3VyY2VGaWxlW3NvdXJjZUZpbGUuaWRdOwogICAgIH0sCkBAIC0xNjAsMTIgKzE2NCwx
NSBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7
CiAKICAgICBfdXBkYXRlQnJlYWtwb2ludHNBZnRlckxpdmVFZGl0OiBmdW5jdGlvbihzb3VyY2VG
aWxlSWQsIG9sZFNvdXJjZSwgbmV3U291cmNlKQogICAgIHsKKyAgICAgICAgdmFyIHNvdXJjZUZp
bGUgPSB0aGlzLl9zb3VyY2VGaWxlc1tzb3VyY2VGaWxlSWRdOworICAgICAgICBpZiAoIXNvdXJj
ZUZpbGUpCisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgLy8gQ2xlYXIgYW5kIHJlLWNy
ZWF0ZSBicmVha3BvaW50cyBhY2NvcmRpbmcgdG8gdGV4dCBkaWZmLgogICAgICAgICB2YXIgZGlm
ZiA9IEFycmF5LmRpZmYob2xkU291cmNlLnNwbGl0KCJcbiIpLCBuZXdTb3VyY2Uuc3BsaXQoIlxu
IikpOwotICAgICAgICBmb3IgKHZhciBpZCBpbiB0aGlzLl9wcmVzZW50YXRpb25CcmVha3BvaW50
cykgewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSB0aGlzLl9wcmVzZW50YXRpb25CcmVh
a3BvaW50c1tpZF07Ci0gICAgICAgICAgICBpZiAoYnJlYWtwb2ludC5zb3VyY2VGaWxlSWQgIT09
IHNvdXJjZUZpbGVJZCkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgZm9yICh2
YXIgbGluZU51bWJlciBpbiBzb3VyY2VGaWxlLmJyZWFrcG9pbnRzKSB7CisgICAgICAgICAgICB2
YXIgYnJlYWtwb2ludCA9IHNvdXJjZUZpbGUuYnJlYWtwb2ludHNbbGluZU51bWJlcl07CisKICAg
ICAgICAgICAgIHZhciBsaW5lTnVtYmVyID0gYnJlYWtwb2ludC5saW5lTnVtYmVyOwogICAgICAg
ICAgICAgdGhpcy5yZW1vdmVCcmVha3BvaW50KHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcik7CiAK
QEAgLTE4NCw3ICsxOTEsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgaWYgKG5ld0xpbmVOdW1iZXIgIT09IHVuZGVmaW5lZCkKLSAgICAgICAgICAgICAgICB0
aGlzLnNldEJyZWFrcG9pbnQoc291cmNlRmlsZUlkLCBuZXdMaW5lTnVtYmVyLCBicmVha3BvaW50
LmNvbmRpdGlvbiwgYnJlYWtwb2ludC5lbmFibGVkLCBmYWxzZSk7CisgICAgICAgICAgICAgICAg
dGhpcy5zZXRCcmVha3BvaW50KHNvdXJjZUZpbGVJZCwgbmV3TGluZU51bWJlciwgYnJlYWtwb2lu
dC5jb25kaXRpb24sIGJyZWFrcG9pbnQuZW5hYmxlZCk7CiAgICAgICAgIH0KICAgICB9LAogCkBA
IC0yNTYsNTEgKzI2Myw5OSBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBicmVha3BvaW50czsKICAgICB9LAogCi0g
ICAgc2V0QnJlYWtwb2ludDogZnVuY3Rpb24oc291cmNlRmlsZUlkLCBsaW5lTnVtYmVyLCBjb25k
aXRpb24sIGVuYWJsZWQsIHNhdmVCcmVha3BvaW50cykKKyAgICBzZXRCcmVha3BvaW50OiBmdW5j
dGlvbihzb3VyY2VGaWxlSWQsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCwgZG9udFNh
dmVCcmVha3BvaW50cykKICAgICB7CiAgICAgICAgIHZhciBzb3VyY2VGaWxlID0gdGhpcy5fc291
cmNlRmlsZXNbc291cmNlRmlsZUlkXTsKICAgICAgICAgaWYgKCFzb3VyY2VGaWxlKSAKICAgICAg
ICAgICAgIHJldHVybjsKIAorICAgICAgICB2YXIgYnJlYWtwb2ludCA9IG5ldyBXZWJJbnNwZWN0
b3IuUHJlc2VudGF0aW9uQnJlYWtwb2ludChzb3VyY2VGaWxlLCBsaW5lTnVtYmVyLCBjb25kaXRp
b24sIGVuYWJsZWQpOworICAgICAgICBpZiAoIWVuYWJsZWQpIHsKKyAgICAgICAgICAgIHRoaXMu
X2JyZWFrcG9pbnRBZGRlZChicmVha3BvaW50KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICAgICAgeworICAgICAgICAg
ICAgdGhpcy5fYnJlYWtwb2ludEFkZGVkKGJyZWFrcG9pbnQpOworICAgICAgICAgICAgaWYgKCFk
b250U2F2ZUJyZWFrcG9pbnRzKQorICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVCcmVha3BvaW50
cygpOworICAgICAgICB9CisgICAgICAgIHRoaXMuX3NldEJyZWFrcG9pbnRJbkRlYnVnZ2VyKGJy
ZWFrcG9pbnQsIGNhbGxiYWNrLmJpbmQodGhpcykpOworICAgIH0sCisKKyAgICBfc2V0QnJlYWtw
b2ludEluRGVidWdnZXI6IGZ1bmN0aW9uKGJyZWFrcG9pbnQsIGNhbGxiYWNrKQorICAgIHsKICAg
ICAgICAgZnVuY3Rpb24gZGlkU2V0QnJlYWtwb2ludChicmVha3BvaW50SWQsIGxvY2F0aW9ucykK
ICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFicmVha3BvaW50SWQpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2ludEFkZGVkKG5ldyBXZWJJbnNw
ZWN0b3IuUHJlc2VudGF0aW9uQnJlYWtwb2ludChzb3VyY2VGaWxlLCBsaW5lTnVtYmVyLCBjb25k
aXRpb24sIGVuYWJsZWQsIGJyZWFrcG9pbnRJZCwgbG9jYXRpb25zWzBdKSk7CiAKLSAgICAgICAg
ICAgIGlmIChzYXZlQnJlYWtwb2ludHMpCi0gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZUJyZWFr
cG9pbnRzKCk7CisgICAgICAgICAgICBicmVha3BvaW50LmRlYnVnZ2VySWQgPSBicmVha3BvaW50
SWQ7CisgICAgICAgICAgICBicmVha3BvaW50LmxvY2F0aW9uID0gbG9jYXRpb25zWzBdOworICAg
ICAgICAgICAgdGhpcy5fYnJlYWtwb2ludHNCeURlYnVnZ2VySWRbYnJlYWtwb2ludElkXSA9IGJy
ZWFrcG9pbnQ7CisgICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgICB9CiAKICAgICAgICAg
ZnVuY3Rpb24gZGlkUmVxdWVzdFNvdXJjZU1hcHBpbmcobWFwcGluZykKICAgICAgICAgewotICAg
ICAgICAgICAgdmFyIGxvY2F0aW9uID0gbWFwcGluZy5zb3VyY2VMb2NhdGlvblRvU2NyaXB0TG9j
YXRpb24obGluZU51bWJlciwgMCk7CisgICAgICAgICAgICB2YXIgbG9jYXRpb24gPSBtYXBwaW5n
LnNvdXJjZUxvY2F0aW9uVG9TY3JpcHRMb2NhdGlvbihicmVha3BvaW50LmxpbmVOdW1iZXIsIDAp
OwogICAgICAgICAgICAgdmFyIHNjcmlwdCA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNj
cmlwdEZvclNvdXJjZUlEKGxvY2F0aW9uLnNjcmlwdElkKTsKICAgICAgICAgICAgIGlmIChzY3Jp
cHQuc291cmNlVVJMKQotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVs
LnNldEJyZWFrcG9pbnQoc2NyaXB0LnNvdXJjZVVSTCwgbG9jYXRpb24ubGluZU51bWJlciwgbG9j
YXRpb24uY29sdW1uTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQsIGRpZFNldEJyZWFrcG9pbnQu
YmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwu
c2V0QnJlYWtwb2ludChzY3JpcHQuc291cmNlVVJMLCBsb2NhdGlvbi5saW5lTnVtYmVyLCBsb2Nh
dGlvbi5jb2x1bW5OdW1iZXIsIGJyZWFrcG9pbnQuY29uZGl0aW9uLCBkaWRTZXRCcmVha3BvaW50
LmJpbmQodGhpcykpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5kZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnRCeVNvdXJjZUlkKHNjcmlwdC5zb3VyY2VJ
RCwgbG9jYXRpb24ubGluZU51bWJlciwgbG9jYXRpb24uY29sdW1uTnVtYmVyLCBjb25kaXRpb24s
IGVuYWJsZWQsIGRpZFNldEJyZWFrcG9pbnQuYmluZCh0aGlzKSk7CisgICAgICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludEJ5U291cmNlSWQoc2NyaXB0
LnNvdXJjZUlELCBsb2NhdGlvbi5saW5lTnVtYmVyLCBsb2NhdGlvbi5jb2x1bW5OdW1iZXIsIGJy
ZWFrcG9pbnQuY29uZGl0aW9uLCBkaWRTZXRCcmVha3BvaW50LmJpbmQodGhpcykpOwogICAgICAg
ICB9Ci0gICAgICAgIHNvdXJjZUZpbGUucmVxdWVzdFNvdXJjZU1hcHBpbmcoZGlkUmVxdWVzdFNv
dXJjZU1hcHBpbmcuYmluZCh0aGlzKSk7CisgICAgICAgIGJyZWFrcG9pbnQuc291cmNlRmlsZS5y
ZXF1ZXN0U291cmNlTWFwcGluZyhkaWRSZXF1ZXN0U291cmNlTWFwcGluZy5iaW5kKHRoaXMpKTsK
KyAgICB9LAorCisgICAgX3JlbW92ZUJyZWFrcG9pbnRGcm9tRGVidWdnZXI6IGZ1bmN0aW9uKGJy
ZWFrcG9pbnQpCisgICAgeworICAgICAgICBpZiAoISgiZGVidWdnZXJJZCIgaW4gYnJlYWtwb2lu
dCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TW9kZWwucmVtb3ZlQnJlYWtwb2ludChicmVha3BvaW50LmRlYnVnZ2VySWQpOworICAgICAgICBk
ZWxldGUgdGhpcy5fYnJlYWtwb2ludHNCeURlYnVnZ2VySWRbYnJlYWtwb2ludC5kZWJ1Z2dlcklk
XTsKKyAgICAgICAgZGVsZXRlIGJyZWFrcG9pbnQuZGVidWdnZXJJZDsKICAgICB9LAogCiAgICAg
c2V0QnJlYWtwb2ludEVuYWJsZWQ6IGZ1bmN0aW9uKHNvdXJjZUZpbGVJZCwgbGluZU51bWJlciwg
ZW5hYmxlZCkKICAgICB7Ci0gICAgICAgIHZhciBicmVha3BvaW50ID0gdGhpcy5yZW1vdmVCcmVh
a3BvaW50KHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcik7Ci0gICAgICAgIHRoaXMuc2V0QnJlYWtw
b2ludChzb3VyY2VGaWxlSWQsIGxpbmVOdW1iZXIsIGJyZWFrcG9pbnQuY29uZGl0aW9uLCBlbmFi
bGVkLCB0cnVlKTsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSB0aGlzLmZpbmRCcmVha3BvaW50
KHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcik7CisgICAgICAgIGlmICghYnJlYWtwb2ludCkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMuQnJlYWtwb2lu
dFJlbW92ZWQsIGJyZWFrcG9pbnQpOworCisgICAgICAgIGJyZWFrcG9pbnQuZW5hYmxlZCA9IGVu
YWJsZWQ7CisKKyAgICAgICAgZnVuY3Rpb24gYWZ0ZXJVcGRhdGUoKQorICAgICAgICB7CisgICAg
ICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMuQnJlYWtwb2ludEFkZGVkLCBicmVha3BvaW50KTsK
KyAgICAgICAgICAgIHRoaXMuX3NhdmVCcmVha3BvaW50cygpOworICAgICAgICB9CisKKyAgICAg
ICAgaWYgKCFlbmFibGVkKSB7CisgICAgICAgICAgICB0aGlzLl9yZW1vdmVCcmVha3BvaW50RnJv
bURlYnVnZ2VyKGJyZWFrcG9pbnQpOworICAgICAgICAgICAgYWZ0ZXJVcGRhdGUuY2FsbCh0aGlz
KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0aGlzLl9zZXRCcmVha3BvaW50SW5EZWJ1
Z2dlcihicmVha3BvaW50LCBhZnRlclVwZGF0ZS5iaW5kKHRoaXMpKTsKICAgICB9LAogCiAgICAg
dXBkYXRlQnJlYWtwb2ludDogZnVuY3Rpb24oc291cmNlRmlsZUlkLCBsaW5lTnVtYmVyLCBjb25k
aXRpb24sIGVuYWJsZWQpCiAgICAgewogICAgICAgICB0aGlzLnJlbW92ZUJyZWFrcG9pbnQoc291
cmNlRmlsZUlkLCBsaW5lTnVtYmVyKTsKLSAgICAgICAgdGhpcy5zZXRCcmVha3BvaW50KHNvdXJj
ZUZpbGVJZCwgbGluZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkLCB0cnVlKTsKKyAgICAgICAg
dGhpcy5zZXRCcmVha3BvaW50KHNvdXJjZUZpbGVJZCwgbGluZU51bWJlciwgY29uZGl0aW9uLCBl
bmFibGVkKTsKICAgICB9LAogCiAgICAgcmVtb3ZlQnJlYWtwb2ludDogZnVuY3Rpb24oc291cmNl
RmlsZUlkLCBsaW5lTnVtYmVyKQogICAgIHsKICAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSB0aGlz
LmZpbmRCcmVha3BvaW50KHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcik7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYnJlYWtwb2ludC5kZWJ1Z2dl
cklkKTsKLSAgICAgICAgdGhpcy5fYnJlYWtwb2ludFJlbW92ZWQoYnJlYWtwb2ludC5kZWJ1Z2dl
cklkKTsKKyAgICAgICAgaWYgKCFicmVha3BvaW50KQorICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIHRoaXMuX3JlbW92ZUJyZWFrcG9pbnRGcm9tRGVidWdnZXIoYnJlYWtwb2ludCk7Cisg
ICAgICAgIHRoaXMuX2JyZWFrcG9pbnRSZW1vdmVkKGJyZWFrcG9pbnQpOwogICAgICAgICB0aGlz
Ll9zYXZlQnJlYWtwb2ludHMoKTsKICAgICAgICAgcmV0dXJuIGJyZWFrcG9pbnQ7CiAgICAgfSwK
QEAgLTMzMSwyMCArMzg2LDE1IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJN
b2RlbC5yZW1vdmVCcmVha3BvaW50KGJyZWFrcG9pbnQuZGVidWdnZXJJZCk7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhpcy5fcHJlc2VudGF0
aW9uQnJlYWtwb2ludHNbYnJlYWtwb2ludC5kZWJ1Z2dlcklkXSA9IGJyZWFrcG9pbnQ7CiAgICAg
ICAgICAgICBzb3VyY2VGaWxlLmJyZWFrcG9pbnRzW2JyZWFrcG9pbnQubGluZU51bWJlcl0gPSBi
cmVha3BvaW50OwogICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzLkJyZWFrcG9pbnRBZGRl
ZCwgYnJlYWtwb2ludCk7CiAgICAgICAgIH0KICAgICAgICAgc291cmNlRmlsZS5yZXF1ZXN0U291
cmNlTWFwcGluZyhkaWRSZXF1ZXN0U291cmNlTWFwcGluZy5iaW5kKHRoaXMpKTsKICAgICB9LAog
Ci0gICAgX2JyZWFrcG9pbnRSZW1vdmVkOiBmdW5jdGlvbihkZWJ1Z2dlcklkKQorICAgIF9icmVh
a3BvaW50UmVtb3ZlZDogZnVuY3Rpb24oYnJlYWtwb2ludCkKICAgICB7Ci0gICAgICAgIHZhciBi
cmVha3BvaW50ID0gdGhpcy5fcHJlc2VudGF0aW9uQnJlYWtwb2ludHNbZGVidWdnZXJJZF07Ci0g
ICAgICAgIGlmICghYnJlYWtwb2ludCkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZGVs
ZXRlIHRoaXMuX3ByZXNlbnRhdGlvbkJyZWFrcG9pbnRzW2RlYnVnZ2VySWRdOwotICAgICAgICB2
YXIgc291cmNlRmlsZSA9IHRoaXMuc291cmNlRmlsZShicmVha3BvaW50LnNvdXJjZUZpbGVJZCk7
CisgICAgICAgIHZhciBzb3VyY2VGaWxlID0gYnJlYWtwb2ludC5zb3VyY2VGaWxlOwogICAgICAg
ICBkZWxldGUgc291cmNlRmlsZS5icmVha3BvaW50c1ticmVha3BvaW50LmxpbmVOdW1iZXJdOwog
ICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMuQnJlYWtwb2ludFJlbW92ZWQsIGJyZWFrcG9pbnQp
OwogICAgIH0sCkBAIC0zNTIsMTAgKzQwMiwxMiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgX2JyZWFrcG9pbnRSZXNvbHZlZDogZnVu
Y3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgZGVidWdnZXJJZCA9IGV2ZW50LmRhdGEu
YnJlYWtwb2ludElkOwotICAgICAgICBpZiAoIShkZWJ1Z2dlcklkIGluIHRoaXMuX3ByZXNlbnRh
dGlvbkJyZWFrcG9pbnRzKSkKKyAgICAgICAgaWYgKCEoZGVidWdnZXJJZCBpbiB0aGlzLl9icmVh
a3BvaW50c0J5RGVidWdnZXJJZCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHZhciBi
cmVha3BvaW50ID0gdGhpcy5fcHJlc2VudGF0aW9uQnJlYWtwb2ludHNbZGVidWdnZXJJZF07Ci0g
ICAgICAgIHRoaXMuX2JyZWFrcG9pbnRSZW1vdmVkKGRlYnVnZ2VySWQpOworICAgICAgICB2YXIg
YnJlYWtwb2ludCA9IHRoaXMuX2JyZWFrcG9pbnRzQnlEZWJ1Z2dlcklkW2RlYnVnZ2VySWRdOwor
CisgICAgICAgIHRoaXMuX2JyZWFrcG9pbnRSZW1vdmVkKGJyZWFrcG9pbnQpOworICAgICAgICBi
cmVha3BvaW50LmxvY2F0aW9uID0gZXZlbnQuZGF0YS5sb2NhdGlvbjsKICAgICAgICAgdGhpcy5f
YnJlYWtwb2ludEFkZGVkKGJyZWFrcG9pbnQpOwogICAgIH0sCiAKQEAgLTM2OSw3ICs0MjEsNyBA
QCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB2YXIgc291cmNlRmlsZSA9IHRo
aXMuX3NvdXJjZUZpbGVzW3NvdXJjZUZpbGVJZF07CiAgICAgICAgICAgICBpZiAoc291cmNlRmls
ZSkgewotICAgICAgICAgICAgICAgIHRoaXMuc2V0QnJlYWtwb2ludChzb3VyY2VGaWxlSWQsIGJy
ZWFrcG9pbnREYXRhLmxpbmVOdW1iZXIsIGJyZWFrcG9pbnREYXRhLmNvbmRpdGlvbiwgYnJlYWtw
b2ludERhdGEuZW5hYmxlZCwgZmFsc2UpOworICAgICAgICAgICAgICAgIHRoaXMuc2V0QnJlYWtw
b2ludChzb3VyY2VGaWxlSWQsIGJyZWFrcG9pbnREYXRhLmxpbmVOdW1iZXIsIGJyZWFrcG9pbnRE
YXRhLmNvbmRpdGlvbiwgYnJlYWtwb2ludERhdGEuZW5hYmxlZCk7CiAgICAgICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgICAgICB9CiAKQEAgLTM4NywxNCArNDM5LDE3IEBAIFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAg
ICAgIHZhciBzZXJpYWxpemVkQnJlYWtwb2ludHMgPSBbXTsKIAotICAgICAgICAvLyBTdG9yZSBh
Y3RpdmUgYnJlYWtwb2ludHMuCi0gICAgICAgIGZvciAodmFyIGlkIGluIHRoaXMuX3ByZXNlbnRh
dGlvbkJyZWFrcG9pbnRzKSB7Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHRoaXMuX3By
ZXNlbnRhdGlvbkJyZWFrcG9pbnRzW2lkXTsKLSAgICAgICAgICAgIGlmIChicmVha3BvaW50LnNv
dXJjZUZpbGUgJiYgYnJlYWtwb2ludC5zb3VyY2VGaWxlLnVybCkKLSAgICAgICAgICAgICAgICBz
ZXJpYWxpemVkQnJlYWtwb2ludHMucHVzaChicmVha3BvaW50LnNlcmlhbGl6ZSgpKTsKKyAgICAg
ICAgLy8gU3RvcmUgYWRkZWQgYnJlYWtwb2ludHMuCisgICAgICAgIGZvciAodmFyIHNvdXJjZUZp
bGVJZCBpbiB0aGlzLl9zb3VyY2VGaWxlcykgeworICAgICAgICAgICAgdmFyIHNvdXJjZUZpbGUg
PSB0aGlzLl9zb3VyY2VGaWxlc1tzb3VyY2VGaWxlSWRdOworICAgICAgICAgICAgaWYgKCFzb3Vy
Y2VGaWxlLnVybCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgZm9y
ICh2YXIgbGluZU51bWJlciBpbiBzb3VyY2VGaWxlLmJyZWFrcG9pbnRzKQorICAgICAgICAgICAg
ICAgIHNlcmlhbGl6ZWRCcmVha3BvaW50cy5wdXNoKHNvdXJjZUZpbGUuYnJlYWtwb2ludHNbbGlu
ZU51bWJlcl0uc2VyaWFsaXplKCkpOwogICAgICAgICB9CiAKLSAgICAgICAgLy8gU3RvcmUgaW5h
Y3RpdmUgYnJlYWtwb2ludHMuCisgICAgICAgIC8vIFN0b3JlIG5vdCBhZGRlZCBicmVha3BvaW50
cy4KICAgICAgICAgZm9yICh2YXIgc291cmNlRmlsZUlkIGluIHRoaXMuX2JyZWFrcG9pbnRzV2l0
aG91dFNvdXJjZUZpbGUpCiAgICAgICAgICAgICBzZXJpYWxpemVkQnJlYWtwb2ludHMgPSBzZXJp
YWxpemVkQnJlYWtwb2ludHMuY29uY2F0KHRoaXMuX2JyZWFrcG9pbnRzV2l0aG91dFNvdXJjZUZp
bGVbc291cmNlRmlsZUlkXSk7CiAKQEAgLTQ3Nyw3ICs1MzIsNyBAQCBXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fc291
cmNlRmlsZXMgPSB7fTsKICAgICAgICAgdGhpcy5fbWVzc2FnZXMgPSBbXTsKLSAgICAgICAgdGhp
cy5fcHJlc2VudGF0aW9uQnJlYWtwb2ludHMgPSB7fTsKKyAgICAgICAgdGhpcy5fYnJlYWtwb2lu
dHNCeURlYnVnZ2VySWQgPSB7fTsKICAgICB9LAogCiAgICAgX2RlYnVnZ2VyUmVzZXQ6IGZ1bmN0
aW9uKCkKQEAgLTQ5MCwxNSArNTQ1LDEzIEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKIAogV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0
aW9uTW9kZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90
eXBlOwogCi1XZWJJbnNwZWN0b3IuUHJlc2VudGF0aW9uQnJlYWtwb2ludCA9IGZ1bmN0aW9uKHNv
dXJjZUZpbGUsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCwgZGVidWdnZXJJZCwgbG9j
YXRpb24pCitXZWJJbnNwZWN0b3IuUHJlc2VudGF0aW9uQnJlYWtwb2ludCA9IGZ1bmN0aW9uKHNv
dXJjZUZpbGUsIGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCkKIHsKICAgICB0aGlzLnNv
dXJjZUZpbGUgPSBzb3VyY2VGaWxlOwogICAgIHRoaXMuc291cmNlRmlsZUlkID0gc291cmNlRmls
ZS5pZDsKICAgICB0aGlzLmxpbmVOdW1iZXIgPSBsaW5lTnVtYmVyOwogICAgIHRoaXMuY29uZGl0
aW9uID0gY29uZGl0aW9uOwogICAgIHRoaXMuZW5hYmxlZCA9IGVuYWJsZWQ7Ci0gICAgdGhpcy5k
ZWJ1Z2dlcklkID0gZGVidWdnZXJJZDsKLSAgICB0aGlzLmxvY2F0aW9uID0gbG9jYXRpb247CiB9
CiAKIFdlYkluc3BlY3Rvci5QcmVzZW50YXRpb25CcmVha3BvaW50LnByb3RvdHlwZSA9IHsK
</data>
<flag name="review"
          id="81203"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>