<?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>114353</bug_id>
          
          <creation_ts>2013-04-10 05:16:37 -0700</creation_ts>
          <short_desc>[CoordinatedGraphics] Use ScrollingStateTree to handle fixed elements positioning while scrolling</short_desc>
          <delta_ts>2013-04-12 16:50:40 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>andersca</cc>
    
    <cc>anilsson</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jamesr</cc>
    
    <cc>jberlin</cc>
    
    <cc>jesus</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>luciano.wolf</cc>
    
    <cc>luiz</cc>
    
    <cc>mark.salisbury</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
    
    <cc>rafael.lobo</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>872727</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-10 05:16:37 -0700</bug_when>
    <thetext>ScrollingCoordinatorCoordinatedGraphics should implement threaded scrolling interface and re-use threaded scrolling approach (ScrollingStateTree and ViewportConstraints) to handle fixed(sticky) elements positioning while scrolling.
The rational:
1) Currently ScrollingCoordinatorCoordinatedGraphics implements Chromium-specific interface which is going to be removed eventually
   as there is no ScrollingCoordinatorChromium existing.(besides this interface has been modified and fixed elements positioning is broken,
   see https://bugs.webkit.org/show_bug.cgi?id=113932)
2) Threaded scrolling has a lot of useful functionality for handling both fixed and sticky elements positioning while scrolling that will
   be needed in coord graphics as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872730</commentid>
    <comment_count>1</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-10 05:17:14 -0700</bug_when>
    <thetext>*** Bug 113932 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872734</commentid>
    <comment_count>2</comment_count>
      <attachid>197251</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-10 05:50:11 -0700</bug_when>
    <thetext>Created attachment 197251
WIP

Qt build support is absent as well as change log, however the approach is clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872735</commentid>
    <comment_count>3</comment_count>
      <attachid>197251</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-10 05:55:10 -0700</bug_when>
    <thetext>Comment on attachment 197251
WIP

Attachment 197251 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17746002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872736</commentid>
    <comment_count>4</comment_count>
      <attachid>197251</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-10 05:55:59 -0700</bug_when>
    <thetext>Comment on attachment 197251
WIP

Attachment 197251 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17623022</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872737</commentid>
    <comment_count>5</comment_count>
      <attachid>197251</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-10 05:56:13 -0700</bug_when>
    <thetext>Comment on attachment 197251
WIP

Attachment 197251 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17692052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872739</commentid>
    <comment_count>6</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-10 05:58:22 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 197251 [details])
&gt; Attachment 197251 [details] did not pass efl-ews (efl):
&gt; Output: http://webkit-commit-queue.appspot.com/results/17623022

Apparently need to add ScrollingStateScrollingNode::setCounterScrollingLayer definition, strange that it builds for me locally :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872745</commentid>
    <comment_count>7</comment_count>
      <attachid>197254</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-10 06:22:21 -0700</bug_when>
    <thetext>Created attachment 197254
WIP 2

Check EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872746</commentid>
    <comment_count>8</comment_count>
      <attachid>197255</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-10 06:25:00 -0700</bug_when>
    <thetext>Created attachment 197255
WIP 2

Check EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872750</commentid>
    <comment_count>9</comment_count>
      <attachid>197255</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-10 06:29:42 -0700</bug_when>
    <thetext>Comment on attachment 197255
WIP 2

Attachment 197255 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17699059</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872751</commentid>
    <comment_count>10</comment_count>
      <attachid>197255</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-10 06:30:09 -0700</bug_when>
    <thetext>Comment on attachment 197255
WIP 2

Attachment 197255 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17670068</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872753</commentid>
    <comment_count>11</comment_count>
      <attachid>197255</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-10 06:32:59 -0700</bug_when>
    <thetext>Comment on attachment 197255
WIP 2

Attachment 197255 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17609042</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872765</commentid>
    <comment_count>12</comment_count>
      <attachid>197260</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-10 06:51:10 -0700</bug_when>
    <thetext>Created attachment 197260
WIP 3

Added missing functions definitions, completely removed guards from ScrollingTreeState files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873602</commentid>
    <comment_count>13</comment_count>
      <attachid>197519</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-11 00:55:47 -0700</bug_when>
    <thetext>Created attachment 197519
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873759</commentid>
    <comment_count>14</comment_count>
      <attachid>197519</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-04-11 04:51:58 -0700</bug_when>
    <thetext>Comment on attachment 197519
patch

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

&gt; Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:59
&gt; +    ASSERT(frameView-&gt;scrollLayerID());
&gt; +    attachToStateTree(ScrollingNode, frameView-&gt;scrollLayerID(), 0);

Do you need this now?
This might cause nasty side effects for WKCoordinatedSceneFindScrollableContentsLayerAt.

&gt; Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:51
&gt; +void ScrollingStateNode::setScrollLayer(GraphicsLayer* graphicsLayer)
&gt; +{
&gt; +    m_graphicsLayer = graphicsLayer;
&gt; +}

This might not be needed but Mac has this suspicious code that could be helpful when an existing node has its GraphicsLayer changed:
    setPropertyChanged(ScrollLayer);
    m_scrollingStateTree-&gt;setHasChangedProperties(true);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873769</commentid>
    <comment_count>15</comment_count>
      <attachid>197519</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-11 05:34:28 -0700</bug_when>
    <thetext>Comment on attachment 197519
patch

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

&gt;&gt; Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:59
&gt;&gt; +    attachToStateTree(ScrollingNode, frameView-&gt;scrollLayerID(), 0);
&gt; 
&gt; Do you need this now?
&gt; This might cause nasty side effects for WKCoordinatedSceneFindScrollableContentsLayerAt.

agree, this could be obviated as we need scroll state tree just to track constrained elements so far.

&gt;&gt; Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:51
&gt;&gt; +}
&gt; 
&gt; This might not be needed but Mac has this suspicious code that could be helpful when an existing node has its GraphicsLayer changed:
&gt;     setPropertyChanged(ScrollLayer);
&gt;     m_scrollingStateTree-&gt;setHasChangedProperties(true);

mm.. I do not see how it can be used for us, as we do not use scroll state tree &quot;commits&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873770</commentid>
    <comment_count>16</comment_count>
      <attachid>197581</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-11 05:37:16 -0700</bug_when>
    <thetext>Created attachment 197581
patch v2

removed ScrollingCoordinatorCoordinatedGraphics::frameViewRootLayerDidChange</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873773</commentid>
    <comment_count>17</comment_count>
      <attachid>197581</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-04-11 06:03:03 -0700</bug_when>
    <thetext>Comment on attachment 197581
patch v2

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        fixed(sticky) elements positioning while scrolling. The rationals are below.

fixed/sticky

&gt; Source/WebCore/ChangeLog:17
&gt; +        Threaded scrolling has a lot of useful functionality for handling both fixed and sticky elements
&gt; +        positioning while scrolling that will be needed in coord graphics as well.

Comment unnecessary :)

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

Remove line

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

Remove line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873775</commentid>
    <comment_count>18</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-11 06:15:16 -0700</bug_when>
    <thetext>Committed r148197: &lt;http://trac.webkit.org/changeset/148197&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874196</commentid>
    <comment_count>19</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-04-11 15:01:47 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Committed r148197: &lt;http://trac.webkit.org/changeset/148197&gt;

This broke the Lion Build

http://build.webkit.org/builders/Apple%20Lion%20Debug%20%28Build%29/builds/14913/steps/compile-webkit/logs/stdio

Ld /Volumes/Data/slave/lion-debug/build/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore normal x86_64
    cd /Volumes/Data/slave/lion-debug/build/Source/WebCore
    setenv MACOSX_DEPLOYMENT_TARGET 10.7
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -dynamiclib -L/Volumes/Data/slave/lion-debug/build/WebKitBuild/Debug -F/Volumes/Data/slave/lion-debug/build/WebKitBuild/Debug -F/System/Library/Frameworks/Carbon.framework/Frameworks -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks -F/System/Library/Frameworks/CoreServices.framework/Frameworks -filelist /Volumes/Data/slave/lion-debug/build/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCore.LinkFileList -Xlinker --no-demangle -exported_symbols_list /Volumes/Data/slave/lion-debug/build/WebKitBuild/Debug/DerivedSources/WebCore/WebCore.LP64.exp -install_name /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore -mmacosx-version-min=10.7 -lsqlite3 -lobjc -lANGLE -allowable_client WebCoreTestSupport -sub_library libobjc -umbrella WebKit -allowable_client WebKit2 -framework IOSurface -stdlib=libc++ -fobjc-link-runtime -framework Accelerate -framework ApplicationServices -framework AudioToolbox -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework IOKit -framework JavaScriptCore -licucore -lobjc -lxml2 -lz -framework OpenGL -framework QuartzCore -framework SystemConfiguration -single_module -compatibility_version 1 -current_version 537.37 -o /Volumes/Data/slave/lion-debug/build/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore
Undefined symbols for architecture x86_64:
  &quot;__ZN7WebCore18ScrollingStateNode22setScrollPlatformLayerEP7CALayer&quot;, referenced from:
      __ZN7WebCore18ScrollingStateNodeC2ERKS0_ in ScrollingStateNode.o
  &quot;__ZN7WebCore27ScrollingStateScrollingNode24setCounterScrollingLayerEPNS_13GraphicsLayerE&quot;, referenced from:
      __ZN7WebCore27ScrollingStateScrollingNodeC2ERKS0_ in ScrollingStateScrollingNode.o
  &quot;__ZNK7WebCore18ScrollingStateNode19platformScrollLayerEv&quot;, referenced from:
      __ZN7WebCore18ScrollingStateNodeC2ERKS0_ in ScrollingStateNode.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874215</commentid>
    <comment_count>20</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-11 15:16:48 -0700</bug_when>
    <thetext>Lion build fix attempted in http://trac.webkit.org/changeset/148239.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874223</commentid>
    <comment_count>21</comment_count>
      <attachid>197581</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-04-11 15:24:50 -0700</bug_when>
    <thetext>Comment on attachment 197581
patch v2

So now all platforms that include these files build Scrolling* code that is only needed by two of them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874233</commentid>
    <comment_count>22</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-04-11 15:43:07 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 197581 [details])
&gt; So now all platforms that include these files build Scrolling* code that is only needed by two of them?

I think that’s fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874303</commentid>
    <comment_count>23</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-11 17:19:37 -0700</bug_when>
    <thetext>Another Lion build fix attempted in http://trac.webkit.org/changeset/148252.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874874</commentid>
    <comment_count>24</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-04-12 11:32:49 -0700</bug_when>
    <thetext>This broke the GTK+ build (the bots are showing it, likely because they haven&apos;t done a full build). It&apos;s been broken for a day now. Here&apos;s the error:

