<?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>68081</bug_id>
          
          <creation_ts>2011-09-14 08:25:32 -0700</creation_ts>
          <short_desc>Page Scale affects window.scrollTo</short_desc>
          <delta_ts>2011-09-22 06:30:15 -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>New Bugs</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>
          
          <blocked>68075</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="John Knottenbelt">jknotten</reporter>
          <assigned_to name="John Knottenbelt">jknotten</assigned_to>
          <cc>aroben</cc>
    
    <cc>bdakin</cc>
    
    <cc>fsamuel</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>hclam</cc>
    
    <cc>pnormand</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>467035</commentid>
    <comment_count>0</comment_count>
    <who name="John Knottenbelt">jknotten</who>
    <bug_when>2011-09-14 08:25:32 -0700</bug_when>
    <thetext>Page Scale affects window.scrollTo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467036</commentid>
    <comment_count>1</comment_count>
      <attachid>107334</attachid>
    <who name="John Knottenbelt">jknotten</who>
    <bug_when>2011-09-14 08:26:13 -0700</bug_when>
    <thetext>Created attachment 107334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467038</commentid>
    <comment_count>2</comment_count>
    <who name="John Knottenbelt">jknotten</who>
    <bug_when>2011-09-14 08:38:26 -0700</bug_when>
    <thetext>In this layout test there is a 3x2 grid of 100x100 coloured divs. The test case gives an expected behaviour of scrolling to page coordinates (100,100) - I expect to see just the bottom right two divs.

However, when I run this layout test on DumpRenderTree, the actual visible output is a scroll to page coordinates (50, 50) -- half the top row and half the left column. 

Please let me know if my expected output (as in the patch) is incorrect. 

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467054</commentid>
    <comment_count>3</comment_count>
      <attachid>107334</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-14 09:05:52 -0700</bug_when>
    <thetext>Comment on attachment 107334
Patch

The image result needs to go into a platform-specific directory, because it shows scrollbars.

Please avoid red in successful pixel results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469439</commentid>
    <comment_count>4</comment_count>
      <attachid>107870</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-19 09:14:52 -0700</bug_when>
    <thetext>Created attachment 107870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469530</commentid>
    <comment_count>5</comment_count>
      <attachid>107870</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-19 10:59:42 -0700</bug_when>
    <thetext>Comment on attachment 107870
Patch

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

&gt; LayoutTests/fast/events/scale-and-scroll.html:20
&gt; +          var scaleOffset = 0;

Would be nice to test with a non-zero offset.

&gt; Source/WebCore/page/DOMWindow.cpp:1146
&gt; +    return static_cast&lt;int&gt;(view-&gt;scrollX() / m_frame-&gt;pageZoomFactor() / m_frame-&gt;pageScaleFactor());

I&apos;d slightly prefer scrollX / (pagezoomfactor * pagescalefactor)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470073</commentid>
    <comment_count>6</comment_count>
      <attachid>108004</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-20 08:23:47 -0700</bug_when>
    <thetext>Created attachment 108004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470075</commentid>
    <comment_count>7</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-20 08:24:32 -0700</bug_when>
    <thetext>Actually the last patch didn&apos;t solve all the problem, namely iframes.

I&apos;ve corrected the root problem and added some more test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470120</commentid>
    <comment_count>8</comment_count>
      <attachid>108004</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-20 09:44:08 -0700</bug_when>
    <thetext>Comment on attachment 108004
Patch

Attachment 108004 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/9767300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470136</commentid>
    <comment_count>9</comment_count>
      <attachid>108004</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-20 10:09:38 -0700</bug_when>
    <thetext>Comment on attachment 108004
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        2. Frame::frameScaleFactor() returns the scale factor of this frame with
&gt; +           respect to the container. So for the main frame it&apos;ll return the scale
&gt; +           factor of the page, inner frames will return 1.0

I wonder about behavioral changes as result of this. For example, was adjustForZoom() only ever called with the main frame&apos;s document before, or was there a bug?

&gt; Source/WebCore/page/FrameView.cpp:530
&gt; +    bool overrideHidden = m_frame-&gt;page() &amp;&amp; m_frame-&gt;page()-&gt;mainFrame() == m_frame &amp;&amp; m_frame-&gt;frameScaleFactor() &gt; 1;

Does this still require the m_frame-&gt;page()-&gt;mainFrame() == m_frame check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470416</commentid>
    <comment_count>10</comment_count>
      <attachid>108004</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-09-20 15:42:03 -0700</bug_when>
    <thetext>Comment on attachment 108004
Patch

Attachment 108004 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9764462</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470689</commentid>
    <comment_count>11</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-21 04:00:56 -0700</bug_when>
    <thetext>Committed r95608: &lt;http://trac.webkit.org/changeset/95608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470700</commentid>
    <comment_count>12</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-09-21 04:30:34 -0700</bug_when>
    <thetext>Can I know why this landed meanwhile it failed to pass EWS builds on 2 ports?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470703</commentid>
    <comment_count>13</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-21 04:34:25 -0700</bug_when>
    <thetext>Whoops.. Sorry! I overlooked.. I&apos;ll fix those build failures now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470710</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-09-21 04:43:44 -0700</bug_when>
    <thetext>I rolled it out before I saw your comment, sorry! I can help with GTK failures if needed. Please don&apos;t forget EWS next time, it&apos;s a great tool and it&apos;s sad to not take full advantage of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470712</commentid>
    <comment_count>15</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-21 04:45:00 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; I rolled it out before I saw your comment, sorry! I can help with GTK failures if needed. Please don&apos;t forget EWS next time, it&apos;s a great tool and it&apos;s sad to not take full advantage of it.

Thanks for acting quick! Will be sure to use it next time, I&apos;m fixing the patch now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471479</commentid>
    <comment_count>16</comment_count>
      <attachid>108310</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-22 04:21:36 -0700</bug_when>
    <thetext>Created attachment 108310
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471526</commentid>
    <comment_count>17</comment_count>
      <attachid>108310</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-22 06:30:08 -0700</bug_when>
    <thetext>Comment on attachment 108310
Patch for landing

Clearing flags on attachment: 108310

Committed r95715: &lt;http://trac.webkit.org/changeset/95715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471527</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-22 06:30:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107334</attachid>
            <date>2011-09-14 08:26:13 -0700</date>
            <delta_ts>2011-09-19 09:14:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68081-20110914162611.patch</filename>
            <type>text/plain</type>
            <size>5150</size>
            <attacher name="John Knottenbelt">jknotten</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUwMjMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1OWQ4YTU5NDkyYmIxYzJkNzU2YTIx
YzMwNWUyZTljMmI4NGY4ZmQzLi5hNDhhOWM5YzM3YzM3OGI0OWY3YmFjNzA2ZTE3ZTI1MzA5MDc0
OWNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMTQgIEpvaG4gS25vdHRlbmJlbHQg
IDxqa25vdHRlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUGFnZSBTY2FsZSBhZmZlY3RzIHdp
bmRvdy5zY3JvbGxUbworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjgwODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtZXhwZWN0ZWQucG5nOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC5odG1sOiBBZGRlZC4K
KwogMjAxMS0wOS0xMyAgUmVuYXRhIEhvZG92YW4gIDxyZW5pQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgZXZlbnRTZW5kZXIua2V5RG93biBpcyB1bmltcGxlbWVudGVkIChXS1RSKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1leHBlY3RlZC5wbmcg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWV4cGVjdGVkLnBuZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lYjQ1MDdmNTQzZGU1OGFkNzQ1OTIyNjU3NDg2MjEzNjdlMzgzNmQ5CkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMzI0CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllW
MmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UIXlzZAp6cSU8PU42QjhxMlY/KDI0M3NZa1lH
ZWc3VnErfk1fQmNvKWF2X3VjQ2AtZDE5Yz18a0Q5NzhKUnl1SXJmXmVCcUsKejtiT3Ywd3JkQmFX
REp0b2JAWihocmE3KXhkfGh5RWhXJkB8PjhkeF9lcnY2clhVejRtQHgwY2xVMD5zUFJ3cjhVCnoy
M1lnMWpgbllTfEtpRGUoU3FkNUNibzhWYEBYJVkrSXVmPWAoY0FTXl5jfTdGem5rPEREKGFJLSR7
bnIrN1VHQAp6SytLXlhhcDB9Yjx1NjtUd3gmRn0+d2NiJTtlcXN6IXs7OVNea2AmZDVEPD1GVUAh
elNLS1FNXmBaVCtiUmdCPzQKendhd001TX4/e3NDQm0ha2crQXw5LU4zLUd0fmY0NHxKO3M/OFZt
PFl7cXBabEpJXko/O05YK00kWiYpTyRUKHZQCnpSTlVTM2N0XnBLMTU2QU5EVnVOVk5TZEFCdG4w
K2tGYXMjaSFLcChSIypNI2dmaWQmSl52dmZ5UD17PjRKJEpzMQp6VCkrT2dLZmtgNzdFP3JXR1Rp
TmhnekBJekhETHlaQTYwenFoZDtPVF5ZZnBWPUs9PVc+YkdVUG1wNEVEU24rUVMKekk1MCYpVm1G
bW83JjxgMmtCfjQ+KVRESV9GZXJlQzJmPWctWHdvQ34/KUByWS1pYmZfdXBxKUIyJCpiaUhyPnBi
CnojeHdpKiV8UlYwZ0N1UWA9WnJXMU5fS3F9YDd5NiUxSCtHPFloWVFHSmhNaTFBczJVfXApbmQ3
a2N3fEtDNSl6bwp6KFVkP2E3cmV7MlduXmVycEUmUCV0MV9zOHNyMzdBLUFRMEdIQ0s9Y0UlNDVg
ekdHbXg5PVNIYHh3YC1JJWtQdTUKemYkaHJjbUdeP2cmdlNyVUtEUFIrS0htZDFPeTdVSjY4Z048
NmVMKV9KMGlScCp2TEVxWVdyK29kO1JyT3VwUEl6CnotRnxEKW0oTTRDeW0wczNiI2I/P1Nye0kp
WDNtbjZteWZTNStaJmdee2RTX25LbUlsTHtjSD9CWDRhV3M0dD58Mgp6Q34+QFN8TlpAekJ7SWop
cmhUNWJhXz8hSV5Ta2Y5eUlkelRfMyo8Rkd2XkM0UkJXJURDJDRzM1FzVmkkekwhaGgKelctfkM8
XzVIMjBfcWBtZHpqTCFPMmc4VC0+KSRTfHtfazR4RmA5PndWYyo3OF4/S35uY0t1UmxLbTJlakdz
QT1VCnoyX1k5KzQrTW9YOVB0MTRVSDZPOGhBV35CMmpheXB7X1FAI3tQTjVEblFNUnp6MU55dz5p
ITJrWEo8SEl8NDlHKwp6ay1FaDAzdyFTfUhxM3dYS0tqS2MqTFBCe257OH10X0xNTyZ7TmJMJlJy
U0AzU0JqaEFOOUwtM0pFUFpNS1BrPH4KelAha1N4IXJpam52ZDJGKnIhZ35weFozLTs7X1l8YV80
QjQzVDkpfX50fGJHNXsrakVydnRNVVB3RWJ0dWlARiFOClU7YCFObyEwcnIjcj5tZEtJO1ZzdDA3
VVZPSHZqK3QKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAx
NDFhZTBiMDU2MDgxYTA5MThhM2YyMDgxNmI5ZWE5YTVlZmMzOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgMjAwMHgyMDAwCisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgyMDAwCisg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyMDAwCisgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDAsMCkgc2l6ZSAyMDAweDIwMDAKK2xheWVyIGF0ICgwLDApIHNpemUgMTAw
eDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4
MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCitsYXllciBhdCAoMTAwLDApIHNpemUgMTAweDEwMAorICBS
ZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDEwMCwwKSBzaXplIDEwMHgxMDAgW2Jn
Y29sb3I9IzAwODAwMF0KK2xheWVyIGF0ICgyMDAsMCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjAwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0j
MDAwMEZGXQorbGF5ZXIgYXQgKDAsMTAwKSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sgKHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgwLDEwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBd
CitsYXllciBhdCAoMTAwLDEwMCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMTAwLDEwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDAwRkZdCits
YXllciBhdCAoMjAwLDEwMCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMjAwLDEwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCitzY3Jv
bGxlZCB0byAxMDAsMTAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2Fs
ZS1hbmQtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Ny
b2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGRjNzJlNTA3ZGE3ODNiMWQwZWMyYmU2ZjQzMmEyNjhkYmE5
ZTZhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFu
ZC1zY3JvbGwuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGJvZHkgc3R5bGU9IndpZHRoOjIwMDBweDsgaGVpZ2h0OjIwMDBweDsgbWFyZ2luOjBweDsiPgor
CisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6cmVkOyI+PC9kaXY+CisgICAgPGRpdiBz
dHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0
aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0i
bGVmdDoyMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9ImxlZnQ6
MDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0
ZTsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4
OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRl
OyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0
b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBi
YWNrZ3JvdW5kOnJlZDsiPjwvZGl2PgorCisgICAgPHNjcmlwdD4KKyAgICAgIGZ1bmN0aW9uIHNj
cm9sbCgpIHsKKyAgICAgICAgICAvLyBUaGUgcGFnZSBzY2FsZSwgYXMgc2V0IGJ5IEV2ZW50U2Vu
ZGVyLnNjYWxlUGFnZUJ5IHNob3VsZCBub3QgYmUgYXBwYXJlbnQKKyAgICAgICAgICAvLyB0byBq
YXZhc2NyaXB0LiBTbywgd2UgZXhwZWN0IHNjcm9sbGluZyB0byAoMTAwLDEwMCkgdG8gYmUgcGFn
ZSBjb29yZGluYXRlcywgcmF0aGVyCisgICAgICAgICAgLy8gdGhhbiBkZXZpY2UgcGl4ZWxzLgor
ICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAgICAgIH0KKworICAgICAgZnVu
Y3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAgICAgdmFyIHNjYWxlRmFjdG9y
ID0gMi4wOworICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7CisgICAgICAgICAgaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgIGV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5
KHNjYWxlRmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQpOworICAgICAgICAgIH0KKyAg
ICAgIH0KKworICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgIHNjcm9sbCgpOwor
CisgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICA8L3NjcmlwdD4K
KworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107870</attachid>
            <date>2011-09-19 09:14:52 -0700</date>
            <delta_ts>2011-09-20 08:23:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68081-20110919171450.patch</filename>
            <type>text/plain</type>
            <size>7246</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU0MTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMjA5NmI4ZjE3ZmQzZmQzMTJmYmEy
