<?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>48199</bug_id>
          
          <creation_ts>2010-10-23 18:27:20 -0700</creation_ts>
          <short_desc>[GTK] Implement DumpRenderTreeSupportGtk (similarly to DumpRenderTreeSupportQt idea)</short_desc>
          <delta_ts>2010-10-27 07:39:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>48398</dependson>
    
    <dependson>48429</dependson>
          <blocked>47793</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antonio Gomes">tonikitoo</reporter>
          <assigned_to name="Antonio Gomes">tonikitoo</assigned_to>
          <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>298503</commentid>
    <comment_count>0</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-23 18:27:20 -0700</bug_when>
    <thetext>As it is today, improving Gtk&apos;s layout test coverage through DRT generally requires the addition of new API (either new methods to webkitweb{view,frame,settings} and friends, or a new signal, etc). This has to go through the API review process, and sometimes, there is not real use case other than the layout tests. To workaround this situation, developers sometimes even have to add hidden API (undocument signals and methods, etc).

QtWebKit has came up with a solution to the issue: DumpRenderTreeSupportQt. It consists on a bunch of static methods that provide direct access to WebCore features.

Talking to Martin Robinson, he also agree this is something wanted by webkitgtk. Lets try to come up with a solution here...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298505</commentid>
    <comment_count>1</comment_count>
      <attachid>71664</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-23 19:18:53 -0700</bug_when>
    <thetext>Created attachment 71664
patch v0.1 - feedback wanted

I quickly prototyped that on Friday and showed it to Martin on IRC.

Summary:

1) Patch add WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp|h. This class will basically group together a bunch of static methods to be called by LayoutTestControllerGtk. (see for example http://trac.webkit.org/browser/trunk/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp)

2) As an illustration, I added the linksIncludedInFocusChain method, which should fix bug 47793 and unskip fast/events/tab-focus-anchor.html.

To make it to link, so far I did:

diff --git a/WebKitTools/GNUmakefile.am b/WebKitTools/GNUmakefile.am
index 5257ece..faa1dd5 100644
--- a/WebKitTools/GNUmakefile.am
+++ b/WebKitTools/GNUmakefile.am
@@ -97,6 +97,7 @@ Programs_DumpRenderTree_CFLAGS = \
 
 Programs_DumpRenderTree_LDADD = \
        libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
+       WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DumpRenderTreeSupportGtk.o \

please advice a better way. I am not pleased with that (and it is been possibly making the patch not-functional ...)

Also if this can be improved, it would be great:

--- a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
@@ -32,6 +32,7 @@
 #include &quot;config.h&quot;
 #include &quot;DumpRenderTree.h&quot;
 
+#include &quot;../../../WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h&quot;



Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298509</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-23 19:21:09 -0700</bug_when>
    <thetext>Attachment 71664 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp:24:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 7 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>298510</commentid>
    <comment_count>3</comment_count>
      <attachid>71665</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-23 19:34:29 -0700</bug_when>
    <thetext>Created attachment 71665
patch v0.2 - feedback wanted

same as v0.1, but builds and also fixed the below code:
#include &quot;../../../WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h&quot; is now #include &quot;WebCoreSupport/DumpRenderTreeSupportGtk.h&quot;

However the below is still a problem:

 Programs_DumpRenderTree_LDADD = \
 	libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
+	WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DumpRenderTreeSupportGtk.o \</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298511</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-23 19:36:45 -0700</bug_when>
    <thetext>Attachment 71665 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp:24:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 7 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>298722</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-24 21:14:13 -0700</bug_when>
    <thetext>&gt;  Programs_DumpRenderTree_LDADD = \
&gt;      libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
&gt; +    WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DumpRenderTreeSupportGtk.o \

Is it not possible to simply list DumpRenderTreeSupportGtk.cpp in the same way that the other WebCoreSupport source files are listed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298723</commentid>
    <comment_count>6</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-24 21:28:38 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt;  Programs_DumpRenderTree_LDADD = \
&gt; &gt;      libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
&gt; &gt; +    WebKit/gtk/WebCoreSupport/.libs/libwebkitgtk_1_0_la-DumpRenderTreeSupportGtk.o \
&gt; 
&gt; Is it not possible to simply list DumpRenderTreeSupportGtk.cpp in the same way that the other WebCoreSupport source files are listed?

Not sure if I understood your question well. To get built, both DumpRenderTreeSupportGtk.cpp|h are build together with other webcoresupport files, as seen below:

diff --git a/GNUmakefile.am b/GNUmakefile.am
--- a/GNUmakefile.am
+++ b/GNUmakefile.am
@@ -362,6 +362,8 @@ webkitgtk_sources += \
 	WebKit/gtk/WebCoreSupport/EditorClientGtk.h \
 	WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \
 	WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \
+	WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp \
+	WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h \

However, GTK&apos;s DRT seems to just see Webkit/gtk/webkit symbols, so I had to manually add the .o , so the DRT links.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298724</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-24 21:37:16 -0700</bug_when>
    <thetext>I believe this is controlled by the ldd version script at autotools/symbols.filter. Currently it appears to be filtering all mangled symbols except for _ZN3WTF10fastMallocEj, _ZN3WTF11fastReallocEPvj, _ZN3WTF8fastFreeEPv, and _ZN3WTF10fastCallocEjj. Perhaps adding the DRTSupport symbols to this list via a wildcard will prevent needing to list it in the LDADD. line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298734</commentid>
    <comment_count>8</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-24 23:02:05 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I believe this is controlled by the ldd version script at autotools/symbols.filter. Currently it appears to be filtering all mangled symbols except for _ZN3WTF10fastMallocEj, _ZN3WTF11fastReallocEPvj, _ZN3WTF8fastFreeEPv, and _ZN3WTF10fastCallocEjj. Perhaps adding the DRTSupport symbols to this list via a wildcard will prevent needing to list it in the LDADD. line

It works! Thanks Martin. Patch coming soon ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299152</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-25 16:00:04 -0700</bug_when>
    <thetext>Attachment 71665 did not build on gtk:
Build output: http://queues.webkit.org/results/4786002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299964</commentid>
    <comment_count>10</comment_count>
      <attachid>71977</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-26 21:24:42 -0700</bug_when>
    <thetext>Created attachment 71977
(committed with r70609, r=mrobinson) patch v1 - initial version of DumpRenderTreeSupportGtk.

Patch incorporates Martin&apos;s suggestion for the first two patches.

Summary:
- Implements an initial version of DumpRenderTreeSupportGtk class, that will be used as a bridge for DRT to access WebCore features. It only comprises support for the WebKitTabToLinksPreferenceKey property so far, as an exemplification, but follow up patches will populate it properly.
- Unskip the associated test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299966</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-26 21:28:09 -0700</bug_when>
    <thetext>Attachment 71977 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp:24:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 11 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>299978</commentid>
    <comment_count>12</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-26 21:42:19 -0700</bug_when>
    <thetext>
&gt; Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
&gt; WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp:24:  Alphabetical sorting problem.  [build/include_order] [4]
&gt; Total errors found: 1 in 11 files

