<?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>132560</bug_id>
          
          <creation_ts>2014-05-05 02:06:09 -0700</creation_ts>
          <short_desc>Use a layer delegate instead of web_disableAllActions wherever possible</short_desc>
          <delta_ts>2014-05-05 11:30:50 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1006581</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-05-05 02:06:09 -0700</bug_when>
    <thetext>It turns out web_disableAllActions is surprisingly expensive.

&lt;rdar://problem/16459284&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006586</commentid>
    <comment_count>1</comment_count>
      <attachid>230815</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-05-05 02:56:50 -0700</bug_when>
    <thetext>Created attachment 230815
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006588</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-05 02:58:38 -0700</bug_when>
    <thetext>Attachment 230815 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/cocoa/WebCoreCALayerExtras.mm:35:  Missing space before {  [whitespace/braces] [5]
ERROR: Source/WebCore/platform/graphics/cocoa/WebCoreCALayerExtras.mm:36:  Missing space before {  [whitespace/braces] [5]
Total errors found: 2 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>1006629</commentid>
    <comment_count>3</comment_count>
      <attachid>230815</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-05 08:05:56 -0700</bug_when>
    <thetext>Comment on attachment 230815
patch

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

&gt; Source/WebCore/platform/graphics/cocoa/WebCALayerController.h:29
&gt; +@interface WebCALayerController : NSObject

I don&apos;t like the name; this class isn&apos;t a controller for layers. Maybe WebDefaultCALayerDelegate or something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006676</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-05-05 11:30:50 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/168301</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230815</attachid>
            <date>2014-05-05 02:56:50 -0700</date>
            <delta_ts>2014-05-05 08:05:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>actions.diff</filename>
            <type>text/plain</type>
            <size>36183</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlZGVmZjNjLi40MDlhODg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTQtMDUtMDUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgVXNlIGEgbGF5ZXIgZGVsZWdhdGUgaW5zdGVhZCBvZiB3ZWJfZGlzYWJsZUFsbEFj
dGlvbnMgd2hlcmV2ZXIgcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzMjU2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY0NTkyODQ+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJD
b3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5t
bToKKyAgICAgICAgKFBsYXRmb3JtQ0FMYXllck1hYzo6Y29tbW9uSW5pdCk6CisgICAgICAgIElm
IHdlIG93biB0aGUgcGxhdGZvcm0gbGF5ZXIsIHNldCBpdHMgZGVsZWdhdGUgdG8gdGhlIGFjdGlv
bi1kaXNhYmxpbmcgV2ViQ0FMYXllckNvbnRyb2xsZXIuCisgICAgICAgIElmIHdlIGRvbid0LCBp
dHMgYWN0dWFsIG93bmVyIG1pZ2h0IHdhbnQgdG8gY29udHJvbCB0aGUgZGVsZWdhdGUsIHNvIGNv
bnRpbnVlIHVzaW5nIHdlYl9kaXNhYmxlQWxsQWN0aW9ucy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkNBTGF5ZXJDb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNBTGF5ZXJDb250cm9sbGVyLm1tOiBBZGRlZC4K
KyAgICAgICAgKCtbV2ViQ0FMYXllckNvbnRyb2xsZXIgc2hhcmVkXSk6CisgICAgICAgICgtW1dl
YkNBTGF5ZXJDb250cm9sbGVyIGFjdGlvbkZvckxheWVyOmZvcktleTpdKToKKyAgICAgICAgQWRk
IGEgY2xhc3MgdGhhdCBjYW4gYWN0IGFzIHRoZSBkZWxlZ2F0ZSBvZiBhIENBTGF5ZXIsIGFuZCBk
aXNhYmxlcyBhbGwgYWN0aW9ucy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkNvcmVDQUxheWVyRXh0cmFzLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlQ0FMYXllckV4dHJhcy5tbTogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJDb3JlQ0FMYXllckV4dHJh
cy5tbS4KKyAgICAgICAgKC1bQ0FMYXllciB3ZWJfZGlzYWJsZUFsbEFjdGlvbnNdKToKKyAgICAg
ICAgTW92ZSBXZWJDb3JlQ0FMYXllckV4dHJhcyBmcm9tIG1hYy8gdG8gY29jb2EvLgorCiAyMDE0
LTA1LTA0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBPcHRp
bWl6ZSBKU1JvcGVTdHJpbmcgZm9yIHJlc29sdmluZyBkaXJlY3RseSB0byBBdG9taWNTdHJpbmcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDgzNjU3ZjQuLjRlZDkyODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCkBAIC0zNSw2ICszNSw3IEBACiAub2JqY19jbGFzc19uYW1lX0RPTVRleHRFdmVudAog
Lm9iamNfY2xhc3NfbmFtZV9ET01VSUV2ZW50CiAub2JqY19jbGFzc19uYW1lX0RPTVdoZWVsRXZl
bnQKKy5vYmpjX2NsYXNzX25hbWVfV2ViQ0FMYXllckNvbnRyb2xsZXIKIC5vYmpjX2NsYXNzX25h
bWVfV2ViU2NyaXB0T2JqZWN0CiAub2JqY19jbGFzc19uYW1lX1dlYlNjcmlwdE9iamVjdFByaXZh
dGUKIC5vYmpjX2NsYXNzX25hbWVfV2ViVW5kZWZpbmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmQzNTA0MC4uNzc0OTAyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTA1OSw2ICsxMDU5LDEwIEBACiAJCTJEMjUzOTYyMThDRTdGNjIwMDI3MDIyMiAvKiBJ
bWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDI1Mzk2MDE4Q0U3RjYyMDAyNzAyMjIgLyogSW1hZ2VD
b250cm9sc0J1dHRvbkVsZW1lbnRNYWMuY3BwICovOyB9OwogCQkyRDI1Mzk2MzE4Q0U3RjYyMDAy
NzAyMjIgLyogSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMjUzOTYxMThDRTdGNjIwMDI3MDIyMiAv
KiBJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYy5oICovOyB9OwogCQkyRDNBMEUzNjEzQTdE
NzYxMDBFODVBRjAgLyogU1ZHUGFyc2luZ0Vycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDNBMEUzNTEzQTdENzYxMDBFODVBRjAgLyogU1ZHUGFy
c2luZ0Vycm9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMkQzRUY0NDgxOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNBTGF5ZXJDb250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDNFRjQ0NDE5
MTc5MTVDMDAwMzQxODQgLyogV2ViQ0FMYXllckNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyRDNFRjQ0OTE5MTc5MTVDMDAwMzQx
ODQgLyogV2ViQ0FMYXllckNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDNFRjQ0NTE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ0FMYXll
ckNvbnRyb2xsZXIubW0gKi87IH07CisJCTJEM0VGNDRBMTkxNzkxNUMwMDAzNDE4NCAvKiBXZWJD
b3JlQ0FMYXllckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQzRUY0NDYxOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQz
RUY0NEIxOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQzRUY0NDcxOTE3OTE1QzAw
MDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tICovOyB9OwogCQkyRDQ2RjA0RTE3Qjk2
RkJEMDA1NjQ3RjAgLyogSW50UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ0NkYwNEQxN0I5NkZCRDAwNTY0N0YwIC8qIEludFBvaW50LmNw
cCAqLzsgfTsKIAkJMkQ0NkYwNTAxN0I5NkZEMjAwNTY0N0YwIC8qIEludFNpemUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ0NkYwNEYxN0I5NkZE
MjAwNTY0N0YwIC8qIEludFNpemUuY3BwICovOyB9OwogCQkyRDQ4MUYwMDE0NkI1QzRDMDBBQTc4
MzQgLyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQyRkMwNTQxNDYwQ0Q2RjAwMjYzNjMzIC8qIENyb3Nz
ZmFkZUdlbmVyYXRlZEltYWdlLmNwcCAqLzsgfTsKQEAgLTEwODQsOCArMTA4OCw2IEBACiAJCTJE
OUEyNDc1MTVCOUMyRTMwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeUludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlBMjQ3MTE1
QjlDMjk1MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5hbC5oICovOyB9Owog
CQkyRDlBMjQ3NjE1QjlDMkY0MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3kuaCBpbiBD
b3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEOUEyNDcwMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeS5oICovOyB9
OwogCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgaW4gUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUYwRTEyMTRGRjFDQkYw
MEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLzsgfTsKLQkJMkRCQURFMEIxODhFNTkxNTAwNEQ3
OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyREJBREUwOTE4OEU1OTE1MDA0RDc5ODEgLyogV2ViQ29yZUNB
TGF5ZXJFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQkyREJBREUwQzE4OEU1OTE1MDA0RDc5ODEgLyogV2ViQ29yZUNBTGF5ZXJFeHRyYXMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREJBREUw
QTE4OEU1OTE1MDA0RDc5ODEgLyogV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW0gKi87IH07CiAJCTJF
MDg4OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2
NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1
IC8qIEpTRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi87
IH07CiAJCTJFMDg4OEU2MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEU1
MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCAqLzsgfTsKQEAgLTc5
NzMsNiArNzk3NSwxMCBAQAogCQkyRDJGQzA1NjE0NjBDRDZGMDAyNjM2MzMgLyogR3JhZGllbnRJ
bWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHcmFkaWVudElt
YWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQyRkMwNTcxNDYwQ0Q2RjAw
MjYzNjMzIC8qIEdyYWRpZW50SW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gR3JhZGllbnRJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDNBMEUz
NTEzQTdENzYxMDBFODVBRjAgLyogU1ZHUGFyc2luZ0Vycm9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNWR1BhcnNpbmdFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRDNFRjQ0NDE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ0FMYXllckNvbnRyb2xsZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ0FMYXllckNvbnRyb2xsZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQzRUY0NDUxOTE3OTE1QzAwMDM0MTg0
IC8qIFdlYkNBTGF5ZXJDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViQ0FMYXllckNvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJEM0VGNDQ2MTkxNzkxNUMwMDAzNDE4NCAvKiBXZWJDb3JlQ0FMYXllckV4dHJh
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlQ0FMYXllckV4dHJh
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDNFRjQ0NzE5MTc5MTVDMDAwMzQx
ODQgLyogV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQ0NkYwNEQxN0I5NkZCRDAwNTY0N0YwIC8qIEludFBvaW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludFBvaW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ0NkYwNEYxN0I5NkZEMjAwNTY0N0YwIC8qIEludFNpemUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW50U2l6ZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENUJDNDI1MTZGODgyQkUwMDcwNDhEMCAvKiBT
ZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTc5OTMsOCArNzk5OSw2IEBACiAJCTJEOUEyNDcxMTVCOUMyOTUwMEQzNDUy
NyAvKiBET01ET01TZWN1cml0eVBvbGljeUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTURPTVNlY3VyaXR5UG9saWN5SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5QTI0NzIxNUI5QzJDNzAwRDM0NTI3IC8qIERPTURPTVNlY3Vy
aXR5UG9saWN5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9N
RE9NU2VjdXJpdHlQb2xpY3kubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOUYw
RTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBsaW5lYXJTUkdCLmlj
Yzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMkRCQURFMDkxODhFNTkxNTAwNEQ3OTgx
IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTJEQkFERTBBMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVDQUxheWVyRXh0cmFz
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQy
NjUgLyogRE9NRm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRh
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0
MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNET01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJF
MDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTIwMDQzLDggKzIwMDQ3LDYgQEAKIAkJCQkyRDZFNDY4MjE3RDY2MEY1MDBFQ0Y4
QkIgLyogUERGRG9jdW1lbnRJbWFnZU1hYy5tbSAqLywKIAkJCQkxNjNFODhGNTExOEEzOUQyMDBF
RDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgKi8sCiAJCQkJQjJBRkZDNzcwRDAw
QTVDMTAwMzAwNzREIC8qIFNpbXBsZUZvbnREYXRhTWFjLm1tICovLAotCQkJCTJEQkFERTA5MTg4
RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5oICovLAotCQkJCTJEQkFERTBB
MTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbSAqLywKIAkJCQk0OUZG
QkYzRDExQzkzRUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5oICovLAogCQkJCTQ5RkZCRjNFMTFD
OTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLm1tICovLAogCQkJCTBGQ0YzMzJCMEYyQjlBMjUw
MDRCNjc5NSAvKiBXZWJMYXllci5oICovLApAQCAtMjAzNzYsNiArMjAzNzgsMTAgQEAKIAkJCQkx
QzIxRTU3QjE4M0VEMUZGMDAxQzI4OUQgLyogSU9TdXJmYWNlUG9vbC5oICovLAogCQkJCUFEOUZG
NkUwMTkwODM5MUQwMDNCNjFFMCAvKiBJT1N1cmZhY2VQb29sQ29jb2EubW0gKi8sCiAJCQkJQjUz
MjBENkExMjJBMjRFOTAwMkQxNDQwIC8qIEZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSAqLywKKwkJ
CQkyRDNFRjQ0NDE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ0FMYXllckNvbnRyb2xsZXIuaCAqLywK
KwkJCQkyRDNFRjQ0NTE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ0FMYXllckNvbnRyb2xsZXIubW0g
Ki8sCisJCQkJMkQzRUY0NDYxOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFz
LmggKi8sCisJCQkJMkQzRUY0NDcxOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0
cmFzLm1tICovLAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0yMzk5Myw2ICsyMzk5OSw3IEBACiAJCQkJOTM0OTA3RTQxMjVCQkJDODAwN0Yy
M0EwIC8qIEdyYXBoaWNzQ29udGV4dENHLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBENjcwODBF
OUU5REVCMDBFNDIwRjAgLyogR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ0cuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGNTgwQjBEMEYxMkEyNjkwMDUxRDY4OSAvKiBHcmFwaGljc0xheWVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDNFRjQ0ODE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ0FM
YXllckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3
MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTgwQjBFMEYx
MkEyNjkwMDUxRDY4OSAvKiBHcmFwaGljc0xheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUM2OTU5MzE2MUExRTUzMDAzNzMyQ0IgLyogR3JhcGhpY3NMYXllckZhY3RvcnkuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjU1NTUsNiArMjU1NjIsNyBAQAogCQkJCUZENDVBOTUyMTc1RDNGM0Uw
MEMyMUVDOCAvKiBTaGFwZU91dHNpZGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDFBRjE1
MDE2NTZGMTUxMDBDNkQ0RjcgLyogU2hhcGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0
QTk1NEUwQjRFRENDQjAwMkQ4QzNDIC8qIFNoYXJlZEJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMkQzRUY0NEExOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5N0IxRjAyRjEzQjAyNUQyMDBGNTEwM0YgLyogU2hhcmVkQnVmZmVy
Q2h1bmtSZWFkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RUEzMDk5RUI3OEMwMDU2RTU4
MSAvKiBTaGFyZWRUaW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFFMUIxRDQwRkY1OTg2OTAw
NTc2QjNCIC8qIFNoYXJlZFdvcmtlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjE1MCw3ICsyNjE1
OCw2IEBACiAJCQkJQUE0NzhBN0YxNkNENzBDMzAwN0QxQkI0IC8qIFdlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUE3QUE0MzEzMkYwRUNDMDBE
M0EzQzIgLyogV2ViQXV0b2NhcGl0YWxpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NkM1QjlC
MTg5RjM0NTcwMDgyRDEzQyAvKiBXZWJDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTJEQkFERTBCMTg4RTU5MTUwMDRENzk4MSAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTNGMTk5QTgwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVGcmFtZVZp
ZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzY5RERBMTYzNzFGRDQwMDdDMzhERiAvKiBXZWJD
b3JlRnVsbFNjcmVlblBsYWNlaG9sZGVyVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDNjlE
RDYxNjMyMDI2QzAwN0MzOERGIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjY3ODUsNiArMjY3OTIsNyBAQAogCQkJCTZFRDhDMzc5MTgzQkZGOEMw
MDlFNTNCRCAvKiBCb3hTaGFwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDg1NDA5N0Q5
MzAyMDA5NEM5RTQgLyogYnJlYWtfbGluZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlE
REEwOTlFNjQ5MjAwNTZFNTgxIC8qIEJyZWFrQmxvY2txdW90ZUNvbW1hbmQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMkQzRUY0NEIxOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0
cmFzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTlCNTk3NzMxMTA4NjU2QjAwNzE1OUU4IC8qIEJy
aWRnZUpTQy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNTVCM0RBRjEyNTFGMTJEMDAzRUYyNjkg
LyogQnV0dG9uSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNTY5Q0Y3MEQ3RTJC
ODIwMDdDMzk4MyAvKiBjX2NsYXNzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjY5MjUsNiArMjY5
MzMsNyBAQAogCQkJCUUxMjVGODM1MTgyMkYxOEEwMEQ4NENEOSAvKiBDcnlwdG9LZXlITUFDLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUUxOUFDM0Y5MTgyNTY2RjcwMDM0OTQyNiAvKiBDcnlwdG9L
ZXlNYWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFGODBCODcxODMxNzI1MjAwNzg4NUMzIC8q
IENyeXB0b0tleVBhaXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQzRUY0NDkxOTE3OTE1QzAw
MDM0MTg0IC8qIFdlYkNBTGF5ZXJDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ4
MzBBMzkxOEY0QzU5NDAwMTU0QTFCIC8qIFRpbGVDb3ZlcmFnZU1hcC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUUxNjRGQUE1MTgzMTVFMUEwMERCNEU2MSAvKiBDcnlwdG9LZXlSU0FNYWMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRTEyNUY4NTkxODJDMUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNl
cmlhbGl6YXRpb25SYXcuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTM5NSw3ICsyOTQwNCw2IEBA
CiAJCQkJQUE0NzhBODAxNkNENzBDMzAwN0QxQkI0IC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU2QzVCOUExODlGMzQ1NzAwODJEMTND
IC8qIFdlYkNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDdFMDUyMjE2NTFD
MjgyMDBDMTIwMUYgLyogV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMkRCQURFMEMxODhFNTkxNTAwNEQ3OTgxIC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDNjlEREIxNjM3MUZENDAwN0MzOERGIC8qIFdlYkNvcmVG
dWxsU2NyZWVuUGxhY2Vob2xkZXJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDNjlERDcx
NjMyMDI2QzAwN0MzOERGIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcubW0gaW4gU291
cmNlcyAqLywKIAkJCQlDRDEyN0RFRDE0RjMwOTdEMDBFODQ3NzkgLyogV2ViQ29yZUZ1bGxTY3Jl
ZW5XaW5kb3cubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCmluZGV4
IGZlOGY3YWYuLjliNzA3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQpAQCAtMzksNiAr
MzksNyBAQAogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKICNpbXBvcnQgIlRpbGVkQmFja2luZy5o
IgogI2ltcG9ydCAiVGlsZUNvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIldlYkNBTGF5ZXJDb250cm9s
bGVyLmgiCiAjaW1wb3J0ICJXZWJDb3JlQ0FMYXllckV4dHJhcy5oIgogI2ltcG9ydCAiV2ViTGF5
ZXIuaCIKICNpbXBvcnQgIldlYlRpbGVkQmFja2luZ0xheWVyLmgiCkBAIC0yMTcsMTAgKzIxOCwx
MyBAQCB2b2lkIFBsYXRmb3JtQ0FMYXllck1hYzo6Y29tbW9uSW5pdCgpCiB7CiAgICAgQkVHSU5f
QkxPQ0tfT0JKQ19FWENFUFRJT05TCiAgICAgLy8gU2F2ZSBhIHBvaW50ZXIgdG8gJ3RoaXMnIGlu
IHRoZSBDQUxheWVyCi0gICAgW21fbGF5ZXIuZ2V0KCkgc2V0VmFsdWU6W05TVmFsdWUgdmFsdWVX
aXRoUG9pbnRlcjp0aGlzXSBmb3JLZXk6cGxhdGZvcm1DQUxheWVyUG9pbnRlcl07CisgICAgW21f
bGF5ZXIgc2V0VmFsdWU6W05TVmFsdWUgdmFsdWVXaXRoUG9pbnRlcjp0aGlzXSBmb3JLZXk6cGxh
dGZvcm1DQUxheWVyUG9pbnRlcl07CiAgICAgCiAgICAgLy8gQ2xlYXIgYWxsIHRoZSBpbXBsaWNp
dCBhbmltYXRpb25zIG9uIHRoZSBDQUxheWVyCi0gICAgW21fbGF5ZXIgd2ViX2Rpc2FibGVBbGxB
Y3Rpb25zXTsKKyAgICBpZiAobV9sYXllclR5cGUgPT0gTGF5ZXJUeXBlQVZQbGF5ZXJMYXllciB8
fCBtX2xheWVyVHlwZSA9PSBMYXllclR5cGVDdXN0b20pCisgICAgICAgIFttX2xheWVyIHdlYl9k
aXNhYmxlQWxsQWN0aW9uc107CisgICAgZWxzZQorICAgICAgICBbbV9sYXllciBzZXREZWxlZ2F0
ZTpbV2ViQ0FMYXllckNvbnRyb2xsZXIgc2hhcmVkXV07CiAKICAgICAvLyBTbyB0aGF0IHRoZSBz
Y3JvbGxpbmcgdGhyZWFkJ3MgcGVyZm9ybWFuY2UgbG9nZ2luZyBjb2RlIGNhbiBmaW5kIGFsbCB0
aGUgdGlsZXMsIG1hcmsgdGhpcyBhcyBiZWluZyBhIHRpbGUuCiAgICAgaWYgKG1fbGF5ZXJUeXBl
ID09IExheWVyVHlwZVRpbGVkQmFja2luZ1RpbGVMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNBTGF5ZXJDb250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDQUxheWVyQ29udHJvbGxl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzN2UyMWIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDQUxh
eWVyQ29udHJvbGxlci5oCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBXZWJDQUxheWVyQ29udHJvbGxlcl9oCisj
ZGVmaW5lIFdlYkNBTGF5ZXJDb250cm9sbGVyX2gKKworQGludGVyZmFjZSBXZWJDQUxheWVyQ29u
dHJvbGxlciA6IE5TT2JqZWN0CisKKysgKGluc3RhbmNldHlwZSlzaGFyZWQ7CisKK0BlbmQKKwor
I2VuZGlmIC8vIFdlYkNBTGF5ZXJDb250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNBTGF5ZXJDb250cm9sbGVyLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ0FMYXllckNvbnRyb2xsZXIu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTRmNjMyOAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNBTGF5
ZXJDb250cm9sbGVyLm1tCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBvcnQgIldl
YkNBTGF5ZXJDb250cm9sbGVyLmgiCisjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4K
KworQGltcGxlbWVudGF0aW9uIFdlYkNBTGF5ZXJDb250cm9sbGVyCisKKysgKGluc3RhbmNldHlw
ZSlzaGFyZWQKK3sKKyAgICBzdGF0aWMgV2ViQ0FMYXllckNvbnRyb2xsZXIgKmNvbnRyb2xsZXI7
CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlVG9rZW47CisgICAgZGlzcGF0Y2hfb25j
ZSgmb25jZVRva2VuLCBeeworICAgICAgICBjb250cm9sbGVyID0gW1tXZWJDQUxheWVyQ29udHJv
bGxlciBhbGxvY10gaW5pdF07CisgICAgfSk7CisgICAgcmV0dXJuIGNvbnRyb2xsZXI7Cit9CisK
Ky0gKGlkPENBQWN0aW9uPilhY3Rpb25Gb3JMYXllcjooQ0FMYXllciAqKWxheWVyIGZvcktleToo
TlNTdHJpbmcgKilldmVudAoreworICAgIFVOVVNFRF9QQVJBTShsYXllcik7CisgICAgVU5VU0VE
X1BBUkFNKGV2ZW50KTsKKyAgICByZXR1cm4gKGlkPENBQWN0aW9uPilbTlNOdWxsIG51bGxdOwor
fQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJDb3JlQ0FMYXllckV4dHJhcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5hODBjNzhjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaApAQCAtMCwwICsx
LDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZm5kZWYgV2ViQ29yZUNBTGF5ZXJFeHRyYXNfaAorI2RlZmluZSBXZWJDb3JlQ0FMYXll
ckV4dHJhc19oCisKKyNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgorCitAaW50ZXJm
YWNlIENBTGF5ZXIgKFdlYkNvcmVDQUxheWVyRXh0cmFzKQorCistICh2b2lkKXdlYl9kaXNhYmxl
QWxsQWN0aW9uczsKKworQGVuZAorCisjZW5kaWYgLy8gV2ViQ29yZUNBTGF5ZXJFeHRyYXNfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29y
ZUNBTGF5ZXJFeHRyYXMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJDb3JlQ0FMYXllckV4dHJhcy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jMDRhMDRlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW0KQEAgLTAsMCArMSw1OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1w
b3J0ICJjb25maWcuaCIKKworI2ltcG9ydCAiV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaCIKKworQGlt
cGxlbWVudGF0aW9uIENBTGF5ZXIgKFdlYkNvcmVDQUxheWVyRXh0cmFzKQorCistICh2b2lkKXdl
Yl9kaXNhYmxlQWxsQWN0aW9ucworeworICAgIE5TTnVsbCAqbnVsbFZhbHVlID0gW05TTnVsbCBu
dWxsXTsKKyAgICBzZWxmLnN0eWxlID0gQHsKKyAgICAgICAgQCJhY3Rpb25zIiA6IEB7CisgICAg
ICAgICAgICBAImFuY2hvclBvaW50IiA6IG51bGxWYWx1ZSwKKyAgICAgICAgICAgIEAiYW5jaG9y
UG9pbnRaIiA6IG51bGxWYWx1ZSwKKyAgICAgICAgICAgIEAiYmFja2dyb3VuZENvbG9yIiA6IG51
bGxWYWx1ZSwKKyAgICAgICAgICAgIEAiYm9yZGVyQ29sb3IiIDogbnVsbFZhbHVlLAorICAgICAg
ICAgICAgQCJib3JkZXJXaWR0aCIgOiBudWxsVmFsdWUsCisgICAgICAgICAgICBAImJvdW5kcyIg
OiBudWxsVmFsdWUsCisgICAgICAgICAgICBAImNvbnRlbnRzIiA6IG51bGxWYWx1ZSwKKyAgICAg
ICAgICAgIEAiY29udGVudHNSZWN0IiA6IG51bGxWYWx1ZSwKKyAgICAgICAgICAgIEAiY29udGVu
dHNTY2FsZSIgOiBudWxsVmFsdWUsCisgICAgICAgICAgICBAImNvcm5lclJhZGl1cyIgOiBudWxs
VmFsdWUsCisgICAgICAgICAgICBAIm9wYWNpdHkiIDogbnVsbFZhbHVlLAorICAgICAgICAgICAg
QCJwb3NpdGlvbiIgOiBudWxsVmFsdWUsCisgICAgICAgICAgICBAInNoYWRvd0NvbG9yIiA6IG51
bGxWYWx1ZSwKKyAgICAgICAgICAgIEAic3VibGF5ZXJUcmFuc2Zvcm0iIDogbnVsbFZhbHVlLAor
ICAgICAgICAgICAgQCJzdWJsYXllcnMiIDogbnVsbFZhbHVlLAorICAgICAgICAgICAgQCJ0cmFu
c2Zvcm0iIDogbnVsbFZhbHVlLAorICAgICAgICAgICAgQCJ6UG9zaXRpb24iIDogbnVsbFZhbHVl
CisgICAgICAgIH0KKyAgICB9OworfQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJDb3JlQ0FMYXllckV4dHJhcy5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODBjNzhjLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJDb3JlQ0FMYXllckV4dHJhcy5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIFdlYkNvcmVDQUxheWVyRXh0cmFzX2gKLSNk
ZWZpbmUgV2ViQ29yZUNBTGF5ZXJFeHRyYXNfaAotCi0jaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0
ekNvcmUuaD4KLQotQGludGVyZmFjZSBDQUxheWVyIChXZWJDb3JlQ0FMYXllckV4dHJhcykKLQot
LSAodm9pZCl3ZWJfZGlzYWJsZUFsbEFjdGlvbnM7Ci0KLUBlbmQKLQotI2VuZGlmIC8vIFdlYkNv
cmVDQUxheWVyRXh0cmFzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9XZWJDb3JlQ0FMYXllckV4dHJhcy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9XZWJDb3JlQ0FMYXllckV4dHJhcy5tbQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYmFlYjM2YS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW0KKysrIC9kZXYvbnVsbApA
QCAtMSw1OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2ltcG9ydCAiV2ViQ29yZUNBTGF5
ZXJFeHRyYXMuaCIKLQotQGltcGxlbWVudGF0aW9uIENBTGF5ZXIgKFdlYkNvcmVDQUxheWVyRXh0
cmFzKQotCi0tICh2b2lkKXdlYl9kaXNhYmxlQWxsQWN0aW9ucwotewotICAgIE5TTnVsbCAqbnVs
bFZhbHVlID0gW05TTnVsbCBudWxsXTsKLSAgICBzZWxmLnN0eWxlID0gQHsKLSAgICAgICAgQCJh
Y3Rpb25zIiA6IEB7Ci0gICAgICAgICAgICBAImFuY2hvclBvaW50IiA6IG51bGxWYWx1ZSwKLSAg
ICAgICAgICAgIEAiYW5jaG9yUG9pbnRaIiA6IG51bGxWYWx1ZSwKLSAgICAgICAgICAgIEAiYmFj
a2dyb3VuZENvbG9yIiA6IG51bGxWYWx1ZSwKLSAgICAgICAgICAgIEAiYm9yZGVyQ29sb3IiIDog
bnVsbFZhbHVlLAotICAgICAgICAgICAgQCJib3JkZXJXaWR0aCIgOiBudWxsVmFsdWUsCi0gICAg
ICAgICAgICBAImJvdW5kcyIgOiBudWxsVmFsdWUsCi0gICAgICAgICAgICBAImNvbnRlbnRzIiA6
IG51bGxWYWx1ZSwKLSAgICAgICAgICAgIEAiY29udGVudHNSZWN0IiA6IG51bGxWYWx1ZSwKLSAg
ICAgICAgICAgIEAiY29udGVudHNTY2FsZSIgOiBudWxsVmFsdWUsCi0gICAgICAgICAgICBAImNv
cm5lclJhZGl1cyIgOiBudWxsVmFsdWUsCi0gICAgICAgICAgICBAIm9wYWNpdHkiIDogbnVsbFZh
bHVlLAotICAgICAgICAgICAgQCJwb3NpdGlvbiIgOiBudWxsVmFsdWUsCi0gICAgICAgICAgICBA
InNoYWRvd0NvbG9yIiA6IG51bGxWYWx1ZSwKLSAgICAgICAgICAgIEAic3VibGF5ZXJUcmFuc2Zv
cm0iIDogbnVsbFZhbHVlLAotICAgICAgICAgICAgQCJzdWJsYXllcnMiIDogbnVsbFZhbHVlLAot
ICAgICAgICAgICAgQCJ0cmFuc2Zvcm0iIDogbnVsbFZhbHVlLAotICAgICAgICAgICAgQCJ6UG9z
aXRpb24iIDogbnVsbFZhbHVlCi0gICAgICAgIH0KLSAgICB9OwotfQotCi1AZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggNDdmZjNkNC4uNzY2ZDQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0
LTA1LTA1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAg
IFVzZSBhIGxheWVyIGRlbGVnYXRlIGluc3RlYWQgb2Ygd2ViX2Rpc2FibGVBbGxBY3Rpb25zIHdo
ZXJldmVyIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzI1NjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2NDU5Mjg0PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9tYWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgX3NldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlUm9vdExheWVyOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUmVtb3RlTGF5
ZXJUcmVlSG9zdElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlSG9zdDo6
Y3JlYXRlTGF5ZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWFQcm94eTo6c2hvd0RlYnVnSW5kaWNhdG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1JlbW90ZUxheWVyVHJlZUhvc3QubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJl
ZUhvc3Q6OmNyZWF0ZUxheWVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJl
Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVy
OjpiZWdpblN3aXBlR2VzdHVyZSk6CisgICAgICAgIE1ha2UgdXNlIG9mIFdlYkNBTGF5ZXJDb250
cm9sbGVyIHdoZXJlIHBvc3NpYmxlLgorICAgICAgICBBbHNvLCBVSUtpdCBkaXNhYmxlcyBhY3Rp
b25zIGZvciB1cywgc28gZG9uJ3QgYm90aGVyIGRvaW5nIGFueXRoaW5nIG9uIGlPUy4KKwogMjAx
NC0wNS0wNCAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVkdWNlIGNhbGxzIHRvIENGVVJMQ2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQppbmRleCA5ZGQ5YzkyLi4xMWUxMzBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC05MCw2ICs5
MCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1JlZ2lvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFy
ZWRCdWZmZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg+
CisjaW1wb3J0IDxXZWJDb3JlL1dlYkNBTGF5ZXJDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1dlYkNvcmVDQUxheWVyRXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVGdWxs
U2NyZWVuUGxhY2Vob2xkZXJWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVGdWxsU2Ny
ZWVuV2luZG93Lmg+CkBAIC0yOTk3LDcgKzI5OTgsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVTYW5k
Ym94RXh0ZW5zaW9uc0ZvckZpbGVVcGxvYWQoTlNQYXN0ZWJvYXJkICpwYXN0ZWJvYXJkLCBTYW5k
YgogCiAgICAgICAgICAgICAvLyBDcmVhdGUgYSByb290IGxheWVyIHRoYXQgd2lsbCBiYWNrIHRo
ZSBOU1ZpZXcuCiAgICAgICAgICAgICBSZXRhaW5QdHI8Q0FMYXllcj4gbGF5ZXIgPSBhZG9wdE5T
KFtbQ0FMYXllciBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgW2xheWVyIHdlYl9kaXNhYmxl
QWxsQWN0aW9uc107CisgICAgICAgICAgICBbbGF5ZXIgc2V0RGVsZWdhdGU6W1dlYkNBTGF5ZXJD
b250cm9sbGVyIHNoYXJlZF1dOwogI2lmbmRlZiBOREVCVUcKICAgICAgICAgICAgIFtsYXllciBz
ZXROYW1lOkAiSG9zdGluZyByb290IGxheWVyIl07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlTGF5ZXJUcmVlSG9zdElPUy5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlTGF5ZXJUcmVlSG9zdElPUy5tbQppbmRleCA4
NmIzZTdlLi4zYmQ5MWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1JlbW90ZUxheWVyVHJlZUhvc3RJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9SZW1vdGVMYXllclRyZWVIb3N0SU9TLm1tCkBAIC0yOCwxMiArMjgsOSBAQAogI2lmIFBM
QVRGT1JNKElPUykKIAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlSG9zdC5oIgotCi0jaW1wb3J0
IDxXZWJDb3JlL1dlYkNvcmVDQUxheWVyRXh0cmFzLmg+Ci0jaW1wb3J0IDxXZWJLaXRTeXN0ZW1J
bnRlcmZhY2UuaD4KLQotI2ltcG9ydCA8VUlLaXQvVUlTY3JvbGxWaWV3Lmg+CiAjaW1wb3J0IDxR
dWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJU2Nyb2xsVmlldy5oPgor
I2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCkBAIC0xMzMsOSArMTMwLDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIExheWVyT3JW
aWV3ICpSZW1vdGVMYXllclRyZWVIb3N0OjpjcmVhdGVMYXllcihjb25zdCBSZW1vdGVMYXllclRy
ZWVUcmFuc2FjdGlvbjo6TGF5ZXJDcmVhdGlvblByb3BlcnRpZXMmIHByb3BlcnRpZXMsIGNvbnN0
IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXMqIGxheWVyUHJvcGVy
dGllcykKIHsKLSAgICBSZXRhaW5QdHI8TGF5ZXJPclZpZXc+JiBsYXllck9yVmlldyA9IG1fbGF5
ZXJzLmFkZChwcm9wZXJ0aWVzLmxheWVySUQsIG51bGxwdHIpLml0ZXJhdG9yLT52YWx1ZTsKKyAg
ICBSZXRhaW5QdHI8TGF5ZXJPclZpZXc+JiB2aWV3ID0gbV9sYXllcnMuYWRkKHByb3BlcnRpZXMu
bGF5ZXJJRCwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOwogCi0gICAgQVNTRVJUKCFsYXllck9y
Vmlldyk7CisgICAgQVNTRVJUKCF2aWV3KTsKIAogICAgIHN3aXRjaCAocHJvcGVydGllcy50eXBl
KSB7CiAgICAgY2FzZSBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZUxheWVyOgpAQCAtMTQ2LDI4
ICsxNDMsMjYgQEAgTGF5ZXJPclZpZXcgKlJlbW90ZUxheWVyVHJlZUhvc3Q6OmNyZWF0ZUxheWVy
KGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjoKICAgICBjYXNlIFBsYXRmb3JtQ0FM
YXllcjo6TGF5ZXJUeXBlUGFnZVRpbGVkQmFja2luZ0xheWVyOgogICAgIGNhc2UgUGxhdGZvcm1D
QUxheWVyOjpMYXllclR5cGVUaWxlZEJhY2tpbmdUaWxlTGF5ZXI6CiAgICAgICAgIGlmIChsYXll
clByb3BlcnRpZXMgJiYgbGF5ZXJQcm9wZXJ0aWVzLT5jdXN0b21CZWhhdmlvciA9PSBHcmFwaGlj
c0xheWVyOjpDdXN0b21TY3JvbGxpbmdCZWhhdmlvcikKLSAgICAgICAgICAgIGxheWVyT3JWaWV3
ID0gYWRvcHROUyhbW1VJU2Nyb2xsVmlldyBhbGxvY10gaW5pdF0pOworICAgICAgICAgICAgdmll
dyA9IGFkb3B0TlMoW1tVSVNjcm9sbFZpZXcgYWxsb2NdIGluaXRdKTsKICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbGF5ZXJPclZpZXcgPSBhZG9wdE5TKFtbV0tDb21wb3NpdGluZ1ZpZXcgYWxs
b2NdIGluaXRdKTsKKyAgICAgICAgICAgIHZpZXcgPSBhZG9wdE5TKFtbV0tDb21wb3NpdGluZ1Zp
ZXcgYWxsb2NdIGluaXRdKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybUNBTGF5
ZXI6OkxheWVyVHlwZVRyYW5zZm9ybUxheWVyOgotICAgICAgICBsYXllck9yVmlldyA9IGFkb3B0
TlMoW1tXS1RyYW5zZm9ybVZpZXcgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgdmlldyA9IGFkb3B0
TlMoW1tXS1RyYW5zZm9ybVZpZXcgYWxsb2NdIGluaXRdKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZUN1c3RvbToKICAgICAgICAgaWYgKCFtX2lz
RGVidWdMYXllclRyZWVIb3N0KQotICAgICAgICAgICAgbGF5ZXJPclZpZXcgPSBhZG9wdE5TKFtb
V0tSZW1vdGVWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29udGV4dElEOnBy
b3BlcnRpZXMuaG9zdGluZ0NvbnRleHRJRF0pOworICAgICAgICAgICAgdmlldyA9IGFkb3B0TlMo
W1tXS1JlbW90ZVZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBjb250ZXh0SUQ6
cHJvcGVydGllcy5ob3N0aW5nQ29udGV4dElEXSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
IGxheWVyT3JWaWV3ID0gYWRvcHROUyhbW1dLQ29tcG9zaXRpbmdWaWV3IGFsbG9jXSBpbml0XSk7
CisgICAgICAgICAgICB2aWV3ID0gYWRvcHROUyhbW1dLQ29tcG9zaXRpbmdWaWV3IGFsbG9jXSBp
bml0XSk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBEbyB0aHJvdWdoIHRoZSB2aWV3Lgot
ICAgIFtbbGF5ZXJPclZpZXcgbGF5ZXJdIHdlYl9kaXNhYmxlQWxsQWN0aW9uc107Ci0gICAgc2V0
TGF5ZXJJRChbbGF5ZXJPclZpZXcgbGF5ZXJdLCBwcm9wZXJ0aWVzLmxheWVySUQpOworICAgIHNl
dExheWVySUQoW3ZpZXcgbGF5ZXJdLCBwcm9wZXJ0aWVzLmxheWVySUQpOwogCi0gICAgcmV0dXJu
IGxheWVyT3JWaWV3LmdldCgpOworICAgIHJldHVybiB2aWV3LmdldCgpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCAwNmNiNDhk
Li4wOTg5ZTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0zMiw4ICszMiw5
IEBACiAjaW1wb3J0ICJSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmgiCiAjaW1wb3J0
ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgorI2ltcG9ydCA8
UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZVBvb2wu
aD4KLSNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvV2ViQ0FMYXllckNvbnRyb2xsZXIuaD4KIAogc3RhdGljIGNvbnN0IENGSW5kZXggQ29y
ZUFuaW1hdGlvbkNvbW1pdFJ1bkxvb3BPcmRlciA9IDIwMDAwMDA7CiBzdGF0aWMgY29uc3QgQ0ZJ
bmRleCBEaWRDb21taXRMYXllcnNSdW5Mb29wT3JkZXIgPSBDb3JlQW5pbWF0aW9uQ29tbWl0UnVu
TG9vcE9yZGVyICsgMTsKQEAgLTI2NCw3ICsyNjUsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHk6OnNob3dEZWJ1Z0luZGljYXRvcihib29sIHNob3cpCiAKICAgICBtX3Rp
bGVNYXBIb3N0TGF5ZXIgPSBhZG9wdE5TKFtbQ0FMYXllciBhbGxvY10gaW5pdF0pOwogICAgIFtt
X3RpbGVNYXBIb3N0TGF5ZXIgc2V0TmFtZTpAIlRpbGUgbWFwIGhvc3QiXTsKLSAgICBbbV90aWxl
TWFwSG9zdExheWVyIHdlYl9kaXNhYmxlQWxsQWN0aW9uc107CisgICAgW21fdGlsZU1hcEhvc3RM
YXllciBzZXREZWxlZ2F0ZTpbV2ViQ0FMYXllckNvbnRyb2xsZXIgc2hhcmVkXV07CiAgICAgW21f
dGlsZU1hcEhvc3RMYXllciBzZXRBbmNob3JQb2ludDpDR1BvaW50WmVyb107CiAgICAgW21fdGls
ZU1hcEhvc3RMYXllciBzZXRPcGFjaXR5OjAuOF07CiAgICAgW21fdGlsZU1hcEhvc3RMYXllciBz
ZXRNYXNrc1RvQm91bmRzOllFU107CkBAIC0yODIsNyArMjgzLDcgQEAgdm9pZCBSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5OjpzaG93RGVidWdJbmRpY2F0b3IoYm9vbCBzaG93KQogICAg
IH0KICAgICAKICAgICBtX2V4cG9zZWRSZWN0SW5kaWNhdG9yTGF5ZXIgPSBhZG9wdE5TKFtbQ0FM
YXllciBhbGxvY10gaW5pdF0pOwotICAgIFttX2V4cG9zZWRSZWN0SW5kaWNhdG9yTGF5ZXIgd2Vi
X2Rpc2FibGVBbGxBY3Rpb25zXTsKKyAgICBbbV9leHBvc2VkUmVjdEluZGljYXRvckxheWVyIHNl
dERlbGVnYXRlOltXZWJDQUxheWVyQ29udHJvbGxlciBzaGFyZWRdXTsKICAgICBbbV9leHBvc2Vk
UmVjdEluZGljYXRvckxheWVyIHNldEFuY2hvclBvaW50OkNHUG9pbnRaZXJvXTsKIAogICAgIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVl
SG9zdC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9z
dC5tbQppbmRleCBiNGFiZDI1Li45MGYwYjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZUhvc3QubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1tCkBAIC0zMyw3ICszMyw3IEBACiAj
aW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgogI2lt
cG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUxheWVyLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVD
QUxheWVyRXh0cmFzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYkNBTGF5ZXJDb250cm9sbGVyLmg+
CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KIAogI2ltcG9ydCA8UXVhcnR6Q29y
ZS9RdWFydHpDb3JlLmg+CkBAIC0xNjAsNyArMTYwLDcgQEAgTGF5ZXJPclZpZXcgKlJlbW90ZUxh
eWVyVHJlZUhvc3Q6OmNyZWF0ZUxheWVyKGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
OjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQogCi0gICAgW2xheWVyIHdl
Yl9kaXNhYmxlQWxsQWN0aW9uc107CisgICAgW2xheWVyIHNldERlbGVnYXRlOltXZWJDQUxheWVy
Q29udHJvbGxlciBzaGFyZWRdXTsKICAgICBzZXRMYXllcklEKGxheWVyLmdldCgpLCBwcm9wZXJ0
aWVzLmxheWVySUQpOwogCiAgICAgcmV0dXJuIGxheWVyLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQpp
bmRleCA1NTZhZTI0Li4zZGJiZGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQpAQCAtNDEsNyArNDEsNyBA
QAogI2ltcG9ydCA8Q29jb2EvQ29jb2EuaD4KICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29y
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KLSNpbXBvcnQgPFdlYkNvcmUvV2Vi
Q29yZUNBTGF5ZXJFeHRyYXMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvV2ViQ0FMYXllckNvbnRyb2xs
ZXIuaD4KIAogI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8UXVh
cnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5oPikKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6
Q29yZVByaXZhdGUuaD4KQEAgLTU0NiwxNCArNTQ2LDE0IEBAIHZvaWQgVmlld0dlc3R1cmVDb250
cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJnZXRJ
dGVtCiAgICAgW21fc3dpcGVMYXllciBzZXRGcmFtZTpzd2lwZUFyZWFdOwogICAgIFttX3N3aXBl
TGF5ZXIgc2V0TmFtZTpAIkdlc3R1cmUgU3dpcGUgUm9vdCBMYXllciJdOwogICAgIFttX3N3aXBl
TGF5ZXIgc2V0R2VvbWV0cnlGbGlwcGVkOmdlb21ldHJ5SXNGbGlwcGVkVG9Sb290XTsKLSAgICBb
bV9zd2lwZUxheWVyIHdlYl9kaXNhYmxlQWxsQWN0aW9uc107CisgICAgW21fc3dpcGVMYXllciBz
ZXREZWxlZ2F0ZTpbV2ViQ0FMYXllckNvbnRyb2xsZXIgc2hhcmVkXV07CiAKICAgICBbbV9zd2lw
ZVNuYXBzaG90TGF5ZXIgc2V0Q29udGVudHNHcmF2aXR5OmtDQUdyYXZpdHlUb3BMZWZ0XTsKICAg
ICBbbV9zd2lwZVNuYXBzaG90TGF5ZXIgc2V0Q29udGVudHNTY2FsZTptX3dlYlBhZ2VQcm94eS5k
ZXZpY2VTY2FsZUZhY3RvcigpXTsKICAgICBbbV9zd2lwZVNuYXBzaG90TGF5ZXIgc2V0QW5jaG9y
UG9pbnQ6Q0dQb2ludFplcm9dOwogICAgIFttX3N3aXBlU25hcHNob3RMYXllciBzZXRGcmFtZTpD
R1JlY3RNYWtlKDAsIDAsIHN3aXBlQXJlYS53aWR0aCgpLCBzd2lwZUFyZWEuaGVpZ2h0KCkgLSB0
b3BDb250ZW50SW5zZXQpXTsKICAgICBbbV9zd2lwZVNuYXBzaG90TGF5ZXIgc2V0TmFtZTpAIkdl
c3R1cmUgU3dpcGUgU25hcHNob3QgTGF5ZXIiXTsKLSAgICBbbV9zd2lwZVNuYXBzaG90TGF5ZXIg
d2ViX2Rpc2FibGVBbGxBY3Rpb25zXTsKKyAgICBbbV9zd2lwZVNuYXBzaG90TGF5ZXIgc2V0RGVs
ZWdhdGU6W1dlYkNBTGF5ZXJDb250cm9sbGVyIHNoYXJlZF1dOwogCiAgICAgW21fc3dpcGVMYXll
ciBhZGRTdWJsYXllcjptX3N3aXBlU25hcHNob3RMYXllci5nZXQoKV07CiAK
</data>
<flag name="review"
          id="255201"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>