<?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>131523</bug_id>
          
          <creation_ts>2014-04-10 18:45:10 -0700</creation_ts>
          <short_desc>Web Inspector: Remove shared PageScriptDebugServer, create per-Page</short_desc>
          <delta_ts>2014-04-11 10:48:56 -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</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mkwst</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999743</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-04-10 18:45:10 -0700</bug_when>
    <thetext>Having a shared PageScriptDebugServer was causing issues when we called JSC::Debugger::clearBreakpoints() and the same Debugger underlying multiple InspectorDebuggerAgent instances removed its JSC breakpoints.

By going per-Page each page will have its own JSC::Debugger/InspectorDebuggerAgent/ScriptDebugServer.

Note that PageScriptDebugServer already marks the entire page group as paused when a single Page gets paused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999745</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-04-10 18:46:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/16582697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999746</commentid>
    <comment_count>2</comment_count>
      <attachid>229098</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-04-10 18:54:22 -0700</bug_when>
    <thetext>Created attachment 229098
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999777</commentid>
    <comment_count>3</comment_count>
      <attachid>229098</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-04-10 21:40:37 -0700</bug_when>
    <thetext>Comment on attachment 229098
[PATCH] Proposed Fix

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

&gt; Source/WebCore/inspector/InspectorController.h:145
&gt; +    PageDebuggerAgent* m_debuggerAgent;

Weird white space compared to other lines.

&gt; Source/WebCore/inspector/PageScriptDebugServer.cppSource/WebCore/bindings/js/PageScriptDebugServer.cpp:69
&gt; +    m_listeners.add(listener);

Odd white space here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999901</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-04-11 09:26:30 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 229098 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229098&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorController.h:145
&gt; &gt; +    PageDebuggerAgent* m_debuggerAgent;
&gt; 
&gt; Weird white space compared to other lines.
&gt; 
&gt; &gt; Source/WebCore/inspector/PageScriptDebugServer.cppSource/WebCore/bindings/js/PageScriptDebugServer.cpp:69
&gt; &gt; +    m_listeners.add(listener);
&gt; 
&gt; Odd white space here too.

I think it was just rendering weird on my phone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999929</commentid>
    <comment_count>5</comment_count>
      <attachid>229098</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-11 10:48:51 -0700</bug_when>
    <thetext>Comment on attachment 229098
[PATCH] Proposed Fix

Clearing flags on attachment: 229098

Committed r167133: &lt;http://trac.webkit.org/changeset/167133&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999930</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-11 10:48:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229098</attachid>
            <date>2014-04-10 18:54:22 -0700</date>
            <delta_ts>2014-04-11 10:48:51 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>crash-fix.patch</filename>
            <type>text/plain</type>
            <size>48260</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzFmZTMzZS4uYzAzYzhhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTExNTksNyArMTE1OSw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5k
