<?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>127119</bug_id>
          
          <creation_ts>2014-01-16 10:18:18 -0800</creation_ts>
          <short_desc>[EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled</short_desc>
          <delta_ts>2014-01-22 15:08:21 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Thiago de Barros Lacerda">thiago.lacerda</reporter>
          <assigned_to name="Thiago de Barros Lacerda">thiago.lacerda</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>samuel_white</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>968807</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2014-01-16 10:18:18 -0800</bug_when>
    <thetext>If ACCESSBILITY is disabled EFL and GTK ports do not build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968808</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-01-16 10:18:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/15836356&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968812</commentid>
    <comment_count>2</comment_count>
      <attachid>221390</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2014-01-16 10:23:57 -0800</bug_when>
    <thetext>Created attachment 221390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968991</commentid>
    <comment_count>3</comment_count>
      <attachid>221390</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2014-01-16 16:48:22 -0800</bug_when>
    <thetext>Comment on attachment 221390
Patch

Attachment 221390 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/4762591591137280</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969079</commentid>
    <comment_count>4</comment_count>
      <attachid>221390</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-01-17 00:49:31 -0800</bug_when>
    <thetext>Comment on attachment 221390
Patch

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

The idea of allowing accessibility to be disabled looks appealing to me. I have some comments though.

&gt; Source/WebCore/ChangeLog:7
&gt; +

Some description of the change missing.

&gt; Source/WebKit/gtk/ChangeLog:7
&gt; +

Ditto.

&gt; Source/WebKit2/ChangeLog:7
&gt; +

Ditto.

&gt; Source/WebCore/accessibility/AXObjectCache.h:267
&gt; +inline AXObjectCache::AXObjectCache(Document&amp; document) : m_document(document), m_notificationPostTimer(this, (Timer&lt;AXObjectCache&gt;::TimerFiredFunction) nullptr) { }

Do we really need the cast here? Also how is that related to this bug?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.h:949
&gt; +#if PLATFORM(GTK) &amp;&amp; USE(TEXTURE_MAPPER_GL)

Again not related to this change right?

&gt; Tools/ChangeLog:7
&gt; +

Description.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:36
&gt; +#include &quot;JSRetainPtr.h&quot;

Why?

&gt; Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:96
&gt; +JSRetainPtr&lt;JSStringRef&gt; AccessibilityController::platformName() { return JSRetainPtr&lt;JSStringRef&gt;(Adopt, JSStringCreateWithUTF8CString(&quot;&quot;)); }

Is this really required?

&gt; Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:132
&gt; +bool AccessibilityUIElement::isIndeterminate() const { return false; }

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969092</commentid>
    <comment_count>5</comment_count>
      <attachid>221390</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-01-17 02:27:54 -0800</bug_when>
    <thetext>Comment on attachment 221390
Patch

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

I basically agree with all of the comments from Sergio and have a couple of them more.

r- for now because of those comments, but the patch seems to be going in the right direction. Thanks!

&gt; Source/WebKit/gtk/webkit/webkitwebview.cpp:1420
&gt; +#if HAVE(ACESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt; Source/WebKit/gtk/webkit/webkitwebview.cpp:3112
&gt; +#if HAVE(ACESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:251
&gt; +#elif PLATFORM(GTK) &amp;&amp; HAVE(ACCESSIBILITY)

I think this should be #elif HAVE(ACCESSIBILITY) &amp;&amp; (PLATFORM(GTK) || PLATFORM(EFL))

&gt; Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp:56
&gt; +#if HAVE(ACCESSIBILITY)

Nit. Move this if before the comment, which is a11y related anyway

&gt; Tools/DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:29
&gt; +#if HAVE(ACCESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt; Tools/DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:79
&gt; +#endif // HAVE(ACCESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt; Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:84
&gt; +#if HAVE(ACCESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt; Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:534
&gt; +#if HAVE(ACCESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt; Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:928
&gt; +#if HAVE(ACCESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt; Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:1533
&gt; +#if HAVE(ACCESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt; Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:1549
&gt; +#if HAVE(ACCESSBILITY)

s/ACESSBILITY/ACCESSIBILITY

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:96
&gt;&gt; +JSRetainPtr&lt;JSStringRef&gt; AccessibilityController::platformName() { return JSRetainPtr&lt;JSStringRef&gt;(Adopt, JSStringCreateWithUTF8CString(&quot;&quot;)); }
&gt; 
&gt; Is this really required?

I think the problem is that in WKTR we do not guard things like this one as we do in DRT, so you need to make sure that you provide dummy implementations for those cases that do not use Accessibility.

However, I think it would be better, if possible, to just skip the AccessibilityController and AccessibilityUIElement completely, if we are going to build without a11y enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969093</commentid>
    <comment_count>6</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-01-17 02:28:34 -0800</bug_when>
    <thetext>Fixed typo in bug title</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969173</commentid>
    <comment_count>7</comment_count>
      <attachid>221390</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2014-01-17 11:16:23 -0800</bug_when>
    <thetext>Comment on attachment 221390
Patch

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

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.h:267
&gt;&gt; +inline AXObjectCache::AXObjectCache(Document&amp; document) : m_document(document), m_notificationPostTimer(this, (Timer&lt;AXObjectCache&gt;::TimerFiredFunction) nullptr) { }
&gt; 
&gt; Do we really need the cast here? Also how is that related to this bug?

Yes, otherwise it won&apos;t build. The compiler will not know which Timer&apos;s constructor to call.

&gt;&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:251
&gt;&gt; +#elif PLATFORM(GTK) &amp;&amp; HAVE(ACCESSIBILITY)
&gt; 
&gt; I think this should be #elif HAVE(ACCESSIBILITY) &amp;&amp; (PLATFORM(GTK) || PLATFORM(EFL))

I just kept the #if as is, just adding the ACCESSIBILITY condition, the PLATFORM(EFL) was not there before, only GTK. I think that we should keep with only GTK.

&gt;&gt; Source/WebKit2/WebProcess/WebPage/WebPage.h:949
&gt;&gt; +#if PLATFORM(GTK) &amp;&amp; USE(TEXTURE_MAPPER_GL)
&gt; 
&gt; Again not related to this change right?

If we disable ACCESSIBILITY the m_nativeWindowHandle won&apos;t be a member of WebPage and there are other parts in the code (not guarded by ACCESSIBILITY) that access m_nativeWindowHandle, so we need to separate them in two different #if

&gt;&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:96
&gt;&gt;&gt; +JSRetainPtr&lt;JSStringRef&gt; AccessibilityController::platformName() { return JSRetainPtr&lt;JSStringRef&gt;(Adopt, JSStringCreateWithUTF8CString(&quot;&quot;)); }
&gt;&gt; 
&gt;&gt; Is this really required?
&gt; 
&gt; I think the problem is that in WKTR we do not guard things like this one as we do in DRT, so you need to make sure that you provide dummy implementations for those cases that do not use Accessibility.
&gt; 
&gt; However, I think it would be better, if possible, to just skip the AccessibilityController and AccessibilityUIElement completely, if we are going to build without a11y enabled.

We do need that in order to build. Skip those files completely will be much more work to do, maybe we can handle this in another patch. Is that ok?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970145</commentid>
    <comment_count>8</comment_count>
      <attachid>221715</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2014-01-20 20:00:30 -0800</bug_when>
    <thetext>Created attachment 221715
Requested changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970154</commentid>
    <comment_count>9</comment_count>
      <attachid>221715</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-01-20 20:46:42 -0800</bug_when>
    <thetext>Comment on attachment 221715
Requested changes

Feel free to do this for EFL, but we aren&apos;t interested in this for GTK+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970209</commentid>
    <comment_count>10</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-01-21 02:22:34 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 221715 [details])
&gt; Feel free to do this for EFL, but we aren&apos;t interested in this for GTK+.