MzNkZDJhMzkxMDYyNGY3YmExLi45ZjViYjNmN2E1MDNlMGEwNGMzNDQ2NWRlMjkyNDI1ZjIwNjBk
MTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMTkgIEFscGhhIExhbSAgPGhjbGFt
QGNocm9taXVtLm9yZz4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjgwODEKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGZvciBwYWdlIHNjYWxlIGFu
ZCBzY3JvbGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Ny
b2xsLWV4cGVjdGVkLnBuZzogQWRkZWQuCisKIDIwMTEtMDktMTkgIFpzb2x0IEZlaMOpciAgPGZl
aGVyenNAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFVucmV2aWV3ZWQgUXQgZ2FyZGVuaW5n
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMWI4NDdkNDdiYzg5Njg4NmRmN2MwYjgwZTY0MzQxMWM0
MGNiYmUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUt
YW5kLXNjcm9sbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitQQVNTIHdpbmRvdy5kb2N1
bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAxMDAKK1BBU1Mgd2luZG93LmRvY3VtZW50LmJvZHkuc2Ny
b2xsTGVmdCBpcyAxMDAKK1BBU1Mgd2luZG93LnNjcm9sbFggaXMgMTAwCitQQVNTIHdpbmRvdy5z
Y3JvbGxZIGlzIDEwMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2Fs
ZS1hbmQtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Ny
b2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWYwYjkzM2EyOWVmOGUwZDI5YTVlN2E1NzZhMWE5YjAwNWQ2
YTFlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFu
ZC1zY3JvbGwuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3Jp
cHQ+CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKworICAgICAgZnVu
Y3Rpb24gc2Nyb2xsKCkgeworICAgICAgICAgIC8vIFRoZSBwYWdlIHNjYWxlLCBhcyBzZXQgYnkg
RXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkgc2hvdWxkIG5vdCBiZSBhcHBhcmVudAorICAgICAgICAg
IC8vIHRvIGphdmFzY3JpcHQuIFNvLCB3ZSBleHBlY3Qgc2Nyb2xsaW5nIHRvICgxMDAsMTAwKSB0
byBiZSBwYWdlIGNvb3JkaW5hdGVzLCByYXRoZXIKKyAgICAgICAgICAvLyB0aGFuIGRldmljZSBw
aXhlbHMuCisgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDApOworCisgICAgICAgICAg
c2hvdWxkQmUoIndpbmRvdy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCIsICIxMDAiKTsKKyAgICAg
ICAgICBzaG91bGRCZSgid2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIxMDAiKTsK
KyAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFgiLCAiMTAwIik7CisgICAgICAgICAg
c2hvdWxkQmUoIndpbmRvdy5zY3JvbGxZIiwgIjEwMCIpOworICAgICAgfQorCisgICAgICBmdW5j
dGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0b3Ig
PSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnko
c2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQorICAg
ICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIHNjYWxlV2l0aEV2ZW50
U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6MjAwMHB4OyBoZWlnaHQ6MjAwMHB4OyBtYXJn
aW46MHB4OyIgb25sb2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDow
OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3Vu
ZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3Jl
ZW47Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MDsgd2lkdGg6MTAw
cHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwv
ZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2
PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2Pgor
ICAgIDxkaXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdo
dDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisK
KyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvZXZlbnRzL3NjYWxl
LWFuZC1zY3JvbGwtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
bGludXgvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1leHBlY3RlZC5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjM0NmNjNWJjMjFkNTljMDhlYzJlYzY1OTZlYWJjYzI2ZDM2NjBjNwpHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMzMyNAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlop
PWheaGxBJUBXcyRsSGBvazxtfT9vVCF1ODAKek1Ec0xMYkpOc1IxSmZrS0c+ZiNQV01rN0xHam41
MDMqIXtpPGgxSDReK15tMkpiailuanYqQ3UtcmpXI2RLQVVyCnphNH0mZytxSHZJRzZ1PSlJe01a
TCg7VXw7ekFpWDchflIzfmJrIVNkenFRdVJHdjwxQF4xTjJwdTZeUSV2bjJlTwp6dWxPeSR4XzBA
Mj9OOSE0P2J3KChPSE4pc3pQZkMwVD5rZGtpNHlQWjMld1deOyVgez17cisyYmE+bXNDOTZ2ZTIK
ekh2RXZkeDR2UWEldztiI09TNFglKnhmJm1tKklmPGh4V00jS1RsLWhXPjhTdXpgJjNNV0lVSn53
KSpzUzhFemVoCnpoVks9dFIoSlFSMHd2YWMrcTMkZHcwOG17TChLQyVFOF54OUUpSGE5Y3M8ODJ8
SVcxWVR3KTlrSzB1aXhFSWBIPwp6KCtDRUo/dy1keDNZSHZUVnUob0Rke2FsIz9FR2UzQ3goVUBL
IUZaVXBze3BkLTF4Znw3JjlNQyZ3U25rYjskUEgKemJMWlIwXzNOTWVeWHV6ckYtMFVOIWAoaGU3
O3BZdjZKfXVlUU5gRE9fO1dpeUttVTFvRT99VW9lcHxNQ2RHcTZzCno3NX48TjE1Kj92YzJrTGtw
I3d6eDJuaHFsUWQra0ZnOTM8bjVLTzBsQ090MGktbWUxWW8lcThLM25EQ25mWFBOQAp6KTZKWXxK
aFB3UTlNcTlBTllWeSomVW97JFdZPEBiQU1eSFhWRUQwZjRKQG1ZWFYkMUw8bD01TEcpNi1NUXRe
JFoKemd3ZDJSbmkyQCpmX000MGowX0Z5NlghaXxSYn59cUlHX1ktcGwmRlgkcldUbTMlb09+Py0m
QGFOM0lRZnVJfDc1CnpeN358TVY3dX5xPC1IKkJeQmthLWtGRVp5Ji1hOVlWKCZqKjM0TEJfM0tB
XmU5VERDUFktRkFRd1NCZyl6NWU8cwp6KnBBIVZab2pxWSVqYzZtVWJ5QDJ5MTNpY0VEUjQ/KE9T
Jl5ffUFGP3ZvWlhiUyFhR1peaiYrUiNQUCFZX3hEP3QKeiRRKGJMX0ljalF5e0IhP0A0b3gpYS1H
Yzchdyl+cVRyYlF9dkF1R2h4WX50RGlSYlY3VU1faWlvcV4keDRBM3ZMCnptYVgzUjxsSCQwaDZE
M3NaK294KkM7c3JMemFnLUJjNUt6Wm9pWSl4VU55X2B3T3s5QlhzQ0EjYXVqRnNqJTglOQp6emo9
VEFoMF9PdSFXa0lxQlZFNGglZ3kmJlVjWT19LXxAJDVtdFhrKCpMJHUhMUg9RTB7ZDxJZXg5VTI1
RkpvdEAKeitxNkdfO2M0LW0qPXpWZWVmYVI8NzkrejRlR2pie1M4dG5TPXJCQjN6VmdAZXl1RVNp
X2M8Nkk/QjJDKWBhN2BhCno8eFFsNHBgSXNtSmxwPCM8PH43RFgxPGZwcEo4T0VOWmNEMkEwMish
OzE5ZHgqTCN0MnYmQ05ueUU2PSl1NnsxLQpIb0QhTTxtYHNUSgoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGUwMzNiMDdjZjIxMWU1MTAzNzAzMjkyN2MwMTE4NzVlNTc1Zjlj
ZmEuLmNjN2UwM2Q1MDM2YTNmNjE2NmQyMmNmZTI0NmZkMDU4ZDk5ZGU3MzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAxMS0wOS0xOSAgQWxwaGEgTGFtICA8aGNsYW1AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
ODA4MQorICAgICAgICBUYWtlIGludG8gYWNjb3VudCBwYWdlIHNjYWxlIGZhY3RvciBmb3Igc2Ny
b2xsQnkoKSwgc2Nyb2xsWCgpIGFuZCBzY3JvbGxZKCkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2Nyb2xsQnkoKSwgc2Nyb2xsWCgpIGFuZCBzY3Jv
bGxZKCkgZGlkbid0IHRha2UgaW50byBhY2NvdW50IHRoZSBwYWdlIHNjYWxlCisgICAgICAgIGZh
Y3RvciwgY2F1c2luZyBpbmNvcnJlY3QgY29vcmRpbmF0ZXMgcmVwb3J0ZWQgdG8gSmF2YXNjcmlw
dC4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLmh0bWwKKwor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRv
dzo6c2Nyb2xsWCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbFkpOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzY3JvbGxUbyk6CisKIDIwMTEtMDktMTkgIEFkZW1h
ciBkZSBTb3V6YSBSZWlzIEpyLiAgPGFkZW1hci5yZWlzQG9wZW5ib3NzYS5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZDogZG9zMnVuaXggb24gYmluZGluZ3MvanMvSlNFeGNlcHRpb25CYXNlLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBiNzI0OTQxMzdmZjExNTY0Mzg3M2U3ZmY5
NjM5MDUxYzk0YWRiYzY0Li5iNzgyNDgzMDg0YWZjZDQyZWQyZDFkOTE1MzZkNTUwOGVmMTlmZjI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xMTQzLDcgKzExNDMsNyBAQCBpbnQg
RE9NV2luZG93OjpzY3JvbGxYKCkgY29uc3QKIAogICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCi0gICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGludD4odmlldy0+c2Nyb2xsWCgpIC8gbV9mcmFtZS0+cGFnZVpvb21GYWN0b3IoKSk7
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmlldy0+c2Nyb2xsWCgpIC8gbV9mcmFtZS0+
cGFnZVpvb21GYWN0b3IoKSAvIG1fZnJhbWUtPnBhZ2VTY2FsZUZhY3RvcigpKTsKIH0KIAogaW50
IERPTVdpbmRvdzo6c2Nyb2xsWSgpIGNvbnN0CkBAIC0xMTU3LDcgKzExNTcsNyBAQCBpbnQgRE9N
V2luZG93OjpzY3JvbGxZKCkgY29uc3QKIAogICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCi0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PGludD4odmlldy0+c2Nyb2xsWSgpIC8gbV9mcmFtZS0+cGFnZVpvb21GYWN0b3IoKSk7Cisg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmlldy0+c2Nyb2xsWSgpIC8gbV9mcmFtZS0+cGFn
ZVpvb21GYWN0b3IoKSAvIG1fZnJhbWUtPnBhZ2VTY2FsZUZhY3RvcigpKTsKIH0KIAogYm9vbCBE
T01XaW5kb3c6OmNsb3NlZCgpIGNvbnN0CkBAIC0xMzg0LDggKzEzODQsOCBAQCB2b2lkIERPTVdp
bmRvdzo6c2Nyb2xsVG8oaW50IHgsIGludCB5KSBjb25zdAogICAgIGlmICghdmlldykKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaW50IHpvb21lZFggPSBzdGF0aWNfY2FzdDxpbnQ+KHggKiBtX2Zy
YW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKLSAgICBpbnQgem9vbWVkWSA9IHN0YXRpY19jYXN0PGlu
dD4oeSAqIG1fZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkpOworICAgIGludCB6b29tZWRYID0gc3Rh
dGljX2Nhc3Q8aW50Pih4ICogbV9mcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIG1fZnJhbWUtPnBh
Z2VTY2FsZUZhY3RvcigpKTsKKyAgICBpbnQgem9vbWVkWSA9IHN0YXRpY19jYXN0PGludD4oeSAq
IG1fZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBtX2ZyYW1lLT5wYWdlU2NhbGVGYWN0b3IoKSk7
CiAgICAgdmlldy0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoem9vbWVkWCwgem9vbWVkWSkp
OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108004</attachid>
            <date>2011-09-20 08:23:47 -0700</date>
            <delta_ts>2011-09-22 04:21:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68081-20110920162345.patch</filename>
            <type>text/plain</type>
            <size>27298</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU0MTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMjA5NmI4ZjE3ZmQzZmQzMTJmYmEy
