<?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>49750</bug_id>
          
          <creation_ts>2010-11-18 10:57:40 -0800</creation_ts>
          <short_desc>[Qt] Compile with QT_NO_GRAPHICSVIEW</short_desc>
          <delta_ts>2014-01-29 09:14:11 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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="Sam Magnuson">smagnuso</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>annulen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>loic.yhuel</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>310961</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Magnuson">smagnuso</who>
    <bug_when>2010-11-18 10:57:40 -0800</bug_when>
    <thetext>Compile when QT_NO_GRAPHICSVIEW is defined. I want to eliminate all that code and don&apos;t use QGraphicsWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310966</commentid>
    <comment_count>1</comment_count>
      <attachid>74261</attachid>
    <who name="Sam Magnuson">smagnuso</who>
    <bug_when>2010-11-18 11:00:55 -0800</bug_when>
    <thetext>Created attachment 74261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324283</commentid>
    <comment_count>2</comment_count>
      <attachid>74261</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-12-19 21:09:49 -0800</bug_when>
    <thetext>Comment on attachment 74261
Patch

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

The patch does not seem to apply r- for that (file WebKit/qt/ChangeLog).

How have you tested the patch ?

&gt; WebKit/qt/WebCoreSupport/PageClientQt.cpp:119
&gt; +#if !defined(QT_NO_GRAPHICSVIEW)

Is this needed if USE(ACCELERATED_COMPOSITING) or USE(TEXTURE_MAPPER) is false ?

&gt; WebKit/qt/WebCoreSupport/PageClientQt.cpp:259
&gt; +#if !defined(QT_NO_GRAPHICSVIEW)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332763</commentid>
    <comment_count>3</comment_count>
      <attachid>78614</attachid>
    <who name="Sam Magnuson">smagnuso</who>
    <bug_when>2011-01-11 16:05:25 -0800</bug_when>
    <thetext>Created attachment 78614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334840</commentid>
    <comment_count>4</comment_count>
      <attachid>79050</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-14 20:25:18 -0800</bug_when>
    <thetext>Created attachment 79050
Rebaseline for cq</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334846</commentid>
    <comment_count>5</comment_count>
      <attachid>79050</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 21:39:05 -0800</bug_when>
    <thetext>Comment on attachment 79050
Rebaseline for cq

Clearing flags on attachment: 79050

Committed r75870: &lt;http://trac.webkit.org/changeset/75870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334847</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-14 21:39:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335000</commentid>
    <comment_count>7</comment_count>
      <attachid>79088</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-15 20:03:10 -0800</bug_when>
    <thetext>Created attachment 79088
Hook up QT_NO_GRAPHICSVIEW with qt_minimal configuration.

Reopen to fix a few remaining issues building with QT_NO_GRAPHICSVIEW. In addition enable building without accelerated compositing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335001</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-15 20:05:56 -0800</bug_when>
    <thetext>Attachment 79088 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/JavaScriptCore/Change...&quot; exit_code: 1

WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp:271:  Missing space before {  [whitespace/braces] [5]
Total errors found: 1 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335003</commentid>
    <comment_count>9</comment_count>
      <attachid>79089</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-15 20:12:33 -0800</bug_when>
    <thetext>Created attachment 79089
fix style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335007</commentid>
    <comment_count>10</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-15 20:53:28 -0800</bug_when>
    <thetext>Attachment 79088 did not build on qt:
Build output: http://queues.webkit.org/results/7505088</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335014</commentid>
    <comment_count>11</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-15 21:41:17 -0800</bug_when>
    <thetext>Attachment 79089 did not build on qt:
Build output: http://queues.webkit.org/results/7533120</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335127</commentid>
    <comment_count>12</comment_count>
      <attachid>79124</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-01-16 20:16:54 -0800</bug_when>
    <thetext>Created attachment 79124
remove changes from GraphicsLayerQt* to fix build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336391</commentid>
    <comment_count>13</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2011-01-19 01:27:31 -0800</bug_when>
    <thetext>&gt; Source/JavaScriptCore/wtf/Platform.h:1082
&gt; +#if (PLATFORM(MAC) &amp;&amp; !defined(BUILDING_ON_TIGER)) || PLATFORM(IOS) || PLATFORM(QT) &amp;&amp; (!defined(QT_NO_GRAPHICSVIEW) || USE(TEXTURE_MAPPER)) || (PLATFORM(WIN) &amp;&amp; !OS(WINCE) &amp;&amp;!defined(WIN_CAIRO))

QT_NO_GRAPHICSVIEW check requires inclusion of qconfig.h, if shrinked Qt configuration is used

&gt; WebKit.pri:142
&gt;  }

I&apos;m building with &quot;Tools/Scripts/build-webkit --qt --minimal&quot; on Linux, however this defines does not appear in g++ command line. But I&apos;m using largely shrinked Qt (embedded) configuration

&gt; WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp:20
&gt; +#ifndef QT_NO_GRAPHICSVIEW

This line should go after line 21 to get QT_NO_GRAPHICSVIEW defined if shrinked Qt configuration is used</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336392</commentid>
    <comment_count>14</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2011-01-19 01:30:22 -0800</bug_when>
    <thetext>I also needed to move moc_qgraphicswebview.cpp into ifdef guard to build:

diff --git a/Source/WebKit/qt/Api/qgraphicswebview.cpp b/Source/WebKit/qt/Api/qgraphicswebview.cpp
index b6ac31b..19feda3 100644
--- a/Source/WebKit/qt/Api/qgraphicswebview.cpp
+++ b/Source/WebKit/qt/Api/qgraphicswebview.cpp
@@ -1145,6 +1145,7 @@ void QGraphicsWebView::inputMethodEvent(QInputMethodEvent* ev)
     \sa QWebPage::linkDelegationPolicy()
 */
 
+#include &quot;moc_qgraphicswebview.cpp&quot;
+
 #endif // QT_NO_GRAPHICSVIEW
 
-#include &quot;moc_qgraphicswebview.cpp&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342899</commentid>
    <comment_count>15</comment_count>
      <attachid>78614</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-31 16:07:36 -0800</bug_when>
    <thetext>Comment on attachment 78614
Patch

Cleared Kenneth Rohde Christiansen&apos;s review+ from obsolete attachment 78614 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346243</commentid>
    <comment_count>16</comment_count>
      <attachid>81391</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-02-05 22:08:49 -0800</bug_when>
    <thetext>Created attachment 81391
rebaseline + minor fixes as suggested</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348851</commentid>
    <comment_count>17</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2011-02-10 00:25:53 -0800</bug_when>
    <thetext>I think it&apos;s better to add 

#if PLATFORM(QT)
#include &lt;QtCore/qconfig.h&gt;
#endif

to Platform.h somewhere before condition with QT_NO_GRAPHICSVIEW is added (useful if custom Qt configuration is used)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350741</commentid>
    <comment_count>18</comment_count>
      <attachid>81391</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-02-14 10:23:33 -0800</bug_when>
    <thetext>Comment on attachment 81391
rebaseline + minor fixes as suggested

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

&gt; Source/WebKit/qt/Api/qwebview.cpp:38
&gt; +

Why this include?

&gt; Source/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp:-20
&gt; -#include &quot;../util.h&quot;

Could you instead edit the tests.pro and remove the subdir completely? If the config is minimal then don&apos;t add the dir, It&apos;s a bit more elegant to me.

&gt; Tools/QtTestBrowser/launcherwindow.h:98
&gt; +#endif

It needs a rebase the code changed a bit. No big deal though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350893</commentid>
    <comment_count>19</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-02-14 14:37:47 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 81391 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=81391&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/qt/Api/qwebview.cpp:38
&gt; &gt; +
&gt; 
&gt; Why this include?

I had an explanation in the ChangeLog:

Api/qwebview.cpp: Include PassOwnPtr.h for OwnPtr::release() in QWebViewPrivate::detachCurrentPage.

&gt; 
&gt; &gt; Source/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp:-20
&gt; &gt; -#include &quot;../util.h&quot;
&gt; 
&gt; Could you instead edit the tests.pro and remove the subdir completely? If the config is minimal then don&apos;t add the dir, It&apos;s a bit more elegant to me.

Guarding entire files is preferred over configuration in the build system (e.g. pro files) for the project. This is the consensus based on some previous webkit dev discussions and not just my personal opinion (although I agree with it).

Also I would not disable all the autotest for the minimal config as I was hoping the (minimal) buildbot could actually run some of the autotests.

&gt; 
&gt; &gt; Tools/QtTestBrowser/launcherwindow.h:98
&gt; &gt; +#endif
&gt; 
&gt; It needs a rebase the code changed a bit. No big deal though.

I will wait for more comments and will rebase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418723</commentid>
    <comment_count>20</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2011-06-10 09:21:03 -0700</bug_when>
    <thetext>What happened to this patch?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74261</attachid>
            <date>2010-11-18 11:00:55 -0800</date>
            <delta_ts>2011-01-11 16:05:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49750-20101118110633.patch</filename>
            <type>text/plain</type>
            <size>13641</size>
            <attacher name="Sam Magnuson">smagnuso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDBhODJiNWRiMmMxNDlhZTk1OTE0ZmZkYzk3Yjk5NDFjNjVlNjljZC4uNDU4OGRmMjIxMjg3NWM3
YWQwZjU0MGQwMzRkMDc0YWFlOGQ3NDE1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwxNyBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtRdF0gQ29tcGlsZSB3aXRoIFFUX05P
X0dSQVBISUNTVklFVworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDk3NTAKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5
ZXJRdC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0
Lmg6CisgICAgICAgICogcGxhdGZvcm0vcXQvUGxhdGZvcm1Nb3VzZUV2ZW50UXQuY3BwOgorCisy
MDEwLTExLTE4ICBTYW0gTWFnbnVzb24gIDxzbWFnbnVzb0BnbWFpbC5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgW1F0XSBDb21waWxlIHdpdGgg
UVRfTk9fU0NSSVBUCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00OTc0OAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzTGF5ZXJRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
TGF5ZXJRdC5jcHAKaW5kZXggNDkzODdhMjk3YzA1MzU4YThkOGM0MTEzNmFmYjJiNjk2MzRjOWE5
Ni4uYmU2YjQ2NmVhNDljMTU0MWY5NTM5NjhlMzYyZDlkYmI5ZDFmOGQ3ZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcApAQCAtMjAsNiAr
MjAsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJRdC5o
IgogCisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQorCiAjaW5jbHVkZSAiQ3VycmVu
dFRpbWUuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKQEAgLTE3ODQsMyArMTc4Niw2IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0OjpyZXN1bWVB
bmltYXRpb25zKCkKIH0KIAogI2luY2x1ZGUgPEdyYXBoaWNzTGF5ZXJRdC5tb2M+CisKKworI2Vu
ZGlmIC8vIFFUX05PX0dSQVBISUNTVklFVwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NMYXllclF0LmgKaW5kZXggZWQ1MzVlYjNmMWFlMmIwNjMzYzgxMDVmYTEzMWQx
MzlmZjU1NjM3NC4uNDc5N2FmM2ZlZWM0OTNmZTQ3MjNlOTcyNmEzMGE4YTgwOWM1MDg5NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5oCkBAIC0y
Niw2ICsyNiw4IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzTGF5ZXJDbGllbnQuaCIKIAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHcmFwaGljc0xheWVyUXRJbXBsOwpAQCAtOTEs
NiArOTMsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE93blB0cjxHcmFwaGljc0xheWVyUXRJ
bXBsPiBtX2ltcGw7CiB9OwotCiB9CisjZW5kaWYKICNlbmRpZiAvLyBHcmFwaGljc0xheWVyUXRf
aApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcAppbmRleCBh
ODk1NmJmYzEyZGUzZTU3NjRlZmY4ZWFmZTJjZmMxNmZlYWE4YTdjLi4xMjVhZTUyMmJkOWY0Yzkx
NzViYjY3MDk3NjVjNTFhYTVkZDNjZjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0
L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRm
b3JtTW91c2VFdmVudFF0LmNwcApAQCAtMzQsNiArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiBQbGF0Zm9ybU1vdXNlRXZl
bnQ6OlBsYXRmb3JtTW91c2VFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGV2ZW50LCBp
bnQgY2xpY2tDb3VudCkKIHsKICAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsK
QEAgLTY5LDYgKzcwLDcgQEAgUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQo
UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWMKICAgICBtX2FsdEtleSA9
ICAoZXZlbnQtPm1vZGlmaWVycygpICYgUXQ6OkFsdE1vZGlmaWVyKTsKICAgICBtX21ldGFLZXkg
PSAoZXZlbnQtPm1vZGlmaWVycygpICYgUXQ6Ok1ldGFNb2RpZmllcik7CiB9CisjZW5kaWYgLy8g
UVRfTk9fR1JBUEhJQ1NWSUVXCiAKIFBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2
ZW50KFFJbnB1dEV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCiB7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0FwaS9xZ3JhcGhp
Y3N3ZWJ2aWV3LmNwcAppbmRleCA2Y2MyYWEwNTU4NWRhZDFiNWEzOWIyOWViYWFmMzdiNzY1ODg0
ZWE2Li42YWFkNzdhMzFiYmI3NThiMDY0ZWM0ZjM4MTQ1NDA4NDc2ZDQ4Njg1IDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkv
cWdyYXBoaWNzd2Vidmlldy5jcHAKQEAgLTIxLDYgKzIxLDggQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJxZ3JhcGhpY3N3ZWJ2aWV3LmgiCiAKKyNpZiAhZGVmaW5lZChRVF9OT19H
UkFQSElDU1ZJRVcpCisKICNpbmNsdWRlICJxd2ViZnJhbWUuaCIKICNpbmNsdWRlICJxd2ViZnJh
bWVfcC5oIgogI2luY2x1ZGUgInF3ZWJwYWdlLmgiCkBAIC0xMTQzLDQgKzExNDUsNiBAQCB2b2lk
IFFHcmFwaGljc1dlYlZpZXc6OmlucHV0TWV0aG9kRXZlbnQoUUlucHV0TWV0aG9kRXZlbnQqIGV2
KQogICAgIFxzYSBRV2ViUGFnZTo6bGlua0RlbGVnYXRpb25Qb2xpY3koKQogKi8KIAorI2VuZGlm
IC8vIFFUX05PX0dSQVBISUNTVklFVworCiAjaW5jbHVkZSAibW9jX3FncmFwaGljc3dlYnZpZXcu
Y3BwIgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmggYi9XZWJL
aXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaAppbmRleCA4NjIwYWM1NjFmZWRlYjg3NzU5NDEw
ZmMwZjc1MWNhYjVmMDFlMWUzLi5lMDhlODk1MmMyNzAyYWE1YWQyZDYzNmFhMzA1YjMxOWZmYzBi
OWI0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaAorKysgYi9X
ZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaApAQCAtMjksNiArMjksOCBAQAogI2luY2x1
ZGUgPFF0R3VpL3FwYWludGVyLmg+CiAjaW5jbHVkZSA8UXROZXR3b3JrL3FuZXR3b3JrYWNjZXNz
bWFuYWdlci5oPgogCisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQorCiBjbGFzcyBR
V2ViUGFnZTsKIGNsYXNzIFFXZWJIaXN0b3J5OwogY2xhc3MgUVdlYlNldHRpbmdzOwpAQCAtMTU2
LDQgKzE1OCw2IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFFHcmFwaGljc1dlYlZpZXdQ
cml2YXRlOwogfTsKIAorI2VuZGlmIC8vIFFUX05PX0dSQVBISUNTVklFVworCiAjZW5kaWYgLy8g
UUdyYXBoaWNzV2ViVmlld19oCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNw
cCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGEyOWQ0MTc0OTI2NTkwNTBiOTFl
OWU1ZGY5ZTYzYjZkN2IxYjY2ZDMuLmJlNTM2N2E3NzM3OTNkYWE3MDY0YTlkMTc5NDRiYTAxNzBm
NzhkNTkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0xMjc4LDYgKzEyNzgsNyBAQCB2b2lkIFFXZWJQYWdl
UHJpdmF0ZTo6YWRqdXN0UG9pbnRGb3JDbGlja2luZyhRTW91c2VFdmVudCopCiAgICAgbm90SW1w
bGVtZW50ZWQoKTsKIH0KIAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKIHZvaWQg
UVdlYlBhZ2VQcml2YXRlOjphZGp1c3RQb2ludEZvckNsaWNraW5nKFFHcmFwaGljc1NjZW5lTW91
c2VFdmVudCogZXYpCiB7CiAgICAgUXRQbGF0Zm9ybVBsdWdpbiBwbGF0Zm9ybVBsdWdpbjsKQEAg
LTEzMDgsNiArMTMwOSw3IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjphZGp1c3RQb2ludEZvckNs
aWNraW5nKFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogZXYpCiAKICAgICBldi0+c2V0UG9zKFFQ
b2ludEYoYWRqdXN0ZWRQb2ludCkpOwogfQorI2VuZGlmCiAKIGJvb2wgUVdlYlBhZ2VQcml2YXRl
Ojp0b3VjaEV2ZW50KFFUb3VjaEV2ZW50KiBldmVudCkKIHsKQEAgLTI5MzMsNDMgKzI5MzUsNDkg
QEAgYm9vbCBRV2ViUGFnZTo6ZXZlbnQoUUV2ZW50ICpldikKICAgICBjYXNlIFFFdmVudDo6TW91
c2VNb3ZlOgogICAgICAgICBkLT5tb3VzZU1vdmVFdmVudChzdGF0aWNfY2FzdDxRTW91c2VFdmVu
dCo+KGV2KSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5l
TW91c2VNb3ZlOgotICAgICAgICBkLT5tb3VzZU1vdmVFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhp
Y3NTY2VuZU1vdXNlRXZlbnQqPihldikpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVu
dDo6TW91c2VCdXR0b25QcmVzczoKICAgICAgICAgZC0+bW91c2VQcmVzc0V2ZW50KHN0YXRpY19j
YXN0PFFNb3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBRRXZlbnQ6
OkdyYXBoaWNzU2NlbmVNb3VzZVByZXNzOgotICAgICAgICBkLT5tb3VzZVByZXNzRXZlbnQoc3Rh
dGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50Kj4oZXYpKTsKLSAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uRGJsQ2xpY2s6CiAgICAgICAgIGQtPm1vdXNl
RG91YmxlQ2xpY2tFdmVudChzdGF0aWNfY2FzdDxRTW91c2VFdmVudCo+KGV2KSk7CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lTW91c2VEb3VibGVDbGljazoK
LSAgICAgICAgZC0+bW91c2VEb3VibGVDbGlja0V2ZW50KHN0YXRpY19jYXN0PFFHcmFwaGljc1Nj
ZW5lTW91c2VFdmVudCo+KGV2KSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgUUV2ZW50OjpN
b3VzZUJ1dHRvblJlbGVhc2U6CiAgICAgICAgIGQtPm1vdXNlUmVsZWFzZUV2ZW50KHN0YXRpY19j
YXN0PFFNb3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CisjaWYgIWRlZmluZWQoUVRf
Tk9fR1JBUEhJQ1NWSUVXKQorICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lTW91c2VNb3Zl
OgorICAgICAgICBkLT5tb3VzZU1vdmVFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NTY2VuZU1v
dXNlRXZlbnQqPihldikpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFFFdmVudDo6R3JhcGhp
Y3NTY2VuZU1vdXNlUHJlc3M6CisgICAgICAgIGQtPm1vdXNlUHJlc3NFdmVudChzdGF0aWNfY2Fz
dDxRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqPihldikpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlRG91YmxlQ2xpY2s6CisgICAgICAgIGQtPm1v
dXNlRG91YmxlQ2xpY2tFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQq
PihldikpOworICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZU1v
dXNlUmVsZWFzZToKICAgICAgICAgZC0+bW91c2VSZWxlYXNlRXZlbnQoc3RhdGljX2Nhc3Q8UUdy
YXBoaWNzU2NlbmVNb3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CisjZW5kaWYKICNp
Zm5kZWYgUVRfTk9fQ09OVEVYVE1FTlUKICAgICBjYXNlIFFFdmVudDo6Q29udGV4dE1lbnU6CiAg
ICAgICAgIGQtPmNvbnRleHRNZW51RXZlbnQoc3RhdGljX2Nhc3Q8UUNvbnRleHRNZW51RXZlbnQq
PihldiktPmdsb2JhbFBvcygpKTsKICAgICAgICAgYnJlYWs7CisjaWYgIWRlZmluZWQoUVRfTk9f
R1JBUEhJQ1NWSUVXKQogICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lQ29udGV4dE1lbnU6
CiAgICAgICAgIGQtPmNvbnRleHRNZW51RXZlbnQoc3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVD
b250ZXh0TWVudUV2ZW50Kj4oZXYpLT5zY3JlZW5Qb3MoKSk7CiAgICAgICAgIGJyZWFrOwogI2Vu
ZGlmCisjZW5kaWYKICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVAogICAgIGNhc2UgUUV2ZW50OjpX
aGVlbDoKICAgICAgICAgZC0+d2hlZWxFdmVudChzdGF0aWNfY2FzdDxRV2hlZWxFdmVudCo+KGV2
KSk7CiAgICAgICAgIGJyZWFrOworI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKICAg
ICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZVdoZWVsOgogICAgICAgICBkLT53aGVlbEV2ZW50
KHN0YXRpY19jYXN0PFFHcmFwaGljc1NjZW5lV2hlZWxFdmVudCo+KGV2KSk7CiAgICAgICAgIGJy
ZWFrOwogI2VuZGlmCisjZW5kaWYKICAgICBjYXNlIFFFdmVudDo6S2V5UHJlc3M6CiAgICAgICAg
IGQtPmtleVByZXNzRXZlbnQoc3RhdGljX2Nhc3Q8UUtleUV2ZW50Kj4oZXYpKTsKICAgICAgICAg
YnJlYWs7CkBAIC0yOTg2LDI4ICsyOTk0LDMxIEBAIGJvb2wgUVdlYlBhZ2U6OmV2ZW50KFFFdmVu
dCAqZXYpCiAgICAgY2FzZSBRRXZlbnQ6OkRyYWdFbnRlcjoKICAgICAgICAgZC0+ZHJhZ0VudGVy
RXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdFbnRlckV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVEcmFnRW50ZXI6Ci0gICAgICAgIGQtPmRy
YWdFbnRlckV2ZW50KHN0YXRpY19jYXN0PFFHcmFwaGljc1NjZW5lRHJhZ0Ryb3BFdmVudCo+KGV2
KSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgUUV2ZW50OjpEcmFnTGVhdmU6CiAgICAgICAg
IGQtPmRyYWdMZWF2ZUV2ZW50KHN0YXRpY19jYXN0PFFEcmFnTGVhdmVFdmVudCo+KGV2KSk7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lRHJhZ0xlYXZlOgot
ICAgICAgICBkLT5kcmFnTGVhdmVFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NTY2VuZURyYWdE
cm9wRXZlbnQqPihldikpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6RHJhZ01v
dmU6CiAgICAgICAgIGQtPmRyYWdNb3ZlRXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdNb3ZlRXZlbnQq
PihldikpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFFFdmVudDo6RHJvcDoKKyAgICAgICAg
ZC0+ZHJvcEV2ZW50KHN0YXRpY19jYXN0PFFEcm9wRXZlbnQqPihldikpOworICAgICAgICBicmVh
azsKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCisgICAgY2FzZSBRRXZlbnQ6Okdy
YXBoaWNzU2NlbmVEcmFnRW50ZXI6CisgICAgICAgIGQtPmRyYWdFbnRlckV2ZW50KHN0YXRpY19j
YXN0PFFHcmFwaGljc1NjZW5lRHJhZ0Ryb3BFdmVudCo+KGV2KSk7CisgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lRHJhZ01vdmU6CiAgICAgICAgIGQtPmRyYWdN
b3ZlRXZlbnQoc3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50Kj4oZXYpKTsK
ICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBRRXZlbnQ6OkRyb3A6Ci0gICAgICAgIGQtPmRyb3BF
dmVudChzdGF0aWNfY2FzdDxRRHJvcEV2ZW50Kj4oZXYpKTsKKyAgICBjYXNlIFFFdmVudDo6R3Jh
cGhpY3NTY2VuZURyYWdMZWF2ZToKKyAgICAgICAgZC0+ZHJhZ0xlYXZlRXZlbnQoc3RhdGljX2Nh
c3Q8UUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVEcm9wOgogICAgICAgICBkLT5kcm9wRXZlbnQo
c3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50Kj4oZXYpKTsKICAgICAgICAg
YnJlYWs7CiAjZW5kaWYKKworI2VuZGlmCiAgICAgY2FzZSBRRXZlbnQ6OklucHV0TWV0aG9kOgog
ICAgICAgICBkLT5pbnB1dE1ldGhvZEV2ZW50KHN0YXRpY19jYXN0PFFJbnB1dE1ldGhvZEV2ZW50
Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlX3AuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCmluZGV4IDFiOWNkNjZmOGYxZTY5
MGY2Nzk5OWFiOGJlNDZkZjEwMDM0ZjAyOGQuLmYyN2Q5NTdkOGVjYjc1NjNmZGMxNjA2NDEwMWQ5
NTdiNTU4NzhlNWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCisrKyBi
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCkBAIC0xNDQsNyArMTQ0LDkgQEAgcHVibGljOgog
ICAgIH07CiAKICAgICB2b2lkIGFkanVzdFBvaW50Rm9yQ2xpY2tpbmcoUU1vdXNlRXZlbnQqKTsK
KyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiAgICAgdm9pZCBhZGp1c3RQb2ludEZv
ckNsaWNraW5nKFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCopOworI2VuZGlmCiAKICAgICB2b2lk
IHNldEluc3BlY3RvcihRV2ViSW5zcGVjdG9yKik7CiAgICAgUVdlYkluc3BlY3RvciogZ2V0T3JD
cmVhdGVJbnNwZWN0b3IoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJL
aXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYwMzY3NTE5Y2Q5ODIxOWRmNjEzMjk5MGYyM2Y2ZjEzY2Qz
NTVlZDMuLjg1ZDhhMmYzZmVhZmVjOWUyNDJjZGU4ZTJiNmE2MWQ4MmFmYjMzYjAgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMiw3
ICsyLDI1IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKLSAgICAg
ICAgTmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKyAgICAgICAg
W1F0XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NWSUVXCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1MAorCisgICAgICAgICogQXBpL3FncmFw
aGljc3dlYnZpZXcuY3BwOgorICAgICAgICAqIEFwaS9xZ3JhcGhpY3N3ZWJ2aWV3Lmg6CisgICAg
ICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpldmVudCk6CisgICAg
ICAgICogQXBpL3F3ZWJwYWdlX3AuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ6
OmNyZWF0ZVBsdWdpbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNw
cDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaDoKKworMjAxMC0xMS0x
OCAgU2FtIE1hZ251c29uICA8c21hZ251c29AZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29tcGlsZSB3aXRoIFFUX05PX1ND
UklQVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3
NDgKIAogICAgICAgICAqIEFwaS9xd2ViZnJhbWUuY3BwOgogICAgICAgICAoUVdlYkZyYW1lOjph
ZGRUb0phdmFTY3JpcHRXaW5kb3dPYmplY3QpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCmluZGV4IDVjNjM2NGUzZTEwMjE1NjY3MzMxZmVl
Y2FkMzU2YTE1NjRiNmUyNzMuLmU3ODIzODNjMWY5MGUzNGE1ZWU5YzhiNzBiNjMxOTJjYWZmMjkw
YmMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dFF0LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRR
dC5jcHAKQEAgLTEzODgsNiArMTM4OCw3IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAorI2lmICFk
ZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKIGNsYXNzIFF0UGx1Z2luR3JhcGhpY3NXaWRnZXQ6
IHB1YmxpYyBXaWRnZXQKIHsKIHB1YmxpYzoKQEAgLTE0MzIsNiArMTQzMyw3IEBAIHByaXZhdGU6
CiAKICAgICBRR3JhcGhpY3NXaWRnZXQqIGdyYXBoaWNzV2lkZ2V0OwogfTsKKyNlbmRpZiAvLyBR
VF9OT19HUkFQSElDU1ZJRVcKIAogUGFzc1JlZlB0cjxXaWRnZXQ+IEZyYW1lTG9hZGVyQ2xpZW50
UXQ6OmNyZWF0ZVBsdWdpbihjb25zdCBJbnRTaXplJiBwbHVnaW5TaXplLCBIVE1MUGx1Z0luRWxl
bWVudCogZWxlbWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFy
YW1OYW1lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBwYXJhbVZhbHVlcywgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9v
bCBsb2FkTWFudWFsbHkpCkBAIC0xNTA1LDYgKzE1MDcsNyBAQCBQYXNzUmVmUHRyPFdpZGdldD4g
RnJhbWVMb2FkZXJDbGllbnRRdDo6Y3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmIHBsdWdpblNp
emUsCiAgICAgICAgICAgICAgICAgcmV0dXJuIHc7CiAgICAgICAgICAgICB9CiAKKyNpZiAhZGVm
aW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiAgICAgICAgICAgICBRR3JhcGhpY3NXaWRnZXQqIGdy
YXBoaWNzV2lkZ2V0ID0gcW9iamVjdF9jYXN0PFFHcmFwaGljc1dpZGdldCo+KG9iamVjdCk7CiAg
ICAgICAgICAgICBpZiAoZ3JhcGhpY3NXaWRnZXQpIHsKICAgICAgICAgICAgICAgICBRR3JhcGhp
Y3NPYmplY3QqIHBhcmVudFdpZGdldCA9IDA7CkBAIC0xNTE4LDYgKzE1MjEsNyBAQCBQYXNzUmVm
UHRyPFdpZGdldD4gRnJhbWVMb2FkZXJDbGllbnRRdDo6Y3JlYXRlUGx1Z2luKGNvbnN0IEludFNp
emUmIHBsdWdpblNpemUsCiAgICAgICAgICAgICAgICAgdy0+c2V0RnJhbWVSZWN0KEludFJlY3Qo
MCwgMCwgMCwgMCkpOwogICAgICAgICAgICAgICAgIHJldHVybiB3OwogICAgICAgICAgICAgfQor
I2VuZGlmIC8vIFFUX05PX0dSQVBISUNTVklFVwogCiAgICAgICAgICAgICAvLyBGSVhNRTogbWFr
ZSB0aGluZ3Mgd29yayBmb3Igd2lkZ2V0bGVzcyBwbHVnaW5zIGFzIHdlbGwKICAgICAgICAgICAg
IGRlbGV0ZSBvYmplY3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFn
ZUNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3Bw
CmluZGV4IDlmYTViZjdiNzYxMTkxNDkzOTA5Y2U5ODI5MjYxNTVjMGYzZWJkYWYuLmMzODY5YzVh
YzcxODY5MDEzOTlmMTdlMTVlYTBkYWIzMzU3MzY5OTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9QYWdlQ2xpZW50UXQuY3BwCkBAIC0xMTYsNiArMTE2LDcgQEAgcHJpdmF0ZToKICAgICBR
V2lkZ2V0KiBtX3dpZGdldDsKIH07CiAKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcp
CiBjbGFzcyBQbGF0Zm9ybUxheWVyUHJveHlRR3JhcGhpY3NPYmplY3QgOiBwdWJsaWMgUGxhdGZv
cm1MYXllclByb3h5UXQgewogcHVibGljOgogICAgIFBsYXRmb3JtTGF5ZXJQcm94eVFHcmFwaGlj
c09iamVjdChRV2ViRnJhbWUqIGZyYW1lLCBUZXh0dXJlTWFwcGVyQ29udGVudExheWVyKiBsYXll
ciwgUUdyYXBoaWNzT2JqZWN0KiBvYmplY3QpCkBAIC0xNTAsNiArMTUxLDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBRR3JhcGhpY3NJdGVtKiBtX2dyYXBoaWNzSXRlbTsKIH07CisjZW5kaWYg
Ly8gUVRfTk9fR1JBUEhJQ1NWSUVXCiAKIHZvaWQgUGFnZUNsaWVudFFXaWRnZXQ6OnNldFJvb3RH
cmFwaGljc0xheWVyKFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyKiBsYXllcikKIHsKQEAgLTI1
NCw2ICsyNTYsNyBAQCBRUmVjdEYgUGFnZUNsaWVudFFXaWRnZXQ6OndpbmRvd1JlY3QoKSBjb25z
dAogICAgIHJldHVybiBRUmVjdEYodmlldy0+d2luZG93KCktPmdlb21ldHJ5KCkpOwogfQogCisj
aWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQogUGFnZUNsaWVudFFHcmFwaGljc1dpZGdl
dDo6flBhZ2VDbGllbnRRR3JhcGhpY3NXaWRnZXQoKQogewogICAgIGRlbGV0ZSBvdmVybGF5OwpA
QCAtNDc1LDUgKzQ3OCw2IEBAIFFSZWN0RiBQYWdlQ2xpZW50UUdyYXBoaWNzV2lkZ2V0Ojp3aW5k
b3dSZWN0KCkgY29uc3QKICAgICAvLyBUaGUgc2NlbmVSZWN0IGlzIGEgZ29vZCBhcHByb3hpbWF0
aW9uIG9mIHRoZSBzaXplIG9mIHRoZSBhcHBsaWNhdGlvbiwgaW5kZXBlbmRlbnQgb2YgdGhlIHZp
ZXcuCiAgICAgcmV0dXJuIHZpZXctPnNjZW5lKCktPnNjZW5lUmVjdCgpOwogfQorI2VuZGlmIC8v
IFFUX05PX0dSQVBISUNTVklFVwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmggYi9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmgKaW5kZXggOTI0ZDJhNzAxZWM5Nzg0YmIyZmZmNzI4
ZDZkMDBmZTBmMmExNWYwMi4uNzI4ZTExOWMyNGRlOTYwNzNlMDM4MjA2MTI2YWJmYmE5ZDRkNjc0
OSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5oCisr
KyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaApAQCAtMTA1LDYgKzEw
NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNT
VklFVykKIC8vIHRoZSBvdmVybGF5IGlzIGhlcmUgZm9yIG9uZSByZWFzb24gb25seTogdG8gaGF2
ZSB0aGUgc2Nyb2xsLWJhcnMgYW5kIG90aGVyCiAvLyBleHRyYSBVSSBlbGVtZW50cyBhcHBlYXIg
b24gdG9wIG9mIGFueSBRR3JhcGhpY3NJdGVtcyBjcmVhdGVkIGJ5IENTUyBjb21wb3NpdGluZyBs
YXllcnMKIGNsYXNzIFFHcmFwaGljc0l0ZW1PdmVybGF5IDogcHVibGljIFFHcmFwaGljc09iamVj
dCB7CkBAIC0yMjksNiArMjMwLDcgQEAgcHVibGljOgogICAgIC8vIHdlIG5lZWQgdG8gcHV0IHRo
ZSByb290IGdyYXBoaWNzIGxheWVyIGJlaGluZCB0aGUgb3ZlcmxheSAod2hpY2ggY29udGFpbnMg
dGhlIHNjcm9sbGJhcikKICAgICBlbnVtIHsgUm9vdEdyYXBoaWNzTGF5ZXJaVmFsdWUsIE92ZXJs
YXlaVmFsdWUgfTsKIH07CisjZW5kaWYgLy8gUVRfTk9fR1JBUEhJQ1NWSUVXCiAKIH0KICNlbmRp
ZiAvLyBQYWdlQ2xpZW50UXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78614</attachid>
            <date>2011-01-11 16:05:25 -0800</date>
            <delta_ts>2011-01-31 16:07:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49750-20110111160433.patch</filename>
            <type>text/plain</type>
            <size>13626</size>
            <attacher name="Sam Magnuson">smagnuso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MDNlNWYxMmMxNzFkNzUwOTZjMGEwMjRjNWM2MmNiYTk0NzgxMjM3Li45
