<?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>34962</bug_id>
          
          <creation_ts>2010-02-15 15:03:07 -0800</creation_ts>
          <short_desc>Geolocation object requires a means to cancel a permission request</short_desc>
          <delta_ts>2010-03-30 04:01:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>35031</blocked>
    
    <blocked>35809</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bulach</cc>
    
    <cc>darin</cc>
    
    <cc>joth</cc>
    
    <cc>sfalken</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>190566</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-02-15 15:03:07 -0800</bug_when>
    <thetext>When a Geolocation object needs to obtain user permission to release the user&apos;s location to script, it makes a call to the chrome client. This call may be synchronous or asynchronous. If the request is asynchronous, but the Geolocation object later wishes to cancel it (such as when the Geolocation object is destroyed) there is no way for the chrome client to be notified.

We need to add a chrome client method to cancel an ongoing asynchronous Geolocation permission request. The chome client may wish, for example, to remove any UI currently being shown to the user to obtain permission.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190651</commentid>
    <comment_count>1</comment_count>
      <attachid>48800</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-02-16 03:08:38 -0800</bug_when>
    <thetext>Created attachment 48800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190721</commentid>
    <comment_count>2</comment_count>
      <attachid>48800</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-02-16 13:43:48 -0800</bug_when>
    <thetext>Comment on attachment 48800
Patch

&gt; +        No new tests, as this is for the purposes of browser UI only.

You&apos;re not hooking this up in WebKit, and doing the work only in WebCore.

That seems strange; maybe OK for Chromium, but not right for other platforms except the ones that aren&apos;t doing Geolocation at all.

I think this could be hooked up to testing machinery if you figured out what the WebKit API was for this on various platforms.

&gt;          // This can be either a synchronous or asynchronous call. The ChromeClient can display UI asking the user for permission
&gt; -        // to use Geolococation. The ChromeClient must call Geolocation::setShouldClearCache() appropriately.
&gt; +        // to use Geolococation.

I think we should use the traditional &quot;Geolocation&quot; rather than &quot;Geolococation&quot; ;-)

&gt;          virtual void requestGeolocationPermissionForFrame(Frame*, Geolocation*) = 0;
&gt; +        virtual void cancelGeolocationPermissionRequestForFrame(Frame*) { }

Making this an empty function rather than pure virtual makes it easier to keep all the platforms compiling, but hides the work needed for platforms that currently have requestGeolocationPermissionForFrame functions defined. Why did we make the function above this pure virtual but not this one?

I&apos;ll say r=me, but this seems like a partial change that is not good for the WebKit/mac and WebKit/win implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190961</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-02-17 03:30:02 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; You&apos;re not hooking this up in WebKit, and doing the work only in WebCore.
&gt;
&gt; That seems strange; maybe OK for Chromium, but not right for other platforms
&gt; except the ones that aren&apos;t doing Geolocation at all.
This patch was motivated by the needs of Android. WebKit/android isn&apos;t yet upstreamed, which is why there&apos;s no WebKit implementation.

&gt; I think we should use the traditional &quot;Geolocation&quot; rather than &quot;Geolococation&quot;
Will fix

&gt; Making this an empty function rather than pure virtual makes it easier to keep
&gt; all the platforms compiling, but hides the work needed for platforms that
&gt; currently have requestGeolocationPermissionForFrame functions defined. Why did
&gt; we make the function above this pure virtual but not this one?
All platforms supporting Geolocation will need to implement requestGeolocationPermissionForFrame. However, I can imagine a situation where a platform may not need to know when an individual Geolocation object is canceling a request - for example, if permissions UI is only cleared when the page is navigated away. That&apos;s why cancelGeolocationPermissionRequestForFrame was empty.

However, I&apos;ve just spoken to joth (cc&apos;ed) who&apos;s doing Chromium Geolocation and they&apos;re likely to use such a callback too. So I&apos;ll change to a pure virtual method in ChromeClient. Note that even for Chromium the implementation will currently be empty as Chromium Geolocation is not yet complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190963</commentid>
    <comment_count>4</comment_count>
      <attachid>48885</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-02-17 03:48:26 -0800</bug_when>
    <thetext>Created attachment 48885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190968</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Dixon">joth</who>
    <bug_when>2010-02-17 03:53:24 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; However, I&apos;ve just spoken to joth (cc&apos;ed) who&apos;s doing Chromium Geolocation and
&gt; they&apos;re likely to use such a callback too. So I&apos;ll change to a pure virtual
&gt; method in ChromeClient. Note that even for Chromium the implementation will
&gt; currently be empty as Chromium Geolocation is not yet complete.

Quick update on this: the chromium implementation is being committed as we
speak https://bugs.webkit.org/show_bug.cgi?id=32068) so there maybe a merge
conflict when you come to land this one, sorry about that.
Thanks for adding the placeholder method for us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190985</commentid>
    <comment_count>6</comment_count>
      <attachid>48890</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-02-17 04:21:02 -0800</bug_when>
    <thetext>Created attachment 48890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192699</commentid>
    <comment_count>7</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-02-22 16:52:09 -0800</bug_when>
    <thetext>Darin, do you want to take a look at my updated patch, or are you happy for me to submit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192854</commentid>
    <comment_count>8</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-02-23 02:36:19 -0800</bug_when>
    <thetext>Landed manually as http://trac.webkit.org/changeset/55136

Closing bug as resolved fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48800</attachid>
            <date>2010-02-16 03:08:38 -0800</date>
            <delta_ts>2010-02-17 03:48:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34962-20100216110836.patch</filename>
            <type>text/plain</type>
            <size>3867</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDgxNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTAtMDItMTYgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZHMgQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUg
