<?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>98321</bug_id>
          
          <creation_ts>2012-10-03 16:34:26 -0700</creation_ts>
          <short_desc>Standardize on &quot;flush&quot; terminology for compositing layer flushing/syncing</short_desc>
          <delta_ts>2012-10-04 09:16:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>mifenton</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>734171</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-03 16:34:26 -0700</bug_when>
    <thetext>Standardize on &quot;flush&quot; terminology for compositing layer flushing/syncing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734178</commentid>
    <comment_count>1</comment_count>
      <attachid>166989</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-03 16:37:11 -0700</bug_when>
    <thetext>Created attachment 166989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734186</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 16:39:51 -0700</bug_when>
    <thetext>Attachment 166989 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/loader/EmptyClients.h:196:  Missing space inside { }.  [whitespace/braces] [5]
Total errors found: 1 in 44 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>734222</commentid>
    <comment_count>3</comment_count>
      <attachid>166989</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-03 17:00:50 -0700</bug_when>
    <thetext>Comment on attachment 166989
Patch

Attachment 166989 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14138765</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734238</commentid>
    <comment_count>4</comment_count>
      <attachid>166989</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-03 17:15:44 -0700</bug_when>
    <thetext>Comment on attachment 166989
Patch

Attachment 166989 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14134767</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734243</commentid>
    <comment_count>5</comment_count>
      <attachid>166989</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-03 17:23:55 -0700</bug_when>
    <thetext>Comment on attachment 166989
Patch

Attachment 166989 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14152296</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734281</commentid>
    <comment_count>6</comment_count>
      <attachid>167013</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-03 18:06:14 -0700</bug_when>
    <thetext>Created attachment 167013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734322</commentid>
    <comment_count>7</comment_count>
      <attachid>167013</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-03 19:52:49 -0700</bug_when>
    <thetext>Comment on attachment 167013
Patch

Bring Tim&apos;s r+ forward</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734747</commentid>
    <comment_count>8</comment_count>
      <attachid>167013</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-04 09:16:10 -0700</bug_when>
    <thetext>Comment on attachment 167013
Patch

Clearing flags on attachment: 167013

Committed r130400: &lt;http://trac.webkit.org/changeset/130400&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734748</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-04 09:16:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166989</attachid>
            <date>2012-10-03 16:37:11 -0700</date>
            <delta_ts>2012-10-03 18:06:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98321-20121003163625.patch</filename>
            <type>text/plain</type>
            <size>39081</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM0ZDZmMGVjNzY1Yzlk