Fixed locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299987</commentid>
    <comment_count>13</comment_count>
      <attachid>71977</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-26 22:05:46 -0700</bug_when>
    <thetext>Comment on attachment 71977
(committed with r70609, r=mrobinson) patch v1 - initial version of DumpRenderTreeSupportGtk.

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

Great patch! Thanks for doing this. Please consider fixing my nits before landing.

&gt; WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp:39
&gt; +void DumpRenderTreeSupportGtk::setDumpRenderTreeModeEnabled(bool b)

I think instead of &apos;b&apos; here this should be &apos;enabled&apos; or something similar.

&gt; WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp:48
&gt; +void DumpRenderTreeSupportGtk::setLinksIncludedInFocusChain(bool b)

Same here.

&gt; WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h:5
&gt; +    Copyright (C) 2010 Antonio Gomes &lt;tonikitoo@webkit.org&gt;
&gt; +
&gt; +    This library is free software; you can redistribute it and/or
&gt; +    modify it under the terms of the GNU Library General Public

This is super-nitful, but do you mind adding the asterisks along the left side of your license blocks so they match the rest of the blocks in the directory?

&gt; WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h:33
&gt; +    static void setDumpRenderTreeModeEnabled(bool b);
&gt; +    static bool dumpRenderTreeModeEnabled();
&gt; +
&gt; +    static void setLinksIncludedInFocusChain(bool b);
&gt; +    static bool linksIncludedInFocusChain();

No need for the parameter names on these declarations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299998</commentid>
    <comment_count>14</comment_count>
      <attachid>71977</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-26 22:23:29 -0700</bug_when>
    <thetext>Comment on attachment 71977
(committed with r70609, r=mrobinson) patch v1 - initial version of DumpRenderTreeSupportGtk.

Clearing review flags on attachment: 71997

Committed with r70609: &lt;http://trac.webkit.org/changeset/70609&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300212</commentid>
    <comment_count>15</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-27 07:39:36 -0700</bug_when>
    <thetext>Filed bug 48429 about populating DumpRenderTreeSupportGtk.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71664</attachid>
            <date>2010-10-23 19:18:53 -0700</date>
            <delta_ts>2010-10-23 19:34:29 -0700</delta_ts>
            <desc>patch v0.1 - feedback wanted</desc>
            <filename>0001-2010-10-23-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>9917</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSAwYTZkNDExNmUzYTJmMjA1MzhmMzc2ODBiMjY5MzY2M2FhNDllOGZlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
