<?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>98007</bug_id>
          
          <creation_ts>2012-10-01 02:52:57 -0700</creation_ts>
          <short_desc>A Spin button should release mouse event capturing when a modal dialog opens</short_desc>
          <delta_ts>2012-11-15 20:30:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>haraken</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>731526</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-01 02:52:57 -0700</bug_when>
    <thetext>http://code.google.com/p/chromium/issues/detail?id=145489

If a web page opens alert() or something in a &apos;change&apos; event handler of input[type=number] and a user press the spin button in it, a modal dialog opens but mouse events are still captured by the spin button. We should release mouse event capturing in such case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732257</commentid>
    <comment_count>1</comment_count>
      <attachid>166602</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-01 21:39:53 -0700</bug_when>
    <thetext>Created attachment 166602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732335</commentid>
    <comment_count>2</comment_count>
      <attachid>166602</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-10-01 23:42:36 -0700</bug_when>
    <thetext>Comment on attachment 166602
Patch

Is this frame local?

We could add a listener/observer on Chrome object for detecting willOpenMocalDialog(),
and let SpinButtonElement to implement that listener and register itself to Chrome object.
Adding a virtual method to Node only for this purpose looks a bit too abusive for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732754</commentid>
    <comment_count>3</comment_count>
      <attachid>166602</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-10-02 09:56:02 -0700</bug_when>
    <thetext>Comment on attachment 166602
Patch

I don’t like the assumptions here. Not all clients will use modal dialogs for things like a JavaScript alert. And many clients will use modal dialogs in other situations, like for a file chooser in an input element. It would be better if we did not have to hardcode the assumption that a modal dialog will come up, but could instead respond to the fact that one did come up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733358</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-10-02 22:07:22 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 166602 [details])
&gt; I don’t like the assumptions here. Not all clients will use modal dialogs for things like a JavaScript alert. And many clients will use modal dialogs in other situations, like for a file chooser in an input element. It would be better if we did not have to hardcode the assumption that a modal dialog will come up, but could instead respond to the fact that one did come up.

Yeah, that is my point. If Chrome object can notify the fact, 
then native implementation which uses mousemove can register itself to
handle modal dialogs regardless who does it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738661</commentid>
    <comment_count>5</comment_count>
      <attachid>166602</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-10 00:16:07 -0700</bug_when>
    <thetext>Comment on attachment 166602
Patch

Yeah, we need a generalized fix.

http://code.google.com/p/chromium/issues/detail?id=154329 &apos;:hover isn&apos;t cleared for alert() or confirm()&apos; is a similar problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760429</commentid>
    <comment_count>6</comment_count>
      <attachid>172727</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-07 00:02:09 -0800</bug_when>
    <thetext>Created attachment 172727
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760431</commentid>
    <comment_count>7</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-07 00:18:41 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=172727) [details]
&gt; WIP

I still need to add a function to Node in this new patch because EventHandler assumes m_capturingMouseEventsNode is Node.

&gt; could instead respond to the fact that one did come up.

IMO, it&apos;s ok to cancel capturing on any events which *might* open dialogs/popups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766376</commentid>
    <comment_count>8</comment_count>
      <attachid>174066</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-13 21:01:47 -0800</bug_when>
    <thetext>Created attachment 174066
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766400</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-13 21:38:05 -0800</bug_when>
    <thetext>CC-ing haraken.
This addition might increase sizeof(Node) but I&apos;m sure if it really does. 
Haraken, do you remember the bottom line of past discussion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766404</commentid>
    <comment_count>10</comment_count>
      <attachid>174066</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-13 21:43:54 -0800</bug_when>
    <thetext>Comment on attachment 174066
Patch 2

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