MzNkZDJhMzkxMDYyNGY3YmExLi4zZGM3YThhYjk3YTEwOTlkMjNkM2FiMTQ3ZDA5MTc3M2MzOTIz
NjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDktMjAgIEFscGhhIExhbSAgPGhjbGFt
QGNocm9taXVtLm9yZz4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjgwODEKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGZvciBwYWdlIHNjYWxlIGFu
ZCBzY3JvbGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHRlc3RzIHRvIGNvdmVyIHRoZSBmb2xsb3dpbmcgY2FzZXM6CisgICAgICAgIDEu
IFNjYWxlIGFuZCBzY3JvbGwgd2luZG93CisgICAgICAgIDIuIFNjYWxlIGFuZCBzY3JvbGwgZG9j
dW1lbnQuYm9keQorICAgICAgICAzLiBTY2FsZSBhbmQgc2Nyb2xsIGlmcmFtZSdzIGNvbnRlbnRX
aW5kb3cKKyAgICAgICAgNC4gU2NhbGUgYW5kIHNjcm9sbCBpZnJhbWUncyBjb250ZW50RG9jdW1l
bnQuYm9keQorCisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1ib2R5LWV4
cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9s
bC1ib2R5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUt
YW5kLXNjcm9sbC1ib2R5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NjYWxl
LWFuZC1zY3JvbGwtaWZyYW1lLWJvZHktZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS1ib2R5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtYm9keS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFt
ZS13aW5kb3ctZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zY2Fs
ZS1hbmQtc2Nyb2xsLWlmcmFtZS13aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS13aW5kb3cuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC13aW5kb3ctZXhwZWN0ZWQu
cG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRv
dy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NjYWxlLWFuZC1z
Y3JvbGwtd2luZG93Lmh0bWw6IEFkZGVkLgorCiAyMDExLTA5LTE5ICBac29sdCBGZWjDqXIgIDxm
ZWhlcnpzQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBVbnJldmlld2VkIFF0IGdhcmRlbmlu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwt
Ym9keS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Ny
b2xsLWJvZHktZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiNDQwMzI4N2M2Y2RiNjVhM2FlY2Mx
YzRkYjMwNDk3YzkwMjc3ZDgKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NTQKemNtZUFTQE4/
KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RtfTxr
CnpsYSNjaVdhQzcwQmxEIVJHe2FPQUd0MENAM3NYeXI2ZUR2QkdoX2NHckZhR2d0e3Q4KGp2KkN1
LXJsJiMkKUwhPwp6PmJVbmBeKlBneDNhNU5uLSlybUslcyQoNj54YFhrcXgjUDkxRzQpckdjeiM2
RFF7cTROTWhuPFAqNTlYajBWREoKek59eXZkKnB+azYzbVplakAqZkZ8M2BiYlI3I3dePzhLWiRQ
bmk1OEghRHVjUiU+XlNYN3R9cVAkaTRDLU9WQEU9ClAhPFdJKyl6NCp9USRpQn1STVJEegoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
c2NhbGUtYW5kLXNjcm9sbC1ib2R5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3NjYWxlLWFuZC1zY3JvbGwtYm9keS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFiODQ3
ZDQ3YmM4OTY4ODZkZjdjMGI4MGU2NDM0MTFjNDBjYmJlMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtYm9keS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitQQVNTIHdpbmRvdy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAx
MDAKK1BBU1Mgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAxMDAKK1BBU1Mgd2lu
ZG93LnNjcm9sbFggaXMgMTAwCitQQVNTIHdpbmRvdy5zY3JvbGxZIGlzIDEwMAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWJvZHkuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtYm9keS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdhODdlZjRlNTA5NTlmMmQ0MTVjMzk5OTA4MmNlZDY0NzJkNTRkMDUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWJvZHku
aHRtbApAQCAtMCwwICsxLDUxIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAg
ICAgOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAg
ICAgICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+
CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKworICAgICAgZnVuY3Rp
b24gc2Nyb2xsKCkgeworICAgICAgICAgIC8vIFRoZSBwYWdlIHNjYWxlLCBhcyBzZXQgYnkgRXZl
bnRTZW5kZXIuc2NhbGVQYWdlQnkgc2hvdWxkIG5vdCBiZSBhcHBhcmVudAorICAgICAgICAgIC8v
IHRvIGphdmFzY3JpcHQuIFNvLCB3ZSBleHBlY3Qgc2Nyb2xsaW5nIHRvICgxMDAsMTAwKSB0byBi
ZSBwYWdlIGNvb3JkaW5hdGVzLCByYXRoZXIKKyAgICAgICAgICAvLyB0aGFuIGRldmljZSBwaXhl
bHMuCisgICAgICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ID0gMTAwOworICAgICAgICAg
IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gMTAwOworCisgICAgICAgICAgc2hvdWxkQmUoIndp
bmRvdy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCIsICIxMDAiKTsKKyAgICAgICAgICBzaG91bGRC
ZSgid2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIxMDAiKTsKKyAgICAgICAgICBz
aG91bGRCZSgid2luZG93LnNjcm9sbFgiLCAiMTAwIik7CisgICAgICAgICAgc2hvdWxkQmUoIndp
bmRvdy5zY3JvbGxZIiwgIjEwMCIpOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBzY2FsZVdp
dGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0b3IgPSAyLjA7CisgICAg
ICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoc2NhbGVGYWN0b3Is
IHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQorICAgICAgfQorCisgICAg
ICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCk7Cisg
ICAgICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBzdHlsZT0id2lkdGg6MjAwMHB4OyBoZWlnaHQ6MjAwMHB4OyBtYXJnaW46MHB4OyIgb25s
b2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBw
eDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48
L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4K
KyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorCisgICAg
PGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorICAgIDxkaXYg
c3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsg
cG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MjAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9z
aXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisKKyAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1lLWJvZHktZXhwZWN0ZWQucG5n
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtYm9keS1l
eHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JjZTMxNWFiYTNiZjQyOTU1NjljZmRmOTA4ZjkxYzUz
YjgyMzNhZApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjk0Mgp6Y21lQVNATj8ob2xIeWB1VkJx
IWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG4zfUcKenF+c0tmQnZU
YGs8UF5pP0x9VE4kUk1TKlQzeVkpX0whKkBCUktybTJASUQzeFpVSWpoJEI+RlNaKk9rUVdwWlMy
CnpidnpmKSZNYyp7U24rY0UlNFZmbilpdWlBQ3BQKGZJeF9FcSYkZGdmQHpTPDteXiR3O19UUFRI
UDNKVVUqN01JbAp6T1JVYnVGKjVpVT9YWjlJe3JCbW8kPTlhKmsxP05GZDtRfiYrMFNvM2lMS3BS
ZXw4PU4hfS1yPCllSDs9UnRyV2oKekZjPnpuRzYpQ3tGTlhDV3RBNH1PVzZyYlplNl80VGFEUTd4
YDBIS2dLPm1LckZVSHtEbGZjTXVna19YNThWR3xlCnpDQT14OXd+KkB4cnF4K1kzP0hQWDg2SkRY
JWZPKDJSOUpCfChULS09KE5iJFA3bVZoRChPZlcrYT17eUVQN1Q/YwpVU0NmTXJmRExLfVBnZyZl
YnhzTFEwMXp7QVEyK257CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS1ib2R5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1lLWJv
ZHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExZDg2ODcxYjI3ZDkzYWYzMTUyN2M1ODdmZTlh
OWNiMmJkOGNjYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9z
Y2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS1ib2R5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAK
KworUEFTUyBmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgMTAwCitQQVNT
IGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgaXMgMTAwCitQQVNTIGZyYW1l
LmNvbnRlbnRXaW5kb3cuc2Nyb2xsWCBpcyAxMDAKK1BBU1MgZnJhbWUuY29udGVudFdpbmRvdy5z
Y3JvbGxZIGlzIDEwMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2Fs
ZS1hbmQtc2Nyb2xsLWlmcmFtZS1ib2R5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9z
Y2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS1ib2R5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE1MThjN2E1ZjM3
NTZmNmZhN2ZhNzBiYWYzNzg0MmJkZDg5ZTlhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1lLWJvZHkuaHRtbApAQCAtMCww
ICsxLDYyIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgOjotd2Via2l0
LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAgICAgICAgaGVpZ2h0
OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdp
bmRvdy5lbmFibGVQaXhlbFRlc3RpbmcgPSB0cnVlOworCisgICAgICAgIGZ1bmN0aW9uIHNjcm9s
bCgpIHsKKyAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAxMDApOworICAgICAgICAgICAg
dmFyIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lJyk7CisgICAgICAgICAg
ICBmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSAxMDA7CisgICAgICAgICAg
ICBmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ID0gMTAwOworCisgICAgICAg
ICAgICBzaG91bGRCZSgiZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjEw
MCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnNj
cm9sbExlZnQiLCAiMTAwIik7CisgICAgICAgICAgICBzaG91bGRCZSgiZnJhbWUuY29udGVudFdp
bmRvdy5zY3JvbGxYIiwgIjEwMCIpOworICAgICAgICAgICAgc2hvdWxkQmUoImZyYW1lLmNvbnRl
bnRXaW5kb3cuc2Nyb2xsWSIsICIxMDAiKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9u
IHNjYWxlV2l0aEV2ZW50U2VuZGVyKCkgeworICAgICAgICAgICAgdmFyIHNjYWxlRmFjdG9yID0g
MC41OworICAgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQ
YWdlQnkoc2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAg
c2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICAgIHNjcm9sbCgpOworICAgICAgICB9
CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiIHN0eWxl
PSJoZWlnaHQ6IDIwMDBweCI+CisgICAgPGlmcmFtZSBpZD0iZnJhbWUiIHN0eWxlPSJ3aWR0aDo0
MDBweDsgaGVpZ2h0OiA0MDBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyI+PC9p
ZnJhbWU+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKyAgICA8c2NyaXB0PgorICAg
ICAgICB2YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWUnKTsKKyAgICAg
ICAgdmFyIGRvYyA9IGZyYW1lLmNvbnRlbnREb2N1bWVudC5vcGVuKCk7CisgICAgICAgIGRvYy53
cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93Oyc+PC9kaXY+Iik7CisgICAg
ICAgIGRvYy53cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4
OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyc+PC9k
aXY+Iik7CisgICAgICAgIGRvYy53cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDoyMDBweDsgdG9wOjA7
IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5k
OmJsdWU7Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2IHN0eWxlPSdsZWZ0OjMw
MHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7
IGJhY2tncm91bmQ6Z3JlZW47Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2IHN0
eWxlPSdsZWZ0OjQwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRp
b246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsnPjwvZGl2PiIpOworCisgICAgICAgIGRvYy53
cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6
MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOiBncmVlbjsnPjwvZGl2PiIpOwor
ICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1
ZTsnPjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MjAwcHg7
IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7
IGJhY2tncm91bmQ6Z3JlZW47Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2IHN0
eWxlPSdsZWZ0OjMwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBv
c2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9j
LndyaXRlKCI8ZGl2IHN0eWxlPSdsZWZ0OjQwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyc+PC9kaXY+
Iik7CisgICAgICAgIGRvYy5jbG9zZSgpOworICAgICAgICBmcmFtZS5jb250ZW50RG9jdW1lbnQu
Ym9keS5zdHlsZS53aWR0aCA9ICIyMDAwcHgiOworICAgICAgICBmcmFtZS5jb250ZW50RG9jdW1l
bnQuYm9keS5zdHlsZS5oZWlnaHQgPSAiMjAwMHB4IjsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1z
Y3JvbGwtaWZyYW1lLXdpbmRvdy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS13aW5kb3ctZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNiY2UzMTVhYmEzYmY0Mjk1NTY5Y2ZkZjkwOGY5MWM1M2I4MjMzYWQKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDI5NDIKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1o
XmhsQSVAV3MkbEhgb2s8bX0/b1RuM31HCnpxfnNLZkJ2VGBrPFBeaT9MfVROJFJNUypUM3lZKV9M
ISpAQlJLcm0yQElEM3haVUlqaCRCPkZTWipPa1FXcFpTMgp6YnZ6ZikmTWMqe1NuK2NFJTRWZm4p
aXVpQUNwUChmSXhfRXEmJGRnZkB6Uzw7Xl4kdztfVFBUSFAzSlVVKjdNSWwKek9SVWJ1Rio1aVU/
WFo5SXtyQm1vJD05YSprMT9ORmQ7UX4mKzBTbzNpTEtwUmV8OD1OIX0tcjwpZUg7PVJ0cldqCnpG
Yz56bkc2KUN7Rk5YQ1d0QTR9T1c2cmJaZTZfNFRhRFE3eGAwSEtnSz5tS3JGVUh7RGxmY011Z2tf
WDU4Vkd8ZQp6Q0E9eDl3fipAeHJxeCtZMz9IUFg4NkpEWCVmTygyUjlKQnwoVC0tPShOYiRQN21W
aEQoT2ZXK2E9e3lFUDdUP2MKVVNDZk1yZkRMS31QZ2cmZWJ4c0xRMDF6e0FRMituewoKbGl0ZXJh
bCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Nh
bGUtYW5kLXNjcm9sbC1pZnJhbWUtd2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1lLXdpbmRvdy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOGVhNTcyZTI5NTNjNmFmNmY4MjYwYzZhMjUyZTJhOWY2MGEzMjc2NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZy
YW1lLXdpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitQQVNTIGZyYW1lLmNvbnRl
bnREb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAxMDAKK1BBU1MgZnJhbWUuY29udGVudERvY3Vt
ZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAxMDAKK1BBU1MgZnJhbWUuY29udGVudFdpbmRvdy5zY3Jv
bGxYIGlzIDEwMAorUEFTUyBmcmFtZS5jb250ZW50V2luZG93LnNjcm9sbFkgaXMgMTAwCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1l
LXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1p
ZnJhbWUtd2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDFjZWFjN2FkNjMyZjI5YmRhMmFlOTM3ZTdi
M2EyMmM1MjM3YWFkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1lLXdpbmRvdy5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzxo
dG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsK
KyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsKKyAgICAg
ICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd2luZG93LmVuYWJsZVBp
eGVsVGVzdGluZyA9IHRydWU7CisKKyAgICAgICAgZnVuY3Rpb24gc2Nyb2xsKCkgeworICAgICAg
ICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDEwMCk7CisgICAgICAgICAgICB2YXIgZnJhbWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWUnKTsKKyAgICAgICAgICAgIGZyYW1lLmNvbnRl
bnRXaW5kb3cuc2Nyb2xsVG8oMTAwLDEwMCk7CisKKyAgICAgICAgICAgIHNob3VsZEJlKCJmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxUb3AiLCAiMTAwIik7CisgICAgICAgICAgICBz
aG91bGRCZSgiZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIxMDAiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJmcmFtZS5jb250ZW50V2luZG93LnNjcm9sbFgiLCAiMTAw
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiZnJhbWUuY29udGVudFdpbmRvdy5zY3JvbGxZIiwg
IjEwMCIpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5k
ZXIoKSB7CisgICAgICAgICAgICB2YXIgc2NhbGVGYWN0b3IgPSAwLjU7CisgICAgICAgICAgICB2
YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
eworICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwg
c2NhbGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBzY2FsZVdpdGhFdmVudFNlbmRl
cigpOworICAgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyIgc3R5bGU9ImhlaWdodDogMjAwMHB4Ij4K
KyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8aWZyYW1lIGlkPSJmcmFtZSIgc3R5
bGU9IndpZHRoOjQwMHB4OyBoZWlnaHQ6IDQwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDog
MTAwcHg7Ij48L2lmcmFtZT4KKworICAgIDxzY3JpcHQ+CisgICAgICAgIHZhciBmcmFtZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZScpOworICAgICAgICB2YXIgZG9jID0gZnJhbWUu
Y29udGVudERvY3VtZW50Lm9wZW4oKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2IHN0eWxlPSds
ZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0
ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2
IHN0eWxlPSdsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9z
aXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9j
LndyaXRlKCI8ZGl2IHN0eWxlPSdsZWZ0OjIwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdo
dDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsnPjwvZGl2PiIpOwor
ICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MzAwcHg7IHRvcDowOyB3aWR0aDox
MDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsn
PjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6NDAwcHg7IHRv
cDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDpibHVlOyc+PC9kaXY+Iik7CisKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2IHN0eWxlPSds
ZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJz
b2x1dGU7IGJhY2tncm91bmQ6IGdyZWVuOyc+PC9kaXY+Iik7CisgICAgICAgIGRvYy53cml0ZSgi
PGRpdiBzdHlsZT0nbGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyc+PC9kaXY+Iik7CisgICAg
ICAgIGRvYy53cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDoyMDBweDsgdG9wOjEwMHB4OyB3aWR0aDox
MDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsn
PjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MzAwcHg7IHRv
cDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJh
Y2tncm91bmQ6Ymx1ZTsnPjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9
J2xlZnQ6NDAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRp
b246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLmNs
b3NlKCk7CisgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnN0eWxlLndpZHRoID0g
IjIwMDBweCI7CisgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnN0eWxlLmhlaWdo
dCA9ICIyMDAwcHgiOworICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC13aW5kb3ctZXhwZWN0
ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC13aW5kb3ct
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiNDQwMzI4N2M2Y2RiNjVhM2FlY2MxYzRkYjMwNDk3
YzkwMjc3ZDgKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NTQKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RtfTxrCnpsYSNjaVdh
QzcwQmxEIVJHe2FPQUd0MENAM3NYeXI2ZUR2QkdoX2NHckZhR2d0e3Q4KGp2KkN1LXJsJiMkKUwh
Pwp6PmJVbmBeKlBneDNhNU5uLSlybUslcyQoNj54YFhrcXgjUDkxRzQpckdjeiM2RFF7cTROTWhu
PFAqNTlYajBWREoKek59eXZkKnB+azYzbVplakAqZkZ8M2BiYlI3I3dePzhLWiRQbmk1OEghRHVj
UiU+XlNYN3R9cVAkaTRDLU9WQEU9ClAhPFdJKyl6NCp9USRpQn1STVJEegoKbGl0ZXJhbCAwCkhj
bVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5k
LXNjcm9sbC13aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Nh
bGUtYW5kLXNjcm9sbC13aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxYjg0N2Q0N2Jj
ODk2ODg2ZGY3YzBiODBlNjQzNDExYzQwY2JiZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRvdy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitQQVNTIHdpbmRvdy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAxMDAK
K1BBU1Mgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAxMDAKK1BBU1Mgd2luZG93
LnNjcm9sbFggaXMgMTAwCitQQVNTIHdpbmRvdy5zY3JvbGxZIGlzIDEwMAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC13aW5kb3cuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNTU1MTE1MjUzNDI5ZTFiNGMwODYxNjMwYTA5MmM5MTgyNDQyZTBjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC13aW5k
b3cuaHRtbApAQCAtMCwwICsxLDUwIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAg
ICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAg
ICAgICAgICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3Jp
cHQ+CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKworICAgICAgZnVu
Y3Rpb24gc2Nyb2xsKCkgeworICAgICAgICAgIC8vIFRoZSBwYWdlIHNjYWxlLCBhcyBzZXQgYnkg
RXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkgc2hvdWxkIG5vdCBiZSBhcHBhcmVudAorICAgICAgICAg
IC8vIHRvIGphdmFzY3JpcHQuIFNvLCB3ZSBleHBlY3Qgc2Nyb2xsaW5nIHRvICgxMDAsMTAwKSB0
byBiZSBwYWdlIGNvb3JkaW5hdGVzLCByYXRoZXIKKyAgICAgICAgICAvLyB0aGFuIGRldmljZSBw
aXhlbHMuCisgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDApOworCisgICAgICAgICAg
c2hvdWxkQmUoIndpbmRvdy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCIsICIxMDAiKTsKKyAgICAg
ICAgICBzaG91bGRCZSgid2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIxMDAiKTsK
KyAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFgiLCAiMTAwIik7CisgICAgICAgICAg
c2hvdWxkQmUoIndpbmRvdy5zY3JvbGxZIiwgIjEwMCIpOworICAgICAgfQorCisgICAgICBmdW5j
dGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0b3Ig
PSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnko
c2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQorICAg
ICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIHNjYWxlV2l0aEV2ZW50
U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6MjAwMHB4OyBoZWlnaHQ6MjAwMHB4OyBtYXJn
aW46MHB4OyIgb25sb2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDow
OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3Vu
ZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3Jl
ZW47Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MDsgd2lkdGg6MTAw
cHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwv
ZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2
PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2Pgor
ICAgIDxkaXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdo
dDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisK
KyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBlMDMzYjA3Y2YyMTFlNTEwMzcwMzI5MjdjMDExODc1ZTU3NWY5Y2ZhLi5jOGQ4YzdiN2Jh
MjUzMjE3ODY3Nzk0NzE2ZGI3NWE1ZGI0N2Q2MDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMg
QEAKKzIwMTEtMDktMjAgIEFscGhhIExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwODEKKyAgICAgICAg
Rml4IHNjcm9sbCBpbiBwYWdlIHNjYWxpbmcgbW9kZS4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyBhcmUgZG9uZSBp
biB0aGlzIHBhdGNoOgorICAgICAgICAxLiBSZW5hbWUgRnJhbWU6OnBhZ2VTY2FsZUZhY3Rvcigp
IHRvIEZyYW1lOjpmcmFtZVNjYWxlRmFjdG9yKCkgdG8gYmV0dGVyCisgICAgICAgICAgIHJlZmxl
Y3QgaXRzIHB1cnBvc2UuCisgICAgICAgIDIuIEZyYW1lOjpmcmFtZVNjYWxlRmFjdG9yKCkgcmV0
dXJucyB0aGUgc2NhbGUgZmFjdG9yIG9mIHRoaXMgZnJhbWUgd2l0aAorICAgICAgICAgICByZXNw
ZWN0IHRvIHRoZSBjb250YWluZXIuIFNvIGZvciB0aGUgbWFpbiBmcmFtZSBpdCdsbCByZXR1cm4g
dGhlIHNjYWxlCisgICAgICAgICAgIGZhY3RvciBvZiB0aGUgcGFnZSwgaW5uZXIgZnJhbWVzIHdp
bGwgcmV0dXJuIDEuMAorICAgICAgICAzLiBzY3JvbGxCeSgpLCBzY3JvbGxYKCkgYW5kIHNjcm9s
bFkoKSB0byB0YWtlIGludG8gYWNjb3VudCBvZiB0aGUgZnJhbWUKKyAgICAgICAgICAgc2NhbGUg
ZmFjdG9yLCBjYXVzaW5nIGluY29ycmVjdCBjb29yZGluYXRlcyByZXBvcnRlZCB0byBKYXZhc2Ny
aXB0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWJvZHku
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUt
Ym9keS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlm
cmFtZS13aW5kb3cuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNj
cm9sbC13aW5kb3cuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6YWRqdXN0Rm9yWm9vbSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Qm9keUVsZW1lbnQ6OnNldFNjcm9sbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlF
bGVtZW50OjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAqIGxvYWRlci9IaXN0b3J5Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5Q29udHJvbGxlcjo6c2F2ZVNjcm9sbFBv
c2l0aW9uQW5kVmlld1N0YXRlVG9JdGVtKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNjcm9sbFgpOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjpzY3JvbGxZKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Ny
b2xsVG8pOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWU6OmZyYW1lU2NhbGVGYWN0b3IpOiBSZXR1cm4gcGFnZSdzIHNjYWxlIGZhY3RvciBpZiB0aGlz
IGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW4gZnJh
bWUsIG90aGVyd2lzZSAxLjAKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBseU92ZXJm
bG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFhGb3JG
aXhlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsWUZvckZp
eGVkUG9zaXRpb24pOgorCiAyMDExLTA5LTE5ICBBZGVtYXIgZGUgU291emEgUmVpcyBKci4gIDxh
ZGVtYXIucmVpc0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQ6IGRvczJ1bml4
IG9uIGJpbmRpbmdzL2pzL0pTRXhjZXB0aW9uQmFzZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
b2R5RWxlbWVudC5jcHAKaW5kZXggMDM4YzU2YTYyODNmM2UyMjZhYzA1NDg5NjEwYzNjMTUxMzQ3
Yzg2OC4uZGYzZmNkODE2YzQzYWFmMmFjMzc3NTY4NTk2OTkxNzA5N2ViYTkxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcApAQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQg
SFRNTEJvZHlFbGVtZW50OjpzZXRWTGluayhjb25zdCBTdHJpbmcmIHZhbHVlKQogc3RhdGljIGlu
dCBhZGp1c3RGb3Jab29tKGludCB2YWx1ZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIEZy
YW1lKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpOwotICAgIGZsb2F0IHpvb21GYWN0b3IgPSBm
cmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5wYWdlU2NhbGVGYWN0b3IoKTsKKyAgICBm
bG9hdCB6b29tRmFjdG9yID0gZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBmcmFtZS0+ZnJhbWVT
Y2FsZUZhY3RvcigpOwogICAgIGlmICh6b29tRmFjdG9yID09IDEpCiAgICAgICAgIHJldHVybiB2
YWx1ZTsKICAgICAvLyBOZWVkZWQgYmVjYXVzZSBvZiB0cnVuY2F0aW9uIChyYXRoZXIgdGhhbiBy
b3VuZGluZykgd2hlbiBzY2FsaW5nIHVwLgpAQCAtMjk1LDcgKzI5NSw3IEBAIHZvaWQgSFRNTEJv
ZHlFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KGludCBzY3JvbGxMZWZ0KQogICAgIEZyYW1lVmlldyog
dmlldyA9IGZyYW1lLT52aWV3KCk7CiAgICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1cm47Ci0g
ICAgdmlldy0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoc3RhdGljX2Nhc3Q8aW50PihzY3Jv
bGxMZWZ0ICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBmcmFtZS0+cGFnZVNjYWxlRmFjdG9y
KCkpLCB2aWV3LT5zY3JvbGxZKCkpKTsKKyAgICB2aWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQ
b2ludChzdGF0aWNfY2FzdDxpbnQ+KHNjcm9sbExlZnQgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3Io
KSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCB2aWV3LT5zY3JvbGxZKCkpKTsKIH0KIAog
aW50IEhUTUxCb2R5RWxlbWVudDo6c2Nyb2xsVG9wKCkKQEAgLTMxNyw3ICszMTcsNyBAQCB2b2lk
IEhUTUxCb2R5RWxlbWVudDo6c2V0U2Nyb2xsVG9wKGludCBzY3JvbGxUb3ApCiAgICAgRnJhbWVW
aWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVy
bjsKLSAgICB2aWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh2aWV3LT5zY3JvbGxYKCks
IHN0YXRpY19jYXN0PGludD4oc2Nyb2xsVG9wICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBm
cmFtZS0+cGFnZVNjYWxlRmFjdG9yKCkpKSk7CisgICAgdmlldy0+c2V0U2Nyb2xsUG9zaXRpb24o
SW50UG9pbnQodmlldy0+c2Nyb2xsWCgpLCBzdGF0aWNfY2FzdDxpbnQ+KHNjcm9sbFRvcCAqIGZy
YW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkpKTsKIH0K
IAogaW50IEhUTUxCb2R5RWxlbWVudDo6c2Nyb2xsSGVpZ2h0KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCmluZGV4IDJlNDY4NGRjYzJkNDY0MGUyMzYzMzc1
ZGY4Yzg3YjY5MjcwMmJmM2QuLjc3MmMwMWRjMmU5YTJhNzA2NjYzYjFjYzViNDlkZmJlYTkxMDg4
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcApAQCAt
ODYsNyArODYsNyBAQCB2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpzYXZlU2Nyb2xsUG9zaXRpb25B
bmRWaWV3U3RhdGVUb0l0ZW0oSGlzdG9yeUl0ZW0qIGl0ZW0pCiAgICAgZWxzZQogICAgICAgICBp
dGVtLT5zZXRTY3JvbGxQb2ludChtX2ZyYW1lLT52aWV3KCktPnNjcm9sbFBvc2l0aW9uKCkpOwog
Ci0gICAgaXRlbS0+c2V0UGFnZVNjYWxlRmFjdG9yKG1fZnJhbWUtPnBhZ2VTY2FsZUZhY3Rvcigp
KTsKKyAgICBpdGVtLT5zZXRQYWdlU2NhbGVGYWN0b3IobV9mcmFtZS0+ZnJhbWVTY2FsZUZhY3Rv
cigpKTsKICAgICAKICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgZ3JlYXQgdG8gd29yayBvdXQg
YSB3YXkgdG8gcHV0IHRoaXMgY29kZSBpbiBXZWJDb3JlIGluc3RlYWQgb2YgY2FsbGluZyB0aHJv
dWdoIHRvIHRoZSBjbGllbnQuCiAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT5zYXZl
Vmlld1N0YXRlVG9JdGVtKGl0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGI3
MjQ5NDEzN2ZmMTE1NjQzODczZTdmZjk2MzkwNTFjOTRhZGJjNjQuLjk4Y2JiMDhmNmRiOGE5ZTJj
ZTliNDEwYjU3ZGI2ODVkOTQ1Mzk5MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAg
LTExNDMsNyArMTE0Myw3IEBAIGludCBET01XaW5kb3c6OnNjcm9sbFgoKSBjb25zdAogCiAgICAg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KCk7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2aWV3LT5zY3JvbGxYKCkgLyBtX2Zy
YW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2aWV3
LT5zY3JvbGxYKCkgLyAobV9mcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIG1fZnJhbWUtPmZyYW1l
U2NhbGVGYWN0b3IoKSkpOwogfQogCiBpbnQgRE9NV2luZG93OjpzY3JvbGxZKCkgY29uc3QKQEAg
LTExNTcsNyArMTE1Nyw3IEBAIGludCBET01XaW5kb3c6OnNjcm9sbFkoKSBjb25zdAogCiAgICAg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRz
KCk7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2aWV3LT5zY3JvbGxZKCkgLyBtX2Zy
YW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2aWV3
LT5zY3JvbGxZKCkgLyAobV9mcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIG1fZnJhbWUtPmZyYW1l
U2NhbGVGYWN0b3IoKSkpOwogfQogCiBib29sIERPTVdpbmRvdzo6Y2xvc2VkKCkgY29uc3QKQEAg
LTEzODQsOCArMTM4NCw4IEBAIHZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhpbnQgeCwgaW50IHkp
IGNvbnN0CiAgICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgem9vbWVk
WCA9IHN0YXRpY19jYXN0PGludD4oeCAqIG1fZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkpOwotICAg
IGludCB6b29tZWRZID0gc3RhdGljX2Nhc3Q8aW50Pih5ICogbV9mcmFtZS0+cGFnZVpvb21GYWN0
b3IoKSk7CisgICAgaW50IHpvb21lZFggPSBzdGF0aWNfY2FzdDxpbnQ+KHggKiBtX2ZyYW1lLT5w
YWdlWm9vbUZhY3RvcigpICogbV9mcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpKTsKKyAgICBpbnQg
em9vbWVkWSA9IHN0YXRpY19jYXN0PGludD4oeSAqIG1fZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkg
KiBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpOwogICAgIHZpZXctPnNldFNjcm9sbFBvc2l0
aW9uKEludFBvaW50KHpvb21lZFgsIHpvb21lZFkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApp
bmRleCBmNmRjNzQwMzM3YjJlNjYzZWYxN2FkMmEyMzU2Y2QzMGI5Nzc5YzY2Li43ZGNlNDM5ZjM2
MTlkZTEzYmNhYWNlOGZlODEwMjQyZjAzMTExMGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAt
MTAyMywxMCArMTAyMywxMiBAQCB2b2lkIEZyYW1lOjpzZXRQYWdlQW5kVGV4dFpvb21GYWN0b3Jz
KGZsb2F0IHBhZ2Vab29tRmFjdG9yLCBmbG9hdCB0ZXh0Wm9vbUZhY3RvcgogICAgICAgICBwYWdl
LT5iYWNrRm9yd2FyZCgpLT5tYXJrUGFnZXNGb3JGdWxsU3R5bGVSZWNhbGMoKTsKIH0KIAotZmxv
YXQgRnJhbWU6OnBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0CitmbG9hdCBGcmFtZTo6ZnJhbWVTY2Fs
ZUZhY3RvcigpIGNvbnN0CiB7CiAgICAgUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKLSAgICBp
ZiAoIXBhZ2UpCisKKyAgICAvLyBNYWluIGZyYW1lIGlzIHNjYWxlZCB3aXRoIHJlc3BlY3QgdG8g
aGUgY29udGFpbmVyIGJ1dCBpbm5lciBmcmFtZXMgYXJlIG5vdCBzY2FsZWQgd2l0aCByZXNwZWN0
IHRvIHRoZSBtYWluIGZyYW1lLgorICAgIGlmICghcGFnZSB8fCBwYWdlLT5tYWluRnJhbWUoKSAh
PSB0aGlzKQogICAgICAgICByZXR1cm4gMTsKICAgICByZXR1cm4gcGFnZS0+cGFnZVNjYWxlRmFj
dG9yKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggYmYyNGMzNjQ5MmQ5OGFiM2ZkYjc5OTE3ZDE0
ZTc5ZTM4MmM3YWUzZS4uNmE2MmJkNzQ3MzFiZTEzMzIzMDkzMTUwMzMwMzU0MDVhOTJmNTI3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWUuaApAQCAtMTYxLDggKzE2MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgZmxvYXQgdGV4dFpvb21GYWN0b3IoKSBjb25zdCB7IHJldHVybiBtX3RleHRab29t
RmFjdG9yOyB9CiAgICAgICAgIHZvaWQgc2V0UGFnZUFuZFRleHRab29tRmFjdG9ycyhmbG9hdCBw
YWdlWm9vbUZhY3RvciwgZmxvYXQgdGV4dFpvb21GYWN0b3IpOwogCi0gICAgICAgIC8vIENvbnZl
bmllbmNlIGhlbHBlciBtZXRob2QgdGhhdCBncmFicyB0aGUgcGFnZVNjYWxlRmFjdG9yIGZyb20g
UGFnZS4KLSAgICAgICAgZmxvYXQgcGFnZVNjYWxlRmFjdG9yKCkgY29uc3Q7CisgICAgICAgIC8v
IFNjYWxlIGZhY3RvciBvZiB0aGlzIGZyYW1lIHdpdGggcmVzcGVjdCB0byB0aGUgY29udGFpbmVy
LgorICAgICAgICBmbG9hdCBmcmFtZVNjYWxlRmFjdG9yKCkgY29uc3Q7CiAKICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0
b3JDaGFuZ2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTNiZGU5NmY3MzY0
NGExNTZiZDExOTE4OWI3NWM4YmUxNzdlMDYzNC4uNmI2NjMwZmZkYTViMjNlOTdhNTk5Yjc2ZWRl
NGUwZTBmMzVjODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNTI1LDkgKzUy
NSw5IEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3cG9ydChSZW5kZXJPYmpl
Y3QqIG8sIFNjcm9sbGJhck1vZGUmIGhNb2RlLCBTCiAgICAgLy8gdXNlIHRoZSByb290IGVsZW1l
bnQuCiAKICAgICAvLyBUbyBjb21iYXQgdGhlIGluYWJpbGl0eSB0byBzY3JvbGwgb24gYSBwYWdl
IHdpdGggb3ZlcmZsb3c6aGlkZGVuIG9uIHRoZSByb290IHdoZW4gc2NhbGVkLCBkaXNyZWdhcmQg
aGlkZGVuIHdoZW4KLSAgICAvLyB0aGVyZSBpcyBhIHBhZ2VTY2FsZUZhY3RvciB0aGF0IGlzIGdy
ZWF0ZXIgdGhhbiBvbmUgb24gdGhlIG1haW4gZnJhbWUuCisgICAgLy8gdGhlcmUgaXMgYSBmcmFt
ZVNjYWxlRmFjdG9yIHRoYXQgaXMgZ3JlYXRlciB0aGFuIG9uZSBvbiB0aGUgbWFpbiBmcmFtZS4K
IAotICAgIGJvb2wgb3ZlcnJpZGVIaWRkZW4gPSBtX2ZyYW1lLT5wYWdlKCkgJiYgbV9mcmFtZS0+
cGFnZSgpLT5tYWluRnJhbWUoKSA9PSBtX2ZyYW1lICYmIG1fZnJhbWUtPnBhZ2VTY2FsZUZhY3Rv
cigpID4gMTsKKyAgICBib29sIG92ZXJyaWRlSGlkZGVuID0gbV9mcmFtZS0+cGFnZSgpICYmIG1f
ZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSAmJiBtX2ZyYW1lLT5mcmFtZVNj
YWxlRmFjdG9yKCkgPiAxOwogCiAgICAgc3dpdGNoIChvLT5zdHlsZSgpLT5vdmVyZmxvd1goKSkg
ewogICAgICAgICBjYXNlIE9ISURERU46CkBAIC0xMzQ5LDE0ICsxMzQ5LDE0IEBAIExheW91dFVu
aXQgRnJhbWVWaWV3OjpzY3JvbGxYRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiAgICAgaWYgKCFt
X2ZyYW1lKQogICAgICAgICByZXR1cm4geDsKIAotICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3RvciA9
IG1fZnJhbWUtPnBhZ2VTY2FsZUZhY3RvcigpOworICAgIGZsb2F0IGZyYW1lU2NhbGVGYWN0b3Ig
PSBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CiAKICAgICAvLyBXaGVuIHRoZSBwYWdlIGlz
IHNjYWxlZCwgdGhlIHNjYWxlZCAidmlld3BvcnQiIHdpdGggcmVzcGVjdCB0byB3aGljaCBmaXhl
ZCBvYmplY3QgYXJlIHBvc2l0aW9uZWQKICAgICAvLyBkb2Vzbid0IG1vdmUgYXMgZmFzdCBhcyB0
aGUgY29udGVudCB2aWV3LCBzbyB0aGF0IHdoZW4gdGhlIGNvbnRlbnQgaXMgc2Nyb2xsZWQgYWxs
IHRoZSB3YXkgdG8gdGhlCiAgICAgLy8gZW5kLCB0aGUgYm90dG9tIG9mIHRoZSBzY2FsZWQgInZp
ZXdwb3J0IiB0b3VjaGVzIHRoZSBib3R0b20gb2YgdGhlIHJlYWwgdmlld3BvcnQuCi0gICAgZmxv
YXQgZHJhZ0ZhY3RvciA9IChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxlQ29udGVudFdpZHRoICog
cGFnZVNjYWxlRmFjdG9yKSAvIG1heFg7CisgICAgZmxvYXQgZHJhZ0ZhY3RvciA9IChjb250ZW50
c1dpZHRoKCkgLSB2aXNpYmxlQ29udGVudFdpZHRoICogZnJhbWVTY2FsZUZhY3RvcikgLyBtYXhY
OwogCi0gICAgcmV0dXJuIHggKiBkcmFnRmFjdG9yIC8gcGFnZVNjYWxlRmFjdG9yOworICAgIHJl
dHVybiB4ICogZHJhZ0ZhY3RvciAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CiAKIExheW91dFVuaXQg
RnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CkBAIC0xMzg0LDEwICsx
Mzg0LDEwIEBAIExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigp
IGNvbnN0CiAgICAgaWYgKCFtX2ZyYW1lKQogICAgICAgICByZXR1cm4geTsKIAotICAgIGZsb2F0
IHBhZ2VTY2FsZUZhY3RvciA9IG1fZnJhbWUtPnBhZ2VTY2FsZUZhY3RvcigpOwotICAgIGZsb2F0
IGRyYWdGYWN0b3IgPSAoY29udGVudHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50SGVpZ2h0ICog
cGFnZVNjYWxlRmFjdG9yKSAvIG1heFk7CisgICAgZmxvYXQgZnJhbWVTY2FsZUZhY3RvciA9IG1f
ZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKKyAgICBmbG9hdCBkcmFnRmFjdG9yID0gKGNvbnRl
bnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVudEhlaWdodCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8g
bWF4WTsKIAotICAgIHJldHVybiB5ICogZHJhZ0ZhY3RvciAvIHBhZ2VTY2FsZUZhY3RvcjsKKyAg
ICByZXR1cm4geSAqIGRyYWdGYWN0b3IgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQogCiBMYXlvdXRT
aXplIEZyYW1lVmlldzo6c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108310</attachid>
            <date>2011-09-22 04:21:36 -0700</date>
            <delta_ts>2011-09-22 06:30:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-68081-20110922122134.patch</filename>
            <type>text/plain</type>
            <size>30940</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU3MDYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMDZhOGMzNGJhMjMyZjc5MjViZWZh
