<?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>229466</bug_id>
          
          <creation_ts>2021-08-24 13:53:44 -0700</creation_ts>
          <short_desc>Update availability macros for APIs available in iOS 14.5 and macOS 11.3</short_desc>
          <delta_ts>2021-08-30 15:41:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1786913</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-08-24 13:53:44 -0700</bug_when>
    <thetext>Update availability macros for APIs available in iOS 14.5 and macOS 11.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786914</commentid>
    <comment_count>1</comment_count>
      <attachid>436326</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-08-24 13:54:41 -0700</bug_when>
    <thetext>Created attachment 436326
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786915</commentid>
    <comment_count>2</comment_count>
      <attachid>436326</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-24 13:58:04 -0700</bug_when>
    <thetext>Comment on attachment 436326
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.h:533
&gt; +@property (nonatomic, nullable, copy) id interactionState WK_API_AVAILABLE(macos(11.3), ios(14.5));

How did you determine those? For example, this particular API was added in rdar://70956146 which says iOS 15. Are we sure it went into iOS 14.5? (not sure about the other APIs).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786916</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-08-24 14:00:48 -0700</bug_when>
    <thetext>I am sure about the download related APIs and the HTTPS upgrade API.  The rest are based on the the diff Brent sent me, which I could be interpreting incorrectly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786924</commentid>
    <comment_count>4</comment_count>
      <attachid>436326</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-24 14:08:52 -0700</bug_when>
    <thetext>Comment on attachment 436326
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.h:533
&gt;&gt; +@property (nonatomic, nullable, copy) id interactionState WK_API_AVAILABLE(macos(11.3), ios(14.5));
&gt; 
&gt; How did you determine those? For example, this particular API was added in rdar://70956146 which says iOS 15. Are we sure it went into iOS 14.5? (not sure about the other APIs).

This was not in iOS 11.3: https://trac.webkit.org/browser/webkit/branches/safari-611.1.21.0-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.h

Other APIs updated in this patch are potentially incorrect too given they are based on the same diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786925</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-24 14:09:49 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; Comment on attachment 436326 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=436326&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.h:533
&gt; &gt;&gt; +@property (nonatomic, nullable, copy) id interactionState WK_API_AVAILABLE(macos(11.3), ios(14.5));
&gt; &gt; 
&gt; &gt; How did you determine those? For example, this particular API was added in rdar://70956146 which says iOS 15. Are we sure it went into iOS 14.5? (not sure about the other APIs).
&gt; 
&gt; This was not in iOS 11.3:

I meant iOS 14.5 :/

&gt; https://trac.webkit.org/browser/webkit/branches/safari-611.1.21.0-branch/
&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.h
&gt; 
&gt; Other APIs updated in this patch are potentially incorrect too given they
&gt; are based on the same diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786929</commentid>
    <comment_count>6</comment_count>
      <attachid>436329</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-08-24 14:20:47 -0700</bug_when>
    <thetext>Created attachment 436329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786933</commentid>
    <comment_count>7</comment_count>
      <attachid>436329</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-24 14:21:48 -0700</bug_when>
    <thetext>Comment on attachment 436329
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786992</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-24 16:31:42 -0700</bug_when>
    <thetext>Found 1 new test failure: imported/w3c/web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787020</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-24 17:19:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/82317642&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788697</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-30 15:41:15 -0700</bug_when>
    <thetext>Committed r281780 (241117@main): &lt;https://commits.webkit.org/241117@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436329.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436326</attachid>
            <date>2021-08-24 13:54:41 -0700</date>
            <delta_ts>2021-08-24 14:20:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229466-20210824135440.patch</filename>
            <type>text/plain</type>
            <size>21712</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhkYjA1Mzc4ZWQwMDYwZDk4
