<?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>70723</bug_id>
          
          <creation_ts>2011-10-24 06:29:13 -0700</creation_ts>
          <short_desc>Web Inspector: allow debugging dedicated worker initialization</short_desc>
          <delta_ts>2011-10-24 07:32:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dglazkov</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>489296</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-24 06:29:13 -0700</bug_when>
    <thetext>There should be a way to debug dedicated worker script from the very first statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489299</commentid>
    <comment_count>1</comment_count>
      <attachid>112178</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-24 06:36:33 -0700</bug_when>
    <thetext>Created attachment 112178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489308</commentid>
    <comment_count>2</comment_count>
      <attachid>112178</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-24 06:54:52 -0700</bug_when>
    <thetext>Comment on attachment 112178
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:385
&gt; +                &quot;name&quot;: &quot;resume&quot;,

run ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489310</commentid>
    <comment_count>3</comment_count>
      <attachid>112178</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-24 06:56:36 -0700</bug_when>
    <thetext>Comment on attachment 112178
Patch

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

&gt; Source/WebCore/inspector/front-end/WorkerManager.js:67
&gt; +            WebInspector.WorkerManager._calculateWorkerInspectorTitle();

But why? Could you make this call upon return from some backend method?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489313</commentid>
    <comment_count>4</comment_count>
      <attachid>112178</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-24 07:17:05 -0700</bug_when>
    <thetext>Comment on attachment 112178
Patch

Attachment 112178 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10197862

New failing tests:
inspector/protocol/runtime-agent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489315</commentid>
    <comment_count>5</comment_count>
      <attachid>112182</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-24 07:17:19 -0700</bug_when>
    <thetext>Created attachment 112182
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489316</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-24 07:17:50 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 112178 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=112178&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/Inspector.json:385
&gt; &gt; +                &quot;name&quot;: &quot;resume&quot;,
&gt; 
&gt; run ?

Done.