YW5kIENocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZy
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk2
MgorCisgICAgICAgIFRoZXNlIG1ldGhvZHMgYXJlIHJlcXVpcmVkIHNvIHRoYXQgYSBHZW9sb2Nh
dGlvbiBvYmplY3QgY2FuIGNhbmNlbCBhbgorICAgICAgICBhc3luY2hyb25vdXMgcGVybWlzc2lv
biByZXF1ZXN0LiBUaGlzIGFsbG93cyB0aGUgY2hyb21lIGNsaWVudCB0byBjYW5jZWwKKyAgICAg
ICAgYW55IFVJIGl0IGlzIHNob3dpbmcgZm9yIHRoZSBwZXJtaXNzaW9uIHJlcXVlc3QuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBhcyB0aGlzIGlzIGZvciB0aGUgcHVycG9zZXMgb2YgYnJvd3Nl
ciBVSSBvbmx5LgorCisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOiBNb2RpZmllZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNocm9tZTo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZv
ckZyYW1lKTogQWRkZWQKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOiBNb2RpZmllZC4KKyAgICAg
ICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOiBNb2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKTog
QWRkZWQKKyAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uLmNwcDogTW9kaWZpZWQuCisgICAgICAg
IChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6ZGlzY29ubmVjdEZyYW1lKTogTW9kaWZpZWQuIENhbGwg
Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lCisKIDIwMTAtMDItMTYg
IFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAJKHJldmlzaW9uIDU0Nzk3KQorKysg
V2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxMCw2ICs0MTAsMTEg
QEAgdm9pZCBDaHJvbWU6OnJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3NpbwogICAgIG1fY2xpZW50
LT5yZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoZnJhbWUsIGdlb2xvY2F0aW9u
KTsKIH0KIAordm9pZCBDaHJvbWU6OmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RG
b3JGcmFtZShGcmFtZSogZnJhbWUpCit7CisgICAgbV9jbGllbnQtPmNhbmNlbEdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShmcmFtZSk7Cit9CisKIHZvaWQgQ2hyb21lOjpydW5P
cGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBmaWxlQ2hvb3Nl
cikKIHsKICAgICBtX2NsaWVudC0+cnVuT3BlblBhbmVsKGZyYW1lLCBmaWxlQ2hvb3Nlcik7Cklu
ZGV4OiBXZWJDb3JlL3BhZ2UvQ2hyb21lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0No
cm9tZS5oCShyZXZpc2lvbiA1NDc5NykKKysrIFdlYkNvcmUvcGFnZS9DaHJvbWUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI5LDYgKzEyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dm9pZCBwcmludChGcmFtZSopOwogCiAgICAgICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVy
bWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKTsKKyAgICAgICAgdm9pZCBjYW5j
ZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoRnJhbWUqKTsKIAogICAgICAg
ICB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKIApJ
bmRleDogV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gNTQ3OTcpCisrKyBXZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4MSw4ICsxODEsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludEN1c3RvbVNjcm9sbENvcm5lcihH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAogICAgICAgICAvLyBUaGlzIGNh
biBiZSBlaXRoZXIgYSBzeW5jaHJvbm91cyBvciBhc3luY2hyb25vdXMgY2FsbC4gVGhlIENocm9t
ZUNsaWVudCBjYW4gZGlzcGxheSBVSSBhc2tpbmcgdGhlIHVzZXIgZm9yIHBlcm1pc3Npb24KLSAg
ICAgICAgLy8gdG8gdXNlIEdlb2xvY29jYXRpb24uIFRoZSBDaHJvbWVDbGllbnQgbXVzdCBjYWxs
IEdlb2xvY2F0aW9uOjpzZXRTaG91bGRDbGVhckNhY2hlKCkgYXBwcm9wcmlhdGVseS4KKyAgICAg
ICAgLy8gdG8gdXNlIEdlb2xvY29jYXRpb24uCiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0
R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopID0gMDsK
KyAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RG
b3JGcmFtZShGcmFtZSopIHsgfQogICAgICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCBy
dW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgPSAwOwogCkluZGV4
OiBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFn
ZS9HZW9sb2NhdGlvbi5jcHAJKHJldmlzaW9uIDU0Nzk3KQorKysgV2ViQ29yZS9wYWdlL0dlb2xv
Y2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDggKzE5MiwxMiBAQCBHZW9sb2NhdGlv
bjo6fkdlb2xvY2F0aW9uKCkKIHZvaWQgR2VvbG9jYXRpb246OmRpc2Nvbm5lY3RGcmFtZSgpCiB7
CiAgICAgc3RvcFVwZGF0aW5nKCk7Ci0gICAgaWYgKG1fZnJhbWUgJiYgbV9mcmFtZS0+ZG9jdW1l
bnQoKSkKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2V0VXNpbmdHZW9sb2NhdGlvbihm
YWxzZSk7CisgICAgaWYgKG1fZnJhbWUpIHsKKyAgICAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50
KCkpCisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZXRVc2luZ0dlb2xvY2F0aW9u
KGZhbHNlKTsKKyAgICAgICAgaWYgKG1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgICAgIG1fZnJh
bWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RG
b3JGcmFtZShtX2ZyYW1lKTsKKyAgICB9CiAgICAgbV9mcmFtZSA9IDA7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48885</attachid>
            <date>2010-02-17 03:48:26 -0800</date>
            <delta_ts>2010-02-17 04:20:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34962-20100217114823.patch</filename>
            <type>text/plain</type>
            <size>14856</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDg4MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMDItMTcgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZHMgQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUg
