<?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>88759</bug_id>
          
          <creation_ts>2012-06-11 00:05:19 -0700</creation_ts>
          <short_desc>Remove the function ScriptDebugServer::supportsNativeBreakpoints()</short_desc>
          <delta_ts>2012-06-19 07:15:35 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Peter Wang">PeterHWang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>charles.wei</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>kpiascik</cc>
    
    <cc>pfeldman</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>645773</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Wang">PeterHWang</who>
    <bug_when>2012-06-11 00:05:19 -0700</bug_when>
    <thetext>We should remove the function ScriptDebugServer::supportsNativeBreakpoints(), since both V8 and JSC support it now. And the common code of Inspector should also be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648780</commentid>
    <comment_count>1</comment_count>
      <attachid>147481</attachid>
    <who name="Peter Wang">PeterHWang</who>
    <bug_when>2012-06-13 21:24:12 -0700</bug_when>
    <thetext>Created attachment 147481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648859</commentid>
    <comment_count>2</comment_count>
      <attachid>147481</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-06-13 23:57:03 -0700</bug_when>
    <thetext>Comment on attachment 147481
Patch

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

&gt; Source/WebCore/inspector/Inspector-1.0.json:-2026
&gt; -                &quot;name&quot;: &quot;supportsNativeBreakpoints&quot;,

Please don&apos;t change this, shipped versions are retained as is. You are removing the hidden method from the protocol, so versioning check will pass.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:-141
&gt; -        if (Capabilities.nativeInstrumentationEnabled)

Oh, I missed this one. It sounds like we imply both:

1) ability to stop from within native code and
2) ability to collect stack traces from native code

by native instrumentation. I don&apos;t think (2) has been addressed for JSC. So there will be no stack traces for initiator below.


Before stacks are there, I&apos;d suggest to introduce a preference Preferences.displayInitiator = false in JSC and override it to true in the WebKit/chromium/src/js/DevTools.js. It will be used in this file.

&gt; Source/WebKit/blackberry/WebCoreSupport/inspectorBB.js:-26
&gt; -    Preferences.nativeInstrumentationEnabled = true;

Nit: I don&apos;t think you should override preferences for your port at all. We do it in chromium for browser-specific features (see the list in the DevTools.js). Most of the items in your list are already capabilities, so these values are already not taken into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648969</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Wang">PeterHWang</who>
    <bug_when>2012-06-14 02:11:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 147481 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147481&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/Inspector-1.0.json:-2026
&gt; &gt; -                &quot;name&quot;: &quot;supportsNativeBreakpoints&quot;,
&gt; 
&gt; Please don&apos;t change this, shipped versions are retained as is. You are removing the hidden method from the protocol, so versioning check will pass.
I see, ok.
&gt; &gt; Source/WebCore/inspector/front-end/NetworkPanel.js:-141
&gt; &gt; -        if (Capabilities.nativeInstrumentationEnabled)
&gt; 
&gt; Oh, I missed this one. It sounds like we imply both:
&gt; 
&gt; 1) ability to stop from within native code and
&gt; 2) ability to collect stack traces from native code
&gt; 
&gt; by native instrumentation. I don&apos;t think (2) has been addressed for JSC. So there will be no stack traces for initiator below.
&gt; 
&gt; 
&gt; Before stacks are there, I&apos;d suggest to introduce a preference Preferences.displayInitiator = false in JSC and override it to true in the WebKit/chromium/src/js/DevTools.js. It will be used in this file.

I did some investigation of it. Seems JSC already has the code for stack traces (JSC::createScriptCallStack), but works incorrectly now. Now the &quot;Initiator&quot; items on my Inspector just show a default value: &quot;Other&quot;. 
So could I just remove the &quot;nativeInstrumentationEnabled&quot; here, and then try to make JSC work correctly? Maybe that way seems more clear. And also, if I introduce a preference item, maybe, I&apos;ll face challenges from another people.  

&gt; &gt; Source/WebKit/blackberry/WebCoreSupport/inspectorBB.js:-26
&gt; &gt; -    Preferences.nativeInstrumentationEnabled = true;
&gt; 
&gt; Nit: I don&apos;t think you should override preferences for your port at all. We do it in chromium for browser-specific features (see the list in the DevTools.js). Most of the items in your list are already capabilities, so these values are already not taken into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648970</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Wang">PeterHWang</who>
    <bug_when>2012-06-14 02:12:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 147481 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147481&amp;action=review
&gt; Nit: I don&apos;t think you should override preferences for your port at all. We do it in chromium for browser-specific features (see the list in the DevTools.js). Most of the items in your list are already capabilities, so these values are already not taken into account.
ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648985</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-06-14 02:29:51 -0700</bug_when>
    <thetext>&gt; I did some investigation of it. Seems JSC already has the code for stack traces (JSC::createScriptCallStack), but works incorrectly now. Now the &quot;Initiator&quot; items on my Inspector just show a default value: &quot;Other&quot;. 
&gt; So could I just remove the &quot;nativeInstrumentationEnabled&quot; here, and then try to make JSC work correctly? Maybe that way seems more clear. And also, if I introduce a preference item, maybe, I&apos;ll face challenges from another people.  

See https://bugs.webkit.org/show_bug.cgi?id=40118 for the bug on the stack trace collecting. So someone is already making it work for JSC.

I think property is fine (better than &quot;Other&quot; all over the place). Could you elaborate on the &quot;I&apos;ll face challenges from another people.&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649013</commentid>
    <comment_count>6</comment_count>
    <who name="Peter Wang">PeterHWang</who>
    <bug_when>2012-06-14 02:53:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; I did some investigation of it. Seems JSC already has the code for stack traces (JSC::createScriptCallStack), but works incorrectly now. Now the &quot;Initiator&quot; items on my Inspector just show a default value: &quot;Other&quot;. 
&gt; &gt; So could I just remove the &quot;nativeInstrumentationEnabled&quot; here, and then try to make JSC work correctly? Maybe that way seems more clear. And also, if I introduce a preference item, maybe, I&apos;ll face challenges from another people.  
&gt; 
&gt; See https://bugs.webkit.org/show_bug.cgi?id=40118 for the bug on the stack trace collecting. So someone is already making it work for JSC.
&gt; 
&gt; I think property is fine (better than &quot;Other&quot; all over the place). Could you elaborate on the &quot;I&apos;ll face challenges from another people.&quot;?

Never mind. I&apos;m just not sure if someone will be wondering why there is a new preference item appeared. The way to resolve it is ok for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649092</commentid>
    <comment_count>7</comment_count>
      <attachid>147563</attachid>
    <who name="Peter Wang">PeterHWang</who>
    <bug_when>2012-06-14 05:37:34 -0700</bug_when>
    <thetext>Created attachment 147563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652417</commentid>
    <comment_count>8</comment_count>
      <attachid>147563</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-19 07:15:30 -0700</bug_when>
    <thetext>Comment on attachment 147563
Patch

Clearing flags on attachment: 147563

Committed r120711: &lt;http://trac.webkit.org/changeset/120711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652419</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-19 07:15:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147481</attachid>
            <date>2012-06-13 21:24:12 -0700</date>
            <delta_ts>2012-06-14 05:37:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88759-20120614122406.patch</filename>
            <type>text/plain</type>
            <size>20805</size>
            <attacher name="Peter Wang">PeterHWang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg1NmE3YTljN2Q1Y2Rj