NDEzZmNmNzMzYjYyNjNkOWMzMjdiNzQuLmYxYTI4ZWRhZmQ2ODgxNGMyY2ExOTVmNTdlYWY4MTI5
MGY5MGNmZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDgtMjQgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVcGRhdGUgYXZh
aWxhYmlsaXR5IG1hY3JvcyBmb3IgQVBJcyBhdmFpbGFibGUgaW4gaU9TIDE0LjUgYW5kIG1hY09T
IDExLjMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
OTQ2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
IG1pc3Rha2VubHkgdXBkYXRlZCB0aGVtIHRvIDE1LjAvMTIuMAorCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS0Rvd25sb2FkLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0Rvd25sb2FkRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
TmF2aWdhdGlvbkFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZp
Z2F0aW9uRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVy
ZW5jZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmg6CisKIDIwMjEtMDgtMjMg
IENhbWVyb24gTWNDb3JtYWNrICA8aGV5Y2FtQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVzZXJ2
ZSBjb2xvciBzcGFjZSB3aGVuIGdldHRpbmcgY3VycmVudCBjb2xvciBpbiBEaXNwbGF5TGlzdDo6
RHJhd0dseXBoc1JlY29yZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tEb3dubG9hZC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLRG93bmxvYWQuaAppbmRleCBlNjBjY2RmODE5OWJhMTUyMDRhMzgxZDk1OTI5MjJlZThiMDU5
YmVjLi4wNWJhMGU4YmQ5MWU2MTBiNjE5ZWUzN2ZiZGJhY2ZiNjAyMDkzNzNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tEb3dubG9hZC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Rvd25sb2FkLmgKQEAgLTMzLDcgKzMz
LDcgQEAKIAogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIAotV0tfQ0xBU1NfQVZBSUxBQkxFKG1h
Y29zKDEyLjApLCBpb3MoMTUuMCkpCitXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTEuMyksIGlv
cygxNC41KSkKIEBpbnRlcmZhY2UgV0tEb3dubG9hZCA6IE5TT2JqZWN0PE5TUHJvZ3Jlc3NSZXBv
cnRpbmc+CiAKIC8qIEBhYnN0cmFjdCBUaGUgcmVxdWVzdCB1c2VkIHRvIGluaXRpYXRlIHRoaXMg
ZG93bmxvYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tEb3dubG9hZERlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tEb3dubG9hZERlbGVnYXRlLmgKaW5kZXggMDEzZTM2MWIwNDNkMTdhYWRiMGVhMjQ5ZTM3ZDYw
NDdjZDlhYmNiMi4uNjE0YTA2OGU0NjIxMzM0NmM4M2RjNjdmYWNhOWRkNTMzODY1NDFiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRG93bmxvYWREZWxl
Z2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Rvd25sb2Fk
RGVsZWdhdGUuaApAQCAtMzYsNyArMzYsNyBAQAogdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwg
V0tEb3dubG9hZFJlZGlyZWN0UG9saWN5KSB7CiAgICAgV0tEb3dubG9hZFJlZGlyZWN0UG9saWN5
Q2FuY2VsLAogICAgIFdLRG93bmxvYWRSZWRpcmVjdFBvbGljeUFsbG93LAotfSBOU19TV0lGVF9O
QU1FKFdLRG93bmxvYWQuUmVkaXJlY3RQb2xpY3kpIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIu
MCksIGlvcygxNS4wKSk7Cit9IE5TX1NXSUZUX05BTUUoV0tEb3dubG9hZC5SZWRpcmVjdFBvbGlj
eSkgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4zKSwgaW9zKDE0LjUpKTsKIAogTlNfQVNTVU1F
X05PTk5VTExfQkVHSU4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLTmF2aWdhdGlvbkFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLTmF2aWdhdGlvbkFjdGlvbi5oCmluZGV4IDlkYTQ5NzMwN2YwMzU5YWNjZjUwOTA0
ZWViZGU4ZDZiYjQzNmM4ZTEuLmVhNTY1YjA0MTliOGNhMjhmMWEwNWY5ODViM2RmYWRhNWRjN2Y1
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmln
YXRpb25BY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tO
YXZpZ2F0aW9uQWN0aW9uLmgKQEAgLTc4LDcgKzc4LDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1h
Y29zKDEwLjEwKSwgaW9zKDguMCkpCiAKIC8qISBAYWJzdHJhY3QgQSB2YWx1ZSBpbmRpY2F0aW5n
IHdoZXRoZXIgdGhlIHdlYiBjb250ZW50IHVzZWQgYSBkb3dubG9hZCBhdHRyaWJ1dGUgdG8gaW5k
aWNhdGUgdGhhdCB0aGlzIHNob3VsZCBiZSBkb3dubG9hZGVkLgogKi8KLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgQk9PTCBzaG91bGRQZXJmb3JtRG93bmxvYWQgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgQk9PTCBzaG91bGRQZXJmb3JtRG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygx
MS4zKSwgaW9zKDE0LjUpKTsKIAogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EZWxlZ2F0ZS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRlbGVnYXRl
LmgKaW5kZXggYTZkNTE1NmU4ZmQwNGJmZGRkOTY4OThhMzE2ODVjNDEzOWU2Njk0Ni4uYmNmMjdk
YTFmNGFjOGUzMzAzYzM1Njg3MTg4ZWU5MmIzNjRiN2Q5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRlbGVnYXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRlbGVnYXRlLmgKQEAg
LTQ2LDcgKzQ2LDcgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIHR5cGVkZWYgTlNfRU5VTShO
U0ludGVnZXIsIFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSkgewogICAgIFdLTmF2aWdhdGlvbkFj
dGlvblBvbGljeUNhbmNlbCwKICAgICBXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBbGxvdywKLSAg
ICBXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lEb3dubG9hZCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEyLjApLCBpb3MoMTUuMCkpLAorICAgIFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeURvd25sb2Fk
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMyksIGlvcygxNC41KSksCiB9IFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wKSk7CiAKIC8qISBAZW51bSBXS05hdmlnYXRpb25S
ZXNwb25zZVBvbGljeQpAQCAtNTgsNyArNTgsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2Vy
LCBXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3kpIHsKIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIs
IFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5KSB7CiAgICAgV0tOYXZpZ2F0aW9uUmVzcG9uc2VQ
b2xpY3lDYW5jZWwsCiAgICAgV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lBbGxvdywKLSAgICBX
S05hdmlnYXRpb25SZXNwb25zZVBvbGljeURvd25sb2FkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
MTIuMCksIGlvcygxNS4wKSksCisgICAgV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lEb3dubG9h
ZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjMpLCBpb3MoMTQuNSkpLAogfSBXS19BUElfQVZB
SUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpOwogCiAvKiEgQSBjbGFzcyBjb25mb3JtaW5n
IHRvIHRoZSBXS05hdmlnYXRpb25EZWxlZ2F0ZSBwcm90b2NvbCBjYW4gcHJvdmlkZQpAQCAtMTc2
LDcgKzE3Niw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLTmF2aWdhdGlvblJlc3Bv
bnNlUG9saWN5KSB7CiAgQHBhcmFtIGRvd25sb2FkIFRoZSBkb3dubG9hZC4KICBAZGlzY3Vzc2lv
biBUaGUgZG93bmxvYWQgbmVlZHMgaXRzIGRlbGVnYXRlIHRvIGJlIHNldCB0byByZWNlaXZlIHVw
ZGF0ZXMgYWJvdXQgaXRzIHByb2dyZXNzLgogKi8KLS0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBuYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rpb24gKiluYXZpZ2F0
aW9uQWN0aW9uIGRpZEJlY29tZURvd25sb2FkOihXS0Rvd25sb2FkICopZG93bmxvYWQgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBuYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rpb24gKilu
YXZpZ2F0aW9uQWN0aW9uIGRpZEJlY29tZURvd25sb2FkOihXS0Rvd25sb2FkICopZG93bmxvYWQg
V0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4zKSwgaW9zKDE0LjUpKTsKIAogLyoKICBAYWJzdHJh
Y3QgQ2FsbGVkIGFmdGVyIHVzaW5nIFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5RG93bmxvYWQu
CkBAIC0xODUsNyArMTg1LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tOYXZpZ2F0
aW9uUmVzcG9uc2VQb2xpY3kpIHsKICBAcGFyYW0gZG93bmxvYWQgVGhlIGRvd25sb2FkLgogIEBk
aXNjdXNzaW9uIFRoZSBkb3dubG9hZCBuZWVkcyBpdHMgZGVsZWdhdGUgdG8gYmUgc2V0IHRvIHJl
Y2VpdmUgdXBkYXRlcyBhYm91dCBpdHMgcHJvZ3Jlc3MuCiAqLwotLSAodm9pZCl3ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IG5hdmlnYXRpb25SZXNwb25zZTooV0tOYXZpZ2F0aW9uUmVzcG9u
c2UgKiluYXZpZ2F0aW9uUmVzcG9uc2UgZGlkQmVjb21lRG93bmxvYWQ6KFdLRG93bmxvYWQgKilk
b3dubG9hZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOworLSAodm9p
ZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IG5hdmlnYXRpb25SZXNwb25zZTooV0tOYXZp
Z2F0aW9uUmVzcG9uc2UgKiluYXZpZ2F0aW9uUmVzcG9uc2UgZGlkQmVjb21lRG93bmxvYWQ6KFdL
RG93bmxvYWQgKilkb3dubG9hZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjMpLCBpb3MoMTQu
NSkpOwogCiBAZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1ByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tQcmVmZXJlbmNlcy5oCmluZGV4IDlmNjM3ZmNlOTlkOTFiYTgxMzcwMTFjYjY5ZDE4MWE2YTdj
YjRlZWYuLmUwY2UxN2JkMzZmMjUzMjdhNzBkODczNTkxMGExYjZhNzRlNjNjM2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMuaApAQCAt
NjIsNyArNjIsNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wKSkK
IAogLyohIEBhYnN0cmFjdCBBIEJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRleHQg
aW50ZXJhY3Rpb24gaXMgZGlzYWJsZWQuCiAqLwotQHByb3BlcnR5IChub25hdG9taWMsIGdldHRl
cj1pc1RleHRJbnRlcmFjdGlvbkVuYWJsZWQpIEJPT0wgdGV4dEludGVyYWN0aW9uRW5hYmxlZCBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOworQHByb3BlcnR5IChub25h
dG9taWMsIGdldHRlcj1pc1RleHRJbnRlcmFjdGlvbkVuYWJsZWQpIEJPT0wgdGV4dEludGVyYWN0
aW9uRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjMpLCBpb3MoMTQuNSkpOwogCiBA
ZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJ
RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGUuaAppbmRleCA4MjAwM2VhMTEwOThmYTYwZTdhYzdlMmNkZDI5ZWE4NjE1NGM3Y2NiLi41NWFj
ODFlMDI0MjY0MGE5ZThmODAyNjI2YTM4NThhM2IwZjY0ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZS5oCkBAIC00OSwxMyArNDksMTMg
QEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tQZXJtaXNzaW9uRGVjaXNpb24pIHsKICAg
ICBXS1Blcm1pc3Npb25EZWNpc2lvblByb21wdCwKICAgICBXS1Blcm1pc3Npb25EZWNpc2lvbkdy
YW50LAogICAgIFdLUGVybWlzc2lvbkRlY2lzaW9uRGVueSwKLX0gV0tfQVBJX0FWQUlMQUJMRSht
YWNvcygxMi4wKSwgaW9zKDE1LjApKTsKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4zKSwg
aW9zKDE0LjUpKTsKIAogdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tNZWRpYUNhcHR1cmVU
eXBlKSB7CiAgICAgV0tNZWRpYUNhcHR1cmVUeXBlQ2FtZXJhLAogICAgIFdLTWVkaWFDYXB0dXJl
VHlwZU1pY3JvcGhvbmUsCiAgICAgV0tNZWRpYUNhcHR1cmVUeXBlQ2FtZXJhQW5kTWljcm9waG9u
ZSwKLX0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKK30gV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMS4zKSwgaW9zKDE0LjUpKTsKIAogLyohIEEgY2xhc3MgY29uZm9y
bWluZyB0byB0aGUgV0tVSURlbGVnYXRlIHByb3RvY29sIHByb3ZpZGVzIG1ldGhvZHMgZm9yCiAg
cHJlc2VudGluZyBuYXRpdmUgVUkgb24gYmVoYWxmIG9mIGEgd2VicGFnZS4KQEAgLTE0NCwxNCAr
MTQ0LDE0IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLTWVkaWFDYXB0dXJlVHlwZSkg
ewogIEBwYXJhbSBkZWNpc2lvbkhhbmRsZXIgVGhlIGNvbXBsZXRpb24gaGFuZGxlciB0byBjYWxs
IG9uY2UgdGhlIGRlY2lzaW9uIGlzIG1hZGUKICBAZGlzY3Vzc2lvbiBJZiBub3QgaW1wbGVtZW50
ZWQsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgY2FsbGluZyB0aGUgZGVjaXNpb25IYW5kbGVy
IHdpdGggV0tQZXJtaXNzaW9uRGVjaXNpb25Qcm9tcHQuCiAgKi8KLS0gKHZvaWQpd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0TWVkaWFDYXB0dXJlUGVybWlzc2lvbkZvck9yaWdp
bjooV0tTZWN1cml0eU9yaWdpbiAqKW9yaWdpbiBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5m
byAqKWZyYW1lIHR5cGU6KFdLTWVkaWFDYXB0dXJlVHlwZSl0eXBlIGRlY2lzaW9uSGFuZGxlcjoo
dm9pZCAoXikoV0tQZXJtaXNzaW9uRGVjaXNpb24gZGVjaXNpb24pKWRlY2lzaW9uSGFuZGxlciBX
S19TV0lGVF9BU1lOQ19OQU1FKHdlYlZpZXcoXzpkZWNpZGVNZWRpYUNhcHR1cmVQZXJtaXNzaW9u
c0Zvcjppbml0aWF0ZWRCeTp0eXBlOikpIFdLX1NXSUZUX0FTWU5DKDUpIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgcmVxdWVzdE1lZGlhQ2FwdHVyZVBlcm1pc3Npb25Gb3JPcmlnaW46KFdLU2VjdXJp
dHlPcmlnaW4gKilvcmlnaW4gaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSB0
eXBlOihXS01lZGlhQ2FwdHVyZVR5cGUpdHlwZSBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKFdL
UGVybWlzc2lvbkRlY2lzaW9uIGRlY2lzaW9uKSlkZWNpc2lvbkhhbmRsZXIgV0tfU1dJRlRfQVNZ
TkNfTkFNRSh3ZWJWaWV3KF86ZGVjaWRlTWVkaWFDYXB0dXJlUGVybWlzc2lvbnNGb3I6aW5pdGlh
dGVkQnk6dHlwZTopKSBXS19TV0lGVF9BU1lOQyg1KSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEx
LjMpLCBpb3MoMTQuNSkpOwogCiAvKiEgQGFic3RyYWN0IEFsbG93cyB5b3VyIGFwcCB0byBkZXRl
cm1pbmUgd2hldGhlciBvciBub3QgdGhlIGdpdmVuIHNlY3VyaXR5IG9yaWdpbiBzaG91bGQgaGF2
ZSBhY2Nlc3MgdG8gdGhlIGRldmljZSdzIG9yaWVudGF0aW9uIGFuZCBtb3Rpb24uCiAgQHBhcmFt
IHNlY3VyaXR5T3JpZ2luIFRoZSBzZWN1cml0eSBvcmlnaW4gd2hpY2ggcmVxdWVzdGVkIGFjY2Vz
cyB0byB0aGUgZGV2aWNlJ3Mgb3JpZW50YXRpb24gYW5kIG1vdGlvbi4KICBAcGFyYW0gZnJhbWUg
VGhlIGZyYW1lIHRoYXQgaW5pdGlhdGVkIHRoZSByZXF1ZXN0LgogIEBwYXJhbSBkZWNpc2lvbkhh
bmRsZXIgVGhlIGRlY2lzaW9uIGhhbmRsZXIgdG8gY2FsbCBvbmNlIHRoZSBhcHAgaGFzIG1hZGUg
aXRzIGRlY2lzaW9uLgogICovCi0tICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
cmVxdWVzdERldmljZU9yaWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkZvck9yaWdpbjooV0tT
ZWN1cml0eU9yaWdpbiAqKW9yaWdpbiBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAqKWZy
YW1lIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoV0tQZXJtaXNzaW9uRGVjaXNpb24gZGVjaXNp
b24pKWRlY2lzaW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKGlvcygxNS4wKSkgV0tfQVBJX1VO
QVZBSUxBQkxFKG1hY29zKTsKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBy
ZXF1ZXN0RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uRm9yT3JpZ2luOihXS1Nl
Y3VyaXR5T3JpZ2luICopb3JpZ2luIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopZnJh
bWUgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS1Blcm1pc3Npb25EZWNpc2lvbiBkZWNpc2lv
bikpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDE0LjUpKSBXS19BUElfVU5B
VkFJTEFCTEUobWFjb3MpOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKaW5kZXggZGU2NzRhM2FjNjcxYzMx
NDFkOGZjN2JjN2Q4M2JjODdkZTg2MjUwZC4uZTQwOGFmM2Y2YmRlNTMxYjNmYmM0ZWVkY2FlNmVh
ODE0ZWNhZGE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcuaApAQCAtNjYsMTMgKzY2LDEzIEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdL
TWVkaWFQbGF5YmFja1N0YXRlKSB7CiAgICAgV0tNZWRpYVBsYXliYWNrU3RhdGVQbGF5aW5nLAog
ICAgIFdLTWVkaWFQbGF5YmFja1N0YXRlUGF1c2VkLAogICAgIFdLTWVkaWFQbGF5YmFja1N0YXRl
U3VzcGVuZGVkCi19IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7Cit9
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAKIHR5cGVkZWYgTlNf
RU5VTShOU0ludGVnZXIsIFdLTWVkaWFDYXB0dXJlU3RhdGUpIHsKICAgICBXS01lZGlhQ2FwdHVy
ZVN0YXRlTm9uZSwKICAgICBXS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZlLAogICAgIFdLTWVkaWFD
YXB0dXJlU3RhdGVNdXRlZCwKLX0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1
LjApKTsKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4zKSwgaW9zKDE0LjUpKTsKIAogLyoh
IEBhYnN0cmFjdCBBIGNvcHkgb2YgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCB3aGljaCB0aGUgd2Vi
IHZpZXcgd2FzCiAgaW5pdGlhbGl6ZWQuICovCkBAIC0zNDIsMTMgKzM0MiwxMyBAQCB0eXBlZGVm
IE5TX0VOVU0oTlNJbnRlZ2VyLCBXS01lZGlhQ2FwdHVyZVN0YXRlKSB7CiAvKiEgQGFic3RyYWN0
IENsb3NlcyBhbGwgb3V0LW9mLXdpbmRvdyBtZWRpYSBwcmVzZW50YXRpb25zIGluIGEgV0tXZWJW
aWV3LgogIEBkaXNjdXNzaW9uIEluY2x1ZGVzIHBpY3R1cmUtaW4tcGljdHVyZSBhbmQgZnVsbHNj
cmVlbi4KICAqLwotLSAodm9pZCljbG9zZUFsbE1lZGlhUHJlc2VudGF0aW9uc1dpdGhDb21wbGV0
aW9uSGFuZGxlcjoodm9pZCAoXl9OdWxsYWJsZSkodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tf
QVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpY2xvc2VBbGxN
ZWRpYVByZXNlbnRhdGlvbnNXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF5fTnVsbGFibGUp
KHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMyksIGlv
cygxNC41KSk7CiAtICh2b2lkKWNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zIFdLX0FQSV9ERVBS
RUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoImNsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zV2l0aENv
bXBsZXRpb25IYW5kbGVyOiIsIG1hY29zKDExLjMsIDEyLjApLCBpb3MoMTQuNSwgMTUuMCkpOwog
CiAvKiEgQGFic3RyYWN0IFBhdXNlcyBtZWRpYSBwbGF5YmFjayBpbiBXS1dlYlZpZXcuCiAgQGRp
c2N1c3Npb24gUGF1c2VzIG1lZGlhIHBsYXliYWNrLiBNZWRpYSBpbiB0aGUgcGFnZSBjYW4gYmUg
cmVzdGFydGVkIGJ5IGNhbGxpbmcgcGxheSgpIG9uIGEgbWVkaWEgZWxlbWVudCBvciByZXN1bWUo
KSBvbiBhbiBBdWRpb0NvbnRleHQgaW4gSmF2YVNjcmlwdC4gQSB1c2VyIGNhbiBhbHNvIHVzZSBt
ZWRpYSBjb250cm9scyB0byBwbGF5IG1lZGlhIGNvbnRlbnQgYWZ0ZXIgaXQgaGFzIGJlZW4gcGF1
c2VkLgogICovCi0tICh2b2lkKXBhdXNlQWxsTWVkaWFQbGF5YmFja1dpdGhDb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXl9OdWxsYWJsZSkodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpcGF1c2VBbGxNZWRpYVBs
YXliYWNrV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheX051bGxhYmxlKSh2b2lkKSljb21w
bGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjMpLCBpb3MoMTQuNSkpOwog
I2lmbmRlZiBfX3N3aWZ0X18KIC0gKHZvaWQpcGF1c2VBbGxNZWRpYVBsYXliYWNrOih2b2lkIChe
X051bGxhYmxlKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfREVQUkVDQVRFRF9XSVRI
X1JFUExBQ0VNRU5UKCJwYXVzZUFsbE1lZGlhUGxheWJhY2tXaXRoQ29tcGxldGlvbkhhbmRsZXI6
IiwgbWFjb3MoMTEuMywgMTIuMCksIGlvcygxNC41LCAxNS4wKSk7CiAjZW5kaWYKQEAgLTM1Nyw3
ICszNTcsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS01lZGlhQ2FwdHVyZVN0YXRl
KSB7CiAgIEBwYXJhbSBzdXNwZW5kZWQgV2hldGhlciBtZWRpYSBwbGF5YmFjayBzaG91bGQgYmUg
c3VzcGVuZGVkIG9yIHJlc3VtZWQuCiAgIEBkaXNjdXNzaW9uIElmIHN1c3BlbmRlZCBpcyB0cnVl
LCB0aGlzIHBhdXNlcyBtZWRpYSBwbGF5YmFjayBhbmQgYmxvY2tzIGFsbCBhdHRlbXB0cyBieSB0
aGUgcGFnZSBvciB0aGUgdXNlciB0byByZXN1bWUgdW50aWwgc2V0QWxsTWVkaWFQbGF5YmFja1N1
c3BlbmRlZCBpcyBjYWxsZWQgYWdhaW4gd2l0aCBzdXNwZW5kZWQgc2V0IHRvIGZhbHNlLiBNZWRp
YSBwbGF5YmFjayBzaG91bGQgYWx3YXlzIGJlIHN1c3BlbmRlZCBhbmQgcmVzdW1lZCBpbiBwYWly
cy4KICovCi0tICh2b2lkKXNldEFsbE1lZGlhUGxheWJhY2tTdXNwZW5kZWQ6KEJPT0wpc3VzcGVu
ZGVkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheX051bGxhYmxlKSh2b2lkKSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOworLSAodm9p
ZClzZXRBbGxNZWRpYVBsYXliYWNrU3VzcGVuZGVkOihCT09MKXN1c3BlbmRlZCBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXl9OdWxsYWJsZSkodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMS4zKSwgaW9zKDE0LjUpKTsKICNpZm5kZWYgX19zd2lmdF9fCiAt
ICh2b2lkKXJlc3VtZUFsbE1lZGlhUGxheWJhY2s6KHZvaWQgKF4gX051bGxhYmxlKSh2b2lkKSlj
b21wbGV0aW9uSGFuZGxlciBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJzZXRB
bGxNZWRpYVBsYXliYWNrU3VzcGVuZGVkOmNvbXBsZXRpb25IYW5kbGVyOiIsIG1hY29zKDExLjMs
IDEyLjApLCBpb3MoMTQuNSwgMTUuMCkpOwogLSAodm9pZClzdXNwZW5kQWxsTWVkaWFQbGF5YmFj
azoodm9pZCAoXl9OdWxsYWJsZSkodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0RFUFJF
Q0FURURfV0lUSF9SRVBMQUNFTUVOVCgic2V0QWxsTWVkaWFQbGF5YmFja1N1c3BlbmRlZDpjb21w
bGV0aW9uSGFuZGxlcjoiLCBtYWNvcygxMS4zLCAxMi4wKSwgaW9zKDE0LjUsIDE1LjApKTsKQEAg
LTM3MCw3ICszNzAsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS01lZGlhQ2FwdHVy
ZVN0YXRlKSB7CiAgSWYgbm8gbWVkaWEgcGxheWJhY2sgZXhpc3RzIGluIHRoZSBjdXJyZW50IFdL
V2ViVmlldywgV0tNZWRpYVBsYXliYWNrU3RhdGUgd2lsbCBlcXVhbAogIFdLTWVkaWFQbGF5YmFj
a1N0YXRlTm9uZS4KICAqLwotLSAodm9pZClyZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlV2l0aENv
bXBsZXRpb25IYW5kbGVyOih2b2lkICheKShXS01lZGlhUGxheWJhY2tTdGF0ZSkpY29tcGxldGlv
bkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZv
aWQpcmVxdWVzdE1lZGlhUGxheWJhY2tTdGF0ZVdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoV0tNZWRpYVBsYXliYWNrU3RhdGUpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAjaWZuZGVmIF9fc3dpZnRfXwogLSAodm9pZCly
ZXF1ZXN0TWVkaWFQbGF5YmFja1N0YXRlOih2b2lkICheKShXS01lZGlhUGxheWJhY2tTdGF0ZSkp
Y29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgicmVx
dWVzdE1lZGlhUGxheWJhY2tTdGF0ZVdpdGhDb21wbGV0aW9uSGFuZGxlcjoiLCBtYWNvcygxMS4z
LCAxMi4wKSwgaW9zKDE0LjUsIDE1LjApKTsKICNlbmRpZgpAQCAtMzc5LDEzICszNzksMTMgQEAg
dHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tNZWRpYUNhcHR1cmVTdGF0ZSkgewogIEBkaXNj
dXNzaW9uIEBsaW5rIFdLV2ViVmlldyBAL2xpbmsgaXMga2V5LXZhbHVlIG9ic2VydmluZyAoS1ZP
KSBjb21wbGlhbnQKICBmb3IgdGhpcyBwcm9wZXJ0eS4KICAqLwotQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBXS01lZGlhQ2FwdHVyZVN0YXRlIGNhbWVyYUNhcHR1cmVTdGF0ZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOworQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBXS01lZGlhQ2FwdHVyZVN0YXRlIGNhbWVyYUNhcHR1cmVTdGF0ZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zKDExLjMpLCBpb3MoMTQuNSkpOwogCiAvKiEgQGFic3RyYWN0IFRo
ZSBzdGF0ZSBvZiBtaWNyb3Bob25lIGNhcHR1cmUgb24gYSB3ZWIgcGFnZS4KICBAZGlzY3Vzc2lv
biBAbGluayBXS1dlYlZpZXcgQC9saW5rIGlzIGtleS12YWx1ZSBvYnNlcnZpbmcgKEtWTykgY29t
cGxpYW50CiAgZm9yIHRoaXMgcHJvcGVydHkuCiAgKi8KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgV0tNZWRpYUNhcHR1cmVTdGF0ZSBtaWNyb3Bob25lQ2FwdHVyZVN0YXRlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHkpIFdLTWVkaWFDYXB0dXJlU3RhdGUgbWljcm9waG9uZUNhcHR1cmVTdGF0ZSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDExLjMpLCBpb3MoMTQuNSkpOwogCiAvKiEgQGFic3RyYWN0
IFNldCBjYW1lcmEgY2FwdHVyZSBzdGF0ZSBvZiBhIFdLV2ViVmlldy4KICBAcGFyYW0gc3RhdGUg
U3RhdGUgdG8gYXBwbHkgZm9yIGNhcHR1cmUuCkBAIC0zOTUsNyArMzk1LDcgQEAgdHlwZWRlZiBO
U19FTlVNKE5TSW50ZWdlciwgV0tNZWRpYUNhcHR1cmVTdGF0ZSkgewogIElmIHZhbHVlIGlzIFdL
TWVkaWFDYXB0dXJlU3RhdGVNdXRlZCwgYW55IGFjdGl2ZSBjYW1lcmEgY2FwdHVyZSB3aWxsIGJl
Y29tZSBtdXRlZC4KICBJZiB2YWx1ZSBpcyBXS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZlLCBhbnkg
bXV0ZWQgY2FtZXJhIGNhcHR1cmUgd2lsbCBiZWNvbWUgYWN0aXZlLgogICovCi0tICh2b2lkKXNl
dENhbWVyYUNhcHR1cmVTdGF0ZTooV0tNZWRpYUNhcHR1cmVTdGF0ZSlzdGF0ZSBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXl9OdWxsYWJsZSkodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpc2V0Q2FtZXJhQ2Fw
dHVyZVN0YXRlOihXS01lZGlhQ2FwdHVyZVN0YXRlKXN0YXRlIGNvbXBsZXRpb25IYW5kbGVyOih2
b2lkICheX051bGxhYmxlKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDExLjMpLCBpb3MoMTQuNSkpOwogCiAvKiEgQGFic3RyYWN0IFNldCBtaWNyb3Bob25l
IGNhcHR1cmUgc3RhdGUgb2YgYSBXS1dlYlZpZXcuCiAgQHBhcmFtIHN0YXRlIHN0YXRlIHRvIGFw
cGx5IGZvciBjYXB0dXJlLgpAQCAtNDA1LDcgKzQwNSw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0lu
dGVnZXIsIFdLTWVkaWFDYXB0dXJlU3RhdGUpIHsKICBJZiB2YWx1ZSBpcyBXS01lZGlhQ2FwdHVy
ZVN0YXRlTXV0ZWQsIGFueSBhY3RpdmUgbWljcm9waG9uZSBjYXB0dXJlIHdpbGwgYmVjb21lIG11
dGVkLgogIElmIHZhbHVlIGlzIFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUsIGFueSBtdXRlZCBt
aWNyb3Bob25lIGNhcHR1cmUgd2lsbCBiZWNvbWUgYWN0aXZlLgogICovCi0tICh2b2lkKXNldE1p
Y3JvcGhvbmVDYXB0dXJlU3RhdGU6KFdLTWVkaWFDYXB0dXJlU3RhdGUpc3RhdGUgY29tcGxldGlv
bkhhbmRsZXI6KHZvaWQgKF5fTnVsbGFibGUpKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CistICh2b2lkKXNldE1pY3JvcGhv
bmVDYXB0dXJlU3RhdGU6KFdLTWVkaWFDYXB0dXJlU3RhdGUpc3RhdGUgY29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQgKF5fTnVsbGFibGUpKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAKIC8qISBAYWJzdHJhY3QgR2V0IGEgc25h
cHNob3QgZm9yIHRoZSB2aXNpYmxlIHZpZXdwb3J0IG9mIFdLV2ViVmlldy4KICBAcGFyYW0gc25h
cHNob3RDb25maWd1cmF0aW9uIEFuIG9iamVjdCB0aGF0IHNwZWNpZmllcyBob3cgdGhlIHNuYXBz
aG90IGlzIGNvbmZpZ3VyZWQuCkBAIC01MDgsMTYgKzUwOCwxNiBAQCBUaGUgdW5pZm9ybSB0eXBl
IGlkZW50aWZpZXIga1VUVHlwZVdlYkFyY2hpdmUgY2FuIGJlIHVzZWQgZ2V0IHRoZSByZWxhdGVk
IHBhc3RlYgogLyogQGFic3RyYWN0IEJlZ2lucyBhIGRvd25sb2FkIGluIHRoZSBjb250ZXh0IG9m
IHRoZSBjdXJyZW50bHkgZGlzcGxheWVkIHdlYnBhZ2UgYXMgaWYgdGhlIFdLTmF2aWdhdGlvbkRl
bGVnYXRlIHR1cm5lZCBhIG5hdmlnYXRpb24gaW50byBhIGRvd25sb2FkIGluc3RlYWQKICBAcGFy
YW0gcmVxdWVzdCBUaGUgcmVxdWVzdCBzcGVjaWZ5aW5nIHRoZSBVUkwgdG8gZG93bmxvYWQuCiAg
QHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgY2FsbGVkIHdoZW4gdGhlIGRvd25sb2Fk
IGhhcyBzdGFydGVkLgotIEBkaXNjdXNzaW9uIFRoZSBkb3dubG9hZCBuZWVkcyBpdHMgZGVsZWdh
dGUgdG8gYmUgc2V0IGluIHRoZSBjb21wbGV0aW9uSGFuZGxlciATdG8gcmVjZWl2ZSB1cGRhdGVz
IGFib3V0IGl0cyBwcm9ncmVzcy4KKyBAZGlzY3Vzc2lvbiBUaGUgZG93bmxvYWQgbmVlZHMgaXRz
IGRlbGVnYXRlIHRvIGJlIHNldCBpbiB0aGUgY29tcGxldGlvbkhhbmRsZXIgdG8gcmVjZWl2ZSB1
cGRhdGVzIGFib3V0IGl0cyBwcm9ncmVzcy4KICAqLwotLSAodm9pZClzdGFydERvd25sb2FkVXNp
bmdSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGNvbXBsZXRpb25IYW5kbGVyOih2b2lk
KF4pKFdLRG93bmxvYWQgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpc3RhcnREb3dubG9hZFVzaW5nUmVxdWVzdDoo
TlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCheKShXS0Rvd25s
b2FkICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMyksIGlv
cygxNC41KSk7CiAKIC8qIEBhYnN0cmFjdCBSZXN1bWVzIGEgZG93bmxvYWQgdGhhdCBmYWlsZWQg
b3Igd2FzIGNhbmNlbGVkLgogIEBwYXJhbSByZXN1bWVEYXRhIERhdGEgZnJvbSBhIFdLRG93bmxv
YWREZWxlZ2F0ZSdzIGRpZEZhaWxXaXRoRXJyb3Igb3IgYSBXS0Rvd25sb2FkJ3MgY2FuY2VsIGNv
bXBsZXRpb25IYW5kbGVyLgogIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIGNhbGxl
ZCB3aGVuIHRoZSBkb3dubG9hZCBoYXMgcmVzdW1lZC4KICBAZGlzY3Vzc2lvbiBUaGUgZG93bmxv
YWQgbmVlZHMgaXRzIGRlbGVnYXRlIHRvIGJlIHNldCBpbiB0aGUgY29tcGxldGlvbkhhbmRsZXIg
dG8gcmVjZWl2ZSB1cGRhdGVzIGFib3V0IGl0cyBwcm9ncmVzcy4KICAqLwotLSAodm9pZClyZXN1
bWVEb3dubG9hZEZyb21SZXN1bWVEYXRhOihOU0RhdGEgKilyZXN1bWVEYXRhIGNvbXBsZXRpb25I
YW5kbGVyOih2b2lkKF4pKFdLRG93bmxvYWQgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpcmVzdW1lRG93bmxvYWRG
cm9tUmVzdW1lRGF0YTooTlNEYXRhICopcmVzdW1lRGF0YSBjb21wbGV0aW9uSGFuZGxlcjoodm9p
ZCheKShXS0Rvd25sb2FkICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3MoMTEuMyksIGlvcygxNC41KSk7CiAKIC8qIEBhYnN0cmFjdCBUaGUgbWVkaWEgdHlwZSBmb3Ig
dGhlIFdLV2ViVmlldwogIEBkaXNjdXNzaW9uIFRoZSB2YWx1ZSBvZiBtZWRpYVR5cGUgd2lsbCBv
dmVycmlkZSB0aGUgbm9ybWFsIHZhbHVlIG9mIHRoZSBDU1MgbWVkaWEgcHJvcGVydHkuCkBAIC01
MzAsNyArNTMwLDcgQEAgVGhlIHVuaWZvcm0gdHlwZSBpZGVudGlmaWVyIGtVVFR5cGVXZWJBcmNo
aXZlIGNhbiBiZSB1c2VkIGdldCB0aGUgcmVsYXRlZCBwYXN0ZWIKICBAZGlzY3Vzc2lvbiBUaGUg
aW50ZXJhY3Rpb24gc3RhdGUgKGJhY2stZm9yd2FyZCBsaXN0LCBjdXJyZW50bHkgbG9hZGVkIHBh
Z2UsIHNjcm9sbCBwb3NpdGlvbiwgZm9ybSBkYXRhLi4uKSBmb3IgdGhlIFdLV2ViVmlldywgd2hp
Y2gKICBjYW4gYmUgcmV0cmlldmVkIGFuZCBzZXQgb24gYW5vdGhlciBXS1dlYlZpZXcgdG8gcmVz
dG9yZSBzdGF0ZS4KICovCi1AcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIGlk
IGludGVyYWN0aW9uU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjAp
KTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgaWQgaW50ZXJhY3Rpb25T
dGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjMpLCBpb3MoMTQuNSkpOwogCiAvKiEgQGFi
c3RyYWN0IFNldHMgdGhlIHdlYnBhZ2UgY29udGVudHMgZnJvbSB0aGUgcGFzc2VkIGRhdGEgYXMg
aWYgaXQgd2FzIHRoZQogIHJlc3BvbnNlIHRvIHRoZSBzdXBwbGllZCByZXF1ZXN0LiBUaGUgcmVx
dWVzdCBpcyBuZXZlciBhY3R1YWxseSBzZW50IHRvIHRoZQpAQCAtNTQyLDggKzU0Miw4IEBAIFRo
ZSB1bmlmb3JtIHR5cGUgaWRlbnRpZmllciBrVVRUeXBlV2ViQXJjaGl2ZSBjYW4gYmUgdXNlZCBn
ZXQgdGhlIHJlbGF0ZWQgcGFzdGViCiAgQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gdXNlIGFzIHRo
ZSBjb250ZW50cyBvZiB0aGUgd2VicGFnZS4KICBAcmVzdWx0IEEgbmV3IG5hdmlnYXRpb24uCiAq
LwotLSAoV0tOYXZpZ2F0aW9uICopbG9hZFNpbXVsYXRlZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAq
KXJlcXVlc3QgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSByZXNwb25zZURhdGE6
KE5TRGF0YSAqKWRhdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsK
LS0gKFdLTmF2aWdhdGlvbiAqKWxvYWRTaW11bGF0ZWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKily
ZXF1ZXN0IHdpdGhSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlc3BvbnNlIHJlc3BvbnNlRGF0
YTooTlNEYXRhICopZGF0YSBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJsb2Fk
U2ltdWxhdGVkUmVxdWVzdDpyZXNwb25zZTpyZXNwb25zZURhdGE6IiwgbWFjb3MoMTIuMCwgMTIu
MCksIGlvcygxNS4wLCAxNS4wKSk7CistIChXS05hdmlnYXRpb24gKilsb2FkU2ltdWxhdGVkUmVx
dWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJl
c3BvbnNlIHJlc3BvbnNlRGF0YTooTlNEYXRhICopZGF0YSBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDExLjMpLCBpb3MoMTQuNSkpOworLSAoV0tOYXZpZ2F0aW9uICopbG9hZFNpbXVsYXRlZFJlcXVl
c3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Qgd2l0aFJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICop
cmVzcG9uc2UgcmVzcG9uc2VEYXRhOihOU0RhdGEgKilkYXRhIFdLX0FQSV9ERVBSRUNBVEVEX1dJ
VEhfUkVQTEFDRU1FTlQoImxvYWRTaW11bGF0ZWRSZXF1ZXN0OnJlc3BvbnNlOnJlc3BvbnNlRGF0
YToiLCBtYWNvcygxMS4zLCAxMi4wKSwgaW9zKDE0LjUsIDE1LjApKTsKIAogLyohIEBhYnN0cmFj
dCBOYXZpZ2F0ZXMgdG8gdGhlIHJlcXVlc3RlZCBmaWxlIFVSTCBvbiB0aGUgZmlsZXN5c3RlbS4K
ICBAcGFyYW0gcmVxdWVzdCBUaGUgcmVxdWVzdCBzcGVjaWZ5aW5nIHRoZSBmaWxlIFVSTCB0byB3
aGljaCB0byBuYXZpZ2F0ZS4KQEAgLTU4NSw5ICs1ODUsOSBAQCBUaGUgdW5pZm9ybSB0eXBlIGlk
ZW50aWZpZXIga1VUVHlwZVdlYkFyY2hpdmUgY2FuIGJlIHVzZWQgZ2V0IHRoZSByZWxhdGVkIHBh
c3RlYgogIHByb3BlcnR5LgogICovCiAjaWYgVEFSR0VUX09TX0lQSE9ORQotQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5LCBudWxsYWJsZSkgVUlDb2xvciAqdGhlbWVDb2xvciBXS19BUElf
QVZBSUxBQkxFKGlvcygxNS4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIG51
bGxhYmxlKSBVSUNvbG9yICp0aGVtZUNvbG9yIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDE0LjUpKTsK
ICNlbHNlCi1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIG51bGxhYmxlKSBOU0NvbG9y
ICp0aGVtZUNvbG9yIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCkpOworQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5LCBudWxsYWJsZSkgTlNDb2xvciAqdGhlbWVDb2xvciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKDExLjMpKTsKICNlbmRpZgogCiAvKiEgQGFic3RyYWN0IFRoZSBjb2xv
ciBkcmF3biBiZWhpbmQgdGhlIGFjdGl2ZSBwYWdlLgpAQCAtNTk5LDkgKzU5OSw5IEBAIFRoZSB1
bmlmb3JtIHR5cGUgaWRlbnRpZmllciBrVVRUeXBlV2ViQXJjaGl2ZSBjYW4gYmUgdXNlZCBnZXQg
dGhlIHJlbGF0ZWQgcGFzdGViCiAgQGxpbmsgV0tXZWJWaWV3IEAvbGluayBpcyBrZXktdmFsdWUg
b2JzZXJ2aW5nIChLVk8pIGNvbXBsaWFudCBmb3IgdGhpcyBwcm9wZXJ0eS4KICAqLwogI2lmIFRB
UkdFVF9PU19JUEhPTkUKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsX3Jlc2V0dGFibGUsIGNv
cHkpIFVJQ29sb3IgKnVuZGVyUGFnZUJhY2tncm91bmRDb2xvciBXS19BUElfQVZBSUxBQkxFKGlv
cygxNS4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbF9yZXNldHRhYmxlLCBjb3B5KSBV
SUNvbG9yICp1bmRlclBhZ2VCYWNrZ3JvdW5kQ29sb3IgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTQu
NSkpOwogI2Vsc2UKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsX3Jlc2V0dGFibGUsIGNvcHkp
IE5TQ29sb3IgKnVuZGVyUGFnZUJhY2tncm91bmRDb2xvciBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEyLjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsX3Jlc2V0dGFibGUsIGNvcHkpIE5T
Q29sb3IgKnVuZGVyUGFnZUJhY2tncm91bmRDb2xvciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEx
LjMpKTsKICNlbmRpZgogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaAppbmRleCA1OTJhODJkM2U5
ZDAzNzFjNDgwNTQwNjI3MmE1MmMzODdhNThkMDM0Li4zMzJlYWViNzNhNTZiOGIzYzU3ODFhZGFm
YjdkMGQ5NGI3MzQ5ZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgKQEAgLTEzMSw3ICsxMzEsNyBA
QCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wKSkKIC8qISBAYWJzdHJh
Y3QgQSBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBIVFRQIHJlcXVlc3RzIHRvIHNl
cnZlcnMga25vd24gdG8gc3VwcG9ydCBIVFRQUyBzaG91bGQgYmUgYXV0b21hdGljYWxseSB1cGdy
YWRlZCB0byBIVFRQUyByZXF1ZXN0cy4KICBAZGlzY3Vzc2lvbiBUaGUgZGVmYXVsdCB2YWx1ZSBp
cyBZRVMuCiAgKi8KLUBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVwZ3JhZGVLbm93bkhvc3Rz
VG9IVFRQUyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOworQHByb3Bl
cnR5IChub25hdG9taWMpIEJPT0wgdXBncmFkZUtub3duSG9zdHNUb0hUVFBTIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBX
S0F1ZGlvdmlzdWFsTWVkaWFUeXBlcyBtZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBs
YXliYWNrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436329</attachid>
            <date>2021-08-24 14:20:47 -0700</date>
            <delta_ts>2021-08-30 15:41:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229466-20210824142046.patch</filename>
            <type>text/plain</type>
            <size>9679</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhkYjA1Mzc4ZWQwMDYwZDk4