YW5kIENocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZy
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk2
MgorCisgICAgICAgIFRoZXNlIG1ldGhvZHMgYXJlIHJlcXVpcmVkIHNvIHRoYXQgYSBHZW9sb2Nh
dGlvbiBvYmplY3QgY2FuIGNhbmNlbCBhbgorICAgICAgICBhc3luY2hyb25vdXMgcGVybWlzc2lv
biByZXF1ZXN0LiBUaGlzIGFsbG93cyB0aGUgY2hyb21lIGNsaWVudCB0byBjYW5jZWwKKyAgICAg
ICAgYW55IFVJIGl0IGlzIHNob3dpbmcgZm9yIHRoZSBwZXJtaXNzaW9uIHJlcXVlc3QuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBhcyB0aGlzIGlzIGZvciB0aGUgcHVycG9zZXMgb2YgYnJvd3Nl
ciBVSSBvbmx5LgorCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBNb2RpZmllZAor
ICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RGb3JGcmFtZSk6IEFkZGVkCisgICAgICAgICogcGFnZS9DaHJvbWUuY3Bw
OiBNb2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6Y2FuY2VsR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKTogQWRkZWQKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5o
OiBNb2RpZmllZC4KKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOiBNb2RpZmllZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdEZvckZyYW1lKTogQWRkZWQKKyAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uLmNwcDog
TW9kaWZpZWQuCisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6ZGlzY29ubmVjdEZyYW1l
KTogTW9kaWZpZWQuIENhbGwgY2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZy
YW1lCisKIDIwMTAtMDItMTcgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuaAkocmV2aXNpb24gNTQ4ODIpCisrKyBXZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAko
d29ya2luZyBjb3B5KQpAQCAtMTU5LDYgKzE1OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmLCBjb25zdCBTY3JvbGxWaWV3Kikg
Y29uc3Qge30KIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9u
Rm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopIHt9CisgICAgdmlydHVhbCB2b2lkIGNhbmNl
bEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShGcmFtZSopIHt9CiAKICNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFJvb3RH
cmFwaGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NMYXllciopIHt9OwpJbmRleDogV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAJKHJl
dmlzaW9uIDU0ODgyKQorKysgV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQxMCw2ICs0MTAsMTEgQEAgdm9pZCBDaHJvbWU6OnJlcXVlc3RHZW9sb2NhdGlvblBlcm1p
c3NpbwogICAgIG1fY2xpZW50LT5yZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUo
ZnJhbWUsIGdlb2xvY2F0aW9uKTsKIH0KIAordm9pZCBDaHJvbWU6OmNhbmNlbEdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShGcmFtZSogZnJhbWUpCit7CisgICAgbV9jbGllbnQt
PmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShmcmFtZSk7Cit9CisK
IHZvaWQgQ2hyb21lOjpydW5PcGVuUGFuZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVD
aG9vc2VyPiBmaWxlQ2hvb3NlcikKIHsKICAgICBtX2NsaWVudC0+cnVuT3BlblBhbmVsKGZyYW1l
LCBmaWxlQ2hvb3Nlcik7CkluZGV4OiBXZWJDb3JlL3BhZ2UvQ2hyb21lLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wYWdlL0Nocm9tZS5oCShyZXZpc2lvbiA1NDg4MikKKysrIFdlYkNvcmUvcGFn
ZS9DaHJvbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDYgKzEyOSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBwcmludChGcmFtZSopOwogCiAgICAgICAgIHZvaWQgcmVx
dWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKTsK
KyAgICAgICAgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUo
RnJhbWUqKTsKIAogICAgICAgICB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8
RmlsZUNob29zZXI+KTsKIApJbmRleDogV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gNTQ4ODIpCisr
KyBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4MSw4ICsx
ODEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludEN1
c3RvbVNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAog
ICAgICAgICAvLyBUaGlzIGNhbiBiZSBlaXRoZXIgYSBzeW5jaHJvbm91cyBvciBhc3luY2hyb25v
dXMgY2FsbC4gVGhlIENocm9tZUNsaWVudCBjYW4gZGlzcGxheSBVSSBhc2tpbmcgdGhlIHVzZXIg
Zm9yIHBlcm1pc3Npb24KLSAgICAgICAgLy8gdG8gdXNlIEdlb2xvY29jYXRpb24uIFRoZSBDaHJv
bWVDbGllbnQgbXVzdCBjYWxsIEdlb2xvY2F0aW9uOjpzZXRTaG91bGRDbGVhckNhY2hlKCkgYXBw
cm9wcmlhdGVseS4KKyAgICAgICAgLy8gdG8gdXNlIEdlb2xvY2F0aW9uLgogICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2Vv
bG9jYXRpb24qKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoRnJhbWUqKSA9IDA7CiAgICAgICAgICAgICAKICAgICAg
ICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29z
ZXI+KSA9IDA7CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uLmNwcAkocmV2aXNpb24gNTQ4ODIpCisrKyBX
ZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsOCArMTky
LDEyIEBAIEdlb2xvY2F0aW9uOjp+R2VvbG9jYXRpb24oKQogdm9pZCBHZW9sb2NhdGlvbjo6ZGlz
Y29ubmVjdEZyYW1lKCkKIHsKICAgICBzdG9wVXBkYXRpbmcoKTsKLSAgICBpZiAobV9mcmFtZSAm
JiBtX2ZyYW1lLT5kb2N1bWVudCgpKQotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZXRV
c2luZ0dlb2xvY2F0aW9uKGZhbHNlKTsKKyAgICBpZiAobV9mcmFtZSkgeworICAgICAgICBpZiAo
bV9mcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnNl
dFVzaW5nR2VvbG9jYXRpb24oZmFsc2UpOworICAgICAgICBpZiAobV9mcmFtZS0+cGFnZSgpICYm
IG1fYWxsb3dHZW9sb2NhdGlvbiA9PSBJblByb2dyZXNzKQorICAgICAgICAgICAgbV9mcmFtZS0+
cGFnZSgpLT5jaHJvbWUoKS0+Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZy
YW1lKG1fZnJhbWUpOworICAgIH0KICAgICBtX2ZyYW1lID0gMDsKIH0KIApJbmRleDogV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCShyZXZpc2lvbiA1NDg4MikKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMi0xNyAgU3RldmUgQmxvY2sgIDxzdGV2
ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkcyBDaHJvbWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RGb3JGcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzQ5NjIKKworICAgICAgICBUaGlzIG1ldGhvZCBpcyByZXF1aXJlZCBzbyB0aGF0
IGEgR2VvbG9jYXRpb24gb2JqZWN0IGNhbiBjYW5jZWwgYW4KKyAgICAgICAgYXN5bmNocm9ub3Vz
IHBlcm1pc3Npb24gcmVxdWVzdC4gVGhpcyBhbGxvd3MgdGhlIGNocm9tZSBjbGllbnQgdG8gY2Fu
Y2VsCisgICAgICAgIGFueSBVSSBpdCBpcyBzaG93aW5nIGZvciB0aGUgcGVybWlzc2lvbiByZXF1
ZXN0LgorCisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKFdlYktp
dDo6Q2hyb21lQ2xpZW50SW1wbDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZv
ckZyYW1lKToKKwogMjAxMC0wMi0xNiAgSmFtZXMgSGF3a2lucyAgPGpoYXdraW5zQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJv
bWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA1NDg4MikKKysrIFdlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiAr
MTIzLDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2Nh
dGlvblBlcm1pc3Npb25Gb3JGcmFtZSgKICAgICAgICAgV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3Jl
OjpHZW9sb2NhdGlvbiopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpG
aWxlQ2hvb3Nlcj4pOwogICAgIHZpcnR1YWwgYm9vbCBzZXRDdXJzb3IoV2ViQ29yZTo6UGxhdGZv
cm1DdXJzb3JIYW5kbGUpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGZvcm1T
dGF0ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpOb2RlKik7CkluZGV4OiBXZWJLaXQvZ3RrL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gNTQ4
ODIpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3
IEBACisyMDEwLTAyLTE3ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIENocm9t
ZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk2MgorCisgICAg
ICAgIFRoaXMgbWV0aG9kIGlzIHJlcXVpcmVkIHNvIHRoYXQgYSBHZW9sb2NhdGlvbiBvYmplY3Qg
Y2FuIGNhbmNlbCBhbgorICAgICAgICBhc3luY2hyb25vdXMgcGVybWlzc2lvbiByZXF1ZXN0LiBU
aGlzIGFsbG93cyB0aGUgY2hyb21lIGNsaWVudCB0byBjYW5jZWwKKyAgICAgICAgYW55IFVJIGl0
IGlzIHNob3dpbmcgZm9yIHRoZSBwZXJtaXNzaW9uIHJlcXVlc3QuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xp
ZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUpOgorCiAyMDEw
LTAyLTE3ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCkluZGV4OiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmgJKHJldmlzaW9uIDU0ODgyKQorKysgV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDYgKzEx
Niw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxS
ZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OlNjcm9s
bFZpZXcqKSBjb25zdCB7fQogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9u
UGVybWlzc2lvbkZvckZyYW1lKFdlYkNvcmU6OkZyYW1lKiwgV2ViQ29yZTo6R2VvbG9jYXRpb24q
KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopIHsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAg
V2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OwpJbmRleDogV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NDg4MikKKysr
IFdlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAor
MjAxMC0wMi0xNyAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBDaHJvbWVDbGll
bnQ6OmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ5NjIKKworICAgICAgICBU
aGlzIG1ldGhvZCBpcyByZXF1aXJlZCBzbyB0aGF0IGEgR2VvbG9jYXRpb24gb2JqZWN0IGNhbiBj
YW5jZWwgYW4KKyAgICAgICAgYXN5bmNocm9ub3VzIHBlcm1pc3Npb24gcmVxdWVzdC4gVGhpcyBh
bGxvd3MgdGhlIGNocm9tZSBjbGllbnQgdG8gY2FuY2VsCisgICAgICAgIGFueSBVSSBpdCBpcyBz
aG93aW5nIGZvciB0aGUgcGVybWlzc2lvbiByZXF1ZXN0LgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVu
dEhhaWt1OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUpOgorCiAy
MDA5LTEyLTA2ICBNYXhpbWUgU2ltb24gIDxzaW1vbi5tYXhpbWVAZ21haWwuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJLaXQvaGFpa3UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvaGFpa3UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAkocmV2aXNpb24gNTQ4ODIpCisrKyBXZWJL
aXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAkod29ya2luZyBjb3B5
KQpAQCAtMTMwLDggKzEzMCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAg
ICAgIC8vIFRoaXMgaXMgYW4gYXN5bmNocm9ub3VzIGNhbGwuIFRoZSBDaHJvbWVDbGllbnQgY2Fu
IGRpc3BsYXkgVUkgYXNraW5nIHRoZSB1c2VyIGZvciBwZXJtaXNzaW9uCi0gICAgICAgIC8vIHRv
IHVzZSBHZW9sb2NvY2F0aW9uLiBUaGUgQ2hyb21lQ2xpZW50IG11c3QgY2FsbCBHZW9sb2NhdGlv
bjo6c2V0U2hvdWxkQ2xlYXJDYWNoZSgpIGFwcHJvcHJpYXRlbHkuCisgICAgICAgIC8vIHRvIHVz
ZSBHZW9sb2NvY2F0aW9uLgogICAgICAgICB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Np
b25Gb3JGcmFtZShGcmFtZSosIEdlb2xvY2F0aW9uKik7CisgICAgICAgIHZvaWQgY2FuY2VsR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKEZyYW1lKikgeyB9CiAKICAgICAgICAg
dm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CiAKSW5k
ZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA1NDg4MikKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDItMTcgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9j
a0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZHMgQ2hyb21lQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0Rm9yRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM0OTYyCisKKyAgICAgICAgVGhpcyBtZXRob2QgaXMgcmVxdWlyZWQgc28gdGhhdCBhIEdl
b2xvY2F0aW9uIG9iamVjdCBjYW4gY2FuY2VsIGFuCisgICAgICAgIGFzeW5jaHJvbm91cyBwZXJt
aXNzaW9uIHJlcXVlc3QuIFRoaXMgYWxsb3dzIHRoZSBjaHJvbWUgY2xpZW50IHRvIGNhbmNlbAor
ICAgICAgICBhbnkgVUkgaXQgaXMgc2hvd2luZyBmb3IgdGhlIHBlcm1pc3Npb24gcmVxdWVzdC4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAo
V2ViQ2hyb21lQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJh
bWUpOgorCiAyMDEwLTAyLTE2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiA1NDg4MikKKysrIFdlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1OSw2
ICsxNTksNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2Vv
bG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHZW9s
b2NhdGlvbiopOworICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqKSB7IH0KIAogcHJpdmF0ZToKICAgICBXZWJW
aWV3ICptX3dlYlZpZXc7CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0ODgyKQorKysgV2ViS2l0L3F0L0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAyLTE3ICBTdGV2ZSBC
bG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIENocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk2MgorCisgICAgICAgIFRoaXMgbWV0aG9kIGlzIHJlcXVp
cmVkIHNvIHRoYXQgYSBHZW9sb2NhdGlvbiBvYmplY3QgY2FuIGNhbmNlbCBhbgorICAgICAgICBh
c3luY2hyb25vdXMgcGVybWlzc2lvbiByZXF1ZXN0LiBUaGlzIGFsbG93cyB0aGUgY2hyb21lIGNs
aWVudCB0byBjYW5jZWwKKyAgICAgICAgYW55IFVJIGl0IGlzIHNob3dpbmcgZm9yIHRoZSBwZXJt
aXNzaW9uIHJlcXVlc3QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OmNhbmNlbEdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZSk6CisKIDIwMTAtMDItMTYgIEFyaXlhIEhpZGF5YXQg
IDxhcml5YS5oaWRheWF0QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBI
YXVzbWFubi4KSW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5o
CShyZXZpc2lvbiA1NDg4MikKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJl
Y3QmLCBjb25zdCBTY3JvbGxWaWV3KikgY29uc3Qge30KIAogICAgICAgICB2aXJ0dWFsIHZvaWQg
cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24q
KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RGb3JGcmFtZShGcmFtZSopIHsgfQogCiAgICAgICAgIFF0QWJzdHJhY3RXZWJQb3B1cCogY3Jl
YXRlU2VsZWN0UG9wdXAoKTsKIApJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0ODgyKQorKysgV2ViS2l0L3dp
bi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMi0xNyAg
U3RldmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBDaHJvbWVDbGllbnQ6OmNhbmNlbEdl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ5NjIKKworICAgICAgICBUaGlzIG1ldGhvZCBp
cyByZXF1aXJlZCBzbyB0aGF0IGEgR2VvbG9jYXRpb24gb2JqZWN0IGNhbiBjYW5jZWwgYW4KKyAg
ICAgICAgYXN5bmNocm9ub3VzIHBlcm1pc3Npb24gcmVxdWVzdC4gVGhpcyBhbGxvd3MgdGhlIGNo
cm9tZSBjbGllbnQgdG8gY2FuY2VsCisgICAgICAgIGFueSBVSSBpdCBpcyBzaG93aW5nIGZvciB0
aGUgcGVybWlzc2lvbiByZXF1ZXN0LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZSk6CisKIDIwMTAtMDItMTYgIERhcmluIEFkbGVyICA8
ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4
OiBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9u
IDU0ODgyKQorKysgV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMTQ2LDYgKzE0Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJD
b3JlOjpTY3JvbGxWaWV3KikgY29uc3Qge30KIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2Vv
bG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHZW9s
b2NhdGlvbiopOworICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqKSB7IH0KIAogI2lmIEVOQUJMRShWSURFTykK
ICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuRm9yTm9kZShjb25zdCBXZWJDb3Jl
OjpOb2RlKik7CkluZGV4OiBXZWJLaXQvd3gvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC93eC9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0ODgyKQorKysgV2ViS2l0L3d4L0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAyLTE3ICBTdGV2ZSBCbG9jayAg
PHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRzIENocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJt
aXNzaW9uUmVxdWVzdEZvckZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNDk2MgorCisgICAgICAgIFRoaXMgbWV0aG9kIGlzIHJlcXVpcmVkIHNv
IHRoYXQgYSBHZW9sb2NhdGlvbiBvYmplY3QgY2FuIGNhbmNlbCBhbgorICAgICAgICBhc3luY2hy
b25vdXMgcGVybWlzc2lvbiByZXF1ZXN0LiBUaGlzIGFsbG93cyB0aGUgY2hyb21lIGNsaWVudCB0
byBjYW5jZWwKKyAgICAgICAgYW55IFVJIGl0IGlzIHNob3dpbmcgZm9yIHRoZSBwZXJtaXNzaW9u
IHJlcXVlc3QuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdEZvckZyYW1lKToKKwogMjAxMC0wMi0wNCAgS2V2aW4gT2xsaXZpZXIgIDxrZXZp
bm9AdGhlb2xsaXZpZXJzLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggYWZ0ZXIgY2hhbmdlcyBp
biByNTQzNDUuCkluZGV4OiBXZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgJ
KHJldmlzaW9uIDU0ODgyKQorKysgV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50
V3guaAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYgKzEzNSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmLCBjb25zdCBTY3JvbGxW
aWV3KikgY29uc3Qge30KIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJt
aXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopOworICAgIHZpcnR1YWwgdm9pZCBj
YW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoRnJhbWUqKSB7IH0KIAog
cHJpdmF0ZToKICAgICB3eFdlYlZpZXcqIG1fd2ViVmlldzsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48890</attachid>
            <date>2010-02-17 04:21:02 -0800</date>
            <delta_ts>2010-02-23 02:36:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34962-20100217122059.patch</filename>
            <type>text/plain</type>
            <size>14918</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDg4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTAtMDItMTcgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZHMgQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUg
YW5kIENocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZy
YW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk2
MgorCisgICAgICAgIFRoZXNlIG1ldGhvZHMgYXJlIHJlcXVpcmVkIHNvIHRoYXQgYSBHZW9sb2Nh
dGlvbiBvYmplY3QgY2FuIGNhbmNlbCBhbgorICAgICAgICBhc3luY2hyb25vdXMgcGVybWlzc2lv
biByZXF1ZXN0LiBUaGlzIGFsbG93cyB0aGUgY2hyb21lIGNsaWVudCB0byBjYW5jZWwKKyAgICAg
ICAgYW55IFVJIGl0IGlzIHNob3dpbmcgZm9yIHRoZSBwZXJtaXNzaW9uIHJlcXVlc3QuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBhcyB0aGlzIGlzIGZvciB0aGUgcHVycG9zZXMgb2YgYnJvd3Nl
ciBVSSBvbmx5LgorCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBNb2RpZmllZAor
ICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RGb3JGcmFtZSk6IEFkZGVkCisgICAgICAgICogcGFnZS9DaHJvbWUuY3Bw
OiBNb2RpZmllZC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6Y2FuY2VsR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKTogQWRkZWQKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5o
OiBNb2RpZmllZC4KKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOiBNb2RpZmllZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdEZvckZyYW1lKTogQWRkZWQKKyAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uLmNwcDog
TW9kaWZpZWQuCisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6ZGlzY29ubmVjdEZyYW1l
KTogTW9kaWZpZWQuIENhbGwgY2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZy
YW1lCisKIDIwMTAtMDItMTcgIE1hcmN1cyBCdWxhY2ggIDxidWxhY2hAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4KSW5kZXg6IFdlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCShyZXZpc2lvbiA1NDg4MykKKysrIFdlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTksNiArMTU5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYsIGNvbnN0IFNjcm9sbFZpZXcqKSBj
b25zdCB7fQogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25G
b3JGcmFtZShGcmFtZSosIEdlb2xvY2F0aW9uKikge30KKyAgICB2aXJ0dWFsIHZvaWQgY2FuY2Vs
R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKEZyYW1lKikge30KIAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdy
YXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKikge307CkluZGV4OiBXZWJDb3JlL3Bh
Z2UvQ2hyb21lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAkocmV2
aXNpb24gNTQ4ODMpCisrKyBXZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDEwLDYgKzQxMCwxMSBAQCB2b2lkIENocm9tZTo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlz
c2lvCiAgICAgbV9jbGllbnQtPnJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShm
cmFtZSwgZ2VvbG9jYXRpb24pOwogfQogCit2b2lkIENocm9tZTo6Y2FuY2VsR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKEZyYW1lKiBmcmFtZSkKK3sKKyAgICBtX2NsaWVudC0+
Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKGZyYW1lKTsKK30KKwog
dm9pZCBDaHJvbWU6OnJ1bk9wZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8RmlsZUNo
b29zZXI+IGZpbGVDaG9vc2VyKQogewogICAgIG1fY2xpZW50LT5ydW5PcGVuUGFuZWwoZnJhbWUs
IGZpbGVDaG9vc2VyKTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9DaHJvbWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BhZ2UvQ2hyb21lLmgJKHJldmlzaW9uIDU0ODgzKQorKysgV2ViQ29yZS9wYWdl
L0Nocm9tZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNiArMTI5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2b2lkIHByaW50KEZyYW1lKik7CiAKICAgICAgICAgdm9pZCByZXF1
ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopOwor
ICAgICAgICB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShG
cmFtZSopOwogCiAgICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4pOwogCkluZGV4OiBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCShyZXZpc2lvbiA1NDg4MykKKysr
IFdlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTgxLDggKzE4
MSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIHBhaW50Q3Vz
dG9tU2Nyb2xsQ29ybmVyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwogCiAg
ICAgICAgIC8vIFRoaXMgY2FuIGJlIGVpdGhlciBhIHN5bmNocm9ub3VzIG9yIGFzeW5jaHJvbm91
cyBjYWxsLiBUaGUgQ2hyb21lQ2xpZW50IGNhbiBkaXNwbGF5IFVJIGFza2luZyB0aGUgdXNlciBm
b3IgcGVybWlzc2lvbgotICAgICAgICAvLyB0byB1c2UgR2VvbG9jb2NhdGlvbi4gVGhlIENocm9t
ZUNsaWVudCBtdXN0IGNhbGwgR2VvbG9jYXRpb246OnNldFNob3VsZENsZWFyQ2FjaGUoKSBhcHBy
b3ByaWF0ZWx5LgorICAgICAgICAvLyB0byB1c2UgR2VvbG9jYXRpb24uCiAgICAgICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9s
b2NhdGlvbiopID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RGb3JGcmFtZShGcmFtZSopID0gMDsKICAgICAgICAgICAgIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nl
cj4pID0gMDsKIApJbmRleDogV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uY3BwCShyZXZpc2lvbiA1NDg4MykKKysrIFdl
YkNvcmUvcGFnZS9HZW9sb2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Miw4ICsxOTIs
MTIgQEAgR2VvbG9jYXRpb246On5HZW9sb2NhdGlvbigpCiB2b2lkIEdlb2xvY2F0aW9uOjpkaXNj
b25uZWN0RnJhbWUoKQogewogICAgIHN0b3BVcGRhdGluZygpOwotICAgIGlmIChtX2ZyYW1lICYm
IG1fZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnNldFVz
aW5nR2VvbG9jYXRpb24oZmFsc2UpOworICAgIGlmIChtX2ZyYW1lKSB7CisgICAgICAgIGlmICht
X2ZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2V0
VXNpbmdHZW9sb2NhdGlvbihmYWxzZSk7CisgICAgICAgIGlmIChtX2ZyYW1lLT5wYWdlKCkgJiYg
bV9hbGxvd0dlb2xvY2F0aW9uID09IEluUHJvZ3Jlc3MpCisgICAgICAgICAgICBtX2ZyYW1lLT5w
YWdlKCktPmNocm9tZSgpLT5jYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJh
bWUobV9mcmFtZSk7CisgICAgfQogICAgIG1fZnJhbWUgPSAwOwogfQogCkluZGV4OiBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDU0ODgzKQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAyLTE3ICBTdGV2ZSBCbG9jayAgPHN0ZXZl
YmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGRzIENocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdEZvckZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNDk2MgorCisgICAgICAgIFRoaXMgbWV0aG9kIGlzIHJlcXVpcmVkIHNvIHRoYXQg
YSBHZW9sb2NhdGlvbiBvYmplY3QgY2FuIGNhbmNlbCBhbgorICAgICAgICBhc3luY2hyb25vdXMg
cGVybWlzc2lvbiByZXF1ZXN0LiBUaGlzIGFsbG93cyB0aGUgY2hyb21lIGNsaWVudCB0byBjYW5j
ZWwKKyAgICAgICAgYW55IFVJIGl0IGlzIHNob3dpbmcgZm9yIHRoZSBwZXJtaXNzaW9uIHJlcXVl
c3QuCisKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoV2ViS2l0
OjpDaHJvbWVDbGllbnRJbXBsOjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9y
RnJhbWUpOgorCiAyMDEwLTAyLTE2ICBKYW1lcyBIYXdraW5zICA8amhhd2tpbnNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViS2l0L2No
cm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJKHJldmlzaW9uIDU0ODgzKQorKysgV2ViS2l0L2No
cm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMiw2ICsx
MjIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50
ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0OwogI2VuZGlmCiAgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShXZWJDb3JlOjpGcmFtZSos
IFdlYkNvcmU6Okdlb2xvY2F0aW9uKik7CisgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNv
cmU6OkZpbGVDaG9vc2VyPik7CiAgICAgdmlydHVhbCBib29sIHNldEN1cnNvcihXZWJDb3JlOjpQ
bGF0Zm9ybUN1cnNvckhhbmRsZSkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQg
Zm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6Ok5vZGUqKTsKSW5kZXg6IFdlYktpdC9n
dGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lv
biA1NDg4MykKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTAtMDItMTcgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMg
Q2hyb21lQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0OTYyCisK
KyAgICAgICAgVGhpcyBtZXRob2QgaXMgcmVxdWlyZWQgc28gdGhhdCBhIEdlb2xvY2F0aW9uIG9i
amVjdCBjYW4gY2FuY2VsIGFuCisgICAgICAgIGFzeW5jaHJvbm91cyBwZXJtaXNzaW9uIHJlcXVl
c3QuIFRoaXMgYWxsb3dzIHRoZSBjaHJvbWUgY2xpZW50IHRvIGNhbmNlbAorICAgICAgICBhbnkg
VUkgaXQgaXMgc2hvd2luZyBmb3IgdGhlIHBlcm1pc3Npb24gcmVxdWVzdC4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oOgorICAgICAgICAoV2ViS2l0OjpDaHJv
bWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZSk6CisK
IDIwMTAtMDItMTcgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KSW5kZXg6IFdlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkocmV2aXNpb24gNTQ4ODMpCisrKyBXZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYs
NiArMTE2LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHNj
cm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6
U2Nyb2xsVmlldyopIGNvbnN0IHt9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0R2VvbG9j
YXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHZW9sb2Nh
dGlvbiopOworICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdEZvckZyYW1lKFdlYkNvcmU6OkZyYW1lKikgeyB9CiAKICAgICBwcml2YXRlOgogICAg
ICAgICBXZWJLaXRXZWJWaWV3KiBtX3dlYlZpZXc7CkluZGV4OiBXZWJLaXQvaGFpa3UvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0ODgz
KQorKysgV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3
IEBACisyMDEwLTAyLTE3ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIENocm9t
ZUNsaWVudDo6Y2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk2MgorCisgICAg
ICAgIFRoaXMgbWV0aG9kIGlzIHJlcXVpcmVkIHNvIHRoYXQgYSBHZW9sb2NhdGlvbiBvYmplY3Qg
Y2FuIGNhbmNlbCBhbgorICAgICAgICBhc3luY2hyb25vdXMgcGVybWlzc2lvbiByZXF1ZXN0LiBU
aGlzIGFsbG93cyB0aGUgY2hyb21lIGNsaWVudCB0byBjYW5jZWwKKyAgICAgICAgYW55IFVJIGl0
IGlzIHNob3dpbmcgZm9yIHRoZSBwZXJtaXNzaW9uIHJlcXVlc3QuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21l
Q2xpZW50SGFpa3U6OmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZSk6
CisKIDIwMDktMTItMDYgIE1heGltZSBTaW1vbiAgPHNpbW9uLm1heGltZUBnbWFpbC5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdC9oYWlrdS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9oYWlr
dS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCShyZXZpc2lvbiA1NDg4MykKKysr
IFdlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzAsOCArMTMwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAK
ICAgICAgICAgLy8gVGhpcyBpcyBhbiBhc3luY2hyb25vdXMgY2FsbC4gVGhlIENocm9tZUNsaWVu
dCBjYW4gZGlzcGxheSBVSSBhc2tpbmcgdGhlIHVzZXIgZm9yIHBlcm1pc3Npb24KLSAgICAgICAg
Ly8gdG8gdXNlIEdlb2xvY29jYXRpb24uIFRoZSBDaHJvbWVDbGllbnQgbXVzdCBjYWxsIEdlb2xv
Y2F0aW9uOjpzZXRTaG91bGRDbGVhckNhY2hlKCkgYXBwcm9wcmlhdGVseS4KKyAgICAgICAgLy8g
dG8gdXNlIEdlb2xvY29jYXRpb24uCiAgICAgICAgIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVy
bWlzc2lvbkZvckZyYW1lKEZyYW1lKiwgR2VvbG9jYXRpb24qKTsKKyAgICAgICAgdm9pZCBjYW5j
ZWxHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUoRnJhbWUqKSB7IH0KIAogICAg
ICAgICB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsK
IApJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU0ODgzKQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMi0xNyAgU3RldmUgQmxvY2sgIDxzdGV2
ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkcyBDaHJvbWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RGb3JGcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzQ5NjIKKworICAgICAgICBUaGlzIG1ldGhvZCBpcyByZXF1aXJlZCBzbyB0aGF0
IGEgR2VvbG9jYXRpb24gb2JqZWN0IGNhbiBjYW5jZWwgYW4KKyAgICAgICAgYXN5bmNocm9ub3Vz
IHBlcm1pc3Npb24gcmVxdWVzdC4gVGhpcyBhbGxvd3MgdGhlIGNocm9tZSBjbGllbnQgdG8gY2Fu
Y2VsCisgICAgICAgIGFueSBVSSBpdCBpcyBzaG93aW5nIGZvciB0aGUgcGVybWlzc2lvbiByZXF1
ZXN0LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJDaHJvbWVDbGllbnQ6OmNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RG
b3JGcmFtZSk6CisKIDIwMTAtMDItMTYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBXZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDU0ODgzKQorKysgV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MTU5LDYgKzE1OSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVl
c3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6
Okdlb2xvY2F0aW9uKik7CisgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopIHsgfQogCiBwcml2YXRlOgogICAg
IFdlYlZpZXcgKm1fd2ViVmlldzsKSW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNpb24gNTQ4ODMpCisrKyBXZWJLaXQvcXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDItMTcgIFN0
ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgQ2hyb21lQ2xpZW50OjpjYW5jZWxHZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0OTYyCisKKyAgICAgICAgVGhpcyBtZXRob2QgaXMg
cmVxdWlyZWQgc28gdGhhdCBhIEdlb2xvY2F0aW9uIG9iamVjdCBjYW4gY2FuY2VsIGFuCisgICAg
ICAgIGFzeW5jaHJvbm91cyBwZXJtaXNzaW9uIHJlcXVlc3QuIFRoaXMgYWxsb3dzIHRoZSBjaHJv
bWUgY2xpZW50IHRvIGNhbmNlbAorICAgICAgICBhbnkgVUkgaXQgaXMgc2hvd2luZyBmb3IgdGhl
IHBlcm1pc3Npb24gcmVxdWVzdC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6Y2FuY2VsR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKToKKwogMjAxMC0wMi0xNiAgQXJpeWEgSGlk
YXlhdCAgPGFyaXlhLmhpZGF5YXRAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNp
bW9uIEhhdXNtYW5uLgpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dFF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dFF0LmgJKHJldmlzaW9uIDU0ODgzKQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3Qg
SW50UmVjdCYsIGNvbnN0IFNjcm9sbFZpZXcqKSBjb25zdCB7fQogCiAgICAgICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2Nh
dGlvbiopOworICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsR2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdEZvckZyYW1lKEZyYW1lKikgeyB9CiAKICAgICAgICAgUXRBYnN0cmFjdFdlYlBvcHVw
KiBjcmVhdGVTZWxlY3RQb3B1cCgpOwogCkluZGV4OiBXZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gNTQ4ODMpCisrKyBXZWJL
aXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAy
LTE3ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIENocm9tZUNsaWVudDo6Y2Fu
Y2VsR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk2MgorCisgICAgICAgIFRoaXMgbWV0
aG9kIGlzIHJlcXVpcmVkIHNvIHRoYXQgYSBHZW9sb2NhdGlvbiBvYmplY3QgY2FuIGNhbmNlbCBh
bgorICAgICAgICBhc3luY2hyb25vdXMgcGVybWlzc2lvbiByZXF1ZXN0LiBUaGlzIGFsbG93cyB0
aGUgY2hyb21lIGNsaWVudCB0byBjYW5jZWwKKyAgICAgICAgYW55IFVJIGl0IGlzIHNob3dpbmcg
Zm9yIHRoZSBwZXJtaXNzaW9uIHJlcXVlc3QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6Y2FuY2VsR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKToKKwogMjAxMC0wMi0xNiAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
SW5kZXg6IFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2
aXNpb24gNTQ4ODMpCisrKyBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNiArMTQ2LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0
IFdlYkNvcmU6OlNjcm9sbFZpZXcqKSBjb25zdCB7fQogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVl
c3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZShXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6
Okdlb2xvY2F0aW9uKik7CisgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopIHsgfQogCiAjaWYgRU5BQkxFKFZJ
REVPKQogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW5Gb3JOb2RlKGNvbnN0IFdl
YkNvcmU6Ok5vZGUqKTsKSW5kZXg6IFdlYktpdC93eC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L3d4L0NoYW5nZUxvZwkocmV2aXNpb24gNTQ4ODMpCisrKyBXZWJLaXQvd3gvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDItMTcgIFN0ZXZlIEJs
b2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgQ2hyb21lQ2xpZW50OjpjYW5jZWxHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM0OTYyCisKKyAgICAgICAgVGhpcyBtZXRob2QgaXMgcmVxdWly
ZWQgc28gdGhhdCBhIEdlb2xvY2F0aW9uIG9iamVjdCBjYW4gY2FuY2VsIGFuCisgICAgICAgIGFz
eW5jaHJvbm91cyBwZXJtaXNzaW9uIHJlcXVlc3QuIFRoaXMgYWxsb3dzIHRoZSBjaHJvbWUgY2xp
ZW50IHRvIGNhbmNlbAorICAgICAgICBhbnkgVUkgaXQgaXMgc2hvd2luZyBmb3IgdGhlIHBlcm1p
c3Npb24gcmVxdWVzdC4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFd4OjpjYW5jZWxHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0Rm9yRnJhbWUpOgorCiAyMDEwLTAyLTA0ICBLZXZpbiBPbGxpdmllciAg
PGtldmlub0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCBhZnRlciBjaGFu
Z2VzIGluIHI1NDM0NS4KSW5kZXg6IFdlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50
V3guaAkocmV2aXNpb24gNTQ4ODMpCisrKyBXZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNiArMTM1LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYsIGNvbnN0IFNj
cm9sbFZpZXcqKSBjb25zdCB7fQogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RHZW9sb2NhdGlv
blBlcm1pc3Npb25Gb3JGcmFtZShGcmFtZSosIEdlb2xvY2F0aW9uKik7CisgICAgdmlydHVhbCB2
b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RGb3JGcmFtZShGcmFtZSopIHsg
fQogCiBwcml2YXRlOgogICAgIHd4V2ViVmlldyogbV93ZWJWaWV3Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>