(In reply to comment #3)
&gt; (From update of attachment 112178 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=112178&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/WorkerManager.js:67
&gt; &gt; +            WebInspector.WorkerManager._calculateWorkerInspectorTitle();
&gt; 
&gt; But why? Could you make this call upon return from some backend method?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489318</commentid>
    <comment_count>7</comment_count>
      <attachid>112183</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-24 07:26:25 -0700</bug_when>
    <thetext>Created attachment 112183
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489321</commentid>
    <comment_count>8</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-24 07:32:10 -0700</bug_when>
    <thetext>Committed r98237: &lt;http://trac.webkit.org/changeset/98237&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112178</attachid>
            <date>2011-10-24 06:36:33 -0700</date>
            <delta_ts>2011-10-24 07:17:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70723-20111024173631.patch</filename>
            <type>text/plain</type>
            <size>21313</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgyMjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiZThlYjYxYmRiYmFjMWVi
YTgyNTI3Njc1OTZhOTY1NWQyY2M2NjNkLi5jNzljMGU0YmI2NTA3Yzc1MzVlZTYyZWViZDU1NGJj
OTU0ZTZiMDQwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEtMTAtMjQgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWxsb3cgZGVidWdnaW5nIGRlZGljYXRlZCB3b3JrZXIgaW5pdGlhbGl6YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIzCisKKyAgICAg
ICAgTm93IGl0IGlzIHBvc3NpYmxlIHRvIHBhdXNlIGVhY2ggbmV3IGRlZGljYXRlZCB3b3JrZXIg
b24gc3RhcnQuIFRoZSB1c2VyCisgICAgICAgIG5lZWRzIHRvIHNlbGVjdCBhIGNoZWNrYm94IGFu
ZCB0aGVuIGVhY2ggbmV3bHkgY3JlYXRlZCBkZWRpY2F0ZWQgd29ya2VyCisgICAgICAgIHdpbGwg
YmUgcGF1c2VkIG9uIHRoZSBmaXJzdCBzdGF0ZW1lbnQgdW50aWwgdGhlIHVzZXIgcmVzdW1lcyBp
dCBleHBsaWNpdGVseS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjogcmVzdW1lIGNvbW1hbmQgaXMgYWRk
ZWQuIEl0IGlzIHNpbWlsYXIgdG8gR0RCJ3MgcnVuCisgICAgICAgIGNvbW1hbmQsIGkuZS4gd29y
a2VyIGV4ZWN1dGlvbiB3aWxsIGJlIHBhdXNlZCB1bnRpbCBleHBsaWNpdCAicmVzdW1lIiBjb21t
YW5kIGlzCisgICAgICAgIHJlY2VpdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnRJbXBsKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25T
dGFydCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OnJlc3VtZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OnBhdXNlV29ya2VyQ29udGV4dCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXb3JrZXJBZ2VudDo6c2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0KTogcmV0
dXJucyB0cnVlCisgICAgICAgIGlmIHRoZSB1c2VyIGNob3NlIHRvIGF1dG9tYXRpY2FsbHkgcGF1
c2UgYWxsIG5ldyB3b3JrZXJzLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OnJlc3VtZSk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIubG9hZGVkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Xb3JrZXJNYW5hZ2VyLmxvYWRDb21wbGV0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lldvcmtlck1hbmFnZXIucHJvdG90eXBlLl93b3JrZXJDcmVhdGVkKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnByb3RvdHlwZS5vcGVuV29ya2VySW5zcGVjdG9yKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnByb3RvdHlwZS5fb3Blbkluc3BlY3Rv
cldpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IubG9hZGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJv
eHk6OnN0YXJ0V29ya2VyQ29udGV4dCk6IGFkZGl0aW9uYWwgZmxhZyBzcGVjaWZ5aW5nCisgICAg
ICAgIHdvcmtlciBpbml0aWFsIHN0YXRlKHBhdXNlZC9ub3QgcGF1c2VkKSBpcyBhZGRlZCB0byB0
aGUgZmFjdG9yeSBtZXRob2QuIFRoZSBmbGFnCisgICAgICAgIHdpbGwgYmUgY2FycmllZCB0byB0
aGUgY29ycmVzcG9uZGluZyBXb3JrZXJUaHJlYWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6Y29ubmVjdFRvSW5zcGVjdG9yKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisKIDIwMTEtMTAtMjQgIFlvc2lmdW1pIElub3VlICA8eW9z
aW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtGb3Jtc10gU2V0dGluZyBkZWZhdWx0VmFsdWUg
c2hvdWxkIGhpZGUgYW4gaW5wdXQgcGxhY2Vob2xkZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDExYjAwYTlhODY3ZmJlNjNmMzU5NmNmYmY1MDdmNWExNTFkYWNmMTcuLmIyOWYwNmZj
MzA4NjZjYTRhMTZiYzMyZTA2ZTJlNDUzMmYzZDFjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTAtMjQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5
c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWxsb3cgZGVidWdnaW5n
IGRlZGljYXRlZCB3b3JrZXIgaW5pdGlhbGl6YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIzCisKKyAgICAgICAgUGFzcyB3b3JrZXIgdGhy
ZWFkIHN0YXJ0IG1vZGUgdG8gdGhlIHdvcmtlciB0aHJlYWQuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6OnN0YXJ0V29ya2VyQ29u
dGV4dCk6CisgICAgICAgICogc3JjL1dlYldvcmtlckNsaWVudEltcGwuaDoKKwogMjAxMS0xMC0y
MSAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBN
YWtlIHNldFZpc2liaWxpdHkgZXh0ZW5zaW9uLSBhbmQgdGhyZWFkLWNvcnJlY3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBjNTViZTQwYjE1YmQyMWNlOWMwMTZh
NTg5YjdiMjM4NWY4NTk2ZjdmLi5jNzUwZTdhYzFjY2M1ZWM4Mjg4OWUyNzU2MTEzYWMxMzljMmYx
NTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0zODAsNiAr
MzgwLDExIEBACiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0R3JvdXAiLCAi
dHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiU3ltYm9saWMgb2JqZWN0IGdyb3VwIG5h
bWUuIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiUmVsZWFzZXMgYWxsIHJlbW90ZSBvYmplY3RzIHRoYXQgYmVsb25nIHRvIGEgZ2l2ZW4gZ3Jv
dXAuIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFt
ZSI6ICJyZXN1bWUiLAorICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXN1bWVzIGluc3BlY3RlZCBpbnN0YW5jZSBleGVjdXRp
b24uIgogICAgICAgICAgICAgfQogICAgICAgICBdCiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggZDc3
OGI5ZTkwNDUyNThlYzZiMThhMTY5NTVmY2FkM2E0ZWQ2MGNhOS4uYmQyYjllNTBlNDlkNDg1MDJh
MDk3NmVkZjJhZjg5MjEwMTJmY2I3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTc4MCw2ICs3ODAsMTMgQEAg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFVzZURPTVN0b3JhZ2VJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW0KIH0KIAogI2lmIEVOQUJMRShXT1JLRVJTKQorYm9vbCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFy
dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykKK3sKKyAgICBp
ZiAoSW5zcGVjdG9yV29ya2VyQWdlbnQqIHdvcmtlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+aW5zcGVjdG9yV29ya2VyQWdlbnQoKSkKKyAgICAgICAgcmV0dXJuIHdvcmtlckFnZW50LT5z
aG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckNvbnRleHRJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFdvcmtlckNvbnRl
eHRQcm94eSogd29ya2VyQ29udGV4dFByb3h5LCBjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgaWYg
KEluc3BlY3RvcldvcmtlckFnZW50KiB3b3JrZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMt
Pmluc3BlY3RvcldvcmtlckFnZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggZmVjMmE2ZDJmZTQzNWM1NTQ5NGY5
M2M5YmRiNjY1MTM1Y2MwNzQ3YS4uYjk2MTg2YmZhYjQ4ZDU4YTIyMDYzZjIzMzhhNWU1NWVmMTRi
NmQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaApAQCAtMTc1LDYgKzE3NSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9p
ZCBkaWRVc2VET01TdG9yYWdlKFBhZ2UqLCBTdG9yYWdlQXJlYSosIGJvb2wgaXNMb2NhbFN0b3Jh
Z2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBzdGF0aWMgYm9vbCBzaG91
bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwog
ICAgIHN0YXRpYyB2b2lkIGRpZFN0YXJ0V29ya2VyQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgV29ya2VyQ29udGV4dFByb3h5KiwgY29uc3QgS1VSTCYpOwogICAgIHN0YXRpYyB2b2lk
IGRpZENyZWF0ZVdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgaW50cHRyX3QgaWQsIGNv
bnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKTsKICAgICBzdGF0aWMgdm9pZCBk
aWREZXN0cm95V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBpbnRwdHJfdCBpZCk7CkBA
IC0zMDYsNiArMzA3LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9y
YWdlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgU3RvcmFnZUFyZWEqLCBib29sIGlzTG9jYWxT
dG9yYWdlLCBGcmFtZSopOwogCiAjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgc3RhdGljIGJvb2wg
c2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
Kik7CiAgICAgc3RhdGljIHZvaWQgZGlkU3RhcnRXb3JrZXJDb250ZXh0SW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiwgV29ya2VyQ29udGV4dFByb3h5KiwgY29uc3QgS1VSTCYpOwogICAgIHN0YXRp
YyB2b2lkIGRpZENyZWF0ZVdvcmtlckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIGludHB0cl90
IGlkLCBjb25zdCBTdHJpbmcmIHVybCwgYm9vbCBpc1NoYXJlZFdvcmtlcik7CiAgICAgc3RhdGlj
IHZvaWQgZGlkRGVzdHJveVdvcmtlckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIGludHB0cl90
IGlkKTsKQEAgLTk0NCw2ICs5NDYsMTYgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRVc2VET01TdG9yYWdlKFBhZ2UqIHBhZ2UsIFN0b3JhZ2VBcmVhKgogfQogCiAj
aWYgRU5BQkxFKFdPUktFUlMpCitpbmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKGZhbHNlKTsKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQor
ICAgICAgICByZXR1cm4gc2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0SW1wbChpbnN0
cnVtZW50aW5nQWdlbnRzKTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsKK30KKwogaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckNvbnRleHQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV29ya2VyQ29udGV4dFByb3h5KiBwcm94eSwg
Y29uc3QgS1VSTCYgdXJsKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IDkwMGU5
MmU0ODg0OWMzN2U2ZDkyNmM5ZmE2ZTUyOTg3ZWJkZGQ5ZTUuLjdkMWEwODRmOGYzZTU5Zjk1Y2I2
ZDU2ZThlMzE5OGQzZDhjNGZkYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCkBAIC0xNDAsNiArMTQwLDExIEBAIHZvaWQgSW5z
cGVjdG9yUnVudGltZUFnZW50OjpyZWxlYXNlT2JqZWN0R3JvdXAoRXJyb3JTdHJpbmcqLCBjb25z
dCBTdHJpbmcmIG9iamVjCiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPnJlbGVhc2VPYmpl
Y3RHcm91cChvYmplY3RHcm91cCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50Ojpy
ZXN1bWUoRXJyb3JTdHJpbmcqKQoreworICAgIG1fcGF1c2VkID0gZmFsc2U7Cit9CisKICNpZiBF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50Ojpz
ZXRTY3JpcHREZWJ1Z1NlcnZlcihTY3JpcHREZWJ1Z1NlcnZlciogc2NyaXB0RGVidWdTZXJ2ZXIp
CiB7CkBAIC0xNTYsMTEgKzE2MSw2IEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpwYXVz
ZVdvcmtlckNvbnRleHQoV29ya2VyQ29udGV4dCogY29udGV4dCkKICAgICAvLyBLZWVwIHdhaXRp
bmcgdW50aWwgZXhlY3V0aW9uIGlzIHJlc3VtZWQuCiAgICAgfSB3aGlsZSAocmVzdWx0ID09IE1l
c3NhZ2VRdWV1ZU1lc3NhZ2VSZWNlaXZlZCAmJiBtX3BhdXNlZCk7CiB9Ci0KLXZvaWQgSW5zcGVj
dG9yUnVudGltZUFnZW50OjpyZXN1bWUoKQotewotICAgIG1fcGF1c2VkID0gZmFsc2U7Ci19CiAj
ZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCiAjZW5kaWYgLy8gRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JS
dW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1l
QWdlbnQuaAppbmRleCAyMDc1ZjM2MGFlNjEyODE0ODcyNjQ2NDU4OThhY2MyZjc0MDhlZWNhLi4y
OWQ0MGU0ZDkyOTE2Nzk2MzU0YmFiNzc4OGFmMzJhNDg1OGM3ZTU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCkBAIC03NSwxMiArNzUs
MTIgQEAgcHVibGljOgogICAgIHZvaWQgcmVsZWFzZU9iamVjdChFcnJvclN0cmluZyosIGNvbnN0
IFN0cmluZyYgb2JqZWN0SWQpOwogICAgIHZvaWQgZ2V0UHJvcGVydGllcyhFcnJvclN0cmluZyos
IGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IGJvb2wqIGNvbnN0IG93blByb3BlcnRpZXMs
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIHJlc3VsdCk7CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0
R3JvdXAoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwKTsKKyAgICB2b2lk
IHJlc3VtZShFcnJvclN0cmluZyopOwogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIp
CiAgICAgdm9pZCBzZXRTY3JpcHREZWJ1Z1NlcnZlcihTY3JpcHREZWJ1Z1NlcnZlciopOwogI2lm
IEVOQUJMRShXT1JLRVJTKQogICAgIHZvaWQgcGF1c2VXb3JrZXJDb250ZXh0KFdvcmtlckNvbnRl
eHQqKTsKLSAgICB2b2lkIHJlc3VtZSgpOwogI2VuZGlmCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKaW5kZXggNTc3OWJj
OGQyMGQ5YzhmZGNhZTI2OWQ2NzBlYzBkYzkwNjcwOTI0Mi4uZDgxNGM3NjZkZTgwZTkyNTFiYTYx
YTY3OThjNjBiYjI3Mzc5MzI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvcldvcmtlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwCkBAIC0xODgsNiArMTg4LDExIEBAIHZvaWQgSW5zcGVj
dG9yV29ya2VyQWdlbnQ6OnNldEF1dG9jb25uZWN0VG9Xb3JrZXJzKEVycm9yU3RyaW5nKiwgYm9v
bCB2YWx1ZSkKICAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRCb29sZWFuKFdvcmtlckFnZW50U3Rh
dGU6OmF1dG9jb25uZWN0VG9Xb3JrZXJzLCB2YWx1ZSk7CiB9CiAKK2Jvb2wgSW5zcGVjdG9yV29y
a2VyQWdlbnQ6OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydCgpCit7CisgICAgcmV0
dXJuIG1faW5zcGVjdG9yU3RhdGUtPmdldEJvb2xlYW4oV29ya2VyQWdlbnRTdGF0ZTo6YXV0b2Nv
bm5lY3RUb1dvcmtlcnMpOworfQorCiB2b2lkIEluc3BlY3RvcldvcmtlckFnZW50OjpkaWRTdGFy
dFdvcmtlckNvbnRleHQoV29ya2VyQ29udGV4dFByb3h5KiB3b3JrZXJDb250ZXh0UHJveHksIGNv
bnN0IEtVUkwmIHVybCkKIHsKICAgICBXb3JrZXJGcm9udGVuZENoYW5uZWwqIGNoYW5uZWwgPSBu
ZXcgV29ya2VyRnJvbnRlbmRDaGFubmVsKG1faW5zcGVjdG9yRnJvbnRlbmQsIHdvcmtlckNvbnRl
eHRQcm94eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V29ya2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oCmluZGV4IDRlMTVhNzJkMTdmNWMyNDkwNGRiMzI1NzFkMzJhZDdkOTYzOWI3NDcuLjVh
NTJlNzA4OThmNzgwNzhkYzRmMDhkOGVlZTNjZmVjOTIxMDhmZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCkBAIC01Niw2ICs1Niw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKIAogICAgIC8vIENhbGxlZCBmcm9t
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgorICAgIGJvb2wgc2hvdWxkUGF1c2VEZWRpY2F0ZWRX
b3JrZXJPblN0YXJ0KCk7CiAgICAgdm9pZCBkaWRTdGFydFdvcmtlckNvbnRleHQoV29ya2VyQ29u
dGV4dFByb3h5KiwgY29uc3QgS1VSTCYpOwogICAgIHZvaWQgd29ya2VyQ29udGV4dFRlcm1pbmF0
ZWQoV29ya2VyQ29udGV4dFByb3h5Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA3NjVhMzA4YjA0NjU5
NTE2Yjc1ZTFkZjhiZmNmZjEzMzMzZGE4OWQ0Li43ZWU2MmJkMThmZTNlNGQxOTRjMjRlNjc1MWYw
ZjM3NDZhMzAzMjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dv
cmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0yMDksNyArMjA5LDggQEAgdm9pZCBXb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQoY29uc3Qg
U3RyaW5nJiBtZXNzYWcKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIHZvaWQgV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdW1lKCkKIHsKLSAgICBtX3J1bnRpbWVBZ2VudC0+
cmVzdW1lKCk7CisgICAgRXJyb3JTdHJpbmcgdW51c2VkOworICAgIG1fcnVudGltZUFnZW50LT5y
ZXN1bWUoJnVudXNlZCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzCmluZGV4IGU4ODk2M2E3NjBjMDM3Yzg1
YmE4MDM0YjYxMGVjNDMzMjQyMWFjYzQuLjNmYWU0NDE1ODVhZGYxZjU0NTgxODNjMGQ3ZTc5OTc4
MTFlN2Q5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
V29ya2VyTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1dvcmtlck1hbmFnZXIuanMKQEAgLTQ3LDEzICs0NywyNiBAQCBXZWJJbnNwZWN0b3IuV29ya2Vy
TWFuYWdlci5pc1dvcmtlckZyb250ZW5kID0gZnVuY3Rpb24oKQogV2ViSW5zcGVjdG9yLldvcmtl
ck1hbmFnZXIubG9hZGVkID0gZnVuY3Rpb24oKQogewogICAgIHZhciB3b3JrZXJJZCA9IFdlYklu
c3BlY3Rvci5xdWVyeVBhcmFtc09iamVjdFsiZGVkaWNhdGVkV29ya2VySWQiXTsKLSAgICBpZiAo
d29ya2VySWQpCisgICAgaWYgKHdvcmtlcklkKSB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5Xb3Jr
ZXJNYW5hZ2VyLl9pbml0aWFsaXplRGVkaWNhdGVkV29ya2VyRnJvbnRlbmQod29ya2VySWQpOwot
ICAgIGVsc2UKKyAgICB9IGVsc2UKICAgICAgICAgV2ViSW5zcGVjdG9yLndvcmtlck1hbmFnZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIoKTsKK30KIAotICAgIGlmIChXZWJJbnNw
ZWN0b3IuV29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpCi0gICAgICAgIFdlYkluc3Bl
Y3Rvci5Xb3JrZXJNYW5hZ2VyLl9jYWxjdWxhdGVXb3JrZXJJbnNwZWN0b3JUaXRsZSgpOworV2Vi
SW5zcGVjdG9yLldvcmtlck1hbmFnZXIubG9hZENvbXBsZXRlZCA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICAvLyBNYWtlIHN1cmUgc2NyaXB0IGV4ZWN1dGlvbiBvZiBkZWRpY2F0ZWQgd29ya2VyIGlzIHJl
c3VtZWQgYW5kIHRoZW4gcGF1c2VkCisgICAgLy8gb24gdGhlIGZpcnN0IHNjcmlwdCBzdGF0ZW1l
bnQgaW4gY2FzZSB3ZSBhdXRvYXR0YWNoZWQgdG8gaXQuCisgICAgaWYgKFdlYkluc3BlY3Rvci5x
dWVyeVBhcmFtc09iamVjdFsid29ya2VyUGF1c2VkIl0pIHsKKyAgICAgICAgRGVidWdnZXJBZ2Vu
dC5wYXVzZSgpOworICAgICAgICBSdW50aW1lQWdlbnQucmVzdW1lKCk7CisgICAgfQorCisgICAg
aWYgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQoKSkgeworICAg
ICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLldv
cmtlck1hbmFnZXIuX2NhbGN1bGF0ZVdvcmtlckluc3BlY3RvclRpdGxlKCk7CisgICAgICAgIH0s
IDApOworICAgIH0KIH0KIAogV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuX2luaXRpYWxpemVE
ZWRpY2F0ZWRXb3JrZXJGcm9udGVuZCA9IGZ1bmN0aW9uKHdvcmtlcklkKQpAQCAtMTA0LDcgKzEx
Nyw3IEBAIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICBfd29y
a2VyQ3JlYXRlZDogZnVuY3Rpb24od29ya2VySWQsIHVybCwgaW5zcGVjdG9yQ29ubmVjdGVkKQog
ICAgICB7CiAgICAgICAgIGlmIChpbnNwZWN0b3JDb25uZWN0ZWQpCi0gICAgICAgICAgICB0aGlz
Ll9vcGVuSW5zcGVjdG9yV2luZG93KHdvcmtlcklkKTsKKyAgICAgICAgICAgIHRoaXMuX29wZW5J
bnNwZWN0b3JXaW5kb3cod29ya2VySWQsIHRydWUpOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5FdmVudHMuV29ya2VyQWRk
ZWQsIHt3b3JrZXJJZDogd29ya2VySWQsIHVybDogdXJsLCBpbnNwZWN0b3JDb25uZWN0ZWQ6IGlu
c3BlY3RvckNvbm5lY3RlZH0pOwogICAgICB9LAogCkBAIC0xMjMsMTMgKzEzNiwxNSBAQCBXZWJJ
bnNwZWN0b3IuV29ya2VyTWFuYWdlci5wcm90b3R5cGUgPSB7CiAKICAgICBvcGVuV29ya2VySW5z
cGVjdG9yOiBmdW5jdGlvbih3b3JrZXJJZCkKICAgICB7Ci0gICAgICAgIHRoaXMuX29wZW5JbnNw
ZWN0b3JXaW5kb3cod29ya2VySWQpOworICAgICAgICB0aGlzLl9vcGVuSW5zcGVjdG9yV2luZG93
KHdvcmtlcklkLCBmYWxzZSk7CiAgICAgICAgIFdvcmtlckFnZW50LmNvbm5lY3RUb1dvcmtlcih3
b3JrZXJJZCk7CiAgICAgfSwKIAotICAgIF9vcGVuSW5zcGVjdG9yV2luZG93OiBmdW5jdGlvbih3
b3JrZXJJZCkKKyAgICBfb3Blbkluc3BlY3RvcldpbmRvdzogZnVuY3Rpb24od29ya2VySWQsIHdv
cmtlcklzUGF1c2VkKQogICAgIHsKICAgICAgICAgdmFyIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5o
cmVmICsgIiZkZWRpY2F0ZWRXb3JrZXJJZD0iICsgd29ya2VySWQ7CisgICAgICAgIGlmICh3b3Jr
ZXJJc1BhdXNlZCkKKyAgICAgICAgICAgIHVybCArPSAiJndvcmtlclBhdXNlZD10cnVlIjsKICAg
ICAgICAgdXJsID0gdXJsLnJlcGxhY2UoImRvY2tlZD10cnVlJiIsICIiKTsKICAgICAgICAgLy8g
U2V0IGxvY2F0aW9uPTAganVzdCB0byBtYWtlIHN1cmUgdGhlIGZyb250LWVuZCB3aWxsIGJlIG9w
ZW5lZCBpbiBhIHNlcGFyYXRlIHdpbmRvdywgbm90IGluIG5ldyB0YWIuCiAgICAgICAgIHZhciB3
b3JrZXJJbnNwZWN0b3JXaW5kb3cgPSB3aW5kb3cub3Blbih1cmwsIHVuZGVmaW5lZCwgImxvY2F0
aW9uPTAiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMKaW5kZXggOGYyMDM3NWQ1NDRiNDFlYjY3OWExYzQ4M2JkNTNkZmIwMDgzNzFiYy4uOTFm
NzFmNzI4ZjIyODVhZWNjYTViNzQ1ZGFmNzk0MGQ2NDlhYWNjMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTQ0Miw2ICs0NDIsNyBA
QCBXZWJJbnNwZWN0b3IubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIH0KICAgICBXZWJJbnNwZWN0
b3IuV29ya2VyTWFuYWdlci5sb2FkZWQoKTsKICAgICBXZWJJbnNwZWN0b3IuZG9Mb2FkZWREb25l
KCk7CisgICAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIubG9hZENvbXBsZXRlZCgpOwogfQog
CiBXZWJJbnNwZWN0b3IuZG9Mb2FkZWREb25lID0gZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuY3BwCmluZGV4IDlkNDMwOTBmOGI5YWU3ZDczNzQwM2ExZDdjMzUyYmI0ZGRmMjVkZjgu
LmVjOGFmMzQ2ZWM4OGQzY2UwMTExNGRmZTI5YTdkMGJkNTUzYzcwOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlci5jcHAKQEAgLTEzOSw3ICsxMzksMTAgQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZp
bmlzaGVkKCkKICAgICBpZiAobV9zY3JpcHRMb2FkZXItPmZhaWxlZCgpKQogICAgICAgICBkaXNw
YXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCB0
cnVlKSk7CiAgICAgZWxzZSB7Ci0gICAgICAgIG1fY29udGV4dFByb3h5LT5zdGFydFdvcmtlckNv
bnRleHQobV9zY3JpcHRMb2FkZXItPnVybCgpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnVz
ZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkp
OworICAgICAgICBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlID0gRG9udFBhdXNlV29y
a2VyQ29udGV4dE9uU3RhcnQ7CisgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydChzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpKQorICAgICAgICAgICAgc3RhcnRNb2RlID0gUGF1c2VXb3JrZXJDb250ZXh0T25TdGFydDsK
KyAgICAgICAgbV9jb250ZXh0UHJveHktPnN0YXJ0V29ya2VyQ29udGV4dChtX3NjcmlwdExvYWRl
ci0+dXJsKCksIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dXNlckFnZW50KG1fc2NyaXB0TG9h
ZGVyLT51cmwoKSksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgc3RhcnRNb2RlKTsKICAgICAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckNvbnRleHQoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCBtX2NvbnRleHRQcm94eSwgbV9zY3JpcHRMb2FkZXItPnVybCgp
KTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZChzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIG1fc2NyaXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2Ny
aXB0TG9hZGVyLT5zY3JpcHQoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dFByb3h5LmgKaW5kZXggODc5OGY1MTBkMjljYzE5ZmY0NjI0OTU1MDBiOTVkZGY0
NDQ4MTNjNi4uMDU5NzZhZjQyNWJkZjZkYzFiY2ZiMmE0MDRkNDllMGQ0MzVlMDQ3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oCkBAIC0zNCw2ICszNCw3
IEBACiAjaWYgRU5BQkxFKFdPUktFUlMpCiAKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgorI2lu
Y2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtNDksNyArNTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAgICAgdmlydHVhbCB+V29ya2VyQ29udGV4dFByb3h5KCkge30KIAotICAgICAg
ICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkgPSAwOwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
V29ya2VyVGhyZWFkU3RhcnRNb2RlKSA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHRlcm1p
bmF0ZVdvcmtlckNvbnRleHQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggODJmN2QyNDNlNjkyZjJiYTAzYzJkZTc2ODkz
ZjEwYmYzOWQwNjZkNC4uMWVmZDM4N2UyMGY3OTk0NmFhNTJmZTJhOGJmNmUyZWY4ZjZlMmMyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAK
QEAgLTI2Niw5ICsyNjYsOSBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2lu
Z1Byb3h5KCkKICAgICAgICAgICAgfHwgKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNXb3Jr
ZXJDb250ZXh0KCkgJiYgY3VycmVudFRocmVhZCgpID09IHN0YXRpY19jYXN0PFdvcmtlckNvbnRl
eHQqPihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuZ2V0KCkpLT50aHJlYWQoKS0+dGhyZWFkSUQo
KSkpOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckNvbnRleHQo
Y29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJD
b250ZXh0KGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSkK
IHsKLSAgICBSZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiB0aHJlYWQgPSBEZWRpY2F0ZWRX
b3JrZXJUaHJlYWQ6OmNyZWF0ZShzY3JpcHRVUkwsIHVzZXJBZ2VudCwgc291cmNlQ29kZSwgKnRo
aXMsICp0aGlzLCBEb250UGF1c2VXb3JrZXJDb250ZXh0T25TdGFydCk7CisgICAgUmVmUHRyPERl
ZGljYXRlZFdvcmtlclRocmVhZD4gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVh
dGUoc2NyaXB0VVJMLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgc3RhcnRN
b2RlKTsKICAgICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVhZCk7CiAgICAgdGhyZWFkLT5zdGFy
dCgpOwogfQpAQCAtMzY2LDcgKzM2Niw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OmNv
bm5lY3RUb0luc3BlY3RvcihXb3JrZXJDb250ZXh0UHJveHk6OlBhZ2VJbnNwZWN0b3IqCiAgICAg
ICAgIHJldHVybjsKICAgICBBU1NFUlQoIW1fcGFnZUluc3BlY3Rvcik7CiAgICAgbV9wYWdlSW5z
cGVjdG9yID0gcGFnZUluc3BlY3RvcjsKLSAgICBtX3dvcmtlclRocmVhZC0+cnVuTG9vcCgpLnBv
c3RUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzayhjb25uZWN0VG9Xb3JrZXJDb250ZXh0SW5zcGVjdG9y
VGFzaywgdHJ1ZSkpOworICAgIG1fd29ya2VyVGhyZWFkLT5ydW5Mb29wKCkucG9zdFRhc2tGb3JN
b2RlKGNyZWF0ZUNhbGxiYWNrVGFzayhjb25uZWN0VG9Xb3JrZXJDb250ZXh0SW5zcGVjdG9yVGFz
aywgdHJ1ZSksIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OmRlYnVnZ2VyVGFza01vZGUpOwogfQogCiBz
dGF0aWMgdm9pZCBkaXNjb25uZWN0RnJvbVdvcmtlckNvbnRleHRJbnNwZWN0b3JUYXNrKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGJvb2wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggMzdjZGI5ZTA2OGE3M2E0OWVlY2Q3MWNk
NmY2MzVmZjdhNWJjZmFkMC4uODUzNjExM2E5NDc3NjU0ODYzNjVlNjEzNmY1YzViMzg4N2E2NDZk
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApA
QCAtNTMsNyArNTMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8gSW1wbGVt
ZW50YXRpb25zIG9mIFdvcmtlckNvbnRleHRQcm94eS4KICAgICAgICAgLy8gKE9ubHkgdXNlIHRo
ZXNlIG1ldGhvZHMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICAgICAgdmlydHVh
bCB2b2lkIHN0YXJ0V29ya2VyQ29udGV4dChjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpOworICAgICAgICB2aXJ0
dWFsIHZvaWQgc3RhcnRXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckNvbnRleHQo
KTsKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJDb250ZXh0KFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5u
ZWxBcnJheT4pOwogICAgICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGll
bnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudElt
cGwuY3BwCmluZGV4IGY1MDZlNGRiYThmZmU2NDliNGJiMmEzMTg0NTAwZjA1OGZiODFjMzguLjBl
YzE2OWZkOTQ3N2U3NmE3YmI2NmRhMTE5NGRiMzUxZWMxMjVjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCkBAIC04NSw5ICs4
NSw5IEBAIFdvcmtlckNvbnRleHRQcm94eSogV2ViV29ya2VyQ2xpZW50SW1wbDo6Y3JlYXRlV29y
a2VyQ29udGV4dFByb3h5KFdvcmtlciogd29ya2VyCiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQg
V2ViV29ya2VyQ2xpZW50SW1wbDo6c3RhcnRXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkK
K3ZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6c3RhcnRXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSkKIHsKLSAgICBSZWZQdHI8RGVk
aWNhdGVkV29ya2VyVGhyZWFkPiB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0
ZShzY3JpcHRVUkwsIHVzZXJBZ2VudCwgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCBEb250UGF1
c2VXb3JrZXJDb250ZXh0T25TdGFydCk7CisgICAgUmVmUHRyPERlZGljYXRlZFdvcmtlclRocmVh
ZD4gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2NyaXB0VVJMLCB1c2Vy
QWdlbnQsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlKTsKICAgICBtX3Byb3h5
LT53b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVhZCk7CiAgICAgdGhyZWFkLT5zdGFydCgpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCmlu
ZGV4IDgxNTg5ZmMyZTk2ODU1MzYxNDczNjliOTlhMjNjODZmNzQ0MDMwZTMuLjcyZDhkZmU4ZTRh
MGE4ZmU2NmZlN2FmNDU0YzI5YzE3OWI2ZTE5OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgKQEAgLTY5LDcgKzY5LDggQEAgcHVibGlj
OgogICAgIC8vIHByb2Nlc3MsIHRoaXMgd2lsbCBiZSB0aGUgbWFpbiBXZWJLaXQgdGhyZWFkLgog
ICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckNvbnRleHQoY29uc3QgV2ViQ29yZTo6S1VSTCYs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcm
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViQ29yZTo6V29ya2VyVGhy
ZWFkU3RhcnRNb2RlKTsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2VyQ29udGV4dCgp
OwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyQ29udGV4dCgKICAgICAgICAg
UGFzc1JlZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsCg==
</data>
<flag name="review"
          id="110197"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="110202"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112182</attachid>
            <date>2011-10-24 07:17:19 -0700</date>
            <delta_ts>2011-10-24 07:26:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>dedicate-worker-pause.patch</filename>
            <type>text/plain</type>
            <size>20087</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZThlYjYxLi5jNzljMGU0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkg
QEAKKzIwMTEtMTAtMjQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogYWxsb3cgZGVidWdnaW5nIGRlZGljYXRlZCB3b3JrZXIg
aW5pdGlhbGl6YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcwNzIzCisKKyAgICAgICAgTm93IGl0IGlzIHBvc3NpYmxlIHRvIHBhdXNlIGVhY2gg
bmV3IGRlZGljYXRlZCB3b3JrZXIgb24gc3RhcnQuIFRoZSB1c2VyCisgICAgICAgIG5lZWRzIHRv
IHNlbGVjdCBhIGNoZWNrYm94IGFuZCB0aGVuIGVhY2ggbmV3bHkgY3JlYXRlZCBkZWRpY2F0ZWQg
d29ya2VyCisgICAgICAgIHdpbGwgYmUgcGF1c2VkIG9uIHRoZSBmaXJzdCBzdGF0ZW1lbnQgdW50
aWwgdGhlIHVzZXIgcmVzdW1lcyBpdCBleHBsaWNpdGVseS4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjog
cmVzdW1lIGNvbW1hbmQgaXMgYWRkZWQuIEl0IGlzIHNpbWlsYXIgdG8gR0RCJ3MgcnVuCisgICAg
ICAgIGNvbW1hbmQsIGkuZS4gd29ya2VyIGV4ZWN1dGlvbiB3aWxsIGJlIHBhdXNlZCB1bnRpbCBl
eHBsaWNpdCAicmVzdW1lIiBjb21tYW5kIGlzCisgICAgICAgIHJlY2VpdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9u
U3RhcnRJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZFBh
dXNlRGVkaWNhdGVkV29ya2VyT25TdGFydCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSdW50aW1lQWdl
bnQ6OnJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OnBh
dXNlV29ya2VyQ29udGV4dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6c2hvdWxkUGF1c2VEZWRpY2F0
ZWRXb3JrZXJPblN0YXJ0KTogcmV0dXJucyB0cnVlCisgICAgICAgIGlmIHRoZSB1c2VyIGNob3Nl
IHRvIGF1dG9tYXRpY2FsbHkgcGF1c2UgYWxsIG5ldyB3b3JrZXJzLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXI6OnJlc3VtZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jr
ZXJNYW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIubG9hZGVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmxvYWRDb21wbGV0ZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIucHJvdG90eXBlLl93b3JrZXJDcmVh
dGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnByb3RvdHlwZS5vcGVu
V29ya2VySW5zcGVjdG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnBy
b3RvdHlwZS5fb3Blbkluc3BlY3RvcldpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IubG9hZGVkKToKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyQ29udGV4dCk6IGFkZGl0aW9uYWwg
ZmxhZyBzcGVjaWZ5aW5nCisgICAgICAgIHdvcmtlciBpbml0aWFsIHN0YXRlKHBhdXNlZC9ub3Qg
cGF1c2VkKSBpcyBhZGRlZCB0byB0aGUgZmFjdG9yeSBtZXRob2QuIFRoZSBmbGFnCisgICAgICAg
IHdpbGwgYmUgY2FycmllZCB0byB0aGUgY29ycmVzcG9uZGluZyBXb3JrZXJUaHJlYWQuCisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6Y29ubmVjdFRvSW5zcGVjdG9yKToK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisKIDIwMTEtMTAtMjQg
IFlvc2lmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtGb3Jtc10g
U2V0dGluZyBkZWZhdWx0VmFsdWUgc2hvdWxkIGhpZGUgYW4gaW5wdXQgcGxhY2Vob2xkZXIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggYzU1YmU0MC4uZDk3NjM1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMzgwLDYgKzM4
MCwxMSBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9iamVjdEdyb3VwIiwgInR5
cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlN5bWJvbGljIG9iamVjdCBncm91cCBuYW1l
LiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog
IlJlbGVhc2VzIGFsbCByZW1vdGUgb2JqZWN0cyB0aGF0IGJlbG9uZyB0byBhIGdpdmVuIGdyb3Vw
LiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUi
OiAicnVuIiwKKyAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiVGVsbHMgaW5zcGVjdGVkIGluc3RhbmNlKHdvcmtlciBvciBwYWdl
KSB0aGF0IGl0IGNhbiBydW4gaW4gY2FzZSBpdCB3YXMgc3RhcnRlZCBwYXVzZWQuIgogICAgICAg
ICAgICAgfQogICAgICAgICBdCiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggZDc3OGI5ZS4uYmQyYjll
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAKQEAgLTc4MCw2ICs3ODAsMTMgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFVzZURPTVN0b3JhZ2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW0KIH0KIAogI2lmIEVOQUJMRShXT1JLRVJTKQorYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykKK3sKKyAgICBpZiAoSW5zcGVjdG9yV29ya2VyQWdl
bnQqIHdvcmtlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yV29ya2VyQWdl
bnQoKSkKKyAgICAgICAgcmV0dXJuIHdvcmtlckFnZW50LT5zaG91bGRQYXVzZURlZGljYXRlZFdv
cmtlck9uU3RhcnQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckNvbnRleHRJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFdvcmtlckNvbnRleHRQcm94eSogd29ya2VyQ29udGV4
dFByb3h5LCBjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgaWYgKEluc3BlY3RvcldvcmtlckFnZW50
KiB3b3JrZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvcldvcmtlckFnZW50
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgKaW5kZXggZmVjMmE2ZC4uYjk2MTg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMTc1LDYgKzE3NSw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9yYWdlKFBhZ2UqLCBTdG9y
YWdlQXJlYSosIGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUoV09S
S0VSUykKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHN0YXRpYyB2b2lkIGRpZFN0YXJ0V29ya2Vy
Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV29ya2VyQ29udGV4dFByb3h5KiwgY29u
c3QgS1VSTCYpOwogICAgIHN0YXRpYyB2b2lkIGRpZENyZWF0ZVdvcmtlcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgaW50cHRyX3QgaWQsIGNvbnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVk
V29ya2VyKTsKICAgICBzdGF0aWMgdm9pZCBkaWREZXN0cm95V29ya2VyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBpbnRwdHJfdCBpZCk7CkBAIC0zMDYsNiArMzA3LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9yYWdlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
U3RvcmFnZUFyZWEqLCBib29sIGlzTG9jYWxTdG9yYWdlLCBGcmFtZSopOwogCiAjaWYgRU5BQkxF
KFdPUktFUlMpCisgICAgc3RhdGljIGJvb2wgc2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0
YXJ0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgc3RhdGljIHZvaWQgZGlkU3RhcnRX
b3JrZXJDb250ZXh0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgV29ya2VyQ29udGV4dFByb3h5
KiwgY29uc3QgS1VSTCYpOwogICAgIHN0YXRpYyB2b2lkIGRpZENyZWF0ZVdvcmtlckltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyosIGludHB0cl90IGlkLCBjb25zdCBTdHJpbmcmIHVybCwgYm9vbCBp
c1NoYXJlZFdvcmtlcik7CiAgICAgc3RhdGljIHZvaWQgZGlkRGVzdHJveVdvcmtlckltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyosIGludHB0cl90IGlkKTsKQEAgLTk0NCw2ICs5NDYsMTYgQEAgaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRVc2VET01TdG9yYWdlKFBhZ2Uq
IHBhZ2UsIFN0b3JhZ2VBcmVhKgogfQogCiAjaWYgRU5BQkxFKFdPUktFUlMpCitpbmxpbmUgYm9v
bCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25T
dGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQoreworI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCisgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKGZhbHNlKTsKKyAgICBpZiAo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdB
Z2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQorICAgICAgICByZXR1cm4gc2hvdWxkUGF1c2VEZWRp
Y2F0ZWRXb3JrZXJPblN0YXJ0SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzKTsKKyNlbmRpZgorICAg
IHJldHVybiBmYWxzZTsKK30KKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRTdGFydFdvcmtlckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
V29ya2VyQ29udGV4dFByb3h5KiBwcm94eSwgY29uc3QgS1VSTCYgdXJsKQogewogI2lmIEVOQUJM
RShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUnVudGltZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JS
dW50aW1lQWdlbnQuY3BwCmluZGV4IDkwMGU5MmUuLjc2ZGFjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCkBAIC0xNDAsNiAr
MTQwLDExIEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpyZWxlYXNlT2JqZWN0R3JvdXAo
RXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIG9iamVjCiAgICAgbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXItPnJlbGVhc2VPYmplY3RHcm91cChvYmplY3RHcm91cCk7CiB9CiAKK3ZvaWQgSW5zcGVj
dG9yUnVudGltZUFnZW50OjpydW4oRXJyb3JTdHJpbmcqKQoreworICAgIG1fcGF1c2VkID0gZmFs
c2U7Cit9CisKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIHZvaWQgSW5zcGVjdG9y
UnVudGltZUFnZW50OjpzZXRTY3JpcHREZWJ1Z1NlcnZlcihTY3JpcHREZWJ1Z1NlcnZlciogc2Ny
aXB0RGVidWdTZXJ2ZXIpCiB7CkBAIC0xNTYsMTEgKzE2MSw2IEBAIHZvaWQgSW5zcGVjdG9yUnVu
dGltZUFnZW50OjpwYXVzZVdvcmtlckNvbnRleHQoV29ya2VyQ29udGV4dCogY29udGV4dCkKICAg
ICAvLyBLZWVwIHdhaXRpbmcgdW50aWwgZXhlY3V0aW9uIGlzIHJlc3VtZWQuCiAgICAgfSB3aGls
ZSAocmVzdWx0ID09IE1lc3NhZ2VRdWV1ZU1lc3NhZ2VSZWNlaXZlZCAmJiBtX3BhdXNlZCk7CiB9
Ci0KLXZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpyZXN1bWUoKQotewotICAgIG1fcGF1c2Vk
ID0gZmFsc2U7Ci19CiAjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCiAjZW5kaWYgLy8gRU5BQkxF
KEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JSdW50aW1lQWdlbnQuaAppbmRleCAyMDc1ZjM2Li5kMDRlNTkwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCkBAIC03NSwx
MiArNzUsMTIgQEAgcHVibGljOgogICAgIHZvaWQgcmVsZWFzZU9iamVjdChFcnJvclN0cmluZyos
IGNvbnN0IFN0cmluZyYgb2JqZWN0SWQpOwogICAgIHZvaWQgZ2V0UHJvcGVydGllcyhFcnJvclN0
cmluZyosIGNvbnN0IFN0cmluZyYgb2JqZWN0SWQsIGNvbnN0IGJvb2wqIGNvbnN0IG93blByb3Bl
cnRpZXMsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIHJlc3VsdCk7CiAgICAgdm9pZCByZWxlYXNl
T2JqZWN0R3JvdXAoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwKTsKKyAg
ICB2b2lkIHJ1bihFcnJvclN0cmluZyopOwogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCiAgICAgdm9pZCBzZXRTY3JpcHREZWJ1Z1NlcnZlcihTY3JpcHREZWJ1Z1NlcnZlciopOwog
I2lmIEVOQUJMRShXT1JLRVJTKQogICAgIHZvaWQgcGF1c2VXb3JrZXJDb250ZXh0KFdvcmtlckNv
bnRleHQqKTsKLSAgICB2b2lkIHJlc3VtZSgpOwogI2VuZGlmCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKaW5kZXggNTc3
OWJjOC4uZDgxNGM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yV29ya2VyQWdlbnQuY3BwCkBAIC0xODgsNiArMTg4LDExIEBAIHZvaWQgSW5zcGVjdG9yV29y
a2VyQWdlbnQ6OnNldEF1dG9jb25uZWN0VG9Xb3JrZXJzKEVycm9yU3RyaW5nKiwgYm9vbCB2YWx1
ZSkKICAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRCb29sZWFuKFdvcmtlckFnZW50U3RhdGU6OmF1
dG9jb25uZWN0VG9Xb3JrZXJzLCB2YWx1ZSk7CiB9CiAKK2Jvb2wgSW5zcGVjdG9yV29ya2VyQWdl
bnQ6OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydCgpCit7CisgICAgcmV0dXJuIG1f
aW5zcGVjdG9yU3RhdGUtPmdldEJvb2xlYW4oV29ya2VyQWdlbnRTdGF0ZTo6YXV0b2Nvbm5lY3RU
b1dvcmtlcnMpOworfQorCiB2b2lkIEluc3BlY3RvcldvcmtlckFnZW50OjpkaWRTdGFydFdvcmtl
ckNvbnRleHQoV29ya2VyQ29udGV4dFByb3h5KiB3b3JrZXJDb250ZXh0UHJveHksIGNvbnN0IEtV
UkwmIHVybCkKIHsKICAgICBXb3JrZXJGcm9udGVuZENoYW5uZWwqIGNoYW5uZWwgPSBuZXcgV29y
a2VyRnJvbnRlbmRDaGFubmVsKG1faW5zcGVjdG9yRnJvbnRlbmQsIHdvcmtlckNvbnRleHRQcm94
eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2Vy
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5o
CmluZGV4IDRlMTVhNzIuLjVhNTJlNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGNsZWFyRnJvbnRlbmQoKTsKIAogICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbgorICAgIGJvb2wgc2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0KCk7
CiAgICAgdm9pZCBkaWRTdGFydFdvcmtlckNvbnRleHQoV29ya2VyQ29udGV4dFByb3h5KiwgY29u
c3QgS1VSTCYpOwogICAgIHZvaWQgd29ya2VyQ29udGV4dFRlcm1pbmF0ZWQoV29ya2VyQ29udGV4
dFByb3h5Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA3NjVhMzA4Li5lMWY0NTk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCkBAIC0yMDksNyArMjA5LDggQEAgdm9pZCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpk
aXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWcKICNpZiBFTkFC
TEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6
cmVzdW1lKCkKIHsKLSAgICBtX3J1bnRpbWVBZ2VudC0+cmVzdW1lKCk7CisgICAgRXJyb3JTdHJp
bmcgdW51c2VkOworICAgIG1fcnVudGltZUFnZW50LT5ydW4oJnVudXNlZCk7CiB9CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJN
YW5hZ2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5h
Z2VyLmpzCmluZGV4IGU4ODk2M2EuLjVhOGZjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanMKQEAgLTQ3LDEzICs0NywyNiBA
QCBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kID0gZnVuY3Rpb24o
KQogV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIubG9hZGVkID0gZnVuY3Rpb24oKQogewogICAg
IHZhciB3b3JrZXJJZCA9IFdlYkluc3BlY3Rvci5xdWVyeVBhcmFtc09iamVjdFsiZGVkaWNhdGVk
V29ya2VySWQiXTsKLSAgICBpZiAod29ya2VySWQpCisgICAgaWYgKHdvcmtlcklkKSB7CiAgICAg
ICAgIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLl9pbml0aWFsaXplRGVkaWNhdGVkV29ya2Vy
RnJvbnRlbmQod29ya2VySWQpOwotICAgIGVsc2UKKyAgICB9IGVsc2UKICAgICAgICAgV2ViSW5z
cGVjdG9yLndvcmtlck1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIoKTsK
K30KIAotICAgIGlmIChXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5k
KCkpCitXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5sb2FkQ29tcGxldGVkID0gZnVuY3Rpb24o
KQoreworICAgIC8vIE1ha2Ugc3VyZSBzY3JpcHQgZXhlY3V0aW9uIG9mIGRlZGljYXRlZCB3b3Jr
ZXIgaXMgcmVzdW1lZCBhbmQgdGhlbiBwYXVzZWQKKyAgICAvLyBvbiB0aGUgZmlyc3Qgc2NyaXB0
IHN0YXRlbWVudCBpbiBjYXNlIHdlIGF1dG9hdHRhY2hlZCB0byBpdC4KKyAgICBpZiAoV2ViSW5z
cGVjdG9yLnF1ZXJ5UGFyYW1zT2JqZWN0WyJ3b3JrZXJQYXVzZWQiXSkgeworICAgICAgICBEZWJ1
Z2dlckFnZW50LnBhdXNlKCk7CisgICAgICAgIFJ1bnRpbWVBZ2VudC5ydW4oY2FsY3VsYXRlVGl0
bGUpOworICAgIH0gZWxzZSBpZiAoV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuaXNXb3JrZXJG
cm9udGVuZCgpKQorICAgICAgICBjYWxjdWxhdGVUaXRsZSgpOworCisgICAgZnVuY3Rpb24gY2Fs
Y3VsYXRlVGl0bGUoKQorICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIu
X2NhbGN1bGF0ZVdvcmtlckluc3BlY3RvclRpdGxlKCk7CisgICAgfQogfQogCiBXZWJJbnNwZWN0
b3IuV29ya2VyTWFuYWdlci5faW5pdGlhbGl6ZURlZGljYXRlZFdvcmtlckZyb250ZW5kID0gZnVu
Y3Rpb24od29ya2VySWQpCkBAIC0xMDQsNyArMTE3LDcgQEAgV2ViSW5zcGVjdG9yLldvcmtlck1h
bmFnZXIucHJvdG90eXBlID0gewogICAgIF93b3JrZXJDcmVhdGVkOiBmdW5jdGlvbih3b3JrZXJJ
ZCwgdXJsLCBpbnNwZWN0b3JDb25uZWN0ZWQpCiAgICAgIHsKICAgICAgICAgaWYgKGluc3BlY3Rv
ckNvbm5lY3RlZCkKLSAgICAgICAgICAgIHRoaXMuX29wZW5JbnNwZWN0b3JXaW5kb3cod29ya2Vy
SWQpOworICAgICAgICAgICAgdGhpcy5fb3Blbkluc3BlY3RvcldpbmRvdyh3b3JrZXJJZCwgdHJ1
ZSk7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5X
b3JrZXJNYW5hZ2VyLkV2ZW50cy5Xb3JrZXJBZGRlZCwge3dvcmtlcklkOiB3b3JrZXJJZCwgdXJs
OiB1cmwsIGluc3BlY3RvckNvbm5lY3RlZDogaW5zcGVjdG9yQ29ubmVjdGVkfSk7CiAgICAgIH0s
CiAKQEAgLTEyMywxMyArMTM2LDE1IEBAIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnByb3Rv
dHlwZSA9IHsKIAogICAgIG9wZW5Xb3JrZXJJbnNwZWN0b3I6IGZ1bmN0aW9uKHdvcmtlcklkKQog
ICAgIHsKLSAgICAgICAgdGhpcy5fb3Blbkluc3BlY3RvcldpbmRvdyh3b3JrZXJJZCk7CisgICAg
ICAgIHRoaXMuX29wZW5JbnNwZWN0b3JXaW5kb3cod29ya2VySWQsIGZhbHNlKTsKICAgICAgICAg
V29ya2VyQWdlbnQuY29ubmVjdFRvV29ya2VyKHdvcmtlcklkKTsKICAgICB9LAogCi0gICAgX29w
ZW5JbnNwZWN0b3JXaW5kb3c6IGZ1bmN0aW9uKHdvcmtlcklkKQorICAgIF9vcGVuSW5zcGVjdG9y
V2luZG93OiBmdW5jdGlvbih3b3JrZXJJZCwgd29ya2VySXNQYXVzZWQpCiAgICAgewogICAgICAg
ICB2YXIgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYgKyAiJmRlZGljYXRlZFdvcmtlcklkPSIg
KyB3b3JrZXJJZDsKKyAgICAgICAgaWYgKHdvcmtlcklzUGF1c2VkKQorICAgICAgICAgICAgdXJs
ICs9ICImd29ya2VyUGF1c2VkPXRydWUiOwogICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgiZG9j
a2VkPXRydWUmIiwgIiIpOwogICAgICAgICAvLyBTZXQgbG9jYXRpb249MCBqdXN0IHRvIG1ha2Ug
c3VyZSB0aGUgZnJvbnQtZW5kIHdpbGwgYmUgb3BlbmVkIGluIGEgc2VwYXJhdGUgd2luZG93LCBu
b3QgaW4gbmV3IHRhYi4KICAgICAgICAgdmFyIHdvcmtlckluc3BlY3RvcldpbmRvdyA9IHdpbmRv
dy5vcGVuKHVybCwgdW5kZWZpbmVkLCAibG9jYXRpb249MCIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA4ZjIwMzc1Li45MWY3MWY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
cwpAQCAtNDQyLDYgKzQ0Miw3IEBAIFdlYkluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAg
ICAgfQogICAgIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmxvYWRlZCgpOwogICAgIFdlYklu
c3BlY3Rvci5kb0xvYWRlZERvbmUoKTsKKyAgICBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5s
b2FkQ29tcGxldGVkKCk7CiB9CiAKIFdlYkluc3BlY3Rvci5kb0xvYWRlZERvbmUgPSBmdW5jdGlv
bigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggOWQ0MzA5MC4uZWM4YWYzNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMTM5LDcgKzEzOSwxMCBAQCB2b2lkIFdvcmtl
cjo6bm90aWZ5RmluaXNoZWQoKQogICAgIGlmIChtX3NjcmlwdExvYWRlci0+ZmFpbGVkKCkpCiAg
ICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVu
dCwgZmFsc2UsIHRydWUpKTsKICAgICBlbHNlIHsKLSAgICAgICAgbV9jb250ZXh0UHJveHktPnN0
YXJ0V29ya2VyQ29udGV4dChtX3NjcmlwdExvYWRlci0+dXJsKCksIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIG1fc2NyaXB0TG9hZGVy
LT5zY3JpcHQoKSk7CisgICAgICAgIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUgPSBE
b250UGF1c2VXb3JrZXJDb250ZXh0T25TdGFydDsKKyAgICAgICAgaWYgKEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkpCisgICAgICAgICAgICBzdGFydE1vZGUgPSBQYXVzZVdvcmtlckNvbnRl
eHRPblN0YXJ0OworICAgICAgICBtX2NvbnRleHRQcm94eS0+c3RhcnRXb3JrZXJDb250ZXh0KG1f
c2NyaXB0TG9hZGVyLT51cmwoKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT51c2VyQWdlbnQo
bV9zY3JpcHRMb2FkZXItPnVybCgpKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBzdGFydE1v
ZGUpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFN0YXJ0V29ya2VyQ29u
dGV4dChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG1fY29udGV4dFByb3h5LCBtX3NjcmlwdExv
YWRlci0+dXJsKCkpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdElt
cG9ydGVkKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZp
ZXIoKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaAppbmRleCA4Nzk4ZjUxLi4wNTk3NmFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5LmgKQEAgLTM0LDYgKzM0
LDcgQEAKICNpZiBFTkFCTEUoV09SS0VSUykKIAogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCisj
aW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC00OSw3ICs1MCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICB2aXJ0dWFsIH5Xb3JrZXJDb250ZXh0UHJveHkoKSB7fQogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckNvbnRleHQoY29uc3QgS1VSTCYgc2NyaXB0VVJM
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKSA9IDA7
CisgICAgICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckNvbnRleHQoY29uc3QgS1VSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUpID0gMDsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgdGVy
bWluYXRlV29ya2VyQ29udGV4dCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCA4MmY3ZDI0Li4xZWZkMzg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtMjY2
LDkgKzI2Niw5IEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJveHko
KQogICAgICAgICAgICB8fCAobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc1dvcmtlckNvbnRl
eHQoKSAmJiBjdXJyZW50VGhyZWFkKCkgPT0gc3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC5nZXQoKSktPnRocmVhZCgpLT50aHJlYWRJRCgpKSk7CiB9
CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyQ29udGV4dChjb25zdCBL
VVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNv
dXJjZUNvZGUpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckNvbnRleHQo
Y29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlKQogewotICAg
IFJlZlB0cjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRo
cmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgdXNlckFnZW50LCBzb3VyY2VDb2RlLCAqdGhpcywgKnRo
aXMsIERvbnRQYXVzZVdvcmtlckNvbnRleHRPblN0YXJ0KTsKKyAgICBSZWZQdHI8RGVkaWNhdGVk
V29ya2VyVGhyZWFkPiB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzY3Jp
cHRVUkwsIHVzZXJBZ2VudCwgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCBzdGFydE1vZGUpOwog
ICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhyZWFkKTsKICAgICB0aHJlYWQtPnN0YXJ0KCk7CiB9
CkBAIC0zNjYsNyArMzY2LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6Y29ubmVjdFRv
SW5zcGVjdG9yKFdvcmtlckNvbnRleHRQcm94eTo6UGFnZUluc3BlY3RvcioKICAgICAgICAgcmV0
dXJuOwogICAgIEFTU0VSVCghbV9wYWdlSW5zcGVjdG9yKTsKICAgICBtX3BhZ2VJbnNwZWN0b3Ig
PSBwYWdlSW5zcGVjdG9yOwotICAgIG1fd29ya2VyVGhyZWFkLT5ydW5Mb29wKCkucG9zdFRhc2so
Y3JlYXRlQ2FsbGJhY2tUYXNrKGNvbm5lY3RUb1dvcmtlckNvbnRleHRJbnNwZWN0b3JUYXNrLCB0
cnVlKSk7CisgICAgbV93b3JrZXJUaHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoY3Jl
YXRlQ2FsbGJhY2tUYXNrKGNvbm5lY3RUb1dvcmtlckNvbnRleHRJbnNwZWN0b3JUYXNrLCB0cnVl
KSwgV29ya2VyRGVidWdnZXJBZ2VudDo6ZGVidWdnZXJUYXNrTW9kZSk7CiB9CiAKIHN0YXRpYyB2
b2lkIGRpc2Nvbm5lY3RGcm9tV29ya2VyQ29udGV4dEluc3BlY3RvclRhc2soU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgYm9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCAzN2NkYjllLi44NTM2MTEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01Myw3ICs1Myw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29y
a2VyQ29udGV4dFByb3h5LgogICAgICAgICAvLyAoT25seSB1c2UgdGhlc2UgbWV0aG9kcyBpbiB0
aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQotICAgICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3Jr
ZXJDb250ZXh0KGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzdGFydFdv
cmtlckNvbnRleHQoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUpOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2VyQ29udGV4dCgpOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckNvbnRleHQoUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5Pik7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggMTFiMDBhOS4uYjI5ZjA2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMC0yNCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1
cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhbGxvdyBkZWJ1Z2dp
bmcgZGVkaWNhdGVkIHdvcmtlciBpbml0aWFsaXphdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjMKKworICAgICAgICBQYXNzIHdvcmtlciB0
aHJlYWQgc3RhcnQgbW9kZSB0byB0aGUgd29ya2VyIHRocmVhZC4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQ2xpZW50SW1wbDo6c3RhcnRXb3JrZXJD
b250ZXh0KToKKyAgICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oOgorCiAyMDExLTEw
LTIxICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1d
IE1ha2Ugc2V0VmlzaWJpbGl0eSBleHRlbnNpb24tIGFuZCB0aHJlYWQtY29ycmVjdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcAppbmRl
eCBmNTA2ZTRkLi4wZWMxNjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcApAQCAtODUsOSArODUsOSBAQCBXb3JrZXJDb250ZXh0
UHJveHkqIFdlYldvcmtlckNsaWVudEltcGw6OmNyZWF0ZVdvcmtlckNvbnRleHRQcm94eShXb3Jr
ZXIqIHdvcmtlcgogICAgIHJldHVybiAwOwogfQogCi12b2lkIFdlYldvcmtlckNsaWVudEltcGw6
OnN0YXJ0V29ya2VyQ29udGV4dChjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpCit2b2lkIFdlYldvcmtlckNsaWVu
dEltcGw6OnN0YXJ0V29ya2VyQ29udGV4dChjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0
YXJ0TW9kZSBzdGFydE1vZGUpCiB7Ci0gICAgUmVmUHRyPERlZGljYXRlZFdvcmtlclRocmVhZD4g
dGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2NyaXB0VVJMLCB1c2VyQWdl
bnQsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgRG9udFBhdXNlV29ya2VyQ29udGV4dE9uU3Rh
cnQpOworICAgIFJlZlB0cjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IHRocmVhZCA9IERlZGljYXRl
ZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgdXNlckFnZW50LCBzb3VyY2VDb2RlLCAq
dGhpcywgKnRoaXMsIHN0YXJ0TW9kZSk7CiAgICAgbV9wcm94eS0+d29ya2VyVGhyZWFkQ3JlYXRl
ZCh0aHJlYWQpOwogICAgIHRocmVhZC0+c3RhcnQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAppbmRleCA4MTU4OWZjLi43MmQ4ZGZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJ
bXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1w
bC5oCkBAIC02OSw3ICs2OSw4IEBAIHB1YmxpYzoKICAgICAvLyBwcm9jZXNzLCB0aGlzIHdpbGwg
YmUgdGhlIG1haW4gV2ViS2l0IHRocmVhZC4KICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJD
b250ZXh0KGNvbnN0IFdlYkNvcmU6OktVUkwmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdlYkNvcmU6OldvcmtlclRocmVhZFN0YXJ0TW9kZSk7CiAgICAgdmlydHVhbCB2
b2lkIHRlcm1pbmF0ZVdvcmtlckNvbnRleHQoKTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3Nh
Z2VUb1dvcmtlckNvbnRleHQoCiAgICAgICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiBtZXNzYWdlLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112183</attachid>
            <date>2011-10-24 07:26:25 -0700</date>
            <delta_ts>2011-10-24 07:26:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>dedicate-worker-pause.patch</filename>
            <type>text/plain</type>
            <size>22237</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzM2ZlNDM1Li4yNWM1ZmFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAt
MjQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogYWxsb3cgZGVidWdnaW5nIGRlZGljYXRlZCB3b3JrZXIgaW5pdGlhbGl6YXRp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvcHJvdG9jb2wvcnVudGltZS1hZ2VudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5z
cGVjdG9yL3Byb3RvY29sL3J1bnRpbWUtYWdlbnQuaHRtbDoKKwogMjAxMS0xMC0yNCAgWW9zaWZ1
bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBTZXR0aW5n
IGRlZmF1bHRWYWx1ZSBzaG91bGQgaGlkZSBhbiBpbnB1dCBwbGFjZWhvbGRlci4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm90b2NvbC9ydW50aW1lLWFnZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm90b2NvbC9ydW50aW1lLWFnZW50LWV4cGVj
dGVkLnR4dAppbmRleCBmOTk5ZGFmLi4wNmQ0OWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvcHJvdG9jb2wvcnVudGltZS1hZ2VudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL3J1bnRpbWUtYWdlbnQtZXhwZWN0ZWQudHh0CkBAIC0y
NTMsNiArMjUzLDIyIEBAIHJlc3BvbnNlOgogICAgIGlkIDogPG51bWJlcj4KIH0KIAorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1J1
bnRpbWVBZ2VudC5ydW4oKQorCityZXF1ZXN0OgoreworICAgIG1ldGhvZCA6ICJSdW50aW1lLnJ1
biIKKyAgICBpZCA6IDxudW1iZXI+Cit9CisKK3Jlc3BvbnNlOgoreworICAgIHJlc3VsdCA6IHsK
KyAgICB9CisgICAgaWQgOiA8bnVtYmVyPgorfQorCiA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogQ292ZXJhZ2UgZm9yIFJ1bnRpbWVB
Z2VudAogewpAQCAtMjYxLDUgKzI3Nyw2IEBAIENvdmVyYWdlIGZvciBSdW50aW1lQWdlbnQKICAg
ICBnZXRQcm9wZXJ0aWVzIDogImNoZWNrZWQiCiAgICAgcmVsZWFzZU9iamVjdCA6ICJjaGVja2Vk
IgogICAgIHJlbGVhc2VPYmplY3RHcm91cCA6ICJjaGVja2VkIgorICAgIHJ1biA6ICJjaGVja2Vk
IgogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvdG9jb2wvcnVudGlt
ZS1hZ2VudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL3J1bnRpbWUtYWdl
bnQuaHRtbAppbmRleCAzODczNDRlLi45OWQyNjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvcHJvdG9jb2wvcnVudGltZS1hZ2VudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9wcm90b2NvbC9ydW50aW1lLWFnZW50Lmh0bWwKQEAgLTI4LDcgKzI4LDggQEAgZnVu
Y3Rpb24gdGVzdCgpCiAKICAgICAgICAgICAgIFsiUnVudGltZUFnZW50IiwgImdldFByb3BlcnRp
ZXMiLCByZXN1bHQub2JqZWN0SWQsIHRydWVdLAogICAgICAgICAgICAgWyJSdW50aW1lQWdlbnQi
LCAicmVsZWFzZU9iamVjdCIsIHJlc3VsdC5vYmplY3RJZF0sCi0gICAgICAgICAgICBbIlJ1bnRp
bWVBZ2VudCIsICJyZWxlYXNlT2JqZWN0R3JvdXAiLCAndGVzdCddXTsKKyAgICAgICAgICAgIFsi
UnVudGltZUFnZW50IiwgInJlbGVhc2VPYmplY3RHcm91cCIsICd0ZXN0J10sCisgICAgICAgICAg
ICBbIlJ1bnRpbWVBZ2VudCIsICJydW4iXV07CiAKICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5Q
cm90b2NvbFRlc3RTdWl0ZSgiUnVudGltZUFnZW50IiwgdGVzdFN1aXRlLCBbJ2lkJywgJ3JlcXVl
c3RJZCcsICdvYmplY3RJZCcsICdjbGFzc05hbWUnXSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJl
OGViNjEuLmM3OWMwZTQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMS0xMC0yNCAg
WXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBhbGxvdyBkZWJ1Z2dpbmcgZGVkaWNhdGVkIHdvcmtlciBpbml0aWFsaXphdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjMKKwor
ICAgICAgICBOb3cgaXQgaXMgcG9zc2libGUgdG8gcGF1c2UgZWFjaCBuZXcgZGVkaWNhdGVkIHdv
cmtlciBvbiBzdGFydC4gVGhlIHVzZXIKKyAgICAgICAgbmVlZHMgdG8gc2VsZWN0IGEgY2hlY2ti
b3ggYW5kIHRoZW4gZWFjaCBuZXdseSBjcmVhdGVkIGRlZGljYXRlZCB3b3JrZXIKKyAgICAgICAg
d2lsbCBiZSBwYXVzZWQgb24gdGhlIGZpcnN0IHN0YXRlbWVudCB1bnRpbCB0aGUgdXNlciByZXN1
bWVzIGl0IGV4cGxpY2l0ZWx5LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOiByZXN1bWUgY29tbWFuZCBp
cyBhZGRlZC4gSXQgaXMgc2ltaWxhciB0byBHREIncyBydW4KKyAgICAgICAgY29tbWFuZCwgaS5l
LiB3b3JrZXIgZXhlY3V0aW9uIHdpbGwgYmUgcGF1c2VkIHVudGlsIGV4cGxpY2l0ICJyZXN1bWUi
IGNvbW1hbmQgaXMKKyAgICAgICAgcmVjZWl2ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydEltcGwpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3Jr
ZXJPblN0YXJ0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJ1bnRpbWVBZ2VudDo6cmVzdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJ1bnRpbWVBZ2VudDo6cGF1c2VXb3JrZXJDb250ZXh0
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvcldvcmtlckFnZW50OjpzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQp
OiByZXR1cm5zIHRydWUKKyAgICAgICAgaWYgdGhlIHVzZXIgY2hvc2UgdG8gYXV0b21hdGljYWxs
eSBwYXVzZSBhbGwgbmV3IHdvcmtlcnMuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvcldv
cmtlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6cmVz
dW1lKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5sb2FkZWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLldvcmtlck1hbmFnZXIubG9hZENvbXBsZXRlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuV29ya2VyTWFuYWdlci5wcm90b3R5cGUuX3dvcmtlckNyZWF0ZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIucHJvdG90eXBlLm9wZW5Xb3JrZXJJbnNwZWN0b3Ip
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIucHJvdG90eXBlLl9vcGVuSW5z
cGVjdG9yV2luZG93KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5sb2FkZWQpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6bm90aWZ5RmluaXNoZWQpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdp
bmdQcm94eTo6c3RhcnRXb3JrZXJDb250ZXh0KTogYWRkaXRpb25hbCBmbGFnIHNwZWNpZnlpbmcK
KyAgICAgICAgd29ya2VyIGluaXRpYWwgc3RhdGUocGF1c2VkL25vdCBwYXVzZWQpIGlzIGFkZGVk
IHRvIHRoZSBmYWN0b3J5IG1ldGhvZC4gVGhlIGZsYWcKKyAgICAgICAgd2lsbCBiZSBjYXJyaWVk
IHRvIHRoZSBjb3JyZXNwb25kaW5nIFdvcmtlclRocmVhZC4KKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck1lc3NhZ2luZ1Byb3h5Ojpjb25uZWN0VG9JbnNwZWN0b3IpOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaDoKKwogMjAxMS0xMC0yNCAgWW9zaWZ1bWkgSW5vdWUg
IDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBTZXR0aW5nIGRlZmF1bHRW
YWx1ZSBzaG91bGQgaGlkZSBhbiBpbnB1dCBwbGFjZWhvbGRlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBjNTViZTQwLi5kOTc2MzU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0zODAsNiArMzgwLDExIEBACiAgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0R3JvdXAiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiU3ltYm9saWMgb2JqZWN0IGdyb3VwIG5hbWUuIiB9CiAgICAgICAgICAg
ICAgICAgXSwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVsZWFzZXMgYWxsIHJl
bW90ZSBvYmplY3RzIHRoYXQgYmVsb25nIHRvIGEgZ2l2ZW4gZ3JvdXAuIgorICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJydW4iLAorICAgICAg
ICAgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJUZWxscyBpbnNwZWN0ZWQgaW5zdGFuY2Uod29ya2VyIG9yIHBhZ2UpIHRoYXQgaXQgY2FuIHJ1
biBpbiBjYXNlIGl0IHdhcyBzdGFydGVkIHBhdXNlZC4iCiAgICAgICAgICAgICB9CiAgICAgICAg
IF0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBkNzc4YjllLi5iZDJiOWU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApA
QCAtNzgwLDYgKzc4MCwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXNl
RE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bQogfQogCiAjaWYgRU5B
QkxFKFdPUktFUlMpCitib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2hvdWxkUGF1c2VE
ZWRpY2F0ZWRXb3JrZXJPblN0YXJ0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzKQoreworICAgIGlmIChJbnNwZWN0b3JXb3JrZXJBZ2VudCogd29ya2VyQWdlbnQg
PSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JXb3JrZXJBZ2VudCgpKQorICAgICAgICBy
ZXR1cm4gd29ya2VyQWdlbnQtPnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydCgpOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFN0YXJ0V29ya2VyQ29udGV4dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgV29ya2VyQ29udGV4dFByb3h5KiB3b3JrZXJDb250ZXh0UHJveHksIGNvbnN0IEtV
UkwmIHVybCkKIHsKICAgICBpZiAoSW5zcGVjdG9yV29ya2VyQWdlbnQqIHdvcmtlckFnZW50ID0g
aW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yV29ya2VyQWdlbnQoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBm
ZWMyYTZkLi5iOTYxODZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0xNzUsNiArMTc1LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGRpZFVzZURPTVN0b3JhZ2UoUGFnZSosIFN0b3JhZ2VBcmVhKiwgYm9vbCBp
c0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQorICAgIHN0YXRp
YyBib29sIHNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydChTY3JpcHRFeGVjdXRpb25D
b250ZXh0Kik7CiAgICAgc3RhdGljIHZvaWQgZGlkU3RhcnRXb3JrZXJDb250ZXh0KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBXb3JrZXJDb250ZXh0UHJveHkqLCBjb25zdCBLVVJMJik7CiAgICAg
c3RhdGljIHZvaWQgZGlkQ3JlYXRlV29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBpbnRw
dHJfdCBpZCwgY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaXNTaGFyZWRXb3JrZXIpOwogICAgIHN0
YXRpYyB2b2lkIGRpZERlc3Ryb3lXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGludHB0
cl90IGlkKTsKQEAgLTMwNiw2ICszMDcsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRp
ZFVzZURPTVN0b3JhZ2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBTdG9yYWdlQXJlYSosIGJv
b2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBz
dGF0aWMgYm9vbCBzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnRJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRTdGFydFdvcmtlckNvbnRleHRJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBXb3JrZXJDb250ZXh0UHJveHkqLCBjb25zdCBLVVJMJik7
CiAgICAgc3RhdGljIHZvaWQgZGlkQ3JlYXRlV29ya2VySW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgaW50cHRyX3QgaWQsIGNvbnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWREZXN0cm95V29ya2VySW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgaW50cHRyX3QgaWQpOwpAQCAtOTQ0LDYgKzk0NiwxNiBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZFVzZURPTVN0b3JhZ2UoUGFnZSogcGFnZSwgU3RvcmFnZUFy
ZWEqCiB9CiAKICNpZiBFTkFCTEUoV09SS0VSUykKK2lubGluZSBib29sIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBGQVNU
X1JFVFVSTl9JRl9OT19GUk9OVEVORFMoZmFsc2UpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQo
Y29udGV4dCkpCisgICAgICAgIHJldHVybiBzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3Rh
cnRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMpOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFN0YXJ0V29ya2Vy
Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXb3JrZXJDb250ZXh0UHJv
eHkqIHByb3h5LCBjb25zdCBLVVJMJiB1cmwpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAK
aW5kZXggOTAwZTkyZS4uNzZkYWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKQEAgLTE0MCw2ICsxNDAsMTEgQEAgdm9pZCBJ
bnNwZWN0b3JSdW50aW1lQWdlbnQ6OnJlbGVhc2VPYmplY3RHcm91cChFcnJvclN0cmluZyosIGNv
bnN0IFN0cmluZyYgb2JqZWMKICAgICBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+cmVsZWFzZU9i
amVjdEdyb3VwKG9iamVjdEdyb3VwKTsKIH0KIAordm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6
OnJ1bihFcnJvclN0cmluZyopCit7CisgICAgbV9wYXVzZWQgPSBmYWxzZTsKK30KKwogI2lmIEVO
QUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OnNl
dFNjcmlwdERlYnVnU2VydmVyKFNjcmlwdERlYnVnU2VydmVyKiBzY3JpcHREZWJ1Z1NlcnZlcikK
IHsKQEAgLTE1NiwxMSArMTYxLDYgQEAgdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OnBhdXNl
V29ya2VyQ29udGV4dChXb3JrZXJDb250ZXh0KiBjb250ZXh0KQogICAgIC8vIEtlZXAgd2FpdGlu
ZyB1bnRpbCBleGVjdXRpb24gaXMgcmVzdW1lZC4KICAgICB9IHdoaWxlIChyZXN1bHQgPT0gTWVz
c2FnZVF1ZXVlTWVzc2FnZVJlY2VpdmVkICYmIG1fcGF1c2VkKTsKIH0KLQotdm9pZCBJbnNwZWN0
b3JSdW50aW1lQWdlbnQ6OnJlc3VtZSgpCi17Ci0gICAgbV9wYXVzZWQgPSBmYWxzZTsKLX0KICNl
bmRpZiAvLyBFTkFCTEUoV09SS0VSUykKICNlbmRpZiAvLyBFTkFCTEUoSkFWQVNDUklQVF9ERUJV
R0dFUikKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1
bnRpbWVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5oCmluZGV4IDIwNzVmMzYuLmQwNGU1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKQEAgLTc1LDEyICs3NSwxMiBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBv
YmplY3RJZCk7CiAgICAgdm9pZCBnZXRQcm9wZXJ0aWVzKEVycm9yU3RyaW5nKiwgY29uc3QgU3Ry
aW5nJiBvYmplY3RJZCwgY29uc3QgYm9vbCogY29uc3Qgb3duUHJvcGVydGllcywgUmVmUHRyPElu
c3BlY3RvckFycmF5PiogcmVzdWx0KTsKICAgICB2b2lkIHJlbGVhc2VPYmplY3RHcm91cChFcnJv
clN0cmluZyosIGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXApOworICAgIHZvaWQgcnVuKEVycm9y
U3RyaW5nKik7CiAKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICB2b2lkIHNl
dFNjcmlwdERlYnVnU2VydmVyKFNjcmlwdERlYnVnU2VydmVyKik7CiAjaWYgRU5BQkxFKFdPUktF
UlMpCiAgICAgdm9pZCBwYXVzZVdvcmtlckNvbnRleHQoV29ya2VyQ29udGV4dCopOwotICAgIHZv
aWQgcmVzdW1lKCk7CiAjZW5kaWYKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAppbmRleCA1Nzc5YmM4Li5kODE0Yzc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5j
cHAKQEAgLTE4OCw2ICsxODgsMTEgQEAgdm9pZCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6c2V0QXV0
b2Nvbm5lY3RUb1dvcmtlcnMoRXJyb3JTdHJpbmcqLCBib29sIHZhbHVlKQogICAgIG1faW5zcGVj
dG9yU3RhdGUtPnNldEJvb2xlYW4oV29ya2VyQWdlbnRTdGF0ZTo6YXV0b2Nvbm5lY3RUb1dvcmtl
cnMsIHZhbHVlKTsKIH0KIAorYm9vbCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6c2hvdWxkUGF1c2VE
ZWRpY2F0ZWRXb3JrZXJPblN0YXJ0KCkKK3sKKyAgICByZXR1cm4gbV9pbnNwZWN0b3JTdGF0ZS0+
Z2V0Qm9vbGVhbihXb3JrZXJBZ2VudFN0YXRlOjphdXRvY29ubmVjdFRvV29ya2Vycyk7Cit9CisK
IHZvaWQgSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmRpZFN0YXJ0V29ya2VyQ29udGV4dChXb3JrZXJD
b250ZXh0UHJveHkqIHdvcmtlckNvbnRleHRQcm94eSwgY29uc3QgS1VSTCYgdXJsKQogewogICAg
IFdvcmtlckZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCA9IG5ldyBXb3JrZXJGcm9udGVuZENoYW5u
ZWwobV9pbnNwZWN0b3JGcm9udGVuZCwgd29ya2VyQ29udGV4dFByb3h5KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgKaW5kZXggNGUxNWE3Mi4u
NWE1MmU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldv
cmtlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldvcmtl
ckFnZW50LmgKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJGcm9udGVu
ZCgpOwogCiAgICAgLy8gQ2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisgICAg
Ym9vbCBzaG91bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQoKTsKICAgICB2b2lkIGRpZFN0
YXJ0V29ya2VyQ29udGV4dChXb3JrZXJDb250ZXh0UHJveHkqLCBjb25zdCBLVVJMJik7CiAgICAg
dm9pZCB3b3JrZXJDb250ZXh0VGVybWluYXRlZChXb3JrZXJDb250ZXh0UHJveHkqKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCmluZGV4IDc2NWEzMDguLmUxZjQ1OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTIwOSw3ICsy
MDksOCBAQCB2b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmRpc3BhdGNoTWVzc2FnZUZy
b21Gcm9udGVuZChjb25zdCBTdHJpbmcmIG1lc3NhZwogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKQogdm9pZCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpyZXN1bWUoKQogewotICAg
IG1fcnVudGltZUFnZW50LT5yZXN1bWUoKTsKKyAgICBFcnJvclN0cmluZyB1bnVzZWQ7CisgICAg
bV9ydW50aW1lQWdlbnQtPnJ1bigmdW51c2VkKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanMKaW5kZXggZTg4
OTYzYS4uNWE4ZmNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvV29ya2VyTWFuYWdlci5qcwpAQCAtNDcsMTMgKzQ3LDI2IEBAIFdlYkluc3BlY3Rvci5X
b3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQgPSBmdW5jdGlvbigpCiBXZWJJbnNwZWN0b3Iu
V29ya2VyTWFuYWdlci5sb2FkZWQgPSBmdW5jdGlvbigpCiB7CiAgICAgdmFyIHdvcmtlcklkID0g
V2ViSW5zcGVjdG9yLnF1ZXJ5UGFyYW1zT2JqZWN0WyJkZWRpY2F0ZWRXb3JrZXJJZCJdOwotICAg
IGlmICh3b3JrZXJJZCkKKyAgICBpZiAod29ya2VySWQpIHsKICAgICAgICAgV2ViSW5zcGVjdG9y
Lldvcmtlck1hbmFnZXIuX2luaXRpYWxpemVEZWRpY2F0ZWRXb3JrZXJGcm9udGVuZCh3b3JrZXJJ
ZCk7Ci0gICAgZWxzZQorICAgIH0gZWxzZQogICAgICAgICBXZWJJbnNwZWN0b3Iud29ya2VyTWFu
YWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlcigpOworfQogCi0gICAgaWYgKFdl
Ykluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQoKSkKK1dlYkluc3BlY3Rv
ci5Xb3JrZXJNYW5hZ2VyLmxvYWRDb21wbGV0ZWQgPSBmdW5jdGlvbigpCit7CisgICAgLy8gTWFr
ZSBzdXJlIHNjcmlwdCBleGVjdXRpb24gb2YgZGVkaWNhdGVkIHdvcmtlciBpcyByZXN1bWVkIGFu
ZCB0aGVuIHBhdXNlZAorICAgIC8vIG9uIHRoZSBmaXJzdCBzY3JpcHQgc3RhdGVtZW50IGluIGNh
c2Ugd2UgYXV0b2F0dGFjaGVkIHRvIGl0LgorICAgIGlmIChXZWJJbnNwZWN0b3IucXVlcnlQYXJh
bXNPYmplY3RbIndvcmtlclBhdXNlZCJdKSB7CisgICAgICAgIERlYnVnZ2VyQWdlbnQucGF1c2Uo
KTsKKyAgICAgICAgUnVudGltZUFnZW50LnJ1bihjYWxjdWxhdGVUaXRsZSk7CisgICAgfSBlbHNl
IGlmIChXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpCisgICAg
ICAgIGNhbGN1bGF0ZVRpdGxlKCk7CisKKyAgICBmdW5jdGlvbiBjYWxjdWxhdGVUaXRsZSgpCisg
ICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5fY2FsY3VsYXRlV29ya2Vy
SW5zcGVjdG9yVGl0bGUoKTsKKyAgICB9CiB9CiAKIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2Vy
Ll9pbml0aWFsaXplRGVkaWNhdGVkV29ya2VyRnJvbnRlbmQgPSBmdW5jdGlvbih3b3JrZXJJZCkK
QEAgLTEwNCw3ICsxMTcsNyBAQCBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5wcm90b3R5cGUg
PSB7CiAgICAgX3dvcmtlckNyZWF0ZWQ6IGZ1bmN0aW9uKHdvcmtlcklkLCB1cmwsIGluc3BlY3Rv
ckNvbm5lY3RlZCkKICAgICAgewogICAgICAgICBpZiAoaW5zcGVjdG9yQ29ubmVjdGVkKQotICAg
ICAgICAgICAgdGhpcy5fb3Blbkluc3BlY3RvcldpbmRvdyh3b3JrZXJJZCk7CisgICAgICAgICAg
ICB0aGlzLl9vcGVuSW5zcGVjdG9yV2luZG93KHdvcmtlcklkLCB0cnVlKTsKICAgICAgICAgdGhp
cy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuRXZl
bnRzLldvcmtlckFkZGVkLCB7d29ya2VySWQ6IHdvcmtlcklkLCB1cmw6IHVybCwgaW5zcGVjdG9y
Q29ubmVjdGVkOiBpbnNwZWN0b3JDb25uZWN0ZWR9KTsKICAgICAgfSwKIApAQCAtMTIzLDEzICsx
MzYsMTUgQEAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIucHJvdG90eXBlID0gewogCiAgICAg
b3Blbldvcmtlckluc3BlY3RvcjogZnVuY3Rpb24od29ya2VySWQpCiAgICAgewotICAgICAgICB0
aGlzLl9vcGVuSW5zcGVjdG9yV2luZG93KHdvcmtlcklkKTsKKyAgICAgICAgdGhpcy5fb3Blbklu
c3BlY3RvcldpbmRvdyh3b3JrZXJJZCwgZmFsc2UpOwogICAgICAgICBXb3JrZXJBZ2VudC5jb25u
ZWN0VG9Xb3JrZXIod29ya2VySWQpOwogICAgIH0sCiAKLSAgICBfb3Blbkluc3BlY3RvcldpbmRv
dzogZnVuY3Rpb24od29ya2VySWQpCisgICAgX29wZW5JbnNwZWN0b3JXaW5kb3c6IGZ1bmN0aW9u
KHdvcmtlcklkLCB3b3JrZXJJc1BhdXNlZCkKICAgICB7CiAgICAgICAgIHZhciB1cmwgPSB3aW5k
b3cubG9jYXRpb24uaHJlZiArICImZGVkaWNhdGVkV29ya2VySWQ9IiArIHdvcmtlcklkOworICAg
ICAgICBpZiAod29ya2VySXNQYXVzZWQpCisgICAgICAgICAgICB1cmwgKz0gIiZ3b3JrZXJQYXVz
ZWQ9dHJ1ZSI7CiAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKCJkb2NrZWQ9dHJ1ZSYiLCAiIik7
CiAgICAgICAgIC8vIFNldCBsb2NhdGlvbj0wIGp1c3QgdG8gbWFrZSBzdXJlIHRoZSBmcm9udC1l
bmQgd2lsbCBiZSBvcGVuZWQgaW4gYSBzZXBhcmF0ZSB3aW5kb3csIG5vdCBpbiBuZXcgdGFiLgog
ICAgICAgICB2YXIgd29ya2VySW5zcGVjdG9yV2luZG93ID0gd2luZG93Lm9wZW4odXJsLCB1bmRl
ZmluZWQsICJsb2NhdGlvbj0wIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDhmMjAzNzUuLjkxZjcxZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC00NDIsNiArNDQy
LDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICB9CiAgICAgV2ViSW5z
cGVjdG9yLldvcmtlck1hbmFnZXIubG9hZGVkKCk7CiAgICAgV2ViSW5zcGVjdG9yLmRvTG9hZGVk
RG9uZSgpOworICAgIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmxvYWRDb21wbGV0ZWQoKTsK
IH0KIAogV2ViSW5zcGVjdG9yLmRvTG9hZGVkRG9uZSA9IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcAppbmRleCA5ZDQzMDkwLi5lYzhhZjM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuY3BwCkBAIC0xMzksNyArMTM5LDEwIEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hl
ZCgpCiAgICAgaWYgKG1fc2NyaXB0TG9hZGVyLT5mYWlsZWQoKSkKICAgICAgICAgZGlzcGF0Y2hF
dmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgdHJ1ZSkp
OwogICAgIGVsc2UgewotICAgICAgICBtX2NvbnRleHRQcm94eS0+c3RhcnRXb3JrZXJDb250ZXh0
KG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT51c2VyQWdl
bnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsKKyAg
ICAgICAgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSA9IERvbnRQYXVzZVdvcmtlckNv
bnRleHRPblN0YXJ0OworICAgICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzaG91
bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkK
KyAgICAgICAgICAgIHN0YXJ0TW9kZSA9IFBhdXNlV29ya2VyQ29udGV4dE9uU3RhcnQ7CisgICAg
ICAgIG1fY29udGV4dFByb3h5LT5zdGFydFdvcmtlckNvbnRleHQobV9zY3JpcHRMb2FkZXItPnVy
bCgpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+
dXJsKCkpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIHN0YXJ0TW9kZSk7CiAgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgbV9jb250ZXh0UHJveHksIG1fc2NyaXB0TG9hZGVyLT51cmwoKSk7CiAg
ICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExv
YWRlci0+c2NyaXB0KCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHRQcm94eS5oCmluZGV4IDg3OThmNTEuLjA1OTc2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaApAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJM
RShXT1JLRVJTKQogCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKKyNpbmNsdWRlICJXb3JrZXJU
aHJlYWQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKQEAgLTQ5LDcgKzUwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IHZpcnR1YWwgfldvcmtlckNvbnRleHRQcm94eSgpIHt9CiAKLSAgICAgICAgdmlydHVhbCB2b2lk
IHN0YXJ0V29ya2VyQ29udGV4dChjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpID0gMDsKKyAgICAgICAgdmlydHVh
bCB2b2lkIHN0YXJ0V29ya2VyQ29udGV4dChjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0
YXJ0TW9kZSkgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJDb250
ZXh0KCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuY3BwCmluZGV4IDgyZjdkMjQuLjFlZmQzODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC0yNjYsOSArMjY2LDkgQEAgV29y
a2VyTWVzc2FnaW5nUHJveHk6On5Xb3JrZXJNZXNzYWdpbmdQcm94eSgpCiAgICAgICAgICAgIHx8
IChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpICYmIGN1cnJlbnRU
aHJlYWQoKSA9PSBzdGF0aWNfY2FzdDxXb3JrZXJDb250ZXh0Kj4obV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0LmdldCgpKS0+dGhyZWFkKCktPnRocmVhZElEKCkpKTsKIH0KIAotdm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKK3ZvaWQg
V29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyQ29udGV4dChjb25zdCBLVVJMJiBzY3Jp
cHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUs
IFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUpCiB7Ci0gICAgUmVmUHRyPERlZGljYXRl
ZFdvcmtlclRocmVhZD4gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2Ny
aXB0VVJMLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgRG9udFBhdXNlV29y
a2VyQ29udGV4dE9uU3RhcnQpOworICAgIFJlZlB0cjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IHRo
cmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgdXNlckFnZW50
LCBzb3VyY2VDb2RlLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSk7CiAgICAgd29ya2VyVGhyZWFk
Q3JlYXRlZCh0aHJlYWQpOwogICAgIHRocmVhZC0+c3RhcnQoKTsKIH0KQEAgLTM2Niw3ICszNjYs
NyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpjb25uZWN0VG9JbnNwZWN0b3IoV29ya2Vy
Q29udGV4dFByb3h5OjpQYWdlSW5zcGVjdG9yKgogICAgICAgICByZXR1cm47CiAgICAgQVNTRVJU
KCFtX3BhZ2VJbnNwZWN0b3IpOwogICAgIG1fcGFnZUluc3BlY3RvciA9IHBhZ2VJbnNwZWN0b3I7
Ci0gICAgbV93b3JrZXJUaHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFzayhjcmVhdGVDYWxsYmFja1Rh
c2soY29ubmVjdFRvV29ya2VyQ29udGV4dEluc3BlY3RvclRhc2ssIHRydWUpKTsKKyAgICBtX3dv
cmtlclRocmVhZC0+cnVuTG9vcCgpLnBvc3RUYXNrRm9yTW9kZShjcmVhdGVDYWxsYmFja1Rhc2so
Y29ubmVjdFRvV29ya2VyQ29udGV4dEluc3BlY3RvclRhc2ssIHRydWUpLCBXb3JrZXJEZWJ1Z2dl
ckFnZW50OjpkZWJ1Z2dlclRhc2tNb2RlKTsKIH0KIAogc3RhdGljIHZvaWQgZGlzY29ubmVjdEZy
b21Xb3JrZXJDb250ZXh0SW5zcGVjdG9yVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBib29sKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5oCmluZGV4IDM3Y2RiOWUuLjg1MzYxMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUzLDcgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJDb250ZXh0UHJveHku
CiAgICAgICAgIC8vIChPbmx5IHVzZSB0aGVzZSBtZXRob2RzIGluIHRoZSB3b3JrZXIgb2JqZWN0
IHRocmVhZC4pCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckNvbnRleHQoY29uc3Qg
S1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyQ29udGV4dChjb25z
dCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSk7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB0ZXJtaW5hdGVXb3JrZXJDb250ZXh0KCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVz
c2FnZVRvV29ya2VyQ29udGV4dChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBh
c3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKICAgICAgICAgdmlydHVhbCBib29s
IGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCAxMWIwMGE5Li5iMjlmMDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDExLTEwLTI0ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFsbG93IGRlYnVnZ2luZyBkZWRpY2F0ZWQgd29y
a2VyIGluaXRpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDcyMworCisgICAgICAgIFBhc3Mgd29ya2VyIHRocmVhZCBzdGFydCBtb2Rl
IHRvIHRoZSB3b3JrZXIgdGhyZWFkLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJXb3JrZXJDbGllbnRJbXBsOjpzdGFydFdvcmtlckNvbnRleHQpOgorICAgICAg
ICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmg6CisKIDIwMTEtMTAtMjEgIE5hdCBEdWNhICA8
bmR1Y2FAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTWFrZSBzZXRWaXNpYmls
aXR5IGV4dGVuc2lvbi0gYW5kIHRocmVhZC1jb3JyZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCmluZGV4IGY1MDZlNGQuLjBlYzE2
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVu
dEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVu
dEltcGwuY3BwCkBAIC04NSw5ICs4NSw5IEBAIFdvcmtlckNvbnRleHRQcm94eSogV2ViV29ya2Vy
Q2xpZW50SW1wbDo6Y3JlYXRlV29ya2VyQ29udGV4dFByb3h5KFdvcmtlciogd29ya2VyCiAgICAg
cmV0dXJuIDA7CiB9CiAKLXZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6c3RhcnRXb3JrZXJDb250
ZXh0KGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0
IFN0cmluZyYgc291cmNlQ29kZSkKK3ZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6c3RhcnRXb3Jr
ZXJDb250ZXh0KGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9k
ZSkKIHsKLSAgICBSZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiB0aHJlYWQgPSBEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzY3JpcHRVUkwsIHVzZXJBZ2VudCwgc291cmNlQ29kZSwg
KnRoaXMsICp0aGlzLCBEb250UGF1c2VXb3JrZXJDb250ZXh0T25TdGFydCk7CisgICAgUmVmUHRy
PERlZGljYXRlZFdvcmtlclRocmVhZD4gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpj
cmVhdGUoc2NyaXB0VVJMLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgc3Rh
cnRNb2RlKTsKICAgICBtX3Byb3h5LT53b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVhZCk7CiAgICAg
dGhyZWFkLT5zdGFydCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5oCmluZGV4IDgxNTg5ZmMuLjcyZDhkZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgKQEAgLTY5LDcgKzY5
LDggQEAgcHVibGljOgogICAgIC8vIHByb2Nlc3MsIHRoaXMgd2lsbCBiZSB0aGUgbWFpbiBXZWJL
aXQgdGhyZWFkLgogICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckNvbnRleHQoY29uc3QgV2Vi
Q29yZTo6S1VSTCYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBX
VEY6OlN0cmluZyYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBX
VEY6OlN0cmluZyYpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
V1RGOjpTdHJpbmcmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViQ29y
ZTo6V29ya2VyVGhyZWFkU3RhcnRNb2RlKTsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29y
a2VyQ29udGV4dCgpOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyQ29udGV4
dCgKICAgICAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1l
c3NhZ2UsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>