ZGVlZjEwMjllYWMwM2FkYTVhYzJlODFlMi4uNjliMTJiOGY1NDVjNjQ4ZDg1NmQ2ZWMzMjE1NWZl
YWJmNTE2MDI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSArMSwyNiBAQAorMjAxMi0xMC0wMyAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBTdGFuZGFyZGl6ZSBv
biAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBjb21wb3NpdGluZyBsYXllciBmbHVzaGluZy9zeW5j
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODMy
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFt
ZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhvZHMgdGhhdCByZWZlciB0byAic3luY2luZyIgdG8g
aW5zdGVhZAorICAgICAgICByZWZlciB0byAiZmx1c2hpbmciLgorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2Vi
Q29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKToK
KyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBhaW50Q29udGVudHMpOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3Lmg6CisgICAgICAgIChGcmFtZVZpZXcpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUxheWVyRmx1c2gpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMpOgorCiA9PSBSb2xs
ZWQgb3ZlciB0byBDaGFuZ2VMb2ctMjAxMi0xMC0wMiA9PQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKaW5kZXggNDlmMTQ5OGU3ZjBmYjdlMjgzMzk0YjA0NTkyMzBmZWFjYjNjY2I5ZS4uODYz
NzUyNGZkZDBlNzg3YTY5ODg4OTYyNWM3NWYxZjk3NGQyZWRlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTAtMDMgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgU3RhbmRhcmRpemUgb24gImZsdXNo
IiB0ZXJtaW5vbG9neSBmb3IgY29tcG9zaXRpbmcgbGF5ZXIgZmx1c2hpbmcvc3luY2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgzMjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY29tcG9z
aXRpbmctcmVsYXRlZCBtZXRob2RzIHRoYXQgcmVmZXIgdG8gInN5bmNpbmciIHRvIGluc3RlYWQK
KyAgICAgICAgcmVmZXIgdG8gImZsdXNoaW5nIi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50QmxhY2tCZXJyeTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaDoKKyAgICAgICAgKENocm9t
ZUNsaWVudEJsYWNrQmVycnkpOgorCiAyMDEyLTEwLTAyICBZb25nIExpICA8eW9saUByaW0uY29t
PgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBQcmV2ZW50IHdpbmRvdy5jbG9zZSgpIGZyb20gY2xv
c2luZyBwYWdlcyB0aGF0IGFyZSBub3Qgb3BlbmVkIGJ5IEpTCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IGJjNGQ2ZjBlYzc2NWM5ZGRlZWYxMDI5ZWFjMDNhZGE1YWMyZTgxZTIuLjljY2Fl
MDg3YjgxODZiNTZmNGIxM2E3NWI1ZTdlNWYyMDQxNDQzZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xICsxLDE2IEBACisyMDEyLTEwLTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0YW5kYXJkaXplIG9uICJmbHVzaCIgdGVybWlu
b2xvZ3kgZm9yIGNvbXBvc2l0aW5nIGxheWVyIGZsdXNoaW5nL3N5bmNpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MzIxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNvbXBvc2l0aW5nLXJl
bGF0ZWQgbWV0aG9kcyB0aGF0IHJlZmVyIHRvICJzeW5jaW5nIiB0byBpbnN0ZWFkCisgICAgICAg
IHJlZmVyIHRvICJmbHVzaGluZyIuCisKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnNjaGVkdWxlQ29tcG9zaXRp
bmdMYXllckZsdXNoKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAg
ICAoQ2hyb21lQ2xpZW50SW1wbCk6CisKID09IFJvbGxlZCBvdmVyIHRvIENoYW5nZUxvZy0yMDEy
LTEwLTAyID09CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggODA1Y2YzZTZiYzEyMzJlZjk0MmE1Yzg4ZWJk
NWQzMThlODk0ZjZhMy4uNzFmZWNlZmQ5MjllMzBjY2VjYzk2YjVhNjUyMjcxZDM1YjViNjMyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTAzICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0YW5kYXJkaXplIG9uICJm
bHVzaCIgdGVybWlub2xvZ3kgZm9yIGNvbXBvc2l0aW5nIGxheWVyIGZsdXNoaW5nL3N5bmNpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MzIxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNv
bXBvc2l0aW5nLXJlbGF0ZWQgbWV0aG9kcyB0aGF0IHJlZmVyIHRvICJzeW5jaW5nIiB0byBpbnN0
ZWFkCisgICAgICAgIHJlZmVyIHRvICJmbHVzaGluZyIuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50
RWZsOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorCiAy
MDEyLTEwLTAyICBLcnp5c3p0b2YgQ3plY2ggIDxrLmN6ZWNoQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFtFRkxdW1VUXSBSZWZhY3RvcmluZyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0ZXN0aW5nIGZy
YW1ld29yayBmb3Igd2sxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDdjOWIzNmU5NDBiNjU1ZmJjNTI0
YWYyY2JiZmM3YjQwOTk3ZDk4OWEuLmQ0OTNmNmM5NDhmZTljMDhjZjQzNmUzNDllZGFlNWY1NmUy
YTMyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMC0wMyAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBTdGFuZGFyZGl6
ZSBvbiAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBjb21wb3NpdGluZyBsYXllciBmbHVzaGluZy9z
eW5jaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
ODMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bmFtZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhvZHMgdGhhdCByZWZlciB0byAic3luY2luZyIg
dG8gaW5zdGVhZAorICAgICAgICByZWZlciB0byAiZmx1c2hpbmciLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21l
Q2xpZW50OjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorCiAy
MDEyLTEwLTAyICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gVmFsdWUgbm90IHJldHVybmVkIHdhcm5pbmcgd2l0aCBnZW9sb2NhdGlv
biBkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGJjNGQ2ZjBlYzc2NWM5ZGRlZWYxMDI5ZWFj
MDNhZGE1YWMyZTgxZTIuLjgzZmM4OGVjOGNhYWEzNGI2MDJjNDZiMTc1MzIxMmVhYjc5NjgxYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEgKzEsMjAgQEAKKzIwMTItMTAtMDMgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgU3RhbmRhcmRpemUgb24gImZs
dXNoIiB0ZXJtaW5vbG9neSBmb3IgY29tcG9zaXRpbmcgbGF5ZXIgZmx1c2hpbmcvc3luY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgzMjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY29t
cG9zaXRpbmctcmVsYXRlZCBtZXRob2RzIHRoYXQgcmVmZXIgdG8gInN5bmNpbmciIHRvIGluc3Rl
YWQKKyAgICAgICAgcmVmZXIgdG8gImZsdXNoaW5nIi4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyRmx1c2gpOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V2ViVmlldyBfZmx1c2hDb21wb3NpdGluZ0NoYW5nZXNdKToKKyAgICAgICAgKExheWVyRmx1c2hD
b250cm9sbGVyOjpmbHVzaExheWVycyk6CisgICAgICAgICgtW1dlYlZpZXcgX3NjaGVkdWxlQ29t
cG9zaXRpbmdMYXllckZsdXNoXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwu
aDoKKwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9nLTIwMTItMTAtMDIgPT0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKaW5kZXggZTUzMWYyYTg4ZDk1ZWM0ZjcxOWZjYzk5OWE0YjdkMGE2M2I5NmE5NS4uZGJhYmM5
MTdlZGI4MzEwZTQ5OTFlZDZhMDRmMTYxZmRmN2U2MzRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0xMC0wMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBTdGFuZGFyZGl6ZSBvbiAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBj
b21wb3NpdGluZyBsYXllciBmbHVzaGluZy9zeW5jaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhv
ZHMgdGhhdCByZWZlciB0byAic3luY2luZyIgdG8gaW5zdGVhZAorICAgICAgICByZWZlciB0byAi
Zmx1c2hpbmciLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgor
ICAgICAgICAoQ2hyb21lQ2xpZW50UXQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BhZ2VD
bGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2xpZW50UUdyYXBoaWNzV2lkZ2V0
OjpzeW5jTGF5ZXJzKToKKwogMjAxMi0xMC0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBTYWZhcmkgMiAtPiBTYWZhcmkgMyBpY29uIGRh
dGFiYXNlIGltcG9ydCBjb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDY4ZTg4NWEyMzljNjk0NDlj
ZDZkOTJhMmI4N2MzNzEwMmEzM2RmNTEuLjEwYmI0ZDU5MWVmNzExMWRiZDRhMzdiZWRhYjBkMDU0
YzgyMGQ5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0xMC0wMyAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBTdGFuZGFy
ZGl6ZSBvbiAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBjb21wb3NpdGluZyBsYXllciBmbHVzaGlu
Zy9zeW5jaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhvZHMgdGhhdCByZWZlciB0byAic3luY2lu
ZyIgdG8gaW5zdGVhZAorICAgICAgICByZWZlciB0byAiZmx1c2hpbmciLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNs
aWVudDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAg
ICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmZsdXNoUGVuZGluZ0dyYXBo
aWNzTGF5ZXJDaGFuZ2VzKToKKwogMjAxMi0xMC0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBTYWZhcmkgMiAtPiBTYWZhcmkgMyBpY29u
IGRhdGFiYXNlIGltcG9ydCBjb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCA0M2MyZmFjYTkw
MzkyNTkwZmIzZDJlOGNhZTVmNmUyNDRiYzlmMDMxLi5mZTJlZjkxYTgzMjU5ZjI4ZmI4ZjBiZDk5
NWEyODc0NjA0NzQ2MTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDEyLTEwLTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIFN0YW5kYXJkaXplIG9uICJmbHVzaCIgdGVybWlub2xvZ3kgZm9yIGNvbXBvc2l0aW5nIGxh
eWVyIGZsdXNoaW5nL3N5bmNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4MzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVuYW1lIGNvbXBvc2l0aW5nLXJlbGF0ZWQgbWV0aG9kcyB0aGF0IHJlZmVy
IHRvICJzeW5jaW5nIiB0byBpbnN0ZWFkCisgICAgICAgIHJlZmVyIHRvICJmbHVzaGluZyIuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKyAgICAg
ICAgKENocm9tZUNsaWVudFdpbkNFKToKKwogMjAxMi0wOS0yOCAgTWlraGFpbCBQb3pkbnlha292
ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBDb2RlIGluc2lkZSBG
cmFtZUxvYWRlckNsaWVudDo6Y2FuU2hvd01JTUVUeXBlKCkgaW1wbGVtZW50YXRpb25zIGNhbiBi
ZSBzaGFyZWQgYW1vbmcgZGlmZmVyZW50IFdLIHBvcnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmM0ZDZmMGVj
NzY1YzlkZGVlZjEwMjllYWMwM2FkYTVhYzJlODFlMi4uOTNlOWRhZjA4ZTI2NmViNjkxZDg0ZDgz
MjQ0NDY5NWMxOTBkM2JjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSArMSwzMiBAQAorMjAxMi0xMC0wMyAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBTdGFuZGFy
ZGl6ZSBvbiAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBjb21wb3NpdGluZyBsYXllciBmbHVzaGlu
Zy9zeW5jaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhvZHMgdGhhdCByZWZlciB0byAic3luY2lu
ZyIgdG8gaW5zdGVhZAorICAgICAgICByZWZlciB0byAiZmx1c2hpbmciLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKERyYXdpbmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2lu
Z0FyZWFJbXBsOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAgICAgICAoRHJhd2luZ0FyZWFJ
bXBsKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBOjpmbHVzaFBlbmRpbmdMYXllckNo
YW5nZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gpOgorICAgICAgICAoV2ViS2l0OjpU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KToKKyAg
ICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFs
bFBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWE6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKToKKwogPT0gUm9sbGVkIG92
ZXIgdG8gQ2hhbmdlTG9nLTIwMTItMTAtMDIgPT0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzM0
MjZmN2E0NGI4MTNkYjExZmEwNzVkN2NjYjAzMTU4N2NlOGZmZi4uNjNkMGU1YTlmNGUxZTUyNWEx
NGJmOThmM2E2MWQ1ZWUxYWM1MjM0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTk3NSw3ICs5
NzUsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjlzZXRTaG91bGRVcGRhdGVXaGlsZU9mZnNj
cmVlbkViCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3Mzd1cGRhdGVMYXlvdXRBbmRTdHlsZUlmTmVl
ZGVkUmVjdXJzaXZlRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXczN3NldFNjcm9sbGluZ1BlcmZv
cm1hbmNlTG9nZ2luZ0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzM4c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkVmlhUGxhdGZvcm1XaWRnZXRFdgotX19aTjdXZWJDb3JlOUZyYW1lVmlldzM4
c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXNFdgorX19aTjdXZWJDb3JlOUZy
YW1lVmlldzM5Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzRXYKIF9fWk43
V2ViQ29yZTlGcmFtZVZpZXc2Y3JlYXRlRVBOU181RnJhbWVFCiBfX1pON1dlYkNvcmU5RnJhbWVW
aWV3NmNyZWF0ZUVQTlNfNUZyYW1lRVJLTlNfN0ludFNpemVFCiBfX1pON1dlYkNvcmU5SFRNTE5h
bWVzMTBsaXN0aW5nVGFnRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDdj
OTE0ODM4ZjIxNjg2MzI4YjdlNDIyZjA4ZTljNjEzMTcxM2QwYzYuLjk5ZWZiMzg5NzY1OGExYTgy
NTY0OGMyNzA4NDJmNWFiZTA1MWU1NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTE5Myw3ICsxOTMsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihGcmFtZSos
IEdyYXBoaWNzTGF5ZXIqKSB7fQogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc09uZVNob3REcmF3
aW5nU3luY2hyb25pemF0aW9uKCkge30KLSAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3Np
dGluZ0xheWVyU3luYygpIHt9CisgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKCkge30KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKaW5kZXggNDBkZWI0NmMzOTJjMjEwZjA1ZDk5ZDUzMmMzOGIzOTNlNGZm
MGU3Ny4uY2E4MmY0MWM0OTE2Njk0ZmY4OGYzZGUzMTRiZDFlOWE5YzhjYWU4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yNTcsNyArMjU3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9u
aXphdGlvbigpID0gMDsKICAgICAgICAgLy8gU2V0cyBhIGZsYWcgdG8gc3BlY2lmeSB0aGF0IHRo
ZSB2aWV3IG5lZWRzIHRvIGJlIHVwZGF0ZWQsIHNvIHdlIG5lZWQKICAgICAgICAgLy8gdG8gZG8g
YW4gZWFnZXIgbGF5b3V0IGJlZm9yZSB0aGUgZHJhd2luZy4KLSAgICAgICAgdmlydHVhbCB2b2lk
IHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9p
ZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpID0gMDsKICAgICAgICAgLy8gUmV0dXJu
cyB3aGV0aGVyIG9yIG5vdCB0aGUgY2xpZW50IGNhbiByZW5kZXIgdGhlIGNvbXBvc2l0ZWQgbGF5
ZXIsCiAgICAgICAgIC8vIHJlZ2FyZGxlc3Mgb2YgdGhlIHNldHRpbmdzLgogICAgICAgICB2aXJ0
dWFsIGJvb2wgYWxsb3dzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBjZjNmMDFhZDZkMGExMTEwNzNm
MGE0N2Q0N2FiMzZjZTU2NzliNjAxLi4wNWZmODNmMmIxN2U0YWE0NjBkZGNiY2Q2ZDM5MDBmNGFl
N2MzM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC03OTEsNyArNzkxLDcgQEAg
R3JhcGhpY3NMYXllciogRnJhbWVWaWV3OjpsYXllckZvck92ZXJoYW5nQXJlYXMoKSBjb25zdAog
fQogI2VuZGlmCiAKLWJvb2wgRnJhbWVWaWV3OjpzeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNG
cmFtZShGcmFtZSogcm9vdEZyYW1lRm9yU3luYykKK2Jvb2wgRnJhbWVWaWV3OjpmbHVzaENvbXBv
c2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUoRnJhbWUqIHJvb3RGcmFtZUZvckZsdXNoKQogewogICAg
IFJlbmRlclZpZXcqIHJvb3QgPSByb290UmVuZGVyZXIodGhpcyk7CiAgICAgaWYgKCFyb290KQpA
QCAtODA4LDcgKzgwOCw3IEBAIGJvb2wgRnJhbWVWaWV3OjpzeW5jQ29tcG9zaXRpbmdTdGF0ZUZv
clRoaXNGcmFtZShGcmFtZSogcm9vdEZyYW1lRm9yU3luYykKICAgICAvLyB2aXNpYmxlIGZsYXNo
IHRvIG9jY3VyLiBJbnN0ZWFkLCBzdG9wIHRoZSBkZWZlcnJlZCByZXBhaW50IHRpbWVyIGFuZCBy
ZXBhaW50IGltbWVkaWF0ZWx5LgogICAgIGZsdXNoRGVmZXJyZWRSZXBhaW50cygpOwogCi0gICAg
cm9vdC0+Y29tcG9zaXRvcigpLT5mbHVzaFBlbmRpbmdMYXllckNoYW5nZXMocm9vdEZyYW1lRm9y
U3luYyA9PSBtX2ZyYW1lKTsKKyAgICByb290LT5jb21wb3NpdG9yKCktPmZsdXNoUGVuZGluZ0xh
eWVyQ2hhbmdlcyhyb290RnJhbWVGb3JGbHVzaCA9PSBtX2ZyYW1lKTsKIAogICAgIHJldHVybiB0
cnVlOwogfQpAQCAtODg3LDE2ICs4ODcsMTYgQEAgYm9vbCBGcmFtZVZpZXc6OmlzRW5jbG9zZWRJ
bkNvbXBvc2l0aW5nTGF5ZXIoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KICAgICAKLWJv
b2wgRnJhbWVWaWV3OjpzeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpCiti
b29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCkK
IHsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgYm9vbCBhbGxGcmFtZXNT
eW5jZWQgPSBzeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZShtX2ZyYW1lLmdldCgpKTsK
KyAgICBib29sIGFsbEZyYW1lc0ZsdXNoZWQgPSBmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlz
RnJhbWUobV9mcmFtZS5nZXQoKSk7CiAgICAgCiAgICAgZm9yIChGcmFtZSogY2hpbGQgPSBtX2Zy
YW1lLT50cmVlKCktPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPnRyZWUoKS0+
dHJhdmVyc2VOZXh0KG1fZnJhbWUuZ2V0KCkpKSB7Ci0gICAgICAgIGJvb2wgc3luY2VkID0gY2hp
bGQtPnZpZXcoKS0+c3luY0NvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUobV9mcmFtZS5nZXQo
KSk7Ci0gICAgICAgIGFsbEZyYW1lc1N5bmNlZCAmPSBzeW5jZWQ7CisgICAgICAgIGJvb2wgZmx1
c2hlZCA9IGNoaWxkLT52aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZSht
X2ZyYW1lLmdldCgpKTsKKyAgICAgICAgYWxsRnJhbWVzRmx1c2hlZCAmPSBmbHVzaGVkOwogICAg
IH0KLSAgICByZXR1cm4gYWxsRnJhbWVzU3luY2VkOworICAgIHJldHVybiBhbGxGcmFtZXNGbHVz
aGVkOwogI2Vsc2UgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHJldHVybiB0
cnVlOwogI2VuZGlmCkBAIC0zMTk0LDcgKzMxOTQsNyBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRD
b250ZW50cyhHcmFwaGljc0NvbnRleHQqIHAsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAKICNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgaWYgKCFwLT5wYWludGluZ0Rpc2FibGVk
KCkgJiYgIWRvY3VtZW50LT5wcmludGluZygpKQotICAgICAgICBzeW5jQ29tcG9zaXRpbmdTdGF0
ZUZvclRoaXNGcmFtZShtX2ZyYW1lLmdldCgpKTsKKyAgICAgICAgZmx1c2hDb21wb3NpdGluZ1N0
YXRlRm9yVGhpc0ZyYW1lKG1fZnJhbWUuZ2V0KCkpOwogI2VuZGlmCiAKICAgICBQYWludEJlaGF2
aW9yIG9sZFBhaW50QmVoYXZpb3IgPSBtX3BhaW50QmVoYXZpb3I7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAppbmRleCA4NGIxNWQyYmEyNTZhOTMzYjY0MzQyMGU0ODVhMTY3MTg2MjFlODQ5Li4zZmYw
NTkyZjZiMDVkMzc0Yzc0ZjI0MjZlY2VhN2Y3ZjRlYmQ5NWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQogICAgIHZvaWQgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclN0eWxlQ2hh
bmdlKCk7CiAgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyTGF5b3V0KCk7Ci0g
ICAgYm9vbCBzeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZShGcmFtZSogcm9vdEZyYW1l
Rm9yU3luYyk7CisgICAgYm9vbCBmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUoRnJh
bWUqIHJvb3RGcmFtZUZvckZsdXNoKTsKIAogICAgIHZvaWQgY2xlYXJCYWNraW5nU3RvcmVzKCk7
CiAgICAgdm9pZCByZXN0b3JlQmFja2luZ1N0b3JlcygpOwpAQCAtMTQwLDggKzE0MCw4IEBAIHB1
YmxpYzoKICAgICBib29sIGlzRW5jbG9zZWRJbkNvbXBvc2l0aW5nTGF5ZXIoKSBjb25zdDsKIAog
ICAgIC8vIE9ubHkgdXNlZCB3aXRoIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nLCBidXQgb3V0c2lk
ZSB0aGUgI2lmZGVmIHRvIG1ha2UgbGlua2FnZSBlYXNpZXIuCi0gICAgLy8gUmV0dXJucyB0cnVl
IGlmIHRoZSBzeW5jIHdhcyBjb21wbGV0ZWQuCi0gICAgYm9vbCBzeW5jQ29tcG9zaXRpbmdTdGF0
ZUluY2x1ZGluZ1N1YmZyYW1lcygpOworICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgZmx1c2gg
d2FzIGNvbXBsZXRlZC4KKyAgICBib29sIGZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1
YmZyYW1lcygpOwogCiAgICAgLy8gUmV0dXJucyB0cnVlIHdoZW4gYSBwYWludCB3aXRoIHRoZSBQ
YWludEJlaGF2aW9yRmxhdHRlbkNvbXBvc2l0aW5nTGF5ZXJzIGZsYWcgc2V0IGdpdmVzCiAgICAg
Ly8gYSBmYWl0aGZ1bCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29udGVudC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggZWUy
M2YwMGM3NjMwMGM1NjhiYWU2N2VmY2M5Nzk4N2Q0MzY1YmQ4My4uYWFhNjA0NjcyOTQ3MDJmYTQz
ODBkNjczOTRkNGZmODdkMzIyOGY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAgIGlmICghcGFn
ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5zY2hl
ZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCk7CisgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgp
LT5zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpOwogfQogCiB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKGJvb2wgaXNGbHVzaFJvb3QpCiB7
Ci0gICAgLy8gRnJhbWVWaWV3OjpzeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1l
cygpIGZsdXNoZXMgZWFjaCBzdWJmcmFtZSwKKyAgICAvLyBGcmFtZVZpZXc6OmZsdXNoQ29tcG9z
aXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpIGZsdXNoZXMgZWFjaCBzdWJmcmFtZSwKICAg
ICAvLyBidXQgR3JhcGhpY3NMYXllcjo6c3luY0NvbXBvc2l0aW5nU3RhdGUoKSB3aWxsIGNyb3Nz
IGZyYW1lIGJvdW5kYXJpZXMKICAgICAvLyBpZiB0aGUgR3JhcGhpY3NMYXllcnMgYXJlIGNvbm5l
Y3RlZCAodGhlIFJvb3RMYXllckF0dGFjaGVkVmlhRW5jbG9zaW5nRnJhbWUgY2FzZSkuCiAgICAg
Ly8gQXMgbG9uZyBhcyB3ZSdyZSBub3QgdGhlIHJvb3Qgb2YgdGhlIGZsdXNoLCB3ZSBjYW4gYmFp
bC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCAyOTZmMzc5Zjg1ZTVj
ZTI0YmQ5NTA2ZTRjM2NmZDM0OWY3NmZiNWY0Li41YzcyZTQxMTEwZWJhZWJhZDRiZGYwNjRiNTVl
ZTk0OTY0YmM3YWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC04
MTksNyArODE5LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjpzZXROZWVkc09uZVNo
b3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkKICAgICBtX3dlYlBhZ2VQcml2YXRlLT5zZXROZWVk
c09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50
QmxhY2tCZXJyeTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpCit2b2lkIENocm9tZUNs
aWVudEJsYWNrQmVycnk6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKIHsKICAgICBt
X3dlYlBhZ2VQcml2YXRlLT5zY2hlZHVsZVJvb3RMYXllckNvbW1pdCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJs
YWNrQmVycnkuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRCbGFja0JlcnJ5LmgKaW5kZXggNTYwMmZmMWRhYTViZDg2OGY2NDA1YTI1Njk4ZTZi
MTk4Zjk3ZTNmZi4uNTE3MmZhOGU4NjRhMzY2Y2I2N2I5MjI1OTU3MDdmYzNjMzBjZWM2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCkBAIC0xNTAsNyArMTUwLDcgQEAgcHVibGlj
OgogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIHZvaWQgYXR0
YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKik7CiAgICAgdmlydHVh
bCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKTsKLSAgICB2aXJ0
dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgIHZpcnR1YWwgdm9p
ZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpOwogICAgIHZpcnR1YWwgYm9vbCBhbGxv
d3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgY29uc3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCA3ZTBmODg1NDI1
MmMwNDIzMTllMTIzNGRkMzA5MDE4MWE1NmZkNTgxLi5hMDFjMzViM2I1NmNlODAxMGVlYjJiYzRm
MjIwZDg0NjZiYWIzN2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmNwcApAQCAtOTE3LDcgKzkxNyw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1w
bDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqIGZyYW1lLCBHcmFwaGljc0xheWVyKiBn
cmFwCiAgICAgbV93ZWJWaWV3LT5zZXRSb290R3JhcGhpY3NMYXllcihncmFwaGljc0xheWVyKTsK
IH0KIAotdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5j
KCkKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2go
KQogewogICAgIG1fd2ViVmlldy0+c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDdk
NDU2ZmJmNTMwYzQ5NjU2MjhiMjU5NzljMmE0NjEwZmJkYmM3MWMuLjg3ZmFjZWEzYjVjZTIwMWQ3
ZGZiMjY3NTQxMTBmMDQ0MzMzOWQxMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9DaHJvbWVDbGllbnRJbXBsLmgKQEAgLTE3MSw3ICsxNzEsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBTZXRzIGEgZmxhZyB0byBzcGVjaWZ5IHRoYXQgdGhlIHZpZXcgbmVlZHMgdG8gYmUgdXBkYXRl
ZCwgc28gd2UgbmVlZAogICAgIC8vIHRvIGRvIGFuIGVhZ2VyIGxheW91dCBiZWZvcmUgdGhlIGRy
YXdpbmcuCi0gICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKTsKIAogICAg
IHZpcnR1YWwgQ29tcG9zaXRpbmdUcmlnZ2VyRmxhZ3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dl
cnMoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKaW5kZXggYTFhNGMzN2M2ZDYzNWRhNjExZmI0ZTIx
MzE0ZGZjMDFhZjQ5MGI1ZS4uYjMzYmZlZTAxOTU1MzY0ZDMyMGMwMWNlZmRjYTYxZDc2ZTRkNjdh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuY3BwCkBAIC02MDUsNyArNjA1LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OnNl
dE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKQogICAgIG5vdEltcGxlbWVudGVk
KCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50RWZsOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJT
eW5jKCkKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggMjY3ZjVhZjQ3MzQ5YTg5
ODlkNzY4NDc0M2FiNDAwODZiMzIxNWVjZC4uNjhkYTQ1YThhODE2ZjMwOGM1N2VjMTc5Nzg3MmY4
NDNiNTE2ZjY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhp
Y3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVl
ZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpOwotICAgIHZpcnR1YWwgdm9pZCBzY2hl
ZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCk7CisgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29t
cG9zaXRpbmdMYXllckZsdXNoKCk7CiAgICAgdmlydHVhbCBDb21wb3NpdGluZ1RyaWdnZXJGbGFn
cyBhbGxvd2VkQ29tcG9zaXRpbmdUcmlnZ2VycygpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCmlu
ZGV4IDM1MjNmYTc4ZDBkM2RiY2FlNjg5ZDc0MzcxZWEzM2NiN2ExNWUxZjMuLjYxNTJmNTA4MGJm
YmRlYzljZTQ0MWM5YzM5MTUwMmIyMDAxOTk5ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApAQCAtMTAxNCw3ICsxMDE0
LDcgQEAgdm9pZCBDaHJvbWVDbGllbnQ6OnNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6
YXRpb24oKQogICAgIG1fd2ViVmlldy0+cHJpdi0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQtPnNjaGVkdWxlTGF5ZXJGbHVzaCgpOwogfQogCi12b2lkIENocm9tZUNsaWVudDo6c2NoZWR1
bGVDb21wb3NpdGluZ0xheWVyU3luYygpCit2b2lkIENocm9tZUNsaWVudDo6c2NoZWR1bGVDb21w
b3NpdGluZ0xheWVyRmx1c2goKQogewogICAgIG1fd2ViVmlldy0+cHJpdi0+YWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHQtPnNjaGVkdWxlTGF5ZXJGbHVzaCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCAyODRi
ZGFhMzY2MDZhZTE1YWJiYzE1NmIzZWU4ZTIxNWQ3MmMxZTFjLi40NGMyMTFhZDQ2Mjg3ZWZmZDc0
MzA0YzAyZGNjNmRiMzBmYWY2MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTU2LDcgKzE1Niw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgCiAgICAgICAgIHZp
cnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5ZXIq
KTsKICAgICAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6
YXRpb24oKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5
bmMoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNo
KCk7CiAgICAgICAgIHZpcnR1YWwgQ29tcG9zaXRpbmdUcmlnZ2VyRmxhZ3MgYWxsb3dlZENvbXBv
c2l0aW5nVHJpZ2dlcnMoKSBjb25zdDsKICNlbmRpZiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBhNDczZmUzNDBmY2U1
MzkwZmFiMmYxNTAxYzE5NGExZGI5YzJhNmJmLi44OTVkOGRlZDkyMDQ0NjBhZTZjNzVlYTE2ZjRh
OWFiNzVjMjJhOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHB1YmxpYzoKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFw
aGljc0xheWVyKFdlYkNvcmU6OkZyYW1lKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0
aW9uKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXll
clN5bmMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xh
eWVyRmx1c2goKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgQ29tcG9zaXRpbmdUcmlnZ2VyRmxh
Z3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdAogICAgIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBj
N2RjZWZhOTdlMGE2NzA4OTZkMjcwYmEwMDJiMzNkYjA1Y2I5YjBhLi5kZDFiNTMwYjVjMjk1MmNm
MGFmOWI5OGRlZWNmNjFhOGZjNzRkZWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC04NzgsMTAgKzg3OCwxMCBAQCB2
b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlv
bigpCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KIAotdm9pZCBXZWJDaHJvbWVD
bGllbnQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKQordm9pZCBXZWJDaHJvbWVDbGll
bnQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKIHsKICAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7Ci0gICAgW21fd2ViVmlldyBfc2NoZWR1bGVDb21wb3NpdGluZ0xheWVy
U3luY107CisgICAgW21fd2ViVmlldyBfc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hdOwog
ICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQppbmRleCA0NTdkNDA2MmE0YmMwN2JiYjgyNTU4NDhmZTg1ZmQ4OGNiN2RmOGZh
Li44MTJmM2YwZTNiZGE2MmYyMTlkN2E0Yjc3YjE5MzA3MGVhNDcxM2ZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC02Mjk3LDExICs2Mjk3LDExIEBAIHN0YXRpYyBpbmxp
bmUgdWludDY0X3Qgcm91bmRVcFRvUG93ZXJPZjIodWludDY0X3QgbnVtKQogICAgIF9wcml2YXRl
LT5uZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uID0gbmVlZHNTeW5jaHJvbml6YXRp
b247CiB9CiAKLS0gKEJPT0wpX3N5bmNDb21wb3NpdGluZ0NoYW5nZXMKKy0gKEJPT0wpX2ZsdXNo
Q29tcG9zaXRpbmdDaGFuZ2VzCiB7CiAgICAgRnJhbWUqIGZyYW1lID0gW3NlbGYgX21haW5Db3Jl
RnJhbWVdOwogICAgIGlmIChmcmFtZSAmJiBmcmFtZS0+dmlldygpKQotICAgICAgICByZXR1cm4g
ZnJhbWUtPnZpZXcoKS0+c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsK
KyAgICAgICAgcmV0dXJuIGZyYW1lLT52aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1
ZGluZ1N1YmZyYW1lcygpOwogCiAgICAgcmV0dXJuIFlFUzsKIH0KQEAgLTYzNTgsNyArNjM1OCw3
IEBAIGJvb2wgTGF5ZXJGbHVzaENvbnRyb2xsZXI6OmZsdXNoTGF5ZXJzKCkKICAgICBpZiAodmll
d3NOZWVkRGlzcGxheSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKFttX3dlYlZp
ZXcgX3N5bmNDb21wb3NpdGluZ0NoYW5nZXNdKSB7CisgICAgaWYgKFttX3dlYlZpZXcgX2ZsdXNo
Q29tcG9zaXRpbmdDaGFuZ2VzXSkgewogICAgICAgICAvLyBBcHBLaXQgbWF5IGhhdmUgZGlzYWJs
ZWQgc2NyZWVuIHVwZGF0ZXMsIHRoaW5raW5nIGFuIHVwY29taW5nIHdpbmRvdyBmbHVzaCB3aWxs
IHJlLWVuYWJsZSB0aGVtLgogICAgICAgICAvLyBJbiBjYXNlIHNldE5lZWRzRGlzcGxheUluUmVj
dCgpIGhhcyBwcmV2ZW50ZWQgdGhlIHdpbmRvdyBmcm9tIG5lZWRpbmcgdG8gYmUgZmx1c2hlZCwg
cmUtZW5hYmxlIHNjcmVlbgogICAgICAgICAvLyB1cGRhdGVzIGhlcmUuCkBAIC02Mzc1LDcgKzYz
NzUsNyBAQCBib29sIExheWVyRmx1c2hDb250cm9sbGVyOjpmbHVzaExheWVycygpCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi0tICh2b2lkKV9zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jCist
ICh2b2lkKV9zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaAogewogICAgIGlmICghX3ByaXZh
dGUtPmxheWVyRmx1c2hDb250cm9sbGVyKQogICAgICAgICBfcHJpdmF0ZS0+bGF5ZXJGbHVzaENv
bnRyb2xsZXIgPSBMYXllckZsdXNoQ29udHJvbGxlcjo6Y3JlYXRlKHNlbGYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKaW5kZXggYTQzZWYzYTk4ODJlZjNm
N2I0YmY0MmI1MTYyOGY5MmFlZmEzYmY5Ni4uNGIxNjU0YzZiZTNhNGM5YWM3YmIwZGZkYWQ1MWQx
ZGJmZDgwZWI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5h
bC5oCkBAIC0xMDIsNyArMTAyLDcgQEAgT0JKQ19DTEFTUyBOU1RleHRBbHRlcm5hdGl2ZXM7CiAj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogLSAoQk9PTClfbmVlZHNPbmVTaG90RHJh
d2luZ1N5bmNocm9uaXphdGlvbjsKIC0gKHZvaWQpX3NldE5lZWRzT25lU2hvdERyYXdpbmdTeW5j
aHJvbml6YXRpb246KEJPT0wpbmVlZHNTeW5jaHJvbml6YXRpb247Ci0tICh2b2lkKV9zY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJTeW5jOworLSAodm9pZClfc2NoZWR1bGVDb21wb3NpdGluZ0xheWVy
Rmx1c2g7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4IDkxMjMy
MGNjZGRhNjJhNDhiNzJlYzczNjMyYjIxNzYwZWMyYTFlMmYuLmVhYWViMDEyZjg2ZDBhNTMxMTBi
NTc5NzczZjZkNWI4YzA1ZDkzNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCkBAIC02ODAsNyArNjgwLDcgQEAgdm9pZCBDaHJv
bWVDbGllbnRRdDo6c2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpCiAgICAg
ICAgIHBsYXRmb3JtUGFnZUNsaWVudCgpLT5tYXJrRm9yU3luYyhmYWxzZSk7CiB9CiAKLXZvaWQg
Q2hyb21lQ2xpZW50UXQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKQordm9pZCBDaHJv
bWVDbGllbnRRdDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogewogICAgIC8vIHdl
IHdhbnQgdGhlIGxheWVycyB0byBzeW5jaHJvbml6ZSBBU0FQCiAgICAgaWYgKHBsYXRmb3JtUGFn
ZUNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oCmluZGV4IDI3MzY4ZTdmMWE4NzhhMTgxM2U1MGI3NzFhOGQ1ZjM1ZTlkZDQ5ZDku
LmY3MzU5ZDJlMjg3NGE3NTUxOWMyZjUzODc2ODEzMjk4MGFlNGI5Y2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTE0NCw3ICsx
NDQsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBpcyBhIGhvb2sgZm9yIFdlYkNvcmUgdG8gdGVs
bCB1cyB3aGF0IHdlIG5lZWQgdG8gZG8gd2l0aCB0aGUgR3JhcGhpY3NMYXllcnMuCiAgICAgdmly
dHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NMYXllciop
OwogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9u
KCk7Ci0gICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKTsKICAgICB2aXJ0
dWFsIENvbXBvc2l0aW5nVHJpZ2dlckZsYWdzIGFsbG93ZWRDb21wb3NpdGluZ1RyaWdnZXJzKCkg
Y29uc3Q7CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dzQWNjZWxlcmF0ZWRDb21wb3Np
dGluZygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9QYWdlQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdl
Q2xpZW50UXQuY3BwCmluZGV4IDJiZTFiM2IzZjdlODk0NmZjMzUwOTk0MGMxMTkxY2NjM2FhYmMx
ZmIuLmJjN2RmMjE2N2RjZThjNDZiZGNkZjEzZjYxMTg4ZWQwYTJiMjk3MzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVudFF0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAKQEAgLTI3MSw3
ICsyNzEsNyBAQCB2b2lkIFBhZ2VDbGllbnRRR3JhcGhpY3NXaWRnZXQ6OnN5bmNMYXllcnMoKQog
ICAgIGlmIChUZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnQpCiAgICAgICAgIFRleHR1cmVNYXBwZXJM
YXllckNsaWVudC0+c3luY1Jvb3RMYXllcigpOwogCi0gICAgUVdlYkZyYW1lUHJpdmF0ZTo6Y29y
ZShwYWdlLT5tYWluRnJhbWUoKSktPnZpZXcoKS0+c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRp
bmdTdWJmcmFtZXMoKTsKKyAgICBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKHBhZ2UtPm1haW5GcmFt
ZSgpKS0+dmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsK
IAogICAgIGlmICghVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50KQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcAppbmRleCBjNzViYmU1ZGZhNjhkYmExY2Q2MjNhYjAyZTAwODZlZjkzYTY3MmFiLi42OGJk
ZGVmMDM0MTg0YjVkNDAxZDVjZDBmNzRhNTYyMWY2NGI2OWUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTc0Niw3
ICs3NDYsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIo
RnJhbWUqIGZyYW1lLCBHcmFwaGljc0xheWVyKiBncmFwaAogICAgIG1fd2ViVmlldy0+c2V0Um9v
dENoaWxkTGF5ZXIoZ3JhcGhpY3NMYXllcik7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpz
Y2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY2hl
ZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiB7CiAgICAgbV93ZWJWaWV3LT5mbHVzaFBlbmRp
bmdHcmFwaGljc0xheWVyQ2hhbmdlc1Nvb24oKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggOTgyNTkyMmY1ZWUxNzlh
NjYzNzFiZjEzZmYwMGVkZTk0MTZhMWUxYS4uOWFlYzczNDZmMDI1OWZlZjA4NWRhYTdhNjc1Y2Uz
OGRlNWE3ZDQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEzOSw3ICsxMzksNyBAQCBwdWJsaWM6CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkgeyB9CiAg
ICAgICAgIC8vIFNldHMgYSBmbGFnIHRvIHNwZWNpZnkgdGhhdCB0aGUgdmlldyBuZWVkcyB0byBi
ZSB1cGRhdGVkLCBzbyB3ZSBuZWVkCiAgICAgICAgIC8vIHRvIGRvIGFuIGVhZ2VyIGxheW91dCBi
ZWZvcmUgdGhlIGRyYXdpbmcuCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0
aW5nTGF5ZXJTeW5jKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5n
TGF5ZXJGbHVzaCgpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pICYmIFVTRShBVkZPVU5E
QVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGE5MGY2N2U3NTc2YTlkNjQwYWM1MDk3N2I5
YjY0NjZlNGMzOGNiMWEuLjlmYjk2N2EyYTdjODBiNDQ3NjJiNDIxNWYyMTk1YzBmYzdlOGQ3MTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC02Njc1LDcgKzY2NzUsNyBAQCB2b2lkIFdlYlZpZXc6
OmZsdXNoUGVuZGluZ0dyYXBoaWNzTGF5ZXJDaGFuZ2VzKCkKICAgICBpZiAobV9iYWNraW5nTGF5
ZXIpCiAgICAgICAgIG1fYmFja2luZ0xheWVyLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNM
YXllck9ubHkoKTsKIAotICAgIHZpZXctPnN5bmNDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3Vi
ZnJhbWVzKCk7CisgICAgdmlldy0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJh
bWVzKCk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcAppbmRleCBhYzBiMjZkYTcwOGY4YWY2
OTcyN2YyNjBmYmY3ZGRkN2Q2YTU0Yjg5Li5kZTZiZjcxOTBmYjAyMzliNDAxNzhmYTRkZThiZWRj
ZjQwODViZTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcApAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgQ2hy
b21lQ2xpZW50V2luQ0U6OnNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKQog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKQordm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6c2NoZWR1
bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dFdpbkNFLmgKaW5kZXggMDAyMjZkMGM4MGFmZGYwNTZiNjBlNDQyMDlmZmFmNDgzZDNiOGE4Ni4u
OTZjZWExYTYyYWJkOTg1ZmExMjIwYmNiN2Y0ZDc5ZWM5Njk4NzEzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApA
QCAtMTUxLDcgKzE1MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNPbmVT
aG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpOwogICAgIC8vIFNldHMgYSBmbGFnIHRvIHNwZWNp
ZnkgdGhhdCB0aGUgdmlldyBuZWVkcyB0byBiZSB1cGRhdGVkLCBzbyB3ZSBuZWVkCiAgICAgLy8g
dG8gZG8gYW4gZWFnZXIgbGF5b3V0IGJlZm9yZSB0aGUgZHJhd2luZy4KLSAgICB2aXJ0dWFsIHZv
aWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgIHZpcnR1YWwgdm9pZCBzY2hl
ZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpOwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQg
c2V0TGFzdFNldEN1cnNvclRvQ3VycmVudEN1cnNvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CmluZGV4IDRkYmVlZDU3YzAxY2I2Yjg3Mzc3ODY1ZDlmZDMwZTg3ZGRjMmM5ZTcuLjc2MmY0M2Y2
NDg0ZjdiMmU1NTI5ZjYyNWIxOWVmN2FmZDJmMTNmMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKQEAgLTcwOSwxMCArNzA5LDEwIEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXROZWVkc09u
ZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQog
Ci12b2lkIFdlYkNocm9tZUNsaWVudDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpCit2
b2lkIFdlYkNocm9tZUNsaWVudDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogewog
ICAgIGlmIChtX3BhZ2UtPmRyYXdpbmdBcmVhKCkpCi0gICAgICAgIG1fcGFnZS0+ZHJhd2luZ0Fy
ZWEoKS0+c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgICAgICBtX3BhZ2UtPmRy
YXdpbmdBcmVhKCktPnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCk7CiB9CiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZGU2YmM0ZjdmZTE1NTI4N2NmYmU1NTMzMjAwY2E2
NzczNGQzNjQ2Mi4uODVkYzBlNzVlY2Q2ODc1MGM4OGRiMDM1MzNjZTg5NTZiN2JjYzA2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xODAsNyArMTgwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgp
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXll
cihXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNo
KCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIENvbXBvc2l0aW5nVHJpZ2dlckZsYWdzIGFsbG93
ZWRDb21wb3NpdGluZ1RyaWdnZXJzKCkgY29uc3QKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IDNhNjFkODgxNDVjMjUzYmJm
NDZlODViMjBiZjBhZmJjNmY1NjdjMjAuLmNhNDc2MTc5ZTFkYTc5NzRhZGQ1MDFiNmQyOTFiYjg0
MTM0ZmU1ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYS5oCkBAIC05MCw3ICs5MCw3IEBAIHB1YmxpYzoKICNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCBXZWJDb3JlOjpHcmFwaGljc0xheWVyRmFjdG9yeSog
Z3JhcGhpY3NMYXllckZhY3RvcnkoKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCB2b2lkIHNl
dFJvb3RDb21wb3NpdGluZ0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKSA9IDA7Ci0gICAg
dmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkgPSAwOwogI2VuZGlmCiAK
ICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDMwMzExMmVlYWYy
MTE4NGI0MTViYzJiMmQ4ZmRkYmRkN2E5NjA5YWQuLmQ0MmZjZGFhNWYyM2MzY2ZlNTNkNTZlNWEz
YThlNjQ5NzRjN2I3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0zNTEsNyArMzUxLDcgQEAgdm9pZCBEcmF3
aW5nQXJlYUltcGw6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqIGdyYXBo
aWNzTGF5ZXIpCiAgICAgfQogfQogCi12b2lkIERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVDb21w
b3NpdGluZ0xheWVyU3luYygpCit2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVDb21wb3Np
dGluZ0xheWVyRmx1c2goKQogewogICAgIGlmICghbV9sYXllclRyZWVIb3N0KQogICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWFJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmgKaW5kZXggYWY4MDcyZmViMWFiMzcwMGExYjNmY2ZiYzM3NTU5Mjg0ZTQ2Mjcx
NS4uOGJhYmUwMTA4NzgyNDk4NjdiMTY1M2MzYjQ1ZmM0ZTUzZTQ4NzFmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaApAQCAt
NzAsNyArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNo
KCkgT1ZFUlJJREU7CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgdmlydHVhbCB2b2lkIHNjaGVk
dWxlQ2hpbGRXaW5kb3dHZW9tZXRyeVVwZGF0ZShjb25zdCBXaW5kb3dHZW9tZXRyeSYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhv
c3RDQS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVl
SG9zdENBLmNwcAppbmRleCBkZTNhMmUzOGU5OTU5ZmZmM2MyYjc5YWY3YjQ3MTE0NzdjNTM5MDEy
Li41Mjk3NThmZGFiOWExNjFiNTc2MDM2YzI2NzE1MzE5YTM5ZjFkZmZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENB
LmNwcApAQCAtMjUwLDcgKzI1MCw3IEBAIGJvb2wgTGF5ZXJUcmVlSG9zdENBOjpmbHVzaFBlbmRp
bmdMYXllckNoYW5nZXMoKQogICAgIGlmIChtX3BhZ2VPdmVybGF5TGF5ZXIpCiAgICAgICAgIG1f
cGFnZU92ZXJsYXlMYXllci0+c3luY0NvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7
CiAKLSAgICByZXR1cm4gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygp
LT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOworICAgIHJldHVybiBt
X3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPmZsdXNoQ29tcG9zaXRp
bmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwogfQogCiB2b2lkIExheWVyVHJlZUhvc3RDQTo6
Y3JlYXRlUGFnZU92ZXJsYXlMYXllcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhLmgKaW5kZXggMjI1OTllZGFkNzMzODFhZTQ5ZmE0YTIyOGI2NjdkYTY2YTMyYzMzMi4u
YTA0NDdiNjlkODE2NGFhNjJmYmY5MDZlMjU3NjczYzRkYmI3YzIyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaApAQCAtNTksNyArNTksNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKGJvb2wpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgYm9vbCBsYXllclRyZWVTdGF0ZUlzRnJvemVuKCkgY29uc3QgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXIqKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3Np
dGluZ0xheWVyU3luYygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBv
c2l0aW5nTGF5ZXJGbHVzaCgpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3Rh
bGxQYWdlT3ZlcmxheSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQ
YWdlT3ZlcmxheSgpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWEubW0KaW5kZXggNDNmNjQ0MGE4M2I5ZDE1YTUzZDUxZjEyYTVmODU0Njg4ODg4YmVkOC4u
Mjg2MDhiYmIwN2Q5ZWQwMzBhMTA4ZGM0YjllNGFiYWM2MDNlYTFlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC0xNzQsNyArMTc0LDcgQEAgYm9vbCBU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6bGF5ZXJUcmVlU3RhdGVJc0Zyb3plbigpIGNv
bnN0CiAgICAgcmV0dXJuIG1fbGF5ZXJUcmVlU3RhdGVJc0Zyb3plbjsKIH0KIAotdm9pZCBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygp
Cit2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5n
TGF5ZXJGbHVzaCgpCiB7CiAgICAgbV9sYXllckZsdXNoU2NoZWR1bGVyLnNjaGVkdWxlKCk7CiB9
CkBAIC0xODQsNyArMTg0LDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6
ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkKICAgICBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPnNjcm9s
bGluZ0Nvb3JkaW5hdG9yKCktPnNldEZvcmNlTWFpblRocmVhZFNjcm9sbExheWVyUG9zaXRpb25V
cGRhdGVzKHRydWUpOwogCiAgICAgY3JlYXRlUGFnZU92ZXJsYXlMYXllcigpOwotICAgIHNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKTsKKyAgICBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJG
bHVzaCgpOwogfQogCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRVbmlu
c3RhbGxQYWdlT3ZlcmxheSgpCkBAIC0xOTMsMTQgKzE5MywxNCBAQCB2b2lkIFRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpCiAgICAgICAgIHBh
Z2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCktPnNldEZvcmNlTWFpblRocmVhZFNjcm9sbExheWVy
UG9zaXRpb25VcGRhdGVzKGZhbHNlKTsKIAogICAgIGRlc3Ryb3lQYWdlT3ZlcmxheUxheWVyKCk7
Ci0gICAgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgIHNjaGVkdWxlQ29tcG9z
aXRpbmdMYXllckZsdXNoKCk7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWE6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAg
ICAgQVNTRVJUKG1fcGFnZU92ZXJsYXlMYXllcik7CiAgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5z
ZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7Ci0gICAgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVy
U3luYygpOworICAgIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCk7CiB9CiAKIHZvaWQg
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdl
YlByZWZlcmVuY2VzU3RvcmUmKQpAQCAtMzA4LDcgKzMwOCw3IEBAIGJvb2wgVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKICAgICAgICAgbV9wYWdlT3ZlcmxheUxh
eWVyLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNMYXllck9ubHkoKTsKICAgICB9CiAKLSAg
ICBib29sIHJldHVyblZhbHVlID0gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+
dmlldygpLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOworICAgIGJv
b2wgcmV0dXJuVmFsdWUgPSBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT52aWV3
KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwogCiAgICAgW3Bv
b2wgZHJhaW5dOwogICAgIHJldHVybiByZXR1cm5WYWx1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167013</attachid>
            <date>2012-10-03 18:06:14 -0700</date>
            <delta_ts>2012-10-04 09:16:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98321-20121003180529.patch</filename>
            <type>text/plain</type>
            <size>45029</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM0ZDZmMGVjNzY1Yzlk