./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer(WebCore::GraphicsLayer*)&apos;
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::setScrollPlatformLayer(WebCore::TextureMapperPlatformLayer*)&apos;
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::platformScrollLayer() const&apos;
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateStickyNode::create(WebCore::ScrollingStateTree*, unsigned long)&apos;
collect2: error: ld returned 1 exit status
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer(WebCore::GraphicsLayer*)&apos;
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::setScrollPlatformLayer(WebCore::TextureMapperPlatformLayer*)&apos;
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::platformScrollLayer() const&apos;
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateStickyNode::create(WebCore::ScrollingStateTree*, unsigned long)&apos;
collect2: error: ld returned 1 exit status
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer(WebCore::GraphicsLayer*)&apos;
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCoremake[1]: ::ScrollingStateNode::setScrollPlatformLayer(WebCore::TextureMapperPlatformLayer*)&apos;
./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::platformScrollLayer() const&apos;
./.libs/libwebkitgtk-3.0.so: *** [Programs/unittests/testapplicationcache] Error 1undefined 
reference to `WebCore::ScrollingStateStickyNode::.create(WebCore::make[1]: ScrollingStateTree/**** Waiting for unfinished jobs...., .
unsignedlibs long/)make[1]: libwebkitgtk*** [Programs/unittests/testdomdomwindow] Error 1&apos;-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874876</commentid>
    <comment_count>25</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-04-12 11:34:55 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; This broke the GTK+ build (the bots are showing it, likely because they haven&apos;t done a full build). It&apos;s been broken for a day now. Here&apos;s the error:
&gt; 
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer(WebCore::GraphicsLayer*)&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::setScrollPlatformLayer(WebCore::TextureMapperPlatformLayer*)&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::platformScrollLayer() const&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateStickyNode::create(WebCore::ScrollingStateTree*, unsigned long)&apos;
&gt; collect2: error: ld returned 1 exit status
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer(WebCore::GraphicsLayer*)&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::setScrollPlatformLayer(WebCore::TextureMapperPlatformLayer*)&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::platformScrollLayer() const&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateStickyNode::create(WebCore::ScrollingStateTree*, unsigned long)&apos;
&gt; collect2: error: ld returned 1 exit status
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer(WebCore::GraphicsLayer*)&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCoremake[1]: ::ScrollingStateNode::setScrollPlatformLayer(WebCore::TextureMapperPlatformLayer*)&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::ScrollingStateNode::platformScrollLayer() const&apos;
&gt; ./.libs/libwebkitgtk-3.0.so: *** [Programs/unittests/testapplicationcache] Error 1undefined 
&gt; reference to `WebCore::ScrollingStateStickyNode::.create(WebCore::make[1]: ScrollingStateTree/**** Waiting for unfinished jobs...., .
&gt; unsignedlibs long/)make[1]: libwebkitgtk*** [Programs/unittests/testdomdomwindow] Error 1&apos;-

So it seems that we need an empty implementation for these methods or instead or removing the guards they should be #if ENABLE(THREADED_SCROLLING) || ENABLE(COORDINATED_GRAPHICS). I think extending the guards would have been a lot safer than forcing dead code into other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875049</commentid>
    <comment_count>26</comment_count>
    <who name="Mark Salisbury">mark.salisbury</who>
    <bug_when>2013-04-12 16:50:40 -0700</bug_when>
    <thetext>I&apos;ve created https://bugs.webkit.org/show_bug.cgi?id=114545 and attached a patch to add in #if ENABLE(THREADED_SCROLLING) guards.

If someone would review/commit it, I&apos;d be grateful.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197251</attachid>
            <date>2013-04-10 05:50:11 -0700</date>
            <delta_ts>2013-04-10 06:22:21 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug114353_WIP</filename>
            <type>text/plain</type>
            <size>15480</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDcxNWYzN2FmOGM4NzI5NTQyOGI2OTdmOTZmMWRhZTExMTZmMjFiZjEKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEFwciAxMCAxNTo0NDoyNiAyMDEzICswMzAwCgogICAgYnVnMTE0MzUzCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA0NjE4MzI1Li40ZDE2MDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTgyMiw3ICsxODIyLDEzIEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNwcAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWRO
b2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCisgICAgcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdy
YXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCiAKICAgICBwbGF0Zm9ybS9BcmVuYS5jcHAKICAgICBwbGF0Zm9y
bS9Bc3luY0ZpbGVTeXN0ZW0uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKaW5kZXggY2VmM2NiNC4uOThi
MWQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIlRl
eHRTdHJlYW0uaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFE
RURfU0NST0xMSU5HKQorI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMTMsNCArMTEz
LDQgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0
cmVhbSYgdHMsIGludCBpbmRlbnQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKFRI
UkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2Rl
LmgKaW5kZXggNjFhMmFlYy4uODRhZTQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCkBAIC0yNiw3ICsyNiw3
IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlX2gKICNkZWZpbmUgU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGVfaAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBF
TkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAK
ICNpbmNsdWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0
YXRlTm9kZS5oIgpAQCAtNzYsNiArNzYsNiBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNlbmRpZiAvLyBF
TkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAK
ICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcAppbmRleCA4ZTMyYjQ2
Li4zNzgxNmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlTm9kZS5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBF
TkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQ4LDQgKzE0OCw0IEBAIFN0cmluZyBTY3JvbGxp
bmdTdGF0ZU5vZGU6OnNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpIGNvbnN0CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisj
ZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZU5vZGUuaAppbmRleCA2ZjkzZTRiLi45ODAwZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaApAQCAtMjYsNyArMjYsNyBA
QAogI2lmbmRlZiBTY3JvbGxpbmdTdGF0ZU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZU5v
ZGVfaAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFE
RURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJQ
bGF0Zm9ybUxheWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKQEAgLTEx
Nyw2ICsxMTcsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJMRShUSFJFQURF
RF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2VuZGlmIC8vIFNj
cm9sbGluZ1N0YXRlTm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCAyMzk4OWJk
Li5kNjkwYzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAK
ICNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCi0jaWYg
RU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5H
KSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMjg1LDQgKzI4NSw0IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1w
UHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywgaW50IGluZGVudCkgY29uCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5k
aWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAppbmRleCA0MzUxMzZmLi44NGQwMTQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVfaAog
Ci0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NS
T0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJJbnRSZWN0
LmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgiCkBAIC0xNzIsNiArMTcyLDYgQEAgdm9pZCB0b1Njcm9s
bGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUq
KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVE
X1NDUk9MTElORykKKyNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVTdGlja3lOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAKaW5kZXggZDI4YWI4Yi4uMzgxZjY3ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGUuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiVGV4dFN0cmVhbS5o
IgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJ
TkcpCisjaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEzMiw0ICsxMzIsNCBAQCB2b2lk
IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMs
IGludCBpbmRlbnQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1ND
Uk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAppbmRl
eCBiMmNmNzU0Li41NGE3ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaApAQCAtMjYsNyArMjYsNyBAQAog
I2lmbmRlZiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGVfaAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFC
TEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNp
bmNsdWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRl
Tm9kZS5oIgpAQCAtNzYsNiArNzYsNiBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2Rl
KGNvbnN0IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSopOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVO
QUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAog
I2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcAppbmRleCA1NmQ2ZTdl
Li4yNGNlMzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlVHJlZS5jcHAKQEAgLTI1LDcgKzI1LDcgQEAKICAKICNpbmNsdWRlICJjb25m
aWcuaCIKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKFRIUkVB
REVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5jbHVkZSAi
U2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAKQEAgLTE4Miw0ICsxODIsNCBAQCBTY3JvbGxpbmdTdGF0
ZU5vZGUqIFNjcm9sbGluZ1N0YXRlVHJlZTo6c3RhdGVOb2RlRm9ySUQoU2Nyb2xsaW5nTm9kZUlE
IHNjcm9sbExheQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUo
VEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcp
IHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKaW5kZXggNWQ2ZDgyYi4uNjA3NWIyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVU
cmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVU
cmVlLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgU2Nyb2xsaW5nU3RhdGVUcmVlX2gKICNk
ZWZpbmUgU2Nyb2xsaW5nU3RhdGVUcmVlX2gKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJ
TkcpCisjaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgpAQCAtNzksNiArNzksNiBAQCBwcml2YXRlOgogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQor
I2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9H
UkFQSElDUykKIAogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlVHJlZV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRp
bmF0ZWRHcmFwaGljcy5jcHAKaW5kZXggOWQ4ZWM0Ny4uZjBmY2FkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdD
b29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29y
ZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtMzAsMjEgKzMwLDc0IEBACiAjaW5jbHVkZSAiU2Nyb2xs
aW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmgiCiAKICNpbmNsdWRlICJDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllckJh
Y2tpbmcuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIlNj
cm9sbGluZ1N0YXRlRml4ZWROb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgiCisjaW5jbHVk
ZSAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6
OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcyhQYWdlKiBwYWdlKQogICAg
IDogU2Nyb2xsaW5nQ29vcmRpbmF0b3IocGFnZSkKKyAgICAsIG1fc2Nyb2xsaW5nU3RhdGVUcmVl
KFNjcm9sbGluZ1N0YXRlVHJlZTo6Y3JlYXRlKCkpCiB7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxh
eWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBib29sIGVuYWJsZSkKK1Njcm9sbGluZ0Nvb3JkaW5h
dG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6flNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRH
cmFwaGljcygpCiB7Ci0gICAgaWYgKCFtX3BhZ2UtPnNldHRpbmdzKCktPmFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCgpKQorfQorCit2b2lkIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdl
KEZyYW1lVmlldyogZnJhbWVWaWV3KQoreworICAgIEFTU0VSVChmcmFtZVZpZXctPnNjcm9sbExh
eWVySUQoKSk7CisgICAgYXR0YWNoVG9TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZSwgZnJhbWVWaWV3
LT5zY3JvbGxMYXllcklEKCksIDApOworfQorCitTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjphdHRhY2hUb1N0YXRlVHJlZShTY3JvbGxpbmdO
b2RlVHlwZSBub2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEIG5ld05vZGVJRCwgU2Nyb2xsaW5nTm9k
ZUlEIHBhcmVudElEKQoreworICAgIHJldHVybiBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+YXR0YWNo
Tm9kZShub2RlVHlwZSwgbmV3Tm9kZUlELCBwYXJlbnRJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5n
Q29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpkZXRhY2hGcm9tU3RhdGVUcmVlKFNjcm9s
bGluZ05vZGVJRCBub2RlSUQpCit7CisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9z
Y3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKG5vZGUg
JiYgbm9kZS0+aXNGaXhlZE5vZGUoKSkKKyAgICAgICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5
ZXIobm9kZS0+Z3JhcGhpY3NMYXllcigpKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KGZhbHNlKTsKKwor
ICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5kZXRhY2hOb2RlKG5vZGVJRCk7Cit9CisKK3ZvaWQg
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpjbGVhclN0YXRlVHJlZSgp
Cit7CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPmNsZWFyKCk7Cit9CisKK3ZvaWQgU2Nyb2xs
aW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFp
bmVkTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlELCBjb25zdCBWaWV3cG9ydENvbnN0cmFpbnRz
JiBjb25zdHJhaW50cywgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKK3sKKyAgICBBU1NF
UlQoc3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5ZXJzKCkpOworCisgICAgU2Nyb2xsaW5nU3RhdGVO
b2RlKiBub2RlID0gbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7
CisgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47Ci0gICAgdG9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIobGF5ZXIpLT5zZXRGaXhlZFRvVmlld3BvcnQoZW5hYmxlKTsKKworICAgIHN3aXRj
aCAoY29uc3RyYWludHMuY29uc3RyYWludFR5cGUoKSkgeworICAgIGNhc2UgVmlld3BvcnRDb25z
dHJhaW50czo6Rml4ZWRQb3NpdGlvbkNvbnN0YWludDogeworICAgICAgICB0b0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllcihncmFwaGljc0xheWVyKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KHRydWUpOyAv
LyBGSVhNRSA6IFVzZSBjb25zdHJhaW50cyEKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGUqIGZpeGVkTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUobm9kZSk7CisgICAgICAg
IGZpeGVkTm9kZS0+c2V0U2Nyb2xsTGF5ZXIoZ3JhcGhpY3NMYXllcik7CisgICAgICAgIGJyZWFr
OworICAgIH0KKyAgICBjYXNlIFZpZXdwb3J0Q29uc3RyYWludHM6OlN0aWNreVBvc2l0aW9uQ29u
c3RyYWludDoKKyAgICAgICAgYnJlYWs7IC8vIEZJWE1FIDogU3VwcG9ydCBzdGlja3kgZWxlbWVu
dHMuCisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQog
fQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6c2Nyb2xs
YWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFy
ZWEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRl
ZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdD
b29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuaAppbmRleCA2NzQ4ZTRlLi40N2RmNzBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBo
aWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmgKQEAgLTMyLDE5ICszMiwzMSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFNjcm9sbGluZ1N0YXRlVHJlZTsKKwogY2xhc3MgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzIDogcHVibGljIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY3JvbGxpbmdDb29yZGluYXRvckNv
b3JkaW5hdGVkR3JhcGhpY3MoUGFnZSopOworICAgIHZpcnR1YWwgflNjcm9sbGluZ0Nvb3JkaW5h
dG9yQ29vcmRpbmF0ZWRHcmFwaGljcygpOworCisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRml4
ZWRQb3NpdGlvbkxheWVycygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKworICAg
IHZpcnR1YWwgdm9pZCBmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3KikgT1ZF
UlJJREU7CisgICAgdmlydHVhbCBTY3JvbGxpbmdOb2RlSUQgYXR0YWNoVG9TdGF0ZVRyZWUoU2Ny
b2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBuZXdOb2RlSUQsIFNjcm9sbGluZ05vZGVJ
RCBwYXJlbnRJRCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRldGFjaEZyb21TdGF0ZVRy
ZWUoU2Nyb2xsaW5nTm9kZUlEKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJTdGF0
ZVRyZWUoKSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydENvbnN0
cmFpbmVkTm9kZShTY3JvbGxpbmdOb2RlSUQsIGNvbnN0IFZpZXdwb3J0Q29uc3RyYWludHMmLCBH
cmFwaGljc0xheWVyKikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGaXhl
ZFBvc2l0aW9uTGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKikgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95U2Nyb2xsYWJsZUFyZWEoU2Nyb2xs
YWJsZUFyZWEqKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllcklzRml4ZWRU
b0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQg
c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSopOwotICAg
IHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKik7
Citwcml2YXRlOgorICAgIE93blB0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IG1fc2Nyb2xsaW5nU3Rh
dGVUcmVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQogCi0jZW5kaWYKKyNlbmRpZiAvLyBTY3JvbGxpbmdDb29yZGlu
YXRvckNvb3JkaW5hdGVkR3JhcGhpY3NfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZU5vZGVDb29yZGlu
YXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5h
dGVkZ3JhcGhpY3MvU2Nyb2xsaW5nU3RhdGVOb2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ1OTEyMwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Ny
b2xsaW5nU3RhdGVOb2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKQEAgLTAsMCArMSw0MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNjcm9s
bGluZ1N0YXRlTm9kZS5oIgorCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgorI2luY2x1ZGUg
IlNjcm9sbGluZ1N0YXRlVHJlZS5oIgorCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRTY3Jv
bGxMYXllcihHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQoreworICAgIG1fZ3JhcGhpY3NM
YXllciA9IGdyYXBoaWNzTGF5ZXI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
</data>
<flag name="commit-queue"
          id="219332"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197254</attachid>
            <date>2013-04-10 06:22:21 -0700</date>
            <delta_ts>2013-04-10 06:23:52 -0700</delta_ts>
            <desc>WIP 2</desc>
            <filename>bug114353_WIP2</filename>
            <type>text/plain</type>
            <size>17289</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGZiMTY4ZDBiMjhhZjU0OWU1OWM1NjhjNjBiZmYyMTA3MTRhMmUyYjUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEFwciAxMCAxNTo0NDoyNiAyMDEzICswMzAwCgogICAgYnVnMTE0MzUzCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA0NjE4MzI1Li4yMjgwODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTgyMiw3ICsxODIyLDE0IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNwcAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWRO
b2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCisgICAgcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdy
YXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCisgICAgcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGlj
cy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcAogCiAg
ICAgcGxhdGZvcm0vQXJlbmEuY3BwCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKaW5kZXggYzhhNGE5NC4uNDk4NDQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC00MTQyLDYg
KzQxNDIsMTMgQEAgZW5hYmxlPyhDQU5WQVNfUFJPWFkpIHsKIAogdXNlPygzRF9HUkFQSElDUykg
ewogICAgIEhFQURFUlMgKz0gXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb25z
dHJhaW50cy5oIFwKKyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
aCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmggXAor
ICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBcCisgICAgICAgIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIFwKKyAgICAgICAgcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggXAorICAgICAgICBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaCBcCiAgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL2Nv
b3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
LmggXAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL0dyYXBoaWNzQ29udGV4dDNE
TkVPTi5oIFwKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuaCBc
CkBAIC00MTY3LDcgKzQxNzQsMTYgQEAgdXNlPygzRF9HUkFQSElDUykgewogICAgICAgICBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVXBkYXRlQXRsYXMuaAogCiAgICAgU09V
UkNFUyArPSBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNw
cCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBcCisg
ICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcCBcCisgICAg
ICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAgXAorICAgICAgICBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwIFwKKyAgICAgICAgcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcCBcCisgICAgICAgIHBhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAgXAogICAgICAgICBwYWdlL3Njcm9sbGlu
Zy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFw
aGljcy5jcHAgXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Nj
cm9sbGluZ1N0YXRlTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIFwKKyAgICAgICAgcGFnZS9z
Y3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVD
b29yZGluYXRlZEdyYXBoaWNzLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL0FOR0xF
V2ViS2l0QnJpZGdlLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVy
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKaW5kZXggY2VmM2NiNC4uOThiMWQ3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQor
I2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElD
UykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMTMsNCArMTEzLDQgQEAgdm9pZCBTY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIGludCBp
bmRlbnQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElO
RykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKaW5kZXggNjFhMmFl
Yy4uODRhZTQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFNj
cm9sbGluZ1N0YXRlRml4ZWROb2RlX2gKICNkZWZpbmUgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGVf
aAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJTY3Jv
bGxpbmdDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5oIgpAQCAt
NzYsNiArNzYsNiBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoY29uc3QgU2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNlbmRpZiAvLyBTY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcAppbmRleCA4ZTMyYjQ2Li4zNzgxNmM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9k
ZS5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTQ4LDQgKzE0OCw0IEBAIFN0cmluZyBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNj
cm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAppbmRl
eCA2ZjkzZTRiLi45ODAwZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3Jv
bGxpbmdTdGF0ZU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZU5vZGVfaAogCi0jaWYgRU5B
QkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8
fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgi
CiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKQEAgLTExNyw2ICsxMTcsNiBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhS
RUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlTm9k
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCAyMzk4OWJkLi5kNjkwYzE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJUZXh0
U3RyZWFtLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCi0jaWYgRU5BQkxFKFRIUkVBREVE
X1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjg1LDQgKzI4NSw0
IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyhUZXh0
U3RyZWFtJiB0cywgaW50IGluZGVudCkgY29uCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKFRI
UkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUuaAppbmRleCA0MzUxMzZmLi44NGQwMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUu
aApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVf
aAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVfaAogCi0jaWYgRU5BQkxFKFRI
UkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAi
UmVnaW9uLmgiCkBAIC0xNzIsNiArMTcyLDYgQEAgdm9pZCB0b1Njcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUqKTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNl
bmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCiAKICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3Rp
Y2t5Tm9kZS5jcHAKaW5kZXggZDI4YWI4Yi4uMzgxZjY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
CkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEzMiw0ICsxMzIsNCBAQCB2b2lkIFNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIGludCBpbmRlbnQpIGNv
bnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURF
RF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAppbmRleCBiMmNmNzU0Li41NGE3
ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVN0aWNreU5vZGUuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxp
bmdTdGF0ZVN0aWNreU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGVfaAog
Ci0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NS
T0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJTY3JvbGxp
bmdDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5oIgpAQCAtNzYs
NiArNzYsNiBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlKGNvbnN0IFNjcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZSopOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9T
Q1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2VuZGlmIC8vIFNjcm9s
bGluZ1N0YXRlU3RpY2t5Tm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcAppbmRleCA1NmQ2ZTdlLi4yNGNlMzQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJl
ZS5jcHAKQEAgLTI1LDcgKzI1LDcgQEAKICAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVO
QUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykg
fHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVU
cmVlLmgiCiAKQEAgLTE4Miw0ICsxODIsNCBAQCBTY3JvbGxpbmdTdGF0ZU5vZGUqIFNjcm9sbGlu
Z1N0YXRlVHJlZTo6c3RhdGVOb2RlRm9ySUQoU2Nyb2xsaW5nTm9kZUlEIHNjcm9sbExheQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xM
SU5HKQorI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVUcmVlLmgKaW5kZXggNWQ2ZDgyYi4uNjA3NWIyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgU2Nyb2xsaW5nU3RhdGVUcmVlX2gKICNkZWZpbmUgU2Nyb2xsaW5n
U3RhdGVUcmVlX2gKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5j
bHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgpAQCAtNzksNiArNzksNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2Vu
ZGlmIC8vIFNjcm9sbGluZ1N0YXRlVHJlZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29v
cmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29y
ZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5j
cHAKaW5kZXggOWQ4ZWM0Ny4uZjBmY2FkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nv
b3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
LmNwcApAQCAtMzAsMjEgKzMwLDc0IEBACiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
b29yZGluYXRlZEdyYXBoaWNzLmgiCiAKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzTGF5
ZXIuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVk
ZSAiUmVuZGVyTGF5ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKKyNpbmNs
dWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCisjaW5j
bHVkZSAiU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3Rh
dGVUcmVlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OlNjcm9sbGluZ0Nvb3Jk
aW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcyhQYWdlKiBwYWdlKQogICAgIDogU2Nyb2xsaW5nQ29v
cmRpbmF0b3IocGFnZSkKKyAgICAsIG1fc2Nyb2xsaW5nU3RhdGVUcmVlKFNjcm9sbGluZ1N0YXRl
VHJlZTo6Y3JlYXRlKCkpCiB7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzOjpzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5
ZXIqIGxheWVyLCBib29sIGVuYWJsZSkKK1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRH
cmFwaGljczo6flNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcygpCiB7Ci0g
ICAgaWYgKCFtX3BhZ2UtPnNldHRpbmdzKCktPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhl
ZFBvc2l0aW9uRW5hYmxlZCgpKQorfQorCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRp
bmF0ZWRHcmFwaGljczo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdlKEZyYW1lVmlldyogZnJh
bWVWaWV3KQoreworICAgIEFTU0VSVChmcmFtZVZpZXctPnNjcm9sbExheWVySUQoKSk7CisgICAg
YXR0YWNoVG9TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZSwgZnJhbWVWaWV3LT5zY3JvbGxMYXllcklE
KCksIDApOworfQorCitTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzOjphdHRhY2hUb1N0YXRlVHJlZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlw
ZSwgU2Nyb2xsaW5nTm9kZUlEIG5ld05vZGVJRCwgU2Nyb2xsaW5nTm9kZUlEIHBhcmVudElEKQor
eworICAgIHJldHVybiBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+YXR0YWNoTm9kZShub2RlVHlwZSwg
bmV3Tm9kZUlELCBwYXJlbnRJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29y
ZGluYXRlZEdyYXBoaWNzOjpkZXRhY2hGcm9tU3RhdGVUcmVlKFNjcm9sbGluZ05vZGVJRCBub2Rl
SUQpCit7CisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9zY3JvbGxpbmdTdGF0ZVRy
ZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNGaXhl
ZE5vZGUoKSkKKyAgICAgICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobm9kZS0+Z3JhcGhp
Y3NMYXllcigpKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KGZhbHNlKTsKKworICAgIG1fc2Nyb2xsaW5n
U3RhdGVUcmVlLT5kZXRhY2hOb2RlKG5vZGVJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpjbGVhclN0YXRlVHJlZSgpCit7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWUtPmNsZWFyKCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
b29yZGluYXRlZEdyYXBoaWNzOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3JvbGxp
bmdOb2RlSUQgbm9kZUlELCBjb25zdCBWaWV3cG9ydENvbnN0cmFpbnRzJiBjb25zdHJhaW50cywg
R3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKK3sKKyAgICBBU1NFUlQoc3VwcG9ydHNGaXhl
ZFBvc2l0aW9uTGF5ZXJzKCkpOworCisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9z
Y3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKCFub2Rl
KQogICAgICAgICByZXR1cm47Ci0gICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobGF5ZXIp
LT5zZXRGaXhlZFRvVmlld3BvcnQoZW5hYmxlKTsKKworICAgIHN3aXRjaCAoY29uc3RyYWludHMu
Y29uc3RyYWludFR5cGUoKSkgeworICAgIGNhc2UgVmlld3BvcnRDb25zdHJhaW50czo6Rml4ZWRQ
b3NpdGlvbkNvbnN0YWludDogeworICAgICAgICB0b0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihn
cmFwaGljc0xheWVyKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KHRydWUpOyAvLyBGSVhNRSA6IFVzZSBj
b25zdHJhaW50cyEKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUqIGZpeGVkTm9kZSA9
IHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUobm9kZSk7CisgICAgICAgIGZpeGVkTm9kZS0+c2V0
U2Nyb2xsTGF5ZXIoZ3JhcGhpY3NMYXllcik7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBj
YXNlIFZpZXdwb3J0Q29uc3RyYWludHM6OlN0aWNreVBvc2l0aW9uQ29uc3RyYWludDoKKyAgICAg
ICAgYnJlYWs7IC8vIEZJWE1FIDogU3VwcG9ydCBzdGlja3kgZWxlbWVudHMuCisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQogfQogCiB2b2lkIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxM
YXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3Jk
aW5hdGVkR3JhcGhpY3MuaAppbmRleCA2NzQ4ZTRlLi40N2RmNzBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzLmgKQEAgLTMyLDE5ICszMiwzMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIFNjcm9sbGluZ1N0YXRlVHJlZTsKKwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0
b3JDb29yZGluYXRlZEdyYXBoaWNzIDogcHVibGljIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhp
Y3MoUGFnZSopOworICAgIHZpcnR1YWwgflNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRH
cmFwaGljcygpOworCisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVy
cygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgdm9pZCBm
cmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3KikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBTY3JvbGxpbmdOb2RlSUQgYXR0YWNoVG9TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZVR5cGUs
IFNjcm9sbGluZ05vZGVJRCBuZXdOb2RlSUQsIFNjcm9sbGluZ05vZGVJRCBwYXJlbnRJRCkgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRldGFjaEZyb21TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9k
ZUlEKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJTdGF0ZVRyZWUoKSBPVkVSUklE
RTsKKworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3Jv
bGxpbmdOb2RlSUQsIGNvbnN0IFZpZXdwb3J0Q29uc3RyYWludHMmLCBHcmFwaGljc0xheWVyKikg
T1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5ZXJz
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxhYmxlQXJl
YVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHdpbGxEZXN0cm95U2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqKSBPVkVS
UklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVy
KEdyYXBoaWNzTGF5ZXIqLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsYWJsZUFyZWFT
Y3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSopOwotICAgIHZpcnR1YWwgdm9pZCB3
aWxsRGVzdHJveVNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKik7Citwcml2YXRlOgorICAg
IE93blB0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IG1fc2Nyb2xsaW5nU3RhdGVUcmVlOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQogCi0jZW5kaWYKKyNlbmRpZiAvLyBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVk
R3JhcGhpY3NfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29v
cmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZU5vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Ny
b2xsaW5nU3RhdGVOb2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZDQ1OTEyMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nU3RhdGVOb2Rl
Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5o
IgorCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRl
VHJlZS5oIgorCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRTY3JvbGxMYXllcihHcmFwaGlj
c0xheWVyKiBncmFwaGljc0xheWVyKQoreworICAgIG1fZ3JhcGhpY3NMYXllciA9IGdyYXBoaWNz
TGF5ZXI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197255</attachid>
            <date>2013-04-10 06:25:00 -0700</date>
            <delta_ts>2013-04-10 06:51:10 -0700</delta_ts>
            <desc>WIP 2</desc>
            <filename>bug114353_WIP2</filename>
            <type>text/plain</type>
            <size>19487</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDFiYWJiMGY2ODUyNDRkZmJhOTUyZGYzOWU5MzE4ZmIyMDY1YWRjNDUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEFwciAxMCAxNTo0NDoyNiAyMDEzICswMzAwCgogICAgYnVnMTE0MzUzCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA0NjE4MzI1Li4yMjgwODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTgyMiw3ICsxODIyLDE0IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNwcAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWRO
b2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCisgICAgcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdy
YXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCisgICAgcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGlj
cy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcAogCiAg
ICAgcGxhdGZvcm0vQXJlbmEuY3BwCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKaW5kZXggYzhhNGE5NC4uNDk4NDQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC00MTQyLDYg
KzQxNDIsMTMgQEAgZW5hYmxlPyhDQU5WQVNfUFJPWFkpIHsKIAogdXNlPygzRF9HUkFQSElDUykg
ewogICAgIEhFQURFUlMgKz0gXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb25z
dHJhaW50cy5oIFwKKyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
aCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmggXAor
ICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBcCisgICAgICAgIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIFwKKyAgICAgICAgcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggXAorICAgICAgICBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaCBcCiAgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL2Nv
b3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
LmggXAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL0dyYXBoaWNzQ29udGV4dDNE
TkVPTi5oIFwKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuaCBc
CkBAIC00MTY3LDcgKzQxNzQsMTYgQEAgdXNlPygzRF9HUkFQSElDUykgewogICAgICAgICBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVXBkYXRlQXRsYXMuaAogCiAgICAgU09V
UkNFUyArPSBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNw
cCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBcCisg
ICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcCBcCisgICAg
ICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAgXAorICAgICAgICBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwIFwKKyAgICAgICAgcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcCBcCisgICAgICAgIHBhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAgXAogICAgICAgICBwYWdlL3Njcm9sbGlu
Zy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFw
aGljcy5jcHAgXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Nj
cm9sbGluZ1N0YXRlTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIFwKKyAgICAgICAgcGFnZS9z
Y3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVD
b29yZGluYXRlZEdyYXBoaWNzLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL0FOR0xF
V2ViS2l0QnJpZGdlLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVy
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKaW5kZXggY2VmM2NiNC4uOThiMWQ3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQor
I2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElD
UykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMTMsNCArMTEzLDQgQEAgdm9pZCBTY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIGludCBp
bmRlbnQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElO
RykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKaW5kZXggNjFhMmFl
Yy4uODRhZTQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFNj
cm9sbGluZ1N0YXRlRml4ZWROb2RlX2gKICNkZWZpbmUgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGVf
aAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJTY3Jv
bGxpbmdDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5oIgpAQCAt
NzYsNiArNzYsNiBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoY29uc3QgU2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNlbmRpZiAvLyBTY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcAppbmRleCA4ZTMyYjQ2Li4zNzgxNmM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9k
ZS5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTQ4LDQgKzE0OCw0IEBAIFN0cmluZyBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNj
cm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAppbmRl
eCA2ZjkzZTRiLi45ODAwZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3Jv
bGxpbmdTdGF0ZU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZU5vZGVfaAogCi0jaWYgRU5B
QkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8
fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgi
CiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKQEAgLTExNyw2ICsxMTcsNiBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhS
RUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlTm9k
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCAyMzk4OWJkLi5kNjkwYzE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJUZXh0
U3RyZWFtLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCi0jaWYgRU5BQkxFKFRIUkVBREVE
X1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjg1LDQgKzI4NSw0
IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyhUZXh0
U3RyZWFtJiB0cywgaW50IGluZGVudCkgY29uCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKFRI
UkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUuaAppbmRleCA0MzUxMzZmLi44NGQwMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUu
aApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVf
aAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVfaAogCi0jaWYgRU5BQkxFKFRI
UkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAi
UmVnaW9uLmgiCkBAIC0xNzIsNiArMTcyLDYgQEAgdm9pZCB0b1Njcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUqKTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNl
bmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCiAKICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3Rp
Y2t5Tm9kZS5jcHAKaW5kZXggZDI4YWI4Yi4uMzgxZjY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
CkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEzMiw0ICsxMzIsNCBAQCB2b2lkIFNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIGludCBpbmRlbnQpIGNv
bnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURF
RF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAppbmRleCBiMmNmNzU0Li41NGE3
ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVN0aWNreU5vZGUuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxp
bmdTdGF0ZVN0aWNreU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGVfaAog
Ci0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoVEhSRUFERURfU0NS
T0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJTY3JvbGxp
bmdDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5oIgpAQCAtNzYs
NiArNzYsNiBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlKGNvbnN0IFNjcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZSopOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9T
Q1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2VuZGlmIC8vIFNjcm9s
bGluZ1N0YXRlU3RpY2t5Tm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcAppbmRleCA1NmQ2ZTdlLi4yNGNlMzQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJl
ZS5jcHAKQEAgLTI1LDcgKzI1LDcgQEAKICAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVO
QUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykg
fHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVU
cmVlLmgiCiAKQEAgLTE4Miw0ICsxODIsNCBAQCBTY3JvbGxpbmdTdGF0ZU5vZGUqIFNjcm9sbGlu
Z1N0YXRlVHJlZTo6c3RhdGVOb2RlRm9ySUQoU2Nyb2xsaW5nTm9kZUlEIHNjcm9sbExheQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xM
SU5HKQorI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVUcmVlLmgKaW5kZXggNWQ2ZDgyYi4uNjA3NWIyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgU2Nyb2xsaW5nU3RhdGVUcmVlX2gKICNkZWZpbmUgU2Nyb2xsaW5n
U3RhdGVUcmVlX2gKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5j
bHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgpAQCAtNzksNiArNzksNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2Vu
ZGlmIC8vIFNjcm9sbGluZ1N0YXRlVHJlZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29v
cmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29y
ZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5j
cHAKaW5kZXggOWQ4ZWM0Ny4uZjBmY2FkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nv
b3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
LmNwcApAQCAtMzAsMjEgKzMwLDc0IEBACiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
b29yZGluYXRlZEdyYXBoaWNzLmgiCiAKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzTGF5
ZXIuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVk
ZSAiUmVuZGVyTGF5ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKKyNpbmNs
dWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCisjaW5j
bHVkZSAiU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3Rh
dGVUcmVlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OlNjcm9sbGluZ0Nvb3Jk
aW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcyhQYWdlKiBwYWdlKQogICAgIDogU2Nyb2xsaW5nQ29v
cmRpbmF0b3IocGFnZSkKKyAgICAsIG1fc2Nyb2xsaW5nU3RhdGVUcmVlKFNjcm9sbGluZ1N0YXRl
VHJlZTo6Y3JlYXRlKCkpCiB7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzOjpzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5
ZXIqIGxheWVyLCBib29sIGVuYWJsZSkKK1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRH
cmFwaGljczo6flNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcygpCiB7Ci0g
ICAgaWYgKCFtX3BhZ2UtPnNldHRpbmdzKCktPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhl
ZFBvc2l0aW9uRW5hYmxlZCgpKQorfQorCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRp
bmF0ZWRHcmFwaGljczo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdlKEZyYW1lVmlldyogZnJh
bWVWaWV3KQoreworICAgIEFTU0VSVChmcmFtZVZpZXctPnNjcm9sbExheWVySUQoKSk7CisgICAg
YXR0YWNoVG9TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZSwgZnJhbWVWaWV3LT5zY3JvbGxMYXllcklE
KCksIDApOworfQorCitTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzOjphdHRhY2hUb1N0YXRlVHJlZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlw
ZSwgU2Nyb2xsaW5nTm9kZUlEIG5ld05vZGVJRCwgU2Nyb2xsaW5nTm9kZUlEIHBhcmVudElEKQor
eworICAgIHJldHVybiBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+YXR0YWNoTm9kZShub2RlVHlwZSwg
bmV3Tm9kZUlELCBwYXJlbnRJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29y
ZGluYXRlZEdyYXBoaWNzOjpkZXRhY2hGcm9tU3RhdGVUcmVlKFNjcm9sbGluZ05vZGVJRCBub2Rl
SUQpCit7CisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9zY3JvbGxpbmdTdGF0ZVRy
ZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNGaXhl
ZE5vZGUoKSkKKyAgICAgICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobm9kZS0+Z3JhcGhp
Y3NMYXllcigpKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KGZhbHNlKTsKKworICAgIG1fc2Nyb2xsaW5n
U3RhdGVUcmVlLT5kZXRhY2hOb2RlKG5vZGVJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpjbGVhclN0YXRlVHJlZSgpCit7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWUtPmNsZWFyKCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
b29yZGluYXRlZEdyYXBoaWNzOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3JvbGxp
bmdOb2RlSUQgbm9kZUlELCBjb25zdCBWaWV3cG9ydENvbnN0cmFpbnRzJiBjb25zdHJhaW50cywg
R3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKK3sKKyAgICBBU1NFUlQoc3VwcG9ydHNGaXhl
ZFBvc2l0aW9uTGF5ZXJzKCkpOworCisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9z
Y3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKCFub2Rl
KQogICAgICAgICByZXR1cm47Ci0gICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobGF5ZXIp
LT5zZXRGaXhlZFRvVmlld3BvcnQoZW5hYmxlKTsKKworICAgIHN3aXRjaCAoY29uc3RyYWludHMu
Y29uc3RyYWludFR5cGUoKSkgeworICAgIGNhc2UgVmlld3BvcnRDb25zdHJhaW50czo6Rml4ZWRQ
b3NpdGlvbkNvbnN0YWludDogeworICAgICAgICB0b0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihn
cmFwaGljc0xheWVyKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KHRydWUpOyAvLyBGSVhNRSA6IFVzZSBj
b25zdHJhaW50cyEKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUqIGZpeGVkTm9kZSA9
IHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUobm9kZSk7CisgICAgICAgIGZpeGVkTm9kZS0+c2V0
U2Nyb2xsTGF5ZXIoZ3JhcGhpY3NMYXllcik7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBj
YXNlIFZpZXdwb3J0Q29uc3RyYWludHM6OlN0aWNreVBvc2l0aW9uQ29uc3RyYWludDoKKyAgICAg
ICAgYnJlYWs7IC8vIEZJWE1FIDogU3VwcG9ydCBzdGlja3kgZWxlbWVudHMuCisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQogfQogCiB2b2lkIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxM
YXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3Jk
aW5hdGVkR3JhcGhpY3MuaAppbmRleCA2NzQ4ZTRlLi40N2RmNzBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzLmgKQEAgLTMyLDE5ICszMiwzMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIFNjcm9sbGluZ1N0YXRlVHJlZTsKKwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0
b3JDb29yZGluYXRlZEdyYXBoaWNzIDogcHVibGljIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhp
Y3MoUGFnZSopOworICAgIHZpcnR1YWwgflNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRH
cmFwaGljcygpOworCisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVy
cygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgdm9pZCBm
cmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3KikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBTY3JvbGxpbmdOb2RlSUQgYXR0YWNoVG9TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZVR5cGUs
IFNjcm9sbGluZ05vZGVJRCBuZXdOb2RlSUQsIFNjcm9sbGluZ05vZGVJRCBwYXJlbnRJRCkgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRldGFjaEZyb21TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9k
ZUlEKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJTdGF0ZVRyZWUoKSBPVkVSUklE
RTsKKworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3Jv
bGxpbmdOb2RlSUQsIGNvbnN0IFZpZXdwb3J0Q29uc3RyYWludHMmLCBHcmFwaGljc0xheWVyKikg
T1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5ZXJz
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxhYmxlQXJl
YVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHdpbGxEZXN0cm95U2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqKSBPVkVS
UklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVy
KEdyYXBoaWNzTGF5ZXIqLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsYWJsZUFyZWFT
Y3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSopOwotICAgIHZpcnR1YWwgdm9pZCB3
aWxsRGVzdHJveVNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKik7Citwcml2YXRlOgorICAg
IE93blB0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IG1fc2Nyb2xsaW5nU3RhdGVUcmVlOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQogCi0jZW5kaWYKKyNlbmRpZiAvLyBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVk
R3JhcGhpY3NfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29v
cmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZU5vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Ny
b2xsaW5nU3RhdGVOb2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZDQ1OTEyMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nU3RhdGVOb2Rl
Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5o
IgorCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRl
VHJlZS5oIgorCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRTY3JvbGxMYXllcihHcmFwaGlj
c0xheWVyKiBncmFwaGljc0xheWVyKQoreworICAgIG1fZ3JhcGhpY3NMYXllciA9IGdyYXBoaWNz
TGF5ZXI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlQ29vcmRp
bmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGlu
YXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZUNvb3JkaW5hdGVkR3JhcGhp
Y3MuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MTUyNjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdy
YXBoaWNzL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3Bw
CkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSW50ZWwgQ29ycG9y
YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaCIKKworI2luY2x1ZGUg
IkdyYXBoaWNzTGF5ZXIuaCIKKworI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0
Q291bnRlclNjcm9sbGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqKQoreworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyAvLyBTY3JvbGxpbmdTdGF0ZVRyZWUgaW4gY29vcmQgZ3JhcGhpY3MgaXMgdXNl
ZCBvbmx5IHRvIGhhbmRsZSBjb25zdHJhaW5lZCBlbGVtZW50cy4KK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQo=
</data>
<flag name="commit-queue"
          id="219338"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197260</attachid>
            <date>2013-04-10 06:51:10 -0700</date>
            <delta_ts>2013-04-11 00:55:47 -0700</delta_ts>
            <desc>WIP 3</desc>
            <filename>bug114353_WIP3</filename>
            <type>text/plain</type>
            <size>19283</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGY1MDEzZDhlZDY3YzE1N2RkYjgwZjI0OTViNzRmOTUzODQwMDlkMTYKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEFwciAxMCAxNTo0NDoyNiAyMDEzICswMzAwCgogICAgYnVnMTE0MzUzCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA0NjE4MzI1Li4yMjgwODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTgyMiw3ICsxODIyLDE0IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNwcAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWRO
b2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCisgICAgcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdy
YXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCisgICAgcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGlj
cy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcAogCiAg
ICAgcGxhdGZvcm0vQXJlbmEuY3BwCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKaW5kZXggYzhhNGE5NC4uNDk4NDQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC00MTQyLDYg
KzQxNDIsMTMgQEAgZW5hYmxlPyhDQU5WQVNfUFJPWFkpIHsKIAogdXNlPygzRF9HUkFQSElDUykg
ewogICAgIEhFQURFUlMgKz0gXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb25z
dHJhaW50cy5oIFwKKyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
aCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmggXAor
ICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBcCisgICAgICAgIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIFwKKyAgICAgICAgcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggXAorICAgICAgICBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaCBcCiAgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL2Nv
b3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
LmggXAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL0dyYXBoaWNzQ29udGV4dDNE
TkVPTi5oIFwKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuaCBc
CkBAIC00MTY3LDcgKzQxNzQsMTYgQEAgdXNlPygzRF9HUkFQSElDUykgewogICAgICAgICBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVXBkYXRlQXRsYXMuaAogCiAgICAgU09V
UkNFUyArPSBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNw
cCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBcCisg
ICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcCBcCisgICAg
ICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAgXAorICAgICAgICBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwIFwKKyAgICAgICAgcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcCBcCisgICAgICAgIHBhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAgXAogICAgICAgICBwYWdlL3Njcm9sbGlu
Zy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFw
aGljcy5jcHAgXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Nj
cm9sbGluZ1N0YXRlTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIFwKKyAgICAgICAgcGFnZS9z
Y3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVD
b29yZGluYXRlZEdyYXBoaWNzLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL0FOR0xF
V2ViS2l0QnJpZGdlLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVy
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKaW5kZXggY2VmM2NiNC4uNzc1YWI5MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQot
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGU+IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlKiBz
dGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC0xMTIsNSArMTEwLDMgQEAgdm9p
ZCBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMs
IGludCBpbmRlbnQpIGNvbnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAppbmRleCA2MWEyYWVj
Li5iYTAxZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZV9o
CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQotCiAjaW5jbHVkZSAiU2Nyb2xsaW5n
Q29uc3RyYWludHMuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZU5vZGUuaCIKIApAQCAtNzYs
NiArNzQsNCBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoY29uc3QgU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8g
RU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlRml4
ZWROb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZU5vZGUuY3BwCmluZGV4IDhlMzJiNDYuLjYzNmVhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcApAQCAtMzIs
OCArMzIsNiBAQAogCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBFTkFC
TEUoVEhSRUFERURfU0NST0xMSU5HKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNjcm9sbGlu
Z1N0YXRlTm9kZTo6U2Nyb2xsaW5nU3RhdGVOb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSogc2Nyb2xs
aW5nU3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtMTQ3LDUgKzE0NSwzIEBA
IFN0cmluZyBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpIGNv
bnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShUSFJF
QURFRF9TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlTm9kZS5oCmluZGV4IDZmOTNlNGIuLjQ4NjhjOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCkBAIC0yNiw4
ICsyNiw2IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlTm9kZV9oCiAjZGVmaW5lIFNjcm9sbGlu
Z1N0YXRlTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQotCiAjaW5jbHVk
ZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgpAQCAtMTE3LDYgKzExNSw0IEBAIHByaXZhdGU6CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJ
TkcpCi0KICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZU5vZGVfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZS5jcHAKaW5kZXggMjM5ODliZC4uZDA5NDVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3Bw
CkBAIC0zMCw4ICszMCw2IEBACiAjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogUGFzc093blB0cjxTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU+IFNj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSogc3Rh
dGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtMjg0LDUgKzI4MiwzIEBAIHZvaWQg
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0
cywgaW50IGluZGVudCkgY29uCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCmluZGV4
IDQzNTEzNmYuLmU3NjQ4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCkBAIC0yNiw4ICsyNiw2
IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZV9oCiAjZGVmaW5lIFNjcm9s
bGluZ1N0YXRlU2Nyb2xsaW5nTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5H
KQotCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1ZGUg
IlNjcm9sbFR5cGVzLmgiCkBAIC0xNzIsNiArMTcwLDQgQEAgdm9pZCB0b1Njcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUqKTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElO
RykKLQogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlLmNwcAppbmRleCBkMjhhYjhiLi44M2UxYjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAKQEAg
LTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZT4gU2Nyb2xsaW5n
U3RhdGVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlKiBzdGF0ZVRyZWUsIFNj
cm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC0xMzEsNSArMTI5LDMgQEAgdm9pZCBTY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGU6OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBpbnQgaW5kZW50
KSBjb25zdAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
VEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAppbmRleCBiMmNmNzU0Li5mNjUzNzhj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVN0aWNreU5vZGUuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBTY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGVfaAogCi0j
aWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2luY2x1ZGUgIlNjcm9sbGluZ0NvbnN0
cmFpbnRzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVOb2RlLmgiCiAKQEAgLTc2LDYgKzc0
LDQgQEAgdm9pZCB0b1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZShjb25zdCBTY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5B
QkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlU3RpY2t5
Tm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVUcmVlLmNwcAppbmRleCA1NmQ2ZTdlLi4wODE4MTg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKQEAgLTI1LDgg
KzI1LDYgQEAKICAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShUSFJFQURFRF9T
Q1JPTExJTkcpCi0KICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVRyZWUuaCIKIAogI2luY2x1ZGUg
IlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgiCkBAIC0xODEsNSArMTc5LDMgQEAgU2Nyb2xsaW5n
U3RhdGVOb2RlKiBTY3JvbGxpbmdTdGF0ZVRyZWU6OnN0YXRlTm9kZUZvcklEKFNjcm9sbGluZ05v
ZGVJRCBzY3JvbGxMYXkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKaW5kZXggNWQ2ZDgyYi4uZWQ3YjZlNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVl
LmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgU2Nyb2xsaW5nU3RhdGVUcmVlX2gKICNkZWZp
bmUgU2Nyb2xsaW5nU3RhdGVUcmVlX2gKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcp
Ci0KICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaCIKICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTc5LDYgKzc3LDQg
QEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlVHJlZV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBo
aWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKaW5kZXggOWQ4ZWM0Ny4uZjBmY2FkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGlj
cy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtMzAsMjEgKzMwLDc0IEBACiAjaW5j
bHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmgiCiAKICNpbmNs
dWRlICJDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKKyNpbmNsdWRlICJS
ZW5kZXJMYXllckJhY2tpbmcuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5oIgor
I2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5n
U3RhdGVTY3JvbGxpbmdOb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2Rl
LmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5h
dGVkR3JhcGhpY3M6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcyhQYWdl
KiBwYWdlKQogICAgIDogU2Nyb2xsaW5nQ29vcmRpbmF0b3IocGFnZSkKKyAgICAsIG1fc2Nyb2xs
aW5nU3RhdGVUcmVlKFNjcm9sbGluZ1N0YXRlVHJlZTo6Y3JlYXRlKCkpCiB7CiB9CiAKLXZvaWQg
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpzZXRMYXllcklzRml4ZWRU
b0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBib29sIGVuYWJsZSkKK1Njcm9s
bGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6flNjcm9sbGluZ0Nvb3JkaW5hdG9y
Q29vcmRpbmF0ZWRHcmFwaGljcygpCiB7Ci0gICAgaWYgKCFtX3BhZ2UtPnNldHRpbmdzKCktPmFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCgpKQorfQorCit2b2lk
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6ZnJhbWVWaWV3Um9vdExh
eWVyRGlkQ2hhbmdlKEZyYW1lVmlldyogZnJhbWVWaWV3KQoreworICAgIEFTU0VSVChmcmFtZVZp
ZXctPnNjcm9sbExheWVySUQoKSk7CisgICAgYXR0YWNoVG9TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9k
ZSwgZnJhbWVWaWV3LT5zY3JvbGxMYXllcklEKCksIDApOworfQorCitTY3JvbGxpbmdOb2RlSUQg
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjphdHRhY2hUb1N0YXRlVHJl
ZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEIG5ld05vZGVJRCwg
U2Nyb2xsaW5nTm9kZUlEIHBhcmVudElEKQoreworICAgIHJldHVybiBtX3Njcm9sbGluZ1N0YXRl
VHJlZS0+YXR0YWNoTm9kZShub2RlVHlwZSwgbmV3Tm9kZUlELCBwYXJlbnRJRCk7Cit9CisKK3Zv
aWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpkZXRhY2hGcm9tU3Rh
dGVUcmVlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCit7CisgICAgU2Nyb2xsaW5nU3RhdGVOb2Rl
KiBub2RlID0gbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7Cisg
ICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNGaXhlZE5vZGUoKSkKKyAgICAgICAgdG9Db29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIobm9kZS0+Z3JhcGhpY3NMYXllcigpKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0
KGZhbHNlKTsKKworICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5kZXRhY2hOb2RlKG5vZGVJRCk7
Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpjbGVh
clN0YXRlVHJlZSgpCit7CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPmNsZWFyKCk7Cit9CisK
K3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjp1cGRhdGVWaWV3
cG9ydENvbnN0cmFpbmVkTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlELCBjb25zdCBWaWV3cG9y
dENvbnN0cmFpbnRzJiBjb25zdHJhaW50cywgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikK
K3sKKyAgICBBU1NFUlQoc3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5ZXJzKCkpOworCisgICAgU2Ny
b2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZv
cklEKG5vZGVJRCk7CisgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47Ci0gICAgdG9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIobGF5ZXIpLT5zZXRGaXhlZFRvVmlld3BvcnQoZW5hYmxlKTsK
KworICAgIHN3aXRjaCAoY29uc3RyYWludHMuY29uc3RyYWludFR5cGUoKSkgeworICAgIGNhc2Ug
Vmlld3BvcnRDb25zdHJhaW50czo6Rml4ZWRQb3NpdGlvbkNvbnN0YWludDogeworICAgICAgICB0
b0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihncmFwaGljc0xheWVyKS0+c2V0Rml4ZWRUb1ZpZXdw
b3J0KHRydWUpOyAvLyBGSVhNRSA6IFVzZSBjb25zdHJhaW50cyEKKyAgICAgICAgU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUqIGZpeGVkTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUobm9k
ZSk7CisgICAgICAgIGZpeGVkTm9kZS0+c2V0U2Nyb2xsTGF5ZXIoZ3JhcGhpY3NMYXllcik7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFZpZXdwb3J0Q29uc3RyYWludHM6OlN0aWNr
eVBvc2l0aW9uQ29uc3RyYWludDoKKyAgICAgICAgYnJlYWs7IC8vIEZJWE1FIDogU3VwcG9ydCBz
dGlja3kgZWxlbWVudHMuCisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgfQogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFw
aGljczo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSog
c2Nyb2xsYWJsZUFyZWEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFw
aGljcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGlj
cy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuaAppbmRleCA2NzQ4ZTRl
Li40N2RmNzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29y
ZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3Mv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmgKQEAgLTMyLDE5ICszMiwz
MSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFNjcm9sbGluZ1N0YXRlVHJlZTsK
KwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzIDogcHVibGlj
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY3JvbGxpbmdD
b29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MoUGFnZSopOworICAgIHZpcnR1YWwgflNjcm9s
bGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcygpOworCisgICAgdmlydHVhbCBib29s
IHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVycygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRy
dWU7IH0KKworICAgIHZpcnR1YWwgdm9pZCBmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoRnJh
bWVWaWV3KikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTY3JvbGxpbmdOb2RlSUQgYXR0YWNoVG9T
dGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBuZXdOb2RlSUQsIFNj
cm9sbGluZ05vZGVJRCBwYXJlbnRJRCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRldGFj
aEZyb21TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZUlEKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgY2xlYXJTdGF0ZVRyZWUoKSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVW
aWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3JvbGxpbmdOb2RlSUQsIGNvbnN0IFZpZXdwb3J0Q29u
c3RyYWludHMmLCBHcmFwaGljc0xheWVyKikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFi
bGVBcmVhKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95U2Nyb2xsYWJs
ZUFyZWEoU2Nyb2xsYWJsZUFyZWEqKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRM
YXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBib29sKTsKLSAgICB2
aXJ0dWFsIHZvaWQgc2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5nZShTY3JvbGxhYmxl
QXJlYSopOwotICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVNjcm9sbGFibGVBcmVhKFNjcm9s
bGFibGVBcmVhKik7Citwcml2YXRlOgorICAgIE93blB0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IG1f
c2Nyb2xsaW5nU3RhdGVUcmVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCi0jZW5kaWYKKyNlbmRpZiAvLyBTY3Jv
bGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3NfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0
ZU5vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nU3RhdGVOb2RlQ29vcmRpbmF0ZWRHcmFw
aGljcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJlNDhiNQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVk
Z3JhcGhpY3MvU2Nyb2xsaW5nU3RhdGVOb2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKQEAgLTAs
MCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5oIgorCisjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5o
IgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVU
cmVlLmgiCisKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUGxhdGZvcm1MYXllciogU2Nyb2xsaW5nU3RhdGVOb2RlOjpwbGF0Zm9ybVNjcm9s
bExheWVyKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOwor
fQorCit2b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0U2Nyb2xsUGxhdGZvcm1MYXllcihQbGF0
Zm9ybUxheWVyKikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFNjcm9sbGlu
Z1N0YXRlTm9kZTo6c2V0U2Nyb2xsTGF5ZXIoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikK
K3sKKyAgICBtX2dyYXBoaWNzTGF5ZXIgPSBncmFwaGljc0xheWVyOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNz
L1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi41M2U2YWM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtMCwwICsxLDQ4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5n
U3RhdGVTY3JvbGxpbmdOb2RlLmgiCisKKyNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCisKKyNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxh
dGZvcm1MYXllciogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpjb3VudGVyU2Nyb2xsaW5n
UGxhdGZvcm1MYXllcigpIGNvbnN0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIFNj
cm9sbGluZ1N0YXRlVHJlZSBpbiBjb29yZCBncmFwaGljcyBpcyB1c2VkIG9ubHkgdG8gaGFuZGxl
IGNvbnN0cmFpbmVkIGVsZW1lbnRzLgorICAgIHJldHVybiAwOworfQorCit2b2lkIFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0Q291bnRlclNjcm9sbGluZ0xheWVyKEdyYXBoaWNzTGF5
ZXIqKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBTY3JvbGxpbmdTdGF0ZVRyZWUg
aW4gY29vcmQgZ3JhcGhpY3MgaXMgdXNlZCBvbmx5IHRvIGhhbmRsZSBjb25zdHJhaW5lZCBlbGVt
ZW50cy4KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197519</attachid>
            <date>2013-04-11 00:55:47 -0700</date>
            <delta_ts>2013-04-11 05:37:16 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug114353</filename>
            <type>text/plain</type>
            <size>22949</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGQzYWJjZmFkNGYzYWE4YWY0NWQ4NTVhOTY2NGYzMzQ1Y2FmM2EwMDQKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEFwciAxMCAxNTo0NDoyNiAyMDEzICswMzAwCgogICAgYnVnMTE0MzUzCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA0NjE4MzI1Li4yMjgwODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTgyMiw3ICsxODIyLDE0IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNwcAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWRO
b2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCisgICAgcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdy
YXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCisgICAgcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGlj
cy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcAogCiAg
ICAgcGxhdGZvcm0vQXJlbmEuY3BwCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGNhM2Q3NzUuLmI1NzdjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NyBA
QAorMjAxMy0wNC0xMSAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGlu
dGVsLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gVXNlIFNjcm9sbGluZ1N0
YXRlVHJlZSB0byBoYW5kbGUgZml4ZWQgZWxlbWVudHMgcG9zaXRpb25pbmcgd2hpbGUgc2Nyb2xs
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQz
NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAg
ICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcyBzaG91bGQgaW1wbGVt
ZW50IHRocmVhZGVkIHNjcm9sbGluZyBpbnRlcmZhY2UgYW5kCisgICAgICAgIHJlLXVzZSB0aHJl
YWRlZCBzY3JvbGxpbmcgYXBwcm9hY2ggKFNjcm9sbGluZ1N0YXRlVHJlZSBhbmQgVmlld3BvcnRD
b25zdHJhaW50cykgdG8gaGFuZGxlCisgICAgICAgIGZpeGVkKHN0aWNreSkgZWxlbWVudHMgcG9z
aXRpb25pbmcgd2hpbGUgc2Nyb2xsaW5nLiBUaGUgcmF0aW9uYWxzIGFyZSBiZWxvdy4KKworICAg
ICAgICBCZWZvcmUgdGhlIGNoYW5nZSBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3Jh
cGhpY3Mgd2FzIGltcGxlbWVudGluZyBDaHJvbWl1bS1zcGVjaWZpYworICAgICAgICBpbnRlcmZh
Y2Ugd2hpY2ggaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZCBldmVudHVhbGx5IGFzIHRoZXJlIGlzIG5v
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0KKyAgICAgICAgZXhpc3RpbmcuCisKKyAgICAg
ICAgVGhyZWFkZWQgc2Nyb2xsaW5nIGhhcyBhIGxvdCBvZiB1c2VmdWwgZnVuY3Rpb25hbGl0eSBm
b3IgaGFuZGxpbmcgYm90aCBmaXhlZCBhbmQgc3RpY2t5IGVsZW1lbnRzCisgICAgICAgIHBvc2l0
aW9uaW5nIHdoaWxlIHNjcm9sbGluZyB0aGF0IHdpbGwgYmUgbmVlZGVkIGluIGNvb3JkIGdyYXBo
aWNzIGFzIHdlbGwuCisKKyAgICAgICAgVGVzdGVkIGJ5IGV4aXN0aW5nIG1hbnVhbCB0ZXN0cyAo
Zml4ZWQtcG9zaXRpb24uaHRtbCBmb3IgZXhhbXBsZS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIFRhcmdldC5wcmk6CisKKyAgICAgICAgICAgIEluY2x1ZGVkIFNjcm9s
bGluZ1N0YXRlVHJlZSBmaWxlcy4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlRml4ZWROb2RlLmNwcDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZUZpeGVkTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Tm9kZS5jcHA6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmg6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNw
cDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUu
aDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHA6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmg6CisKKyAgICAgICAgICAgIFJl
bW92ZWQgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgY29kZSBndWFyZHMuCisKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29y
ZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0
ZWRHcmFwaGljcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvckNvb3Jk
aW5hdGVkR3JhcGhpY3M6On5TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3Mp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OmZyYW1lVmlld1Jvb3RMYXllckRpZENoYW5nZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6
OmF0dGFjaFRvU3RhdGVUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5h
dG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6ZGV0YWNoRnJvbVN0YXRlVHJlZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OmNsZWFyU3Rh
dGVUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0
ZWRHcmFwaGljczo6dXBkYXRlVmlld3BvcnRDb25zdHJhaW5lZE5vZGUpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29y
ZGluYXRlZEdyYXBoaWNzLmg6CisKKyAgICAgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29v
cmRpbmF0ZWRHcmFwaGljcyBpcyB1c2luZyB0aHJlYWRlZCBzY3JvbGxpbmcgYXBwcm9hY2ggdG8g
aGFuZGxlIGZpeGVkCisgICAgICAgICAgICBlbGVtZW50cyBwb3NpdGlvbmluZyB3aGlsZSBzY3Jv
bGxpbmcuCisKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0
b3JDb29yZGluYXRlZEdyYXBoaWNzKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jb29yZGlu
YXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3Rh
dGVOb2RlOjpwbGF0Zm9ybVNjcm9sbExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1N0YXRlTm9kZTo6c2V0U2Nyb2xsUGxhdGZvcm1MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdTdGF0ZU5vZGU6OnNldFNjcm9sbExheWVyKToKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpjb3VudGVyU2Nyb2xsaW5nUGxh
dGZvcm1MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGU6OnNldENvdW50ZXJTY3JvbGxpbmdMYXllcik6CisKIDIwMTMtMDQtMTAgIEFsZXhleSBQcm9z
a3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgaW5jbHVkZXMg
b2YgQ2FjaGVkSW1hZ2UuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBi
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYzhhNGE5NC4uNDk4NDQwMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCkBAIC00MTQyLDYgKzQxNDIsMTMgQEAgZW5hYmxlPyhDQU5WQVNfUFJPWFkpIHsKIAog
dXNlPygzRF9HUkFQSElDUykgewogICAgIEhFQURFUlMgKz0gXAorICAgICAgICBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdDb25zdHJhaW50cy5oIFwKKyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlRml4ZWROb2RlLmggXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5v
ZGUuaCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZS5oIFwKKyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgg
XAorICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaCBcCiAgICAgICAg
IHBhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
b29yZGluYXRlZEdyYXBoaWNzLmggXAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJt
L0dyYXBoaWNzQ29udGV4dDNETkVPTi5oIFwKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQU5H
TEVXZWJLaXRCcmlkZ2UuaCBcCkBAIC00MTY3LDcgKzQxNzQsMTYgQEAgdXNlPygzRF9HUkFQSElD
UykgewogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVXBkYXRl
QXRsYXMuaAogCiAgICAgU09VUkNFUyArPSBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0NvbnN0cmFpbnRzLmNwcCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmNwcCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5j
cHAgXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUu
Y3BwIFwKKyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNw
cCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAgXAogICAg
ICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9jb29y
ZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3Bw
IFwKKyAgICAgICAgcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBcCiAgICAgICAgIHBsYXRm
b3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdlLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9EcmF3aW5nQnVmZmVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKaW5kZXggY2VmM2NiNC4u
Nzc1YWI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUg
IlRleHRTdHJlYW0uaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoVEhS
RUFERURfU0NST0xMSU5HKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NPd25QdHI8U2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGU+IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpjcmVhdGUoU2Ny
b2xsaW5nU3RhdGVUcmVlKiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC0x
MTIsNSArMTEwLDMgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6ZHVtcFByb3BlcnRp
ZXMoVGV4dFN0cmVhbSYgdHMsIGludCBpbmRlbnQpIGNvbnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9k
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGUuaAppbmRleCA2MWEyYWVjLi5iYTAxZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKQEAgLTI2LDggKzI2
LDYgQEAKICNpZm5kZWYgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGVfaAogI2RlZmluZSBTY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQotCiAj
aW5jbHVkZSAiU2Nyb2xsaW5nQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0
ZU5vZGUuaCIKIApAQCAtNzYsNiArNzQsNCBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8v
IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCmluZGV4IDhlMzJiNDYuLjYzNmVhM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVOb2RlLmNwcApAQCAtMzIsOCArMzIsNiBAQAogCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsaW5nU3RhdGVOb2RlKFNjcm9sbGlu
Z1N0YXRlVHJlZSogc2Nyb2xsaW5nU3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpA
QCAtMTQ3LDUgKzE0NSwzIEBAIFN0cmluZyBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNjcm9sbGluZ1N0
YXRlVHJlZUFzVGV4dCgpIGNvbnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCmluZGV4IDZmOTNlNGIuLjQ4Njhj
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlTm9kZS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlTm9kZV9o
CiAjZGVmaW5lIFNjcm9sbGluZ1N0YXRlTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NS
T0xMSU5HKQotCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgIlNjcm9sbGlu
Z0Nvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgpAQCAtMTE3LDYgKzExNSw0
IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpCi0KICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZU5vZGVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggMjM5ODliZC4uZDA5NDVmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0zMCw4ICszMCw2IEBACiAjaW5jbHVkZSAiVGV4dFN0cmVh
bS5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JP
TExJTkcpCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc093blB0cjxTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNjcm9s
bGluZ1N0YXRlVHJlZSogc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtMjg0
LDUgKzI4MiwzIEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVy
dGllcyhUZXh0U3RyZWFtJiB0cywgaW50IGluZGVudCkgY29uCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZS5oCmluZGV4IDQzNTEzNmYuLmU3NjQ4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZV9oCiAjZGVmaW5lIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZV9oCiAKLSNpZiBFTkFCTEUo
VEhSRUFERURfU0NST0xMSU5HKQotCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlJl
Z2lvbi5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCkBAIC0xNzIsNiArMTcwLDQgQEAgdm9p
ZCB0b1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5n
Tm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVN0aWNreU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAppbmRleCBkMjhhYjhiLi44M2UxYjczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZS5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJUZXh0U3RyZWFtLmgi
CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElO
RykKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlU3Rp
Y2t5Tm9kZT4gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nU3RhdGVU
cmVlKiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC0xMzEsNSArMTI5LDMg
QEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJl
YW0mIHRzLCBpbnQgaW5kZW50KSBjb25zdAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAppbmRl
eCBiMmNmNzU0Li5mNjUzNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaApAQCAtMjYsOCArMjYsNiBAQAog
I2lmbmRlZiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGVfaAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2luY2x1
ZGUgIlNjcm9sbGluZ0NvbnN0cmFpbnRzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVOb2Rl
LmgiCiAKQEAgLTc2LDYgKzc0LDQgQEAgdm9pZCB0b1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZShj
b25zdCBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcAppbmRleCA1NmQ2ZTdlLi4wODE4MTg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRy
ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
VHJlZS5jcHAKQEAgLTI1LDggKzI1LDYgQEAKICAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lm
IEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCi0KICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVRy
ZWUuaCIKIAogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgiCkBAIC0xODEsNSAr
MTc5LDMgQEAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBTY3JvbGxpbmdTdGF0ZVRyZWU6OnN0YXRlTm9k
ZUZvcklEKFNjcm9sbGluZ05vZGVJRCBzY3JvbGxMYXkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKaW5kZXggNWQ2
ZDgyYi4uZWQ3YjZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVUcmVlLmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgU2Nyb2xsaW5n
U3RhdGVUcmVlX2gKICNkZWZpbmUgU2Nyb2xsaW5nU3RhdGVUcmVlX2gKIAotI2lmIEVOQUJMRShU
SFJFQURFRF9TQ1JPTExJTkcpCi0KICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGUuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KQEAgLTc5LDYgKzc3LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9s
bGluZ1N0YXRlVHJlZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFw
aGljcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBo
aWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKaW5kZXggOWQ4
ZWM0Ny4uZjBmY2FkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
Y29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhp
Y3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3Jh
cGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtMzAs
MjEgKzMwLDc0IEBACiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdy
YXBoaWNzLmgiCiAKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCIKKyNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5
ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKKyNpbmNsdWRlICJTY3JvbGxp
bmdDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgiCisj
aW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xs
aW5nU3RhdGVTdGlja3lOb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTY3JvbGxpbmdD
b29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRp
bmF0ZWRHcmFwaGljcyhQYWdlKiBwYWdlKQogICAgIDogU2Nyb2xsaW5nQ29vcmRpbmF0b3IocGFn
ZSkKKyAgICAsIG1fc2Nyb2xsaW5nU3RhdGVUcmVlKFNjcm9sbGluZ1N0YXRlVHJlZTo6Y3JlYXRl
KCkpCiB7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
OjpzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBi
b29sIGVuYWJsZSkKK1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6flNj
cm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcygpCiB7Ci0gICAgaWYgKCFtX3Bh
Z2UtPnNldHRpbmdzKCktPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5h
YmxlZCgpKQorfQorCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGlj
czo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdlKEZyYW1lVmlldyogZnJhbWVWaWV3KQorewor
ICAgIEFTU0VSVChmcmFtZVZpZXctPnNjcm9sbExheWVySUQoKSk7CisgICAgYXR0YWNoVG9TdGF0
ZVRyZWUoU2Nyb2xsaW5nTm9kZSwgZnJhbWVWaWV3LT5zY3JvbGxMYXllcklEKCksIDApOworfQor
CitTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
OjphdHRhY2hUb1N0YXRlVHJlZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwZSwgU2Nyb2xsaW5n
Tm9kZUlEIG5ld05vZGVJRCwgU2Nyb2xsaW5nTm9kZUlEIHBhcmVudElEKQoreworICAgIHJldHVy
biBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+YXR0YWNoTm9kZShub2RlVHlwZSwgbmV3Tm9kZUlELCBw
YXJlbnRJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBo
aWNzOjpkZXRhY2hGcm9tU3RhdGVUcmVlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCit7CisgICAg
U2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9k
ZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNGaXhlZE5vZGUoKSkKKyAg
ICAgICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobm9kZS0+Z3JhcGhpY3NMYXllcigpKS0+
c2V0Rml4ZWRUb1ZpZXdwb3J0KGZhbHNlKTsKKworICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5k
ZXRhY2hOb2RlKG5vZGVJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzOjpjbGVhclN0YXRlVHJlZSgpCit7CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRy
ZWUtPmNsZWFyKCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdy
YXBoaWNzOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlELCBjb25zdCBWaWV3cG9ydENvbnN0cmFpbnRzJiBjb25zdHJhaW50cywgR3JhcGhpY3NMYXll
ciogZ3JhcGhpY3NMYXllcikKK3sKKyAgICBBU1NFUlQoc3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5
ZXJzKCkpOworCisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9zY3JvbGxpbmdTdGF0
ZVRyZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKCFub2RlKQogICAgICAgICBy
ZXR1cm47Ci0gICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobGF5ZXIpLT5zZXRGaXhlZFRv
Vmlld3BvcnQoZW5hYmxlKTsKKworICAgIHN3aXRjaCAoY29uc3RyYWludHMuY29uc3RyYWludFR5
cGUoKSkgeworICAgIGNhc2UgVmlld3BvcnRDb25zdHJhaW50czo6Rml4ZWRQb3NpdGlvbkNvbnN0
YWludDogeworICAgICAgICB0b0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihncmFwaGljc0xheWVy
KS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KHRydWUpOyAvLyBGSVhNRSA6IFVzZSBjb25zdHJhaW50cyEK
KyAgICAgICAgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUqIGZpeGVkTm9kZSA9IHRvU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUobm9kZSk7CisgICAgICAgIGZpeGVkTm9kZS0+c2V0U2Nyb2xsTGF5ZXIo
Z3JhcGhpY3NMYXllcik7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFZpZXdwb3J0
Q29uc3RyYWludHM6OlN0aWNreVBvc2l0aW9uQ29uc3RyYWludDoKKyAgICAgICAgYnJlYWs7IC8v
IEZJWE1FIDogU3VwcG9ydCBzdGlja3kgZWxlbWVudHMuCisgICAgZGVmYXVsdDoKKyAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5h
dG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENoYW5n
ZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
Y29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhp
Y3MuaAppbmRleCA2NzQ4ZTRlLi40N2RmNzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29v
cmRpbmF0ZWRHcmFwaGljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nv
b3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
LmgKQEAgLTMyLDE5ICszMiwzMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFNj
cm9sbGluZ1N0YXRlVHJlZTsKKwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRl
ZEdyYXBoaWNzIDogcHVibGljIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MoUGFnZSopOwor
ICAgIHZpcnR1YWwgflNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcygpOwor
CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVycygpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgdm9pZCBmcmFtZVZpZXdSb290
TGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3KikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTY3JvbGxp
bmdOb2RlSUQgYXR0YWNoVG9TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05v
ZGVJRCBuZXdOb2RlSUQsIFNjcm9sbGluZ05vZGVJRCBwYXJlbnRJRCkgT1ZFUlJJREU7CisgICAg
dmlydHVhbCB2b2lkIGRldGFjaEZyb21TdGF0ZVRyZWUoU2Nyb2xsaW5nTm9kZUlEKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJTdGF0ZVRyZWUoKSBPVkVSUklERTsKKworICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3JvbGxpbmdOb2RlSUQs
IGNvbnN0IFZpZXdwb3J0Q29uc3RyYWludHMmLCBHcmFwaGljc0xheWVyKikgT1ZFUlJJREU7CiAK
LSAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5ZXJzKCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxhYmxlQXJlYVNjcm9sbExheWVy
RGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHdp
bGxEZXN0cm95U2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqKSBPVkVSUklERTsKIAotICAg
IHZpcnR1YWwgdm9pZCBzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5
ZXIqLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRp
ZENoYW5nZShTY3JvbGxhYmxlQXJlYSopOwotICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVNj
cm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKik7Citwcml2YXRlOgorICAgIE93blB0cjxTY3Jv
bGxpbmdTdGF0ZVRyZWU+IG1fc2Nyb2xsaW5nU3RhdGVUcmVlOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCi0jZW5k
aWYKKyNlbmRpZiAvLyBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3NfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFw
aGljcy9TY3JvbGxpbmdTdGF0ZU5vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nU3RhdGVO
b2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZjJlNDhiNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nU3RhdGVOb2RlQ29vcmRpbmF0ZWRH
cmFwaGljcy5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBJ
bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5oIgorCisjaW5jbHVk
ZSAiR3JhcGhpY3NMYXllci5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVk
ZSAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCisKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGxhdGZvcm1MYXllciogU2Nyb2xsaW5nU3RhdGVO
b2RlOjpwbGF0Zm9ybVNjcm9sbExheWVyKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHJldHVybiAwOworfQorCit2b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0U2Nyb2xs
UGxhdGZvcm1MYXllcihQbGF0Zm9ybUxheWVyKikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
fQorCit2b2lkIFNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0U2Nyb2xsTGF5ZXIoR3JhcGhpY3NMYXll
ciogZ3JhcGhpY3NMYXllcikKK3sKKyAgICBtX2dyYXBoaWNzTGF5ZXIgPSBncmFwaGljc0xheWVy
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9j
b29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRn
cmFwaGljcy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2U2YWM0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGlj
cy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAt
MCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEludGVsIENvcnBvcmF0aW9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCisKKyNpbmNsdWRlICJHcmFw
aGljc0xheWVyLmgiCisKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUGxhdGZvcm1MYXllciogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
Ojpjb3VudGVyU2Nyb2xsaW5nUGxhdGZvcm1MYXllcigpIGNvbnN0Cit7CisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7IC8vIFNjcm9sbGluZ1N0YXRlVHJlZSBpbiBjb29yZCBncmFwaGljcyBpcyB1
c2VkIG9ubHkgdG8gaGFuZGxlIGNvbnN0cmFpbmVkIGVsZW1lbnRzLgorICAgIHJldHVybiAwOwor
fQorCit2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0Q291bnRlclNjcm9sbGlu
Z0xheWVyKEdyYXBoaWNzTGF5ZXIqKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBT
Y3JvbGxpbmdTdGF0ZVRyZWUgaW4gY29vcmQgZ3JhcGhpY3MgaXMgdXNlZCBvbmx5IHRvIGhhbmRs
ZSBjb25zdHJhaW5lZCBlbGVtZW50cy4KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197581</attachid>
            <date>2013-04-11 05:37:16 -0700</date>
            <delta_ts>2013-04-11 15:24:50 -0700</delta_ts>
            <desc>patch v2</desc>
            <filename>bug114353_v2</filename>
            <type>text/plain</type>
            <size>22602</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IGJhNmRhMjA5ZjA1MTgxODZkZTE4M2YxMDE0ODBlYjQ2M2MwZTE4N2UKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEFwciAxMCAxNTo0NDoyNiAyMDEzICswMzAwCgogICAgYnVnMTE0MzUzCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA0NjE4MzI1Li4yMjgwODk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTgyMiw3ICsxODIyLDE0IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0NvbnN0cmFpbnRzLmNwcAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWRO
b2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCisgICAgcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorICAgIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdy
YXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKyAgICBw
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3Jk
aW5hdGVkR3JhcGhpY3MuY3BwCisgICAgcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGlj
cy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcAogCiAg
ICAgcGxhdGZvcm0vQXJlbmEuY3BwCiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDQzYjg2NmIuLmRiNDcwMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBA
QAorMjAxMy0wNC0xMSAgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGlu
dGVsLmNvbT4KKworICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gVXNlIFNjcm9sbGluZ1N0
YXRlVHJlZSB0byBoYW5kbGUgZml4ZWQgZWxlbWVudHMgcG9zaXRpb25pbmcgd2hpbGUgc2Nyb2xs
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQz
NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAg
ICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcyBzaG91bGQgaW1wbGVt
ZW50IHRocmVhZGVkIHNjcm9sbGluZyBpbnRlcmZhY2UgYW5kCisgICAgICAgIHJlLXVzZSB0aHJl
YWRlZCBzY3JvbGxpbmcgYXBwcm9hY2ggKFNjcm9sbGluZ1N0YXRlVHJlZSBhbmQgVmlld3BvcnRD
b25zdHJhaW50cykgdG8gaGFuZGxlCisgICAgICAgIGZpeGVkKHN0aWNreSkgZWxlbWVudHMgcG9z
aXRpb25pbmcgd2hpbGUgc2Nyb2xsaW5nLiBUaGUgcmF0aW9uYWxzIGFyZSBiZWxvdy4KKworICAg
ICAgICBCZWZvcmUgdGhlIGNoYW5nZSBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3Jh
cGhpY3Mgd2FzIGltcGxlbWVudGluZyBDaHJvbWl1bS1zcGVjaWZpYworICAgICAgICBpbnRlcmZh
Y2Ugd2hpY2ggaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZCBldmVudHVhbGx5IGFzIHRoZXJlIGlzIG5v
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0KKyAgICAgICAgZXhpc3RpbmcuCisKKyAgICAg
ICAgVGhyZWFkZWQgc2Nyb2xsaW5nIGhhcyBhIGxvdCBvZiB1c2VmdWwgZnVuY3Rpb25hbGl0eSBm
b3IgaGFuZGxpbmcgYm90aCBmaXhlZCBhbmQgc3RpY2t5IGVsZW1lbnRzCisgICAgICAgIHBvc2l0
aW9uaW5nIHdoaWxlIHNjcm9sbGluZyB0aGF0IHdpbGwgYmUgbmVlZGVkIGluIGNvb3JkIGdyYXBo
aWNzIGFzIHdlbGwuCisKKyAgICAgICAgVGVzdGVkIGJ5IGV4aXN0aW5nIG1hbnVhbCB0ZXN0cyAo
Zml4ZWQtcG9zaXRpb24uaHRtbCBmb3IgZXhhbXBsZS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIFRhcmdldC5wcmk6CisKKyAgICAgICAgICAgIEluY2x1ZGVkIFNjcm9s
bGluZ1N0YXRlVHJlZSBmaWxlcy4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlRml4ZWROb2RlLmNwcDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZUZpeGVkTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Tm9kZS5jcHA6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmg6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNw
cDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUu
aDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHA6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmg6CisKKyAgICAgICAgICAgIFJl
bW92ZWQgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgY29kZSBndWFyZHMuCisKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29y
ZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0
ZWRHcmFwaGljcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvckNvb3Jk
aW5hdGVkR3JhcGhpY3M6On5TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3Mp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OmF0dGFjaFRvU3RhdGVUcmVlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6ZGV0YWNoRnJv
bVN0YXRlVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvckNvb3Jk
aW5hdGVkR3JhcGhpY3M6OmNsZWFyU3RhdGVUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6dXBkYXRlVmlld3BvcnRDb25zdHJh
aW5lZE5vZGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3Mv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmg6CisKKyAgICAgICAgICAg
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcyBpcyB1c2luZyB0aHJlYWRl
ZCBzY3JvbGxpbmcgYXBwcm9hY2ggdG8gaGFuZGxlIGZpeGVkCisgICAgICAgICAgICBlbGVtZW50
cyBwb3NpdGlvbmluZyB3aGlsZSBzY3JvbGxpbmcuCisKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNv
b3JkaW5hdGVkR3JhcGhpY3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlOjpwbGF0Zm9ybVNjcm9sbExheWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZTo6c2V0U2Nyb2xsUGxhdGZvcm1MYXll
cik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFNjcm9sbExheWVy
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlOjpjb3VudGVyU2Nyb2xsaW5nUGxhdGZvcm1MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldENvdW50ZXJTY3JvbGxpbmdMYXllcik6CisK
IDIwMTMtMDQtMTEgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5j
b20+CiAKICAgICAgICAgW1F0XSBFdmVudEhhbmRsZXIgc2hvdWxkIGhhbmRsZSBTcGFjZSBhbmQg
QmFja1NwYWNlIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYzhhNGE5NC4uNDk4NDQwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CkBAIC00MTQyLDYgKzQxNDIsMTMgQEAgZW5hYmxlPyhDQU5WQVNfUFJPWFkpIHsKIAogdXNlPygz
RF9HUkFQSElDUykgewogICAgIEhFQURFUlMgKz0gXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb25zdHJhaW50cy5oIFwKKyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmggXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBc
CisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIFwK
KyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggXAorICAg
ICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaCBcCiAgICAgICAgIHBhZ2Uv
c2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzLmggXAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL0dyYXBo
aWNzQ29udGV4dDNETkVPTi5oIFwKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJL
aXRCcmlkZ2UuaCBcCkBAIC00MTY3LDcgKzQxNzQsMTYgQEAgdXNlPygzRF9HUkFQSElDUykgewog
ICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVXBkYXRlQXRsYXMu
aAogCiAgICAgU09VUkNFUyArPSBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
bnN0cmFpbnRzLmNwcCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2Rl
LmNwcCBcCisgICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAgXAor
ICAgICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwIFwK
KyAgICAgICAgcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcCBcCisg
ICAgICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAgXAogICAgICAgICBw
YWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29v
cmRpbmF0ZWRHcmFwaGljcy5jcHAgXAorICAgICAgICBwYWdlL3Njcm9sbGluZy9jb29yZGluYXRl
ZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIFwKKyAg
ICAgICAgcGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dy
YXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdlLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dDNELmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9E
cmF3aW5nQnVmZmVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKaW5kZXggY2VmM2NiNC4uNzc1YWI5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlRml4ZWROb2RlLmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUgIlRleHRT
dHJlYW0uaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NPd25QdHI8U2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGU+IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpjcmVhdGUoU2Nyb2xsaW5n
U3RhdGVUcmVlKiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC0xMTIsNSAr
MTEwLDMgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4
dFN0cmVhbSYgdHMsIGludCBpbmRlbnQpIGNvbnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaApp
bmRleCA2MWEyYWVjLi5iYTAxZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKQEAgLTI2LDggKzI2LDYgQEAK
ICNpZm5kZWYgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0
ZUZpeGVkTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQotCiAjaW5jbHVk
ZSAiU2Nyb2xsaW5nQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZU5vZGUu
aCIKIApAQCAtNzYsNiArNzQsNCBAQCB2b2lkIHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoY29u
c3QgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9s
bGluZ1N0YXRlRml4ZWROb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCmluZGV4IDhlMzJiNDYuLjYzNmVhM2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2Rl
LmNwcApAQCAtMzIsOCArMzIsNiBAQAogCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsaW5nU3RhdGVOb2RlKFNjcm9sbGluZ1N0YXRl
VHJlZSogc2Nyb2xsaW5nU3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtMTQ3
LDUgKzE0NSwzIEBAIFN0cmluZyBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNjcm9sbGluZ1N0YXRlVHJl
ZUFzVGV4dCgpIGNvbnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8v
IEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCmluZGV4IDZmOTNlNGIuLjQ4NjhjOWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9k
ZS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlTm9kZV9oCiAjZGVm
aW5lIFNjcm9sbGluZ1N0YXRlTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5H
KQotCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgpAQCAtMTE3LDYgKzExNSw0IEBAIHBy
aXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJF
QURFRF9TQ1JPTExJTkcpCi0KICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZU5vZGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggMjM5ODliZC4uZDA5NDVmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGUuY3BwCkBAIC0zMCw4ICszMCw2IEBACiAjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcp
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc093blB0cjxTY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGU+IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0
YXRlVHJlZSogc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtMjg0LDUgKzI4
MiwzIEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyhU
ZXh0U3RyZWFtJiB0cywgaW50IGluZGVudCkgY29uCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5n
Tm9kZS5oCmluZGV4IDQzNTEzNmYuLmU3NjQ4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCkBA
IC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZV9oCiAj
ZGVmaW5lIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFE
RURfU0NST0xMSU5HKQotCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlJlZ2lvbi5o
IgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCkBAIC0xNzIsNiArMTcwLDQgQEAgdm9pZCB0b1Nj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVB
REVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVTdGlja3lOb2RlLmNwcAppbmRleCBkMjhhYjhiLi44M2UxYjczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5
Tm9kZS5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
ZT4gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlKiBz
dGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC0xMzEsNSArMTI5LDMgQEAgdm9p
ZCBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRz
LCBpbnQgaW5kZW50KSBjb25zdAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAppbmRleCBiMmNm
NzU0Li5mNjUzNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRl
ZiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZVN0aWNr
eU5vZGVfaAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2luY2x1ZGUgIlNj
cm9sbGluZ0NvbnN0cmFpbnRzLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVOb2RlLmgiCiAK
QEAgLTc2LDYgKzc0LDQgQEAgdm9pZCB0b1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZShjb25zdCBT
Y3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0j
ZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcAppbmRleCA1NmQ2ZTdlLi4wODE4MTg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5j
cHAKQEAgLTI1LDggKzI1LDYgQEAKICAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpCi0KICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVRyZWUuaCIK
IAogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgiCkBAIC0xODEsNSArMTc5LDMg
QEAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBTY3JvbGxpbmdTdGF0ZVRyZWU6OnN0YXRlTm9kZUZvcklE
KFNjcm9sbGluZ05vZGVJRCBzY3JvbGxMYXkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmgKaW5kZXggNWQ2ZDgyYi4u
ZWQ3YjZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVUcmVlLmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgU2Nyb2xsaW5nU3RhdGVU
cmVlX2gKICNkZWZpbmUgU2Nyb2xsaW5nU3RhdGVUcmVlX2gKIAotI2lmIEVOQUJMRShUSFJFQURF
RF9TQ1JPTExJTkcpCi0KICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaCIK
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAg
LTc5LDYgKzc3LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKLQogI2VuZGlmIC8vIFNjcm9sbGluZ1N0
YXRlVHJlZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29y
ZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKaW5kZXggOWQ4ZWM0Ny4u
NDBiMzQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRp
bmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3Mv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtMzAsMjEgKzMw
LDY4IEBACiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
LmgiCiAKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCIKKyNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIK
KyNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdDb25z
dHJhaW50cy5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgiCisjaW5jbHVk
ZSAiU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3Rh
dGVTdGlja3lOb2RlLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTY3JvbGxpbmdDb29yZGlu
YXRvckNvb3JkaW5hdGVkR3JhcGhpY3M6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRH
cmFwaGljcyhQYWdlKiBwYWdlKQogICAgIDogU2Nyb2xsaW5nQ29vcmRpbmF0b3IocGFnZSkKKyAg
ICAsIG1fc2Nyb2xsaW5nU3RhdGVUcmVlKFNjcm9sbGluZ1N0YXRlVHJlZTo6Y3JlYXRlKCkpCiB7
CiB9CiAKLXZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjpzZXRM
YXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBib29sIGVu
YWJsZSkKK1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6flNjcm9sbGlu
Z0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcygpCiB7Ci0gICAgaWYgKCFtX3BhZ2UtPnNl
dHRpbmdzKCktPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCgp
KQorfQorCitTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdy
YXBoaWNzOjphdHRhY2hUb1N0YXRlVHJlZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwZSwgU2Ny
b2xsaW5nTm9kZUlEIG5ld05vZGVJRCwgU2Nyb2xsaW5nTm9kZUlEIHBhcmVudElEKQoreworICAg
IHJldHVybiBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+YXR0YWNoTm9kZShub2RlVHlwZSwgbmV3Tm9k
ZUlELCBwYXJlbnRJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRl
ZEdyYXBoaWNzOjpkZXRhY2hGcm9tU3RhdGVUcmVlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCit7
CisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0
YXRlTm9kZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKG5vZGUgJiYgbm9kZS0+aXNGaXhlZE5vZGUo
KSkKKyAgICAgICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobm9kZS0+Z3JhcGhpY3NMYXll
cigpKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KGZhbHNlKTsKKworICAgIG1fc2Nyb2xsaW5nU3RhdGVU
cmVlLT5kZXRhY2hOb2RlKG5vZGVJRCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
b29yZGluYXRlZEdyYXBoaWNzOjpjbGVhclN0YXRlVHJlZSgpCit7CisgICAgbV9zY3JvbGxpbmdT
dGF0ZVRyZWUtPmNsZWFyKCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGlu
YXRlZEdyYXBoaWNzOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9kZShTY3JvbGxpbmdOb2Rl
SUQgbm9kZUlELCBjb25zdCBWaWV3cG9ydENvbnN0cmFpbnRzJiBjb25zdHJhaW50cywgR3JhcGhp
Y3NMYXllciogZ3JhcGhpY3NMYXllcikKK3sKKyAgICBBU1NFUlQoc3VwcG9ydHNGaXhlZFBvc2l0
aW9uTGF5ZXJzKCkpOworCisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlID0gbV9zY3JvbGxp
bmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKG5vZGVJRCk7CisgICAgaWYgKCFub2RlKQogICAg
ICAgICByZXR1cm47Ci0gICAgdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobGF5ZXIpLT5zZXRG
aXhlZFRvVmlld3BvcnQoZW5hYmxlKTsKKworICAgIHN3aXRjaCAoY29uc3RyYWludHMuY29uc3Ry
YWludFR5cGUoKSkgeworICAgIGNhc2UgVmlld3BvcnRDb25zdHJhaW50czo6Rml4ZWRQb3NpdGlv
bkNvbnN0YWludDogeworICAgICAgICB0b0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihncmFwaGlj
c0xheWVyKS0+c2V0Rml4ZWRUb1ZpZXdwb3J0KHRydWUpOyAvLyBGSVhNRSA6IFVzZSBjb25zdHJh
aW50cyEKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUqIGZpeGVkTm9kZSA9IHRvU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGUobm9kZSk7CisgICAgICAgIGZpeGVkTm9kZS0+c2V0U2Nyb2xs
TGF5ZXIoZ3JhcGhpY3NMYXllcik7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFZp
ZXdwb3J0Q29uc3RyYWludHM6OlN0aWNreVBvc2l0aW9uQ29uc3RyYWludDoKKyAgICAgICAgYnJl
YWs7IC8vIEZJWE1FIDogU3VwcG9ydCBzdGlja3kgZWxlbWVudHMuCisgICAgZGVmYXVsdDoKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQogfQogCiB2b2lkIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljczo6c2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRp
ZENoYW5nZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVk
R3JhcGhpY3MuaAppbmRleCA2NzQ4ZTRlLi42ZTg0YmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdy
YXBoaWNzLmgKQEAgLTMyLDE5ICszMiwzMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIFNjcm9sbGluZ1N0YXRlVHJlZTsKKwogY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29y
ZGluYXRlZEdyYXBoaWNzIDogcHVibGljIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MoUGFn
ZSopOworICAgIHZpcnR1YWwgflNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGlj
cygpOworCisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVycygpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgU2Nyb2xsaW5nTm9k
ZUlEIGF0dGFjaFRvU3RhdGVUcmVlKFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQg
bmV3Tm9kZUlELCBTY3JvbGxpbmdOb2RlSUQgcGFyZW50SUQpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBkZXRhY2hGcm9tU3RhdGVUcmVlKFNjcm9sbGluZ05vZGVJRCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIGNsZWFyU3RhdGVUcmVlKCkgT1ZFUlJJREU7CisKKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlVmlld3BvcnRDb25zdHJhaW5lZE5vZGUoU2Nyb2xsaW5nTm9kZUlELCBjb25z
dCBWaWV3cG9ydENvbnN0cmFpbnRzJiwgR3JhcGhpY3NMYXllciopIE9WRVJSSURFOwogCi0gICAg
dmlydHVhbCBib29sIHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVycygpIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsYWJsZUFyZWFTY3JvbGxMYXllckRpZENo
YW5nZShTY3JvbGxhYmxlQXJlYSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVz
dHJveVNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xheWVyKiwg
Ym9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbGFibGVBcmVhU2Nyb2xsTGF5ZXJEaWRDaGFu
Z2UoU2Nyb2xsYWJsZUFyZWEqKTsKLSAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lTY3JvbGxh
YmxlQXJlYShTY3JvbGxhYmxlQXJlYSopOworcHJpdmF0ZToKKyAgICBPd25QdHI8U2Nyb2xsaW5n
U3RhdGVUcmVlPiBtX3Njcm9sbGluZ1N0YXRlVHJlZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAotI2VuZGlmCisj
ZW5kaWYgLy8gU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3Mv
U2Nyb2xsaW5nU3RhdGVOb2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNv
b3JkaW5hdGVkR3JhcGhpY3MuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmYyZTQ4YjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGluZ1N0YXRlTm9kZUNvb3JkaW5hdGVkR3JhcGhp
Y3MuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSW50ZWwg
Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZU5vZGUuaCIKKworI2luY2x1ZGUgIkdy
YXBoaWNzTGF5ZXIuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlNj
cm9sbGluZ1N0YXRlVHJlZS5oIgorCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK1BsYXRmb3JtTGF5ZXIqIFNjcm9sbGluZ1N0YXRlTm9kZTo6
cGxhdGZvcm1TY3JvbGxMYXllcigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICByZXR1cm4gMDsKK30KKwordm9pZCBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFNjcm9sbFBsYXRm
b3JtTGF5ZXIoUGxhdGZvcm1MYXllciopCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwor
dm9pZCBTY3JvbGxpbmdTdGF0ZU5vZGU6OnNldFNjcm9sbExheWVyKEdyYXBoaWNzTGF5ZXIqIGdy
YXBoaWNzTGF5ZXIpCit7CisgICAgbV9ncmFwaGljc0xheWVyID0gZ3JhcGhpY3NMYXllcjsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29vcmRp
bmF0ZWRncmFwaGljcy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVDb29yZGluYXRlZEdyYXBo
aWNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhp
Y3MvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNlNmFjNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKQEAgLTAsMCAr
MSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIgorCisjaW5jbHVkZSAiR3JhcGhpY3NM
YXllci5oIgorCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1BsYXRmb3JtTGF5ZXIqIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6Y291
bnRlclNjcm9sbGluZ1BsYXRmb3JtTGF5ZXIoKSBjb25zdAoreworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOyAvLyBTY3JvbGxpbmdTdGF0ZVRyZWUgaW4gY29vcmQgZ3JhcGhpY3MgaXMgdXNlZCBv
bmx5IHRvIGhhbmRsZSBjb25zdHJhaW5lZCBlbGVtZW50cy4KKyAgICByZXR1cm4gMDsKK30KKwor
dm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldENvdW50ZXJTY3JvbGxpbmdMYXll
cihHcmFwaGljc0xheWVyKikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gU2Nyb2xs
aW5nU3RhdGVUcmVlIGluIGNvb3JkIGdyYXBoaWNzIGlzIHVzZWQgb25seSB0byBoYW5kbGUgY29u
c3RyYWluZWQgZWxlbWVudHMuCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
</data>
<flag name="review"
          id="219508"
          type_id="1"
          status="+"
          setter="noam"
    />
          </attachment>
      

    </bug>

</bugzilla>