YmVhYjBiYmI5MWFkZDAyNjIzYjY0NGY1ZS4uZDU4ZDA5NmJmNzhhNWZhZWM4NTZmZWM4ZDNkNjdm
NWM1YzM3YWUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA2LTEzICBQZXRl
ciBXYW5nICA8cGV0ZXIud2FuZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgUmVtb3Zl
IHRoZSBmdW5jdGlvbiBTY3JpcHREZWJ1Z1NlcnZlcjo6c3VwcG9ydHNOYXRpdmVCcmVha3BvaW50
cygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODc1
OQorCisgICAgICAgIFNpbmNlIGJvdGggSlNDIGFuZCBWOCBzdXBwb3J0IERPTSBicmVha3BvaW50
IG5vdywgcmVtb3ZlIHRoZSBjb25kaXRpb25hbCBpbnRlcmZhY2UgYW5kIHJlbGF0ZWQgY29kZS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKdXN0IHJl
bW92ZSBzb21lIEpTIGNvZGUgb2YgSW5zcGVjdG9yIGFuZCBpbnRlcmZhY2Ugb2YgU2NyaXB0RGVi
dWdTZXJ2ZXIuCisgICAgICAgIFNvIG5vIG5ldyB0ZXN0cyBhZGRlZC4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmg6CisgICAgICAgICogYmluZGluZ3MvdjgvU2Ny
aXB0RGVidWdTZXJ2ZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLTEuMC5qc29u
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1BhbmVsLnByb3RvdHlwZS53YXNTaG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxl
bWVudHNQYW5lbC5wcm90b3R5cGUuX3BvcHVsYXRlQ29udGV4dE1lbnUpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5fY3JlYXRlVGFibGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5zd2l0Y2hUb0RldGFpbGVkVmlldyk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLnN3aXRjaFRvQnJp
ZWZWaWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3Rv
dHlwZS5jcmVhdGVDZWxscyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlk
Tm9kZS5wcm90b3R5cGUucmVmcmVzaFJlcXVlc3QpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5l
bC5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5l
bC5wcm90b3R5cGUuX2NsZWFySW50ZXJmYWNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1NldHRpbmdzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvTG9hZGVkRG9uZSk6CisKIDIwMTItMDYtMTEg
IFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbnRy
b2R1Y2UgYW4gRW5jbG9zdXJlIEVsZW1lbnQgZm9yIENocm9taXVtIHZpZGVvIGNvbnRyb2xzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggM2U4ZThmZGE0NzBjNjdkMjJhZmZhMjJi
Y2Q1MTIxZGJkNzc2MmUwMi4uMTk4ODljYWNkZjc0OWExZmEzYzk2YzdjY2ViM2FkODMwNzQzZjBl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTIt
MDYtMTMgIFBldGVyIFdhbmcgIDxwZXRlci53YW5nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAg
ICAgICBSZW1vdmUgdGhlIGZ1bmN0aW9uIFNjcmlwdERlYnVnU2VydmVyOjpzdXBwb3J0c05hdGl2
ZUJyZWFrcG9pbnRzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg4NzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9pbnNwZWN0b3JCQi5qczoKKwogMjAxMi0wNi0xMSAgSm9u
YXRoYW4gRG9uZyAgPGpvbmF0aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAg
IFtCbGFja0JlcnJ5XSBBdXRvZmlsbCBmZWF0dXJlIGltcGxlbWVudGF0aW9uIGZvciBCbGFja0Jl
cnJ5IHBvcnRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dERlYnVnU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1Nl
cnZlci5oCmluZGV4IGY5ZGZhYjMyMDliZDU1YTA4YTRjMGZiYjc4M2FiMjI0ODU4YWI4ZTUuLjE1
NmRkYzJmMDg2NDhhNDk2MDExOWUwNDM0NDJjYWQ2MzcxZWY3NTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtODUsOCArODUsNiBAQCBw
dWJsaWM6CiAgICAgYm9vbCBzZXRTY3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwg
Y29uc3QgU3RyaW5nJiBuZXdDb250ZW50LCBib29sIHByZXZpZXcsIFN0cmluZyogZXJyb3IsIFNj
cmlwdFZhbHVlKiBuZXdDYWxsRnJhbWVzLCBTY3JpcHRPYmplY3QqIHJlc3VsdCk7CiAKICAgICBi
b29sIGNhdXNlc1JlY29tcGlsYXRpb24oKSB7IHJldHVybiB0cnVlOyB9Ci0gICAgLy8gRklYTUU6
IE5lZWQgdG8gcmVtb3ZlIHRoaXMuIFJlZmVyIHRvIGJ1ZzogODg3NTkuCi0gICAgYm9vbCBzdXBw
b3J0c05hdGl2ZUJyZWFrcG9pbnRzKCkgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdm9pZCByZWNv
bXBpbGVBbGxKU0Z1bmN0aW9uc1Nvb24oKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVjb21waWxlQWxs
SlNGdW5jdGlvbnMoVGltZXI8U2NyaXB0RGVidWdTZXJ2ZXI+KiA9IDApID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDdlODBlN2Y4
NzdiZWFmYjY2ZDhiMjVmMWU5MzVlZTE3NTQyN2IxOGUuLjQyNDYzOTkzY2U5M2M0ZDk3MTRhN2Mw
MDQyZjhmODNhYTYzN2ZiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0RGVidWdTZXJ2ZXIuaApAQCAtNzksNyArNzksNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBzZXRT
Y3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwgY29uc3QgU3RyaW5nJiBuZXdDb250
ZW50LCBib29sIHByZXZpZXcsIFN0cmluZyogZXJyb3IsIFNjcmlwdFZhbHVlKiBuZXdDYWxsRnJh
bWVzLCBTY3JpcHRPYmplY3QqIHJlc3VsdCk7CiAKICAgICBib29sIGNhdXNlc1JlY29tcGlsYXRp
b24oKSB7IHJldHVybiBmYWxzZTsgfQotICAgIGJvb2wgc3VwcG9ydHNOYXRpdmVCcmVha3BvaW50
cygpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZvaWQgcmVjb21waWxlQWxsSlNGdW5jdGlvbnNT
b29uKCkgeyB9CiAgICAgdm9pZCByZWNvbXBpbGVBbGxKU0Z1bmN0aW9ucyhUaW1lcjxTY3JpcHRE
ZWJ1Z1NlcnZlcj4qID0gMCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLTEuMC5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci0xLjAuanNvbgppbmRleCBlMTllN2UwNjA5MWJjYzU1MTNiMmQ3MWI0MzMxOWRjYjBlYWJmZjE2
Li42MTAzYWI5YzRkNDIwYjgxMTBkMDBhZDZiY2I0ODdhMjVmOTAzN2NhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLTEuMC5qc29uCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3ItMS4wLmpzb24KQEAgLTIwMjMsMTQgKzIwMjMsNiBA
QAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUZWxscyB3aGV0aGVyIGVuYWJsaW5n
IGRlYnVnZ2VyIGNhdXNlcyBzY3JpcHRzIHJlY29tcGlsYXRpb24uIgogICAgICAgICAgICAgfSwK
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzdXBwb3J0c05hdGl2ZUJy
ZWFrcG9pbnRzIiwKLSAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJyZXN1bHQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9u
IjogIlRydWUgaWYgZGVidWdnZXIgc3VwcG9ydHMgbmF0aXZlIGJyZWFrcG9pbnRzLiIgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCi0gICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRlbGxzIHdoZXRoZXIgZGVidWdnZXIgc3VwcG9ydHMg
bmF0aXZlIGJyZWFrcG9pbnRzLiIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRW5hYmxlcyBkZWJ1Z2dlciBmb3IgdGhlIGdpdmVuIHBhZ2UuIENsaWVudHMgc2hvdWxk
IG5vdCBhc3N1bWUgdGhhdCB0aGUgZGVidWdnaW5nIGhhcyBiZWVuIGVuYWJsZWQgdW50aWwgdGhl
IHJlc3VsdCBmb3IgdGhpcyBjb21tYW5kIGlzIHJlY2VpdmVkLiIKICAgICAgICAgICAgIH0sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggYTQwNzUyNTlhZmY5Yjg3
ZWIyM2JmZjI4NzE5NDkyN2U1MjFkZGU5Mi4uYmU5ZDE1ZThlM2YxNGUwNjAwZDJlOWQ4NzZjNjE0
ZmRjYjg2Y2YwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAt
MjMxOSwxNCArMjMxOSw2IEBACiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRlbGxz
IHdoZXRoZXIgZW5hYmxpbmcgZGVidWdnZXIgY2F1c2VzIHNjcmlwdHMgcmVjb21waWxhdGlvbi4i
CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjog
InN1cHBvcnRzTmF0aXZlQnJlYWtwb2ludHMiLAotICAgICAgICAgICAgICAgICJyZXR1cm5zIjog
WwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogImJvb2xl
YW4iLCAiZGVzY3JpcHRpb24iOiAiVHJ1ZSBpZiBkZWJ1Z2dlciBzdXBwb3J0cyBuYXRpdmUgYnJl
YWtwb2ludHMuIiB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiaGlkZGVu
IjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGVsbHMgd2hldGhlciBk
ZWJ1Z2dlciBzdXBwb3J0cyBuYXRpdmUgYnJlYWtwb2ludHMuIgotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAogICAgICAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIGRlYnVnZ2VyIGZvciB0aGUgZ2l2ZW4gcGFn
ZS4gQ2xpZW50cyBzaG91bGQgbm90IGFzc3VtZSB0aGF0IHRoZSBkZWJ1Z2dpbmcgaGFzIGJlZW4g
ZW5hYmxlZCB1bnRpbCB0aGUgcmVzdWx0IGZvciB0aGlzIGNvbW1hbmQgaXMgcmVjZWl2ZWQuIgog
ICAgICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JEZWJ1Z2dlckFnZW50LmNwcAppbmRleCBkYWJkYWFhNGJkMGU4MzdiODk4MmNiMmMyZDUwOTBj
OTJhOTUwMWM3Li43YzExY2Q5NDRiMDI0NGU4YThkZWIyODkzMTExMzI0MGQzZjlkM2QwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
Y3BwCkBAIC0xMTgsMTEgKzExOCw2IEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6Y2Fu
U2V0U2NyaXB0U291cmNlKEVycm9yU3RyaW5nKiwgYm9vbCogcmVzdWx0KQogICAgICpyZXN1bHQg
PSBzY3JpcHREZWJ1Z1NlcnZlcigpLmNhblNldFNjcmlwdFNvdXJjZSgpOwogfQogCi12b2lkIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnN1cHBvcnRzTmF0aXZlQnJlYWtwb2ludHMoRXJyb3JTdHJp
bmcqLCBib29sKiByZXN1bHQpCi17Ci0gICAgKnJlc3VsdCA9IHNjcmlwdERlYnVnU2VydmVyKCku
c3VwcG9ydHNOYXRpdmVCcmVha3BvaW50cygpOwotfQotCiB2b2lkIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQ6OmVuYWJsZShFcnJvclN0cmluZyopCiB7CiAgICAgaWYgKGVuYWJsZWQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4
IDlmNDE1YTVmMGVmODY0NTBiM2EzNTllNWEwM2ZmYmExMGE2MzY1N2YuLmI5YWYzN2Y0ZjIyNTE0
NDc0M2JiNzhiNDFmZmNmY2FjMzczYTY4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAtNjcsNyArNjcsNiBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgY2F1c2VzUmVjb21waWxhdGlvbihFcnJvclN0cmluZyosIGJv
b2wqKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuU2V0U2NyaXB0U291cmNlKEVycm9yU3RyaW5nKiwg
Ym9vbCopOwotICAgIHZpcnR1YWwgdm9pZCBzdXBwb3J0c05hdGl2ZUJyZWFrcG9pbnRzKEVycm9y
U3RyaW5nKiwgYm9vbCopOwogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyop
OwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggMWEz
NjY5NzRiMjZmMTE2NmJhYWIyMjliMDQxOTg1NjE1MzIxMWQ0YS4uM2FkMjUzNGFhNDYyOGZkZDhh
ODJiZjRiYWNkYTZjYTk1ZmI2ZmRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwpAQCAtNzAsOCArNzAsNyBAQCBXZWJJbnNw
ZWN0b3IuRWxlbWVudHNQYW5lbCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnNpZGViYXJQYW5lcy5z
dHlsZXMgPSBuZXcgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lKHRoaXMuc2lkZWJhclBh
bmVzLmNvbXB1dGVkU3R5bGUpOwogICAgIHRoaXMuc2lkZWJhclBhbmVzLm1ldHJpY3MgPSBuZXcg
V2ViSW5zcGVjdG9yLk1ldHJpY3NTaWRlYmFyUGFuZSgpOwogICAgIHRoaXMuc2lkZWJhclBhbmVz
LnByb3BlcnRpZXMgPSBuZXcgV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFuZSgpOwot
ICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkKLSAgICAg
ICAgdGhpcy5zaWRlYmFyUGFuZXMuZG9tQnJlYWtwb2ludHMgPSBXZWJJbnNwZWN0b3IuZG9tQnJl
YWtwb2ludHNTaWRlYmFyUGFuZTsKKyAgICB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50
cyA9IFdlYkluc3BlY3Rvci5kb21CcmVha3BvaW50c1NpZGViYXJQYW5lOwogICAgIHRoaXMuc2lk
ZWJhclBhbmVzLmV2ZW50TGlzdGVuZXJzID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVy
c1NpZGViYXJQYW5lKCk7CiAKICAgICB0aGlzLnNpZGViYXJQYW5lcy5zdHlsZXMub25leHBhbmQg
PSB0aGlzLnVwZGF0ZVN0eWxlcy5iaW5kKHRoaXMpOwpAQCAtMTQwLDggKzEzOSw3IEBAIFdlYklu
c3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF0aGlzLnRy
ZWVPdXRsaW5lLnJvb3RET01Ob2RlKQogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnJlcXVlc3REb2N1bWVudCgpOwogCi0gICAgICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5z
dHJ1bWVudGF0aW9uRW5hYmxlZCkKLSAgICAgICAgICAgIHRoaXMuc2lkZWJhckVsZW1lbnQuaW5z
ZXJ0QmVmb3JlKHRoaXMuc2lkZWJhclBhbmVzLmRvbUJyZWFrcG9pbnRzLmVsZW1lbnQsIHRoaXMu
c2lkZWJhclBhbmVzLmV2ZW50TGlzdGVuZXJzLmVsZW1lbnQpOworICAgICAgICB0aGlzLnNpZGVi
YXJFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cy5l
bGVtZW50LCB0aGlzLnNpZGViYXJQYW5lcy5ldmVudExpc3RlbmVycy5lbGVtZW50KTsKICAgICB9
LAogCiAgICAgd2lsbEhpZGU6IGZ1bmN0aW9uKCkKQEAgLTIxNSw4ICsyMTMsNyBAQCBXZWJJbnNw
ZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAotICAgICAgICBpZiAoQ2FwYWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRhdGlv
bkVuYWJsZWQpCi0gICAgICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cy5y
ZXN0b3JlQnJlYWtwb2ludHMoKTsKKyAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuZG9tQnJlYWtw
b2ludHMucmVzdG9yZUJyZWFrcG9pbnRzKCk7CiAKICAgICAgICAgLyoqCiAgICAgICAgICAqIEB0
aGlzIHtXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbH0KQEAgLTMzMywxMiArMzMwLDEwIEBAIFdl
Ykluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgIF9wb3B1bGF0ZUNv
bnRleHRNZW51OiBmdW5jdGlvbihjb250ZXh0TWVudSwgbm9kZSkKICAgICB7Ci0gICAgICAgIGlm
IChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkgewotICAgICAgICAg
ICAgLy8gQWRkIGRlYmJ1Z2luZy1yZWxhdGVkIGFjdGlvbnMKLSAgICAgICAgICAgIGNvbnRleHRN
ZW51LmFwcGVuZFNlcGFyYXRvcigpOwotICAgICAgICAgICAgdmFyIHBhbmUgPSB0aGlzLnNpZGVi
YXJQYW5lcy5kb21CcmVha3BvaW50czsKLSAgICAgICAgICAgIHBhbmUucG9wdWxhdGVOb2RlQ29u
dGV4dE1lbnUobm9kZSwgY29udGV4dE1lbnUpOwotICAgICAgICB9CisgICAgICAgIC8vIEFkZCBk
ZWJidWdpbmctcmVsYXRlZCBhY3Rpb25zCisgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNlcGFy
YXRvcigpOworICAgICAgICB2YXIgcGFuZSA9IHRoaXMuc2lkZWJhclBhbmVzLmRvbUJyZWFrcG9p
bnRzOworICAgICAgICBwYW5lLnBvcHVsYXRlTm9kZUNvbnRleHRNZW51KG5vZGUsIGNvbnRleHRN
ZW51KTsKICAgICB9LAogCiAgICAgX2dldFBvcG92ZXJBbmNob3I6IGZ1bmN0aW9uKGVsZW1lbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVs
LmpzCmluZGV4IGVlYmVjMGI5NTllZjJlY2Q4N2E5ZmIyMjgwOTkwMjhkOGYyMjE5YjMuLjU4Zjhm
ZmIyNWRjNjUwY2IzM2I2MTE0N2NmYTE0MDQ3NGMwMDVlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCkBAIC0xMzgsMTAgKzEz
OCw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgX2Ny
ZWF0ZVRhYmxlOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgY29sdW1uczsKLSAgICAg
ICAgaWYgKENhcGFiaWxpdGllcy5uYXRpdmVJbnN0cnVtZW50YXRpb25FbmFibGVkKQotICAgICAg
ICAgICAgY29sdW1ucyA9IHtuYW1lOiB7fSwgbWV0aG9kOiB7fSwgc3RhdHVzOiB7fSwgdHlwZTog
e30sIGluaXRpYXRvcjoge30sIHNpemU6IHt9LCB0aW1lOiB7fSwgdGltZWxpbmU6IHt9fTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgY29sdW1ucyA9IHtuYW1lOiB7fSwgbWV0aG9kOiB7fSwg
c3RhdHVzOiB7fSwgdHlwZToge30sIHNpemU6IHt9LCB0aW1lOiB7fSwgdGltZWxpbmU6IHt9fTsK
KyAgICAgICAgY29sdW1ucyA9IHtuYW1lOiB7fSwgbWV0aG9kOiB7fSwgc3RhdHVzOiB7fSwgdHlw
ZToge30sIGluaXRpYXRvcjoge30sIHNpemU6IHt9LCB0aW1lOiB7fSwgdGltZWxpbmU6IHt9fTsK
ICAgICAgICAgY29sdW1ucy5uYW1lLnRpdGxlRE9NRnJhZ21lbnQgPSB0aGlzLl9tYWtlSGVhZGVy
RnJhZ21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIiksIFdlYkluc3BlY3Rvci5VSVN0
cmluZygiUGF0aCIpKTsKICAgICAgICAgY29sdW1ucy5uYW1lLnNvcnRhYmxlID0gdHJ1ZTsKICAg
ICAgICAgY29sdW1ucy5uYW1lLndpZHRoID0gIjIwJSI7CkBAIC0xNTksMTEgKzE1Niw5IEBAIFdl
Ykluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIGNvbHVtbnMu
dHlwZS5zb3J0YWJsZSA9IHRydWU7CiAgICAgICAgIGNvbHVtbnMudHlwZS53aWR0aCA9ICI2JSI7
CiAKLSAgICAgICAgaWYgKENhcGFiaWxpdGllcy5uYXRpdmVJbnN0cnVtZW50YXRpb25FbmFibGVk
KSB7Ci0gICAgICAgICAgICBjb2x1bW5zLmluaXRpYXRvci50aXRsZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiSW5pdGlhdG9yIik7Ci0gICAgICAgICAgICBjb2x1bW5zLmluaXRpYXRvci5zb3J0
YWJsZSA9IHRydWU7Ci0gICAgICAgICAgICBjb2x1bW5zLmluaXRpYXRvci53aWR0aCA9ICIxMCUi
OwotICAgICAgICB9CisgICAgICAgIGNvbHVtbnMuaW5pdGlhdG9yLnRpdGxlID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJJbml0aWF0b3IiKTsKKyAgICAgICAgY29sdW1ucy5pbml0aWF0b3Iuc29y
dGFibGUgPSB0cnVlOworICAgICAgICBjb2x1bW5zLmluaXRpYXRvci53aWR0aCA9ICIxMCUiOwog
CiAgICAgICAgIGNvbHVtbnMuc2l6ZS50aXRsZURPTUZyYWdtZW50ID0gdGhpcy5fbWFrZUhlYWRl
ckZyYWdtZW50KFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2l6ZSIpLCBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkNvbnRlbnQiKSk7CiAgICAgICAgIGNvbHVtbnMuc2l6ZS5zb3J0YWJsZSA9IHRydWU7
CkBAIC0xNzcsMTAgKzE3Miw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5
cGUgPSB7CiAKICAgICAgICAgY29sdW1ucy50aW1lbGluZS50aXRsZSA9ICIiOwogICAgICAgICBj
b2x1bW5zLnRpbWVsaW5lLnNvcnRhYmxlID0gZmFsc2U7Ci0gICAgICAgIGlmIChDYXBhYmlsaXRp
ZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkKLSAgICAgICAgICAgIGNvbHVtbnMudGlt
ZWxpbmUud2lkdGggPSAiNDAlIjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY29sdW1ucy50
aW1lbGluZS53aWR0aCA9ICI1MCUiOworICAgICAgICBjb2x1bW5zLnRpbWVsaW5lLndpZHRoID0g
IjQwJSI7CiAgICAgICAgIGNvbHVtbnMudGltZWxpbmUuc29ydCA9ICJhc2NlbmRpbmciOwogCiAg
ICAgICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3JpZChjb2x1bW5z
KTsKQEAgLTg0Miw4ICs4MzQsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90
eXBlID0gewogICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93Q29sdW1uKCJtZXRob2QiKTsKICAg
ICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvd0NvbHVtbigic3RhdHVzIik7CiAgICAgICAgIHRoaXMu
X2RhdGFHcmlkLnNob3dDb2x1bW4oInR5cGUiKTsKLSAgICAgICAgaWYgKENhcGFiaWxpdGllcy5u
YXRpdmVJbnN0cnVtZW50YXRpb25FbmFibGVkKQotICAgICAgICAgICAgdGhpcy5fZGF0YUdyaWQu
c2hvd0NvbHVtbigiaW5pdGlhdG9yIik7CisgICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3dDb2x1
bW4oImluaXRpYXRvciIpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93Q29sdW1uKCJzaXpl
Iik7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3dDb2x1bW4oInRpbWUiKTsKICAgICAgICAg
dGhpcy5fZGF0YUdyaWQuc2hvd0NvbHVtbigidGltZWxpbmUiKTsKQEAgLTg1MywxNCArODQ0LDEw
IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHdp
ZHRocy5tZXRob2QgPSA2OwogICAgICAgICB3aWR0aHMuc3RhdHVzID0gNjsKICAgICAgICAgd2lk
dGhzLnR5cGUgPSA2OwotICAgICAgICBpZiAoQ2FwYWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRh
dGlvbkVuYWJsZWQpCi0gICAgICAgICAgICB3aWR0aHMuaW5pdGlhdG9yID0gMTA7CisgICAgICAg
IHdpZHRocy5pbml0aWF0b3IgPSAxMDsKICAgICAgICAgd2lkdGhzLnNpemUgPSA2OwogICAgICAg
ICB3aWR0aHMudGltZSA9IDY7Ci0gICAgICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1
bWVudGF0aW9uRW5hYmxlZCkKLSAgICAgICAgICAgIHdpZHRocy50aW1lbGluZSA9IDQwOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICB3aWR0aHMudGltZWxpbmUgPSA1MDsKKyAgICAgICAgd2lk
dGhzLnRpbWVsaW5lID0gNDA7CiAKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYXBwbHlDb2x1bW5X
aWR0aHNNYXAod2lkdGhzKTsKICAgICB9LApAQCAtODczLDggKzg2MCw3IEBAIFdlYkluc3BlY3Rv
ci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmhp
ZGVDb2x1bW4oIm1ldGhvZCIpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRlQ29sdW1uKCJz
dGF0dXMiKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZUNvbHVtbigidHlwZSIpOwotICAg
ICAgICBpZiAoQ2FwYWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRhdGlvbkVuYWJsZWQpCi0gICAg
ICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRlQ29sdW1uKCJpbml0aWF0b3IiKTsKKyAgICAgICAg
dGhpcy5fZGF0YUdyaWQuaGlkZUNvbHVtbigiaW5pdGlhdG9yIik7CiAgICAgICAgIHRoaXMuX2Rh
dGFHcmlkLmhpZGVDb2x1bW4oInNpemUiKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZUNv
bHVtbigidGltZSIpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRlQ29sdW1uKCJ0aW1lbGlu
ZSIpOwpAQCAtMTcyNiw4ICsxNzEyLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5v
ZGUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9tZXRob2RDZWxsID0gdGhpcy5fY3JlYXRl
RGl2SW5URCgibWV0aG9kIik7CiAgICAgICAgIHRoaXMuX3N0YXR1c0NlbGwgPSB0aGlzLl9jcmVh
dGVEaXZJblREKCJzdGF0dXMiKTsKICAgICAgICAgdGhpcy5fdHlwZUNlbGwgPSB0aGlzLl9jcmVh
dGVEaXZJblREKCJ0eXBlIik7Ci0gICAgICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1
bWVudGF0aW9uRW5hYmxlZCkKLSAgICAgICAgICAgIHRoaXMuX2luaXRpYXRvckNlbGwgPSB0aGlz
Ll9jcmVhdGVEaXZJblREKCJpbml0aWF0b3IiKTsKKyAgICAgICAgdGhpcy5faW5pdGlhdG9yQ2Vs
bCA9IHRoaXMuX2NyZWF0ZURpdkluVEQoImluaXRpYXRvciIpOwogICAgICAgICB0aGlzLl9zaXpl
Q2VsbCA9IHRoaXMuX2NyZWF0ZURpdkluVEQoInNpemUiKTsKICAgICAgICAgdGhpcy5fdGltZUNl
bGwgPSB0aGlzLl9jcmVhdGVEaXZJblREKCJ0aW1lIik7CiAgICAgICAgIHRoaXMuX2NyZWF0ZVRp
bWVsaW5lQ2VsbCgpOwpAQCAtMTgyMCw4ICsxODA1LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtE
YXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMuX3JlZnJlc2hTdGF0dXND
ZWxsKCk7CiAgICAgICAgIHRoaXMuX3JlZnJlc2hUeXBlQ2VsbCgpOwotICAgICAgICBpZiAoQ2Fw
YWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRhdGlvbkVuYWJsZWQpCi0gICAgICAgICAgICB0aGlz
Ll9yZWZyZXNoSW5pdGlhdG9yQ2VsbCgpOworICAgICAgICB0aGlzLl9yZWZyZXNoSW5pdGlhdG9y
Q2VsbCgpOwogICAgICAgICB0aGlzLl9yZWZyZXNoU2l6ZUNlbGwoKTsKICAgICAgICAgdGhpcy5f
cmVmcmVzaFRpbWVDZWxsKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggNDhkOTMwYWMxYzdhM2IxZjM1NGYzODUwMjFl
ZGQ5Yjk3MTEzYzUwZS4uMmUwMTk2MTM1NTc4YmQyMDAxMDUxY2ZjNjU3OGFmNWVjMDE3M2I4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFu
ZWwuanMKQEAgLTEwMiwxMSArMTAyLDkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1
bmN0aW9uKHVpU291cmNlQ29kZVByb3ZpZGVyRm9yVGVzdCkKICAgICB0aGlzLnNpZGViYXJQYW5l
cy5jYWxsc3RhY2sgPSBuZXcgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lKCk7CiAg
ICAgdGhpcy5zaWRlYmFyUGFuZXMuc2NvcGVjaGFpbiA9IG5ldyBXZWJJbnNwZWN0b3IuU2NvcGVD
aGFpblNpZGViYXJQYW5lKCk7CiAgICAgdGhpcy5zaWRlYmFyUGFuZXMuanNCcmVha3BvaW50cyA9
IG5ldyBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUoV2ViSW5z
cGVjdG9yLmJyZWFrcG9pbnRNYW5hZ2VyLCB0aGlzLl9zaG93U291cmNlTGluZS5iaW5kKHRoaXMp
KTsKLSAgICBpZiAoQ2FwYWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRhdGlvbkVuYWJsZWQpIHsK
LSAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuZG9tQnJlYWtwb2ludHMgPSBXZWJJbnNwZWN0b3Iu
ZG9tQnJlYWtwb2ludHNTaWRlYmFyUGFuZTsKLSAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMueGhy
QnJlYWtwb2ludHMgPSBuZXcgV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUo
KTsKLSAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzID0g
bmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZSgpOwot
ICAgIH0KKyAgICB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cyA9IFdlYkluc3BlY3Rv
ci5kb21CcmVha3BvaW50c1NpZGViYXJQYW5lOworICAgIHRoaXMuc2lkZWJhclBhbmVzLnhockJy
ZWFrcG9pbnRzID0gbmV3IFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lKCk7
CisgICAgdGhpcy5zaWRlYmFyUGFuZXMuZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzID0gbmV3IFdl
Ykluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFuZSgpOwogCiAgICAg
aWYgKFByZWZlcmVuY2VzLmV4cG9zZVdvcmtlcnNJbnNwZWN0aW9uICYmICFXZWJJbnNwZWN0b3Iu
V29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpIHsKICAgICAgICAgV29ya2VyQWdlbnQu
c2V0V29ya2VySW5zcGVjdGlvbkVuYWJsZWQodHJ1ZSk7CkBAIC0yMTYsOCArMjE0LDcgQEAgV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgd2FzU2hvd246IGZ1bmN0
aW9uKCkKICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2FzU2hv
d24uY2FsbCh0aGlzKTsKLSAgICAgICAgaWYgKENhcGFiaWxpdGllcy5uYXRpdmVJbnN0cnVtZW50
YXRpb25FbmFibGVkKQotICAgICAgICAgICAgdGhpcy5fZGVidWdTaWRlYmFyQ29udGVudHNFbGVt
ZW50Lmluc2VydEJlZm9yZSh0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cy5lbGVtZW50
LCB0aGlzLnNpZGViYXJQYW5lcy54aHJCcmVha3BvaW50cy5lbGVtZW50KTsKKyAgICAgICAgdGhp
cy5fZGVidWdTaWRlYmFyQ29udGVudHNFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLnNpZGViYXJQ
YW5lcy5kb21CcmVha3BvaW50cy5lbGVtZW50LCB0aGlzLnNpZGViYXJQYW5lcy54aHJCcmVha3Bv
aW50cy5lbGVtZW50KTsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMud2F0Y2hFeHByZXNzaW9u
cy5zaG93KCk7CiAKICAgICAgICAgdGhpcy5fbmF2aWdhdG9yQ29udHJvbGxlci53YXNTaG93bigp
OwpAQCAtNjU1LDExICs2NTIsOSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnVwZGF0ZShudWxsKTsK
ICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuc2NvcGVjaGFpbi51cGRhdGUobnVsbCk7CiAgICAg
ICAgIHRoaXMuc2lkZWJhclBhbmVzLmpzQnJlYWtwb2ludHMuY2xlYXJCcmVha3BvaW50SGlnaGxp
Z2h0KCk7Ci0gICAgICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5h
YmxlZCkgewotICAgICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuZG9tQnJlYWtwb2ludHMuY2xl
YXJCcmVha3BvaW50SGlnaGxpZ2h0KCk7Ci0gICAgICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5l
dmVudExpc3RlbmVyQnJlYWtwb2ludHMuY2xlYXJCcmVha3BvaW50SGlnaGxpZ2h0KCk7Ci0gICAg
ICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy54aHJCcmVha3BvaW50cy5jbGVhckJyZWFrcG9pbnRI
aWdobGlnaHQoKTsKLSAgICAgICAgfQorICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVh
a3BvaW50cy5jbGVhckJyZWFrcG9pbnRIaWdobGlnaHQoKTsKKyAgICAgICAgdGhpcy5zaWRlYmFy
UGFuZXMuZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzLmNsZWFyQnJlYWtwb2ludEhpZ2hsaWdodCgp
OworICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy54aHJCcmVha3BvaW50cy5jbGVhckJyZWFrcG9p
bnRIaWdobGlnaHQoKTsKIAogICAgICAgICB0aGlzLl9jbGVhckN1cnJlbnRFeGVjdXRpb25MaW5l
KCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZURlYnVnZ2VyQnV0dG9ucygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKaW5kZXggMjI1NTQ3MGRjNjVh
OGU5ZGU2YzFkZDBiNmQyYjYxZWU0ODQ2NGQ4Zi4uNmY1NDBkZjU4MzU1MjlmNTdhNGU0MjQ4OGEy
NDkxNjBiNTFhMTVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TZXR0aW5ncy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NldHRpbmdzLmpzCkBAIC01Miw3ICs1Miw2IEBAIHZhciBDYXBhYmlsaXRpZXMgPSB7CiAgICAg
c2FtcGxpbmdDUFVQcm9maWxlcjogZmFsc2UsCiAgICAgZGVidWdnZXJDYXVzZXNSZWNvbXBpbGF0
aW9uOiB0cnVlLAogICAgIHByb2ZpbGVyQ2F1c2VzUmVjb21waWxhdGlvbjogdHJ1ZSwKLSAgICBu
YXRpdmVJbnN0cnVtZW50YXRpb25FbmFibGVkOiBmYWxzZSwKICAgICBoZWFwUHJvZmlsZXJQcmVz
ZW50OiBmYWxzZSwKICAgICBjYW5PdmVycmlkZURldmljZU1ldHJpY3M6IGZhbHNlLAogICAgIHRp
bWVsaW5lU3VwcG9ydHNGcmFtZUluc3RydW1lbnRhdGlvbjogZmFsc2UsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGRkNGIzYTRiMjRl
MTRiNjY5OGJjYTRmZWU4NTY0MjIyYzg0ZjhlYjguLjY0ZmZiOWMyMDg1Y2FiNzk2MjY0Y2UyMDll
MmY1ZTQ5ZGJiYWEwMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzCkBAIC0zOTAsNyArMzkwLDYgQEAgV2ViSW5zcGVjdG9yLmRvTG9hZGVk
RG9uZSA9IGZ1bmN0aW9uKCkKICAgICBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5sb2FkZWQo
KTsKIAogICAgIERlYnVnZ2VyQWdlbnQuY2F1c2VzUmVjb21waWxhdGlvbihXZWJJbnNwZWN0b3Iu
X2luaXRpYWxpemVDYXBhYmlsaXR5LmJpbmQoV2ViSW5zcGVjdG9yLCAiZGVidWdnZXJDYXVzZXNS
ZWNvbXBpbGF0aW9uIiwgbnVsbCkpOwotICAgIERlYnVnZ2VyQWdlbnQuc3VwcG9ydHNOYXRpdmVC
cmVha3BvaW50cyhXZWJJbnNwZWN0b3IuX2luaXRpYWxpemVDYXBhYmlsaXR5LmJpbmQoV2ViSW5z
cGVjdG9yLCAibmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCIsIG51bGwpKTsKICAgICBQcm9m
aWxlckFnZW50LmNhdXNlc1JlY29tcGlsYXRpb24oV2ViSW5zcGVjdG9yLl9pbml0aWFsaXplQ2Fw
YWJpbGl0eS5iaW5kKFdlYkluc3BlY3RvciwgInByb2ZpbGVyQ2F1c2VzUmVjb21waWxhdGlvbiIs
IG51bGwpKTsKICAgICBQcm9maWxlckFnZW50LmlzU2FtcGxpbmcoV2ViSW5zcGVjdG9yLl9pbml0
aWFsaXplQ2FwYWJpbGl0eS5iaW5kKFdlYkluc3BlY3RvciwgInNhbXBsaW5nQ1BVUHJvZmlsZXIi
LCBudWxsKSk7CiAgICAgUHJvZmlsZXJBZ2VudC5oYXNIZWFwUHJvZmlsZXIoV2ViSW5zcGVjdG9y
Ll9pbml0aWFsaXplQ2FwYWJpbGl0eS5iaW5kKFdlYkluc3BlY3RvciwgImhlYXBQcm9maWxlclBy
ZXNlbnQiLCBudWxsKSk7CkBAIC00MzksOCArNDM4LDcgQEAgV2ViSW5zcGVjdG9yLl9kb0xvYWRl
ZERvbmVXaXRoQ2FwYWJpbGl0aWVzID0gZnVuY3Rpb24oKQogICAgIHRoaXMuYWR2YW5jZWRTZWFy
Y2hDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIo
KTsKICAgICB0aGlzLnNldHRpbmdzQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGlu
Z3NDb250cm9sbGVyKCk7CiAKLSAgICBpZiAoQ2FwYWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRh
dGlvbkVuYWJsZWQpCi0gICAgICAgIHRoaXMuZG9tQnJlYWtwb2ludHNTaWRlYmFyUGFuZSA9IG5l
dyBXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludHNTaWRlYmFyUGFuZSgpOworICAgIHRoaXMuZG9t
QnJlYWtwb2ludHNTaWRlYmFyUGFuZSA9IG5ldyBXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludHNT
aWRlYmFyUGFuZSgpOwogCiAgICAgdGhpcy5fem9vbUxldmVsID0gV2ViSW5zcGVjdG9yLnNldHRp
bmdzLnpvb21MZXZlbC5nZXQoKTsKICAgICBpZiAodGhpcy5fem9vbUxldmVsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L2luc3BlY3RvckJCLmpz
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L2luc3BlY3RvckJCLmpz
CmluZGV4IDMwMTdlMGE1OGVmOWY4OTMxNTcxMzY5MjJiNTE2NDIxZGEzNzU1ZmQuLmI3NGI2M2Nh
ZWY3NWM3NGMyNjM2ODlkODU3ZWZkMjdmYmFhMTdlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9pbnNwZWN0b3JCQi5qcworKysgYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvaW5zcGVjdG9yQkIuanMKQEAgLTIzLDcg
KzIzLDYgQEAgdmFyIGNvbnRleHQgPSB7fTsKICAgICBQcmVmZXJlbmNlcy5wcm9maWxlckFsd2F5
c0VuYWJsZWQgPSB0cnVlOwogICAgIFByZWZlcmVuY2VzLmNhbkVkaXRTY3JpcHRTb3VyY2UgPSBm
YWxzZTsKICAgICBQcmVmZXJlbmNlcy5vbmxpbmVEZXRlY3Rpb25FbmFibGVkID0gZmFsc2U7Ci0g
ICAgUHJlZmVyZW5jZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCA9IHRydWU7CiAgICAg
Ly8gRklYTUU6IFR1cm4gdGhpcyB0byB3aGF0ZXZlciB0aGUgdmFsdWUgb2YgLS1lbmFibGUtZmls
ZS1zeXN0ZW0gZm9yIGNocm9tZS4KICAgICBQcmVmZXJlbmNlcy5maWxlU3lzdGVtRW5hYmxlZCA9
IGZhbHNlOwogICAgIFByZWZlcmVuY2VzLmNhbkNsZWFyQ2FjaGVBbmRDb29raWVzID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147563</attachid>
            <date>2012-06-14 05:37:34 -0700</date>
            <delta_ts>2012-06-19 07:15:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88759-20120614203728.patch</filename>
            <type>text/plain</type>
            <size>18761</size>
            <attacher name="Peter Wang">PeterHWang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg1NmE3YTljN2Q1Y2Rj