&gt; Source/WebCore/dom/Node.h:125
&gt; +class Node : public EventTarget, public ScriptWrappable, public TreeShared&lt;Node, ContainerNode&gt;, public PopupOpeningObserver {

Yeah, this will increase sizeof(Node) by 8 byte, which wouldn&apos;t be acceptable.

A virtual function table pointer is needed for each multiply-inherited class that has virtual functions. Currently only EventTarget has virtual functions and thus each Node has only one virtual function table pointer. If you add PopupOpeningObserver, which has virtual functions, it will add one more virtual function table pointer to each Node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766408</commentid>
    <comment_count>11</comment_count>
      <attachid>174066</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-13 21:50:56 -0800</bug_when>
    <thetext>Comment on attachment 174066
Patch 2

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

&gt;&gt; Source/WebCore/dom/Node.h:125
&gt;&gt; +class Node : public EventTarget, public ScriptWrappable, public TreeShared&lt;Node, ContainerNode&gt;, public PopupOpeningObserver {
&gt; 
&gt; Yeah, this will increase sizeof(Node) by 8 byte, which wouldn&apos;t be acceptable.
&gt; 
&gt; A virtual function table pointer is needed for each multiply-inherited class that has virtual functions. Currently only EventTarget has virtual functions and thus each Node has only one virtual function table pointer. If you add PopupOpeningObserver, which has virtual functions, it will add one more virtual function table pointer to each Node.

I see.  I&apos;ll update the patch so that I don&apos;t change Node parents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766517</commentid>
    <comment_count>12</comment_count>
      <attachid>174088</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-13 23:55:18 -0800</bug_when>
    <thetext>Created attachment 174088
Patch 3

Node doesn&apos;t inherit PopupOpeningObserver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767633</commentid>
    <comment_count>13</comment_count>
      <attachid>174088</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-14 19:45:41 -0800</bug_when>
    <thetext>Comment on attachment 174088
Patch 3

This version is much better than before!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768884</commentid>
    <comment_count>14</comment_count>
      <attachid>174088</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 20:30:42 -0800</bug_when>
    <thetext>Comment on attachment 174088
Patch 3

Clearing flags on attachment: 174088

Committed r134886: &lt;http://trac.webkit.org/changeset/134886&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768885</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 20:30:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166602</attachid>
            <date>2012-10-01 21:39:53 -0700</date>
            <delta_ts>2012-11-07 00:02:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98007-20121002133906.patch</filename>
            <type>text/plain</type>
            <size>8734</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ2YTczMmZiYTJkN2Mw
MTY5Y2VmZDAyNTUwYzE0NDZhZmNlZmUwNi4uNzM5YjBjOTMzZjEzM2IzMzI0NzNlZDZmYjNhMGMw
N2Q0ZTM5NDUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTEwLTAxICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBBIFNwaW4gYnV0dG9uIHNo
b3VsZCByZWxlYXNlIG1vdXNlIGV2ZW50IGNhcHR1cmluZyB3aGVuIGEgbW9kYWwgZGlhbG9nIG9w
ZW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODAw
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlc2Ny
aXB0aW9uIG9mIGJ1ZzoKKyAgICAgICAgSWYgdGhlIG1vdXNlIGxlZnQgYnV0dG9uIGlzIHByZXNz
ZWQgb24gYSBzcGluIGJ1dHRvbiBpbgorICAgICAgICBpbnB1dFt0eXBlPW51bWJlcl0gYW5kIGEg
J2NoYW5nZScgZXZlbnQgaGFuZGxlciBvcGVucyBhIG1vZGFsIGRpYWxvZworICAgICAgICBzdWNo
IGFzIGFsZXJ0KCksIGEgcmVwZWF0aW5nIHRpbWVyIGRvZXNuJ3Qgc3RvcCBhbmQgbW91c2UgZXZl
bnQKKyAgICAgICAgY2FwdHVyaW5nIGlzbid0IHJlbGVhc2VkIGV2ZW4gdGhvdWdoIHRoZSBtb3Vz
ZSBwb2ludGVyIGlzbid0IG9uIHRoZSBzcGluCisgICAgICAgIGJ1dHRvbi4KKyAgICAgICAgQSB1
c2VyIHdpbGwgc2VlIHJlcGVhdGluZyBhbGVydCBkaWFsb2dzIGZvciBhIGRvY3VtZW50IGxpa2Ug
PGlucHV0CisgICAgICAgIHR5cGU9bnVtYmVyIHZhbHVlPTEgb25jaGFuZ2U9ImlmICh0aGlzLnZh
bHVlPT0xKSB7YWxlcnQoLi4uKTsKKyAgICAgICAgdGhpcy52YWx1ZT0xO30iPiBieSBjbGlja2lu
ZyB0aGUgdXAgYnV0dG9uLgorCisgICAgICAgIFdlIHNob3VsZCBub3RpZnkgbW9kYWwgZGlhbG9n
IG9wZW4gdG8gbW91c2UgZXZlbnQgY2FwdHVyaW5nIG5vZGUuIFRoaXMKKyAgICAgICAgcGF0Y2gg
aW50cm9kdWNlIE5vZGU6OndpbGxPcGVuTW9kYWxEaWFsb2csIHdoaWNoIGlzIGNhbGxlZCB3aGVu
IHRoZSBub2RlCisgICAgICAgIGlzIGNhcHR1cmluZyBtb3VzZSBldmVudHMgYW5kIGEgbW9kYWwg
ZGlhbG9nIG9wZW5zLiB3aWxsT3Blbk1vZGFsRGlhbG9nCisgICAgICAgIGltcGxlbWVudGF0aW9u
IGZvciBTcGluQnV0dG9uRWxlbWVudCByZWxlYXNlcyBtb3VzZSBldmVudCBjYXB0dXJpbmcgYW5k
CisgICAgICAgIHN0b3AgYSByZXBlYXRpbmcgdGltZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiBUaGlzIGlzIGEgYmVoYXZpb3IgY2hhbmdlLCBidXQgaXQncyB2ZXJ5IGhhcmQgdG8gbWFrZSBh
bgorICAgICAgICBhdXRvbWF0ZWQgdGVzdCBmb3IgdGltZXItcmVsYXRlZCBiZWhhdmlvci4KKwor
ICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgQ2FsbHMgRXZlbnRIYW5kbGVyOjp3
aWxsT3Blbk1vZGFsRGlhbG9nIGJlZm9yZSBvcGVuaW5nIGEgbW9kYWwgZGlhbG9nLgorICAgICAg
ICAoV2ViQ29yZTo6Q2hyb21lOjpydW5KYXZhU2NyaXB0QWxlcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lOjpydW5KYXZhU2NyaXB0Q29uZmlybSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJv
bWU6OnJ1bkphdmFTY3JpcHRQcm9tcHQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6
CisgICAgICAgIChFdmVudEhhbmRsZXIpOiBEZWNsYXJlIHdpbGxPcGVuTW9kYWxEaWFsb2cuCisg
ICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjp3aWxsT3Blbk1vZGFsRGlhbG9nKToKKyAgICAgICAgQ2FsbHMgTm9kZTo6d2lsbE9w
ZW5Nb2RhbERpYWxvZyBmb3IgbW91c2UgZXZlbnQgY2FwdHVyaW5nIG5vZGUuCisgICAgICAgICog
ZG9tL05vZGUuaDoKKyAgICAgICAgKE5vZGUpOiBEZWNsYXJlIHdpbGxPcGVuTW9kYWxEaWFsb2cu
CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6d2lsbE9w
ZW5Nb2RhbERpYWxvZyk6IEFkZCBhbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAq
IGh0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50Lmg6CisgICAgICAgIChTcGluQnV0dG9uRWxl
bWVudCk6IERlY2xhcmUgd2lsbE9wZW5Nb2RhbERpYWxvZy4KKyAgICAgICAgKiBodG1sL3NoYWRv
dy9TcGluQnV0dG9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGluQnV0dG9uRWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6IENoYW5nZSB0aGUgb3JkZXIgb2YKKyAgICAgICAg
dGltZXIgc3RhcnQgYW5kIGNoYW5naW5nIHRoZSB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBjYW5jZWwg
dGhlIHRpbWVyCisgICAgICAgIGNvcnJlY3RseS4KKyAgICAgICAgKFdlYkNvcmU6OlNwaW5CdXR0
b25FbGVtZW50Ojp3aWxsT3Blbk1vZGFsRGlhbG9nKToKKyAgICAgICAgUmVsZWFzZSBtb3VzZSBl
dmVudCBjYXB0dXJpbmcgYmVmb3JlIG9wZW5pbmcgYSBtb2RhbCBkaWFsb2cuCisKIDIwMTItMDkt
MzAgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogTW9kaWZpY2F0aW9ucyBpbiBhIHNoYWRvdyB0cmVlIGRvbid0IHVwZGF0ZSB0aGUg
RWxlbWVudHMgcGFuZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggZDk2ZmQ4NWQ0Njc2ZTZmN2ViZTEw
NGE3NmM1ZWNlYzY0YTU2YTg4My4uOTQ2OTc0MjhiMjFjN2E4YmI3MzI0ZGQ4NDA1ZmE3MzM4MDQz
YWNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMjc1OCw2ICsyNzU4LDEwIEBAIGJvb2wgTm9kZTo6
d2lsbFJlc3BvbmRUb1RvdWNoRXZlbnRzKCkKICNlbmRpZgogfQogCit2b2lkIE5vZGU6OndpbGxP
cGVuTW9kYWxEaWFsb2coKQoreworfQorCiAjaWYgRU5BQkxFKE1JQ1JPREFUQSkKIERPTVNldHRh
YmxlVG9rZW5MaXN0KiBOb2RlOjppdGVtUHJvcCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCA5ZjNjZmYx
MDEzYmRhZDMzOGE0ZGU5ZThjOWFiYzA3Y2IyOTZhNDRhLi43ZTJhNzg4MWVlNzM3NGQzZDJlMDk1
OWRhNjM4OTE4NzA2MzhmZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTYzNyw2ICs2MzcsOSBAQCBwdWJs
aWM6CiAgICAgLy8gUGVyZm9ybSB0aGUgZGVmYXVsdCBhY3Rpb24gZm9yIGFuIGV2ZW50LgogICAg
IHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAKKyAgICAvLyBUaGlz
IGlzIGNhbGxlZCBpZiB0aGlzIG5vZGUgaXMgY2FwdHVpbmcgbW91c2UgZXZlbnRzLgorICAgIHZp
cnR1YWwgdm9pZCB3aWxsT3Blbk1vZGFsRGlhbG9nKCk7CisKICAgICAvLyBVc2VkIGZvciBkaXNh
YmxlZCBmb3JtIGVsZW1lbnRzOyBpZiB0cnVlLCBwcmV2ZW50cyBtb3VzZSBldmVudHMgZnJvbSBi
ZWluZyBkaXNwYXRjaGVkCiAgICAgLy8gdG8gZXZlbnQgbGlzdGVuZXJzLCBhbmQgcHJldmVudHMg
RE9NQWN0aXZhdGUgZXZlbnRzIGZyb20gYmVpbmcgc2VudCBhdCBhbGwuCiAgICAgdmlydHVhbCBi
b29sIGRpc2FibGVkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9TcGluQnV0dG9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9T
cGluQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggZTUyNDdjNGYzOGFkZDAzZTc2YzE2NmU0OTBkZjgy
Y2E4YTBiNDk0Ny4uMjAzMGIyYjVlMmRkYzU5M2E2YjU4Mzc4N2EwZmEzOGFkY2M0OTZiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmNwcApA
QCAtMTAwLDkgKzEwMCwxMyBAQCB2b2lkIFNwaW5CdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBtX3NwaW5CdXR0b25Pd25lci0+
Zm9jdXNBbmRTZWxlY3RTcGluQnV0dG9uT3duZXIoKTsKICAgICAgICAgICAgIGlmIChyZW5kZXJl
cigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG1fdXBEb3duU3RhdGUgIT0gSW5kZXRlcm1pbmF0
ZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBBIEphdmFTY3JpcHQgZXZlbnQgaGFuZGxlciBj
YWxsZWQgaW4gZG9TdGVwQWN0aW9uKCkgYmVsb3cKKyAgICAgICAgICAgICAgICAgICAgLy8gbWln
aHQgY2hhbmdlIHRoZSBlbGVtZW50IHN0YXRlIGFuZCB3ZSBtaWdodCBuZWVkIHRvCisgICAgICAg
ICAgICAgICAgICAgIC8vIGNhbmNlbCB0aGUgcmVwZWF0aW5nIHRpbWVyIGJ5IHRoZSBzdGF0ZSBj
aGFuZ2UuIElmIHdlCisgICAgICAgICAgICAgICAgICAgIC8vIHN0YXJ0ZWQgdGhlIHRpbWVyIGFm
dGVyIGRvU3RlcEFjdGlvbigpLCB3ZSB3b3VsZCBoYXZlIG5vCisgICAgICAgICAgICAgICAgICAg
IC8vIGNoYW5jZSB0byBjYW5jZWwgdGhlIHRpbWVyLgorICAgICAgICAgICAgICAgICAgICBzdGFy
dFJlcGVhdGluZ1RpbWVyKCk7CiAgICAgICAgICAgICAgICAgICAgIGRvU3RlcEFjdGlvbihtX3Vw
RG93blN0YXRlID09IFVwID8gMSA6IC0xKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHJlbmRl
cmVyKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBzdGFydFJlcGVhdGluZ1RpbWVyKCk7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgZXZlbnQtPnNldERl
ZmF1bHRIYW5kbGVkKCk7CkBAIC0xMzEsNiArMTM1LDEzIEBAIHZvaWQgU3BpbkJ1dHRvbkVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICBIVE1MRGl2RWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CiB9CiAKK3ZvaWQgU3BpbkJ1dHRvbkVs
ZW1lbnQ6OndpbGxPcGVuTW9kYWxEaWFsb2coKQoreworICAgIHJlbGVhc2VDYXB0dXJlKCk7Cisg
ICAgbV91cERvd25TdGF0ZSA9IEluZGV0ZXJtaW5hdGU7CisgICAgSFRNTERpdkVsZW1lbnQ6Ondp
bGxPcGVuTW9kYWxEaWFsb2coKTsKK30KKwogdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6Zm9yd2Fy
ZEV2ZW50KEV2ZW50KiBldmVudCkKIHsKICAgICBpZiAoIXJlbmRlckJveCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmgKaW5kZXggMzI1MWYzN2Qz
OWY3YjM4M2YzNjJlZTMyYzM4NTk4NTM0NTgzMThhNC4uMDJhYTQ1N2NhMDQwMjA4YzZmZDY3ZTMw
ZTE1YzI5NjI3MDhiZTkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
U3BpbkJ1dHRvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGlu
QnV0dG9uRWxlbWVudC5oCkBAIC03NSw2ICs3NSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3RvcigpIGNvbnN0IE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yKCkgY29uc3QgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKKyAgICB2aXJ0
dWFsIHZvaWQgd2lsbE9wZW5Nb2RhbERpYWxvZygpIE9WRVJSSURFOwogICAgIHZvaWQgZG9TdGVw
QWN0aW9uKGludCk7CiAgICAgdm9pZCBzdGFydFJlcGVhdGluZ1RpbWVyKCk7CiAgICAgdm9pZCBz
dG9wUmVwZWF0aW5nVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBjY2E0YTA5MjVm
N2RlMmJlOWI4MDFmZTQwYmQxOTAxMWQyMjFiZTVkLi44NjliZjEzNWJmYjA5OTlkMmZiNmY2NzFl
NjAzYWQwOGZiNTIwNWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC0zMDksNiArMzA5LDcg
QEAgdm9pZCBDaHJvbWU6OnJ1bkphdmFTY3JpcHRBbGVydChGcmFtZSogZnJhbWUsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKICAgICBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgZGVmZXJyZXIobV9wYWdl
LCB0cnVlKTsKIAogICAgIEFTU0VSVChmcmFtZSk7CisgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigp
LT53aWxsT3Blbk1vZGFsRGlhbG9nKCk7CiAgICAgbV9jbGllbnQtPnJ1bkphdmFTY3JpcHRBbGVy
dChmcmFtZSwgZnJhbWUtPmRpc3BsYXlTdHJpbmdNb2RpZmllZEJ5RW5jb2RpbmcobWVzc2FnZSkp
OwogfQogCkBAIC0zMjIsNiArMzIzLDcgQEAgYm9vbCBDaHJvbWU6OnJ1bkphdmFTY3JpcHRDb25m
aXJtKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIFBhZ2VHcm91cExv
YWREZWZlcnJlciBkZWZlcnJlcihtX3BhZ2UsIHRydWUpOwogCiAgICAgQVNTRVJUKGZyYW1lKTsK
KyAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPndpbGxPcGVuTW9kYWxEaWFsb2coKTsKICAgICBy
ZXR1cm4gbV9jbGllbnQtPnJ1bkphdmFTY3JpcHRDb25maXJtKGZyYW1lLCBmcmFtZS0+ZGlzcGxh
eVN0cmluZ01vZGlmaWVkQnlFbmNvZGluZyhtZXNzYWdlKSk7CiB9CiAKQEAgLTMzNSw2ICszMzcs
NyBAQCBib29sIENocm9tZTo6cnVuSmF2YVNjcmlwdFByb21wdChGcmFtZSogZnJhbWUsIGNvbnN0
IFN0cmluZyYgcHJvbXB0LCBjb25zdCBTdHJpbgogICAgIFBhZ2VHcm91cExvYWREZWZlcnJlciBk
ZWZlcnJlcihtX3BhZ2UsIHRydWUpOwogCiAgICAgQVNTRVJUKGZyYW1lKTsKKyAgICBmcmFtZS0+
ZXZlbnRIYW5kbGVyKCktPndpbGxPcGVuTW9kYWxEaWFsb2coKTsKICAgICBib29sIG9rID0gbV9j
bGllbnQtPnJ1bkphdmFTY3JpcHRQcm9tcHQoZnJhbWUsIGZyYW1lLT5kaXNwbGF5U3RyaW5nTW9k
aWZpZWRCeUVuY29kaW5nKHByb21wdCksIGZyYW1lLT5kaXNwbGF5U3RyaW5nTW9kaWZpZWRCeUVu
Y29kaW5nKGRlZmF1bHRWYWx1ZSksIHJlc3VsdCk7CiAKICAgICBpZiAob2spCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZmUyMzMwZWEyZGZlNDYyNmU3YWM4MGQ4MzUxZjY5
MWZiNjg2MTNlOS4uMWNkNTZmMzA4NGNlNzAyZDI3ZTkyZmI4MWRjMzk5Njk3Y2VjZTQxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjEzMCw2ICsyMTMwLDEyIEBAIHZv
aWQgRXZlbnRIYW5kbGVyOjpzZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoUGFzc1JlZlB0cjxO
b2RlPiBuKQogICAgIG1fZXZlbnRIYW5kbGVyV2lsbFJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNO
b2RlID0gZmFsc2U7CiB9CiAKK3ZvaWQgRXZlbnRIYW5kbGVyOjp3aWxsT3Blbk1vZGFsRGlhbG9n
KCkKK3sKKyAgICBpZiAobV9jYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUpCisgICAgICAgIG1fY2Fw
dHVyaW5nTW91c2VFdmVudHNOb2RlLT53aWxsT3Blbk1vZGFsRGlhbG9nKCk7Cit9CisKIE1vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMgRXZlbnRIYW5kbGVyOjpwcmVwYXJlTW91c2VFdmVudChj
b25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBt
ZXYpCiB7CiAgICAgQVNTRVJUKG1fZnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgK
aW5kZXggNmUxZDdlZDIwODM2ZGQ0ODhkZTRhODBlMDk3NDk1OGZkZDRiMjczMS4uZmEzMWI0YmM4
MDZlODM3MWMyZTMwYjIxYTZkNTY4NGQ4MWU0ZDE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC0xMjQsNiArMTI0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TW91c2VQcmVz
c2VkKGJvb2wgcHJlc3NlZCkgeyBtX21vdXNlUHJlc3NlZCA9IHByZXNzZWQ7IH0KIAogICAgIHZv
aWQgc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKFBhc3NSZWZQdHI8Tm9kZT4pOyAvLyBBIGNh
bGxlciBpcyByZXNwb25zaWJsZSBmb3IgcmVzZXR0aW5nIGNhcHR1cmluZyBub2RlIHRvIDAuCisg
ICAgdm9pZCB3aWxsT3Blbk1vZGFsRGlhbG9nKCk7CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogICAgIGJvb2wgdXBkYXRlRHJhZ0FuZERyb3AoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jiwg
Q2xpcGJvYXJkKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172727</attachid>
            <date>2012-11-07 00:02:09 -0800</date>
            <delta_ts>2012-11-13 21:01:43 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-98007-20121107170020.patch</filename>
            <type>text/plain</type>
            <size>16050</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjI2MzdkZDI0ZjcxOWMz
MmFlYmQ0OWNjYjkyNmMzNmU4ZWY2ZWY4Ni4uNDUzZjUwNzJiZmFkYmRjZjQ1YTUxNWFiYjNjMTQ0
OTdhZmUzNjk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTExLTA2ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBBIFNwaW4gYnV0dG9uIHNo
b3VsZCByZWxlYXNlIG1vdXNlIGV2ZW50IGNhcHR1cmluZyB3aGVuIGEgbW9kYWwgZGlhbG9nIG9w
ZW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODAw
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdJUC4K
KwogMjAxMi0xMS0wNiAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBJbXBsZW1lbnQgbW9udGggcGlja2luZyB0byBjYWxlbmRhciBwaWNrZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcAppbmRleCAwOWViOTY1Y2UzYWJjNTVjNGE4ZjkzNmYwZTRlZWY4M2I4YTlhNDM4Li5hY2U2
MjQzMmZhOThmNDdhODRjZjg0NjQxNjg5YmEwNDk0NjJiNGFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBA
IC0yNzUzLDYgKzI3NTMsMTAgQEAgYm9vbCBOb2RlOjp3aWxsUmVzcG9uZFRvVG91Y2hFdmVudHMo
KQogI2VuZGlmCiB9CiAKK3ZvaWQgTm9kZTo6d2lsbE9wZW5Qb3B1cCgpCit7Cit9CisKICNpZiBF
TkFCTEUoTUlDUk9EQVRBKQogRE9NU2V0dGFibGVUb2tlbkxpc3QqIE5vZGU6Oml0ZW1Qcm9wKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5oCmluZGV4IDk2ZTYyMTFkNjc5MjBmYWIwNWM3OTE3NWIyNDFmMTM5MDhiZTBm
MjEuLmY4ZmRkMjNjM2YxNjJlMzc4MjFlNmJlOWRlZjg2YzIwZWJlNTE3MGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
aApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIktVUkxIYXNoLmgiCiAjaW5jbHVkZSAiTGF5
b3V0VHlwZXMuaCIKICNpbmNsdWRlICJNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiUG9w
dXBPcGVuaW5nT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgog
I2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgIlRyZWVTaGFyZWQuaCIKQEAg
LTEyMiw3ICsxMjMsNyBAQCBwcml2YXRlOgogICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsK
IH07CiAKLWNsYXNzIE5vZGUgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBTY3JpcHRXcmFw
cGFibGUsIHB1YmxpYyBUcmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5vZGU+IHsKK2NsYXNzIE5v
ZGUgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBU
cmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5vZGU+LCBwdWJsaWMgUG9wdXBPcGVuaW5nT2JzZXJ2
ZXIgewogICAgIGZyaWVuZCBjbGFzcyBEb2N1bWVudDsKICAgICBmcmllbmQgY2xhc3MgVHJlZVNj
b3BlOwogICAgIGZyaWVuZCBjbGFzcyBUcmVlU2NvcGVBZG9wdGVyOwpAQCAtNjU2LDYgKzY1Nywx
MCBAQCBwdWJsaWM6CiAgICAgLy8gUGVyZm9ybSB0aGUgZGVmYXVsdCBhY3Rpb24gZm9yIGFuIGV2
ZW50LgogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAKKyAg
ICAvLyBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgb3BlbmluZyBhIHBvcHVwIGRpYWxvZywgcG9wdXAg
bWVudSwgb3IKKyAgICAvLyBzb21ldGhpbmcgbGlrZSB0aGF0IGlmIHRoaXMgbm9kZSBpcyBjYXB0
dWluZyBtb3VzZSBldmVudHMuCisgICAgdmlydHVhbCB2b2lkIHdpbGxPcGVuUG9wdXAoKSBPVkVS
UklERTsKKwogICAgIC8vIFVzZWQgZm9yIGRpc2FibGVkIGZvcm0gZWxlbWVudHM7IGlmIHRydWUs
IHByZXZlbnRzIG1vdXNlIGV2ZW50cyBmcm9tIGJlaW5nIGRpc3BhdGNoZWQKICAgICAvLyB0byBl
dmVudCBsaXN0ZW5lcnMsIGFuZCBwcmV2ZW50cyBET01BY3RpdmF0ZSBldmVudHMgZnJvbSBiZWlu
ZyBzZW50IGF0IGFsbC4KICAgICB2aXJ0dWFsIGJvb2wgZGlzYWJsZWQoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAKaW5kZXggMTFkN2JkNWQzMzdiMzNkYWExZjA2ZTNiNTU0NmJhMzYzNGUy
MDRlMi4uMTUwOTE1NGJmMzJlNzJiY2E0OWM4MzdjYzMyODA1NDQwMzgyZTM4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJCYXNlQ2hvb3Nlck9u
bHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiAjaW5jbHVkZSAiQ2hyb21lLmgiCi0jaW5jbHVk
ZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCkBAIC01NSw3ICs1NCw3
IEBAIHZvaWQgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhhbmRsZURPTUFj
dGl2YXRlRXZlbnQoRXZlbnQqKQogICAgIERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMgcGFyYW1l
dGVyczsKICAgICBpZiAoIWVsZW1lbnQoKS0+c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJz
KHBhcmFtZXRlcnMpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9kYXRlVGltZUNob29zZXIgPSBj
aHJvbWUtPmNsaWVudCgpLT5vcGVuRGF0ZVRpbWVDaG9vc2VyKHRoaXMsIHBhcmFtZXRlcnMpOwor
ICAgIG1fZGF0ZVRpbWVDaG9vc2VyID0gY2hyb21lLT5vcGVuRGF0ZVRpbWVDaG9vc2VyKHRoaXMs
IHBhcmFtZXRlcnMpOwogfQogCiB2b2lkIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRU
eXBlOjpkZXRhY2goKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlj
a2VySW5kaWNhdG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNr
ZXJJbmRpY2F0b3JFbGVtZW50LmNwcAppbmRleCBmNGQzN2Y0YjlkMzg1MTZiMDU1ODJmNTA0NDQw
ZDhjMjU3OTVlYTgyLi40MmQxNWY1NGRmMDEyMjE1ZTI5MThlMDVhY2U4ZTQ3YzlkMDViMTJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JF
bGVtZW50LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVs
ZW1lbnQuaCIKIAogI2luY2x1ZGUgIkNocm9tZS5oIgotI2luY2x1ZGUgIkNocm9tZUNsaWVudC5o
IgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKQEAgLTEyNCw3ICsxMjMsNyBAQCB2b2lkIFBpY2tlckluZGljYXRvckVs
ZW1lbnQ6Om9wZW5Qb3B1cCgpCiAgICAgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyBwYXJhbWV0
ZXJzOwogICAgIGlmICghaG9zdElucHV0KCktPnNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVy
cyhwYXJhbWV0ZXJzKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hvb3NlciA9IGNocm9tZS0+
Y2xpZW50KCktPm9wZW5EYXRlVGltZUNob29zZXIodGhpcywgcGFyYW1ldGVycyk7CisgICAgbV9j
aG9vc2VyID0gY2hyb21lLT5vcGVuRGF0ZVRpbWVDaG9vc2VyKHRoaXMsIHBhcmFtZXRlcnMpOwog
fQogCiB2b2lkIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmNsb3NlUG9wdXAoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwCmluZGV4IDk5ZGQ3
MTk0N2JmMzU4YWMwZmVmZmYyNDFiNGE2ZTY5ODRjNzg2ZTguLjEwOWIxYzVjYTgzYjVhYTkxMDZj
NmUyZTQxZDVkZGJhMWVjNDMxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1NwaW5CdXR0b25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9TcGluQnV0dG9uRWxlbWVudC5jcHAKQEAgLTEwMCw5ICsxMDAsMTMgQEAgdm9pZCBTcGluQnV0
dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgICAgICAg
ICAgICAgbV9zcGluQnV0dG9uT3duZXItPmZvY3VzQW5kU2VsZWN0U3BpbkJ1dHRvbk93bmVyKCk7
CiAgICAgICAgICAgICBpZiAocmVuZGVyZXIoKSkgewogICAgICAgICAgICAgICAgIGlmIChtX3Vw
RG93blN0YXRlICE9IEluZGV0ZXJtaW5hdGUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gQSBK
YXZhU2NyaXB0IGV2ZW50IGhhbmRsZXIgY2FsbGVkIGluIGRvU3RlcEFjdGlvbigpIGJlbG93Cisg
ICAgICAgICAgICAgICAgICAgIC8vIG1pZ2h0IGNoYW5nZSB0aGUgZWxlbWVudCBzdGF0ZSBhbmQg
d2UgbWlnaHQgbmVlZCB0bworICAgICAgICAgICAgICAgICAgICAvLyBjYW5jZWwgdGhlIHJlcGVh
dGluZyB0aW1lciBieSB0aGUgc3RhdGUgY2hhbmdlLiBJZiB3ZQorICAgICAgICAgICAgICAgICAg
ICAvLyBzdGFydGVkIHRoZSB0aW1lciBhZnRlciBkb1N0ZXBBY3Rpb24oKSwgd2Ugd291bGQgaGF2
ZSBubworICAgICAgICAgICAgICAgICAgICAvLyBjaGFuY2UgdG8gY2FuY2VsIHRoZSB0aW1lci4K
KyAgICAgICAgICAgICAgICAgICAgc3RhcnRSZXBlYXRpbmdUaW1lcigpOwogICAgICAgICAgICAg
ICAgICAgICBkb1N0ZXBBY3Rpb24obV91cERvd25TdGF0ZSA9PSBVcCA/IDEgOiAtMSk7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChyZW5kZXJlcigpKQotICAgICAgICAgICAgICAgICAgICAgICAg
c3RhcnRSZXBlYXRpbmdUaW1lcigpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwpAQCAtMTMxLDYgKzEzNSwx
MyBAQCB2b2lkIFNwaW5CdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBl
dmVudCkKICAgICAgICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQp
OwogfQogCit2b2lkIFNwaW5CdXR0b25FbGVtZW50Ojp3aWxsT3BlblBvcHVwKCkKK3sKKyAgICBy
ZWxlYXNlQ2FwdHVyZSgpOworICAgIG1fdXBEb3duU3RhdGUgPSBJbmRldGVybWluYXRlOworICAg
IEhUTUxEaXZFbGVtZW50Ojp3aWxsT3BlblBvcHVwKCk7Cit9CisKIHZvaWQgU3BpbkJ1dHRvbkVs
ZW1lbnQ6OmZvcndhcmRFdmVudChFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKCFyZW5kZXJCb3go
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5oCmlu
ZGV4IDMyNTFmMzdkMzlmN2IzODNmMzYyZWUzMmMzODU5ODUzNDU4MzE4YTQuLmY4NWUwOGM1NjQz
YTJjYzRjOTFiMmM2NTNjOThlYzNiZGQ3MDEwM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaApAQCAtNzUsNiArNzUsNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRNYXRjaFJlYWRPbmx5U2VsZWN0b3IoKSBjb25zdCBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpIGNv
bnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50
Kik7CisgICAgdmlydHVhbCB2b2lkIHdpbGxPcGVuUG9wdXAoKSBPVkVSUklERTsKICAgICB2b2lk
IGRvU3RlcEFjdGlvbihpbnQpOwogICAgIHZvaWQgc3RhcnRSZXBlYXRpbmdUaW1lcigpOwogICAg
IHZvaWQgc3RvcFJlcGVhdGluZ1RpbWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggZmNl
MGMxMTY2OGViYjNlYzM1ZTdiOWY1ZjE4ZTM4NTI5MDkxYzFlNy4uNTA2ZWJiNWE3YjJiZDY5YTM0
Y2ExMmFkNzMzYWI1ZTliNmFlNGZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtMjQsNiAr
MjQsNyBAQAogCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRE5TLmgiCisj
aW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJGaWxlSWNvbkxvYWRlci5oIgogI2luY2x1ZGUgIkZpbGVDaG9vc2VyLmgiCkBAIC0zMDks
NiArMzEwLDcgQEAgdm9pZCBDaHJvbWU6OnJ1bkphdmFTY3JpcHRBbGVydChGcmFtZSogZnJhbWUs
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgZGVmZXJy
ZXIobV9wYWdlLCB0cnVlKTsKIAogICAgIEFTU0VSVChmcmFtZSk7CisgICAgbm90aWZ5UG9wdXBP
cGVuaW5nT2JzZXJ2ZXJzKCk7CiAgICAgbV9jbGllbnQtPnJ1bkphdmFTY3JpcHRBbGVydChmcmFt
ZSwgZnJhbWUtPmRpc3BsYXlTdHJpbmdNb2RpZmllZEJ5RW5jb2RpbmcobWVzc2FnZSkpOwogfQog
CkBAIC0zMjIsNiArMzI0LDcgQEAgYm9vbCBDaHJvbWU6OnJ1bkphdmFTY3JpcHRDb25maXJtKEZy
YW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIFBhZ2VHcm91cExvYWREZWZl
cnJlciBkZWZlcnJlcihtX3BhZ2UsIHRydWUpOwogCiAgICAgQVNTRVJUKGZyYW1lKTsKKyAgICBu
b3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMoKTsKICAgICByZXR1cm4gbV9jbGllbnQtPnJ1bkph
dmFTY3JpcHRDb25maXJtKGZyYW1lLCBmcmFtZS0+ZGlzcGxheVN0cmluZ01vZGlmaWVkQnlFbmNv
ZGluZyhtZXNzYWdlKSk7CiB9CiAKQEAgLTMzNSw2ICszMzgsNyBAQCBib29sIENocm9tZTo6cnVu
SmF2YVNjcmlwdFByb21wdChGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgcHJvbXB0LCBjb25z
dCBTdHJpbgogICAgIFBhZ2VHcm91cExvYWREZWZlcnJlciBkZWZlcnJlcihtX3BhZ2UsIHRydWUp
OwogCiAgICAgQVNTRVJUKGZyYW1lKTsKKyAgICBub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMo
KTsKICAgICBib29sIG9rID0gbV9jbGllbnQtPnJ1bkphdmFTY3JpcHRQcm9tcHQoZnJhbWUsIGZy
YW1lLT5kaXNwbGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKHByb21wdCksIGZyYW1lLT5kaXNw
bGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKGRlZmF1bHRWYWx1ZSksIHJlc3VsdCk7CiAKICAg
ICBpZiAob2spCkBAIC00NTAsMTIgKzQ1NCwyMiBAQCB2b2lkIENocm9tZTo6ZW51bWVyYXRlQ2hv
c2VuRGlyZWN0b3J5KEZpbGVDaG9vc2VyKiBmaWxlQ2hvb3NlcikKICNpZiBFTkFCTEUoSU5QVVRf
VFlQRV9DT0xPUikKIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBDaHJvbWU6OmNyZWF0ZUNvbG9y
Q2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgQ29sb3ImIGluaXRpYWxD
b2xvcikKIHsKKyAgICBub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMoKTsKICAgICByZXR1cm4g
bV9jbGllbnQtPmNyZWF0ZUNvbG9yQ2hvb3NlcihjbGllbnQsIGluaXRpYWxDb2xvcik7CiB9CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQorUGFzc1JlZlB0
cjxEYXRlVGltZUNob29zZXI+IENocm9tZTo6b3BlbkRhdGVUaW1lQ2hvb3NlcihEYXRlVGltZUNo
b29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYgcGFy
YW1ldGVycykKK3sKKyAgICBub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMoKTsKKyAgICByZXR1
cm4gbV9jbGllbnQtPm9wZW5EYXRlVGltZUNob29zZXIoY2xpZW50LCBwYXJhbWV0ZXJzKTsKK30K
KyNlbmRpZgorCiB2b2lkIENocm9tZTo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1Jl
ZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIpCiB7CisgICAgbm90aWZ5UG9wdXBPcGVuaW5n
T2JzZXJ2ZXJzKCk7CiAgICAgbV9jbGllbnQtPnJ1bk9wZW5QYW5lbChmcmFtZSwgZmlsZUNob29z
ZXIpOwogfQogCkBAIC01NDIsMTEgKzU1NiwxMyBAQCBib29sIENocm9tZTo6aGFzT3BlbmVkUG9w
dXAoKSBjb25zdAogCiBQYXNzUmVmUHRyPFBvcHVwTWVudT4gQ2hyb21lOjpjcmVhdGVQb3B1cE1l
bnUoUG9wdXBNZW51Q2xpZW50KiBjbGllbnQpIGNvbnN0CiB7CisgICAgbm90aWZ5UG9wdXBPcGVu
aW5nT2JzZXJ2ZXJzKCk7CiAgICAgcmV0dXJuIG1fY2xpZW50LT5jcmVhdGVQb3B1cE1lbnUoY2xp
ZW50KTsKIH0KIAogUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IENocm9tZTo6Y3JlYXRlU2Vh
cmNoUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCogY2xpZW50KSBjb25zdAogeworICAgIG5vdGlm
eVBvcHVwT3BlbmluZ09ic2VydmVycygpOwogICAgIHJldHVybiBtX2NsaWVudC0+Y3JlYXRlU2Vh
cmNoUG9wdXBNZW51KGNsaWVudCk7CiB9CiAKQEAgLTU1NSw0ICs1NzEsMjQgQEAgYm9vbCBDaHJv
bWU6OnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKQogICAgIHJldHVybiBtX2Ns
aWVudC0+cmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjaygpOwogfQogCit2b2lkIENo
cm9tZTo6cmVnaXN0ZXJQb3B1cE9wZW5pbmdPYnNlcnZlcihQb3B1cE9wZW5pbmdPYnNlcnZlciog
b2JzZXJ2ZXIpCit7CisgICAgQVNTRVJUKG9ic2VydmVyKTsKKyAgICBtX3BvcHVwT3BlbmluZ09i
c2VydmVycy5hcHBlbmQob2JzZXJ2ZXIpOworfQorCit2b2lkIENocm9tZTo6dW5yZWdpc3RlclBv
cHVwT3BlbmluZ09ic2VydmVyKFBvcHVwT3BlbmluZ09ic2VydmVyKiBvYnNlcnZlcikKK3sKKyAg
ICBzaXplX3QgaW5kZXggPSBtX3BvcHVwT3BlbmluZ09ic2VydmVycy5maW5kKG9ic2VydmVyKTsK
KyAgICBBU1NFUlQoaW5kZXggIT0gbm90Rm91bmQpOworICAgIG1fcG9wdXBPcGVuaW5nT2JzZXJ2
ZXJzLnJlbW92ZShpbmRleCk7Cit9CisKK3ZvaWQgQ2hyb21lOjpub3RpZnlQb3B1cE9wZW5pbmdP
YnNlcnZlcnMoKSBjb25zdAoreworICAgIFZlY3RvcjxQb3B1cE9wZW5pbmdPYnNlcnZlcio+IHRh
cmdldHMobV9wb3B1cE9wZW5pbmdPYnNlcnZlcnMpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgdGFyZ2V0cy5zaXplKCk7ICsraSkKKyAgICAgICAgdGFyZ2V0c1tpXS0+d2lsbE9wZW5Qb3B1
cCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCA1
NjM4ZjNhNDhhZGQ4OTU5ZTMwYWViMGQyMDVhZDNlNzBiOGNhYzE5Li5lNzhmMzg1ODFhNjRmYjBi
ZjhmYzc3MWEyY2JlNzM0NGFlNmFiMjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTQxLDYgKzQx
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENvbG9yQ2hvb3NlcjsKICAgICBj
bGFzcyBDb2xvckNob29zZXJDbGllbnQ7CiAjZW5kaWYKKyAgICBjbGFzcyBEYXRlVGltZUNob29z
ZXI7CisgICAgY2xhc3MgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50OwogICAgIGNsYXNzIEZpbGVDaG9v
c2VyOwogICAgIGNsYXNzIEZpbGVJY29uTG9hZGVyOwogICAgIGNsYXNzIEZsb2F0UmVjdDsKQEAg
LTUzLDggKzU1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAg
IGNsYXNzIFBvcHVwTWVudTsKICAgICBjbGFzcyBQb3B1cE1lbnVDbGllbnQ7CisgICAgY2xhc3Mg
UG9wdXBPcGVuaW5nT2JzZXJ2ZXI7CiAgICAgY2xhc3MgU2VhcmNoUG9wdXBNZW51OwogCisgICAg
c3RydWN0IERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnM7CiAgICAgc3RydWN0IEZyYW1lTG9hZFJl
cXVlc3Q7CiAgICAgc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzOwogICAgIHN0cnVjdCBXaW5kb3dG
ZWF0dXJlczsKQEAgLTE0OSw2ICsxNTMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5B
QkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgICAgIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBj
cmVhdGVDb2xvckNob29zZXIoQ29sb3JDaG9vc2VyQ2xpZW50KiwgY29uc3QgQ29sb3ImIGluaXRp
YWxDb2xvcik7CiAjZW5kaWYKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykK
KyAgICAgICAgUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+IG9wZW5EYXRlVGltZUNob29zZXIo
RGF0ZVRpbWVDaG9vc2VyQ2xpZW50KiwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYp
OworI2VuZGlmCiAKICAgICAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRy
PEZpbGVDaG9vc2VyPik7CiAgICAgICAgIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0
b3I8U3RyaW5nPiYsIEZpbGVJY29uTG9hZGVyKik7CkBAIC0xNzAsMTEgKzE3NywxNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBhc3NSZWZQdHI8UG9wdXBNZW51PiBjcmVhdGVQb3B1
cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3Q7CiAgICAgICAgIFBhc3NSZWZQdHI8U2VhcmNo
UG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3Q7
CiAKKyAgICAgICAgdm9pZCByZWdpc3RlclBvcHVwT3BlbmluZ09ic2VydmVyKFBvcHVwT3Blbmlu
Z09ic2VydmVyKik7CisgICAgICAgIHZvaWQgdW5yZWdpc3RlclBvcHVwT3BlbmluZ09ic2VydmVy
KFBvcHVwT3BlbmluZ09ic2VydmVyKik7CisKICAgICBwcml2YXRlOgogICAgICAgICBDaHJvbWUo
UGFnZSosIENocm9tZUNsaWVudCopOworICAgICAgICB2b2lkIG5vdGlmeVBvcHVwT3BlbmluZ09i
c2VydmVycygpIGNvbnN0OwogCiAgICAgICAgIFBhZ2UqIG1fcGFnZTsKICAgICAgICAgQ2hyb21l
Q2xpZW50KiBtX2NsaWVudDsKKyAgICAgICAgVmVjdG9yPFBvcHVwT3BlbmluZ09ic2VydmVyKj4g
bV9wb3B1cE9wZW5pbmdPYnNlcnZlcnM7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCmluZGV4IDkyMDU1YTEyMzNhNzg0Njk1MmI3YmJjZmMxMWFkNzNjNWM4M2U5
OGYuLmE4NWM1ZGM0M2Q3NmE2YWYwMjZlYTRhNjY3ODg4NjdmYTZmY2ZmY2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTM3Niw3ICszNzYsNyBAQCB2b2lkIEV2ZW50SGFu
ZGxlcjo6Y2xlYXIoKQogICAgIG1fbW91c2VQcmVzc05vZGUgPSAwOwogICAgIG1fbW91c2VQcmVz
c2VkID0gZmFsc2U7CiAgICAgbV9jYXB0dXJlc0RyYWdnaW5nID0gZmFsc2U7Ci0gICAgbV9jYXB0
dXJpbmdNb3VzZUV2ZW50c05vZGUgPSAwOworICAgIHJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNO
b2RlKCk7CiAgICAgbV9sYXRjaGVkV2hlZWxFdmVudE5vZGUgPSAwOwogICAgIG1fcHJldmlvdXNX
aGVlbFNjcm9sbGVkTm9kZSA9IDA7CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKQEAgLTE1OTMs
NyArMTU5Myw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29u
c3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgICAgICAvLyB0aGUgbV9tb3Vz
ZVByZXNzZWQgZmxhZywgd2hpY2ggbWF5IGhhcHBlbiBpZiBhbiBBcHBLaXQgd2lkZ2V0IGVudGVy
ZWQgYSBtb2RhbCBldmVudCBsb29wLgogICAgICAgICBtX2NhcHR1cmVzRHJhZ2dpbmcgPSBzdWJm
cmFtZS0+ZXZlbnRIYW5kbGVyKCktPmNhcHR1cmVzRHJhZ2dpbmcoKTsKICAgICAgICAgaWYgKG1f
bW91c2VQcmVzc2VkICYmIG1fY2FwdHVyZXNEcmFnZ2luZykgewotICAgICAgICAgICAgbV9jYXB0
dXJpbmdNb3VzZUV2ZW50c05vZGUgPSBtZXYudGFyZ2V0Tm9kZSgpOworICAgICAgICAgICAgc2V0
Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKG1ldi50YXJnZXROb2RlKCkpOwogICAgICAgICAgICAg
bV9ldmVudEhhbmRsZXJXaWxsUmVzZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUgPSB0cnVlOwog
ICAgICAgICB9CiAgICAgICAgIGludmFsaWRhdGVDbGljaygpOwpAQCAtMTY5NCw3ICsxNjk0LDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlRG91YmxlQ2xpY2tFdmVudChjb25zdCBQ
bGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXYKICAgICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1
bHRzIG1ldiA9IHByZXBhcmVNb3VzZUV2ZW50KHJlcXVlc3QsIG1vdXNlRXZlbnQpOwogICAgIEZy
YW1lKiBzdWJmcmFtZSA9IHN1YmZyYW1lRm9ySGl0VGVzdFJlc3VsdChtZXYpOwogICAgIGlmICht
X2V2ZW50SGFuZGxlcldpbGxSZXNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSkKLSAgICAgICAg
bV9jYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUgPSAwOworICAgICAgICByZXNldENhcHR1cmluZ01v
dXNlRXZlbnRzTm9kZSgpOwogICAgIGlmIChzdWJmcmFtZSAmJiBwYXNzTW91c2VQcmVzc0V2ZW50
VG9TdWJmcmFtZShtZXYsIHN1YmZyYW1lKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTE5
MjksNyArMTkyOSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVu
dChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCiAgICAgTW91c2VFdmVudFdp
dGhIaXRUZXN0UmVzdWx0cyBtZXYgPSBwcmVwYXJlTW91c2VFdmVudChyZXF1ZXN0LCBtb3VzZUV2
ZW50KTsKICAgICBGcmFtZSogc3ViZnJhbWUgPSBtX2NhcHR1cmluZ01vdXNlRXZlbnRzTm9kZS5n
ZXQoKSA/IHN1YmZyYW1lRm9yVGFyZ2V0Tm9kZShtX2NhcHR1cmluZ01vdXNlRXZlbnRzTm9kZS5n
ZXQoKSkgOiBzdWJmcmFtZUZvckhpdFRlc3RSZXN1bHQobWV2KTsKICAgICBpZiAobV9ldmVudEhh
bmRsZXJXaWxsUmVzZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUpCi0gICAgICAgIG1fY2FwdHVy
aW5nTW91c2VFdmVudHNOb2RlID0gMDsKKyAgICAgICAgcmVzZXRDYXB0dXJpbmdNb3VzZUV2ZW50
c05vZGUoKTsKICAgICBpZiAoc3ViZnJhbWUgJiYgcGFzc01vdXNlUmVsZWFzZUV2ZW50VG9TdWJm
cmFtZShtZXYsIHN1YmZyYW1lKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTIxNjMsNyAr
MjE2Myw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpwZXJmb3JtRHJhZ0FuZERyb3AoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBldmVudCwgQ2xpcGJvYXJkCiB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xl
YXJEcmFnU3RhdGUoKQogewogICAgIG1fZHJhZ1RhcmdldCA9IDA7Ci0gICAgbV9jYXB0dXJpbmdN
b3VzZUV2ZW50c05vZGUgPSAwOworICAgIHJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKCk7
CiAgICAgbV9zaG91bGRPbmx5RmlyZURyYWdPdmVyRXZlbnQgPSBmYWxzZTsKICNpZiBQTEFURk9S
TShNQUMpCiAgICAgbV9zZW5kaW5nRXZlbnRUb1N1YnZpZXcgPSBmYWxzZTsKQEAgLTIxNzMsOCAr
MjE3MywyMiBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXJEcmFnU3RhdGUoKQogCiB2b2lkIEV2
ZW50SGFuZGxlcjo6c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKFBhc3NSZWZQdHI8Tm9kZT4g
bikKIHsKKyAgICByZXNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSgpOwogICAgIG1fY2FwdHVy
aW5nTW91c2VFdmVudHNOb2RlID0gbjsKICAgICBtX2V2ZW50SGFuZGxlcldpbGxSZXNldENhcHR1
cmluZ01vdXNlRXZlbnRzTm9kZSA9IGZhbHNlOworICAgIGlmIChtX2NhcHR1cmluZ01vdXNlRXZl
bnRzTm9kZSkgeworICAgICAgICBpZiAobV9mcmFtZS0+cGFnZSgpKQorICAgICAgICAgICAgbV9m
cmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+cmVnaXN0ZXJQb3B1cE9wZW5pbmdPYnNlcnZlcihtX2Nh
cHR1cmluZ01vdXNlRXZlbnRzTm9kZS5nZXQoKSk7CisgICAgfQorfQorCit2b2lkIEV2ZW50SGFu
ZGxlcjo6cmVzZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoKQoreworICAgIGlmICghbV9jYXB0
dXJpbmdNb3VzZUV2ZW50c05vZGUpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAobV9mcmFtZS0+
cGFnZSgpKQorICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmNocm9tZSgpLT51bnJlZ2lzdGVyUG9w
dXBPcGVuaW5nT2JzZXJ2ZXIobV9jYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUuZ2V0KCkpOworICAg
IG1fY2FwdHVyaW5nTW91c2VFdmVudHNOb2RlID0gMDsKIH0KIAogTW91c2VFdmVudFdpdGhIaXRU
ZXN0UmVzdWx0cyBFdmVudEhhbmRsZXI6OnByZXBhcmVNb3VzZUV2ZW50KGNvbnN0IEhpdFRlc3RS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1ldikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDkzYzZiMTBlYjk4NzQ0ZmJmNTY3YTgxOWYyODE2OGYz
MjJhMWMxYzguLjdjY2QxY2I3Zjk1Mzk0YWJjNmIwYTA0Njc4MGViOGE2MDg0ODA3NWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMzY5LDYgKzM2OSw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBoYW5kbGVHZXN0dXJlVGFwRG93bigpOwogICAgIGJvb2wgaGFuZGxlR2VzdHVyZUZv
clRleHRTZWxlY3Rpb25PckNvbnRleHRNZW51KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50Jik7
CiAjZW5kaWYKKyAgICB2b2lkIHJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKCk7CiAKICAg
ICBGcmFtZSogbV9mcmFtZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3B1
cE9wZW5pbmdPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3B1cE9wZW5pbmdPYnNl
cnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNjMzMxYTYxMzBiNzAwMTAzMGNjOGFkNDU5MzNmMTQyOWMwOTZh
YmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvcHVwT3BlbmluZ09i
c2VydmVyLmgKQEAgLTAsMCArMSwxNSBAQAorI2lmbmRlZiBQb3B1cE9wZW5pbmdPYnNlcnZlcl9o
CisjZGVmaW5lIFBvcHVwT3BlbmluZ09ic2VydmVyX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBQb3B1cE9wZW5pbmdPYnNlcnZlciB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lk
IHdpbGxPcGVuUG9wdXAoKSA9IDA7CisKK3Byb3RlY3RlZDoKKyAgICB+UG9wdXBPcGVuaW5nT2Jz
ZXJ2ZXIoKSB7IH0KK307CisgICAgCit9CisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174066</attachid>
            <date>2012-11-13 21:01:47 -0800</date>
            <delta_ts>2012-11-13 23:55:14 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-98007-20121114135947.patch</filename>
            <type>text/plain</type>
            <size>31123</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE1NTQ1MzNmMTEzOWIz
NWJkYWFhZDIzMGE1YzljNTZmYWFiMzBjMS4uNjJkODJlMDkwYjU3OTczNjhkNjMxODdkODMzY2M1
MTY4NjljZWYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkxIEBACisyMDEyLTExLTEzICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBBIFNwaW4gYnV0dG9uIHNo
b3VsZCByZWxlYXNlIG1vdXNlIGV2ZW50IGNhcHR1cmluZyB3aGVuIGEgbW9kYWwgZGlhbG9nIG9w
ZW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODAw
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlc2Ny
aXB0aW9uIG9mIGJ1ZzoKKyAgICAgICAgSWYgdGhlIG1vdXNlIGxlZnQgYnV0dG9uIGlzIHByZXNz
ZWQgb24gYSBzcGluIGJ1dHRvbiBpbgorICAgICAgICBpbnB1dFt0eXBlPW51bWJlcl0gYW5kIGEg
J2NoYW5nZScgZXZlbnQgaGFuZGxlciBvcGVucyBhIG1vZGFsIGRpYWxvZworICAgICAgICBzdWNo
IGFzIGFsZXJ0KCksIGEgcmVwZWF0aW5nIHRpbWVyIGRvZXNuJ3Qgc3RvcCBhbmQgbW91c2UgZXZl
bnQKKyAgICAgICAgY2FwdHVyaW5nIGlzbid0IHJlbGVhc2VkIGV2ZW4gdGhvdWdoIHRoZSBtb3Vz
ZSBwb2ludGVyIGlzbid0IG9uIHRoZSBzcGluCisgICAgICAgIGJ1dHRvbi4KKyAgICAgICAgQSB1
c2VyIHdpbGwgc2VlIHJlcGVhdGluZyBhbGVydCBkaWFsb2dzIGZvciBhIGRvY3VtZW50IGxpa2Ug
PGlucHV0CisgICAgICAgIHR5cGU9bnVtYmVyIHZhbHVlPTEgb25jaGFuZ2U9ImlmICh0aGlzLnZh
bHVlPT0xKSB7YWxlcnQoLi4uKTsKKyAgICAgICAgdGhpcy52YWx1ZT0xO30iPiBieSBjbGlja2lu
ZyB0aGUgdXAgYnV0dG9uLgorCisgICAgICAgIEhvdyB0byBzb2x2ZToKKyAgICAgICAgV2Ugc2hv
dWxkIG5vdGlmeSBtb2RhbCBkaWFsb2cgb3IgcG9wdXAgb3BlbiB0byBtb3VzZSBldmVudAorICAg
ICAgICBjYXB0dXJpbmcgbm9kZS4gVGhpcyBwYXRjaCBpbnRyb2R1Y2UgUG9wdXBPcGVuaW5nT2Jz
ZXJ2ZXIuIENocm9tZQorICAgICAgICBub3RpZmllcyBpdCB3aGVuIGFueSBkaWFsb2dzIC8gcG9w
dXBzIGlzIG9wZW5pbmcuIE5vZGUgaW1wbGVtZW50cworICAgICAgICBQb3B1cE9wZW5pbmdPYnNl
cnZlciBhbmQgRXZlbnRIYW5kbGVyIGlzIHJlc3BvbnNpYmxlIHRvIHJlZ2lzdGVyCisgICAgICAg
IGFuZCB1bnJlZ2lzdGVyIGEgbW91c2UgZXZlbnQgY2FwdXJpbmcgbm9kZSB0by9mcm9tIENocm9t
ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgaXMgYSBiZWhhdmlvciBjaGFuZ2UsIGJ1
dCBpdCdzIHZlcnkgaGFyZCB0byBtYWtlIGFuCisgICAgICAgIGF1dG9tYXRlZCB0ZXN0IGZvciB0
aW1lci1yZWxhdGVkIGJlaGF2aW9yLgorCisgICAgICAgICogcGFnZS9Qb3B1cE9wZW5pbmdPYnNl
cnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBBZGQgUG9wdXBP
cGVuaW5nT2JzZXJ2ZXIuaAorICAgICAgICAqIFRhcmdldC5wcmk6IERpdHRvLgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajogRGl0dG8uCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OnJ1bkphdmFTY3JpcHRBbGVydCk6IENhbGxzIG5vdGlmeVBvcHVwT3BlbmluZ09i
c2VydmVycy4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6cnVuSmF2YVNjcmlwdENvbmZpcm0p
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6cnVuSmF2YVNjcmlwdFByb21wdCk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpjcmVhdGVDb2xvckNob29zZXIpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6b3BlbkRhdGVUaW1lQ2hvb3Nlcik6Cisg
ICAgICAgIEFkZGVkLiBDYWxscyBub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMgYmVmb3JlIGNh
bGxpbmcKKyAgICAgICAgQ2hyb21lQ2xpZW50OjpvcGVuRGF0ZVRpbWVDaG9vc2VyLgorICAgICAg
ICAoV2ViQ29yZTo6Q2hyb21lOjpydW5PcGVuUGFuZWwpOiBDYWxscyBub3RpZnlQb3B1cE9wZW5p
bmdPYnNlcnZlcnMuCisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OmNyZWF0ZVBvcHVwTWVudSk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpjcmVhdGVTZWFyY2hQb3B1cE1lbnUp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6cmVnaXN0ZXJQb3B1cE9wZW5pbmdP
YnNlcnZlcik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjp1bnJlZ2lzdGVyUG9w
dXBPcGVuaW5nT2JzZXJ2ZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6bm90
aWZ5UG9wdXBPcGVuaW5nT2JzZXJ2ZXJzKTogQWRkZWQuCisgICAgICAgICogcGFnZS9DaHJvbWUu
aDogQWRkZWQgbmV3IG1lbWJlcnMgYW5kIHJlcXVpcmVkIGNsYXNzL3N0cnVjdCBkZWNsYXJhdGlv
bnMuCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAoRXZlbnRIYW5k
bGVyKTogRGVjbGFyZSByZXNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZS4KKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNs
ZWFyKTogVXNlIHJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlCisgICAgICAgIGFuZC9vciBz
ZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUgdG8gbWFrZSBzdXJlIHdlIGNvcnJlY3RseQorICAg
ICAgICByZWdpc3Rlci91bnJlZ2lzdGVyIGEgbW91c2UgY2FwdHVyaW5nIG5vZGUgdG8gQ2hyb21l
IGFzCisgICAgICAgIFBvcHVwT3BlbmluZ09ic2VydmVyLgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VEb3VibGVDbGlja0V2ZW50KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyRHJhZ1N0YXRlKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNldENhcHR1cmluZ01vdXNl
RXZlbnRzTm9kZSk6CisgICAgICAgIFVucmVnaXN0ZXIgdGhlIG5vZGUgd2hpY2ggaGFzIGNhcHR1
cmVkLCBhbmQgcmVnaXN0ZXIgdGhlIG5vZGUKKyAgICAgICAgd2hpY2ggd2lsbCBjYXB0dXJlLgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpyZXNldENhcHR1cmluZ01vdXNlRXZlbnRz
Tm9kZSk6CisgICAgICAgIFVucmVnaXN0ZXIgdGhlIG5vZGUgd2hpY2ggaGFzIGNhcHR1cmVkLgor
CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKE5vZGUpOiBEZWNsYXJlIHdpbGxPcGVu
UG9wdXAuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6
d2lsbE9wZW5Qb3B1cCk6IEFkZGVkIGFuIGVtcHR5IGltcGxtZW50YXRpb24uCisKKyAgICAgICAg
KiBodG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYW5kbGVET01B
Y3RpdmF0ZUV2ZW50KToKKyAgICAgICAgVXNlIENocm9tZTo6b3BlbkRhdGVUaW1lQ2hvb3NlciBp
bnN0ZWFkIG9mIENocm9tZUNsaWVudDo6b3BlbkRhdGVUaW1lQ2hvb3Nlci4KKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBpY2tlckluZGljYXRvckVsZW1lbnQ6Om9wZW5Qb3B1cCk6IERpdHRvLgorCisgICAgICAgICog
aHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaDoKKyAgICAgICAgKFNwaW5CdXR0b25FbGVt
ZW50KTogRGVjbGFyZSB3aWxsT3BlblBvcHVwLgorICAgICAgICAqIGh0bWwvc2hhZG93L1NwaW5C
dXR0b25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwaW5CdXR0b25FbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgQ2hhbmdlIHRoZSBvcmRlciBvZiB0aW1lciBz
dGFydCBhbmQgY2hhbmdpbmcgdGhlIHZhbHVlIHNvIHRoYXQgd2UKKyAgICAgICAgY2FuIGNhbmNl
bCB0aGUgdGltZXIgY29ycmVjdGx5LgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1l
bnQ6OndpbGxPcGVuUG9wdXApOgorICAgICAgICBSZWxlYXNlIG1vdXNlIGV2ZW50IGNhcHR1cmlu
ZyBiZWZvcmUgb3BlbmluZyBhIG1vZGFsIGRpYWxvZy4KKworCiAyMDEyLTExLTEzICBSb2JlcnQg
U2VzZWsgIDxyc2VzZWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNldmVyIENocm9taXVtJ3Mg
ZGVwZW5kZW5jZSBvbiBXZWJLaXRTeXN0ZW1JbnRlcmZhY2UgbWVkaWEgY29udHJvbCBkcmF3aW5n
IGZ1bmN0aW9ucyBpbiBSZW5kZXJUaGVtZU1hYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggNWJmMWYyMWM2OTE2OTVmY2JlNjJhNDMyNTIxM2NjYzRkNDNmODJiMi4uYTBhNmQwZDRk
YWFmZDFlNTE3OGU5OTBjMzM2NDMwZjM2NzI3NDQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC00MDc3LDYgKzQwNzcsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Q
b2ludGVyTG9ja0NvbnRyb2xsZXIuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9Qb3B1cE9wZW5p
bmdPYnNlcnZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmggXAogCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2NyZWVuLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCAwOTI1OWUxZDg5ZWI5MGRmZTZjNGYxMTAx
NWYzMDM5NDNlZGE2NmQwLi41M2JkYTRiNDJlOGVhYTNkYWI0ZDU3NTk4MTNhOGVkNjkyNDc2Yjlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKQEAgLTIwMjksNiArMjAyOSw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBh
Z2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggXAogICAgIHBhZ2UvUGFnZS5oIFwKICAgICBwYWdl
L1BhZ2VWaXNpYmlsaXR5U3RhdGUuaCBcCisgICAgcGFnZS9Qb3B1cE9wZW5pbmdPYnNlcnZlci5o
IFwKICAgICBwYWdlL1ByaW50Q29udGV4dC5oIFwKICAgICBwYWdlL1NjcmVlbi5oIFwKICAgICBw
YWdlL1NlY3VyaXR5T3JpZ2luLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGIzZGM4MGFmOGU3NDk2
ODQ0ODhhNWNlMTlkMzg3M2QyZjE5YzdkOGQuLjU5NGNkOTdkMzcxYTNkMzU2NTlkMDNkZTNmMTBk
ZWFiZTU3OGUwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTMxNDYsNiArMzE0Niw3IEBACiAgICAg
ICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaCcsCiAgICAgICAgICAgICAncGFn
ZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdwYWdlL1BvaW50ZXJM
b2NrQ29udHJvbGxlci5oJywKKyAgICAgICAgICAgICdwYWdlL1BvcHVwT3BlbmluZ09ic2VydmVy
LmgnLAogICAgICAgICAgICAgJ3BhZ2UvUHJpbnRDb250ZXh0LmNwcCcsCiAgICAgICAgICAgICAn
cGFnZS9TY3JlZW4uY3BwJywKICAgICAgICAgICAgICdwYWdlL1NjcmVlbi5oJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZjA0ZjY3ZDM5MmE4
ZGJkMGYzYjE5NGE1NTEzMmQ1Y2JjNTI2YzgyNS4uYWEyMWM0YzRlYTA5OGExZmIzZWIwNGNjMTZh
OWQ0ODI3OWEwMWRhNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKQEAgLTI3MTcxLDYgKzI3MTcxLDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUG9wcHVwT3BlbmluZ09ic2VydmVyLmgi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2Vc
UHJpbnRDb250ZXh0LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmM0YTIyN2U3Zjc5MDYy
YzYxZmZmYjk0ZTVkNzM3ZDBkYjNmNWYyOS4uYjE5ZDVjY2M5MmQ2YTU3YzcyMzNiYzBhMWMyOGEy
OGM0MzUwYTAzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTAyNSw2ICsxMDI1LDcgQEAKIAkJMzdERENEQTcxMzg0NTAxQzAw
MDhCNzkzIC8qIE1IVE1MUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzN0REQ0RBMzEzODQ1MDFDMDAwOEI3OTMgLyogTUhUTUxQYXJzZXIuaCAq
LzsgfTsKIAkJMzdFMzUyNEIxMjQ1MEM1MjAwQkFGNUQ5IC8qIElucHV0VHlwZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0UzNTI0QTEyNDUwQzUy
MDBCQUY1RDkgLyogSW5wdXRUeXBlLmNwcCAqLzsgfTsKIAkJMzdFMzUyNEQxMjQ1MEM2NjAwQkFG
NUQ5IC8qIElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzdFMzUyNEMxMjQ1MEM2NjAwQkFGNUQ5IC8qIElucHV0VHlwZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTM3RjU2N0NFMTY1MzU4
RjQwMERERTkyQiAvKiBQb3B1cE9wZW5pbmdPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc3MkIwOTUxNjUzNTg1NjAwMEE0OUNBIC8qIFBv
cHVwT3BlbmluZ09ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMzdGODE4RkQwRDY1NzYwNjAwNUUxRjA1IC8qIFdlYkNvcmVVUkxSZXNw
b25zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdG
ODE4RkIwRDY1NzYwNjAwNUUxRjA1IC8qIFdlYkNvcmVVUkxSZXNwb25zZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3RjgxOEZFMEQ2NTc2MDYw
MDVFMUYwNSAvKiBXZWJDb3JlVVJMUmVzcG9uc2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0Y4MThGQzBENjU3NjA2MDA1RTFGMDUgLyogV2ViQ29y
ZVVSTFJlc3BvbnNlLm1tICovOyB9OwogCQkzN0ZENDI5ODExODM2ODQ2MDA5M0MwMjkgLyogVHJl
ZURlcHRoTGltaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDM3RkQ0Mjk3MTE4MzY4NDYwMDkzQzAyOSAvKiBUcmVlRGVwdGhMaW1pdC5oICovOyB9OwpA
QCAtMzQzOCw3ICszNDM5LDYgQEAKIAkJOTcxMkE1QUUxNTAwNEVEQTAwNDhBRjEwIC8qIERPTVdp
bmRvd0luZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTcxMkE1NTUxNTAwNEVEQTAwNDhBRjEwIC8qIERPTVdpbmRvd0luZGV4ZWRE
YXRhYmFzZS5oICovOyB9OwogCQk5NzEyQTVCMDE1MDA0RURBMDA0OEFGMTAgLyogSURCQW55LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3MTJBNTU3
MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJBbnkuY3BwICovOyB9OwogCQk5NzEyQTVCMTE1MDA0RURB
MDA0OEFGMTAgLyogSURCQW55LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NzEyQTU1ODE1MDA0RURBMDA0OEFGMTAgLyogSURCQW55LmggKi87IH07Ci0J
CTk3MTJBNUU1MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJCYWNraW5nU3RvcmUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTcxMkE1OEMxNTAwNEVEQTAw
NDhBRjEwIC8qIElEQkJhY2tpbmdTdG9yZS5jcHAgKi87IH07CiAJCTk3MTJBNUIzMTUwMDRFREEw
MDQ4QUYxMCAvKiBJREJCYWNraW5nU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3MTJBNTVBMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJCYWNraW5n
U3RvcmUuaCAqLzsgfTsKIAkJOTcxMkE1QjQxNTAwNEVEQTAwNDhBRjEwIC8qIElEQkNhbGxiYWNr
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTcxMkE1
NUIxNTAwNEVEQTAwNDhBRjEwIC8qIElEQkNhbGxiYWNrcy5oICovOyB9OwogCQk5NzEyQTVCNTE1
MDA0RURBMDA0OEFGMTAgLyogSURCQ3Vyc29yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3MTJBNTVDMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJDdXJz
b3IuY3BwICovOyB9OwpAQCAtMzQ3OCw2ICszNDc4LDcgQEAKIAkJOTcxMkE1REYxNTAwNEVEQTAw
NDhBRjEwIC8qIElEQktleVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk3MTJBNTg2MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJLZXlQYXRoLmggKi87
IH07CiAJCTk3MTJBNUUyMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJLZXlSYW5nZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzEyQTU4OTE1MDA0RURB
MDA0OEFGMTAgLyogSURCS2V5UmFuZ2UuY3BwICovOyB9OwogCQk5NzEyQTVFMzE1MDA0RURBMDA0
OEFGMTAgLyogSURCS2V5UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk3MTJBNThBMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJLZXlSYW5nZS5oICov
OyB9OworCQk5NzEyQTVFNTE1MDA0RURBMDA0OEFGMTAgLyogSURCQmFja2luZ1N0b3JlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3MTJBNThDMTUw
MDRFREEwMDQ4QUYxMCAvKiBJREJCYWNraW5nU3RvcmUuY3BwICovOyB9OwogCQk5NzEyQTVFNzE1
MDA0RURBMDA0OEFGMTAgLyogSURCTGV2ZWxEQkNvZGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzEyQTU4RTE1MDA0RURBMDA0OEFGMTAgLyog
SURCTGV2ZWxEQkNvZGluZy5jcHAgKi87IH07CiAJCTk3MTJBNUU4MTUwMDRFREEwMDQ4QUYxMCAv
KiBJREJMZXZlbERCQ29kaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NzEyQTU4RjE1MDA0RURBMDA0OEFGMTAgLyogSURCTGV2ZWxEQkNvZGluZy5o
ICovOyB9OwogCQk5NzEyQTVFOTE1MDA0RURBMDA0OEFGMTAgLyogSURCT2JqZWN0U3RvcmUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTcxMkE1OTAx
NTAwNEVEQTAwNDhBRjEwIC8qIElEQk9iamVjdFN0b3JlLmNwcCAqLzsgfTsKQEAgLTgxNTAsNiAr
ODE1MSw3IEBACiAJCTM3NUNEMjMxMTE5RDQzQzgwMEEyQTg1OSAvKiBIeXBoZW5hdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIeXBoZW5hdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzNzVDRDIzOTExOUQ0NEVBMDBBMkE4NTkgLyogSHlwaGVuYXRp
b25NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBIeXBoZW5h
dGlvbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzc2RENDRTAxM0I0Rjk2
NjAwMkVCRUZDIC8qIFRleHRSdW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gVGV4dFJ1bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3NzJCMDk1
MTY1MzU4NTYwMDBBNDlDQSAvKiBQb3B1cE9wZW5pbmdPYnNlcnZlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQb3B1cE9wZW5pbmdPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzNzc0QUJBMzBGQTIxRUI0MDBBRDdERTkgLyogT3ZlcmxhcFRlc3RS
ZXF1ZXN0Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE92ZXJsYXBU
ZXN0UmVxdWVzdENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzdBM0E4
RjE1RUZDRTlBMDA1OUY1QzcgLyogQml0bWFwSW1hZ2VDRy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBCaXRtYXBJbWFnZUNHLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzc3QzRDREQxMDE0RTlGNjAwQjlBRTQyIC8qIFBsYWNlaG9sZGVyRG9jdW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhY2Vob2xkZXJEb2N1bWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA3MTEsNyArMTA3MTMsNiBAQAog
CQk5NzEyQTU4QTE1MDA0RURBMDA0OEFGMTAgLyogSURCS2V5UmFuZ2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gSURCS2V5UmFuZ2UuaDsgcGF0aCA9IE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQktleVJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3MTJBNThC
MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJLZXlSYW5nZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1l
ID0gSURCS2V5UmFuZ2UuaWRsOyBwYXRoID0gTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2Uu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzEyQTU4QzE1MDA0RURBMDA0OEFG
MTAgLyogSURCQmFja2luZ1N0b3JlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IElEQkJhY2tpbmdTdG9yZS5jcHA7IHBhdGggPSBNb2R1bGVzL2luZGV4ZWRkYi9JREJC
YWNraW5nU3RvcmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NzEyQTU4RDE1
MDA0RURBMDA0OEFGMTAgLyogSURCQmFja2luZ1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IElEQkJhY2tpbmdTdG9yZS5oOyBwYXRoID0gTW9kdWxlcy9pbmRleGVkZGIv
SURCQmFja2luZ1N0b3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3MTJBNThF
MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJMZXZlbERCQ29kaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElEQkxldmVsREJDb2RpbmcuY3BwOyBwYXRoID0gTW9kdWxl
cy9pbmRleGVkZGIvSURCTGV2ZWxEQkNvZGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk3MTJBNThGMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJMZXZlbERCQ29kaW5nLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IElEQkxldmVsREJDb2RpbmcuaDsgcGF0aCA9
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJDb2RpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTcxMkE1OTAxNTAwNEVEQTAwNDhBRjEwIC8qIElEQk9iamVjdFN0b3JlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElEQk9iamVjdFN0b3JlLmNw
cDsgcGF0aCA9IE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1OTY1LDYgKzE1OTY2LDcgQEAKIAkJCQk4QUY0RTU1ODEx
REM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovLAogCQkJCThBRjRFNTU5
MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oICovLAogCQkJCThBRjRFNTVB
MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5pZGwgKi8sCisJCQkJMzc3MkIw
OTUxNjUzNTg1NjAwMEE0OUNBIC8qIFBvcHVwT3BlbmluZ09ic2VydmVyLmggKi8sCiAJCQkJQjc3
NkQ0M0MxMTA0NTI3NTAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5jcHAgKi8sCiAJCQkJQjc3NkQ0
M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovLAogCQkJCUJDRUMwMUJBMEMy
NzREQUMwMDlGNEVDOSAvKiBTY3JlZW4uY3BwICovLApAQCAtMjQ3NjMsNiArMjQ3NjUsNyBAQAog
CQkJCUFCQzEyODc3MEIzM0FBNkQwMEM2OTNENSAvKiBQb3B1cE1lbnVDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUQzOUQwMDZEMTFGOEUzMDgwMDYwNDFGMiAvKiBQb3B1cE1lbnVNYWMuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDM0JFMTJCMEU5ODA5MkYwMDgzNTU4OCAvKiBQb3B1cE1lbnVT
dHlsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzdGNTY3Q0UxNjUzNThGNDAwRERFOTJCIC8qIFBv
cHVwT3BlbmluZ09ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTlERTA4MjQ1RTU5
MDAxRTlBQkMgLyogUG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NDZBRjJDMTRGNERE
RTYwMDNFN0E3MCAvKiBQb3NpdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzQ2
QUYyRTE0RjREREU2MDAzRTdBNzAgLyogUG9zaXRpb25FcnJvci5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKaW5kZXggMmRjY2EyNmFjODU0NDY4ZGE5NzZkMTc5YzZkNDEwZjJhODQ3M2Ni
ZC4uYzU4ZGU5Mjk4OTBkMmM3MzY3Nzg4MTg2ZGIxYmI3NTFhYTU3NTA0YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcApAQCAtMjc1Myw2ICsyNzUzLDEwIEBAIGJvb2wgTm9kZTo6d2lsbFJlc3BvbmRUb1RvdWNo
RXZlbnRzKCkKICNlbmRpZgogfQogCit2b2lkIE5vZGU6OndpbGxPcGVuUG9wdXAoKQoreworfQor
CiAjaWYgRU5BQkxFKE1JQ1JPREFUQSkKIERPTVNldHRhYmxlVG9rZW5MaXN0KiBOb2RlOjppdGVt
UHJvcCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCA3OTk5MTRlMjgxMzU3OWE3NDQzNjU1Y2FmY2M3Mzhi
NWQ1MjQwYzEzLi5mYTljNjM5NjcwZWJhNzhmNmQxMTk3YWUzYWMzNWJlYjA2NGY0MTU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJLVVJMSGFzaC5oIgogI2luY2x1
ZGUgIkxheW91dFJlY3QuaCIKICNpbmNsdWRlICJNdXRhdGlvbk9ic2VydmVyLmgiCisjaW5jbHVk
ZSAiUG9wdXBPcGVuaW5nT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50
cy5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgIlRyZWVTaGFyZWQu
aCIKQEAgLTEyMSw3ICsxMjIsNyBAQCBwcml2YXRlOgogICAgIFJlbmRlck9iamVjdCogbV9yZW5k
ZXJlcjsKIH07CiAKLWNsYXNzIE5vZGUgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBTY3Jp
cHRXcmFwcGFibGUsIHB1YmxpYyBUcmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5vZGU+IHsKK2Ns
YXNzIE5vZGUgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1
YmxpYyBUcmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5vZGU+LCBwdWJsaWMgUG9wdXBPcGVuaW5n
T2JzZXJ2ZXIgewogICAgIGZyaWVuZCBjbGFzcyBEb2N1bWVudDsKICAgICBmcmllbmQgY2xhc3Mg
VHJlZVNjb3BlOwogICAgIGZyaWVuZCBjbGFzcyBUcmVlU2NvcGVBZG9wdGVyOwpAQCAtNzc3LDYg
Kzc3OCwxMSBAQCBwcm90ZWN0ZWQ6CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnRJbnRlcm5hbCgp
IGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KIAorICAgIC8vIFBvcHVwT3BlbmluZ09ic2Vy
dmVyIGZ1bmN0aW9uLgorICAgIC8vIFRoaXMgaXMgY2FsbGVkIGJlZm9yZSBvcGVuaW5nIGEgcG9w
dXAgZGlhbG9nLCBwb3B1cCBtZW51LCBvcgorICAgIC8vIHNvbWV0aGluZyBpZiB0aGlzIG5vZGUg
aXMgY2FwdHVpbmcgbW91c2UgZXZlbnRzLgorICAgIHZpcnR1YWwgdm9pZCB3aWxsT3BlblBvcHVw
KCkgT1ZFUlJJREU7CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFRyZWVTaGFyZWQ8Tm9k
ZSwgQ29udGFpbmVyTm9kZT47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFz
ZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggYWM2ZmJjYWVl
YmI5YjcyYjg0YWJmNTM4NGRhNWJlYzE2ZGQ3ODdkYS4uYmM0MzcyMWIyZGM5YjZmYmJmZDE1MmMw
NGIyYTVmN2RkODBhYjA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hv
b3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTI4LDcgKzI4LDYg
QEAKICNpbmNsdWRlICJCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiAj
aW5jbHVkZSAiQ2hyb21lLmgiCi0jaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAi
SFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgpAQCAtNTcsNyArNTYsNyBAQCB2b2lkIEJhc2VDaG9vc2VyT25seURhdGVBbmRU
aW1lSW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50KikKICAgICBEYXRlVGlt
ZUNob29zZXJQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAgICAgaWYgKCFlbGVtZW50KCktPnNldHVw
RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhwYXJhbWV0ZXJzKSkKICAgICAgICAgcmV0dXJuOwot
ICAgIG1fZGF0ZVRpbWVDaG9vc2VyID0gY2hyb21lLT5jbGllbnQoKS0+b3BlbkRhdGVUaW1lQ2hv
b3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsKKyAgICBtX2RhdGVUaW1lQ2hvb3NlciA9IGNocm9tZS0+
b3BlbkRhdGVUaW1lQ2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsKIH0KIAogUmVuZGVyT2JqZWN0
KiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZTo6Y3JlYXRlUmVuZGVyZXIoUmVu
ZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCmluZGV4
IGFjMDM5MTcyNmVhMzA1OGQzMzllNDdhNGZmNjM4ODRhMWEzNTVlNmMuLmQ5NjkwMjRiY2VkYTA4
Nzg4MWZiOTI2MzM3ZmFhZDk4YjFkNGVmNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCkBAIC0zMyw3ICszMyw2IEBA
CiAjaW5jbHVkZSAiUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIgogCiAjaW5jbHVkZSAiQ2hyb21l
LmgiCi0jaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNs
dWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyRGV0YWlsc01hcmtlci5oIgpAQCAtMTE3LDcg
KzExNiw3IEBAIHZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6b3BlblBvcHVwKCkKICAgICBE
YXRlVGltZUNob29zZXJQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAgICAgaWYgKCFtX3BpY2tlcklu
ZGljYXRvck93bmVyLT5zZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMocGFyYW1ldGVycykp
CiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nob29zZXIgPSBjaHJvbWUtPmNsaWVudCgpLT5vcGVu
RGF0ZVRpbWVDaG9vc2VyKHRoaXMsIHBhcmFtZXRlcnMpOworICAgIG1fY2hvb3NlciA9IGNocm9t
ZS0+b3BlbkRhdGVUaW1lQ2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsKIH0KIAogdm9pZCBQaWNr
ZXJJbmRpY2F0b3JFbGVtZW50OjpjbG9zZVBvcHVwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmNwcAppbmRleCBlOWIwZWVjNjY1YmY0YjgxYmVk
Y2U2YzgyOTlmOWJiZmFlZTdkMGE3Li5mYTE5ODVjOTQxYjYyOTNmODY2ZTcwODQzOWEyZWUzYWEx
OTYyM2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9u
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVs
ZW1lbnQuY3BwCkBAIC0xMDAsOSArMTAwLDEzIEBAIHZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OmRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgICAgIG1fc3BpbkJ1
dHRvbk93bmVyLT5mb2N1c0FuZFNlbGVjdFNwaW5CdXR0b25Pd25lcigpOwogICAgICAgICAgICAg
aWYgKHJlbmRlcmVyKCkpIHsKICAgICAgICAgICAgICAgICBpZiAobV91cERvd25TdGF0ZSAhPSBJ
bmRldGVybWluYXRlKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEEgSmF2YVNjcmlwdCBldmVu
dCBoYW5kbGVyIGNhbGxlZCBpbiBkb1N0ZXBBY3Rpb24oKSBiZWxvdworICAgICAgICAgICAgICAg
ICAgICAvLyBtaWdodCBjaGFuZ2UgdGhlIGVsZW1lbnQgc3RhdGUgYW5kIHdlIG1pZ2h0IG5lZWQg
dG8KKyAgICAgICAgICAgICAgICAgICAgLy8gY2FuY2VsIHRoZSByZXBlYXRpbmcgdGltZXIgYnkg
dGhlIHN0YXRlIGNoYW5nZS4gSWYgd2UKKyAgICAgICAgICAgICAgICAgICAgLy8gc3RhcnRlZCB0
aGUgdGltZXIgYWZ0ZXIgZG9TdGVwQWN0aW9uKCksIHdlIHdvdWxkIGhhdmUgbm8KKyAgICAgICAg
ICAgICAgICAgICAgLy8gY2hhbmNlIHRvIGNhbmNlbCB0aGUgdGltZXIuCisgICAgICAgICAgICAg
ICAgICAgIHN0YXJ0UmVwZWF0aW5nVGltZXIoKTsKICAgICAgICAgICAgICAgICAgICAgZG9TdGVw
QWN0aW9uKG1fdXBEb3duU3RhdGUgPT0gVXAgPyAxIDogLTEpOwotICAgICAgICAgICAgICAgICAg
ICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0UmVwZWF0aW5n
VGltZXIoKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBl
dmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKQEAgLTEzMSw2ICsxMzUsMTMgQEAgdm9pZCBTcGlu
QnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgICAg
IEhUTUxEaXZFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKIH0KIAordm9pZCBT
cGluQnV0dG9uRWxlbWVudDo6d2lsbE9wZW5Qb3B1cCgpCit7CisgICAgcmVsZWFzZUNhcHR1cmUo
KTsKKyAgICBtX3VwRG93blN0YXRlID0gSW5kZXRlcm1pbmF0ZTsKKyAgICBIVE1MRGl2RWxlbWVu
dDo6d2lsbE9wZW5Qb3B1cCgpOworfQorCiB2b2lkIFNwaW5CdXR0b25FbGVtZW50Ojpmb3J3YXJk
RXZlbnQoRXZlbnQqIGV2ZW50KQogewogICAgIGlmICghcmVuZGVyQm94KCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TcGluQnV0dG9uRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaAppbmRleCAzMjUxZjM3ZDM5
ZjdiMzgzZjM2MmVlMzJjMzg1OTg1MzQ1ODMxOGE0Li5mODVlMDhjNTY0M2EyY2M0YzkxYjJjNjUz
Yzk4ZWMzYmRkNzAxMDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9T
cGluQnV0dG9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NwaW5C
dXR0b25FbGVtZW50LmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkTWF0Y2hSZWFkT25seVNlbGVjdG9yKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBib29sIHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKSBjb25zdCBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOworICAgIHZpcnR1
YWwgdm9pZCB3aWxsT3BlblBvcHVwKCkgT1ZFUlJJREU7CiAgICAgdm9pZCBkb1N0ZXBBY3Rpb24o
aW50KTsKICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nVGltZXIoKTsKICAgICB2b2lkIHN0b3BSZXBl
YXRpbmdUaW1lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IGZjZTBjMTE2NjhlYmIzZWMz
NWU3YjlmNWYxOGUzODUyOTA5MWMxZTcuLmMyYWYyOTAxYjU0NTk5NjY2NmRjYTM4ZTE5ZmRmMjkz
N2M0MjJkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKIAogI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkROUy5oIgorI2luY2x1ZGUgIkRhdGVU
aW1lQ2hvb3Nlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmlsZUljb25M
b2FkZXIuaCIKICNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgpAQCAtMzA5LDYgKzMxMCw3IEBAIHZv
aWQgQ2hyb21lOjpydW5KYXZhU2NyaXB0QWxlcnQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UpCiAgICAgUGFnZUdyb3VwTG9hZERlZmVycmVyIGRlZmVycmVyKG1fcGFnZSwgdHJ1
ZSk7CiAKICAgICBBU1NFUlQoZnJhbWUpOworICAgIG5vdGlmeVBvcHVwT3BlbmluZ09ic2VydmVy
cygpOwogICAgIG1fY2xpZW50LT5ydW5KYXZhU2NyaXB0QWxlcnQoZnJhbWUsIGZyYW1lLT5kaXNw
bGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKG1lc3NhZ2UpKTsKIH0KIApAQCAtMzIyLDYgKzMy
NCw3IEBAIGJvb2wgQ2hyb21lOjpydW5KYXZhU2NyaXB0Q29uZmlybShGcmFtZSogZnJhbWUsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgZGVmZXJyZXIo
bV9wYWdlLCB0cnVlKTsKIAogICAgIEFTU0VSVChmcmFtZSk7CisgICAgbm90aWZ5UG9wdXBPcGVu
aW5nT2JzZXJ2ZXJzKCk7CiAgICAgcmV0dXJuIG1fY2xpZW50LT5ydW5KYXZhU2NyaXB0Q29uZmly
bShmcmFtZSwgZnJhbWUtPmRpc3BsYXlTdHJpbmdNb2RpZmllZEJ5RW5jb2RpbmcobWVzc2FnZSkp
OwogfQogCkBAIC0zMzUsNiArMzM4LDcgQEAgYm9vbCBDaHJvbWU6OnJ1bkphdmFTY3JpcHRQcm9t
cHQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHByb21wdCwgY29uc3QgU3RyaW4KICAgICBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgZGVmZXJyZXIobV9wYWdlLCB0cnVlKTsKIAogICAgIEFTU0VS
VChmcmFtZSk7CisgICAgbm90aWZ5UG9wdXBPcGVuaW5nT2JzZXJ2ZXJzKCk7CiAgICAgYm9vbCBv
ayA9IG1fY2xpZW50LT5ydW5KYXZhU2NyaXB0UHJvbXB0KGZyYW1lLCBmcmFtZS0+ZGlzcGxheVN0
cmluZ01vZGlmaWVkQnlFbmNvZGluZyhwcm9tcHQpLCBmcmFtZS0+ZGlzcGxheVN0cmluZ01vZGlm
aWVkQnlFbmNvZGluZyhkZWZhdWx0VmFsdWUpLCByZXN1bHQpOwogCiAgICAgaWYgKG9rKQpAQCAt
NDUwLDEyICs0NTQsMjIgQEAgdm9pZCBDaHJvbWU6OmVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShG
aWxlQ2hvb3NlciogZmlsZUNob29zZXIpCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiBQ
YXNzT3duUHRyPENvbG9yQ2hvb3Nlcj4gQ2hyb21lOjpjcmVhdGVDb2xvckNob29zZXIoQ29sb3JD
aG9vc2VyQ2xpZW50KiBjbGllbnQsIGNvbnN0IENvbG9yJiBpbml0aWFsQ29sb3IpCiB7CisgICAg
bm90aWZ5UG9wdXBPcGVuaW5nT2JzZXJ2ZXJzKCk7CiAgICAgcmV0dXJuIG1fY2xpZW50LT5jcmVh
dGVDb2xvckNob29zZXIoY2xpZW50LCBpbml0aWFsQ29sb3IpOwogfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKK1Bhc3NSZWZQdHI8RGF0ZVRpbWVDaG9v
c2VyPiBDaHJvbWU6Om9wZW5EYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50KiBj
bGllbnQsIGNvbnN0IERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7Cisg
ICAgbm90aWZ5UG9wdXBPcGVuaW5nT2JzZXJ2ZXJzKCk7CisgICAgcmV0dXJuIG1fY2xpZW50LT5v
cGVuRGF0ZVRpbWVDaG9vc2VyKGNsaWVudCwgcGFyYW1ldGVycyk7Cit9CisjZW5kaWYKKwogdm9p
ZCBDaHJvbWU6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8RmlsZUNob29z
ZXI+IGZpbGVDaG9vc2VyKQogeworICAgIG5vdGlmeVBvcHVwT3BlbmluZ09ic2VydmVycygpOwog
ICAgIG1fY2xpZW50LT5ydW5PcGVuUGFuZWwoZnJhbWUsIGZpbGVDaG9vc2VyKTsKIH0KIApAQCAt
NTQyLDExICs1NTYsMTMgQEAgYm9vbCBDaHJvbWU6Omhhc09wZW5lZFBvcHVwKCkgY29uc3QKIAog
UGFzc1JlZlB0cjxQb3B1cE1lbnU+IENocm9tZTo6Y3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNs
aWVudCogY2xpZW50KSBjb25zdAogeworICAgIG5vdGlmeVBvcHVwT3BlbmluZ09ic2VydmVycygp
OwogICAgIHJldHVybiBtX2NsaWVudC0+Y3JlYXRlUG9wdXBNZW51KGNsaWVudCk7CiB9CiAKIFBh
c3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBDaHJvbWU6OmNyZWF0ZVNlYXJjaFBvcHVwTWVudShQ
b3B1cE1lbnVDbGllbnQqIGNsaWVudCkgY29uc3QKIHsKKyAgICBub3RpZnlQb3B1cE9wZW5pbmdP
YnNlcnZlcnMoKTsKICAgICByZXR1cm4gbV9jbGllbnQtPmNyZWF0ZVNlYXJjaFBvcHVwTWVudShj
bGllbnQpOwogfQogCkBAIC01NTUsNCArNTcxLDI0IEBAIGJvb2wgQ2hyb21lOjpyZXF1aXJlc0Z1
bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCkKICAgICByZXR1cm4gbV9jbGllbnQtPnJlcXVpcmVz
RnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKTsKIH0KIAordm9pZCBDaHJvbWU6OnJlZ2lzdGVy
UG9wdXBPcGVuaW5nT2JzZXJ2ZXIoUG9wdXBPcGVuaW5nT2JzZXJ2ZXIqIG9ic2VydmVyKQorewor
ICAgIEFTU0VSVChvYnNlcnZlcik7CisgICAgbV9wb3B1cE9wZW5pbmdPYnNlcnZlcnMuYXBwZW5k
KG9ic2VydmVyKTsKK30KKwordm9pZCBDaHJvbWU6OnVucmVnaXN0ZXJQb3B1cE9wZW5pbmdPYnNl
cnZlcihQb3B1cE9wZW5pbmdPYnNlcnZlciogb2JzZXJ2ZXIpCit7CisgICAgc2l6ZV90IGluZGV4
ID0gbV9wb3B1cE9wZW5pbmdPYnNlcnZlcnMuZmluZChvYnNlcnZlcik7CisgICAgQVNTRVJUKGlu
ZGV4ICE9IG5vdEZvdW5kKTsKKyAgICBtX3BvcHVwT3BlbmluZ09ic2VydmVycy5yZW1vdmUoaW5k
ZXgpOworfQorCit2b2lkIENocm9tZTo6bm90aWZ5UG9wdXBPcGVuaW5nT2JzZXJ2ZXJzKCkgY29u
c3QKK3sKKyAgICBjb25zdCBWZWN0b3I8UG9wdXBPcGVuaW5nT2JzZXJ2ZXIqPiBvYnNlcnZlcnMo
bV9wb3B1cE9wZW5pbmdPYnNlcnZlcnMpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb2Jz
ZXJ2ZXJzLnNpemUoKTsgKytpKQorICAgICAgICBvYnNlcnZlcnNbaV0tPndpbGxPcGVuUG9wdXAo
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggNTYz
OGYzYTQ4YWRkODk1OWUzMGFlYjBkMjA1YWQzZTcwYjhjYWMxOS4uZTc4ZjM4NTgxYTY0ZmIwYmY4
ZmM3NzFhMmNiZTczNDRhZTZhYjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCkBAIC00MSw2ICs0MSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDb2xvckNob29zZXI7CiAgICAgY2xh
c3MgQ29sb3JDaG9vc2VyQ2xpZW50OwogI2VuZGlmCisgICAgY2xhc3MgRGF0ZVRpbWVDaG9vc2Vy
OworICAgIGNsYXNzIERhdGVUaW1lQ2hvb3NlckNsaWVudDsKICAgICBjbGFzcyBGaWxlQ2hvb3Nl
cjsKICAgICBjbGFzcyBGaWxlSWNvbkxvYWRlcjsKICAgICBjbGFzcyBGbG9hdFJlY3Q7CkBAIC01
Myw4ICs1NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUGFnZTsKICAgICBj
bGFzcyBQb3B1cE1lbnU7CiAgICAgY2xhc3MgUG9wdXBNZW51Q2xpZW50OworICAgIGNsYXNzIFBv
cHVwT3BlbmluZ09ic2VydmVyOwogICAgIGNsYXNzIFNlYXJjaFBvcHVwTWVudTsKIAorICAgIHN0
cnVjdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzOwogICAgIHN0cnVjdCBGcmFtZUxvYWRSZXF1
ZXN0OwogICAgIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50czsKICAgICBzdHJ1Y3QgV2luZG93RmVh
dHVyZXM7CkBAIC0xNDksNiArMTUzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJM
RShJTlBVVF9UWVBFX0NPTE9SKQogICAgICAgICBQYXNzT3duUHRyPENvbG9yQ2hvb3Nlcj4gY3Jl
YXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0IENvbG9yJiBpbml0aWFs
Q29sb3IpOwogI2VuZGlmCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCisg
ICAgICAgIFBhc3NSZWZQdHI8RGF0ZVRpbWVDaG9vc2VyPiBvcGVuRGF0ZVRpbWVDaG9vc2VyKERh
dGVUaW1lQ2hvb3NlckNsaWVudCosIGNvbnN0IERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmKTsK
KyNlbmRpZgogCiAgICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4pOwogICAgICAgICB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopOwpAQCAtMTcwLDExICsxNzcsMTYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBQYXNzUmVmUHRyPFBvcHVwTWVudT4gY3JlYXRlUG9wdXBN
ZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0OwogICAgICAgICBQYXNzUmVmUHRyPFNlYXJjaFBv
cHVwTWVudT4gY3JlYXRlU2VhcmNoUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0Owog
CisgICAgICAgIHZvaWQgcmVnaXN0ZXJQb3B1cE9wZW5pbmdPYnNlcnZlcihQb3B1cE9wZW5pbmdP
YnNlcnZlciopOworICAgICAgICB2b2lkIHVucmVnaXN0ZXJQb3B1cE9wZW5pbmdPYnNlcnZlcihQ
b3B1cE9wZW5pbmdPYnNlcnZlciopOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgQ2hyb21lKFBh
Z2UqLCBDaHJvbWVDbGllbnQqKTsKKyAgICAgICAgdm9pZCBub3RpZnlQb3B1cE9wZW5pbmdPYnNl
cnZlcnMoKSBjb25zdDsKIAogICAgICAgICBQYWdlKiBtX3BhZ2U7CiAgICAgICAgIENocm9tZUNs
aWVudCogbV9jbGllbnQ7CisgICAgICAgIFZlY3RvcjxQb3B1cE9wZW5pbmdPYnNlcnZlcio+IG1f
cG9wdXBPcGVuaW5nT2JzZXJ2ZXJzOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAppbmRleCA4NWI4M2MxYzNjOTVkMzc4MzEwMDUwY2YxYjMyMjY3ZTllMWZkNjU1
Li42NTFhNjRjNjcxYzVjMGFhNGRmMzJlMjAwNGYxNmUwYWYzNDE3YzQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0zODksNyArMzg5LDcgQEAgdm9pZCBFdmVudEhhbmRs
ZXI6OmNsZWFyKCkKICAgICBtX21vdXNlUHJlc3NOb2RlID0gMDsKICAgICBtX21vdXNlUHJlc3Nl
ZCA9IGZhbHNlOwogICAgIG1fY2FwdHVyZXNEcmFnZ2luZyA9IGZhbHNlOwotICAgIG1fY2FwdHVy
aW5nTW91c2VFdmVudHNOb2RlID0gMDsKKyAgICByZXNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9k
ZSgpOwogICAgIG1fbGF0Y2hlZFdoZWVsRXZlbnROb2RlID0gMDsKICAgICBtX3ByZXZpb3VzV2hl
ZWxTY3JvbGxlZE5vZGUgPSAwOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCkBAIC0xNjA1LDcg
KzE2MDUsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0
IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkKICAgICAgICAgLy8gdGhlIG1fbW91c2VQ
cmVzc2VkIGZsYWcsIHdoaWNoIG1heSBoYXBwZW4gaWYgYW4gQXBwS2l0IHdpZGdldCBlbnRlcmVk
IGEgbW9kYWwgZXZlbnQgbG9vcC4KICAgICAgICAgbV9jYXB0dXJlc0RyYWdnaW5nID0gc3ViZnJh
bWUtPmV2ZW50SGFuZGxlcigpLT5jYXB0dXJlc0RyYWdnaW5nKCk7CiAgICAgICAgIGlmIChtX21v
dXNlUHJlc3NlZCAmJiBtX2NhcHR1cmVzRHJhZ2dpbmcpIHsKLSAgICAgICAgICAgIG1fY2FwdHVy
aW5nTW91c2VFdmVudHNOb2RlID0gbWV2LnRhcmdldE5vZGUoKTsKKyAgICAgICAgICAgIHNldENh
cHR1cmluZ01vdXNlRXZlbnRzTm9kZShtZXYudGFyZ2V0Tm9kZSgpKTsKICAgICAgICAgICAgIG1f
ZXZlbnRIYW5kbGVyV2lsbFJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlID0gdHJ1ZTsKICAg
ICAgICAgfQogICAgICAgICBpbnZhbGlkYXRlQ2xpY2soKTsKQEAgLTE3MDYsNyArMTcwNiw3IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZURvdWJsZUNsaWNrRXZlbnQoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2CiAgICAgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0
cyBtZXYgPSBwcmVwYXJlTW91c2VFdmVudChyZXF1ZXN0LCBtb3VzZUV2ZW50KTsKICAgICBGcmFt
ZSogc3ViZnJhbWUgPSBzdWJmcmFtZUZvckhpdFRlc3RSZXN1bHQobWV2KTsKICAgICBpZiAobV9l
dmVudEhhbmRsZXJXaWxsUmVzZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUpCi0gICAgICAgIG1f
Y2FwdHVyaW5nTW91c2VFdmVudHNOb2RlID0gMDsKKyAgICAgICAgcmVzZXRDYXB0dXJpbmdNb3Vz
ZUV2ZW50c05vZGUoKTsKICAgICBpZiAoc3ViZnJhbWUgJiYgcGFzc01vdXNlUHJlc3NFdmVudFRv
U3ViZnJhbWUobWV2LCBzdWJmcmFtZSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0xOTQx
LDcgKzE5NDEsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQo
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgIE1vdXNlRXZlbnRXaXRo
SGl0VGVzdFJlc3VsdHMgbWV2ID0gcHJlcGFyZU1vdXNlRXZlbnQocmVxdWVzdCwgbW91c2VFdmVu
dCk7CiAgICAgRnJhbWUqIHN1YmZyYW1lID0gbV9jYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUuZ2V0
KCkgPyBzdWJmcmFtZUZvclRhcmdldE5vZGUobV9jYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUuZ2V0
KCkpIDogc3ViZnJhbWVGb3JIaXRUZXN0UmVzdWx0KG1ldik7CiAgICAgaWYgKG1fZXZlbnRIYW5k
bGVyV2lsbFJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKQotICAgICAgICBtX2NhcHR1cmlu
Z01vdXNlRXZlbnRzTm9kZSA9IDA7CisgICAgICAgIHJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNO
b2RlKCk7CiAgICAgaWYgKHN1YmZyYW1lICYmIHBhc3NNb3VzZVJlbGVhc2VFdmVudFRvU3ViZnJh
bWUobWV2LCBzdWJmcmFtZSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0yMTc1LDcgKzIx
NzUsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6cGVyZm9ybURyYWdBbmREcm9wKGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYgZXZlbnQsIENsaXBib2FyZAogdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFy
RHJhZ1N0YXRlKCkKIHsKICAgICBtX2RyYWdUYXJnZXQgPSAwOwotICAgIG1fY2FwdHVyaW5nTW91
c2VFdmVudHNOb2RlID0gMDsKKyAgICByZXNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSgpOwog
ICAgIG1fc2hvdWxkT25seUZpcmVEcmFnT3ZlckV2ZW50ID0gZmFsc2U7CiAjaWYgUExBVEZPUk0o
TUFDKQogICAgIG1fc2VuZGluZ0V2ZW50VG9TdWJ2aWV3ID0gZmFsc2U7CkBAIC0yMTg1LDggKzIx
ODUsMjIgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyRHJhZ1N0YXRlKCkKIAogdm9pZCBFdmVu
dEhhbmRsZXI6OnNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZShQYXNzUmVmUHRyPE5vZGU+IG4p
CiB7CisgICAgcmVzZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoKTsKICAgICBtX2NhcHR1cmlu
Z01vdXNlRXZlbnRzTm9kZSA9IG47CiAgICAgbV9ldmVudEhhbmRsZXJXaWxsUmVzZXRDYXB0dXJp
bmdNb3VzZUV2ZW50c05vZGUgPSBmYWxzZTsKKyAgICBpZiAobV9jYXB0dXJpbmdNb3VzZUV2ZW50
c05vZGUpIHsKKyAgICAgICAgaWYgKG1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgICAgIG1fZnJh
bWUtPnBhZ2UoKS0+Y2hyb21lKCktPnJlZ2lzdGVyUG9wdXBPcGVuaW5nT2JzZXJ2ZXIobV9jYXB0
dXJpbmdNb3VzZUV2ZW50c05vZGUuZ2V0KCkpOworICAgIH0KK30KKwordm9pZCBFdmVudEhhbmRs
ZXI6OnJlc2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKCkKK3sKKyAgICBpZiAoIW1fY2FwdHVy
aW5nTW91c2VFdmVudHNOb2RlKQorICAgICAgICByZXR1cm47CisgICAgaWYgKG1fZnJhbWUtPnBh
Z2UoKSkKKyAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+dW5yZWdpc3RlclBvcHVw
T3BlbmluZ09ic2VydmVyKG1fY2FwdHVyaW5nTW91c2VFdmVudHNOb2RlLmdldCgpKTsKKyAgICBt
X2NhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSA9IDA7CiB9CiAKIE1vdXNlRXZlbnRXaXRoSGl0VGVz
dFJlc3VsdHMgRXZlbnRIYW5kbGVyOjpwcmVwYXJlTW91c2VFdmVudChjb25zdCBIaXRUZXN0UmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtZXYpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaAppbmRleCA5ZTcyNWRiYjVjMDAzYjkyMWNlNzIxNzg1NjAxZjk5MDcy
YTA1ZjdmLi45YzQ2ZDE0ODM5YjM5YTkwZGIyZjU3MmEwYzZlZjVlYzc4Y2NjYTVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTM2OSw2ICszNjksNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgaGFuZGxlR2VzdHVyZVRhcERvd24oKTsKICAgICBib29sIGhhbmRsZUdlc3R1cmVGb3JU
ZXh0U2VsZWN0aW9uT3JDb250ZXh0TWVudShjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYpOwog
I2VuZGlmCisgICAgdm9pZCByZXNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSgpOwogCiAgICAg
RnJhbWUqIG1fZnJhbWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9wdXBP
cGVuaW5nT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9wdXBPcGVuaW5nT2JzZXJ2
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jZWY2YTRiNDkzN2MxZGY1ZjZkODQ0YzQ1ODY3ZDAzN2Y4YTIxZTc1
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3B1cE9wZW5pbmdPYnNl
cnZlci5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
CisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgorICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
CisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBvcHVw
T3BlbmluZ09ic2VydmVyX2gKKyNkZWZpbmUgUG9wdXBPcGVuaW5nT2JzZXJ2ZXJfaAorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBvcHVwT3BlbmluZ09ic2VydmVyIHsKK3B1YmxpYzoK
KyAgICB2aXJ0dWFsIHZvaWQgd2lsbE9wZW5Qb3B1cCgpID0gMDsKKworcHJvdGVjdGVkOgorICAg
IHZpcnR1YWwgflBvcHVwT3BlbmluZ09ic2VydmVyKCkgeyB9Cit9OworICAgIAorfQorI2VuZGlm
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174088</attachid>
            <date>2012-11-13 23:55:18 -0800</date>
            <delta_ts>2012-11-15 20:30:42 -0800</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-98007-20121114165317.patch</filename>
            <type>text/plain</type>
            <size>22824</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmEwZWQ3ZTI5ZjlmMjZh
ZGU4ZjJiYzkwODI2MDJlMWUyOGUyZWZkNC4uMGMyNjAwZGIxMDI5YzM2NGFlNDAwZTM1ZjEwZTUz
OWNhODhlM2Q1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEyLTExLTEzICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBBIFNwaW4gYnV0dG9uIHNo
b3VsZCByZWxlYXNlIG1vdXNlIGV2ZW50IGNhcHR1cmluZyB3aGVuIGEgbW9kYWwgZGlhbG9nIG9w
ZW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODAw
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlc2Ny
aXB0aW9uIG9mIGJ1ZzoKKyAgICAgICAgSWYgdGhlIG1vdXNlIGxlZnQgYnV0dG9uIGlzIHByZXNz
ZWQgb24gYSBzcGluIGJ1dHRvbiBpbgorICAgICAgICBpbnB1dFt0eXBlPW51bWJlcl0gYW5kIGEg
J2NoYW5nZScgZXZlbnQgaGFuZGxlciBvcGVucyBhIG1vZGFsIGRpYWxvZworICAgICAgICBzdWNo
IGFzIGFsZXJ0KCksIGEgcmVwZWF0aW5nIHRpbWVyIGRvZXNuJ3Qgc3RvcCBhbmQgbW91c2UgZXZl
bnQKKyAgICAgICAgY2FwdHVyaW5nIGlzbid0IHJlbGVhc2VkIGV2ZW4gdGhvdWdoIHRoZSBtb3Vz
ZSBwb2ludGVyIGlzbid0IG9uIHRoZSBzcGluCisgICAgICAgIGJ1dHRvbi4KKyAgICAgICAgQSB1
c2VyIHdpbGwgc2VlIHJlcGVhdGluZyBhbGVydCBkaWFsb2dzIGZvciBhIGRvY3VtZW50IGxpa2Ug
PGlucHV0CisgICAgICAgIHR5cGU9bnVtYmVyIHZhbHVlPTEgb25jaGFuZ2U9ImlmICh0aGlzLnZh
bHVlPT0xKSB7YWxlcnQoLi4uKTsKKyAgICAgICAgdGhpcy52YWx1ZT0xO30iPiBieSBjbGlja2lu
ZyB0aGUgdXAgYnV0dG9uLgorCisgICAgICAgIEhvdyB0byBzb2x2ZToKKyAgICAgICAgV2Ugc2hv
dWxkIG5vdGlmeSBtb2RhbCBkaWFsb2cgb3IgcG9wdXAgb3BlbiB0byBhIHNwaW4gYnV0dG9uLgor
ICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZSBQb3B1cE9wZW5pbmdPYnNlcnZlci4gQ2hyb21l
IG5vdGlmaWVzIGl0IHdoZW4KKyAgICAgICAgYW55IGRpYWxvZ3MgLyBwb3B1cHMgaXMgb3Blbmlu
Zy4gU3BpbkJ1dHRvbkVsZW1lbnQgaW1wbGVtZW50cworICAgICAgICBQb3B1cE9wZW5pbmdPYnNl
cnZlciBhbmQgcmVnaXN0ZXJzL3VucmVnaXN0ZXJzIGl0c2VsZiB0by9mcm9tCisgICAgICAgIENo
cm9tZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgaXMgYSBiZWhhdmlvciBjaGFuZ2Us
IGJ1dCBpdCdzIHZlcnkgaGFyZCB0byBtYWtlIGFuCisgICAgICAgIGF1dG9tYXRlZCB0ZXN0IGZv
ciB0aW1lci1yZWxhdGVkIGJlaGF2aW9yLgorCisgICAgICAgICogcGFnZS9Qb3B1cE9wZW5pbmdP
YnNlcnZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBBZGQgUG9w
dXBPcGVuaW5nT2JzZXJ2ZXIuaAorICAgICAgICAqIFRhcmdldC5wcmk6IERpdHRvLgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajogRGl0dG8uCisKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWU6OnJ1bkphdmFTY3JpcHRBbGVydCk6IENhbGxzIG5vdGlmeVBvcHVwT3Blbmlu
Z09ic2VydmVycy4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6cnVuSmF2YVNjcmlwdENvbmZp
cm0pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6cnVuSmF2YVNjcmlwdFByb21w
dCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpjcmVhdGVDb2xvckNob29zZXIp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6b3BlbkRhdGVUaW1lQ2hvb3Nlcik6
CisgICAgICAgIEFkZGVkLiBDYWxscyBub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMgYmVmb3Jl
IGNhbGxpbmcKKyAgICAgICAgQ2hyb21lQ2xpZW50OjpvcGVuRGF0ZVRpbWVDaG9vc2VyLgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpydW5PcGVuUGFuZWwpOiBDYWxscyBub3RpZnlQb3B1cE9w
ZW5pbmdPYnNlcnZlcnMuCisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OmNyZWF0ZVBvcHVwTWVu
dSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpjcmVhdGVTZWFyY2hQb3B1cE1l
bnUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6cmVnaXN0ZXJQb3B1cE9wZW5p
bmdPYnNlcnZlcik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjp1bnJlZ2lzdGVy
UG9wdXBPcGVuaW5nT2JzZXJ2ZXIpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6
bm90aWZ5UG9wdXBPcGVuaW5nT2JzZXJ2ZXJzKTogQWRkZWQuCisgICAgICAgICogcGFnZS9DaHJv
bWUuaDogQWRkZWQgbmV3IG1lbWJlcnMgYW5kIHJlcXVpcmVkIGNsYXNzL3N0cnVjdCBkZWNsYXJh
dGlvbnMuCisKKyAgICAgICAgKiBodG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRU
eXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5w
dXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KToKKyAgICAgICAgVXNlIENocm9tZTo6b3Bl
bkRhdGVUaW1lQ2hvb3NlciBpbnN0ZWFkIG9mIENocm9tZUNsaWVudDo6b3BlbkRhdGVUaW1lQ2hv
b3Nlci4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBpY2tlckluZGljYXRvckVsZW1lbnQ6Om9wZW5Qb3B1cCk6IERp
dHRvLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaDoKKyAgICAg
ICAgKFNwaW5CdXR0b25FbGVtZW50KTogRGVjbGFyZSB3aWxsT3BlblBvcHVwLgorICAgICAgICAq
IGh0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNw
aW5CdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgQ2hhbmdlIHRo
ZSBvcmRlciBvZiB0aW1lciBzdGFydCBhbmQgY2hhbmdpbmcgdGhlIHZhbHVlIHNvIHRoYXQgd2UK
KyAgICAgICAgY2FuIGNhbmNlbCB0aGUgdGltZXIgY29ycmVjdGx5LgorICAgICAgICBDYWxscyBD
aHJvbWU6OnJlZ2lzdGVyUG9wdXBPcGVuaW5nT2JzZXJ2ZXIgb24gc3RhcnRpbmcgbW91c2UgY2Fw
dHVyaW5nLgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1lbnQ6OndpbGxPcGVuUG9w
dXApOgorICAgICAgICBSZWxlYXNlIG1vdXNlIGV2ZW50IGNhcHR1cmluZyBiZWZvcmUgb3Blbmlu
ZyBhIG1vZGFsIGRpYWxvZy4KKyAgICAgICAgKFdlYkNvcmU6OlNwaW5CdXR0b25FbGVtZW50Ojpy
ZWxlYXNlQ2FwdHVyZSk6CisgICAgICAgIENhbGxzIENocm9tZTo6dW5yZWdpc3RlclBvcHVwT3Bl
bmluZ09ic2VydmVyLgorCisKIDIwMTItMTEtMTMgIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgRG9uJ3QgbWFyayBzY3JvbGxpbmcgY29udGVudHMgYXMg
ZGlydHkgaWYgUmVuZGVyTGF5ZXJCYWNraW5nIGlzIGdvaW5nIGF3YXkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IDViZjFmMjFjNjkxNjk1ZmNiZTYyYTQzMjUyMTNjY2M0ZDQzZjgy
YjIuLmEwYTZkMGQ0ZGFhZmQxZTUxNzhlOTkwYzMzNjQzMGYzNjcyNzQ0M2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDA3Nyw2ICs0MDc3LDcgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmggXAorCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUG9wdXBPcGVuaW5nT2JzZXJ2ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QcmludENv
bnRleHQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMDkyNTllMWQ4OWVi
OTBkZmU2YzRmMTEwMTVmMzAzOTQzZWRhNjZkMC4uNTNiZGE0YjQyZThlYWEzZGFiNGQ1NzU5ODEz
YThlZDY5MjQ3NmI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMDI5LDYgKzIwMjksNyBAQCBIRUFERVJT
ICs9IFwKICAgICBwYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIFwKICAgICBwYWdlL1BhZ2Uu
aCBcCiAgICAgcGFnZS9QYWdlVmlzaWJpbGl0eVN0YXRlLmggXAorICAgIHBhZ2UvUG9wdXBPcGVu
aW5nT2JzZXJ2ZXIuaCBcCiAgICAgcGFnZS9QcmludENvbnRleHQuaCBcCiAgICAgcGFnZS9TY3Jl
ZW4uaCBcCiAgICAgcGFnZS9TZWN1cml0eU9yaWdpbi5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA4
OWRjMDBlNDBhOGQ4YTA3NTZlNjViMGNlNTk5MmE4N2VmNmQ0ZmIwLi5mNzBmMTEwMzg4MmUyMDFl
YTRiZGVkMTlhOWI4NjEwNzc3MzMyMDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMTQ4LDYgKzMx
NDgsNyBAQAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmgnLAogICAg
ICAgICAgICAgJ3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAn
cGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuaCcsCisgICAgICAgICAgICAncGFnZS9Qb3B1cE9w
ZW5pbmdPYnNlcnZlci5oJywKICAgICAgICAgICAgICdwYWdlL1ByaW50Q29udGV4dC5jcHAnLAog
ICAgICAgICAgICAgJ3BhZ2UvU2NyZWVuLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9TY3JlZW4u
aCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IGYwNGY2N2QzOTJhOGRiZDBmM2IxOTRhNTUxMzJkNWNiYzUyNmM4MjUuLmFhMjFjNGM0ZWEwOThh
MWZiM2ViMDRjYzE2YTlkNDgyNzlhMDFkYTYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNzE3MSw2ICsyNzE3MSwxMCBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBvcHB1cE9wZW5p
bmdPYnNlcnZlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwYWdlXFByaW50Q29udGV4dC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZj
NGEyMjdlN2Y3OTA2MmM2MWZmZmI5NGU1ZDczN2QwZGIzZjVmMjkuLjk4NjgyOGYwNWEzY2FlYWZl
ZWNmODI3OWU0MTRiNGRiNWZiNGU1ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMjUsNiArMTAyNSw3IEBACiAJCTM3RERD
REE3MTM4NDUwMUMwMDA4Qjc5MyAvKiBNSFRNTFBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdERENEQTMxMzg0NTAxQzAwMDhCNzkzIC8qIE1I
VE1MUGFyc2VyLmggKi87IH07CiAJCTM3RTM1MjRCMTI0NTBDNTIwMEJBRjVEOSAvKiBJbnB1dFR5
cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdF
MzUyNEExMjQ1MEM1MjAwQkFGNUQ5IC8qIElucHV0VHlwZS5jcHAgKi87IH07CiAJCTM3RTM1MjRE
MTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3RTM1MjRDMTI0NTBDNjYwMEJBRjVEOSAvKiBJbnB1dFR5
cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkz
N0Y1NjdDRTE2NTM1OEY0MDBEREU5MkIgLyogUG9wdXBPcGVuaW5nT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NzJCMDk1MTY1MzU4NTYw
MDBBNDlDQSAvKiBQb3B1cE9wZW5pbmdPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTM3RjgxOEZEMEQ2NTc2MDYwMDVFMUYwNSAvKiBX
ZWJDb3JlVVJMUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDM3RjgxOEZCMEQ2NTc2MDYwMDVFMUYwNSAvKiBXZWJDb3JlVVJMUmVzcG9uc2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzN0Y4
MThGRTBENjU3NjA2MDA1RTFGMDUgLyogV2ViQ29yZVVSTFJlc3BvbnNlLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdGODE4RkMwRDY1NzYwNjAwNUUx
RjA1IC8qIFdlYkNvcmVVUkxSZXNwb25zZS5tbSAqLzsgfTsKIAkJMzdGRDQyOTgxMTgzNjg0NjAw
OTNDMDI5IC8qIFRyZWVEZXB0aExpbWl0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzN0ZENDI5NzExODM2ODQ2MDA5M0MwMjkgLyogVHJlZURlcHRoTGlt
aXQuaCAqLzsgfTsKQEAgLTgxNTAsNiArODE1MSw3IEBACiAJCTM3NUNEMjMxMTE5RDQzQzgwMEEy
QTg1OSAvKiBIeXBoZW5hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
eXBoZW5hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzVDRDIzOTExOUQ0
NEVBMDBBMkE4NTkgLyogSHlwaGVuYXRpb25NYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBIeXBoZW5hdGlvbk1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzc2RENDRTAxM0I0Rjk2NjAwMkVCRUZDIC8qIFRleHRSdW4uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dFJ1bi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTM3NzJCMDk1MTY1MzU4NTYwMDBBNDlDQSAvKiBQb3B1cE9wZW5pbmdP
YnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3B1cE9wZW5pbmdP
YnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzNzc0QUJBMzBGQTIxRUI0
MDBBRDdERTkgLyogT3ZlcmxhcFRlc3RSZXF1ZXN0Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE92ZXJsYXBUZXN0UmVxdWVzdENsaWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzNzdBM0E4RjE1RUZDRTlBMDA1OUY1QzcgLyogQml0bWFwSW1hZ2VD
Ry5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCaXRtYXBJbWFnZUNH
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzc3QzRDREQxMDE0RTlGNjAwQjlB
RTQyIC8qIFBsYWNlaG9sZGVyRG9jdW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGxhY2Vob2xkZXJEb2N1bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTU5NjUsNiArMTU5NjcsNyBAQAogCQkJCThBRjRFNTU4MTFEQzVBNjMwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZVRpbWluZy5jcHAgKi8sCiAJCQkJOEFGNEU1NTkxMURDNUE2MzAwMEVEM0RFIC8q
IFBlcmZvcm1hbmNlVGltaW5nLmggKi8sCiAJCQkJOEFGNEU1NUExMURDNUE2MzAwMEVEM0RFIC8q
IFBlcmZvcm1hbmNlVGltaW5nLmlkbCAqLywKKwkJCQkzNzcyQjA5NTE2NTM1ODU2MDAwQTQ5Q0Eg
LyogUG9wdXBPcGVuaW5nT2JzZXJ2ZXIuaCAqLywKIAkJCQlCNzc2RDQzQzExMDQ1Mjc1MDBCRUIw
RUMgLyogUHJpbnRDb250ZXh0LmNwcCAqLywKIAkJCQlCNzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMg
LyogUHJpbnRDb250ZXh0LmggKi8sCiAJCQkJQkNFQzAxQkEwQzI3NERBQzAwOUY0RUM5IC8qIFNj
cmVlbi5jcHAgKi8sCkBAIC0yNDc2Myw2ICsyNDc2Niw3IEBACiAJCQkJQUJDMTI4NzcwQjMzQUE2
RDAwQzY5M0Q1IC8qIFBvcHVwTWVudUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDM5RDAw
NkQxMUY4RTMwODAwNjA0MUYyIC8qIFBvcHVwTWVudU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMzQkUxMkIwRTk4MDkyRjAwODM1NTg4IC8qIFBvcHVwTWVudVN0eWxlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkzN0Y1NjdDRTE2NTM1OEY0MDBEREU5MkIgLyogUG9wdXBPcGVuaW5nT2JzZXJ2ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OURFMDgyNDVFNTkwMDFFOUFCQyAvKiBQb3NpdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc0NkFGMkMxNEY0RERFNjAwM0U3QTcwIC8qIFBvc2l0
aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NDZBRjJFMTRGNERERTYwMDNFN0E3
MCAvKiBQb3NpdGlvbkVycm9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAK
aW5kZXggYWM2ZmJjYWVlYmI5YjcyYjg0YWJmNTM4NGRhNWJlYzE2ZGQ3ODdkYS4uYmM0MzcyMWIy
ZGM5YjZmYmJmZDE1MmMwNGIyYTVmN2RkODBhYjA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAK
QEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlu
cHV0VHlwZS5oIgogCiAjaW5jbHVkZSAiQ2hyb21lLmgiCi0jaW5jbHVkZSAiQ2hyb21lQ2xpZW50
LmgiCiAjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNTcsNyArNTYsNyBAQCB2b2lkIEJhc2VDaG9v
c2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50
KikKICAgICBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAgICAgaWYgKCFl
bGVtZW50KCktPnNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhwYXJhbWV0ZXJzKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIG1fZGF0ZVRpbWVDaG9vc2VyID0gY2hyb21lLT5jbGllbnQoKS0+
b3BlbkRhdGVUaW1lQ2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsKKyAgICBtX2RhdGVUaW1lQ2hv
b3NlciA9IGNocm9tZS0+b3BlbkRhdGVUaW1lQ2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsKIH0K
IAogUmVuZGVyT2JqZWN0KiBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZTo6Y3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVs
ZW1lbnQuY3BwCmluZGV4IGFjMDM5MTcyNmVhMzA1OGQzMzllNDdhNGZmNjM4ODRhMWEzNTVlNmMu
LmQ5NjkwMjRiY2VkYTA4Nzg4MWZiOTI2MzM3ZmFhZDk4YjFkNGVmNDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIgogCiAj
aW5jbHVkZSAiQ2hyb21lLmgiCi0jaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAi
RXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyRGV0YWlsc01hcmtl
ci5oIgpAQCAtMTE3LDcgKzExNiw3IEBAIHZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6b3Bl
blBvcHVwKCkKICAgICBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAgICAg
aWYgKCFtX3BpY2tlckluZGljYXRvck93bmVyLT5zZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRl
cnMocGFyYW1ldGVycykpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nob29zZXIgPSBjaHJvbWUt
PmNsaWVudCgpLT5vcGVuRGF0ZVRpbWVDaG9vc2VyKHRoaXMsIHBhcmFtZXRlcnMpOworICAgIG1f
Y2hvb3NlciA9IGNocm9tZS0+b3BlbkRhdGVUaW1lQ2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsK
IH0KIAogdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjbG9zZVBvcHVwKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmNwcAppbmRleCBlOWIw
ZWVjNjY1YmY0YjgxYmVkY2U2YzgyOTlmOWJiZmFlZTdkMGE3Li43NDhiNTg5NDA1ZmVmNjE3ZDBi
Njc5OTUzMzBlNjA4MzhhZjg4YWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9TcGluQnV0dG9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvU3BpbkJ1dHRvbkVsZW1lbnQuY3BwCkBAIC0yNywxMSArMjcsMTMgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTcGluQnV0dG9uRWxlbWVudC5oIgogCisjaW5jbHVkZSAiQ2hy
b21lLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
TW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIK
ICNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZS5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnQuaCIKQEAg
LTEwMCw5ICsxMDIsMTMgQEAgdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFu
ZGxlcihFdmVudCogZXZlbnQpCiAgICAgICAgICAgICAgICAgbV9zcGluQnV0dG9uT3duZXItPmZv
Y3VzQW5kU2VsZWN0U3BpbkJ1dHRvbk93bmVyKCk7CiAgICAgICAgICAgICBpZiAocmVuZGVyZXIo
KSkgewogICAgICAgICAgICAgICAgIGlmIChtX3VwRG93blN0YXRlICE9IEluZGV0ZXJtaW5hdGUp
IHsKKyAgICAgICAgICAgICAgICAgICAgLy8gQSBKYXZhU2NyaXB0IGV2ZW50IGhhbmRsZXIgY2Fs
bGVkIGluIGRvU3RlcEFjdGlvbigpIGJlbG93CisgICAgICAgICAgICAgICAgICAgIC8vIG1pZ2h0
IGNoYW5nZSB0aGUgZWxlbWVudCBzdGF0ZSBhbmQgd2UgbWlnaHQgbmVlZCB0bworICAgICAgICAg
ICAgICAgICAgICAvLyBjYW5jZWwgdGhlIHJlcGVhdGluZyB0aW1lciBieSB0aGUgc3RhdGUgY2hh
bmdlLiBJZiB3ZQorICAgICAgICAgICAgICAgICAgICAvLyBzdGFydGVkIHRoZSB0aW1lciBhZnRl
ciBkb1N0ZXBBY3Rpb24oKSwgd2Ugd291bGQgaGF2ZSBubworICAgICAgICAgICAgICAgICAgICAv
LyBjaGFuY2UgdG8gY2FuY2VsIHRoZSB0aW1lci4KKyAgICAgICAgICAgICAgICAgICAgc3RhcnRS
ZXBlYXRpbmdUaW1lcigpOwogICAgICAgICAgICAgICAgICAgICBkb1N0ZXBBY3Rpb24obV91cERv
d25TdGF0ZSA9PSBVcCA/IDEgOiAtMSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChyZW5kZXJl
cigpKQotICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRSZXBlYXRpbmdUaW1lcigpOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGV2ZW50LT5zZXREZWZh
dWx0SGFuZGxlZCgpOwpAQCAtMTE1LDYgKzEyMSwxMCBAQCB2b2lkIFNwaW5CdXR0b25FbGVtZW50
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBpZiAo
RnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkgewogICAgICAgICAgICAgICAgICAg
ICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZSh0aGlz
KTsKICAgICAgICAgICAgICAgICAgICAgbV9jYXB0dXJpbmcgPSB0cnVlOworICAgICAgICAgICAg
ICAgICAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50KCktPnBhZ2UoKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHBhZ2UtPmNocm9tZSgpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhZ2UtPmNocm9tZSgpLT5yZWdpc3RlclBvcHVwT3BlbmluZ09ic2VydmVyKHRoaXMp
OworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogICAgICAgICAgICAgVXBEb3duU3RhdGUgb2xkVXBEb3duU3RhdGUgPSBtX3VwRG93blN0YXRl
OwpAQCAtMTMxLDYgKzE0MSwxMiBAQCB2b2lkIFNwaW5CdXR0b25FbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAgICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIoZXZlbnQpOwogfQogCit2b2lkIFNwaW5CdXR0b25FbGVtZW50Ojp3aWxsT3Bl
blBvcHVwKCkKK3sKKyAgICByZWxlYXNlQ2FwdHVyZSgpOworICAgIG1fdXBEb3duU3RhdGUgPSBJ
bmRldGVybWluYXRlOworfQorCiB2b2lkIFNwaW5CdXR0b25FbGVtZW50Ojpmb3J3YXJkRXZlbnQo
RXZlbnQqIGV2ZW50KQogewogICAgIGlmICghcmVuZGVyQm94KCkpCkBAIC0xODMsNiArMTk5LDEw
IEBAIHZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6OnJlbGVhc2VDYXB0dXJlKCkKICAgICAgICAgaWYg
KEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpIHsKICAgICAgICAgICAgIGZyYW1l
LT5ldmVudEhhbmRsZXIoKS0+c2V0Q2FwdHVyaW5nTW91c2VFdmVudHNOb2RlKDApOwogICAgICAg
ICAgICAgbV9jYXB0dXJpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgIGlmIChQYWdlKiBwYWdlID0g
ZG9jdW1lbnQoKS0+cGFnZSgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHBhZ2UtPmNocm9tZSgp
KQorICAgICAgICAgICAgICAgICAgICBwYWdlLT5jaHJvbWUoKS0+dW5yZWdpc3RlclBvcHVwT3Bl
bmluZ09ic2VydmVyKHRoaXMpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NwaW5CdXR0b25FbGVtZW50LmgKaW5kZXgg
MzI1MWYzN2QzOWY3YjM4M2YzNjJlZTMyYzM4NTk4NTM0NTgzMThhNC4uYmNiODE0N2M1ODljNTZm
N2I4MjY1YjczZDc3ODE2M2ZiMzk1Y2U3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvU3BpbkJ1dHRvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9TcGluQnV0dG9uRWxlbWVudC5oCkBAIC0yOCwxMSArMjgsMTIgQEAKICNkZWZpbmUgU3Bp
bkJ1dHRvbkVsZW1lbnRfaAogCiAjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRl
ICJQb3B1cE9wZW5pbmdPYnNlcnZlci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgU3BpbkJ1dHRvbkVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVs
ZW1lbnQgeworY2xhc3MgU3BpbkJ1dHRvbkVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQs
IHB1YmxpYyBQb3B1cE9wZW5pbmdPYnNlcnZlciB7CiBwdWJsaWM6CiAgICAgZW51bSBVcERvd25T
dGF0ZSB7CiAgICAgICAgIEluZGV0ZXJtaW5hdGUsIC8vIEhvdmVyZWQsIGJ1dCB0aGUgZXZlbnQg
aXMgbm90IGhhbmRsZWQuCkBAIC03NSw2ICs3Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3RvcigpIGNvbnN0IE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yKCkgY29uc3QgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKKyAgICB2aXJ0
dWFsIHZvaWQgd2lsbE9wZW5Qb3B1cCgpIE9WRVJSSURFOwogICAgIHZvaWQgZG9TdGVwQWN0aW9u
KGludCk7CiAgICAgdm9pZCBzdGFydFJlcGVhdGluZ1RpbWVyKCk7CiAgICAgdm9pZCBzdG9wUmVw
ZWF0aW5nVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBmY2UwYzExNjY4ZWJiM2Vj
MzVlN2I5ZjVmMThlMzg1MjkwOTFjMWU3Li44NGRmY2I0MjMyN2MwODMwMDFhNTU0NGVmOGM3NTI5
YzJlMzgzNDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAKICNp
bmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJETlMuaCIKKyNpbmNsdWRlICJEYXRl
VGltZUNob29zZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZpbGVJY29u
TG9hZGVyLmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKQEAgLTQwLDYgKzQxLDcgQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUGFnZUdyb3VwTG9hZERlZmVycmVyLmgiCisjaW5jbHVkZSAiUG9wdXBPcGVuaW5n
T2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUhhbmRsZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCkBAIC0zMDksNiArMzExLDcg
QEAgdm9pZCBDaHJvbWU6OnJ1bkphdmFTY3JpcHRBbGVydChGcmFtZSogZnJhbWUsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKICAgICBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgZGVmZXJyZXIobV9wYWdl
LCB0cnVlKTsKIAogICAgIEFTU0VSVChmcmFtZSk7CisgICAgbm90aWZ5UG9wdXBPcGVuaW5nT2Jz
ZXJ2ZXJzKCk7CiAgICAgbV9jbGllbnQtPnJ1bkphdmFTY3JpcHRBbGVydChmcmFtZSwgZnJhbWUt
PmRpc3BsYXlTdHJpbmdNb2RpZmllZEJ5RW5jb2RpbmcobWVzc2FnZSkpOwogfQogCkBAIC0zMjIs
NiArMzI1LDcgQEAgYm9vbCBDaHJvbWU6OnJ1bkphdmFTY3JpcHRDb25maXJtKEZyYW1lKiBmcmFt
ZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIFBhZ2VHcm91cExvYWREZWZlcnJlciBkZWZl
cnJlcihtX3BhZ2UsIHRydWUpOwogCiAgICAgQVNTRVJUKGZyYW1lKTsKKyAgICBub3RpZnlQb3B1
cE9wZW5pbmdPYnNlcnZlcnMoKTsKICAgICByZXR1cm4gbV9jbGllbnQtPnJ1bkphdmFTY3JpcHRD
b25maXJtKGZyYW1lLCBmcmFtZS0+ZGlzcGxheVN0cmluZ01vZGlmaWVkQnlFbmNvZGluZyhtZXNz
YWdlKSk7CiB9CiAKQEAgLTMzNSw2ICszMzksNyBAQCBib29sIENocm9tZTo6cnVuSmF2YVNjcmlw
dFByb21wdChGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgcHJvbXB0LCBjb25zdCBTdHJpbgog
ICAgIFBhZ2VHcm91cExvYWREZWZlcnJlciBkZWZlcnJlcihtX3BhZ2UsIHRydWUpOwogCiAgICAg
QVNTRVJUKGZyYW1lKTsKKyAgICBub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMoKTsKICAgICBi
b29sIG9rID0gbV9jbGllbnQtPnJ1bkphdmFTY3JpcHRQcm9tcHQoZnJhbWUsIGZyYW1lLT5kaXNw
bGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nKHByb21wdCksIGZyYW1lLT5kaXNwbGF5U3RyaW5n
TW9kaWZpZWRCeUVuY29kaW5nKGRlZmF1bHRWYWx1ZSksIHJlc3VsdCk7CiAKICAgICBpZiAob2sp
CkBAIC00NTAsMTIgKzQ1NSwyMiBAQCB2b2lkIENocm9tZTo6ZW51bWVyYXRlQ2hvc2VuRGlyZWN0
b3J5KEZpbGVDaG9vc2VyKiBmaWxlQ2hvb3NlcikKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xP
UikKIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBDaHJvbWU6OmNyZWF0ZUNvbG9yQ2hvb3NlcihD
b2xvckNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgQ29sb3ImIGluaXRpYWxDb2xvcikKIHsK
KyAgICBub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMoKTsKICAgICByZXR1cm4gbV9jbGllbnQt
PmNyZWF0ZUNvbG9yQ2hvb3NlcihjbGllbnQsIGluaXRpYWxDb2xvcik7CiB9CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQorUGFzc1JlZlB0cjxEYXRlVGlt
ZUNob29zZXI+IENocm9tZTo6b3BlbkRhdGVUaW1lQ2hvb3NlcihEYXRlVGltZUNob29zZXJDbGll
bnQqIGNsaWVudCwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYgcGFyYW1ldGVycykK
K3sKKyAgICBub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMoKTsKKyAgICByZXR1cm4gbV9jbGll
bnQtPm9wZW5EYXRlVGltZUNob29zZXIoY2xpZW50LCBwYXJhbWV0ZXJzKTsKK30KKyNlbmRpZgor
CiB2b2lkIENocm9tZTo6cnVuT3BlblBhbmVsKEZyYW1lKiBmcmFtZSwgUGFzc1JlZlB0cjxGaWxl
Q2hvb3Nlcj4gZmlsZUNob29zZXIpCiB7CisgICAgbm90aWZ5UG9wdXBPcGVuaW5nT2JzZXJ2ZXJz
KCk7CiAgICAgbV9jbGllbnQtPnJ1bk9wZW5QYW5lbChmcmFtZSwgZmlsZUNob29zZXIpOwogfQog
CkBAIC01NDIsMTEgKzU1NywxMyBAQCBib29sIENocm9tZTo6aGFzT3BlbmVkUG9wdXAoKSBjb25z
dAogCiBQYXNzUmVmUHRyPFBvcHVwTWVudT4gQ2hyb21lOjpjcmVhdGVQb3B1cE1lbnUoUG9wdXBN
ZW51Q2xpZW50KiBjbGllbnQpIGNvbnN0CiB7CisgICAgbm90aWZ5UG9wdXBPcGVuaW5nT2JzZXJ2
ZXJzKCk7CiAgICAgcmV0dXJuIG1fY2xpZW50LT5jcmVhdGVQb3B1cE1lbnUoY2xpZW50KTsKIH0K
IAogUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IENocm9tZTo6Y3JlYXRlU2VhcmNoUG9wdXBN
ZW51KFBvcHVwTWVudUNsaWVudCogY2xpZW50KSBjb25zdAogeworICAgIG5vdGlmeVBvcHVwT3Bl
bmluZ09ic2VydmVycygpOwogICAgIHJldHVybiBtX2NsaWVudC0+Y3JlYXRlU2VhcmNoUG9wdXBN
ZW51KGNsaWVudCk7CiB9CiAKQEAgLTU1NSw0ICs1NzIsMjQgQEAgYm9vbCBDaHJvbWU6OnJlcXVp
cmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKQogICAgIHJldHVybiBtX2NsaWVudC0+cmVx
dWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjaygpOwogfQogCit2b2lkIENocm9tZTo6cmVn
aXN0ZXJQb3B1cE9wZW5pbmdPYnNlcnZlcihQb3B1cE9wZW5pbmdPYnNlcnZlciogb2JzZXJ2ZXIp
Cit7CisgICAgQVNTRVJUKG9ic2VydmVyKTsKKyAgICBtX3BvcHVwT3BlbmluZ09ic2VydmVycy5h
cHBlbmQob2JzZXJ2ZXIpOworfQorCit2b2lkIENocm9tZTo6dW5yZWdpc3RlclBvcHVwT3Blbmlu
Z09ic2VydmVyKFBvcHVwT3BlbmluZ09ic2VydmVyKiBvYnNlcnZlcikKK3sKKyAgICBzaXplX3Qg
aW5kZXggPSBtX3BvcHVwT3BlbmluZ09ic2VydmVycy5maW5kKG9ic2VydmVyKTsKKyAgICBBU1NF
UlQoaW5kZXggIT0gbm90Rm91bmQpOworICAgIG1fcG9wdXBPcGVuaW5nT2JzZXJ2ZXJzLnJlbW92
ZShpbmRleCk7Cit9CisKK3ZvaWQgQ2hyb21lOjpub3RpZnlQb3B1cE9wZW5pbmdPYnNlcnZlcnMo
KSBjb25zdAoreworICAgIGNvbnN0IFZlY3RvcjxQb3B1cE9wZW5pbmdPYnNlcnZlcio+IG9ic2Vy
dmVycyhtX3BvcHVwT3BlbmluZ09ic2VydmVycyk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBvYnNlcnZlcnMuc2l6ZSgpOyArK2kpCisgICAgICAgIG9ic2VydmVyc1tpXS0+d2lsbE9wZW5Q
b3B1cCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRl
eCA1NjM4ZjNhNDhhZGQ4OTU5ZTMwYWViMGQyMDVhZDNlNzBiOGNhYzE5Li5lNzhmMzg1ODFhNjRm
YjBiZjhmYzc3MWEyY2JlNzM0NGFlNmFiMjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTQxLDYg
KzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENvbG9yQ2hvb3NlcjsKICAg
ICBjbGFzcyBDb2xvckNob29zZXJDbGllbnQ7CiAjZW5kaWYKKyAgICBjbGFzcyBEYXRlVGltZUNo
b29zZXI7CisgICAgY2xhc3MgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50OwogICAgIGNsYXNzIEZpbGVD
aG9vc2VyOwogICAgIGNsYXNzIEZpbGVJY29uTG9hZGVyOwogICAgIGNsYXNzIEZsb2F0UmVjdDsK
QEAgLTUzLDggKzU1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwog
ICAgIGNsYXNzIFBvcHVwTWVudTsKICAgICBjbGFzcyBQb3B1cE1lbnVDbGllbnQ7CisgICAgY2xh
c3MgUG9wdXBPcGVuaW5nT2JzZXJ2ZXI7CiAgICAgY2xhc3MgU2VhcmNoUG9wdXBNZW51OwogCisg
ICAgc3RydWN0IERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnM7CiAgICAgc3RydWN0IEZyYW1lTG9h
ZFJlcXVlc3Q7CiAgICAgc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzOwogICAgIHN0cnVjdCBXaW5k
b3dGZWF0dXJlczsKQEAgLTE0OSw2ICsxNTMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYg
RU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgICAgIFBhc3NPd25QdHI8Q29sb3JDaG9vc2Vy
PiBjcmVhdGVDb2xvckNob29zZXIoQ29sb3JDaG9vc2VyQ2xpZW50KiwgY29uc3QgQ29sb3ImIGlu
aXRpYWxDb2xvcik7CiAjZW5kaWYKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBF
UykKKyAgICAgICAgUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+IG9wZW5EYXRlVGltZUNob29z
ZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50KiwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVy
cyYpOworI2VuZGlmCiAKICAgICAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVm
UHRyPEZpbGVDaG9vc2VyPik7CiAgICAgICAgIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBW
ZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29uTG9hZGVyKik7CkBAIC0xNzAsMTEgKzE3NywxNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBhc3NSZWZQdHI8UG9wdXBNZW51PiBjcmVhdGVQ
b3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3Q7CiAgICAgICAgIFBhc3NSZWZQdHI8U2Vh
cmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29u
c3Q7CiAKKyAgICAgICAgdm9pZCByZWdpc3RlclBvcHVwT3BlbmluZ09ic2VydmVyKFBvcHVwT3Bl
bmluZ09ic2VydmVyKik7CisgICAgICAgIHZvaWQgdW5yZWdpc3RlclBvcHVwT3BlbmluZ09ic2Vy
dmVyKFBvcHVwT3BlbmluZ09ic2VydmVyKik7CisKICAgICBwcml2YXRlOgogICAgICAgICBDaHJv
bWUoUGFnZSosIENocm9tZUNsaWVudCopOworICAgICAgICB2b2lkIG5vdGlmeVBvcHVwT3Blbmlu
Z09ic2VydmVycygpIGNvbnN0OwogCiAgICAgICAgIFBhZ2UqIG1fcGFnZTsKICAgICAgICAgQ2hy
b21lQ2xpZW50KiBtX2NsaWVudDsKKyAgICAgICAgVmVjdG9yPFBvcHVwT3BlbmluZ09ic2VydmVy
Kj4gbV9wb3B1cE9wZW5pbmdPYnNlcnZlcnM7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Qb3B1cE9wZW5pbmdPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Qb3B1cE9wZW5pbmdPYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlZjZhNGI0OTM3YzFkZjVm
NmQ4NDRjNDU4NjdkMDM3ZjhhMjFlNzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BvcHVwT3BlbmluZ09ic2VydmVyLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisgKiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgUG9wdXBPcGVuaW5nT2JzZXJ2ZXJfaAorI2RlZmluZSBQb3B1cE9w
ZW5pbmdPYnNlcnZlcl9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUG9wdXBPcGVu
aW5nT2JzZXJ2ZXIgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCB3aWxsT3BlblBvcHVwKCkg
PSAwOworCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+UG9wdXBPcGVuaW5nT2JzZXJ2ZXIoKSB7
IH0KK307CisgICAgCit9CisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>