YjJhNDM2YTZlMmUxNzU5YTYwNThiZTdiZWMxMzFjZDc0YTE0OTI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTAtMTEtMTggIFNhbSBNYWdudXNvbiAgPHNtYWdudXNvQGdtYWlsLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRd
IENvbXBpbGUgd2l0aCBRVF9OT19HUkFQSElDU1ZJRVcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NzUwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzTGF5ZXJRdC5oOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1BsYXRmb3JtTW91
c2VFdmVudFF0LmNwcDoKKwogMjAxMS0wMS0xMSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0
LmNwcAppbmRleCBjZmI5MDU5Y2Q0NjE5MWM4Y2FmYjc2ODMwMjgyYTliYTc0Yjg0NWZjLi43NWZi
NDI3NGFkMzhiOTFlZWUzMzk5MDY3NzJjY2FmMWNlNWRjNTUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAKQEAg
LTIwLDYgKzIwLDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHcmFwaGljc0xh
eWVyUXQuaCIKIAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKKwogI2luY2x1ZGUg
IkN1cnJlbnRUaW1lLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCkBAIC0xNzc3LDMgKzE3NzksNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJRdDo6
cmVzdW1lQW5pbWF0aW9ucygpCiB9CiAKICNpbmNsdWRlIDxHcmFwaGljc0xheWVyUXQubW9jPgor
CisKKyNlbmRpZiAvLyBRVF9OT19HUkFQSElDU1ZJRVcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmgKaW5kZXggYjE2OTJkMjlm
NDJmZjg5YWUxNjEyOWEwZDAwYjI3ZTM4MWY4MDU2MS4uYmRlZTU0MTAwZGRlOTA5MmM0MjcxMDE5
NzVmNzZlNzViNmI0YWM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmgKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRl
ICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNsaWVudC5oIgogCisj
aWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEdyYXBoaWNzTGF5ZXJRdEltcGw7CkBAIC05MCw2ICs5Miw2IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXJRdEltcGw+IG1faW1wbDsKIH07Ci0KIH0K
KyNlbmRpZgogI2VuZGlmIC8vIEdyYXBoaWNzTGF5ZXJRdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAKaW5kZXggYTg5NTZiZmMx
MmRlM2U1NzY0ZWZmOGVhZmUyY2ZjMTZmZWFhOGE3Yy4uMTI1YWU1MjJiZDlmNGM5MTc1YmI2NzA5
NzY1YzUxYWE1ZGQzY2Y3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
UGxhdGZvcm1Nb3VzZUV2ZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0
L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcApAQCAtMzQsNiArMzQsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiBQbGF0Zm9ybU1v
dXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGV2
ZW50LCBpbnQgY2xpY2tDb3VudCkKIHsKICAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRp
bWUoKTsKQEAgLTY5LDYgKzcwLDcgQEAgUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNl
RXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWMKICAgICBtX2Fs
dEtleSA9ICAoZXZlbnQtPm1vZGlmaWVycygpICYgUXQ6OkFsdE1vZGlmaWVyKTsKICAgICBtX21l
dGFLZXkgPSAoZXZlbnQtPm1vZGlmaWVycygpICYgUXQ6Ok1ldGFNb2RpZmllcik7CiB9CisjZW5k
aWYgLy8gUVRfTk9fR1JBUEhJQ1NWSUVXCiAKIFBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1N
b3VzZUV2ZW50KFFJbnB1dEV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCiB7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0FwaS9x
Z3JhcGhpY3N3ZWJ2aWV3LmNwcAppbmRleCA5Njk3YzIwZmU3NTQ1NjkxOGNkYmNmMDU3NWExNWUy
YjIxOWQ3MWJlLi5iNmFjMzFiNDBlNWVkM2NlZDVhMjJhMTM3OTc2YWQ3MzEwMzFiN2MxIDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9x
dC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKQEAgLTIxLDYgKzIxLDggQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJxZ3JhcGhpY3N3ZWJ2aWV3LmgiCiAKKyNpZiAhZGVmaW5lZChR
VF9OT19HUkFQSElDU1ZJRVcpCisKICNpbmNsdWRlICJxd2ViZnJhbWUuaCIKICNpbmNsdWRlICJx
d2ViZnJhbWVfcC5oIgogI2luY2x1ZGUgInF3ZWJwYWdlLmgiCkBAIC0xMTQzLDQgKzExNDUsNiBA
QCB2b2lkIFFHcmFwaGljc1dlYlZpZXc6OmlucHV0TWV0aG9kRXZlbnQoUUlucHV0TWV0aG9kRXZl
bnQqIGV2KQogICAgIFxzYSBRV2ViUGFnZTo6bGlua0RlbGVnYXRpb25Qb2xpY3koKQogKi8KIAor
I2VuZGlmIC8vIFFUX05PX0dSQVBISUNTVklFVworCiAjaW5jbHVkZSAibW9jX3FncmFwaGljc3dl
YnZpZXcuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3Lmgg
Yi9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaAppbmRleCA4NjIwYWM1NjFmZWRlYjg3
NzU5NDEwZmMwZjc1MWNhYjVmMDFlMWUzLi5lMDhlODk1MmMyNzAyYWE1YWQyZDYzNmFhMzA1YjMx
OWZmYzBiOWI0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaAor
KysgYi9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuaApAQCAtMjksNiArMjksOCBAQAog
I2luY2x1ZGUgPFF0R3VpL3FwYWludGVyLmg+CiAjaW5jbHVkZSA8UXROZXR3b3JrL3FuZXR3b3Jr
YWNjZXNzbWFuYWdlci5oPgogCisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQorCiBj
bGFzcyBRV2ViUGFnZTsKIGNsYXNzIFFXZWJIaXN0b3J5OwogY2xhc3MgUVdlYlNldHRpbmdzOwpA
QCAtMTU2LDQgKzE1OCw2IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFFHcmFwaGljc1dl
YlZpZXdQcml2YXRlOwogfTsKIAorI2VuZGlmIC8vIFFUX05PX0dSQVBISUNTVklFVworCiAjZW5k
aWYgLy8gUUdyYXBoaWNzV2ViVmlld19oCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDY4N2M3YTM4MDFhMjE2
YmFmNDM2OTE2MDJkNGJhZGRmY2YzNGFlMzkuLmNhNWVmZDgwYjE0M2FhYjE5ODRmOTczZDVmY2Y2
N2Y2MDI3Y2M4Y2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBi
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0xMjk3LDYgKzEyOTcsNyBAQCB2b2lkIFFX
ZWJQYWdlUHJpdmF0ZTo6YWRqdXN0UG9pbnRGb3JDbGlja2luZyhRTW91c2VFdmVudCopCiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKIH0KIAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykK
IHZvaWQgUVdlYlBhZ2VQcml2YXRlOjphZGp1c3RQb2ludEZvckNsaWNraW5nKFFHcmFwaGljc1Nj
ZW5lTW91c2VFdmVudCogZXYpCiB7CiAgICAgUXRQbGF0Zm9ybVBsdWdpbiBwbGF0Zm9ybVBsdWdp
bjsKQEAgLTEzMjcsNiArMTMyOCw3IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjphZGp1c3RQb2lu
dEZvckNsaWNraW5nKFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogZXYpCiAKICAgICBldi0+c2V0
UG9zKFFQb2ludEYoYWRqdXN0ZWRQb2ludCkpOwogfQorI2VuZGlmCiAKIGJvb2wgUVdlYlBhZ2VQ
cml2YXRlOjp0b3VjaEV2ZW50KFFUb3VjaEV2ZW50KiBldmVudCkKIHsKQEAgLTI5OTgsNDMgKzMw
MDAsNDkgQEAgYm9vbCBRV2ViUGFnZTo6ZXZlbnQoUUV2ZW50ICpldikKICAgICBjYXNlIFFFdmVu
dDo6TW91c2VNb3ZlOgogICAgICAgICBkLT5tb3VzZU1vdmVFdmVudChzdGF0aWNfY2FzdDxRTW91
c2VFdmVudCo+KGV2KSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpHcmFwaGlj
c1NjZW5lTW91c2VNb3ZlOgotICAgICAgICBkLT5tb3VzZU1vdmVFdmVudChzdGF0aWNfY2FzdDxR
R3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqPihldikpOwotICAgICAgICBicmVhazsKICAgICBjYXNl
IFFFdmVudDo6TW91c2VCdXR0b25QcmVzczoKICAgICAgICAgZC0+bW91c2VQcmVzc0V2ZW50KHN0
YXRpY19jYXN0PFFNb3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBR
RXZlbnQ6OkdyYXBoaWNzU2NlbmVNb3VzZVByZXNzOgotICAgICAgICBkLT5tb3VzZVByZXNzRXZl
bnQoc3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50Kj4oZXYpKTsKLSAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uRGJsQ2xpY2s6CiAgICAgICAgIGQt
Pm1vdXNlRG91YmxlQ2xpY2tFdmVudChzdGF0aWNfY2FzdDxRTW91c2VFdmVudCo+KGV2KSk7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lTW91c2VEb3VibGVD
bGljazoKLSAgICAgICAgZC0+bW91c2VEb3VibGVDbGlja0V2ZW50KHN0YXRpY19jYXN0PFFHcmFw
aGljc1NjZW5lTW91c2VFdmVudCo+KGV2KSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgUUV2
ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6CiAgICAgICAgIGQtPm1vdXNlUmVsZWFzZUV2ZW50KHN0
YXRpY19jYXN0PFFNb3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CisjaWYgIWRlZmlu
ZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQorICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lTW91
c2VNb3ZlOgorICAgICAgICBkLT5tb3VzZU1vdmVFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NT
Y2VuZU1vdXNlRXZlbnQqPihldikpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFFFdmVudDo6
R3JhcGhpY3NTY2VuZU1vdXNlUHJlc3M6CisgICAgICAgIGQtPm1vdXNlUHJlc3NFdmVudChzdGF0
aWNfY2FzdDxRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqPihldikpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlRG91YmxlQ2xpY2s6CisgICAgICAg
IGQtPm1vdXNlRG91YmxlQ2xpY2tFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NTY2VuZU1vdXNl
RXZlbnQqPihldikpOworICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NT
Y2VuZU1vdXNlUmVsZWFzZToKICAgICAgICAgZC0+bW91c2VSZWxlYXNlRXZlbnQoc3RhdGljX2Nh
c3Q8UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CisjZW5k
aWYKICNpZm5kZWYgUVRfTk9fQ09OVEVYVE1FTlUKICAgICBjYXNlIFFFdmVudDo6Q29udGV4dE1l
bnU6CiAgICAgICAgIGQtPmNvbnRleHRNZW51RXZlbnQoc3RhdGljX2Nhc3Q8UUNvbnRleHRNZW51
RXZlbnQqPihldiktPmdsb2JhbFBvcygpKTsKICAgICAgICAgYnJlYWs7CisjaWYgIWRlZmluZWQo
UVRfTk9fR1JBUEhJQ1NWSUVXKQogICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lQ29udGV4
dE1lbnU6CiAgICAgICAgIGQtPmNvbnRleHRNZW51RXZlbnQoc3RhdGljX2Nhc3Q8UUdyYXBoaWNz
U2NlbmVDb250ZXh0TWVudUV2ZW50Kj4oZXYpLT5zY3JlZW5Qb3MoKSk7CiAgICAgICAgIGJyZWFr
OwogI2VuZGlmCisjZW5kaWYKICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVAogICAgIGNhc2UgUUV2
ZW50OjpXaGVlbDoKICAgICAgICAgZC0+d2hlZWxFdmVudChzdGF0aWNfY2FzdDxRV2hlZWxFdmVu
dCo+KGV2KSk7CiAgICAgICAgIGJyZWFrOworI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklF
VykKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZVdoZWVsOgogICAgICAgICBkLT53aGVl
bEV2ZW50KHN0YXRpY19jYXN0PFFHcmFwaGljc1NjZW5lV2hlZWxFdmVudCo+KGV2KSk7CiAgICAg
ICAgIGJyZWFrOwogI2VuZGlmCisjZW5kaWYKICAgICBjYXNlIFFFdmVudDo6S2V5UHJlc3M6CiAg
ICAgICAgIGQtPmtleVByZXNzRXZlbnQoc3RhdGljX2Nhc3Q8UUtleUV2ZW50Kj4oZXYpKTsKICAg
ICAgICAgYnJlYWs7CkBAIC0zMDUxLDI4ICszMDU5LDMxIEBAIGJvb2wgUVdlYlBhZ2U6OmV2ZW50
KFFFdmVudCAqZXYpCiAgICAgY2FzZSBRRXZlbnQ6OkRyYWdFbnRlcjoKICAgICAgICAgZC0+ZHJh
Z0VudGVyRXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdFbnRlckV2ZW50Kj4oZXYpKTsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVEcmFnRW50ZXI6Ci0gICAgICAg
IGQtPmRyYWdFbnRlckV2ZW50KHN0YXRpY19jYXN0PFFHcmFwaGljc1NjZW5lRHJhZ0Ryb3BFdmVu
dCo+KGV2KSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgUUV2ZW50OjpEcmFnTGVhdmU6CiAg
ICAgICAgIGQtPmRyYWdMZWF2ZUV2ZW50KHN0YXRpY19jYXN0PFFEcmFnTGVhdmVFdmVudCo+KGV2
KSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lRHJhZ0xl
YXZlOgotICAgICAgICBkLT5kcmFnTGVhdmVFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NTY2Vu
ZURyYWdEcm9wRXZlbnQqPihldikpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6
RHJhZ01vdmU6CiAgICAgICAgIGQtPmRyYWdNb3ZlRXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdNb3Zl
RXZlbnQqPihldikpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFFFdmVudDo6RHJvcDoKKyAg
ICAgICAgZC0+ZHJvcEV2ZW50KHN0YXRpY19jYXN0PFFEcm9wRXZlbnQqPihldikpOworICAgICAg
ICBicmVhazsKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCisgICAgY2FzZSBRRXZl
bnQ6OkdyYXBoaWNzU2NlbmVEcmFnRW50ZXI6CisgICAgICAgIGQtPmRyYWdFbnRlckV2ZW50KHN0
YXRpY19jYXN0PFFHcmFwaGljc1NjZW5lRHJhZ0Ryb3BFdmVudCo+KGV2KSk7CisgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lRHJhZ01vdmU6CiAgICAgICAgIGQt
PmRyYWdNb3ZlRXZlbnQoc3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50Kj4o
ZXYpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBRRXZlbnQ6OkRyb3A6Ci0gICAgICAgIGQt
PmRyb3BFdmVudChzdGF0aWNfY2FzdDxRRHJvcEV2ZW50Kj4oZXYpKTsKKyAgICBjYXNlIFFFdmVu
dDo6R3JhcGhpY3NTY2VuZURyYWdMZWF2ZToKKyAgICAgICAgZC0+ZHJhZ0xlYXZlRXZlbnQoc3Rh
dGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVEcm9wOgogICAgICAgICBkLT5kcm9w
RXZlbnQoc3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50Kj4oZXYpKTsKICAg
ICAgICAgYnJlYWs7CiAjZW5kaWYKKworI2VuZGlmCiAgICAgY2FzZSBRRXZlbnQ6OklucHV0TWV0
aG9kOgogICAgICAgICBkLT5pbnB1dE1ldGhvZEV2ZW50KHN0YXRpY19jYXN0PFFJbnB1dE1ldGhv
ZEV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlX3AuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCmluZGV4IGRjNmRhN2Vi
NDNkYzRlMTY5N2FhOWMyMGMwMDg2YjIwOTM4MTJlYjAuLjdiZDEyNTIzZDU3YzdiNDUwMGIzNzdj
MTc0ZDRhNDRlOGI5NWFiOGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5o
CisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCkBAIC0xNDUsNyArMTQ1LDkgQEAgcHVi
bGljOgogICAgIH07CiAKICAgICB2b2lkIGFkanVzdFBvaW50Rm9yQ2xpY2tpbmcoUU1vdXNlRXZl
bnQqKTsKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiAgICAgdm9pZCBhZGp1c3RQ
b2ludEZvckNsaWNraW5nKFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCopOworI2VuZGlmCiAKICAg
ICB2b2lkIHNldEluc3BlY3RvcihRV2ViSW5zcGVjdG9yKik7CiAgICAgUVdlYkluc3BlY3Rvciog
Z2V0T3JDcmVhdGVJbnNwZWN0b3IoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cg
Yi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDNiYzgwMzA4NDMzMTFkODk5NzUzMjRkMjY5MmY4
MWFjYTZiODNkN2MuLjYyNmZmNmU3NzEyZjgyMDI3YWJjNDhkY2U1NjEwYjA5NThmOTJjMTggMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSw0ICsxLDIxIEBACi0yMDExLTAxLTExICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50
dXJjb3R0ZUBub2tpYS5jb20+CisyMDEwLTExLTE4ICBTYW0gTWFnbnVzb24gIDxzbWFnbnVzb0Bn
bWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW1F0XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NWSUVXCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1MAorCisgICAgICAgICogQXBpL3Fn
cmFwaGljc3dlYnZpZXcuY3BwOgorICAgICAgICAqIEFwaS9xZ3JhcGhpY3N3ZWJ2aWV3Lmg6Cisg
ICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpldmVudCk6Cisg
ICAgICAgICogQXBpL3F3ZWJwYWdlX3AuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50
UXQ6OmNyZWF0ZVBsdWdpbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0
LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaDoKKworMDExLTAx
LTExICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCiAKZGlmZiAtLWdp
dCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCBiL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCBlODNk
NWVmYzY4MDg1ODM2ODE4MjJlMDAwMmRjZGVlYTdlN2VmM2M0Li5iNjZkOGRmMzVkYzM3MzRkYzE2
MTgxYTk3MTVhOTc1MzI3NTVjMGU5IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCkBAIC0xNDA1LDYgKzE0MDUsNyBAQCBwcml2YXRlOgog
ICAgIH0KIH07CiAKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiBjbGFzcyBRdFBs
dWdpbkdyYXBoaWNzV2lkZ2V0OiBwdWJsaWMgV2lkZ2V0CiB7CiBwdWJsaWM6CkBAIC0xNDU0LDYg
KzE0NTUsNyBAQCBwcml2YXRlOgogCiAgICAgUUdyYXBoaWNzV2lkZ2V0KiBncmFwaGljc1dpZGdl
dDsKIH07CisjZW5kaWYgLy8gUVRfTk9fR1JBUEhJQ1NWSUVXCiAKIFBhc3NSZWZQdHI8V2lkZ2V0
PiBGcmFtZUxvYWRlckNsaWVudFF0OjpjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYgcGx1Z2lu
U2l6ZSwgSFRNTFBsdWdJbkVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1ZXMsIGNvbnN0IFN0
cmluZyYgbWltZVR5cGUsIGJvb2wgbG9hZE1hbnVhbGx5KQpAQCAtMTUyMyw2ICsxNTI1LDcgQEAg
UGFzc1JlZlB0cjxXaWRnZXQ+IEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmNyZWF0ZVBsdWdpbihjb25z
dCBJbnRTaXplJiBwbHVnaW5TaXplLAogICAgICAgICAgICAgICAgIHJldHVybiB3OwogICAgICAg
ICAgICAgfQogCisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQogICAgICAgICAgICAg
aWYgKFFHcmFwaGljc1dpZGdldCogZ3JhcGhpY3NXaWRnZXQgPSBxb2JqZWN0X2Nhc3Q8UUdyYXBo
aWNzV2lkZ2V0Kj4ob2JqZWN0KSkgewogICAgICAgICAgICAgICAgIFFHcmFwaGljc09iamVjdCog
cGFyZW50V2lkZ2V0ID0gMDsKICAgICAgICAgICAgICAgICBpZiAobV93ZWJGcmFtZS0+cGFnZSgp
LT5kLT5jbGllbnQpCkBAIC0xNTM1LDYgKzE1MzgsNyBAQCBQYXNzUmVmUHRyPFdpZGdldD4gRnJh
bWVMb2FkZXJDbGllbnRRdDo6Y3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmIHBsdWdpblNpemUs
CiAgICAgICAgICAgICAgICAgdy0+c2V0RnJhbWVSZWN0KEludFJlY3QoMCwgMCwgMCwgMCkpOwog
ICAgICAgICAgICAgICAgIHJldHVybiB3OwogICAgICAgICAgICAgfQorI2VuZGlmIC8vIFFUX05P
X0dSQVBISUNTVklFVwogCiAgICAgICAgICAgICAvLyBGSVhNRTogbWFrZSB0aGluZ3Mgd29yayBm
b3Igd2lkZ2V0bGVzcyBwbHVnaW5zIGFzIHdlbGwKICAgICAgICAgICAgIGRlbGV0ZSBvYmplY3Q7
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNwcCBi
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwCmluZGV4IDlmYTViZjdi
NzYxMTkxNDkzOTA5Y2U5ODI5MjYxNTVjMGYzZWJkYWYuLmMzODY5YzVhYzcxODY5MDEzOTlmMTdl
MTVlYTBkYWIzMzU3MzY5OTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Q
YWdlQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50
UXQuY3BwCkBAIC0xMTYsNiArMTE2LDcgQEAgcHJpdmF0ZToKICAgICBRV2lkZ2V0KiBtX3dpZGdl
dDsKIH07CiAKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiBjbGFzcyBQbGF0Zm9y
bUxheWVyUHJveHlRR3JhcGhpY3NPYmplY3QgOiBwdWJsaWMgUGxhdGZvcm1MYXllclByb3h5UXQg
ewogcHVibGljOgogICAgIFBsYXRmb3JtTGF5ZXJQcm94eVFHcmFwaGljc09iamVjdChRV2ViRnJh
bWUqIGZyYW1lLCBUZXh0dXJlTWFwcGVyQ29udGVudExheWVyKiBsYXllciwgUUdyYXBoaWNzT2Jq
ZWN0KiBvYmplY3QpCkBAIC0xNTAsNiArMTUxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBR
R3JhcGhpY3NJdGVtKiBtX2dyYXBoaWNzSXRlbTsKIH07CisjZW5kaWYgLy8gUVRfTk9fR1JBUEhJ
Q1NWSUVXCiAKIHZvaWQgUGFnZUNsaWVudFFXaWRnZXQ6OnNldFJvb3RHcmFwaGljc0xheWVyKFRl
eHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyKiBsYXllcikKIHsKQEAgLTI1NCw2ICsyNTYsNyBAQCBR
UmVjdEYgUGFnZUNsaWVudFFXaWRnZXQ6OndpbmRvd1JlY3QoKSBjb25zdAogICAgIHJldHVybiBR
UmVjdEYodmlldy0+d2luZG93KCktPmdlb21ldHJ5KCkpOwogfQogCisjaWYgIWRlZmluZWQoUVRf
Tk9fR1JBUEhJQ1NWSUVXKQogUGFnZUNsaWVudFFHcmFwaGljc1dpZGdldDo6flBhZ2VDbGllbnRR
R3JhcGhpY3NXaWRnZXQoKQogewogICAgIGRlbGV0ZSBvdmVybGF5OwpAQCAtNDc1LDUgKzQ3OCw2
IEBAIFFSZWN0RiBQYWdlQ2xpZW50UUdyYXBoaWNzV2lkZ2V0Ojp3aW5kb3dSZWN0KCkgY29uc3QK
ICAgICAvLyBUaGUgc2NlbmVSZWN0IGlzIGEgZ29vZCBhcHByb3hpbWF0aW9uIG9mIHRoZSBzaXpl
IG9mIHRoZSBhcHBsaWNhdGlvbiwgaW5kZXBlbmRlbnQgb2YgdGhlIHZpZXcuCiAgICAgcmV0dXJu
IHZpZXctPnNjZW5lKCktPnNjZW5lUmVjdCgpOwogfQorI2VuZGlmIC8vIFFUX05PX0dSQVBISUNT
VklFVwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmggYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFn
ZUNsaWVudFF0LmgKaW5kZXggNjc0NWNkYzBkN2JmNmY4OWMyNzc2ZDE2NWQwNGIzNzE3MzA2YWIy
YS4uMTZiYjUwY2JiZGI1NmEwYzBlOTJhYmQ5ZjUzMDMxNTJhMjc0YWU3YyAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaApAQCAtMTA4LDYgKzEwOCw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogfTsKIAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKIC8vIHRoZSBv
dmVybGF5IGlzIGhlcmUgZm9yIG9uZSByZWFzb24gb25seTogdG8gaGF2ZSB0aGUgc2Nyb2xsLWJh
cnMgYW5kIG90aGVyCiAvLyBleHRyYSBVSSBlbGVtZW50cyBhcHBlYXIgb24gdG9wIG9mIGFueSBR
R3JhcGhpY3NJdGVtcyBjcmVhdGVkIGJ5IENTUyBjb21wb3NpdGluZyBsYXllcnMKIGNsYXNzIFFH
cmFwaGljc0l0ZW1PdmVybGF5IDogcHVibGljIFFHcmFwaGljc09iamVjdCB7CkBAIC0yMzIsNiAr
MjMzLDcgQEAgcHVibGljOgogICAgIC8vIHdlIG5lZWQgdG8gcHV0IHRoZSByb290IGdyYXBoaWNz
IGxheWVyIGJlaGluZCB0aGUgb3ZlcmxheSAod2hpY2ggY29udGFpbnMgdGhlIHNjcm9sbGJhcikK
ICAgICBlbnVtIHsgUm9vdEdyYXBoaWNzTGF5ZXJaVmFsdWUsIE92ZXJsYXlaVmFsdWUgfTsKIH07
CisjZW5kaWYgLy8gUVRfTk9fR1JBUEhJQ1NWSUVXCiAKIH0KICNlbmRpZiAvLyBQYWdlQ2xpZW50
UXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79050</attachid>
            <date>2011-01-14 20:25:18 -0800</date>
            <delta_ts>2011-01-14 21:39:05 -0800</delta_ts>
            <desc>Rebaseline for cq</desc>
            <filename>49750.patch</filename>
            <type>text/plain</type>
            <size>12727</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1ODY4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMTQgIFNhbSBNYWdu
dXNvbiAgPHNtYWdudXNvQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICBbUXRdIENvbXBpbGUgd2l0aCBRVF9OT19H
UkFQSElDU1ZJRVcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ5NzUwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVy
UXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5o
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcDoKKwogMjAx
MS0wMS0xNCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAJKHJldmlzaW9u
IDc1ODY4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NM
YXllclF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAsOCBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJRdC5oIgogCisjaWYgIWRlZmluZWQoUVRf
Tk9fR1JBUEhJQ1NWSUVXKQorCiAjaW5jbHVkZSAiQ3VycmVudFRpbWUuaCIKICNpbmNsdWRlICJG
bG9hdFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKQEAgLTE3NzcsMyArMTc3
OSw2IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0OjpyZXN1bWVBbmltYXRpb25zKCkKIH0KIAogI2lu
Y2x1ZGUgPEdyYXBoaWNzTGF5ZXJRdC5tb2M+CisKKworI2VuZGlmIC8vIFFUX05PX0dSQVBISUNT
VklFVwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NM
YXllclF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NMYXllclF0LmgJKHJldmlzaW9uIDc1ODY4KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiR3Jh
cGhpY3NMYXllckNsaWVudC5oIgogCisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdyYXBoaWNzTGF5ZXJRdEltcGw7CkBAIC05
Miw0ICs5NCw1IEBAIHByaXZhdGU6CiB9OwogCiB9CisjZW5kaWYKICNlbmRpZiAvLyBHcmFwaGlj
c0xheWVyUXRfaApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Nb3Vz
ZUV2ZW50UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1Bs
YXRmb3JtTW91c2VFdmVudFF0LmNwcAkocmV2aXNpb24gNzU4NjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDYgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgIWRlZmluZWQoUVRf
Tk9fR1JBUEhJQ1NWSUVXKQogUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQo
UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCiB7CiAgICAg
bV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CkBAIC02OSw2ICs3MCw3IEBAIFBsYXRm
b3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KFEKICAgICBtX2FsdEtleSA9ICAoZXZl
bnQtPm1vZGlmaWVycygpICYgUXQ6OkFsdE1vZGlmaWVyKTsKICAgICBtX21ldGFLZXkgPSAoZXZl
bnQtPm1vZGlmaWVycygpICYgUXQ6Ok1ldGFNb2RpZmllcik7CiB9CisjZW5kaWYgLy8gUVRfTk9f
R1JBUEhJQ1NWSUVXCiAKIFBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KFFJ
bnB1dEV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCiB7CkluZGV4OiBXZWJLaXQvcXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1ODY4
KQorKysgV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDExLTAxLTE0ICBTYW0gTWFnbnVzb24gIDxzbWFnbnVzb0BnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgW1F0
XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NWSUVXCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1MAorCisgICAgICAgICogQXBpL3FncmFwaGlj
c3dlYnZpZXcuY3BwOgorICAgICAgICAqIEFwaS9xZ3JhcGhpY3N3ZWJ2aWV3Lmg6CisgICAgICAg
ICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpldmVudCk6CisgICAgICAg
ICogQXBpL3F3ZWJwYWdlX3AuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmNy
ZWF0ZVBsdWdpbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNwcDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaDoKKwogMjAxMS0wMS0xNCAg
WXV6byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QW50dGkgS29pdmlzdG8uCkluZGV4OiBXZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAJKHJldmlz
aW9uIDc1ODY4KQorKysgV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjEsNiArMjEsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
InFncmFwaGljc3dlYnZpZXcuaCIKIAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykK
KwogI2luY2x1ZGUgInF3ZWJmcmFtZS5oIgogI2luY2x1ZGUgInF3ZWJmcmFtZV9wLmgiCiAjaW5j
bHVkZSAicXdlYnBhZ2UuaCIKQEAgLTExNDMsNCArMTE0NSw2IEBAIHZvaWQgUUdyYXBoaWNzV2Vi
Vmlldzo6aW5wdXRNZXRob2RFdmVudCgKICAgICBcc2EgUVdlYlBhZ2U6OmxpbmtEZWxlZ2F0aW9u
UG9saWN5KCkKICovCiAKKyNlbmRpZiAvLyBRVF9OT19HUkFQSElDU1ZJRVcKKwogI2luY2x1ZGUg
Im1vY19xZ3JhcGhpY3N3ZWJ2aWV3LmNwcCIKSW5kZXg6IFdlYktpdC9xdC9BcGkvcWdyYXBoaWNz
d2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5o
CShyZXZpc2lvbiA3NTg2OCkKKysrIFdlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw4IEBACiAjaW5jbHVkZSA8UXRHdWkvcXBhaW50ZXIu
aD4KICNpbmNsdWRlIDxRdE5ldHdvcmsvcW5ldHdvcmthY2Nlc3NtYW5hZ2VyLmg+CiAKKyNpZiAh
ZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCisKIGNsYXNzIFFXZWJQYWdlOwogY2xhc3MgUVdl
Ykhpc3Rvcnk7CiBjbGFzcyBRV2ViU2V0dGluZ3M7CkBAIC0xNTYsNCArMTU4LDYgQEAgcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgUUdyYXBoaWNzV2ViVmlld1ByaXZhdGU7CiB9OwogCisjZW5k
aWYgLy8gUVRfTk9fR1JBUEhJQ1NWSUVXCisKICNlbmRpZiAvLyBRR3JhcGhpY3NXZWJWaWV3X2gK
SW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA3NTg2OCkKKysrIFdlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjk3LDYgKzEyOTcsNyBAQCB2b2lkIFFXZWJQ
YWdlUHJpdmF0ZTo6YWRqdXN0UG9pbnRGb3JDbGljCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0K
IAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKIHZvaWQgUVdlYlBhZ2VQcml2YXRl
OjphZGp1c3RQb2ludEZvckNsaWNraW5nKFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogZXYpCiB7
CiAgICAgUXRQbGF0Zm9ybVBsdWdpbiBwbGF0Zm9ybVBsdWdpbjsKQEAgLTEzMjcsNiArMTMyOCw3
IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjphZGp1c3RQb2ludEZvckNsaWMKIAogICAgIGV2LT5z
ZXRQb3MoUVBvaW50RihhZGp1c3RlZFBvaW50KSk7CiB9CisjZW5kaWYKIAogYm9vbCBRV2ViUGFn
ZVByaXZhdGU6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogewpAQCAtMjk5OCw0MyAr
MzAwMCw0OSBAQCBib29sIFFXZWJQYWdlOjpldmVudChRRXZlbnQgKmV2KQogICAgIGNhc2UgUUV2
ZW50OjpNb3VzZU1vdmU6CiAgICAgICAgIGQtPm1vdXNlTW92ZUV2ZW50KHN0YXRpY19jYXN0PFFN
b3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBRRXZlbnQ6OkdyYXBo
aWNzU2NlbmVNb3VzZU1vdmU6Ci0gICAgICAgIGQtPm1vdXNlTW92ZUV2ZW50KHN0YXRpY19jYXN0
PFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCo+KGV2KSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUUV2ZW50OjpNb3VzZUJ1dHRvblByZXNzOgogICAgICAgICBkLT5tb3VzZVByZXNzRXZlbnQo
c3RhdGljX2Nhc3Q8UU1vdXNlRXZlbnQqPihldikpOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlUHJlc3M6Ci0gICAgICAgIGQtPm1vdXNlUHJlc3NF
dmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqPihldikpOwotICAgICAg
ICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25EYmxDbGljazoKICAgICAgICAg
ZC0+bW91c2VEb3VibGVDbGlja0V2ZW50KHN0YXRpY19jYXN0PFFNb3VzZUV2ZW50Kj4oZXYpKTsK
ICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVNb3VzZURvdWJs
ZUNsaWNrOgotICAgICAgICBkLT5tb3VzZURvdWJsZUNsaWNrRXZlbnQoc3RhdGljX2Nhc3Q8UUdy
YXBoaWNzU2NlbmVNb3VzZUV2ZW50Kj4oZXYpKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBR
RXZlbnQ6Ok1vdXNlQnV0dG9uUmVsZWFzZToKICAgICAgICAgZC0+bW91c2VSZWxlYXNlRXZlbnQo
c3RhdGljX2Nhc3Q8UU1vdXNlRXZlbnQqPihldikpOwogICAgICAgICBicmVhazsKKyNpZiAhZGVm
aW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCisgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVN
b3VzZU1vdmU6CisgICAgICAgIGQtPm1vdXNlTW92ZUV2ZW50KHN0YXRpY19jYXN0PFFHcmFwaGlj
c1NjZW5lTW91c2VFdmVudCo+KGV2KSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2ZW50
OjpHcmFwaGljc1NjZW5lTW91c2VQcmVzczoKKyAgICAgICAgZC0+bW91c2VQcmVzc0V2ZW50KHN0
YXRpY19jYXN0PFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCo+KGV2KSk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lTW91c2VEb3VibGVDbGljazoKKyAgICAg
ICAgZC0+bW91c2VEb3VibGVDbGlja0V2ZW50KHN0YXRpY19jYXN0PFFHcmFwaGljc1NjZW5lTW91
c2VFdmVudCo+KGV2KSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUUV2ZW50OjpHcmFwaGlj
c1NjZW5lTW91c2VSZWxlYXNlOgogICAgICAgICBkLT5tb3VzZVJlbGVhc2VFdmVudChzdGF0aWNf
Y2FzdDxRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqPihldikpOwogICAgICAgICBicmVhazsKKyNl
bmRpZgogI2lmbmRlZiBRVF9OT19DT05URVhUTUVOVQogICAgIGNhc2UgUUV2ZW50OjpDb250ZXh0
TWVudToKICAgICAgICAgZC0+Y29udGV4dE1lbnVFdmVudChzdGF0aWNfY2FzdDxRQ29udGV4dE1l
bnVFdmVudCo+KGV2KS0+Z2xvYmFsUG9zKCkpOwogICAgICAgICBicmVhazsKKyNpZiAhZGVmaW5l
ZChRVF9OT19HUkFQSElDU1ZJRVcpCiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVDb250
ZXh0TWVudToKICAgICAgICAgZC0+Y29udGV4dE1lbnVFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhp
Y3NTY2VuZUNvbnRleHRNZW51RXZlbnQqPihldiktPnNjcmVlblBvcygpKTsKICAgICAgICAgYnJl
YWs7CiAjZW5kaWYKKyNlbmRpZgogI2lmbmRlZiBRVF9OT19XSEVFTEVWRU5UCiAgICAgY2FzZSBR
RXZlbnQ6OldoZWVsOgogICAgICAgICBkLT53aGVlbEV2ZW50KHN0YXRpY19jYXN0PFFXaGVlbEV2
ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NW
SUVXKQogICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lV2hlZWw6CiAgICAgICAgIGQtPndo
ZWVsRXZlbnQoc3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVXaGVlbEV2ZW50Kj4oZXYpKTsKICAg
ICAgICAgYnJlYWs7CiAjZW5kaWYKKyNlbmRpZgogICAgIGNhc2UgUUV2ZW50OjpLZXlQcmVzczoK
ICAgICAgICAgZC0+a2V5UHJlc3NFdmVudChzdGF0aWNfY2FzdDxRS2V5RXZlbnQqPihldikpOwog
ICAgICAgICBicmVhazsKQEAgLTMwNTEsMjggKzMwNTksMzEgQEAgYm9vbCBRV2ViUGFnZTo6ZXZl
bnQoUUV2ZW50ICpldikKICAgICBjYXNlIFFFdmVudDo6RHJhZ0VudGVyOgogICAgICAgICBkLT5k
cmFnRW50ZXJFdmVudChzdGF0aWNfY2FzdDxRRHJhZ0VudGVyRXZlbnQqPihldikpOwogICAgICAg
ICBicmVhazsKLSAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZURyYWdFbnRlcjoKLSAgICAg
ICAgZC0+ZHJhZ0VudGVyRXZlbnQoc3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2
ZW50Kj4oZXYpKTsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6OkRyYWdMZWF2ZToK
ICAgICAgICAgZC0+ZHJhZ0xlYXZlRXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdMZWF2ZUV2ZW50Kj4o
ZXYpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVEcmFn
TGVhdmU6Ci0gICAgICAgIGQtPmRyYWdMZWF2ZUV2ZW50KHN0YXRpY19jYXN0PFFHcmFwaGljc1Nj
ZW5lRHJhZ0Ryb3BFdmVudCo+KGV2KSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgUUV2ZW50
OjpEcmFnTW92ZToKICAgICAgICAgZC0+ZHJhZ01vdmVFdmVudChzdGF0aWNfY2FzdDxRRHJhZ01v
dmVFdmVudCo+KGV2KSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2ZW50OjpEcm9wOgor
ICAgICAgICBkLT5kcm9wRXZlbnQoc3RhdGljX2Nhc3Q8UURyb3BFdmVudCo+KGV2KSk7CisgICAg
ICAgIGJyZWFrOworI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKKyAgICBjYXNlIFFF
dmVudDo6R3JhcGhpY3NTY2VuZURyYWdFbnRlcjoKKyAgICAgICAgZC0+ZHJhZ0VudGVyRXZlbnQo
c3RhdGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50Kj4oZXYpKTsKKyAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVEcmFnTW92ZToKICAgICAgICAg
ZC0+ZHJhZ01vdmVFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NTY2VuZURyYWdEcm9wRXZlbnQq
PihldikpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFFFdmVudDo6RHJvcDoKLSAgICAgICAg
ZC0+ZHJvcEV2ZW50KHN0YXRpY19jYXN0PFFEcm9wRXZlbnQqPihldikpOworICAgIGNhc2UgUUV2
ZW50OjpHcmFwaGljc1NjZW5lRHJhZ0xlYXZlOgorICAgICAgICBkLT5kcmFnTGVhdmVFdmVudChz
dGF0aWNfY2FzdDxRR3JhcGhpY3NTY2VuZURyYWdEcm9wRXZlbnQqPihldikpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZURyb3A6CiAgICAgICAgIGQtPmRy
b3BFdmVudChzdGF0aWNfY2FzdDxRR3JhcGhpY3NTY2VuZURyYWdEcm9wRXZlbnQqPihldikpOwog
ICAgICAgICBicmVhazsKICNlbmRpZgorCisjZW5kaWYKICAgICBjYXNlIFFFdmVudDo6SW5wdXRN
ZXRob2Q6CiAgICAgICAgIGQtPmlucHV0TWV0aG9kRXZlbnQoc3RhdGljX2Nhc3Q8UUlucHV0TWV0
aG9kRXZlbnQqPihldikpOwogICAgICAgICBicmVhazsKSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdl
YnBhZ2VfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCShyZXZp
c2lvbiA3NTg2OCkKKysrIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDUsNyArMTQ1LDkgQEAgcHVibGljOgogICAgIH07CiAKICAgICB2b2lkIGFkanVzdFBv
aW50Rm9yQ2xpY2tpbmcoUU1vdXNlRXZlbnQqKTsKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElD
U1ZJRVcpCiAgICAgdm9pZCBhZGp1c3RQb2ludEZvckNsaWNraW5nKFFHcmFwaGljc1NjZW5lTW91
c2VFdmVudCopOworI2VuZGlmCiAKICAgICB2b2lkIHNldEluc3BlY3RvcihRV2ViSW5zcGVjdG9y
Kik7CiAgICAgUVdlYkluc3BlY3RvciogZ2V0T3JDcmVhdGVJbnNwZWN0b3IoKTsKSW5kZXg6IFdl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAJKHJl
dmlzaW9uIDc1ODY4KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDA1LDYgKzE0MDUsNyBAQCBwcml2YXRlOgog
ICAgIH0KIH07CiAKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiBjbGFzcyBRdFBs
dWdpbkdyYXBoaWNzV2lkZ2V0OiBwdWJsaWMgV2lkZ2V0CiB7CiBwdWJsaWM6CkBAIC0xNDU0LDYg
KzE0NTUsNyBAQCBwcml2YXRlOgogCiAgICAgUUdyYXBoaWNzV2lkZ2V0KiBncmFwaGljc1dpZGdl
dDsKIH07CisjZW5kaWYgLy8gUVRfTk9fR1JBUEhJQ1NWSUVXCiAKIFBhc3NSZWZQdHI8V2lkZ2V0
PiBGcmFtZUxvYWRlckNsaWVudFF0OjpjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYgcGx1Z2lu
U2l6ZSwgSFRNTFBsdWdJbkVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1ZXMsIGNvbnN0IFN0
cmluZyYgbWltZVR5cGUsIGJvb2wgbG9hZE1hbnVhbGx5KQpAQCAtMTUyNyw2ICsxNTI5LDcgQEAg
UGFzc1JlZlB0cjxXaWRnZXQ+IEZyYW1lTG9hZGVyQ2xpZW50UXQ6OgogICAgICAgICAgICAgICAg
IHJldHVybiB3OwogICAgICAgICAgICAgfQogCisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NW
SUVXKQogICAgICAgICAgICAgUUdyYXBoaWNzV2lkZ2V0KiBncmFwaGljc1dpZGdldCA9IHFvYmpl
Y3RfY2FzdDxRR3JhcGhpY3NXaWRnZXQqPihvYmplY3QpOwogICAgICAgICAgICAgaWYgKGdyYXBo
aWNzV2lkZ2V0KSB7CiAgICAgICAgICAgICAgICAgUUdyYXBoaWNzT2JqZWN0KiBwYXJlbnRXaWRn
ZXQgPSAwOwpAQCAtMTU0MCw2ICsxNTQzLDcgQEAgUGFzc1JlZlB0cjxXaWRnZXQ+IEZyYW1lTG9h
ZGVyQ2xpZW50UXQ6OgogICAgICAgICAgICAgICAgIHctPnNldEZyYW1lUmVjdChJbnRSZWN0KDAs
IDAsIDAsIDApKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdzsKICAgICAgICAgICAgIH0KKyNl
bmRpZiAvLyBRVF9OT19HUkFQSElDU1ZJRVcKIAogICAgICAgICAgICAgLy8gRklYTUU6IG1ha2Ug
dGhpbmdzIHdvcmsgZm9yIHdpZGdldGxlc3MgcGx1Z2lucyBhcyB3ZWxsCiAgICAgICAgICAgICBk
ZWxldGUgb2JqZWN0OwpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRR
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRR
dC5jcHAJKHJldmlzaW9uIDc1ODY4KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VD
bGllbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNiw2ICsxMTYsNyBAQCBwcml2YXRlOgog
ICAgIFFXaWRnZXQqIG1fd2lkZ2V0OwogfTsKIAorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNT
VklFVykKIGNsYXNzIFBsYXRmb3JtTGF5ZXJQcm94eVFHcmFwaGljc09iamVjdCA6IHB1YmxpYyBQ
bGF0Zm9ybUxheWVyUHJveHlRdCB7CiBwdWJsaWM6CiAgICAgUGxhdGZvcm1MYXllclByb3h5UUdy
YXBoaWNzT2JqZWN0KFFXZWJGcmFtZSogZnJhbWUsIFRleHR1cmVNYXBwZXJDb250ZW50TGF5ZXIq
IGxheWVyLCBRR3JhcGhpY3NPYmplY3QqIG9iamVjdCkKQEAgLTE1MCw2ICsxNTEsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIFFHcmFwaGljc0l0ZW0qIG1fZ3JhcGhpY3NJdGVtOwogfTsKKyNl
bmRpZiAvLyBRVF9OT19HUkFQSElDU1ZJRVcKIAogdm9pZCBQYWdlQ2xpZW50UVdpZGdldDo6c2V0
Um9vdEdyYXBoaWNzTGF5ZXIoVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXIqIGxheWVyKQogewpA
QCAtMjU0LDYgKzI1Niw3IEBAIFFSZWN0RiBQYWdlQ2xpZW50UVdpZGdldDo6d2luZG93UmVjdCgp
IGMKICAgICByZXR1cm4gUVJlY3RGKHZpZXctPndpbmRvdygpLT5nZW9tZXRyeSgpKTsKIH0KIAor
I2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKIFBhZ2VDbGllbnRRR3JhcGhpY3NXaWRn
ZXQ6On5QYWdlQ2xpZW50UUdyYXBoaWNzV2lkZ2V0KCkKIHsKICAgICBkZWxldGUgb3ZlcmxheTsK
QEAgLTQ3NSw1ICs0NzgsNiBAQCBRUmVjdEYgUGFnZUNsaWVudFFHcmFwaGljc1dpZGdldDo6d2lu
ZG93CiAgICAgLy8gVGhlIHNjZW5lUmVjdCBpcyBhIGdvb2QgYXBwcm94aW1hdGlvbiBvZiB0aGUg
c2l6ZSBvZiB0aGUgYXBwbGljYXRpb24sIGluZGVwZW5kZW50IG9mIHRoZSB2aWV3LgogICAgIHJl
dHVybiB2aWV3LT5zY2VuZSgpLT5zY2VuZVJlY3QoKTsKIH0KKyNlbmRpZiAvLyBRVF9OT19HUkFQ
SElDU1ZJRVcKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9QYWdlQ2xpZW50UXQuaAkocmV2aXNpb24gNzU4NjgpCisrKyBXZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw2ICsxMDgs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJ
RVcpCiAvLyB0aGUgb3ZlcmxheSBpcyBoZXJlIGZvciBvbmUgcmVhc29uIG9ubHk6IHRvIGhhdmUg
dGhlIHNjcm9sbC1iYXJzIGFuZCBvdGhlcgogLy8gZXh0cmEgVUkgZWxlbWVudHMgYXBwZWFyIG9u
IHRvcCBvZiBhbnkgUUdyYXBoaWNzSXRlbXMgY3JlYXRlZCBieSBDU1MgY29tcG9zaXRpbmcgbGF5
ZXJzCiBjbGFzcyBRR3JhcGhpY3NJdGVtT3ZlcmxheSA6IHB1YmxpYyBRR3JhcGhpY3NPYmplY3Qg
ewpAQCAtMjMyLDYgKzIzMyw3IEBAIHB1YmxpYzoKICAgICAvLyB3ZSBuZWVkIHRvIHB1dCB0aGUg
cm9vdCBncmFwaGljcyBsYXllciBiZWhpbmQgdGhlIG92ZXJsYXkgKHdoaWNoIGNvbnRhaW5zIHRo
ZSBzY3JvbGxiYXIpCiAgICAgZW51bSB7IFJvb3RHcmFwaGljc0xheWVyWlZhbHVlLCBPdmVybGF5
WlZhbHVlIH07CiB9OworI2VuZGlmIC8vIFFUX05PX0dSQVBISUNTVklFVwogCiB9CiAjZW5kaWYg
Ly8gUGFnZUNsaWVudFF0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79088</attachid>
            <date>2011-01-15 20:03:10 -0800</date>
            <delta_ts>2011-01-15 20:12:33 -0800</delta_ts>
            <desc>Hook up QT_NO_GRAPHICSVIEW with qt_minimal configuration.</desc>
            <filename>49750.patch</filename>
            <type>text/plain</type>
            <size>26616</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkOGU0NTljLi44OThmM2I5
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDEtMTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29t
cGlsZSB3aXRoIFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICAqIFdlYktpdC5wcmk6IERlZmlu
ZSBRVF9OT19HUkFQSElDU1ZJRVcgYW5kIG5vIGxvbmdlciAKKyAgICAgICAgYnVpbGQgUXREZWNs
YXJhdGl2ZSBmb3IgcXRfbWluaW1hbCBjb25maWd1cmF0aW9uLgorCisgICAgICAgICogV2ViS2l0
LnBybzogTm8gbG9uZ2VyIG1haW50YWluIER1bXBSZW5kZXJUcmVlIAorICAgICAgICBmb3IgcXRf
bWluaW1hbCBjb25maWd1cmF0aW9uLgorCiAyMDExLTAxLTE0ICBBaG1hZCBTaGFyaWYgIDxhc2hh
cmlmLnRvb2xzQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAwNTlkZDI4Li4zNWE0MTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMS0xNSAgTGFzemxvIEdvbWJv
cyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NW
SUVXCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1
MAorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IFR1cm4gb2ZmIGFjY2VsZXJhdGVkIGNvbXBv
c2l0aW5nIGlmIG5laXRoZXIKKyAgICAgICAgUXRHcmFwaGljc1ZpZXcgbm9yIFRleHR1cmUgTWFw
cGVyIGFyZSB0dXJuZWQgb24uCisKIDIwMTEtMDEtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3LgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDM0YjZjZGUuLjQ2ZWMyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1BsYXRmb3JtLmgKQEAgLTEwNzksNyArMTA3OSw3IEBACiAjZW5kaWYKIAogLyogQWNjZWxl
cmF0ZWQgY29tcG9zaXRpbmcgKi8KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9USUdFUikpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQTEFU
Rk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYhZGVmaW5lZChXSU5fQ0FJUk8pKQorI2lmIChQTEFU
Rk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSkgfHwgUExBVEZPUk0oSU9T
KSB8fCBQTEFURk9STShRVCkgJiYgKCFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykgfHwgVVNF
KFRFWFRVUkVfTUFQUEVSKSkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiFkZWZp
bmVkKFdJTl9DQUlSTykpCiAjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcg
MQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhODFlZTdjLi4xMzc5YzY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTEtMDEtMTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21i
b3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gQ29tcGlsZSB3aXRoIFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICBObyBu
ZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwOiBHdWFyZCB3aXRoCisgICAg
ICAgIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgdG8gZW5hYmxlIGJ1aWxkaW5nIHdpdGhv
dXQKKyAgICAgICAgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaDogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9xdC9UZXh0dXJlTWFwcGVyUXQuaDogR3VhcmQgd2l0aCAKKyAgICAgICAg
VVNFKFRFWFRVUkVfTUFQUEVSKSBhcyBpdCBpcyBpbmNsdWRlZCBpbiBQYWdlQ2xpZW50UXQuY3Bw
LgorCisgICAgICAgICogcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcDogR3VhcmQgUUdyYXBo
aWNzU2NlbmVXaGVlbEV2ZW50IHdpdGgKKyAgICAgICAgIVFUX05PX0dSQVBISUNTVklFVy4KKwor
ICAgICAgICAqIHBsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsdWdpblZpZXc6OnVwZGF0ZVBsdWdpbldpZGdldCk6IEd1YXJkIG1fcGxhdGZvcm1MYXllciB3
aXRoCisgICAgICAgIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgdG8gZW5hYmxlIGJ1aWxk
aW5nIHdpdGhvdXQKKyAgICAgICAgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcuCisKIDIwMTEtMDEt
MTQgIFNhbSBNYWdudXNvbiAgPHNtYWdudXNvQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCmluZGV4IDc1ZmI0
MjcuLjg5YjUxYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJRdC5oIgogCi0jaWYgIWRlZmluZWQo
UVRfTk9fR1JBUEhJQ1NWSUVXKQorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykgJiYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCiAjaW5jbHVkZSAiQ3VycmVudFRpbWUuaCIK
ICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmgKaW5kZXggODAyNzE0My4uZDNhNDBlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NM
YXllclF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NMYXllclF0LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgi
CiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNsaWVudC5oIgogCi0jaWYgIWRlZmluZWQoUVRfTk9f
R1JBUEhJQ1NWSUVXKQorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykgJiYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RleHR1cmVNYXBwZXJRdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0LmgK
aW5kZXggZTE3Yjk2OC4uYTlhNzkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0LmgKQEAgLTIyLDYgKzIyLDggQEAKICNp
Zm5kZWYgVGV4dHVyZU1hcHBlclF0X2gKICNkZWZpbmUgVGV4dHVyZU1hcHBlclF0X2gKIAorI2lm
IFVTRShURVhUVVJFX01BUFBFUikKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCaXRt
YXBUZXh0dXJlUXQgOiBwdWJsaWMgQml0bWFwVGV4dHVyZSB7CkBAIC03Myw0ICs3NSw3IEBAIHBy
aXZhdGU6CiB9OwogCiB9CisKKyNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVIpCisKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1doZWVsRXZlbnRRdC5jcHAKaW5kZXggYWE2
MWQ5MS4uNmI1NzBhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2hl
ZWxFdmVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50
UXQuY3BwCkBAIC01Nyw2ICs1Nyw3IEBAIHZvaWQgUGxhdGZvcm1XaGVlbEV2ZW50OjphcHBseURl
bHRhKGludCBkZWx0YSwgUXQ6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogI2VuZGlmCiB9CiAK
KyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3Jt
V2hlZWxFdmVudChRR3JhcGhpY3NTY2VuZVdoZWVsRXZlbnQqIGUpCiAjaWZuZGVmIFFUX05PX1dI
RUVMRVZFTlQKICAgICA6IG1fcG9zaXRpb24oZS0+cG9zKCkudG9Qb2ludCgpKQpAQCAtNzUsNiAr
NzYsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRR3JhcGhpY3NT
Y2VuZVdoZWVsRXZlbnQqIGUpCiAgICAgUV9VTlVTRUQoZSk7CiAjZW5kaWYKIH0KKyNlbmRpZgog
CiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRV2hlZWxFdmVudCogZSkK
ICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVn
aW5WaWV3UXQuY3BwCmluZGV4IGZkYmU1NTIuLjI4YzU3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKQEAgLTE2NywxMSArMTY3LDEzIEBAIHZvaWQgUGx1
Z2luVmlldzo6dXBkYXRlUGx1Z2luV2lkZ2V0KCkKICAgICAgICAgfHwgKFFXZWJQYWdlUHJpdmF0
ZTo6ZHJ0UnVuICYmIHBsYXRmb3JtUGx1Z2luV2lkZ2V0KCkgJiYgKG1fd2luZG93UmVjdCAhPSBv
bGRXaW5kb3dSZWN0IHx8IG1fY2xpcFJlY3QgIT0gb2xkQ2xpcFJlY3QpKSkKICAgICAgICAgc2V0
TlBXaW5kb3dJZk5lZWRlZCgpOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIGlmICghbV9wbGF0Zm9ybUxheWVyKSB7CiAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBnZXQg
cmVwYWludGVkIGFmdGVyd2FyZHMuIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBkb3dud2FyZAogICAg
ICAgICAvLyBzY3JvbGxpbmcgdG8gbW92ZSB0aGUgcGx1Z2luIHdpZGdldCBwcm9wZXJseS4KICAg
ICAgICAgaW52YWxpZGF0ZSgpOwogICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIFBsdWdpblZpZXc6
OnNldEZvY3VzKGJvb2wgZm9jdXNlZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCAwZWU1MjA4Li45ZTU2OGFmIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDEt
MTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29tcGlsZSB3aXRo
IFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICBCdWlsZCBRdFRlc3RCcm93c2VyIHdpdGggUVRf
Tk9fR1JBUEhJQ1NWSUVXLgorCisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRv
dy5jcHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3cpOgorICAgICAg
ICAoTGF1bmNoZXJXaW5kb3c6OmluaXRpYWxpemVWaWV3KToKKyAgICAgICAgKExhdW5jaGVyV2lu
ZG93OjphcHBseVByZWZzKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUp
OgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmlzR3JhcGhpY3NCYXNlZCk6CisgICAgICAgIChM
YXVuY2hlcldpbmRvdzo6em9vbUFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAgICAgKExhdW5jaGVy
V2luZG93OjphcHBseVpvb20pOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZVJlc2l6
ZXNUb0NvbnRlbnRzKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93OjphbmltYXRlZEZsaXApOgor
ICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmFuaW1hdGVkWUZsaXApOgorICAgICAgICAoTGF1bmNo
ZXJXaW5kb3c6OmNoYW5nZVZpZXdwb3J0VXBkYXRlTW9kZSk6CisgICAgICAgIChMYXVuY2hlcldp
bmRvdzo6c2hvd0ZQUyk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6Y2xvbmVXaW5kb3cpOgor
ICAgICAgICAqIFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKyAgICAgICAgKFdpbmRv
d09wdGlvbnM6OldpbmRvd09wdGlvbnMpOgorICAgICAgICAqIFF0VGVzdEJyb3dzZXIvbWFpbi5j
cHA6CisgICAgICAgIChMYXVuY2hlckFwcGxpY2F0aW9uOjpoYW5kbGVVc2VyT3B0aW9ucyk6Cisg
ICAgICAgICogUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcDoKKyAgICAgICAgKEdyYXBoaWNzV2Vi
Vmlldzo6bW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKiBRdFRlc3RCcm93c2VyL3dlYnZpZXcu
aDoKKwogMjAxMS0wMS0xNCAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYgR2FyZW4uCmRpZmYgLS1naXQgYS9Ub29scy9R
dFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcCBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1
bmNoZXJ3aW5kb3cuY3BwCmluZGV4IDhhNGI4ODQuLjUxZjM3ZWIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dz
ZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCkBAIC0zNSw3ICszNSwxMSBAQAogY29uc3QgaW50IGdFeGl0
Q2xpY2tBcmVhID0gODA7CiBRVmVjdG9yPGludD4gTGF1bmNoZXJXaW5kb3c6Om1fem9vbUxldmVs
czsKIAorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKIExhdW5jaGVyV2luZG93OjpMYXVuY2hl
cldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhLCBRR3JhcGhpY3NTY2VuZSogc2hhcmVkU2NlbmUp
CisjZWxzZQorTGF1bmNoZXJXaW5kb3c6OkxhdW5jaGVyV2luZG93KFdpbmRvd09wdGlvbnMqIGRh
dGEpCisjZW5kaWYKICAgICA6IE1haW5XaW5kb3coKQogICAgICwgbV9jdXJyZW50Wm9vbSgxMDAp
CiAgICAgLCBtX3ZpZXcoMCkKQEAgLTQ3LDggKzUxLDEwIEBAIExhdW5jaGVyV2luZG93OjpMYXVu
Y2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhLCBRR3JhcGhpY3NTY2VuZSogc2hhcmVkU2Nl
bmUpCiAgICAgICAgIG1fd2luZG93T3B0aW9ucyA9ICpkYXRhOwogCiAgICAgaW5pdCgpOworI2lm
bmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBpZiAoc2hhcmVkU2NlbmUgJiYgZGF0YS0+dXNl
R3JhcGhpY3NWaWV3KQogICAgICAgICBzdGF0aWNfY2FzdDxRR3JhcGhpY3NWaWV3Kj4obV92aWV3
KS0+c2V0U2NlbmUoc2hhcmVkU2NlbmUpOworI2VuZGlmCiAKICAgICBjcmVhdGVDaHJvbWUoKTsK
IH0KQEAgLTEwNyw2ICsxMTMsNyBAQCB2b2lkIExhdW5jaGVyV2luZG93Ojppbml0aWFsaXplVmll
dygpCiAKICAgICAgICAgbV92aWV3ID0gdmlldzsKICAgICB9IGVsc2UgeworI2lmbmRlZiBRVF9O
T19HUkFQSElDU1ZJRVcKICAgICAgICAgV2ViVmlld0dyYXBoaWNzQmFzZWQqIHZpZXcgPSBuZXcg
V2ViVmlld0dyYXBoaWNzQmFzZWQoc3BsaXR0ZXIpOwogICAgICAgICB2aWV3LT5zZXRQYWdlKHBh
Z2UoKSk7CiAKQEAgLTExOCw2ICsxMjUsNyBAQCB2b2lkIExhdW5jaGVyV2luZG93Ojppbml0aWFs
aXplVmlldygpCiAgICAgICAgIHZpZXctPnZpZXdwb3J0KCktPmluc3RhbGxFdmVudEZpbHRlcih0
aGlzKTsKIAogICAgICAgICBtX3ZpZXcgPSB2aWV3OworI2VuZGlmCiAgICAgfQogCiAgICAgbV90
b3VjaE1vY2tpbmcgPSBmYWxzZTsKQEAgLTE1MiwxMCArMTYwLDEyIEBAIHZvaWQgTGF1bmNoZXJX
aW5kb3c6OmFwcGx5UHJlZnMoKQogICAgIGlmICghaXNHcmFwaGljc0Jhc2VkKCkpCiAgICAgICAg
IHJldHVybjsKIAorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBXZWJWaWV3R3JhcGhp
Y3NCYXNlZCogdmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2VkKj4obV92aWV3
KTsKICAgICB2aWV3LT5zZXRWaWV3cG9ydFVwZGF0ZU1vZGUobV93aW5kb3dPcHRpb25zLnZpZXdw
b3J0VXBkYXRlTW9kZSk7CiAgICAgdmlldy0+c2V0RnJhbWVSYXRlTWVhc3VyZW1lbnRFbmFibGVk
KG1fd2luZG93T3B0aW9ucy5zaG93RnJhbWVSYXRlKTsKICAgICB2aWV3LT5zZXRJdGVtQ2FjaGVN
b2RlKG1fd2luZG93T3B0aW9ucy5jYWNoZVdlYlZpZXcgPyBRR3JhcGhpY3NJdGVtOjpEZXZpY2VD
b29yZGluYXRlQ2FjaGUgOiBRR3JhcGhpY3NJdGVtOjpOb0NhY2hlKTsKKyNlbmRpZgogCiAgICAg
aWYgKG1fd2luZG93T3B0aW9ucy5yZXNpemVzVG9Db250ZW50cykKICAgICAgICAgdG9nZ2xlUmVz
aXplc1RvQ29udGVudHMobV93aW5kb3dPcHRpb25zLnJlc2l6ZXNUb0NvbnRlbnRzKTsKQEAgLTI3
Niw2ICsyODYsNyBAQCB2b2lkIExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUoKQogICAgIHNo
b3dJbnNwZWN0b3JBY3Rpb24tPmNvbm5lY3QobV9pbnNwZWN0b3IsIFNJR05BTCh2aXNpYmxlQ2hh
bmdlZChib29sKSksIFNMT1Qoc2V0Q2hlY2tlZChib29sKSkpOwogCiAgICAgLy8gR3JhcGhpY3NW
aWV3IHN1YiBtZW51LgorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBRQWN0aW9uKiB0
b2dnbGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nID0gZ3JhcGhpY3NWaWV3TWVudS0+YWRkQWN0aW9u
KCJUb2dnbGUgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCB0aGlzLCBTTE9UKHRvZ2dsZUFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmcoYm9vbCkpKTsKICAgICB0b2dnbGVBY2NlbGVyYXRlZENvbXBvc2l0
aW5nLT5zZXRDaGVja2FibGUodHJ1ZSk7CiAgICAgdG9nZ2xlQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Zy0+c2V0Q2hlY2tlZChzZXR0aW5ncy0+dGVzdEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSk7CkBAIC0zNzIsMTEgKzM4MywxNiBAQCB2b2lkIExh
dW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUoKQogICAgIHNob3dGUFMtPmNvbm5lY3QodG9nZ2xl
R3JhcGhpY3NWaWV3LCBTSUdOQUwodG9nZ2xlZChib29sKSksIFNMT1Qoc2V0RW5hYmxlZChib29s
KSkpOwogICAgIHNob3dGUFMtPnNldENoZWNrZWQobV93aW5kb3dPcHRpb25zLnNob3dGcmFtZVJh
dGUpOwogI2VuZGlmCisjZW5kaWYKIH0KIAogYm9vbCBMYXVuY2hlcldpbmRvdzo6aXNHcmFwaGlj
c0Jhc2VkKCkgY29uc3QKIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgcmV0dXJu
IGJvb2wocW9iamVjdF9jYXN0PFFHcmFwaGljc1ZpZXcqPihtX3ZpZXcpKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmtleVByZXNz
RXZlbnQoUUtleUV2ZW50KiBldmVudCkKQEAgLTU0NSwxMyArNTYxLDE1IEBAIHZvaWQgTGF1bmNo
ZXJXaW5kb3c6Onpvb21BbmltYXRpb25GaW5pc2hlZCgpCiB7CiAgICAgaWYgKCFpc0dyYXBoaWNz
QmFzZWQoKSkKICAgICAgICAgcmV0dXJuOworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAg
ICBRR3JhcGhpY3NXZWJWaWV3KiB2aWV3ID0gc3RhdGljX2Nhc3Q8V2ViVmlld0dyYXBoaWNzQmFz
ZWQqPihtX3ZpZXcpLT5ncmFwaGljc1dlYlZpZXcoKTsKICAgICB2aWV3LT5zZXRUaWxlZEJhY2tp
bmdTdG9yZUZyb3plbihmYWxzZSk7CisjZW5kaWYKIH0KIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6
YXBwbHlab29tKCkKIHsKLSNpZm5kZWYgUVRfTk9fQU5JTUFUSU9OCisjaWYgIWRlZmluZWQoUVRf
Tk9fQU5JTUFUSU9OKSB8fCAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiAgICAgaWYgKGlz
R3JhcGhpY3NCYXNlZCgpICYmIHBhZ2UoKS0+c2V0dGluZ3MoKS0+dGVzdEF0dHJpYnV0ZShRV2Vi
U2V0dGluZ3M6OlRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCkpIHsKICAgICAgICAgUUdyYXBoaWNz
V2ViVmlldyogdmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2VkKj4obV92aWV3
KS0+Z3JhcGhpY3NXZWJWaWV3KCk7CiAgICAgICAgIHZpZXctPnNldFRpbGVkQmFja2luZ1N0b3Jl
RnJvemVuKHRydWUpOwpAQCAtNzA3LDggKzcyNSwxMCBAQCB2b2lkIExhdW5jaGVyV2luZG93Ojp0
b2dnbGVUaWxlZEJhY2tpbmdTdG9yZShib29sIHRvZ2dsZSkKIAogdm9pZCBMYXVuY2hlcldpbmRv
dzo6dG9nZ2xlUmVzaXplc1RvQ29udGVudHMoYm9vbCB0b2dnbGUpCiB7CisjaWZuZGVmIFFUX05P
X0dSQVBISUNTVklFVwogICAgIG1fd2luZG93T3B0aW9ucy5yZXNpemVzVG9Db250ZW50cyA9IHRv
Z2dsZTsKICAgICBzdGF0aWNfY2FzdDxXZWJWaWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyktPnNl
dFJlc2l6ZXNUb0NvbnRlbnRzKHRvZ2dsZSk7CisjZW5kaWYKIH0KIAogdm9pZCBMYXVuY2hlcldp
bmRvdzo6dG9nZ2xlV2ViR0woYm9vbCB0b2dnbGUpCkBAIC03MjUsMTIgKzc0NSwxNiBAQCB2b2lk
IExhdW5jaGVyV2luZG93Ojp0b2dnbGVUaHJlYWRlZFFuYW0oYm9vbCB0b2dnbGUpCiAKIHZvaWQg
TGF1bmNoZXJXaW5kb3c6OmFuaW1hdGVkRmxpcCgpCiB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNT
VklFVwogICAgIHFvYmplY3RfY2FzdDxXZWJWaWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyktPmFu
aW1hdGVkRmxpcCgpOworI2VuZGlmCiB9CiAKIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmFuaW1hdGVk
WUZsaXAoKQogeworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBxb2JqZWN0X2Nhc3Q8
V2ViVmlld0dyYXBoaWNzQmFzZWQqPihtX3ZpZXcpLT5hbmltYXRlZFlGbGlwKCk7CisjZW5kaWYK
IH0KIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZVNwYXRpYWxOYXZpZ2F0aW9uKGJvb2wgYikK
IHsKQEAgLTc4MSwxMyArODA1LDE0IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZVFHTFdp
ZGdldFZpZXdwb3J0KGJvb2wgZW5hYmxlKQogCiB2b2lkIExhdW5jaGVyV2luZG93OjpjaGFuZ2VW
aWV3cG9ydFVwZGF0ZU1vZGUoaW50IG1vZGUpCiB7Ci0gICAgbV93aW5kb3dPcHRpb25zLnZpZXdw
b3J0VXBkYXRlTW9kZSA9IFFHcmFwaGljc1ZpZXc6OlZpZXdwb3J0VXBkYXRlTW9kZShtb2RlKTsK
LQogICAgIGlmICghaXNHcmFwaGljc0Jhc2VkKCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmbmRl
ZiBRVF9OT19HUkFQSElDU1ZJRVcKKyAgICBtX3dpbmRvd09wdGlvbnMudmlld3BvcnRVcGRhdGVN
b2RlID0gUUdyYXBoaWNzVmlldzo6Vmlld3BvcnRVcGRhdGVNb2RlKG1vZGUpOwogICAgIFdlYlZp
ZXdHcmFwaGljc0Jhc2VkKiB2aWV3ID0gc3RhdGljX2Nhc3Q8V2ViVmlld0dyYXBoaWNzQmFzZWQq
PihtX3ZpZXcpOwogICAgIHZpZXctPnNldFZpZXdwb3J0VXBkYXRlTW9kZShtX3dpbmRvd09wdGlv
bnMudmlld3BvcnRVcGRhdGVNb2RlKTsKKyNlbmRpZgogfQogCiB2b2lkIExhdW5jaGVyV2luZG93
OjpzaG93RlBTKGJvb2wgZW5hYmxlKQpAQCAtNzk2LDggKzgyMSwxMCBAQCB2b2lkIExhdW5jaGVy
V2luZG93OjpzaG93RlBTKGJvb2wgZW5hYmxlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3dp
bmRvd09wdGlvbnMuc2hvd0ZyYW1lUmF0ZSA9IGVuYWJsZTsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJ
Q1NWSUVXCiAgICAgV2ViVmlld0dyYXBoaWNzQmFzZWQqIHZpZXcgPSBzdGF0aWNfY2FzdDxXZWJW
aWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyk7CiAgICAgdmlldy0+c2V0RnJhbWVSYXRlTWVhc3Vy
ZW1lbnRFbmFibGVkKGVuYWJsZSk7CisjZW5kaWYKIAogICAgIGlmICghZW5hYmxlKSB7CiAjaWYg
ZGVmaW5lZChRX1dTX01BRU1PXzUpICYmIGRlZmluZWQoUV9PU19TWU1CSUFOKQpAQCAtODc5LDcg
KzkwNiwxMSBAQCBMYXVuY2hlcldpbmRvdyogTGF1bmNoZXJXaW5kb3c6Om5ld1dpbmRvdygpCiAK
IExhdW5jaGVyV2luZG93KiBMYXVuY2hlcldpbmRvdzo6Y2xvbmVXaW5kb3coKQogeworI2lmbmRl
ZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBMYXVuY2hlcldpbmRvdyogbXcgPSBuZXcgTGF1bmNo
ZXJXaW5kb3coJm1fd2luZG93T3B0aW9ucywgcW9iamVjdF9jYXN0PFFHcmFwaGljc1ZpZXcqPiht
X3ZpZXcpLT5zY2VuZSgpKTsKKyNlbHNlCisgICAgTGF1bmNoZXJXaW5kb3cqIG13ID0gbmV3IExh
dW5jaGVyV2luZG93KCZtX3dpbmRvd09wdGlvbnMpOworI2VuZGlmCiAgICAgbXctPnNob3coKTsK
ICAgICByZXR1cm4gbXc7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5j
aGVyd2luZG93LmggYi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKaW5kZXgg
ZjM5ZmFlZi4uMjE0ODVkMiAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hl
cndpbmRvdy5oCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaApAQCAt
OTMsNyArOTMsOSBAQCBwdWJsaWM6CiAgICAgICAgICwgY2FjaGVXZWJWaWV3KGZhbHNlKQogICAg
ICAgICAsIHNob3dGcmFtZVJhdGUoZmFsc2UpCiAgICAgICAgICwgcmVzaXplc1RvQ29udGVudHMo
ZmFsc2UpCisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgICAgICAsIHZpZXdwb3J0VXBk
YXRlTW9kZShRR3JhcGhpY3NWaWV3OjpNaW5pbWFsVmlld3BvcnRVcGRhdGUpCisjZW5kaWYKICNp
ZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lUSF9PUEVOR0wpCiAgICAgICAgICwgdXNlUUdMV2lk
Z2V0Vmlld3BvcnQoZmFsc2UpCiAjZW5kaWYKQEAgLTEwOSw3ICsxMTEsOSBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBjYWNoZVdlYlZpZXc7CiAgICAgYm9vbCBzaG93RnJhbWVSYXRlOwogICAgIGJvb2wg
cmVzaXplc1RvQ29udGVudHM7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIFFHcmFw
aGljc1ZpZXc6OlZpZXdwb3J0VXBkYXRlTW9kZSB2aWV3cG9ydFVwZGF0ZU1vZGU7CisjZW5kaWYK
ICNpZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lUSF9PUEVOR0wpCiAgICAgYm9vbCB1c2VRR0xX
aWRnZXRWaWV3cG9ydDsKICNlbmRpZgpAQCAtMTIxLDcgKzEyNSwxMSBAQCBjbGFzcyBMYXVuY2hl
cldpbmRvdyA6IHB1YmxpYyBNYWluV2luZG93IHsKICAgICBRX09CSkVDVAogCiBwdWJsaWM6Ci0g
ICAgTGF1bmNoZXJXaW5kb3coV2luZG93T3B0aW9ucyogZGF0YSA9IDAsIFFHcmFwaGljc1NjZW5l
KiBzaGFyZWRTY2VuZSA9IDApOworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKKyAgICBMYXVu
Y2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhID0gMCAsIFFHcmFwaGljc1NjZW5lKiBzaGFy
ZWRTY2VuZSA9IDApOworI2Vsc2UKKyAgICBMYXVuY2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBk
YXRhID0gMCk7CisjZW5kaWYKICAgICB2aXJ0dWFsIH5MYXVuY2hlcldpbmRvdygpOwogCiAgICAg
dmlydHVhbCB2b2lkIGtleVByZXNzRXZlbnQoUUtleUV2ZW50KiBldmVudCk7CmRpZmYgLS1naXQg
YS9Ub29scy9RdFRlc3RCcm93c2VyL21haW4uY3BwIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9tYWlu
LmNwcAppbmRleCBlYzVmMWQ5Li5hYzhkZDU0IDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93
c2VyL21haW4uY3BwCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbWFpbi5jcHAKQEAgLTExMCwx
NCArMTEwLDE4IEBAIHZvaWQgTGF1bmNoZXJBcHBsaWNhdGlvbjo6aGFuZGxlVXNlck9wdGlvbnMo
KQogICAgIGlmIChwcm9ncmFtLmV4aXN0cygpKQogICAgICAgICBwcm9ncmFtTmFtZSA9IHByb2dy
YW0uYmFzZU5hbWUoKTsKIAorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBRTGlzdDxR
U3RyaW5nPiB1cGRhdGVNb2RlcyhlbnVtVG9LZXlzKFFHcmFwaGljc1ZpZXc6OnN0YXRpY01ldGFP
YmplY3QsCiAgICAgICAgICAgICAiVmlld3BvcnRVcGRhdGVNb2RlIiwgIlZpZXdwb3J0VXBkYXRl
IikpOworI2VuZGlmCiAKICAgICBpZiAoYXJncy5jb250YWlucygiLWhlbHAiKSkgewogICAgICAg
ICBxRGVidWcoKSA8PCAiVXNhZ2U6IiA8PCBwcm9ncmFtTmFtZS50b0xhdGluMSgpLmRhdGEoKQog
ICAgICAgICAgICAgIDw8ICJbLWdyYXBoaWNzYmFzZWRdIgogICAgICAgICAgICAgIDw8ICJbLW5v
LWNvbXBvc2l0aW5nXSIKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgICAgICAg
PDwgUVN0cmluZygiWy12aWV3cG9ydC11cGRhdGUtbW9kZSAlMV0iKS5hcmcoZm9ybWF0S2V5cyh1
cGRhdGVNb2RlcykpLnRvTGF0aW4xKCkuZGF0YSgpCisjZW5kaWYKICAgICAgICAgICAgICA8PCAi
Wy1jYWNoZS13ZWJ2aWV3XSIKICAgICAgICAgICAgICA8PCAiWy1zaG93LWZwc10iCiAgICAgICAg
ICAgICAgPDwgIlstciBsaXN0XSIKQEAgLTE3Niw4ICsxODAsOSBAQCB2b2lkIExhdW5jaGVyQXBw
bGljYXRpb246OmhhbmRsZVVzZXJPcHRpb25zKCkKICAgICBpZiAoc2V0T2ZmbGluZVN0b3JhZ2VE
ZWZhdWx0UXVvdGFJbmRleCAhPSAtMSkgewogICAgICAgICBpbnQgbWF4U2l6ZSA9IHRha2VPcHRp
b25WYWx1ZSgmYXJncywgc2V0T2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGFJbmRleCkudG9JbnQo
KTsKICAgICAgICAgUVdlYlNldHRpbmdzOjpnbG9iYWxTZXR0aW5ncygpLT5zZXRPZmZsaW5lU3Rv
cmFnZURlZmF1bHRRdW90YShtYXhTaXplKTsKLSAgICB9ICAgCisgICAgfQogICAgIAorI2lmbmRl
ZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBpZiAoZGVmYXVsdEZvckFuaW1hdGlvbnMpCiAgICAg
ICAgIHdpbmRvd09wdGlvbnMudmlld3BvcnRVcGRhdGVNb2RlID0gUUdyYXBoaWNzVmlldzo6Qm91
bmRpbmdSZWN0Vmlld3BvcnRVcGRhdGU7CiAKQEAgLTE5NSw2ICsyMDAsNyBAQCB2b2lkIExhdW5j
aGVyQXBwbGljYXRpb246OmhhbmRsZVVzZXJPcHRpb25zKCkKIAogICAgICAgICB3aW5kb3dPcHRp
b25zLnZpZXdwb3J0VXBkYXRlTW9kZSA9IHN0YXRpY19jYXN0PFFHcmFwaGljc1ZpZXc6OlZpZXdw
b3J0VXBkYXRlTW9kZT4oaWR4KTsKICAgICB9CisjZW5kaWYKICNpZmRlZiBRVF9DT05GSUdVUkVE
X1dJVEhfT1BFTkdMCiAgICAgaWYgKGFyZ3MuY29udGFpbnMoIi1nbC12aWV3cG9ydCIpIHx8IGRl
ZmF1bHRGb3JBbmltYXRpb25zKSB7CiAgICAgICAgIHJlcXVpcmVzR3JhcGhpY3NWaWV3KCItZ2wt
dmlld3BvcnQiKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvd2Vidmlldy5jcHAg
Yi9Ub29scy9RdFRlc3RCcm93c2VyL3dlYnZpZXcuY3BwCmluZGV4IDhlMzM2MjAuLmMyMWQwZDAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvd2Vidmlldy5jcHAKKysrIGIvVG9vbHMv
UXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPFF0
R3VpPgogI2luY2x1ZGUgPFFHcmFwaGljc1NjZW5lPgogCisjaWZuZGVmIFFUX05PX0dSQVBISUNT
VklFVwogV2ViVmlld0dyYXBoaWNzQmFzZWQ6OldlYlZpZXdHcmFwaGljc0Jhc2VkKFFXaWRnZXQq
IHBhcmVudCkKICAgICA6IFFHcmFwaGljc1ZpZXcocGFyZW50KQogICAgICwgbV9pdGVtKG5ldyBH
cmFwaGljc1dlYlZpZXcpCkBAIC0yMzAsNiArMjMxLDE1IEBAIHZvaWQgV2ViVmlld0dyYXBoaWNz
QmFzZWQ6OnBhaW50RXZlbnQoUVBhaW50RXZlbnQqIGV2ZW50KQogICAgICAgICByZXR1cm47CiB9
CiAKK3ZvaWQgR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoUUdyYXBoaWNzU2NlbmVN
b3VzZUV2ZW50KiBldmVudCkKK3sKKyAgICBzZXRQcm9wZXJ0eSgibW91c2VCdXR0b25zIiwgUVZh
cmlhbnQ6OmZyb21WYWx1ZShpbnQoZXZlbnQtPmJ1dHRvbnMoKSkpKTsKKyAgICBzZXRQcm9wZXJ0
eSgia2V5Ym9hcmRNb2RpZmllcnMiLCBRVmFyaWFudDo6ZnJvbVZhbHVlKGludChldmVudC0+bW9k
aWZpZXJzKCkpKSk7CisKKyAgICBRR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoZXZl
bnQpOworfQorI2VuZGlmCisKIHN0YXRpYyBRTWVudSogY3JlYXRlQ29udGV4dE1lbnUoUVdlYlBh
Z2UqIHBhZ2UsIFFQb2ludCBwb3NpdGlvbikKIHsKICAgICBRTWVudSogbWVudSA9IHBhZ2UtPmNy
ZWF0ZVN0YW5kYXJkQ29udGV4dE1lbnUoKTsKQEAgLTI0NSwxNCArMjU1LDYgQEAgc3RhdGljIFFN
ZW51KiBjcmVhdGVDb250ZXh0TWVudShRV2ViUGFnZSogcGFnZSwgUVBvaW50IHBvc2l0aW9uKQog
ICAgIHJldHVybiBtZW51OwogfQogCi12b2lkIEdyYXBoaWNzV2ViVmlldzo6bW91c2VQcmVzc0V2
ZW50KFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogZXZlbnQpCi17Ci0gICAgc2V0UHJvcGVydHko
Im1vdXNlQnV0dG9ucyIsIFFWYXJpYW50Ojpmcm9tVmFsdWUoaW50KGV2ZW50LT5idXR0b25zKCkp
KSk7Ci0gICAgc2V0UHJvcGVydHkoImtleWJvYXJkTW9kaWZpZXJzIiwgUVZhcmlhbnQ6OmZyb21W
YWx1ZShpbnQoZXZlbnQtPm1vZGlmaWVycygpKSkpOwotCi0gICAgUUdyYXBoaWNzV2ViVmlldzo6
bW91c2VQcmVzc0V2ZW50KGV2ZW50KTsKLX0KLQogdm9pZCBXZWJWaWV3VHJhZGl0aW9uYWw6Om1v
dXNlUHJlc3NFdmVudChRTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgc2V0UHJvcGVydHkoIm1v
dXNlQnV0dG9ucyIsIFFWYXJpYW50Ojpmcm9tVmFsdWUoaW50KGV2ZW50LT5idXR0b25zKCkpKSk7
CkBAIC0yNjEsMTIgKzI2MywxNCBAQCB2b2lkIFdlYlZpZXdUcmFkaXRpb25hbDo6bW91c2VQcmVz
c0V2ZW50KFFNb3VzZUV2ZW50KiBldmVudCkKICAgICBRV2ViVmlldzo6bW91c2VQcmVzc0V2ZW50
KGV2ZW50KTsKIH0KIAorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKIHZvaWQgR3JhcGhpY3NX
ZWJWaWV3Ojpjb250ZXh0TWVudUV2ZW50KFFHcmFwaGljc1NjZW5lQ29udGV4dE1lbnVFdmVudCog
ZXZlbnQpCiB7CiAgICAgUU1lbnUqIG1lbnUgPSBjcmVhdGVDb250ZXh0TWVudShwYWdlKCksIGV2
ZW50LT5wb3MoKS50b1BvaW50KCkpOwogICAgIG1lbnUtPmV4ZWMoZXZlbnQtPnNjcmVlblBvcygp
KTsKICAgICBkZWxldGUgbWVudTsKIH0KKyNlbmRpZgogCiB2b2lkIFdlYlZpZXdUcmFkaXRpb25h
bDo6Y29udGV4dE1lbnVFdmVudChRQ29udGV4dE1lbnVFdmVudCogZXZlbnQpCiB7CmRpZmYgLS1n
aXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL3dlYnZpZXcuaCBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIv
d2Vidmlldy5oCmluZGV4IGI1MGI3NjQuLjNhMTFiNzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVz
dEJyb3dzZXIvd2Vidmlldy5oCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvd2Vidmlldy5oCkBA
IC01Niw3ICs1Niw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgbW91c2VQcmVzc0V2
ZW50KFFNb3VzZUV2ZW50Kik7CiB9OwogCi0KKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiBj
bGFzcyBHcmFwaGljc1dlYlZpZXcgOiBwdWJsaWMgUUdyYXBoaWNzV2ViVmlldyB7CiAgICAgUV9P
QkpFQ1QKIApAQCAtMTI5LDMgKzEyOSw0IEBAIGlubGluZSB2b2lkIFdlYlZpZXdHcmFwaGljc0Jh
c2VkOjpzZXRZUm90YXRpb24ocXJlYWwgYW5nbGUpCiB9CiAKICNlbmRpZgorI2VuZGlmCmRpZmYg
LS1naXQgYS9XZWJLaXQucHJpIGIvV2ViS2l0LnByaQppbmRleCA4ZjE4YmY1Li4yNmNhYzBhIDEw
MDY0NAotLS0gYS9XZWJLaXQucHJpCisrKyBiL1dlYktpdC5wcmkKQEAgLTEyMCw2ICsxMjAsNyBA
QCBDT05GSUcocXRfbWluaW1hbCkgewogICAgIERFRklORVMgKj0gUVRfTk9fREVTS1RPUFNFUlZJ
Q0VTCiAgICAgREVGSU5FUyAqPSBRVF9OT19GSUxFRElBTE9HCiAgICAgREVGSU5FUyAqPSBRVF9O
T19HUkFQSElDU0VGRkVDVAorICAgIERFRklORVMgKj0gUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAg
REVGSU5FUyAqPSBRVF9OT19JTQogICAgIERFRklORVMgKj0gUVRfTk9fSU5QVVRESUFMT0cKICAg
ICBERUZJTkVTICo9IFFUX05PX0xJTkVFRElUCkBAIC0xMzYsNCArMTM3LDYgQEAgQ09ORklHKHF0
X21pbmltYWwpIHsKICAgICBERUZJTkVTICo9IFFUX05PX1VORE9DT01NQU5ECiAgICAgREVGSU5F
UyAqPSBRVF9OT19VTkRPU1RBQ0sKICAgICBERUZJTkVTICo9IFFUX05PX1hSRU5ERVIKKworICAg
IFFUX0NPTkZJRyAtPSBkZWNsYXJhdGl2ZQogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0LnBybyBiL1dl
YktpdC5wcm8KaW5kZXggN2QwNTFmOC4uYzE5MmU3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0LnBybwor
KysgYi9XZWJLaXQucHJvCkBAIC0xNiwxMSArMTYsMTUgQEAgY29udGFpbnMoUVRfQ09ORklHLCBk
ZWNsYXJhdGl2ZSkgewogfQogIXY4OmV4aXN0cygkJFBXRC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
anNjLnBybyk6IFNVQkRJUlMgKz0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5wcm8KIGV4aXN0
cygkJFBXRC9XZWJLaXQvcXQvdGVzdHMpOiBTVUJESVJTICs9IFdlYktpdC9xdC90ZXN0cwotZXhp
c3RzKCQkUFdEL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybyk6IFNV
QkRJUlMgKz0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvCi1leGlz
dHMoJCRQV0QvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvSW1hZ2VEaWZmLnBybyk6IFNVQkRJUlMg
Kz0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvSW1hZ2VEaWZmLnBybwogCi0hd2luMzI6IXN5bWJp
YW4gewotICAgIGV4aXN0cygkJFBXRC9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0c2Nh
cGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybyk6IFNVQkRJUlMgKz0gVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5wcm8KKyMg
RHVtcFJlbmRlclRyZWUgaXMgbm90IG1haW50YWluZWQgZm9yIHF0X21pbmltYWwgY29uZmlndXJh
dGlvbi4KKyFDT05GSUcocXRfbWluaW1hbCkgeworICAgIGV4aXN0cygkJFBXRC9Ub29scy9EdW1w
UmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8pOiBTVUJESVJTICs9IFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybworICAgIGV4aXN0cygkJFBXRC9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvKTogU1VCRElSUyArPSBUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvCisKKyAgICAhd2luMzI6IXN5bWJpYW4geworICAgICAg
ICBleGlzdHMoJCRQV0QvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdE5ldHNjYXBlUGx1Z2lu
L1Rlc3ROZXRzY2FwZVBsdWdpbi5wcm8pOiBTVUJESVJTICs9IFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0c2NhcGVQbHVnaW4ucHJvCisgICAgfQogfQog
CiBidWlsZC1xdHNjcmlwdCB7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNw
cCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4IGY0YjIzZjMuLmY0MTFmM2QgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkv
cXdlYnZpZXcuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAicWRpci5oIgogI2luY2x1
ZGUgInFmaWxlLmgiCiAKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCiBjbGFzcyBRV2Vi
Vmlld1ByaXZhdGUgewogcHVibGljOgogICAgIFFXZWJWaWV3UHJpdmF0ZShRV2ViVmlldyAqdmll
dykKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9n
CmluZGV4IDE0ZmFjYjQuLjA2YWFiYmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTAxLTE1ICBM
YXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIENvbXBpbGUgd2l0aCBRVF9O
T19HUkFQSElDU1ZJRVcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ5NzUwCisKKyAgICAgICAgKiBBcGkvcXdlYnZpZXcuY3BwOiBJbmNsdWRlIFBhc3NP
d25QdHIuaCBmb3IKKyAgICAgICAgT3duUHRyOjpyZWxlYXNlKCkgaW4gUVdlYlZpZXdQcml2YXRl
OjpkZXRhY2hDdXJyZW50UGFnZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1F0RmFsbGJh
Y2tXZWJQb3B1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRdEZhbGxiYWNrV2ViUG9wdXA6OnNo
b3cpOiBHdWFyZCBRR3JhcGhpY3NXZWJWaWV3LgorCisgICAgICAgICogdGVzdHMvcWdyYXBoaWNz
d2Vidmlldy90c3RfcWdyYXBoaWNzd2Vidmlldy5jcHA6IEd1YXJkIHdpdGgKKyAgICAgICAgIVFU
X05PX0dSQVBISUNTVklFVy4KKyAgICAgICAgKG1haW4pOiBDcmVhdGUgYW4gZW10eSBtYWluLgor
CisgICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDogQWRkICFRVF9OT19H
UkFQSElDU1ZJRVcgZ3VhcmRzLgorICAgICAgICAoUGx1Z2luUGFnZTo6Y3JlYXRlUGx1Z2luKToK
KyAgICAgICAgKHRzdF9RV2ViUGFnZTo6Z3JhcGhpY3NXaWRnZXRQbHVnaW4pOgorICAgICAgICAo
UGx1Z2luRmFjdG9yeTo6Y3JlYXRlKToKKyAgICAgICAgKGlucHV0TWV0aG9kSGludHMpOgorICAg
ICAgICAoaW5wdXRNZXRob2RFbmFibGVkKToKKyAgICAgICAgKHRzdF9RV2ViUGFnZTo6aW5wdXRN
ZXRob2RzKToKKwogMjAxMS0wMS0xNCAgU2FtIE1hZ251c29uICA8c21hZ251c29AZ21haWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5jcHAg
Yi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcAppbmRleCBh
ZmE2NDkyLi5mYTQwMGQ0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRG
YWxsYmFja1dlYlBvcHVwLmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxs
YmFja1dlYlBvcHVwLmNwcApAQCAtMTI1LDExICsxMjUsMTQgQEAgdm9pZCBRdEZhbGxiYWNrV2Vi
UG9wdXA6OnNob3coY29uc3QgUVdlYlNlbGVjdERhdGEmIGRhdGEpCiAgICAgcG9wdWxhdGUoZGF0
YSk7CiAKICAgICBRUmVjdCByZWN0ID0gZ2VvbWV0cnkoKTsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJ
Q1NWSUVXCiAgICAgaWYgKFFHcmFwaGljc1dlYlZpZXcgKndlYlZpZXcgPSBxb2JqZWN0X2Nhc3Q8
UUdyYXBoaWNzV2ViVmlldyo+KHBhZ2VDbGllbnQoKS0+cGx1Z2luUGFyZW50KCkpKSB7CiAgICAg
ICAgIFFHcmFwaGljc1Byb3h5V2lkZ2V0KiBwcm94eSA9IG5ldyBRR3JhcGhpY3NQcm94eVdpZGdl
dCh3ZWJWaWV3KTsKICAgICAgICAgcHJveHktPnNldFdpZGdldChtX2NvbWJvKTsKICAgICAgICAg
cHJveHktPnNldEdlb21ldHJ5KHJlY3QpOwotICAgIH0gZWxzZSB7CisgICAgfSBlbHNlCisjZW5k
aWYKKyAgICB7CiAgICAgICAgIG1fY29tYm8tPnNldFBhcmVudChwYWdlQ2xpZW50KCktPm93bmVy
V2lkZ2V0KCkpOwogICAgICAgICBtX2NvbWJvLT5zZXRHZW9tZXRyeShRUmVjdChyZWN0LmxlZnQo
KSwgcmVjdC50b3AoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LndpZHRo
KCksIG1fY29tYm8tPnNpemVIaW50KCkuaGVpZ2h0KCkpKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC90ZXN0cy9xZ3JhcGhpY3N3ZWJ2aWV3L3RzdF9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcCBiL1dlYktp
dC9xdC90ZXN0cy9xZ3JhcGhpY3N3ZWJ2aWV3L3RzdF9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcAppbmRl
eCAwOWEyMWUxLi40ZGRlN2ZjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMvcWdyYXBoaWNz
d2Vidmlldy90c3RfcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0L3Rlc3RzL3Fn
cmFwaGljc3dlYnZpZXcvdHN0X3FncmFwaGljc3dlYnZpZXcuY3BwCkBAIC0xNyw2ICsxNyw4IEBA
CiAgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAqLwogCisjaWZuZGVmIFFUX05PX0dS
QVBISUNTVklFVworCiAjaW5jbHVkZSAiLi4vdXRpbC5oIgogI2luY2x1ZGUgPFF0VGVzdC9RdFRl
c3Q+CiAjaW5jbHVkZSA8UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50PgpAQCAtMjY0LDMgKzI2Niw3
IEBAIHZvaWQgdHN0X1FHcmFwaGljc1dlYlZpZXc6OmZvY3VzSW5wdXRUeXBlcygpCiBRVEVTVF9N
QUlOKHRzdF9RR3JhcGhpY3NXZWJWaWV3KQogCiAjaW5jbHVkZSAidHN0X3FncmFwaGljc3dlYnZp
ZXcubW9jIgorCisjZWxzZQoraW50IG1haW4odm9pZCl7fTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAppbmRleCBlYzFmMzM2Li40ZGFiMjI4IDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAorKysgYi9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcApAQCAtNTk5LDggKzU5OSwx
MCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGVsc2UgaWYgKGNsYXNzaWQgPT0gImxpbmVlZGl0IikK
ICAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBRTGluZUVkaXQoKTsKICNlbmRpZgorI2lmbmRlZiBR
VF9OT19HUkFQSElDU1ZJRVcKICAgICAgICAgZWxzZSBpZiAoY2xhc3NpZCA9PSAiZ3JhcGhpY3N3
aWRnZXQiKQogICAgICAgICAgICAgcmVzdWx0ID0gbmV3IFFHcmFwaGljc1dpZGdldCgpOworI2Vu
ZGlmCiAgICAgICAgIGlmIChyZXN1bHQpCiAgICAgICAgICAgICByZXN1bHQtPnNldE9iamVjdE5h
bWUoY2xhc3NpZCk7CiAgICAgICAgIGNhbGxzLmFwcGVuZChDYWxsSW5mbyhjbGFzc2lkLCB1cmws
IHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCByZXN1bHQpKTsKQEAgLTY5Miw2ICs2OTQsNyBAQCBz
dGF0aWMgdm9pZCBjcmVhdGVQbHVnaW4oUVdlYlZpZXcgKnZpZXcpCiAKIHZvaWQgdHN0X1FXZWJQ
YWdlOjpncmFwaGljc1dpZGdldFBsdWdpbigpCiB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklF
VwogICAgIG1fdmlldy0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6UGx1
Z2luc0VuYWJsZWQsIHRydWUpOwogICAgIFFHcmFwaGljc1dlYlZpZXcgd2ViVmlldzsKIApAQCAt
NzM2LDYgKzczOSw3IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjpncmFwaGljc1dpZGdldFBsdWdpbigp
CiAgICAgICAgICAgICAgUVN0cmluZzo6ZnJvbUxhdGluMSgiZnVuY3Rpb24iKSk7CiAgICAgUUNP
TVBBUkUobmV3UGFnZS0+bWFpbkZyYW1lKCktPmV2YWx1YXRlSmF2YVNjcmlwdCgibXlncmFwaGlj
c3dpZGdldC5nZW9tZXRyeUNoYW5nZWQudG9TdHJpbmcoKSIpLnRvU3RyaW5nKCksCiAgICAgICAg
ICAgICAgUVN0cmluZzo6ZnJvbUxhdGluMSgiZnVuY3Rpb24gZ2VvbWV0cnlDaGFuZ2VkKCkge1xu
ICAgIFtuYXRpdmUgY29kZV1cbn0iKSk7CisjZW5kaWYKIH0KIAogdm9pZCB0c3RfUVdlYlBhZ2U6
OmNyZWF0ZVBsdWdpbldpdGhQbHVnaW5zRW5hYmxlZCgpCkBAIC04MDcsNyArODExLDkgQEAgcHVi
bGljOgogICAgICAgICAgICAgcmVzdWx0ID0gbmV3IFBsdWdpblRyYWNlclBhZ2U8UVdpZGdldD4o
cGFyZW50KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFFHcmFwaGljc1dpZGdl
dFR5cGU6CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgICAgICAgICAgcmVzdWx0ID0g
bmV3IFBsdWdpblRyYWNlclBhZ2U8UUdyYXBoaWNzV2lkZ2V0PihwYXJlbnQpOworI2VuZGlmCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDogey8qT29wcyovfTsKICAgICAgICAg
fQpAQCAtMTQ1MCw4ICsxNDU2LDEwIEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1dE1ldGhvZHNf
ZGF0YSgpCiAKIHN0YXRpYyBRdDo6SW5wdXRNZXRob2RIaW50cyBpbnB1dE1ldGhvZEhpbnRzKFFP
YmplY3QqIG9iamVjdCkKIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgaWYgKFFH
cmFwaGljc09iamVjdCogbyA9IHFvYmplY3RfY2FzdDxRR3JhcGhpY3NPYmplY3QqPihvYmplY3Qp
KQogICAgICAgICByZXR1cm4gby0+aW5wdXRNZXRob2RIaW50cygpOworI2VuZGlmCiAgICAgaWYg
KFFXaWRnZXQqIHcgPSBxb2JqZWN0X2Nhc3Q8UVdpZGdldCo+KG9iamVjdCkpCiAgICAgICAgIHJl
dHVybiB3LT5pbnB1dE1ldGhvZEhpbnRzKCk7CiAgICAgcmV0dXJuIFF0OjpJbnB1dE1ldGhvZEhp
bnRzKCk7CkBAIC0xNDU5LDggKzE0NjcsMTAgQEAgc3RhdGljIFF0OjpJbnB1dE1ldGhvZEhpbnRz
IGlucHV0TWV0aG9kSGludHMoUU9iamVjdCogb2JqZWN0KQogCiBzdGF0aWMgYm9vbCBpbnB1dE1l
dGhvZEVuYWJsZWQoUU9iamVjdCogb2JqZWN0KQogeworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJ
RVcKICAgICBpZiAoUUdyYXBoaWNzT2JqZWN0KiBvID0gcW9iamVjdF9jYXN0PFFHcmFwaGljc09i
amVjdCo+KG9iamVjdCkpCiAgICAgICAgIHJldHVybiBvLT5mbGFncygpICYgUUdyYXBoaWNzSXRl
bTo6SXRlbUFjY2VwdHNJbnB1dE1ldGhvZDsKKyNlbmRpZgogICAgIGlmIChRV2lkZ2V0KiB3ID0g
cW9iamVjdF9jYXN0PFFXaWRnZXQqPihvYmplY3QpKQogICAgICAgICByZXR1cm4gdy0+dGVzdEF0
dHJpYnV0ZShRdDo6V0FfSW5wdXRNZXRob2RFbmFibGVkKTsKICAgICByZXR1cm4gZmFsc2U7CkBA
IC0xNDg2LDYgKzE0OTYsNyBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKICAg
ICAgICAgdmlldyA9IHd2OwogICAgICAgICBjb250YWluZXIgPSB2aWV3OwogICAgIH0gZWxzZSBp
ZiAodmlld1R5cGUgPT0gIlFHcmFwaGljc1dlYlZpZXciKSB7CisjaWZuZGVmIFFUX05PX0dSQVBI
SUNTVklFVwogICAgICAgICBRR3JhcGhpY3NXZWJWaWV3KiB3diA9IG5ldyBRR3JhcGhpY3NXZWJW
aWV3OwogICAgICAgICB3di0+c2V0UGFnZShwYWdlKTsKICAgICAgICAgdmlldyA9IHd2OwpAQCAt
MTQ5Nyw2ICsxNTA4LDcgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcygpCiAgICAg
ICAgIHd2LT5zZXRHZW9tZXRyeShRUmVjdCgwLCAwLCA1MDAsIDUwMCkpOwogCiAgICAgICAgIGNv
bnRhaW5lciA9IGd2OworI2VuZGlmCiAgICAgfSBlbHNlCiAgICAgICAgIFFWRVJJRlkyKGZhbHNl
LCAiVW5rbm93biB2aWV3IHR5cGUiKTsKIApAQCAtMTUyMiw4ICsxNTM0LDEwIEBAIHZvaWQgdHN0
X1FXZWJQYWdlOjppbnB1dE1ldGhvZHMoKQogICAgICAgICBpZiAoUVdlYlZpZXcqIHd2ID0gcW9i
amVjdF9jYXN0PFFXZWJWaWV3Kj4odmlldykpCiAgICAgICAgICAgICBpbnB1dFBhbmVsID0gd3Yt
PnN0eWxlKCktPnN0eWxlSGludChRU3R5bGU6OlNIX1JlcXVlc3RTb2Z0d2FyZUlucHV0UGFuZWwp
OwogICAgIH0gZWxzZSBpZiAodmlld1R5cGUgPT0gIlFHcmFwaGljc1dlYlZpZXciKSB7CisjaWZu
ZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgICAgICBpZiAoUUdyYXBoaWNzV2ViVmlldyogd3Yg
PSBxb2JqZWN0X2Nhc3Q8UUdyYXBoaWNzV2ViVmlldyo+KHZpZXcpKQogICAgICAgICAgICAgaW5w
dXRQYW5lbCA9IHd2LT5zdHlsZSgpLT5zdHlsZUhpbnQoUVN0eWxlOjpTSF9SZXF1ZXN0U29mdHdh
cmVJbnB1dFBhbmVsKTsKKyNlbmRpZgogICAgIH0KIAogICAgIC8vIEZvciBub24tbW9iaWxlIHBs
YXRmb3JtcyBSZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVsIGV2ZW50IGlzIG5vdCBjYWxsZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79089</attachid>
            <date>2011-01-15 20:12:33 -0800</date>
            <delta_ts>2011-01-16 20:16:54 -0800</delta_ts>
            <desc>fix style</desc>
            <filename>49750.patch</filename>
            <type>text/plain</type>
            <size>26617</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkOGU0NTljLi44OThmM2I5
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDEtMTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29t
cGlsZSB3aXRoIFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICAqIFdlYktpdC5wcmk6IERlZmlu
ZSBRVF9OT19HUkFQSElDU1ZJRVcgYW5kIG5vIGxvbmdlciAKKyAgICAgICAgYnVpbGQgUXREZWNs
YXJhdGl2ZSBmb3IgcXRfbWluaW1hbCBjb25maWd1cmF0aW9uLgorCisgICAgICAgICogV2ViS2l0
LnBybzogTm8gbG9uZ2VyIG1haW50YWluIER1bXBSZW5kZXJUcmVlIAorICAgICAgICBmb3IgcXRf
bWluaW1hbCBjb25maWd1cmF0aW9uLgorCiAyMDExLTAxLTE0ICBBaG1hZCBTaGFyaWYgIDxhc2hh
cmlmLnRvb2xzQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAwNTlkZDI4Li4zNWE0MTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMS0xNSAgTGFzemxvIEdvbWJv
cyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NW
SUVXCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1
MAorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IFR1cm4gb2ZmIGFjY2VsZXJhdGVkIGNvbXBv
c2l0aW5nIGlmIG5laXRoZXIKKyAgICAgICAgUXRHcmFwaGljc1ZpZXcgbm9yIFRleHR1cmUgTWFw
cGVyIGFyZSB0dXJuZWQgb24uCisKIDIwMTEtMDEtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3LgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDM0YjZjZGUuLjQ2ZWMyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1BsYXRmb3JtLmgKQEAgLTEwNzksNyArMTA3OSw3IEBACiAjZW5kaWYKIAogLyogQWNjZWxl
cmF0ZWQgY29tcG9zaXRpbmcgKi8KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9USUdFUikpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQTEFU
Rk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYhZGVmaW5lZChXSU5fQ0FJUk8pKQorI2lmIChQTEFU
Rk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSkgfHwgUExBVEZPUk0oSU9T
KSB8fCBQTEFURk9STShRVCkgJiYgKCFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykgfHwgVVNF
KFRFWFRVUkVfTUFQUEVSKSkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiFkZWZp
bmVkKFdJTl9DQUlSTykpCiAjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcg
MQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhODFlZTdjLi4xMzc5YzY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTEtMDEtMTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21i
b3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gQ29tcGlsZSB3aXRoIFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICBObyBu
ZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwOiBHdWFyZCB3aXRoCisgICAg
ICAgIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgdG8gZW5hYmxlIGJ1aWxkaW5nIHdpdGhv
dXQKKyAgICAgICAgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaDogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9xdC9UZXh0dXJlTWFwcGVyUXQuaDogR3VhcmQgd2l0aCAKKyAgICAgICAg
VVNFKFRFWFRVUkVfTUFQUEVSKSBhcyBpdCBpcyBpbmNsdWRlZCBpbiBQYWdlQ2xpZW50UXQuY3Bw
LgorCisgICAgICAgICogcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcDogR3VhcmQgUUdyYXBo
aWNzU2NlbmVXaGVlbEV2ZW50IHdpdGgKKyAgICAgICAgIVFUX05PX0dSQVBISUNTVklFVy4KKwor
ICAgICAgICAqIHBsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsdWdpblZpZXc6OnVwZGF0ZVBsdWdpbldpZGdldCk6IEd1YXJkIG1fcGxhdGZvcm1MYXllciB3
aXRoCisgICAgICAgIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgdG8gZW5hYmxlIGJ1aWxk
aW5nIHdpdGhvdXQKKyAgICAgICAgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcuCisKIDIwMTEtMDEt
MTQgIFNhbSBNYWdudXNvbiAgPHNtYWdudXNvQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCmluZGV4IDc1ZmI0
MjcuLjg5YjUxYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJRdC5oIgogCi0jaWYgIWRlZmluZWQo
UVRfTk9fR1JBUEhJQ1NWSUVXKQorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykgJiYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCiAjaW5jbHVkZSAiQ3VycmVudFRpbWUuaCIK
ICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmgKaW5kZXggODAyNzE0My4uZDNhNDBlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NM
YXllclF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NMYXllclF0LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgi
CiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNsaWVudC5oIgogCi0jaWYgIWRlZmluZWQoUVRfTk9f
R1JBUEhJQ1NWSUVXKQorI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykgJiYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RleHR1cmVNYXBwZXJRdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0LmgK
aW5kZXggZTE3Yjk2OC4uYTlhNzkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0LmgKQEAgLTIyLDYgKzIyLDggQEAKICNp
Zm5kZWYgVGV4dHVyZU1hcHBlclF0X2gKICNkZWZpbmUgVGV4dHVyZU1hcHBlclF0X2gKIAorI2lm
IFVTRShURVhUVVJFX01BUFBFUikKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCaXRt
YXBUZXh0dXJlUXQgOiBwdWJsaWMgQml0bWFwVGV4dHVyZSB7CkBAIC03Myw0ICs3NSw3IEBAIHBy
aXZhdGU6CiB9OwogCiB9CisKKyNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVIpCisKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1doZWVsRXZlbnRRdC5jcHAKaW5kZXggYWE2
MWQ5MS4uNmI1NzBhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2hl
ZWxFdmVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50
UXQuY3BwCkBAIC01Nyw2ICs1Nyw3IEBAIHZvaWQgUGxhdGZvcm1XaGVlbEV2ZW50OjphcHBseURl
bHRhKGludCBkZWx0YSwgUXQ6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogI2VuZGlmCiB9CiAK
KyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3Jt
V2hlZWxFdmVudChRR3JhcGhpY3NTY2VuZVdoZWVsRXZlbnQqIGUpCiAjaWZuZGVmIFFUX05PX1dI
RUVMRVZFTlQKICAgICA6IG1fcG9zaXRpb24oZS0+cG9zKCkudG9Qb2ludCgpKQpAQCAtNzUsNiAr
NzYsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRR3JhcGhpY3NT
Y2VuZVdoZWVsRXZlbnQqIGUpCiAgICAgUV9VTlVTRUQoZSk7CiAjZW5kaWYKIH0KKyNlbmRpZgog
CiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRV2hlZWxFdmVudCogZSkK
ICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVn
aW5WaWV3UXQuY3BwCmluZGV4IGZkYmU1NTIuLjI4YzU3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKQEAgLTE2NywxMSArMTY3LDEzIEBAIHZvaWQgUGx1
Z2luVmlldzo6dXBkYXRlUGx1Z2luV2lkZ2V0KCkKICAgICAgICAgfHwgKFFXZWJQYWdlUHJpdmF0
ZTo6ZHJ0UnVuICYmIHBsYXRmb3JtUGx1Z2luV2lkZ2V0KCkgJiYgKG1fd2luZG93UmVjdCAhPSBv
bGRXaW5kb3dSZWN0IHx8IG1fY2xpcFJlY3QgIT0gb2xkQ2xpcFJlY3QpKSkKICAgICAgICAgc2V0
TlBXaW5kb3dJZk5lZWRlZCgpOwogCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIGlmICghbV9wbGF0Zm9ybUxheWVyKSB7CiAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBnZXQg
cmVwYWludGVkIGFmdGVyd2FyZHMuIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBkb3dud2FyZAogICAg
ICAgICAvLyBzY3JvbGxpbmcgdG8gbW92ZSB0aGUgcGx1Z2luIHdpZGdldCBwcm9wZXJseS4KICAg
ICAgICAgaW52YWxpZGF0ZSgpOwogICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIFBsdWdpblZpZXc6
OnNldEZvY3VzKGJvb2wgZm9jdXNlZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCAwZWU1MjA4Li45ZTU2OGFmIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDEt
MTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29tcGlsZSB3aXRo
IFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICBCdWlsZCBRdFRlc3RCcm93c2VyIHdpdGggUVRf
Tk9fR1JBUEhJQ1NWSUVXLgorCisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRv
dy5jcHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3cpOgorICAgICAg
ICAoTGF1bmNoZXJXaW5kb3c6OmluaXRpYWxpemVWaWV3KToKKyAgICAgICAgKExhdW5jaGVyV2lu
ZG93OjphcHBseVByZWZzKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUp
OgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmlzR3JhcGhpY3NCYXNlZCk6CisgICAgICAgIChM
YXVuY2hlcldpbmRvdzo6em9vbUFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAgICAgKExhdW5jaGVy
V2luZG93OjphcHBseVpvb20pOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZVJlc2l6
ZXNUb0NvbnRlbnRzKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93OjphbmltYXRlZEZsaXApOgor
ICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmFuaW1hdGVkWUZsaXApOgorICAgICAgICAoTGF1bmNo
ZXJXaW5kb3c6OmNoYW5nZVZpZXdwb3J0VXBkYXRlTW9kZSk6CisgICAgICAgIChMYXVuY2hlcldp
bmRvdzo6c2hvd0ZQUyk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6Y2xvbmVXaW5kb3cpOgor
ICAgICAgICAqIFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKyAgICAgICAgKFdpbmRv
d09wdGlvbnM6OldpbmRvd09wdGlvbnMpOgorICAgICAgICAqIFF0VGVzdEJyb3dzZXIvbWFpbi5j
cHA6CisgICAgICAgIChMYXVuY2hlckFwcGxpY2F0aW9uOjpoYW5kbGVVc2VyT3B0aW9ucyk6Cisg
ICAgICAgICogUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcDoKKyAgICAgICAgKEdyYXBoaWNzV2Vi
Vmlldzo6bW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKiBRdFRlc3RCcm93c2VyL3dlYnZpZXcu
aDoKKwogMjAxMS0wMS0xNCAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYgR2FyZW4uCmRpZmYgLS1naXQgYS9Ub29scy9R
dFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcCBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1
bmNoZXJ3aW5kb3cuY3BwCmluZGV4IDhhNGI4ODQuLjUxZjM3ZWIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dz
ZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCkBAIC0zNSw3ICszNSwxMSBAQAogY29uc3QgaW50IGdFeGl0
Q2xpY2tBcmVhID0gODA7CiBRVmVjdG9yPGludD4gTGF1bmNoZXJXaW5kb3c6Om1fem9vbUxldmVs
czsKIAorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKIExhdW5jaGVyV2luZG93OjpMYXVuY2hl
cldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhLCBRR3JhcGhpY3NTY2VuZSogc2hhcmVkU2NlbmUp
CisjZWxzZQorTGF1bmNoZXJXaW5kb3c6OkxhdW5jaGVyV2luZG93KFdpbmRvd09wdGlvbnMqIGRh
dGEpCisjZW5kaWYKICAgICA6IE1haW5XaW5kb3coKQogICAgICwgbV9jdXJyZW50Wm9vbSgxMDAp
CiAgICAgLCBtX3ZpZXcoMCkKQEAgLTQ3LDggKzUxLDEwIEBAIExhdW5jaGVyV2luZG93OjpMYXVu
Y2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhLCBRR3JhcGhpY3NTY2VuZSogc2hhcmVkU2Nl
bmUpCiAgICAgICAgIG1fd2luZG93T3B0aW9ucyA9ICpkYXRhOwogCiAgICAgaW5pdCgpOworI2lm
bmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBpZiAoc2hhcmVkU2NlbmUgJiYgZGF0YS0+dXNl
R3JhcGhpY3NWaWV3KQogICAgICAgICBzdGF0aWNfY2FzdDxRR3JhcGhpY3NWaWV3Kj4obV92aWV3
KS0+c2V0U2NlbmUoc2hhcmVkU2NlbmUpOworI2VuZGlmCiAKICAgICBjcmVhdGVDaHJvbWUoKTsK
IH0KQEAgLTEwNyw2ICsxMTMsNyBAQCB2b2lkIExhdW5jaGVyV2luZG93Ojppbml0aWFsaXplVmll
dygpCiAKICAgICAgICAgbV92aWV3ID0gdmlldzsKICAgICB9IGVsc2UgeworI2lmbmRlZiBRVF9O
T19HUkFQSElDU1ZJRVcKICAgICAgICAgV2ViVmlld0dyYXBoaWNzQmFzZWQqIHZpZXcgPSBuZXcg
V2ViVmlld0dyYXBoaWNzQmFzZWQoc3BsaXR0ZXIpOwogICAgICAgICB2aWV3LT5zZXRQYWdlKHBh
Z2UoKSk7CiAKQEAgLTExOCw2ICsxMjUsNyBAQCB2b2lkIExhdW5jaGVyV2luZG93Ojppbml0aWFs
aXplVmlldygpCiAgICAgICAgIHZpZXctPnZpZXdwb3J0KCktPmluc3RhbGxFdmVudEZpbHRlcih0
aGlzKTsKIAogICAgICAgICBtX3ZpZXcgPSB2aWV3OworI2VuZGlmCiAgICAgfQogCiAgICAgbV90
b3VjaE1vY2tpbmcgPSBmYWxzZTsKQEAgLTE1MiwxMCArMTYwLDEyIEBAIHZvaWQgTGF1bmNoZXJX
aW5kb3c6OmFwcGx5UHJlZnMoKQogICAgIGlmICghaXNHcmFwaGljc0Jhc2VkKCkpCiAgICAgICAg
IHJldHVybjsKIAorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBXZWJWaWV3R3JhcGhp
Y3NCYXNlZCogdmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2VkKj4obV92aWV3
KTsKICAgICB2aWV3LT5zZXRWaWV3cG9ydFVwZGF0ZU1vZGUobV93aW5kb3dPcHRpb25zLnZpZXdw
b3J0VXBkYXRlTW9kZSk7CiAgICAgdmlldy0+c2V0RnJhbWVSYXRlTWVhc3VyZW1lbnRFbmFibGVk
KG1fd2luZG93T3B0aW9ucy5zaG93RnJhbWVSYXRlKTsKICAgICB2aWV3LT5zZXRJdGVtQ2FjaGVN
b2RlKG1fd2luZG93T3B0aW9ucy5jYWNoZVdlYlZpZXcgPyBRR3JhcGhpY3NJdGVtOjpEZXZpY2VD
b29yZGluYXRlQ2FjaGUgOiBRR3JhcGhpY3NJdGVtOjpOb0NhY2hlKTsKKyNlbmRpZgogCiAgICAg
aWYgKG1fd2luZG93T3B0aW9ucy5yZXNpemVzVG9Db250ZW50cykKICAgICAgICAgdG9nZ2xlUmVz
aXplc1RvQ29udGVudHMobV93aW5kb3dPcHRpb25zLnJlc2l6ZXNUb0NvbnRlbnRzKTsKQEAgLTI3
Niw2ICsyODYsNyBAQCB2b2lkIExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUoKQogICAgIHNo
b3dJbnNwZWN0b3JBY3Rpb24tPmNvbm5lY3QobV9pbnNwZWN0b3IsIFNJR05BTCh2aXNpYmxlQ2hh
bmdlZChib29sKSksIFNMT1Qoc2V0Q2hlY2tlZChib29sKSkpOwogCiAgICAgLy8gR3JhcGhpY3NW
aWV3IHN1YiBtZW51LgorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBRQWN0aW9uKiB0
b2dnbGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nID0gZ3JhcGhpY3NWaWV3TWVudS0+YWRkQWN0aW9u
KCJUb2dnbGUgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCB0aGlzLCBTTE9UKHRvZ2dsZUFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmcoYm9vbCkpKTsKICAgICB0b2dnbGVBY2NlbGVyYXRlZENvbXBvc2l0
aW5nLT5zZXRDaGVja2FibGUodHJ1ZSk7CiAgICAgdG9nZ2xlQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Zy0+c2V0Q2hlY2tlZChzZXR0aW5ncy0+dGVzdEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSk7CkBAIC0zNzIsMTEgKzM4MywxNiBAQCB2b2lkIExh
dW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUoKQogICAgIHNob3dGUFMtPmNvbm5lY3QodG9nZ2xl
R3JhcGhpY3NWaWV3LCBTSUdOQUwodG9nZ2xlZChib29sKSksIFNMT1Qoc2V0RW5hYmxlZChib29s
KSkpOwogICAgIHNob3dGUFMtPnNldENoZWNrZWQobV93aW5kb3dPcHRpb25zLnNob3dGcmFtZVJh
dGUpOwogI2VuZGlmCisjZW5kaWYKIH0KIAogYm9vbCBMYXVuY2hlcldpbmRvdzo6aXNHcmFwaGlj
c0Jhc2VkKCkgY29uc3QKIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgcmV0dXJu
IGJvb2wocW9iamVjdF9jYXN0PFFHcmFwaGljc1ZpZXcqPihtX3ZpZXcpKTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmtleVByZXNz
RXZlbnQoUUtleUV2ZW50KiBldmVudCkKQEAgLTU0NSwxMyArNTYxLDE1IEBAIHZvaWQgTGF1bmNo
ZXJXaW5kb3c6Onpvb21BbmltYXRpb25GaW5pc2hlZCgpCiB7CiAgICAgaWYgKCFpc0dyYXBoaWNz
QmFzZWQoKSkKICAgICAgICAgcmV0dXJuOworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAg
ICBRR3JhcGhpY3NXZWJWaWV3KiB2aWV3ID0gc3RhdGljX2Nhc3Q8V2ViVmlld0dyYXBoaWNzQmFz
ZWQqPihtX3ZpZXcpLT5ncmFwaGljc1dlYlZpZXcoKTsKICAgICB2aWV3LT5zZXRUaWxlZEJhY2tp
bmdTdG9yZUZyb3plbihmYWxzZSk7CisjZW5kaWYKIH0KIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6
YXBwbHlab29tKCkKIHsKLSNpZm5kZWYgUVRfTk9fQU5JTUFUSU9OCisjaWYgIWRlZmluZWQoUVRf
Tk9fQU5JTUFUSU9OKSB8fCAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCiAgICAgaWYgKGlz
R3JhcGhpY3NCYXNlZCgpICYmIHBhZ2UoKS0+c2V0dGluZ3MoKS0+dGVzdEF0dHJpYnV0ZShRV2Vi
U2V0dGluZ3M6OlRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCkpIHsKICAgICAgICAgUUdyYXBoaWNz
V2ViVmlldyogdmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2VkKj4obV92aWV3
KS0+Z3JhcGhpY3NXZWJWaWV3KCk7CiAgICAgICAgIHZpZXctPnNldFRpbGVkQmFja2luZ1N0b3Jl
RnJvemVuKHRydWUpOwpAQCAtNzA3LDggKzcyNSwxMCBAQCB2b2lkIExhdW5jaGVyV2luZG93Ojp0
b2dnbGVUaWxlZEJhY2tpbmdTdG9yZShib29sIHRvZ2dsZSkKIAogdm9pZCBMYXVuY2hlcldpbmRv
dzo6dG9nZ2xlUmVzaXplc1RvQ29udGVudHMoYm9vbCB0b2dnbGUpCiB7CisjaWZuZGVmIFFUX05P
X0dSQVBISUNTVklFVwogICAgIG1fd2luZG93T3B0aW9ucy5yZXNpemVzVG9Db250ZW50cyA9IHRv
Z2dsZTsKICAgICBzdGF0aWNfY2FzdDxXZWJWaWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyktPnNl
dFJlc2l6ZXNUb0NvbnRlbnRzKHRvZ2dsZSk7CisjZW5kaWYKIH0KIAogdm9pZCBMYXVuY2hlcldp
bmRvdzo6dG9nZ2xlV2ViR0woYm9vbCB0b2dnbGUpCkBAIC03MjUsMTIgKzc0NSwxNiBAQCB2b2lk
IExhdW5jaGVyV2luZG93Ojp0b2dnbGVUaHJlYWRlZFFuYW0oYm9vbCB0b2dnbGUpCiAKIHZvaWQg
TGF1bmNoZXJXaW5kb3c6OmFuaW1hdGVkRmxpcCgpCiB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNT
VklFVwogICAgIHFvYmplY3RfY2FzdDxXZWJWaWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyktPmFu
aW1hdGVkRmxpcCgpOworI2VuZGlmCiB9CiAKIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmFuaW1hdGVk
WUZsaXAoKQogeworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBxb2JqZWN0X2Nhc3Q8
V2ViVmlld0dyYXBoaWNzQmFzZWQqPihtX3ZpZXcpLT5hbmltYXRlZFlGbGlwKCk7CisjZW5kaWYK
IH0KIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZVNwYXRpYWxOYXZpZ2F0aW9uKGJvb2wgYikK
IHsKQEAgLTc4MSwxMyArODA1LDE0IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZVFHTFdp
ZGdldFZpZXdwb3J0KGJvb2wgZW5hYmxlKQogCiB2b2lkIExhdW5jaGVyV2luZG93OjpjaGFuZ2VW
aWV3cG9ydFVwZGF0ZU1vZGUoaW50IG1vZGUpCiB7Ci0gICAgbV93aW5kb3dPcHRpb25zLnZpZXdw
b3J0VXBkYXRlTW9kZSA9IFFHcmFwaGljc1ZpZXc6OlZpZXdwb3J0VXBkYXRlTW9kZShtb2RlKTsK
LQogICAgIGlmICghaXNHcmFwaGljc0Jhc2VkKCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmbmRl
ZiBRVF9OT19HUkFQSElDU1ZJRVcKKyAgICBtX3dpbmRvd09wdGlvbnMudmlld3BvcnRVcGRhdGVN
b2RlID0gUUdyYXBoaWNzVmlldzo6Vmlld3BvcnRVcGRhdGVNb2RlKG1vZGUpOwogICAgIFdlYlZp
ZXdHcmFwaGljc0Jhc2VkKiB2aWV3ID0gc3RhdGljX2Nhc3Q8V2ViVmlld0dyYXBoaWNzQmFzZWQq
PihtX3ZpZXcpOwogICAgIHZpZXctPnNldFZpZXdwb3J0VXBkYXRlTW9kZShtX3dpbmRvd09wdGlv
bnMudmlld3BvcnRVcGRhdGVNb2RlKTsKKyNlbmRpZgogfQogCiB2b2lkIExhdW5jaGVyV2luZG93
OjpzaG93RlBTKGJvb2wgZW5hYmxlKQpAQCAtNzk2LDggKzgyMSwxMCBAQCB2b2lkIExhdW5jaGVy
V2luZG93OjpzaG93RlBTKGJvb2wgZW5hYmxlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3dp
bmRvd09wdGlvbnMuc2hvd0ZyYW1lUmF0ZSA9IGVuYWJsZTsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJ
Q1NWSUVXCiAgICAgV2ViVmlld0dyYXBoaWNzQmFzZWQqIHZpZXcgPSBzdGF0aWNfY2FzdDxXZWJW
aWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyk7CiAgICAgdmlldy0+c2V0RnJhbWVSYXRlTWVhc3Vy
ZW1lbnRFbmFibGVkKGVuYWJsZSk7CisjZW5kaWYKIAogICAgIGlmICghZW5hYmxlKSB7CiAjaWYg
ZGVmaW5lZChRX1dTX01BRU1PXzUpICYmIGRlZmluZWQoUV9PU19TWU1CSUFOKQpAQCAtODc5LDcg
KzkwNiwxMSBAQCBMYXVuY2hlcldpbmRvdyogTGF1bmNoZXJXaW5kb3c6Om5ld1dpbmRvdygpCiAK
IExhdW5jaGVyV2luZG93KiBMYXVuY2hlcldpbmRvdzo6Y2xvbmVXaW5kb3coKQogeworI2lmbmRl
ZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBMYXVuY2hlcldpbmRvdyogbXcgPSBuZXcgTGF1bmNo
ZXJXaW5kb3coJm1fd2luZG93T3B0aW9ucywgcW9iamVjdF9jYXN0PFFHcmFwaGljc1ZpZXcqPiht
X3ZpZXcpLT5zY2VuZSgpKTsKKyNlbHNlCisgICAgTGF1bmNoZXJXaW5kb3cqIG13ID0gbmV3IExh
dW5jaGVyV2luZG93KCZtX3dpbmRvd09wdGlvbnMpOworI2VuZGlmCiAgICAgbXctPnNob3coKTsK
ICAgICByZXR1cm4gbXc7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5j
aGVyd2luZG93LmggYi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKaW5kZXgg
ZjM5ZmFlZi4uMjE0ODVkMiAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hl
cndpbmRvdy5oCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaApAQCAt
OTMsNyArOTMsOSBAQCBwdWJsaWM6CiAgICAgICAgICwgY2FjaGVXZWJWaWV3KGZhbHNlKQogICAg
ICAgICAsIHNob3dGcmFtZVJhdGUoZmFsc2UpCiAgICAgICAgICwgcmVzaXplc1RvQ29udGVudHMo
ZmFsc2UpCisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgICAgICAsIHZpZXdwb3J0VXBk
YXRlTW9kZShRR3JhcGhpY3NWaWV3OjpNaW5pbWFsVmlld3BvcnRVcGRhdGUpCisjZW5kaWYKICNp
ZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lUSF9PUEVOR0wpCiAgICAgICAgICwgdXNlUUdMV2lk
Z2V0Vmlld3BvcnQoZmFsc2UpCiAjZW5kaWYKQEAgLTEwOSw3ICsxMTEsOSBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBjYWNoZVdlYlZpZXc7CiAgICAgYm9vbCBzaG93RnJhbWVSYXRlOwogICAgIGJvb2wg
cmVzaXplc1RvQ29udGVudHM7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIFFHcmFw
aGljc1ZpZXc6OlZpZXdwb3J0VXBkYXRlTW9kZSB2aWV3cG9ydFVwZGF0ZU1vZGU7CisjZW5kaWYK
ICNpZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lUSF9PUEVOR0wpCiAgICAgYm9vbCB1c2VRR0xX
aWRnZXRWaWV3cG9ydDsKICNlbmRpZgpAQCAtMTIxLDcgKzEyNSwxMSBAQCBjbGFzcyBMYXVuY2hl
cldpbmRvdyA6IHB1YmxpYyBNYWluV2luZG93IHsKICAgICBRX09CSkVDVAogCiBwdWJsaWM6Ci0g
ICAgTGF1bmNoZXJXaW5kb3coV2luZG93T3B0aW9ucyogZGF0YSA9IDAsIFFHcmFwaGljc1NjZW5l
KiBzaGFyZWRTY2VuZSA9IDApOworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKKyAgICBMYXVu
Y2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhID0gMCAsIFFHcmFwaGljc1NjZW5lKiBzaGFy
ZWRTY2VuZSA9IDApOworI2Vsc2UKKyAgICBMYXVuY2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBk
YXRhID0gMCk7CisjZW5kaWYKICAgICB2aXJ0dWFsIH5MYXVuY2hlcldpbmRvdygpOwogCiAgICAg
dmlydHVhbCB2b2lkIGtleVByZXNzRXZlbnQoUUtleUV2ZW50KiBldmVudCk7CmRpZmYgLS1naXQg
YS9Ub29scy9RdFRlc3RCcm93c2VyL21haW4uY3BwIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9tYWlu
LmNwcAppbmRleCBlYzVmMWQ5Li5hYzhkZDU0IDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93
c2VyL21haW4uY3BwCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbWFpbi5jcHAKQEAgLTExMCwx
NCArMTEwLDE4IEBAIHZvaWQgTGF1bmNoZXJBcHBsaWNhdGlvbjo6aGFuZGxlVXNlck9wdGlvbnMo
KQogICAgIGlmIChwcm9ncmFtLmV4aXN0cygpKQogICAgICAgICBwcm9ncmFtTmFtZSA9IHByb2dy
YW0uYmFzZU5hbWUoKTsKIAorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBRTGlzdDxR
U3RyaW5nPiB1cGRhdGVNb2RlcyhlbnVtVG9LZXlzKFFHcmFwaGljc1ZpZXc6OnN0YXRpY01ldGFP
YmplY3QsCiAgICAgICAgICAgICAiVmlld3BvcnRVcGRhdGVNb2RlIiwgIlZpZXdwb3J0VXBkYXRl
IikpOworI2VuZGlmCiAKICAgICBpZiAoYXJncy5jb250YWlucygiLWhlbHAiKSkgewogICAgICAg
ICBxRGVidWcoKSA8PCAiVXNhZ2U6IiA8PCBwcm9ncmFtTmFtZS50b0xhdGluMSgpLmRhdGEoKQog
ICAgICAgICAgICAgIDw8ICJbLWdyYXBoaWNzYmFzZWRdIgogICAgICAgICAgICAgIDw8ICJbLW5v
LWNvbXBvc2l0aW5nXSIKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgICAgICAg
PDwgUVN0cmluZygiWy12aWV3cG9ydC11cGRhdGUtbW9kZSAlMV0iKS5hcmcoZm9ybWF0S2V5cyh1
cGRhdGVNb2RlcykpLnRvTGF0aW4xKCkuZGF0YSgpCisjZW5kaWYKICAgICAgICAgICAgICA8PCAi
Wy1jYWNoZS13ZWJ2aWV3XSIKICAgICAgICAgICAgICA8PCAiWy1zaG93LWZwc10iCiAgICAgICAg
ICAgICAgPDwgIlstciBsaXN0XSIKQEAgLTE3Niw4ICsxODAsOSBAQCB2b2lkIExhdW5jaGVyQXBw
bGljYXRpb246OmhhbmRsZVVzZXJPcHRpb25zKCkKICAgICBpZiAoc2V0T2ZmbGluZVN0b3JhZ2VE
ZWZhdWx0UXVvdGFJbmRleCAhPSAtMSkgewogICAgICAgICBpbnQgbWF4U2l6ZSA9IHRha2VPcHRp
b25WYWx1ZSgmYXJncywgc2V0T2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGFJbmRleCkudG9JbnQo
KTsKICAgICAgICAgUVdlYlNldHRpbmdzOjpnbG9iYWxTZXR0aW5ncygpLT5zZXRPZmZsaW5lU3Rv
cmFnZURlZmF1bHRRdW90YShtYXhTaXplKTsKLSAgICB9ICAgCisgICAgfQogICAgIAorI2lmbmRl
ZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBpZiAoZGVmYXVsdEZvckFuaW1hdGlvbnMpCiAgICAg
ICAgIHdpbmRvd09wdGlvbnMudmlld3BvcnRVcGRhdGVNb2RlID0gUUdyYXBoaWNzVmlldzo6Qm91
bmRpbmdSZWN0Vmlld3BvcnRVcGRhdGU7CiAKQEAgLTE5NSw2ICsyMDAsNyBAQCB2b2lkIExhdW5j
aGVyQXBwbGljYXRpb246OmhhbmRsZVVzZXJPcHRpb25zKCkKIAogICAgICAgICB3aW5kb3dPcHRp
b25zLnZpZXdwb3J0VXBkYXRlTW9kZSA9IHN0YXRpY19jYXN0PFFHcmFwaGljc1ZpZXc6OlZpZXdw
b3J0VXBkYXRlTW9kZT4oaWR4KTsKICAgICB9CisjZW5kaWYKICNpZmRlZiBRVF9DT05GSUdVUkVE
X1dJVEhfT1BFTkdMCiAgICAgaWYgKGFyZ3MuY29udGFpbnMoIi1nbC12aWV3cG9ydCIpIHx8IGRl
ZmF1bHRGb3JBbmltYXRpb25zKSB7CiAgICAgICAgIHJlcXVpcmVzR3JhcGhpY3NWaWV3KCItZ2wt
dmlld3BvcnQiKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvd2Vidmlldy5jcHAg
Yi9Ub29scy9RdFRlc3RCcm93c2VyL3dlYnZpZXcuY3BwCmluZGV4IDhlMzM2MjAuLmMyMWQwZDAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvd2Vidmlldy5jcHAKKysrIGIvVG9vbHMv
UXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPFF0
R3VpPgogI2luY2x1ZGUgPFFHcmFwaGljc1NjZW5lPgogCisjaWZuZGVmIFFUX05PX0dSQVBISUNT
VklFVwogV2ViVmlld0dyYXBoaWNzQmFzZWQ6OldlYlZpZXdHcmFwaGljc0Jhc2VkKFFXaWRnZXQq
IHBhcmVudCkKICAgICA6IFFHcmFwaGljc1ZpZXcocGFyZW50KQogICAgICwgbV9pdGVtKG5ldyBH
cmFwaGljc1dlYlZpZXcpCkBAIC0yMzAsNiArMjMxLDE1IEBAIHZvaWQgV2ViVmlld0dyYXBoaWNz
QmFzZWQ6OnBhaW50RXZlbnQoUVBhaW50RXZlbnQqIGV2ZW50KQogICAgICAgICByZXR1cm47CiB9
CiAKK3ZvaWQgR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoUUdyYXBoaWNzU2NlbmVN
b3VzZUV2ZW50KiBldmVudCkKK3sKKyAgICBzZXRQcm9wZXJ0eSgibW91c2VCdXR0b25zIiwgUVZh
cmlhbnQ6OmZyb21WYWx1ZShpbnQoZXZlbnQtPmJ1dHRvbnMoKSkpKTsKKyAgICBzZXRQcm9wZXJ0
eSgia2V5Ym9hcmRNb2RpZmllcnMiLCBRVmFyaWFudDo6ZnJvbVZhbHVlKGludChldmVudC0+bW9k
aWZpZXJzKCkpKSk7CisKKyAgICBRR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoZXZl
bnQpOworfQorI2VuZGlmCisKIHN0YXRpYyBRTWVudSogY3JlYXRlQ29udGV4dE1lbnUoUVdlYlBh
Z2UqIHBhZ2UsIFFQb2ludCBwb3NpdGlvbikKIHsKICAgICBRTWVudSogbWVudSA9IHBhZ2UtPmNy
ZWF0ZVN0YW5kYXJkQ29udGV4dE1lbnUoKTsKQEAgLTI0NSwxNCArMjU1LDYgQEAgc3RhdGljIFFN
ZW51KiBjcmVhdGVDb250ZXh0TWVudShRV2ViUGFnZSogcGFnZSwgUVBvaW50IHBvc2l0aW9uKQog
ICAgIHJldHVybiBtZW51OwogfQogCi12b2lkIEdyYXBoaWNzV2ViVmlldzo6bW91c2VQcmVzc0V2
ZW50KFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogZXZlbnQpCi17Ci0gICAgc2V0UHJvcGVydHko
Im1vdXNlQnV0dG9ucyIsIFFWYXJpYW50Ojpmcm9tVmFsdWUoaW50KGV2ZW50LT5idXR0b25zKCkp
KSk7Ci0gICAgc2V0UHJvcGVydHkoImtleWJvYXJkTW9kaWZpZXJzIiwgUVZhcmlhbnQ6OmZyb21W
YWx1ZShpbnQoZXZlbnQtPm1vZGlmaWVycygpKSkpOwotCi0gICAgUUdyYXBoaWNzV2ViVmlldzo6
bW91c2VQcmVzc0V2ZW50KGV2ZW50KTsKLX0KLQogdm9pZCBXZWJWaWV3VHJhZGl0aW9uYWw6Om1v
dXNlUHJlc3NFdmVudChRTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgc2V0UHJvcGVydHkoIm1v
dXNlQnV0dG9ucyIsIFFWYXJpYW50Ojpmcm9tVmFsdWUoaW50KGV2ZW50LT5idXR0b25zKCkpKSk7
CkBAIC0yNjEsMTIgKzI2MywxNCBAQCB2b2lkIFdlYlZpZXdUcmFkaXRpb25hbDo6bW91c2VQcmVz
c0V2ZW50KFFNb3VzZUV2ZW50KiBldmVudCkKICAgICBRV2ViVmlldzo6bW91c2VQcmVzc0V2ZW50
KGV2ZW50KTsKIH0KIAorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKIHZvaWQgR3JhcGhpY3NX
ZWJWaWV3Ojpjb250ZXh0TWVudUV2ZW50KFFHcmFwaGljc1NjZW5lQ29udGV4dE1lbnVFdmVudCog
ZXZlbnQpCiB7CiAgICAgUU1lbnUqIG1lbnUgPSBjcmVhdGVDb250ZXh0TWVudShwYWdlKCksIGV2
ZW50LT5wb3MoKS50b1BvaW50KCkpOwogICAgIG1lbnUtPmV4ZWMoZXZlbnQtPnNjcmVlblBvcygp
KTsKICAgICBkZWxldGUgbWVudTsKIH0KKyNlbmRpZgogCiB2b2lkIFdlYlZpZXdUcmFkaXRpb25h
bDo6Y29udGV4dE1lbnVFdmVudChRQ29udGV4dE1lbnVFdmVudCogZXZlbnQpCiB7CmRpZmYgLS1n
aXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL3dlYnZpZXcuaCBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIv
d2Vidmlldy5oCmluZGV4IGI1MGI3NjQuLjNhMTFiNzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVz
dEJyb3dzZXIvd2Vidmlldy5oCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvd2Vidmlldy5oCkBA
IC01Niw3ICs1Niw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgbW91c2VQcmVzc0V2
ZW50KFFNb3VzZUV2ZW50Kik7CiB9OwogCi0KKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiBj
bGFzcyBHcmFwaGljc1dlYlZpZXcgOiBwdWJsaWMgUUdyYXBoaWNzV2ViVmlldyB7CiAgICAgUV9P
QkpFQ1QKIApAQCAtMTI5LDMgKzEyOSw0IEBAIGlubGluZSB2b2lkIFdlYlZpZXdHcmFwaGljc0Jh
c2VkOjpzZXRZUm90YXRpb24ocXJlYWwgYW5nbGUpCiB9CiAKICNlbmRpZgorI2VuZGlmCmRpZmYg
LS1naXQgYS9XZWJLaXQucHJpIGIvV2ViS2l0LnByaQppbmRleCA4ZjE4YmY1Li4yNmNhYzBhIDEw
MDY0NAotLS0gYS9XZWJLaXQucHJpCisrKyBiL1dlYktpdC5wcmkKQEAgLTEyMCw2ICsxMjAsNyBA
QCBDT05GSUcocXRfbWluaW1hbCkgewogICAgIERFRklORVMgKj0gUVRfTk9fREVTS1RPUFNFUlZJ
Q0VTCiAgICAgREVGSU5FUyAqPSBRVF9OT19GSUxFRElBTE9HCiAgICAgREVGSU5FUyAqPSBRVF9O
T19HUkFQSElDU0VGRkVDVAorICAgIERFRklORVMgKj0gUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAg
REVGSU5FUyAqPSBRVF9OT19JTQogICAgIERFRklORVMgKj0gUVRfTk9fSU5QVVRESUFMT0cKICAg
ICBERUZJTkVTICo9IFFUX05PX0xJTkVFRElUCkBAIC0xMzYsNCArMTM3LDYgQEAgQ09ORklHKHF0
X21pbmltYWwpIHsKICAgICBERUZJTkVTICo9IFFUX05PX1VORE9DT01NQU5ECiAgICAgREVGSU5F
UyAqPSBRVF9OT19VTkRPU1RBQ0sKICAgICBERUZJTkVTICo9IFFUX05PX1hSRU5ERVIKKworICAg
IFFUX0NPTkZJRyAtPSBkZWNsYXJhdGl2ZQogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0LnBybyBiL1dl
YktpdC5wcm8KaW5kZXggN2QwNTFmOC4uYzE5MmU3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0LnBybwor
KysgYi9XZWJLaXQucHJvCkBAIC0xNiwxMSArMTYsMTUgQEAgY29udGFpbnMoUVRfQ09ORklHLCBk
ZWNsYXJhdGl2ZSkgewogfQogIXY4OmV4aXN0cygkJFBXRC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
anNjLnBybyk6IFNVQkRJUlMgKz0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5wcm8KIGV4aXN0
cygkJFBXRC9XZWJLaXQvcXQvdGVzdHMpOiBTVUJESVJTICs9IFdlYktpdC9xdC90ZXN0cwotZXhp
c3RzKCQkUFdEL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybyk6IFNV
QkRJUlMgKz0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvCi1leGlz
dHMoJCRQV0QvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvSW1hZ2VEaWZmLnBybyk6IFNVQkRJUlMg
Kz0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvSW1hZ2VEaWZmLnBybwogCi0hd2luMzI6IXN5bWJp
YW4gewotICAgIGV4aXN0cygkJFBXRC9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0c2Nh
cGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybyk6IFNVQkRJUlMgKz0gVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5wcm8KKyMg
RHVtcFJlbmRlclRyZWUgaXMgbm90IG1haW50YWluZWQgZm9yIHF0X21pbmltYWwgY29uZmlndXJh
dGlvbi4KKyFDT05GSUcocXRfbWluaW1hbCkgeworICAgIGV4aXN0cygkJFBXRC9Ub29scy9EdW1w
UmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8pOiBTVUJESVJTICs9IFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybworICAgIGV4aXN0cygkJFBXRC9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvKTogU1VCRElSUyArPSBUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvCisKKyAgICAhd2luMzI6IXN5bWJpYW4geworICAgICAg
ICBleGlzdHMoJCRQV0QvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdE5ldHNjYXBlUGx1Z2lu
L1Rlc3ROZXRzY2FwZVBsdWdpbi5wcm8pOiBTVUJESVJTICs9IFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0c2NhcGVQbHVnaW4ucHJvCisgICAgfQogfQog
CiBidWlsZC1xdHNjcmlwdCB7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNw
cCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4IGY0YjIzZjMuLmY0MTFmM2QgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkv
cXdlYnZpZXcuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAicWRpci5oIgogI2luY2x1
ZGUgInFmaWxlLmgiCiAKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCiBjbGFzcyBRV2Vi
Vmlld1ByaXZhdGUgewogcHVibGljOgogICAgIFFXZWJWaWV3UHJpdmF0ZShRV2ViVmlldyAqdmll
dykKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9n
CmluZGV4IDE0ZmFjYjQuLjA2YWFiYmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTAxLTE1ICBM
YXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIENvbXBpbGUgd2l0aCBRVF9O
T19HUkFQSElDU1ZJRVcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ5NzUwCisKKyAgICAgICAgKiBBcGkvcXdlYnZpZXcuY3BwOiBJbmNsdWRlIFBhc3NP
d25QdHIuaCBmb3IKKyAgICAgICAgT3duUHRyOjpyZWxlYXNlKCkgaW4gUVdlYlZpZXdQcml2YXRl
OjpkZXRhY2hDdXJyZW50UGFnZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1F0RmFsbGJh
Y2tXZWJQb3B1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRdEZhbGxiYWNrV2ViUG9wdXA6OnNo
b3cpOiBHdWFyZCBRR3JhcGhpY3NXZWJWaWV3LgorCisgICAgICAgICogdGVzdHMvcWdyYXBoaWNz
d2Vidmlldy90c3RfcWdyYXBoaWNzd2Vidmlldy5jcHA6IEd1YXJkIHdpdGgKKyAgICAgICAgIVFU
X05PX0dSQVBISUNTVklFVy4KKyAgICAgICAgKG1haW4pOiBDcmVhdGUgYW4gZW10eSBtYWluLgor
CisgICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDogQWRkICFRVF9OT19H
UkFQSElDU1ZJRVcgZ3VhcmRzLgorICAgICAgICAoUGx1Z2luUGFnZTo6Y3JlYXRlUGx1Z2luKToK
KyAgICAgICAgKHRzdF9RV2ViUGFnZTo6Z3JhcGhpY3NXaWRnZXRQbHVnaW4pOgorICAgICAgICAo
UGx1Z2luRmFjdG9yeTo6Y3JlYXRlKToKKyAgICAgICAgKGlucHV0TWV0aG9kSGludHMpOgorICAg
ICAgICAoaW5wdXRNZXRob2RFbmFibGVkKToKKyAgICAgICAgKHRzdF9RV2ViUGFnZTo6aW5wdXRN
ZXRob2RzKToKKwogMjAxMS0wMS0xNCAgU2FtIE1hZ251c29uICA8c21hZ251c29AZ21haWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5jcHAg
Yi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcAppbmRleCBh
ZmE2NDkyLi5mYTQwMGQ0IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRG
YWxsYmFja1dlYlBvcHVwLmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxs
YmFja1dlYlBvcHVwLmNwcApAQCAtMTI1LDExICsxMjUsMTQgQEAgdm9pZCBRdEZhbGxiYWNrV2Vi
UG9wdXA6OnNob3coY29uc3QgUVdlYlNlbGVjdERhdGEmIGRhdGEpCiAgICAgcG9wdWxhdGUoZGF0
YSk7CiAKICAgICBRUmVjdCByZWN0ID0gZ2VvbWV0cnkoKTsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJ
Q1NWSUVXCiAgICAgaWYgKFFHcmFwaGljc1dlYlZpZXcgKndlYlZpZXcgPSBxb2JqZWN0X2Nhc3Q8
UUdyYXBoaWNzV2ViVmlldyo+KHBhZ2VDbGllbnQoKS0+cGx1Z2luUGFyZW50KCkpKSB7CiAgICAg
ICAgIFFHcmFwaGljc1Byb3h5V2lkZ2V0KiBwcm94eSA9IG5ldyBRR3JhcGhpY3NQcm94eVdpZGdl
dCh3ZWJWaWV3KTsKICAgICAgICAgcHJveHktPnNldFdpZGdldChtX2NvbWJvKTsKICAgICAgICAg
cHJveHktPnNldEdlb21ldHJ5KHJlY3QpOwotICAgIH0gZWxzZSB7CisgICAgfSBlbHNlCisjZW5k
aWYKKyAgICB7CiAgICAgICAgIG1fY29tYm8tPnNldFBhcmVudChwYWdlQ2xpZW50KCktPm93bmVy
V2lkZ2V0KCkpOwogICAgICAgICBtX2NvbWJvLT5zZXRHZW9tZXRyeShRUmVjdChyZWN0LmxlZnQo
KSwgcmVjdC50b3AoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LndpZHRo
KCksIG1fY29tYm8tPnNpemVIaW50KCkuaGVpZ2h0KCkpKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC90ZXN0cy9xZ3JhcGhpY3N3ZWJ2aWV3L3RzdF9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcCBiL1dlYktp
dC9xdC90ZXN0cy9xZ3JhcGhpY3N3ZWJ2aWV3L3RzdF9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcAppbmRl
eCAwOWEyMWUxLi42YTc5MzE1IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMvcWdyYXBoaWNz
d2Vidmlldy90c3RfcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0L3Rlc3RzL3Fn
cmFwaGljc3dlYnZpZXcvdHN0X3FncmFwaGljc3dlYnZpZXcuY3BwCkBAIC0xNyw2ICsxNyw4IEBA
CiAgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAqLwogCisjaWZuZGVmIFFUX05PX0dS
QVBISUNTVklFVworCiAjaW5jbHVkZSAiLi4vdXRpbC5oIgogI2luY2x1ZGUgPFF0VGVzdC9RdFRl
c3Q+CiAjaW5jbHVkZSA8UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50PgpAQCAtMjY0LDMgKzI2Niw3
IEBAIHZvaWQgdHN0X1FHcmFwaGljc1dlYlZpZXc6OmZvY3VzSW5wdXRUeXBlcygpCiBRVEVTVF9N
QUlOKHRzdF9RR3JhcGhpY3NXZWJWaWV3KQogCiAjaW5jbHVkZSAidHN0X3FncmFwaGljc3dlYnZp
ZXcubW9jIgorCisjZWxzZQoraW50IG1haW4odm9pZCkge307CisjZW5kaWYKZGlmZiAtLWdpdCBh
L1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKaW5kZXggZWMxZjMzNi4uNGRhYjIyOCAxMDA2
NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKKysrIGIv
V2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKQEAgLTU5OSw4ICs1OTks
MTAgQEAgcHJvdGVjdGVkOgogICAgICAgICBlbHNlIGlmIChjbGFzc2lkID09ICJsaW5lZWRpdCIp
CiAgICAgICAgICAgICByZXN1bHQgPSBuZXcgUUxpbmVFZGl0KCk7CiAjZW5kaWYKKyNpZm5kZWYg
UVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgIGVsc2UgaWYgKGNsYXNzaWQgPT0gImdyYXBoaWNz
d2lkZ2V0IikKICAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBRR3JhcGhpY3NXaWRnZXQoKTsKKyNl
bmRpZgogICAgICAgICBpZiAocmVzdWx0KQogICAgICAgICAgICAgcmVzdWx0LT5zZXRPYmplY3RO
YW1lKGNsYXNzaWQpOwogICAgICAgICBjYWxscy5hcHBlbmQoQ2FsbEluZm8oY2xhc3NpZCwgdXJs
LCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcywgcmVzdWx0KSk7CkBAIC02OTIsNiArNjk0LDcgQEAg
c3RhdGljIHZvaWQgY3JlYXRlUGx1Z2luKFFXZWJWaWV3ICp2aWV3KQogCiB2b2lkIHRzdF9RV2Vi
UGFnZTo6Z3JhcGhpY3NXaWRnZXRQbHVnaW4oKQogeworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJ
RVcKICAgICBtX3ZpZXctPnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlBs
dWdpbnNFbmFibGVkLCB0cnVlKTsKICAgICBRR3JhcGhpY3NXZWJWaWV3IHdlYlZpZXc7CiAKQEAg
LTczNiw2ICs3MzksNyBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6Z3JhcGhpY3NXaWRnZXRQbHVnaW4o
KQogICAgICAgICAgICAgIFFTdHJpbmc6OmZyb21MYXRpbjEoImZ1bmN0aW9uIikpOwogICAgIFFD
T01QQVJFKG5ld1BhZ2UtPm1haW5GcmFtZSgpLT5ldmFsdWF0ZUphdmFTY3JpcHQoIm15Z3JhcGhp
Y3N3aWRnZXQuZ2VvbWV0cnlDaGFuZ2VkLnRvU3RyaW5nKCkiKS50b1N0cmluZygpLAogICAgICAg
ICAgICAgIFFTdHJpbmc6OmZyb21MYXRpbjEoImZ1bmN0aW9uIGdlb21ldHJ5Q2hhbmdlZCgpIHtc
biAgICBbbmF0aXZlIGNvZGVdXG59IikpOworI2VuZGlmCiB9CiAKIHZvaWQgdHN0X1FXZWJQYWdl
OjpjcmVhdGVQbHVnaW5XaXRoUGx1Z2luc0VuYWJsZWQoKQpAQCAtODA3LDcgKzgxMSw5IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBQbHVnaW5UcmFjZXJQYWdlPFFXaWRnZXQ+
KHBhcmVudCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBRR3JhcGhpY3NXaWRn
ZXRUeXBlOgorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICAgICAgICAgIHJlc3VsdCA9
IG5ldyBQbHVnaW5UcmFjZXJQYWdlPFFHcmFwaGljc1dpZGdldD4ocGFyZW50KTsKKyNlbmRpZgog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6IHsvKk9vcHMqL307CiAgICAgICAg
IH0KQEAgLTE0NTAsOCArMTQ1NiwxMCBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2Rz
X2RhdGEoKQogCiBzdGF0aWMgUXQ6OklucHV0TWV0aG9kSGludHMgaW5wdXRNZXRob2RIaW50cyhR
T2JqZWN0KiBvYmplY3QpCiB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIGlmIChR
R3JhcGhpY3NPYmplY3QqIG8gPSBxb2JqZWN0X2Nhc3Q8UUdyYXBoaWNzT2JqZWN0Kj4ob2JqZWN0
KSkKICAgICAgICAgcmV0dXJuIG8tPmlucHV0TWV0aG9kSGludHMoKTsKKyNlbmRpZgogICAgIGlm
IChRV2lkZ2V0KiB3ID0gcW9iamVjdF9jYXN0PFFXaWRnZXQqPihvYmplY3QpKQogICAgICAgICBy
ZXR1cm4gdy0+aW5wdXRNZXRob2RIaW50cygpOwogICAgIHJldHVybiBRdDo6SW5wdXRNZXRob2RI
aW50cygpOwpAQCAtMTQ1OSw4ICsxNDY3LDEwIEBAIHN0YXRpYyBRdDo6SW5wdXRNZXRob2RIaW50
cyBpbnB1dE1ldGhvZEhpbnRzKFFPYmplY3QqIG9iamVjdCkKIAogc3RhdGljIGJvb2wgaW5wdXRN
ZXRob2RFbmFibGVkKFFPYmplY3QqIG9iamVjdCkKIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NW
SUVXCiAgICAgaWYgKFFHcmFwaGljc09iamVjdCogbyA9IHFvYmplY3RfY2FzdDxRR3JhcGhpY3NP
YmplY3QqPihvYmplY3QpKQogICAgICAgICByZXR1cm4gby0+ZmxhZ3MoKSAmIFFHcmFwaGljc0l0
ZW06Okl0ZW1BY2NlcHRzSW5wdXRNZXRob2Q7CisjZW5kaWYKICAgICBpZiAoUVdpZGdldCogdyA9
IHFvYmplY3RfY2FzdDxRV2lkZ2V0Kj4ob2JqZWN0KSkKICAgICAgICAgcmV0dXJuIHctPnRlc3RB
dHRyaWJ1dGUoUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCk7CiAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMTQ4Niw2ICsxNDk2LDcgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcygpCiAg
ICAgICAgIHZpZXcgPSB3djsKICAgICAgICAgY29udGFpbmVyID0gdmlldzsKICAgICB9IGVsc2Ug
aWYgKHZpZXdUeXBlID09ICJRR3JhcGhpY3NXZWJWaWV3IikgeworI2lmbmRlZiBRVF9OT19HUkFQ
SElDU1ZJRVcKICAgICAgICAgUUdyYXBoaWNzV2ViVmlldyogd3YgPSBuZXcgUUdyYXBoaWNzV2Vi
VmlldzsKICAgICAgICAgd3YtPnNldFBhZ2UocGFnZSk7CiAgICAgICAgIHZpZXcgPSB3djsKQEAg
LTE0OTcsNiArMTUwOCw3IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1dE1ldGhvZHMoKQogICAg
ICAgICB3di0+c2V0R2VvbWV0cnkoUVJlY3QoMCwgMCwgNTAwLCA1MDApKTsKIAogICAgICAgICBj
b250YWluZXIgPSBndjsKKyNlbmRpZgogICAgIH0gZWxzZQogICAgICAgICBRVkVSSUZZMihmYWxz
ZSwgIlVua25vd24gdmlldyB0eXBlIik7CiAKQEAgLTE1MjIsOCArMTUzNCwxMCBAQCB2b2lkIHRz
dF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKICAgICAgICAgaWYgKFFXZWJWaWV3KiB3diA9IHFv
YmplY3RfY2FzdDxRV2ViVmlldyo+KHZpZXcpKQogICAgICAgICAgICAgaW5wdXRQYW5lbCA9IHd2
LT5zdHlsZSgpLT5zdHlsZUhpbnQoUVN0eWxlOjpTSF9SZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVs
KTsKICAgICB9IGVsc2UgaWYgKHZpZXdUeXBlID09ICJRR3JhcGhpY3NXZWJWaWV3IikgeworI2lm
bmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICAgICAgaWYgKFFHcmFwaGljc1dlYlZpZXcqIHd2
ID0gcW9iamVjdF9jYXN0PFFHcmFwaGljc1dlYlZpZXcqPih2aWV3KSkKICAgICAgICAgICAgIGlu
cHV0UGFuZWwgPSB3di0+c3R5bGUoKS0+c3R5bGVIaW50KFFTdHlsZTo6U0hfUmVxdWVzdFNvZnR3
YXJlSW5wdXRQYW5lbCk7CisjZW5kaWYKICAgICB9CiAKICAgICAvLyBGb3Igbm9uLW1vYmlsZSBw
bGF0Zm9ybXMgUmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCBldmVudCBpcyBub3QgY2FsbGVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79124</attachid>
            <date>2011-01-16 20:16:54 -0800</date>
            <delta_ts>2011-02-05 22:08:49 -0800</delta_ts>
            <desc>remove changes from GraphicsLayerQt* to fix build</desc>
            <filename>49750.patch</filename>
            <type>text/plain</type>
            <size>25404</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhMjYwNTIzLi4xMjEwZjNj
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDEtMTYgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29t
cGlsZSB3aXRoIFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICAqIFdlYktpdC5wcmk6IERlZmlu
ZSBRVF9OT19HUkFQSElDU1ZJRVcgYW5kIG5vIGxvbmdlciAKKyAgICAgICAgYnVpbGQgUXREZWNs
YXJhdGl2ZSBmb3IgcXRfbWluaW1hbCBjb25maWd1cmF0aW9uLgorCisgICAgICAgICogV2ViS2l0
LnBybzogTm8gbG9uZ2VyIG1haW50YWluIER1bXBSZW5kZXJUcmVlIAorICAgICAgICBmb3IgcXRf
bWluaW1hbCBjb25maWd1cmF0aW9uLgorCiAyMDExLTAxLTE1ICBBZGFtIEJhcnRoICA8YWJhcnRo
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgRXJpYyBTZWlkZWwuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBmYzYxYmFkLi45Y2QyMGQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMS0xNiAgTGFzemxvIEdvbWJvcyAg
PGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW1F0XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NWSUVX
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1MAor
CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IFR1cm4gb2ZmIGFjY2VsZXJhdGVkIGNvbXBvc2l0
aW5nIGlmIG5laXRoZXIKKyAgICAgICAgUXRHcmFwaGljc1ZpZXcgbm9yIFRleHR1cmUgTWFwcGVy
IGFyZSB0dXJuZWQgb24uCisKIDIwMTEtMDEtMTYgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDM0YjZjZGUuLjQ2ZWMyYTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgKQEAgLTEwNzksNyArMTA3OSw3IEBACiAjZW5kaWYKIAogLyogQWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgKi8KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9USUdFUikpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYhZGVmaW5lZChXSU5fQ0FJUk8pKQorI2lmIChQ
TEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSkgfHwgUExBVEZPUk0o
SU9TKSB8fCBQTEFURk9STShRVCkgJiYgKCFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykgfHwg
VVNFKFRFWFRVUkVfTUFQUEVSKSkgfHwgKFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiFk
ZWZpbmVkKFdJTl9DQUlSTykpCiAjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMDlmMTFkLi4zMzM3MTBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDEtMTYgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5n
b21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFtRdF0gQ29tcGlsZSB3aXRoIFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICBO
byBuZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0dXJlTWFwcGVyUXQuaDogR3VhcmQgd2l0aCAKKyAg
ICAgICAgVVNFKFRFWFRVUkVfTUFQUEVSKSBhcyBpdCBpcyBpbmNsdWRlZCBpbiBQYWdlQ2xpZW50
UXQuY3BwLgorCisgICAgICAgICogcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcDogR3VhcmQg
UUdyYXBoaWNzU2NlbmVXaGVlbEV2ZW50IHdpdGgKKyAgICAgICAgIVFUX05PX0dSQVBISUNTVklF
Vy4KKworICAgICAgICAqIHBsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBsdWdpblZpZXc6OnVwZGF0ZVBsdWdpbldpZGdldCk6IEd1YXJkIG1fcGxhdGZvcm1M
YXllciB3aXRoCisgICAgICAgIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgdG8gZW5hYmxl
IGJ1aWxkaW5nIHdpdGhvdXQKKyAgICAgICAgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcuCisKIDIw
MTEtMDEtMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgS2VlcCBMZW9wYXJkIGJ1aWxkIGhhcHB5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0dXJlTWFwcGVyUXQuaAppbmRleCBlMTdiOTY4Li5hOWE3
OTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0
dXJlTWFwcGVyUXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9U
ZXh0dXJlTWFwcGVyUXQuaApAQCAtMjIsNiArMjIsOCBAQAogI2lmbmRlZiBUZXh0dXJlTWFwcGVy
UXRfaAogI2RlZmluZSBUZXh0dXJlTWFwcGVyUXRfaAogCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVS
KQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJpdG1hcFRleHR1cmVRdCA6IHB1Ymxp
YyBCaXRtYXBUZXh0dXJlIHsKQEAgLTczLDQgKzc1LDcgQEAgcHJpdmF0ZToKIH07CiAKIH0KKwor
I2VuZGlmIC8vIFVTRShURVhUVVJFX01BUFBFUikKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcAppbmRleCBhYTYxZDkxLi42YjU3MGFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1doZWVsRXZlbnRRdC5jcHAKQEAgLTU3LDYgKzU3
LDcgQEAgdm9pZCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmFwcGx5RGVsdGEoaW50IGRlbHRhLCBRdDo6
T3JpZW50YXRpb24gb3JpZW50YXRpb24pCiAjZW5kaWYKIH0KIAorI2lmbmRlZiBRVF9OT19HUkFQ
SElDU1ZJRVcKIFBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KFFHcmFwaGlj
c1NjZW5lV2hlZWxFdmVudCogZSkKICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVAogICAgIDogbV9w
b3NpdGlvbihlLT5wb3MoKS50b1BvaW50KCkpCkBAIC03NSw2ICs3Niw3IEBAIFBsYXRmb3JtV2hl
ZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KFFHcmFwaGljc1NjZW5lV2hlZWxFdmVudCogZSkK
ICAgICBRX1VOVVNFRChlKTsKICNlbmRpZgogfQorI2VuZGlmCiAKIFBsYXRmb3JtV2hlZWxFdmVu
dDo6UGxhdGZvcm1XaGVlbEV2ZW50KFFXaGVlbEV2ZW50KiBlKQogI2lmbmRlZiBRVF9OT19XSEVF
TEVWRU5UCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdR
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKaW5kZXgg
NmNmMzZlOS4uYTBjNDUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9Q
bHVnaW5WaWV3UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmll
d1F0LmNwcApAQCAtMTY3LDExICsxNjcsMTMgQEAgdm9pZCBQbHVnaW5WaWV3Ojp1cGRhdGVQbHVn
aW5XaWRnZXQoKQogICAgICAgICB8fCAoUVdlYlBhZ2VQcml2YXRlOjpkcnRSdW4gJiYgcGxhdGZv
cm1QbHVnaW5XaWRnZXQoKSAmJiAobV93aW5kb3dSZWN0ICE9IG9sZFdpbmRvd1JlY3QgfHwgbV9j
bGlwUmVjdCAhPSBvbGRDbGlwUmVjdCkpKQogICAgICAgICBzZXROUFdpbmRvd0lmTmVlZGVkKCk7
CiAKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgaWYgKCFtX3BsYXRmb3Jt
TGF5ZXIpIHsKICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGdldCByZXBhaW50ZWQgYWZ0ZXJ3YXJk
cy4gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIGRvd253YXJkCiAgICAgICAgIC8vIHNjcm9sbGluZyB0
byBtb3ZlIHRoZSBwbHVnaW4gd2lkZ2V0IHByb3Blcmx5LgogICAgICAgICBpbnZhbGlkYXRlKCk7
CiAgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6c2V0Rm9jdXMoYm9vbCBmb2N1
c2VkKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDFiMGFhOGEuLjI1ODcwNTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMS0wMS0xNiAgTGFzemxvIEdvbWJvcyAg
PGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW1F0XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NWSUVX
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1MAor
CisgICAgICAgIEJ1aWxkIFF0VGVzdEJyb3dzZXIgd2l0aCBRVF9OT19HUkFQSElDU1ZJRVcuCisK
KyAgICAgICAgKiBRdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcDoKKyAgICAgICAgKExh
dW5jaGVyV2luZG93OjpMYXVuY2hlcldpbmRvdyk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6
aW5pdGlhbGl6ZVZpZXcpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmFwcGx5UHJlZnMpOgor
ICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSk6CisgICAgICAgIChMYXVuY2hl
cldpbmRvdzo6aXNHcmFwaGljc0Jhc2VkKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93Ojp6b29t
QW5pbWF0aW9uRmluaXNoZWQpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmFwcGx5Wm9vbSk6
CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6dG9nZ2xlUmVzaXplc1RvQ29udGVudHMpOgorICAg
ICAgICAoTGF1bmNoZXJXaW5kb3c6OmFuaW1hdGVkRmxpcCk6CisgICAgICAgIChMYXVuY2hlcldp
bmRvdzo6YW5pbWF0ZWRZRmxpcCk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6Y2hhbmdlVmll
d3BvcnRVcGRhdGVNb2RlKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93OjpzaG93RlBTKToKKyAg
ICAgICAgKExhdW5jaGVyV2luZG93OjpjbG9uZVdpbmRvdyk6CisgICAgICAgICogUXRUZXN0QnJv
d3Nlci9sYXVuY2hlcndpbmRvdy5oOgorICAgICAgICAoV2luZG93T3B0aW9uczo6V2luZG93T3B0
aW9ucyk6CisgICAgICAgICogUXRUZXN0QnJvd3Nlci9tYWluLmNwcDoKKyAgICAgICAgKExhdW5j
aGVyQXBwbGljYXRpb246OmhhbmRsZVVzZXJPcHRpb25zKToKKyAgICAgICAgKiBRdFRlc3RCcm93
c2VyL3dlYnZpZXcuY3BwOgorICAgICAgICAoR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVByZXNzRXZl
bnQpOgorICAgICAgICAqIFF0VGVzdEJyb3dzZXIvd2Vidmlldy5oOgorCiAyMDExLTAxLTE1ICBB
ZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVGVhY2ggc3ZuLWFwcGx5
IGFib3V0IFdlYktpdDIgbW92ZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1
bmNoZXJ3aW5kb3cuY3BwIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAK
aW5kZXggOGE0Yjg4NC4uNTFmMzdlYiAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9s
YXVuY2hlcndpbmRvdy5jcHAKKysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRv
dy5jcHAKQEAgLTM1LDcgKzM1LDExIEBACiBjb25zdCBpbnQgZ0V4aXRDbGlja0FyZWEgPSA4MDsK
IFFWZWN0b3I8aW50PiBMYXVuY2hlcldpbmRvdzo6bV96b29tTGV2ZWxzOwogCisjaWZuZGVmIFFU
X05PX0dSQVBISUNTVklFVwogTGF1bmNoZXJXaW5kb3c6OkxhdW5jaGVyV2luZG93KFdpbmRvd09w
dGlvbnMqIGRhdGEsIFFHcmFwaGljc1NjZW5lKiBzaGFyZWRTY2VuZSkKKyNlbHNlCitMYXVuY2hl
cldpbmRvdzo6TGF1bmNoZXJXaW5kb3coV2luZG93T3B0aW9ucyogZGF0YSkKKyNlbmRpZgogICAg
IDogTWFpbldpbmRvdygpCiAgICAgLCBtX2N1cnJlbnRab29tKDEwMCkKICAgICAsIG1fdmlldygw
KQpAQCAtNDcsOCArNTEsMTAgQEAgTGF1bmNoZXJXaW5kb3c6OkxhdW5jaGVyV2luZG93KFdpbmRv
d09wdGlvbnMqIGRhdGEsIFFHcmFwaGljc1NjZW5lKiBzaGFyZWRTY2VuZSkKICAgICAgICAgbV93
aW5kb3dPcHRpb25zID0gKmRhdGE7CiAKICAgICBpbml0KCk7CisjaWZuZGVmIFFUX05PX0dSQVBI
SUNTVklFVwogICAgIGlmIChzaGFyZWRTY2VuZSAmJiBkYXRhLT51c2VHcmFwaGljc1ZpZXcpCiAg
ICAgICAgIHN0YXRpY19jYXN0PFFHcmFwaGljc1ZpZXcqPihtX3ZpZXcpLT5zZXRTY2VuZShzaGFy
ZWRTY2VuZSk7CisjZW5kaWYKIAogICAgIGNyZWF0ZUNocm9tZSgpOwogfQpAQCAtMTA3LDYgKzEx
Myw3IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmluaXRpYWxpemVWaWV3KCkKIAogICAgICAgICBt
X3ZpZXcgPSB2aWV3OwogICAgIH0gZWxzZSB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwog
ICAgICAgICBXZWJWaWV3R3JhcGhpY3NCYXNlZCogdmlldyA9IG5ldyBXZWJWaWV3R3JhcGhpY3NC
YXNlZChzcGxpdHRlcik7CiAgICAgICAgIHZpZXctPnNldFBhZ2UocGFnZSgpKTsKIApAQCAtMTE4
LDYgKzEyNSw3IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmluaXRpYWxpemVWaWV3KCkKICAgICAg
ICAgdmlldy0+dmlld3BvcnQoKS0+aW5zdGFsbEV2ZW50RmlsdGVyKHRoaXMpOwogCiAgICAgICAg
IG1fdmlldyA9IHZpZXc7CisjZW5kaWYKICAgICB9CiAKICAgICBtX3RvdWNoTW9ja2luZyA9IGZh
bHNlOwpAQCAtMTUyLDEwICsxNjAsMTIgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6YXBwbHlQcmVm
cygpCiAgICAgaWYgKCFpc0dyYXBoaWNzQmFzZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisjaWZu
ZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIFdlYlZpZXdHcmFwaGljc0Jhc2VkKiB2aWV3ID0g
c3RhdGljX2Nhc3Q8V2ViVmlld0dyYXBoaWNzQmFzZWQqPihtX3ZpZXcpOwogICAgIHZpZXctPnNl
dFZpZXdwb3J0VXBkYXRlTW9kZShtX3dpbmRvd09wdGlvbnMudmlld3BvcnRVcGRhdGVNb2RlKTsK
ICAgICB2aWV3LT5zZXRGcmFtZVJhdGVNZWFzdXJlbWVudEVuYWJsZWQobV93aW5kb3dPcHRpb25z
LnNob3dGcmFtZVJhdGUpOwogICAgIHZpZXctPnNldEl0ZW1DYWNoZU1vZGUobV93aW5kb3dPcHRp
b25zLmNhY2hlV2ViVmlldyA/IFFHcmFwaGljc0l0ZW06OkRldmljZUNvb3JkaW5hdGVDYWNoZSA6
IFFHcmFwaGljc0l0ZW06Ok5vQ2FjaGUpOworI2VuZGlmCiAKICAgICBpZiAobV93aW5kb3dPcHRp
b25zLnJlc2l6ZXNUb0NvbnRlbnRzKQogICAgICAgICB0b2dnbGVSZXNpemVzVG9Db250ZW50cyht
X3dpbmRvd09wdGlvbnMucmVzaXplc1RvQ29udGVudHMpOwpAQCAtMjc2LDYgKzI4Niw3IEBAIHZv
aWQgTGF1bmNoZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSgpCiAgICAgc2hvd0luc3BlY3RvckFjdGlv
bi0+Y29ubmVjdChtX2luc3BlY3RvciwgU0lHTkFMKHZpc2libGVDaGFuZ2VkKGJvb2wpKSwgU0xP
VChzZXRDaGVja2VkKGJvb2wpKSk7CiAKICAgICAvLyBHcmFwaGljc1ZpZXcgc3ViIG1lbnUuCisj
aWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIFFBY3Rpb24qIHRvZ2dsZUFjY2VsZXJhdGVk
Q29tcG9zaXRpbmcgPSBncmFwaGljc1ZpZXdNZW51LT5hZGRBY3Rpb24oIlRvZ2dsZSBBY2NlbGVy
YXRlZCBDb21wb3NpdGluZyIsIHRoaXMsIFNMT1QodG9nZ2xlQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Zyhib29sKSkpOwogICAgIHRvZ2dsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmctPnNldENoZWNrYWJs
ZSh0cnVlKTsKICAgICB0b2dnbGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nLT5zZXRDaGVja2VkKHNl
dHRpbmdzLT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQpKTsKQEAgLTM3MiwxMSArMzgzLDE2IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmNy
ZWF0ZUNocm9tZSgpCiAgICAgc2hvd0ZQUy0+Y29ubmVjdCh0b2dnbGVHcmFwaGljc1ZpZXcsIFNJ
R05BTCh0b2dnbGVkKGJvb2wpKSwgU0xPVChzZXRFbmFibGVkKGJvb2wpKSk7CiAgICAgc2hvd0ZQ
Uy0+c2V0Q2hlY2tlZChtX3dpbmRvd09wdGlvbnMuc2hvd0ZyYW1lUmF0ZSk7CiAjZW5kaWYKKyNl
bmRpZgogfQogCiBib29sIExhdW5jaGVyV2luZG93Ojppc0dyYXBoaWNzQmFzZWQoKSBjb25zdAog
eworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICByZXR1cm4gYm9vbChxb2JqZWN0X2Nh
c3Q8UUdyYXBoaWNzVmlldyo+KG1fdmlldykpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZW5kaWYKIH0KIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6a2V5UHJlc3NFdmVudChRS2V5RXZlbnQq
IGV2ZW50KQpAQCAtNTQ1LDEzICs1NjEsMTUgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6em9vbUFu
aW1hdGlvbkZpbmlzaGVkKCkKIHsKICAgICBpZiAoIWlzR3JhcGhpY3NCYXNlZCgpKQogICAgICAg
ICByZXR1cm47CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIFFHcmFwaGljc1dlYlZp
ZXcqIHZpZXcgPSBzdGF0aWNfY2FzdDxXZWJWaWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyktPmdy
YXBoaWNzV2ViVmlldygpOwogICAgIHZpZXctPnNldFRpbGVkQmFja2luZ1N0b3JlRnJvemVuKGZh
bHNlKTsKKyNlbmRpZgogfQogCiB2b2lkIExhdW5jaGVyV2luZG93OjphcHBseVpvb20oKQogewot
I2lmbmRlZiBRVF9OT19BTklNQVRJT04KKyNpZiAhZGVmaW5lZChRVF9OT19BTklNQVRJT04pIHx8
ICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKICAgICBpZiAoaXNHcmFwaGljc0Jhc2VkKCkg
JiYgcGFnZSgpLT5zZXR0aW5ncygpLT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6VGlsZWRC
YWNraW5nU3RvcmVFbmFibGVkKSkgewogICAgICAgICBRR3JhcGhpY3NXZWJWaWV3KiB2aWV3ID0g
c3RhdGljX2Nhc3Q8V2ViVmlld0dyYXBoaWNzQmFzZWQqPihtX3ZpZXcpLT5ncmFwaGljc1dlYlZp
ZXcoKTsKICAgICAgICAgdmlldy0+c2V0VGlsZWRCYWNraW5nU3RvcmVGcm96ZW4odHJ1ZSk7CkBA
IC03MDcsOCArNzI1LDEwIEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZVRpbGVkQmFja2lu
Z1N0b3JlKGJvb2wgdG9nZ2xlKQogCiB2b2lkIExhdW5jaGVyV2luZG93Ojp0b2dnbGVSZXNpemVz
VG9Db250ZW50cyhib29sIHRvZ2dsZSkKIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAg
ICAgbV93aW5kb3dPcHRpb25zLnJlc2l6ZXNUb0NvbnRlbnRzID0gdG9nZ2xlOwogICAgIHN0YXRp
Y19jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2VkKj4obV92aWV3KS0+c2V0UmVzaXplc1RvQ29udGVu
dHModG9nZ2xlKTsKKyNlbmRpZgogfQogCiB2b2lkIExhdW5jaGVyV2luZG93Ojp0b2dnbGVXZWJH
TChib29sIHRvZ2dsZSkKQEAgLTcyNSwxMiArNzQ1LDE2IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6
OnRvZ2dsZVRocmVhZGVkUW5hbShib29sIHRvZ2dsZSkKIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6
YW5pbWF0ZWRGbGlwKCkKIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgcW9iamVj
dF9jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2VkKj4obV92aWV3KS0+YW5pbWF0ZWRGbGlwKCk7Cisj
ZW5kaWYKIH0KIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6YW5pbWF0ZWRZRmxpcCgpCiB7CisjaWZu
ZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIHFvYmplY3RfY2FzdDxXZWJWaWV3R3JhcGhpY3NC
YXNlZCo+KG1fdmlldyktPmFuaW1hdGVkWUZsaXAoKTsKKyNlbmRpZgogfQogdm9pZCBMYXVuY2hl
cldpbmRvdzo6dG9nZ2xlU3BhdGlhbE5hdmlnYXRpb24oYm9vbCBiKQogewpAQCAtNzgxLDEzICs4
MDUsMTQgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6dG9nZ2xlUUdMV2lkZ2V0Vmlld3BvcnQoYm9v
bCBlbmFibGUpCiAKIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmNoYW5nZVZpZXdwb3J0VXBkYXRlTW9k
ZShpbnQgbW9kZSkKIHsKLSAgICBtX3dpbmRvd09wdGlvbnMudmlld3BvcnRVcGRhdGVNb2RlID0g
UUdyYXBoaWNzVmlldzo6Vmlld3BvcnRVcGRhdGVNb2RlKG1vZGUpOwotCiAgICAgaWYgKCFpc0dy
YXBoaWNzQmFzZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisjaWZuZGVmIFFUX05PX0dSQVBISUNT
VklFVworICAgIG1fd2luZG93T3B0aW9ucy52aWV3cG9ydFVwZGF0ZU1vZGUgPSBRR3JhcGhpY3NW
aWV3OjpWaWV3cG9ydFVwZGF0ZU1vZGUobW9kZSk7CiAgICAgV2ViVmlld0dyYXBoaWNzQmFzZWQq
IHZpZXcgPSBzdGF0aWNfY2FzdDxXZWJWaWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyk7CiAgICAg
dmlldy0+c2V0Vmlld3BvcnRVcGRhdGVNb2RlKG1fd2luZG93T3B0aW9ucy52aWV3cG9ydFVwZGF0
ZU1vZGUpOworI2VuZGlmCiB9CiAKIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnNob3dGUFMoYm9vbCBl
bmFibGUpCkBAIC03OTYsOCArODIxLDEwIEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnNob3dGUFMo
Ym9vbCBlbmFibGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fd2luZG93T3B0aW9ucy5zaG93
RnJhbWVSYXRlID0gZW5hYmxlOworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBXZWJW
aWV3R3JhcGhpY3NCYXNlZCogdmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2Vk
Kj4obV92aWV3KTsKICAgICB2aWV3LT5zZXRGcmFtZVJhdGVNZWFzdXJlbWVudEVuYWJsZWQoZW5h
YmxlKTsKKyNlbmRpZgogCiAgICAgaWYgKCFlbmFibGUpIHsKICNpZiBkZWZpbmVkKFFfV1NfTUFF
TU9fNSkgJiYgZGVmaW5lZChRX09TX1NZTUJJQU4pCkBAIC04NzksNyArOTA2LDExIEBAIExhdW5j
aGVyV2luZG93KiBMYXVuY2hlcldpbmRvdzo6bmV3V2luZG93KCkKIAogTGF1bmNoZXJXaW5kb3cq
IExhdW5jaGVyV2luZG93OjpjbG9uZVdpbmRvdygpCiB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNT
VklFVwogICAgIExhdW5jaGVyV2luZG93KiBtdyA9IG5ldyBMYXVuY2hlcldpbmRvdygmbV93aW5k
b3dPcHRpb25zLCBxb2JqZWN0X2Nhc3Q8UUdyYXBoaWNzVmlldyo+KG1fdmlldyktPnNjZW5lKCkp
OworI2Vsc2UKKyAgICBMYXVuY2hlcldpbmRvdyogbXcgPSBuZXcgTGF1bmNoZXJXaW5kb3coJm1f
d2luZG93T3B0aW9ucyk7CisjZW5kaWYKICAgICBtdy0+c2hvdygpOwogICAgIHJldHVybiBtdzsK
IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaCBiL1Rv
b2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAppbmRleCBmMzlmYWVmLi4yMTQ4NWQy
IDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKKysrIGIv
VG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oCkBAIC05Myw3ICs5Myw5IEBAIHB1
YmxpYzoKICAgICAgICAgLCBjYWNoZVdlYlZpZXcoZmFsc2UpCiAgICAgICAgICwgc2hvd0ZyYW1l
UmF0ZShmYWxzZSkKICAgICAgICAgLCByZXNpemVzVG9Db250ZW50cyhmYWxzZSkKKyNpZm5kZWYg
UVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgICwgdmlld3BvcnRVcGRhdGVNb2RlKFFHcmFwaGlj
c1ZpZXc6Ok1pbmltYWxWaWV3cG9ydFVwZGF0ZSkKKyNlbmRpZgogI2lmIGRlZmluZWQoUVRfQ09O
RklHVVJFRF9XSVRIX09QRU5HTCkKICAgICAgICAgLCB1c2VRR0xXaWRnZXRWaWV3cG9ydChmYWxz
ZSkKICNlbmRpZgpAQCAtMTA5LDcgKzExMSw5IEBAIHB1YmxpYzoKICAgICBib29sIGNhY2hlV2Vi
VmlldzsKICAgICBib29sIHNob3dGcmFtZVJhdGU7CiAgICAgYm9vbCByZXNpemVzVG9Db250ZW50
czsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgUUdyYXBoaWNzVmlldzo6Vmlld3Bv
cnRVcGRhdGVNb2RlIHZpZXdwb3J0VXBkYXRlTW9kZTsKKyNlbmRpZgogI2lmIGRlZmluZWQoUVRf
Q09ORklHVVJFRF9XSVRIX09QRU5HTCkKICAgICBib29sIHVzZVFHTFdpZGdldFZpZXdwb3J0Owog
I2VuZGlmCkBAIC0xMjEsNyArMTI1LDExIEBAIGNsYXNzIExhdW5jaGVyV2luZG93IDogcHVibGlj
IE1haW5XaW5kb3cgewogICAgIFFfT0JKRUNUCiAKIHB1YmxpYzoKLSAgICBMYXVuY2hlcldpbmRv
dyhXaW5kb3dPcHRpb25zKiBkYXRhID0gMCwgUUdyYXBoaWNzU2NlbmUqIHNoYXJlZFNjZW5lID0g
MCk7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVworICAgIExhdW5jaGVyV2luZG93KFdpbmRv
d09wdGlvbnMqIGRhdGEgPSAwICwgUUdyYXBoaWNzU2NlbmUqIHNoYXJlZFNjZW5lID0gMCk7Cisj
ZWxzZQorICAgIExhdW5jaGVyV2luZG93KFdpbmRvd09wdGlvbnMqIGRhdGEgPSAwKTsKKyNlbmRp
ZgogICAgIHZpcnR1YWwgfkxhdW5jaGVyV2luZG93KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQga2V5
UHJlc3NFdmVudChRS2V5RXZlbnQqIGV2ZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJy
b3dzZXIvbWFpbi5jcHAgYi9Ub29scy9RdFRlc3RCcm93c2VyL21haW4uY3BwCmluZGV4IGVjNWYx
ZDkuLmFjOGRkNTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbWFpbi5jcHAKKysr
IGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9tYWluLmNwcApAQCAtMTEwLDE0ICsxMTAsMTggQEAgdm9p
ZCBMYXVuY2hlckFwcGxpY2F0aW9uOjpoYW5kbGVVc2VyT3B0aW9ucygpCiAgICAgaWYgKHByb2dy
YW0uZXhpc3RzKCkpCiAgICAgICAgIHByb2dyYW1OYW1lID0gcHJvZ3JhbS5iYXNlTmFtZSgpOwog
CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIFFMaXN0PFFTdHJpbmc+IHVwZGF0ZU1v
ZGVzKGVudW1Ub0tleXMoUUdyYXBoaWNzVmlldzo6c3RhdGljTWV0YU9iamVjdCwKICAgICAgICAg
ICAgICJWaWV3cG9ydFVwZGF0ZU1vZGUiLCAiVmlld3BvcnRVcGRhdGUiKSk7CisjZW5kaWYKIAog
ICAgIGlmIChhcmdzLmNvbnRhaW5zKCItaGVscCIpKSB7CiAgICAgICAgIHFEZWJ1ZygpIDw8ICJV
c2FnZToiIDw8IHByb2dyYW1OYW1lLnRvTGF0aW4xKCkuZGF0YSgpCiAgICAgICAgICAgICAgPDwg
IlstZ3JhcGhpY3NiYXNlZF0iCiAgICAgICAgICAgICAgPDwgIlstbm8tY29tcG9zaXRpbmddIgor
I2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICAgICAgICAgICA8PCBRU3RyaW5nKCJbLXZp
ZXdwb3J0LXVwZGF0ZS1tb2RlICUxXSIpLmFyZyhmb3JtYXRLZXlzKHVwZGF0ZU1vZGVzKSkudG9M
YXRpbjEoKS5kYXRhKCkKKyNlbmRpZgogICAgICAgICAgICAgIDw8ICJbLWNhY2hlLXdlYnZpZXdd
IgogICAgICAgICAgICAgIDw8ICJbLXNob3ctZnBzXSIKICAgICAgICAgICAgICA8PCAiWy1yIGxp
c3RdIgpAQCAtMTc2LDggKzE4MCw5IEBAIHZvaWQgTGF1bmNoZXJBcHBsaWNhdGlvbjo6aGFuZGxl
VXNlck9wdGlvbnMoKQogICAgIGlmIChzZXRPZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YUluZGV4
ICE9IC0xKSB7CiAgICAgICAgIGludCBtYXhTaXplID0gdGFrZU9wdGlvblZhbHVlKCZhcmdzLCBz
ZXRPZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YUluZGV4KS50b0ludCgpOwogICAgICAgICBRV2Vi
U2V0dGluZ3M6Omdsb2JhbFNldHRpbmdzKCktPnNldE9mZmxpbmVTdG9yYWdlRGVmYXVsdFF1b3Rh
KG1heFNpemUpOwotICAgIH0gICAKKyAgICB9CiAgICAgCisjaWZuZGVmIFFUX05PX0dSQVBISUNT
VklFVwogICAgIGlmIChkZWZhdWx0Rm9yQW5pbWF0aW9ucykKICAgICAgICAgd2luZG93T3B0aW9u
cy52aWV3cG9ydFVwZGF0ZU1vZGUgPSBRR3JhcGhpY3NWaWV3OjpCb3VuZGluZ1JlY3RWaWV3cG9y
dFVwZGF0ZTsKIApAQCAtMTk1LDYgKzIwMCw3IEBAIHZvaWQgTGF1bmNoZXJBcHBsaWNhdGlvbjo6
aGFuZGxlVXNlck9wdGlvbnMoKQogCiAgICAgICAgIHdpbmRvd09wdGlvbnMudmlld3BvcnRVcGRh
dGVNb2RlID0gc3RhdGljX2Nhc3Q8UUdyYXBoaWNzVmlldzo6Vmlld3BvcnRVcGRhdGVNb2RlPihp
ZHgpOwogICAgIH0KKyNlbmRpZgogI2lmZGVmIFFUX0NPTkZJR1VSRURfV0lUSF9PUEVOR0wKICAg
ICBpZiAoYXJncy5jb250YWlucygiLWdsLXZpZXdwb3J0IikgfHwgZGVmYXVsdEZvckFuaW1hdGlv
bnMpIHsKICAgICAgICAgcmVxdWlyZXNHcmFwaGljc1ZpZXcoIi1nbC12aWV3cG9ydCIpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcCBiL1Rvb2xzL1F0VGVzdEJy
b3dzZXIvd2Vidmlldy5jcHAKaW5kZXggOGUzMzYyMC4uYzIxZDBkMCAxMDA2NDQKLS0tIGEvVG9v
bHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcAorKysgYi9Ub29scy9RdFRlc3RCcm93c2VyL3dl
YnZpZXcuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8UXRHdWk+CiAjaW5jbHVkZSA8
UUdyYXBoaWNzU2NlbmU+CiAKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiBXZWJWaWV3R3Jh
cGhpY3NCYXNlZDo6V2ViVmlld0dyYXBoaWNzQmFzZWQoUVdpZGdldCogcGFyZW50KQogICAgIDog
UUdyYXBoaWNzVmlldyhwYXJlbnQpCiAgICAgLCBtX2l0ZW0obmV3IEdyYXBoaWNzV2ViVmlldykK
QEAgLTIzMCw2ICsyMzEsMTUgQEAgdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6cGFpbnRFdmVu
dChRUGFpbnRFdmVudCogZXZlbnQpCiAgICAgICAgIHJldHVybjsKIH0KIAordm9pZCBHcmFwaGlj
c1dlYlZpZXc6Om1vdXNlUHJlc3NFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGV2ZW50
KQoreworICAgIHNldFByb3BlcnR5KCJtb3VzZUJ1dHRvbnMiLCBRVmFyaWFudDo6ZnJvbVZhbHVl
KGludChldmVudC0+YnV0dG9ucygpKSkpOworICAgIHNldFByb3BlcnR5KCJrZXlib2FyZE1vZGlm
aWVycyIsIFFWYXJpYW50Ojpmcm9tVmFsdWUoaW50KGV2ZW50LT5tb2RpZmllcnMoKSkpKTsKKwor
ICAgIFFHcmFwaGljc1dlYlZpZXc6Om1vdXNlUHJlc3NFdmVudChldmVudCk7Cit9CisjZW5kaWYK
Kwogc3RhdGljIFFNZW51KiBjcmVhdGVDb250ZXh0TWVudShRV2ViUGFnZSogcGFnZSwgUVBvaW50
IHBvc2l0aW9uKQogewogICAgIFFNZW51KiBtZW51ID0gcGFnZS0+Y3JlYXRlU3RhbmRhcmRDb250
ZXh0TWVudSgpOwpAQCAtMjQ1LDE0ICsyNTUsNiBAQCBzdGF0aWMgUU1lbnUqIGNyZWF0ZUNvbnRl
eHRNZW51KFFXZWJQYWdlKiBwYWdlLCBRUG9pbnQgcG9zaXRpb24pCiAgICAgcmV0dXJuIG1lbnU7
CiB9CiAKLXZvaWQgR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoUUdyYXBoaWNzU2Nl
bmVNb3VzZUV2ZW50KiBldmVudCkKLXsKLSAgICBzZXRQcm9wZXJ0eSgibW91c2VCdXR0b25zIiwg
UVZhcmlhbnQ6OmZyb21WYWx1ZShpbnQoZXZlbnQtPmJ1dHRvbnMoKSkpKTsKLSAgICBzZXRQcm9w
ZXJ0eSgia2V5Ym9hcmRNb2RpZmllcnMiLCBRVmFyaWFudDo6ZnJvbVZhbHVlKGludChldmVudC0+
bW9kaWZpZXJzKCkpKSk7Ci0KLSAgICBRR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQo
ZXZlbnQpOwotfQotCiB2b2lkIFdlYlZpZXdUcmFkaXRpb25hbDo6bW91c2VQcmVzc0V2ZW50KFFN
b3VzZUV2ZW50KiBldmVudCkKIHsKICAgICBzZXRQcm9wZXJ0eSgibW91c2VCdXR0b25zIiwgUVZh
cmlhbnQ6OmZyb21WYWx1ZShpbnQoZXZlbnQtPmJ1dHRvbnMoKSkpKTsKQEAgLTI2MSwxMiArMjYz
LDE0IEBAIHZvaWQgV2ViVmlld1RyYWRpdGlvbmFsOjptb3VzZVByZXNzRXZlbnQoUU1vdXNlRXZl
bnQqIGV2ZW50KQogICAgIFFXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoZXZlbnQpOwogfQogCisj
aWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogdm9pZCBHcmFwaGljc1dlYlZpZXc6OmNvbnRleHRN
ZW51RXZlbnQoUUdyYXBoaWNzU2NlbmVDb250ZXh0TWVudUV2ZW50KiBldmVudCkKIHsKICAgICBR
TWVudSogbWVudSA9IGNyZWF0ZUNvbnRleHRNZW51KHBhZ2UoKSwgZXZlbnQtPnBvcygpLnRvUG9p
bnQoKSk7CiAgICAgbWVudS0+ZXhlYyhldmVudC0+c2NyZWVuUG9zKCkpOwogICAgIGRlbGV0ZSBt
ZW51OwogfQorI2VuZGlmCiAKIHZvaWQgV2ViVmlld1RyYWRpdGlvbmFsOjpjb250ZXh0TWVudUV2
ZW50KFFDb250ZXh0TWVudUV2ZW50KiBldmVudCkKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVz
dEJyb3dzZXIvd2Vidmlldy5oIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmgKaW5kZXgg
YjUwYjc2NC4uM2ExMWI3MyAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3
LmgKKysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmgKQEAgLTU2LDcgKzU2LDcgQEAg
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBtb3VzZVByZXNzRXZlbnQoUU1vdXNlRXZlbnQq
KTsKIH07CiAKLQorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKIGNsYXNzIEdyYXBoaWNzV2Vi
VmlldyA6IHB1YmxpYyBRR3JhcGhpY3NXZWJWaWV3IHsKICAgICBRX09CSkVDVAogCkBAIC0xMjks
MyArMTI5LDQgQEAgaW5saW5lIHZvaWQgV2ViVmlld0dyYXBoaWNzQmFzZWQ6OnNldFlSb3RhdGlv
bihxcmVhbCBhbmdsZSkKIH0KIAogI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdC5w
cmkgYi9XZWJLaXQucHJpCmluZGV4IDhmMThiZjUuLjI2Y2FjMGEgMTAwNjQ0Ci0tLSBhL1dlYktp
dC5wcmkKKysrIGIvV2ViS2l0LnByaQpAQCAtMTIwLDYgKzEyMCw3IEBAIENPTkZJRyhxdF9taW5p
bWFsKSB7CiAgICAgREVGSU5FUyAqPSBRVF9OT19ERVNLVE9QU0VSVklDRVMKICAgICBERUZJTkVT
ICo9IFFUX05PX0ZJTEVESUFMT0cKICAgICBERUZJTkVTICo9IFFUX05PX0dSQVBISUNTRUZGRUNU
CisgICAgREVGSU5FUyAqPSBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBERUZJTkVTICo9IFFUX05P
X0lNCiAgICAgREVGSU5FUyAqPSBRVF9OT19JTlBVVERJQUxPRwogICAgIERFRklORVMgKj0gUVRf
Tk9fTElORUVESVQKQEAgLTEzNiw0ICsxMzcsNiBAQCBDT05GSUcocXRfbWluaW1hbCkgewogICAg
IERFRklORVMgKj0gUVRfTk9fVU5ET0NPTU1BTkQKICAgICBERUZJTkVTICo9IFFUX05PX1VORE9T
VEFDSwogICAgIERFRklORVMgKj0gUVRfTk9fWFJFTkRFUgorCisgICAgUVRfQ09ORklHIC09IGRl
Y2xhcmF0aXZlCiB9CmRpZmYgLS1naXQgYS9XZWJLaXQucHJvIGIvV2ViS2l0LnBybwppbmRleCBm
MmQ0MGFlLi43MjA4MzQ1IDEwMDY0NAotLS0gYS9XZWJLaXQucHJvCisrKyBiL1dlYktpdC5wcm8K
QEAgLTE2LDExICsxNiwxNSBAQCBjb250YWlucyhRVF9DT05GSUcsIGRlY2xhcmF0aXZlKSB7CiB9
CiAhdjg6ZXhpc3RzKCQkUFdEL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MucHJvKTogU1VCRElS
UyArPSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLnBybwogZXhpc3RzKCQkUFdEL1dlYktpdC9x
dC90ZXN0cyk6IFNVQkRJUlMgKz0gV2ViS2l0L3F0L3Rlc3RzCi1leGlzdHMoJCRQV0QvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvKTogU1VCRElSUyArPSBUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8KLWV4aXN0cygkJFBXRC9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvKTogU1VCRElSUyArPSBUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvCiAKLSF3aW4zMjohc3ltYmlhbiB7Ci0gICAgZXhpc3Rz
KCQkUFdEL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0
c2NhcGVQbHVnaW4ucHJvKTogU1VCRElSUyArPSBUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0
TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybworIyBEdW1wUmVuZGVyVHJlZSBp
cyBub3QgbWFpbnRhaW5lZCBmb3IgcXRfbWluaW1hbCBjb25maWd1cmF0aW9uLgorIUNPTkZJRyhx
dF9taW5pbWFsKSB7CisgICAgZXhpc3RzKCQkUFdEL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlLnBybyk6IFNVQkRJUlMgKz0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWUucHJvCisgICAgZXhpc3RzKCQkUFdEL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0ltYWdlRGlmZi5wcm8pOiBTVUJESVJTICs9IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0ltYWdl
RGlmZi5wcm8KKworICAgICF3aW4zMjohc3ltYmlhbiB7CisgICAgICAgIGV4aXN0cygkJFBXRC9U
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1
Z2luLnBybyk6IFNVQkRJUlMgKz0gVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdE5ldHNjYXBl
UGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5wcm8KKyAgICB9CiB9CiAKIGJ1aWxkLXF0c2NyaXB0
IHsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0Fw
aS9xd2Vidmlldy5jcHAKaW5kZXggZjRiMjNmMy4uZjQxMWYzZCAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L0FwaS9xd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAg
LTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJxZGlyLmgiCiAjaW5jbHVkZSAicWZpbGUuaCIKIAor
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKIGNsYXNzIFFXZWJWaWV3UHJpdmF0ZSB7CiBw
dWJsaWM6CiAgICAgUVdlYlZpZXdQcml2YXRlKFFXZWJWaWV3ICp2aWV3KQpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMDljZGI0YS4u
MzNlODI0MSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDEtMTYgIExhc3psbyBHb21ib3MgIDxs
YXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtRdF0gQ29tcGlsZSB3aXRoIFFUX05PX0dSQVBISUNTVklFVwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NTAKKwor
ICAgICAgICAqIEFwaS9xd2Vidmlldy5jcHA6IEluY2x1ZGUgUGFzc093blB0ci5oIGZvcgorICAg
ICAgICBPd25QdHI6OnJlbGVhc2UoKSBpbiBRV2ViVmlld1ByaXZhdGU6OmRldGFjaEN1cnJlbnRQ
YWdlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlF0RmFsbGJhY2tXZWJQb3B1cDo6c2hvdyk6IEd1YXJkIFFHcmFw
aGljc1dlYlZpZXcuCisKKyAgICAgICAgKiB0ZXN0cy9xZ3JhcGhpY3N3ZWJ2aWV3L3RzdF9xZ3Jh
cGhpY3N3ZWJ2aWV3LmNwcDogR3VhcmQgd2l0aAorICAgICAgICAhUVRfTk9fR1JBUEhJQ1NWSUVX
LgorICAgICAgICAobWFpbik6IENyZWF0ZSBhbiBlbXR5IG1haW4uCisKKyAgICAgICAgKiB0ZXN0
cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwOiBBZGQgIVFUX05PX0dSQVBISUNTVklFVyBndWFy
ZHMuCisgICAgICAgIChQbHVnaW5QYWdlOjpjcmVhdGVQbHVnaW4pOgorICAgICAgICAodHN0X1FX
ZWJQYWdlOjpncmFwaGljc1dpZGdldFBsdWdpbik6CisgICAgICAgIChQbHVnaW5GYWN0b3J5Ojpj
cmVhdGUpOgorICAgICAgICAoaW5wdXRNZXRob2RIaW50cyk6CisgICAgICAgIChpbnB1dE1ldGhv
ZEVuYWJsZWQpOgorICAgICAgICAodHN0X1FXZWJQYWdlOjppbnB1dE1ldGhvZHMpOgorCiAyMDEx
LTAxLTE1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzU3MDguCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcCBiL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuY3BwCmluZGV4IGFmYTY0OTIuLmZhNDAwZDQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAu
Y3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuY3Bw
CkBAIC0xMjUsMTEgKzEyNSwxNCBAQCB2b2lkIFF0RmFsbGJhY2tXZWJQb3B1cDo6c2hvdyhjb25z
dCBRV2ViU2VsZWN0RGF0YSYgZGF0YSkKICAgICBwb3B1bGF0ZShkYXRhKTsKIAogICAgIFFSZWN0
IHJlY3QgPSBnZW9tZXRyeSgpOworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBpZiAo
UUdyYXBoaWNzV2ViVmlldyAqd2ViVmlldyA9IHFvYmplY3RfY2FzdDxRR3JhcGhpY3NXZWJWaWV3
Kj4ocGFnZUNsaWVudCgpLT5wbHVnaW5QYXJlbnQoKSkpIHsKICAgICAgICAgUUdyYXBoaWNzUHJv
eHlXaWRnZXQqIHByb3h5ID0gbmV3IFFHcmFwaGljc1Byb3h5V2lkZ2V0KHdlYlZpZXcpOwogICAg
ICAgICBwcm94eS0+c2V0V2lkZ2V0KG1fY29tYm8pOwogICAgICAgICBwcm94eS0+c2V0R2VvbWV0
cnkocmVjdCk7Ci0gICAgfSBlbHNlIHsKKyAgICB9IGVsc2UKKyNlbmRpZgorICAgIHsKICAgICAg
ICAgbV9jb21iby0+c2V0UGFyZW50KHBhZ2VDbGllbnQoKS0+b3duZXJXaWRnZXQoKSk7CiAgICAg
ICAgIG1fY29tYm8tPnNldEdlb21ldHJ5KFFSZWN0KHJlY3QubGVmdCgpLCByZWN0LnRvcCgpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3Qud2lkdGgoKSwgbV9jb21iby0+c2l6
ZUhpbnQoKS5oZWlnaHQoKSkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3FncmFwaGlj
c3dlYnZpZXcvdHN0X3FncmFwaGljc3dlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3FncmFw
aGljc3dlYnZpZXcvdHN0X3FncmFwaGljc3dlYnZpZXcuY3BwCmluZGV4IDA5YTIxZTEuLjZhNzkz
MTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC90ZXN0cy9xZ3JhcGhpY3N3ZWJ2aWV3L3RzdF9xZ3Jh
cGhpY3N3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvcXQvdGVzdHMvcWdyYXBoaWNzd2Vidmlldy90
c3RfcWdyYXBoaWNzd2Vidmlldy5jcHAKQEAgLTE3LDYgKzE3LDggQEAKICAgICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KICovCiAKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCisKICNp
bmNsdWRlICIuLi91dGlsLmgiCiAjaW5jbHVkZSA8UXRUZXN0L1F0VGVzdD4KICNpbmNsdWRlIDxR
R3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQ+CkBAIC0yNjQsMyArMjY2LDcgQEAgdm9pZCB0c3RfUUdy
YXBoaWNzV2ViVmlldzo6Zm9jdXNJbnB1dFR5cGVzKCkKIFFURVNUX01BSU4odHN0X1FHcmFwaGlj
c1dlYlZpZXcpCiAKICNpbmNsdWRlICJ0c3RfcWdyYXBoaWNzd2Vidmlldy5tb2MiCisKKyNlbHNl
CitpbnQgbWFpbih2b2lkKSB7fTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3Rz
L3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0
X3F3ZWJwYWdlLmNwcAppbmRleCBlYzFmMzM2Li40ZGFiMjI4IDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvdGVzdHMv
cXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcApAQCAtNTk5LDggKzU5OSwxMCBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgIGVsc2UgaWYgKGNsYXNzaWQgPT0gImxpbmVlZGl0IikKICAgICAgICAgICAgIHJl
c3VsdCA9IG5ldyBRTGluZUVkaXQoKTsKICNlbmRpZgorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJ
RVcKICAgICAgICAgZWxzZSBpZiAoY2xhc3NpZCA9PSAiZ3JhcGhpY3N3aWRnZXQiKQogICAgICAg
ICAgICAgcmVzdWx0ID0gbmV3IFFHcmFwaGljc1dpZGdldCgpOworI2VuZGlmCiAgICAgICAgIGlm
IChyZXN1bHQpCiAgICAgICAgICAgICByZXN1bHQtPnNldE9iamVjdE5hbWUoY2xhc3NpZCk7CiAg
ICAgICAgIGNhbGxzLmFwcGVuZChDYWxsSW5mbyhjbGFzc2lkLCB1cmwsIHBhcmFtTmFtZXMsIHBh
cmFtVmFsdWVzLCByZXN1bHQpKTsKQEAgLTY5Miw2ICs2OTQsNyBAQCBzdGF0aWMgdm9pZCBjcmVh
dGVQbHVnaW4oUVdlYlZpZXcgKnZpZXcpCiAKIHZvaWQgdHN0X1FXZWJQYWdlOjpncmFwaGljc1dp
ZGdldFBsdWdpbigpCiB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIG1fdmlldy0+
c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6UGx1Z2luc0VuYWJsZWQsIHRy
dWUpOwogICAgIFFHcmFwaGljc1dlYlZpZXcgd2ViVmlldzsKIApAQCAtNzM2LDYgKzczOSw3IEBA
IHZvaWQgdHN0X1FXZWJQYWdlOjpncmFwaGljc1dpZGdldFBsdWdpbigpCiAgICAgICAgICAgICAg
UVN0cmluZzo6ZnJvbUxhdGluMSgiZnVuY3Rpb24iKSk7CiAgICAgUUNPTVBBUkUobmV3UGFnZS0+
bWFpbkZyYW1lKCktPmV2YWx1YXRlSmF2YVNjcmlwdCgibXlncmFwaGljc3dpZGdldC5nZW9tZXRy
eUNoYW5nZWQudG9TdHJpbmcoKSIpLnRvU3RyaW5nKCksCiAgICAgICAgICAgICAgUVN0cmluZzo6
ZnJvbUxhdGluMSgiZnVuY3Rpb24gZ2VvbWV0cnlDaGFuZ2VkKCkge1xuICAgIFtuYXRpdmUgY29k
ZV1cbn0iKSk7CisjZW5kaWYKIH0KIAogdm9pZCB0c3RfUVdlYlBhZ2U6OmNyZWF0ZVBsdWdpbldp
dGhQbHVnaW5zRW5hYmxlZCgpCkBAIC04MDcsNyArODExLDkgQEAgcHVibGljOgogICAgICAgICAg
ICAgcmVzdWx0ID0gbmV3IFBsdWdpblRyYWNlclBhZ2U8UVdpZGdldD4ocGFyZW50KTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFFHcmFwaGljc1dpZGdldFR5cGU6CisjaWZuZGVm
IFFUX05PX0dSQVBISUNTVklFVwogICAgICAgICAgICAgcmVzdWx0ID0gbmV3IFBsdWdpblRyYWNl
clBhZ2U8UUdyYXBoaWNzV2lkZ2V0PihwYXJlbnQpOworI2VuZGlmCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgZGVmYXVsdDogey8qT29wcyovfTsKICAgICAgICAgfQpAQCAtMTQ1MCw4ICsx
NDU2LDEwIEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1dE1ldGhvZHNfZGF0YSgpCiAKIHN0YXRp
YyBRdDo6SW5wdXRNZXRob2RIaW50cyBpbnB1dE1ldGhvZEhpbnRzKFFPYmplY3QqIG9iamVjdCkK
IHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgaWYgKFFHcmFwaGljc09iamVjdCog
byA9IHFvYmplY3RfY2FzdDxRR3JhcGhpY3NPYmplY3QqPihvYmplY3QpKQogICAgICAgICByZXR1
cm4gby0+aW5wdXRNZXRob2RIaW50cygpOworI2VuZGlmCiAgICAgaWYgKFFXaWRnZXQqIHcgPSBx
b2JqZWN0X2Nhc3Q8UVdpZGdldCo+KG9iamVjdCkpCiAgICAgICAgIHJldHVybiB3LT5pbnB1dE1l
dGhvZEhpbnRzKCk7CiAgICAgcmV0dXJuIFF0OjpJbnB1dE1ldGhvZEhpbnRzKCk7CkBAIC0xNDU5
LDggKzE0NjcsMTAgQEAgc3RhdGljIFF0OjpJbnB1dE1ldGhvZEhpbnRzIGlucHV0TWV0aG9kSGlu
dHMoUU9iamVjdCogb2JqZWN0KQogCiBzdGF0aWMgYm9vbCBpbnB1dE1ldGhvZEVuYWJsZWQoUU9i
amVjdCogb2JqZWN0KQogeworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICBpZiAoUUdy
YXBoaWNzT2JqZWN0KiBvID0gcW9iamVjdF9jYXN0PFFHcmFwaGljc09iamVjdCo+KG9iamVjdCkp
CiAgICAgICAgIHJldHVybiBvLT5mbGFncygpICYgUUdyYXBoaWNzSXRlbTo6SXRlbUFjY2VwdHNJ
bnB1dE1ldGhvZDsKKyNlbmRpZgogICAgIGlmIChRV2lkZ2V0KiB3ID0gcW9iamVjdF9jYXN0PFFX
aWRnZXQqPihvYmplY3QpKQogICAgICAgICByZXR1cm4gdy0+dGVzdEF0dHJpYnV0ZShRdDo6V0Ff
SW5wdXRNZXRob2RFbmFibGVkKTsKICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNDg2LDYgKzE0OTYs
NyBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKICAgICAgICAgdmlldyA9IHd2
OwogICAgICAgICBjb250YWluZXIgPSB2aWV3OwogICAgIH0gZWxzZSBpZiAodmlld1R5cGUgPT0g
IlFHcmFwaGljc1dlYlZpZXciKSB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgICAg
ICBRR3JhcGhpY3NXZWJWaWV3KiB3diA9IG5ldyBRR3JhcGhpY3NXZWJWaWV3OwogICAgICAgICB3
di0+c2V0UGFnZShwYWdlKTsKICAgICAgICAgdmlldyA9IHd2OwpAQCAtMTQ5Nyw2ICsxNTA4LDcg
QEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcygpCiAgICAgICAgIHd2LT5zZXRHZW9t
ZXRyeShRUmVjdCgwLCAwLCA1MDAsIDUwMCkpOwogCiAgICAgICAgIGNvbnRhaW5lciA9IGd2Owor
I2VuZGlmCiAgICAgfSBlbHNlCiAgICAgICAgIFFWRVJJRlkyKGZhbHNlLCAiVW5rbm93biB2aWV3
IHR5cGUiKTsKIApAQCAtMTUyMiw4ICsxNTM0LDEwIEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1
dE1ldGhvZHMoKQogICAgICAgICBpZiAoUVdlYlZpZXcqIHd2ID0gcW9iamVjdF9jYXN0PFFXZWJW
aWV3Kj4odmlldykpCiAgICAgICAgICAgICBpbnB1dFBhbmVsID0gd3YtPnN0eWxlKCktPnN0eWxl
SGludChRU3R5bGU6OlNIX1JlcXVlc3RTb2Z0d2FyZUlucHV0UGFuZWwpOwogICAgIH0gZWxzZSBp
ZiAodmlld1R5cGUgPT0gIlFHcmFwaGljc1dlYlZpZXciKSB7CisjaWZuZGVmIFFUX05PX0dSQVBI
SUNTVklFVwogICAgICAgICBpZiAoUUdyYXBoaWNzV2ViVmlldyogd3YgPSBxb2JqZWN0X2Nhc3Q8
UUdyYXBoaWNzV2ViVmlldyo+KHZpZXcpKQogICAgICAgICAgICAgaW5wdXRQYW5lbCA9IHd2LT5z
dHlsZSgpLT5zdHlsZUhpbnQoUVN0eWxlOjpTSF9SZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVsKTsK
KyNlbmRpZgogICAgIH0KIAogICAgIC8vIEZvciBub24tbW9iaWxlIHBsYXRmb3JtcyBSZXF1ZXN0
U29mdHdhcmVJbnB1dFBhbmVsIGV2ZW50IGlzIG5vdCBjYWxsZWQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81391</attachid>
            <date>2011-02-05 22:08:49 -0800</date>
            <delta_ts>2011-02-14 10:26:38 -0800</delta_ts>
            <desc>rebaseline + minor fixes as suggested</desc>
            <filename>49750.patch</filename>
            <type>text/plain</type>
            <size>26512</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlZTM5NTJhLi5hNzE4NzNh
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDItMDUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29t
cGlsZSB3aXRoIFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICAqIFdlYktpdC5wcmk6IERlZmlu
ZSBRVF9OT19HUkFQSElDU1ZJRVcgYW5kIG5vIGxvbmdlcgorICAgICAgICBidWlsZCBRdERlY2xh
cmF0aXZlIGZvciBxdF9taW5pbWFsIGNvbmZpZ3VyYXRpb24uCisKIDIwMTEtMDItMDMgIE1hcnRp
biBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBHVEsrIFdl
YkdMIGJ1aWxkIGFmdGVyIHI3NjYwMC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE1NDAx
MmEuLjQ3MGJkZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDExLTAyLTA1ICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIENvbXBp
bGUgd2l0aCBRVF9OT19HUkFQSElDU1ZJRVcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ5NzUwCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogVHVy
biBvZmYgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgaWYgbmVpdGhlcgorICAgICAgICBRdEdyYXBo
aWNzVmlldyBub3IgVGV4dHVyZSBNYXBwZXIgYXJlIHR1cm5lZCBvbi4KKwogMjAxMS0wMi0wNCAg
R2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0
Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDA3ZjU3
ZjAuLjEwMmNlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTEwODcs
NyArMTA4Nyw3IEBACiAjZW5kaWYKIAogLyogQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgKi8KLSNp
ZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikpIHx8IFBMQVRG
T1JNKElPUykgfHwgUExBVEZPUk0oUVQpIHx8IChQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkg
JiYhZGVmaW5lZChXSU5fQ0FJUk8pKQorI2lmIChQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX1RJR0VSKSkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShRVCkgJiYgKCFk
ZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykgfHwgVVNFKFRFWFRVUkVfTUFQUEVSKSkgfHwgKFBM
QVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKSAmJiFkZWZpbmVkKFdJTl9DQUlSTykpCiAjZGVmaW5l
IFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA2MWI5MjEwLi5iMjA3NTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDIt
MDUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQ29tcGlsZSB3aXRo
IFFUX05PX0dSQVBISUNTVklFVworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDk3NTAKKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhlcmUgaXMgbm8g
bmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0
dXJlTWFwcGVyUXQuaDogR3VhcmQgd2l0aAorICAgICAgICBVU0UoVEVYVFVSRV9NQVBQRVIpIGFz
IGl0IGlzIGluY2x1ZGVkIGluIFBhZ2VDbGllbnRRdC5jcHAuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9XaGVlbEV2ZW50UXQuY3BwOiBHdWFyZCBRR3JhcGhpY3NTY2VuZVdoZWVsRXZlbnQgd2l0
aAorICAgICAgICAhUVRfTk9fR1JBUEhJQ1NWSUVXLgorCisgICAgICAgICogcGx1Z2lucy9xdC9Q
bHVnaW5WaWV3UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6dXBkYXRlUGx1
Z2luV2lkZ2V0KTogR3VhcmQgbV9wbGF0Zm9ybUxheWVyIHdpdGgKKyAgICAgICAgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKSB0byBlbmFibGUgYnVpbGRpbmcgd2l0aG91dAorICAgICAgICBh
Y2NlbGVyYXRlZCBjb21wb3NpdGluZy4KKwogMjAxMS0wMi0wNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0
aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVGV4dHVyZU1hcHBlclF0
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0dXJlTWFwcGVyUXQu
aAppbmRleCBlMTdiOTY4Li5jNDhiZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9UZXh0dXJlTWFwcGVyUXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9UZXh0dXJlTWFwcGVyUXQuaApAQCAtMjIsNiArMjIsMTAgQEAK
ICNpZm5kZWYgVGV4dHVyZU1hcHBlclF0X2gKICNkZWZpbmUgVGV4dHVyZU1hcHBlclF0X2gKIAor
I2luY2x1ZGUgInFnbG9iYWwuaCIKKworI2lmIFVTRShURVhUVVJFX01BUFBFUikKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBCaXRtYXBUZXh0dXJlUXQgOiBwdWJsaWMgQml0bWFwVGV4
dHVyZSB7CkBAIC03Myw0ICs3Nyw3IEBAIHByaXZhdGU6CiB9OwogCiB9CisKKyNlbmRpZiAvLyBV
U0UoVEVYVFVSRV9NQVBQRVIpCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0
L1doZWVsRXZlbnRRdC5jcHAKaW5kZXggYWE2MWQ5MS4uNmI1NzBhZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQuY3BwCkBAIC01Nyw2ICs1Nyw3IEBAIHZvaWQg
UGxhdGZvcm1XaGVlbEV2ZW50OjphcHBseURlbHRhKGludCBkZWx0YSwgUXQ6Ok9yaWVudGF0aW9u
IG9yaWVudGF0aW9uKQogI2VuZGlmCiB9CiAKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiBQ
bGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChRR3JhcGhpY3NTY2VuZVdoZWVs
RXZlbnQqIGUpCiAjaWZuZGVmIFFUX05PX1dIRUVMRVZFTlQKICAgICA6IG1fcG9zaXRpb24oZS0+
cG9zKCkudG9Qb2ludCgpKQpAQCAtNzUsNiArNzYsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBs
YXRmb3JtV2hlZWxFdmVudChRR3JhcGhpY3NTY2VuZVdoZWVsRXZlbnQqIGUpCiAgICAgUV9VTlVT
RUQoZSk7CiAjZW5kaWYKIH0KKyNlbmRpZgogCiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3Jt
V2hlZWxFdmVudChRV2hlZWxFdmVudCogZSkKICNpZm5kZWYgUVRfTk9fV0hFRUxFVkVOVApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwCmluZGV4IDgyMWNjYjcuLjcw
ODdlMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZpZXdRdC5jcHAKQEAg
LTE2OCwxMSArMTY4LDEzIEBAIHZvaWQgUGx1Z2luVmlldzo6dXBkYXRlUGx1Z2luV2lkZ2V0KCkK
ICAgICAgICAgfHwgKFFXZWJQYWdlUHJpdmF0ZTo6ZHJ0UnVuICYmIHBsYXRmb3JtUGx1Z2luV2lk
Z2V0KCkgJiYgKG1fd2luZG93UmVjdCAhPSBvbGRXaW5kb3dSZWN0IHx8IG1fY2xpcFJlY3QgIT0g
b2xkQ2xpcFJlY3QpKSkKICAgICAgICAgc2V0TlBXaW5kb3dJZk5lZWRlZCgpOwogCisjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmICghbV9wbGF0Zm9ybUxheWVyKSB7CiAg
ICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBnZXQgcmVwYWludGVkIGFmdGVyd2FyZHMuIFRoaXMgaXMg
bmVjZXNzYXJ5IGZvciBkb3dud2FyZAogICAgICAgICAvLyBzY3JvbGxpbmcgdG8gbW92ZSB0aGUg
cGx1Z2luIHdpZGdldCBwcm9wZXJseS4KICAgICAgICAgaW52YWxpZGF0ZSgpOwogICAgIH0KKyNl
bmRpZgogfQogCiB2b2lkIFBsdWdpblZpZXc6OnNldEZvY3VzKGJvb2wgZm9jdXNlZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQucHJpIGIvU291cmNlL1dlYktpdC5wcmkKaW5kZXggNzRkZjc4
ZC4uZDQ3ZGE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC5wcmkKKysrIGIvU291cmNlL1dl
YktpdC5wcmkKQEAgLTExNiw2ICsxMTYsNyBAQCBDT05GSUcocXRfbWluaW1hbCkgewogICAgIERF
RklORVMgKj0gUVRfTk9fREVTS1RPUFNFUlZJQ0VTCiAgICAgREVGSU5FUyAqPSBRVF9OT19GSUxF
RElBTE9HCiAgICAgREVGSU5FUyAqPSBRVF9OT19HUkFQSElDU0VGRkVDVAorICAgIERFRklORVMg
Kj0gUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgREVGSU5FUyAqPSBRVF9OT19JTQogICAgIERFRklO
RVMgKj0gUVRfTk9fSU5QVVRESUFMT0cKICAgICBERUZJTkVTICo9IFFUX05PX0xJTkVFRElUCkBA
IC0xMzIsNiArMTMzLDggQEAgQ09ORklHKHF0X21pbmltYWwpIHsKICAgICBERUZJTkVTICo9IFFU
X05PX1VORE9DT01NQU5ECiAgICAgREVGSU5FUyAqPSBRVF9OT19VTkRPU1RBQ0sKICAgICBERUZJ
TkVTICo9IFFUX05PX1hSRU5ERVIKKworICAgIFFUX0NPTkZJRyAtPSBkZWNsYXJhdGl2ZQogfQog
CiBjb250YWlucyhERUZJTkVTLCBRVF9OT19VSVRPT0xTKTogQ09ORklHIC09IHVpdG9vbHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKaW5kZXggYjZhYzMxYi4uMGYw
YjVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKQEAgLTEx
NDUsNiArMTE0NSw2IEBAIHZvaWQgUUdyYXBoaWNzV2ViVmlldzo6aW5wdXRNZXRob2RFdmVudChR
SW5wdXRNZXRob2RFdmVudCogZXYpCiAgICAgXHNhIFFXZWJQYWdlOjpsaW5rRGVsZWdhdGlvblBv
bGljeSgpCiAqLwogCi0jZW5kaWYgLy8gUVRfTk9fR1JBUEhJQ1NWSUVXCi0KICNpbmNsdWRlICJt
b2NfcWdyYXBoaWNzd2Vidmlldy5jcHAiCisKKyNlbmRpZiAvLyBRVF9OT19HUkFQSElDU1ZJRVcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAppbmRleCBmNGIyM2YzLi5mNDExZjNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYnZpZXcuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAicWRpci5o
IgogI2luY2x1ZGUgInFmaWxlLmgiCiAKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCiBj
bGFzcyBRV2ViVmlld1ByaXZhdGUgewogcHVibGljOgogICAgIFFXZWJWaWV3UHJpdmF0ZShRV2Vi
VmlldyAqdmlldykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggOTU1ZTFlMS4uNTg0YWFlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMS0wMi0wNSAgTGFzemxvIEdvbWJvcyAgPGxhc3ps
by4xLmdvbWJvc0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1F0XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NWSUVXCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1MAorCisgICAg
ICAgICogQXBpL3F3ZWJ2aWV3LmNwcDogSW5jbHVkZSBQYXNzT3duUHRyLmggZm9yCisgICAgICAg
IE93blB0cjo6cmVsZWFzZSgpIGluIFFXZWJWaWV3UHJpdmF0ZTo6ZGV0YWNoQ3VycmVudFBhZ2Uu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UXRGYWxsYmFja1dlYlBvcHVwOjpzaG93KTogR3VhcmQgUUdyYXBoaWNz
V2ViVmlldy4KKworICAgICAgICAqIHRlc3RzL3FncmFwaGljc3dlYnZpZXcvdHN0X3FncmFwaGlj
c3dlYnZpZXcuY3BwOiBHdWFyZCB3aXRoCisgICAgICAgICFRVF9OT19HUkFQSElDU1ZJRVcuCisg
ICAgICAgIChtYWluKTogQ3JlYXRlIGFuIGVtdHkgbWFpbi4KKworICAgICAgICAqIHRlc3RzL3F3
ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHA6IEFkZCAhUVRfTk9fR1JBUEhJQ1NWSUVXIGd1YXJkcy4K
KyAgICAgICAgKFBsdWdpblBhZ2U6OmNyZWF0ZVBsdWdpbik6CisgICAgICAgICh0c3RfUVdlYlBh
Z2U6OmdyYXBoaWNzV2lkZ2V0UGx1Z2luKToKKyAgICAgICAgKFBsdWdpbkZhY3Rvcnk6OmNyZWF0
ZSk6CisgICAgICAgIChpbnB1dE1ldGhvZEhpbnRzKToKKyAgICAgICAgKGlucHV0TWV0aG9kRW5h
YmxlZCk6CisgICAgICAgICh0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcyk6CisKIDIwMTEtMDIt
MDMgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcAppbmRleCBhZmE2NDkyLi5mYTQwMGQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tX
ZWJQb3B1cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxi
YWNrV2ViUG9wdXAuY3BwCkBAIC0xMjUsMTEgKzEyNSwxNCBAQCB2b2lkIFF0RmFsbGJhY2tXZWJQ
b3B1cDo6c2hvdyhjb25zdCBRV2ViU2VsZWN0RGF0YSYgZGF0YSkKICAgICBwb3B1bGF0ZShkYXRh
KTsKIAogICAgIFFSZWN0IHJlY3QgPSBnZW9tZXRyeSgpOworI2lmbmRlZiBRVF9OT19HUkFQSElD
U1ZJRVcKICAgICBpZiAoUUdyYXBoaWNzV2ViVmlldyAqd2ViVmlldyA9IHFvYmplY3RfY2FzdDxR
R3JhcGhpY3NXZWJWaWV3Kj4ocGFnZUNsaWVudCgpLT5wbHVnaW5QYXJlbnQoKSkpIHsKICAgICAg
ICAgUUdyYXBoaWNzUHJveHlXaWRnZXQqIHByb3h5ID0gbmV3IFFHcmFwaGljc1Byb3h5V2lkZ2V0
KHdlYlZpZXcpOwogICAgICAgICBwcm94eS0+c2V0V2lkZ2V0KG1fY29tYm8pOwogICAgICAgICBw
cm94eS0+c2V0R2VvbWV0cnkocmVjdCk7Ci0gICAgfSBlbHNlIHsKKyAgICB9IGVsc2UKKyNlbmRp
ZgorICAgIHsKICAgICAgICAgbV9jb21iby0+c2V0UGFyZW50KHBhZ2VDbGllbnQoKS0+b3duZXJX
aWRnZXQoKSk7CiAgICAgICAgIG1fY29tYm8tPnNldEdlb21ldHJ5KFFSZWN0KHJlY3QubGVmdCgp
LCByZWN0LnRvcCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3Qud2lkdGgo
KSwgbV9jb21iby0+c2l6ZUhpbnQoKS5oZWlnaHQoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC90ZXN0cy9xZ3JhcGhpY3N3ZWJ2aWV3L3RzdF9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcWdyYXBoaWNzd2Vidmlldy90c3RfcWdyYXBoaWNzd2Vi
dmlldy5jcHAKaW5kZXggMDlhMjFlMS4uN2ZhZTU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9xdC90ZXN0cy9xZ3JhcGhpY3N3ZWJ2aWV3L3RzdF9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3FncmFwaGljc3dlYnZpZXcvdHN0X3FncmFwaGljc3dl
YnZpZXcuY3BwCkBAIC0xNyw3ICsxNyw2IEBACiAgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCiAqLwogCi0jaW5jbHVkZSAiLi4vdXRpbC5oIgogI2luY2x1ZGUgPFF0VGVzdC9RdFRlc3Q+
CiAjaW5jbHVkZSA8UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50PgogI2luY2x1ZGUgPFFHcmFwaGlj
c1ZpZXc+CkBAIC0yNSw2ICsyNCwxMCBAQAogI2luY2x1ZGUgPHF3ZWJwYWdlLmg+CiAjaW5jbHVk
ZSA8cXdlYmZyYW1lLmg+CiAKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCisKKyNpbmNsdWRl
ICIuLi91dGlsLmgiCisKIGNsYXNzIHRzdF9RR3JhcGhpY3NXZWJWaWV3IDogcHVibGljIFFPYmpl
Y3QKIHsKICAgICBRX09CSkVDVApAQCAtMjY0LDMgKzI2Nyw3IEBAIHZvaWQgdHN0X1FHcmFwaGlj
c1dlYlZpZXc6OmZvY3VzSW5wdXRUeXBlcygpCiBRVEVTVF9NQUlOKHRzdF9RR3JhcGhpY3NXZWJW
aWV3KQogCiAjaW5jbHVkZSAidHN0X3FncmFwaGljc3dlYnZpZXcubW9jIgorCisjZWxzZQoraW50
IG1haW4odm9pZCkge307CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdl
YnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAppbmRleCBlYzFmMzM2Li40ZGFiMjI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCkBAIC01OTks
OCArNTk5LDEwIEBAIHByb3RlY3RlZDoKICAgICAgICAgZWxzZSBpZiAoY2xhc3NpZCA9PSAibGlu
ZWVkaXQiKQogICAgICAgICAgICAgcmVzdWx0ID0gbmV3IFFMaW5lRWRpdCgpOwogI2VuZGlmCisj
aWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgICAgICBlbHNlIGlmIChjbGFzc2lkID09ICJn
cmFwaGljc3dpZGdldCIpCiAgICAgICAgICAgICByZXN1bHQgPSBuZXcgUUdyYXBoaWNzV2lkZ2V0
KCk7CisjZW5kaWYKICAgICAgICAgaWYgKHJlc3VsdCkKICAgICAgICAgICAgIHJlc3VsdC0+c2V0
T2JqZWN0TmFtZShjbGFzc2lkKTsKICAgICAgICAgY2FsbHMuYXBwZW5kKENhbGxJbmZvKGNsYXNz
aWQsIHVybCwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMsIHJlc3VsdCkpOwpAQCAtNjkyLDYgKzY5
NCw3IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZVBsdWdpbihRV2ViVmlldyAqdmlldykKIAogdm9pZCB0
c3RfUVdlYlBhZ2U6OmdyYXBoaWNzV2lkZ2V0UGx1Z2luKCkKIHsKKyNpZm5kZWYgUVRfTk9fR1JB
UEhJQ1NWSUVXCiAgICAgbV92aWV3LT5zZXR0aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRp
bmdzOjpQbHVnaW5zRW5hYmxlZCwgdHJ1ZSk7CiAgICAgUUdyYXBoaWNzV2ViVmlldyB3ZWJWaWV3
OwogCkBAIC03MzYsNiArNzM5LDcgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmdyYXBoaWNzV2lkZ2V0
UGx1Z2luKCkKICAgICAgICAgICAgICBRU3RyaW5nOjpmcm9tTGF0aW4xKCJmdW5jdGlvbiIpKTsK
ICAgICBRQ09NUEFSRShuZXdQYWdlLT5tYWluRnJhbWUoKS0+ZXZhbHVhdGVKYXZhU2NyaXB0KCJt
eWdyYXBoaWNzd2lkZ2V0Lmdlb21ldHJ5Q2hhbmdlZC50b1N0cmluZygpIikudG9TdHJpbmcoKSwK
ICAgICAgICAgICAgICBRU3RyaW5nOjpmcm9tTGF0aW4xKCJmdW5jdGlvbiBnZW9tZXRyeUNoYW5n
ZWQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIpKTsKKyNlbmRpZgogfQogCiB2b2lkIHRzdF9R
V2ViUGFnZTo6Y3JlYXRlUGx1Z2luV2l0aFBsdWdpbnNFbmFibGVkKCkKQEAgLTgwNyw3ICs4MTEs
OSBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1bHQgPSBuZXcgUGx1Z2luVHJhY2VyUGFnZTxR
V2lkZ2V0PihwYXJlbnQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUUdyYXBo
aWNzV2lkZ2V0VHlwZToKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgICAgICBy
ZXN1bHQgPSBuZXcgUGx1Z2luVHJhY2VyUGFnZTxRR3JhcGhpY3NXaWRnZXQ+KHBhcmVudCk7Cisj
ZW5kaWYKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OiB7LypPb3BzKi99Owog
ICAgICAgICB9CkBAIC0xNDUwLDggKzE0NTYsMTAgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0
TWV0aG9kc19kYXRhKCkKIAogc3RhdGljIFF0OjpJbnB1dE1ldGhvZEhpbnRzIGlucHV0TWV0aG9k
SGludHMoUU9iamVjdCogb2JqZWN0KQogeworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAg
ICBpZiAoUUdyYXBoaWNzT2JqZWN0KiBvID0gcW9iamVjdF9jYXN0PFFHcmFwaGljc09iamVjdCo+
KG9iamVjdCkpCiAgICAgICAgIHJldHVybiBvLT5pbnB1dE1ldGhvZEhpbnRzKCk7CisjZW5kaWYK
ICAgICBpZiAoUVdpZGdldCogdyA9IHFvYmplY3RfY2FzdDxRV2lkZ2V0Kj4ob2JqZWN0KSkKICAg
ICAgICAgcmV0dXJuIHctPmlucHV0TWV0aG9kSGludHMoKTsKICAgICByZXR1cm4gUXQ6OklucHV0
TWV0aG9kSGludHMoKTsKQEAgLTE0NTksOCArMTQ2NywxMCBAQCBzdGF0aWMgUXQ6OklucHV0TWV0
aG9kSGludHMgaW5wdXRNZXRob2RIaW50cyhRT2JqZWN0KiBvYmplY3QpCiAKIHN0YXRpYyBib29s
IGlucHV0TWV0aG9kRW5hYmxlZChRT2JqZWN0KiBvYmplY3QpCiB7CisjaWZuZGVmIFFUX05PX0dS
QVBISUNTVklFVwogICAgIGlmIChRR3JhcGhpY3NPYmplY3QqIG8gPSBxb2JqZWN0X2Nhc3Q8UUdy
YXBoaWNzT2JqZWN0Kj4ob2JqZWN0KSkKICAgICAgICAgcmV0dXJuIG8tPmZsYWdzKCkgJiBRR3Jh
cGhpY3NJdGVtOjpJdGVtQWNjZXB0c0lucHV0TWV0aG9kOworI2VuZGlmCiAgICAgaWYgKFFXaWRn
ZXQqIHcgPSBxb2JqZWN0X2Nhc3Q8UVdpZGdldCo+KG9iamVjdCkpCiAgICAgICAgIHJldHVybiB3
LT50ZXN0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJsZWQpOwogICAgIHJldHVybiBm
YWxzZTsKQEAgLTE0ODYsNiArMTQ5Niw3IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1dE1ldGhv
ZHMoKQogICAgICAgICB2aWV3ID0gd3Y7CiAgICAgICAgIGNvbnRhaW5lciA9IHZpZXc7CiAgICAg
fSBlbHNlIGlmICh2aWV3VHlwZSA9PSAiUUdyYXBoaWNzV2ViVmlldyIpIHsKKyNpZm5kZWYgUVRf
Tk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgIFFHcmFwaGljc1dlYlZpZXcqIHd2ID0gbmV3IFFHcmFw
aGljc1dlYlZpZXc7CiAgICAgICAgIHd2LT5zZXRQYWdlKHBhZ2UpOwogICAgICAgICB2aWV3ID0g
d3Y7CkBAIC0xNDk3LDYgKzE1MDgsNyBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2Rz
KCkKICAgICAgICAgd3YtPnNldEdlb21ldHJ5KFFSZWN0KDAsIDAsIDUwMCwgNTAwKSk7CiAKICAg
ICAgICAgY29udGFpbmVyID0gZ3Y7CisjZW5kaWYKICAgICB9IGVsc2UKICAgICAgICAgUVZFUklG
WTIoZmFsc2UsICJVbmtub3duIHZpZXcgdHlwZSIpOwogCkBAIC0xNTIyLDggKzE1MzQsMTAgQEAg
dm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcygpCiAgICAgICAgIGlmIChRV2ViVmlldyog
d3YgPSBxb2JqZWN0X2Nhc3Q8UVdlYlZpZXcqPih2aWV3KSkKICAgICAgICAgICAgIGlucHV0UGFu
ZWwgPSB3di0+c3R5bGUoKS0+c3R5bGVIaW50KFFTdHlsZTo6U0hfUmVxdWVzdFNvZnR3YXJlSW5w
dXRQYW5lbCk7CiAgICAgfSBlbHNlIGlmICh2aWV3VHlwZSA9PSAiUUdyYXBoaWNzV2ViVmlldyIp
IHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgIGlmIChRR3JhcGhpY3NXZWJW
aWV3KiB3diA9IHFvYmplY3RfY2FzdDxRR3JhcGhpY3NXZWJWaWV3Kj4odmlldykpCiAgICAgICAg
ICAgICBpbnB1dFBhbmVsID0gd3YtPnN0eWxlKCktPnN0eWxlSGludChRU3R5bGU6OlNIX1JlcXVl
c3RTb2Z0d2FyZUlucHV0UGFuZWwpOworI2VuZGlmCiAgICAgfQogCiAgICAgLy8gRm9yIG5vbi1t
b2JpbGUgcGxhdGZvcm1zIFJlcXVlc3RTb2Z0d2FyZUlucHV0UGFuZWwgZXZlbnQgaXMgbm90IGNh
bGxlZApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGE4ODU3YjEuLjkzNDcyYzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMS0wMi0wNSAgTGFzemxvIEdvbWJvcyAg
PGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW1F0XSBDb21waWxlIHdpdGggUVRfTk9fR1JBUEhJQ1NWSUVX
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTc1MAor
CisgICAgICAgIEJ1aWxkIFF0VGVzdEJyb3dzZXIgd2l0aCBRVF9OT19HUkFQSElDU1ZJRVcuCisK
KyAgICAgICAgKiBUb29scy5wcm86IE9ubHkgbWFpbnRhaW4gUXRUZXN0QnJvd3NlcgorICAgICAg
ICBmb3IgcXRfbWluaW1hbCBjb25maWd1cmF0aW9uLgorCisgICAgICAgICogUXRUZXN0QnJvd3Nl
ci9sYXVuY2hlcndpbmRvdy5jcHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJX
aW5kb3cpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmluaXRpYWxpemVWaWV3KToKKyAgICAg
ICAgKExhdW5jaGVyV2luZG93OjphcHBseVByZWZzKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93
OjpjcmVhdGVDaHJvbWUpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmlzR3JhcGhpY3NCYXNl
ZCk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6em9vbUFuaW1hdGlvbkZpbmlzaGVkKToKKyAg
ICAgICAgKExhdW5jaGVyV2luZG93OjphcHBseVpvb20pOgorICAgICAgICAoTGF1bmNoZXJXaW5k
b3c6OnRvZ2dsZVJlc2l6ZXNUb0NvbnRlbnRzKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93Ojph
bmltYXRlZEZsaXApOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmFuaW1hdGVkWUZsaXApOgor
ICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmNoYW5nZVZpZXdwb3J0VXBkYXRlTW9kZSk6CisgICAg
ICAgIChMYXVuY2hlcldpbmRvdzo6c2hvd0ZQUyk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6
Y2xvbmVXaW5kb3cpOgorICAgICAgICAqIFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoK
KyAgICAgICAgKFdpbmRvd09wdGlvbnM6OldpbmRvd09wdGlvbnMpOgorICAgICAgICAqIFF0VGVz
dEJyb3dzZXIvbWFpbi5jcHA6CisgICAgICAgIChMYXVuY2hlckFwcGxpY2F0aW9uOjpoYW5kbGVV
c2VyT3B0aW9ucyk6CisgICAgICAgICogUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcDoKKyAgICAg
ICAgKEdyYXBoaWNzV2ViVmlldzo6bW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKiBRdFRlc3RC
cm93c2VyL3dlYnZpZXcuaDoKKwogMjAxMS0wMi0wNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjc3
NzIwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAg
Yi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcAppbmRleCA2NjY5NDJmLi5i
ZWIyOWMwIDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNw
cAorKysgYi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcApAQCAtMzUsNyAr
MzUsMTEgQEAKIGNvbnN0IGludCBnRXhpdENsaWNrQXJlYSA9IDgwOwogUVZlY3RvcjxpbnQ+IExh
dW5jaGVyV2luZG93OjptX3pvb21MZXZlbHM7CiAKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVX
CiBMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3coV2luZG93T3B0aW9ucyogZGF0YSwgUUdy
YXBoaWNzU2NlbmUqIHNoYXJlZFNjZW5lKQorI2Vsc2UKK0xhdW5jaGVyV2luZG93OjpMYXVuY2hl
cldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhKQorI2VuZGlmCiAgICAgOiBNYWluV2luZG93KCkK
ICAgICAsIG1fY3VycmVudFpvb20oMTAwKQogICAgICwgbV92aWV3KDApCkBAIC00Nyw4ICs1MSwx
MCBAQCBMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3coV2luZG93T3B0aW9ucyogZGF0YSwg
UUdyYXBoaWNzU2NlbmUqIHNoYXJlZFNjZW5lKQogICAgICAgICBtX3dpbmRvd09wdGlvbnMgPSAq
ZGF0YTsKIAogICAgIGluaXQoKTsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgaWYg
KHNoYXJlZFNjZW5lICYmIGRhdGEtPnVzZUdyYXBoaWNzVmlldykKICAgICAgICAgc3RhdGljX2Nh
c3Q8UUdyYXBoaWNzVmlldyo+KG1fdmlldyktPnNldFNjZW5lKHNoYXJlZFNjZW5lKTsKKyNlbmRp
ZgogCiAgICAgY3JlYXRlQ2hyb21lKCk7CiB9CkBAIC0xMTEsNiArMTE3LDcgQEAgdm9pZCBMYXVu
Y2hlcldpbmRvdzo6aW5pdGlhbGl6ZVZpZXcoKQogCiAgICAgICAgIG1fdmlldyA9IHZpZXc7CiAg
ICAgfSBlbHNlIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgIFdlYlZpZXdH
cmFwaGljc0Jhc2VkKiB2aWV3ID0gbmV3IFdlYlZpZXdHcmFwaGljc0Jhc2VkKHNwbGl0dGVyKTsK
ICAgICAgICAgdmlldy0+c2V0UGFnZShwYWdlKCkpOwogCkBAIC0xMjIsNiArMTI5LDcgQEAgdm9p
ZCBMYXVuY2hlcldpbmRvdzo6aW5pdGlhbGl6ZVZpZXcoKQogICAgICAgICB2aWV3LT52aWV3cG9y
dCgpLT5pbnN0YWxsRXZlbnRGaWx0ZXIodGhpcyk7CiAKICAgICAgICAgbV92aWV3ID0gdmlldzsK
KyNlbmRpZgogICAgIH0KIAogICAgIG1fdG91Y2hNb2NraW5nID0gZmFsc2U7CkBAIC0xNjAsMTAg
KzE2OCwxMiBAQCB2b2lkIExhdW5jaGVyV2luZG93OjphcHBseVByZWZzKCkKICAgICBpZiAoIWlz
R3JhcGhpY3NCYXNlZCgpKQogICAgICAgICByZXR1cm47CiAKKyNpZm5kZWYgUVRfTk9fR1JBUEhJ
Q1NWSUVXCiAgICAgV2ViVmlld0dyYXBoaWNzQmFzZWQqIHZpZXcgPSBzdGF0aWNfY2FzdDxXZWJW
aWV3R3JhcGhpY3NCYXNlZCo+KG1fdmlldyk7CiAgICAgdmlldy0+c2V0Vmlld3BvcnRVcGRhdGVN
b2RlKG1fd2luZG93T3B0aW9ucy52aWV3cG9ydFVwZGF0ZU1vZGUpOwogICAgIHZpZXctPnNldEZy
YW1lUmF0ZU1lYXN1cmVtZW50RW5hYmxlZChtX3dpbmRvd09wdGlvbnMuc2hvd0ZyYW1lUmF0ZSk7
CiAgICAgdmlldy0+c2V0SXRlbUNhY2hlTW9kZShtX3dpbmRvd09wdGlvbnMuY2FjaGVXZWJWaWV3
ID8gUUdyYXBoaWNzSXRlbTo6RGV2aWNlQ29vcmRpbmF0ZUNhY2hlIDogUUdyYXBoaWNzSXRlbTo6
Tm9DYWNoZSk7CisjZW5kaWYKIAogICAgIGlmIChtX3dpbmRvd09wdGlvbnMucmVzaXplc1RvQ29u
dGVudHMpCiAgICAgICAgIHRvZ2dsZVJlc2l6ZXNUb0NvbnRlbnRzKG1fd2luZG93T3B0aW9ucy5y
ZXNpemVzVG9Db250ZW50cyk7CkBAIC0yNzQsNiArMjg0LDcgQEAgdm9pZCBMYXVuY2hlcldpbmRv
dzo6Y3JlYXRlQ2hyb21lKCkKICAgICBzaG93SW5zcGVjdG9yQWN0aW9uLT5jb25uZWN0KG1faW5z
cGVjdG9yLCBTSUdOQUwodmlzaWJsZUNoYW5nZWQoYm9vbCkpLCBTTE9UKHNldENoZWNrZWQoYm9v
bCkpKTsKIAogICAgIC8vIEdyYXBoaWNzVmlldyBzdWIgbWVudS4KKyNpZm5kZWYgUVRfTk9fR1JB
UEhJQ1NWSUVXCiAgICAgUUFjdGlvbiogdG9nZ2xlQWNjZWxlcmF0ZWRDb21wb3NpdGluZyA9IGdy
YXBoaWNzVmlld01lbnUtPmFkZEFjdGlvbigiVG9nZ2xlIEFjY2VsZXJhdGVkIENvbXBvc2l0aW5n
IiwgdGhpcywgU0xPVCh0b2dnbGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKGJvb2wpKSk7CiAgICAg
dG9nZ2xlQWNjZWxlcmF0ZWRDb21wb3NpdGluZy0+c2V0Q2hlY2thYmxlKHRydWUpOwogICAgIHRv
Z2dsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmctPnNldENoZWNrZWQoc2V0dGluZ3MtPnRlc3RBdHRy
aWJ1dGUoUVdlYlNldHRpbmdzOjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCkpOwpAQCAt
Mzg5LDExICs0MDAsMTYgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6Y3JlYXRlQ2hyb21lKCkKICAg
ICB0b2dnbGVKYXZhc2NyaXB0Q2FuT3BlbldpbmRvd3MtPnNldENoZWNrZWQoZmFsc2UpOwogCiAj
ZW5kaWYKKyNlbmRpZgogfQogCiBib29sIExhdW5jaGVyV2luZG93Ojppc0dyYXBoaWNzQmFzZWQo
KSBjb25zdAogeworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICByZXR1cm4gYm9vbChx
b2JqZWN0X2Nhc3Q8UUdyYXBoaWNzVmlldyo+KG1fdmlldykpOworI2Vsc2UKKyAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKIH0KIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6a2V5UHJlc3NFdmVudChR
S2V5RXZlbnQqIGV2ZW50KQpAQCAtNTY3LDEzICs1ODMsMTUgQEAgdm9pZCBMYXVuY2hlcldpbmRv
dzo6em9vbUFuaW1hdGlvbkZpbmlzaGVkKCkKIHsKICAgICBpZiAoIWlzR3JhcGhpY3NCYXNlZCgp
KQogICAgICAgICByZXR1cm47CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIFFHcmFw
aGljc1dlYlZpZXcqIHZpZXcgPSBzdGF0aWNfY2FzdDxXZWJWaWV3R3JhcGhpY3NCYXNlZCo+KG1f
dmlldyktPmdyYXBoaWNzV2ViVmlldygpOwogICAgIHZpZXctPnNldFRpbGVkQmFja2luZ1N0b3Jl
RnJvemVuKGZhbHNlKTsKKyNlbmRpZgogfQogCiB2b2lkIExhdW5jaGVyV2luZG93OjphcHBseVpv
b20oKQogewotI2lmbmRlZiBRVF9OT19BTklNQVRJT04KKyNpZiAhZGVmaW5lZChRVF9OT19BTklN
QVRJT04pIHx8ICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKICAgICBpZiAoaXNHcmFwaGlj
c0Jhc2VkKCkgJiYgcGFnZSgpLT5zZXR0aW5ncygpLT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0aW5n
czo6VGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKSkgewogICAgICAgICBRR3JhcGhpY3NXZWJWaWV3
KiB2aWV3ID0gc3RhdGljX2Nhc3Q8V2ViVmlld0dyYXBoaWNzQmFzZWQqPihtX3ZpZXcpLT5ncmFw
aGljc1dlYlZpZXcoKTsKICAgICAgICAgdmlldy0+c2V0VGlsZWRCYWNraW5nU3RvcmVGcm96ZW4o
dHJ1ZSk7CkBAIC03MjksOCArNzQ3LDEwIEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnRvZ2dsZVRp
bGVkQmFja2luZ1N0b3JlKGJvb2wgdG9nZ2xlKQogCiB2b2lkIExhdW5jaGVyV2luZG93Ojp0b2dn
bGVSZXNpemVzVG9Db250ZW50cyhib29sIHRvZ2dsZSkKIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJ
Q1NWSUVXCiAgICAgbV93aW5kb3dPcHRpb25zLnJlc2l6ZXNUb0NvbnRlbnRzID0gdG9nZ2xlOwog
ICAgIHN0YXRpY19jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2VkKj4obV92aWV3KS0+c2V0UmVzaXpl
c1RvQ29udGVudHModG9nZ2xlKTsKKyNlbmRpZgogfQogCiB2b2lkIExhdW5jaGVyV2luZG93Ojp0
b2dnbGVXZWJHTChib29sIHRvZ2dsZSkKQEAgLTc0NywxMiArNzY3LDE2IEBAIHZvaWQgTGF1bmNo
ZXJXaW5kb3c6OnRvZ2dsZVRocmVhZGVkUW5hbShib29sIHRvZ2dsZSkKIAogdm9pZCBMYXVuY2hl
cldpbmRvdzo6YW5pbWF0ZWRGbGlwKCkKIHsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAg
ICAgcW9iamVjdF9jYXN0PFdlYlZpZXdHcmFwaGljc0Jhc2VkKj4obV92aWV3KS0+YW5pbWF0ZWRG
bGlwKCk7CisjZW5kaWYKIH0KIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6YW5pbWF0ZWRZRmxpcCgp
CiB7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIHFvYmplY3RfY2FzdDxXZWJWaWV3
R3JhcGhpY3NCYXNlZCo+KG1fdmlldyktPmFuaW1hdGVkWUZsaXAoKTsKKyNlbmRpZgogfQogdm9p
ZCBMYXVuY2hlcldpbmRvdzo6dG9nZ2xlU3BhdGlhbE5hdmlnYXRpb24oYm9vbCBiKQogewpAQCAt
ODEzLDEzICs4MzcsMTQgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6dG9nZ2xlUUdMV2lkZ2V0Vmll
d3BvcnQoYm9vbCBlbmFibGUpCiAKIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmNoYW5nZVZpZXdwb3J0
VXBkYXRlTW9kZShpbnQgbW9kZSkKIHsKLSAgICBtX3dpbmRvd09wdGlvbnMudmlld3BvcnRVcGRh
dGVNb2RlID0gUUdyYXBoaWNzVmlldzo6Vmlld3BvcnRVcGRhdGVNb2RlKG1vZGUpOwotCiAgICAg
aWYgKCFpc0dyYXBoaWNzQmFzZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisjaWZuZGVmIFFUX05P
X0dSQVBISUNTVklFVworICAgIG1fd2luZG93T3B0aW9ucy52aWV3cG9ydFVwZGF0ZU1vZGUgPSBR
R3JhcGhpY3NWaWV3OjpWaWV3cG9ydFVwZGF0ZU1vZGUobW9kZSk7CiAgICAgV2ViVmlld0dyYXBo
aWNzQmFzZWQqIHZpZXcgPSBzdGF0aWNfY2FzdDxXZWJWaWV3R3JhcGhpY3NCYXNlZCo+KG1fdmll
dyk7CiAgICAgdmlldy0+c2V0Vmlld3BvcnRVcGRhdGVNb2RlKG1fd2luZG93T3B0aW9ucy52aWV3
cG9ydFVwZGF0ZU1vZGUpOworI2VuZGlmCiB9CiAKIHZvaWQgTGF1bmNoZXJXaW5kb3c6OnNob3dG
UFMoYm9vbCBlbmFibGUpCkBAIC04MjgsOCArODUzLDEwIEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6
OnNob3dGUFMoYm9vbCBlbmFibGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fd2luZG93T3B0
aW9ucy5zaG93RnJhbWVSYXRlID0gZW5hYmxlOworI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcK
ICAgICBXZWJWaWV3R3JhcGhpY3NCYXNlZCogdmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdHcmFw
aGljc0Jhc2VkKj4obV92aWV3KTsKICAgICB2aWV3LT5zZXRGcmFtZVJhdGVNZWFzdXJlbWVudEVu
YWJsZWQoZW5hYmxlKTsKKyNlbmRpZgogCiAgICAgaWYgKCFlbmFibGUpIHsKICNpZiBkZWZpbmVk
KFFfV1NfTUFFTU9fNSkgJiYgZGVmaW5lZChRX09TX1NZTUJJQU4pCkBAIC05MTEsNyArOTM4LDEx
IEBAIExhdW5jaGVyV2luZG93KiBMYXVuY2hlcldpbmRvdzo6bmV3V2luZG93KCkKIAogTGF1bmNo
ZXJXaW5kb3cqIExhdW5jaGVyV2luZG93OjpjbG9uZVdpbmRvdygpCiB7CisjaWZuZGVmIFFUX05P
X0dSQVBISUNTVklFVwogICAgIExhdW5jaGVyV2luZG93KiBtdyA9IG5ldyBMYXVuY2hlcldpbmRv
dygmbV93aW5kb3dPcHRpb25zLCBxb2JqZWN0X2Nhc3Q8UUdyYXBoaWNzVmlldyo+KG1fdmlldykt
PnNjZW5lKCkpOworI2Vsc2UKKyAgICBMYXVuY2hlcldpbmRvdyogbXcgPSBuZXcgTGF1bmNoZXJX
aW5kb3coJm1fd2luZG93T3B0aW9ucyk7CisjZW5kaWYKICAgICBtdy0+c2hvdygpOwogICAgIHJl
dHVybiBtdzsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5k
b3cuaCBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAppbmRleCA0NDg3ZjY1
Li44NWRiZjJiIDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93
LmgKKysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oCkBAIC05Myw3ICs5
Myw5IEBAIHB1YmxpYzoKICAgICAgICAgLCBjYWNoZVdlYlZpZXcoZmFsc2UpCiAgICAgICAgICwg
c2hvd0ZyYW1lUmF0ZShmYWxzZSkKICAgICAgICAgLCByZXNpemVzVG9Db250ZW50cyhmYWxzZSkK
KyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgICAgICwgdmlld3BvcnRVcGRhdGVNb2Rl
KFFHcmFwaGljc1ZpZXc6Ok1pbmltYWxWaWV3cG9ydFVwZGF0ZSkKKyNlbmRpZgogI2lmIGRlZmlu
ZWQoUVRfQ09ORklHVVJFRF9XSVRIX09QRU5HTCkKICAgICAgICAgLCB1c2VRR0xXaWRnZXRWaWV3
cG9ydChmYWxzZSkKICNlbmRpZgpAQCAtMTA5LDcgKzExMSw5IEBAIHB1YmxpYzoKICAgICBib29s
IGNhY2hlV2ViVmlldzsKICAgICBib29sIHNob3dGcmFtZVJhdGU7CiAgICAgYm9vbCByZXNpemVz
VG9Db250ZW50czsKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiAgICAgUUdyYXBoaWNzVmll
dzo6Vmlld3BvcnRVcGRhdGVNb2RlIHZpZXdwb3J0VXBkYXRlTW9kZTsKKyNlbmRpZgogI2lmIGRl
ZmluZWQoUVRfQ09ORklHVVJFRF9XSVRIX09QRU5HTCkKICAgICBib29sIHVzZVFHTFdpZGdldFZp
ZXdwb3J0OwogI2VuZGlmCkBAIC0xMjEsNyArMTI1LDExIEBAIGNsYXNzIExhdW5jaGVyV2luZG93
IDogcHVibGljIE1haW5XaW5kb3cgewogICAgIFFfT0JKRUNUCiAKIHB1YmxpYzoKLSAgICBMYXVu
Y2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhID0gMCwgUUdyYXBoaWNzU2NlbmUqIHNoYXJl
ZFNjZW5lID0gMCk7CisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVworICAgIExhdW5jaGVyV2lu
ZG93KFdpbmRvd09wdGlvbnMqIGRhdGEgPSAwICwgUUdyYXBoaWNzU2NlbmUqIHNoYXJlZFNjZW5l
ID0gMCk7CisjZWxzZQorICAgIExhdW5jaGVyV2luZG93KFdpbmRvd09wdGlvbnMqIGRhdGEgPSAw
KTsKKyNlbmRpZgogICAgIHZpcnR1YWwgfkxhdW5jaGVyV2luZG93KCk7CiAKICAgICB2aXJ0dWFs
IHZvaWQga2V5UHJlc3NFdmVudChRS2V5RXZlbnQqIGV2ZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1F0VGVzdEJyb3dzZXIvbWFpbi5jcHAgYi9Ub29scy9RdFRlc3RCcm93c2VyL21haW4uY3BwCmlu
ZGV4IGVjNWYxZDkuLmFjOGRkNTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbWFp
bi5jcHAKKysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9tYWluLmNwcApAQCAtMTEwLDE0ICsxMTAs
MTggQEAgdm9pZCBMYXVuY2hlckFwcGxpY2F0aW9uOjpoYW5kbGVVc2VyT3B0aW9ucygpCiAgICAg
aWYgKHByb2dyYW0uZXhpc3RzKCkpCiAgICAgICAgIHByb2dyYW1OYW1lID0gcHJvZ3JhbS5iYXNl
TmFtZSgpOwogCisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogICAgIFFMaXN0PFFTdHJpbmc+
IHVwZGF0ZU1vZGVzKGVudW1Ub0tleXMoUUdyYXBoaWNzVmlldzo6c3RhdGljTWV0YU9iamVjdCwK
ICAgICAgICAgICAgICJWaWV3cG9ydFVwZGF0ZU1vZGUiLCAiVmlld3BvcnRVcGRhdGUiKSk7Cisj
ZW5kaWYKIAogICAgIGlmIChhcmdzLmNvbnRhaW5zKCItaGVscCIpKSB7CiAgICAgICAgIHFEZWJ1
ZygpIDw8ICJVc2FnZToiIDw8IHByb2dyYW1OYW1lLnRvTGF0aW4xKCkuZGF0YSgpCiAgICAgICAg
ICAgICAgPDwgIlstZ3JhcGhpY3NiYXNlZF0iCiAgICAgICAgICAgICAgPDwgIlstbm8tY29tcG9z
aXRpbmddIgorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKICAgICAgICAgICAgICA8PCBRU3Ry
aW5nKCJbLXZpZXdwb3J0LXVwZGF0ZS1tb2RlICUxXSIpLmFyZyhmb3JtYXRLZXlzKHVwZGF0ZU1v
ZGVzKSkudG9MYXRpbjEoKS5kYXRhKCkKKyNlbmRpZgogICAgICAgICAgICAgIDw8ICJbLWNhY2hl
LXdlYnZpZXddIgogICAgICAgICAgICAgIDw8ICJbLXNob3ctZnBzXSIKICAgICAgICAgICAgICA8
PCAiWy1yIGxpc3RdIgpAQCAtMTc2LDggKzE4MCw5IEBAIHZvaWQgTGF1bmNoZXJBcHBsaWNhdGlv
bjo6aGFuZGxlVXNlck9wdGlvbnMoKQogICAgIGlmIChzZXRPZmZsaW5lU3RvcmFnZURlZmF1bHRR
dW90YUluZGV4ICE9IC0xKSB7CiAgICAgICAgIGludCBtYXhTaXplID0gdGFrZU9wdGlvblZhbHVl
KCZhcmdzLCBzZXRPZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YUluZGV4KS50b0ludCgpOwogICAg
ICAgICBRV2ViU2V0dGluZ3M6Omdsb2JhbFNldHRpbmdzKCktPnNldE9mZmxpbmVTdG9yYWdlRGVm
YXVsdFF1b3RhKG1heFNpemUpOwotICAgIH0gICAKKyAgICB9CiAgICAgCisjaWZuZGVmIFFUX05P
X0dSQVBISUNTVklFVwogICAgIGlmIChkZWZhdWx0Rm9yQW5pbWF0aW9ucykKICAgICAgICAgd2lu
ZG93T3B0aW9ucy52aWV3cG9ydFVwZGF0ZU1vZGUgPSBRR3JhcGhpY3NWaWV3OjpCb3VuZGluZ1Jl
Y3RWaWV3cG9ydFVwZGF0ZTsKIApAQCAtMTk1LDYgKzIwMCw3IEBAIHZvaWQgTGF1bmNoZXJBcHBs
aWNhdGlvbjo6aGFuZGxlVXNlck9wdGlvbnMoKQogCiAgICAgICAgIHdpbmRvd09wdGlvbnMudmll
d3BvcnRVcGRhdGVNb2RlID0gc3RhdGljX2Nhc3Q8UUdyYXBoaWNzVmlldzo6Vmlld3BvcnRVcGRh
dGVNb2RlPihpZHgpOwogICAgIH0KKyNlbmRpZgogI2lmZGVmIFFUX0NPTkZJR1VSRURfV0lUSF9P
UEVOR0wKICAgICBpZiAoYXJncy5jb250YWlucygiLWdsLXZpZXdwb3J0IikgfHwgZGVmYXVsdEZv
ckFuaW1hdGlvbnMpIHsKICAgICAgICAgcmVxdWlyZXNHcmFwaGljc1ZpZXcoIi1nbC12aWV3cG9y
dCIpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcCBiL1Rvb2xz
L1F0VGVzdEJyb3dzZXIvd2Vidmlldy5jcHAKaW5kZXggOGUzMzYyMC4uYzIxZDBkMCAxMDA2NDQK
LS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcAorKysgYi9Ub29scy9RdFRlc3RC
cm93c2VyL3dlYnZpZXcuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8UXRHdWk+CiAj
aW5jbHVkZSA8UUdyYXBoaWNzU2NlbmU+CiAKKyNpZm5kZWYgUVRfTk9fR1JBUEhJQ1NWSUVXCiBX
ZWJWaWV3R3JhcGhpY3NCYXNlZDo6V2ViVmlld0dyYXBoaWNzQmFzZWQoUVdpZGdldCogcGFyZW50
KQogICAgIDogUUdyYXBoaWNzVmlldyhwYXJlbnQpCiAgICAgLCBtX2l0ZW0obmV3IEdyYXBoaWNz
V2ViVmlldykKQEAgLTIzMCw2ICsyMzEsMTUgQEAgdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6
cGFpbnRFdmVudChRUGFpbnRFdmVudCogZXZlbnQpCiAgICAgICAgIHJldHVybjsKIH0KIAordm9p
ZCBHcmFwaGljc1dlYlZpZXc6Om1vdXNlUHJlc3NFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNlRXZl
bnQqIGV2ZW50KQoreworICAgIHNldFByb3BlcnR5KCJtb3VzZUJ1dHRvbnMiLCBRVmFyaWFudDo6
ZnJvbVZhbHVlKGludChldmVudC0+YnV0dG9ucygpKSkpOworICAgIHNldFByb3BlcnR5KCJrZXli
b2FyZE1vZGlmaWVycyIsIFFWYXJpYW50Ojpmcm9tVmFsdWUoaW50KGV2ZW50LT5tb2RpZmllcnMo
KSkpKTsKKworICAgIFFHcmFwaGljc1dlYlZpZXc6Om1vdXNlUHJlc3NFdmVudChldmVudCk7Cit9
CisjZW5kaWYKKwogc3RhdGljIFFNZW51KiBjcmVhdGVDb250ZXh0TWVudShRV2ViUGFnZSogcGFn
ZSwgUVBvaW50IHBvc2l0aW9uKQogewogICAgIFFNZW51KiBtZW51ID0gcGFnZS0+Y3JlYXRlU3Rh
bmRhcmRDb250ZXh0TWVudSgpOwpAQCAtMjQ1LDE0ICsyNTUsNiBAQCBzdGF0aWMgUU1lbnUqIGNy
ZWF0ZUNvbnRleHRNZW51KFFXZWJQYWdlKiBwYWdlLCBRUG9pbnQgcG9zaXRpb24pCiAgICAgcmV0
dXJuIG1lbnU7CiB9CiAKLXZvaWQgR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoUUdy
YXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldmVudCkKLXsKLSAgICBzZXRQcm9wZXJ0eSgibW91c2VC
dXR0b25zIiwgUVZhcmlhbnQ6OmZyb21WYWx1ZShpbnQoZXZlbnQtPmJ1dHRvbnMoKSkpKTsKLSAg
ICBzZXRQcm9wZXJ0eSgia2V5Ym9hcmRNb2RpZmllcnMiLCBRVmFyaWFudDo6ZnJvbVZhbHVlKGlu
dChldmVudC0+bW9kaWZpZXJzKCkpKSk7Ci0KLSAgICBRR3JhcGhpY3NXZWJWaWV3Ojptb3VzZVBy
ZXNzRXZlbnQoZXZlbnQpOwotfQotCiB2b2lkIFdlYlZpZXdUcmFkaXRpb25hbDo6bW91c2VQcmVz
c0V2ZW50KFFNb3VzZUV2ZW50KiBldmVudCkKIHsKICAgICBzZXRQcm9wZXJ0eSgibW91c2VCdXR0
b25zIiwgUVZhcmlhbnQ6OmZyb21WYWx1ZShpbnQoZXZlbnQtPmJ1dHRvbnMoKSkpKTsKQEAgLTI2
MSwxMiArMjYzLDE0IEBAIHZvaWQgV2ViVmlld1RyYWRpdGlvbmFsOjptb3VzZVByZXNzRXZlbnQo
UU1vdXNlRXZlbnQqIGV2ZW50KQogICAgIFFXZWJWaWV3Ojptb3VzZVByZXNzRXZlbnQoZXZlbnQp
OwogfQogCisjaWZuZGVmIFFUX05PX0dSQVBISUNTVklFVwogdm9pZCBHcmFwaGljc1dlYlZpZXc6
OmNvbnRleHRNZW51RXZlbnQoUUdyYXBoaWNzU2NlbmVDb250ZXh0TWVudUV2ZW50KiBldmVudCkK
IHsKICAgICBRTWVudSogbWVudSA9IGNyZWF0ZUNvbnRleHRNZW51KHBhZ2UoKSwgZXZlbnQtPnBv
cygpLnRvUG9pbnQoKSk7CiAgICAgbWVudS0+ZXhlYyhldmVudC0+c2NyZWVuUG9zKCkpOwogICAg
IGRlbGV0ZSBtZW51OwogfQorI2VuZGlmCiAKIHZvaWQgV2ViVmlld1RyYWRpdGlvbmFsOjpjb250
ZXh0TWVudUV2ZW50KFFDb250ZXh0TWVudUV2ZW50KiBldmVudCkKIHsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1F0VGVzdEJyb3dzZXIvd2Vidmlldy5oIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3
LmgKaW5kZXggYjUwYjc2NC4uM2ExMWI3MyAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nl
ci93ZWJ2aWV3LmgKKysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmgKQEAgLTU2LDcg
KzU2LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBtb3VzZVByZXNzRXZlbnQoUU1v
dXNlRXZlbnQqKTsKIH07CiAKLQorI2lmbmRlZiBRVF9OT19HUkFQSElDU1ZJRVcKIGNsYXNzIEdy
YXBoaWNzV2ViVmlldyA6IHB1YmxpYyBRR3JhcGhpY3NXZWJWaWV3IHsKICAgICBRX09CSkVDVAog
CkBAIC0xMjksMyArMTI5LDQgQEAgaW5saW5lIHZvaWQgV2ViVmlld0dyYXBoaWNzQmFzZWQ6OnNl
dFlSb3RhdGlvbihxcmVhbCBhbmdsZSkKIH0KIAogI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rvb2xzLnBybyBiL1Rvb2xzL1Rvb2xzLnBybwppbmRleCBjYTRiYTNkLi43ODQwOTE3
IDEwMDY0NAotLS0gYS9Ub29scy9Ub29scy5wcm8KKysrIGIvVG9vbHMvVG9vbHMucHJvCkBAIC0y
LDE0ICsyLDE4IEBAIFRFTVBMQVRFID0gc3ViZGlycwogQ09ORklHICs9IG9yZGVyZWQKIAogZXhp
c3RzKCQkUFdEL1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8pOiBTVUJESVJTICs9IFF0
VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8KLWV4aXN0cygkJFBXRC9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8pOiBTVUJESVJTICs9IER1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlLnBybwotZXhpc3RzKCQkUFdEL0R1bXBSZW5kZXJUcmVlL3F0L0ltYWdlRGlm
Zi5wcm8pOiBTVUJESVJTICs9IER1bXBSZW5kZXJUcmVlL3F0L0ltYWdlRGlmZi5wcm8KIAotd2Vi
a2l0MiB7Ci0gICAgZXhpc3RzKCQkUFdEL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnBybyk6
IFNVQkRJUlMgKz0gTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvCi0gICAgZXhpc3RzKCQk
UFdEL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci5wcm8pOiBTVUJESVJTICs9IFdl
YktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci5wcm8KLX0KKyMgT25seSBRdFRlc3RCcm93
c2VyIGlzIG1haW50YWluZWQgZm9yIHF0X21pbmltYWwgY29uZmlndXJhdGlvbgorIUNPTkZJRyhx
dF9taW5pbWFsKSB7CisgICAgZXhpc3RzKCQkUFdEL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5k
ZXJUcmVlLnBybyk6IFNVQkRJUlMgKz0gRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUu
cHJvCisgICAgZXhpc3RzKCQkUFdEL0R1bXBSZW5kZXJUcmVlL3F0L0ltYWdlRGlmZi5wcm8pOiBT
VUJESVJTICs9IER1bXBSZW5kZXJUcmVlL3F0L0ltYWdlRGlmZi5wcm8KKworICAgIHdlYmtpdDIg
eworICAgICAgICBleGlzdHMoJCRQV0QvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvKTog
U1VCRElSUyArPSBNaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5wcm8KKyAgICAgICAgZXhpc3Rz
KCQkUFdEL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci5wcm8pOiBTVUJESVJTICs9
IFdlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci5wcm8KKyAgICB9CiAKLSF3aW4zMjoh
c3ltYmlhbiB7Ci0gICAgZXhpc3RzKCQkUFdEL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3ROZXRzY2Fw
ZVBsdWdpbi9UZXN0TmV0c2NhcGVQbHVnaW4ucHJvKTogU1VCRElSUyArPSBEdW1wUmVuZGVyVHJl
ZS9xdC9UZXN0TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybworICAgICF3aW4z
Mjohc3ltYmlhbiB7CisgICAgICAgIGV4aXN0cygkJFBXRC9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0
TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybyk6IFNVQkRJUlMgKz0gRHVtcFJl
bmRlclRyZWUvcXQvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5wcm8KKyAg
ICB9CiB9Cg==
</data>
<flag name="review"
          id="72956"
          type_id="1"
          status="-"
          setter="menard"
    />
    <flag name="commit-queue"
          id="72957"
          type_id="3"
          status="-"
          setter="menard"
    />
          </attachment>
      

    </bug>

</bugzilla>