ZGVlZjEwMjllYWMwM2FkYTVhYzJlODFlMi4uNjliMTJiOGY1NDVjNjQ4ZDg1NmQ2ZWMzMjE1NWZl
YWJmNTE2MDI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSArMSwyNiBAQAorMjAxMi0xMC0wMyAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBTdGFuZGFyZGl6ZSBv
biAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBjb21wb3NpdGluZyBsYXllciBmbHVzaGluZy9zeW5j
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODMy
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFt
ZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhvZHMgdGhhdCByZWZlciB0byAic3luY2luZyIgdG8g
aW5zdGVhZAorICAgICAgICByZWZlciB0byAiZmx1c2hpbmciLgorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2Vi
Q29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKToK
KyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBhaW50Q29udGVudHMpOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3Lmg6CisgICAgICAgIChGcmFtZVZpZXcpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUxheWVyRmx1c2gpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMpOgorCiA9PSBSb2xs
ZWQgb3ZlciB0byBDaGFuZ2VMb2ctMjAxMi0xMC0wMiA9PQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKaW5kZXggNDlmMTQ5OGU3ZjBmYjdlMjgzMzk0YjA0NTkyMzBmZWFjYjNjY2I5ZS4uODYz
NzUyNGZkZDBlNzg3YTY5ODg4OTYyNWM3NWYxZjk3NGQyZWRlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTAtMDMgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgU3RhbmRhcmRpemUgb24gImZsdXNo
IiB0ZXJtaW5vbG9neSBmb3IgY29tcG9zaXRpbmcgbGF5ZXIgZmx1c2hpbmcvc3luY2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgzMjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY29tcG9z
aXRpbmctcmVsYXRlZCBtZXRob2RzIHRoYXQgcmVmZXIgdG8gInN5bmNpbmciIHRvIGluc3RlYWQK
KyAgICAgICAgcmVmZXIgdG8gImZsdXNoaW5nIi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50QmxhY2tCZXJyeTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaDoKKyAgICAgICAgKENocm9t
ZUNsaWVudEJsYWNrQmVycnkpOgorCiAyMDEyLTEwLTAyICBZb25nIExpICA8eW9saUByaW0uY29t
PgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBQcmV2ZW50IHdpbmRvdy5jbG9zZSgpIGZyb20gY2xv
c2luZyBwYWdlcyB0aGF0IGFyZSBub3Qgb3BlbmVkIGJ5IEpTCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IGJjNGQ2ZjBlYzc2NWM5ZGRlZWYxMDI5ZWFjMDNhZGE1YWMyZTgxZTIuLjljY2Fl
MDg3YjgxODZiNTZmNGIxM2E3NWI1ZTdlNWYyMDQxNDQzZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xICsxLDE2IEBACisyMDEyLTEwLTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0YW5kYXJkaXplIG9uICJmbHVzaCIgdGVybWlu
b2xvZ3kgZm9yIGNvbXBvc2l0aW5nIGxheWVyIGZsdXNoaW5nL3N5bmNpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MzIxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNvbXBvc2l0aW5nLXJl
bGF0ZWQgbWV0aG9kcyB0aGF0IHJlZmVyIHRvICJzeW5jaW5nIiB0byBpbnN0ZWFkCisgICAgICAg
IHJlZmVyIHRvICJmbHVzaGluZyIuCisKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnNjaGVkdWxlQ29tcG9zaXRp
bmdMYXllckZsdXNoKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAg
ICAoQ2hyb21lQ2xpZW50SW1wbCk6CisKID09IFJvbGxlZCBvdmVyIHRvIENoYW5nZUxvZy0yMDEy
LTEwLTAyID09CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggODA1Y2YzZTZiYzEyMzJlZjk0MmE1Yzg4ZWJk
NWQzMThlODk0ZjZhMy4uNzFmZWNlZmQ5MjllMzBjY2VjYzk2YjVhNjUyMjcxZDM1YjViNjMyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTAzICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0YW5kYXJkaXplIG9uICJm
bHVzaCIgdGVybWlub2xvZ3kgZm9yIGNvbXBvc2l0aW5nIGxheWVyIGZsdXNoaW5nL3N5bmNpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MzIxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIGNv
bXBvc2l0aW5nLXJlbGF0ZWQgbWV0aG9kcyB0aGF0IHJlZmVyIHRvICJzeW5jaW5nIiB0byBpbnN0
ZWFkCisgICAgICAgIHJlZmVyIHRvICJmbHVzaGluZyIuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50
RWZsOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorCiAy
MDEyLTEwLTAyICBLcnp5c3p0b2YgQ3plY2ggIDxrLmN6ZWNoQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFtFRkxdW1VUXSBSZWZhY3RvcmluZyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0ZXN0aW5nIGZy
YW1ld29yayBmb3Igd2sxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDdjOWIzNmU5NDBiNjU1ZmJjNTI0
YWYyY2JiZmM3YjQwOTk3ZDk4OWEuLmQ0OTNmNmM5NDhmZTljMDhjZjQzNmUzNDllZGFlNWY1NmUy
YTMyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMC0wMyAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBTdGFuZGFyZGl6
ZSBvbiAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBjb21wb3NpdGluZyBsYXllciBmbHVzaGluZy9z
eW5jaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
ODMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bmFtZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhvZHMgdGhhdCByZWZlciB0byAic3luY2luZyIg
dG8gaW5zdGVhZAorICAgICAgICByZWZlciB0byAiZmx1c2hpbmciLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21l
Q2xpZW50OjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorCiAy
MDEyLTEwLTAyICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gVmFsdWUgbm90IHJldHVybmVkIHdhcm5pbmcgd2l0aCBnZW9sb2NhdGlv
biBkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGJjNGQ2ZjBlYzc2NWM5ZGRlZWYxMDI5ZWFj
MDNhZGE1YWMyZTgxZTIuLjgzZmM4OGVjOGNhYWEzNGI2MDJjNDZiMTc1MzIxMmVhYjc5NjgxYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEgKzEsMjAgQEAKKzIwMTItMTAtMDMgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgU3RhbmRhcmRpemUgb24gImZs
dXNoIiB0ZXJtaW5vbG9neSBmb3IgY29tcG9zaXRpbmcgbGF5ZXIgZmx1c2hpbmcvc3luY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgzMjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgY29t
cG9zaXRpbmctcmVsYXRlZCBtZXRob2RzIHRoYXQgcmVmZXIgdG8gInN5bmNpbmciIHRvIGluc3Rl
YWQKKyAgICAgICAgcmVmZXIgdG8gImZsdXNoaW5nIi4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyRmx1c2gpOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V2ViVmlldyBfZmx1c2hDb21wb3NpdGluZ0NoYW5nZXNdKToKKyAgICAgICAgKExheWVyRmx1c2hD
b250cm9sbGVyOjpmbHVzaExheWVycyk6CisgICAgICAgICgtW1dlYlZpZXcgX3NjaGVkdWxlQ29t
cG9zaXRpbmdMYXllckZsdXNoXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwu
aDoKKwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdlTG9nLTIwMTItMTAtMDIgPT0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKaW5kZXggZTUzMWYyYTg4ZDk1ZWM0ZjcxOWZjYzk5OWE0YjdkMGE2M2I5NmE5NS4uZGJhYmM5
MTdlZGI4MzEwZTQ5OTFlZDZhMDRmMTYxZmRmN2U2MzRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0xMC0wMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBTdGFuZGFyZGl6ZSBvbiAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBj
b21wb3NpdGluZyBsYXllciBmbHVzaGluZy9zeW5jaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhv
ZHMgdGhhdCByZWZlciB0byAic3luY2luZyIgdG8gaW5zdGVhZAorICAgICAgICByZWZlciB0byAi
Zmx1c2hpbmciLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgor
ICAgICAgICAoQ2hyb21lQ2xpZW50UXQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BhZ2VD
bGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ2xpZW50UUdyYXBoaWNzV2lkZ2V0
OjpzeW5jTGF5ZXJzKToKKwogMjAxMi0xMC0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBTYWZhcmkgMiAtPiBTYWZhcmkgMyBpY29uIGRh
dGFiYXNlIGltcG9ydCBjb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDY4ZTg4NWEyMzljNjk0NDlj
ZDZkOTJhMmI4N2MzNzEwMmEzM2RmNTEuLjEwYmI0ZDU5MWVmNzExMWRiZDRhMzdiZWRhYjBkMDU0
YzgyMGQ5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0xMC0wMyAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBTdGFuZGFy
ZGl6ZSBvbiAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBjb21wb3NpdGluZyBsYXllciBmbHVzaGlu
Zy9zeW5jaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhvZHMgdGhhdCByZWZlciB0byAic3luY2lu
ZyIgdG8gaW5zdGVhZAorICAgICAgICByZWZlciB0byAiZmx1c2hpbmciLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNocm9tZUNs
aWVudDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAg
ICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmZsdXNoUGVuZGluZ0dyYXBo
aWNzTGF5ZXJDaGFuZ2VzKToKKwogMjAxMi0xMC0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBTYWZhcmkgMiAtPiBTYWZhcmkgMyBpY29u
IGRhdGFiYXNlIGltcG9ydCBjb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCA0M2MyZmFjYTkw
MzkyNTkwZmIzZDJlOGNhZTVmNmUyNDRiYzlmMDMxLi5mZTJlZjkxYTgzMjU5ZjI4ZmI4ZjBiZDk5
NWEyODc0NjA0NzQ2MTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDEyLTEwLTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIFN0YW5kYXJkaXplIG9uICJmbHVzaCIgdGVybWlub2xvZ3kgZm9yIGNvbXBvc2l0aW5nIGxh
eWVyIGZsdXNoaW5nL3N5bmNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4MzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVuYW1lIGNvbXBvc2l0aW5nLXJlbGF0ZWQgbWV0aG9kcyB0aGF0IHJlZmVy
IHRvICJzeW5jaW5nIiB0byBpbnN0ZWFkCisgICAgICAgIHJlZmVyIHRvICJmbHVzaGluZyIuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKyAgICAg
ICAgKENocm9tZUNsaWVudFdpbkNFKToKKwogMjAxMi0wOS0yOCAgTWlraGFpbCBQb3pkbnlha292
ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBDb2RlIGluc2lkZSBG
cmFtZUxvYWRlckNsaWVudDo6Y2FuU2hvd01JTUVUeXBlKCkgaW1wbGVtZW50YXRpb25zIGNhbiBi
ZSBzaGFyZWQgYW1vbmcgZGlmZmVyZW50IFdLIHBvcnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmM0ZDZmMGVj
NzY1YzlkZGVlZjEwMjllYWMwM2FkYTVhYzJlODFlMi4uOTNlOWRhZjA4ZTI2NmViNjkxZDg0ZDgz
MjQ0NDY5NWMxOTBkM2JjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSArMSwzMiBAQAorMjAxMi0xMC0wMyAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBTdGFuZGFy
ZGl6ZSBvbiAiZmx1c2giIHRlcm1pbm9sb2d5IGZvciBjb21wb3NpdGluZyBsYXllciBmbHVzaGlu
Zy9zeW5jaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbmFtZSBjb21wb3NpdGluZy1yZWxhdGVkIG1ldGhvZHMgdGhhdCByZWZlciB0byAic3luY2lu
ZyIgdG8gaW5zdGVhZAorICAgICAgICByZWZlciB0byAiZmx1c2hpbmciLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKERyYXdpbmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2lu
Z0FyZWFJbXBsOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAgICAgICAoRHJhd2luZ0FyZWFJ
bXBsKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBOjpmbHVzaFBlbmRpbmdMYXllckNo
YW5nZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gpOgorICAgICAgICAoV2ViS2l0OjpU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KToKKyAg
ICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFs
bFBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWE6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKToKKwogPT0gUm9sbGVkIG92
ZXIgdG8gQ2hhbmdlTG9nLTIwMTItMTAtMDIgPT0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzM0
MjZmN2E0NGI4MTNkYjExZmEwNzVkN2NjYjAzMTU4N2NlOGZmZi4uNjNkMGU1YTlmNGUxZTUyNWEx
NGJmOThmM2E2MWQ1ZWUxYWM1MjM0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTk3NSw3ICs5
NzUsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjlzZXRTaG91bGRVcGRhdGVXaGlsZU9mZnNj
cmVlbkViCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3Mzd1cGRhdGVMYXlvdXRBbmRTdHlsZUlmTmVl
ZGVkUmVjdXJzaXZlRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXczN3NldFNjcm9sbGluZ1BlcmZv
cm1hbmNlTG9nZ2luZ0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzM4c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkVmlhUGxhdGZvcm1XaWRnZXRFdgotX19aTjdXZWJDb3JlOUZyYW1lVmlldzM4
c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXNFdgorX19aTjdXZWJDb3JlOUZy
YW1lVmlldzM5Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzRXYKIF9fWk43
V2ViQ29yZTlGcmFtZVZpZXc2Y3JlYXRlRVBOU181RnJhbWVFCiBfX1pON1dlYkNvcmU5RnJhbWVW
aWV3NmNyZWF0ZUVQTlNfNUZyYW1lRVJLTlNfN0ludFNpemVFCiBfX1pON1dlYkNvcmU5SFRNTE5h
bWVzMTBsaXN0aW5nVGFnRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDdj
OTE0ODM4ZjIxNjg2MzI4YjdlNDIyZjA4ZTljNjEzMTcxM2QwYzYuLjM5MDI3OTAzODFhZmJjOGUx
MzIzZTI0MGExZWY1YTNlMTgxODcyNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTE5MSw5ICsxOTEsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFJl
Y3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3QgeyB9CiAKICNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCi0gICAgdmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVy
KEZyYW1lKiwgR3JhcGhpY3NMYXllciopIHt9Ci0gICAgdmlydHVhbCB2b2lkIHNldE5lZWRzT25l
U2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKSB7fQotICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkge30KKyAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdy
YXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKikgeyB9CisgICAgdmlydHVhbCB2b2lk
IHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKSB7IH0KICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oV0lOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNDBkZWI0NmMz
OTJjMjEwZjA1ZDk5ZDUzMmMzOGIzOTNlNGZmMGU3Ny4uY2E4MmY0MWM0OTE2Njk0ZmY4OGYzZGUz
MTRiZDFlOWE5YzhjYWU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yNTcs
NyArMjU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0
TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpID0gMDsKICAgICAgICAgLy8gU2V0
cyBhIGZsYWcgdG8gc3BlY2lmeSB0aGF0IHRoZSB2aWV3IG5lZWRzIHRvIGJlIHVwZGF0ZWQsIHNv
IHdlIG5lZWQKICAgICAgICAgLy8gdG8gZG8gYW4gZWFnZXIgbGF5b3V0IGJlZm9yZSB0aGUgZHJh
d2luZy4KLSAgICAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMo
KSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCgpID0gMDsKICAgICAgICAgLy8gUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgY2xpZW50IGNh
biByZW5kZXIgdGhlIGNvbXBvc2l0ZWQgbGF5ZXIsCiAgICAgICAgIC8vIHJlZ2FyZGxlc3Mgb2Yg
dGhlIHNldHRpbmdzLgogICAgICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dzQWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAppbmRleCBjZjNmMDFhZDZkMGExMTEwNzNmMGE0N2Q0N2FiMzZjZTU2NzliNjAxLi4wNWZmODNm
MmIxN2U0YWE0NjBkZGNiY2Q2ZDM5MDBmNGFlN2MzM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCkBAIC03OTEsNyArNzkxLDcgQEAgR3JhcGhpY3NMYXllciogRnJhbWVWaWV3OjpsYXll
ckZvck92ZXJoYW5nQXJlYXMoKSBjb25zdAogfQogI2VuZGlmCiAKLWJvb2wgRnJhbWVWaWV3Ojpz
eW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZShGcmFtZSogcm9vdEZyYW1lRm9yU3luYykK
K2Jvb2wgRnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUoRnJhbWUq
IHJvb3RGcmFtZUZvckZsdXNoKQogewogICAgIFJlbmRlclZpZXcqIHJvb3QgPSByb290UmVuZGVy
ZXIodGhpcyk7CiAgICAgaWYgKCFyb290KQpAQCAtODA4LDcgKzgwOCw3IEBAIGJvb2wgRnJhbWVW
aWV3OjpzeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZShGcmFtZSogcm9vdEZyYW1lRm9y
U3luYykKICAgICAvLyB2aXNpYmxlIGZsYXNoIHRvIG9jY3VyLiBJbnN0ZWFkLCBzdG9wIHRoZSBk
ZWZlcnJlZCByZXBhaW50IHRpbWVyIGFuZCByZXBhaW50IGltbWVkaWF0ZWx5LgogICAgIGZsdXNo
RGVmZXJyZWRSZXBhaW50cygpOwogCi0gICAgcm9vdC0+Y29tcG9zaXRvcigpLT5mbHVzaFBlbmRp
bmdMYXllckNoYW5nZXMocm9vdEZyYW1lRm9yU3luYyA9PSBtX2ZyYW1lKTsKKyAgICByb290LT5j
b21wb3NpdG9yKCktPmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyhyb290RnJhbWVGb3JGbHVzaCA9
PSBtX2ZyYW1lKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtODg3LDE2ICs4ODcsMTYgQEAg
Ym9vbCBGcmFtZVZpZXc6OmlzRW5jbG9zZWRJbkNvbXBvc2l0aW5nTGF5ZXIoKSBjb25zdAogICAg
IHJldHVybiBmYWxzZTsKIH0KICAgICAKLWJvb2wgRnJhbWVWaWV3OjpzeW5jQ29tcG9zaXRpbmdT
dGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpCitib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGlu
Z1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCkKIHsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCi0gICAgYm9vbCBhbGxGcmFtZXNTeW5jZWQgPSBzeW5jQ29tcG9zaXRpbmdTdGF0ZUZv
clRoaXNGcmFtZShtX2ZyYW1lLmdldCgpKTsKKyAgICBib29sIGFsbEZyYW1lc0ZsdXNoZWQgPSBm
bHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUobV9mcmFtZS5nZXQoKSk7CiAgICAgCiAg
ICAgZm9yIChGcmFtZSogY2hpbGQgPSBtX2ZyYW1lLT50cmVlKCktPmZpcnN0Q2hpbGQoKTsgY2hp
bGQ7IGNoaWxkID0gY2hpbGQtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KG1fZnJhbWUuZ2V0KCkpKSB7
Ci0gICAgICAgIGJvb2wgc3luY2VkID0gY2hpbGQtPnZpZXcoKS0+c3luY0NvbXBvc2l0aW5nU3Rh
dGVGb3JUaGlzRnJhbWUobV9mcmFtZS5nZXQoKSk7Ci0gICAgICAgIGFsbEZyYW1lc1N5bmNlZCAm
PSBzeW5jZWQ7CisgICAgICAgIGJvb2wgZmx1c2hlZCA9IGNoaWxkLT52aWV3KCktPmZsdXNoQ29t
cG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZShtX2ZyYW1lLmdldCgpKTsKKyAgICAgICAgYWxsRnJh
bWVzRmx1c2hlZCAmPSBmbHVzaGVkOwogICAgIH0KLSAgICByZXR1cm4gYWxsRnJhbWVzU3luY2Vk
OworICAgIHJldHVybiBhbGxGcmFtZXNGbHVzaGVkOwogI2Vsc2UgLy8gVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogICAgIHJldHVybiB0cnVlOwogI2VuZGlmCkBAIC0zMTk0LDcgKzMxOTQs
NyBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIHAsIGNv
bnN0IEludFJlY3QmIHJlY3QpCiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAg
ICAgaWYgKCFwLT5wYWludGluZ0Rpc2FibGVkKCkgJiYgIWRvY3VtZW50LT5wcmludGluZygpKQot
ICAgICAgICBzeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNGcmFtZShtX2ZyYW1lLmdldCgpKTsK
KyAgICAgICAgZmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0ZyYW1lKG1fZnJhbWUuZ2V0KCkp
OwogI2VuZGlmCiAKICAgICBQYWludEJlaGF2aW9yIG9sZFBhaW50QmVoYXZpb3IgPSBtX3BhaW50
QmVoYXZpb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA4NGIxNWQyYmEyNTZhOTMzYjY0
MzQyMGU0ODVhMTY3MTg2MjFlODQ5Li4zZmYwNTkyZjZiMDVkMzc0Yzc0ZjI0MjZlY2VhN2Y3ZjRl
YmQ5NWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJs
aWM6CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZvaWQgdXBkYXRlQ29t
cG9zaXRpbmdMYXllcnNBZnRlclN0eWxlQ2hhbmdlKCk7CiAgICAgdm9pZCB1cGRhdGVDb21wb3Np
dGluZ0xheWVyc0FmdGVyTGF5b3V0KCk7Ci0gICAgYm9vbCBzeW5jQ29tcG9zaXRpbmdTdGF0ZUZv
clRoaXNGcmFtZShGcmFtZSogcm9vdEZyYW1lRm9yU3luYyk7CisgICAgYm9vbCBmbHVzaENvbXBv
c2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUoRnJhbWUqIHJvb3RGcmFtZUZvckZsdXNoKTsKIAogICAg
IHZvaWQgY2xlYXJCYWNraW5nU3RvcmVzKCk7CiAgICAgdm9pZCByZXN0b3JlQmFja2luZ1N0b3Jl
cygpOwpAQCAtMTQwLDggKzE0MCw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzRW5jbG9zZWRJbkNv
bXBvc2l0aW5nTGF5ZXIoKSBjb25zdDsKIAogICAgIC8vIE9ubHkgdXNlZCB3aXRoIGFjY2VsZXJh
dGVkIGNvbXBvc2l0aW5nLCBidXQgb3V0c2lkZSB0aGUgI2lmZGVmIHRvIG1ha2UgbGlua2FnZSBl
YXNpZXIuCi0gICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBzeW5jIHdhcyBjb21wbGV0ZWQuCi0g
ICAgYm9vbCBzeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOworICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGUgZmx1c2ggd2FzIGNvbXBsZXRlZC4KKyAgICBib29sIGZsdXNo
Q29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwogCiAgICAgLy8gUmV0dXJucyB0
cnVlIHdoZW4gYSBwYWludCB3aXRoIHRoZSBQYWludEJlaGF2aW9yRmxhdHRlbkNvbXBvc2l0aW5n
TGF5ZXJzIGZsYWcgc2V0IGdpdmVzCiAgICAgLy8gYSBmYWl0aGZ1bCByZXByZXNlbnRhdGlvbiBv
ZiB0aGUgY29udGVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKaW5kZXggZWUyM2YwMGM3NjMwMGM1NjhiYWU2N2VmY2M5Nzk4N2Q0
MzY1YmQ4My4uYWFhNjA0NjcyOTQ3MDJmYTQzODBkNjczOTRkNGZmODdkMzIyOGY0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
QEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVs
ZUxheWVyRmx1c2goKQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFn
ZS0+Y2hyb21lKCktPmNsaWVudCgpLT5zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCk7Cisg
ICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCgpOwogfQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJD
aGFuZ2VzKGJvb2wgaXNGbHVzaFJvb3QpCiB7Ci0gICAgLy8gRnJhbWVWaWV3OjpzeW5jQ29tcG9z
aXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpIGZsdXNoZXMgZWFjaCBzdWJmcmFtZSwKKyAg
ICAvLyBGcmFtZVZpZXc6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygp
IGZsdXNoZXMgZWFjaCBzdWJmcmFtZSwKICAgICAvLyBidXQgR3JhcGhpY3NMYXllcjo6c3luY0Nv
bXBvc2l0aW5nU3RhdGUoKSB3aWxsIGNyb3NzIGZyYW1lIGJvdW5kYXJpZXMKICAgICAvLyBpZiB0
aGUgR3JhcGhpY3NMYXllcnMgYXJlIGNvbm5lY3RlZCAodGhlIFJvb3RMYXllckF0dGFjaGVkVmlh
RW5jbG9zaW5nRnJhbWUgY2FzZSkuCiAgICAgLy8gQXMgbG9uZyBhcyB3ZSdyZSBub3QgdGhlIHJv
b3Qgb2YgdGhlIGZsdXNoLCB3ZSBjYW4gYmFpbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0Jl
cnJ5LmNwcAppbmRleCAyOTZmMzc5Zjg1ZTVjZTI0YmQ5NTA2ZTRjM2NmZDM0OWY3NmZiNWY0Li41
YzcyZTQxMTEwZWJhZWJhZDRiZGYwNjRiNTVlZTk0OTY0YmM3YWI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJy
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC04MTksNyArODE5LDcgQEAgdm9pZCBDaHJvbWVDbGll
bnRCbGFja0JlcnJ5OjpzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkKICAg
ICBtX3dlYlBhZ2VQcml2YXRlLT5zZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9u
KCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6c2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyU3luYygpCit2b2lkIENocm9tZUNsaWVudEJsYWNrQmVycnk6OnNjaGVkdWxlQ29tcG9z
aXRpbmdMYXllckZsdXNoKCkKIHsKICAgICBtX3dlYlBhZ2VQcml2YXRlLT5zY2hlZHVsZVJvb3RM
YXllckNvbW1pdCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKaW5kZXggNTYw
MmZmMWRhYTViZDg2OGY2NDA1YTI1Njk4ZTZiMTk4Zjk3ZTNmZi4uNTE3MmZhOGU4NjRhMzY2Y2I2
N2I5MjI1OTU3MDdmYzNjMzBjZWM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5o
CkBAIC0xNTAsNyArMTUwLDcgQEAgcHVibGljOgogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBH
cmFwaGljc0xheWVyKik7CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdT
eW5jaHJvbml6YXRpb24oKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xh
eWVyU3luYygpOworICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCgpOwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgY29u
c3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcAppbmRleCA3ZTBmODg1NDI1MmMwNDIzMTllMTIzNGRkMzA5MDE4MWE1NmZkNTgx
Li5hMDFjMzViM2I1NmNlODAxMGVlYjJiYzRmMjIwZDg0NjZiYWIzN2I4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAtOTE3LDcgKzkx
Nyw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJh
bWUqIGZyYW1lLCBHcmFwaGljc0xheWVyKiBncmFwCiAgICAgbV93ZWJWaWV3LT5zZXRSb290R3Jh
cGhpY3NMYXllcihncmFwaGljc0xheWVyKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpz
Y2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6c2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogewogICAgIG1fd2ViVmlldy0+c2NoZWR1bGVD
b21wb3NpdGluZ0xheWVyU3luYygpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Q2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDdkNDU2ZmJmNTMwYzQ5NjU2MjhiMjU5NzljMmE0NjEw
ZmJkYmM3MWMuLjg3ZmFjZWEzYjVjZTIwMWQ3ZGZiMjY3NTQxMTBmMDQ0MzMzOWQxMzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKQEAgLTE3MSw3
ICsxNzEsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTZXRzIGEgZmxhZyB0byBzcGVjaWZ5IHRoYXQg
dGhlIHZpZXcgbmVlZHMgdG8gYmUgdXBkYXRlZCwgc28gd2UgbmVlZAogICAgIC8vIHRvIGRvIGFu
IGVhZ2VyIGxheW91dCBiZWZvcmUgdGhlIGRyYXdpbmcuCi0gICAgdmlydHVhbCB2b2lkIHNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21w
b3NpdGluZ0xheWVyRmx1c2goKTsKIAogICAgIHZpcnR1YWwgQ29tcG9zaXRpbmdUcmlnZ2VyRmxh
Z3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuY3BwCmluZGV4IGQ0YmVjNjI0ODI0NjMyYzZhOGJl
ZDA1ZjJiOTA5MDk3YWQzYmVkNjMuLjRhMDg1NTJjOWFkYTRkNmQ3OWQ3ZDQwNTZlOTkzNmZhMjUy
ZTEzMDAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAKQEAgLTcw
LDcgKzcwLDcgQEAgdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c3luY0xheWVy
c05vdygpCiAgICAgaWYgKG1fcm9vdEdyYXBoaWNzTGF5ZXIpCiAgICAgICAgIG1fcm9vdEdyYXBo
aWNzTGF5ZXItPnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwogCi0gICAg
RVdLUHJpdmF0ZTo6Y29yZVBhZ2UobV92aWV3KS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+c3luY0Nv
bXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKKyAgICBFV0tQcml2YXRlOjpjb3Jl
UGFnZShtX3ZpZXcpLT5tYWluRnJhbWUoKS0+dmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJ
bmNsdWRpbmdTdWJmcmFtZXMoKTsKIH0KIAogdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29u
dGV4dDo6cmVuZGVyTGF5ZXJzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IGExYTRjMzdjNmQ2MzVkYTYxMWZiNGUy
MTMxNGRmYzAxYWY0OTBiNWUuLmIzM2JmZWUwMTk1NTM2NGQzMjBjMDFjZWZkY2E2MWQ3NmU0ZDY3
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmNwcApAQCAtNjA1LDcgKzYwNSw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpz
ZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQogCi12b2lkIENocm9tZUNsaWVudEVmbDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVy
U3luYygpCit2b2lkIENocm9tZUNsaWVudEVmbDo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1
c2goKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCmluZGV4IDI2N2Y1YWY0NzM0OWE4
OTg5ZDc2ODQ3NDNhYjQwMDg2YjMyMTVlY2QuLjY4ZGE0NWE4YTgxNmYzMDhjNTdlYzE3OTc4NzJm
ODQzYjUxNmY2NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xMzQsNyArMTM0LDcgQEAgcHVibGljOgogI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBo
aWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKik7CiAgICAgdmlydHVhbCB2b2lkIHNldE5l
ZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNv
bXBvc2l0aW5nTGF5ZXJGbHVzaCgpOwogICAgIHZpcnR1YWwgQ29tcG9zaXRpbmdUcmlnZ2VyRmxh
Z3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Fj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Q2Fpcm8uY3BwCmluZGV4IDg4MTEzMmE3ZGIwYTM0
MTIwN2UyODU4NWZiZTI5YzVmNTBkMDk1YjcuLjJkYjYzMjE0MDM0NzU4ODY1MzNkMmQ1NmQwY2Q0
NjhmYTYzODgyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Q2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Q2Fpcm8u
Y3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dDo6c3luY0xheWVyc05vdygpCiAgICAgaWYgKG1fcm9vdEdyYXBoaWNzTGF5ZXIpCiAgICAgICAg
IG1fcm9vdEdyYXBoaWNzTGF5ZXItPnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25s
eSgpOwogCi0gICAgY29yZShtX3dlYlZpZXcpLT5tYWluRnJhbWUoKS0+dmlldygpLT5zeW5jQ29t
cG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOworICAgIGNvcmUobV93ZWJWaWV3KS0+
bWFpbkZyYW1lKCktPnZpZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJh
bWVzKCk7CiB9CiAKIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnN5bmNMYXll
cnNUaW1lb3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Q2x1dHRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dENsdXR0ZXIu
Y3BwCmluZGV4IGM1MjNiYjU0NTkwODY2MzRhZDIzMWRiNTk3YTQ3YjA3YTdlYWQ0OGIuLjRkNjM2
ZjI4MTU2OGNmYjNiNGVmZTcwMGUyZmY0N2M1MGRiZTM4ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Q2x1
dHRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHRDbHV0dGVyLmNwcApAQCAtMTM4LDcgKzEzOCw3IEBAIGJvb2wg
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygp
CiAgICAgaWYgKG1fcm9vdEdyYXBoaWNzTGF5ZXIpCiAgICAgICAgIG1fcm9vdEdyYXBoaWNzTGF5
ZXItPnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwogCi0gICAgcmV0dXJu
IGNvcmUobV93ZWJWaWV3KS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+c3luY0NvbXBvc2l0aW5nU3Rh
dGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKKyAgICByZXR1cm4gY29yZShtX3dlYlZpZXcpLT5tYWlu
RnJhbWUoKS0+dmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMo
KTsKIH0KIAogdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hBbmRSZW5k
ZXJMYXllcnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRHTC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcAppbmRleCBm
NTRkMmVjNDhkNDhlZjg5MDFkMDJiYjI4ZjEwMTUyZDViMzczNGMwLi4zZDViZjM2MDY2MjRjNDcx
MTc3NWY3MTU4Y2FiZGFmZDY0MGI5NzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29u
dGV4dEdMLmNwcApAQCAtMzI0LDcgKzMyNCw3IEBAIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCiB7CiAgICAgbV9yb290TGF5ZXIt
PnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwogICAgIG1fbm9uQ29tcG9z
aXRlZENvbnRlbnRMYXllci0+c3luY0NvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7
Ci0gICAgcmV0dXJuIGNvcmUobV93ZWJWaWV3KS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+c3luY0Nv
bXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKKyAgICByZXR1cm4gY29yZShtX3dl
YlZpZXcpLT5tYWluRnJhbWUoKS0+dmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRp
bmdTdWJmcmFtZXMoKTsKIH0KIAogdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6
Zmx1c2hBbmRSZW5kZXJMYXllcnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggMzUyM2ZhNzhkMGQzZGJjYWU2ODlk
NzQzNzFlYTMzY2I3YTE1ZTFmMy4uNjE1MmY1MDgwYmZiZGVjOWNlNDQxYzljMzkxNTAyYjIwMDE5
OTk4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRHdGsuY3BwCkBAIC0xMDE0LDcgKzEwMTQsNyBAQCB2b2lkIENocm9tZUNsaWVudDo6
c2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpCiAgICAgbV93ZWJWaWV3LT5w
cml2LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC0+c2NoZWR1bGVMYXllckZsdXNoKCk7
CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50OjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkK
K3ZvaWQgQ2hyb21lQ2xpZW50OjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiB7CiAg
ICAgbV93ZWJWaWV3LT5wcml2LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC0+c2NoZWR1
bGVMYXllckZsdXNoKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5oCmluZGV4IDI4NGJkYWEzNjYwNmFlMTVhYmJjMTU2YjNlZThl
MjE1ZDcyYzFlMWMuLjQ0YzIxMWFkNDYyODdlZmZkNzQzMDRjMDJkY2M2ZGIzMGZhZjYwM2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5oCkBAIC0xNTYsNyArMTU2LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKSAKICAgICAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFw
aGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NMYXllciopOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
c2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpOwotICAgICAgICB2aXJ0dWFs
IHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgICAgICB2aXJ0dWFsIHZv
aWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKTsKICAgICAgICAgdmlydHVhbCBDb21w
b3NpdGluZ1RyaWdnZXJGbGFncyBhbGxvd2VkQ29tcG9zaXRpbmdUcmlnZ2VycygpIGNvbnN0Owog
I2VuZGlmIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCmluZGV4IGE0NzNmZTM0MGZjZTUzOTBmYWIyZjE1MDFjMTk0YTFkYjljMmE2
YmYuLjg5NWQ4ZGVkOTIwNDQ2MGFlNmM3NWVhMTZmNGE5YWI3NWMyMmE4ZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0x
NDcsNyArMTQ3LDcgQEAgcHVibGljOgogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUq
LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNl
dE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKSBPVkVSUklERTsKLSAgICB2aXJ0
dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpIE9WRVJSSURFOworICAgIHZp
cnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpIE9WRVJSSURFOwogCiAg
ICAgdmlydHVhbCBDb21wb3NpdGluZ1RyaWdnZXJGbGFncyBhbGxvd2VkQ29tcG9zaXRpbmdUcmln
Z2VycygpIGNvbnN0CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IGM3ZGNlZmE5N2UwYTY3MDg5NmQyNzBiYTAw
MmIzM2RiMDVjYjliMGEuLmRkMWI1MzBiNWMyOTUyY2YwYWY5Yjk4ZGVlY2Y2MWE4ZmM3NGRlZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQubW0KQEAgLTg3OCwxMCArODc4LDEwIEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRO
ZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkKICAgICBFTkRfQkxPQ0tfT0JKQ19F
WENFUFRJT05TOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6c2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyU3luYygpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2NoZWR1bGVDb21wb3NpdGluZ0xh
eWVyRmx1c2goKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSAgICBbbV93
ZWJWaWV3IF9zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jXTsKKyAgICBbbV93ZWJWaWV3IF9z
Y2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaF07CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBU
SU9OUzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDQ1N2Q0MDYy
YTRiYzA3YmJiODI1NTg0OGZlODVmZDg4Y2I3ZGY4ZmEuLjgxMmYzZjBlM2JkYTYyZjIxOWQ3YTRi
NzdiMTkzMDcwZWE0NzEzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAg
LTYyOTcsMTEgKzYyOTcsMTEgQEAgc3RhdGljIGlubGluZSB1aW50NjRfdCByb3VuZFVwVG9Qb3dl
ck9mMih1aW50NjRfdCBudW0pCiAgICAgX3ByaXZhdGUtPm5lZWRzT25lU2hvdERyYXdpbmdTeW5j
aHJvbml6YXRpb24gPSBuZWVkc1N5bmNocm9uaXphdGlvbjsKIH0KIAotLSAoQk9PTClfc3luY0Nv
bXBvc2l0aW5nQ2hhbmdlcworLSAoQk9PTClfZmx1c2hDb21wb3NpdGluZ0NoYW5nZXMKIHsKICAg
ICBGcmFtZSogZnJhbWUgPSBbc2VsZiBfbWFpbkNvcmVGcmFtZV07CiAgICAgaWYgKGZyYW1lICYm
IGZyYW1lLT52aWV3KCkpCi0gICAgICAgIHJldHVybiBmcmFtZS0+dmlldygpLT5zeW5jQ29tcG9z
aXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOworICAgICAgICByZXR1cm4gZnJhbWUtPnZp
ZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7CiAKICAgICBy
ZXR1cm4gWUVTOwogfQpAQCAtNjM1OCw3ICs2MzU4LDcgQEAgYm9vbCBMYXllckZsdXNoQ29udHJv
bGxlcjo6Zmx1c2hMYXllcnMoKQogICAgIGlmICh2aWV3c05lZWREaXNwbGF5KQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoW21fd2ViVmlldyBfc3luY0NvbXBvc2l0aW5nQ2hhbmdl
c10pIHsKKyAgICBpZiAoW21fd2ViVmlldyBfZmx1c2hDb21wb3NpdGluZ0NoYW5nZXNdKSB7CiAg
ICAgICAgIC8vIEFwcEtpdCBtYXkgaGF2ZSBkaXNhYmxlZCBzY3JlZW4gdXBkYXRlcywgdGhpbmtp
bmcgYW4gdXBjb21pbmcgd2luZG93IGZsdXNoIHdpbGwgcmUtZW5hYmxlIHRoZW0uCiAgICAgICAg
IC8vIEluIGNhc2Ugc2V0TmVlZHNEaXNwbGF5SW5SZWN0KCkgaGFzIHByZXZlbnRlZCB0aGUgd2lu
ZG93IGZyb20gbmVlZGluZyB0byBiZSBmbHVzaGVkLCByZS1lbmFibGUgc2NyZWVuCiAgICAgICAg
IC8vIHVwZGF0ZXMgaGVyZS4KQEAgLTYzNzUsNyArNjM3NSw3IEBAIGJvb2wgTGF5ZXJGbHVzaENv
bnRyb2xsZXI6OmZsdXNoTGF5ZXJzKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLS0gKHZvaWQp
X3NjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMKKy0gKHZvaWQpX3NjaGVkdWxlQ29tcG9zaXRp
bmdMYXllckZsdXNoCiB7CiAgICAgaWYgKCFfcHJpdmF0ZS0+bGF5ZXJGbHVzaENvbnRyb2xsZXIp
CiAgICAgICAgIF9wcml2YXRlLT5sYXllckZsdXNoQ29udHJvbGxlciA9IExheWVyRmx1c2hDb250
cm9sbGVyOjpjcmVhdGUoc2VsZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
SW50ZXJuYWwuaAppbmRleCBhNDNlZjNhOTg4MmVmM2Y3YjRiZjQyYjUxNjI4ZjkyYWVmYTNiZjk2
Li40YjE2NTRjNmJlM2E0YzlhYzdiYjBkZmRhZDUxZDFkYmZkODBlYjZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBP
QkpDX0NMQVNTIE5TVGV4dEFsdGVybmF0aXZlczsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiAtIChCT09MKV9uZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uOwogLSAo
dm9pZClfc2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbjooQk9PTCluZWVkc1N5
bmNocm9uaXphdGlvbjsKLS0gKHZvaWQpX3NjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmM7Cist
ICh2b2lkKV9zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaDsKICNlbmRpZgogCiAjaWYgRU5B
QkxFKEdMSUJfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRRdC5jcHAKaW5kZXggOTEyMzIwY2NkZGE2MmE0OGI3MmVjNzM2MzJiMjE3
NjBlYzJhMWUyZi4uZWFhZWIwMTJmODZkMGE1MzExMGI1Nzk3NzNmNmQ1YjhjMDVkOTM0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5j
cHAKQEAgLTY4MCw3ICs2ODAsNyBAQCB2b2lkIENocm9tZUNsaWVudFF0OjpzZXROZWVkc09uZVNo
b3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkKICAgICAgICAgcGxhdGZvcm1QYWdlQ2xpZW50KCkt
Pm1hcmtGb3JTeW5jKGZhbHNlKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRRdDo6c2NoZWR1bGVD
b21wb3NpdGluZ0xheWVyU3luYygpCit2b2lkIENocm9tZUNsaWVudFF0OjpzY2hlZHVsZUNvbXBv
c2l0aW5nTGF5ZXJGbHVzaCgpCiB7CiAgICAgLy8gd2Ugd2FudCB0aGUgbGF5ZXJzIHRvIHN5bmNo
cm9uaXplIEFTQVAKICAgICBpZiAocGxhdGZvcm1QYWdlQ2xpZW50KCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggMjczNjhlN2Yx
YTg3OGExODEzZTUwYjc3MWE4ZDVmMzVlOWRkNDlkOS4uZjczNTlkMmUyODc0YTc1NTE5YzJmNTM4
NzY4MTMyOTgwYWU0YjljZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICAvLyBU
aGlzIGlzIGEgaG9vayBmb3IgV2ViQ29yZSB0byB0ZWxsIHVzIHdoYXQgd2UgbmVlZCB0byBkbyB3
aXRoIHRoZSBHcmFwaGljc0xheWVycy4KICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBo
aWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKik7CiAgICAgdmlydHVhbCB2b2lkIHNldE5l
ZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNv
bXBvc2l0aW5nTGF5ZXJGbHVzaCgpOwogICAgIHZpcnR1YWwgQ29tcG9zaXRpbmdUcmlnZ2VyRmxh
Z3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdDsKICNlbmRpZgogICAgIHZpcnR1
YWwgYm9vbCBhbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAKaW5kZXggMmJlMWIz
YjNmN2U4OTQ2ZmMzNTA5OTQwYzExOTFjY2MzYWFiYzFmYi4uY2FlMTMwODRjNmYwNmExZjU1ZDgw
ZDI5ZTljZWU5YjRmNTRlNWMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUGFnZUNsaWVudFF0LmNwcApAQCAtMTQxLDcgKzE0MSw3IEBAIHZvaWQgUGFnZUNsaWVu
dFFXaWRnZXQ6OnN5bmNMYXllcnMoVGltZXI8UGFnZUNsaWVudFFXaWRnZXQ+KikKIHsKICAgICBp
ZiAoVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50KQogICAgICAgICBUZXh0dXJlTWFwcGVyTGF5ZXJD
bGllbnQtPnN5bmNSb290TGF5ZXIoKTsKLSAgICBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKHBhZ2Ut
Pm1haW5GcmFtZSgpKS0+dmlldygpLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZy
YW1lcygpOworICAgIFFXZWJGcmFtZVByaXZhdGU6OmNvcmUocGFnZS0+bWFpbkZyYW1lKCkpLT52
aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwogICAgIGlm
ICghVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50KQogICAgICAgICByZXR1cm47CiAgICAgaWYgKFRl
eHR1cmVNYXBwZXJMYXllckNsaWVudC0+cm9vdExheWVyKCktPmRlc2NlbmRhbnRzT3JTZWxmSGF2
ZVJ1bm5pbmdBbmltYXRpb25zKCkgJiYgIXN5bmNUaW1lci5pc0FjdGl2ZSgpKQpAQCAtMjcxLDcg
KzI3MSw3IEBAIHZvaWQgUGFnZUNsaWVudFFHcmFwaGljc1dpZGdldDo6c3luY0xheWVycygpCiAg
ICAgaWYgKFRleHR1cmVNYXBwZXJMYXllckNsaWVudCkKICAgICAgICAgVGV4dHVyZU1hcHBlckxh
eWVyQ2xpZW50LT5zeW5jUm9vdExheWVyKCk7CiAKLSAgICBRV2ViRnJhbWVQcml2YXRlOjpjb3Jl
KHBhZ2UtPm1haW5GcmFtZSgpKS0+dmlldygpLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGlu
Z1N1YmZyYW1lcygpOworICAgIFFXZWJGcmFtZVByaXZhdGU6OmNvcmUocGFnZS0+bWFpbkZyYW1l
KCkpLT52aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwog
CiAgICAgaWYgKCFUZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnQpCiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCmluZGV4IGM3NWJiZTVkZmE2OGRiYTFjZDYyM2FiMDJlMDA4NmVmOTNhNjcyYWIuLjY4YmRk
ZWYwMzQxODRiNWQ0MDFkNWNkMGY3NGE1NjIxZjY0YjY5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNzQ2LDcg
Kzc0Niw3IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjphdHRhY2hSb290R3JhcGhpY3NMYXllcihG
cmFtZSogZnJhbWUsIEdyYXBoaWNzTGF5ZXIqIGdyYXBoCiAgICAgbV93ZWJWaWV3LT5zZXRSb290
Q2hpbGRMYXllcihncmFwaGljc0xheWVyKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNj
aGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKIHsKICAgICBtX3dlYlZpZXctPmZsdXNoUGVuZGlu
Z0dyYXBoaWNzTGF5ZXJDaGFuZ2VzU29vbigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA5ODI1OTIyZjVlZTE3OWE2
NjM3MWJmMTNmZjAwZWRlOTQxNmExZTFhLi45YWVjNzM0NmYwMjU5ZmVmMDg1ZGFhN2E2NzVjZTM4
ZGU1YTdkNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaApAQCAtMTM5LDcgKzEzOSw3IEBAIHB1YmxpYzoKICAgICAgICAgdmly
dHVhbCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKSB7IH0KICAg
ICAgICAgLy8gU2V0cyBhIGZsYWcgdG8gc3BlY2lmeSB0aGF0IHRoZSB2aWV3IG5lZWRzIHRvIGJl
IHVwZGF0ZWQsIHNvIHdlIG5lZWQKICAgICAgICAgLy8gdG8gZG8gYW4gZWFnZXIgbGF5b3V0IGJl
Zm9yZSB0aGUgZHJhd2luZy4KLSAgICAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRp
bmdMYXllclN5bmMoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNFKEFWRk9VTkRB
VElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNl
L1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggYTkwZjY3ZTc1NzZhOWQ2NDBhYzUwOTc3Yjli
NjQ2NmU0YzM4Y2IxYS4uOWZiOTY3YTJhN2M4MGI0NDc2MmI0MjE1ZjIxOTVjMGZjN2U4ZDcxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTY2NzUsNyArNjY3NSw3IEBAIHZvaWQgV2ViVmlldzo6
Zmx1c2hQZW5kaW5nR3JhcGhpY3NMYXllckNoYW5nZXMoKQogICAgIGlmIChtX2JhY2tpbmdMYXll
cikKICAgICAgICAgbV9iYWNraW5nTGF5ZXItPnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xh
eWVyT25seSgpOwogCi0gICAgdmlldy0+c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJm
cmFtZXMoKTsKKyAgICB2aWV3LT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFt
ZXMoKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCmluZGV4IGFjMGIyNmRhNzA4ZjhhZjY5
NzI3ZjI2MGZiZjdkZGQ3ZDZhNTRiODkuLmRlNmJmNzE5MGZiMDIzOWI0MDE3OGZhNGRlOGJlZGNm
NDA4NWJlNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50V2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBDaHJv
bWVDbGllbnRXaW5DRTo6c2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpCiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6c2NoZWR1
bGVDb21wb3NpdGluZ0xheWVyU3luYygpCit2b2lkIENocm9tZUNsaWVudFdpbkNFOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
V2luQ0UuaAppbmRleCAwMDIyNmQwYzgwYWZkZjA1NmI2MGU0NDIwOWZmYWY0ODNkM2I4YTg2Li45
NmNlYTFhNjJhYmQ5ODVmYTEyMjBiY2I3ZjRkNzllYzk2OTg3MTNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKKysrIGIv
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCkBA
IC0xNTEsNyArMTUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc09uZVNo
b3REcmF3aW5nU3luY2hyb25pemF0aW9uKCk7CiAgICAgLy8gU2V0cyBhIGZsYWcgdG8gc3BlY2lm
eSB0aGF0IHRoZSB2aWV3IG5lZWRzIHRvIGJlIHVwZGF0ZWQsIHNvIHdlIG5lZWQKICAgICAvLyB0
byBkbyBhbiBlYWdlciBsYXlvdXQgYmVmb3JlIHRoZSBkcmF3aW5nLgotICAgIHZpcnR1YWwgdm9p
ZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCk7CisgICAgdmlydHVhbCB2b2lkIHNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCk7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBz
ZXRMYXN0U2V0Q3Vyc29yVG9DdXJyZW50Q3Vyc29yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
aW5kZXggNGRiZWVkNTdjMDFjYjZiODczNzc4NjVkOWZkMzBlODdkZGMyYzllNy4uNzYyZjQzZjY0
ODRmN2IyZTU1MjlmNjI1YjE5ZWY3YWZkMmYxM2YwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cApAQCAtNzA5LDEwICs3MDksMTAgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldE5lZWRzT25l
U2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAK
LXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkKK3Zv
aWQgV2ViQ2hyb21lQ2xpZW50OjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiB7CiAg
ICAgaWYgKG1fcGFnZS0+ZHJhd2luZ0FyZWEoKSkKLSAgICAgICAgbV9wYWdlLT5kcmF3aW5nQXJl
YSgpLT5zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCk7CisgICAgICAgIG1fcGFnZS0+ZHJh
d2luZ0FyZWEoKS0+c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKTsKIH0KIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBkZTZiYzRmN2ZlMTU1Mjg3Y2ZiZTU1MzMyMDBjYTY3
NzM0ZDM2NDYyLi44NWRjMGU3NWVjZDY4NzUwYzg4ZGIwMzUzM2NlODk1NmI3YmNjMDYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE4MCw3ICsxODAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCkg
Y29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVy
KFdlYkNvcmU6OkZyYW1lKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBzZXROZWVkc09uZVNob3REcmF3aW5nU3luY2hyb25pemF0aW9uKCkgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2go
KSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgQ29tcG9zaXRpbmdUcmlnZ2VyRmxhZ3MgYWxsb3dl
ZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAppbmRleCA5YjA4OGNjNWI3YWU0
ZjVlNThhNDkxMjcyNGYzNTI2NDM3ZGZhNjU2Li4xMjk4NGZhYTZmMjYxMGVmMmE5ZjFkYzRlOGNk
MTNhYWYzNmI5Mjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlQ29vcmRpbmF0b3IuY3BwCkBAIC0yNTgsNyArMjU4LDcgQEAgYm9vbCBMYXllclRyZWVDb29y
ZGluYXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKICAgICAgICAgbV93ZWJQYWdlLT5z
ZW5kKE1lc3NhZ2VzOjpMYXllclRyZWVDb29yZGluYXRvclByb3h5OjpEZWxldGVDb21wb3NpdGlu
Z0xheWVyKG1fZGV0YWNoZWRMYXllcnNbaV0pKTsKICAgICBtX2RldGFjaGVkTGF5ZXJzLmNsZWFy
KCk7CiAKLSAgICBib29sIGRpZFN5bmMgPSBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFt
ZSgpLT52aWV3KCktPnN5bmNDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7Cisg
ICAgYm9vbCBkaWRTeW5jID0gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+dmll
dygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKICAgICBtX25v
bkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVy
T25seSgpOwogICAgIGlmIChtX3BhZ2VPdmVybGF5TGF5ZXIpCiAgICAgICAgIG1fcGFnZU92ZXJs
YXlMYXllci0+c3luY0NvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IDNhNjFk
ODgxNDVjMjUzYmJmNDZlODViMjBiZjBhZmJjNmY1NjdjMjAuLmNhNDc2MTc5ZTFkYTc5NzRhZGQ1
MDFiNmQyOTFiYjg0MTM0ZmU1ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC05MCw3ICs5MCw3IEBAIHB1YmxpYzoKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSB7IHJldHVybiAwOyB9CiAgICAgdmly
dHVhbCB2b2lkIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIq
KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkgPSAw
OwogI2VuZGlmCiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4
IDMwMzExMmVlYWYyMTE4NGI0MTViYzJiMmQ4ZmRkYmRkN2E5NjA5YWQuLmQ0MmZjZGFhNWYyM2Mz
Y2ZlNTNkNTZlNWEzYThlNjQ5NzRjN2I3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0zNTEsNyArMzUxLDcg
QEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKEdyYXBoaWNz
TGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiAgICAgfQogfQogCi12b2lkIERyYXdpbmdBcmVhSW1wbDo6
c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpCit2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogewogICAgIGlmICghbV9sYXllclRyZWVIb3N0
KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXggYWY4MDcyZmViMWFiMzcwMGExYjNmY2ZiYzM3
NTU5Mjg0ZTQ2MjcxNS4uOGJhYmUwMTA4NzgyNDk4NjdiMTY1M2MzYjQ1ZmM0ZTUzZTQ4NzFmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YUltcGwuaApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBXZWJDb3Jl
OjpHcmFwaGljc0xheWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllciopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5n
TGF5ZXJTeW5jKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRp
bmdMYXllckZsdXNoKCkgT1ZFUlJJREU7CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgdmlydHVh
bCB2b2lkIHNjaGVkdWxlQ2hpbGRXaW5kb3dHZW9tZXRyeVVwZGF0ZShjb25zdCBXaW5kb3dHZW9t
ZXRyeSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2Nh
L0xheWVyVHJlZUhvc3RDQS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Y2EvTGF5ZXJUcmVlSG9zdENBLmNwcAppbmRleCBkZTNhMmUzOGU5OTU5ZmZmM2MyYjc5YWY3YjQ3
MTE0NzdjNTM5MDEyLi41Mjk3NThmZGFiOWExNjFiNTc2MDM2YzI2NzE1MzE5YTM5ZjFkZmZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVl
SG9zdENBLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5
ZXJUcmVlSG9zdENBLmNwcApAQCAtMjUwLDcgKzI1MCw3IEBAIGJvb2wgTGF5ZXJUcmVlSG9zdENB
OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQogICAgIGlmIChtX3BhZ2VPdmVybGF5TGF5ZXIp
CiAgICAgICAgIG1fcGFnZU92ZXJsYXlMYXllci0+c3luY0NvbXBvc2l0aW5nU3RhdGVGb3JUaGlz
TGF5ZXJPbmx5KCk7CiAKLSAgICByZXR1cm4gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJh
bWUoKS0+dmlldygpLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwor
ICAgIHJldHVybiBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPmZs
dXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwogfQogCiB2b2lkIExheWVy
VHJlZUhvc3RDQTo6Y3JlYXRlUGFnZU92ZXJsYXlMYXllcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcApp
bmRleCBiY2IyYmVmZGUzNGZhMDBmZmI2ZTRlNmZlYjA2MTYwZTk1YjZlOTk4Li40NjY1MmNiYWYz
YTQ4NGRlN2U0MDBlYmYwNjdkOGQ0Y2NkNGM1OGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKQEAg
LTI5Miw3ICsyOTIsNyBAQCBib29sIExheWVyVHJlZUhvc3RHdGs6OmZsdXNoUGVuZGluZ0xheWVy
Q2hhbmdlcygpCiAgICAgaWYgKG1fcGFnZU92ZXJsYXlMYXllcikKICAgICAgICAgbV9wYWdlT3Zl
cmxheUxheWVyLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNMYXllck9ubHkoKTsKIAotICAg
IHJldHVybiBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPnN5bmND
b21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7CisgICAgcmV0dXJuIG1fd2ViUGFn
ZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRl
SW5jbHVkaW5nU3ViZnJhbWVzKCk7CiB9CiAKIHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6Y29tcG9z
aXRlTGF5ZXJzVG9Db250ZXh0KENvbXBvc2l0ZVB1cnBvc2UgcHVycG9zZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaAppbmRleCAyMjU5OWVkYWQ3MzM4MWFlNDlmYTRh
MjI4YjY2N2RhNjZhMzJjMzMyLi5hMDQ0N2I2OWQ4MTY0YWE2MmZiZjkwNmUyNTc2NzNjNGRiYjdj
MjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCkBAIC01OSw3
ICs1OSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldExheWVyVHJlZVN0YXRlSXNG
cm96ZW4oYm9vbCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGxheWVyVHJlZVN0YXRlSXNG
cm96ZW4oKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0
aW5nTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
dm9pZCBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkgT1ZFUlJJREU7CiAKICAgICB2
aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCA0M2Y2NDQwYTgzYjlkMTVhNTNkNTFm
MTJhNWY4NTQ2ODg4ODhiZWQ4Li4yODYwOGJiYjA3ZDllZDAzMGExMDhkYzRiOWU0YWJhYzYwM2Vh
MWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTE3
NCw3ICsxNzQsNyBAQCBib29sIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpsYXllclRy
ZWVTdGF0ZUlzRnJvemVuKCkgY29uc3QKICAgICByZXR1cm4gbV9sYXllclRyZWVTdGF0ZUlzRnJv
emVuOwogfQogCi12b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpzY2hlZHVsZUNv
bXBvc2l0aW5nTGF5ZXJTeW5jKCkKK3ZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6
OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKIHsKICAgICBtX2xheWVyRmx1c2hTY2hl
ZHVsZXIuc2NoZWR1bGUoKTsKIH0KQEAgLTE4NCw3ICsxODQsNyBAQCB2b2lkIFRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKQogICAgIG1fd2ViUGFn
ZS0+Y29yZVBhZ2UoKS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKS0+c2V0Rm9yY2VNYWluVGhyZWFk
U2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXModHJ1ZSk7CiAKICAgICBjcmVhdGVQYWdlT3Zlcmxh
eUxheWVyKCk7Ci0gICAgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgIHNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCk7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCkKQEAgLTE5MywxNCArMTkzLDE0
IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFsbFBhZ2VP
dmVybGF5KCkKICAgICAgICAgcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKS0+c2V0Rm9yY2VN
YWluVGhyZWFkU2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXMoZmFsc2UpOwogCiAgICAgZGVzdHJv
eVBhZ2VPdmVybGF5TGF5ZXIoKTsKLSAgICBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCk7
CisgICAgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKTsKIH0KIAogdm9pZCBUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3Qg
SW50UmVjdCYgcmVjdCkKIHsKICAgICBBU1NFUlQobV9wYWdlT3ZlcmxheUxheWVyKTsKICAgICBt
X3BhZ2VPdmVybGF5TGF5ZXItPnNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsKLSAgICBzY2hl
ZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCk7CisgICAgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVy
Rmx1c2goKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRl
UHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpCkBAIC0zMDgsNyArMzA4LDcg
QEAgYm9vbCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMoKQogICAg
ICAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVy
T25seSgpOwogICAgIH0KIAotICAgIGJvb2wgcmV0dXJuVmFsdWUgPSBtX3dlYlBhZ2UtPmNvcmVQ
YWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPnN5bmNDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5n
U3ViZnJhbWVzKCk7CisgICAgYm9vbCByZXR1cm5WYWx1ZSA9IG1fd2ViUGFnZS0+Y29yZVBhZ2Uo
KS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3Vi
ZnJhbWVzKCk7CiAKICAgICBbcG9vbCBkcmFpbl07CiAgICAgcmV0dXJuIHJldHVyblZhbHVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>