<?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>86893</bug_id>
          
          <creation_ts>2012-05-18 13:37:32 -0700</creation_ts>
          <short_desc>[Chromium] Call canAccelerate2dCanvas directly</short_desc>
          <delta_ts>2012-05-22 20:22:56 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>rakuco</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>628009</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-18 13:37:32 -0700</bug_when>
    <thetext>[Chromium] Call canAccelerate2dCanvas directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628011</commentid>
    <comment_count>1</comment_count>
      <attachid>142780</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-18 13:38:27 -0700</bug_when>
    <thetext>Created attachment 142780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628020</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-18 13:41:39 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628021</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-18 13:42:03 -0700</bug_when>
    <thetext>Attachment 142780 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/Platform/ChangeLog&apos;, u&apos;Source/Platf...&quot; exit_code: 1
Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628026</commentid>
    <comment_count>4</comment_count>
      <attachid>142780</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-18 13:45:30 -0700</bug_when>
    <thetext>Comment on attachment 142780
Patch

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

&gt; Source/WebCore/platform/chromium/GPUSupportChromium.cpp:40
&gt; +bool GPUSupport::canAccelerate2dCanvas()
&gt; +{
&gt; +    return WebKit::Platform::current()-&gt;canAccelerate2dCanvas();

is there any particular reason to have this instead of just calling WebKit::Platform::current()-&gt;canAccelerate2dCanvas() directly from HTMLCanvasElement.cpp ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628031</commentid>
    <comment_count>5</comment_count>
      <attachid>142781</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-18 13:52:07 -0700</bug_when>
    <thetext>Created attachment 142781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628042</commentid>
    <comment_count>6</comment_count>
      <attachid>142781</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-18 14:00:40 -0700</bug_when>
    <thetext>Comment on attachment 142781
Patch

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

&gt; Source/WebCore/platform/GPUSupport.h:39
&gt; +class GPUSupport {
&gt; +public:
&gt; +    static bool canAccelerate2dCanvas();
&gt; +};

This feels much too weird to me to put in a cross-platform place.  The only caller is guarded by PLATFORM(CHROMIUM) so we should keep the implementation in chromium-specific locations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628069</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-18 14:23:02 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 142781 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=142781&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/GPUSupport.h:39
&gt; &gt; +class GPUSupport {
&gt; &gt; +public:
&gt; &gt; +    static bool canAccelerate2dCanvas();
&gt; &gt; +};
&gt; 
&gt; This feels much too weird to me to put in a cross-platform place.  The only caller is guarded by PLATFORM(CHROMIUM) so we should keep the implementation in chromium-specific locations.

We had the same situation in bug 85412 (even the same guard) and we decided to do this same thing (static function in a platform class, redirect to WebKit::Platform in a Chromium-specific class). Not sure why this is different.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628070</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-18 14:24:01 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 142780 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=142780&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/chromium/GPUSupportChromium.cpp:40
&gt; &gt; +bool GPUSupport::canAccelerate2dCanvas()
&gt; &gt; +{
&gt; &gt; +    return WebKit::Platform::current()-&gt;canAccelerate2dCanvas();
&gt; 
&gt; is there any particular reason to have this instead of just calling WebKit::Platform::current()-&gt;canAccelerate2dCanvas() directly from HTMLCanvasElement.cpp ?

Because we&apos;re trying to separate out PlatformSupport from WebCore so we can eventually split the DLLs/libraries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628074</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-18 14:28:27 -0700</bug_when>
    <thetext>It&apos;s probably useful to get some background on what this bit is and why it&apos;s structured this way currently.  Normally in WebCore the embedder decides ahead of time what the settings will be and passes those down (often to WebCore::Settings).  Accelerated 2d canvas in chromium is a bit different since even if the setting says accelerate, we have to check some capabilities before starting rendering.  Checking these capabilities requires spinning up the GPU process and some additional initialization that&apos;s expensive so we want to do it at late as possible.  I don&apos;t know of any other port with this particular requirement.

If you do decide that you need a thunk then put it somewhere chromium-specific.  I don&apos;t really think it adds much value, though, it should be OK to call a virtual from WebCore that&apos;s exported by Platform.dll</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628755</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-20 21:20:43 -0700</bug_when>
    <thetext>This looks like another instance of wanting to refer to the Platform API from outside WebCore/platform.  It&apos;s sounding more and more like we should allow that.  We just need to be careful not to introduce Chromium-dependencies to too much of WebCore.

@Mark: You might need to adjust the include paths in the GYP files a bit to get this to compile without the GPUSupport.h header.  I&apos;m happy to help with that part if you&apos;d like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629321</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-05-21 11:45:15 -0700</bug_when>
    <thetext>Since WebCore depends on Platform, I think it is fine for WebCore to talk directly to Platform-defined interfaces.

My one concern is that when we are in platform-independent code, we really should try to minimize the introduction of &quot;#if PLATFORM(FOO)&quot; code.  In this case, we already have an #if PLATFORM(CHROMIUM), and eliminating that would just add extra code to other ports for no real value.

I think we should just always challenge ourselves when introducing an #if PLATFORM(CHROMIUM) to common code to see if there isn&apos;t a reasonable way to avoid it.  Once inside PLATFORM(CHROMIUM) code, we shouldn&apos;t hesitate to use interfaces from Platform/chromium/public/ directly as that reduces layering, which helps reduce the cost of maintaining the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630959</commentid>
    <comment_count>12</comment_count>
      <attachid>143409</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-22 17:20:11 -0700</bug_when>
    <thetext>Created attachment 143409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630963</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-22 17:20:57 -0700</bug_when>
    <thetext>HTMLCanvasElement.cpp now calls WebKit::Platform::current()-&gt;canAccelerate2dCanvas().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630965</commentid>
    <comment_count>14</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-22 17:21:33 -0700</bug_when>
    <thetext>GYP changes to add Platform.gyp to webcore_prerequisites was already added in another bug, so not part of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630970</commentid>
    <comment_count>15</comment_count>
      <attachid>143409</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-22 17:28:09 -0700</bug_when>
    <thetext>Comment on attachment 143409
Patch

This seems fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631117</commentid>
    <comment_count>16</comment_count>
      <attachid>143409</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 20:22:40 -0700</bug_when>
    <thetext>Comment on attachment 143409
Patch

Clearing flags on attachment: 143409

Committed r118110: &lt;http://trac.webkit.org/changeset/118110&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631118</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 20:22:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142780</attachid>
            <date>2012-05-18 13:38:27 -0700</date>
            <delta_ts>2012-05-18 13:51:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86893-20120518163809.patch</filename>
            <type>text/plain</type>
            <size>22675</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE3NjE4KQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTE4ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENh
bGwgY2FuQWNjZWxlcmF0ZTJkQ2FudmFzIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNl
ZSB0cmFja2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvUGxhdGZv
cm0uaDoKKyAgICAgICAgKFBsYXRmb3JtKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06OmNh
bkFjY2VsZXJhdGUyZENhbnZhcyk6CisKIDIwMTItMDUtMTcgIE1hcmsgUGlsZ3JpbSAgPHBpbGdy
aW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBXZWIgV29ya2VycyBt
ZXRob2RzIHRvIFBsYXRmb3JtLmgKSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1BsYXRmb3JtLmgJKHJldmlzaW9uIDExNzYxMykKKysrIFNvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMzEzLDcgKzMxMywxNCBA
QCBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyBuZXdseSBhbGxvY2F0ZWQgYW5kIGluaXRpYWxpemVk
IG9mZnNjcmVlbiBXZWJHcmFwaGljc0NvbnRleHQzRCBpbnN0YW5jZS4KICAgICB2aXJ0dWFsIFdl
YkdyYXBoaWNzQ29udGV4dDNEKiBjcmVhdGVPZmZzY3JlZW5HcmFwaGljc0NvbnRleHQzRChjb25z
dCBXZWJHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyYpIHsgcmV0dXJuIDA7IH0KIAorICAg
IC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGxhdGZvcm0gaXMgY2FwYWJsZSBvZiBwcm9kdWNpbmcg
YW4gb2Zmc2NyZWVuIGNvbnRleHQgc3VpdGFibGUgZm9yIGFjY2VsZXJhdGluZyAyZCBjYW52YXMu
CisgICAgLy8gVGhpcyB3aWxsIHJldHVybiBmYWxzZSBpZiB0aGUgcGxhdGZvcm0gY2Fubm90IHBy
b21pc2UgdGhhdCBjb250ZXh0cyB3aWxsIGJlIHByZXNlcnZlZCBhY3Jvc3Mgb3BlcmF0aW9ucyBs
aWtlCisgICAgLy8gbG9ja2luZyB0aGUgc2NyZWVuIG9yIGlmIHRoZSBwbGF0Zm9ybSBjYW5ub3Qg
cHJvdmlkZSBhIGNvbnRleHQgd2l0aCBzdWl0YWJsZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3Rp
Y3MuCisgICAgLy8KKyAgICAvLyBUaGlzIHZhbHVlIG11c3QgYmUgY2hlY2tlZCBhZ2FpbiBhZnRl
ciBhIGNvbnRleHQgbG9zcyBldmVudCBhcyB0aGUgcGxhdGZvcm0ncyBjYXBhYmlsaXRpZXMgbWF5
IGhhdmUgY2hhbmdlZC4KKyAgICB2aXJ0dWFsIGJvb2wgY2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCkg
eyByZXR1cm4gZmFsc2U7IH0KIAorICAgIAogICAgIC8vIFdlYlJUQyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAvLyBERVBS
RUNBVEVECkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTc2MTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMyBAQAorMjAxMi0wNS0xOCAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBDYWxsIGNhbkFjY2VsZXJhdGUyZENhbnZhcyBkaXJlY3RseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4OTMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAg
ICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6c2hvdWxkQWNj
ZWxlcmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vR1BVU3VwcG9ydC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVTdXBwb3J0OjpjYW5BY2NlbGVy
YXRlMmRDYW52YXMpOgorICAgICAgICAqIHBsYXRmb3JtL0dQVVN1cHBvcnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEdQVVN1cHBvcnQpOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0dQVVN1cHBvcnRDaHJvbWl1bS5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVTdXBwb3J0OjpjYW5BY2NlbGVyYXRlMmRDYW52
YXMpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oOgorCiAy
MDEyLTA1LTE4ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgcmVt
b3ZlIHRoZSBDU1NfR1JJRF9MQVlPVVQgY29tcGlsZXIgZGVmaW5lLCBidXQgZGVmYXVsdCBncmlk
IGxheW91dCB0byBvZmYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMTc2MTMp
CisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEw
OCw2ICsxMTA4LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL0ZpbGVJY29u
TG9hZGVyLmNwcAogICAgIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCiAgICAgcGxhdGZvcm0vQ2xv
Y2tHZW5lcmljLmNwcAorICAgIHBsYXRmb3JtL0dQVVN1cHBvcnQuY3BwCiAgICAgcGxhdGZvcm0v
SGlzdG9ncmFtU3VwcG9ydC5jcHAKICAgICBwbGF0Zm9ybS9LVVJMLmNwcAogICAgIHBsYXRmb3Jt
L0tpbGxSaW5nTm9uZS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2
aXNpb24gMTE3NjEzKQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29y
a2luZyBjb3B5KQpAQCAtMzEyNCw2ICszMTI0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0Zsb2F0Q29udmVyc2lvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFj
dGlvbmFsTGF5b3V0VW5pdC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HUFVTdXBwb3J0
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1BVU3VwcG9ydC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9IYXNoVG9vbHMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
SGlzdG9ncmFtU3VwcG9ydC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hpc3RvZ3Jh
bVN1cHBvcnQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDExNzYxMykKKysrIFNvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTEwODYsNiArMTA4Niw3IEBA
IFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL0ZpbGVJY29uTG9hZGVyLmNwcCBcCiAgICAgcGxh
dGZvcm0vRmlsZVN0cmVhbS5jcHAgXAogICAgIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwIFwKKyAg
ICBwbGF0Zm9ybS9HUFVTdXBwb3J0LmNwcCBcCiAgICAgcGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9y
dC5jcHAgXAogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3F0L0ltYWdlRnJhbWVRdC5jcHAg
XAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5jcHAgXApAQCAtMjE5Niw2
ICsyMTk3LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vRmlsZVN0cmVhbS5oIFwKICAg
ICBwbGF0Zm9ybS9GaWxlU3RyZWFtQ2xpZW50LmggXAogICAgIHBsYXRmb3JtL0ZpbGVTeXN0ZW0u
aCBcCisgICAgcGxhdGZvcm0vR1BVU3VwcG9ydC5oIFwKICAgICBwbGF0Zm9ybS9IaXN0b2dyYW1T
dXBwb3J0LmggXAogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIFwK
ICAgICBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oIFwKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDExNzYxMykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjc4LDYgKzI3OCw3IEBACiAgICAgICAgICAgICAn
cGxhdGZvcm0vRmlsZVN0cmVhbS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9GaWxlU3RyZWFt
Q2xpZW50LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaCcsCisgICAgICAg
ICAgICAncGxhdGZvcm0vR1BVU3VwcG9ydC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Ib3N0
V2luZG93LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0hpc3RvZ3JhbVN1cHBvcnQuaCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vS1VSTC5oJywKQEAgLTMzMjMsNiArMzMyNCw3IEBACiAgICAg
ICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vRnJhbWVsZXNzU2Nyb2xsVmlldy5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9GcmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL0dhbWVwYWRzQ2hyb21pdW0uY3BwJywKKyAg
ICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9HUFVTdXBwb3J0Q2hyb21pdW0uY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9IaXN0b2dyYW1TdXBwb3J0Q2hyb21pdW0uY3Bw
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9LZXlDb2RlQ29udmVyc2lvbi5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9LZXlDb2RlQ29udmVyc2lvbkFuZHJvaWQu
Y3BwJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCShyZXZpc2lvbiAxMTc2MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjc3OTgsNiArMjc3OTgsMTQgQEAKIAkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1c
R1BVU3VwcG9ydC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHBsYXRmb3JtXEdQVVN1cHBvcnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cSGlzdG9ncmFtU3VwcG9ydC5jcHAi
CiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTE3NjEzKQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC01ODI2LDYgKzU4MjYsNyBAQAogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHND
b3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
NjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi87IH07CiAJCUQ2MzBF
MkFDMTQ5QkYzNDQwMDVCMkY5NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5
NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCAqLzsgfTsKIAkJRDYzMEUyQUMxNDlCRjM0NDAwNUIy
Rjk2IC8qIEV2ZW50VHJhY2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTYgLyogRXZlbnRUcmFjZXIuaCAqLzsg
fTsKKwkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk3IC8qIEdQVVN1cHBvcnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVC
MkY5NyAvKiBHUFVTdXBwb3J0LmggKi87IH07CiAJCUQ2RTI3NkFGMTQ2Mzc0NTUwMDFEMjgwQSAv
KiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFEMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRh
dGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCAqLzsgfTsKIAkJRDZFMjc2QjAxNDYzNzQ1NTAw
MUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFFMTQ2Mzc0NTUwMDFEMjgwQSAv
KiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi87IH07CiAJCUQ2RTUyOEEzMTQ5QTky
NkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkU1MjhBMTE0OUE5MjZEMDBF
RkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwICovOyB9OwpAQCAtNTgz
NCw2ICs1ODM1LDcgQEAKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkZE
QUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCAqLzsgfTsKIAkJRDZGREFF
RjMxNDlDMDYxOTAwMzdCMUUzIC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0Ix
RTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAqLzsgfTsKIAkJRDZGREFFRjMxNDlDMDYxOTAw
MzdCMUU0IC8qIEV2ZW50VHJhY2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFNCAvKiBFdmVudFRyYWNlci5j
cHAgKi87IH07CisJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNSAvKiBHUFVTdXBwb3J0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5
QzA2MTkwMDM3QjFFNSAvKiBHUFVTdXBwb3J0LmNwcCAqLzsgfTsKIAkJRDcwQUQ2NTcxM0UxMzQy
QjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVn
aW9uLmNwcCAqLzsgfTsKIAkJRDcwQUQ2NTgxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2
NTYxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5oICovOyB9OwogCQlENzJGNkQ3OTE1
MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcyRjZENzcxNTMxNTlBMzAwMUVFNDRF
IC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCAqLzsgfTsKQEAgLTEyOTg3LDYgKzEyOTg5LDcg
QEAKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGF0c0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3Vw
cG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlVc2FnZVN1cHBv
cnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIy
Rjk2IC8qIEV2ZW50VHJhY2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2
ZW50VHJhY2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2MzBFMkFCMTQ5QkYz
NDQwMDVCMkY5NyAvKiBHUFVTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEdQVVN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFMjc2QUQx
NDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFFMTQ2Mzc0NTUw
MDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0
aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTEyOTk1LDYgKzEyOTk4LDcgQEAKIAkJRDZGREFFRjIxNDlDMDYx
OTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTdGF0c0NvdW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeVVzYWdlU3VwcG9ydC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFNCAv
KiBFdmVudFRyYWNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBF
dmVudFRyYWNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2RkRBRUYyMTQ5
QzA2MTkwMDM3QjFFNSAvKiBHUFVTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEdQVVN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclJlZ2lvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUQ3MEFENjU2MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyUmVnaW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3MkY2RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBG
bG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBGbG93VGhyZWFkQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yMDMxMyw2ICsyMDMxNyw4IEBACiAJCQkJNTE0QjNGNzIwQzcyMjA0NzAwMDUzMERGIC8q
IEZpbGVTeXN0ZW0uaCAqLywKIAkJCQlCQzA3M0JBOTBDMzk5QjFGMDAwRjU5NzkgLyogRmxvYXRD
b252ZXJzaW9uLmggKi8sCiAJCQkJMTQ0RkNFNTExNEVDNzlCQzAwMEQxN0EzIC8qIEZyYWN0aW9u
YWxMYXlvdXRVbml0LmggKi8sCisJCQkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU1IC8qIEdQVVN1
cHBvcnQuY3BwICovLAorCQkJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NyAvKiBHUFVTdXBwb3J0
LmggKi8sCiAJCQkJQTg3NDhCREYxMkNCRjJEQzAwMUZCQTQxIC8qIEhhc2hUb29scy5oICovLAog
CQkJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCAqLywK
IAkJCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9ydC5oICovLApA
QCAtMjI5MjAsNiArMjI5MjYsNyBAQAogCQkJCUM1RDRBQTdBMTE2QkFGQjYwMDY5Q0E5MyAvKiBH
bHlwaE1ldHJpY3NNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NzNCODZCMTM2MDY0RUEwMEE1
MjJDMiAvKiBHbHlwaFBhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTZFMEQwMDZDRDYw
MEVGNkYyNiAvKiBHbHlwaFBhZ2VUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRDYzMEUy
QUMxNDlCRjM0NDAwNUIyRjk3IC8qIEdQVVN1cHBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
NTNDNUY1MERBNTZCOTIwMDIxRUI1RCAvKiBHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QjIyMjc5NjQwRDAwQkYyMjAwNzFCNzgyIC8qIEdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJBMDE1QTkwQUY2Q0Q1MzAwNkJDRTBFIC8qIEdyYXBoaWNzQ29udGV4dC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNjA2MCw2ICsyNjA2Nyw3IEBACiAJCQkJOTc0NkFGMjYxNEY0
RERFNjAwM0U3QTcwIC8qIEdlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCMkMzREE2RDBEMDA2Q0Q2MDBFRjZGMjYgLyogR2x5cGhQYWdlVHJlZU5vZGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQjJBRkZDODMwRDAwQTVDMTAwMzAwNzREIC8qIEdseXBoUGFnZVRy
ZWVOb2RlTWFjLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFF
NSAvKiBHUFVTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTNDNjA4MERBNTZDNTcw
MDIxRUI1RCAvKiBHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzUzQzYwQjBEQTU2
Q0YxMDAyMUVCNUQgLyogR3JhZGllbnRDRy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkEwMTVB
ODBBRjZDRDUzMDA2QkNFMEUgLyogR3JhcGhpY3NDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLApJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAJKHJldmlzaW9u
IDExNzYxMykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENI
Uk9NSVVNKQotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgorI2luY2x1ZGUgIkdQVVN1cHBv
cnQuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00ODUsNyArNDg1LDcgQEAg
Ym9vbCBIVE1MQ2FudmFzRWxlbWVudDo6c2hvdWxkQWNjZWxlcmF0ZQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBpZiAoIVBsYXRmb3JtU3VwcG9y
dDo6Y2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCkpCisgICAgaWYgKCFHUFVTdXBwb3J0OjpjYW5BY2Nl
bGVyYXRlMmRDYW52YXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dQVVN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dQVVN1cHBvcnQuY3BwCShyZXZpc2lvbiAwKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1BVU3VwcG9ydC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR1BVU3VwcG9ydC5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgR1BVU3VwcG9ydDo6Y2FuQWNjZWxlcmF0ZTJkQ2Fu
dmFzKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dQVVN1cHBvcnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HUFVTdXBwb3J0LmgJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HUFVTdXBwb3J0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIEdQVVN1cHBvcnRfaAorI2RlZmluZSBHUFVTdXBwb3J0X2gKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVTdXBwb3J0IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgYm9vbCBjYW5BY2NlbGVyYXRlMmRDYW52YXMoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEdQVVN1cHBvcnRfaApJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vR1BVU3VwcG9ydENocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HUFVTdXBwb3J0Q2hyb21pdW0uY3BwCShyZXZp
c2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR1BVU3VwcG9ydENo
cm9taXVtLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJHUFVTdXBwb3J0LmgiCisKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0u
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIEdQVVN1cHBvcnQ6OmNhbkFjY2VsZXJh
dGUyZENhbnZhcygpCit7CisgICAgcmV0dXJuIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+
Y2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3Vw
cG9ydC5oCShyZXZpc2lvbiAxMTc2MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzcxLDggKzM3MSw2IEBA
IHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIGRpZFN0YXJ0V29ya2VyUnVuTG9vcChXb3JrZXJS
dW5Mb29wKik7CiAgICAgc3RhdGljIHZvaWQgZGlkU3RvcFdvcmtlclJ1bkxvb3AoV29ya2VyUnVu
TG9vcCopOwotCi0gICAgc3RhdGljIGJvb2wgY2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCk7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwko
cmV2aXNpb24gMTE3NjE4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNS0xOCAgTWFyayBQaWxncmltICA8
cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBDYWxsIGNhbkFjY2Vs
ZXJhdGUyZENhbnZhcyBkaXJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODY4OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcg
YnVnIDgyOTQ4LgorCisgICAgICAgICogcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3Vw
cG9ydC5oOgorICAgICAgICAoV2ViS2l0UGxhdGZvcm1TdXBwb3J0KToKKyAgICAgICAgKiBzcmMv
UGxhdGZvcm1TdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTA1LTE4ICBH
cmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSB3ZWIg
aW50ZW50cyBmbGFnIGZvciBjaHJvbWl1bSBidWlsZApJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1T
dXBwb3J0LmgJKHJldmlzaW9uIDExNzYxMykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDcsMTUgKzE0Nyw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV2ViU2hhcmVkV29ya2VyUmVw
b3NpdG9yeSogc2hhcmVkV29ya2VyUmVwb3NpdG9yeSgpIHsgcmV0dXJuIDA7IH0KIAotICAgIC8v
IEdQVSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0KLSAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHBsYXRmb3JtIGlzIGNh
cGFibGUgb2YgcHJvZHVjaW5nIGFuIG9mZnNjcmVlbiBjb250ZXh0IHN1aXRhYmxlIGZvciBhY2Nl
bGVyYXRpbmcgMmQgY2FudmFzLgotICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gZmFsc2UgaWYgdGhl
IHBsYXRmb3JtIGNhbm5vdCBwcm9taXNlIHRoYXQgY29udGV4dHMgd2lsbCBiZSBwcmVzZXJ2ZWQg
YWNyb3NzIG9wZXJhdGlvbnMgbGlrZQotICAgIC8vIGxvY2tpbmcgdGhlIHNjcmVlbiBvciBpZiB0
aGUgcGxhdGZvcm0gY2Fubm90IHByb3ZpZGUgYSBjb250ZXh0IHdpdGggc3VpdGFibGUgcGVyZm9y
bWFuY2UgY2hhcmFjdGVyaXN0aWNzLgotICAgIC8vCi0gICAgLy8gVGhpcyB2YWx1ZSBtdXN0IGJl
IGNoZWNrZWQgYWdhaW4gYWZ0ZXIgYSBjb250ZXh0IGxvc3MgZXZlbnQgYXMgdGhlIHBsYXRmb3Jt
J3MgY2FwYWJpbGl0aWVzIG1heSBoYXZlIGNoYW5nZWQuCi0gICAgdmlydHVhbCBib29sIGNhbkFj
Y2VsZXJhdGUyZENhbnZhcygpIHsgcmV0dXJuIGZhbHNlOyB9Ci0KIAogcHJvdGVjdGVkOgogICAg
IH5XZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTE3NjEzKQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtOTIwLDkgKzkyMCw0IEBAIFdvcmtlckNvbnRleHRQcm94eSogV29ya2VyQ29udGV4dFBy
b3h5OjoKIH0KICNlbmRpZgogCi1ib29sIFBsYXRmb3JtU3VwcG9ydDo6Y2FuQWNjZWxlcmF0ZTJk
Q2FudmFzKCkKLXsKLSAgICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmNhbkFjY2Vs
ZXJhdGUyZENhbnZhcygpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142781</attachid>
            <date>2012-05-18 13:52:07 -0700</date>
            <delta_ts>2012-05-22 17:20:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86893-20120518165149.patch</filename>
            <type>text/plain</type>
            <size>22642</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE3NjE4KQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTE4ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENh
bGwgY2FuQWNjZWxlcmF0ZTJkQ2FudmFzIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNl
ZSB0cmFja2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvUGxhdGZv
cm0uaDoKKyAgICAgICAgKFBsYXRmb3JtKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06OmNh
bkFjY2VsZXJhdGUyZENhbnZhcyk6CisKIDIwMTItMDUtMTcgIE1hcmsgUGlsZ3JpbSAgPHBpbGdy
aW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBXZWIgV29ya2VycyBt
ZXRob2RzIHRvIFBsYXRmb3JtLmgKSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1BsYXRmb3JtLmgJKHJldmlzaW9uIDExNzYxMykKKysrIFNvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMzEzLDcgKzMxMywxNCBA
QCBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyBuZXdseSBhbGxvY2F0ZWQgYW5kIGluaXRpYWxpemVk
IG9mZnNjcmVlbiBXZWJHcmFwaGljc0NvbnRleHQzRCBpbnN0YW5jZS4KICAgICB2aXJ0dWFsIFdl
YkdyYXBoaWNzQ29udGV4dDNEKiBjcmVhdGVPZmZzY3JlZW5HcmFwaGljc0NvbnRleHQzRChjb25z
dCBXZWJHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyYpIHsgcmV0dXJuIDA7IH0KIAorICAg
IC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGxhdGZvcm0gaXMgY2FwYWJsZSBvZiBwcm9kdWNpbmcg
YW4gb2Zmc2NyZWVuIGNvbnRleHQgc3VpdGFibGUgZm9yIGFjY2VsZXJhdGluZyAyZCBjYW52YXMu
CisgICAgLy8gVGhpcyB3aWxsIHJldHVybiBmYWxzZSBpZiB0aGUgcGxhdGZvcm0gY2Fubm90IHBy
b21pc2UgdGhhdCBjb250ZXh0cyB3aWxsIGJlIHByZXNlcnZlZCBhY3Jvc3Mgb3BlcmF0aW9ucyBs
aWtlCisgICAgLy8gbG9ja2luZyB0aGUgc2NyZWVuIG9yIGlmIHRoZSBwbGF0Zm9ybSBjYW5ub3Qg
cHJvdmlkZSBhIGNvbnRleHQgd2l0aCBzdWl0YWJsZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3Rp
Y3MuCisgICAgLy8KKyAgICAvLyBUaGlzIHZhbHVlIG11c3QgYmUgY2hlY2tlZCBhZ2FpbiBhZnRl
ciBhIGNvbnRleHQgbG9zcyBldmVudCBhcyB0aGUgcGxhdGZvcm0ncyBjYXBhYmlsaXRpZXMgbWF5
IGhhdmUgY2hhbmdlZC4KKyAgICB2aXJ0dWFsIGJvb2wgY2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCkg
eyByZXR1cm4gZmFsc2U7IH0KIAorICAgIAogICAgIC8vIFdlYlJUQyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAvLyBERVBS
RUNBVEVECkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTc2MTgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAxMi0wNS0xOCAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBDYWxsIGNhbkFjY2VsZXJhdGUyZENhbnZhcyBkaXJlY3RseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4OTMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVz
LiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Q2FudmFzRWxlbWVudDo6c2hvdWxkQWNjZWxlcmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vR1BV
U3VwcG9ydC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVTdXBwb3J0OjpjYW5BY2NlbGVyYXRlMmRDYW52YXMpOgorICAgICAgICAqIHBsYXRmb3Jt
L0dQVVN1cHBvcnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEdQVVN1
cHBvcnQpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0dQVVN1cHBvcnRDaHJvbWl1bS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpHUFVTdXBw
b3J0OjpjYW5BY2NlbGVyYXRlMmRDYW52YXMpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L1BsYXRmb3JtU3VwcG9ydC5oOgorCiAyMDEyLTA1LTE4ICBUb255IENoYW5nICA8dG9ueUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgcmVtb3ZlIHRoZSBDU1NfR1JJRF9MQVlPVVQgY29tcGlsZXIg
ZGVmaW5lLCBidXQgZGVmYXVsdCBncmlkIGxheW91dCB0byBvZmYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CShyZXZpc2lvbiAxMTc2MTMpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMTEwOCw2ICsxMTA4LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNF
UwogICAgIHBsYXRmb3JtL0ZpbGVJY29uTG9hZGVyLmNwcAogICAgIHBsYXRmb3JtL0ZpbGVTeXN0
ZW0uY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmNwcAorICAgIHBsYXRmb3JtL0dQVVN1
cHBvcnQuY3BwCiAgICAgcGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9ydC5jcHAKICAgICBwbGF0Zm9y
bS9LVVJMLmNwcAogICAgIHBsYXRmb3JtL0tpbGxSaW5nTm9uZS5jcHAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTE3NjEzKQorKysgU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtMzEyNCw2ICszMTI0LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVt
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Zsb2F0Q29udmVyc2lvbi5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oIFwKKwlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9HUFVTdXBwb3J0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
R1BVU3VwcG9ydC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IYXNoVG9vbHMuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9ydC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0hpc3RvZ3JhbVN1cHBvcnQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJl
dmlzaW9uIDExNzYxMykKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29w
eSkKQEAgLTEwODYsNiArMTA4Niw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL0ZpbGVJ
Y29uTG9hZGVyLmNwcCBcCiAgICAgcGxhdGZvcm0vRmlsZVN0cmVhbS5jcHAgXAogICAgIHBsYXRm
b3JtL0ZpbGVTeXN0ZW0uY3BwIFwKKyAgICBwbGF0Zm9ybS9HUFVTdXBwb3J0LmNwcCBcCiAgICAg
cGxhdGZvcm0vSGlzdG9ncmFtU3VwcG9ydC5jcHAgXAogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL3F0L0ltYWdlRnJhbWVRdC5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNj
cmlwdGlvbi5jcHAgXApAQCAtMjE5Niw2ICsyMTk3LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxh
dGZvcm0vRmlsZVN0cmVhbS5oIFwKICAgICBwbGF0Zm9ybS9GaWxlU3RyZWFtQ2xpZW50LmggXAog
ICAgIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uaCBcCisgICAgcGxhdGZvcm0vR1BVU3VwcG9ydC5oIFwK
ICAgICBwbGF0Zm9ybS9IaXN0b2dyYW1TdXBwb3J0LmggXAogICAgIHBsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL0ltYWdlRGVjb2Rlci5oIFwKICAgICBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0
aW9uQ2xpZW50TW9jay5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDExNzYxMykK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjc4LDYg
KzI3OCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vRmlsZVN0cmVhbS5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9GaWxlU3RyZWFtQ2xpZW50LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L0ZpbGVTeXN0ZW0uaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vR1BVU3VwcG9ydC5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9Ib3N0V2luZG93LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L0hpc3RvZ3JhbVN1cHBvcnQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vS1VSTC5oJywKQEAg
LTMzMjMsNiArMzMyNCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vRnJhbWVs
ZXNzU2Nyb2xsVmlldy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9GcmFtZWxl
c3NTY3JvbGxWaWV3Q2xpZW50LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL0dh
bWVwYWRzQ2hyb21pdW0uY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9HUFVT
dXBwb3J0Q2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9IaXN0
b2dyYW1TdXBwb3J0Q2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1
bS9LZXlDb2RlQ29udmVyc2lvbi5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9L
ZXlDb2RlQ29udmVyc2lvbkFuZHJvaWQuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMTc2MTMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAt
Mjc3OTgsNiArMjc3OTgsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cR1BVU3VwcG9ydC5jcHAiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXEdQVVN1cHBvcnQuaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZv
cm1cSGlzdG9ncmFtU3VwcG9ydC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMTE3NjEzKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODI2LDYgKzU4MjYsNyBAQAogCQlENjMwRTJBQzE0
OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHND
b3VudGVyLmggKi87IH07CiAJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5NSAvKiBNZW1vcnlVc2Fn
ZVN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCAqLzsgfTsK
IAkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk2IC8qIEV2ZW50VHJhY2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJG
OTYgLyogRXZlbnRUcmFjZXIuaCAqLzsgfTsKKwkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk3IC8q
IEdQVVN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NyAvKiBHUFVTdXBwb3J0LmggKi87IH07CiAJCUQ2
RTI3NkFGMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFE
MTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCAqLzsg
fTsKIAkJRDZFMjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2
RTI3NkFFMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmgg
Ki87IH07CiAJCUQ2RTUyOEEzMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50
ZXJlc3RHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0
R3JvdXAuY3BwICovOyB9OwpAQCAtNTgzNCw2ICs1ODM1LDcgQEAKIAkJRDZGREFFRjMxNDlDMDYx
OTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3Vu
dGVyLmNwcCAqLzsgfTsKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUzIC8qIE1lbW9yeVVzYWdl
U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAqLzsg
fTsKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUU0IC8qIEV2ZW50VHJhY2VyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkw
MDM3QjFFNCAvKiBFdmVudFRyYWNlci5jcHAgKi87IH07CisJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3
QjFFNSAvKiBHUFVTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFNSAvKiBHUFVTdXBwb3J0LmNwcCAq
LzsgfTsKIAkJRDcwQUQ2NTcxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzBBRDY1NTEzRTEz
NDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCAqLzsgfTsKIAkJRDcwQUQ2NTgxM0UxMzQy
QjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2NTYxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lv
bi5oICovOyB9OwogCQlENzJGNkQ3OTE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRy
b2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RDcyRjZENzcxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCAqLzsg
fTsKQEAgLTEyOTg3LDYgKzEyOTg5LDcgQEAKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8q
IFN0YXRzQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGF0c0Nv
dW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAw
NUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNZW1vcnlVc2FnZVN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk2IC8qIEV2ZW50VHJhY2VyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50VHJhY2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NyAvKiBHUFVTdXBwb3J0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRDZFMjc2QUQxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUQ2RTI3NkFFMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFNTI4QTEx
NDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVz
dEdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyOTk1LDYgKzEyOTk4
LDcgQEAKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdGF0c0NvdW50ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVt
b3J5VXNhZ2VTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1lbW9yeVVzYWdlU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2
RkRBRUYyMTQ5QzA2MTkwMDM3QjFFNCAvKiBFdmVudFRyYWNlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudFRyYWNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFNSAvKiBHUFVTdXBwb3J0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVVN1cHBvcnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQgLyogUmVu
ZGVyUmVnaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRl
clJlZ2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3MEFENjU2MTNFMTM0
MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVuZGVyUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3MkY2
RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGbG93VGhyZWFkQ29udHJvbGxlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDMxMyw2ICsyMDMxNyw4IEBACiAJCQkJNTE0
QjNGNzIwQzcyMjA0NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0uaCAqLywKIAkJCQlCQzA3M0JBOTBD
Mzk5QjFGMDAwRjU5NzkgLyogRmxvYXRDb252ZXJzaW9uLmggKi8sCiAJCQkJMTQ0RkNFNTExNEVD
NzlCQzAwMEQxN0EzIC8qIEZyYWN0aW9uYWxMYXlvdXRVbml0LmggKi8sCisJCQkJRDZGREFFRjIx
NDlDMDYxOTAwMzdCMUU1IC8qIEdQVVN1cHBvcnQuY3BwICovLAorCQkJCUQ2MzBFMkFCMTQ5QkYz
NDQwMDVCMkY5NyAvKiBHUFVTdXBwb3J0LmggKi8sCiAJCQkJQTg3NDhCREYxMkNCRjJEQzAwMUZC
QTQxIC8qIEhhc2hUb29scy5oICovLAogCQkJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMSAvKiBI
aXN0b2dyYW1TdXBwb3J0LmNwcCAqLywKIAkJCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTMgLyog
SGlzdG9ncmFtU3VwcG9ydC5oICovLApAQCAtMjI5MjAsNiArMjI5MjYsNyBAQAogCQkJCUM1RDRB
QTdBMTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1ldHJpY3NNYXAuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA4NzNCODZCMTM2MDY0RUEwMEE1MjJDMiAvKiBHbHlwaFBhZ2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyQzNEQTZFMEQwMDZDRDYwMEVGNkYyNiAvKiBHbHlwaFBhZ2VUcmVlTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk3IC8qIEdQVVN1cHBvcnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTNDNUY1MERBNTZCOTIwMDIxRUI1RCAvKiBHcmFkaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5NjQwRDAwQkYyMjAwNzFCNzgyIC8qIEdyYWRp
ZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMDE1QTkwQUY2Q0Q1MzAwNkJD
RTBFIC8qIEdyYXBoaWNzQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjA2MCw2ICsyNjA2
Nyw3IEBACiAJCQkJOTc0NkFGMjYxNEY0RERFNjAwM0U3QTcwIC8qIEdlb2xvY2F0aW9uQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREE2RDBEMDA2Q0Q2MDBFRjZGMjYgLyog
R2x5cGhQYWdlVHJlZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJBRkZDODMwRDAwQTVD
MTAwMzAwNzREIC8qIEdseXBoUGFnZVRyZWVOb2RlTWFjLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNSAvKiBHUFVTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDNTNDNjA4MERBNTZDNTcwMDIxRUI1RCAvKiBHcmFkaWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzUzQzYwQjBEQTU2Q0YxMDAyMUVCNUQgLyogR3JhZGllbnRDRy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCMkEwMTVBODBBRjZDRDUzMDA2QkNFMEUgLyogR3JhcGhpY3NDb250
ZXh0LmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHAJKHJldmlzaW9uIDExNzYxMykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENhbnZhc0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw3IEBACiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9y
dC5oIgorI2luY2x1ZGUgIkdQVVN1cHBvcnQuaCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00ODUsNyArNDg1LDcgQEAgYm9vbCBIVE1MQ2FudmFzRWxlbWVudDo6c2hvdWxkQWNj
ZWxlcmF0ZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkK
LSAgICBpZiAoIVBsYXRmb3JtU3VwcG9ydDo6Y2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCkpCisgICAg
aWYgKCFHUFVTdXBwb3J0OjpjYW5BY2NlbGVyYXRlMmRDYW52YXMoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dQVVN1cHBv
cnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dQVVN1cHBvcnQu
Y3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1BVU3VwcG9ydC5j
cHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiR1BVU3VwcG9ydC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgR1BVU3Vw
cG9ydDo6Y2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dQ
VVN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HUFVTdXBw
b3J0LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HUFVTdXBwb3J0
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEdQVVN1cHBvcnRfaAorI2Rl
ZmluZSBHUFVTdXBwb3J0X2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVTdXBw
b3J0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBjYW5BY2NlbGVyYXRlMmRDYW52YXMoKTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEdQVVN1cHBvcnRfaApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR1BVU3VwcG9ydENocm9taXVt
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HUFVT
dXBwb3J0Q2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vR1BVU3VwcG9ydENocm9taXVtLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHUFVTdXBwb3J0LmgiCisKKyNp
bmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29s
IEdQVVN1cHBvcnQ6OmNhbkFjY2VsZXJhdGUyZENhbnZhcygpCit7CisgICAgcmV0dXJuIFdlYktp
dDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Y2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1BsYXRmb3JtU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMTc2MTMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzcxLDggKzM3MSw2IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIGRpZFN0
YXJ0V29ya2VyUnVuTG9vcChXb3JrZXJSdW5Mb29wKik7CiAgICAgc3RhdGljIHZvaWQgZGlkU3Rv
cFdvcmtlclJ1bkxvb3AoV29ya2VyUnVuTG9vcCopOwotCi0gICAgc3RhdGljIGJvb2wgY2FuQWNj
ZWxlcmF0ZTJkQ2FudmFzKCk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE3NjE4KQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0wNS0xOCAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
W0Nocm9taXVtXSBDYWxsIGNhbkFjY2VsZXJhdGUyZENhbnZhcyBkaXJlY3RseQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4OTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jp
bmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICogcHVibGljL3Bs
YXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oOgorICAgICAgICAoV2ViS2l0UGxhdGZvcm1T
dXBwb3J0KToKKyAgICAgICAgKiBzcmMvUGxhdGZvcm1TdXBwb3J0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorCiAyMDEyLTA1LTE4ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29t
PgogCiAgICAgICAgIEVuYWJsZSB3ZWIgaW50ZW50cyBmbGFnIGZvciBjaHJvbWl1bSBidWlsZApJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZv
cm1TdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
cGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgJKHJldmlzaW9uIDExNzYxMykKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9y
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDcsMTUgKzE0Nyw2IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgV2ViU2hhcmVkV29ya2VyUmVwb3NpdG9yeSogc2hhcmVkV29ya2VyUmVwb3NpdG9yeSgp
IHsgcmV0dXJuIDA7IH0KIAotICAgIC8vIEdQVSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgICAvLyBSZXR1cm5zIHRy
dWUgaWYgdGhlIHBsYXRmb3JtIGlzIGNhcGFibGUgb2YgcHJvZHVjaW5nIGFuIG9mZnNjcmVlbiBj
b250ZXh0IHN1aXRhYmxlIGZvciBhY2NlbGVyYXRpbmcgMmQgY2FudmFzLgotICAgIC8vIFRoaXMg
d2lsbCByZXR1cm4gZmFsc2UgaWYgdGhlIHBsYXRmb3JtIGNhbm5vdCBwcm9taXNlIHRoYXQgY29u
dGV4dHMgd2lsbCBiZSBwcmVzZXJ2ZWQgYWNyb3NzIG9wZXJhdGlvbnMgbGlrZQotICAgIC8vIGxv
Y2tpbmcgdGhlIHNjcmVlbiBvciBpZiB0aGUgcGxhdGZvcm0gY2Fubm90IHByb3ZpZGUgYSBjb250
ZXh0IHdpdGggc3VpdGFibGUgcGVyZm9ybWFuY2UgY2hhcmFjdGVyaXN0aWNzLgotICAgIC8vCi0g
ICAgLy8gVGhpcyB2YWx1ZSBtdXN0IGJlIGNoZWNrZWQgYWdhaW4gYWZ0ZXIgYSBjb250ZXh0IGxv
c3MgZXZlbnQgYXMgdGhlIHBsYXRmb3JtJ3MgY2FwYWJpbGl0aWVzIG1heSBoYXZlIGNoYW5nZWQu
Ci0gICAgdmlydHVhbCBib29sIGNhbkFjY2VsZXJhdGUyZENhbnZhcygpIHsgcmV0dXJuIGZhbHNl
OyB9Ci0KIAogcHJvdGVjdGVkOgogICAgIH5XZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKSB7IH0KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAko
cmV2aXNpb24gMTE3NjEzKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1T
dXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIwLDkgKzkyMCw0IEBAIFdvcmtlckNvbnRl
eHRQcm94eSogV29ya2VyQ29udGV4dFByb3h5OjoKIH0KICNlbmRpZgogCi1ib29sIFBsYXRmb3Jt
U3VwcG9ydDo6Y2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCkKLXsKLSAgICByZXR1cm4gd2ViS2l0UGxh
dGZvcm1TdXBwb3J0KCktPmNhbkFjY2VsZXJhdGUyZENhbnZhcygpOwotfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143409</attachid>
            <date>2012-05-22 17:20:11 -0700</date>
            <delta_ts>2012-05-22 20:22:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86893-20120522201945.patch</filename>
            <type>text/plain</type>
            <size>6019</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4MDg0KQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTIyICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENh
bGwgY2FuQWNjZWxlcmF0ZTJkQ2FudmFzIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNl
ZSB0cmFja2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvUGxhdGZv
cm0uaDoKKyAgICAgICAgKFBsYXRmb3JtKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06OmNh
bkFjY2VsZXJhdGUyZENhbnZhcyk6CisKIDIwMTItMDUtMjIgIE1hcmsgUGlsZ3JpbSAgPHBpbGdy
aW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBjb29raWVKYXIgdG8g
UGxhdGZvcm0uaApJbmRleDogU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9y
bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvUGxhdGZv
cm0uaAkocmV2aXNpb24gMTE4MDg0KQorKysgU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1Ymxp
Yy9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMTcsNyArMzE3LDE0IEBAIHB1YmxpYzoK
ICAgICAvLyBSZXR1cm5zIG5ld2x5IGFsbG9jYXRlZCBhbmQgaW5pdGlhbGl6ZWQgb2Zmc2NyZWVu
IFdlYkdyYXBoaWNzQ29udGV4dDNEIGluc3RhbmNlLgogICAgIHZpcnR1YWwgV2ViR3JhcGhpY3ND
b250ZXh0M0QqIGNyZWF0ZU9mZnNjcmVlbkdyYXBoaWNzQ29udGV4dDNEKGNvbnN0IFdlYkdyYXBo
aWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzJikgeyByZXR1cm4gMDsgfQogCisgICAgLy8gUmV0dXJu
cyB0cnVlIGlmIHRoZSBwbGF0Zm9ybSBpcyBjYXBhYmxlIG9mIHByb2R1Y2luZyBhbiBvZmZzY3Jl
ZW4gY29udGV4dCBzdWl0YWJsZSBmb3IgYWNjZWxlcmF0aW5nIDJkIGNhbnZhcy4KKyAgICAvLyBU
aGlzIHdpbGwgcmV0dXJuIGZhbHNlIGlmIHRoZSBwbGF0Zm9ybSBjYW5ub3QgcHJvbWlzZSB0aGF0
IGNvbnRleHRzIHdpbGwgYmUgcHJlc2VydmVkIGFjcm9zcyBvcGVyYXRpb25zIGxpa2UKKyAgICAv
LyBsb2NraW5nIHRoZSBzY3JlZW4gb3IgaWYgdGhlIHBsYXRmb3JtIGNhbm5vdCBwcm92aWRlIGEg
Y29udGV4dCB3aXRoIHN1aXRhYmxlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcy4KKyAgICAv
LworICAgIC8vIFRoaXMgdmFsdWUgbXVzdCBiZSBjaGVja2VkIGFnYWluIGFmdGVyIGEgY29udGV4
dCBsb3NzIGV2ZW50IGFzIHRoZSBwbGF0Zm9ybSdzIGNhcGFiaWxpdGllcyBtYXkgaGF2ZSBjaGFu
Z2VkLgorICAgIHZpcnR1YWwgYm9vbCBjYW5BY2NlbGVyYXRlMmRDYW52YXMoKSB7IHJldHVybiBm
YWxzZTsgfQogCisgICAgCiAgICAgLy8gV2ViUlRDIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIERFUFJFQ0FURUQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODA4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTIyICBNYXJrIFBpbGdy
aW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwgY2Fu
QWNjZWxlcmF0ZTJkQ2FudmFzIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04Njg5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFj
a2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpzaG91bGRBY2NlbGVyYXRlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKwogMjAxMi0w
NS0yMiAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KIAogICAg
ICAgICBNb3ZlIHNvbWUgQ1NTIHJlZ2lvbnMgcHJvcGVydGllcyB0byBDU1NQYXJzZXI6OmlzVmFs
aWRLZXl3b3JkUHJvcGVydHlBbmRWYWx1ZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMTgwODQpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBA
QAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpbmNsdWRlICJQbGF0Zm9ybVN1
cHBvcnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00ODUsNyArNDg1LDcgQEAgYm9vbCBIVE1MQ2FudmFzRWxlbWVudDo6
c2hvdWxkQWNjZWxlcmF0ZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICNpZiBQTEFURk9STShD
SFJPTUlVTSkKLSAgICBpZiAoIVBsYXRmb3JtU3VwcG9ydDo6Y2FuQWNjZWxlcmF0ZTJkQ2FudmFz
KCkpCisgICAgaWYgKCFXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmNhbkFjY2VsZXJhdGUy
ZENhbnZhcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJKHJl
dmlzaW9uIDExODA4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRm
b3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzEsOCArMzcxLDYgQEAgcHVibGljOgog
CiAgICAgc3RhdGljIHZvaWQgZGlkU3RhcnRXb3JrZXJSdW5Mb29wKFdvcmtlclJ1bkxvb3AqKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRTdG9wV29ya2VyUnVuTG9vcChXb3JrZXJSdW5Mb29wKik7Ci0K
LSAgICBzdGF0aWMgYm9vbCBjYW5BY2NlbGVyYXRlMmRDYW52YXMoKTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAx
MTgwODQpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA1LTIyICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwgY2FuQWNjZWxlcmF0ZTJkQ2Fu
dmFzIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04Njg5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFja2luZyBidWcgODI5NDgu
CisKKyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0Lmg6Cisg
ICAgICAgIChXZWJLaXRQbGF0Zm9ybVN1cHBvcnQpOgorICAgICAgICAqIHNyYy9QbGF0Zm9ybVN1
cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMDUtMjIgIE1hcmsgUGlsZ3Jp
bSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBjb29r
aWVKYXIgdG8gUGxhdGZvcm0uaApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
cGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgJKHJl
dmlzaW9uIDExODA4NCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3Jt
L1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsMTUgKzEzMiw2
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV2ViU2hhcmVkV29ya2VyUmVwb3NpdG9yeSogc2hh
cmVkV29ya2VyUmVwb3NpdG9yeSgpIHsgcmV0dXJuIDA7IH0KIAotICAgIC8vIEdQVSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0KLSAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHBsYXRmb3JtIGlzIGNhcGFibGUgb2YgcHJv
ZHVjaW5nIGFuIG9mZnNjcmVlbiBjb250ZXh0IHN1aXRhYmxlIGZvciBhY2NlbGVyYXRpbmcgMmQg
Y2FudmFzLgotICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gZmFsc2UgaWYgdGhlIHBsYXRmb3JtIGNh
bm5vdCBwcm9taXNlIHRoYXQgY29udGV4dHMgd2lsbCBiZSBwcmVzZXJ2ZWQgYWNyb3NzIG9wZXJh
dGlvbnMgbGlrZQotICAgIC8vIGxvY2tpbmcgdGhlIHNjcmVlbiBvciBpZiB0aGUgcGxhdGZvcm0g
Y2Fubm90IHByb3ZpZGUgYSBjb250ZXh0IHdpdGggc3VpdGFibGUgcGVyZm9ybWFuY2UgY2hhcmFj
dGVyaXN0aWNzLgotICAgIC8vCi0gICAgLy8gVGhpcyB2YWx1ZSBtdXN0IGJlIGNoZWNrZWQgYWdh
aW4gYWZ0ZXIgYSBjb250ZXh0IGxvc3MgZXZlbnQgYXMgdGhlIHBsYXRmb3JtJ3MgY2FwYWJpbGl0
aWVzIG1heSBoYXZlIGNoYW5nZWQuCi0gICAgdmlydHVhbCBib29sIGNhbkFjY2VsZXJhdGUyZENh
bnZhcygpIHsgcmV0dXJuIGZhbHNlOyB9Ci0KIAogcHJvdGVjdGVkOgogICAgIH5XZWJLaXRQbGF0
Zm9ybVN1cHBvcnQoKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRm
b3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
UGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTE4MDg0KQorKysgU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTE2LDkg
KzkxNiw0IEBAIFdvcmtlckNvbnRleHRQcm94eSogV29ya2VyQ29udGV4dFByb3h5OjoKIH0KICNl
bmRpZgogCi1ib29sIFBsYXRmb3JtU3VwcG9ydDo6Y2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCkKLXsK
LSAgICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmNhbkFjY2VsZXJhdGUyZENhbnZh
cygpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>