ZTRlMDdlMWUyZGU2MmE1YjY1Li5kZDExMTNkMTNhYzIxOGQ3ODQ3OTRhNjNmNjFmODJhMzBmOWYz
ZjBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDktMjIgIEFscGhhIExhbSAgPGhjbGFt
QGNocm9taXVtLm9yZz4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjgwODEKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGZvciBwYWdlIHNjYWxlIGFu
ZCBzY3JvbGxpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAg
ICAgIEFkZCB0ZXN0cyB0byBjb3ZlciB0aGUgZm9sbG93aW5nIGNhc2VzOgorICAgICAgICAxLiBT
Y2FsZSBhbmQgc2Nyb2xsIHdpbmRvdworICAgICAgICAyLiBTY2FsZSBhbmQgc2Nyb2xsIGRvY3Vt
ZW50LmJvZHkKKyAgICAgICAgMy4gU2NhbGUgYW5kIHNjcm9sbCBpZnJhbWUncyBjb250ZW50V2lu
ZG93CisgICAgICAgIDQuIFNjYWxlIGFuZCBzY3JvbGwgaWZyYW1lJ3MgY29udGVudERvY3VtZW50
LmJvZHkKKworICAgICAgICAqIGZhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtYm9keS1leHBl
Y3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwt
Ym9keS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NjYWxlLWFu
ZC1zY3JvbGwtYm9keS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zY2FsZS1h
bmQtc2Nyb2xsLWlmcmFtZS1ib2R5LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFz
dC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtYm9keS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1lLWJvZHkuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUt
d2luZG93LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUt
YW5kLXNjcm9sbC1pZnJhbWUtd2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtd2luZG93Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtd2luZG93LWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC13aW5kb3ct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Ny
b2xsLXdpbmRvdy5odG1sOiBBZGRlZC4KKwogMjAxMS0wOS0yMiAgQ3NhYmEgT3N6dHJvZ29uw6Fj
ICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gNjkgdGVzdHMgZmFpbGluZyBhZnRl
ciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85MjM3NQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1ib2R5LWV4cGVjdGVkLnBuZyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtYm9keS1leHBlY3RlZC5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmI0NDAzMjg3YzZjZGI2NWEzYWVjYzFjNGRiMzA0OTdjOTAyNzdkOApH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg1NAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7
K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG19PGsKemxhI2NpV2FDNzBCbEQhUkd7
YU9BR3QwQ0Azc1h5cjZlRHZCR2hfY0dyRmFHZ3R7dDgoanYqQ3UtcmwmIyQpTCE/Cno+YlVuYF4q
UGd4M2E1Tm4tKXJtSyVzJCg2PnhgWGtxeCNQOTFHNClyR2N6IzZEUXtxNE5NaG48UCo1OVhqMFZE
Sgp6Tn15dmQqcH5rNjNtWmVqQCpmRnwzYGJiUjcjd14/OEtaJFBuaTU4SCFEdWNSJT5eU1g3dH1x
UCRpNEMtT1ZART0KUCE8V0krKXo0Kn1RJGlCfVJNUkR6CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWJv
ZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9s
bC1ib2R5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMWI4NDdkNDdiYzg5Njg4NmRmN2MwYjgw
ZTY0MzQxMWM0MGNiYmUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvc2NhbGUtYW5kLXNjcm9sbC1ib2R5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1BB
U1Mgd2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDEwMAorUEFTUyB3aW5kb3cuZG9j
dW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDEwMAorUEFTUyB3aW5kb3cuc2Nyb2xsWCBpcyAxMDAK
K1BBU1Mgd2luZG93LnNjcm9sbFkgaXMgMTAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtYm9keS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvc2NhbGUtYW5kLXNjcm9sbC1ib2R5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E4N2VmNGU1MDk1
OWYyZDQxNWMzOTk5MDgyY2VkNjQ3MmQ1NGQwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtYm9keS5odG1sCkBAIC0wLDAgKzEsNTEg
QEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xs
YmFyIHsKKyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsK
KyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5lbmFi
bGVQaXhlbFRlc3RpbmcgPSB0cnVlOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7CisgICAg
ICAgICAgLy8gVGhlIHBhZ2Ugc2NhbGUsIGFzIHNldCBieSBFdmVudFNlbmRlci5zY2FsZVBhZ2VC
eSBzaG91bGQgbm90IGJlIGFwcGFyZW50CisgICAgICAgICAgLy8gdG8gamF2YXNjcmlwdC4gU28s
IHdlIGV4cGVjdCBzY3JvbGxpbmcgdG8gKDEwMCwxMDApIHRvIGJlIHBhZ2UgY29vcmRpbmF0ZXMs
IHJhdGhlcgorICAgICAgICAgIC8vIHRoYW4gZGV2aWNlIHBpeGVscy4KKyAgICAgICAgICBkb2N1
bWVudC5ib2R5LnNjcm9sbExlZnQgPSAxMDA7CisgICAgICAgICAgZG9jdW1lbnQuYm9keS5zY3Jv
bGxUb3AgPSAxMDA7CisKKyAgICAgICAgICBzaG91bGRCZSgid2luZG93LmRvY3VtZW50LmJvZHku
c2Nyb2xsVG9wIiwgIjEwMCIpOworICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuZG9jdW1lbnQu
Ym9keS5zY3JvbGxMZWZ0IiwgIjEwMCIpOworICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Ny
b2xsWCIsICIxMDAiKTsKKyAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFkiLCAiMTAw
Iik7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCkgewor
ICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2NhbGVPZmZz
ZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAg
ICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQsIHNjYWxl
T2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7
CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3JvbGwoKTsK
KyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJ3aWR0aDoy
MDAwcHg7IGhlaWdodDoyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAg
IDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBv
c2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlv
bjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9Imxl
ZnQ6MjAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNv
bHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisKKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7
IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7
IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsg
dG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsg
YmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsgdG9w
OjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Nh
bGUtYW5kLXNjcm9sbC1pZnJhbWUtYm9keS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS1ib2R5LWV4cGVjdGVkLnBuZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jYmNlMzE1YWJhM2JmNDI5NTU2OWNmZGY5MDhmOTFjNTNiODIzM2FkCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAyOTQyCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAq
Wik9aF5obEElQFdzJGxIYG9rPG19P29UbjN9Rwp6cX5zS2ZCdlRgazxQXmk/TH1UTiRSTVMqVDN5
WSlfTCEqQEJSS3JtMkBJRDN4WlVJamgkQj5GU1oqT2tRV3BaUzIKemJ2emYpJk1jKntTbitjRSU0
VmZuKWl1aUFDcFAoZkl4X0VxJiRkZ2ZAelM8O15eJHc7X1RQVEhQM0pVVSo3TUlsCnpPUlVidUYq
NWlVP1haOUl7ckJtbyQ9OWEqazE/TkZkO1F+JiswU28zaUxLcFJlfDg9TiF9LXI8KWVIOz1SdHJX
agp6RmM+em5HNilDe0ZOWENXdEE0fU9XNnJiWmU2XzRUYURRN3hgMEhLZ0s+bUtyRlVIe0RsZmNN
dWdrX1g1OFZHfGUKekNBPXg5d34qQHhycXgrWTM/SFBYODZKRFglZk8oMlI5SkJ8KFQtLT0oTmIk
UDdtVmhEKE9mVythPXt5RVA3VD9jClVTQ2ZNcmZETEt9UGdnJmVieHNMUTAxentBUTIrbnsKCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1lLWJvZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtYm9keS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTFkODY4NzFiMjdkOTNhZjMxNTI3YzU4N2ZlOWE5Y2IyYmQ4Y2NhYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZy
YW1lLWJvZHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitQQVNTIGZyYW1lLmNvbnRl
bnREb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAxMDAKK1BBU1MgZnJhbWUuY29udGVudERvY3Vt
ZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAxMDAKK1BBU1MgZnJhbWUuY29udGVudFdpbmRvdy5zY3Jv
bGxYIGlzIDEwMAorUEFTUyBmcmFtZS5jb250ZW50V2luZG93LnNjcm9sbFkgaXMgMTAwCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZyYW1l
LWJvZHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtaWZy
YW1lLWJvZHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTUxOGM3YTVmMzc1NmY2ZmE3ZmE3MGJhZjM3ODQy
YmRkODllOWE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Nh
bGUtYW5kLXNjcm9sbC1pZnJhbWUtYm9keS5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzxodG1sPgor
PGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICAg
ICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsKKyAgICAgICAgfQor
ICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVz
dGluZyA9IHRydWU7CisKKyAgICAgICAgZnVuY3Rpb24gc2Nyb2xsKCkgeworICAgICAgICAgICAg
d2luZG93LnNjcm9sbFRvKDAsIDEwMCk7CisgICAgICAgICAgICB2YXIgZnJhbWUgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZnJhbWUnKTsKKyAgICAgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1
bWVudC5ib2R5LnNjcm9sbFRvcCA9IDEwMDsKKyAgICAgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1
bWVudC5ib2R5LnNjcm9sbExlZnQgPSAxMDA7CisKKyAgICAgICAgICAgIHNob3VsZEJlKCJmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxUb3AiLCAiMTAwIik7CisgICAgICAgICAgICBz
aG91bGRCZSgiZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIxMDAiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJmcmFtZS5jb250ZW50V2luZG93LnNjcm9sbFgiLCAiMTAw
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgiZnJhbWUuY29udGVudFdpbmRvdy5zY3JvbGxZIiwg
IjEwMCIpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5k
ZXIoKSB7CisgICAgICAgICAgICB2YXIgc2NhbGVGYWN0b3IgPSAwLjU7CisgICAgICAgICAgICB2
YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
eworICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwg
c2NhbGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBzY2FsZVdpdGhFdmVudFNlbmRl
cigpOworICAgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyIgc3R5bGU9ImhlaWdodDogMjAwMHB4Ij4K
KyAgICA8aWZyYW1lIGlkPSJmcmFtZSIgc3R5bGU9IndpZHRoOjQwMHB4OyBoZWlnaHQ6IDQwMHB4
OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7Ij48L2lmcmFtZT4KKyAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKworICAgIDxzY3JpcHQ+CisgICAgICAgIHZhciBmcmFtZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZScpOworICAgICAgICB2YXIgZG9jID0gZnJhbWUu
Y29udGVudERvY3VtZW50Lm9wZW4oKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2IHN0eWxlPSds
ZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0
ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2
IHN0eWxlPSdsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9z
aXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9j
LndyaXRlKCI8ZGl2IHN0eWxlPSdsZWZ0OjIwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdo
dDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsnPjwvZGl2PiIpOwor
ICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MzAwcHg7IHRvcDowOyB3aWR0aDox
MDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsn
PjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6NDAwcHg7IHRv
cDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDpibHVlOyc+PC9kaXY+Iik7CisKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2IHN0eWxlPSds
ZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJz
b2x1dGU7IGJhY2tncm91bmQ6IGdyZWVuOyc+PC9kaXY+Iik7CisgICAgICAgIGRvYy53cml0ZSgi
PGRpdiBzdHlsZT0nbGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyc+PC9kaXY+Iik7CisgICAg
ICAgIGRvYy53cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDoyMDBweDsgdG9wOjEwMHB4OyB3aWR0aDox
MDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsn
PjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MzAwcHg7IHRv
cDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJh
Y2tncm91bmQ6Ymx1ZTsnPjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9
J2xlZnQ6NDAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRp
b246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLmNs
b3NlKCk7CisgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnN0eWxlLndpZHRoID0g
IjIwMDBweCI7CisgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnN0eWxlLmhlaWdo
dCA9ICIyMDAwcHgiOworICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtd2luZG93
LWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwt
aWZyYW1lLXdpbmRvdy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JjZTMxNWFiYTNiZjQyOTU1
NjljZmRmOTA4ZjkxYzUzYjgyMzNhZApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjk0Mgp6Y21l
QVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9v
VG4zfUcKenF+c0tmQnZUYGs8UF5pP0x9VE4kUk1TKlQzeVkpX0whKkBCUktybTJASUQzeFpVSWpo
JEI+RlNaKk9rUVdwWlMyCnpidnpmKSZNYyp7U24rY0UlNFZmbilpdWlBQ3BQKGZJeF9FcSYkZGdm
QHpTPDteXiR3O19UUFRIUDNKVVUqN01JbAp6T1JVYnVGKjVpVT9YWjlJe3JCbW8kPTlhKmsxP05G
ZDtRfiYrMFNvM2lMS3BSZXw4PU4hfS1yPCllSDs9UnRyV2oKekZjPnpuRzYpQ3tGTlhDV3RBNH1P
VzZyYlplNl80VGFEUTd4YDBIS2dLPm1LckZVSHtEbGZjTXVna19YNThWR3xlCnpDQT14OXd+KkB4
cnF4K1kzP0hQWDg2SkRYJWZPKDJSOUpCfChULS09KE5iJFA3bVZoRChPZlcrYT17eUVQN1Q/YwpV
U0NmTXJmRExLfVBnZyZlYnhzTFEwMXp7QVEyK257CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFt
ZS13aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5k
LXNjcm9sbC1pZnJhbWUtd2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZWE1NzJlMjk1
M2M2YWY2ZjgyNjBjNmEyNTJlMmE5ZjYwYTMyNzY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtd2luZG93LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1BBU1MgZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuc2Ny
b2xsVG9wIGlzIDEwMAorUEFTUyBmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0
IGlzIDEwMAorUEFTUyBmcmFtZS5jb250ZW50V2luZG93LnNjcm9sbFggaXMgMTAwCitQQVNTIGZy
YW1lLmNvbnRlbnRXaW5kb3cuc2Nyb2xsWSBpcyAxMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtd2luZG93Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS13aW5kb3cuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MWNlYWM3YWQ2MzJmMjliZGEyYWU5MzdlN2IzYTIyYzUyMzdhYWQxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1p
ZnJhbWUtd2luZG93Lmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c3R5bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAgICAgICAgd2lkdGg6
IDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4K
KyAgICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsK
KworICAgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7CisgICAgICAgICAgICB3aW5kb3cuc2Nyb2xs
VG8oMCwgMTAwKTsKKyAgICAgICAgICAgIHZhciBmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmcmFtZScpOworICAgICAgICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5zY3JvbGxUbygx
MDAsMTAwKTsKKworICAgICAgICAgICAgc2hvdWxkQmUoImZyYW1lLmNvbnRlbnREb2N1bWVudC5i
b2R5LnNjcm9sbFRvcCIsICIxMDAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJmcmFtZS5jb250
ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwgIjEwMCIpOworICAgICAgICAgICAgc2hvdWxk
QmUoImZyYW1lLmNvbnRlbnRXaW5kb3cuc2Nyb2xsWCIsICIxMDAiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJmcmFtZS5jb250ZW50V2luZG93LnNjcm9sbFkiLCAiMTAwIik7CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICAg
IHZhciBzY2FsZUZhY3RvciA9IDAuNTsKKyAgICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7
CisgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgICAg
IGV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVP
ZmZzZXQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVz
dCgpIHsKKyAgICAgICAgICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCk7CisgICAgICAgICAgICBz
Y3JvbGwoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJ0ZXN0KCk7IiBzdHlsZT0iaGVpZ2h0OiAyMDAwcHgiPgorICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorICAgIDxpZnJhbWUgaWQ9ImZyYW1lIiBzdHlsZT0id2lkdGg6NDAwcHg7IGhl
aWdodDogNDAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsiPjwvaWZyYW1lPgor
CisgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2ZyYW1lJyk7CisgICAgICAgIHZhciBkb2MgPSBmcmFtZS5jb250ZW50RG9jdW1lbnQub3Bl
bigpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MDsgdG9wOjA7IHdpZHRo
OjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxv
dzsnPjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MTAwcHg7
IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDpncmVlbjsnPjwvZGl2PiIpOworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9
J2xlZnQ6MjAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyc+PC9kaXY+Iik7CisgICAgICAgIGRvYy53cml0ZSgi
PGRpdiBzdHlsZT0nbGVmdDozMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyc+PC9kaXY+Iik7CisgICAgICAg
IGRvYy53cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDo0MDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Jz48L2Rpdj4i
KTsKKworICAgICAgICBkb2Mud3JpdGUoIjxkaXYgc3R5bGU9J2xlZnQ6MDsgdG9wOjEwMHB4OyB3
aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDog
Z3JlZW47Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2IHN0eWxlPSdsZWZ0OjEw
MHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29s
dXRlOyBiYWNrZ3JvdW5kOmJsdWU7Jz48L2Rpdj4iKTsKKyAgICAgICAgZG9jLndyaXRlKCI8ZGl2
IHN0eWxlPSdsZWZ0OjIwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyc+PC9kaXY+Iik7CisgICAgICAg
IGRvYy53cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDozMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBw
eDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyc+PC9k
aXY+Iik7CisgICAgICAgIGRvYy53cml0ZSgiPGRpdiBzdHlsZT0nbGVmdDo0MDBweDsgdG9wOjEw
MHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDpncmVlbjsnPjwvZGl2PiIpOworICAgICAgICBkb2MuY2xvc2UoKTsKKyAgICAgICAgZnJh
bWUuY29udGVudERvY3VtZW50LmJvZHkuc3R5bGUud2lkdGggPSAiMjAwMHB4IjsKKyAgICAgICAg
ZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuc3R5bGUuaGVpZ2h0ID0gIjIwMDBweCI7CisgICAg
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRvdy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRvdy1leHBlY3RlZC5wbmcKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmI0NDAzMjg3YzZjZGI2NWEzYWVjYzFjNGRiMzA0OTdjOTAyNzdkOApHSVQgYmluYXJ5
IHBhdGNoCmxpdGVyYWwgMjg1NAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkw
KlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG19PGsKemxhI2NpV2FDNzBCbEQhUkd7YU9BR3QwQ0Az
c1h5cjZlRHZCR2hfY0dyRmFHZ3R7dDgoanYqQ3UtcmwmIyQpTCE/Cno+YlVuYF4qUGd4M2E1Tm4t
KXJtSyVzJCg2PnhgWGtxeCNQOTFHNClyR2N6IzZEUXtxNE5NaG48UCo1OVhqMFZESgp6Tn15dmQq
cH5rNjNtWmVqQCpmRnwzYGJiUjcjd14/OEtaJFBuaTU4SCFEdWNSJT5eU1g3dH1xUCRpNEMtT1ZA
RT0KUCE8V0krKXo0Kn1RJGlCfVJNUkR6CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRvdy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRv
dy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFiODQ3ZDQ3YmM4OTY4ODZkZjdjMGI4MGU2NDM0
MTFjNDBjYmJlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Nj
YWxlLWFuZC1zY3JvbGwtd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1BBU1Mg
d2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDEwMAorUEFTUyB3aW5kb3cuZG9jdW1l
bnQuYm9keS5zY3JvbGxMZWZ0IGlzIDEwMAorUEFTUyB3aW5kb3cuc2Nyb2xsWCBpcyAxMDAKK1BB
U1Mgd2luZG93LnNjcm9sbFkgaXMgMTAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3NjYWxlLWFuZC1zY3JvbGwtd2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1NTUxMTUyNTM0
MjllMWI0YzA4NjE2MzBhMDkyYzkxODI0NDJlMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLXdpbmRvdy5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Ny
b2xsYmFyIHsKKyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBw
eDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5l
bmFibGVQaXhlbFRlc3RpbmcgPSB0cnVlOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7Cisg
ICAgICAgICAgLy8gVGhlIHBhZ2Ugc2NhbGUsIGFzIHNldCBieSBFdmVudFNlbmRlci5zY2FsZVBh
Z2VCeSBzaG91bGQgbm90IGJlIGFwcGFyZW50CisgICAgICAgICAgLy8gdG8gamF2YXNjcmlwdC4g
U28sIHdlIGV4cGVjdCBzY3JvbGxpbmcgdG8gKDEwMCwxMDApIHRvIGJlIHBhZ2UgY29vcmRpbmF0
ZXMsIHJhdGhlcgorICAgICAgICAgIC8vIHRoYW4gZGV2aWNlIHBpeGVscy4KKyAgICAgICAgICB3
aW5kb3cuc2Nyb2xsVG8oMTAwLDEwMCk7CisKKyAgICAgICAgICBzaG91bGRCZSgid2luZG93LmRv
Y3VtZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjEwMCIpOworICAgICAgICAgIHNob3VsZEJlKCJ3aW5k
b3cuZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwgIjEwMCIpOworICAgICAgICAgIHNob3VsZEJl
KCJ3aW5kb3cuc2Nyb2xsWCIsICIxMDAiKTsKKyAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNj
cm9sbFkiLCAiMTAwIik7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50
U2VuZGVyKCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2
YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVP
ZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0
aW9uIHRlc3QoKSB7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAg
ICBzY3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0
eWxlPSJ3aWR0aDoyMDAwcHg7IGhlaWdodDoyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRl
c3QoKTsiPgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2Pgor
ICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgIDxk
aXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBw
b3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisKKyAgICA8ZGl2IHN0
eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRp
b246YWJzb2x1dGU7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0i
bGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlv
bjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVm
dDoyMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKworICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM2MzA3ZWNhYzMwMGIw
MGEwMjc3MWY5MzkxNDlhMWNkNmE4ODdiMGIuLjEyNWRhNzYwY2NhYjUzY2JkNTcxOGZiMDM3MDI2
MTY4MTMwMTIwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMS0wOS0yMiAgQWxw
aGEgTGFtICA8aGNsYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA4MQorICAgICAgICBGaXggc2Nyb2xsIGluIHBhZ2Ug
c2NhbGluZyBtb2RlLgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAg
ICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyBhcmUgZG9uZSBpbiB0aGlzIHBhdGNoOgorICAgICAg
ICAxLiBSZW5hbWUgRnJhbWU6OnBhZ2VTY2FsZUZhY3RvcigpIHRvIEZyYW1lOjpmcmFtZVNjYWxl
RmFjdG9yKCkgdG8gYmV0dGVyCisgICAgICAgICAgIHJlZmxlY3QgaXRzIHB1cnBvc2UuCisgICAg
ICAgIDIuIEZyYW1lOjpmcmFtZVNjYWxlRmFjdG9yKCkgcmV0dXJucyB0aGUgc2NhbGUgZmFjdG9y
IG9mIHRoaXMgZnJhbWUgd2l0aAorICAgICAgICAgICByZXNwZWN0IHRvIHRoZSBjb250YWluZXIu
IFNvIGZvciB0aGUgbWFpbiBmcmFtZSBpdCdsbCByZXR1cm4gdGhlIHNjYWxlCisgICAgICAgICAg
IGZhY3RvciBvZiB0aGUgcGFnZSwgaW5uZXIgZnJhbWVzIHdpbGwgcmV0dXJuIDEuMAorICAgICAg
ICAzLiBzY3JvbGxCeSgpLCBzY3JvbGxYKCkgYW5kIHNjcm9sbFkoKSB0byB0YWtlIGludG8gYWNj
b3VudCBvZiB0aGUgZnJhbWUKKyAgICAgICAgICAgc2NhbGUgZmFjdG9yLCBjYXVzaW5nIGluY29y
cmVjdCBjb29yZGluYXRlcyByZXBvcnRlZCB0byBKYXZhc2NyaXB0LgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWJvZHkuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC1pZnJhbWUtYm9keS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2V2ZW50cy9zY2FsZS1hbmQtc2Nyb2xsLWlmcmFtZS13aW5kb3cuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9ldmVudHMvc2NhbGUtYW5kLXNjcm9sbC13aW5kb3cuaHRtbAorCisg
ICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRq
dXN0Rm9yWm9vbSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OnNldFNjcm9s
bExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50OjpzZXRTY3JvbGxUb3Ap
OgorICAgICAgICAqIGxvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIaXN0b3J5Q29udHJvbGxlcjo6c2F2ZVNjcm9sbFBvc2l0aW9uQW5kVmlld1N0YXRlVG9J
dGVtKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnNjcm9sbFgpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzY3JvbGxZ
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2Nyb2xsVG8pOgorICAgICAgICAqIHBh
Z2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmZyYW1lU2NhbGVGYWN0b3Ip
OiBSZXR1cm4gcGFnZSdzIHNjYWxlIGZhY3RvciBpZiB0aGlzIGlzCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW4gZnJhbWUsIG90aGVyd2lzZSAxLjAKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsWUZvckZpeGVkUG9zaXRpb24pOgorCiAyMDEx
LTA5LTIyICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk1Njk5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBl
NDI4NzdmNzA4ZjA0Mjk3ODE2OTkzOWNjMGU2YTE2OGFjMGQ2YmQyLi5kNWJjNjIzM2I3MTZlNDM2
ZTNkY2MwNGY2NGM2ODU5Y2E4MmFiNzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNzQ2LDcg
Kzc0Niw3IEBAIF9fWk43V2ViQ29yZTVGcmFtZTE3c2V0UGFnZVpvb21GYWN0b3JFZgogX19aTjdX
ZWJDb3JlNUZyYW1lMTdzZXRUZXh0Wm9vbUZhY3RvckVmCiBfX1pON1dlYkNvcmU1RnJhbWUyM3Zp
c2libGVQb3NpdGlvbkZvclBvaW50RVJLTlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlNUZyYW1l
MjVtYXRjaExhYmVsc0FnYWluc3RFbGVtZW50RVA3TlNBcnJheVBOU183RWxlbWVudEUKLV9fWk5L
N1dlYkNvcmU1RnJhbWUxNXBhZ2VTY2FsZUZhY3RvckV2CitfX1pOSzdXZWJDb3JlNUZyYW1lMTVm
cmFtZVNjYWxlRmFjdG9yRXYKIF9fWk43V2ViQ29yZTVGcmFtZTI1c2V0UGFnZUFuZFRleHRab29t
RmFjdG9yc0VmZgogX19aTjdXZWJDb3JlNUZyYW1lMjdyZXNpemVQYWdlUmVjdHNLZWVwaW5nUmF0
aW9FUktOU185RmxvYXRTaXplRVMzXwogX19aTjdXZWJDb3JlNUZyYW1lMjhzZWFyY2hGb3JMYWJl
bHNCZWZvcmVFbGVtZW50RVA3TlNBcnJheVBOU183RWxlbWVudEVQbVBiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKaW5kZXggMDM4YzU2YTYyODNmM2UyMjZhYzA1NDg5NjEw
YzNjMTUxMzQ3Yzg2OC4uZGYzZmNkODE2YzQzYWFmMmFjMzc3NTY4NTk2OTkxNzA5N2ViYTkxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcApAQCAtMjY3LDcgKzI2Nyw3
IEBAIHZvaWQgSFRNTEJvZHlFbGVtZW50OjpzZXRWTGluayhjb25zdCBTdHJpbmcmIHZhbHVlKQog
c3RhdGljIGludCBhZGp1c3RGb3Jab29tKGludCB2YWx1ZSwgRG9jdW1lbnQqIGRvY3VtZW50KQog
ewogICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpOwotICAgIGZsb2F0IHpvb21G
YWN0b3IgPSBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5wYWdlU2NhbGVGYWN0b3Io
KTsKKyAgICBmbG9hdCB6b29tRmFjdG9yID0gZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBmcmFt
ZS0+ZnJhbWVTY2FsZUZhY3RvcigpOwogICAgIGlmICh6b29tRmFjdG9yID09IDEpCiAgICAgICAg
IHJldHVybiB2YWx1ZTsKICAgICAvLyBOZWVkZWQgYmVjYXVzZSBvZiB0cnVuY2F0aW9uIChyYXRo
ZXIgdGhhbiByb3VuZGluZykgd2hlbiBzY2FsaW5nIHVwLgpAQCAtMjk1LDcgKzI5NSw3IEBAIHZv
aWQgSFRNTEJvZHlFbGVtZW50OjpzZXRTY3JvbGxMZWZ0KGludCBzY3JvbGxMZWZ0KQogICAgIEZy
YW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CiAgICAgaWYgKCF2aWV3KQogICAgICAgICBy
ZXR1cm47Ci0gICAgdmlldy0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoc3RhdGljX2Nhc3Q8
aW50PihzY3JvbGxMZWZ0ICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKiBmcmFtZS0+cGFnZVNj
YWxlRmFjdG9yKCkpLCB2aWV3LT5zY3JvbGxZKCkpKTsKKyAgICB2aWV3LT5zZXRTY3JvbGxQb3Np
dGlvbihJbnRQb2ludChzdGF0aWNfY2FzdDxpbnQ+KHNjcm9sbExlZnQgKiBmcmFtZS0+cGFnZVpv
b21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpLCB2aWV3LT5zY3JvbGxZKCkp
KTsKIH0KIAogaW50IEhUTUxCb2R5RWxlbWVudDo6c2Nyb2xsVG9wKCkKQEAgLTMxNyw3ICszMTcs
NyBAQCB2b2lkIEhUTUxCb2R5RWxlbWVudDo6c2V0U2Nyb2xsVG9wKGludCBzY3JvbGxUb3ApCiAg
ICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKICAgICBpZiAoIXZpZXcpCiAgICAg
ICAgIHJldHVybjsKLSAgICB2aWV3LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh2aWV3LT5z
Y3JvbGxYKCksIHN0YXRpY19jYXN0PGludD4oc2Nyb2xsVG9wICogZnJhbWUtPnBhZ2Vab29tRmFj
dG9yKCkgKiBmcmFtZS0+cGFnZVNjYWxlRmFjdG9yKCkpKSk7CisgICAgdmlldy0+c2V0U2Nyb2xs
UG9zaXRpb24oSW50UG9pbnQodmlldy0+c2Nyb2xsWCgpLCBzdGF0aWNfY2FzdDxpbnQ+KHNjcm9s
bFRvcCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3Io
KSkpKTsKIH0KIAogaW50IEhUTUxCb2R5RWxlbWVudDo6c2Nyb2xsSGVpZ2h0KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzRlMWMxZTgxZmY5
NjkwMGJkNTA4MDZlZjIxOTE5MzBhOTA3YzMuLjNiYmJmYzMxZTU2N2JhZjRiNzc1NWJmMDFjMGZi
MjJiYTM3MzE2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVy
LmNwcApAQCAtODYsNyArODYsNyBAQCB2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpzYXZlU2Nyb2xs
UG9zaXRpb25BbmRWaWV3U3RhdGVUb0l0ZW0oSGlzdG9yeUl0ZW0qIGl0ZW0pCiAgICAgZWxzZQog
ICAgICAgICBpdGVtLT5zZXRTY3JvbGxQb2ludChtX2ZyYW1lLT52aWV3KCktPnNjcm9sbFBvc2l0
aW9uKCkpOwogCi0gICAgaXRlbS0+c2V0UGFnZVNjYWxlRmFjdG9yKG1fZnJhbWUtPnBhZ2VTY2Fs
ZUZhY3RvcigpKTsKKyAgICBpdGVtLT5zZXRQYWdlU2NhbGVGYWN0b3IobV9mcmFtZS0+ZnJhbWVT
Y2FsZUZhY3RvcigpKTsKICAgICAKICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgZ3JlYXQgdG8g
d29yayBvdXQgYSB3YXkgdG8gcHV0IHRoaXMgY29kZSBpbiBXZWJDb3JlIGluc3RlYWQgb2YgY2Fs
bGluZyB0aHJvdWdoIHRvIHRoZSBjbGllbnQuCiAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVu
dCgpLT5zYXZlVmlld1N0YXRlVG9JdGVtKGl0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CmluZGV4IDI4NDFmZTdlYjA2OGZkODQzM2E3MTcyNDAxMDRkMjEwMjU0Zjk4NTQuLjQ3Y2IzNjgz
YTc1M2JkM2UzYjIyNzNjMGUyZjllNzA0NzhkZjkwMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKQEAgLTExNDMsNyArMTE0Myw3IEBAIGludCBET01XaW5kb3c6OnNjcm9sbFgoKSBjb25z
dAogCiAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKCk7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2aWV3LT5zY3JvbGxY
KCkgLyBtX2ZyYW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
aW50Pih2aWV3LT5zY3JvbGxYKCkgLyAobV9mcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIG1fZnJh
bWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkpOwogfQogCiBpbnQgRE9NV2luZG93OjpzY3JvbGxZKCkg
Y29uc3QKQEAgLTExNTcsNyArMTE1Nyw3IEBAIGludCBET01XaW5kb3c6OnNjcm9sbFkoKSBjb25z
dAogCiAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0
eWxlc2hlZXRzKCk7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2aWV3LT5zY3JvbGxZ
KCkgLyBtX2ZyYW1lLT5wYWdlWm9vbUZhY3RvcigpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
aW50Pih2aWV3LT5zY3JvbGxZKCkgLyAobV9mcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIG1fZnJh
bWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkpOwogfQogCiBib29sIERPTVdpbmRvdzo6Y2xvc2VkKCkg
Y29uc3QKQEAgLTEzODQsOCArMTM4NCw4IEBAIHZvaWQgRE9NV2luZG93OjpzY3JvbGxUbyhpbnQg
eCwgaW50IHkpIGNvbnN0CiAgICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1cm47CiAKLSAgICBp
bnQgem9vbWVkWCA9IHN0YXRpY19jYXN0PGludD4oeCAqIG1fZnJhbWUtPnBhZ2Vab29tRmFjdG9y
KCkpOwotICAgIGludCB6b29tZWRZID0gc3RhdGljX2Nhc3Q8aW50Pih5ICogbV9mcmFtZS0+cGFn
ZVpvb21GYWN0b3IoKSk7CisgICAgaW50IHpvb21lZFggPSBzdGF0aWNfY2FzdDxpbnQ+KHggKiBt
X2ZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogbV9mcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpKTsK
KyAgICBpbnQgem9vbWVkWSA9IHN0YXRpY19jYXN0PGludD4oeSAqIG1fZnJhbWUtPnBhZ2Vab29t
RmFjdG9yKCkgKiBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpOwogICAgIHZpZXctPnNldFNj
cm9sbFBvc2l0aW9uKEludFBvaW50KHpvb21lZFgsIHpvb21lZFkpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAppbmRleCBmNmRjNzQwMzM3YjJlNjYzZWYxN2FkMmEyMzU2Y2QzMGI5Nzc5YzY2Li43
ZGNlNDM5ZjM2MTlkZTEzYmNhYWNlOGZlODEwMjQyZjAzMTExMGRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcApAQCAtMTAyMywxMCArMTAyMywxMiBAQCB2b2lkIEZyYW1lOjpzZXRQYWdlQW5kVGV4dFpv
b21GYWN0b3JzKGZsb2F0IHBhZ2Vab29tRmFjdG9yLCBmbG9hdCB0ZXh0Wm9vbUZhY3RvcgogICAg
ICAgICBwYWdlLT5iYWNrRm9yd2FyZCgpLT5tYXJrUGFnZXNGb3JGdWxsU3R5bGVSZWNhbGMoKTsK
IH0KIAotZmxvYXQgRnJhbWU6OnBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0CitmbG9hdCBGcmFtZTo6
ZnJhbWVTY2FsZUZhY3RvcigpIGNvbnN0CiB7CiAgICAgUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2Uo
KTsKLSAgICBpZiAoIXBhZ2UpCisKKyAgICAvLyBNYWluIGZyYW1lIGlzIHNjYWxlZCB3aXRoIHJl
c3BlY3QgdG8gaGUgY29udGFpbmVyIGJ1dCBpbm5lciBmcmFtZXMgYXJlIG5vdCBzY2FsZWQgd2l0
aCByZXNwZWN0IHRvIHRoZSBtYWluIGZyYW1lLgorICAgIGlmICghcGFnZSB8fCBwYWdlLT5tYWlu
RnJhbWUoKSAhPSB0aGlzKQogICAgICAgICByZXR1cm4gMTsKICAgICByZXR1cm4gcGFnZS0+cGFn
ZVNjYWxlRmFjdG9yKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggYmYyNGMzNjQ5MmQ5OGFiM2Zk
Yjc5OTE3ZDE0ZTc5ZTM4MmM3YWUzZS4uNmE2MmJkNzQ3MzFiZTEzMzIzMDkzMTUwMzMwMzU0MDVh
OTJmNTI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTYxLDggKzE2MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgZmxvYXQgdGV4dFpvb21GYWN0b3IoKSBjb25zdCB7IHJldHVybiBt
X3RleHRab29tRmFjdG9yOyB9CiAgICAgICAgIHZvaWQgc2V0UGFnZUFuZFRleHRab29tRmFjdG9y
cyhmbG9hdCBwYWdlWm9vbUZhY3RvciwgZmxvYXQgdGV4dFpvb21GYWN0b3IpOwogCi0gICAgICAg
IC8vIENvbnZlbmllbmNlIGhlbHBlciBtZXRob2QgdGhhdCBncmFicyB0aGUgcGFnZVNjYWxlRmFj
dG9yIGZyb20gUGFnZS4KLSAgICAgICAgZmxvYXQgcGFnZVNjYWxlRmFjdG9yKCkgY29uc3Q7Cisg
ICAgICAgIC8vIFNjYWxlIGZhY3RvciBvZiB0aGlzIGZyYW1lIHdpdGggcmVzcGVjdCB0byB0aGUg
Y29udGFpbmVyLgorICAgICAgICBmbG9hdCBmcmFtZVNjYWxlRmFjdG9yKCkgY29uc3Q7CiAKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIHZvaWQgZGV2aWNlT3JQYWdl
U2NhbGVGYWN0b3JDaGFuZ2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZjIx
Mjc3YjYzNjAyMmU0NGRjYzM0ZWNlMjNiMDc4ZGQ2ZDA5NmVhNC4uZjM4MDQwYjM3YjEzNjg5MTZm
NGFmODY4MTRkMTliODdlZjRiZmUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAt
NTI1LDkgKzUyNSw5IEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3cG9ydChS
ZW5kZXJPYmplY3QqIG8sIFNjcm9sbGJhck1vZGUmIGhNb2RlLCBTCiAgICAgLy8gdXNlIHRoZSBy
b290IGVsZW1lbnQuCiAKICAgICAvLyBUbyBjb21iYXQgdGhlIGluYWJpbGl0eSB0byBzY3JvbGwg
b24gYSBwYWdlIHdpdGggb3ZlcmZsb3c6aGlkZGVuIG9uIHRoZSByb290IHdoZW4gc2NhbGVkLCBk
aXNyZWdhcmQgaGlkZGVuIHdoZW4KLSAgICAvLyB0aGVyZSBpcyBhIHBhZ2VTY2FsZUZhY3RvciB0
aGF0IGlzIGdyZWF0ZXIgdGhhbiBvbmUgb24gdGhlIG1haW4gZnJhbWUuCisgICAgLy8gdGhlcmUg
aXMgYSBmcmFtZVNjYWxlRmFjdG9yIHRoYXQgaXMgZ3JlYXRlciB0aGFuIG9uZSBvbiB0aGUgbWFp
biBmcmFtZS4KIAotICAgIGJvb2wgb3ZlcnJpZGVIaWRkZW4gPSBtX2ZyYW1lLT5wYWdlKCkgJiYg
bV9mcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKSA9PSBtX2ZyYW1lICYmIG1fZnJhbWUtPnBhZ2VT
Y2FsZUZhY3RvcigpID4gMTsKKyAgICBib29sIG92ZXJyaWRlSGlkZGVuID0gbV9mcmFtZS0+cGFn
ZSgpICYmIG1fZnJhbWUtPnBhZ2UoKS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSAmJiBtX2ZyYW1l
LT5mcmFtZVNjYWxlRmFjdG9yKCkgPiAxOwogCiAgICAgc3dpdGNoIChvLT5zdHlsZSgpLT5vdmVy
Zmxvd1goKSkgewogICAgICAgICBjYXNlIE9ISURERU46CkBAIC0xMzQ5LDE0ICsxMzQ5LDE0IEBA
IExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxYRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiAg
ICAgaWYgKCFtX2ZyYW1lKQogICAgICAgICByZXR1cm4geDsKIAotICAgIGZsb2F0IHBhZ2VTY2Fs
ZUZhY3RvciA9IG1fZnJhbWUtPnBhZ2VTY2FsZUZhY3RvcigpOworICAgIGZsb2F0IGZyYW1lU2Nh
bGVGYWN0b3IgPSBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CiAKICAgICAvLyBXaGVuIHRo
ZSBwYWdlIGlzIHNjYWxlZCwgdGhlIHNjYWxlZCAidmlld3BvcnQiIHdpdGggcmVzcGVjdCB0byB3
aGljaCBmaXhlZCBvYmplY3QgYXJlIHBvc2l0aW9uZWQKICAgICAvLyBkb2Vzbid0IG1vdmUgYXMg
ZmFzdCBhcyB0aGUgY29udGVudCB2aWV3LCBzbyB0aGF0IHdoZW4gdGhlIGNvbnRlbnQgaXMgc2Ny
b2xsZWQgYWxsIHRoZSB3YXkgdG8gdGhlCiAgICAgLy8gZW5kLCB0aGUgYm90dG9tIG9mIHRoZSBz
Y2FsZWQgInZpZXdwb3J0IiB0b3VjaGVzIHRoZSBib3R0b20gb2YgdGhlIHJlYWwgdmlld3BvcnQu
Ci0gICAgZmxvYXQgZHJhZ0ZhY3RvciA9IChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxlQ29udGVu
dFdpZHRoICogcGFnZVNjYWxlRmFjdG9yKSAvIG1heFg7CisgICAgZmxvYXQgZHJhZ0ZhY3RvciA9
IChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxlQ29udGVudFdpZHRoICogZnJhbWVTY2FsZUZhY3Rv
cikgLyBtYXhYOwogCi0gICAgcmV0dXJuIHggKiBkcmFnRmFjdG9yIC8gcGFnZVNjYWxlRmFjdG9y
OworICAgIHJldHVybiB4ICogZHJhZ0ZhY3RvciAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CiAKIExh
eW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CkBAIC0x
Mzg0LDEwICsxMzg0LDEwIEBAIExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQ
b3NpdGlvbigpIGNvbnN0CiAgICAgaWYgKCFtX2ZyYW1lKQogICAgICAgICByZXR1cm4geTsKIAot
ICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3RvciA9IG1fZnJhbWUtPnBhZ2VTY2FsZUZhY3RvcigpOwot
ICAgIGZsb2F0IGRyYWdGYWN0b3IgPSAoY29udGVudHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50
SGVpZ2h0ICogcGFnZVNjYWxlRmFjdG9yKSAvIG1heFk7CisgICAgZmxvYXQgZnJhbWVTY2FsZUZh
Y3RvciA9IG1fZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKKyAgICBmbG9hdCBkcmFnRmFjdG9y
ID0gKGNvbnRlbnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVudEhlaWdodCAqIGZyYW1lU2NhbGVG
YWN0b3IpIC8gbWF4WTsKIAotICAgIHJldHVybiB5ICogZHJhZ0ZhY3RvciAvIHBhZ2VTY2FsZUZh
Y3RvcjsKKyAgICByZXR1cm4geSAqIGRyYWdGYWN0b3IgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQog
CiBMYXlvdXRTaXplIEZyYW1lVmlldzo6c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggOGVmMGVkMDczODQzYzMzOTZkNGExNmU3MDg3ZDFiOTQyMDI3MTc2
MC4uN2I1MTFmYjdhMWQ4ZWEzYzI3ZDI3ZDEzMDI1ZmJiYmZlMzZlZmMzOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDExLTA5LTIyICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4
MDgxCisgICAgICAgIEZpeCBzY3JvbGwgaW4gcGFnZSBzY2FsaW5nIG1vZGUuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuY3BwOiBSZW5hbWUgcGFnZVNjYWxlRmFjdG9yIHRvIGZyYW1lU2NhbGVGYWN0
b3IuCisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OmhhbmRsZUV2ZW50KToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luVmlldzo6dmlld0dlb21ldHJ5RGlkQ2hhbmdlKToKKyAgICAgICAgKFdl
YktpdDo6UGx1Z2luVmlldzo6Y2xpcFJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzKToKKwogMjAxMS0w
OS0yMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBbV0sy
XSBVSVByb2Nlc3Mgc2hvdWxkIGNoZWNrIHRoYXQgV2ViUHJvY2VzcyBpc24ndCBzZW5kaW5nIHVu
ZXhwZWN0ZWQgZmlsZTogVVJMcyB0byBpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IDk1NzZmZDI4ODI5YTA1ODZhN2YxYTZlM2Vj
YTUyZjRiMTc2Y2U4NDEuLjhiZDc0OTQ4YWFkMWYzZTJmZTcxOTVmZGY4N2ZjYjQ4OTgzMTE1Y2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHAKQEAgLTU4Miw4ICs1ODIsOCBAQCB2b2lkIFBsdWdpblZpZXc6OmhhbmRsZUV2ZW50KEV2ZW50
KiBldmVudCkKICAgICAgICAgaWYgKGN1cnJlbnRFdmVudC0+dHlwZSgpID09IFdlYkV2ZW50OjpN
b3VzZURvd24pCiAgICAgICAgICAgICBmb2N1c1BsdWdpbkVsZW1lbnQoKTsKICAgICAgICAgCi0g
ICAgICAgIC8vIEFkanVzdCBtb3VzZSBjb29yZGluYXRlcyB0byBhY2NvdW50IGZvciBwYWdlU2Nh
bGVGYWN0b3IKLSAgICAgICAgV2ViTW91c2VFdmVudCBldmVudFdpdGhTY2FsZWRDb29yZGluYXRl
cygqc3RhdGljX2Nhc3Q8Y29uc3QgV2ViTW91c2VFdmVudCo+KGN1cnJlbnRFdmVudCksIGZyYW1l
KCktPnBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICAgICAgLy8gQWRqdXN0IG1vdXNlIGNvb3JkaW5h
dGVzIHRvIGFjY291bnQgZm9yIGZyYW1lU2NhbGVGYWN0b3IKKyAgICAgICAgV2ViTW91c2VFdmVu
dCBldmVudFdpdGhTY2FsZWRDb29yZGluYXRlcygqc3RhdGljX2Nhc3Q8Y29uc3QgV2ViTW91c2VF
dmVudCo+KGN1cnJlbnRFdmVudCksIGZyYW1lKCktPmZyYW1lU2NhbGVGYWN0b3IoKSk7CiAgICAg
ICAgIGRpZEhhbmRsZUV2ZW50ID0gbV9wbHVnaW4tPmhhbmRsZU1vdXNlRXZlbnQoZXZlbnRXaXRo
U2NhbGVkQ29vcmRpbmF0ZXMpOwogICAgIH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVu
dE5hbWVzKCkubW91c2V3aGVlbEV2ZW50ICYmIGN1cnJlbnRFdmVudC0+dHlwZSgpID09IFdlYkV2
ZW50OjpXaGVlbCkgewogICAgICAgICAvLyBXZSBoYXZlIGEgd2hlZWwgZXZlbnQuCkBAIC02NDks
OCArNjQ5LDggQEAgdm9pZCBQbHVnaW5WaWV3Ojp2aWV3R2VvbWV0cnlEaWRDaGFuZ2UoKQogICAg
IC8vIEdldCB0aGUgZnJhbWUgcmVjdCBpbiB3aW5kb3cgY29vcmRpbmF0ZXMuCiAgICAgSW50UmVj
dCBmcmFtZVJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzID0gcGFyZW50KCktPmNvbnRlbnRzVG9XaW5k
b3coZnJhbWVSZWN0KCkpOwogICAgIAotICAgIC8vIEFkanVzdCBib3VuZHMgdG8gYWNjb3VudCBm
b3IgcGFnZVNjYWxlRmFjdG9yCi0gICAgZnJhbWVSZWN0SW5XaW5kb3dDb29yZGluYXRlcy5zY2Fs
ZSgxIC8gZnJhbWUoKS0+cGFnZVNjYWxlRmFjdG9yKCkpOworICAgIC8vIEFkanVzdCBib3VuZHMg
dG8gYWNjb3VudCBmb3IgZnJhbWVTY2FsZUZhY3RvcgorICAgIGZyYW1lUmVjdEluV2luZG93Q29v
cmRpbmF0ZXMuc2NhbGUoMSAvIGZyYW1lKCktPmZyYW1lU2NhbGVGYWN0b3IoKSk7CiAgICAgbV9w
bHVnaW4tPmdlb21ldHJ5RGlkQ2hhbmdlKGZyYW1lUmVjdEluV2luZG93Q29vcmRpbmF0ZXMsIGNs
aXBSZWN0SW5XaW5kb3dDb29yZGluYXRlcygpKTsKIH0KIApAQCAtNjc2LDcgKzY3Niw3IEBAIElu
dFJlY3QgUGx1Z2luVmlldzo6Y2xpcFJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzKCkgY29uc3QKICAg
ICAvLyBJbnRlcnNlY3QgdGhlIHR3byByZWN0cyB0byBnZXQgdGhlIHZpZXcgY2xpcCByZWN0IGlu
IHdpbmRvdyBjb29yZGluYXRlcy4KICAgICBmcmFtZVJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzLmlu
dGVyc2VjdCh3aW5kb3dDbGlwUmVjdCk7CiAKLSAgICBmcmFtZVJlY3RJbldpbmRvd0Nvb3JkaW5h
dGVzLnNjYWxlKDEgLyBmcmFtZS0+cGFnZVNjYWxlRmFjdG9yKCkpOworICAgIGZyYW1lUmVjdElu
V2luZG93Q29vcmRpbmF0ZXMuc2NhbGUoMSAvIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCkpOwog
ICAgIHJldHVybiBmcmFtZVJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>