NDEzZmNmNzMzYjYyNjNkOWMzMjdiNzQuLjc1OTM5NjA5ZWQxZjk1YTY3NWU5YWNlYjU2ODY0Nzhh
MzU1ODRhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDgtMjQgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVcGRhdGUgYXZh
aWxhYmlsaXR5IG1hY3JvcyBmb3IgQVBJcyBhdmFpbGFibGUgaW4gaU9TIDE0LjUgYW5kIG1hY09T
IDExLjMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
OTQ2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
IG1pc3Rha2VubHkgdXBkYXRlZCB0aGVtIHRvIDE1LjAvMTIuMAorCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS0Rvd25sb2FkLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS0Rvd25sb2FkRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
TmF2aWdhdGlvbkFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZp
Z2F0aW9uRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVy
ZW5jZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oOgorCiAy
MDIxLTA4LTIzICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUHJlc2VydmUgY29sb3Igc3BhY2Ugd2hlbiBnZXR0aW5nIGN1cnJlbnQgY29sb3IgaW4gRGlz
cGxheUxpc3Q6OkRyYXdHbHlwaHNSZWNvcmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLRG93bmxvYWQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS0Rvd25sb2FkLmgKaW5kZXggZTYwY2NkZjgxOTliYTE1MjA0YTM4MWQ5NTky
OTIyZWU4YjA1OWJlYy4uMDViYTBlOGJkOTFlNjEwYjYxOWVlMzdmYmRiYWNmYjYwMjA5MzczYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLRG93bmxvYWQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tEb3dubG9hZC5oCkBA
IC0zMyw3ICszMyw3IEBACiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKLVdLX0NMQVNTX0FW
QUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKQorV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29z
KDExLjMpLCBpb3MoMTQuNSkpCiBAaW50ZXJmYWNlIFdLRG93bmxvYWQgOiBOU09iamVjdDxOU1By
b2dyZXNzUmVwb3J0aW5nPgogCiAvKiBAYWJzdHJhY3QgVGhlIHJlcXVlc3QgdXNlZCB0byBpbml0
aWF0ZSB0aGlzIGRvd25sb2FkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLRG93bmxvYWREZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLRG93bmxvYWREZWxlZ2F0ZS5oCmluZGV4IDAxM2UzNjFiMDQzZDE3YWFkYjBl
YTI0OWUzN2Q2MDQ3Y2Q5YWJjYjIuLjYxNGEwNjhlNDYyMTMzNDZjODNkYzY3ZmFjYTlkZDUzMzg2
NTQxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Rv
d25sb2FkRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tEb3dubG9hZERlbGVnYXRlLmgKQEAgLTM2LDcgKzM2LDcgQEAKIHR5cGVkZWYgTlNfRU5VTShO
U0ludGVnZXIsIFdLRG93bmxvYWRSZWRpcmVjdFBvbGljeSkgewogICAgIFdLRG93bmxvYWRSZWRp
cmVjdFBvbGljeUNhbmNlbCwKICAgICBXS0Rvd25sb2FkUmVkaXJlY3RQb2xpY3lBbGxvdywKLX0g
TlNfU1dJRlRfTkFNRShXS0Rvd25sb2FkLlJlZGlyZWN0UG9saWN5KSBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOworfSBOU19TV0lGVF9OQU1FKFdLRG93bmxvYWQuUmVk
aXJlY3RQb2xpY3kpIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAK
IE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25BY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25BY3Rpb24uaAppbmRleCA5ZGE0OTczMDdmMDM1
OWFjY2Y1MDkwNGVlYmRlOGQ2YmI0MzZjOGUxLi5lYTU2NWIwNDE5YjhjYTI4ZjFhMDVmOTg1YjNk
ZmFkYTVkYzdmNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tOYXZpZ2F0aW9uQWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLTmF2aWdhdGlvbkFjdGlvbi5oCkBAIC03OCw3ICs3OCw3IEBAIFdLX0NMQVNTX0FW
QUlMQUJMRShtYWNvcygxMC4xMCksIGlvcyg4LjApKQogCiAvKiEgQGFic3RyYWN0IEEgdmFsdWUg
aW5kaWNhdGluZyB3aGV0aGVyIHRoZSB3ZWIgY29udGVudCB1c2VkIGEgZG93bmxvYWQgYXR0cmli
dXRlIHRvIGluZGljYXRlIHRoYXQgdGhpcyBzaG91bGQgYmUgZG93bmxvYWRlZC4KICovCi1AcHJv
cGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgc2hvdWxkUGVyZm9ybURvd25sb2FkIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIEJPT0wgc2hvdWxkUGVyZm9ybURvd25sb2FkIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9u
RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRp
b25EZWxlZ2F0ZS5oCmluZGV4IGE2ZDUxNTZlOGZkMDRiZmRkZDk2ODk4YTMxNjg1YzQxMzllNjY5
NDYuLmJjZjI3ZGExZjRhYzhlMzMwM2MzNTY4NzE4OGVlOTJiMzY0YjdkOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EZWxlZ2F0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EZWxl
Z2F0ZS5oCkBAIC00Niw3ICs0Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiB0eXBlZGVm
IE5TX0VOVU0oTlNJbnRlZ2VyLCBXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3kpIHsKICAgICBXS05h
dmlnYXRpb25BY3Rpb25Qb2xpY3lDYW5jZWwsCiAgICAgV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5
QWxsb3csCi0gICAgV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5RG93bmxvYWQgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKSwKKyAgICBXS05hdmlnYXRpb25BY3Rpb25Qb2xp
Y3lEb3dubG9hZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjMpLCBpb3MoMTQuNSkpLAogfSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpOwogCiAvKiEgQGVudW0gV0tO
YXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kKQEAgLTU4LDcgKzU4LDcgQEAgdHlwZWRlZiBOU19FTlVN
KE5TSW50ZWdlciwgV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5KSB7CiB0eXBlZGVmIE5TX0VOVU0o
TlNJbnRlZ2VyLCBXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSkgewogICAgIFdLTmF2aWdhdGlv
blJlc3BvbnNlUG9saWN5Q2FuY2VsLAogICAgIFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5QWxs
b3csCi0gICAgV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lEb3dubG9hZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpLAorICAgIFdLTmF2aWdhdGlvblJlc3BvbnNlUG9s
aWN5RG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4zKSwgaW9zKDE0LjUpKSwKIH0g
V0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMCksIGlvcyg4LjApKTsKIAogLyohIEEgY2xhc3Mg
Y29uZm9ybWluZyB0byB0aGUgV0tOYXZpZ2F0aW9uRGVsZWdhdGUgcHJvdG9jb2wgY2FuIHByb3Zp
ZGUKQEAgLTE3Niw3ICsxNzYsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS05hdmln
YXRpb25SZXNwb25zZVBvbGljeSkgewogIEBwYXJhbSBkb3dubG9hZCBUaGUgZG93bmxvYWQuCiAg
QGRpc2N1c3Npb24gVGhlIGRvd25sb2FkIG5lZWRzIGl0cyBkZWxlZ2F0ZSB0byBiZSBzZXQgdG8g
cmVjZWl2ZSB1cGRhdGVzIGFib3V0IGl0cyBwcm9ncmVzcy4KICovCi0tICh2b2lkKXdlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcgbmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9u
ICopbmF2aWdhdGlvbkFjdGlvbiBkaWRCZWNvbWVEb3dubG9hZDooV0tEb3dubG9hZCAqKWRvd25s
b2FkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CistICh2b2lkKXdl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9u
QWN0aW9uICopbmF2aWdhdGlvbkFjdGlvbiBkaWRCZWNvbWVEb3dubG9hZDooV0tEb3dubG9hZCAq
KWRvd25sb2FkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAKIC8q
CiAgQGFic3RyYWN0IENhbGxlZCBhZnRlciB1c2luZyBXS05hdmlnYXRpb25SZXNwb25zZVBvbGlj
eURvd25sb2FkLgpAQCAtMTg1LDcgKzE4NSw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIs
IFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5KSB7CiAgQHBhcmFtIGRvd25sb2FkIFRoZSBkb3du
bG9hZC4KICBAZGlzY3Vzc2lvbiBUaGUgZG93bmxvYWQgbmVlZHMgaXRzIGRlbGVnYXRlIHRvIGJl
IHNldCB0byByZWNlaXZlIHVwZGF0ZXMgYWJvdXQgaXRzIHByb2dyZXNzLgogKi8KLS0gKHZvaWQp
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBuYXZpZ2F0aW9uUmVzcG9uc2U6KFdLTmF2aWdh
dGlvblJlc3BvbnNlICopbmF2aWdhdGlvblJlc3BvbnNlIGRpZEJlY29tZURvd25sb2FkOihXS0Rv
d25sb2FkICopZG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjAp
KTsKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBuYXZpZ2F0aW9uUmVzcG9u
c2U6KFdLTmF2aWdhdGlvblJlc3BvbnNlICopbmF2aWdhdGlvblJlc3BvbnNlIGRpZEJlY29tZURv
d25sb2FkOihXS0Rvd25sb2FkICopZG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4z
KSwgaW9zKDE0LjUpKTsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJlZmVyZW5jZXMuaAppbmRleCA5ZjYzN2ZjZTk5ZDkxYmE4MTM3MDExY2I2
OWQxODFhNmE3Y2I0ZWVmLi5lMGNlMTdiZDM2ZjI1MzI3YTcwZDg3MzU5MTBhMWI2YTc0ZTYzYzNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJl
bmNlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzLmgKQEAgLTYyLDcgKzYyLDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwg
aW9zKDguMCkpCiAKIC8qISBAYWJzdHJhY3QgQSBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hl
dGhlciB0ZXh0IGludGVyYWN0aW9uIGlzIGRpc2FibGVkLgogKi8KLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBnZXR0ZXI9aXNUZXh0SW50ZXJhY3Rpb25FbmFibGVkKSBCT09MIHRleHRJbnRlcmFjdGlv
bkVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBnZXR0ZXI9aXNUZXh0SW50ZXJhY3Rpb25FbmFibGVkKSBCT09MIHRl
eHRJbnRlcmFjdGlvbkVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4zKSwgaW9zKDE0
LjUpKTsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3LmgKaW5kZXggZGU2NzRhM2FjNjcxYzMxNDFkOGZjN2JjN2Q4M2JjODdkZTg2MjUwZC4u
OTE2YTVmNmJhZDFjZjUzZjcyMTMzMWE5MjMyNTAzMjgzNDNhNWZkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaApAQCAtNjYsNyArNjYsNyBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS01lZGlhUGxheWJhY2tTdGF0ZSkgewogICAgIFdL
TWVkaWFQbGF5YmFja1N0YXRlUGxheWluZywKICAgICBXS01lZGlhUGxheWJhY2tTdGF0ZVBhdXNl
ZCwKICAgICBXS01lZGlhUGxheWJhY2tTdGF0ZVN1c3BlbmRlZAotfSBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOworfSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjMp
LCBpb3MoMTQuNSkpOwogCiB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS01lZGlhQ2FwdHVy
ZVN0YXRlKSB7CiAgICAgV0tNZWRpYUNhcHR1cmVTdGF0ZU5vbmUsCkBAIC01MDgsMTYgKzUwOCwx
NiBAQCBUaGUgdW5pZm9ybSB0eXBlIGlkZW50aWZpZXIga1VUVHlwZVdlYkFyY2hpdmUgY2FuIGJl
IHVzZWQgZ2V0IHRoZSByZWxhdGVkIHBhc3RlYgogLyogQGFic3RyYWN0IEJlZ2lucyBhIGRvd25s
b2FkIGluIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50bHkgZGlzcGxheWVkIHdlYnBhZ2UgYXMg
aWYgdGhlIFdLTmF2aWdhdGlvbkRlbGVnYXRlIHR1cm5lZCBhIG5hdmlnYXRpb24gaW50byBhIGRv
d25sb2FkIGluc3RlYWQKICBAcGFyYW0gcmVxdWVzdCBUaGUgcmVxdWVzdCBzcGVjaWZ5aW5nIHRo
ZSBVUkwgdG8gZG93bmxvYWQuCiAgQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgY2Fs
bGVkIHdoZW4gdGhlIGRvd25sb2FkIGhhcyBzdGFydGVkLgotIEBkaXNjdXNzaW9uIFRoZSBkb3du
bG9hZCBuZWVkcyBpdHMgZGVsZWdhdGUgdG8gYmUgc2V0IGluIHRoZSBjb21wbGV0aW9uSGFuZGxl
ciATdG8gcmVjZWl2ZSB1cGRhdGVzIGFib3V0IGl0cyBwcm9ncmVzcy4KKyBAZGlzY3Vzc2lvbiBU
aGUgZG93bmxvYWQgbmVlZHMgaXRzIGRlbGVnYXRlIHRvIGJlIHNldCBpbiB0aGUgY29tcGxldGlv
bkhhbmRsZXIgdG8gcmVjZWl2ZSB1cGRhdGVzIGFib3V0IGl0cyBwcm9ncmVzcy4KICAqLwotLSAo
dm9pZClzdGFydERvd25sb2FkVXNpbmdSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGNv
bXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKFdLRG93bmxvYWQgKikpY29tcGxldGlvbkhhbmRsZXIg
V0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0gKHZvaWQpc3RhcnRE
b3dubG9hZFVzaW5nUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCheKShXS0Rvd25sb2FkICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAKIC8qIEBhYnN0cmFjdCBSZXN1bWVzIGEg
ZG93bmxvYWQgdGhhdCBmYWlsZWQgb3Igd2FzIGNhbmNlbGVkLgogIEBwYXJhbSByZXN1bWVEYXRh
IERhdGEgZnJvbSBhIFdLRG93bmxvYWREZWxlZ2F0ZSdzIGRpZEZhaWxXaXRoRXJyb3Igb3IgYSBX
S0Rvd25sb2FkJ3MgY2FuY2VsIGNvbXBsZXRpb25IYW5kbGVyLgogIEBwYXJhbSBjb21wbGV0aW9u
SGFuZGxlciBBIGJsb2NrIGNhbGxlZCB3aGVuIHRoZSBkb3dubG9hZCBoYXMgcmVzdW1lZC4KICBA
ZGlzY3Vzc2lvbiBUaGUgZG93bmxvYWQgbmVlZHMgaXRzIGRlbGVnYXRlIHRvIGJlIHNldCBpbiB0
aGUgY29tcGxldGlvbkhhbmRsZXIgdG8gcmVjZWl2ZSB1cGRhdGVzIGFib3V0IGl0cyBwcm9ncmVz
cy4KICAqLwotLSAodm9pZClyZXN1bWVEb3dubG9hZEZyb21SZXN1bWVEYXRhOihOU0RhdGEgKily
ZXN1bWVEYXRhIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKFdLRG93bmxvYWQgKikpY29tcGxl
dGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsKKy0g
KHZvaWQpcmVzdW1lRG93bmxvYWRGcm9tUmVzdW1lRGF0YTooTlNEYXRhICopcmVzdW1lRGF0YSBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCheKShXS0Rvd25sb2FkICopKWNvbXBsZXRpb25IYW5kbGVy
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAKIC8qIEBhYnN0cmFj
dCBUaGUgbWVkaWEgdHlwZSBmb3IgdGhlIFdLV2ViVmlldwogIEBkaXNjdXNzaW9uIFRoZSB2YWx1
ZSBvZiBtZWRpYVR5cGUgd2lsbCBvdmVycmlkZSB0aGUgbm9ybWFsIHZhbHVlIG9mIHRoZSBDU1Mg
bWVkaWEgcHJvcGVydHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaAppbmRleCA1OTJhODJkM2U5ZDAzNzFj
NDgwNTQwNjI3MmE1MmMzODdhNThkMDM0Li4zMzJlYWViNzNhNTZiOGIzYzU3ODFhZGFmYjdkMGQ5
NGI3MzQ5ZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgKQEAgLTEzMSw3ICsxMzEsNyBAQCBXS19D
TEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wKSkKIC8qISBAYWJzdHJhY3QgQSBC
b29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBIVFRQIHJlcXVlc3RzIHRvIHNlcnZlcnMg
a25vd24gdG8gc3VwcG9ydCBIVFRQUyBzaG91bGQgYmUgYXV0b21hdGljYWxseSB1cGdyYWRlZCB0
byBIVFRQUyByZXF1ZXN0cy4KICBAZGlzY3Vzc2lvbiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBZRVMu
CiAgKi8KLUBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVwZ3JhZGVLbm93bkhvc3RzVG9IVFRQ
UyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3MoMTUuMCkpOworQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgdXBncmFkZUtub3duSG9zdHNUb0hUVFBTIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoMTEuMyksIGlvcygxNC41KSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBXS0F1ZGlv
dmlzdWFsTWVkaWFUeXBlcyBtZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNr
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>