<?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>97775</bug_id>
          
          <creation_ts>2012-09-27 05:40:35 -0700</creation_ts>
          <short_desc>[Qt] Delay viewport position, scale and contents size updates until tiles are rendered</short_desc>
          <delta_ts>2012-10-01 04:38:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Jocelyn Turcotte">jturcotte</reporter>
          <assigned_to name="Jocelyn Turcotte">jturcotte</assigned_to>
          <cc>abecsi</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>729445</commentid>
    <comment_count>0</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-09-27 05:40:35 -0700</bug_when>
    <thetext>[Qt] Delay viewport position, scale and contents size updates until tiles are rendered</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729450</commentid>
    <comment_count>1</comment_count>
      <attachid>165982</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-09-27 05:53:37 -0700</bug_when>
    <thetext>Created attachment 165982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729484</commentid>
    <comment_count>2</comment_count>
      <attachid>165982</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-27 06:36:45 -0700</bug_when>
    <thetext>Comment on attachment 165982
Patch

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

Seems sane

&gt; Source/WebKit2/ChangeLog:20
&gt; +        Since many of these updates happen during page load, all producing an itterative adjustment

itte???

&gt; Source/WebKit2/UIProcess/PageViewportController.cpp:131
&gt; +    // avoid offseting our deferred position by scaling at the viewport center.

offseting???

&gt; Source/WebKit2/UIProcess/PageViewportController.cpp:132
&gt; +    // All position and scale change resulting from a web process event should

changes*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731580</commentid>
    <comment_count>3</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-01 04:38:00 -0700</bug_when>
    <thetext>Committed r130030: &lt;http://trac.webkit.org/changeset/130030&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165982</attachid>
            <date>2012-09-27 05:53:37 -0700</date>
            <delta_ts>2012-09-27 06:36:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97775-20120927145253.patch</filename>
            <type>text/plain</type>
            <size>25094</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2M3YzQzNTI4N2FiMDY1