U2F0LCAyMyBPY3QgMjAxMCAyMjowNTo0NSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTAtMTAt
MjMgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCgogICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVn
IFVSTCAoT09QUyEpCgo6CiAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKCldlYktpdC9ndGs6CiAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgogICAgICAgIChXZWJL
aXQ6OkNocm9tZUNsaWVudDo6dGFic1RvTGlua3MpOgogICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcDogQWRkZWQuCiAgICAgICAgKER1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0azo6RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKToKICAgICAgICAoRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrOjp+RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKToKICAgICAgICAo
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXREdW1wUmVuZGVyVHJlZU1vZGVFbmFibGVkKToK
ICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpkdW1wUmVuZGVyVHJlZU1vZGVFbmFi
bGVkKToKICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRMaW5rc0luY2x1ZGVk
SW5Gb2N1c0NoYWluKToKICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpsaW5rc0lu
Y2x1ZGVkSW5Gb2N1c0NoYWluKToKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5oOiBBZGRlZC4KCldlYktpdFRvb2xzOgogICAgICAgICogRHVtcFJlbmRl
clRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcDoKICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29u
c2lzdGVudFZhbHVlcyk6CiAgICAgICAgKGNyZWF0ZVdlYlZpZXcpOgogICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZSk6CiAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbToKLS0tCiBHTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDIgKwogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsu
Y3BwICAgICAgfCAgICA0ICsrCiAuLi4vV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrLmNwcCAgICB8ICAgNTcgKysrKysrKysrKysrKysrKysrKysKIC4uLi9ndGsvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmggIHwgICA0MCArKysrKysrKysrKysr
KwogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcCAgfCAg
ICA1ICsrCiAuLi4vRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNw
cCB8ICAgMTAgKysrLQogV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAxICsKIDcgZmlsZXMgY2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKyksIDMg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaAoKZGlmZiAtLWdp
dCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5kZXggNmRlNjRhMC4uNDA1Njlj
ZCAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUuYW0KQEAgLTM2
Miw2ICszNjIsOCBAQCB3ZWJraXRndGtfc291cmNlcyArPSBcCiAJV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCBcCiAJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEd0ay5jcHAgXAogCVdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRHdGsuaCBcCisJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuY3BwIFwKKwlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydEd0ay5oIFwKIAlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TmV0d29ya2luZ0NvbnRleHRHdGsuaCBcCiAJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBcCiAJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggXApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IDdlNDA5MGIuLjYxZTM2MzggMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTI1LDYgKzI1LDcg
QEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnRHdGsuaCIKIAogI2luY2x1ZGUgIkNvbnNvbGUuaCIK
KyNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCIKICNpbmNsdWRlICJGaWxlU3lz
dGVtLmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
QEAgLTMzMCw2ICszMzEsOSBAQCBib29sIENocm9tZUNsaWVudDo6c2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdCgpCiAKIGJvb2wgQ2hyb21lQ2xpZW50Ojp0YWJzVG9MaW5rcygpIGNvbnN0CiB7Cisg
ICAgaWYgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcFJlbmRlclRyZWVNb2RlRW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpsaW5rc0luY2x1
ZGVkSW5Gb2N1c0NoYWluKCk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMDVmOGUKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5j
cHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgQW50b25pbyBH
b21lcyA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkR1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oIgorCisjaW5jbHVkZSAid2Via2l0d2Vi
dmlldy5oIgorI2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK2Jvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzX2RydFJ1biA9IGZhbHNl
Citib29sIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c19saW5rc0luY2x1ZGVkSW5UYWJDaGFp
biA9IHRydWU7CisKK0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6RHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrKCkKK3sKK30KKworRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjp+RHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrKCkKK3sKK30KKwordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNl
dER1bXBSZW5kZXJUcmVlTW9kZUVuYWJsZWQoYm9vbCBiKQoreworICAgIHNfZHJ0UnVuID0gYjsK
K30KKworYm9vbCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmR1bXBSZW5kZXJUcmVlTW9kZUVu
YWJsZWQoKQoreworICAgIHJldHVybiBzX2RydFJ1bjsKK30KK3ZvaWQgRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrOjpzZXRMaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWluKGJvb2wgYikKK3sKKyAgICBz
X2xpbmtzSW5jbHVkZWRJblRhYkNoYWluID0gYjsKK30KKworYm9vbCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRHdGs6OmxpbmtzSW5jbHVkZWRJbkZvY3VzQ2hhaW4oKQoreworICAgIHJldHVybiBzX2xp
bmtzSW5jbHVkZWRJblRhYkNoYWluOworfQorCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi42NjczODYzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaApAQCAtMCwwICsxLDQwIEBACisv
KgorICAgIENvcHlyaWdodCAoQykgMjAxMCBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0
Lm9yZz4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisqLworCisjaWZuZGVmIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0a19oCisjZGVmaW5lIER1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0a19oCisKK2NsYXNzIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0
ayB7CisKK3B1YmxpYzoKKyAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsoKTsKKyAgICB+RHVt
cFJlbmRlclRyZWVTdXBwb3J0R3RrKCk7CisKKyAgICBzdGF0aWMgdm9pZCBzZXREdW1wUmVuZGVy
VHJlZU1vZGVFbmFibGVkKGJvb2wgYik7CisgICAgc3RhdGljIGJvb2wgZHVtcFJlbmRlclRyZWVN
b2RlRW5hYmxlZCgpOworCisgICAgc3RhdGljIHZvaWQgc2V0TGlua3NJbmNsdWRlZEluRm9jdXND
aGFpbihib29sIGIpOworICAgIHN0YXRpYyBib29sIGxpbmtzSW5jbHVkZWRJbkZvY3VzQ2hhaW4o
KTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgYm9vbCBzX2RydFJ1bjsKKyAgICBzdGF0aWMgYm9v
bCBzX2xpbmtzSW5jbHVkZWRJblRhYkNoYWluOworfTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBlMTE1Njgz
Li40MDI4MjFiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVt
cFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgogCisjaW5jbHVkZSAiLi4vLi4vLi4vV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCIKICNpbmNsdWRlICJB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkV2ZW50U2VuZGVyLmgiCiAjaW5j
bHVkZSAiR0NDb250cm9sbGVyLmgiCkBAIC00MzMsNiArNDM0LDggQEAgc3RhdGljIHZvaWQgcmVz
ZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpCiAjZW5kaWYKIAogICAgIHNldGxvY2FsZShM
Q19BTEwsICIiKTsKKworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0TGlua3NJbmNs
dWRlZEluRm9jdXNDaGFpbih0cnVlKTsKIH0KIAogc3RhdGljIGJvb2wgdXNlTG9uZ1J1bm5pbmdT
ZXJ2ZXJNb2RlKGludCBhcmdjLCBjaGFyICphcmd2W10pCkBAIC05ODQsNiArOTg3LDggQEAgc3Rh
dGljIFdlYktpdFdlYlZpZXcqIGNyZWF0ZVdlYlZpZXcoKQogewogICAgIFdlYktpdFdlYlZpZXcq
IHZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKIAorICAgIER1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0RHVtcFJlbmRlclRyZWVNb2RlRW5hYmxlZCh0cnVl
KTsKKwogICAgIC8vIEZyb20gYnVnIDExNzU2OiBVc2UgYSBmcmFtZSBncm91cCBuYW1lIGZvciBh
bGwgV2ViVmlld3MgY3JlYXRlZCBieQogICAgIC8vIER1bXBSZW5kZXJUcmVlIHRvIGFsbG93IHRl
c3Rpbmcgb2YgY3Jvc3MtcGFnZSBmcmFtZSBsb29rdXAuCiAgICAgd2Via2l0X3dlYl92aWV3X3Nl
dF9ncm91cF9uYW1lKHZpZXcsICJvcmcud2Via2l0Lmd0ay5EdW1wUmVuZGVyVHJlZSIpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9s
bGVyR3RrLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29u
dHJvbGxlckd0ay5jcHAKaW5kZXggMTgxZWY5Zi4uZDI5NTEyYSAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsu
Y3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGF5
b3V0VGVzdENvbnRyb2xsZXIuaCIKIAorI2luY2x1ZGUgIi4uLy4uLy4uL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgiCiAjaW5jbHVkZSAiRHVtcFJl
bmRlclRyZWUuaCIKICNpbmNsdWRlICJXb3JrUXVldWUuaCIKICNpbmNsdWRlICJXb3JrUXVldWVJ
dGVtLmgiCkBAIC02ODMsMTAgKzY4NCwxMyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpv
dmVycmlkZVByZWZlcmVuY2UoSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZQogICAg
IGVsc2UgaWYgKGdfc3RyX2VxdWFsKG9yaWdpbmFsTmFtZS5nZXQoKSwgIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IikpCiAgICAgICAgIHByb3BlcnR5TmFtZSA9ICJlbmFibGUtcGFn
ZS1jYWNoZSI7CiAgICAgZWxzZSBpZiAoZ19zdHJfZXF1YWwob3JpZ2luYWxOYW1lLmdldCgpLCAi
V2ViS2l0UGx1Z2luc0VuYWJsZWQiKSkKLSAgICAgICAgIHByb3BlcnR5TmFtZSA9ICJlbmFibGUt
cGx1Z2lucyI7CisgICAgICAgIHByb3BlcnR5TmFtZSA9ICJlbmFibGUtcGx1Z2lucyI7CiAgICAg
ZWxzZSBpZiAoZ19zdHJfZXF1YWwob3JpZ2luYWxOYW1lLmdldCgpLCAiV2ViS2l0SHlwZXJsaW5r
QXVkaXRpbmdFbmFibGVkIikpCi0gICAgICAgICBwcm9wZXJ0eU5hbWUgPSAiZW5hYmxlLWh5cGVy
bGluay1hdWRpdGluZyI7Ci0gICAgZWxzZSB7CisgICAgICAgIHByb3BlcnR5TmFtZSA9ICJlbmFi
bGUtaHlwZXJsaW5rLWF1ZGl0aW5nIjsKKyAgICBlbHNlIGlmIChnX3N0cl9lcXVhbChvcmlnaW5h
bE5hbWUuZ2V0KCksICJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSIpKSB7CisgICAgICAg
IER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0TGlua3NJbmNsdWRlZEluRm9jdXNDaGFpbigh
Z19hc2NpaV9zdHJjYXNlY21wKHZhbHVlQXNTdHJpbmcuZ2V0KCksICJ0cnVlIikgfHwgIWdfYXNj
aWlfc3RyY2FzZWNtcCh2YWx1ZUFzU3RyaW5nLmdldCgpLCAiMSIpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0gZWxzZSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTGF5b3V0VGVzdENvbnRy
b2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZSB0cmllZCB0byBvdmVycmlkZSAiCiAgICAgICAgICAg
ICAgICAgInVua25vd24gcHJlZmVyZW5jZSAnJXMnLlxuIiwgb3JpZ2luYWxOYW1lLmdldCgpKTsK
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUuYW0g
Yi9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQppbmRleCA1MjU3ZWNlLi5mYWExZGQ1IDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJLaXRUb29scy9HTlVt
YWtlZmlsZS5hbQpAQCAtOTcsNiArOTcsNyBAQCBQcm9ncmFtc19EdW1wUmVuZGVyVHJlZV9DRkxB
R1MgPSBcCiAKIFByb2dyYW1zX0R1bXBSZW5kZXJUcmVlX0xEQUREID0gXAogCWxpYndlYmtpdGd0
ay1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJT
SU9OQC5sYSBcCisJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC8ubGlicy9saWJ3ZWJraXRndGtf
MV8wX2xhLUR1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5vIFwKIAlsaWJKYXZhU2NyaXB0Q29yZS5s
YSBcCiAJJChHTE9CQUxERVBTX0xJQlMpIFwKIAkkKENBSVJPX0xJQlMpIFwKLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71665</attachid>
            <date>2010-10-23 19:34:29 -0700</date>
            <delta_ts>2010-10-26 21:24:42 -0700</delta_ts>
            <desc>patch v0.2 - feedback wanted</desc>
            <filename>0001-2010-10-23-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>9935</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBlNjQwMmY4MTc4MzkzMmY3Yzc5NTZjZDc1M2UyMDNjMWM5MTYwM2IxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