YmVhYjBiYmI5MWFkZDAyNjIzYjY0NGY1ZS4uNTE0MzQzZjE4MmFmMmJiYTkzYzgwNTk5OWU4MzAy
NjAxNGNhMTE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA2LTE0ICBQZXRl
ciBXYW5nICA8cGV0ZXIud2FuZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgUmVtb3Zl
IHRoZSBmdW5jdGlvbiBTY3JpcHREZWJ1Z1NlcnZlcjo6c3VwcG9ydHNOYXRpdmVCcmVha3BvaW50
cygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODc1
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpbmNl
IGJvdGggSlNDIGFuZCBWOCBzdXBwb3J0IERPTSBicmVha3BvaW50IG5vdywgcmVtb3ZlIHRoZSBj
b25kaXRpb25hbCBpbnRlcmZhY2UgYW5kIHJlbGF0ZWQgY29kZS4KKyAgICAgICAgU28gdGhlcmUg
aXMgbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2
ZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1BhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVs
LnByb3RvdHlwZS53YXNTaG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5l
bC5wcm90b3R5cGUuX3BvcHVsYXRlQ29udGV4dE1lbnUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtM
b2dWaWV3LnByb3RvdHlwZS5fY3JlYXRlVGFibGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZS5zd2l0Y2hUb0RldGFpbGVkVmlldyk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLnN3aXRjaFRvQnJpZWZWaWV3KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5jcmVh
dGVDZWxscyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90
b3R5cGUucmVmcmVzaFJlcXVlc3QpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUud2FzU2hvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUuX2NsZWFySW50ZXJmYWNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRp
bmdzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLmRvTG9hZGVkRG9uZSk6CisKIDIwMTItMDYtMTEgIFNpbHZpYSBQ
ZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbnRyb2R1Y2UgYW4g
RW5jbG9zdXJlIEVsZW1lbnQgZm9yIENocm9taXVtIHZpZGVvIGNvbnRyb2xzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCAxZTUyODk2ODRiZWU5Zjg5ZDlhNWJiNGEwZDgzMGFjZjAzZTUx
MTFmLi4yZDM5NzYxMTlmOGE4OTIxZTlhMDBjN2IyMDZmZDMzYjY3YTcyNjc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA2LTE0ICBQZXRlciBXYW5n
ICA8cGV0ZXIud2FuZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgUmVtb3ZlIHRoZSBm
dW5jdGlvbiBTY3JpcHREZWJ1Z1NlcnZlcjo6c3VwcG9ydHNOYXRpdmVCcmVha3BvaW50cygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODc1OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL2pzL0Rl
dlRvb2xzLmpzOgorCiAyMDEyLTA2LTExICBWaW5jZW50IFNjaGVpYiAgPHNjaGVpYkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgQ29uc29saWRhdGUgUG9pbnRlciBMb2NrIHJ1bnRpbWUgZW5hYmxl
ZCBmbGFncyB0byBqdXN0IG9uZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdERlYnVnU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHREZWJ1Z1NlcnZlci5oCmluZGV4IGY5ZGZhYjMyMDliZDU1YTA4YTRjMGZiYjc4M2FiMjI0ODU4
YWI4ZTUuLjE1NmRkYzJmMDg2NDhhNDk2MDExOWUwNDM0NDJjYWQ2MzcxZWY3NTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtODUsOCAr
ODUsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBzZXRTY3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiBz
b3VyY2VJRCwgY29uc3QgU3RyaW5nJiBuZXdDb250ZW50LCBib29sIHByZXZpZXcsIFN0cmluZyog
ZXJyb3IsIFNjcmlwdFZhbHVlKiBuZXdDYWxsRnJhbWVzLCBTY3JpcHRPYmplY3QqIHJlc3VsdCk7
CiAKICAgICBib29sIGNhdXNlc1JlY29tcGlsYXRpb24oKSB7IHJldHVybiB0cnVlOyB9Ci0gICAg
Ly8gRklYTUU6IE5lZWQgdG8gcmVtb3ZlIHRoaXMuIFJlZmVyIHRvIGJ1ZzogODg3NTkuCi0gICAg
Ym9vbCBzdXBwb3J0c05hdGl2ZUJyZWFrcG9pbnRzKCkgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAg
dm9pZCByZWNvbXBpbGVBbGxKU0Z1bmN0aW9uc1Nvb24oKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVj
b21waWxlQWxsSlNGdW5jdGlvbnMoVGltZXI8U2NyaXB0RGVidWdTZXJ2ZXI+KiA9IDApID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4
IDdlODBlN2Y4NzdiZWFmYjY2ZDhiMjVmMWU5MzVlZTE3NTQyN2IxOGUuLjQyNDYzOTkzY2U5M2M0
ZDk3MTRhN2MwMDQyZjhmODNhYTYzN2ZiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNzksNyArNzksNiBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzZXRTY3JpcHRTb3VyY2UoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwgY29uc3QgU3RyaW5n
JiBuZXdDb250ZW50LCBib29sIHByZXZpZXcsIFN0cmluZyogZXJyb3IsIFNjcmlwdFZhbHVlKiBu
ZXdDYWxsRnJhbWVzLCBTY3JpcHRPYmplY3QqIHJlc3VsdCk7CiAKICAgICBib29sIGNhdXNlc1Jl
Y29tcGlsYXRpb24oKSB7IHJldHVybiBmYWxzZTsgfQotICAgIGJvb2wgc3VwcG9ydHNOYXRpdmVC
cmVha3BvaW50cygpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZvaWQgcmVjb21waWxlQWxsSlNG
dW5jdGlvbnNTb29uKCkgeyB9CiAgICAgdm9pZCByZWNvbXBpbGVBbGxKU0Z1bmN0aW9ucyhUaW1l
cjxTY3JpcHREZWJ1Z1NlcnZlcj4qID0gMCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb24KaW5kZXggYTQwNzUyNTlhZmY5Yjg3ZWIyM2JmZjI4NzE5NDkyN2U1MjFkZGU5
Mi4uYmU5ZDE1ZThlM2YxNGUwNjAwZDJlOWQ4NzZjNjE0ZmRjYjg2Y2YwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMjMxOSwxNCArMjMxOSw2IEBACiAgICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRlbGxzIHdoZXRoZXIgZW5hYmxpbmcgZGVidWdn
ZXIgY2F1c2VzIHNjcmlwdHMgcmVjb21waWxhdGlvbi4iCiAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogInN1cHBvcnRzTmF0aXZlQnJlYWtwb2lu
dHMiLAotICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiVHJ1
ZSBpZiBkZWJ1Z2dlciBzdXBwb3J0cyBuYXRpdmUgYnJlYWtwb2ludHMuIiB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKLSAgICAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiVGVsbHMgd2hldGhlciBkZWJ1Z2dlciBzdXBwb3J0cyBuYXRpdmUg
YnJlYWtwb2ludHMuIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJlbmFibGUiLAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJF
bmFibGVzIGRlYnVnZ2VyIGZvciB0aGUgZ2l2ZW4gcGFnZS4gQ2xpZW50cyBzaG91bGQgbm90IGFz
c3VtZSB0aGF0IHRoZSBkZWJ1Z2dpbmcgaGFzIGJlZW4gZW5hYmxlZCB1bnRpbCB0aGUgcmVzdWx0
IGZvciB0aGlzIGNvbW1hbmQgaXMgcmVjZWl2ZWQuIgogICAgICAgICAgICAgfSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAppbmRl
eCBkYWJkYWFhNGJkMGU4MzdiODk4MmNiMmMyZDUwOTBjOTJhOTUwMWM3Li43YzExY2Q5NDRiMDI0
NGU4YThkZWIyODkzMTExMzI0MGQzZjlkM2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCkBAIC0xMTgsMTEgKzExOCw2IEBA
IHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6Y2FuU2V0U2NyaXB0U291cmNlKEVycm9yU3Ry
aW5nKiwgYm9vbCogcmVzdWx0KQogICAgICpyZXN1bHQgPSBzY3JpcHREZWJ1Z1NlcnZlcigpLmNh
blNldFNjcmlwdFNvdXJjZSgpOwogfQogCi12b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnN1
cHBvcnRzTmF0aXZlQnJlYWtwb2ludHMoRXJyb3JTdHJpbmcqLCBib29sKiByZXN1bHQpCi17Ci0g
ICAgKnJlc3VsdCA9IHNjcmlwdERlYnVnU2VydmVyKCkuc3VwcG9ydHNOYXRpdmVCcmVha3BvaW50
cygpOwotfQotCiB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmVuYWJsZShFcnJvclN0cmlu
ZyopCiB7CiAgICAgaWYgKGVuYWJsZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IDlmNDE1YTVmMGVmODY0NTBiM2EzNTll
NWEwM2ZmYmExMGE2MzY1N2YuLmI5YWYzN2Y0ZjIyNTE0NDc0M2JiNzhiNDFmZmNmY2FjMzczYTY4
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaApAQCAtNjcsNyArNjcsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2F1
c2VzUmVjb21waWxhdGlvbihFcnJvclN0cmluZyosIGJvb2wqKTsKICAgICB2aXJ0dWFsIHZvaWQg
Y2FuU2V0U2NyaXB0U291cmNlKEVycm9yU3RyaW5nKiwgYm9vbCopOwotICAgIHZpcnR1YWwgdm9p
ZCBzdXBwb3J0c05hdGl2ZUJyZWFrcG9pbnRzKEVycm9yU3RyaW5nKiwgYm9vbCopOwogCiAgICAg
dmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOwogICAgIHZpcnR1YWwgdm9pZCBkaXNh
YmxlKEVycm9yU3RyaW5nKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggMWEzNjY5NzRiMjZmMTE2NmJhYWIyMjliMDQx
OTg1NjE1MzIxMWQ0YS4uM2FkMjUzNGFhNDYyOGZkZDhhODJiZjRiYWNkYTZjYTk1ZmI2ZmRjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1Bh
bmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQ
YW5lbC5qcwpAQCAtNzAsOCArNzAsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbCA9IGZ1
bmN0aW9uKCkKICAgICB0aGlzLnNpZGViYXJQYW5lcy5zdHlsZXMgPSBuZXcgV2ViSW5zcGVjdG9y
LlN0eWxlc1NpZGViYXJQYW5lKHRoaXMuc2lkZWJhclBhbmVzLmNvbXB1dGVkU3R5bGUpOwogICAg
IHRoaXMuc2lkZWJhclBhbmVzLm1ldHJpY3MgPSBuZXcgV2ViSW5zcGVjdG9yLk1ldHJpY3NTaWRl
YmFyUGFuZSgpOwogICAgIHRoaXMuc2lkZWJhclBhbmVzLnByb3BlcnRpZXMgPSBuZXcgV2ViSW5z
cGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFuZSgpOwotICAgIGlmIChDYXBhYmlsaXRpZXMubmF0
aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkKLSAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuZG9t
QnJlYWtwb2ludHMgPSBXZWJJbnNwZWN0b3IuZG9tQnJlYWtwb2ludHNTaWRlYmFyUGFuZTsKKyAg
ICB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cyA9IFdlYkluc3BlY3Rvci5kb21CcmVh
a3BvaW50c1NpZGViYXJQYW5lOwogICAgIHRoaXMuc2lkZWJhclBhbmVzLmV2ZW50TGlzdGVuZXJz
ID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lKCk7CiAKICAgICB0
aGlzLnNpZGViYXJQYW5lcy5zdHlsZXMub25leHBhbmQgPSB0aGlzLnVwZGF0ZVN0eWxlcy5iaW5k
KHRoaXMpOwpAQCAtMTQwLDggKzEzOSw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF0aGlzLnRyZWVPdXRsaW5lLnJvb3RET01Ob2RlKQog
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlcXVlc3REb2N1bWVudCgpOwogCi0g
ICAgICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkKLSAg
ICAgICAgICAgIHRoaXMuc2lkZWJhckVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuc2lkZWJhclBh
bmVzLmRvbUJyZWFrcG9pbnRzLmVsZW1lbnQsIHRoaXMuc2lkZWJhclBhbmVzLmV2ZW50TGlzdGVu
ZXJzLmVsZW1lbnQpOworICAgICAgICB0aGlzLnNpZGViYXJFbGVtZW50Lmluc2VydEJlZm9yZSh0
aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cy5lbGVtZW50LCB0aGlzLnNpZGViYXJQYW5l
cy5ldmVudExpc3RlbmVycy5lbGVtZW50KTsKICAgICB9LAogCiAgICAgd2lsbEhpZGU6IGZ1bmN0
aW9uKCkKQEAgLTIxNSw4ICsyMTMsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBpZiAo
Q2FwYWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRhdGlvbkVuYWJsZWQpCi0gICAgICAgICAgICB0
aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cy5yZXN0b3JlQnJlYWtwb2ludHMoKTsKKyAg
ICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuZG9tQnJlYWtwb2ludHMucmVzdG9yZUJyZWFrcG9pbnRz
KCk7CiAKICAgICAgICAgLyoqCiAgICAgICAgICAqIEB0aGlzIHtXZWJJbnNwZWN0b3IuRWxlbWVu
dHNQYW5lbH0KQEAgLTMzMywxMiArMzMwLDEwIEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVs
LnByb3RvdHlwZSA9IHsKIAogICAgIF9wb3B1bGF0ZUNvbnRleHRNZW51OiBmdW5jdGlvbihjb250
ZXh0TWVudSwgbm9kZSkKICAgICB7Ci0gICAgICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5z
dHJ1bWVudGF0aW9uRW5hYmxlZCkgewotICAgICAgICAgICAgLy8gQWRkIGRlYmJ1Z2luZy1yZWxh
dGVkIGFjdGlvbnMKLSAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOwot
ICAgICAgICAgICAgdmFyIHBhbmUgPSB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50czsK
LSAgICAgICAgICAgIHBhbmUucG9wdWxhdGVOb2RlQ29udGV4dE1lbnUobm9kZSwgY29udGV4dE1l
bnUpOwotICAgICAgICB9CisgICAgICAgIC8vIEFkZCBkZWJidWdpbmctcmVsYXRlZCBhY3Rpb25z
CisgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOworICAgICAgICB2YXIgcGFu
ZSA9IHRoaXMuc2lkZWJhclBhbmVzLmRvbUJyZWFrcG9pbnRzOworICAgICAgICBwYW5lLnBvcHVs
YXRlTm9kZUNvbnRleHRNZW51KG5vZGUsIGNvbnRleHRNZW51KTsKICAgICB9LAogCiAgICAgX2dl
dFBvcG92ZXJBbmNob3I6IGZ1bmN0aW9uKGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmluZGV4IGVlYmVjMGI5NTllZjJl
Y2Q4N2E5ZmIyMjgwOTkwMjhkOGYyMjE5YjMuLjY0NjE3YjI0MDcxMTI1NzFhNjUyOTlhYTExMDdj
YmYxZjc3NTljMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvTmV0d29ya1BhbmVsLmpzCkBAIC0xMzgsNyArMTM4LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICBfY3JlYXRlVGFibGU6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHZhciBjb2x1bW5zOwotICAgICAgICBpZiAoQ2FwYWJpbGl0aWVzLm5hdGl2
ZUluc3RydW1lbnRhdGlvbkVuYWJsZWQpCisgICAgICAgIGlmIChQcmVmZXJlbmNlcy5kaXNwbGF5
SW5pdGlhdG9yKQogICAgICAgICAgICAgY29sdW1ucyA9IHtuYW1lOiB7fSwgbWV0aG9kOiB7fSwg
c3RhdHVzOiB7fSwgdHlwZToge30sIGluaXRpYXRvcjoge30sIHNpemU6IHt9LCB0aW1lOiB7fSwg
dGltZWxpbmU6IHt9fTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgY29sdW1ucyA9IHtuYW1l
OiB7fSwgbWV0aG9kOiB7fSwgc3RhdHVzOiB7fSwgdHlwZToge30sIHNpemU6IHt9LCB0aW1lOiB7
fSwgdGltZWxpbmU6IHt9fTsKQEAgLTE1OSw3ICsxNTksNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29y
a0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICBjb2x1bW5zLnR5cGUuc29ydGFibGUgPSB0
cnVlOwogICAgICAgICBjb2x1bW5zLnR5cGUud2lkdGggPSAiNiUiOwogCi0gICAgICAgIGlmIChD
YXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkgeworICAgICAgICBpZiAo
UHJlZmVyZW5jZXMuZGlzcGxheUluaXRpYXRvcikgewogICAgICAgICAgICAgY29sdW1ucy5pbml0
aWF0b3IudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkluaXRpYXRvciIpOwogICAgICAg
ICAgICAgY29sdW1ucy5pbml0aWF0b3Iuc29ydGFibGUgPSB0cnVlOwogICAgICAgICAgICAgY29s
dW1ucy5pbml0aWF0b3Iud2lkdGggPSAiMTAlIjsKQEAgLTE3Nyw3ICsxNzcsNyBAQCBXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogCiAgICAgICAgIGNvbHVtbnMudGlt
ZWxpbmUudGl0bGUgPSAiIjsKICAgICAgICAgY29sdW1ucy50aW1lbGluZS5zb3J0YWJsZSA9IGZh
bHNlOwotICAgICAgICBpZiAoQ2FwYWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRhdGlvbkVuYWJs
ZWQpCisgICAgICAgIGlmIChQcmVmZXJlbmNlcy5kaXNwbGF5SW5pdGlhdG9yKQogICAgICAgICAg
ICAgY29sdW1ucy50aW1lbGluZS53aWR0aCA9ICI0MCUiOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBjb2x1bW5zLnRpbWVsaW5lLndpZHRoID0gIjUwJSI7CkBAIC04NDIsNyArODQyLDcgQEAg
V2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5f
ZGF0YUdyaWQuc2hvd0NvbHVtbigibWV0aG9kIik7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLnNo
b3dDb2x1bW4oInN0YXR1cyIpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93Q29sdW1uKCJ0
eXBlIik7Ci0gICAgICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5h
YmxlZCkKKyAgICAgICAgaWYgKFByZWZlcmVuY2VzLmRpc3BsYXlJbml0aWF0b3IpCiAgICAgICAg
ICAgICB0aGlzLl9kYXRhR3JpZC5zaG93Q29sdW1uKCJpbml0aWF0b3IiKTsKICAgICAgICAgdGhp
cy5fZGF0YUdyaWQuc2hvd0NvbHVtbigic2l6ZSIpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5z
aG93Q29sdW1uKCJ0aW1lIik7CkBAIC04NTMsMTEgKzg1MywxMSBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB3aWR0aHMubWV0aG9kID0gNjsKICAg
ICAgICAgd2lkdGhzLnN0YXR1cyA9IDY7CiAgICAgICAgIHdpZHRocy50eXBlID0gNjsKLSAgICAg
ICAgaWYgKENhcGFiaWxpdGllcy5uYXRpdmVJbnN0cnVtZW50YXRpb25FbmFibGVkKQorICAgICAg
ICBpZiAoUHJlZmVyZW5jZXMuZGlzcGxheUluaXRpYXRvcikKICAgICAgICAgICAgIHdpZHRocy5p
bml0aWF0b3IgPSAxMDsKICAgICAgICAgd2lkdGhzLnNpemUgPSA2OwogICAgICAgICB3aWR0aHMu
dGltZSA9IDY7Ci0gICAgICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9u
RW5hYmxlZCkKKyAgICAgICAgaWYgKFByZWZlcmVuY2VzLmRpc3BsYXlJbml0aWF0b3IpCiAgICAg
ICAgICAgICB3aWR0aHMudGltZWxpbmUgPSA0MDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
d2lkdGhzLnRpbWVsaW5lID0gNTA7CkBAIC04NzMsNyArODczLDcgQEAgV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlkZUNv
bHVtbigibWV0aG9kIik7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGVDb2x1bW4oInN0YXR1
cyIpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRlQ29sdW1uKCJ0eXBlIik7Ci0gICAgICAg
IGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkKKyAgICAgICAg
aWYgKFByZWZlcmVuY2VzLmRpc3BsYXlJbml0aWF0b3IpCiAgICAgICAgICAgICB0aGlzLl9kYXRh
R3JpZC5oaWRlQ29sdW1uKCJpbml0aWF0b3IiKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlk
ZUNvbHVtbigic2l6ZSIpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRlQ29sdW1uKCJ0aW1l
Iik7CkBAIC0xNzI2LDcgKzE3MjYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9k
ZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX21ldGhvZENlbGwgPSB0aGlzLl9jcmVhdGVE
aXZJblREKCJtZXRob2QiKTsKICAgICAgICAgdGhpcy5fc3RhdHVzQ2VsbCA9IHRoaXMuX2NyZWF0
ZURpdkluVEQoInN0YXR1cyIpOwogICAgICAgICB0aGlzLl90eXBlQ2VsbCA9IHRoaXMuX2NyZWF0
ZURpdkluVEQoInR5cGUiKTsKLSAgICAgICAgaWYgKENhcGFiaWxpdGllcy5uYXRpdmVJbnN0cnVt
ZW50YXRpb25FbmFibGVkKQorICAgICAgICBpZiAoUHJlZmVyZW5jZXMuZGlzcGxheUluaXRpYXRv
cikKICAgICAgICAgICAgIHRoaXMuX2luaXRpYXRvckNlbGwgPSB0aGlzLl9jcmVhdGVEaXZJblRE
KCJpbml0aWF0b3IiKTsKICAgICAgICAgdGhpcy5fc2l6ZUNlbGwgPSB0aGlzLl9jcmVhdGVEaXZJ
blREKCJzaXplIik7CiAgICAgICAgIHRoaXMuX3RpbWVDZWxsID0gdGhpcy5fY3JlYXRlRGl2SW5U
RCgidGltZSIpOwpAQCAtMTgyMCw3ICsxODIwLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRh
R3JpZE5vZGUucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMuX3JlZnJlc2hTdGF0dXNDZWxs
KCk7CiAgICAgICAgIHRoaXMuX3JlZnJlc2hUeXBlQ2VsbCgpOwotICAgICAgICBpZiAoQ2FwYWJp
bGl0aWVzLm5hdGl2ZUluc3RydW1lbnRhdGlvbkVuYWJsZWQpCisgICAgICAgIGlmIChQcmVmZXJl
bmNlcy5kaXNwbGF5SW5pdGlhdG9yKQogICAgICAgICAgICAgdGhpcy5fcmVmcmVzaEluaXRpYXRv
ckNlbGwoKTsKICAgICAgICAgdGhpcy5fcmVmcmVzaFNpemVDZWxsKCk7CiAgICAgICAgIHRoaXMu
X3JlZnJlc2hUaW1lQ2VsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRleCA0OGQ5MzBhYzFjN2EzYjFmMzU0ZjM4NTAyMWVk
ZDliOTcxMTNjNTBlLi4yZTAxOTYxMzU1NzhiZDIwMDEwNTFjZmM2NTc4YWY1ZWMwMTczYjhmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5l
bC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5l
bC5qcwpAQCAtMTAyLDExICsxMDIsOSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsID0gZnVu
Y3Rpb24odWlTb3VyY2VDb2RlUHJvdmlkZXJGb3JUZXN0KQogICAgIHRoaXMuc2lkZWJhclBhbmVz
LmNhbGxzdGFjayA9IG5ldyBXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUoKTsKICAg
ICB0aGlzLnNpZGViYXJQYW5lcy5zY29wZWNoYWluID0gbmV3IFdlYkluc3BlY3Rvci5TY29wZUNo
YWluU2lkZWJhclBhbmUoKTsKICAgICB0aGlzLnNpZGViYXJQYW5lcy5qc0JyZWFrcG9pbnRzID0g
bmV3IFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZShXZWJJbnNw
ZWN0b3IuYnJlYWtwb2ludE1hbmFnZXIsIHRoaXMuX3Nob3dTb3VyY2VMaW5lLmJpbmQodGhpcykp
OwotICAgIGlmIChDYXBhYmlsaXRpZXMubmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkgewot
ICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cyA9IFdlYkluc3BlY3Rvci5k
b21CcmVha3BvaW50c1NpZGViYXJQYW5lOwotICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy54aHJC
cmVha3BvaW50cyA9IG5ldyBXZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludHNTaWRlYmFyUGFuZSgp
OwotICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5ldmVudExpc3RlbmVyQnJlYWtwb2ludHMgPSBu
ZXcgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lKCk7Ci0g
ICAgfQorICAgIHRoaXMuc2lkZWJhclBhbmVzLmRvbUJyZWFrcG9pbnRzID0gV2ViSW5zcGVjdG9y
LmRvbUJyZWFrcG9pbnRzU2lkZWJhclBhbmU7CisgICAgdGhpcy5zaWRlYmFyUGFuZXMueGhyQnJl
YWtwb2ludHMgPSBuZXcgV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUoKTsK
KyAgICB0aGlzLnNpZGViYXJQYW5lcy5ldmVudExpc3RlbmVyQnJlYWtwb2ludHMgPSBuZXcgV2Vi
SW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lKCk7CiAKICAgICBp
ZiAoUHJlZmVyZW5jZXMuZXhwb3NlV29ya2Vyc0luc3BlY3Rpb24gJiYgIVdlYkluc3BlY3Rvci5X
b3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQoKSkgewogICAgICAgICBXb3JrZXJBZ2VudC5z
ZXRXb3JrZXJJbnNwZWN0aW9uRW5hYmxlZCh0cnVlKTsKQEAgLTIxNiw4ICsyMTQsNyBAQCBXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICB3YXNTaG93bjogZnVuY3Rp
b24oKQogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS53YXNTaG93
bi5jYWxsKHRoaXMpOwotICAgICAgICBpZiAoQ2FwYWJpbGl0aWVzLm5hdGl2ZUluc3RydW1lbnRh
dGlvbkVuYWJsZWQpCi0gICAgICAgICAgICB0aGlzLl9kZWJ1Z1NpZGViYXJDb250ZW50c0VsZW1l
bnQuaW5zZXJ0QmVmb3JlKHRoaXMuc2lkZWJhclBhbmVzLmRvbUJyZWFrcG9pbnRzLmVsZW1lbnQs
IHRoaXMuc2lkZWJhclBhbmVzLnhockJyZWFrcG9pbnRzLmVsZW1lbnQpOworICAgICAgICB0aGlz
Ll9kZWJ1Z1NpZGViYXJDb250ZW50c0VsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuc2lkZWJhclBh
bmVzLmRvbUJyZWFrcG9pbnRzLmVsZW1lbnQsIHRoaXMuc2lkZWJhclBhbmVzLnhockJyZWFrcG9p
bnRzLmVsZW1lbnQpOwogICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy53YXRjaEV4cHJlc3Npb25z
LnNob3coKTsKIAogICAgICAgICB0aGlzLl9uYXZpZ2F0b3JDb250cm9sbGVyLndhc1Nob3duKCk7
CkBAIC02NTUsMTEgKzY1Miw5IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBl
ID0gewogICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5jYWxsc3RhY2sudXBkYXRlKG51bGwpOwog
ICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5zY29wZWNoYWluLnVwZGF0ZShudWxsKTsKICAgICAg
ICAgdGhpcy5zaWRlYmFyUGFuZXMuanNCcmVha3BvaW50cy5jbGVhckJyZWFrcG9pbnRIaWdobGln
aHQoKTsKLSAgICAgICAgaWYgKENhcGFiaWxpdGllcy5uYXRpdmVJbnN0cnVtZW50YXRpb25FbmFi
bGVkKSB7Ci0gICAgICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5kb21CcmVha3BvaW50cy5jbGVh
ckJyZWFrcG9pbnRIaWdobGlnaHQoKTsKLSAgICAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmV2
ZW50TGlzdGVuZXJCcmVha3BvaW50cy5jbGVhckJyZWFrcG9pbnRIaWdobGlnaHQoKTsKLSAgICAg
ICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLnhockJyZWFrcG9pbnRzLmNsZWFyQnJlYWtwb2ludEhp
Z2hsaWdodCgpOwotICAgICAgICB9CisgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmRvbUJyZWFr
cG9pbnRzLmNsZWFyQnJlYWtwb2ludEhpZ2hsaWdodCgpOworICAgICAgICB0aGlzLnNpZGViYXJQ
YW5lcy5ldmVudExpc3RlbmVyQnJlYWtwb2ludHMuY2xlYXJCcmVha3BvaW50SGlnaGxpZ2h0KCk7
CisgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLnhockJyZWFrcG9pbnRzLmNsZWFyQnJlYWtwb2lu
dEhpZ2hsaWdodCgpOwogCiAgICAgICAgIHRoaXMuX2NsZWFyQ3VycmVudEV4ZWN1dGlvbkxpbmUo
KTsKICAgICAgICAgdGhpcy5fdXBkYXRlRGVidWdnZXJCdXR0b25zKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcwppbmRleCAyMjU1NDcwZGM2NWE4
ZTlkZTZjMWRkMGI2ZDJiNjFlZTQ4NDY0ZDhmLi5iNDJmOWJjYzMwMDQyNmYyNGI5NTY1YTVjZjA2
NGNhNjkwMDQ3Y2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NldHRpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U2V0dGluZ3MuanMKQEAgLTQ1LDE0ICs0NSwxNCBAQCB2YXIgUHJlZmVyZW5jZXMgPSB7CiAgICAg
YXBwbGljYXRpb25UaXRsZTogIldlYiBJbnNwZWN0b3IgLSAlcyIsCiAgICAgc2hvd0hlYXBTbmFw
c2hvdE9iamVjdHNIaWRkZW5Qcm9wZXJ0aWVzOiBmYWxzZSwKICAgICBzaG93RG9ja1RvUmlnaHQ6
IGZhbHNlLAotICAgIGV4cG9zZUZpbGVTeXN0ZW1JbnNwZWN0aW9uOiBmYWxzZQorICAgIGV4cG9z
ZUZpbGVTeXN0ZW1JbnNwZWN0aW9uOiBmYWxzZSwKKyAgICBkaXNwbGF5SW5pdGlhdG9yOiBmYWxz
ZQogfQogCiB2YXIgQ2FwYWJpbGl0aWVzID0gewogICAgIHNhbXBsaW5nQ1BVUHJvZmlsZXI6IGZh
bHNlLAogICAgIGRlYnVnZ2VyQ2F1c2VzUmVjb21waWxhdGlvbjogdHJ1ZSwKICAgICBwcm9maWxl
ckNhdXNlc1JlY29tcGlsYXRpb246IHRydWUsCi0gICAgbmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5h
YmxlZDogZmFsc2UsCiAgICAgaGVhcFByb2ZpbGVyUHJlc2VudDogZmFsc2UsCiAgICAgY2FuT3Zl
cnJpZGVEZXZpY2VNZXRyaWNzOiBmYWxzZSwKICAgICB0aW1lbGluZVN1cHBvcnRzRnJhbWVJbnN0
cnVtZW50YXRpb246IGZhbHNlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5qcwppbmRleCBkZDRiM2E0YjI0ZTE0YjY2OThiY2E0ZmVlODU2NDIyMmM4
NGY4ZWI4Li42NGZmYjljMjA4NWNhYjc5NjI2NGNlMjA5ZTJmNWU0OWRiYmFhMDM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtMzkw
LDcgKzM5MCw2IEBAIFdlYkluc3BlY3Rvci5kb0xvYWRlZERvbmUgPSBmdW5jdGlvbigpCiAgICAg
V2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIubG9hZGVkKCk7CiAKICAgICBEZWJ1Z2dlckFnZW50
LmNhdXNlc1JlY29tcGlsYXRpb24oV2ViSW5zcGVjdG9yLl9pbml0aWFsaXplQ2FwYWJpbGl0eS5i
aW5kKFdlYkluc3BlY3RvciwgImRlYnVnZ2VyQ2F1c2VzUmVjb21waWxhdGlvbiIsIG51bGwpKTsK
LSAgICBEZWJ1Z2dlckFnZW50LnN1cHBvcnRzTmF0aXZlQnJlYWtwb2ludHMoV2ViSW5zcGVjdG9y
Ll9pbml0aWFsaXplQ2FwYWJpbGl0eS5iaW5kKFdlYkluc3BlY3RvciwgIm5hdGl2ZUluc3RydW1l
bnRhdGlvbkVuYWJsZWQiLCBudWxsKSk7CiAgICAgUHJvZmlsZXJBZ2VudC5jYXVzZXNSZWNvbXBp
bGF0aW9uKFdlYkluc3BlY3Rvci5faW5pdGlhbGl6ZUNhcGFiaWxpdHkuYmluZChXZWJJbnNwZWN0
b3IsICJwcm9maWxlckNhdXNlc1JlY29tcGlsYXRpb24iLCBudWxsKSk7CiAgICAgUHJvZmlsZXJB
Z2VudC5pc1NhbXBsaW5nKFdlYkluc3BlY3Rvci5faW5pdGlhbGl6ZUNhcGFiaWxpdHkuYmluZChX
ZWJJbnNwZWN0b3IsICJzYW1wbGluZ0NQVVByb2ZpbGVyIiwgbnVsbCkpOwogICAgIFByb2ZpbGVy
QWdlbnQuaGFzSGVhcFByb2ZpbGVyKFdlYkluc3BlY3Rvci5faW5pdGlhbGl6ZUNhcGFiaWxpdHku
YmluZChXZWJJbnNwZWN0b3IsICJoZWFwUHJvZmlsZXJQcmVzZW50IiwgbnVsbCkpOwpAQCAtNDM5
LDggKzQzOCw3IEBAIFdlYkluc3BlY3Rvci5fZG9Mb2FkZWREb25lV2l0aENhcGFiaWxpdGllcyA9
IGZ1bmN0aW9uKCkKICAgICB0aGlzLmFkdmFuY2VkU2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyKCk7CiAgICAgdGhpcy5zZXR0aW5nc0Nv
bnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmdzQ29udHJvbGxlcigpOwogCi0gICAg
aWYgKENhcGFiaWxpdGllcy5uYXRpdmVJbnN0cnVtZW50YXRpb25FbmFibGVkKQotICAgICAgICB0
aGlzLmRvbUJyZWFrcG9pbnRzU2lkZWJhclBhbmUgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTUJyZWFr
cG9pbnRzU2lkZWJhclBhbmUoKTsKKyAgICB0aGlzLmRvbUJyZWFrcG9pbnRzU2lkZWJhclBhbmUg
PSBuZXcgV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmUoKTsKIAogICAgIHRo
aXMuX3pvb21MZXZlbCA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy56b29tTGV2ZWwuZ2V0KCk7CiAg
ICAgaWYgKHRoaXMuX3pvb21MZXZlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL2pzL0RldlRvb2xzLmpzIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvanMvRGV2
VG9vbHMuanMKaW5kZXggMTIyOTNmNWIxODFiNjRmOGJmNDQ3ZTc3NDgxZjJhMzA2OGFiMmVkYS4u
ZmZlYThhZjg2YTI3Nzk1NmZlMWJhYjhkYzA1MjJmNjUyM2Y4OGY1MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvanMvRGV2VG9vbHMuanMKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvanMvRGV2VG9vbHMuanMKQEAgLTQyLDYgKzQyLDcgQEAKICAgICBQcmVm
ZXJlbmNlcy5leHBvc2VXb3JrZXJzSW5zcGVjdGlvbiA9IHRydWU7CiAgICAgUHJlZmVyZW5jZXMu
c2hvd0RvY2tUb1JpZ2h0ID0gdHJ1ZTsKICAgICBQcmVmZXJlbmNlcy5leHBvc2VGaWxlU3lzdGVt
SW5zcGVjdGlvbiA9IHRydWU7CisgICAgUHJlZmVyZW5jZXMuZGlzcGxheUluaXRpYXRvciA9IHRy
dWU7CiB9KSgpO30KIAogZnVuY3Rpb24gYnVpbGRQbGF0Zm9ybUV4dGVuc2lvbkFQSShleHRlbnNp
b25JbmZvKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>