NmFjMDM5YjM0NjZkNDMzNTFhOTI0OTc0Ny4uMGRiYjYwNzgxN2Y2MTdlYmY0NWJmYzc5YjkxOWE4
MjE3MzVmZjUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDgyIEBACiAyMDEyLTA5LTI3ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKKyAgICAgICAgW1F0
XSBEZWxheSB2aWV3cG9ydCBwb3NpdGlvbiwgc2NhbGUgYW5kIGNvbnRlbnRzIHNpemUgdXBkYXRl
cyB1bnRpbCB0aWxlcyBhcmUgcmVuZGVyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk3Nzc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQSBmZXcgZXZlbnRzIGZyb20gdGhlIHdlYiBwcm9jZXNzIGNhbiBj
YXVzZSB0aGUgdmlld3BvcnQgcG9zaXRpb24gb3Igc2NhbGUgdG8gYmUKKyAgICAgICAgYWRqdXN0
ZWQgaW4gdGhlIFVJIHByb2Nlc3M6CisgICAgICAgIC0gU2Nyb2xsIHBvc2l0aW9uIHJlcXVlc3QK
KyAgICAgICAgLSBWaWV3cG9ydCBhdHRyaWJ1dGVzIChpbml0aWFsU2NhbGUsIG1pbmltdW1TY2Fs
ZSkKKyAgICAgICAgLSBDb250ZW50cyBzaXplIGNoYW5nZQorCisgICAgICAgIFdlIHByZXZpb3Vz
bHkgYXBwbGllZCB0aG9zZSB1cGRhdGVzIGRpcmVjdGx5IHRvIHRoZSB2aWV3cG9ydCwgd2hpY2gg
d291bGQgdGhlbiBpbiB0dXJuCisgICAgICAgIHByb2R1Y2UgYSBjb3JyZXNwb25kaW5nIHZpc2li
bGUgcmVjdCByZXF1ZXN0IHRvIHRoZSB3ZWIgcHJvY2VzcyB0byByZW5kZXIgdGhlIGNvbnRlbnRz
CisgICAgICAgIGF0IHRoZSBuZXcgcG9zaXRpb24vc2NhbGUuIFRoaXMgY291bGQgbGVhdmUgdGhl
IHZpZXdwb3J0IHNob3dpbmcgdGhlIG9sZCBjb250ZW50LCBlaXRoZXIKKyAgICAgICAgYnkgc2Nh
bGluZyB0aGUgdGlsZXMsIG9yIGJ5IHNob3dpbmcgY2hlY2tlcmJvYXJkIGlmIG5vIGNvbnRlbnRz
IHdhcyByZW5kZXJlZCBhdCB0aGlzCisgICAgICAgIHBvc2l0aW9uIHlldC4gV2hlbiB0aGUgd2Vi
IHByb2Nlc3Mgd2FzIGRvbmUgcmVuZGVyaW5nIG5ldyB0aWxlcywgdGhlIHByb3BlciB0aWxlcwor
ICAgICAgICB3ZXJlIHRoZW4gc2hvd24gdG8gdGhlIHVzZXIuCisgICAgICAgIFNpbmNlIG1hbnkg
b2YgdGhlc2UgdXBkYXRlcyBoYXBwZW4gZHVyaW5nIHBhZ2UgbG9hZCwgYWxsIHByb2R1Y2luZyBh
biBpdHRlcmF0aXZlIGFkanVzdG1lbnQKKyAgICAgICAgdG8gdGhlIHZpZXdwb3J0LCB0aGlzIGNv
dWxkIHNob3cgc2hhcnBuZXNzIGFuZCBwb3NpdGlvbiBqaXR0ZXIgdW50aWwgdGhlIGZpbmFsIHJl
bmRlcmluZworICAgICAgICB3YXMgZG9uZS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIHRo
b3NlIHVwZGF0ZXMgZ28gdGhyb3VnaCB0aGUgUGFnZVZpZXdwb3J0Q29udHJvbGxlciBmaXJzdCBh
bmQgdGhlbiB0byB0aGUKKyAgICAgICAgUVF1aWNrV2ViVmlldyByYXRoZXIgdGhhbiB0aGUgb3Ro
ZXIgd2F5IGFyb3VuZCwgYW5kIGtlZXAgdGhlbSBwZW5kaW5nIHVudGlsIHRoZQorICAgICAgICBM
YXllclRyZWVIb3N0UHJveHkgcmVwb3J0cyB0aGF0IHRoZSBuZXcgdGlsZXMgYXJlIHJlYWR5IHRv
IGJlIHNob3duLiBTaW5jZSB0aGUgcmVuZGVyaW5nCisgICAgICAgIGlzIGJsb2NrZWQgdW50aWwg
dGhlIHBhZ2UgZmlyc3QgbGF5b3V0IGlzIGRvbmUsIHRoaXMgYXBwbHkgdGhlIG1vZGlmaWNhdGlv
bnMgdG8KKyAgICAgICAgdGhlIHZpZXdwb3J0IG9ubHkgb25jZSB3aGVuIHRoZSBmaXJzdCBmcmFt
ZSBpcyByZWFkeSB0byBiZSBzaG93bi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlldy5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
X3BfcC5oOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3X3BfcC5oOgorICAgICAgICAoUVJh
d1dlYlZpZXdQcml2YXRlOjpkaWRSZW5kZXJGcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OmRpZFJlbmRlckZyYW1lKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRv
clByb3h5Lmg6CisgICAgICAgIChMYXllclRyZWVDb29yZGluYXRvclByb3h5KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAg
IChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENvbW1p
dExvYWQpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFu
Z2VDb250ZW50c1NpemUpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpkaWRSZW5kZXJGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xs
ZXI6OmluaXRpYWxWaWV3cG9ydFJlYWR5KToKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0
Q29udHJvbGxlcjo6cGFnZURpZFJlcXVlc3RTY3JvbGwpOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Vmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkpOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpyZXN1bWVDb250ZW50KToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6YXBwbHlTY2FsZUFmdGVyUmVuZGVy
aW5nQ29udGVudHMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6UGFnZVZp
ZXdwb3J0Q29udHJvbGxlcjo6YXBwbHlQb3NpdGlvbkFmdGVyUmVuZGVyaW5nQ29udGVudHMpOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjp1cGRhdGVNaW5pbXVtU2Nh
bGVUb0ZpdCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaDoK
KyAgICAgICAgKFBhZ2VWaWV3cG9ydENvbnRyb2xsZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Q
YWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50Lmg6CisgICAgICAgIChQYWdlVmlld3BvcnRDb250
cm9sbGVyQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRD
b250cm9sbGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250
cm9sbGVyQ2xpZW50UXQ6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5oOgorICAgICAgICAoUGFnZVZp
ZXdwb3J0Q29udHJvbGxlckNsaWVudFF0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRQYWdl
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UXRQYWdlQ2xpZW50OjpkaWRSZW5kZXJGcmFt
ZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpRdFBhZ2VDbGllbnQ6OmRp
ZENoYW5nZUNvbnRlbnRzU2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVu
dC5oOgorICAgICAgICAoUXRQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlTG9hZENsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlF0V2ViUGFnZUxvYWRDbGll
bnQ6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJQYWdlUHJveHlR
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVuZGVyRnJhbWUpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUNvb3JkaW5hdG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMpOgorCisyMDEyLTA5
LTI3ICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKICAg
ICAgICAgW1F0XSBXYWl0IGZvciB0aGUgVUkgcHJvY2VzcyBiZWZvcmUgcmUtZW5hYmxpbmcgcmVu
ZGVyaW5nIGR1cmluZyBwYWdlIGxvYWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk3NzczCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IGI3OGNhZTBmM2VkYjkxMmJlZjAyYzE3ZjNh
NjJlOGFkODY1ZTU2ZDAuLjEyZjhkYjM3M2I3M2Y0MzA0ZjVlNTQ4NWY5MDZjNjc5NjVhMzI2NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcApAQCAtODc3LDEzICs4NzcsNiBAQCB2b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2
YXRlOjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBRUG9pbnQmIHBvcykKICAgICAgICAgbV9w
YWdlVmlld3BvcnRDb250cm9sbGVyLT5wYWdlRGlkUmVxdWVzdFNjcm9sbChwb3MpOwogfQogCi12
b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpkaWRDaGFuZ2VDb250ZW50c1NpemUo
Y29uc3QgUVNpemUmIG5ld1NpemUpCi17Ci0gICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmRpZENo
YW5nZUNvbnRlbnRzU2l6ZShuZXdTaXplKTsKLSAgICBwYWdlVmlldy0+c2V0Q29udGVudHNTaXpl
KG5ld1NpemUpOyAvLyBlbWl0cyBjb250ZW50c1NpemVDaGFuZ2VkKCkKLSAgICBtX3BhZ2VWaWV3
cG9ydENvbnRyb2xsZXItPmRpZENoYW5nZUNvbnRlbnRzU2l6ZShuZXdTaXplKTsKLX0KLQogdm9p
ZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6aGFuZGxlTW91c2VFdmVudChRTW91c2VF
dmVudCogZXZlbnQpCiB7CiAgICAgaWYgKCFwYWdlVmlldy0+ZXZlbnRIYW5kbGVyKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9w
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgK
aW5kZXggZjE3MmFkNjhmZWYzOTNhNDcyMjMzNWFiM2U5MjFiZjIyNmU4ZDQwYi4uYWY4ZWY3ZGNl
MDk0MjQyMDJhODEwZDMxODljZDc1ZDQzNDM3YTZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaApAQCAtMTMwLDcgKzEzMCw2
IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgY29uc3Q7CiAgICAg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0b3JRdE9iamVjdChjb25zdCBTdHJpbmcm
IG1lc3NhZ2UpOwogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBR
UG9pbnQmIHBvcykgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShj
b25zdCBRU2l6ZSYgbmV3U2l6ZSkgeyB9CiAgICAgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goKTsKICAg
ICB2b2lkIGRpZFJlbGF1bmNoUHJvY2VzcygpOwogICAgIFBhc3NPd25QdHI8V2ViS2l0OjpEcmF3
aW5nQXJlYVByb3h5PiBjcmVhdGVEcmF3aW5nQXJlYVByb3h5KCk7CkBAIC0yMjMsNyArMjIyLDYg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydFNpemUoKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBRUG9pbnQmIHBvcyk7Ci0g
ICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBRU2l6ZSYgbmV3U2l6
ZSk7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoUU1vdXNlRXZlbnQqKTsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3
ZWJ2aWV3X3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dl
YnZpZXdfcF9wLmgKaW5kZXggNmNjNmMwOGU4NzZiYjIxMzU5MGM1OGZjZWU3OWQ2ZWZlMWZlMTg1
OC4uNTNlZTA4YTYzMzJmYjk0YjFjYjJjN2ZiOTdmYWVlMjBmYWM5OGY2MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXdfcF9wLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXdfcF9wLmgK
QEAgLTEwNSw2ICsxMDUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlbGF1bmNo
UHJvY2VzcygpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmIHJlY3QpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDb250ZW50
c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6ZSk7CisgICAgdmlydHVhbCB2b2lk
IGRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKIAog
ICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdGb2N1c2VkKCkgeyByZXR1cm4gbV9mb2N1c2VkOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVDb29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IGU2
ZjU4MmYyMjAzNDE2MjIyMmNkNGY0YWE4OGMzNGNlMzllMDc2MTAuLjAzMWE0ZjhiNjQxNDk3ZTQ2
YTVhZDQ5OTgwYmQ1NjJiNTViMmM0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHkuY3BwCkBAIC0xMTYsMTAgKzExNiwxNSBAQCB2b2lkIExheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHk6OnNldENvbXBvc2l0aW5nTGF5ZXJGaWx0ZXJzKFdlYkxheWVySUQg
aWQsIGNvbnN0CiB9CiAjZW5kaWYKIAotdm9pZCBMYXllclRyZWVDb29yZGluYXRvclByb3h5Ojpk
aWRSZW5kZXJGcmFtZSgpCit2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OmRpZFJlbmRl
ckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSkKIHsKICAgICBkaXNw
YXRjaFVwZGF0ZShiaW5kKCZMYXllclRyZWVSZW5kZXJlcjo6Zmx1c2hMYXllckNoYW5nZXMsIG1f
cmVuZGVyZXIuZ2V0KCkpKTsKICAgICB1cGRhdGVWaWV3cG9ydCgpOworI2lmIFBMQVRGT1JNKFFU
KQorICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5kaWRSZW5kZXJGcmFtZShjb250ZW50
c1NpemUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29udGVudHNTaXplKTsKKyNlbmRpZgog
fQogCiB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6OmNyZWF0ZURpcmVjdGx5Q29tcG9z
aXRlZEltYWdlKGludDY0X3Qga2V5LCBjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlJiBoYW5kbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5
LmgKaW5kZXggNjVhOWY1ZTk5OGZiYTcyZDNkYWFiZmNiZjU1MTdlZjcxZjcyNmUyZS4uOTJjNjEw
YmU5MDFhZTE1ZDQxOGEzMDA0NjdiNWU2MzU3MzdlNzgxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBwdXJnZUdMUmVzb3VyY2VzKCk7CiAgICAgdm9pZCBzZXRDb250ZW50c1NpemUoY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CiAgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYsIGZsb2F0IHNjYWxlLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKLSAgICB2b2lkIGRpZFJlbmRlckZyYW1lKCk7
CisgICAgdm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50
c1NpemUpOwogICAgIHZvaWQgY3JlYXRlVGlsZUZvckxheWVyKGludCBsYXllcklELCBpbnQgdGls
ZUlELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgU3VyZmFjZVVwZGF0ZUluZm8mKTsK
ICAgICB2b2lkIHVwZGF0ZVRpbGVGb3JMYXllcihpbnQgbGF5ZXJJRCwgaW50IHRpbGVJRCwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFN1cmZhY2VVcGRhdGVJbmZvJik7CiAgICAgdm9p
ZCByZW1vdmVUaWxlRm9yTGF5ZXIoaW50IGxheWVySUQsIGludCB0aWxlSUQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggMjM4NjkyMzNjMzFmY2Y0NmUzMzU0OTI5ZWRlOTlmNTk3NzZkMTk3NS4uNTJkNjFhZjFi
YTQxMTc0MDMyOTc0ZTlmMDI0NjlhMDgzNzlmNjIyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94
eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zMSw3ICsz
MSw3IEBAIG1lc3NhZ2VzIC0+IExheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkgewogICAgIFJlbW92
ZVRpbGVGb3JMYXllcih1aW50MzJfdCBsYXllcklELCBpbnQgdGlsZUlEKQogICAgIENyZWF0ZURp
cmVjdGx5Q29tcG9zaXRlZEltYWdlKGludDY0X3Qga2V5LCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlIGhhbmRsZSkKICAgICBEZXN0cm95RGlyZWN0bHlDb21wb3NpdGVkSW1hZ2UoaW50
NjRfdCBrZXkpCi0gICAgRGlkUmVuZGVyRnJhbWUoKQorICAgIERpZFJlbmRlckZyYW1lKFdlYkNv
cmU6OkludFNpemUgY29udGVudHNTaXplKQogICAgIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uKFdl
YkNvcmU6OkludFBvaW50IHBvc2l0aW9uKQogICAgIFN5bmNDYW52YXModWludDMyX3QgaWQsIFdl
YkNvcmU6OkludFNpemUgY2FudmFzU2l6ZSwgdWludDY0X3QgZ3JhcGhpY3NTdXJmYWNlVG9rZW4s
IHVpbnQzMl90IGZyb250QnVmZmVyKQogICAgIFNldExheWVyQW5pbWF0ZWRPcGFjaXR5KHVpbnQz
Ml90IGlkLCBmbG9hdCBvcGFjaXR5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
aW5kZXggMDZhZmRiNzA2MDc5MGQzODNhNDE1ZjAyOGQ5MjcwZmJlYTJhYzc4Zi4uMDY4MTYxZTFh
Y2VlNTY0YjE4MDEwNmEwZjhkNWRlMzc4OGZjYjMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCkBAIC0xMTgsNiArMTE4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpID0gMDsKICNl
bmRpZgogI2lmIFBMQVRGT1JNKFFUKQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZW5kZXJGcmFtZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgaW5pdGlhbFZpZXdwb3J0UmVhZHkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmRa
b29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0
b3JRdE9iamVjdChjb25zdCBTdHJpbmcmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAKaW5kZXggZDhjYWVhMTM0YmM1MGY2
ZjUzZGU4OWJmM2Q4ZWQ4M2U1ODMyZGY3YS4uMmYyMDJjY2JhZGZmMTFjN2NhMjkyNTM3Nzc0MWFj
ZTJmZGRhNDc1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmll
d3BvcnRDb250cm9sbGVyLmNwcApAQCAtMTA5LDE5ICsxMDksNDcgQEAgRmxvYXRQb2ludCBQYWdl
Vmlld3BvcnRDb250cm9sbGVyOjpjbGFtcFZpZXdwb3J0VG9Db250ZW50cyhjb25zdCBXZWJDb3Jl
OjpGbG9hdFAKICAgICByZXR1cm4gRmxvYXRQb2ludChjbGFtcFRvKHZpZXdwb3J0UG9zLngoKSwg
MC5mLCBob3Jpem9udGFsUmFuZ2UpLCBjbGFtcFRvKHZpZXdwb3J0UG9zLnkoKSwgMC5mLCB2ZXJ0
aWNhbFJhbmdlKSk7CiB9CiAKLXZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdl
Q29udGVudHNTaXplKGNvbnN0IEludFNpemUmIG5ld1NpemUpCit2b2lkIFBhZ2VWaWV3cG9ydENv
bnRyb2xsZXI6OmRpZENvbW1pdExvYWQoKQogewotICAgIGlmIChtX3ZpZXdwb3J0U2l6ZS5pc0Vt
cHR5KCkgfHwgbmV3U2l6ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKKyAgICAvLyBSZXNl
dCB0aGUgcG9zaXRpb24gdG8gdGhlIHRvcCwgcGFnZS9oaXN0b3J5IHNjcm9sbCByZXF1ZXN0cyBt
YXkgb3ZlcnJpZGUgdGhpcyBiZWZvcmUgd2UgcmUtZW5hYmxlIHJlbmRlcmluZy4KKyAgICBhcHBs
eVBvc2l0aW9uQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhGbG9hdFBvaW50KCkpOworfQogCit2b2lk
IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBJbnRT
aXplJiBuZXdTaXplKQorewogICAgIG1fY29udGVudHNTaXplID0gbmV3U2l6ZTsKICAgICB1cGRh
dGVNaW5pbXVtU2NhbGVUb0ZpdCgpOworfQogCi0gICAgbV9jbGllbnQtPmRpZENoYW5nZUNvbnRl
bnRzU2l6ZSgpOwordm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRSZW5kZXJGcmFtZShj
b25zdCBJbnRTaXplJiBjb250ZW50c1NpemUpCit7CisgICAgLy8gT25seSB1cGRhdGUgdGhlIHZp
ZXdwb3J0J3MgY29udGVudHMgZGltZW5zaW9ucyBhbG9uZyB3aXRoIGl0cyByZW5kZXIuCisgICAg
bV9jbGllbnQtPmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb250ZW50c1NpemUpOworCisgICAgLy8g
QXBwbHkgYW55IHNjYWxlIG9yIHNjcm9sbCBwb3NpdGlvbiB3ZSBsb2NrZWQgdG8gYmUgc2V0IG9u
IHRoZSB2aWV3cG9ydAorICAgIC8vIG9ubHkgd2hlbiB0aGVyZSBpcyBzb21ldGhpbmcgdG8gZGlz
cGxheSB0aGVyZS4gVGhlIHNjYWxlIGdvZXMgZmlyc3QgdG8KKyAgICAvLyBhdm9pZCBvZmZzZXRp
bmcgb3VyIGRlZmVycmVkIHBvc2l0aW9uIGJ5IHNjYWxpbmcgYXQgdGhlIHZpZXdwb3J0IGNlbnRl
ci4KKyAgICAvLyBBbGwgcG9zaXRpb24gYW5kIHNjYWxlIGNoYW5nZSByZXN1bHRpbmcgZnJvbSBh
IHdlYiBwcm9jZXNzIGV2ZW50IHNob3VsZAorICAgIC8vIGdvIHRocm91Z2ggaGVyZSB0byBiZSBh
cHBsaWVkIG9uIHRoZSB2aWV3cG9ydCB0byBhdm9pZCBzaG93aW5nIGluY29tcGxldGUKKyAgICAv
LyB0aWxlcyB0byB0aGUgdXNlciBkdXJpbmcgYSBmZXcgbWlsbGlzZWNvbmRzLgorICAgIFZpZXdw
b3J0VXBkYXRlRGVmZXJyZXIgZ3VhcmQodGhpcyk7CisgICAgaWYgKG1fZWZmZWN0aXZlU2NhbGVJ
c0xvY2tlZCkgeworICAgICAgICBtX2NsaWVudC0+c2V0Q29udGVudHNTY2FsZShtX2VmZmVjdGl2
ZVNjYWxlLCBmYWxzZSk7CisgICAgICAgIG1fZWZmZWN0aXZlU2NhbGVJc0xvY2tlZCA9IGZhbHNl
OworICAgIH0KKyAgICBpZiAobV92aWV3cG9ydFBvc0lzTG9ja2VkKSB7CisgICAgICAgIG1fY2xp
ZW50LT5zZXRWaWV3cG9ydFBvc2l0aW9uKGNsYW1wVmlld3BvcnRUb0NvbnRlbnRzKG1fdmlld3Bv
cnRQb3MsIG1fZWZmZWN0aXZlU2NhbGUpKTsKKyAgICAgICAgbV92aWV3cG9ydFBvc0lzTG9ja2Vk
ID0gZmFsc2U7CisgICAgfQogfQogCiB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmluaXRp
YWxWaWV3cG9ydFJlYWR5KCkKIHsKKyAgICBpZiAoIW1fcmF3QXR0cmlidXRlcy5sYXlvdXRTaXpl
LmlzRW1wdHkoKSkgeworICAgICAgICBtX2hhZFVzZXJJbnRlcmFjdGlvbiA9IGZhbHNlOworICAg
ICAgICBhcHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhpbm5lckJvdW5kZWRWaWV3cG9y
dFNjYWxlKHRvVmlld3BvcnRTY2FsZShtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlKSkpOwor
ICAgIH0KKwogICAgIC8vIEF0IHRoaXMgcG9pbnQgd2Ugc2hvdWxkIGFscmVhZHkgaGF2ZSByZWNl
aXZlZCB0aGUgZmlyc3Qgdmlld3BvcnQgYXJndW1lbnRzIGFuZCB0aGUgcmVxdWVzdGVkIHNjcm9s
bAogICAgIC8vIHBvc2l0aW9uIGZvciB0aGUgbmV3bHkgbG9hZGVkIHBhZ2UgYW5kIHNlbnQgb3Vy
IHJlYWN0aW9ucyB0byB0aGUgd2ViIHByb2Nlc3MuIEl0J3Mgbm93IHNhZmUgdG8gdGVsbAogICAg
IC8vIHRoZSB3ZWIgcHJvY2VzcyB0byBzdGFydCByZW5kZXJpbmcgdGhlIG5ldyBwYWdlIGNvbnRl
bnRzIGFuZCBwb3NzaWJseSByZS11c2UgdGhlIGN1cnJlbnQgdGlsZXMuCkBAIC0xMzUsNyArMTYz
LDggQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpwYWdlRGlkUmVxdWVzdFNjcm9sbChj
b25zdCBJbnRQb2ludCYgY3NzUG9zaXRpb24pCiAgICAgaWYgKG1fYWN0aXZlRGVmZXJyZXJDb3Vu
dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jbGllbnQtPnNldFZpZXdwb3J0UG9zaXRpb24o
Y2xhbXBWaWV3cG9ydFRvQ29udGVudHMoY3NzUG9zaXRpb24sIG1fZWZmZWN0aXZlU2NhbGUpKTsK
KyAgICAvLyBLZWVwIHRoZSB1bmNsYW1wZWQgcG9zaXRpb24gaW4gY2FzZSB0aGUgY29udGVudHMg
c2l6ZSBpcyBjaGFuZ2VkIGxhdGVyIG9uLgorICAgIGFwcGx5UG9zaXRpb25BZnRlclJlbmRlcmlu
Z0NvbnRlbnRzKGNzc1Bvc2l0aW9uKTsKIH0KIAogdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpkaWRDaGFuZ2VWaWV3cG9ydFNpemUoY29uc3QgRmxvYXRTaXplJiBuZXdTaXplKQpAQCAtMTU0
LDggKzE4MywxMSBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZVZpZXdw
b3J0U2l6ZShjb25zdCBGbG9hdFNpemUmIG5ld1NpemUpCiAKIHZvaWQgUGFnZVZpZXdwb3J0Q29u
dHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5KGNvbnN0IEZsb2F0UG9pbnQmIHZp
ZXdwb3J0UG9zLCBmbG9hdCB2aWV3cG9ydFNjYWxlLCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0
b3J5VmVjdG9yKQogewotICAgIG1fdmlld3BvcnRQb3MgPSB2aWV3cG9ydFBvczsKLSAgICBtX2Vm
ZmVjdGl2ZVNjYWxlID0gdmlld3BvcnRTY2FsZTsKKyAgICBpZiAoIW1fdmlld3BvcnRQb3NJc0xv
Y2tlZCkKKyAgICAgICAgbV92aWV3cG9ydFBvcyA9IHZpZXdwb3J0UG9zOworICAgIGlmICghbV9l
ZmZlY3RpdmVTY2FsZUlzTG9ja2VkKQorICAgICAgICBtX2VmZmVjdGl2ZVNjYWxlID0gdmlld3Bv
cnRTY2FsZTsKKwogICAgIHN5bmNWaXNpYmxlQ29udGVudHModHJhamVjdG9yeVZlY3Rvcik7CiB9
CiAKQEAgLTE5NywxMiArMjI5LDYgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpzdXNw
ZW5kQ29udGVudCgpCiAKIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6cmVzdW1lQ29udGVu
dCgpCiB7Ci0gICAgaWYgKCFtX3Jhd0F0dHJpYnV0ZXMubGF5b3V0U2l6ZS5pc0VtcHR5KCkgJiYg
bV9yYXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSA+IDApIHsKLSAgICAgICAgbV9oYWRVc2VySW50
ZXJhY3Rpb24gPSBmYWxzZTsKLSAgICAgICAgbV9jbGllbnQtPnNldENvbnRlbnRzU2NhbGUoaW5u
ZXJCb3VuZGVkVmlld3BvcnRTY2FsZSh0b1ZpZXdwb3J0U2NhbGUobV9yYXdBdHRyaWJ1dGVzLmlu
aXRpYWxTY2FsZSkpLCAvKiBpc0luaXRpYWxTY2FsZSAqLyB0cnVlKTsKLSAgICAgICAgbV9yYXdB
dHRyaWJ1dGVzLmluaXRpYWxTY2FsZSA9IC0xOyAvLyBNYXJrIHVzZWQuCi0gICAgfQotCiAgICAg
bV9jbGllbnQtPmRpZFJlc3VtZUNvbnRlbnQoKTsKIAogICAgIGlmICghbV9oYXNTdXNwZW5kZWRD
b250ZW50KQpAQCAtMjEyLDE1ICsyMzgsMzIgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpyZXN1bWVDb250ZW50KCkKICAgICBtX3dlYlBhZ2VQcm94eS0+cmVzdW1lQWN0aXZlRE9NT2Jq
ZWN0c0FuZEFuaW1hdGlvbnMoKTsKIH0KIAordm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjph
cHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhmbG9hdCBzY2FsZSkKK3sKKyAgICBtX2Vm
ZmVjdGl2ZVNjYWxlID0gc2NhbGU7CisgICAgbV9lZmZlY3RpdmVTY2FsZUlzTG9ja2VkID0gdHJ1
ZTsKKyAgICBzeW5jVmlzaWJsZUNvbnRlbnRzKCk7Cit9CisKK3ZvaWQgUGFnZVZpZXdwb3J0Q29u
dHJvbGxlcjo6YXBwbHlQb3NpdGlvbkFmdGVyUmVuZGVyaW5nQ29udGVudHMoY29uc3QgRmxvYXRQ
b2ludCYgcG9zKQoreworICAgIG1fdmlld3BvcnRQb3MgPSBwb3M7CisgICAgbV92aWV3cG9ydFBv
c0lzTG9ja2VkID0gdHJ1ZTsKKyAgICBzeW5jVmlzaWJsZUNvbnRlbnRzKCk7Cit9CisKIHZvaWQg
UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6dXBkYXRlTWluaW11bVNjYWxlVG9GaXQoKQogeworICAg
IGlmIChtX3ZpZXdwb3J0U2l6ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGZs
b2F0IG1pbmltdW1TY2FsZSA9IFdlYkNvcmU6OmNvbXB1dGVNaW5pbXVtU2NhbGVGYWN0b3JGb3JD
b250ZW50Q29udGFpbmVkKG1fcmF3QXR0cmlidXRlcywgV2ViQ29yZTo6cm91bmRlZEludFNpemUo
bV92aWV3cG9ydFNpemUpLCBXZWJDb3JlOjpyb3VuZGVkSW50U2l6ZShtX2NvbnRlbnRzU2l6ZSkp
OwogCiAgICAgaWYgKCFmdXp6eUNvbXBhcmUobWluaW11bVNjYWxlLCBtX21pbmltdW1TY2FsZVRv
Rml0LCAwLjAwMSkpIHsKICAgICAgICAgbV9taW5pbXVtU2NhbGVUb0ZpdCA9IG1pbmltdW1TY2Fs
ZTsKIAogICAgICAgICBpZiAoIW1faGFkVXNlckludGVyYWN0aW9uICYmICFoYXNTdXNwZW5kZWRD
b250ZW50KCkpCi0gICAgICAgICAgICBtX2NsaWVudC0+c2V0Q29udGVudHNTY2FsZSh0b1ZpZXdw
b3J0U2NhbGUobWluaW11bVNjYWxlKSwgdHJ1ZSAvKiBpc0luaXRpYWxTY2FsZSAqLyk7CisgICAg
ICAgICAgICBhcHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyh0b1ZpZXdwb3J0U2NhbGUo
bWluaW11bVNjYWxlKSk7CiAKICAgICAgICAgbV9jbGllbnQtPmRpZENoYW5nZVZpZXdwb3J0QXR0
cmlidXRlcygpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlVmlld3BvcnRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlci5oCmluZGV4IGJjMzgyN2VmNTM5N2YwNDllMmFmNzgyZDg5ZTk0YjJh
NTAwZTk1YTYuLjc5NzNlODJmNzhlMzQzMjgyYjJjMGIyMWE3NmJmOTRmYjM3YmE4MjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaApA
QCAtOTUsOCArOTUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNWaXNp
YmlsaXR5KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHZpZXdwb3J0UG9zLCBmbG9hdCB2aWV3
cG9ydFNjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yID0g
V2ViQ29yZTo6RmxvYXRQb2ludDo6emVybygpKTsKIAogICAgIC8vIE5vdGlmaWNhdGlvbnMgZnJv
bSB0aGUgV2ViUHJvY2Vzcy4KKyAgICB2b2lkIGRpZENvbW1pdExvYWQoKTsKICAgICB2b2lkIGRp
ZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKTsKICAg
ICB2b2lkIGRpZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9y
dEF0dHJpYnV0ZXMmKTsKKyAgICB2b2lkIGRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmIGNvbnRlbnRzU2l6ZSk7CiAgICAgdm9pZCBpbml0aWFsVmlld3BvcnRSZWFkeSgpOwog
ICAgIHZvaWQgcGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNz
c1Bvc2l0aW9uKTsKIApAQCAtMTA0LDYgKzEwNiw4IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgZnJv
bVZpZXdwb3J0U2NhbGUoZmxvYXQgc2NhbGUpIGNvbnN0IHsgcmV0dXJuIHNjYWxlIC8gZGV2aWNl
UGl4ZWxSYXRpbygpOyB9CiAgICAgZmxvYXQgdG9WaWV3cG9ydFNjYWxlKGZsb2F0IHNjYWxlKSBj
b25zdCB7IHJldHVybiBzY2FsZSAqIGRldmljZVBpeGVsUmF0aW8oKTsgfQogICAgIHZvaWQgc3lu
Y1Zpc2libGVDb250ZW50cyhjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50ICZ0cmFqZWN0b3J5VmVj
dG9yID0gV2ViQ29yZTo6RmxvYXRQb2ludDo6emVybygpKTsKKyAgICB2b2lkIGFwcGx5U2NhbGVB
ZnRlclJlbmRlcmluZ0NvbnRlbnRzKGZsb2F0IHNjYWxlKTsKKyAgICB2b2lkIGFwcGx5UG9zaXRp
b25BZnRlclJlbmRlcmluZ0NvbnRlbnRzKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBvcyk7
CiAgICAgdm9pZCB1cGRhdGVNaW5pbXVtU2NhbGVUb0ZpdCgpOwogCiAgICAgV2ViUGFnZVByb3h5
KiBjb25zdCBtX3dlYlBhZ2VQcm94eTsKQEAgLTEyMyw2ICsxMjcsOSBAQCBwcml2YXRlOgogICAg
IFdlYkNvcmU6OkZsb2F0U2l6ZSBtX2NvbnRlbnRzU2l6ZTsKICAgICBmbG9hdCBtX2VmZmVjdGl2
ZVNjYWxlOyAvLyBTaG91bGQgYWx3YXlzIGJlIGNzc1NjYWxlICogZGV2aWNlUGl4ZWxSYXRpby4K
IAorICAgIGJvb2wgbV92aWV3cG9ydFBvc0lzTG9ja2VkOworICAgIGJvb2wgbV9lZmZlY3RpdmVT
Y2FsZUlzTG9ja2VkOworCiAgICAgZnJpZW5kIGNsYXNzIFZpZXdwb3J0VXBkYXRlRGVmZXJyZXI7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0
Q29udHJvbGxlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9y
dENvbnRyb2xsZXJDbGllbnQuaAppbmRleCAzZDkxYjlhYWM3ZmU1N2FjYWVmYWUyOWQwZDgwYTBl
YWJkMzE1OTI3Li4yZjg3ZDU5MjRkYzkzNjYyYjg0M2M2OWMyMDU1ZTQ0MjRiMWE1M2MyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9s
bGVyQ2xpZW50LmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
ZXRDb250ZW50c1NjYWxlKGZsb2F0LCBib29sIHRyZWF0QXNJbml0aWFsVmFsdWUpID0gMDsKIAog
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZXN1bWVDb250ZW50KCkgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRDaGFuZ2VWaXNpYmxlQ29udGVudHMoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZENoYW5nZVZpZXdwb3J0QXR0cmlidXRlcygpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCmluZGV4IDcxZTc2ZTA2MTBlM2U0YzJkZGNlMjY2M2YzOWRiMWI0NjFk
ZmU3ZGMuLmVjNWEzYzNkOWE1YjFkYWY2YzQ5NTYwY2U3MTAwY2EwMDAxNWFjMDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTM1Niw2ICszNTYsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBtYWludGFpbnNJbmFjdGl2ZVNlbGVjdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fbWFpbnRhaW5zSW5hY3RpdmVTZWxlY3Rpb247IH0KICAgICB2b2lkIHNldE1haW50YWluc0lu
YWN0aXZlU2VsZWN0aW9uKGJvb2wpOwogI2lmIFBMQVRGT1JNKFFUKQorICAgIHZvaWQgZGlkUmVu
ZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplKTsKICAgICB2b2lk
IHJlZ2lzdGVyQXBwbGljYXRpb25TY2hlbWUoY29uc3QgU3RyaW5nJiBzY2hlbWUpOwogICAgIHZv
aWQgcmVzb2x2ZUFwcGxpY2F0aW9uU2NoZW1lUmVxdWVzdChRdE5ldHdvcmtSZXF1ZXN0RGF0YSk7
CiAgICAgdm9pZCBzZW5kQXBwbGljYXRpb25TY2hlbWVSZXBseShjb25zdCBRUXVpY2tOZXR3b3Jr
UmVwbHkqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9QYWdlVmll
d3BvcnRDb250cm9sbGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHAKaW5kZXggOWUyNTMxZjU3MTU5OGVh
ZTQyZDc5YzE3Y2Q0ZjFmYjFiMmEzYTNjYy4uODUwODIxMGYzODA4Y2ZjZTE4ZTg0MzFmNDBlY2Qx
NDAwNjE4NjRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VW
aWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHAKQEAgLTQ2OCw4ICs0Njgs
MTAgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQ6OnBpbmNoR2VzdHVyZUNh
bmNlbGxlZCgpCiAgICAgbV9zY2FsZVVwZGF0ZURlZmVycmVyLnJlc2V0KCk7CiB9CiAKLXZvaWQg
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0OjpkaWRDaGFuZ2VDb250ZW50c1NpemUoKQor
dm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQ6OmRpZENoYW5nZUNvbnRlbnRzU2l6
ZShjb25zdCBJbnRTaXplJiBuZXdTaXplKQogeworICAgIG1fcGFnZUl0ZW0tPnNldENvbnRlbnRz
U2l6ZShRU2l6ZUYobmV3U2l6ZSkpOworCiAgICAgLy8gRW1pdCBmb3IgdGVzdGluZyBwdXJwb3Nl
cywgc28gdGhhdCBpdCBjYW4gYmUgdmVyaWZpZWQgdGhhdAogICAgIC8vIHdlIGRpZG4ndCBkbyBz
Y2FsZSBhZGp1c3RtZW50LgogICAgIGVtaXQgbV92aWV3cG9ydEl0ZW0tPmV4cGVyaW1lbnRhbCgp
LT50ZXN0KCktPmNvbnRlbnRzU2NhbGVDb21taXR0ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQu
aAppbmRleCBiZDBlMTczMWJkZWI5MDMzMWVkNzIyMDdiYzc3ZWE2NmZjNzA0YmYyLi4wODliNWI3
Njg5NDQyMTA5Yjg2YTAyYTE2MmQyZmU2YzZlYWRjNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRR
dC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVu
dHNTY2FsZShmbG9hdCBzY2FsZSwgYm9vbCB0cmVhdEFzSW5pdGlhbFZhbHVlKTsKIAogICAgIHZp
cnR1YWwgdm9pZCBkaWRSZXN1bWVDb250ZW50KCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZUNvbnRlbnRzU2l6ZSgpOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUo
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VWaXNp
YmxlQ29udGVudHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1
dGVzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAK
aW5kZXggZDNlMjcwMmU1NjZlMDhlNzdlZjQyOGEwZmY2OGMyYTFlYTk3ZDFiMS4uYjIyMTkzYzQ5
YmFiNGM4ZWFkMTgxNzZhNTI1NTE4OTVhOGY0YWYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKQEAgLTczLDYgKzczLDExIEBAIHZvaWQgUXRQYWdl
Q2xpZW50OjpzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3Qp
CiAgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT5zZXROZWVkc0Rpc3Bs
YXkoKTsKIH0KIAordm9pZCBRdFBhZ2VDbGllbnQ6OmRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSkKK3sKKyAgICBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6
Z2V0KG1fd2ViVmlldyktPnZpZXdwb3J0Q29udHJvbGxlcigpLT5kaWRSZW5kZXJGcmFtZShjb250
ZW50c1NpemUpOworfQorCiB2b2lkIFF0UGFnZUNsaWVudDo6cGFnZURpZFJlcXVlc3RTY3JvbGwo
Y29uc3QgSW50UG9pbnQmIHBvcykKIHsKICAgICBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Z2V0KG1f
d2ViVmlldyktPnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKHBvcyk7CkBAIC05MCw3ICs5NSw3IEBAIHZv
aWQgUXRQYWdlQ2xpZW50OjpkaWRSZWxhdW5jaFByb2Nlc3MoKQogCiB2b2lkIFF0UGFnZUNsaWVu
dDo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IEludFNpemUmIG5ld1NpemUpCiB7Ci0gICAg
UVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT5kaWRDaGFuZ2VDb250ZW50c1Np
emUobmV3U2l6ZSk7CisgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmdldChtX3dlYlZpZXcpLT52
aWV3cG9ydENvbnRyb2xsZXIoKS0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKG5ld1NpemUpOwogfQog
CiB2b2lkIFF0UGFnZUNsaWVudDo6ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdl
YkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYgYXR0cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFBhZ2VDbGllbnQuaAppbmRleCBkYjhlNmNjMGFlMTdkZTEzMmJkMjFjMDhhYzA4OTE1
MjE1M2Q1MzAwLi45MDNkYTkxZTdkY2UzNmI3ZjY2ZThmMzQwZTg1M2QxYjY4ZTU1ZDcyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oCkBAIC00Myw2ICs0Myw3
IEBAIHB1YmxpYzoKIAogICAgIC8vIFFRdWlja1dlYlZpZXcuCiAgICAgdmlydHVhbCB2b2lkIHNl
dFZpZXdOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZpcnR1YWwg
dm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUp
OwogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50U2l6ZSB2aWV3U2l6ZSgpOwogICAgIHZpcnR1YWwg
Ym9vbCBpc1ZpZXdGb2N1c2VkKCk7CiAgICAgdmlydHVhbCBib29sIGlzVmlld1Zpc2libGUoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50
LmNwcAppbmRleCAwZTljNWNmYjQ5ZjdiNjFmODM3NjVhMjAxYzUwODMwMzE1MThiZGU4Li5kMTEx
YWQxN2MyNTAwYjIzOThlZGMzZWIwYmQ3MWExN2EwZjNhNDJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlTG9hZENsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRDbGllbnQuY3BwCkBAIC02Miw2ICs2
Miw3IEBAIHZvaWQgUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFdURjo6CiAKIHZvaWQgUXRXZWJQYWdlTG9hZENsaWVu
dDo6ZGlkQ29tbWl0TG9hZCgpCiB7CisgICAgbV93ZWJWaWV3LT5kX2Z1bmMoKS0+dmlld3BvcnRD
b250cm9sbGVyKCktPmRpZENvbW1pdExvYWQoKTsKICAgICBtX3dlYlZpZXctPmRfZnVuYygpLT5s
b2FkRGlkQ29tbWl0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9XZWJQYWdlUHJveHlRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2Vi
UGFnZVByb3h5UXQuY3BwCmluZGV4IGRlZDg4ZjhiODk2MWMwMWFkYjgwOGNhZWNjZjEwZTZkMjg3
ZTE0MTkuLjA2ZDgyOTAwOTUzNzBjZjE1ZDg0NzkxMGZmY2M1NTQzM2U0YTQ5ODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQYWdlUHJveHlRdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBhZ2VQcm94eVF0LmNwcApAQCAtOTMsNiAr
OTMsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNhbmNlbENvbXBvc2l0aW9uKCkKICAgICBwcm9j
ZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNhbmNlbENvbXBvc2l0aW9uKCksIG1fcGFn
ZUlEKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSkKK3sKKyAgICBtX3BhZ2VDbGllbnQtPmRpZFJlbmRl
ckZyYW1lKGNvbnRlbnRzU2l6ZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpyZWdpc3RlckFw
cGxpY2F0aW9uU2NoZW1lKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewogICAgIHByb2Nlc3MoKS0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVnaXN0ZXJBcHBsaWNhdGlvblNjaGVtZShzY2hlbWUp
LCBtX3BhZ2VJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVD
b29yZGluYXRvci5jcHAKaW5kZXggZDk3OWFkNzFjOWEwZTVkYzg0YzRmZmVkNzgxMDFiNmYyZjkw
N2MyOC4uMDhjNTEwYWFmY2YxZTMwZTNiOGFhNDMwMzY1ODhjOGY3MDJlYjhjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcApAQCAt
MjcyLDcgKzI3Miw5IEBAIGJvb2wgTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xh
eWVyQ2hhbmdlcygpCiAKICAgICBpZiAobV9zaG91bGRTeW5jRnJhbWUpIHsKICAgICAgICAgZGlk
U3luYyA9IHRydWU7Ci0gICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6TGF5ZXJUcmVl
Q29vcmRpbmF0b3JQcm94eTo6RGlkUmVuZGVyRnJhbWUoKSk7CisKKyAgICAgICAgSW50U2l6ZSBj
b250ZW50c1NpemUgPSByb3VuZGVkSW50U2l6ZShtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXIt
PnNpemUoKSk7CisgICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6TGF5ZXJUcmVlQ29v
cmRpbmF0b3JQcm94eTo6RGlkUmVuZGVyRnJhbWUoY29udGVudHNTaXplKSk7CiAgICAgICAgIG1f
d2FpdGluZ0ZvclVJUHJvY2VzcyA9IHRydWU7CiAgICAgICAgIG1fc2hvdWxkU3luY0ZyYW1lID0g
ZmFsc2U7CiAgICAgfQo=
</data>
<flag name="review"
          id="178170"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>