U2F0LCAyMyBPY3QgMjAxMCAyMjowNTo0NSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTAtMTAt
MjMgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCgogICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVn
IFVSTCAoT09QUyEpCgo6CiAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKCldlYktpdC9ndGs6CiAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgogICAgICAgIChXZWJL
aXQ6OkNocm9tZUNsaWVudDo6dGFic1RvTGlua3MpOgogICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcDogQWRkZWQuCiAgICAgICAgKER1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0azo6RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKToKICAgICAgICAoRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrOjp+RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKToKICAgICAgICAo
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXREdW1wUmVuZGVyVHJlZU1vZGVFbmFibGVkKToK
ICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpkdW1wUmVuZGVyVHJlZU1vZGVFbmFi
bGVkKToKICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRMaW5rc0luY2x1ZGVk
SW5Gb2N1c0NoYWluKToKICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpsaW5rc0lu
Y2x1ZGVkSW5Gb2N1c0NoYWluKToKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0ay5oOiBBZGRlZC4KCldlYktpdFRvb2xzOgogICAgICAgICogRHVtcFJlbmRl
clRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcDoKICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29u
c2lzdGVudFZhbHVlcyk6CiAgICAgICAgKGNyZWF0ZVdlYlZpZXcpOgogICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZSk6CiAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbToKLS0tCiBHTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDIgKwogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsu
Y3BwICAgICAgfCAgICA0ICsrCiAuLi4vV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrLmNwcCAgICB8ICAgNTcgKysrKysrKysrKysrKysrKysrKysKIC4uLi9ndGsvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmggIHwgICA0MCArKysrKysrKysrKysr
KwogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcCAgfCAg
ICA1ICsrCiAuLi4vRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNw
cCB8ICAgMTAgKysrLQogV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAxICsKIDcgZmlsZXMgY2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKyksIDMg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaAoKZGlmZiAtLWdp
dCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5kZXggNmRlNjRhMC4uNDA1Njlj
ZCAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUuYW0KQEAgLTM2
Miw2ICszNjIsOCBAQCB3ZWJraXRndGtfc291cmNlcyArPSBcCiAJV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCBcCiAJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEd0ay5jcHAgXAogCVdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRHdGsuaCBcCisJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuY3BwIFwKKwlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydEd0ay5oIFwKIAlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TmV0d29ya2luZ0NvbnRleHRHdGsuaCBcCiAJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBcCiAJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggXApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IDdlNDA5MGIuLjYxZTM2MzggMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTI1LDYgKzI1LDcg
QEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnRHdGsuaCIKIAogI2luY2x1ZGUgIkNvbnNvbGUuaCIK
KyNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCIKICNpbmNsdWRlICJGaWxlU3lz
dGVtLmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
QEAgLTMzMCw2ICszMzEsOSBAQCBib29sIENocm9tZUNsaWVudDo6c2hvdWxkSW50ZXJydXB0SmF2
YVNjcmlwdCgpCiAKIGJvb2wgQ2hyb21lQ2xpZW50Ojp0YWJzVG9MaW5rcygpIGNvbnN0CiB7Cisg
ICAgaWYgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcFJlbmRlclRyZWVNb2RlRW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpsaW5rc0luY2x1
ZGVkSW5Gb2N1c0NoYWluKCk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMmI4NjIKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5j
cHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgQW50b25pbyBH
b21lcyA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkR1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oIgorCisjaW5jbHVkZSAid2Via2l0d2Vi
dmlldy5oIgorI2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK2Jvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzX2RydFJ1biA9IGZhbHNl
OworYm9vbCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNfbGlua3NJbmNsdWRlZEluVGFiQ2hh
aW4gPSB0cnVlOworCitEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OkR1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0aygpCit7Cit9CisKK0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6fkR1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0aygpCit7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpz
ZXREdW1wUmVuZGVyVHJlZU1vZGVFbmFibGVkKGJvb2wgYikKK3sKKyAgICBzX2RydFJ1biA9IGI7
Cit9CisKK2Jvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpkdW1wUmVuZGVyVHJlZU1vZGVF
bmFibGVkKCkKK3sKKyAgICByZXR1cm4gc19kcnRSdW47Cit9Cit2b2lkIER1bXBSZW5kZXJUcmVl
U3VwcG9ydEd0azo6c2V0TGlua3NJbmNsdWRlZEluRm9jdXNDaGFpbihib29sIGIpCit7CisgICAg
c19saW5rc0luY2x1ZGVkSW5UYWJDaGFpbiA9IGI7Cit9CisKK2Jvb2wgRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrOjpsaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWluKCkKK3sKKyAgICByZXR1cm4gc19s
aW5rc0luY2x1ZGVkSW5UYWJDaGFpbjsKK30KKwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCBiL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNjY3Mzg2MwotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKQEAgLTAsMCArMSw0MCBAQAor
LyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgQW50b25pbyBHb21lcyA8dG9uaWtpdG9vQHdlYmtp
dC5vcmc+CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAg
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgorKi8KKworI2lmbmRlZiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGtfaAorI2RlZmluZSBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGtfaAorCitjbGFzcyBEdW1wUmVuZGVyVHJlZVN1cHBvcnRH
dGsgeworCitwdWJsaWM6CisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKCk7CisgICAgfkR1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0aygpOworCisgICAgc3RhdGljIHZvaWQgc2V0RHVtcFJlbmRl
clRyZWVNb2RlRW5hYmxlZChib29sIGIpOworICAgIHN0YXRpYyBib29sIGR1bXBSZW5kZXJUcmVl
TW9kZUVuYWJsZWQoKTsKKworICAgIHN0YXRpYyB2b2lkIHNldExpbmtzSW5jbHVkZWRJbkZvY3Vz
Q2hhaW4oYm9vbCBiKTsKKyAgICBzdGF0aWMgYm9vbCBsaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWlu
KCk7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIGJvb2wgc19kcnRSdW47CisgICAgc3RhdGljIGJv
b2wgc19saW5rc0luY2x1ZGVkSW5UYWJDaGFpbjsKK307CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggZTExNTY4
My4uZWJlNmRlOCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1
bXBSZW5kZXJUcmVlLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVt
cFJlbmRlclRyZWUuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiR093blB0ci5oIgog
I2luY2x1ZGUgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGl4ZWxEdW1wU3Vw
cG9ydC5oIgorI2luY2x1ZGUgIldlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0
ay5oIgogI2luY2x1ZGUgIldvcmtRdWV1ZS5oIgogI2luY2x1ZGUgIldvcmtRdWV1ZUl0ZW0uaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CkBAIC00MzMsNiArNDM0LDgg
QEAgc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpCiAjZW5kaWYK
IAogICAgIHNldGxvY2FsZShMQ19BTEwsICIiKTsKKworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0azo6c2V0TGlua3NJbmNsdWRlZEluRm9jdXNDaGFpbih0cnVlKTsKIH0KIAogc3RhdGljIGJv
b2wgdXNlTG9uZ1J1bm5pbmdTZXJ2ZXJNb2RlKGludCBhcmdjLCBjaGFyICphcmd2W10pCkBAIC05
ODQsNiArOTg3LDggQEAgc3RhdGljIFdlYktpdFdlYlZpZXcqIGNyZWF0ZVdlYlZpZXcoKQogewog
ICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3
X25ldygpKTsKIAorICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0RHVtcFJlbmRlclRy
ZWVNb2RlRW5hYmxlZCh0cnVlKTsKKwogICAgIC8vIEZyb20gYnVnIDExNzU2OiBVc2UgYSBmcmFt
ZSBncm91cCBuYW1lIGZvciBhbGwgV2ViVmlld3MgY3JlYXRlZCBieQogICAgIC8vIER1bXBSZW5k
ZXJUcmVlIHRvIGFsbG93IHRlc3Rpbmcgb2YgY3Jvc3MtcGFnZSBmcmFtZSBsb29rdXAuCiAgICAg
d2Via2l0X3dlYl92aWV3X3NldF9ncm91cF9uYW1lKHZpZXcsICJvcmcud2Via2l0Lmd0ay5EdW1w
UmVuZGVyVHJlZSIpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggMTgxZWY5Zi4uZDI5NTEyYSAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250
cm9sbGVyR3RrLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0
VGVzdENvbnRyb2xsZXJHdGsuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKIAorI2luY2x1ZGUgIi4uLy4u
Ly4uL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgi
CiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWUuaCIKICNpbmNsdWRlICJXb3JrUXVldWUuaCIKICNp
bmNsdWRlICJXb3JrUXVldWVJdGVtLmgiCkBAIC02ODMsMTAgKzY4NCwxMyBAQCB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UoSlNTdHJpbmdSZWYga2V5LCBKU1N0
cmluZ1JlZiB2YWx1ZQogICAgIGVsc2UgaWYgKGdfc3RyX2VxdWFsKG9yaWdpbmFsTmFtZS5nZXQo
KSwgIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IikpCiAgICAgICAgIHByb3BlcnR5
TmFtZSA9ICJlbmFibGUtcGFnZS1jYWNoZSI7CiAgICAgZWxzZSBpZiAoZ19zdHJfZXF1YWwob3Jp
Z2luYWxOYW1lLmdldCgpLCAiV2ViS2l0UGx1Z2luc0VuYWJsZWQiKSkKLSAgICAgICAgIHByb3Bl
cnR5TmFtZSA9ICJlbmFibGUtcGx1Z2lucyI7CisgICAgICAgIHByb3BlcnR5TmFtZSA9ICJlbmFi
bGUtcGx1Z2lucyI7CiAgICAgZWxzZSBpZiAoZ19zdHJfZXF1YWwob3JpZ2luYWxOYW1lLmdldCgp
LCAiV2ViS2l0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkIikpCi0gICAgICAgICBwcm9wZXJ0eU5h
bWUgPSAiZW5hYmxlLWh5cGVybGluay1hdWRpdGluZyI7Ci0gICAgZWxzZSB7CisgICAgICAgIHBy
b3BlcnR5TmFtZSA9ICJlbmFibGUtaHlwZXJsaW5rLWF1ZGl0aW5nIjsKKyAgICBlbHNlIGlmIChn
X3N0cl9lcXVhbChvcmlnaW5hbE5hbWUuZ2V0KCksICJXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5j
ZUtleSIpKSB7CisgICAgICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0TGlua3NJbmNs
dWRlZEluRm9jdXNDaGFpbighZ19hc2NpaV9zdHJjYXNlY21wKHZhbHVlQXNTdHJpbmcuZ2V0KCks
ICJ0cnVlIikgfHwgIWdfYXNjaWlfc3RyY2FzZWNtcCh2YWx1ZUFzU3RyaW5nLmdldCgpLCAiMSIp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0gZWxzZSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJy
LCAiTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZSB0cmllZCB0byBvdmVy
cmlkZSAiCiAgICAgICAgICAgICAgICAgInVua25vd24gcHJlZmVyZW5jZSAnJXMnLlxuIiwgb3Jp
Z2luYWxOYW1lLmdldCgpKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvR05VbWFrZWZpbGUuYW0gYi9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQppbmRleCA1MjU3
ZWNlLi5mYWExZGQ1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQorKysg
Yi9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQpAQCAtOTcsNiArOTcsNyBAQCBQcm9ncmFtc19E
dW1wUmVuZGVyVHJlZV9DRkxBR1MgPSBcCiAKIFByb2dyYW1zX0R1bXBSZW5kZXJUcmVlX0xEQURE
ID0gXAogCWxpYndlYmtpdGd0ay1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lU
R1RLX0FQSV9NSU5PUl9WRVJTSU9OQC5sYSBcCisJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC8u
bGlicy9saWJ3ZWJraXRndGtfMV8wX2xhLUR1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5vIFwKIAls
aWJKYXZhU2NyaXB0Q29yZS5sYSBcCiAJJChHTE9CQUxERVBTX0xJQlMpIFwKIAkkKENBSVJPX0xJ
QlMpIFwKLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71977</attachid>
            <date>2010-10-26 21:24:42 -0700</date>
            <delta_ts>2010-10-26 22:23:29 -0700</delta_ts>
            <desc>(committed with r70609, r=mrobinson) patch v1 - initial version of DumpRenderTreeSupportGtk.</desc>
            <filename>0001-GTK-Implement-DumpRenderTreeSupportGtk-similarly-to-.patch</filename>
            <type>text/plain</type>
            <size>15875</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSAzMjNhYmRhNzM2ZjA5NzE1OTE1MTYxMzIzZjgwMmViNjMyMTkzOWQ5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