Aren&apos;t we? What about having this for devices were accessibility does not make much sense or is not implemented at all? We might be adding extra processing time and resource waste.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970232</commentid>
    <comment_count>11</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-01-21 06:26:34 -0800</bug_when>
    <thetext>[Replying Thiago and Martin/Sergio at the same time]

(In reply to comment #7)
&gt; [...] 
&gt; &gt; I think the problem is that in WKTR we do not guard things like this one as 
&gt; &gt; we do in DRT, so you need to make sure that you provide dummy 
&gt; &gt; implementations for those cases that do not use Accessibility.
&gt; &gt; 
&gt; &gt; However, I think it would be better, if possible, to just skip the 
&gt; &gt; AccessibilityController and AccessibilityUIElement completely, if we are 
&gt; &gt; going to build without a11y enabled.
&gt; 
&gt; We do need that in order to build. Skip those files completely will be much 
&gt; more work to do, maybe we can handle this in another patch. Is that ok?

Yes, I think that&apos;s perfectly fine.


(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 221715 [details] [details])
&gt; &gt; Feel free to do this for EFL, but we aren&apos;t interested in this for GTK+.
&gt; 
&gt; Aren&apos;t we? What about having this for devices were accessibility does not 
&gt; make much sense or is not implemented at all? We might be adding extra 
&gt; processing time and resource waste.

I agree with Sergio on that it&apos;s interesting to be able to build/run WebKitGTK+ without accessibility enabled. And this patch seems to me to be a godd opportunity to make it real.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970265</commentid>
    <comment_count>12</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-01-21 08:34:18 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 221715 [details] [details])
&gt; &gt; Feel free to do this for EFL, but we aren&apos;t interested in this for GTK+.
&gt; 
&gt; Aren&apos;t we? What about having this for devices were accessibility does not make much sense or is not implemented at all? We might be adding extra processing time and resource waste.

I&apos;m fine with it if such a device exists and it uses WebKitGTK+, otherwise I don&apos;t see the benefit of adding extra maintenance burden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970689</commentid>
    <comment_count>13</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2014-01-22 07:54:18 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (From update of attachment 221715 [details] [details] [details])
&gt; &gt; &gt; Feel free to do this for EFL, but we aren&apos;t interested in this for GTK+.
&gt; &gt; 
&gt; &gt; Aren&apos;t we? What about having this for devices were accessibility does not make much sense or is not implemented at all? We might be adding extra processing time and resource waste.
&gt; 
&gt; I&apos;m fine with it if such a device exists and it uses WebKitGTK+, otherwise I don&apos;t see the benefit of adding extra maintenance burden.