aW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTWFBh
dGhSZXN1bHRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNYU0xUUHJvY2Vzc29yQ3VzdG9t
LmNwcAotICAgIGJpbmRpbmdzL2pzL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKICAgICBiaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmNwcAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0x
NzcwLDYgKzE3NjksNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL1BhZ2VD
b25zb2xlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcAogICAg
IGluc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcAorICAgIGluc3BlY3Rvci9QYWdlU2NyaXB0
RGVidWdTZXJ2ZXIuY3BwCiAgICAgaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAK
ICAgICBpbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9XZWJEZWJ1
Z2dlckFnZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQxNDE2OGUuLjJiMzM2MzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw4MCBAQAorMjAxNC0wNC0xMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlbW92ZSBzaGFyZWQgUGFnZVNj
cmlwdERlYnVnU2VydmVyLCBjcmVhdGUgcGVyLVBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTUyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmluZyBhIHNoYXJlZCBQYWdlU2NyaXB0RGVidWdT
ZXJ2ZXIgd2FzIGNhdXNpbmcgaXNzdWVzIHdoZW4gd2UgY2FsbGVkCisgICAgICAgIEpTQzo6RGVi
dWdnZXI6OmNsZWFyQnJlYWtwb2ludHMoKSBjbG9zaW5nIG9uZSBpbnNwZWN0b3Igd2hpbGUgYW5v
dGhlcgorICAgICAgICBpcyBvcGVuIGZvciBhbm90aGVyIFdlYkNvcmU6OlBhZ2UgaW4gdGhlIHNh
bWUgcHJvY2Vzcy4gSGF2aW5nIHRoZSBzYW1lCisgICAgICAgIEpTQzo6RGVidWdnZXIgdW5kZXJs
eWluZyBtdWx0aXBsZSBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IGluc3RhbmNlcworICAgICAgICBt
ZWFucyB0aGF0IHdoZW4gY2xlYXJCcmVha3BvaW50cyBpcyBjYWxsZWQsIHRoZSByZWFsIEpTQyBi
cmVha3BvaW50cworICAgICAgICB1bmRlcmx5aW5nIG90aGVyIEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQncyBnZXQgcmVtb3ZlZC4gV2hlbiB0aG9zZQorICAgICAgICBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50cyBhdHRlbXB0IHRvIHJlbW92ZSB0aGVpciBicmVha3BvaW50cyB0aGV5CisgICAgICAgIGVu
Y291bnRlciB1bmV4cGVjdGVkIGlzc3Vlcy4KKworICAgICAgICBUaGlzIGVudGlyZWx5IHJlYnVp
bGRzIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlciB0byBiZSBwZXItUGFnZSBpbnN0ZWFkCisgICAgICAg
IG9mIHNoYXJlZCBhY3Jvc3MgYWxsIHBhZ2VzLiBTbyB0YWtlIHRoaXMgb3Bwb3J0dW5pdHkgdG8g
bW92ZSB0aGUKKyAgICAgICAgZmlsZSBmcm9tIFdlYkNvcmUvYmluZGluZ3MvanMgdG8gV2ViQ29y
ZS9pbnNwZWN0b3IuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwOgorICAgICAgICBN
b3ZlIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlci4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29u
dHJvbGxlcik6CisgICAgICAgIFNldCB0aGUgU2NyaXB0RGVidWdTZXJ2ZXIgZGlyZWN0bHkgb24g
c29tZSBvdGhlciBhZ2VudHMgdGhhdAorICAgICAgICB3ZXJlIHByZXZpb3VzbHkgdXNpbmcgdGhl
IGdsb2JhbCBkZWJ1ZyBzZXJ2ZXIuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6
c2NyaXB0RGVidWdTZXJ2ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxl
ckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclByb2ZpbGVyQWdlbnQ6Oklu
c3BlY3RvclByb2ZpbGVyQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmls
ZXJBZ2VudDo6c2V0U2NyaXB0RGVidWdTZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yUHJvZmlsZXJBZ2VudDo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQpOiBEZWxldGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpzZXRQYWdlU2NyaXB0RGVidWdTZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudCk6CisgICAgICAgIFJl
ZmFjdG9yIHRoZXNlIHR3byBhZ2VudHMgdG8gdGFrZSBpbiBhIHNjcmlwdCBkZWJ1ZyBzZXJ2ZXIu
CisgICAgICAgIFRoZSBzZXJ2ZXIgaXMgZXhwZWN0ZWQgdG8gYmUgc2V0IGR1cmluZyBpbml0aWFs
aXphdGlvbiBhbmQKKyAgICAgICAgdG8gYWx3YXlzIGJlIHZhbGlkIChsaWtlIGRlYnVnIHNlcnZl
ciBvbiBSdW50aW1lQWdlbnQpLgorCisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFn
ZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VEZWJ1Z2dlckFnZW50OjpQYWdlRGVidWdnZXJBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlRGVidWdnZXJBZ2VudDo6c3RhcnRMaXN0ZW5pbmdTY3JpcHREZWJ1
Z1NlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlRGVidWdnZXJBZ2VudDo6c3RvcExpc3Rl
bmluZ1NjcmlwdERlYnVnU2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VEZWJ1Z2dlckFn
ZW50OjpzY3JpcHREZWJ1Z1NlcnZlcik6CisgICAgICAgIEhhdmUgUGFnZURlYnVnZ2VyQWdlbnQg
aG9sZCB0aGUgUGFnZVNjcmlwdERlYnVnU2VydmVyLgorICAgICAgICBVcGRhdGUgZm9yIHRoZSBz
aW1wbGlmaWVkIGludGVyZmFjZXMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZVNjcmlwdERl
YnVnU2VydmVyLmg6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUGFnZVNj
cmlwdERlYnVnU2VydmVyLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VTY3JpcHREZWJ1Z1Nl
cnZlcjo6UGFnZVNjcmlwdERlYnVnU2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VTY3Jp
cHREZWJ1Z1NlcnZlcjo6YWRkTGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNjcmlw
dERlYnVnU2VydmVyOjpyZW1vdmVMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlU2Ny
aXB0RGVidWdTZXJ2ZXI6OnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlkUGF1c2UpOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZVNjcmlwdERlYnVnU2VydmVyOjpkaWRDb250aW51ZSk6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnJ1bkV2ZW50TG9vcFdoaWxlUGF1c2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6cnVuRXZlbnRMb29wV2hpbGVQYXVzZWRJ
bnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmlzQ29u
dGVudFNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnJl
cG9ydEV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6
OnNldEphdmFTY3JpcHRQYXVzZWQpOgorICAgICAgICBNb2RlbCBhZnRlciBKU0dsb2JhbE9iamVj
dFNjcmlwdERlYnVnU2VydmVyLCB0aGUgUGFnZVNjcmlwdERlYnVnU2VydmVyCisgICAgICAgIGhv
bGRzIGEgcmVmZXJlbmNlIHRvIGEgUGFnZS4KKwogMjAxNC0wNC0wOSAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBFbGltaW5hdGUgRHJhZ1Nlc3Npb24gc3Ry
dWN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agppbmRleCA4NjdmYzBjLi5mNmE0M2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE3MzU4LDIwICsxNzM1OCw2IEBACiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xD
b21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcUGFnZVNjcmlw
dERlYnVnU2VydmVyLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRBY3Rpb24uY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTE3OTQwLDYgKzE3OTI2LDE0IEBACiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xD
b21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VTY3JpcHRE
ZWJ1Z1NlcnZlci5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAiPgogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVs
ZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTIwNzIzLDcgKzIwNzE3LDYg
QEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTTm9kZUZpbHRlckNv
bmRpdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNQ
bHVnaW5FbGVtZW50RnVuY3Rpb25zLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xKU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oIiAvPgotICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cYmluZGluZ3NcanNcUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRBY3Rpb24uaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdENhY2hlZEZyYW1l
RGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0
Q29udHJvbGxlci5oIiAvPgpAQCAtMjEwNjksNiArMjEwNjIsNyBAQAogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VDb25zb2xlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlRGVidWdnZXJBZ2VudC5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFBhZ2VSdW50aW1lQWdlbnQuaCIgLz4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQYWdlU2NyaXB0RGVidWdTZXJ2ZXIu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxUaW1lbGluZVJlY29y
ZEZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxXZWJD
b25zb2xlQWdlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxX
ZWJEZWJ1Z2dlckFnZW50LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggYWEzZmYwMS4uZWEyMzI5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycwpAQCAtNDUwMCw5ICs0NTAwLDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGJpbmRpbmdzXGpzXEpTWFNMVFByb2Nlc3NvckN1c3RvbS5jcHAiPgogICAgICAgPEZp
bHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcCI+Ci0g
ICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRBY3Rpb24uY3BwIj4K
ICAgICAgIDxGaWx0ZXI+YmluZGluZ3NcanM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAg
LTQ4MzMsNiArNDgzMCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
UGFnZVJ1bnRpbWVBZ2VudC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxQ
YWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIj4KKyAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0
ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3Rvcjwv
RmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTE0MDQsOSArMTE0MDQsNiBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcSlNXb3JrZXJHbG9iYWxTY29wZUJhc2Uu
aCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xQYWdlU2NyaXB0RGVidWdT
ZXJ2ZXIuaCI+Ci0gICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+Ci0gICAgPC9DbElu
Y2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xTY2hlZHVsZWRB
Y3Rpb24uaCI+CiAgICAgICA8RmlsdGVyPmJpbmRpbmdzXGpzPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CkBAIC0xMjQ1NCw2ICsxMjQ1MSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcUGFnZVJ1bnRpbWVBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9y
PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiPgorICAgICAgPEZpbHRlcj5pbnNwZWN0
b3I8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxUaW1lbGluZVJlY29yZEZhY3RvcnkuaCI+CiAgICAgICA8RmlsdGVyPmluc3Bl
Y3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZhZDA5N2MuLmIyYjQxZmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTM3MjYsNiArMzcyNiw4IEBACiAJCUE1REVCREE0MTZGQjkwODcwMDgzNkZFMCAvKiBXZWJL
aXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNURFQkRBMDE2RkI5MDg3MDA4MzZGRTAgLyogV2Vi
S2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5oICovOyB9OwogCQlBNUU2MTY3MzE4
OTQ1ODFGMDA5QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUU2MTY3MTE4OTQ1ODFGMDA5QURGNTAgLyog
V2ViRGVidWdnZXJBZ2VudC5jcHAgKi87IH07CiAJCUE1RTYxNjc0MTg5NDU4MUYwMDlBREY1MCAv
KiBXZWJEZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNUU2MTY3MjE4OTQ1ODFGMDA5QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5o
ICovOyB9OworCQlBNUYzNkQzQTE4Rjc1ODcyMDA1NEMwMjQgLyogUGFnZVNjcmlwdERlYnVnU2Vy
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1
RjM2RDM4MThGNzU4NzIwMDU0QzAyNCAvKiBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovOyB9
OworCQlBNUYzNkQzQjE4Rjc1ODcyMDA1NEMwMjQgLyogUGFnZVNjcmlwdERlYnVnU2VydmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUYzNkQzOTE4
Rjc1ODcyMDA1NEMwMjQgLyogUGFnZVNjcmlwdERlYnVnU2VydmVyLmggKi87IH07CiAJCUE1RjZF
MTZCMTMyRUQ0NkUwMDhFREFFMyAvKiBBdXRvY2FwaXRhbGl6ZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUY2RTE2QzEzMkVENDZFMDA4RURBRTMg
LyogQXV0b2NhcGl0YWxpemUuY3BwICovOyB9OwogCQlBNUY5RUY3MDEyNjY3NTBEMDBGQ0NGNTIg
LyogRGlza0ltYWdlQ2FjaGVJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNUY5RUY2RTEyNjY3NTBEMDBGQ0NGNTIgLyogRGlza0ltYWdlQ2FjaGVJ
T1MubW0gKi87IH07CiAJCUE1RjlFRjcxMTI2Njc1MEQwMEZDQ0Y1MiAvKiBEaXNrSW1hZ2VDYWNo
ZUlPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVG
OUVGNkYxMjY2NzUwRDAwRkNDRjUyIC8qIERpc2tJbWFnZUNhY2hlSU9TLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTYxMjcsOCArNjEyOSw2IEBA
CiAJCUYzNDc0MkREMTM0MzYyRjAwMDUzMUJDMiAvKiBQYWdlRGVidWdnZXJBZ2VudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM0NzQyREIxMzQzNjJG
MDAwNTMxQkMyIC8qIFBhZ2VEZWJ1Z2dlckFnZW50LmggKi87IH07CiAJCUYzNDc0MkUwMTM0MzYz
MUYwMDUzMUJDMiAvKiBXb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNDc0MkRFMTM0MzYzMUYwMDUzMUJDMiAvKiBX
b3JrZXJEZWJ1Z2dlckFnZW50LmNwcCAqLzsgfTsKIAkJRjM0NzQyRTExMzQzNjMxRjAwNTMxQkMy
IC8qIFdvcmtlckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEYzNDc0MkRGMTM0MzYzMUYwMDUzMUJDMiAvKiBXb3JrZXJEZWJ1Z2dl
ckFnZW50LmggKi87IH07Ci0JCUYzNDc0MkU0MTM0MzYzM0MwMDUzMUJDMiAvKiBQYWdlU2NyaXB0
RGVidWdTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjM0NzQyRTIxMzQzNjMzQzAwNTMxQkMyIC8qIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlci5j
cHAgKi87IH07Ci0JCUYzNDc0MkU1MTM0MzYzM0MwMDUzMUJDMiAvKiBQYWdlU2NyaXB0RGVidWdT
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYz
NDc0MkUzMTM0MzYzM0MwMDUzMUJDMiAvKiBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCAqLzsgfTsK
IAkJRjM0NzQyRTgxMzQzNjM1MDAwNTMxQkMyIC8qIFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNDc0MkU2
MTM0MzYzNTAwMDUzMUJDMiAvKiBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi87IH07CiAJ
CUYzNDc0MkU5MTM0MzYzNTAwMDUzMUJDMiAvKiBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM0NzQyRTcxMzQz
NjM1MDAwNTMxQkMyIC8qIFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmggKi87IH07CiAJCUYzNTBC
NzM1MTNGMTM3N0QwMDg4MEM0MyAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNTBCNzM0MTNGMTM3N0QwMDg4
MEM0MyAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmNwcCAqLzsgfTsKQEAgLTEwNzg4LDYgKzEwNzg4
LDggQEAKIAkJQTVERUJEQTExNkZCOTA4NzAwODM2RkUwIC8qIFdlYktpdFBsYXliYWNrVGFyZ2V0
QXZhaWxhYmlsaXR5RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdFBsYXli
YWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBNUU2MTY3MTE4OTQ1ODFGMDA5QURGNTAgLyogV2ViRGVidWdnZXJBZ2VudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJEZWJ1Z2dlckFnZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVFNjE2NzIxODk0NTgxRjAwOUFERjUwIC8q
IFdlYkRlYnVnZ2VyQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
RGVidWdnZXJBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUYzNkQzODE4
Rjc1ODcyMDA1NEMwMjQgLyogUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1RjM2RDM5MThGNzU4NzIwMDU0QzAyNCAvKiBQYWdl
U2NyaXB0RGVidWdTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFn
ZVNjcmlwdERlYnVnU2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1RjZF
MTZDMTMyRUQ0NkUwMDhFREFFMyAvKiBBdXRvY2FwaXRhbGl6ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdXRvY2FwaXRhbGl6ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE1RjlFRjZFMTI2Njc1MEQwMEZDQ0Y1MiAvKiBEaXNrSW1hZ2VDYWNo
ZUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERpc2tJbWFn
ZUNhY2hlSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUY5RUY2RjEyNjY3
NTBEMDBGQ0NGNTIgLyogRGlza0ltYWdlQ2FjaGVJT1MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGlza0ltYWdlQ2FjaGVJT1MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTEzNTMzLDggKzEzNTM1LDYgQEAKIAkJRjM0NzQyREIxMzQzNjJGMDAwNTMxQkMyIC8q
IFBhZ2VEZWJ1Z2dlckFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
Z2VEZWJ1Z2dlckFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzNDc0MkRF
MTM0MzYzMUYwMDUzMUJDMiAvKiBXb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlckRlYnVnZ2VyQWdlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGMzQ3NDJERjEzNDM2MzFGMDA1MzFCQzIgLyogV29ya2Vy
RGVidWdnZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJE
ZWJ1Z2dlckFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUYzNDc0MkUyMTM0
MzYzM0MwMDUzMUJDMiAvKiBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjM0NzQyRTMxMzQzNjMzQzAwNTMxQkMyIC8qIFBhZ2VT
Y3JpcHREZWJ1Z1NlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdl
U2NyaXB0RGVidWdTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM0NzQy
RTYxMzQzNjM1MDAwNTMxQkMyIC8qIFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM0NzQyRTcxMzQzNjM1MDAwNTMxQkMy
IC8qIFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUYzNTBCNzM0MTNGMTM3N0QwMDg4MEM0MyAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3RydW1lbnRpbmdBZ2Vu
dHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUwMzksNiArMTUwMzksOCBA
QAogCQkJCUYzNDc0MkRCMTM0MzYyRjAwMDUzMUJDMiAvKiBQYWdlRGVidWdnZXJBZ2VudC5oICov
LAogCQkJCUYzODIwODhDMTQ3RDM1RjkwMDEwQkMwNiAvKiBQYWdlUnVudGltZUFnZW50LmNwcCAq
LywKIAkJCQlGMzgyMDg4RDE0N0QzNUY5MDAxMEJDMDYgLyogUGFnZVJ1bnRpbWVBZ2VudC5oICov
LAorCQkJCUE1RjM2RDM4MThGNzU4NzIwMDU0QzAyNCAvKiBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIu
Y3BwICovLAorCQkJCUE1RjM2RDM5MThGNzU4NzIwMDU0QzAyNCAvKiBQYWdlU2NyaXB0RGVidWdT
ZXJ2ZXIuaCAqLywKIAkJCQk5RkEzN0VFRjExNzJGRDQxMDBDNENENTUgLyogU2NyaXB0UHJvZmls
ZS5pZGwgKi8sCiAJCQkJOUZBMzdFRjAxMTcyRkQ0MTAwQzRDRDU1IC8qIFNjcmlwdFByb2ZpbGVO
b2RlLmlkbCAqLywKIAkJCQk3NTUzQ0ZFNzEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNv
cmRGYWN0b3J5LmNwcCAqLywKQEAgLTIwNDM0LDggKzIwNDM2LDYgQEAKIAkJCQkxNENEOEQ4MTEw
NkI1MjkwMDBBNDZEMjMgLyogSlNTaGFyZWRXb3JrZXJDdXN0b20uY3BwICovLAogCQkJCUUxQzM2
RDMyMEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgKi8sCiAJ
CQkJRTFDMzZEMzMwRUIwQTA5NDAwNzQxMEJDIC8qIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmgg
Ki8sCi0JCQkJRjM0NzQyRTIxMzQzNjMzQzAwNTMxQkMyIC8qIFBhZ2VTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAgKi8sCi0JCQkJRjM0NzQyRTMxMzQzNjMzQzAwNTMxQkMyIC8qIFBhZ2VTY3JpcHREZWJ1
Z1NlcnZlci5oICovLAogCQkJCUJDQTM3OEJBMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRB
Y3Rpb24uY3BwICovLAogCQkJCUJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRB
Y3Rpb24uaCAqLywKIAkJCQk0MUYxRDIxRTBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmNwcCAqLywKQEAgLTIzMDU0LDYgKzIzMDU0LDcgQEAKIAkJCQkyRURFRjFGNzEy
MUIwRUZDMDA3MjZEQjIgLyogQmxvYlJlZ2lzdHJ5SW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkVCNEJDRDMxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkVERUYxRjgxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JTdG9yYWdlRGF0YS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTVGMzZEM0IxOEY3NTg3MjAwNTRDMDI0IC8qIFBhZ2VTY3Jp
cHREZWJ1Z1NlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc2RDZDN0YxMjJCOEEzRDAwMUZE
MUY3IC8qIEJsb2JVUkwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OUJFMDgyNDVFNTkwMDFF
OUFCQyAvKiBCbG9ja0V4Y2VwdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCNUUxMEU4
MUJFODcwMEIyNTk2NSAvKiBCb3JkZXJEYXRhLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MDczLDcg
KzI1MDc0LDYgQEAKIAkJCQk3QTY3NEJEQzBGOUVCRjRFMDA2Q0YwOTkgLyogUGFnZUdyb3VwTG9h
ZERlZmVycmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGQkRCNjFBMTE2RDYwMzdFMDBCQjMzOTQg
LyogUGFnZVJ1bGVDb2xsZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzODIwODk1MTQ3RDM1
RjkwMDEwQkMwNiAvKiBQYWdlUnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzQ3
NDJFNTEzNDM2MzNDMDA1MzFCQzIgLyogUGFnZVNjcmlwdERlYnVnU2VydmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzNzFFNjVDQzEzNjYxRURDMDBCRUVEQjAgLyogUGFnZVNlcmlhbGl6ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUE3MTk3RjI0MTc1Njg5QzQwMDdCOTQ0MiAvKiBQYWdlVGhyb3R0
bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI4NEFFMTEwNDQ3RDQ1MDBFQUVCNTIgLyogUGFn
ZVRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODU0MCw3ICsyODU0MCw2IEBA
CiAJCQkJMUMyNjQ5N0MwRDdFMjRFQzAwQkQxMEYyIC8qIFBhZ2VNYWMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRkJEQjYxOUQxNkQ2MDM0NjAwQkIzMzk0IC8qIFBhZ2VSdWxlQ29sbGVjdG9yLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUYzODIwODk0MTQ3RDM1RjkwMDEwQkMwNiAvKiBQYWdlUnVu
dGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUYzNDc0MkU0MTM0MzYzM0MwMDUzMUJD
MiAvKiBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzcxRTY1
Q0UxMzY2MUVFRDAwQkVFREIwIC8qIFBhZ2VTZXJpYWxpemVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE3MTk3RjI2MTc1NjhBRTUwMDdCOTQ0MiAvKiBQYWdlVGhyb3R0bGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUUxMjg0QUVBMTA0NDdERUUwMEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2
ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjg2NTksNiArMjg2NTgsNyBAQAogCQkJCTBGM0Yw
RTU5MTU3MDMwQzMwMDZEQTU3RiAvKiBSZW5kZXJHZW9tZXRyeU1hcC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzEyOEIwMTEzN0M4RDQ2MDBDQUM4NDUgLyogUmVuZGVyR3JpZC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0VBNDg2OTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVySFRNTENhbnZh
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUYzNkQzQTE4Rjc1ODcyMDA1NEMwMjQgLyogUGFn
ZVNjcmlwdERlYnVnU2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRDMwOEQ1MTE3RDE2
ODUwMEE3OTFGNyAvKiBSZW5kZXJJRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFQTQ4
NzUwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTA4RjJGMDA5MTIxM0U2MTcwMERDRUM0OCAvKiBSZW5kZXJJbWFnZVJlc291cmNlLmNwcCBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHAKaW5kZXggMjk3ZTUwZi4uZTMyN2Y1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0xNDAsNyArMTQwLDYg
QEAKICNpbmNsdWRlICJKU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1hQ
YXRoUmVzdWx0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU1hTTFRQcm9jZXNzb3JDdXN0b20uY3Bw
IgotI2luY2x1ZGUgIlBhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCiAjaW5jbHVkZSAiU2NoZWR1
bGVkQWN0aW9uLmNwcCIKICNpbmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIgogI2lu
Y2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTlkNjg4OS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Q
YWdlU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICog
ZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcl9oCi0jZGVmaW5lIFBhZ2VTY3JpcHREZWJ1Z1NlcnZl
cl9oCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCi0jaW5jbHVkZSA8aW5zcGVjdG9yL1Njcmlw
dERlYnVnU2VydmVyLmg+Ci0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1jbGFzcyBGcmFtZTsKLWNsYXNzIEZyYW1lVmlldzsKLWNsYXNzIFBhZ2U7Ci1j
bGFzcyBQYWdlR3JvdXA7Ci0KLWNsYXNzIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBJ
bnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
YWdlU2NyaXB0RGVidWdTZXJ2ZXIpOwotcHVibGljOgotICAgIHN0YXRpYyBQYWdlU2NyaXB0RGVi
dWdTZXJ2ZXImIHNoYXJlZCgpOwotCi0gICAgdm9pZCBhZGRMaXN0ZW5lcihJbnNwZWN0b3I6OlNj
cmlwdERlYnVnTGlzdGVuZXIqLCBQYWdlKik7Ci0gICAgdm9pZCByZW1vdmVMaXN0ZW5lcihJbnNw
ZWN0b3I6OlNjcmlwdERlYnVnTGlzdGVuZXIqLCBQYWdlKiwgYm9vbCBza2lwUmVjb21waWxlKTsK
LQotICAgIHZpcnR1YWwgdm9pZCByZWNvbXBpbGVBbGxKU0Z1bmN0aW9ucygpIG92ZXJyaWRlOwot
Ci1wcml2YXRlOgotICAgIHR5cGVkZWYgSGFzaE1hcDxQYWdlKiwgT3duUHRyPExpc3RlbmVyU2V0
Pj4gUGFnZUxpc3RlbmVyc01hcDsKLQotICAgIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcigpOwotICAg
IHZpcnR1YWwgflBhZ2VTY3JpcHREZWJ1Z1NlcnZlcigpOwotCi0gICAgdmlydHVhbCBMaXN0ZW5l
clNldCogZ2V0TGlzdGVuZXJzRm9yR2xvYmFsT2JqZWN0KEpTQzo6SlNHbG9iYWxPYmplY3QqKTsK
LSAgICB2aXJ0dWFsIHZvaWQgZGlkUGF1c2UoSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgIHZp
cnR1YWwgdm9pZCBkaWRDb250aW51ZShKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgdmlydHVh
bCB2b2lkIHJ1bkV2ZW50TG9vcFdoaWxlUGF1c2VkKCk7Ci0gICAgdmlydHVhbCBib29sIGlzQ29u
dGVudFNjcmlwdChKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwg
dm9pZCByZXBvcnRFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUpIGNvbnN0
IG92ZXJyaWRlOwotCi0gICAgdm9pZCBydW5FdmVudExvb3BXaGlsZVBhdXNlZEludGVybmFsKCk7
Ci0KLSAgICB2b2lkIGRpZEFkZEZpcnN0TGlzdGVuZXIoUGFnZSopOwotICAgIHZvaWQgZGlkUmVt
b3ZlTGFzdExpc3RlbmVyKFBhZ2UqLCBib29sIHNraXBSZWNvbXBpbGUpOwotCi0gICAgdm9pZCBz
ZXRKYXZhU2NyaXB0UGF1c2VkKGNvbnN0IFBhZ2VHcm91cCYsIGJvb2wgcGF1c2VkKTsKLSAgICB2
b2lkIHNldEphdmFTY3JpcHRQYXVzZWQoUGFnZSosIGJvb2wgcGF1c2VkKTsKLSAgICB2b2lkIHNl
dEphdmFTY3JpcHRQYXVzZWQoRnJhbWUqLCBib29sIHBhdXNlZCk7Ci0gICAgdm9pZCBzZXRKYXZh
U2NyaXB0UGF1c2VkKEZyYW1lVmlldyosIGJvb2wgcGF1c2VkKTsKLQotICAgIFBhZ2VMaXN0ZW5l
cnNNYXAgbV9wYWdlTGlzdGVuZXJzTWFwOwotICAgIFBhZ2UqIG1fcGF1c2VkUGFnZTsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0K
LSNlbmRpZiAvLyBQYWdlU2NyaXB0RGVidWdTZXJ2ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggMmViZjI3My4uODdjMDZlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBAIC01
OSw2ICs1OSw3IEBACiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVBZ2VudC5jcHAiCiAjaW5jbHVkZSAi
UGFnZURlYnVnZ2VyQWdlbnQuY3BwIgogI2luY2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuY3BwIgor
I2luY2x1ZGUgIlBhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCiAjaW5jbHVkZSAiVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcCIKICNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuY3BwIgogI2luY2x1
ZGUgIldlYkRlYnVnZ2VyQWdlbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDZiMGE2ZjkuLjBlOWIxM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTY2
LDYgKzY2LDcgQEAKICNpbmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCiAjaW5jbHVkZSAiUGFn
ZURlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJQYWdlUnVudGltZUFnZW50LmgiCisjaW5jbHVk
ZSAiUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNs
dWRlICJXZWJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJXZWJJbmplY3RlZFNjcmlw
dE1hbmFnZXIuaCIKQEAgLTEzMiw4ICsxMzMsOSBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNw
ZWN0b3JDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwog
ICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogZG9tU3RvcmFnZUFnZW50ID0gZG9tU3RvcmFn
ZUFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoZG9tU3RvcmFn
ZUFnZW50UHRyKSk7CiAKLSAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNw
ZWN0b3JUaW1lbGluZUFnZW50PihtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIHBhZ2VBZ2Vu
dCwgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6UGFnZUluc3BlY3RvciwgaW5zcGVjdG9yQ2xpZW50
KSk7Ci0gICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQXBwbGlj
YXRpb25DYWNoZUFnZW50PihtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIHBhZ2VBZ2VudCkp
OworICAgIGF1dG8gdGltZWxpbmVBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9y
VGltZWxpbmVBZ2VudD4obV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBwYWdlQWdlbnQsIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OlBhZ2VJbnNwZWN0b3IsIGluc3BlY3RvckNsaWVudCk7Cisg
ICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IHRpbWVsaW5lQWdlbnRQ
dHIuZ2V0KCk7CisgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZSh0aW1lbGluZUFnZW50UHRy
KSk7CiAKICAgICBhdXRvIHJlc291cmNlQWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3Bl
Y3RvclJlc291cmNlQWdlbnQ+KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgcGFnZUFnZW50
LCBpbnNwZWN0b3JDbGllbnQpOwogICAgIG1fcmVzb3VyY2VBZ2VudCA9IHJlc291cmNlQWdlbnRQ
dHIuZ2V0KCk7CkBAIC0xNTYsOCArMTU4LDggQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAg
ICBtX3Byb2ZpbGVyQWdlbnQgPSBwcm9maWxlckFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRz
LmFwcGVuZChzdGQ6Om1vdmUocHJvZmlsZXJBZ2VudFB0cikpOwogCisgICAgbV9hZ2VudHMuYXBw
ZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50PihtX2lu
c3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIHBhZ2VBZ2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVu
ZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvcldvcmtlckFnZW50PihtX2luc3RydW1lbnRpbmdB
Z2VudHMuZ2V0KCkpKTsKLQogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3RvckxheWVyVHJlZUFnZW50PihtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCkpKTsKIAog
ICAgIEFTU0VSVChtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkp
OwpAQCAtMTczLDYgKzE3NSw4IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRy
b2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgfQogCiAg
ICAgcnVudGltZUFnZW50LT5zZXRTY3JpcHREZWJ1Z1NlcnZlcigmbV9kZWJ1Z2dlckFnZW50LT5z
Y3JpcHREZWJ1Z1NlcnZlcigpKTsKKyAgICBtX3Byb2ZpbGVyQWdlbnQtPnNldFNjcmlwdERlYnVn
U2VydmVyKCZtX2RlYnVnZ2VyQWdlbnQtPnNjcmlwdERlYnVnU2VydmVyKCkpOworICAgIHRpbWVs
aW5lQWdlbnQtPnNldFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcigmbV9kZWJ1Z2dlckFnZW50LT5zY3Jp
cHREZWJ1Z1NlcnZlcigpKTsKIH0KIAogSW5zcGVjdG9yQ29udHJvbGxlcjo6fkluc3BlY3RvckNv
bnRyb2xsZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmgKaW5kZXggZjQ2NGVjZi4uN2E0YWM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC00NSw3ICs0NSw2IEBACiBuYW1lc3BhY2Ug
SW5zcGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFnZW50OwogY2xhc3MgSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXI7Ci1jbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsOwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogfQpAQCAtNjYsNiAr
NjUsNyBAQCBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OwogY2xhc3MgSW5zdHJ1bWVudGlu
Z0FnZW50czsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOworY2xhc3MgUGFnZURlYnVnZ2VyQWdl
bnQ7CiBjbGFzcyBXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXI7CiBzdHJ1Y3QgSGlnaGxpZ2h0Owog
CkBAIC0xNDIsNyArMTQyLDcgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JET01BZ2VudCogbV9k
b21BZ2VudDsKICAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBtX3Jlc291cmNlQWdlbnQ7CiAg
ICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX3BhZ2VBZ2VudDsKLSAgICBJbnNwZWN0b3I6Okluc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQqIG1fZGVidWdnZXJBZ2VudDsKKyAgICBQYWdlRGVidWdnZXJBZ2Vu
dCogbV9kZWJ1Z2dlckFnZW50OwogICAgIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQqIG1fZG9t
RGVidWdnZXJBZ2VudDsKICAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KiBtX3Byb2ZpbGVyQWdl
bnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxl
ckFnZW50LmNwcAppbmRleCAwMzdjZDJmLi4xMWE0YzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCkBAIC0zNSwxNSArMzUs
MTQgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5j
bHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRl
ICJQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJX
ZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKLSNpbmNsdWRlICJXb3JrZXJTY3JpcHREZWJ1Z1Nl
cnZlci5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdE9iamVjdC5oPgogI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JW
YWx1ZXMuaD4KKyNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaD4KICNpbmNs
dWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oPgogI2luY2x1ZGUg
PHJ1bnRpbWUvQ29uc29sZVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CkBA
IC02NSw3ICs2NCw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlY29t
cGlsZVNjcmlwdCgpIG92ZXJyaWRlCiAgICAgewotICAgICAgICBQYWdlU2NyaXB0RGVidWdTZXJ2
ZXI6OnNoYXJlZCgpLnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCk7CisgICAgICAgIGlmIChTY3Jp
cHREZWJ1Z1NlcnZlciAqZGVidWdTZXJ2ZXIgPSBzY3JpcHREZWJ1Z1NlcnZlcigpKQorICAgICAg
ICAgICAgZGVidWdTZXJ2ZXItPnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCk7CiAgICAgfQogCiAg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0UHJvZmlsaW5nKGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJy
aWRlCkBAIC0xMTYsNiArMTE2LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclByb2ZpbGVy
QWdlbnQ+IEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmNyZWF0ZShJbnN0cnVtZW4KIEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQ6Okluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdl
bnQsIFdlYkluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQogICAg
IDogSW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiUHJvZmlsZXIiKSwgaW5zdHJ1bWVu
dGluZ0FnZW50cykKICAgICAsIG1fY29uc29sZUFnZW50KGNvbnNvbGVBZ2VudCkKKyAgICAsIG1f
c2NyaXB0RGVidWdTZXJ2ZXIobnVsbHB0cikKICAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KGluamVjdGVkU2NyaXB0TWFuYWdlcikKICAgICAsIG1fZW5hYmxlZChmYWxzZSkKICAgICAsIG1f
cHJvZmlsZUhlYWRlcnNSZXF1ZXN0ZWQoZmFsc2UpCkBAIC0xNjYsNiArMTY3LDE0IEBAIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlByb2ZpbGVIZWFkZXI+IElu
c3BlY3RvclByb2ZpbGVyQWdlCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CiAKK3ZvaWQgSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudDo6c2V0U2NyaXB0RGVidWdTZXJ2ZXIoU2NyaXB0RGVidWdTZXJ2ZXIq
IHNjcmlwdERlYnVnU2VydmVyKQoreworICAgIEFTU0VSVCghbV9lbmFibGVkKTsKKyAgICBBU1NF
UlQoIW1fc2NyaXB0RGVidWdTZXJ2ZXIpOworCisgICAgbV9zY3JpcHREZWJ1Z1NlcnZlciA9IHNj
cmlwdERlYnVnU2VydmVyOworfQorCiB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmVuYWJs
ZShFcnJvclN0cmluZyopCiB7CiAgICAgZW5hYmxlKGZhbHNlKTsKQEAgLTI3NCw3ICsyODMsOCBA
QCB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OnN0YXJ0KEVycm9yU3RyaW5nKikKICAgICAg
ICAgcmV0dXJuOwogICAgIGlmICghZW5hYmxlZCgpKSB7CiAgICAgICAgIGVuYWJsZSh0cnVlKTsK
LSAgICAgICAgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpzaGFyZWQoKS5yZWNvbXBpbGVBbGxKU0Z1
bmN0aW9ucygpOworICAgICAgICBpZiAobV9zY3JpcHREZWJ1Z1NlcnZlcikKKyAgICAgICAgICAg
IG1fc2NyaXB0RGVidWdTZXJ2ZXItPnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCk7CiAgICAgfQog
ICAgIG1fcmVjb3JkaW5nQ1BVUHJvZmlsZSA9IHRydWU7CiAgICAgU3RyaW5nIHRpdGxlID0gZ2V0
Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZSh0cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGIyMmQzMTguLjA5
MDZkMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuaApAQCAtNDQsNiArNDQsNyBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIGNsYXNz
IEluc3BlY3RvckFycmF5OwogY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5z
cGVjdG9yT2JqZWN0OworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXI7CiB9CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTc3LDYgKzc4LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzdGFy
dChFcnJvclN0cmluZyogPSBudWxscHRyKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc3Rv
cChFcnJvclN0cmluZyogPSBudWxscHRyKSBvdmVycmlkZTsKIAorICAgIEluc3BlY3Rvcjo6U2Ny
aXB0RGVidWdTZXJ2ZXIqIHNjcmlwdERlYnVnU2VydmVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3Jp
cHREZWJ1Z1NlcnZlcjsgfQorICAgIHZvaWQgc2V0U2NyaXB0RGVidWdTZXJ2ZXIoSW5zcGVjdG9y
OjpTY3JpcHREZWJ1Z1NlcnZlciopOworCiAgICAgdm9pZCBkaXNhYmxlKGJvb2wgc2tpcFJlY29t
cGlsZSk7CiAgICAgdm9pZCBlbmFibGUoYm9vbCBza2lwUmVjb21waWxlKTsKICAgICBib29sIGVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2VuYWJsZWQ7IH0KQEAgLTEwNCw2ICsxMDgsNyBAQCBw
cml2YXRlOgogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6UHJvZmlsZXI6
OlByb2ZpbGVIZWFkZXI+IGNyZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0UHJvZmlsZSYp
OwogCiAgICAgSW5zcGVjdG9yOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQqIG1fY29uc29sZUFnZW50
OworICAgIEluc3BlY3Rvcjo6U2NyaXB0RGVidWdTZXJ2ZXIqIG1fc2NyaXB0RGVidWdTZXJ2ZXI7
CiAgICAgV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JQcm9maWxlckZyb250ZW5k
RGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7CiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6
SW5zcGVjdG9yUHJvZmlsZXJCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmNwcAppbmRleCA5MGQ2OWRhLi5lZDdlMGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC05OCw3ICs5OCwxMCBAQCB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0YXJ0KEVycm9yU3RyaW5nKiwgY29uc3QgaW50
KiBtYXhDYWxsU3RhY2tEZXB0aCkKICAgICBtX3RpbWVDb252ZXJ0ZXIucmVzZXQoKTsKIAogICAg
IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yVGltZWxpbmVBZ2VudCh0aGlzKTsK
LSAgICBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnNoYXJlZCgpLmFkZExpc3RlbmVyKHRoaXMsIHBh
Z2UoKSk7CisKKyAgICBpZiAobV9zY3JpcHREZWJ1Z1NlcnZlcikKKyAgICAgICAgbV9zY3JpcHRE
ZWJ1Z1NlcnZlci0+YWRkTGlzdGVuZXIodGhpcyk7CisKICAgICBtX2VuYWJsZWQgPSB0cnVlOwog
fQogCkBAIC0xMDksMTMgKzExMiwyMyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0
b3AoRXJyb3JTdHJpbmcqKQogCiAgICAgbV93ZWFrRmFjdG9yeS5yZXZva2VBbGwoKTsKICAgICBt
X2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvclRpbWVsaW5lQWdlbnQobnVsbHB0cik7
Ci0gICAgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpzaGFyZWQoKS5yZW1vdmVMaXN0ZW5lcih0aGlz
LCBwYWdlKCksIHRydWUpOworCisgICAgaWYgKG1fc2NyaXB0RGVidWdTZXJ2ZXIpCisgICAgICAg
IG1fc2NyaXB0RGVidWdTZXJ2ZXItPnJlbW92ZUxpc3RlbmVyKHRoaXMsIHRydWUpOwogCiAgICAg
Y2xlYXJSZWNvcmRTdGFjaygpOwogCiAgICAgbV9lbmFibGVkID0gZmFsc2U7CiB9CiAKK3ZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0UGFnZVNjcmlwdERlYnVnU2VydmVyKFBhZ2VTY3Jp
cHREZWJ1Z1NlcnZlciogc2NyaXB0RGVidWdTZXJ2ZXIpCit7CisgICAgQVNTRVJUKCFtX2VuYWJs
ZWQpOworICAgIEFTU0VSVCghbV9zY3JpcHREZWJ1Z1NlcnZlcik7CisKKyAgICBtX3NjcmlwdERl
YnVnU2VydmVyID0gc2NyaXB0RGVidWdTZXJ2ZXI7Cit9CisKIHZvaWQgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6d2lsbENhbGxGdW5jdGlvbihjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBz
Y3JpcHRMaW5lLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgcHVzaEN1cnJlbnRSZWNvcmQoVGltZWxp
bmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVGdW5jdGlvbkNhbGxEYXRhKHNjcmlwdE5hbWUsIHNjcmlw
dExpbmUpLCBUaW1lbGluZVJlY29yZFR5cGU6OkZ1bmN0aW9uQ2FsbCwgdHJ1ZSwgZnJhbWUpOwpA
QCAtNTY4LDYgKzU4MSw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxl
dGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZSB0eXBlKQogSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCwgSW5zcGVjdG9y
VHlwZSB0eXBlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICA6IEluc3BlY3RvckFnZW50
QmFzZShBU0NJSUxpdGVyYWwoIlRpbWVsaW5lIiksIGluc3RydW1lbnRpbmdBZ2VudHMpCiAgICAg
LCBtX3BhZ2VBZ2VudChwYWdlQWdlbnQpCisgICAgLCBtX3NjcmlwdERlYnVnU2VydmVyKG51bGxw
dHIpCiAgICAgLCBtX2lkKDEpCiAgICAgLCBtX21heENhbGxTdGFja0RlcHRoKDUpCiAgICAgLCBt
X2luc3BlY3RvclR5cGUodHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDI1ZWI2ZWYuLjcyMDkwOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNTQs
NiArNTQsNyBAQCBjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwogY2xhc3MgSW50UmVjdDsKIGNs
YXNzIFVSTDsKIGNsYXNzIFBhZ2U7CitjbGFzcyBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI7CiBjbGFz
cyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJl
c3BvbnNlOwpAQCAtMTM5LDYgKzE0MCw4IEBAIHB1YmxpYzoKIAogICAgIGludCBpZCgpIGNvbnN0
IHsgcmV0dXJuIG1faWQ7IH0KIAorICAgIHZvaWQgc2V0UGFnZVNjcmlwdERlYnVnU2VydmVyKFBh
Z2VTY3JpcHREZWJ1Z1NlcnZlciopOworCiAgICAgdm9pZCBkaWRDb21taXRMb2FkKCk7CiAKICAg
ICAvLyBNZXRob2RzIGNhbGxlZCBmcm9tIFdlYkNvcmUuCkBAIC0yNDcsNiArMjUwLDcgQEAgcHJp
dmF0ZToKICAgICBQYWdlKiBwYWdlKCk7CiAKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFn
ZUFnZW50OworICAgIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlciogbV9zY3JpcHREZWJ1Z1NlcnZlcjsK
ICAgICBUaW1lbGluZVRpbWVDb252ZXJ0ZXIgbV90aW1lQ29udmVydGVyOwogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yVGltZWxpbmVGcm9udGVuZERpc3BhdGNoZXI+
IG1fZnJvbnRlbmREaXNwYXRjaGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggOTJkY2RiMS4uNzYwMjNlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCkBAIC01NCw2ICs1NCw3IEBA
IFBhZ2VEZWJ1Z2dlckFnZW50OjpQYWdlRGVidWdnZXJBZ2VudChJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlCiAgICAgOiBXZWJEZWJ1Z2dlckFnZW50KGluamVjdGVk
U2NyaXB0TWFuYWdlciwgaW5zdHJ1bWVudGluZ0FnZW50cykKICAgICAsIG1fcGFnZUFnZW50KHBh
Z2VBZ2VudCkKICAgICAsIG1fb3ZlcmxheShvdmVybGF5KQorICAgICwgbV9zY3JpcHREZWJ1Z1Nl
cnZlcigqcGFnZUFnZW50LT5wYWdlKCkpCiB7CiB9CiAKQEAgLTkyLDE3ICs5MywxNyBAQCBTdHJp
bmcgUGFnZURlYnVnZ2VyQWdlbnQ6OnNvdXJjZU1hcFVSTEZvclNjcmlwdChjb25zdCBTY3JpcHQm
IHNjcmlwdCkKIAogdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6c3RhcnRMaXN0ZW5pbmdTY3JpcHRE
ZWJ1Z1NlcnZlcigpCiB7Ci0gICAgc2NyaXB0RGVidWdTZXJ2ZXIoKS5hZGRMaXN0ZW5lcih0aGlz
LCBtX3BhZ2VBZ2VudC0+cGFnZSgpKTsKKyAgICBzY3JpcHREZWJ1Z1NlcnZlcigpLmFkZExpc3Rl
bmVyKHRoaXMpOwogfQogCiB2b2lkIFBhZ2VEZWJ1Z2dlckFnZW50OjpzdG9wTGlzdGVuaW5nU2Ny
aXB0RGVidWdTZXJ2ZXIoYm9vbCBpc0JlaW5nRGVzdHJveWVkKQogewotICAgIHNjcmlwdERlYnVn
U2VydmVyKCkucmVtb3ZlTGlzdGVuZXIodGhpcywgbV9wYWdlQWdlbnQtPnBhZ2UoKSwgaXNCZWlu
Z0Rlc3Ryb3llZCk7CisgICAgc2NyaXB0RGVidWdTZXJ2ZXIoKS5yZW1vdmVMaXN0ZW5lcih0aGlz
LCBpc0JlaW5nRGVzdHJveWVkKTsKIH0KIAogUGFnZVNjcmlwdERlYnVnU2VydmVyJiBQYWdlRGVi
dWdnZXJBZ2VudDo6c2NyaXB0RGVidWdTZXJ2ZXIoKQogewotICAgIHJldHVybiBQYWdlU2NyaXB0
RGVidWdTZXJ2ZXI6OnNoYXJlZCgpOworICAgIHJldHVybiBtX3NjcmlwdERlYnVnU2VydmVyOwog
fQogCiB2b2lkIFBhZ2VEZWJ1Z2dlckFnZW50OjptdXRlQ29uc29sZSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5oCmluZGV4IDliZjc4YTMuLmZlNDQ1NzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5oCkBAIC01
Myw2ICs1Myw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkQ2xlYXJNYWluRnJhbWVXaW5kb3dP
YmplY3QoKTsKIAorICAgIHZpcnR1YWwgUGFnZVNjcmlwdERlYnVnU2VydmVyJiBzY3JpcHREZWJ1
Z1NlcnZlcigpIG92ZXJyaWRlOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGVuYWJs
ZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKGJvb2wgaXNCZWluZ0Rlc3Ry
b3llZCkgb3ZlcnJpZGU7CkBAIC02Miw3ICs2NCw2IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0TGlzdGVuaW5nU2NyaXB0RGVidWdTZXJ2ZXIoKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcExpc3RlbmluZ1NjcmlwdERlYnVnU2VydmVyKGJvb2wg
aXNCZWluZ0Rlc3Ryb3llZCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBQYWdlU2NyaXB0RGVidWdT
ZXJ2ZXImIHNjcmlwdERlYnVnU2VydmVyKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG11
dGVDb25zb2xlKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHVubXV0ZUNvbnNvbGUoKSBv
dmVycmlkZTsKIApAQCAtNzMsNiArNzQsNyBAQCBwcml2YXRlOgogCiAgICAgSW5zcGVjdG9yUGFn
ZUFnZW50KiBtX3BhZ2VBZ2VudDsKICAgICBJbnNwZWN0b3JPdmVybGF5KiBtX292ZXJsYXk7Cisg
ICAgUGFnZVNjcmlwdERlYnVnU2VydmVyIG1fc2NyaXB0RGVidWdTZXJ2ZXI7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKc2ltaWxhcml0eSBpbmRleCA1MSUKcmVuYW1lIGZyb20g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcApyZW5h
bWUgdG8gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAK
aW5kZXggNzRiOTMzYi4uZTU4OWE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcApAQCAtMSwzMCArMSwyNSBAQAogLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMy0yMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoYykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9u
LgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwpAQCAtNDcsOCArNDIsNiBAQAogI2luY2x1ZGUg
IldpZGdldC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKICNpZiBQTEFURk9STShJ
T1MpCkBAIC02MSw2MiArNTQsMzcgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgUGFnZSogdG9QYWdlKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCi17Ci0gICAgQVNTRVJUX0FSRyhnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dCk7Ci0KLSAgICBKU0RPTVdpbmRvdyogd2luZG93ID0gYXNKU0RPTVdpbmRvdyhnbG9iYWxPYmpl
Y3QpOwotICAgIEZyYW1lKiBmcmFtZSA9IHdpbmRvdy0+aW1wbCgpLmZyYW1lKCk7Ci0gICAgcmV0
dXJuIGZyYW1lID8gZnJhbWUtPnBhZ2UoKSA6IDA7Ci19Ci0KLVBhZ2VTY3JpcHREZWJ1Z1NlcnZl
ciYgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpzaGFyZWQoKQotewotICAgIERFUFJFQ0FURURfREVG
SU5FX1NUQVRJQ19MT0NBTChQYWdlU2NyaXB0RGVidWdTZXJ2ZXIsIHNlcnZlciwgKCkpOwotICAg
IHJldHVybiBzZXJ2ZXI7Ci19Ci0KLVBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6UGFnZVNjcmlwdERl
YnVnU2VydmVyKCkKLSAgICA6IFNjcmlwdERlYnVnU2VydmVyKCkKLSAgICAsIG1fcGF1c2VkUGFn
ZSgwKQorUGFnZVNjcmlwdERlYnVnU2VydmVyOjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXIoUGFnZSYg
cGFnZSkKKyAgICA6IFNjcmlwdERlYnVnU2VydmVyKGZhbHNlKQorICAgICwgbV9wYWdlKHBhZ2Up
CiB7CiB9CiAKLVBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6flBhZ2VTY3JpcHREZWJ1Z1NlcnZlcigp
Cit2b2lkIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6YWRkTGlzdGVuZXIoU2NyaXB0RGVidWdMaXN0
ZW5lciogbGlzdGVuZXIpCiB7Ci19Ci0KLXZvaWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjphZGRM
aXN0ZW5lcihTY3JpcHREZWJ1Z0xpc3RlbmVyKiBsaXN0ZW5lciwgUGFnZSogcGFnZSkKLXsKLSAg
ICBBU1NFUlRfQVJHKGxpc3RlbmVyLCBsaXN0ZW5lcik7Ci0gICAgQVNTRVJUX0FSRyhwYWdlLCBw
YWdlKTsKLQotICAgIE93blB0cjxMaXN0ZW5lclNldD4mIGxpc3RlbmVycyA9IG1fcGFnZUxpc3Rl
bmVyc01hcC5hZGQocGFnZSwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOwotICAgIGlmICghbGlz
dGVuZXJzKQotICAgICAgICBsaXN0ZW5lcnMgPSBhZG9wdFB0cihuZXcgTGlzdGVuZXJTZXQpOwor
ICAgIGlmICghbGlzdGVuZXIpCisgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wgd2FzRW1wdHkg
PSBsaXN0ZW5lcnMtPmlzRW1wdHkoKTsKLSAgICBsaXN0ZW5lcnMtPmFkZChsaXN0ZW5lcik7Cisg
ICAgYm9vbCB3YXNFbXB0eSA9IG1fbGlzdGVuZXJzLmlzRW1wdHkoKTsKKyAgICBtX2xpc3RlbmVy
cy5hZGQobGlzdGVuZXIpOwogCi0gICAgaWYgKHdhc0VtcHR5KQotICAgICAgICBkaWRBZGRGaXJz
dExpc3RlbmVyKHBhZ2UpOworICAgIGlmICh3YXNFbXB0eSkgeworICAgICAgICBtX3BhZ2Uuc2V0
RGVidWdnZXIodGhpcyk7CisgICAgICAgIHJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCk7CisgICAg
fQogfQogCi12b2lkIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6cmVtb3ZlTGlzdGVuZXIoU2NyaXB0
RGVidWdMaXN0ZW5lciogbGlzdGVuZXIsIFBhZ2UqIHBhZ2UsIGJvb2wgc2tpcFJlY29tcGlsZSkK
K3ZvaWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpyZW1vdmVMaXN0ZW5lcihTY3JpcHREZWJ1Z0xp
c3RlbmVyKiBsaXN0ZW5lciwgYm9vbCBpc0JlaW5nRGVzdHJveWVkKQogewotICAgIEFTU0VSVF9B
UkcobGlzdGVuZXIsIGxpc3RlbmVyKTsKLSAgICBBU1NFUlRfQVJHKHBhZ2UsIHBhZ2UpOwotCi0g
ICAgUGFnZUxpc3RlbmVyc01hcDo6aXRlcmF0b3IgaXQgPSBtX3BhZ2VMaXN0ZW5lcnNNYXAuZmlu
ZChwYWdlKTsKLSAgICBpZiAoaXQgPT0gbV9wYWdlTGlzdGVuZXJzTWFwLmVuZCgpKQorICAgIGlm
ICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIExpc3RlbmVyU2V0KiBsaXN0ZW5l
cnMgPSBpdC0+dmFsdWUuZ2V0KCk7Ci0gICAgbGlzdGVuZXJzLT5yZW1vdmUobGlzdGVuZXIpOwor
ICAgIG1fbGlzdGVuZXJzLnJlbW92ZShsaXN0ZW5lcik7CiAKLSAgICBpZiAobGlzdGVuZXJzLT5p
c0VtcHR5KCkpIHsKLSAgICAgICAgbV9wYWdlTGlzdGVuZXJzTWFwLnJlbW92ZShpdCk7Ci0gICAg
ICAgIGRpZFJlbW92ZUxhc3RMaXN0ZW5lcihwYWdlLCBza2lwUmVjb21waWxlKTsKKyAgICBpZiAo
bV9saXN0ZW5lcnMuaXNFbXB0eSgpKSB7CisgICAgICAgIG1fcGFnZS5zZXREZWJ1Z2dlcihudWxs
cHRyKTsKKyAgICAgICAgaWYgKCFpc0JlaW5nRGVzdHJveWVkKQorICAgICAgICAgICAgcmVjb21w
aWxlQWxsSlNGdW5jdGlvbnMoKTsKICAgICB9CiB9CiAKQEAgLTEyNiw1OSArOTQsMTQgQEAgdm9p
ZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCkKICAgICBE
ZWJ1Z2dlcjo6cmVjb21waWxlQWxsSlNGdW5jdGlvbnMoJkpTRE9NV2luZG93Ojpjb21tb25WTSgp
KTsKIH0KIAotU2NyaXB0RGVidWdTZXJ2ZXI6Okxpc3RlbmVyU2V0KiBQYWdlU2NyaXB0RGVidWdT
ZXJ2ZXI6OmdldExpc3RlbmVyc0Zvckdsb2JhbE9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQordm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmRpZFBhdXNlKEpTR2xvYmFsT2Jq
ZWN0KikKIHsKLSAgICBQYWdlKiBwYWdlID0gdG9QYWdlKGdsb2JhbE9iamVjdCk7Ci0gICAgaWYg
KCFwYWdlKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gbV9wYWdlTGlzdGVuZXJzTWFw
LmdldChwYWdlKTsKKyAgICBzZXRKYXZhU2NyaXB0UGF1c2VkKG1fcGFnZS5ncm91cCgpLCB0cnVl
KTsKIH0KIAotdm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmRpZFBhdXNlKEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3ZvaWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpkaWRD
b250aW51ZShKU0dsb2JhbE9iamVjdCopCiB7Ci0gICAgQVNTRVJUKCFtX3BhdXNlZFBhZ2UpOwot
Ci0gICAgUGFnZSogcGFnZSA9IHRvUGFnZShnbG9iYWxPYmplY3QpOwotICAgIEFTU0VSVChwYWdl
KTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fcGF1c2VkUGFnZSA9
IHBhZ2U7Ci0KLSAgICBzZXRKYXZhU2NyaXB0UGF1c2VkKHBhZ2UtPmdyb3VwKCksIHRydWUpOwot
fQotCi12b2lkIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlkQ29udGludWUoSlNDOjpKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQotewotICAgIC8vIFBhZ2UgY2FuIGJlIG51bGwgaWYgd2Ug
YXJlIGNvbnRpbnVpbmcgYmVjYXVzZSB0aGUgUGFnZSBjbG9zZWQuCi0gICAgUGFnZSogcGFnZSA9
IHRvUGFnZShnbG9iYWxPYmplY3QpOwotICAgIEFTU0VSVCghcGFnZSB8fCBwYWdlID09IG1fcGF1
c2VkUGFnZSk7Ci0KLSAgICBtX3BhdXNlZFBhZ2UgPSAwOwotCi0gICAgaWYgKHBhZ2UpCi0gICAg
ICAgIHNldEphdmFTY3JpcHRQYXVzZWQocGFnZS0+Z3JvdXAoKSwgZmFsc2UpOwotfQotCi12b2lk
IFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6ZGlkQWRkRmlyc3RMaXN0ZW5lcihQYWdlKiBwYWdlKQot
ewotICAgIC8vIFNldCBkZWJ1Z2dlciBiZWZvcmUgcmVjb21waWxpbmcgdG8gZ2V0IHNvdXJjZVBh
cnNlZCBjYWxsYmFja3MuCi0gICAgcGFnZS0+c2V0RGVidWdnZXIodGhpcyk7Ci0gICAgcmVjb21w
aWxlQWxsSlNGdW5jdGlvbnMoKTsKLX0KLQotdm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmRp
ZFJlbW92ZUxhc3RMaXN0ZW5lcihQYWdlKiBwYWdlLCBib29sIHNraXBSZWNvbXBpbGUpCi17Ci0g
ICAgQVNTRVJUKHBhZ2UpOwotCi0gICAgaWYgKG1fcGF1c2VkUGFnZSA9PSBwYWdlKQotICAgICAg
ICBtX2RvbmVQcm9jZXNzaW5nRGVidWdnZXJFdmVudHMgPSB0cnVlOwotCi0gICAgLy8gQ2xlYXIg
ZGVidWdnZXIgYmVmb3JlIHJlY29tcGlsaW5nIGJlY2F1c2Ugd2UgZG8gbm90IG5lZWQgc291cmNl
UGFyc2VkIGNhbGxiYWNrcy4KLSAgICBwYWdlLT5zZXREZWJ1Z2dlcihudWxscHRyKTsKLQotICAg
IGlmICghc2tpcFJlY29tcGlsZSkKLSAgICAgICAgcmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKTsK
KyAgICBzZXRKYXZhU2NyaXB0UGF1c2VkKG1fcGFnZS5ncm91cCgpLCBmYWxzZSk7CiB9CiAKIHZv
aWQgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVNjcmlwdERlYnVnU2VydmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVNjcmlwdERlYnVnU2VydmVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY4YWE4NgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMCww
ICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcl9oCisjZGVmaW5lIFBhZ2VTY3JpcHREZWJ1Z1Nl
cnZlcl9oCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSA8aW5zcGVjdG9yL1Nj
cmlwdERlYnVnU2VydmVyLmg+CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBGcmFtZTsKK2NsYXNzIEZyYW1lVmlldzsKK2NsYXNzIFBhZ2U7
CitjbGFzcyBQYWdlR3JvdXA7CisKK2NsYXNzIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlciBmaW5hbCA6
IHB1YmxpYyBJbnNwZWN0b3I6OlNjcmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYWdlU2NyaXB0RGVidWdTZXJ2ZXIpOworcHVibGljOgorICAgIFBhZ2VTY3JpcHRE
ZWJ1Z1NlcnZlcihQYWdlJik7CisgICAgdmlydHVhbCB+UGFnZVNjcmlwdERlYnVnU2VydmVyKCkg
eyB9CisKKyAgICB2b2lkIGFkZExpc3RlbmVyKEluc3BlY3Rvcjo6U2NyaXB0RGVidWdMaXN0ZW5l
ciopOworICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSW5zcGVjdG9yOjpTY3JpcHREZWJ1Z0xpc3Rl
bmVyKiwgYm9vbCBpc0JlaW5nRGVzdHJveWVkKTsKKworICAgIHZpcnR1YWwgdm9pZCByZWNvbXBp
bGVBbGxKU0Z1bmN0aW9ucygpIG92ZXJyaWRlOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgTGlz
dGVuZXJTZXQqIGdldExpc3RlbmVyc0Zvckdsb2JhbE9iamVjdChKU0M6OkpTR2xvYmFsT2JqZWN0
Kikgb3ZlcnJpZGUgeyByZXR1cm4gJm1fbGlzdGVuZXJzOyB9CisgICAgdmlydHVhbCB2b2lkIGRp
ZFBhdXNlKEpTQzo6SlNHbG9iYWxPYmplY3QqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ29udGludWUoSlNDOjpKU0dsb2JhbE9iamVjdCopIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCBydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9v
bCBpc0NvbnRlbnRTY3JpcHQoSlNDOjpFeGVjU3RhdGUqKSBjb25zdCBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVwb3J0RXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVl
KSBjb25zdCBvdmVycmlkZTsKKworICAgIHZvaWQgcnVuRXZlbnRMb29wV2hpbGVQYXVzZWRJbnRl
cm5hbCgpOworCisgICAgdm9pZCBzZXRKYXZhU2NyaXB0UGF1c2VkKGNvbnN0IFBhZ2VHcm91cCYs
IGJvb2wgcGF1c2VkKTsKKyAgICB2b2lkIHNldEphdmFTY3JpcHRQYXVzZWQoUGFnZSosIGJvb2wg
cGF1c2VkKTsKKyAgICB2b2lkIHNldEphdmFTY3JpcHRQYXVzZWQoRnJhbWUqLCBib29sIHBhdXNl
ZCk7CisgICAgdm9pZCBzZXRKYXZhU2NyaXB0UGF1c2VkKEZyYW1lVmlldyosIGJvb2wgcGF1c2Vk
KTsKKworICAgIExpc3RlbmVyU2V0IG1fbGlzdGVuZXJzOworICAgIFBhZ2UmIG1fcGFnZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
CisKKyNlbmRpZiAvLyBQYWdlU2NyaXB0RGVidWdTZXJ2ZXJfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>