V2VkLCAyNyBPY3QgMjAxMCAwMDoxOToyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFtHVEtdIElt
cGxlbWVudCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsgKHNpbWlsYXJseSB0byBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdCBpZGVhKQogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ4MTk5CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KUGF0Y2ggYnkgQW50b25pbyBH
b21lcyA8YWdvbWVzQHJpbS5jb20+CgouOgoKKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQgV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwfGggdG8gR1RL
KydzIGJ1aWxkIHN5c3RlbTsKKiBhdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6IEFkZGVkIER1bXBS
ZW5kZXJUcmVlU3VwcG9ydEd0ayBzeW1ib2xzIHRvIHN5bWJvbHMuZmlsdGVyIHNvIHRoZXkgZG8g
bm90IGdldAogIGZpbHRlcmVkIGFuZCBnZXQgdmlzaWJsZSBieSBEUlQuCgpXZWJLaXQvZ3RrOgoK
SW1wbGVtZW50ZWQgYW4gaW5pdGlhbCB2ZXJzaW9uIG9mIHRoZSBEdW1wUmVuZGVyVHJlZVN1cHBv
cnRHdGsgY2xhc3MuClRoZSBtYWluIGlkZWEgaXMgdGhhdCBpdCBncm91cHMgdG9nZXRoZXIgdGhl
IGJvZGllcyBvZiBtYW55IExheW91dFRlc3RDb250cm9sbGVyCm1ldGhvZHMsIHNvIHRoZXkgY2Fu
IGRpcmVjdGx5IGFjY2VzcyBXZWJDb3JlIGZlYXR1cmVzLiBUaGlzIHdheSB3ZSBlbGltaW5hdGUg
dGhlCm5lZWQgb2YgYWRkaW5nIEFQSXMgdG8gV2ViS2l0R1RLIGp1c3QgdG8gZXhwYW5kIGl0cyB0
ZXN0IGNvdmVyYWdlIHRocm91Z2ggRFJULgoKVGhlIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ayBj
bGFzcyBzbyBmYXIgaW5jbHVkZXMgYSBnZXR0ZXIgYW5kIHNldHRlciBmb3IgdGhlIFdlYktpdFRh
YlRvTGlua3NQcmVmZXJlbmNlS2V5CnByb3BlcnR5IGFzIGEgc2FtcGxlIGltcGxlbWVudGF0aW9u
LiBBbHNvIGl0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVuc2tpcCBmYXN0L2V2ZW50cy90YWItZm9j
dXMtYW5jaG9yLmh0bWwgYW5kCnRvIGZpeCBzdGRlcnIgbWVzc2FnZXMgZnJvbSBhbGwgMjIgc3Bh
dGlhbC1uYXZpZ2F0aW9uIHRlc3RzIGluIGZhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi4K
CiogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKFdlYktpdDo6Q2hyb21lQ2xp
ZW50Ojp0YWJzVG9MaW5rcyk6CiogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
R3RrLmNwcDogQWRkZWQuCihEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OkR1bXBSZW5kZXJUcmVl
U3VwcG9ydEd0ayk6CihEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6On5EdW1wUmVuZGVyVHJlZVN1
cHBvcnRHdGspOgooRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXREdW1wUmVuZGVyVHJlZU1v
ZGVFbmFibGVkKToKKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcFJlbmRlclRyZWVNb2Rl
RW5hYmxlZCk6IEdldHRlciB0byB0aGUgV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkgcHJv
cGVydHkuCihEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldExpbmtzSW5jbHVkZWRJbkZvY3Vz
Q2hhaW4pOiBTZXR0ZXIgdG8gdGhlIFdlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IHByb3Bl
cnR5LgooRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpsaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWlu
KToKKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaDogQWRkZWQuCgpX
ZWJLaXRUb29sczoKCkltcGxlbWVudHMgc3VwcG9ydCB0byBXZWJLaXRUYWJUb0xpbmtzUHJlZmVy
ZW5jZUtleSB0aHJvdWdoIExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2Uu
ClRoZSBjb3JyZXNwb25kaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ayBtZXRob2QgaXMgY2Fs
bGVkIGluIHRoZSBEUlQgY29udGV4dCBvbmx5LgoKKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJl
bmRlclRyZWUuY3BwOgoocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CihjcmVhdGVX
ZWJWaWV3KToKKiBEdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3Bw
OgooTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZSk6CgpMYXlvdXRUZXN0
czoKCiogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6IFVuc2tpcGVkIGZhc3QvZXZlbnRzL3RhYi1mb2N1
cy1hbmNob3IuaHRtbC4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMTEgKysrKwogR05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOSArKysKIExheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkICAgICAgICAgICAgICAgICAgIHwgICAgMSAtCiBXZWJLaXQvZ3RrL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjcgKysrKysrKysrCiBXZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgICAgICB8ICAgIDQgKysK
IC4uLi9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwICAgIHwgICA1
NyArKysrKysrKysrKysrKysrKysrKwogLi4uL2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGsuaCAgfCAgIDQwICsrKysrKysrKysrKysrCiBXZWJLaXRUb29scy9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTYgKysrKysrCiBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwICB8ICAgIDUgKysKIC4u
Li9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIHwgICAxMCAr
KystCiBhdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgIDIgKy0KIDEyIGZpbGVzIGNoYW5nZWQsIDE3OSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u
cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrLmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKCmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggM2ViMmYzMi4uMzU1YThkZCAxMDA2NDQKLS0tIGEvQ2hh
bmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTEwLTI2ICBBbnRv
bmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0dUS10gSW1wbGVtZW50IER1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0ayAoc2ltaWxhcmx5IHRvIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0IGlkZWEpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE5OQorCisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06IEFkZGVkIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrLmNwcHxoIHRvIEdUSysncyBidWlsZCBzeXN0ZW07CisgICAgICAg
ICogYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOiBBZGRlZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRH
dGsgc3ltYm9scyB0byBzeW1ib2xzLmZpbHRlciBzbyB0aGV5IGRvIG5vdCBnZXQKKyAgICAgICAg
ICBmaWx0ZXJlZCBhbmQgZ2V0IHZpc2libGUgYnkgRFJULgorCiAyMDEwLTEwLTI0ICBBbmRlcnMg
QmFra2VuICA8YWdiYWtrZW5AZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVtYWtlZmlsZS5hbQpp
bmRleCA2ZGU2NGEwLi40MDU2OWNkIDEwMDY0NAotLS0gYS9HTlVtYWtlZmlsZS5hbQorKysgYi9H
TlVtYWtlZmlsZS5hbQpAQCAtMzYyLDYgKzM2Miw4IEBAIHdlYmtpdGd0a19zb3VyY2VzICs9IFwK
IAlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oIFwKIAlXZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBcCiAJV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oIFwKKwlXZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAgXAorCVdlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmggXAogCVdlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0ay5oIFwKIAlXZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwIFwKIAlXZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBcCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
N2U4MzliYi4uMjdjNjFhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEwLTEwLTI2ICBBbnRv
bmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0dUS10gSW1wbGVtZW50IER1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0ayAoc2ltaWxhcmx5IHRvIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0IGlkZWEpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE5OQorCisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6IFVuc2tpcGVkIGZhc3QvZXZlbnRzL3RhYi1mb2N1cy1h
bmNob3IuaHRtbC4KKwogMjAxMC0xMC0yNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKaW5kZXggZTY4NDBkMi4uMGZmMThiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
QEAgLTQ2NTQsNyArNDY1NCw2IEBAIHdlYmFyY2hpdmUvdGVzdC14bWwtc3R5bGVzaGVldC54bWwK
ICMgVGVzdHMgdGhhdCBmYWlsZWQgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFuIGV2ZW50U2VuZGVy
IGltcGxlbWVudGF0aW9uCiBlZGl0aW5nL2lucHV0L3Njcm9sbC12aWV3cG9ydC1wYWdlLXVwLWRv
d24uaHRtbAogZmFzdC9ldmVudHMvcG9wdXAtd2hlbi1zZWxlY3QtY2hhbmdlLmh0bWwKLWZhc3Qv
ZXZlbnRzL3RhYi1mb2N1cy1hbmNob3IuaHRtbAogaHR0cC90ZXN0cy9taXNjL3Nsb3ctbG9hZGlu
Zy1tYXNrLmh0bWwKIGh0dHAvdGVzdHMvcGx1Z2lucy9wbHVnaW4tZG9jdW1lbnQtaGFzLWZvY3Vz
Lmh0bWwKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0No
YW5nZUxvZwppbmRleCA3MDQ5MDRiLi45MzRjNjA3IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0No
YW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEw
LTEwLTI2ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gSW1wbGVtZW50IER1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ayAoc2ltaWxhcmx5IHRvIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0IGlk
ZWEpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE5
OQorCisgICAgICAgIEltcGxlbWVudGVkIGFuIGluaXRpYWwgdmVyc2lvbiBvZiB0aGUgRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrIGNsYXNzLgorICAgICAgICBUaGUgbWFpbiBpZGVhIGlzIHRoYXQg
aXQgZ3JvdXBzIHRvZ2V0aGVyIHRoZSBib2RpZXMgb2YgbWFueSBMYXlvdXRUZXN0Q29udHJvbGxl
cgorICAgICAgICBtZXRob2RzLCBzbyB0aGV5IGNhbiBkaXJlY3RseSBhY2Nlc3MgV2ViQ29yZSBm
ZWF0dXJlcy4gVGhpcyB3YXkgd2UgZWxpbWluYXRlIHRoZQorICAgICAgICBuZWVkIG9mIGFkZGlu
ZyBBUElzIHRvIFdlYktpdEdUSyBqdXN0IHRvIGV4cGFuZCBpdHMgdGVzdCBjb3ZlcmFnZSB0aHJv
dWdoIERSVC4KKworICAgICAgICBUaGUgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrIGNsYXNzIHNv
IGZhciBpbmNsdWRlcyBhIGdldHRlciBhbmQgc2V0dGVyIGZvciB0aGUgV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkKKyAgICAgICAgcHJvcGVydHkgYXMgYSBzYW1wbGUgaW1wbGVtZW50YXRp
b24uIEFsc28gaXQgbWFrZXMgaXQgcG9zc2libGUgdG8gdW5za2lwIGZhc3QvZXZlbnRzL3RhYi1m
b2N1cy1hbmNob3IuaHRtbCBhbmQKKyAgICAgICAgdG8gZml4IHN0ZGVyciBtZXNzYWdlcyBmcm9t
IGFsbCAyMiBzcGF0aWFsLW5hdmlnYXRpb24gdGVzdHMgaW4gZmFzdC9ldmVudHMvc3BhdGlhbC1u
YXZpZ2F0aW9uLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50Ojp0YWJzVG9MaW5rcyk6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcDogQWRkZWQuCisg
ICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OkR1bXBSZW5kZXJUcmVlU3VwcG9ydEd0
ayk6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6On5EdW1wUmVuZGVyVHJlZVN1
cHBvcnRHdGspOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXREdW1wUmVu
ZGVyVHJlZU1vZGVFbmFibGVkKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6
ZHVtcFJlbmRlclRyZWVNb2RlRW5hYmxlZCk6IEdldHRlciB0byB0aGUgV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkgcHJvcGVydHkuCisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRH
dGs6OnNldExpbmtzSW5jbHVkZWRJbkZvY3VzQ2hhaW4pOiBTZXR0ZXIgdG8gdGhlIFdlYktpdFRh
YlRvTGlua3NQcmVmZXJlbmNlS2V5IHByb3BlcnR5LgorICAgICAgICAoRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrOjpsaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWluKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaDogQWRkZWQuCisKIDIwMTAtMTAtMjYg
IEplbm4gQnJhaXRod2FpdGUgIDxqZW5uYkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRG1pdHJ5IFRpdG92LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuY3BwCmluZGV4IGI4NzJiMzAuLmU4NjRlYTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNs
dWRlICJDaHJvbWVDbGllbnRHdGsuaCIKIAogI2luY2x1ZGUgIkNvbnNvbGUuaCIKKyNpbmNsdWRl
ICJEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAj
aW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKQEAgLTMzMSw2
ICszMzIsOSBAQCBib29sIENocm9tZUNsaWVudDo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgp
CiAKIGJvb2wgQ2hyb21lQ2xpZW50Ojp0YWJzVG9MaW5rcygpIGNvbnN0CiB7CisgICAgaWYgKER1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcFJlbmRlclRyZWVNb2RlRW5hYmxlZCgpKQorICAg
ICAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpsaW5rc0luY2x1ZGVkSW5Gb2N1
c0NoYWluKCk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMmI4NjIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKQEAgLTAs
MCArMSw1NyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgQW50b25pbyBHb21lcyA8dG9u
aWtpdG9vQHdlYmtpdC5vcmc+CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkR1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oIgorCisjaW5jbHVkZSAid2Via2l0d2Vidmlldy5oIgor
I2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisK
K2Jvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzX2RydFJ1biA9IGZhbHNlOworYm9vbCBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNfbGlua3NJbmNsdWRlZEluVGFiQ2hhaW4gPSB0cnVl
OworCitEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OkR1bXBSZW5kZXJUcmVlU3VwcG9ydEd0aygp
Cit7Cit9CisKK0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6fkR1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0aygpCit7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXREdW1wUmVu
ZGVyVHJlZU1vZGVFbmFibGVkKGJvb2wgYikKK3sKKyAgICBzX2RydFJ1biA9IGI7Cit9CisKK2Jv
b2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpkdW1wUmVuZGVyVHJlZU1vZGVFbmFibGVkKCkK
K3sKKyAgICByZXR1cm4gc19kcnRSdW47Cit9Cit2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0
azo6c2V0TGlua3NJbmNsdWRlZEluRm9jdXNDaGFpbihib29sIGIpCit7CisgICAgc19saW5rc0lu
Y2x1ZGVkSW5UYWJDaGFpbiA9IGI7Cit9CisKK2Jvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
OjpsaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWluKCkKK3sKKyAgICByZXR1cm4gc19saW5rc0luY2x1
ZGVkSW5UYWJDaGFpbjsKK30KKwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNjY3Mzg2MwotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAgICBD
b3B5cmlnaHQgKEMpIDIwMTAgQW50b25pbyBHb21lcyA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CisK
KyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAg
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8K
KworI2lmbmRlZiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGtfaAorI2RlZmluZSBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGtfaAorCitjbGFzcyBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsgeworCitw
dWJsaWM6CisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKCk7CisgICAgfkR1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0aygpOworCisgICAgc3RhdGljIHZvaWQgc2V0RHVtcFJlbmRlclRyZWVNb2Rl
RW5hYmxlZChib29sIGIpOworICAgIHN0YXRpYyBib29sIGR1bXBSZW5kZXJUcmVlTW9kZUVuYWJs
ZWQoKTsKKworICAgIHN0YXRpYyB2b2lkIHNldExpbmtzSW5jbHVkZWRJbkZvY3VzQ2hhaW4oYm9v
bCBiKTsKKyAgICBzdGF0aWMgYm9vbCBsaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWluKCk7CisKK3By
aXZhdGU6CisgICAgc3RhdGljIGJvb2wgc19kcnRSdW47CisgICAgc3RhdGljIGJvb2wgc19saW5r
c0luY2x1ZGVkSW5UYWJDaGFpbjsKK307CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNkNGY3M2YuLjNiZmRh
NGMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMC0yNiAgQW50b25pbyBHb21lcyAgPGFn
b21lc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtHVEtdIEltcGxlbWVudCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsgKHNpbWlsYXJs
eSB0byBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdCBpZGVhKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDgxOTkKKworICAgICAgICBJbXBsZW1lbnRzIHN1
cHBvcnQgdG8gV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkgdGhyb3VnaCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlLgorICAgICAgICBUaGUgY29ycmVzcG9uZGlu
ZyBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsgbWV0aG9kIGlzIGNhbGxlZCBpbiB0aGUgRFJUIGNv
bnRleHQgb25seS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJl
ZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAg
ICAgKGNyZWF0ZVdlYlZpZXcpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRU
ZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3Zl
cnJpZGVQcmVmZXJlbmNlKToKKwogMjAxMC0xMC0yNiAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBmZWM2MWFj
Li5hZTM4MWQzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVt
cFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAj
aW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQaXhlbER1bXBTdXBw
b3J0LmgiCisjaW5jbHVkZSAiV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
LmgiCiAjaW5jbHVkZSAiV29ya1F1ZXVlLmgiCiAjaW5jbHVkZSAiV29ya1F1ZXVlSXRlbS5oIgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHQuaD4KQEAgLTQ0Myw2ICs0NDQsOCBA
QCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICNlbmRpZgog
CiAgICAgc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0
R3RrOjpzZXRMaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWluKHRydWUpOwogfQogCiBzdGF0aWMgYm9v
bCB1c2VMb25nUnVubmluZ1NlcnZlck1vZGUoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKQEAgLTk5
NCw2ICs5OTcsOCBAQCBzdGF0aWMgV2ViS2l0V2ViVmlldyogY3JlYXRlV2ViVmlldygpCiB7CiAg
ICAgV2ViS2l0V2ViVmlldyogdmlldyA9IFdFQktJVF9XRUJfVklFVyh3ZWJraXRfd2ViX3ZpZXdf
bmV3KCkpOwogCisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXREdW1wUmVuZGVyVHJl
ZU1vZGVFbmFibGVkKHRydWUpOworCiAgICAgLy8gRnJvbSBidWcgMTE3NTY6IFVzZSBhIGZyYW1l
IGdyb3VwIG5hbWUgZm9yIGFsbCBXZWJWaWV3cyBjcmVhdGVkIGJ5CiAgICAgLy8gRHVtcFJlbmRl
clRyZWUgdG8gYWxsb3cgdGVzdGluZyBvZiBjcm9zcy1wYWdlIGZyYW1lIGxvb2t1cC4KICAgICB3
ZWJraXRfd2ViX3ZpZXdfc2V0X2dyb3VwX25hbWUodmlldywgIm9yZy53ZWJraXQuZ3RrLkR1bXBS
ZW5kZXJUcmVlIik7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
TGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Z3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAppbmRleCAxODFlZjlmLi5kMjk1MTJhIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRy
b2xsZXJHdGsuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRU
ZXN0Q29udHJvbGxlckd0ay5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIgogCisjaW5jbHVkZSAiLi4vLi4v
Li4vV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCIK
ICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgogI2luY2x1ZGUgIldvcmtRdWV1ZS5oIgogI2lu
Y2x1ZGUgIldvcmtRdWV1ZUl0ZW0uaCIKQEAgLTY4MywxMCArNjg0LDEzIEBAIHZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZShKU1N0cmluZ1JlZiBrZXksIEpTU3Ry
aW5nUmVmIHZhbHVlCiAgICAgZWxzZSBpZiAoZ19zdHJfZXF1YWwob3JpZ2luYWxOYW1lLmdldCgp
LCAiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiKSkKICAgICAgICAgcHJvcGVydHlO
YW1lID0gImVuYWJsZS1wYWdlLWNhY2hlIjsKICAgICBlbHNlIGlmIChnX3N0cl9lcXVhbChvcmln
aW5hbE5hbWUuZ2V0KCksICJXZWJLaXRQbHVnaW5zRW5hYmxlZCIpKQotICAgICAgICAgcHJvcGVy
dHlOYW1lID0gImVuYWJsZS1wbHVnaW5zIjsKKyAgICAgICAgcHJvcGVydHlOYW1lID0gImVuYWJs
ZS1wbHVnaW5zIjsKICAgICBlbHNlIGlmIChnX3N0cl9lcXVhbChvcmlnaW5hbE5hbWUuZ2V0KCks
ICJXZWJLaXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQiKSkKLSAgICAgICAgIHByb3BlcnR5TmFt
ZSA9ICJlbmFibGUtaHlwZXJsaW5rLWF1ZGl0aW5nIjsKLSAgICBlbHNlIHsKKyAgICAgICAgcHJv
cGVydHlOYW1lID0gImVuYWJsZS1oeXBlcmxpbmstYXVkaXRpbmciOworICAgIGVsc2UgaWYgKGdf
c3RyX2VxdWFsKG9yaWdpbmFsTmFtZS5nZXQoKSwgIldlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNl
S2V5IikpIHsKKyAgICAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRMaW5rc0luY2x1
ZGVkSW5Gb2N1c0NoYWluKCFnX2FzY2lpX3N0cmNhc2VjbXAodmFsdWVBc1N0cmluZy5nZXQoKSwg
InRydWUiKSB8fCAhZ19hc2NpaV9zdHJjYXNlY21wKHZhbHVlQXNTdHJpbmcuZ2V0KCksICIxIikp
OworICAgICAgICByZXR1cm47CisgICAgfSBlbHNlIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIs
ICJMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlIHRyaWVkIHRvIG92ZXJy
aWRlICIKICAgICAgICAgICAgICAgICAidW5rbm93biBwcmVmZXJlbmNlICclcycuXG4iLCBvcmln
aW5hbE5hbWUuZ2V0KCkpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIgYi9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggN2JjM2Y2NC4u
YzQyYmNlNyAxMDA2NDQKLS0tIGEvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNCw3ICs0LDcgQEAgX1pOM1dURjEwZmFzdE1hbGxvY0Vq
OwogX1pOM1dURjExZmFzdFJlYWxsb2NFUHZqOwogX1pOM1dURjhmYXN0RnJlZUVQdjsKIF9aTjNX
VEYxMGZhc3RDYWxsb2NFamo7Ci0KK19aTjI0RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKjsKIGxv
Y2FsOgogX1oqOwogY3RpKjsKLS0gCjEuNy4xCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>