I think that the changes are very tiny, as you can see, in order to face it as &quot;burden&quot;. Additionally, WebKit is about to make the project as modular as possible (by disabling and enabling features) and this patch makes it possible for accessibility.
The patch is ready to land, in my opinion, but it is up to you guys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970694</commentid>
    <comment_count>14</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-01-22 08:18:46 -0800</bug_when>
    <thetext>(In reply to comment #13)

&gt; I think that the changes are very tiny, as you can see, in order to face it as &quot;burden&quot;. Additionally, WebKit is about to make the project as modular as possible (by disabling and enabling features) and this patch makes it possible for accessibility.
&gt; The patch is ready to land, in my opinion, but it is up to you guys.

We use to allow everything to be configurable in WebKitGTK+ and we received many bugs as people tried to enable and disable a combinatorial explosion of features. Nowadays we only make bits of WebKit configurable if there&apos;s a good reason to. For instance, one reason is if we would otherwise have to raise our dependencies. This allows WebKit to keep building on older systems.

I&apos;m not opposed to making accessibility configurable, I&apos;m just opposed to doing it without some justification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970702</commentid>
    <comment_count>15</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-01-22 09:15:05 -0800</bug_when>
    <thetext>I agree with Thiago on that this is a nice and useful patch, and my vote goes for getting it in, even though we keep to enable accessibility by default in the GTK+ port (my vote goes for that too). Besides, it&apos;s a tiny patch that just fixes a building issue with the infrastructure that is already in place to allow building with and without accessibility.

So, I think this patch is a good addition, unless we want to get rid of all the HAVE(ACCESSSIBILITY) guards and assume that WebKit will always build with accessibility support on mind (which is another option).

About specific devices that might benefit of this, it comes to my mind some devices (e.g. TVs) that are currently not using this feature and so would benefit from this patch just by having smaller binary files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970705</commentid>
    <comment_count>16</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-01-22 09:20:18 -0800</bug_when>
    <thetext>(In reply to comment #15)

&gt; About specific devices that might benefit of this, it comes to my mind some devices (e.g. TVs) that are currently not using this feature and so would benefit from this patch just by having smaller binary files.

If this will be used, I&apos;m not opposed. I don&apos;t think we should add a configure flag though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970706</commentid>
    <comment_count>17</comment_count>
      <attachid>221715</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-01-22 09:23:40 -0800</bug_when>
    <thetext>Comment on attachment 221715
Requested changes

(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; 
&gt; &gt; About specific devices that might benefit of this, it comes to my mind some devices (e.g. TVs) that are currently not using this feature and so would benefit from this patch just by having smaller binary files.
&gt; 
&gt; If this will be used, I&apos;m not opposed. I don&apos;t think we should add a configure flag though.

I agree with this too (no need for configure flag).

Setting r+ then as per comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970788</commentid>
    <comment_count>18</comment_count>
      <attachid>221715</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-22 11:17:31 -0800</bug_when>
    <thetext>Comment on attachment 221715
Requested changes

Clearing flags on attachment: 221715

Committed r162538: &lt;http://trac.webkit.org/changeset/162538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970789</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-22 11:17:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970899</commentid>
    <comment_count>20</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-22 15:08:21 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 221715 [details])
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #15)
&gt; &gt; 
&gt; &gt; &gt; About specific devices that might benefit of this, it comes to my mind some devices (e.g. TVs) that are currently not using this feature and so would benefit from this patch just by having smaller binary files.
&gt; &gt; 
&gt; &gt; If this will be used, I&apos;m not opposed. I don&apos;t think we should add a configure flag though.
&gt; 
&gt; I agree with this too (no need for configure flag).
&gt; 
&gt; Setting r+ then as per comments.

Thanks.

FYI, some platform which uses EFL does not enable ACCESSIBILITY yet.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221390</attachid>
            <date>2014-01-16 10:23:57 -0800</date>
            <delta_ts>2014-01-20 20:00:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127119-20140116152356.patch</filename>
            <type>text/plain</type>
            <size>14283</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRmYjk1MzgyYmE4YTdh
NDA4NzZlZWJkN2Q3ODEwNTQ5MDk0MTA5ZS4uZjhiMGY2OWQ4MWYwNmRhYWRlMjg3OWNhMDljNmUw
ZTdmYjU5YjAzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTAxLTE2ICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIFtFRkxdW0dUS10gR2V0IEVGTCBhbmQgR1RLIGNvbXBpbGluZyB3aXRoIEFDQ0VTU0JJ
TElUWSBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTI3MTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkFYT2JqZWN0Q2FjaGU6OkFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oOgorCiAyMDE0LTAxLTE2ICBDaHJpcyBGbGVpemFjaCAgPGNm
bGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFdlYktpdCBpcyBub3QgZmlyaW5nIEFY
TWVudU9wZW5lZE5vdGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDRhMzNlZjQ0Njk4YzJk
YjA2YTcyNWZiZTcxNTg5NjA2NjhjODcyZTQuLjExYWY5OWFkN2E2YzM1MGQ3OTdkNjQ0OTBlNjMz
ZTEwMTU4NWNhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wMS0x
NiAgVGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9y
Zz4KKworICAgICAgICBbRUZMXVtHVEtdIEdldCBFRkwgYW5kIEdUSyBjb21waWxpbmcgd2l0aCBB
Q0NFU1NCSUxJVFkgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNzExOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0
X3dlYl92aWV3X2NsYXNzX2luaXQpOgorCiAyMDE0LTAxLTE1ICBaYW4gRG9iZXJzZWsgIDx6ZG9i
ZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXSzFdIEFkZCBQcm9ncmVzc1RyYWNr
ZXJDbGllbnQgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2NzY4MGFlM2YzYTI0ZmU3NzEy
MGI1NGY2NmZhY2Y5NDAyZjUwZjZmLi4yMjRkYmYwZWM5Njc4ZWY5NTBkNDJlOWZiYzE4OTc3ZjM0
ZGY1NzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDEtMTYgIFRoaWFnbyBk
ZSBCYXJyb3MgTGFjZXJkYSAgPHRoaWFnby5sYWNlcmRhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAg
ICAgW0VGTF1bR1RLXSBHZXQgRUZMIGFuZCBHVEsgY29tcGlsaW5nIHdpdGggQUNDRVNTQklMSVRZ
IGRpc2FibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjcxMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6V2ViUGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorCiAyMDE0LTAxLTE2ICBJ
YW4gSGVuZGVyc29uICA8aWFuaEBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHNjcm9sbFZp
ZXcgb24gV0tWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5oCmluZGV4IDI1MTAwMGFjNWMwM2E4ZDc5NTQ2MmJkMjI3ZTU3M2ZmMjc0YTRiYTUuLmMwN2Nj
ZjE3NjFmNThjOTk0YmRlNTNiM2RhNzU5ZGQyMDk5MTI3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0yNjQsNyArMjY0LDcgQEAgYm9vbCBp
c05vZGVBcmlhVmlzaWJsZShOb2RlKik7CiAjaWYgIUhBVkUoQUNDRVNTSUJJTElUWSkKIGlubGlu
ZSBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFYQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVD
YWNoZTo6Z2V0SWdub3JlZChBWElEKSBjb25zdCB7IHJldHVybiBEZWZhdWx0QmVoYXZpb3I7IH0K
IGlubGluZSB2b2lkIEFYQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZTo6c2V0SWdub3JlZChB
WElELCBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uKSB7IH0KLWlubGluZSBBWE9iamVjdENh
Y2hlOjpBWE9iamVjdENhY2hlKERvY3VtZW50JiBkb2N1bWVudCkgOiBtX2RvY3VtZW50KGRvY3Vt
ZW50KSwgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIodGhpcywgMCkgeyB9CitpbmxpbmUgQVhPYmpl
Y3RDYWNoZTo6QVhPYmplY3RDYWNoZShEb2N1bWVudCYgZG9jdW1lbnQpIDogbV9kb2N1bWVudChk
b2N1bWVudCksIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyKHRoaXMsIChUaW1lcjxBWE9iamVjdENh
Y2hlPjo6VGltZXJGaXJlZEZ1bmN0aW9uKSBudWxscHRyKSB7IH0KIGlubGluZSBBWE9iamVjdENh
Y2hlOjp+QVhPYmplY3RDYWNoZSgpIHsgfQogaW5saW5lIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFY
T2JqZWN0Q2FjaGU6OmZvY3VzZWRVSUVsZW1lbnRGb3JQYWdlKGNvbnN0IFBhZ2UqKSB7IHJldHVy
biAwOyB9CiBpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0KFJl
bmRlck9iamVjdCopIHsgcmV0dXJuIDA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggNzYxZGYzZDIyMmJmNjUwYzY3NDBk
YWNmZGVjNGM0N2EyMTY2MmE0YS4uOTU5ZmJjYTNiOTgyMmZkZGZlY2YxOWRiNDcwYzhkOWY3NGJj
ZWVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmgKQEAgLTkyNCw3ICs5MjQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBB
Y2Nlc3NpYmlsaXR5Um9sZSBidXR0b25Sb2xlVHlwZSgpIGNvbnN0OwogICAgIGJvb2wgaXNPbnNj
cmVlbigpIGNvbnN0OwogICAgIAotI2lmIFBMQVRGT1JNKEdUSykgfHwgKFBMQVRGT1JNKEVGTCkg
JiYgSEFWRShBQ0NFU1NJQklMSVRZKSkKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShF
RkwpKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgYm9vbCBhbGxvd3NUZXh0UmFuZ2VzKCkg
Y29uc3Q7CiAgICAgdW5zaWduZWQgZ2V0TGVuZ3RoRm9yVGV4dFJhbmdlKCkgY29uc3Q7CiAjZWxz
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IGI0Zjlh
OWM1Yjg1NDFmNjI4NjM1MDAwZWM1Y2QyYThkZjVhZGRkMWEuLmQ0YTlkOTY3MThlMmViYTk3M2M3
MDJkYmE1MjdiMjlhMWZkODc1YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKQEAgLTE0MTcsNiArMTQxNyw3IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRf
bmF2aWdhdGlvbl9yZXF1ZXN0X2hhbmRsZWQoR1NpZ25hbEludm9jYXRpb25IaW50KiBpaGludCwK
ICAgICByZXR1cm4gVFJVRTsKIH0KIAorI2lmIEhBVkUoQUNFU1NCSUxJVFkpCiBzdGF0aWMgQXRr
T2JqZWN0KiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2FjY2Vzc2libGUoR3RrV2lkZ2V0KiB3aWRnZXQp
CiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyh3aWRnZXQp
OwpAQCAtMTQ0OCw2ICsxNDQ5LDcgQEAgc3RhdGljIEF0a09iamVjdCogd2Via2l0X3dlYl92aWV3
X2dldF9hY2Nlc3NpYmxlKEd0a1dpZGdldCogd2lkZ2V0KQogCiAgICAgcmV0dXJuIGF4Um9vdDsK
IH0KKyNlbmRpZgogCiBzdGF0aWMgZG91YmxlIHNjcmVlbkRQSShHZGtTY3JlZW4qIHNjcmVlbikK
IHsKQEAgLTMxMDcsNyArMzEwOSw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFz
c19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2ViVmlld0NsYXNzKQogICAgIHdpZGdldENsYXNz
LT5ncmFiX2ZvY3VzID0gd2Via2l0X3dlYl92aWV3X2dyYWJfZm9jdXM7CiAgICAgd2lkZ2V0Q2xh
c3MtPmZvY3VzX2luX2V2ZW50ID0gd2Via2l0X3dlYl92aWV3X2ZvY3VzX2luX2V2ZW50OwogICAg
IHdpZGdldENsYXNzLT5mb2N1c19vdXRfZXZlbnQgPSB3ZWJraXRfd2ViX3ZpZXdfZm9jdXNfb3V0
X2V2ZW50OworI2lmIEhBVkUoQUNFU1NCSUxJVFkpCiAgICAgd2lkZ2V0Q2xhc3MtPmdldF9hY2Nl
c3NpYmxlID0gd2Via2l0X3dlYl92aWV3X2dldF9hY2Nlc3NpYmxlOworI2VuZGlmCiAgICAgd2lk
Z2V0Q2xhc3MtPnNjcmVlbl9jaGFuZ2VkID0gd2Via2l0X3dlYl92aWV3X3NjcmVlbl9jaGFuZ2Vk
OwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgd2lkZ2V0Q2xhc3MtPmRyYWdfZW5kID0g
d2Via2l0X3dlYl92aWV3X2RyYWdfZW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGRjMzcyODlmNjNhNDJlYzgzZWMyYzJiY2NmMDFlNjEw
MjBmNTNmN2IuLjEzODkzNmFjMWMxMWE2YjIxZmI0MWE1YjVhMGJmMmVmNDIwN2FlOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI0OCw3
ICsyNDgsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICAgICAsIG1faGFzQ2FjaGVkV2luZG93
RnJhbWUoZmFsc2UpCiAgICAgLCBtX2tleWJvYXJkRXZlbnRCZWluZ0ludGVycHJldGVkKDApCiAg
ICAgLCBtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IoKnRoaXMpCi0jZWxpZiBQTEFURk9S
TShHVEspCisjZWxpZiBQTEFURk9STShHVEspICYmIEhBVkUoQUNDRVNTSUJJTElUWSkKICAgICAs
IG1fYWNjZXNzaWJpbGl0eU9iamVjdCgwKQogI2VuZGlmCiAgICAgLCBtX3NldENhblN0YXJ0TWVk
aWFUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQYWdlOjpzZXRDYW5TdGFydE1lZGlh
VGltZXJGaXJlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CmluZGV4IGNiYjE0OTVkMjBjZDlmNGRjOGIwODJmNzQ1MmUxZDAzNGQ4ODJmYWYuLmJhNzE5NDgy
YWE1Njc1N2YwZDY5OWJiNTE3NTU2YmM3MjQxMDk0ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtOTQ0LDEyICs5NDQsMTIgQEAgcHJpdmF0ZToK
IAogI2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpKQogICAgIEdSZWZQdHI8V2ViUGFnZUFjY2Vzc2liaWxpdHlPYmplY3Q+IG1fYWNjZXNz
aWJpbGl0eU9iamVjdDsKKyNlbmRpZgogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQorI2lm
IFBMQVRGT1JNKEdUSykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogICAgIC8vIE91ciB2aWV3
J3Mgd2luZG93IGluIHRoZSBVSSBwcm9jZXNzLgogICAgIHVpbnQ2NF90IG1fbmF0aXZlV2luZG93
SGFuZGxlOwogI2VuZGlmCi0jZW5kaWYKIAogI2lmICFQTEFURk9STShJT1MpCiAgICAgUmVmUHRy
PFBhZ2VCYW5uZXI+IG1faGVhZGVyQmFubmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKaW5kZXggYmYxMWY0MTViODJmMWE0
MWM3NTAyNWViN2E3MGZlYzQ4NGZlZGE0Ni4uZmNkMWY4MDJhYzFjZTRhYzRlYWM1MGZiMzNmMmM3
NzhjYzZlMTIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L2d0ay9XZWJQYWdlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCkBAIC01MywxNSArNTMsMTggQEAgdm9pZCBXZWJQYWdlOjpw
bGF0Zm9ybUluaXRpYWxpemUoKQogICAgIC8vIGVudHJ5IHBvaW50IHRvIHRoZSBXZWIgcHJvY2Vz
cywgYW5kIHNlbmQgYSBtZXNzYWdlIHRvIHRoZSBVSQogICAgIC8vIHByb2Nlc3MgdG8gY29ubmVj
dCB0aGUgdHdvIHdvcmxkcyB0aHJvdWdoIHRoZSBhY2Nlc3NpYmlsaXR5CiAgICAgLy8gb2JqZWN0
IHRoZXJlIHNwZWNpZmljYWxseSBwbGFjZWQgZm9yIHRoYXQgcHVycG9zZSAodGhlIHNvY2tldCku
CisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIG1fYWNjZXNzaWJpbGl0eU9iamVjdCA9IGFk
b3B0R1JlZih3ZWJQYWdlQWNjZXNzaWJpbGl0eU9iamVjdE5ldyh0aGlzKSk7CiAgICAgR093blB0
cjxnY2hhcj4gcGx1Z0lEKGF0a19wbHVnX2dldF9pZChBVEtfUExVRyhtX2FjY2Vzc2liaWxpdHlP
YmplY3QuZ2V0KCkpKSk7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpCaW5kQWNj
ZXNzaWJpbGl0eVRyZWUoU3RyaW5nKHBsdWdJRC5nZXQoKSkpKTsKKyNlbmRpZgogCiAjaWYgVVNF
KFRFWFRVUkVfTUFQUEVSX0dMKQogICAgIG1fbmF0aXZlV2luZG93SGFuZGxlID0gMDsKICNlbmRp
ZgogfQogCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogdm9pZCBXZWJQYWdlOjp1cGRhdGVBY2Nl
c3NpYmlsaXR5VHJlZSgpCiB7CiAgICAgaWYgKCFtX2FjY2Vzc2liaWxpdHlPYmplY3QpCkBAIC02
OSw2ICs3Miw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlQWNjZXNzaWJpbGl0eVRyZWUoKQogCiAg
ICAgd2ViUGFnZUFjY2Vzc2liaWxpdHlPYmplY3RSZWZyZXNoKG1fYWNjZXNzaWJpbGl0eU9iamVj
dC5nZXQoKSk7CiB9CisjZW5kaWYKIAogdm9pZCBXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2Vz
RGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKQogewpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQ1YTQ4MTY5YzVmMjBlOWZjOTI1
Njc4YThlNTJjY2UyNTkyNGJmZTQuLjkyYTIxNDVhYTgyOTc5MGZjYzA0ODBmMGE4NDdhMDZkMWE1
ODFhOWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxNC0wMS0xNiAgVGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8
dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBbRUZMXVtHVEtdIEdldCBF
RkwgYW5kIEdUSyBjb21waWxpbmcgd2l0aCBBQ0NFU1NCSUxJVFkgZGlzYWJsZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzExOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
ZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9n
dGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25z
aXN0ZW50VmFsdWVzKToKKyAgICAgICAgKHdlYlZpZXdXaW5kb3dPYmplY3RDbGVhcmVkKToKKyAg
ICAgICAgKG1haW4pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcjo6cGxhdGZvcm1OYW1lKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUpOgorCiAyMDE0LTAxLTE2ICBP
bGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBydW4tanNjIGZy
b20gY29uc3VtaW5nIHN0ZGVyciBvdXRwdXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IDViZjMxNmEwZjE5OWMzYTc4NTA3YmEx
MjRhMjU4ODk1NGFiNTE3ZjIuLjNhYWVjZWZkZDE2YTZkMzgwMzQ1YTcxOTExYjQxZTg2MTNjMGI5
ZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNo
cm9tZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hy
b21lLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkVkaXRpbmdDYWxsYmFja3MuaCIK
ICNpbmNsdWRlICJFdmVudFNlbmRlci5oIgogI2luY2x1ZGUgIkdDQ29udHJvbGxlci5oIgorI2lu
Y2x1ZGUgIkpTUmV0YWluUHRyLmgiCiAjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKICNpbmNsdWRlICJUZXN0UnVubmVyLmgiCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcAppbmRleCBk
ODlhOGQyZjZhYjJjYzUwOWZjOTIwZjY3MGY4MzBhOGY3MmJlNjE1Li42NzAwZDNhMjU0NWJhZGIx
MzY1ZjA5ODY3ZWQ0NjZmZmI0NTM3OWFkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAKQEAgLTI1LDYgKzI1LDkg
QEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBIQVZFKEFDQ0VTU0JJTElUWSkK
KwogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCiAKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5Q2FsbGJhY2tzLmgiCkBAIC03MiwzICs3NSw1IEBAIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZChKU1N0
cmluZ1JlCiAgICAgcmV0dXJuIDA7CiAKIH0KKworI2VuZGlmIC8vIEhBVkUoQUNDRVNTQklMSVRZ
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggMTVm
MmY2MTdjNzY2M2IwODEzYzkyOWYzNjlkNzg5M2M3YmUwZGE3OS4uNmViZDMyYTQ0MTkzOTUzN2Ez
OTdlMTUzMzNhNDQyYjdlZDFjMzllZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Z3RrL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVt
cFJlbmRlclRyZWUuY3BwCkBAIC04MSw3ICs4MSw5IEBAIHN0YXRpYyBib29sIGR1bXBQaXhlbHNG
b3JDdXJyZW50VGVzdDsKIHN0YXRpYyBpbnQgZHVtcFRyZWUgPSAxOwogc3RhdGljIGludCB1c2VU
aW1lb3V0V2F0Y2hkb2cgPSAxOwogCisjaWYgSEFWRShBQ0NFU1NCSUxJVFkpCiBBY2Nlc3NpYmls
aXR5Q29udHJvbGxlciogYXhDb250cm9sbGVyID0gMDsKKyNlbmRpZgogUmVmUHRyPFRlc3RSdW5u
ZXI+IGdUZXN0UnVubmVyOwogc3RhdGljIEdDQ29udHJvbGxlciogZ2NDb250cm9sbGVyID0gMDsK
IHN0YXRpYyBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3OwpAQCAtNTI5LDggKzUzMSwxMCBAQCBzdGF0
aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRHdGs6OnNldERlZmVyc0xvYWRpbmcod2ViVmlldywgZmFsc2UpOwogICAgIER1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0U2VyaWFsaXplSFRUUExvYWRzKGZhbHNlKTsKIAor
I2lmIEhBVkUoQUNDRVNTQklMSVRZKQogICAgIGlmIChheENvbnRyb2xsZXIpCiAgICAgICAgIGF4
Q29udHJvbGxlci0+cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworI2VuZGlmCiAKICAgICBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGs6OmNsZWFyT3BlbmVyKG1haW5GcmFtZSk7CiAgICAgRHVtcFJl
bmRlclRyZWVTdXBwb3J0R3RrOjpzZXRUcmFja3NSZXBhaW50cyhtYWluRnJhbWUsIGZhbHNlKTsK
QEAgLTkyMSw4ICs5MjUsMTAgQEAgc3RhdGljIHZvaWQgd2ViVmlld1dpbmRvd09iamVjdENsZWFy
ZWQoV2ViS2l0V2ViVmlldyogdmlldywgV2ViS2l0V2ViRnJhbWUqIGZyYW0KICAgICBnY0NvbnRy
b2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAmZXhjZXB0aW9u
KTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAKKyNpZiBIQVZFKEFDQ0VTU0JJTElUWSkKICAg
ICBheENvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAm
ZXhjZXB0aW9uKTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CisjZW5kaWYKIAogICAgIGFkZENv
bnRyb2xsZXJUb1dpbmRvdyhjb250ZXh0LCB3aW5kb3dPYmplY3QsICJldmVudFNlbmRlciIsIG1h
a2VFdmVudFNlbmRlcihjb250ZXh0LCAhd2Via2l0X3dlYl9mcmFtZV9nZXRfcGFyZW50KGZyYW1l
KSkpOwogICAgIGFkZENvbnRyb2xsZXJUb1dpbmRvdyhjb250ZXh0LCB3aW5kb3dPYmplY3QsICJ0
ZXh0SW5wdXRDb250cm9sbGVyIiwgbWFrZVRleHRJbnB1dENvbnRyb2xsZXIoY29udGV4dCkpOwpA
QCAtMTUyNCw3ICsxNTMwLDkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAg
ICBzZXREZWZhdWx0c1RvQ29uc2lzdGVudFN0YXRlVmFsdWVzRm9yVGVzdGluZygpOwogCiAgICAg
Z2NDb250cm9sbGVyID0gbmV3IEdDQ29udHJvbGxlcigpOworI2lmIEhBVkUoQUNDRVNTQklMSVRZ
KQogICAgIGF4Q29udHJvbGxlciA9IG5ldyBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpOworI2Vu
ZGlmCiAKICAgICBpZiAodXNlTG9uZ1J1bm5pbmdTZXJ2ZXJNb2RlKGFyZ2MsIGFyZ3YpKSB7CiAg
ICAgICAgIHByaW50U2VwYXJhdG9ycyA9IHRydWU7CkBAIC0xNTM4LDggKzE1NDYsMTAgQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBkZWxldGUgZ2NDb250cm9sbGVyOwog
ICAgIGdjQ29udHJvbGxlciA9IDA7CiAKKyNpZiBIQVZFKEFDQ0VTU0JJTElUWSkKICAgICBkZWxl
dGUgYXhDb250cm9sbGVyOwogICAgIGF4Q29udHJvbGxlciA9IDA7CisjZW5kaWYKIAogICAgIGd0
a193aWRnZXRfZGVzdHJveSh3aW5kb3cpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Y3BwCmluZGV4IGM4YWQ0MDZmOTA5NTZlNmNlOGNmNzExMTc4MGFmNmY1Y2ZhYmI5ZmQuLmY1ZDFi
ZDU4Yjg5OWQ4MTY1NTMxYzkwY2I2NTIwYTUwOWU4MDFhOTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuY3BwCkBAIC05Myw2ICs5Myw3IEBAIGJvb2wgQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkgeyByZXR1cm4gZmFsc2U7IH0KIFBh
c3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OmFjY2Vzc2libGVFbGVtZW50QnlJZChKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpIHsgcmV0dXJuIG51
bGxwdHI7IH0KIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmxvZ0FjY2Vzc2liaWxpdHlF
dmVudHMoKSB7IH0KIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlc2V0VG9Db25zaXN0
ZW50U3RhdGUoKSB7IH0KK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6cGxhdGZvcm1OYW1lKCkgeyByZXR1cm4gSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
KEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiIikpOyB9CiAjZW5kaWYKIAog
I2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVG
TCkpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAppbmRleCA0MDcyZmY1OTAxNzhjZmM5
NTJjMDY5ZjNlNzc1ZDdhMTUwNDM3NzcwLi5kZDgxMWRlMjg1ZjI2MjA3YWI3Y2ZmMTY4NDE4ODEz
Mjk4MGE5NzEyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTEyOSw2ICsx
MjksNyBAQCB1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkcmVu
Q291bnQoKSBjb25zdCB7IHJldHVybiAwOyB9CiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2ln
bmVkKSBjb25zdCB7IHJldHVybiAwOyB9CiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlz
RXhwYW5kZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc0NoZWNrZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Zpc2libGUoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc09mZlNjcmVlbigpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ29s
bGFwc2VkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221715</attachid>
            <date>2014-01-20 20:00:30 -0800</date>
            <delta_ts>2014-01-22 11:17:31 -0800</delta_ts>
            <desc>Requested changes</desc>
            <filename>bug-127119-20140121010028.patch</filename>
            <type>text/plain</type>
            <size>15036</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdjNDc4N2MyYjA0Yzg0
OTEyM2I2YjFiNjdkYjkzYmQ3ZmM4NzJkZS4uMGFkMTNlNzk0MDZmYzAwMmU3MjhiZTEwMTI0NGIx
ZjRjZjQ5NzI2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAxLTIwICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIFtFRkxdW0dUS10gR2V0IEVGTCBhbmQgR1RLIGNvbXBpbGluZyB3aXRoIEFDQ0VTU0lC
SUxJVFkgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNzExOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEF0IGJ1aWxkIHRpbWUsIHRoZSBjb21waWxlciB3YXMgbm90IGFibGUgdG8gZGV0ZXJt
aW5lIHdoaWNoIFRpbWVyJ3MgY29uc3RydWN0b3IgdG8gY2FsbCBpbiBBWE9iamVjdENhY2hlIHdo
ZW4KKyAgICAgICAgQUNDRVNTSUJJTElUWSBpcyBub3QgZW5hYmxlZCwgZml4aW5nIHRoYXQuCisg
ICAgICAgIEFsc28gZ3VhcmRpbmcgc29tZSBtZW1iZXJzIGluIEFjY2Vzc2liaWxpdHlPYmplY3Qg
dGhhdCBhcmUgb25seSBiZWluZyB1c2VkIGJ5IEVGTCBhbmQgR1RLIHdpdGggQUNDRVNTSUJJTElU
WS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6QVhPYmplY3RDYWNoZSk6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisKIDIwMTQtMDEtMjAgIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYW4gdW51c2VkIFBh
Z2VHcm91cCBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGRiOTdhZWFiNzNhZmI4NTlhZjJj
ZGEzMmI1ZDRlOGMwNDNmMWYxMjIuLjJmOTNhZGRmYjZhM2YxNWYyNjJmNWQzOTgwZDNhNTllMzU4
MjZjNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMS0yMCAgVGhp
YWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KKwor
ICAgICAgICBbRUZMXVtHVEtdIEdldCBFRkwgYW5kIEdUSyBjb21waWxpbmcgd2l0aCBBQ0NFU1NJ
QklMSVRZIGRpc2FibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjcxMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBHdWFyZGluZyBBQ0NFU1NJQklMSVRZIGNvZGUgd2l0aCBIQVZFKEFDQ0VTU0lCSUxJ
VFkpLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Vi
a2l0X3dlYl92aWV3X2NsYXNzX2luaXQpOgorCiAyMDE0LTAxLTE4ICBCcmlhbiBCdXJnICA8YmJ1
cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFBhZ2Ugc2hvdWxkIHVzZSBz
dGQ6OnVuaXF1ZV9wdHIgZm9yIEluc3BlY3RvckNvbnRyb2xsZXIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyZGM5
ZWJkZjFhZmJkMWIwOGVkZWQ1ZDlhMmNiODIzODVmYjU5YmVmLi41MmI4YmYzY2QwYTUwMWRmMTM2
MjI2M2E2OWY5MzA0OTY0YmY5ZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xNCw2ICsxNCwyMSBAQAogCiAy
MDE0LTAxLTIwICBUaGlhZ28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVu
Ym9zc2Eub3JnPgogCisgICAgICAgIFtFRkxdW0dUS10gR2V0IEVGTCBhbmQgR1RLIGNvbXBpbGlu
ZyB3aXRoIEFDQ0VTU0lCSUxJVFkgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzExOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEd1YXJkaW5nIEFDQ0VTU0lCSUxJVFkgY29kZSB3aXRoIEhB
VkUoQUNDRVNTSUJJTElUWSkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L2d0ay9XZWJQYWdlR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGxhdGZvcm1J
bml0aWFsaXplKToKKworMjAxNC0wMS0yMCAgVGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhp
YWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KKwogICAgICAgICBbV0syXSBTZXR0aW5nIG1fcGFn
ZVNjYWxlRmFjdG9yIGRpcmVjdGx5IGluIFdlYlBhZ2VQcm94eTo6c2NhbGVQYWdlCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcwOTAKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyNTEwMDBhYzVj
MDNhOGQ3OTU0NjJiZDIyN2U1NzNmZjI3NGE0YmE1Li5jMDdjY2YxNzYxZjU4Yzk5NGJkZTUzYjNk
YTc1OWRkMjA5OTEyN2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuaApAQCAtMjY0LDcgKzI2NCw3IEBAIGJvb2wgaXNOb2RlQXJpYVZpc2libGUoTm9k
ZSopOwogI2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpCiBpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVj
dEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJ
RCkgY29uc3QgeyByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOyB9CiBpbmxpbmUgdm9pZCBBWENvbXB1
dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OnNldElnbm9yZWQoQVhJRCwgQWNjZXNzaWJpbGl0eU9i
amVjdEluY2x1c2lvbikgeyB9Ci1pbmxpbmUgQVhPYmplY3RDYWNoZTo6QVhPYmplY3RDYWNoZShE
b2N1bWVudCYgZG9jdW1lbnQpIDogbV9kb2N1bWVudChkb2N1bWVudCksIG1fbm90aWZpY2F0aW9u
UG9zdFRpbWVyKHRoaXMsIDApIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6OkFYT2JqZWN0Q2Fj
aGUoRG9jdW1lbnQmIGRvY3VtZW50KSA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpLCBtX25vdGlmaWNh
dGlvblBvc3RUaW1lcih0aGlzLCAoVGltZXI8QVhPYmplY3RDYWNoZT46OlRpbWVyRmlyZWRGdW5j
dGlvbikgbnVsbHB0cikgeyB9CiBpbmxpbmUgQVhPYmplY3RDYWNoZTo6fkFYT2JqZWN0Q2FjaGUo
KSB7IH0KIGlubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpmb2N1c2Vk
VUlFbGVtZW50Rm9yUGFnZShjb25zdCBQYWdlKikgeyByZXR1cm4gMDsgfQogaW5saW5lIEFjY2Vz
c2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldChSZW5kZXJPYmplY3QqKSB7IHJldHVy
biAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5oCmluZGV4IDc2MWRmM2QyMjJiZjY1MGM2NzQwZGFjZmRlYzRjNDdhMjE2NjJhNGEu
Ljk1OWZiY2EzYjk4MjJmZGRmZWNmMTlkYjQ3MGM4ZDlmNzRiY2VlZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC05MjQs
NyArOTI0LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgYnV0
dG9uUm9sZVR5cGUoKSBjb25zdDsKICAgICBib29sIGlzT25zY3JlZW4oKSBjb25zdDsKICAgICAK
LSNpZiBQTEFURk9STShHVEspIHx8IChQTEFURk9STShFRkwpICYmIEhBVkUoQUNDRVNTSUJJTElU
WSkpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkgJiYgSEFWRShBQ0NFU1NJ
QklMSVRZKQogICAgIGJvb2wgYWxsb3dzVGV4dFJhbmdlcygpIGNvbnN0OwogICAgIHVuc2lnbmVk
IGdldExlbmd0aEZvclRleHRSYW5nZSgpIGNvbnN0OwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCBiNGY5YTljNWI4NTQxZjYyODYzNTAwMGVj
NWNkMmE4ZGY1YWRkZDFhLi4zMjk2NWUwNzUzM2UwMGI2YmIxNGNkODE1YTFhNTYyMTI4OWE0OTE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0xNDE3
LDYgKzE0MTcsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0X25hdmlnYXRpb25fcmVxdWVzdF9o
YW5kbGVkKEdTaWduYWxJbnZvY2F0aW9uSGludCogaWhpbnQsCiAgICAgcmV0dXJuIFRSVUU7CiB9
CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiBzdGF0aWMgQXRrT2JqZWN0KiB3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X2FjY2Vzc2libGUoR3RrV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgV2ViS2l0V2Vi
Vmlldyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyh3aWRnZXQpOwpAQCAtMTQ0OCw2ICsxNDQ5
LDcgQEAgc3RhdGljIEF0a09iamVjdCogd2Via2l0X3dlYl92aWV3X2dldF9hY2Nlc3NpYmxlKEd0
a1dpZGdldCogd2lkZ2V0KQogCiAgICAgcmV0dXJuIGF4Um9vdDsKIH0KKyNlbmRpZgogCiBzdGF0
aWMgZG91YmxlIHNjcmVlbkRQSShHZGtTY3JlZW4qIHNjcmVlbikKIHsKQEAgLTMxMDcsNyArMzEw
OSw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZp
ZXdDbGFzcyogd2ViVmlld0NsYXNzKQogICAgIHdpZGdldENsYXNzLT5ncmFiX2ZvY3VzID0gd2Vi
a2l0X3dlYl92aWV3X2dyYWJfZm9jdXM7CiAgICAgd2lkZ2V0Q2xhc3MtPmZvY3VzX2luX2V2ZW50
ID0gd2Via2l0X3dlYl92aWV3X2ZvY3VzX2luX2V2ZW50OwogICAgIHdpZGdldENsYXNzLT5mb2N1
c19vdXRfZXZlbnQgPSB3ZWJraXRfd2ViX3ZpZXdfZm9jdXNfb3V0X2V2ZW50OworI2lmIEhBVkUo
QUNDRVNTSUJJTElUWSkKICAgICB3aWRnZXRDbGFzcy0+Z2V0X2FjY2Vzc2libGUgPSB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X2FjY2Vzc2libGU7CisjZW5kaWYKICAgICB3aWRnZXRDbGFzcy0+c2NyZWVu
X2NoYW5nZWQgPSB3ZWJraXRfd2ViX3ZpZXdfc2NyZWVuX2NoYW5nZWQ7CiAjaWYgRU5BQkxFKERS
QUdfU1VQUE9SVCkKICAgICB3aWRnZXRDbGFzcy0+ZHJhZ19lbmQgPSB3ZWJraXRfd2ViX3ZpZXdf
ZHJhZ19lbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKaW5kZXggNzE2ZWRiZTgyOGRmMmM2OWY0ZmIzOTY1Njk5Y2JmOTBmNmMzZmIwMS4uNjUwODQw
NTBkMjVhZWZhZTY3NzUxMWUwODI1YTY0NTNhYTk1MzBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjQ4LDcgKzI0OCw3IEBAIFdlYlBh
Z2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzKQogICAgICwgbV9oYXNDYWNoZWRXaW5kb3dGcmFtZShmYWxzZSkKICAg
ICAsIG1fa2V5Ym9hcmRFdmVudEJlaW5nSW50ZXJwcmV0ZWQoMCkKICAgICAsIG1fdmlld0dlc3R1
cmVHZW9tZXRyeUNvbGxlY3RvcigqdGhpcykKLSNlbGlmIFBMQVRGT1JNKEdUSykKKyNlbGlmIFBM
QVRGT1JNKEdUSykgJiYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgICwgbV9hY2Nlc3NpYmlsaXR5
T2JqZWN0KDApCiAjZW5kaWYKICAgICAsIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyKFJ1bkxvb3A6
Om1haW4oKSwgdGhpcywgJldlYlBhZ2U6OnNldENhblN0YXJ0TWVkaWFUaW1lckZpcmVkKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNmYwNGQ2M2Vl
NGUzMTM2NmVhZmNlODY1MTMyYmIzNzRmNGUzNTg3Mi4uZjc2YzY1NmFmN2NjYzk5NmE1MGZhZTRm
MzQ4ZDc3NWJkYTdiODFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCkBAIC05NDgsMTIgKzk0OCwxMiBAQCBwcml2YXRlOgogCiAjZWxpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCiAgICAgR1Jl
ZlB0cjxXZWJQYWdlQWNjZXNzaWJpbGl0eU9iamVjdD4gbV9hY2Nlc3NpYmlsaXR5T2JqZWN0Owor
I2VuZGlmCiAKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCisjaWYgUExBVEZPUk0oR1RLKSAm
JiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgLy8gT3VyIHZpZXcncyB3aW5kb3cgaW4gdGhl
IFVJIHByb2Nlc3MuCiAgICAgdWludDY0X3QgbV9uYXRpdmVXaW5kb3dIYW5kbGU7CiAjZW5kaWYK
LSNlbmRpZgogCiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBSZWZQdHI8UGFnZUJhbm5lcj4gbV9o
ZWFkZXJCYW5uZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L2d0ay9XZWJQYWdlR3RrLmNwcAppbmRleCBiZjExZjQxNWI4MmYxYTQxYzc1MDI1ZWI3YTcwZmVj
NDg0ZmVkYTQ2Li44N2M1NTViOGQyZDM0OTM0NWVjODllNDQ2ODBjODNmYzI3ZmQ0YmQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0
ay5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHZvaWQgV2ViUGFn
ZTo6cGxhdGZvcm1Jbml0aWFsaXplKCkKIHsKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAg
Ly8gQ3JlYXRlIHRoZSBhY2Nlc3NpYmxlIG9iamVjdCAodGhlIHBsdWcpIHRoYXQgd2lsbCBzZXJ2
ZSBhcyB0aGUKICAgICAvLyBlbnRyeSBwb2ludCB0byB0aGUgV2ViIHByb2Nlc3MsIGFuZCBzZW5k
IGEgbWVzc2FnZSB0byB0aGUgVUkKICAgICAvLyBwcm9jZXNzIHRvIGNvbm5lY3QgdGhlIHR3byB3
b3JsZHMgdGhyb3VnaCB0aGUgYWNjZXNzaWJpbGl0eQpAQCAtNTYsMTIgKzU3LDE0IEBAIHZvaWQg
V2ViUGFnZTo6cGxhdGZvcm1Jbml0aWFsaXplKCkKICAgICBtX2FjY2Vzc2liaWxpdHlPYmplY3Qg
PSBhZG9wdEdSZWYod2ViUGFnZUFjY2Vzc2liaWxpdHlPYmplY3ROZXcodGhpcykpOwogICAgIEdP
d25QdHI8Z2NoYXI+IHBsdWdJRChhdGtfcGx1Z19nZXRfaWQoQVRLX1BMVUcobV9hY2Nlc3NpYmls
aXR5T2JqZWN0LmdldCgpKSkpOwogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Qmlu
ZEFjY2Vzc2liaWxpdHlUcmVlKFN0cmluZyhwbHVnSUQuZ2V0KCkpKSk7CisjZW5kaWYKIAogI2lm
IFVTRShURVhUVVJFX01BUFBFUl9HTCkKICAgICBtX25hdGl2ZVdpbmRvd0hhbmRsZSA9IDA7CiAj
ZW5kaWYKIH0KIAorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIHZvaWQgV2ViUGFnZTo6dXBkYXRl
QWNjZXNzaWJpbGl0eVRyZWUoKQogewogICAgIGlmICghbV9hY2Nlc3NpYmlsaXR5T2JqZWN0KQpA
QCAtNjksNiArNzIsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZUFjY2Vzc2liaWxpdHlUcmVlKCkK
IAogICAgIHdlYlBhZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0UmVmcmVzaChtX2FjY2Vzc2liaWxpdHlP
YmplY3QuZ2V0KCkpOwogfQorI2VuZGlmCiAKIHZvaWQgV2ViUGFnZTo6cGxhdGZvcm1QcmVmZXJl
bmNlc0RpZENoYW5nZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJikKIHsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4NjlkNGE0ZGQ2NmYzMjBl
ODhkMDlkMGNhMTUyNDdmZmYxOGM4M2I3Li43OTc3MGE3Y2IzZGMyMDczMGJmNzkzNDk1OWUxMmE5
NjEyNGZiN2VlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDEtMjAgIFRoaWFnbyBkZSBCYXJyb3MgTGFjZXJk
YSAgPHRoaWFnby5sYWNlcmRhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW0VGTF1bR1RLXSBH
ZXQgRUZMIGFuZCBHVEsgY29tcGlsaW5nIHdpdGggQUNDRVNTSUJJTElUWSBkaXNhYmxlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MTE5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR3VhcmRpbmcgQUND
RVNTSUJJTElUWSBjb2RlIGluIER1bXBSZW5kZXJUcmVlIGFuZCBXZWJLaXRUZXN0UnVubmVyIHdp
dGggSEFWRShBQ0NFU1NJQklMSVRZKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9E
dW1wUmVuZGVyVHJlZUNocm9tZS5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9n
dGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVu
dFZhbHVlcyk6CisgICAgICAgICh3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZCk6CisgICAgICAg
IChtYWluKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnBsYXRmb3JtTmFtZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNJbmRldGVybWluYXRlKToKKwogMjAxNC0wMS0yMCAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZvcmNlIGZsb2F0IGRpdmlzaW9u
IHdoZW4gY2FsY3VsYXRpbmcgQ1NTIHB4IHZhbHVlLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKaW5kZXggNWJmMzE2YTBmMTk5YzNhNzg1
MDdiYTEyNGEyNTg4OTU0YWI1MTdmMi4uM2FhZWNlZmRkMTZhNmQzODAzNDVhNzE5MTFiNDFlODYx
M2MwYjlkOSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJU
cmVlQ2hyb21lLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWVDaHJvbWUuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRWRpdGluZ0NhbGxiYWNr
cy5oIgogI2luY2x1ZGUgIkV2ZW50U2VuZGVyLmgiCiAjaW5jbHVkZSAiR0NDb250cm9sbGVyLmgi
CisjaW5jbHVkZSAiSlNSZXRhaW5QdHIuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlRlc3RSdW5uZXIuaCIKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwCmlu
ZGV4IGQ4OWE4ZDJmNmFiMmNjNTA5ZmM5MjBmNjcwZjgzMGE4ZjcyYmU2MTUuLjRkY2QyYjVmNGJi
ZjNlN2QzM2JhOGFlMmQzZjBiNTQxY2YzMTcwZjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcApAQCAtMjUsNiAr
MjUsOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKKwogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCiAKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5Q2FsbGJhY2tzLmgiCkBAIC03MiwzICs3NSw1IEBAIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJ
ZChKU1N0cmluZ1JlCiAgICAgcmV0dXJuIDA7CiAKIH0KKworI2VuZGlmIC8vIEhBVkUoQUNDRVNT
SUJJTElUWSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVy
VHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCmlu
ZGV4IDE1ZjJmNjE3Yzc2NjNiMDgxM2M5MjlmMzY5ZDc4OTNjN2JlMGRhNzkuLjQwYzM1YzQ3MjA4
ZDc1NGNkZjY2YTJlMzBmOWI5NTI1NTM4ZGZjOGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Z3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODEsNyArODEsOSBAQCBzdGF0aWMgYm9vbCBkdW1w
UGl4ZWxzRm9yQ3VycmVudFRlc3Q7CiBzdGF0aWMgaW50IGR1bXBUcmVlID0gMTsKIHN0YXRpYyBp
bnQgdXNlVGltZW91dFdhdGNoZG9nID0gMTsKIAorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyKiBheENvbnRyb2xsZXIgPSAwOworI2VuZGlmCiBSZWZQdHI8
VGVzdFJ1bm5lcj4gZ1Rlc3RSdW5uZXI7CiBzdGF0aWMgR0NDb250cm9sbGVyKiBnY0NvbnRyb2xs
ZXIgPSAwOwogc3RhdGljIFdlYktpdFdlYlZpZXcqIHdlYlZpZXc7CkBAIC01MjksOCArNTMxLDEw
IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIER1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0RGVmZXJzTG9hZGluZyh3ZWJWaWV3LCBmYWxzZSk7
CiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRTZXJpYWxpemVIVFRQTG9hZHMoZmFs
c2UpOwogCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIGlmIChheENvbnRyb2xsZXIpCiAg
ICAgICAgIGF4Q29udHJvbGxlci0+cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworI2VuZGlmCiAK
ICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmNsZWFyT3BlbmVyKG1haW5GcmFtZSk7CiAg
ICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRUcmFja3NSZXBhaW50cyhtYWluRnJhbWUs
IGZhbHNlKTsKQEAgLTkyMSw4ICs5MjUsMTAgQEAgc3RhdGljIHZvaWQgd2ViVmlld1dpbmRvd09i
amVjdENsZWFyZWQoV2ViS2l0V2ViVmlldyogdmlldywgV2ViS2l0V2ViRnJhbWUqIGZyYW0KICAg
ICBnY0NvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAm
ZXhjZXB0aW9uKTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAKKyNpZiBIQVZFKEFDQ0VTU0lC
SUxJVFkpCiAgICAgYXhDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRv
d09iamVjdCwgJmV4Y2VwdGlvbik7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOworI2VuZGlmCiAK
ICAgICBhZGRDb250cm9sbGVyVG9XaW5kb3coY29udGV4dCwgd2luZG93T2JqZWN0LCAiZXZlbnRT
ZW5kZXIiLCBtYWtlRXZlbnRTZW5kZXIoY29udGV4dCwgIXdlYmtpdF93ZWJfZnJhbWVfZ2V0X3Bh
cmVudChmcmFtZSkpKTsKICAgICBhZGRDb250cm9sbGVyVG9XaW5kb3coY29udGV4dCwgd2luZG93
T2JqZWN0LCAidGV4dElucHV0Q29udHJvbGxlciIsIG1ha2VUZXh0SW5wdXRDb250cm9sbGVyKGNv
bnRleHQpKTsKQEAgLTE1MjQsNyArMTUzMCw5IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBh
cmd2W10pCiAgICAgc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRTdGF0ZVZhbHVlc0ZvclRlc3Rpbmco
KTsKIAogICAgIGdjQ29udHJvbGxlciA9IG5ldyBHQ0NvbnRyb2xsZXIoKTsKKyNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpCiAgICAgYXhDb250cm9sbGVyID0gbmV3IEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKCk7CisjZW5kaWYKIAogICAgIGlmICh1c2VMb25nUnVubmluZ1NlcnZlck1vZGUoYXJnYywg
YXJndikpIHsKICAgICAgICAgcHJpbnRTZXBhcmF0b3JzID0gdHJ1ZTsKQEAgLTE1MzgsOCArMTU0
NiwxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIGRlbGV0ZSBnY0Nv
bnRyb2xsZXI7CiAgICAgZ2NDb250cm9sbGVyID0gMDsKIAorI2lmIEhBVkUoQUNDRVNTSUJJTElU
WSkKICAgICBkZWxldGUgYXhDb250cm9sbGVyOwogICAgIGF4Q29udHJvbGxlciA9IDA7CisjZW5k
aWYKIAogICAgIGd0a193aWRnZXRfZGVzdHJveSh3aW5kb3cpOwogCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuY3BwCmluZGV4IGM4YWQ0MDZmOTA5NTZlNmNlOGNmNzExMTc4MGFmNmY1Y2Zh
YmI5ZmQuLmY1ZDFiZDU4Yjg5OWQ4MTY1NTMxYzkwY2I2NTIwYTUwOWU4MDFhOTIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC05Myw2ICs5Myw3IEBAIGJvb2wgQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkgeyByZXR1cm4g
ZmFsc2U7IH0KIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZChKU1N0cmluZ1JlZiBhdHRyaWJ1dGUp
IHsgcmV0dXJuIG51bGxwdHI7IH0KIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmxvZ0Fj
Y2Vzc2liaWxpdHlFdmVudHMoKSB7IH0KIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKSB7IH0KK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcjo6cGxhdGZvcm1OYW1lKCkgeyByZXR1cm4gSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+KEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiIikpOyB9
CiAjZW5kaWYKIAogI2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKEVGTCkpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAppbmRleCA0MDcy
ZmY1OTAxNzhjZmM5NTJjMDY5ZjNlNzc1ZDdhMTUwNDM3NzcwLi5kZDgxMWRlMjg1ZjI2MjA3YWI3
Y2ZmMTY4NDE4ODEzMjk4MGE5NzEyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAK
QEAgLTEyOSw2ICsxMjksNyBAQCB1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxl
Y3RlZENoaWxkcmVuQ291bnQoKSBjb25zdCB7IHJldHVybiAwOyB9CiBQYXNzUmVmUHRyPEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkQ2hpbGRB
dEluZGV4KHVuc2lnbmVkKSBjb25zdCB7IHJldHVybiAwOyB9CiBib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzRXhwYW5kZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0NoZWNrZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQor
Ym9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Zpc2libGUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc09m
ZlNjcmVlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiBib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQ29sbGFwc2VkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>