<?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>70901</bug_id>
          
          <creation_ts>2011-10-26 03:38:55 -0700</creation_ts>
          <short_desc>Name viewport change event consistently.</short_desc>
          <delta_ts>2015-08-07 13:42:07 -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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>hausmann</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>490720</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2011-10-26 03:38:55 -0700</bug_when>
    <thetext>Name viewport change event consistently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490725</commentid>
    <comment_count>1</comment_count>
      <attachid>112479</attachid>
    <who name="alan">zalan</who>
    <bug_when>2011-10-26 04:14:58 -0700</bug_when>
    <thetext>Created attachment 112479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490726</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-26 04:16:32 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490727</commentid>
    <comment_count>3</comment_count>
      <attachid>112479</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-26 04:23:42 -0700</bug_when>
    <thetext>Comment on attachment 112479
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2194
&gt; +void WebPageProxy::didChangeViewportProperties(const ViewportArguments&amp; args)

Will you change this one as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490728</commentid>
    <comment_count>4</comment_count>
      <attachid>112479</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-26 04:24:39 -0700</bug_when>
    <thetext>Comment on attachment 112479
Patch

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

&gt; Source/WebCore/page/Chrome.cpp:487
&gt; -void Chrome::dispatchViewportDataDidChange(const ViewportArguments&amp; arguments) const
&gt; +void Chrome::dispatchViewportPropertiesDidChange(const ViewportArguments&amp; arguments) const

Just to make sure, why isnt this called dispatchDidChangeViewportProperties? OR why the 

didChange* vs the *DidChange? Consistent with WebKit2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490735</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2011-10-26 04:39:08 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 112479 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=112479&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Chrome.cpp:487
&gt; &gt; -void Chrome::dispatchViewportDataDidChange(const ViewportArguments&amp; arguments) const
&gt; &gt; +void Chrome::dispatchViewportPropertiesDidChange(const ViewportArguments&amp; arguments) const
&gt; 
&gt; Just to make sure, why isnt this called dispatchDidChangeViewportProperties? OR why the 
&gt; 
&gt; didChange* vs the *DidChange? Consistent with WebKit2?

WebKit2 has the style of didChangeSomething (DidChangeScrollbarsForMainFrame) while WebCore convention is more like somethingDidChange (scrollbarsModeDidChange).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490801</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-10-26 06:39:46 -0700</bug_when>
    <thetext>Committed r98472: &lt;http://trac.webkit.org/changeset/98472&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112479</attachid>
            <date>2011-10-26 04:14:58 -0700</date>
            <delta_ts>2015-08-07 13:42:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70901-20111026131456.patch</filename>
            <type>text/plain</type>
            <size>29904</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTAtMjYgIFphbGFuIEJ1
anRhcyAgPHpidWp0YXNAZ21haWwuY29tPgorCisgICAgICAgIE5hbWUgdmlld3BvcnQgY2hhbmdl
IGV2ZW50IGNvbnNpc3RlbnRseS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcwOTAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXNlIFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZSB0ZXJtIGNvbnNpc3Rl
bnRseSB0aHJvdWdob3V0IFdlYktpdC4KKworICAgICAgICBObyB0ZXN0cyBuZWVkZWQgYXMgdGhl
IGNoYW5nZSBpcyBvbmx5IG1ldGhvZCByZW5hbWluZy4KKworICAgICAgICAqIHBhZ2UvQ2hyb21l
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRp
ZXNEaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9D
aHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6ZGlzcGF0Y2hW
aWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVWaWV3cG9ydEFyZ3VtZW50cyk6CisKIDIwMTEt
MTAtMjYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5ODM5My4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAJKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00ODQsOSArNDg0LDkgQEAgdm9pZCBDaHJvbWU6OmxvYWRJY29u
Rm9yRmlsZXMoY29uc3QgVmVjdAogICAgIG1fY2xpZW50LT5sb2FkSWNvbkZvckZpbGVzKGZpbGVu
YW1lcywgbG9hZGVyKTsKIH0KIAotdm9pZCBDaHJvbWU6OmRpc3BhdGNoVmlld3BvcnREYXRhRGlk
Q2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBhcmd1bWVudHMpIGNvbnN0Cit2b2lkIENo
cm9tZTo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgVmlld3BvcnRB
cmd1bWVudHMmIGFyZ3VtZW50cykgY29uc3QKIHsKLSAgICBtX2NsaWVudC0+ZGlzcGF0Y2hWaWV3
cG9ydERhdGFEaWRDaGFuZ2UoYXJndW1lbnRzKTsKKyAgICBtX2NsaWVudC0+ZGlzcGF0Y2hWaWV3
cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoYXJndW1lbnRzKTsKIH0KIAogdm9pZCBDaHJvbWU6OnNl
dEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAkocmV2
aXNpb24gOTg0NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNjcsNyArMTY3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IGVudW1lcmF0ZUNob3NlbkRpcmVjdG9yeShGaWxlQ2hvb3NlciopOwogI2VuZGlmCiAKLSAgICAg
ICAgdm9pZCBkaXNwYXRjaFZpZXdwb3J0RGF0YURpZENoYW5nZShjb25zdCBWaWV3cG9ydEFyZ3Vt
ZW50cyYpIGNvbnN0OworICAgICAgICB2b2lkIGRpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlk
Q2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJikgY29uc3Q7CiAKICAgICAgICAgYm9vbCBy
ZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gOTg0NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNyArMTY0LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAgICAgIC8vIEVuZCBtZXRob2RzIHVzZWQgYnkgSG9z
dFdpbmRvdy4KIAotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydERhdGFEaWRD
aGFuZ2UoY29uc3QgVmlld3BvcnRBcmd1bWVudHMmKSBjb25zdCB7IH0KKyAgICAgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0
QXJndW1lbnRzJikgY29uc3QgeyB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRzU2l6
ZUNoYW5nZWQoRnJhbWUqLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgbGF5b3V0VXBkYXRlZChGcmFtZSopIGNvbnN0IHsgfQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIFBhZ2U6OnVwZGF0ZVZpZXdw
b3J0QXJndW1lbnRzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV92aWV3cG9ydEFyZ3VtZW50
cyA9IG1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT52aWV3cG9ydEFyZ3VtZW50cygpOwotICAgIGNo
cm9tZSgpLT5kaXNwYXRjaFZpZXdwb3J0RGF0YURpZENoYW5nZShtX3ZpZXdwb3J0QXJndW1lbnRz
KTsKKyAgICBjaHJvbWUoKS0+ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UobV92
aWV3cG9ydEFyZ3VtZW50cyk7CiB9CiAKIHZvaWQgUGFnZTo6cmVmcmVzaFBsdWdpbnMoYm9vbCBy
ZWxvYWQpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDExLTEwLTI2ICBa
YWxhbiBCdWp0YXMgIDx6YnVqdGFzQGdtYWlsLmNvbT4KKworICAgICAgICBOYW1lIHZpZXdwb3J0
IGNoYW5nZSBldmVudCBjb25zaXN0ZW50bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDkwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UgdGVybSBj
b25zaXN0ZW50bHkgdGhyb3VnaG91dCBXZWJLaXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL1BhZ2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkQ2hhbmdl
Vmlld3BvcnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xp
ZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcDoKKyAgICAgICAg
KFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OmRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgIChRVG91Y2hXZWJW
aWV3UHJpdmF0ZTo6ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXdfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdl
Q2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXREZXNrdG9w
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFF0RGVza3RvcFdlYlBhZ2VQcm94eTo6ZGlkQ2hh
bmdlVmlld3BvcnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXREZXNrdG9w
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0VG91Y2hWaWV3SW50ZXJm
YWNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UXRUb3VjaFZpZXdJbnRlcmZhY2U6OmRpZENoYW5n
ZVZpZXdwb3J0UHJvcGVydGllcyk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0VG91Y2hWaWV3
SW50ZXJmYWNlLmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0Vmlld0ludGVyZmFjZS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChRdFdl
YlBhZ2VQcm94eTo6ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpkaWRDaGFuZ2VWaWV3cG9ydFByb3Bl
cnRpZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5n
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aDoKKwogMjAxMS0xMC0yNSAgQW5kcmFzIEJlY3NpICA8YW5kcmFzLmJlY3NpQG5va2lhLmNvbT4K
IAogICAgICAgICBbUXRdW1dLMl0gQWRkIHRoZSBhbmltYXRpb25zIG9uIHRoZSBWaWV3cG9ydElu
dGVyYWN0aW9uRW5naW5lCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJ
KHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCBzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0
aWVzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJikgPSAwOwogCiAgICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyRWRpdENvbW1hbmQoUGFzc1JlZlB0cjxXZWJFZGl0Q29tbWFuZFByb3h5
PiwgV2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFy
QWxsRWRpdENvbW1hbmRzKCkgPSAwOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxOTEsOSArMjE5MSw5IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpwYWdlRGlkUmVxdWVzdFNjcm9sbCgKIH0KICNlbmRpZgogCi12
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlVmlld3BvcnREYXRhKGNvbnN0IFZpZXdwb3J0QXJn
dW1lbnRzJiBhcmdzKQordm9pZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZVZpZXdwb3J0UHJvcGVy
dGllcyhjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgYXJncykKIHsKLSAgICBtX3BhZ2VDbGllbnQt
PnNldFZpZXdwb3J0QXJndW1lbnRzKGFyZ3MpOworICAgIG1fcGFnZUNsaWVudC0+ZGlkQ2hhbmdl
Vmlld3BvcnRQcm9wZXJ0aWVzKGFyZ3MpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6cGFnZURp
ZFNjcm9sbCgpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShy
ZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAkod29ya2luZyBjb3B5KQpAQCAtNjUxLDcgKzY1MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBz
Y3JlZW5Ub1dpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2NyZWVuUG9pbnQsIFdlYkNv
cmU6OkludFBvaW50JiB3aW5kb3dQb2ludCk7CiAgICAgdm9pZCB3aW5kb3dUb1NjcmVlbihjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiB2aWV3UmVjdCwgV2ViQ29yZTo6SW50UmVjdCYgcmVzdWx0KTsK
ICAgICB2b2lkIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wmIHNob3VsZENsb3NlKTsKLSAgICB2b2lkIGRpZENo
YW5nZVZpZXdwb3J0RGF0YShjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpOworICAg
IHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0
QXJndW1lbnRzJik7CiAgICAgdm9pZCBwYWdlRGlkU2Nyb2xsKCk7CiAgICAgdm9pZCBydW5PcGVu
UGFuZWwodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6RmlsZUNob29zZXJTZXR0aW5n
cyYpOwogICAgIHZvaWQgcHJpbnRGcmFtZSh1aW50NjRfdCBmcmFtZUlEKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2
aXNpb24gOTg0NjEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgU2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpIC0+IChib29sIHNo
b3VsZEludGVydXB0KQogICAgIE1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KFdlYktpdDo6V2ViSGl0
VGVzdFJlc3VsdDo6RGF0YSBoaXRUZXN0UmVzdWx0RGF0YSwgdWludDMyX3QgbW9kaWZpZXJzLCBX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKTsKICAgICBN
aXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZChXVEY6OlN0cmluZyBtaW1lVHlwZSwgV1RGOjpTdHJp
bmcgdXJsLCBXVEY6OlN0cmluZyBwbHVnaW5zUGFnZVVSTCkKLSAgICBEaWRDaGFuZ2VWaWV3cG9y
dERhdGEoV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMgYXJndW1lbnRzKQorICAgIERpZENoYW5n
ZVZpZXdwb3J0UHJvcGVydGllcyhXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMp
CiAgICAgRGlkUmVjZWl2ZUV2ZW50KHVpbnQzMl90IHR5cGUsIGJvb2wgaGFuZGxlZCkKICAgICBT
dG9wUmVzcG9uc2l2ZW5lc3NUaW1lcigpCiAgICAgU2V0Q3Vyc29yKFdlYkNvcmU6OkN1cnNvciBj
dXJzb3IpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50
SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
UGFnZUNsaWVudEltcGwuY3BwCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMw
LDcgKzEzMCw3IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnNldEN1cnNvckhpZGRlblVudGkKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRWaWV3cG9y
dEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpCit2b2lkIFBhZ2VD
bGllbnRJbXBsOjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmll
d3BvcnRBcmd1bWVudHMmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgJKHJl
dmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNs
aWVudEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNjUsNyArNjUsNyBAQCBwcml2YXRlOgogCiAg
ICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpOwotICAgIHZp
cnR1YWwgdm9pZCBzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cyYpOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMo
Y29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBy
ZWdpc3RlckVkaXRDb21tYW5kKFBhc3NSZWZQdHI8V2ViRWRpdENvbW1hbmRQcm94eT4sIFdlYlBh
Z2VQcm94eTo6VW5kb09yUmVkbyk7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyQWxsRWRpdENvbW1h
bmRzKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50
SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
UGFnZUNsaWVudEltcGwuY3BwCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU0
LDcgKzE1NCw3IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnNldEN1cnNvckhpZGRlblVudGkKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRWaWV3cG9y
dEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpCit2b2lkIFBhZ2VD
bGllbnRJbXBsOjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmll
d3BvcnRBcmd1bWVudHMmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgJKHJl
dmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCB0b29sVGlwQ2hhbmdlZChjb25zdCBXVEY6OlN0cmluZyYsIGNvbnN0IFdU
Rjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpD
dXJzb3ImKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVz
KGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBXZWJD
b3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VWaWV3
cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKICAgICB2
aXJ0dWFsIHZvaWQgcmVnaXN0ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYkVkaXRDb21tYW5k
UHJveHk+LCBXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8pOwogICAgIHZpcnR1YWwgdm9pZCBjbGVh
ckFsbEVkaXRDb21tYW5kcygpOwogICAgIHZpcnR1YWwgYm9vbCBjYW5VbmRvUmVkbyhXZWJQYWdl
UHJveHk6OlVuZG9PclJlZG8pOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvUGFnZUNsaWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkK
QEAgLTY2LDcgKzY2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdG9vbFRpcENoYW5n
ZWQoY29uc3QgU3RyaW5nJiBvbGRUb29sVGlwLCBjb25zdCBTdHJpbmcmIG5ld1Rvb2xUaXApOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJik7CiAgICAg
dmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sKTsKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0Vmlld3BvcnRBcmd1bWVudHMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRB
cmd1bWVudHMmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVz
KGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJik7CiAKICAgICB2aXJ0dWFsIHZvaWQg
cmVnaXN0ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYkVkaXRDb21tYW5kUHJveHk+LCBXZWJQ
YWdlUHJveHk6OlVuZG9PclJlZG8pOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckFsbEVkaXRDb21t
YW5kcygpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVu
dEltcGwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
UGFnZUNsaWVudEltcGwubW0JKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0JKHdvcmtpbmcgY29weSkKQEAgLTIxOSw3
ICsyMTksNyBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRDdXJzb3JIaWRkZW5VbnRpCiAgICAg
W05TQ3Vyc29yIHNldEhpZGRlblVudGlsTW91c2VNb3ZlczpoaWRkZW5VbnRpbE1vdXNlTW92ZXNd
OwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBX
ZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFu
Z2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKQog
ewogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vi
dmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
ZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5
LDcgKzEwOSw3IEBAIHZvaWQgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTo6c3RhcnREcmFnKFEKICAg
ICAqY2xpZW50UG9zaXRpb24gPSB3aW5kb3ctPm1hcEZyb21HbG9iYWwoKmdsb2JhbFBvc2l0aW9u
KTsKIH0KIAotdm9pZCBRRGVza3RvcFdlYlZpZXdQcml2YXRlOjpkaWRSZWNlaXZlVmlld3BvcnRB
cmd1bWVudHMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKQordm9pZCBRRGVza3Rv
cFdlYlZpZXdQcml2YXRlOjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29y
ZTo6Vmlld3BvcnRBcmd1bWVudHMmKQogewogICAgIC8vIFRoaXMgZmVhdHVyZSBpcyBvbmx5IHVz
ZWQgYnkgUVRvdWNoV2ViVmlldy4KIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcWRlc2t0b3B3ZWJ2aWV3X3AuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgJKHJldmlzaW9uIDk4NDYxKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlz
VmlzaWJsZSgpOwogCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJhZyhRdDo6RHJvcEFjdGlvbnMg
c3VwcG9ydGVkRHJvcEFjdGlvbnMsIGNvbnN0IFFJbWFnZSYgZHJhZ0ltYWdlLCBRTWltZURhdGEq
LCBRUG9pbnQqIGNsaWVudFBvc2l0aW9uLCBRUG9pbnQqIGdsb2JhbFBvc2l0aW9uLCBRdDo6RHJv
cEFjdGlvbiogZHJvcEFjdGlvbik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVWaWV3cG9y
dEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpOworICAgIHZpcnR1
YWwgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3Bv
cnRBcmd1bWVudHMmKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25z
dCBRUG9pbnQmLCBjb25zdCBRUmVjdCYpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVVy
bChjb25zdCBRVXJsJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0
b3VjaHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXRvdWNod2Vidmlldy5jcHAJKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODYsNyArODYsNyBAQCB2b2lkIFFUb3VjaFdlYlZpZXdQcml2YXRlOjp1cGRhdGVWaWV3cG9yCiAg
ICAgd2tQYWdlLT5zZXRSZXNpemVzVG9Db250ZW50c1VzaW5nTGF5b3V0U2l6ZShhdHRyLmxheW91
dFNpemUpOwogfQogCi12b2lkIFFUb3VjaFdlYlZpZXdQcml2YXRlOjpzZXRWaWV3cG9ydEFyZ3Vt
ZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYgYXJncykKK3ZvaWQgUVRvdWNo
V2ViVmlld1ByaXZhdGU6OmRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3Jl
OjpWaWV3cG9ydEFyZ3VtZW50cyYgYXJncykKIHsKICAgICB2aWV3cG9ydEFyZ3VtZW50cyA9IGFy
Z3M7CiAgICAgdXBkYXRlVmlld3BvcnRDb25zdHJhaW50cygpOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3X3AuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXdfcC5oCShyZXZpc2lvbiA5
ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlld19w
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGljOgogICAgIHZvaWQgX3Ff
dmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBRUG9pbnRGJik7CiAgICAgdm9p
ZCB1cGRhdGVWaWV3cG9ydENvbnN0cmFpbnRzKCk7CiAKLSAgICB2b2lkIHNldFZpZXdwb3J0QXJn
dW1lbnRzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBhcmdzKTsKKyAgICB2b2lk
IGRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3Vt
ZW50cyYgYXJncyk7CiAKICAgICBRVG91Y2hXZWJWaWV3KiBjb25zdCBxOwogICAgIFFTY29wZWRQ
b2ludGVyPFFUb3VjaFdlYlBhZ2U+IHBhZ2VWaWV3OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1F0RGVza3RvcFdlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGVza3RvcFdlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9u
IDk4NDYxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGVza3RvcFdlYlBhZ2VQ
cm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcgQEAgdm9pZCBRdERlc2t0b3BX
ZWJQYWdlUHJveHk6OnBhaW50Q29udGVudAogICAgIHN0YXRpY19jYXN0PERyYXdpbmdBcmVhUHJv
eHlJbXBsKj4obV93ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpLT5wYWludChwYWludGVyLCBh
cmVhLCB1bnBhaW50ZWRSZWdpb24pOwogfQogCi12b2lkIFF0RGVza3RvcFdlYlBhZ2VQcm94eTo6
c2V0Vmlld3BvcnRBcmd1bWVudHMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKQor
dm9pZCBRdERlc2t0b3BXZWJQYWdlUHJveHk6OmRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhj
b25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpCiB7CiAgICAgLy8gV2UgaWdub3JlIHRo
ZSB2aWV3cG9ydCBkZWZpbml0aW9uIG9uIHRoZSBEZXNrdG9wLgogfQpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0RGVza3RvcFdlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERlc2t0b3BXZWJQYWdlUHJveHkuaAkocmV2
aXNpb24gOTg0NjEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREZXNrdG9wV2Vi
UGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDcgQEAgcHJvdGVjdGVkOgog
cHJpdmF0ZToKICAgICAvKiBQYWdlQ2xpZW50IG92ZXJyaWRlcy4gKi8KICAgICB2aXJ0dWFsIFBh
c3NPd25QdHI8RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQcm94eSgpOwotICAg
IHZpcnR1YWwgdm9pZCBzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9y
dEFyZ3VtZW50cyYpOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRp
ZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKICNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQogICAgIHZpcnR1YWwgdm9pZCBkb25lV2l0aFRvdWNoRXZlbnQoY29uc3QgTmF0aXZl
V2ViVG91Y2hFdmVudCYsIGJvb2wgd2FzRXZlbnRIYW5kbGVkKTsKICNlbmRpZgpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0VG91Y2hWaWV3SW50ZXJmYWNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRUb3VjaFZpZXdJbnRlcmZhY2Uu
Y3BwCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFRv
dWNoVmlld0ludGVyZmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3LDkgKzg3LDkgQEAgdm9p
ZCBRdFRvdWNoVmlld0ludGVyZmFjZTo6c3RhcnREcmFnKFF0OgogICAgIFFfQVNTRVJUKGZhbHNl
KTsKIH0KIAotdm9pZCBRdFRvdWNoVmlld0ludGVyZmFjZTo6ZGlkUmVjZWl2ZVZpZXdwb3J0QXJn
dW1lbnRzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBhcmdzKQordm9pZCBRdFRv
dWNoVmlld0ludGVyZmFjZTo6ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNv
cmU6OlZpZXdwb3J0QXJndW1lbnRzJiBhcmdzKQogewotICAgIG1fdmlld3BvcnRWaWV3LT5kLT5z
ZXRWaWV3cG9ydEFyZ3VtZW50cyhhcmdzKTsKKyAgICBtX3ZpZXdwb3J0Vmlldy0+ZC0+ZGlkQ2hh
bmdlVmlld3BvcnRQcm9wZXJ0aWVzKGFyZ3MpOwogfQogCiB2b2lkIFF0VG91Y2hWaWV3SW50ZXJm
YWNlOjpkaWRDaGFuZ2VVcmwoY29uc3QgUVVybCYgdXJsKQpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0VG91Y2hWaWV3SW50ZXJmYWNlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0VG91Y2hWaWV3SW50ZXJmYWNlLmgJKHJldmlzaW9uIDk4
NDYxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0VG91Y2hWaWV3SW50ZXJmYWNl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGJvb2wgaXNWaXNpYmxlKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKFF0OjpEcm9w
QWN0aW9ucyBzdXBwb3J0ZWREcm9wQWN0aW9ucywgY29uc3QgUUltYWdlJiBkcmFnSW1hZ2UsIFFN
aW1lRGF0YSosIFFQb2ludCogY2xpZW50UG9zaXRpb24sIFFQb2ludCogZ2xvYmFsUG9zaXRpb24s
IFF0OjpEcm9wQWN0aW9uKik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVWaWV3cG9ydEFy
Z3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpOworICAgIHZpcnR1YWwg
dm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRB
cmd1bWVudHMmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKGNvbnN0
IFFQb2ludCYsIGNvbnN0IFFSZWN0Jik7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFZpZXdJbnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRWaWV3SW50ZXJmYWNlLmgJKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld0ludGVyZmFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02
Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNWaXNpYmxlKCkgPSAwOwog
CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJhZyhRdDo6RHJvcEFjdGlvbnMgc3VwcG9ydGVkRHJv
cEFjdGlvbnMsIGNvbnN0IFFJbWFnZSYgZHJhZ0ltYWdlLCBRTWltZURhdGEqLCBRUG9pbnQqIGNs
aWVudFBvc2l0aW9uLCBRUG9pbnQqIGdsb2JhbFBvc2l0aW9uLCBRdDo6RHJvcEFjdGlvbiopID0g
MDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVZpZXdwb3J0QXJndW1lbnRzKGNvbnN0IFdl
YkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFu
Z2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKSA9
IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBRUG9pbnQm
LCBjb25zdCBRUmVjdCYpID0gMDsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0V2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4
OSw5ICs1ODksOSBAQCB2b2lkIFF0V2ViUGFnZVByb3h5OjpzdGFydERyYWcoY29uc3QgV2ViCiAg
ICAgbV93ZWJQYWdlUHJveHktPmRyYWdFbmRlZChjbGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRp
b24sIGRyb3BBY3Rpb25Ub0RyYWdPcGVyYXRpb24oYWN0dWFsRHJvcEFjdGlvbikpOwogfQogCi12
b2lkIFF0V2ViUGFnZVByb3h5OjpzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpW
aWV3cG9ydEFyZ3VtZW50cyYgYXJncykKK3ZvaWQgUXRXZWJQYWdlUHJveHk6OmRpZENoYW5nZVZp
ZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYgYXJncykK
IHsKLSAgICBtX3ZpZXdJbnRlcmZhY2UtPmRpZFJlY2VpdmVWaWV3cG9ydEFyZ3VtZW50cyhhcmdz
KTsKKyAgICBtX3ZpZXdJbnRlcmZhY2UtPmRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhhcmdz
KTsKIH0KIAogI2luY2x1ZGUgIm1vY19RdFdlYlBhZ2VQcm94eS5jcHAiCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaAkocmV2aXNpb24gOTg0NjEp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENo
YW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAKICAgICB2aXJ0dWFs
IHZvaWQgc3RhcnREcmFnKGNvbnN0IFdlYkNvcmU6OkRyYWdEYXRhJiwgUGFzc1JlZlB0cjxTaGFy
ZWFibGVCaXRtYXA+IGRyYWdJbWFnZSk7Ci0gICAgdmlydHVhbCB2b2lkIHNldFZpZXdwb3J0QXJn
dW1lbnRzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJik7CisgICAgdmlydHVhbCB2
b2lkIGRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cyYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vy
c29yJik7CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhi
b29sIGhpZGRlblVudGlsTW91c2VNb3Zlcyk7CiAgICAgdmlydHVhbCB2b2lkIHRvb2xUaXBDaGFu
Z2VkKGNvbnN0IFdURjo6U3RyaW5nJiwgY29uc3QgV1RGOjpTdHJpbmcmKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gOTg0NjEpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDc5LDcgKzEwNzksNyBAQCB2b2lkIFdlYlZpZXc6OnNldFNjcm9sbE9mZnNldE9uTmV4dFJl
c2l6CiAgICAgbV9uZXh0UmVzaXplU2Nyb2xsT2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0OwogfQogCi12
b2lkIFdlYlZpZXc6OnNldFZpZXdwb3J0QXJndW1lbnRzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0
QXJndW1lbnRzJikKK3ZvaWQgV2ViVmlldzo6ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNv
bnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJikKIHsKIH0KIApJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmgJKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4NSw3ICsx
ODUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB0b29sVGlwQ2hhbmdlZChjb25zdCBX
VEY6OlN0cmluZyYsIGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIHNldEN1
cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29y
SGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRWaWV3cG9y
dEFyZ3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpOworICAgIHZpcnR1
YWwgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3Bv
cnRBcmd1bWVudHMmKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJFZGl0Q29tbWFuZChQYXNz
UmVmUHRyPFdlYkVkaXRDb21tYW5kUHJveHk+LCBXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8pOwog
ICAgIHZpcnR1YWwgdm9pZCBjbGVhckFsbEVkaXRDb21tYW5kcygpOwogICAgIHZpcnR1YWwgYm9v
bCBjYW5VbmRvUmVkbyhXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8pOwpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcAkocmV2aXNpb24gOTg0NjEpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc0MCw5ICs3NDAsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0Um9vdEZ1bGxTY3JlZW5M
CiAKICNlbmRpZgogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlzcGF0Y2hWaWV3cG9ydERhdGFE
aWRDaGFuZ2UoY29uc3QgVmlld3BvcnRBcmd1bWVudHMmIGFyZ3MpIGNvbnN0Cit2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgVmll
d3BvcnRBcmd1bWVudHMmIGFyZ3MpIGNvbnN0CiB7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0RGF0YShhcmdzKSk7CisgICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGll
cyhhcmdzKSk7CiB9CiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpkaWRTdGFydFJ1YmJlckJhbmRG
b3JGcmFtZShGcmFtZSosIGNvbnN0IEludFNpemUmKSBjb25zdApJbmRleDogU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNiw3ICsy
MDYsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBtYWtlRmlyc3RSZXNwb25kZXIoKSBP
VkVSUklERTsKICNlbmRpZgogICAgIAotICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFZpZXdwb3J0
RGF0YURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENo
YW5nZShjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpIGNvbnN0IE9WRVJSSURFOwog
CiAgICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0UnViYmVyQmFuZEZvckZyYW1lKFdlYkNvcmU6OkZy
YW1lKiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRDb21wbGV0ZVJ1YmJlckJhbmRGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSosIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBPVkVSUklERTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTAtMjYgIFphbGFuIEJ1anRhcyAgPHpi
dWp0YXNAZ21haWwuY29tPgorCisgICAgICAgIE5hbWUgdmlld3BvcnQgY2hhbmdlIGV2ZW50IGNv
bnNpc3RlbnRseS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcwOTAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXNlIFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZSB0ZXJtIGNvbnNpc3RlbnRseSB0aHJv
dWdob3V0IFdlYktpdC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmRpc3BhdGNoVmlld3Bv
cnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuaDoKKwogMjAxMS0xMC0yNiAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtv
d3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBQcml2YXRlIGZ1bmN0aW9uIF9ld2tf
dmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUgdGFrZXMgYW4gaW50ZXJuYWwgZGF0YSBv
ZiBld2tfdmlldy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAkocmV2aXNpb24gOTg0NjEpCisrKyBTb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MjksNyArNTI5LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OmxvYWRJY29uRm9yRmls
ZXMoYwogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50RWZsOjpk
aXNwYXRjaFZpZXdwb3J0RGF0YURpZENoYW5nZShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgYXJn
dW1lbnRzKSBjb25zdAordm9pZCBDaHJvbWVDbGllbnRFZmw6OmRpc3BhdGNoVmlld3BvcnRQcm9w
ZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBhcmd1bWVudHMpIGNvbnN0
CiB7CiAgICAgZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19zZXQobV92aWV3LCBhcmd1bWVu
dHMpOwogfQpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgJKHJldmlzaW9uIDk4NDYxKQorKysgU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1OSw3
ICsxNTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RGb3JGcmFtZShGcmFtZSopOwogICAgIHZpcnR1YWwgdm9pZCBpY29uRm9y
RmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZywgMHU+JiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4p
OwogCi0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVmlld3BvcnREYXRhRGlkQ2hhbmdlKGNvbnN0
IFZpZXdwb3J0QXJndW1lbnRzJikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVmll
d3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJikgY29uc3Q7
CiAKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbVdyaXRpbmdEaXJlY3Rpb25Jc05hdHVyYWwo
KTsKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbUFsaWdubWVudEZvbGxvd3NNZW51V3JpdGlu
Z0RpcmVjdGlvbigpOwpJbmRleDogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gOTg0NjEpCisrKyBT
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBA
QAorMjAxMS0xMC0yNiAgWmFsYW4gQnVqdGFzICA8emJ1anRhc0BnbWFpbC5jb20+CisKKyAgICAg
ICAgTmFtZSB2aWV3cG9ydCBjaGFuZ2UgZXZlbnQgY29uc2lzdGVudGx5LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVmlld3BvcnRQcm9wZXJ0aWVz
RGlkQ2hhbmdlIHRlcm0gY29uc2lzdGVudGx5IHRocm91Z2hvdXQgV2ViS2l0LgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Q2hyb21lQ2xpZW50OjpkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZSk6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisKIDIwMTEtMTAtMjUgIE1h
cnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEd0
a0FkanVzdG1lbnQgd2F0Y2hlciB1cGRhdGVzIGFkanVzdG1lbnRzIHRvbyBsYXppbHkKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmNwcAkocmV2aXNpb24gOTg0NjEpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NDAsNyArNjQwLDcg
QEAgdm9pZCBDaHJvbWVDbGllbnQ6OmxvYWRJY29uRm9yRmlsZXMoY29ucwogICAgIGxvYWRlci0+
bm90aWZ5RmluaXNoZWQoSWNvbjo6Y3JlYXRlSWNvbkZvckZpbGVzKGZpbGVuYW1lcykpOwogfQog
Ci12b2lkIENocm9tZUNsaWVudDo6ZGlzcGF0Y2hWaWV3cG9ydERhdGFEaWRDaGFuZ2UoY29uc3Qg
Vmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZW50cykgY29uc3QKK3ZvaWQgQ2hyb21lQ2xpZW50Ojpk
aXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZShjb25zdCBWaWV3cG9ydEFyZ3VtZW50
cyYgYXJndW1lbnRzKSBjb25zdAogewogICAgIC8vIFJlY29tcHV0ZSB0aGUgdmlld3BvcnQgYXR0
cmlidXRlcyBtYWtpbmcgaXQgdmFsaWQuCiAgICAgd2Via2l0Vmlld3BvcnRBdHRyaWJ1dGVzUmVj
b21wdXRlKHdlYmtpdF93ZWJfdmlld19nZXRfdmlld3BvcnRfYXR0cmlidXRlcyhtX3dlYlZpZXcp
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEd0ay5oCShyZXZpc2lvbiA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNyArMTEy
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHNldFRvb2xU
aXAoY29uc3QgV1RGOjpTdHJpbmcmLCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uKTsKIAotICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydERhdGFEaWRDaGFuZ2UoY29uc3QgV2ViQ29y
ZTo6Vmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZW50cykgY29uc3Q7CisgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZShjb25zdCBXZWJDb3JlOjpW
aWV3cG9ydEFyZ3VtZW50cyYpIGNvbnN0OwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmludChX
ZWJDb3JlOjpGcmFtZSopOwogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gOTg0NjEpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTEwLTI2ICBaYWxhbiBCdWp0YXMgIDx6
YnVqdGFzQGdtYWlsLmNvbT4KKworICAgICAgICBOYW1lIHZpZXdwb3J0IGNoYW5nZSBldmVudCBj
b25zaXN0ZW50bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MDkwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFVzZSBWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UgdGVybSBjb25zaXN0ZW50bHkgdGhy
b3VnaG91dCBXZWJLaXQuCisgCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OmRpc3BhdGNoVmlld3Bv
cnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oOgorCiAyMDExLTEwLTI1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHB1dFZpcnR1YWwKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCShyZXZpc2lv
biA5ODQ2MSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MTEsNyArNzExLDcgQEAgUGFzc093blB0cjxRV2Vi
U2VsZWN0TWV0aG9kPiBDaHJvbWVDbGllbgogI2VuZGlmCiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50
UXQ6OmRpc3BhdGNoVmlld3BvcnREYXRhRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRz
JikgY29uc3QKK3ZvaWQgQ2hyb21lQ2xpZW50UXQ6OmRpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVz
RGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJikgY29uc3QKIHsKICAgICBlbWl0IG1f
d2ViUGFnZS0+dmlld3BvcnRDaGFuZ2VSZXF1ZXN0ZWQoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgJKHJldmlzaW9uIDk4
NDYxKQorKysgU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xOTEsNyArMTkxLDcgQEAgcHVibGljOgogCiAgICAgUGFzc093
blB0cjxRV2ViU2VsZWN0TWV0aG9kPiBjcmVhdGVTZWxlY3RQb3B1cCgpIGNvbnN0OwogCi0gICAg
dmlydHVhbCB2b2lkIGRpc3BhdGNoVmlld3BvcnREYXRhRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0
QXJndW1lbnRzJikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVmlld3BvcnRQcm9w
ZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJikgY29uc3Q7CiAKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERp
cmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0K
</data>
<flag name="review"
          id="110567"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>