<?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>23388</bug_id>
          
          <creation_ts>2009-01-16 13:40:32 -0800</creation_ts>
          <short_desc>Remove FrameViewPrivate</short_desc>
          <delta_ts>2009-01-16 13:48:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Frames</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>106104</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-01-16 13:40:32 -0800</bug_when>
    <thetext>FrameViewPrivate is serving no purpose anymore and should be merged with FrameView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106106</commentid>
    <comment_count>1</comment_count>
      <attachid>26806</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-01-16 13:44:11 -0800</bug_when>
    <thetext>Created attachment 26806
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106107</commentid>
    <comment_count>2</comment_count>
      <attachid>26806</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-01-16 13:46:08 -0800</bug_when>
    <thetext>Comment on attachment 26806
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106108</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-01-16 13:48:48 -0800</bug_when>
    <thetext>Landed in r39983.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26806</attachid>
            <date>2009-01-16 13:44:11 -0800</date>
            <delta_ts>2009-01-16 13:46:08 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>40624</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM5OTgy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjUgQEAKKzIwMDktMDEt
MTYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzM4OAorICAgICAgICBSZW1vdmUgRnJhbWVWaWV3UHJpdmF0ZQor
CisgICAgICAgIFJlbW92ZXMgYW4gaW5kaXJlY3Rpb24gYW5kIGlzIGEgc21hbGwgc3BlZWR1cCBv
biBQTFQuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OkZyYW1lVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6On5G
cmFtZVZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjbGVhcik6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmRpZEZpcnN0TGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6aW5pdFNjcm9sbGJhcnMpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3Ojp1cGRhdGVEZWZhdWx0U2Nyb2xsYmFyU3RhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpzZXRDYW5IYXZlU2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpuZWVk
c0Z1bGxSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0Um9vdCk6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OnNldE1lZGlhVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
Om1lZGlhVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVzZVNsb3dSZXBhaW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFVzZVNsb3dSZXBhaW50cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkZFNsb3dSZXBhaW50T2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVtb3ZlU2xvd1JlcGFpbnRPYmplY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxSZWN0SW50b1ZpZXdSZWN1cnNpdmVseSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpiZWdpbkRlZmVycmVkUmVwYWludHMpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3OjplbmREZWZlcnJlZFJlcGFpbnRzKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNjaGVkdWxlUmVsYXlvdXRPZlN1YnRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpsYXlvdXRQZW5kaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bmVlZHNM
YXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp1bnNjaGVkdWxlUmVsYXlvdXQp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojppc1RyYW5zcGFyZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0VHJhbnNwYXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpiYXNlQmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6c2V0QmFzZUJhY2tncm91bmRDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6c2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4pOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpzY2hlZHVsZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
cGF1c2VTY2hlZHVsZWRFdmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXN1
bWVTY2hlZHVsZWRFdmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwZXJmb3Jt
UG9zdExheW91dFRhc2tzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlT3Zl
cmZsb3dTdGF0dXMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpkaXNwYXRjaFNjaGVk
dWxlZEV2ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Ondhc1Njcm9sbGVkQnlV
c2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0V2FzU2Nyb2xsZWRCeVVzZXIp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwYWludENvbnRlbnRzKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0UGFpbnRSZXN0cmljdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmlzUGFpbnRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpzZXROb2RlVG9EcmF3KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRJc1Zpc3VhbGx5Tm9uRW1wdHkpOiBJbmxpbmUuCisKIDIw
MDktMDEtMTQgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBwYWdlL0ZyYW1lVmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAzOTk3NCkKKysrIHBh
Z2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsMTE1ICs2MiwyNSBAQCBzdHJ1
Y3QgU2NoZWR1bGVkRXZlbnQgewogICAgIFJlZlB0cjxFdmVudFRhcmdldE5vZGU+IG1fZXZlbnRU
YXJnZXQ7CiB9OwogCi1jbGFzcyBGcmFtZVZpZXdQcml2YXRlIHsKLXB1YmxpYzoKLSAgICBGcmFt
ZVZpZXdQcml2YXRlKEZyYW1lVmlldyogdmlldykKLSAgICAgICAgOiBtX3Nsb3dSZXBhaW50T2Jq
ZWN0Q291bnQoMCkKLSAgICAgICAgLCBtX2xheW91dFRpbWVyKHZpZXcsICZGcmFtZVZpZXc6Omxh
eW91dFRpbWVyRmlyZWQpCi0gICAgICAgICwgbV9sYXlvdXRSb290KDApCi0gICAgICAgICwgbV9w
b3N0TGF5b3V0VGFza3NUaW1lcih2aWV3LCAmRnJhbWVWaWV3Ojpwb3N0TGF5b3V0VGltZXJGaXJl
ZCkKLSAgICAgICAgLCBtX21lZGlhVHlwZSgic2NyZWVuIikKLSAgICAgICAgLCBtX2VucXVldWVF
dmVudHMoMCkKLSAgICAgICAgLCBtX292ZXJmbG93U3RhdHVzRGlydHkodHJ1ZSkKLSAgICAgICAg
LCBtX3ZpZXdwb3J0UmVuZGVyZXIoMCkKLSAgICAgICAgLCBtX3dhc1Njcm9sbGVkQnlVc2VyKGZh
bHNlKQotICAgICAgICAsIG1faW5Qcm9ncmFtbWF0aWNTY3JvbGwoZmFsc2UpCi0gICAgICAgICwg
bV9zaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbih0cnVlKQotICAgIHsKLSAgICAgICAgbV9pc1Ry
YW5zcGFyZW50ID0gZmFsc2U7Ci0gICAgICAgIG1fYmFzZUJhY2tncm91bmRDb2xvciA9IENvbG9y
Ojp3aGl0ZTsKLSAgICAgICAgbV92bW9kZSA9IG1faG1vZGUgPSBTY3JvbGxiYXJBdXRvOwotICAg
ICAgICBtX25lZWRUb0luaXRTY3JvbGxiYXJzID0gdHJ1ZTsKLSAgICAgICAgcmVzZXQoKTsKLSAg
ICB9Ci0gICAgdm9pZCByZXNldCgpCi0gICAgewotICAgICAgICBtX3VzZVNsb3dSZXBhaW50cyA9
IGZhbHNlOwotICAgICAgICBtX2JvcmRlclggPSAzMDsKLSAgICAgICAgbV9ib3JkZXJZID0gMzA7
Ci0gICAgICAgIG1fbGF5b3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX2xheW91dFJvb3QgPSAw
OwotICAgICAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxzZTsKLSAgICAgICAgbV9kb0Z1bGxSZXBh
aW50ID0gdHJ1ZTsKLSAgICAgICAgbV9sYXlvdXRTY2hlZHVsaW5nRW5hYmxlZCA9IHRydWU7Ci0g
ICAgICAgIG1fbWlkTGF5b3V0ID0gZmFsc2U7Ci0gICAgICAgIG1fbGF5b3V0Q291bnQgPSAwOwot
ICAgICAgICBtX25lc3RlZExheW91dENvdW50ID0gMDsKLSAgICAgICAgbV9wb3N0TGF5b3V0VGFz
a3NUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1fZmlyc3RMYXlvdXQgPSB0cnVlOwotICAgICAgICBt
X2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gZmFsc2U7Ci0gICAgICAgIG1fd2FzU2Nyb2xs
ZWRCeVVzZXIgPSBmYWxzZTsKLSAgICAgICAgbV9sYXN0TGF5b3V0U2l6ZSA9IEludFNpemUoKTsK
LSAgICAgICAgbV9sYXN0Wm9vbUZhY3RvciA9IDEuMGY7Ci0gICAgICAgIG1fZGVmZXJyaW5nUmVw
YWludHMgPSAwOwotICAgICAgICBtX3JlcGFpbnRDb3VudCA9IDA7Ci0gICAgICAgIG1fcmVwYWlu
dFJlY3QgPSBJbnRSZWN0KCk7Ci0gICAgICAgIG1fcmVwYWludFJlY3RzLmNsZWFyKCk7Ci0gICAg
ICAgIG1fcGFpbnRSZXN0cmljdGlvbiA9IFBhaW50UmVzdHJpY3Rpb25Ob25lOwotICAgICAgICBt
X2lzUGFpbnRpbmcgPSBmYWxzZTsKLSAgICAgICAgbV9pc1Zpc3VhbGx5Tm9uRW1wdHkgPSBmYWxz
ZTsKLSAgICAgICAgbV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcg
PSB0cnVlOwotICAgIH0KLQotICAgIGJvb2wgbV9kb0Z1bGxSZXBhaW50OwotICAgIAotICAgIFNj
cm9sbGJhck1vZGUgbV92bW9kZTsKLSAgICBTY3JvbGxiYXJNb2RlIG1faG1vZGU7Ci0gICAgYm9v
bCBtX3VzZVNsb3dSZXBhaW50czsKLSAgICB1bnNpZ25lZCBtX3Nsb3dSZXBhaW50T2JqZWN0Q291
bnQ7Ci0KLSAgICBpbnQgbV9ib3JkZXJYLCBtX2JvcmRlclk7Ci0KLSAgICBUaW1lcjxGcmFtZVZp
ZXc+IG1fbGF5b3V0VGltZXI7Ci0gICAgYm9vbCBtX2RlbGF5ZWRMYXlvdXQ7Ci0gICAgUmVuZGVy
T2JqZWN0KiBtX2xheW91dFJvb3Q7Ci0gICAgCi0gICAgYm9vbCBtX2xheW91dFNjaGVkdWxpbmdF
bmFibGVkOwotICAgIGJvb2wgbV9taWRMYXlvdXQ7Ci0gICAgaW50IG1fbGF5b3V0Q291bnQ7Ci0g
ICAgdW5zaWduZWQgbV9uZXN0ZWRMYXlvdXRDb3VudDsKLSAgICBUaW1lcjxGcmFtZVZpZXc+IG1f
cG9zdExheW91dFRhc2tzVGltZXI7Ci0gICAgYm9vbCBtX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5k
aW5nOwotCi0gICAgYm9vbCBtX2ZpcnN0TGF5b3V0OwotICAgIGJvb2wgbV9uZWVkVG9Jbml0U2Ny
b2xsYmFyczsKLSAgICBib29sIG1faXNUcmFuc3BhcmVudDsKLSAgICBDb2xvciBtX2Jhc2VCYWNr
Z3JvdW5kQ29sb3I7Ci0gICAgSW50U2l6ZSBtX2xhc3RMYXlvdXRTaXplOwotICAgIGZsb2F0IG1f
bGFzdFpvb21GYWN0b3I7Ci0KLSAgICBTdHJpbmcgbV9tZWRpYVR5cGU7Ci0gICAgCi0gICAgdW5z
aWduZWQgbV9lbnF1ZXVlRXZlbnRzOwotICAgIFZlY3RvcjxTY2hlZHVsZWRFdmVudCo+IG1fc2No
ZWR1bGVkRXZlbnRzOwotICAgIAotICAgIGJvb2wgbV9vdmVyZmxvd1N0YXR1c0RpcnR5OwotICAg
IGJvb2wgbV9ob3Jpem9udGFsT3ZlcmZsb3c7Ci0gICAgYm9vbCBtX3ZlcnRpY2FsT3ZlcmZsb3c7
ICAgIAotICAgIFJlbmRlck9iamVjdCogbV92aWV3cG9ydFJlbmRlcmVyOwotCi0gICAgYm9vbCBt
X3dhc1Njcm9sbGVkQnlVc2VyOwotICAgIGJvb2wgbV9pblByb2dyYW1tYXRpY1Njcm9sbDsKLSAg
ICAKLSAgICB1bnNpZ25lZCBtX2RlZmVycmluZ1JlcGFpbnRzOwotICAgIHVuc2lnbmVkIG1fcmVw
YWludENvdW50OwotICAgIEludFJlY3QgbV9yZXBhaW50UmVjdDsKLSAgICBWZWN0b3I8SW50UmVj
dD4gbV9yZXBhaW50UmVjdHM7Ci0KLSAgICBib29sIG1fc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3Jl
ZW47Ci0KLSAgICBSZWZQdHI8Tm9kZT4gbV9ub2RlVG9EcmF3OwotICAgIFBhaW50UmVzdHJpY3Rp
b24gbV9wYWludFJlc3RyaWN0aW9uOwotICAgIGJvb2wgbV9pc1BhaW50aW5nOwotCi0gICAgYm9v
bCBtX2lzVmlzdWFsbHlOb25FbXB0eTsKLSAgICBib29sIG1fZmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0Q2FsbGJhY2tQZW5kaW5nOwotfTsKLQogRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUq
IGZyYW1lKQogICAgIDogbV9yZWZDb3VudCgxKQogICAgICwgbV9mcmFtZShmcmFtZSkKLSAgICAs
IGQobmV3IEZyYW1lVmlld1ByaXZhdGUodGhpcykpCisgICAgLCBtX3Ztb2RlKFNjcm9sbGJhckF1
dG8pCisgICAgLCBtX2htb2RlKFNjcm9sbGJhckF1dG8pCisgICAgLCBtX3Nsb3dSZXBhaW50T2Jq
ZWN0Q291bnQoMCkKKyAgICAsIG1fbGF5b3V0VGltZXIodGhpcywgJkZyYW1lVmlldzo6bGF5b3V0
VGltZXJGaXJlZCkKKyAgICAsIG1fbGF5b3V0Um9vdCgwKQorICAgICwgbV9wb3N0TGF5b3V0VGFz
a3NUaW1lcih0aGlzLCAmRnJhbWVWaWV3Ojpwb3N0TGF5b3V0VGltZXJGaXJlZCkKKyAgICAsIG1f
bmVlZFRvSW5pdFNjcm9sbGJhcnModHJ1ZSkKKyAgICAsIG1faXNUcmFuc3BhcmVudChmYWxzZSkK
KyAgICAsIG1fYmFzZUJhY2tncm91bmRDb2xvcihDb2xvcjo6d2hpdGUpCisgICAgLCBtX21lZGlh
VHlwZSgic2NyZWVuIikKKyAgICAsIG1fZW5xdWV1ZUV2ZW50cygwKQorICAgICwgbV9vdmVyZmxv
d1N0YXR1c0RpcnR5KHRydWUpCisgICAgLCBtX3ZpZXdwb3J0UmVuZGVyZXIoMCkKKyAgICAsIG1f
d2FzU2Nyb2xsZWRCeVVzZXIoZmFsc2UpCisgICAgLCBtX2luUHJvZ3JhbW1hdGljU2Nyb2xsKGZh
bHNlKQorICAgICwgbV9zaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbih0cnVlKQogewogICAgIGlu
aXQoKTsKICAgICBzaG93KCk7CkBAIC0xNzksNyArODksMjIgQEAgRnJhbWVWaWV3OjpGcmFtZVZp
ZXcoRnJhbWUqIGZyYW1lKQogRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUqIGZyYW1lLCBjb25z
dCBJbnRTaXplJiBpbml0aWFsU2l6ZSkKICAgICA6IG1fcmVmQ291bnQoMSkKICAgICAsIG1fZnJh
bWUoZnJhbWUpCi0gICAgLCBkKG5ldyBGcmFtZVZpZXdQcml2YXRlKHRoaXMpKQorICAgICwgbV92
bW9kZShTY3JvbGxiYXJBdXRvKQorICAgICwgbV9obW9kZShTY3JvbGxiYXJBdXRvKQorICAgICwg
bV9zbG93UmVwYWludE9iamVjdENvdW50KDApCisgICAgLCBtX2xheW91dFRpbWVyKHRoaXMsICZG
cmFtZVZpZXc6OmxheW91dFRpbWVyRmlyZWQpCisgICAgLCBtX2xheW91dFJvb3QoMCkKKyAgICAs
IG1fcG9zdExheW91dFRhc2tzVGltZXIodGhpcywgJkZyYW1lVmlldzo6cG9zdExheW91dFRpbWVy
RmlyZWQpCisgICAgLCBtX25lZWRUb0luaXRTY3JvbGxiYXJzKHRydWUpCisgICAgLCBtX2lzVHJh
bnNwYXJlbnQoZmFsc2UpCisgICAgLCBtX2Jhc2VCYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OndoaXRl
KQorICAgICwgbV9tZWRpYVR5cGUoInNjcmVlbiIpCisgICAgLCBtX2VucXVldWVFdmVudHMoMCkK
KyAgICAsIG1fb3ZlcmZsb3dTdGF0dXNEaXJ0eSh0cnVlKQorICAgICwgbV92aWV3cG9ydFJlbmRl
cmVyKDApCisgICAgLCBtX3dhc1Njcm9sbGVkQnlVc2VyKGZhbHNlKQorICAgICwgbV9pblByb2dy
YW1tYXRpY1Njcm9sbChmYWxzZSkKKyAgICAsIG1fc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4o
dHJ1ZSkKIHsKICAgICBpbml0KCk7CiAgICAgV2lkZ2V0OjpzZXRGcmFtZVJlY3QoSW50UmVjdCh4
KCksIHkoKSwgaW5pdGlhbFNpemUud2lkdGgoKSwgaW5pdGlhbFNpemUuaGVpZ2h0KCkpKTsKQEAg
LTE4OCwxMCArMTEzLDEwIEBAIEZyYW1lVmlldzo6RnJhbWVWaWV3KEZyYW1lKiBmcmFtZSwgY29u
c3QKIAogRnJhbWVWaWV3Ojp+RnJhbWVWaWV3KCkKIHsKLSAgICBpZiAoZC0+bV9wb3N0TGF5b3V0
VGFza3NUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGQtPm1fcG9zdExheW91dFRhc2tzVGlt
ZXIuc3RvcCgpOwotICAgICAgICBkLT5tX3NjaGVkdWxlZEV2ZW50cy5jbGVhcigpOwotICAgICAg
ICBkLT5tX2VucXVldWVFdmVudHMgPSAwOworICAgIGlmIChtX3Bvc3RMYXlvdXRUYXNrc1RpbWVy
LmlzQWN0aXZlKCkpIHsKKyAgICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdG9wKCk7Cisg
ICAgICAgIG1fc2NoZWR1bGVkRXZlbnRzLmNsZWFyKCk7CisgICAgICAgIG1fZW5xdWV1ZUV2ZW50
cyA9IDA7CiAgICAgfQogCiAgICAgcmVzZXRTY3JvbGxiYXJzKCk7CkBAIC0xOTksOCArMTI0LDgg
QEAgRnJhbWVWaWV3Ojp+RnJhbWVWaWV3KCkKICAgICBzZXRIYXNWZXJ0aWNhbFNjcm9sbGJhcihm
YWxzZSk7CiAgICAgCiAgICAgQVNTRVJUKG1fcmVmQ291bnQgPT0gMCk7Ci0gICAgQVNTRVJUKGQt
Pm1fc2NoZWR1bGVkRXZlbnRzLmlzRW1wdHkoKSk7Ci0gICAgQVNTRVJUKCFkLT5tX2VucXVldWVF
dmVudHMpOworICAgIEFTU0VSVChtX3NjaGVkdWxlZEV2ZW50cy5pc0VtcHR5KCkpOworICAgIEFT
U0VSVCghbV9lbnF1ZXVlRXZlbnRzKTsKIAogICAgIGlmIChtX2ZyYW1lKSB7CiAgICAgICAgIEFT
U0VSVChtX2ZyYW1lLT52aWV3KCkgIT0gdGhpcyB8fCAhbV9mcmFtZS0+ZG9jdW1lbnQoKSB8fCAh
bV9mcmFtZS0+Y29udGVudFJlbmRlcmVyKCkpOwpAQCAtMjA4LDkgKzEzMywzNSBAQCBGcmFtZVZp
ZXc6On5GcmFtZVZpZXcoKQogICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVyZXItPndpZGdl
dCgpID09IHRoaXMpCiAgICAgICAgICAgICByZW5kZXJlci0+c2V0V2lkZ2V0KDApOwogICAgIH0K
K30KIAotICAgIGRlbGV0ZSBkOwotICAgIGQgPSAwOwordm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkK
K3sKKyAgICBtX3VzZVNsb3dSZXBhaW50cyA9IGZhbHNlOworICAgIG1fYm9yZGVyWCA9IDMwOwor
ICAgIG1fYm9yZGVyWSA9IDMwOworICAgIG1fbGF5b3V0VGltZXIuc3RvcCgpOworICAgIG1fbGF5
b3V0Um9vdCA9IDA7CisgICAgbV9kZWxheWVkTGF5b3V0ID0gZmFsc2U7CisgICAgbV9kb0Z1bGxS
ZXBhaW50ID0gdHJ1ZTsKKyAgICBtX2xheW91dFNjaGVkdWxpbmdFbmFibGVkID0gdHJ1ZTsKKyAg
ICBtX21pZExheW91dCA9IGZhbHNlOworICAgIG1fbGF5b3V0Q291bnQgPSAwOworICAgIG1fbmVz
dGVkTGF5b3V0Q291bnQgPSAwOworICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RvcCgpOwor
ICAgIG1fZmlyc3RMYXlvdXQgPSB0cnVlOworICAgIG1fZmlyc3RMYXlvdXRDYWxsYmFja1BlbmRp
bmcgPSBmYWxzZTsKKyAgICBtX3dhc1Njcm9sbGVkQnlVc2VyID0gZmFsc2U7CisgICAgbV9sYXN0
TGF5b3V0U2l6ZSA9IEludFNpemUoKTsKKyAgICBtX2xhc3Rab29tRmFjdG9yID0gMS4wZjsKKyAg
ICBtX2RlZmVycmluZ1JlcGFpbnRzID0gMDsKKyAgICBtX3JlcGFpbnRDb3VudCA9IDA7CisgICAg
bV9yZXBhaW50UmVjdCA9IEludFJlY3QoKTsKKyAgICBtX3JlcGFpbnRSZWN0cy5jbGVhcigpOwor
ICAgIG1fcGFpbnRSZXN0cmljdGlvbiA9IFBhaW50UmVzdHJpY3Rpb25Ob25lOworICAgIG1faXNQ
YWludGluZyA9IGZhbHNlOworICAgIG1faXNWaXN1YWxseU5vbkVtcHR5ID0gZmFsc2U7CisgICAg
bV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSB0cnVlOwogfQog
CiBib29sIEZyYW1lVmlldzo6aXNGcmFtZVZpZXcoKSBjb25zdCAKQEAgLTIyNiwxNCArMTc3LDE2
IEBAIHZvaWQgRnJhbWVWaWV3OjpjbGVhckZyYW1lKCkKIHZvaWQgRnJhbWVWaWV3OjpyZXNldFNj
cm9sbGJhcnMoKQogewogICAgIC8vIFJlc2V0IHRoZSBkb2N1bWVudCdzIHNjcm9sbGJhcnMgYmFj
ayB0byBvdXIgZGVmYXVsdHMgYmVmb3JlIHdlIHlpZWxkIHRoZSBmbG9vci4KLSAgICBkLT5tX2Zp
cnN0TGF5b3V0ID0gdHJ1ZTsKKyAgICBtX2ZpcnN0TGF5b3V0ID0gdHJ1ZTsKICAgICBzZXRTY3Jv
bGxiYXJzU3VwcHJlc3NlZCh0cnVlKTsKLSAgICBzZXRTY3JvbGxiYXJNb2RlcyhkLT5tX2htb2Rl
LCBkLT5tX3Ztb2RlKTsKKyAgICBzZXRTY3JvbGxiYXJNb2RlcyhtX2htb2RlLCBtX3Ztb2RlKTsK
ICAgICBzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZChmYWxzZSk7CiB9CiAKIHZvaWQgRnJhbWVWaWV3
Ojppbml0KCkKIHsKKyAgICByZXNldCgpOworCiAgICAgbV9tYXJnaW5zID0gSW50U2l6ZSgtMSwg
LTEpOyAvLyB1bmRlZmluZWQKICAgICBtX3NpemUgPSBJbnRTaXplKCk7CiAKQEAgLTI1NiwzMyAr
MjA5LDM0IEBAIHZvaWQgRnJhbWVWaWV3OjpjbGVhcigpCiB7CiAgICAgc2V0Q2FuQmxpdE9uU2Ny
b2xsKHRydWUpOwogICAgIAotICAgIGQtPnJlc2V0KCk7CisgICAgcmVzZXQoKTsKIAotICAgIGlm
IChtX2ZyYW1lKQorICAgIGlmIChtX2ZyYW1lKSB7CiAgICAgICAgIGlmIChSZW5kZXJQYXJ0KiBy
ZW5kZXJlciA9IG1fZnJhbWUtPm93bmVyUmVuZGVyZXIoKSkKICAgICAgICAgICAgIHJlbmRlcmVy
LT52aWV3Q2xlYXJlZCgpOworICAgIH0KIAogICAgIHNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKHRy
dWUpOwogfQogCiBib29sIEZyYW1lVmlldzo6ZGlkRmlyc3RMYXlvdXQoKSBjb25zdAogewotICAg
IHJldHVybiAhZC0+bV9maXJzdExheW91dDsKKyAgICByZXR1cm4gIW1fZmlyc3RMYXlvdXQ7CiB9
CiAKIHZvaWQgRnJhbWVWaWV3Ojppbml0U2Nyb2xsYmFycygpCiB7Ci0gICAgaWYgKCFkLT5tX25l
ZWRUb0luaXRTY3JvbGxiYXJzKQorICAgIGlmICghbV9uZWVkVG9Jbml0U2Nyb2xsYmFycykKICAg
ICAgICAgcmV0dXJuOwotICAgIGQtPm1fbmVlZFRvSW5pdFNjcm9sbGJhcnMgPSBmYWxzZTsKKyAg
ICBtX25lZWRUb0luaXRTY3JvbGxiYXJzID0gZmFsc2U7CiAgICAgdXBkYXRlRGVmYXVsdFNjcm9s
bGJhclN0YXRlKCk7CiB9CiAKIHZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVEZWZhdWx0U2Nyb2xsYmFy
U3RhdGUoKQogewotICAgIGQtPm1faG1vZGUgPSBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgpOwot
ICAgIGQtPm1fdm1vZGUgPSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUoKTsKLSAgICBzZXRTY3JvbGxi
YXJNb2RlcyhkLT5tX2htb2RlLCBkLT5tX3Ztb2RlKTsKKyAgICBtX2htb2RlID0gaG9yaXpvbnRh
bFNjcm9sbGJhck1vZGUoKTsKKyAgICBtX3Ztb2RlID0gdmVydGljYWxTY3JvbGxiYXJNb2RlKCk7
CisgICAgc2V0U2Nyb2xsYmFyTW9kZXMobV9obW9kZSwgbV92bW9kZSk7CiB9CiAKIHZvaWQgRnJh
bWVWaWV3OjppbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KQpAQCAtMzIxLDcgKzI3
NSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRNYXJnaW5IZWlnaHQoaW50IGgpCiB2b2lkIEZyYW1l
Vmlldzo6c2V0Q2FuSGF2ZVNjcm9sbGJhcnMoYm9vbCBjYW5TY3JvbGwpCiB7CiAgICAgU2Nyb2xs
Vmlldzo6c2V0Q2FuSGF2ZVNjcm9sbGJhcnMoY2FuU2Nyb2xsKTsKLSAgICBzY3JvbGxiYXJNb2Rl
cyhkLT5tX2htb2RlLCBkLT5tX3Ztb2RlKTsKKyAgICBzY3JvbGxiYXJNb2RlcyhtX2htb2RlLCBt
X3Ztb2RlKTsKIH0KIAogUGFzc1JlZlB0cjxTY3JvbGxiYXI+IEZyYW1lVmlldzo6Y3JlYXRlU2Ny
b2xsYmFyKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKQpAQCAtNDA2LDMxICszNjAs
MzEgQEAgdm9pZCBGcmFtZVZpZXc6OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KAogICAgICAgICAg
ICAgOwogICAgIH0KIAotICAgIGQtPm1fdmlld3BvcnRSZW5kZXJlciA9IG87CisgICAgbV92aWV3
cG9ydFJlbmRlcmVyID0gbzsKIH0KIAogaW50IEZyYW1lVmlldzo6bGF5b3V0Q291bnQoKSBjb25z
dAogewotICAgIHJldHVybiBkLT5tX2xheW91dENvdW50OworICAgIHJldHVybiBtX2xheW91dENv
dW50OwogfQogCiBib29sIEZyYW1lVmlldzo6bmVlZHNGdWxsUmVwYWludCgpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIGQtPm1fZG9GdWxsUmVwYWludDsKKyAgICByZXR1cm4gbV9kb0Z1bGxSZXBhaW50
OwogfQogCiBSZW5kZXJPYmplY3QqIEZyYW1lVmlldzo6bGF5b3V0Um9vdChib29sIG9ubHlEdXJp
bmdMYXlvdXQpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG9ubHlEdXJpbmdMYXlvdXQgJiYgbGF5b3V0
UGVuZGluZygpID8gMCA6IGQtPm1fbGF5b3V0Um9vdDsKKyAgICByZXR1cm4gb25seUR1cmluZ0xh
eW91dCAmJiBsYXlvdXRQZW5kaW5nKCkgPyAwIDogbV9sYXlvdXRSb290OwogfQogCiB2b2lkIEZy
YW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogewotICAgIGlmIChkLT5tX21pZExh
eW91dCkKKyAgICBpZiAobV9taWRMYXlvdXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGQtPm1f
bGF5b3V0VGltZXIuc3RvcCgpOwotICAgIGQtPm1fZGVsYXllZExheW91dCA9IGZhbHNlOworICAg
IG1fbGF5b3V0VGltZXIuc3RvcCgpOworICAgIG1fZGVsYXllZExheW91dCA9IGZhbHNlOwogCiAg
ICAgLy8gUHJvdGVjdCB0aGUgdmlldyBmcm9tIGJlaW5nIGRlbGV0ZWQgZHVyaW5nIGxheW91dCAo
aW4gcmVjYWxjU3R5bGUpCiAgICAgUmVmUHRyPEZyYW1lVmlldz4gcHJvdGVjdG9yKHRoaXMpOwpA
QCAtNDQ3LDkgKzQwMSw5IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRy
ZWUKICAgICBpZiAoaXNQYWludGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWFs
bG93U3VidHJlZSAmJiBkLT5tX2xheW91dFJvb3QpIHsKLSAgICAgICAgZC0+bV9sYXlvdXRSb290
LT5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChmYWxzZSk7Ci0gICAgICAgIGQtPm1fbGF5
b3V0Um9vdCA9IDA7CisgICAgaWYgKCFhbGxvd1N1YnRyZWUgJiYgbV9sYXlvdXRSb290KSB7Cisg
ICAgICAgIG1fbGF5b3V0Um9vdC0+bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoZmFsc2Up
OworICAgICAgICBtX2xheW91dFJvb3QgPSAwOwogICAgIH0KIAogICAgIEFTU0VSVChtX2ZyYW1l
LT52aWV3KCkgPT0gdGhpcyk7CkBAIC00NjYsMTIgKzQyMCwxMiBAQCB2b2lkIEZyYW1lVmlldzo6
bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBk
LT5tX2xheW91dFNjaGVkdWxpbmdFbmFibGVkID0gZmFsc2U7CisgICAgbV9sYXlvdXRTY2hlZHVs
aW5nRW5hYmxlZCA9IGZhbHNlOwogCi0gICAgaWYgKCFkLT5tX25lc3RlZExheW91dENvdW50ICYm
IGQtPm1fcG9zdExheW91dFRhc2tzVGltZXIuaXNBY3RpdmUoKSkgeworICAgIGlmICghbV9uZXN0
ZWRMYXlvdXRDb3VudCAmJiBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLmlzQWN0aXZlKCkpIHsKICAg
ICAgICAgLy8gVGhpcyBpcyBhIG5ldyB0b3AtbGV2ZWwgbGF5b3V0LiBJZiB0aGVyZSBhcmUgYW55
IHJlbWFpbmluZyB0YXNrcyBmcm9tIHRoZSBwcmV2aW91cwogICAgICAgICAvLyBsYXlvdXQsIGZp
bmlzaCB0aGVtIG5vdy4KLSAgICAgICAgZC0+bV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdG9wKCk7
CisgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RvcCgpOwogICAgICAgICBwZXJmb3Jt
UG9zdExheW91dFRhc2tzKCk7CiAgICAgfQogCkBAIC00ODcsMjQgKzQ0MSwyNCBAQCB2b2lkIEZy
YW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlCiAgICAgZWxzZSBpZiAoZG9jdW1lbnQt
Pmhhc0NoYW5nZWRDaGlsZCgpKQogICAgICAgICBkb2N1bWVudC0+cmVjYWxjU3R5bGUoKTsKICAg
ICAKLSAgICBib29sIHN1YnRyZWUgPSBkLT5tX2xheW91dFJvb3Q7CisgICAgYm9vbCBzdWJ0cmVl
ID0gbV9sYXlvdXRSb290OwogCiAgICAgLy8gSWYgdGhlcmUgaXMgb25seSBvbmUgcmVmIHRvIHRo
aXMgdmlldyBsZWZ0LCB0aGVuIGl0cyBnb2luZyB0byBiZSBkZXN0cm95ZWQgYXMgc29vbiBhcyB3
ZSBleGl0LCAKICAgICAvLyBzbyB0aGVyZSdzIG5vIHBvaW50IHRvIGNvbnRpbnVpbmcgdG8gbGF5
b3V0CiAgICAgaWYgKHByb3RlY3Rvci0+aGFzT25lUmVmKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFJlbmRlck9iamVjdCogcm9vdCA9IHN1YnRyZWUgPyBkLT5tX2xheW91dFJvb3QgOiBkb2N1
bWVudC0+cmVuZGVyZXIoKTsKKyAgICBSZW5kZXJPYmplY3QqIHJvb3QgPSBzdWJ0cmVlID8gbV9s
YXlvdXRSb290IDogZG9jdW1lbnQtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyb290KSB7CiAgICAg
ICAgIC8vIEZJWE1FOiBEbyB3ZSBuZWVkIHRvIHNldCBtX3NpemUgaGVyZT8KLSAgICAgICAgZC0+
bV9sYXlvdXRTY2hlZHVsaW5nRW5hYmxlZCA9IHRydWU7CisgICAgICAgIG1fbGF5b3V0U2NoZWR1
bGluZ0VuYWJsZWQgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgZC0+bV9u
ZXN0ZWRMYXlvdXRDb3VudCsrOworICAgIG1fbmVzdGVkTGF5b3V0Q291bnQrKzsKIAotICAgIFNj
cm9sbGJhck1vZGUgaE1vZGUgPSBkLT5tX2htb2RlOwotICAgIFNjcm9sbGJhck1vZGUgdk1vZGUg
PSBkLT5tX3Ztb2RlOworICAgIFNjcm9sbGJhck1vZGUgaE1vZGUgPSBtX2htb2RlOworICAgIFNj
cm9sbGJhck1vZGUgdk1vZGUgPSBtX3Ztb2RlOwogCiAgICAgaWYgKCFzdWJ0cmVlKSB7CiAgICAg
ICAgIFJlbmRlck9iamVjdCogcm9vdFJlbmRlcmVyID0gZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVu
dCgpID8gZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpIDogMDsKQEAgLTUx
NSw3ICs0NjksNyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlCiAg
ICAgICAgICAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CiAgICAgICAgICAgICAg
ICAgaE1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGJv
ZHktPmhhc1RhZ05hbWUoYm9keVRhZykpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWQtPm1fZmly
c3RMYXlvdXQgJiYgbV9zaXplLmhlaWdodCgpICE9IGxheW91dEhlaWdodCgpCisgICAgICAgICAg
ICAgICAgaWYgKCFtX2ZpcnN0TGF5b3V0ICYmIG1fc2l6ZS5oZWlnaHQoKSAhPSBsYXlvdXRIZWln
aHQoKQogICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3RhdGljX2Nhc3Q8UmVuZGVyQm94Kj4o
Ym9keS0+cmVuZGVyZXIoKSktPnN0cmV0Y2hlc1RvVmlld0hlaWdodCgpKQogICAgICAgICAgICAg
ICAgICAgICBib2R5LT5yZW5kZXJlcigpLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUpOwogICAg
ICAgICAgICAgICAgIC8vIEl0J3Mgc3VmZmljaWVudCB0byBqdXN0IGNoZWNrIHRoZSBYIG92ZXJm
bG93LApAQCAtNTI2LDI1ICs0ODAsMjUgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFs
bG93U3VidHJlZQogICAgICAgICB9IGVsc2UgaWYgKHJvb3RSZW5kZXJlcikKICAgICAgICAgICAg
IGFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KHJvb3RSZW5kZXJlciwgaE1vZGUsIHZNb2RlKTsKICNp
ZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVMSU5HCi0gICAgICAgIGlmIChkLT5tX2ZpcnN0
TGF5b3V0ICYmICFkb2N1bWVudC0+b3duZXJFbGVtZW50KCkpCisgICAgICAgIGlmIChtX2ZpcnN0
TGF5b3V0ICYmICFkb2N1bWVudC0+b3duZXJFbGVtZW50KCkpCiAgICAgICAgICAgICBwcmludGYo
IkVsYXBzZWQgdGltZSBiZWZvcmUgZmlyc3QgbGF5b3V0OiAlZFxuIiwgZG9jdW1lbnQtPmVsYXBz
ZWRUaW1lKCkpOwogI2VuZGlmCiAgICAgfQogCi0gICAgZC0+bV9kb0Z1bGxSZXBhaW50ID0gIXN1
YnRyZWUgJiYgKGQtPm1fZmlyc3RMYXlvdXQgfHwgc3RhdGljX2Nhc3Q8UmVuZGVyVmlldyo+KHJv
b3QpLT5wcmludGluZygpKTsKKyAgICBtX2RvRnVsbFJlcGFpbnQgPSAhc3VidHJlZSAmJiAobV9m
aXJzdExheW91dCB8fCBzdGF0aWNfY2FzdDxSZW5kZXJWaWV3Kj4ocm9vdCktPnByaW50aW5nKCkp
OwogCiAgICAgaWYgKCFzdWJ0cmVlKSB7CiAgICAgICAgIC8vIE5vdyBzZXQgb3VyIHNjcm9sbGJh
ciBzdGF0ZSBmb3IgdGhlIGxheW91dC4KICAgICAgICAgU2Nyb2xsYmFyTW9kZSBjdXJyZW50SE1v
ZGUgPSBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgpOwogICAgICAgICBTY3JvbGxiYXJNb2RlIGN1
cnJlbnRWTW9kZSA9IHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgpOwogCi0gICAgICAgIGlmIChkLT5t
X2ZpcnN0TGF5b3V0IHx8IChoTW9kZSAhPSBjdXJyZW50SE1vZGUgfHwgdk1vZGUgIT0gY3VycmVu
dFZNb2RlKSkgeworICAgICAgICBpZiAobV9maXJzdExheW91dCB8fCAoaE1vZGUgIT0gY3VycmVu
dEhNb2RlIHx8IHZNb2RlICE9IGN1cnJlbnRWTW9kZSkpIHsKICAgICAgICAgICAgIHNldFNjcm9s
bGJhcnNTdXBwcmVzc2VkKHRydWUpOwotICAgICAgICAgICAgaWYgKGQtPm1fZmlyc3RMYXlvdXQp
IHsKLSAgICAgICAgICAgICAgICBkLT5tX2ZpcnN0TGF5b3V0ID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgZC0+bV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9IHRydWU7Ci0gICAgICAgICAg
ICAgICAgZC0+bV9sYXN0TGF5b3V0U2l6ZSA9IEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpOwot
ICAgICAgICAgICAgICAgIGQtPm1fbGFzdFpvb21GYWN0b3IgPSByb290LT5zdHlsZSgpLT56b29t
KCk7CisgICAgICAgICAgICBpZiAobV9maXJzdExheW91dCkgeworICAgICAgICAgICAgICAgIG1f
Zmlyc3RMYXlvdXQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBtX2ZpcnN0TGF5b3V0Q2FsbGJh
Y2tQZW5kaW5nID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBtX2xhc3RMYXlvdXRTaXplID0gSW50
U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgbV9sYXN0Wm9vbUZhY3Rv
ciA9IHJvb3QtPnN0eWxlKCktPnpvb20oKTsKIAogICAgICAgICAgICAgICAgIC8vIFNldCB0aGUg
aW5pdGlhbCB2TW9kZSB0byBBbHdheXNPbiBpZiB3ZSdyZSBhdXRvLgogICAgICAgICAgICAgICAg
IGlmICh2TW9kZSA9PSBTY3JvbGxiYXJBdXRvKQpAQCAtNTYyLDcgKzUxNiw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUKICAgICAgICAgbV9zaXplID0gSW50U2l6
ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQoKSk7CiAKICAgICAgICAgaWYgKG9sZFNpemUg
IT0gbV9zaXplKQotICAgICAgICAgICAgZC0+bV9kb0Z1bGxSZXBhaW50ID0gdHJ1ZTsKKyAgICAg
ICAgICAgIG1fZG9GdWxsUmVwYWludCA9IHRydWU7CiAgICAgfQogCiAgICAgUmVuZGVyTGF5ZXIq
IGxheWVyID0gcm9vdC0+ZW5jbG9zaW5nTGF5ZXIoKTsKQEAgLTU3MiwyOSArNTI2LDI5IEBAIHZv
aWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUKICAgICBpZiAoc3VidHJlZSkK
ICAgICAgICAgcm9vdC0+dmlldygpLT5wdXNoTGF5b3V0U3RhdGUocm9vdCk7CiAgICAgICAgIAot
ICAgIGQtPm1fbWlkTGF5b3V0ID0gdHJ1ZTsKKyAgICBtX21pZExheW91dCA9IHRydWU7CiAgICAg
YmVnaW5EZWZlcnJlZFJlcGFpbnRzKCk7CiAgICAgcm9vdC0+bGF5b3V0KCk7CiAgICAgZW5kRGVm
ZXJyZWRSZXBhaW50cygpOwotICAgIGQtPm1fbWlkTGF5b3V0ID0gZmFsc2U7CisgICAgbV9taWRM
YXlvdXQgPSBmYWxzZTsKIAogICAgIGlmIChzdWJ0cmVlKQogICAgICAgICByb290LT52aWV3KCkt
PnBvcExheW91dFN0YXRlKCk7Ci0gICAgZC0+bV9sYXlvdXRSb290ID0gMDsKKyAgICBtX2xheW91
dFJvb3QgPSAwOwogCiAgICAgbV9mcmFtZS0+aW52YWxpZGF0ZVNlbGVjdGlvbigpOwogICAgCi0g
ICAgZC0+bV9sYXlvdXRTY2hlZHVsaW5nRW5hYmxlZCA9IHRydWU7CisgICAgbV9sYXlvdXRTY2hl
ZHVsaW5nRW5hYmxlZCA9IHRydWU7CiAKICAgICBpZiAoIXN1YnRyZWUgJiYgIXN0YXRpY19jYXN0
PFJlbmRlclZpZXcqPihyb290KS0+cHJpbnRpbmcoKSkKICAgICAgICAgYWRqdXN0Vmlld1NpemUo
KTsKIAogICAgIC8vIE5vdyB1cGRhdGUgdGhlIHBvc2l0aW9ucyBvZiBhbGwgbGF5ZXJzLgogICAg
IGJlZ2luRGVmZXJyZWRSZXBhaW50cygpOwotICAgIGxheWVyLT51cGRhdGVMYXllclBvc2l0aW9u
cyhkLT5tX2RvRnVsbFJlcGFpbnQpOworICAgIGxheWVyLT51cGRhdGVMYXllclBvc2l0aW9ucyht
X2RvRnVsbFJlcGFpbnQpOwogICAgIGVuZERlZmVycmVkUmVwYWludHMoKTsKICAgICAKLSAgICBk
LT5tX2xheW91dENvdW50Kys7CisgICAgbV9sYXlvdXRDb3VudCsrOwogCiAjaWYgUExBVEZPUk0o
TUFDKQogICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQpAQCAt
NjEyLDcgKzU2Niw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUK
ICAgICAgICAgdXBkYXRlT3ZlcmZsb3dTdGF0dXMobGF5b3V0V2lkdGgoKSA8IGNvbnRlbnRzV2lk
dGgoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0SGVpZ2h0KCkgPCBjb250
ZW50c0hlaWdodCgpKTsKIAotICAgIGlmICghZC0+bV9wb3N0TGF5b3V0VGFza3NUaW1lci5pc0Fj
dGl2ZSgpKSB7CisgICAgaWYgKCFtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLmlzQWN0aXZlKCkpIHsK
ICAgICAgICAgLy8gQ2FsbHMgcmVzdW1lU2NoZWR1bGVkRXZlbnRzKCkKICAgICAgICAgcGVyZm9y
bVBvc3RMYXlvdXRUYXNrcygpOwogCkBAIC02MjAsMTYgKzU3NCwxNiBAQCB2b2lkIEZyYW1lVmll
dzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlCiAgICAgICAgICAgICAvLyBQb3N0LWxheW91dCB3
aWRnZXQgdXBkYXRlcyBvciBhbiBldmVudCBoYW5kbGVyIG1hZGUgdXMgbmVlZCBsYXlvdXQgYWdh
aW4uCiAgICAgICAgICAgICAvLyBMYXkgb3V0IGFnYWluLCBidXQgdGhpcyB0aW1lIGRlZmVyIHdp
ZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlcgogICAgICAgICAgICAg
Ly8gd2UgcmV0dXJuLgotICAgICAgICAgICAgZC0+bV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKICAgICAgICAgICAgIHBhdXNlU2NoZWR1bGVkRXZlbnRzKCk7CiAgICAgICAgICAg
ICBsYXlvdXQoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIHJlc3VtZVNjaGVk
dWxlZEV2ZW50cygpOwotICAgICAgICBBU1NFUlQoZC0+bV9lbnF1ZXVlRXZlbnRzKTsKKyAgICAg
ICAgQVNTRVJUKG1fZW5xdWV1ZUV2ZW50cyk7CiAgICAgfQogCi0gICAgZC0+bV9uZXN0ZWRMYXlv
dXRDb3VudC0tOworICAgIG1fbmVzdGVkTGF5b3V0Q291bnQtLTsKIH0KIAogdm9pZCBGcmFtZVZp
ZXc6OmFkZFdpZGdldFRvVXBkYXRlKFJlbmRlclBhcnRPYmplY3QqIG9iamVjdCkKQEAgLTY1MCw3
ICs2MDQsNyBAQCB2b2lkIEZyYW1lVmlldzo6cmVtb3ZlV2lkZ2V0VG9VcGRhdGUoUmVuCiAKIHZv
aWQgRnJhbWVWaWV3OjpzZXRNZWRpYVR5cGUoY29uc3QgU3RyaW5nJiBtZWRpYVR5cGUpCiB7Ci0g
ICAgZC0+bV9tZWRpYVR5cGUgPSBtZWRpYVR5cGU7CisgICAgbV9tZWRpYVR5cGUgPSBtZWRpYVR5
cGU7CiB9CiAKIFN0cmluZyBGcmFtZVZpZXc6Om1lZGlhVHlwZSgpIGNvbnN0CkBAIC02NTksMzMg
KzYxMywzMyBAQCBTdHJpbmcgRnJhbWVWaWV3OjptZWRpYVR5cGUoKSBjb25zdAogICAgIFN0cmlu
ZyBvdmVycmlkZVR5cGUgPSBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPm92ZXJyaWRlTWVk
aWFUeXBlKCk7CiAgICAgaWYgKCFvdmVycmlkZVR5cGUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVy
biBvdmVycmlkZVR5cGU7Ci0gICAgcmV0dXJuIGQtPm1fbWVkaWFUeXBlOworICAgIHJldHVybiBt
X21lZGlhVHlwZTsKIH0KIAogYm9vbCBGcmFtZVZpZXc6OnVzZVNsb3dSZXBhaW50cygpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIGQtPm1fdXNlU2xvd1JlcGFpbnRzIHx8IGQtPm1fc2xvd1JlcGFpbnRP
YmplY3RDb3VudCA+IDA7CisgICAgcmV0dXJuIG1fdXNlU2xvd1JlcGFpbnRzIHx8IG1fc2xvd1Jl
cGFpbnRPYmplY3RDb3VudCA+IDA7CiB9CiAKIHZvaWQgRnJhbWVWaWV3OjpzZXRVc2VTbG93UmVw
YWludHMoKQogewotICAgIGQtPm1fdXNlU2xvd1JlcGFpbnRzID0gdHJ1ZTsKKyAgICBtX3VzZVNs
b3dSZXBhaW50cyA9IHRydWU7CiAgICAgc2V0Q2FuQmxpdE9uU2Nyb2xsKGZhbHNlKTsKIH0KIAog
dm9pZCBGcmFtZVZpZXc6OmFkZFNsb3dSZXBhaW50T2JqZWN0KCkKIHsKLSAgICBpZiAoIWQtPm1f
c2xvd1JlcGFpbnRPYmplY3RDb3VudCkKKyAgICBpZiAoIW1fc2xvd1JlcGFpbnRPYmplY3RDb3Vu
dCkKICAgICAgICAgc2V0Q2FuQmxpdE9uU2Nyb2xsKGZhbHNlKTsKLSAgICBkLT5tX3Nsb3dSZXBh
aW50T2JqZWN0Q291bnQrKzsKKyAgICBtX3Nsb3dSZXBhaW50T2JqZWN0Q291bnQrKzsKIH0KIAog
dm9pZCBGcmFtZVZpZXc6OnJlbW92ZVNsb3dSZXBhaW50T2JqZWN0KCkKIHsKLSAgICBBU1NFUlQo
ZC0+bV9zbG93UmVwYWludE9iamVjdENvdW50ID4gMCk7Ci0gICAgZC0+bV9zbG93UmVwYWludE9i
amVjdENvdW50LS07Ci0gICAgaWYgKCFkLT5tX3Nsb3dSZXBhaW50T2JqZWN0Q291bnQpCi0gICAg
ICAgIHNldENhbkJsaXRPblNjcm9sbCghZC0+bV91c2VTbG93UmVwYWludHMpOworICAgIEFTU0VS
VChtX3Nsb3dSZXBhaW50T2JqZWN0Q291bnQgPiAwKTsKKyAgICBtX3Nsb3dSZXBhaW50T2JqZWN0
Q291bnQtLTsKKyAgICBpZiAoIW1fc2xvd1JlcGFpbnRPYmplY3RDb3VudCkKKyAgICAgICAgc2V0
Q2FuQmxpdE9uU2Nyb2xsKCFtX3VzZVNsb3dSZXBhaW50cyk7CiB9CiAKIHZvaWQgRnJhbWVWaWV3
OjpyZXN0b3JlU2Nyb2xsYmFyKCkKQEAgLTY5NSwxOCArNjQ5LDE4IEBAIHZvaWQgRnJhbWVWaWV3
OjpyZXN0b3JlU2Nyb2xsYmFyKCkKIAogdm9pZCBGcmFtZVZpZXc6OnNjcm9sbFJlY3RJbnRvVmll
d1JlY3Vyc2l2ZWx5KGNvbnN0IEludFJlY3QmIHIpCiB7Ci0gICAgYm9vbCB3YXNJblByb2dyYW1t
YXRpY1Njcm9sbCA9IGQtPm1faW5Qcm9ncmFtbWF0aWNTY3JvbGw7Ci0gICAgZC0+bV9pblByb2dy
YW1tYXRpY1Njcm9sbCA9IHRydWU7CisgICAgYm9vbCB3YXNJblByb2dyYW1tYXRpY1Njcm9sbCA9
IG1faW5Qcm9ncmFtbWF0aWNTY3JvbGw7CisgICAgbV9pblByb2dyYW1tYXRpY1Njcm9sbCA9IHRy
dWU7CiAgICAgU2Nyb2xsVmlldzo6c2Nyb2xsUmVjdEludG9WaWV3UmVjdXJzaXZlbHkocik7Ci0g
ICAgZC0+bV9pblByb2dyYW1tYXRpY1Njcm9sbCA9IHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsOwor
ICAgIG1faW5Qcm9ncmFtbWF0aWNTY3JvbGwgPSB3YXNJblByb2dyYW1tYXRpY1Njcm9sbDsKIH0K
IAogdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBzY3Jv
bGxQb2ludCkKIHsKLSAgICBib29sIHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0gZC0+bV9pblBy
b2dyYW1tYXRpY1Njcm9sbDsKLSAgICBkLT5tX2luUHJvZ3JhbW1hdGljU2Nyb2xsID0gdHJ1ZTsK
KyAgICBib29sIHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsID0gbV9pblByb2dyYW1tYXRpY1Njcm9s
bDsKKyAgICBtX2luUHJvZ3JhbW1hdGljU2Nyb2xsID0gdHJ1ZTsKICAgICBTY3JvbGxWaWV3Ojpz
ZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb2ludCk7Ci0gICAgZC0+bV9pblByb2dyYW1tYXRpY1Nj
cm9sbCA9IHdhc0luUHJvZ3JhbW1hdGljU2Nyb2xsOworICAgIG1faW5Qcm9ncmFtbWF0aWNTY3Jv
bGwgPSB3YXNJblByb2dyYW1tYXRpY1Njcm9sbDsKIH0KIAogSG9zdFdpbmRvdyogRnJhbWVWaWV3
Ojpob3N0V2luZG93KCkgY29uc3QKQEAgLTcyMywxNiArNjc3LDE2IEBAIHZvaWQgRnJhbWVWaWV3
OjpyZXBhaW50Q29udGVudFJlY3RhbmdsZSgKIHsKICAgICBBU1NFUlQoIW1fZnJhbWUtPmRvY3Vt
ZW50KCktPm93bmVyRWxlbWVudCgpKTsKIAotICAgIGlmIChkLT5tX2RlZmVycmluZ1JlcGFpbnRz
ICYmICFpbW1lZGlhdGUpIHsKKyAgICBpZiAobV9kZWZlcnJpbmdSZXBhaW50cyAmJiAhaW1tZWRp
YXRlKSB7CiAgICAgICAgIEludFJlY3QgdmlzaWJsZUNvbnRlbnQgPSB2aXNpYmxlQ29udGVudFJl
Y3QoKTsKICAgICAgICAgdmlzaWJsZUNvbnRlbnQuaW50ZXJzZWN0KHIpOwogICAgICAgICBpZiAo
IXZpc2libGVDb250ZW50LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgZC0+bV9yZXBhaW50Q291
bnQrKzsKLSAgICAgICAgICAgIGQtPm1fcmVwYWludFJlY3QudW5pdGUocik7Ci0gICAgICAgICAg
ICBpZiAoZC0+bV9yZXBhaW50Q291bnQgPT0gY1JlcGFpbnRSZWN0VW5pb25UaHJlc2hvbGQpCi0g
ICAgICAgICAgICAgICAgZC0+bV9yZXBhaW50UmVjdHMuY2xlYXIoKTsKLSAgICAgICAgICAgIGVs
c2UgaWYgKGQtPm1fcmVwYWludENvdW50IDwgY1JlcGFpbnRSZWN0VW5pb25UaHJlc2hvbGQpCi0g
ICAgICAgICAgICAgICAgZC0+bV9yZXBhaW50UmVjdHMuYXBwZW5kKHIpOworICAgICAgICAgICAg
bV9yZXBhaW50Q291bnQrKzsKKyAgICAgICAgICAgIG1fcmVwYWludFJlY3QudW5pdGUocik7Cisg
ICAgICAgICAgICBpZiAobV9yZXBhaW50Q291bnQgPT0gY1JlcGFpbnRSZWN0VW5pb25UaHJlc2hv
bGQpCisgICAgICAgICAgICAgICAgbV9yZXBhaW50UmVjdHMuY2xlYXIoKTsKKyAgICAgICAgICAg
IGVsc2UgaWYgKG1fcmVwYWludENvdW50IDwgY1JlcGFpbnRSZWN0VW5pb25UaHJlc2hvbGQpCisg
ICAgICAgICAgICAgICAgbV9yZXBhaW50UmVjdHMuYXBwZW5kKHIpOwogICAgICAgICB9CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC03NDksMTAgKzcwMywxMCBAQCB2b2lkIEZyYW1lVmlldzo6
YmVnaW5EZWZlcnJlZFJlcGFpbnRzKCkKICAgICBpZiAocGFnZS0+bWFpbkZyYW1lKCkgIT0gbV9m
cmFtZSkKICAgICAgICAgcmV0dXJuIHBhZ2UtPm1haW5GcmFtZSgpLT52aWV3KCktPmJlZ2luRGVm
ZXJyZWRSZXBhaW50cygpOwogCi0gICAgZC0+bV9kZWZlcnJpbmdSZXBhaW50cysrOwotICAgIGQt
Pm1fcmVwYWludENvdW50ID0gMDsKLSAgICBkLT5tX3JlcGFpbnRSZWN0ID0gSW50UmVjdCgpOwot
ICAgIGQtPm1fcmVwYWludFJlY3RzLmNsZWFyKCk7CisgICAgbV9kZWZlcnJpbmdSZXBhaW50cysr
OworICAgIG1fcmVwYWludENvdW50ID0gMDsKKyAgICBtX3JlcGFpbnRSZWN0ID0gSW50UmVjdCgp
OworICAgIG1fcmVwYWludFJlY3RzLmNsZWFyKCk7CiB9CiAKIApAQCAtNzYyLDE1ICs3MTYsMTUg
QEAgdm9pZCBGcmFtZVZpZXc6OmVuZERlZmVycmVkUmVwYWludHMoKQogICAgIGlmIChwYWdlLT5t
YWluRnJhbWUoKSAhPSBtX2ZyYW1lKQogICAgICAgICByZXR1cm4gcGFnZS0+bWFpbkZyYW1lKCkt
PnZpZXcoKS0+ZW5kRGVmZXJyZWRSZXBhaW50cygpOwogCi0gICAgQVNTRVJUKGQtPm1fZGVmZXJy
aW5nUmVwYWludHMgPiAwKTsKLSAgICBpZiAoLS1kLT5tX2RlZmVycmluZ1JlcGFpbnRzID09IDAp
IHsKLSAgICAgICAgaWYgKGQtPm1fcmVwYWludENvdW50ID49IGNSZXBhaW50UmVjdFVuaW9uVGhy
ZXNob2xkKQotICAgICAgICAgICAgcmVwYWludENvbnRlbnRSZWN0YW5nbGUoZC0+bV9yZXBhaW50
UmVjdCwgZmFsc2UpOworICAgIEFTU0VSVChtX2RlZmVycmluZ1JlcGFpbnRzID4gMCk7CisgICAg
aWYgKC0tbV9kZWZlcnJpbmdSZXBhaW50cyA9PSAwKSB7CisgICAgICAgIGlmIChtX3JlcGFpbnRD
b3VudCA+PSBjUmVwYWludFJlY3RVbmlvblRocmVzaG9sZCkKKyAgICAgICAgICAgIHJlcGFpbnRD
b250ZW50UmVjdGFuZ2xlKG1fcmVwYWludFJlY3QsIGZhbHNlKTsKICAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICB1bnNpZ25lZCBzaXplID0gZC0+bV9yZXBhaW50UmVjdHMuc2l6ZSgpOworICAg
ICAgICAgICAgdW5zaWduZWQgc2l6ZSA9IG1fcmVwYWludFJlY3RzLnNpemUoKTsKICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyBpKyspCi0gICAgICAgICAgICAgICAg
cmVwYWludENvbnRlbnRSZWN0YW5nbGUoZC0+bV9yZXBhaW50UmVjdHNbaV0sIGZhbHNlKTsKLSAg
ICAgICAgICAgIGQtPm1fcmVwYWludFJlY3RzLmNsZWFyKCk7CisgICAgICAgICAgICAgICAgcmVw
YWludENvbnRlbnRSZWN0YW5nbGUobV9yZXBhaW50UmVjdHNbaV0sIGZhbHNlKTsKKyAgICAgICAg
ICAgIG1fcmVwYWludFJlY3RzLmNsZWFyKCk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC03ODks
MTEgKzc0MywxMSBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dCgpCiAgICAgQVNT
RVJUKCFtX2ZyYW1lLT5kb2N1bWVudCgpIHx8ICFtX2ZyYW1lLT5kb2N1bWVudCgpLT5pblBhZ2VD
YWNoZSgpKTsKICAgICBBU1NFUlQobV9mcmFtZS0+dmlldygpID09IHRoaXMpOwogCi0gICAgaWYg
KGQtPm1fbGF5b3V0Um9vdCkgewotICAgICAgICBkLT5tX2xheW91dFJvb3QtPm1hcmtDb250YWlu
aW5nQmxvY2tzRm9yTGF5b3V0KGZhbHNlKTsKLSAgICAgICAgZC0+bV9sYXlvdXRSb290ID0gMDsK
KyAgICBpZiAobV9sYXlvdXRSb290KSB7CisgICAgICAgIG1fbGF5b3V0Um9vdC0+bWFya0NvbnRh
aW5pbmdCbG9ja3NGb3JMYXlvdXQoZmFsc2UpOworICAgICAgICBtX2xheW91dFJvb3QgPSAwOwog
ICAgIH0KLSAgICBpZiAoIWQtPm1fbGF5b3V0U2NoZWR1bGluZ0VuYWJsZWQpCisgICAgaWYgKCFt
X2xheW91dFNjaGVkdWxpbmdFbmFibGVkKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFuZWVk
c0xheW91dCgpKQogICAgICAgICByZXR1cm47CkBAIC04MDEsMTkgKzc1NSwxOSBAQCB2b2lkIEZy
YW1lVmlldzo6c2NoZWR1bGVSZWxheW91dCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGludCBk
ZWxheSA9IG1fZnJhbWUtPmRvY3VtZW50KCktPm1pbmltdW1MYXlvdXREZWxheSgpOwotICAgIGlm
IChkLT5tX2xheW91dFRpbWVyLmlzQWN0aXZlKCkgJiYgZC0+bV9kZWxheWVkTGF5b3V0ICYmICFk
ZWxheSkKKyAgICBpZiAobV9sYXlvdXRUaW1lci5pc0FjdGl2ZSgpICYmIG1fZGVsYXllZExheW91
dCAmJiAhZGVsYXkpCiAgICAgICAgIHVuc2NoZWR1bGVSZWxheW91dCgpOwotICAgIGlmIChkLT5t
X2xheW91dFRpbWVyLmlzQWN0aXZlKCkpCisgICAgaWYgKG1fbGF5b3V0VGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZC0+bV9kZWxheWVkTGF5b3V0ID0gZGVsYXkgIT0g
MDsKKyAgICBtX2RlbGF5ZWRMYXlvdXQgPSBkZWxheSAhPSAwOwogCiAjaWZkZWYgSU5TVFJVTUVO
VF9MQVlPVVRfU0NIRURVTElORwogICAgIGlmICghbV9mcmFtZS0+ZG9jdW1lbnQoKS0+b3duZXJF
bGVtZW50KCkpCiAgICAgICAgIHByaW50ZigiU2NoZWR1bGluZyBsYXlvdXQgZm9yICVkXG4iLCBk
ZWxheSk7CiAjZW5kaWYKIAotICAgIGQtPm1fbGF5b3V0VGltZXIuc3RhcnRPbmVTaG90KGRlbGF5
ICogMC4wMDEpOworICAgIG1fbGF5b3V0VGltZXIuc3RhcnRPbmVTaG90KGRlbGF5ICogMC4wMDEp
OwogfQogCiBzdGF0aWMgYm9vbCBpc09iamVjdEFuY2VzdG9yQ29udGFpbmVyT2YoUmVuZGVyT2Jq
ZWN0KiBhbmNlc3RvciwgUmVuZGVyT2JqZWN0KiBkZXNjZW5kYW50KQpAQCAtODI5LDcgKzc4Myw3
IEBAIHZvaWQgRnJhbWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0T2ZTdWJ0cmUKIHsKICAgICBBU1NF
UlQobV9mcmFtZS0+dmlldygpID09IHRoaXMpOwogCi0gICAgaWYgKCFkLT5tX2xheW91dFNjaGVk
dWxpbmdFbmFibGVkIHx8IChtX2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKQorICAgIGlmICghbV9s
YXlvdXRTY2hlZHVsaW5nRW5hYmxlZCB8fCAobV9mcmFtZS0+Y29udGVudFJlbmRlcmVyKCkKICAg
ICAgICAgICAgICYmIG1fZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpLT5uZWVkc0xheW91dCgpKSkg
ewogICAgICAgICBpZiAocmVsYXlvdXRSb290KQogICAgICAgICAgICAgcmVsYXlvdXRSb290LT5t
YXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChmYWxzZSk7CkBAIC04MzcsMzMgKzc5MSwzMyBA
QCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dE9mU3VidHJlCiAgICAgfQogCiAgICAg
aWYgKGxheW91dFBlbmRpbmcoKSkgewotICAgICAgICBpZiAoZC0+bV9sYXlvdXRSb290ICE9IHJl
bGF5b3V0Um9vdCkgewotICAgICAgICAgICAgaWYgKGlzT2JqZWN0QW5jZXN0b3JDb250YWluZXJP
ZihkLT5tX2xheW91dFJvb3QsIHJlbGF5b3V0Um9vdCkpIHsKKyAgICAgICAgaWYgKG1fbGF5b3V0
Um9vdCAhPSByZWxheW91dFJvb3QpIHsKKyAgICAgICAgICAgIGlmIChpc09iamVjdEFuY2VzdG9y
Q29udGFpbmVyT2YobV9sYXlvdXRSb290LCByZWxheW91dFJvb3QpKSB7CiAgICAgICAgICAgICAg
ICAgLy8gS2VlcCB0aGUgY3VycmVudCByb290Ci0gICAgICAgICAgICAgICAgcmVsYXlvdXRSb290
LT5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChmYWxzZSwgZC0+bV9sYXlvdXRSb290KTsK
LSAgICAgICAgICAgIH0gZWxzZSBpZiAoZC0+bV9sYXlvdXRSb290ICYmIGlzT2JqZWN0QW5jZXN0
b3JDb250YWluZXJPZihyZWxheW91dFJvb3QsIGQtPm1fbGF5b3V0Um9vdCkpIHsKKyAgICAgICAg
ICAgICAgICByZWxheW91dFJvb3QtPm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KGZhbHNl
LCBtX2xheW91dFJvb3QpOworICAgICAgICAgICAgfSBlbHNlIGlmIChtX2xheW91dFJvb3QgJiYg
aXNPYmplY3RBbmNlc3RvckNvbnRhaW5lck9mKHJlbGF5b3V0Um9vdCwgbV9sYXlvdXRSb290KSkg
ewogICAgICAgICAgICAgICAgIC8vIFJlLXJvb3QgYXQgcmVsYXlvdXRSb290Ci0gICAgICAgICAg
ICAgICAgZC0+bV9sYXlvdXRSb290LT5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChmYWxz
ZSwgcmVsYXlvdXRSb290KTsKLSAgICAgICAgICAgICAgICBkLT5tX2xheW91dFJvb3QgPSByZWxh
eW91dFJvb3Q7CisgICAgICAgICAgICAgICAgbV9sYXlvdXRSb290LT5tYXJrQ29udGFpbmluZ0Js
b2Nrc0ZvckxheW91dChmYWxzZSwgcmVsYXlvdXRSb290KTsKKyAgICAgICAgICAgICAgICBtX2xh
eW91dFJvb3QgPSByZWxheW91dFJvb3Q7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgIC8vIEp1c3QgZG8gYSBmdWxsIHJlbGF5b3V0Ci0gICAgICAgICAgICAgICAgaWYgKGQt
Pm1fbGF5b3V0Um9vdCkKLSAgICAgICAgICAgICAgICAgICAgZC0+bV9sYXlvdXRSb290LT5tYXJr
Q29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChmYWxzZSk7Ci0gICAgICAgICAgICAgICAgZC0+bV9s
YXlvdXRSb290ID0gMDsKKyAgICAgICAgICAgICAgICBpZiAobV9sYXlvdXRSb290KQorICAgICAg
ICAgICAgICAgICAgICBtX2xheW91dFJvb3QtPm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0
KGZhbHNlKTsKKyAgICAgICAgICAgICAgICBtX2xheW91dFJvb3QgPSAwOwogICAgICAgICAgICAg
ICAgIHJlbGF5b3V0Um9vdC0+bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoZmFsc2UpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgaW50IGRlbGF5
ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+bWluaW11bUxheW91dERlbGF5KCk7Ci0gICAgICAgIGQt
Pm1fbGF5b3V0Um9vdCA9IHJlbGF5b3V0Um9vdDsKLSAgICAgICAgZC0+bV9kZWxheWVkTGF5b3V0
ID0gZGVsYXkgIT0gMDsKLSAgICAgICAgZC0+bV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVs
YXkgKiAwLjAwMSk7CisgICAgICAgIG1fbGF5b3V0Um9vdCA9IHJlbGF5b3V0Um9vdDsKKyAgICAg
ICAgbV9kZWxheWVkTGF5b3V0ID0gZGVsYXkgIT0gMDsKKyAgICAgICAgbV9sYXlvdXRUaW1lci5z
dGFydE9uZVNob3QoZGVsYXkgKiAwLjAwMSk7CiAgICAgfQogfQogCiBib29sIEZyYW1lVmlldzo6
bGF5b3V0UGVuZGluZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGQtPm1fbGF5b3V0VGltZXIuaXNB
Y3RpdmUoKTsKKyAgICByZXR1cm4gbV9sYXlvdXRUaW1lci5pc0FjdGl2ZSgpOwogfQogCiBib29s
IEZyYW1lVmlldzo6bmVlZHNMYXlvdXQoKSBjb25zdApAQCAtODc3LDcgKzgzMSw3IEBAIGJvb2wg
RnJhbWVWaWV3OjpuZWVkc0xheW91dCgpIGNvbnN0CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
bV9mcmFtZS0+ZG9jdW1lbnQoKTsKICAgICByZXR1cm4gbGF5b3V0UGVuZGluZygpCiAgICAgICAg
IHx8IChyb290ICYmIHJvb3QtPm5lZWRzTGF5b3V0KCkpCi0gICAgICAgIHx8IGQtPm1fbGF5b3V0
Um9vdAorICAgICAgICB8fCBtX2xheW91dFJvb3QKICAgICAgICAgfHwgKGRvY3VtZW50ICYmIGRv
Y3VtZW50LT5oYXNDaGFuZ2VkQ2hpbGQoKSkgLy8gY2FuIG9jY3VyIHdoZW4gdXNpbmcgV2ViS2l0
IE9iakMgaW50ZXJmYWNlCiAgICAgICAgIHx8IG1fZnJhbWUtPm5lZWRzUmVhcHBseVN0eWxlcygp
OwogfQpAQCAtODkxLDcgKzg0NSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzZXROZWVkc0xheW91dCgp
CiAKIHZvaWQgRnJhbWVWaWV3Ojp1bnNjaGVkdWxlUmVsYXlvdXQoKQogewotICAgIGlmICghZC0+
bV9sYXlvdXRUaW1lci5pc0FjdGl2ZSgpKQorICAgIGlmICghbV9sYXlvdXRUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICByZXR1cm47CiAKICNpZmRlZiBJTlNUUlVNRU5UX0xBWU9VVF9TQ0hFRFVM
SU5HCkBAIC04OTksMzAgKzg1MywzMCBAQCB2b2lkIEZyYW1lVmlldzo6dW5zY2hlZHVsZVJlbGF5
b3V0KCkKICAgICAgICAgcHJpbnRmKCJMYXlvdXQgdGltZXIgdW5zY2hlZHVsZWQgYXQgJWRcbiIs
IG1fZnJhbWUtPmRvY3VtZW50KCktPmVsYXBzZWRUaW1lKCkpOwogI2VuZGlmCiAgICAgCi0gICAg
ZC0+bV9sYXlvdXRUaW1lci5zdG9wKCk7Ci0gICAgZC0+bV9kZWxheWVkTGF5b3V0ID0gZmFsc2U7
CisgICAgbV9sYXlvdXRUaW1lci5zdG9wKCk7CisgICAgbV9kZWxheWVkTGF5b3V0ID0gZmFsc2U7
CiB9CiAKIGJvb2wgRnJhbWVWaWV3Ojppc1RyYW5zcGFyZW50KCkgY29uc3QKIHsKLSAgICByZXR1
cm4gZC0+bV9pc1RyYW5zcGFyZW50OworICAgIHJldHVybiBtX2lzVHJhbnNwYXJlbnQ7CiB9CiAK
IHZvaWQgRnJhbWVWaWV3OjpzZXRUcmFuc3BhcmVudChib29sIGlzVHJhbnNwYXJlbnQpCiB7Ci0g
ICAgZC0+bV9pc1RyYW5zcGFyZW50ID0gaXNUcmFuc3BhcmVudDsKKyAgICBtX2lzVHJhbnNwYXJl
bnQgPSBpc1RyYW5zcGFyZW50OwogfQogCiBDb2xvciBGcmFtZVZpZXc6OmJhc2VCYWNrZ3JvdW5k
Q29sb3IoKSBjb25zdAogewotICAgIHJldHVybiBkLT5tX2Jhc2VCYWNrZ3JvdW5kQ29sb3I7Cisg
ICAgcmV0dXJuIG1fYmFzZUJhY2tncm91bmRDb2xvcjsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnNl
dEJhc2VCYWNrZ3JvdW5kQ29sb3IoQ29sb3IgYmMpCiB7CiAgICAgaWYgKCFiYy5pc1ZhbGlkKCkp
CiAgICAgICAgIGJjID0gQ29sb3I6OndoaXRlOwotICAgIGQtPm1fYmFzZUJhY2tncm91bmRDb2xv
ciA9IGJjOworICAgIG1fYmFzZUJhY2tncm91bmRDb2xvciA9IGJjOwogfQogCiB2b2lkIEZyYW1l
Vmlldzo6dXBkYXRlQmFja2dyb3VuZFJlY3Vyc2l2ZWx5KGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5k
Q29sb3IsIGJvb2wgdHJhbnNwYXJlbnQpCkBAIC05MzksMTcgKzg5MywxNyBAQCB2b2lkIEZyYW1l
Vmlldzo6dXBkYXRlQmFja2dyb3VuZFJlY3Vyc2l2CiAKIGJvb2wgRnJhbWVWaWV3OjpzaG91bGRV
cGRhdGVXaGlsZU9mZnNjcmVlbigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGQtPm1fc2hvdWxkVXBk
YXRlV2hpbGVPZmZzY3JlZW47CisgICAgcmV0dXJuIG1fc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3Jl
ZW47CiB9CiAKIHZvaWQgRnJhbWVWaWV3OjpzZXRTaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbihi
b29sIHNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKQogewotICAgIGQtPm1fc2hvdWxkVXBkYXRl
V2hpbGVPZmZzY3JlZW4gPSBzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbjsKKyAgICBtX3Nob3Vs
ZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuID0gc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW47CiB9CiAK
IHZvaWQgRnJhbWVWaWV3OjpzY2hlZHVsZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQ
YXNzUmVmUHRyPEV2ZW50VGFyZ2V0Tm9kZT4gZXZlbnRUYXJnZXQpCiB7Ci0gICAgaWYgKCFkLT5t
X2VucXVldWVFdmVudHMpIHsKKyAgICBpZiAoIW1fZW5xdWV1ZUV2ZW50cykgewogICAgICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKICAgICAgICAgZXZlbnRUYXJnZXQtPmRpc3BhdGNoRXZlbnQo
ZXZlbnQsIGVjKTsKICAgICAgICAgcmV0dXJuOwpAQCAtOTU4LDM5ICs5MTIsMzkgQEAgdm9pZCBG
cmFtZVZpZXc6OnNjaGVkdWxlRXZlbnQoUGFzc1JlZlB0cgogICAgIFNjaGVkdWxlZEV2ZW50KiBz
Y2hlZHVsZWRFdmVudCA9IG5ldyBTY2hlZHVsZWRFdmVudDsKICAgICBzY2hlZHVsZWRFdmVudC0+
bV9ldmVudCA9IGV2ZW50OwogICAgIHNjaGVkdWxlZEV2ZW50LT5tX2V2ZW50VGFyZ2V0ID0gZXZl
bnRUYXJnZXQ7Ci0gICAgZC0+bV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKHNjaGVkdWxlZEV2ZW50
KTsKKyAgICBtX3NjaGVkdWxlZEV2ZW50cy5hcHBlbmQoc2NoZWR1bGVkRXZlbnQpOwogfQogCiB2
b2lkIEZyYW1lVmlldzo6cGF1c2VTY2hlZHVsZWRFdmVudHMoKQogewotICAgIEFTU0VSVChkLT5t
X3NjaGVkdWxlZEV2ZW50cy5pc0VtcHR5KCkgfHwgZC0+bV9lbnF1ZXVlRXZlbnRzKTsKLSAgICBk
LT5tX2VucXVldWVFdmVudHMrKzsKKyAgICBBU1NFUlQobV9zY2hlZHVsZWRFdmVudHMuaXNFbXB0
eSgpIHx8IG1fZW5xdWV1ZUV2ZW50cyk7CisgICAgbV9lbnF1ZXVlRXZlbnRzKys7CiB9CiAKIHZv
aWQgRnJhbWVWaWV3OjpyZXN1bWVTY2hlZHVsZWRFdmVudHMoKQogewotICAgIGQtPm1fZW5xdWV1
ZUV2ZW50cy0tOwotICAgIGlmICghZC0+bV9lbnF1ZXVlRXZlbnRzKQorICAgIG1fZW5xdWV1ZUV2
ZW50cy0tOworICAgIGlmICghbV9lbnF1ZXVlRXZlbnRzKQogICAgICAgICBkaXNwYXRjaFNjaGVk
dWxlZEV2ZW50cygpOwotICAgIEFTU0VSVChkLT5tX3NjaGVkdWxlZEV2ZW50cy5pc0VtcHR5KCkg
fHwgZC0+bV9lbnF1ZXVlRXZlbnRzKTsKKyAgICBBU1NFUlQobV9zY2hlZHVsZWRFdmVudHMuaXNF
bXB0eSgpIHx8IG1fZW5xdWV1ZUV2ZW50cyk7CiB9CiAKIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3Jt
UG9zdExheW91dFRhc2tzKCkKIHsKLSAgICBpZiAoZC0+bV9maXJzdExheW91dENhbGxiYWNrUGVu
ZGluZykgewotICAgICAgICBkLT5tX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gZmFsc2U7
CisgICAgaWYgKG1fZmlyc3RMYXlvdXRDYWxsYmFja1BlbmRpbmcpIHsKKyAgICAgICAgbV9maXJz
dExheW91dENhbGxiYWNrUGVuZGluZyA9IGZhbHNlOwogICAgICAgICBtX2ZyYW1lLT5sb2FkZXIo
KS0+ZGlkRmlyc3RMYXlvdXQoKTsKICAgICB9CiAKLSAgICBpZiAoZC0+bV9pc1Zpc3VhbGx5Tm9u
RW1wdHkgJiYgZC0+bV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcp
IHsKLSAgICAgICAgZC0+bV9maXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRp
bmcgPSBmYWxzZTsKKyAgICBpZiAobV9pc1Zpc3VhbGx5Tm9uRW1wdHkgJiYgbV9maXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcpIHsKKyAgICAgICAgbV9maXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSBmYWxzZTsKICAgICAgICAgbV9mcmFt
ZS0+bG9hZGVyKCktPmRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dCgpOwogICAgIH0KIAog
ICAgIFJlbmRlclZpZXcqIHJvb3QgPSBtX2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKTsKIAogICAg
IHJvb3QtPnVwZGF0ZVdpZGdldFBvc2l0aW9ucygpOwotICAgIGlmIChtX3dpZGdldFVwZGF0ZVNl
dCAmJiBkLT5tX25lc3RlZExheW91dENvdW50IDw9IDEpIHsKKyAgICBpZiAobV93aWRnZXRVcGRh
dGVTZXQgJiYgbV9uZXN0ZWRMYXlvdXRDb3VudCA8PSAxKSB7CiAgICAgICAgIFZlY3RvcjxSZW5k
ZXJQYXJ0T2JqZWN0Kj4gb2JqZWN0VmVjdG9yOwogICAgICAgICBjb3B5VG9WZWN0b3IoKm1fd2lk
Z2V0VXBkYXRlU2V0LCBvYmplY3RWZWN0b3IpOwogICAgICAgICBzaXplX3Qgc2l6ZSA9IG9iamVj
dFZlY3Rvci5zaXplKCk7CkBAIC0xMDExLDkgKzk2NSw5IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJm
b3JtUG9zdExheW91dFRhc2tzKCkKICAgICBpZiAoIXJvb3QtPnByaW50aW5nKCkpIHsKICAgICAg
ICAgSW50U2l6ZSBjdXJyZW50U2l6ZSA9IEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpOwogICAg
ICAgICBmbG9hdCBjdXJyZW50Wm9vbUZhY3RvciA9IHJvb3QtPnN0eWxlKCktPnpvb20oKTsKLSAg
ICAgICAgYm9vbCByZXNpemVkID0gIWQtPm1fZmlyc3RMYXlvdXQgJiYgKGN1cnJlbnRTaXplICE9
IGQtPm1fbGFzdExheW91dFNpemUgfHwgY3VycmVudFpvb21GYWN0b3IgIT0gZC0+bV9sYXN0Wm9v
bUZhY3Rvcik7Ci0gICAgICAgIGQtPm1fbGFzdExheW91dFNpemUgPSBjdXJyZW50U2l6ZTsKLSAg
ICAgICAgZC0+bV9sYXN0Wm9vbUZhY3RvciA9IGN1cnJlbnRab29tRmFjdG9yOworICAgICAgICBi
b29sIHJlc2l6ZWQgPSAhbV9maXJzdExheW91dCAmJiAoY3VycmVudFNpemUgIT0gbV9sYXN0TGF5
b3V0U2l6ZSB8fCBjdXJyZW50Wm9vbUZhY3RvciAhPSBtX2xhc3Rab29tRmFjdG9yKTsKKyAgICAg
ICAgbV9sYXN0TGF5b3V0U2l6ZSA9IGN1cnJlbnRTaXplOworICAgICAgICBtX2xhc3Rab29tRmFj
dG9yID0gY3VycmVudFpvb21GYWN0b3I7CiAgICAgICAgIGlmIChyZXNpemVkKQogICAgICAgICAg
ICAgbV9mcmFtZS0+c2VuZFJlc2l6ZUV2ZW50KCk7CiAgICAgfQpAQCAtMTAyNiwzNyArOTgwLDM3
IEBAIHZvaWQgRnJhbWVWaWV3Ojpwb3N0TGF5b3V0VGltZXJGaXJlZChUaW0KIAogdm9pZCBGcmFt
ZVZpZXc6OnVwZGF0ZU92ZXJmbG93U3RhdHVzKGJvb2wgaG9yaXpvbnRhbE92ZXJmbG93LCBib29s
IHZlcnRpY2FsT3ZlcmZsb3cpCiB7Ci0gICAgaWYgKCFkLT5tX3ZpZXdwb3J0UmVuZGVyZXIpCisg
ICAgaWYgKCFtX3ZpZXdwb3J0UmVuZGVyZXIpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBp
ZiAoZC0+bV9vdmVyZmxvd1N0YXR1c0RpcnR5KSB7Ci0gICAgICAgIGQtPm1faG9yaXpvbnRhbE92
ZXJmbG93ID0gaG9yaXpvbnRhbE92ZXJmbG93OwotICAgICAgICBkLT5tX3ZlcnRpY2FsT3ZlcmZs
b3cgPSB2ZXJ0aWNhbE92ZXJmbG93OwotICAgICAgICBkLT5tX292ZXJmbG93U3RhdHVzRGlydHkg
PSBmYWxzZTsKKyAgICBpZiAobV9vdmVyZmxvd1N0YXR1c0RpcnR5KSB7CisgICAgICAgIG1faG9y
aXpvbnRhbE92ZXJmbG93ID0gaG9yaXpvbnRhbE92ZXJmbG93OworICAgICAgICBtX3ZlcnRpY2Fs
T3ZlcmZsb3cgPSB2ZXJ0aWNhbE92ZXJmbG93OworICAgICAgICBtX292ZXJmbG93U3RhdHVzRGly
dHkgPSBmYWxzZTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICBib29sIGhvcml6
b250YWxPdmVyZmxvd0NoYW5nZWQgPSAoZC0+bV9ob3Jpem9udGFsT3ZlcmZsb3cgIT0gaG9yaXpv
bnRhbE92ZXJmbG93KTsKLSAgICBib29sIHZlcnRpY2FsT3ZlcmZsb3dDaGFuZ2VkID0gKGQtPm1f
dmVydGljYWxPdmVyZmxvdyAhPSB2ZXJ0aWNhbE92ZXJmbG93KTsKKyAgICBib29sIGhvcml6b250
YWxPdmVyZmxvd0NoYW5nZWQgPSAobV9ob3Jpem9udGFsT3ZlcmZsb3cgIT0gaG9yaXpvbnRhbE92
ZXJmbG93KTsKKyAgICBib29sIHZlcnRpY2FsT3ZlcmZsb3dDaGFuZ2VkID0gKG1fdmVydGljYWxP
dmVyZmxvdyAhPSB2ZXJ0aWNhbE92ZXJmbG93KTsKICAgICAKICAgICBpZiAoaG9yaXpvbnRhbE92
ZXJmbG93Q2hhbmdlZCB8fCB2ZXJ0aWNhbE92ZXJmbG93Q2hhbmdlZCkgewotICAgICAgICBkLT5t
X2hvcml6b250YWxPdmVyZmxvdyA9IGhvcml6b250YWxPdmVyZmxvdzsKLSAgICAgICAgZC0+bV92
ZXJ0aWNhbE92ZXJmbG93ID0gdmVydGljYWxPdmVyZmxvdzsKKyAgICAgICAgbV9ob3Jpem9udGFs
T3ZlcmZsb3cgPSBob3Jpem9udGFsT3ZlcmZsb3c7CisgICAgICAgIG1fdmVydGljYWxPdmVyZmxv
dyA9IHZlcnRpY2FsT3ZlcmZsb3c7CiAgICAgICAgIAogICAgICAgICBzY2hlZHVsZUV2ZW50KE92
ZXJmbG93RXZlbnQ6OmNyZWF0ZShob3Jpem9udGFsT3ZlcmZsb3dDaGFuZ2VkLCBob3Jpem9udGFs
T3ZlcmZsb3csCiAgICAgICAgICAgICB2ZXJ0aWNhbE92ZXJmbG93Q2hhbmdlZCwgdmVydGljYWxP
dmVyZmxvdyksCi0gICAgICAgICAgICBFdmVudFRhcmdldE5vZGVDYXN0KGQtPm1fdmlld3BvcnRS
ZW5kZXJlci0+ZWxlbWVudCgpKSk7CisgICAgICAgICAgICBFdmVudFRhcmdldE5vZGVDYXN0KG1f
dmlld3BvcnRSZW5kZXJlci0+ZWxlbWVudCgpKSk7CiAgICAgfQogICAgIAogfQogCiB2b2lkIEZy
YW1lVmlldzo6ZGlzcGF0Y2hTY2hlZHVsZWRFdmVudHMoKQogewotICAgIGlmIChkLT5tX3NjaGVk
dWxlZEV2ZW50cy5pc0VtcHR5KCkpCisgICAgaWYgKG1fc2NoZWR1bGVkRXZlbnRzLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVmVjdG9yPFNjaGVkdWxlZEV2ZW50Kj4gc2NoZWR1
bGVkRXZlbnRzQ29weSA9IGQtPm1fc2NoZWR1bGVkRXZlbnRzOwotICAgIGQtPm1fc2NoZWR1bGVk
RXZlbnRzLmNsZWFyKCk7CisgICAgVmVjdG9yPFNjaGVkdWxlZEV2ZW50Kj4gc2NoZWR1bGVkRXZl
bnRzQ29weSA9IG1fc2NoZWR1bGVkRXZlbnRzOworICAgIG1fc2NoZWR1bGVkRXZlbnRzLmNsZWFy
KCk7CiAgICAgCiAgICAgVmVjdG9yPFNjaGVkdWxlZEV2ZW50Kj46Oml0ZXJhdG9yIGVuZCA9IHNj
aGVkdWxlZEV2ZW50c0NvcHkuZW5kKCk7CiAgICAgZm9yIChWZWN0b3I8U2NoZWR1bGVkRXZlbnQq
Pjo6aXRlcmF0b3IgaXQgPSBzY2hlZHVsZWRFdmVudHNDb3B5LmJlZ2luKCk7IGl0ICE9IGVuZDsg
KytpdCkgewpAQCAtMTE4OCwxNCArMTE0MiwxNCBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlQ29u
dHJvbFRpbnRzKCkKIAogYm9vbCBGcmFtZVZpZXc6Ondhc1Njcm9sbGVkQnlVc2VyKCkgY29uc3QK
IHsKLSAgICByZXR1cm4gZC0+bV93YXNTY3JvbGxlZEJ5VXNlcjsKKyAgICByZXR1cm4gbV93YXNT
Y3JvbGxlZEJ5VXNlcjsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnNldFdhc1Njcm9sbGVkQnlVc2Vy
KGJvb2wgd2FzU2Nyb2xsZWRCeVVzZXIpCiB7Ci0gICAgaWYgKGQtPm1faW5Qcm9ncmFtbWF0aWNT
Y3JvbGwpCisgICAgaWYgKG1faW5Qcm9ncmFtbWF0aWNTY3JvbGwpCiAgICAgICAgIHJldHVybjsK
LSAgICBkLT5tX3dhc1Njcm9sbGVkQnlVc2VyID0gd2FzU2Nyb2xsZWRCeVVzZXI7CisgICAgbV93
YXNTY3JvbGxlZEJ5VXNlciA9IHdhc1Njcm9sbGVkQnlVc2VyOwogfQogCiB2b2lkIEZyYW1lVmll
dzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIHAsIGNvbnN0IEludFJlY3QmIHJlY3Qp
CkBAIC0xMjE1LDkgKzExNjksOSBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFw
aGljc0NvCiAgICAgICAgIGZpbGxXaXRoUmVkID0gZmFsc2U7IC8vIFN1YmZyYW1lLCBkb24ndCBm
aWxsIHdpdGggcmVkLgogICAgIGVsc2UgaWYgKGlzVHJhbnNwYXJlbnQoKSkKICAgICAgICAgZmls
bFdpdGhSZWQgPSBmYWxzZTsgLy8gVHJhbnNwYXJlbnQsIGRvbid0IGZpbGwgd2l0aCByZWQuCi0g
ICAgZWxzZSBpZiAoZC0+bV9wYWludFJlc3RyaWN0aW9uID09IFBhaW50UmVzdHJpY3Rpb25TZWxl
Y3Rpb25Pbmx5IHx8IGQtPm1fcGFpbnRSZXN0cmljdGlvbiA9PSBQYWludFJlc3RyaWN0aW9uU2Vs
ZWN0aW9uT25seUJsYWNrVGV4dCkKKyAgICBlbHNlIGlmIChtX3BhaW50UmVzdHJpY3Rpb24gPT0g
UGFpbnRSZXN0cmljdGlvblNlbGVjdGlvbk9ubHkgfHwgbV9wYWludFJlc3RyaWN0aW9uID09IFBh
aW50UmVzdHJpY3Rpb25TZWxlY3Rpb25Pbmx5QmxhY2tUZXh0KQogICAgICAgICBmaWxsV2l0aFJl
ZCA9IGZhbHNlOyAvLyBTZWxlY3Rpb25zIGFyZSB0cmFuc3BhcmVudCwgZG9uJ3QgZmlsbCB3aXRo
IHJlZC4KLSAgICBlbHNlIGlmIChkLT5tX25vZGVUb0RyYXcpCisgICAgZWxzZSBpZiAobV9ub2Rl
VG9EcmF3KQogICAgICAgICBmaWxsV2l0aFJlZCA9IGZhbHNlOyAvLyBFbGVtZW50IGltYWdlcyBh
cmUgdHJhbnNwYXJlbnQsIGRvbid0IGZpbGwgd2l0aCByZWQuCiAgICAgZWxzZQogICAgICAgICBm
aWxsV2l0aFJlZCA9IHRydWU7CkBAIC0xMjM3LDE3ICsxMTkxLDE3IEBAIHZvaWQgRnJhbWVWaWV3
OjpwYWludENvbnRlbnRzKEdyYXBoaWNzQ28KICAgICB9CiAKICAgICBBU1NFUlQoIW5lZWRzTGF5
b3V0KCkpOwotICAgIEFTU0VSVCghZC0+bV9pc1BhaW50aW5nKTsKKyAgICBBU1NFUlQoIW1faXNQ
YWludGluZyk7CiAgICAgICAgIAotICAgIGQtPm1faXNQYWludGluZyA9IHRydWU7CisgICAgbV9p
c1BhaW50aW5nID0gdHJ1ZTsKICAgICAgICAgCiAgICAgLy8gbV9ub2RlVG9EcmF3IGlzIHVzZWQg
dG8gZHJhdyBvbmx5IG9uZSBlbGVtZW50IChhbmQgaXRzIGRlc2NlbmRhbnRzKQotICAgIFJlbmRl
ck9iamVjdCogZWx0UmVuZGVyZXIgPSBkLT5tX25vZGVUb0RyYXcgPyBkLT5tX25vZGVUb0RyYXct
PnJlbmRlcmVyKCkgOiAwOwotICAgIGlmIChkLT5tX3BhaW50UmVzdHJpY3Rpb24gPT0gUGFpbnRS
ZXN0cmljdGlvbk5vbmUpCisgICAgUmVuZGVyT2JqZWN0KiBlbHRSZW5kZXJlciA9IG1fbm9kZVRv
RHJhdyA/IG1fbm9kZVRvRHJhdy0+cmVuZGVyZXIoKSA6IDA7CisgICAgaWYgKG1fcGFpbnRSZXN0
cmljdGlvbiA9PSBQYWludFJlc3RyaWN0aW9uTm9uZSkKICAgICAgICAgZG9jdW1lbnQtPmludmFs
aWRhdGVSZW5kZXJlZFJlY3RzRm9yTWFya2Vyc0luUmVjdChyZWN0KTsKLSAgICBjb250ZW50UmVu
ZGVyZXItPmxheWVyKCktPnBhaW50KHAsIHJlY3QsIGQtPm1fcGFpbnRSZXN0cmljdGlvbiwgZWx0
UmVuZGVyZXIpOworICAgIGNvbnRlbnRSZW5kZXJlci0+bGF5ZXIoKS0+cGFpbnQocCwgcmVjdCwg
bV9wYWludFJlc3RyaWN0aW9uLCBlbHRSZW5kZXJlcik7CiAgICAgICAgIAotICAgIGQtPm1faXNQ
YWludGluZyA9IGZhbHNlOworICAgIG1faXNQYWludGluZyA9IGZhbHNlOwogCiAjaWYgRU5BQkxF
KERBU0hCT0FSRF9TVVBQT1JUKQogICAgIC8vIFJlZ2lvbnMgbWF5IGhhdmUgY2hhbmdlZCBhcyBh
IHJlc3VsdCBvZiB0aGUgdmlzaWJpbGl0eS96LWluZGV4IG9mIGVsZW1lbnQgY2hhbmdpbmcuCkBA
IC0xMjYxLDE3ICsxMjE1LDE3IEBAIHZvaWQgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzKEdyYXBo
aWNzQ28KIAogdm9pZCBGcmFtZVZpZXc6OnNldFBhaW50UmVzdHJpY3Rpb24oUGFpbnRSZXN0cmlj
dGlvbiBwcikKIHsKLSAgICBkLT5tX3BhaW50UmVzdHJpY3Rpb24gPSBwcjsKKyAgICBtX3BhaW50
UmVzdHJpY3Rpb24gPSBwcjsKIH0KICAgICAKIGJvb2wgRnJhbWVWaWV3Ojppc1BhaW50aW5nKCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gZC0+bV9pc1BhaW50aW5nOworICAgIHJldHVybiBtX2lzUGFp
bnRpbmc7CiB9CiAKIHZvaWQgRnJhbWVWaWV3OjpzZXROb2RlVG9EcmF3KE5vZGUqIG5vZGUpCiB7
Ci0gICAgZC0+bV9ub2RlVG9EcmF3ID0gbm9kZTsKKyAgICBtX25vZGVUb0RyYXcgPSBub2RlOwog
fQogCiB2b2lkIEZyYW1lVmlldzo6bGF5b3V0SWZOZWVkZWRSZWN1cnNpdmUoKQpAQCAtMTI5NSw5
ICsxMjQ5LDQgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dElmTmVlZGVkUmVjdXJzaXZlKAogICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4oKmN1cnJlbnQpLT5sYXlvdXRJZk5lZWRl
ZFJlY3Vyc2l2ZSgpOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0SXNWaXN1YWxseU5vbkVtcHR5
KCkKLXsKLSAgICBkLT5tX2lzVmlzdWFsbHlOb25FbXB0eSA9IHRydWU7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IHBhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGFn
ZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMzk5NzQpCisrKyBwYWdlL0ZyYW1lVmlldy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQAogICAgICAgICAgICAgIChDKSAxOTk4LCAxOTk5IFRv
cmJlbiBXZWlzICh3ZWlzQGtkZS5vcmcpCiAgICAgICAgICAgICAgKEMpIDE5OTkgTGFycyBLbm9s
bCAoa25vbGxAa2RlLm9yZykKICAgICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAo
a29pdmlzdG9Aa2RlLm9yZykKLSAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogCiAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzksMTEgKzM5LDEyIEBAIGNsYXNzIEV2ZW50VGFy
Z2V0Tm9kZTsKIGNsYXNzIEZyYW1lOwogY2xhc3MgRnJhbWVWaWV3UHJpdmF0ZTsKIGNsYXNzIElu
dFJlY3Q7Ci1jbGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiBjbGFzcyBOb2RlOworY2xhc3MgUGxh
dGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgUmVuZGVyTGF5ZXI7CiBjbGFzcyBSZW5kZXJPYmplY3Q7
CiBjbGFzcyBSZW5kZXJQYXJ0T2JqZWN0OworY2xhc3MgU2NoZWR1bGVkRXZlbnQ7CiBjbGFzcyBT
dHJpbmc7CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKQEAgLTE2NSw5ICsx
NjYsMTAgQEAgcHVibGljOgogICAgIAogICAgIHZvaWQgbGF5b3V0SWZOZWVkZWRSZWN1cnNpdmUo
KTsKIAotICAgIHZvaWQgc2V0SXNWaXN1YWxseU5vbkVtcHR5KCk7CisgICAgdm9pZCBzZXRJc1Zp
c3VhbGx5Tm9uRW1wdHkoKSB7IG1faXNWaXN1YWxseU5vbkVtcHR5ID0gdHJ1ZTsgfQogCiBwcml2
YXRlOgorICAgIHZvaWQgcmVzZXQoKTsKICAgICB2b2lkIGluaXQoKTsKIAogICAgIHZpcnR1YWwg
Ym9vbCBpc0ZyYW1lVmlldygpIGNvbnN0OwpAQCAtMTkyLDkgKzE5NCw2MiBAQCBwcml2YXRlOgog
ICAgIEludFNpemUgbV9tYXJnaW5zOwogICAgIE93blB0cjxIYXNoU2V0PFJlbmRlclBhcnRPYmpl
Y3QqPiA+IG1fd2lkZ2V0VXBkYXRlU2V0OwogICAgIFJlZlB0cjxGcmFtZT4gbV9mcmFtZTsKLSAg
ICBGcmFtZVZpZXdQcml2YXRlKiBkOworCisgICAgYm9vbCBtX2RvRnVsbFJlcGFpbnQ7CisgICAg
CisgICAgU2Nyb2xsYmFyTW9kZSBtX3Ztb2RlOworICAgIFNjcm9sbGJhck1vZGUgbV9obW9kZTsK
KyAgICBib29sIG1fdXNlU2xvd1JlcGFpbnRzOworICAgIHVuc2lnbmVkIG1fc2xvd1JlcGFpbnRP
YmplY3RDb3VudDsKKworICAgIGludCBtX2JvcmRlclgsIG1fYm9yZGVyWTsKKworICAgIFRpbWVy
PEZyYW1lVmlldz4gbV9sYXlvdXRUaW1lcjsKKyAgICBib29sIG1fZGVsYXllZExheW91dDsKKyAg
ICBSZW5kZXJPYmplY3QqIG1fbGF5b3V0Um9vdDsKKyAgICAKKyAgICBib29sIG1fbGF5b3V0U2No
ZWR1bGluZ0VuYWJsZWQ7CisgICAgYm9vbCBtX21pZExheW91dDsKKyAgICBpbnQgbV9sYXlvdXRD
b3VudDsKKyAgICB1bnNpZ25lZCBtX25lc3RlZExheW91dENvdW50OworICAgIFRpbWVyPEZyYW1l
Vmlldz4gbV9wb3N0TGF5b3V0VGFza3NUaW1lcjsKKyAgICBib29sIG1fZmlyc3RMYXlvdXRDYWxs
YmFja1BlbmRpbmc7CisKKyAgICBib29sIG1fZmlyc3RMYXlvdXQ7CisgICAgYm9vbCBtX25lZWRU
b0luaXRTY3JvbGxiYXJzOworICAgIGJvb2wgbV9pc1RyYW5zcGFyZW50OworICAgIENvbG9yIG1f
YmFzZUJhY2tncm91bmRDb2xvcjsKKyAgICBJbnRTaXplIG1fbGFzdExheW91dFNpemU7CisgICAg
ZmxvYXQgbV9sYXN0Wm9vbUZhY3RvcjsKKworICAgIFN0cmluZyBtX21lZGlhVHlwZTsKKyAgICAK
KyAgICB1bnNpZ25lZCBtX2VucXVldWVFdmVudHM7CisgICAgVmVjdG9yPFNjaGVkdWxlZEV2ZW50
Kj4gbV9zY2hlZHVsZWRFdmVudHM7CisgICAgCisgICAgYm9vbCBtX292ZXJmbG93U3RhdHVzRGly
dHk7CisgICAgYm9vbCBtX2hvcml6b250YWxPdmVyZmxvdzsKKyAgICBib29sIG1fdmVydGljYWxP
dmVyZmxvdzsgICAgCisgICAgUmVuZGVyT2JqZWN0KiBtX3ZpZXdwb3J0UmVuZGVyZXI7CisKKyAg
ICBib29sIG1fd2FzU2Nyb2xsZWRCeVVzZXI7CisgICAgYm9vbCBtX2luUHJvZ3JhbW1hdGljU2Ny
b2xsOworICAgIAorICAgIHVuc2lnbmVkIG1fZGVmZXJyaW5nUmVwYWludHM7CisgICAgdW5zaWdu
ZWQgbV9yZXBhaW50Q291bnQ7CisgICAgSW50UmVjdCBtX3JlcGFpbnRSZWN0OworICAgIFZlY3Rv
cjxJbnRSZWN0PiBtX3JlcGFpbnRSZWN0czsKKworICAgIGJvb2wgbV9zaG91bGRVcGRhdGVXaGls
ZU9mZnNjcmVlbjsKKworICAgIFJlZlB0cjxOb2RlPiBtX25vZGVUb0RyYXc7CisgICAgUGFpbnRS
ZXN0cmljdGlvbiBtX3BhaW50UmVzdHJpY3Rpb247CisgICAgYm9vbCBtX2lzUGFpbnRpbmc7CisK
KyAgICBib29sIG1faXNWaXN1YWxseU5vbkVtcHR5OworICAgIGJvb2wgbV9maXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmc7CiB9OwogCi19Cit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZgorI2VuZGlmIC8vIEZyYW1lVmlld19oCg==
</data>
<flag name="review"
          id="12798"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>