<?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>108446</bug_id>
          
          <creation_ts>2013-01-31 02:26:33 -0800</creation_ts>
          <short_desc>[chromium] Rework page scale factor limits initialization</short_desc>
          <delta_ts>2013-01-31 14:03:57 -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>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>
          <dependson>107922</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandre Elias">aelias</reporter>
          <assigned_to name="Alexandre Elias">aelias</assigned_to>
          <cc>abarth</cc>
    
    <cc>aelias</cc>
    
    <cc>jamesr</cc>
    
    <cc>klobag</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>821283</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-01-31 02:26:33 -0800</bug_when>
    <thetext>[chromium] Rework page scale factor limits initialization</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821291</commentid>
    <comment_count>1</comment_count>
      <attachid>185727</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-01-31 02:38:21 -0800</bug_when>
    <thetext>Created attachment 185727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821633</commentid>
    <comment_count>2</comment_count>
      <attachid>185727</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-31 10:27:28 -0800</bug_when>
    <thetext>Comment on attachment 185727
Patch

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

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:3804
&gt; +        if (view &amp;&amp; view-&gt;needsLayout())
&gt; +            view-&gt;layout();

Why doesn&apos;t this cause an infinite loop?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821640</commentid>
    <comment_count>3</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-01-31 10:36:01 -0800</bug_when>
    <thetext>Page scale factor limits are supposed to converge and it shouldn&apos;t set needsLayout() repeatedly.  What I expect to cause a layout right now is fixed-position element positioning, and that doesn&apos;t affect the inputs of computePageScaleFactorLimits.  If there&apos;s a bug and it doesn&apos;t converge, that would cause problems anyway and it&apos;s probably better to catch that issue via crash report than via reports of glitchniness or of very slow renderer due to repeated layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821930</commentid>
    <comment_count>4</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-01-31 14:03:57 -0800</bug_when>
    <thetext>Committed r141483: &lt;http://trac.webkit.org/changeset/141483&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185727</attachid>
            <date>2013-01-31 02:38:21 -0800</date>
            <delta_ts>2013-01-31 13:31:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108446-20130131023506.patch</filename>
            <type>text/plain</type>
            <size>21808</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDNjNDllOTE0NTU0ZDA3NWZhOTNkYmY5NTRlOGM0ODA3ZTdhYThjYzMuLmE1OGU4YzQzY2JjZTU2
MGEzYmQ0YTRlNmU2ZDVmN2EwYWVhZWQwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzggQEAKKzIwMTMtMDEtMzEgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBSZXdvcmsgcGFnZSBzY2FsZSBmYWN0b3Ig
bGltaXRzIGluaXRpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDg0NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXaGVuIGxvYWRpbmcgYSBwYWdlIHdpdGggdmlld3BvcnRFbmFibGVkLCBi
b3RoIHRoZSBsaW1pdHMKKyAgICAgICAgc3BlY2lmaWVkIGJ5IHRoZSB2aWV3cG9ydCB0YWcgYW5k
IHRoZSBjb250ZW50IHdpZHRoIG5lZWQgdG8gYmUKKyAgICAgICAgY29uc2lkZXJlZCBiZWZvcmUg
d2UgaW5pdGlhbGl6ZSB0aGUgbWluaW11bSBwYWdlIHNjYWxlIChhbmQKKyAgICAgICAgcGFnZVNj
YWxlRmFjdG9yIGl0c2VsZiB1c3VhbGx5IHRvIHRoZSBzYW1lIHZhbHVlKS4gVGhlIHRpbWluZyBo
YXMKKyAgICAgICAgcHJvdmVuIHRyaWNreSB0byBnZXQgY29ycmVjdC4KKworICAgICAgICBUaGlz
IHBhdGNoIHNpbXBsaWZpZXMgdGhlIGZsb3cgYnkgY29tcHV0aW5nIHRoZQorICAgICAgICBsaW1p
dHMgb25seSBhdCB0aGUgZW5kIG9mIGxheW91dHMgYW5kIGF0IG5vIG90aGVyIHRpbWUuIEluIGNv
bWJpbmF0aW9uCisgICAgICAgIHdpdGggaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNzkyMiB3aGljaCBzZXRzCisgICAgICAgIG5lZWRzTGF5b3V0KCkgYXBwcm9wcmlh
dGVseSwgdGhpcyByZXN1bHRzIGluIGEgbW9yZSByb2J1c3QgYW5kIGVhc3kKKyAgICAgICAgdG8g
dW5kZXJzdGFuZCBzZXF1ZW5jZS4KKworICAgICAgICBGaXhlcyBGaXhlZExheW91dEluaXRpYWxp
emVBdE1pbmltdW1QYWdlU2NhbGUgdGVzdC4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6ZGlzcGF0Y2hWaWV3
cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpyZXNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1w
bDo6c2V0UGFnZVNjYWxlRmFjdG9yTGltaXRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OmNvbXB1dGVQYWdlU2NhbGVGYWN0b3JMaW1pdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6bGF5b3V0VXBkYXRlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpk
aWRDaGFuZ2VDb250ZW50c1NpemUpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0SW5pdGlhbFBhZ2VTY2FsZUZhY3Rvcik6Cisg
ICAgICAgIChXZWJWaWV3SW1wbCk6CisgICAgICAgICogdGVzdHMvV2ViRnJhbWVUZXN0LmNwcDoK
KwogMjAxMy0wMS0yOSAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtDaHJvbWl1bV0gQ29ycmVjdCB6b29tIGZvciBmb2N1c2VkIG5vZGUgd2hlbiB1
c2luZyBjb21wb3NpdG9yIHNjYWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Q2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggOGY3MDY5YzBmMDM0MmM4Y2YzMDg1YTQwNGU4YTU0
ZDc5YmQzY2QyNy4uZDMwZjdjMDY2NjVkYTY5MmMxNDM4ZmE5OWM3NjE1YjNlOGFlZmU0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAg
LTY2OSwxMiArNjY5LDEwIEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6ZGlzcGF0Y2hWaWV3cG9y
dFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgVmlld3BvcnRBcmd1bWVuCiAgICAgaWYgKCFtX3dl
YlZpZXctPnNldHRpbmdzSW1wbCgpLT5hcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9y
KCkpCiAgICAgICAgIGNvbXB1dGVkLmluaXRpYWxTY2FsZSAqPSBkZXZpY2VTY2FsZUZhY3RvcjsK
IAotICAgIGJvb2wgbmVlZEluaXRpYWxpemVQYWdlU2NhbGUgPSAhbV93ZWJWaWV3LT5pc1BhZ2VT
Y2FsZUZhY3RvclNldCgpOworICAgIG1fd2ViVmlldy0+c2V0SW5pdGlhbFBhZ2VTY2FsZUZhY3Rv
cihjb21wdXRlZC5pbml0aWFsU2NhbGUpOwogICAgIG1fd2ViVmlldy0+c2V0Rml4ZWRMYXlvdXRT
aXplKGZsb29yZWRJbnRTaXplKGNvbXB1dGVkLmxheW91dFNpemUpKTsKICAgICBtX3dlYlZpZXct
PnNldERldmljZVNjYWxlRmFjdG9yKGRldmljZVNjYWxlRmFjdG9yKTsKICAgICBtX3dlYlZpZXct
PnNldFBhZ2VTY2FsZUZhY3RvckxpbWl0cyhjb21wdXRlZC5taW5pbXVtU2NhbGUsIGNvbXB1dGVk
Lm1heGltdW1TY2FsZSk7Ci0gICAgaWYgKG5lZWRJbml0aWFsaXplUGFnZVNjYWxlKQotICAgICAg
ICBtX3dlYlZpZXctPnNldFBhZ2VTY2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQoY29t
cHV0ZWQuaW5pdGlhbFNjYWxlKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggYTlhOTE5MTEwZWNiNzMyMTgwZjU3OTE4YzNjYTU0
YTkzM2ExNDQzZS4uZDQzZWQ0N2ZiY2M1Y2RkOTkwNmI0YzlhOTZjM2VhNDQ1NTg5OGFiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMzk2LDYgKzM5
Niw3IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiBjbGllbnQpCiAg
ICAgLCBtX3BhZ2VEZWZpbmVkTWF4aW11bVBhZ2VTY2FsZUZhY3RvcigtMSkKICAgICAsIG1fbWlu
aW11bVBhZ2VTY2FsZUZhY3RvcihtaW5QYWdlU2NhbGVGYWN0b3IpCiAgICAgLCBtX21heGltdW1Q
YWdlU2NhbGVGYWN0b3IobWF4UGFnZVNjYWxlRmFjdG9yKQorICAgICwgbV9pbml0aWFsUGFnZVNj
YWxlRmFjdG9yKC0xKQogICAgICwgbV9pZ25vcmVWaWV3cG9ydFRhZ01heGltdW1TY2FsZShmYWxz
ZSkKICAgICAsIG1fcGFnZVNjYWxlRmFjdG9ySXNTZXQoZmFsc2UpCiAgICAgLCBtX3NhdmVkUGFn
ZVNjYWxlRmFjdG9yKDApCkBAIC0xNjcwLDEwICsxNjcxLDkgQEAgdm9pZCBXZWJWaWV3SW1wbDo6
cmVzaXplKGNvbnN0IFdlYlNpemUmIG5ld1NpemUpCiAKICNpZiBFTkFCTEUoVklFV1BPUlQpCiAg
ICAgaWYgKHNldHRpbmdzKCktPnZpZXdwb3J0RW5hYmxlZCgpKSB7Ci0gICAgICAgIC8vIFJlbGF5
b3V0IGltbWVkaWF0ZWx5IHRvIG9idGFpbiB0aGUgbmV3IGNvbnRlbnQgd2lkdGgsIHdoaWNoIGlz
IG5lZWRlZAotICAgICAgICAvLyB0byBjYWxjdWxhdGUgdGhlIG1pbmltdW0gc2NhbGUgbGltaXQu
Ci0gICAgICAgIHZpZXctPmxheW91dCgpOwotICAgICAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9y
TGltaXRzKCk7CisgICAgICAgIC8vIFJlbGF5b3V0IGltbWVkaWF0ZWx5IHRvIHJlY2FsY3VsYXRl
IHRoZSBtaW5pbXVtIHNjYWxlIGxpbWl0LgorICAgICAgICBpZiAodmlldy0+bmVlZHNMYXlvdXQo
KSkKKyAgICAgICAgICAgIHZpZXctPmxheW91dCgpOwogCiAgICAgICAgIC8vIFdoZW4gdGhlIGRl
dmljZSByb3RhdGVzOgogICAgICAgICAvLyAtIElmIHRoZSBwYWdlIHdpZHRoIGlzIHVuY2hhbmdl
ZCwgdGhlbiB6b29tIGJ5IG5ldyB3aWR0aC9vbGQgd2lkdGgKQEAgLTMwNzMsOSArMzA3MywyMiBA
QCB2b2lkIFdlYlZpZXdJbXBsOjpkaXNhYmxlQXV0b1Jlc2l6ZU1vZGUoKQogCiB2b2lkIFdlYlZp
ZXdJbXBsOjpzZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMoZmxvYXQgbWluUGFnZVNjYWxlLCBmbG9h
dCBtYXhQYWdlU2NhbGUpCiB7CisgICAgaWYgKG1pblBhZ2VTY2FsZSA9PSBtX3BhZ2VEZWZpbmVk
TWluaW11bVBhZ2VTY2FsZUZhY3RvciAmJiBtYXhQYWdlU2NhbGUgPT0gbV9wYWdlRGVmaW5lZE1h
eGltdW1QYWdlU2NhbGVGYWN0b3IpCisgICAgICAgIHJldHVybjsKKwogICAgIG1fcGFnZURlZmlu
ZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9yID0gbWluUGFnZVNjYWxlOwogICAgIG1fcGFnZURlZmlu
ZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4UGFnZVNjYWxlOwotICAgIGNvbXB1dGVQYWdl
U2NhbGVGYWN0b3JMaW1pdHMoKTsKKworICAgIGlmIChzZXR0aW5ncygpLT52aWV3cG9ydEVuYWJs
ZWQoKSkgeworICAgICAgICAvLyBJZiB3ZSdyZSBpbiB2aWV3cG9ydCB0YWcgbW9kZSwgd2UgbmVl
ZCB0byBsYXlvdXQgdG8gb2J0YWluIHRoZSBsYXRlc3QKKyAgICAgICAgLy8gY29udGVudHMgc2l6
ZSBhbmQgY29tcHV0ZSB0aGUgZmluYWwgbGltaXRzLgorICAgICAgICBGcmFtZVZpZXcqIHZpZXcg
PSBtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpOworICAgICAgICBpZiAodmlldykKKyAgICAg
ICAgICAgIHZpZXctPnNldE5lZWRzTGF5b3V0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8g
T3RoZXJ3aXNlIGp1c3QgY29tcHV0ZSB0aGUgbGltaXRzIGltbWVkaWF0ZWx5LgorICAgICAgICBj
b21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRzKCk7CisgICAgfQogfQogCiB2b2lkIFdlYlZpZXdJ
bXBsOjpzZXRJZ25vcmVWaWV3cG9ydFRhZ01heGltdW1TY2FsZShib29sIGZsYWcpCkBAIC0zMTE4
LDQ1ICszMTMxLDQ2IEBAIEludFNpemUgV2ViVmlld0ltcGw6OmxheW91dFNpemUoKSBjb25zdAog
ICAgIHJldHVybiBJbnRTaXplKGNvbnRlbnRTaXplLndpZHRoKCksIGNvbnRlbnRTaXplLndpZHRo
KCkgKiBhc3BlY3RSYXRpbyk7CiB9CiAKLWJvb2wgV2ViVmlld0ltcGw6OmNvbXB1dGVQYWdlU2Nh
bGVGYWN0b3JMaW1pdHMoKQordm9pZCBXZWJWaWV3SW1wbDo6Y29tcHV0ZVBhZ2VTY2FsZUZhY3Rv
ckxpbWl0cygpCiB7CiAgICAgaWYgKG1fcGFnZURlZmluZWRNaW5pbXVtUGFnZVNjYWxlRmFjdG9y
ID09IC0xIHx8IG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNjYWxlRmFjdG9yID09IC0xKQotICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbWFpbkZyYW1l
KCkgfHwgIXBhZ2UoKSB8fCAhcGFnZSgpLT5tYWluRnJhbWUoKSB8fCAhcGFnZSgpLT5tYWluRnJh
bWUoKS0+dmlldygpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybjsKIAog
ICAgIEZyYW1lVmlldyogdmlldyA9IHBhZ2UoKS0+bWFpbkZyYW1lKCktPnZpZXcoKTsKIAogICAg
IG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvciA9IG1pbihtYXgobV9wYWdlRGVmaW5lZE1pbmltdW1Q
YWdlU2NhbGVGYWN0b3IsIG1pblBhZ2VTY2FsZUZhY3RvciksIG1heFBhZ2VTY2FsZUZhY3Rvcik7
CiAgICAgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yID0gbWF4KG1pbihtX3BhZ2VEZWZpbmVkTWF4
aW11bVBhZ2VTY2FsZUZhY3RvciwgbWF4UGFnZVNjYWxlRmFjdG9yKSwgbWluUGFnZVNjYWxlRmFj
dG9yKTsKLSAgICBpZiAoIW1fd2ViU2V0dGluZ3MtPmFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNv
bXBvc2l0b3IoKSkgewotICAgICAgICBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgKj0gZGV2aWNl
U2NhbGVGYWN0b3IoKTsKLSAgICAgICAgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yICo9IGRldmlj
ZVNjYWxlRmFjdG9yKCk7Ci0gICAgfQogCi0gICAgaW50IHZpZXdXaWR0aE5vdEluY2x1ZGluZ1Nj
cm9sbGJhcnMgPSBtX3NpemUud2lkdGg7Ci0gICAgaWYgKHZpZXdXaWR0aE5vdEluY2x1ZGluZ1Nj
cm9sbGJhcnMgJiYgdmlldy0+dmVydGljYWxTY3JvbGxiYXIoKSAmJiAhdmlldy0+dmVydGljYWxT
Y3JvbGxiYXIoKS0+aXNPdmVybGF5U2Nyb2xsYmFyKCkpCi0gICAgICAgIHZpZXdXaWR0aE5vdElu
Y2x1ZGluZ1Njcm9sbGJhcnMgLT0gdmlldy0+dmVydGljYWxTY3JvbGxiYXIoKS0+d2lkdGgoKTsK
LSAgICBpbnQgdW5zY2FsZWRDb250ZW50c1dpZHRoID0gY29udGVudHNTaXplKCkud2lkdGgoKTsK
LSAgICBpZiAodmlld1dpZHRoTm90SW5jbHVkaW5nU2Nyb2xsYmFycyAmJiB1bnNjYWxlZENvbnRl
bnRzV2lkdGgpIHsKLSAgICAgICAgLy8gTGltaXQgcGFnZSBzY2FsaW5nIGRvd24gdG8gdGhlIGRv
Y3VtZW50IHdpZHRoLgotICAgICAgICBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgPSBtYXgobV9t
aW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBzdGF0aWNfY2FzdDxmbG9hdD4odmlld1dpZHRoTm90SW5j
bHVkaW5nU2Nyb2xsYmFycykgLyB1bnNjYWxlZENvbnRlbnRzV2lkdGgpOworICAgIGlmIChzZXR0
aW5ncygpLT52aWV3cG9ydEVuYWJsZWQoKSkgeworICAgICAgICBpZiAoIWNvbnRlbnRzU2l6ZSgp
LndpZHRoKCkgfHwgIW1fc2l6ZS53aWR0aCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICAvLyBXaGVuIHZpZXdwb3J0IHRhZyBpcyBlbmFibGVkLCB0aGUgc2NhbGUgbmVlZGVkIHRvIHNl
ZSB0aGUgZnVsbAorICAgICAgICAvLyBjb250ZW50IHdpZHRoIGlzIHRoZSBkZWZhdWx0IG1pbmlt
dW0uCisgICAgICAgIGludCB2aWV3V2lkdGhOb3RJbmNsdWRpbmdTY3JvbGxiYXJzID0gbV9zaXpl
LndpZHRoOworICAgICAgICBpZiAodmlldy0+dmVydGljYWxTY3JvbGxiYXIoKSAmJiAhdmlldy0+
dmVydGljYWxTY3JvbGxiYXIoKS0+aXNPdmVybGF5U2Nyb2xsYmFyKCkpCisgICAgICAgICAgICB2
aWV3V2lkdGhOb3RJbmNsdWRpbmdTY3JvbGxiYXJzIC09IHZpZXctPnZlcnRpY2FsU2Nyb2xsYmFy
KCktPndpZHRoKCk7CisgICAgICAgIG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvciA9IG1heChtX21p
bmltdW1QYWdlU2NhbGVGYWN0b3IsIHN0YXRpY19jYXN0PGZsb2F0Pih2aWV3V2lkdGhOb3RJbmNs
dWRpbmdTY3JvbGxiYXJzKSAvIGNvbnRlbnRzU2l6ZSgpLndpZHRoKCkpOwogICAgICAgICBtX21h
eGltdW1QYWdlU2NhbGVGYWN0b3IgPSBtYXgobV9taW5pbXVtUGFnZVNjYWxlRmFjdG9yLCBtX21h
eGltdW1QYWdlU2NhbGVGYWN0b3IpOwogICAgIH0KICAgICBBU1NFUlQobV9taW5pbXVtUGFnZVNj
YWxlRmFjdG9yIDw9IG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcik7CiAKLSAgICBmbG9hdCBjbGFt
cGVkU2NhbGUgPSBjbGFtcFBhZ2VTY2FsZUZhY3RvclRvTGltaXRzKHBhZ2VTY2FsZUZhY3Rvcigp
KTsKKyAgICAvLyBJbml0aWFsaXplIGFuZC9vciBjbGFtcCB0aGUgcGFnZSBzY2FsZSBmYWN0b3Ig
aWYgbmVlZGVkLgorICAgIGZsb2F0IG5ld1BhZ2VTY2FsZUZhY3RvciA9IHBhZ2VTY2FsZUZhY3Rv
cigpOworICAgIGlmICghbV9wYWdlU2NhbGVGYWN0b3JJc1NldCAmJiBtX2luaXRpYWxQYWdlU2Nh
bGVGYWN0b3IgIT0gLTEpIHsKKyAgICAgICAgbmV3UGFnZVNjYWxlRmFjdG9yID0gbV9pbml0aWFs
UGFnZVNjYWxlRmFjdG9yOworICAgICAgICBtX3BhZ2VTY2FsZUZhY3RvcklzU2V0ID0gdHJ1ZTsK
KyAgICB9CisgICAgbmV3UGFnZVNjYWxlRmFjdG9yID0gY2xhbXBQYWdlU2NhbGVGYWN0b3JUb0xp
bWl0cyhuZXdQYWdlU2NhbGVGYWN0b3IpOwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICBpZiAobV9sYXllclRyZWVWaWV3KQotICAgICAgICBtX2xheWVyVHJlZVZpZXctPnNl
dFBhZ2VTY2FsZUZhY3RvckFuZExpbWl0cyhjbGFtcGVkU2NhbGUsIG1fbWluaW11bVBhZ2VTY2Fs
ZUZhY3RvciwgbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKTsKKyAgICAgICAgbV9sYXllclRyZWVW
aWV3LT5zZXRQYWdlU2NhbGVGYWN0b3JBbmRMaW1pdHMobmV3UGFnZVNjYWxlRmFjdG9yLCBtX21p
bmltdW1QYWdlU2NhbGVGYWN0b3IsIG1fbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcik7CiAjZW5kaWYK
LSAgICBpZiAoY2xhbXBlZFNjYWxlICE9IHBhZ2VTY2FsZUZhY3RvcigpKSB7Ci0gICAgICAgIHNl
dFBhZ2VTY2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQoY2xhbXBlZFNjYWxlKTsKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChu
ZXdQYWdlU2NhbGVGYWN0b3IgIT0gcGFnZVNjYWxlRmFjdG9yKCkpCisgICAgICAgIHNldFBhZ2VT
Y2FsZUZhY3RvclByZXNlcnZpbmdTY3JvbGxPZmZzZXQobmV3UGFnZVNjYWxlRmFjdG9yKTsKIH0K
IAogZmxvYXQgV2ViVmlld0ltcGw6Om1pbmltdW1QYWdlU2NhbGVGYWN0b3IoKSBjb25zdApAQCAt
Mzc3MSwzMiArMzc4NSwzMSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpsYXlvdXRVcGRhdGVkKFdlYkZy
YW1lSW1wbCogd2ViZnJhbWUpCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoc2V0dGluZ3Mo
KS0+dmlld3BvcnRFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKCFpc1BhZ2VTY2FsZUZhY3RvclNl
dCgpKSB7CisgICAgICAgICAgICAvLyBJZiB0aGUgdmlld3BvcnQgdGFnIGZhaWxlZCB0byBiZSBw
cm9jZXNzZWQgZWFybGllciwgd2UgbmVlZAorICAgICAgICAgICAgLy8gdG8gcmVjb21wdXRlIGl0
IG5vdy4KKyAgICAgICAgICAgIFZpZXdwb3J0QXJndW1lbnRzIHZpZXdwb3J0QXJndW1lbnRzID0g
bWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5kb2N1bWVudCgpLT52aWV3cG9ydEFyZ3VtZW50cygp
OworICAgICAgICAgICAgbV9wYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmRpc3BhdGNoVmlld3Bv
cnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKHZpZXdwb3J0QXJndW1lbnRzKTsKKyAgICAgICAgfQorCisg
ICAgICAgIC8vIENvbnRlbnRzIHNpemUgaXMgYW4gaW5wdXQgdG8gdGhlIHBhZ2Ugc2NhbGUgbGlt
aXRzLCBzbyBhIGdvb2QgdGltZSB0bworICAgICAgICAvLyByZWNhbGN1bGF0ZSBpcyBhZnRlciBs
YXlvdXQgaGFzIG9jY3VycmVkLgorICAgICAgICBjb21wdXRlUGFnZVNjYWxlRmFjdG9yTGltaXRz
KCk7CisKKyAgICAgICAgLy8gUmVsYXlvdXQgaW1tZWRpYXRlbHkgdG8gYXZvaWQgdmlvbGF0aW5n
IHRoZSBydWxlIHRoYXQgbmVlZHNMYXlvdXQoKQorICAgICAgICAvLyBpc24ndCBzZXQgYXQgdGhl
IGVuZCBvZiBhIGxheW91dC4KKyAgICAgICAgRnJhbWVWaWV3KiB2aWV3ID0gbWFpbkZyYW1lSW1w
bCgpLT5mcmFtZVZpZXcoKTsKKyAgICAgICAgaWYgKHZpZXcgJiYgdmlldy0+bmVlZHNMYXlvdXQo
KSkKKyAgICAgICAgICAgIHZpZXctPmxheW91dCgpOworICAgIH0KKwogICAgIG1fY2xpZW50LT5k
aWRVcGRhdGVMYXlvdXQoKTsKKwogfQogCiB2b2lkIFdlYlZpZXdJbXBsOjpkaWRDaGFuZ2VDb250
ZW50c1NpemUoKQogewotI2lmIEVOQUJMRShWSUVXUE9SVCkKLSAgICBpZiAoIXNldHRpbmdzKCkt
PnZpZXdwb3J0RW5hYmxlZCgpIHx8ICFtYWluRnJhbWVJbXBsKCkpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGJvb2wgbWF5TmVlZExheW91dCA9IGZhbHNlOwotICAgIGlmICghaXNQYWdlU2NhbGVG
YWN0b3JTZXQoKSkgewotICAgICAgICAvLyBJZiB0aGUgdmlld3BvcnQgdGFnIGZhaWxlZCB0byBi
ZSBwcm9jZXNzZWQgZWFybGllciwgd2UgbmVlZAotICAgICAgICAvLyB0byByZWNvbXB1dGUgaXQg
bm93LgotICAgICAgICBWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50cyA9IG1haW5G
cmFtZUltcGwoKS0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+dmlld3BvcnRBcmd1bWVudHMoKTsKLSAg
ICAgICAgbV9wYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmRpc3BhdGNoVmlld3BvcnRQcm9wZXJ0
aWVzRGlkQ2hhbmdlKHZpZXdwb3J0QXJndW1lbnRzKTsKLSAgICAgICAgbWF5TmVlZExheW91dCA9
IHRydWU7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1heU5lZWRMYXlvdXQgPSBjb21wdXRlUGFnZVNj
YWxlRmFjdG9yTGltaXRzKCk7Ci0KLSAgICAvLyBkaWRDaGFuZ2VDb250ZW50c1NpemUoKSBtYXkg
YmUgY2FsbGVkIGZyb20gRnJhbWVWaWV3OjpsYXlvdXQ7IHdlIG5lZWQgdG8KLSAgICAvLyByZWxh
eW91dCB0byBhdm9pZCB0cmlnZ2VyaW5nIHRoZSBhc3NlcnRpb24gdGhhdCBuZWVkc0xheW91dCgp
IGlzbid0IHNldAotICAgIC8vIGF0IHRoZSBlbmQgb2YgYSBsYXlvdXQuCi0gICAgRnJhbWVWaWV3
KiB2aWV3ID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKTsKLSAgICBpZiAobWF5TmVlZExh
eW91dCAmJiB2aWV3ICYmIHZpZXctPm5lZWRzTGF5b3V0KCkpCi0gICAgICAgIHZpZXctPmxheW91
dCgpOwotI2VuZGlmCiB9CiAKIGJvb2wgV2ViVmlld0ltcGw6OnVzZUV4dGVybmFsUG9wdXBNZW51
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCA2N2Q2YmE2
NWM2ZjMwMzNhYjhkNDcxZDExNzJjNzZkY2U1NjdhYTY2Li44NmFiZGU0NmFlOTNmZWE2MzAwZWY3
MGJjMjIyMzQzNzUyMzlkYWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmgKQEAgLTQ4NCw2ICs0ODQsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2VtdWxh
dGVkVGV4dFpvb21GYWN0b3I7CiAgICAgfQogCisgICAgdm9pZCBzZXRJbml0aWFsUGFnZVNjYWxl
RmFjdG9yKGZsb2F0IGluaXRpYWxQYWdlU2NhbGVGYWN0b3IpIHsgbV9pbml0aWFsUGFnZVNjYWxl
RmFjdG9yID0gaW5pdGlhbFBhZ2VTY2FsZUZhY3RvcjsgfQogICAgIGJvb2wgaWdub3JlVmlld3Bv
cnRUYWdNYXhpbXVtU2NhbGUoKSBjb25zdCB7IHJldHVybiBtX2lnbm9yZVZpZXdwb3J0VGFnTWF4
aW11bVNjYWxlOyB9CiAKICAgICAvLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBwYWdlIHNob3VsZCBl
LmcuIGJlIG9wZW5lZCBpbiBhIGJhY2tncm91bmQgdGFiLgpAQCAtNjE1LDcgKzYxNiw3IEBAIHB1
YmxpYzoKICAgICBXZWJTZXR0aW5nc0ltcGwqIHNldHRpbmdzSW1wbCgpOwogCiBwcml2YXRlOgot
ICAgIGJvb2wgY29tcHV0ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpOworICAgIHZvaWQgY29tcHV0
ZVBhZ2VTY2FsZUZhY3RvckxpbWl0cygpOwogICAgIGZsb2F0IGNsYW1wUGFnZVNjYWxlRmFjdG9y
VG9MaW1pdHMoZmxvYXQgc2NhbGUpOwogICAgIFdlYkNvcmU6OkludFBvaW50IGNsYW1wT2Zmc2V0
QXRTY2FsZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgb2Zmc2V0LCBmbG9hdCBzY2FsZSkgY29u
c3Q7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUoKSBjb25zdDsKQEAgLTc1NSw2
ICs3NTYsNyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fcGFnZURlZmluZWRNYXhpbXVtUGFnZVNj
YWxlRmFjdG9yOwogICAgIGZsb2F0IG1fbWluaW11bVBhZ2VTY2FsZUZhY3RvcjsKICAgICBmbG9h
dCBtX21heGltdW1QYWdlU2NhbGVGYWN0b3I7CisgICAgZmxvYXQgbV9pbml0aWFsUGFnZVNjYWxl
RmFjdG9yOwogICAgIGJvb2wgbV9pZ25vcmVWaWV3cG9ydFRhZ01heGltdW1TY2FsZTsKICAgICBi
b29sIG1fcGFnZVNjYWxlRmFjdG9ySXNTZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvV2ViRnJhbWVUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvV2ViRnJhbWVUZXN0LmNwcAppbmRleCAwNzczNjQ5MzhjZDNjZmZhZGRjMmY1ZmZhOTI1
NjEyMTA2MmQzNTM2Li4yZTg4ZjgzNjkxNTgyNThjMjgzZDc2NzBhNTgyZjM2YjNlNjVjOGI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYkZyYW1lVGVzdC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJGcmFtZVRlc3QuY3BwCkBAIC0y
NTQsOSArMjU0LDcgQEAgVEVTVF9GKFdlYkZyYW1lVGVzdCwgRGV2aWNlU2NhbGVGYWN0b3JVc2Vz
RGVmYXVsdFdpdGhvdXRWaWV3cG9ydFRhZykKICAgICB3ZWJWaWV3LT5tYWluRnJhbWUoKS0+Y29u
dGVudEFzVGV4dCgxMDI0KS51dGY4KCk7CiB9CiAKLS8vIFRlc3QgaXMgZGlzYWJsZWQgYmVjYXVz
ZSBpdCBzdGFydGVkIGZhaWxpbmcgYWZ0ZXIgcjE0MDAyNS4KLS8vIFNlZSBidWcgZm9yIGRldGFp
bHM6IHdlYmtpdC5vcmcvYi8xMDcyMDYuCi1URVNUX0YoV2ViRnJhbWVUZXN0LCBESVNBQkxFRF9G
aXhlZExheW91dEluaXRpYWxpemVBdE1pbmltdW1QYWdlU2NhbGUpCitURVNUX0YoV2ViRnJhbWVU
ZXN0LCBGaXhlZExheW91dEluaXRpYWxpemVBdE1pbmltdW1QYWdlU2NhbGUpCiB7CiAgICAgcmVn
aXN0ZXJNb2NrZWRIdHRwVVJMTG9hZCgiZml4ZWRfbGF5b3V0Lmh0bWwiKTsKIApAQCAtMjY4LDYg
KzI2Niw4IEBAIFRFU1RfRihXZWJGcmFtZVRlc3QsIERJU0FCTEVEX0ZpeGVkTGF5b3V0SW5pdGlh
bGl6ZUF0TWluaW11bVBhZ2VTY2FsZSkKICAgICAvLyBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0
byBtaW5pbXVtIHNjYWxlLCBldmVuIGlmIHRoZSB3aW5kb3cgc2l6ZQogICAgIC8vIG9ubHkgYmVj
b21lcyBhdmFpbGFibGUgYWZ0ZXIgdGhlIGxvYWQgYmVnaW5zLgogICAgIFdlYlZpZXdJbXBsKiB3
ZWJWaWV3SW1wbCA9IHN0YXRpY19jYXN0PFdlYlZpZXdJbXBsKj4oRnJhbWVUZXN0SGVscGVyczo6
Y3JlYXRlV2ViVmlld0FuZExvYWQobV9iYXNlVVJMICsgImZpeGVkX2xheW91dC5odG1sIiwgdHJ1
ZSwgMCwgJmNsaWVudCkpOworICAgIHdlYlZpZXdJbXBsLT5zZXR0aW5ncygpLT5zZXRBcHBseURl
dmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKHRydWUpOworICAgIHdlYlZpZXdJbXBsLT5zZXR0
aW5ncygpLT5zZXRBcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcih0cnVlKTsKICAgICB3
ZWJWaWV3SW1wbC0+ZW5hYmxlRml4ZWRMYXlvdXRNb2RlKHRydWUpOwogICAgIHdlYlZpZXdJbXBs
LT5zZXR0aW5ncygpLT5zZXRWaWV3cG9ydEVuYWJsZWQodHJ1ZSk7CiAgICAgd2ViVmlld0ltcGwt
PnJlc2l6ZShXZWJTaXplKHZpZXdwb3J0V2lkdGgsIHZpZXdwb3J0SGVpZ2h0KSk7CkBAIC0zNTUs
OCArMzU1LDcgQEAgVEVTVF9GKFdlYkZyYW1lVGVzdCwgcGFnZVNjYWxlRmFjdG9yV3JpdHRlblRv
SGlzdG9yeUl0ZW0pCiAgICAgRVhQRUNUX0VRKDMsIHdlYlZpZXdJbXBsLT5wYWdlU2NhbGVGYWN0
b3IoKSk7CiB9CiAKLS8vIERpc2FibGVkLCBwZW5kaW5nIGludmVzdGlnYXRpb24gYWZ0ZXIgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTQxMDUzCi1URVNUX0YoV2ViRnJhbWVUZXN0
LCBESVNBQkxFRF9wYWdlU2NhbGVGYWN0b3JTaHJpbmtzVmlld3BvcnQpCitURVNUX0YoV2ViRnJh
bWVUZXN0LCBwYWdlU2NhbGVGYWN0b3JTaHJpbmtzVmlld3BvcnQpCiB7CiAgICAgcmVnaXN0ZXJN
b2NrZWRIdHRwVVJMTG9hZCgiZml4ZWRfbGF5b3V0Lmh0bWwiKTsKIApAQCAtMzY0LDggKzM2Myw2
IEBAIFRFU1RfRihXZWJGcmFtZVRlc3QsIERJU0FCTEVEX3BhZ2VTY2FsZUZhY3RvclNocmlua3NW
aWV3cG9ydCkKICAgICBjbGllbnQubV9zY3JlZW5JbmZvLmRldmljZVNjYWxlRmFjdG9yID0gMTsK
ICAgICBpbnQgdmlld3BvcnRXaWR0aCA9IDY0MDsKICAgICBpbnQgdmlld3BvcnRIZWlnaHQgPSA0
ODA7Ci0gICAgaW50IHZpZXdwb3J0V2lkdGhNaW51c1Njcm9sbGJhciA9IDY0MCAtIDE1OwotICAg
IGludCB2aWV3cG9ydEhlaWdodE1pbnVzU2Nyb2xsYmFyID0gNDgwIC0gMTU7CiAKICAgICBXZWJW
aWV3SW1wbCogd2ViVmlld0ltcGwgPSBzdGF0aWNfY2FzdDxXZWJWaWV3SW1wbCo+KEZyYW1lVGVz
dEhlbHBlcnM6OmNyZWF0ZVdlYlZpZXdBbmRMb2FkKG1fYmFzZVVSTCArICJmaXhlZF9sYXlvdXQu
aHRtbCIsIHRydWUsIDAsICZjbGllbnQpKTsKICAgICB3ZWJWaWV3SW1wbC0+c2V0dGluZ3MoKS0+
c2V0QXBwbHlEZXZpY2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcih0cnVlKTsKQEAgLTM3NSwxNyAr
MzcyLDIxIEBAIFRFU1RfRihXZWJGcmFtZVRlc3QsIERJU0FCTEVEX3BhZ2VTY2FsZUZhY3RvclNo
cmlua3NWaWV3cG9ydCkKICAgICB3ZWJWaWV3SW1wbC0+cmVzaXplKFdlYlNpemUodmlld3BvcnRX
aWR0aCwgdmlld3BvcnRIZWlnaHQpKTsKICAgICB3ZWJWaWV3SW1wbC0+bGF5b3V0KCk7CiAKKyAg
ICBXZWJDb3JlOjpGcmFtZVZpZXcqIHZpZXcgPSB3ZWJWaWV3SW1wbC0+bWFpbkZyYW1lSW1wbCgp
LT5mcmFtZVZpZXcoKTsKKyAgICBpbnQgdmlld3BvcnRXaWR0aE1pbnVzU2Nyb2xsYmFyID0gNjQw
IC0gKHZpZXctPnZlcnRpY2FsU2Nyb2xsYmFyKCktPmlzT3ZlcmxheVNjcm9sbGJhcigpID8gMCA6
IDE1KTsKKyAgICBpbnQgdmlld3BvcnRIZWlnaHRNaW51c1Njcm9sbGJhciA9IDQ4MCAtICh2aWV3
LT5ob3Jpem9udGFsU2Nyb2xsYmFyKCktPmlzT3ZlcmxheVNjcm9sbGJhcigpID8gMCA6IDE1KTsK
KwogICAgIHdlYlZpZXdJbXBsLT5zZXRQYWdlU2NhbGVGYWN0b3IoMiwgV2ViUG9pbnQoKSk7CiAK
LSAgICBXZWJDb3JlOjpJbnRTaXplIHVuc2NhbGVkU2l6ZSA9IHdlYlZpZXdJbXBsLT5tYWluRnJh
bWVJbXBsKCktPmZyYW1lVmlldygpLT51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZSh0cnVlKTsK
KyAgICBXZWJDb3JlOjpJbnRTaXplIHVuc2NhbGVkU2l6ZSA9IHZpZXctPnVuc2NhbGVkVmlzaWJs
ZUNvbnRlbnRTaXplKHRydWUpOwogICAgIEVYUEVDVF9FUSh2aWV3cG9ydFdpZHRoLCB1bnNjYWxl
ZFNpemUud2lkdGgoKSk7CiAgICAgRVhQRUNUX0VRKHZpZXdwb3J0SGVpZ2h0LCB1bnNjYWxlZFNp
emUuaGVpZ2h0KCkpOwogCi0gICAgV2ViQ29yZTo6SW50U2l6ZSB1bnNjYWxlZFNpemVNaW51c1Nj
cm9sbGJhciA9IHdlYlZpZXdJbXBsLT5tYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLT51bnNj
YWxlZFZpc2libGVDb250ZW50U2l6ZShmYWxzZSk7CisgICAgV2ViQ29yZTo6SW50U2l6ZSB1bnNj
YWxlZFNpemVNaW51c1Njcm9sbGJhciA9IHZpZXctPnVuc2NhbGVkVmlzaWJsZUNvbnRlbnRTaXpl
KGZhbHNlKTsKICAgICBFWFBFQ1RfRVEodmlld3BvcnRXaWR0aE1pbnVzU2Nyb2xsYmFyLCB1bnNj
YWxlZFNpemVNaW51c1Njcm9sbGJhci53aWR0aCgpKTsKICAgICBFWFBFQ1RfRVEodmlld3BvcnRI
ZWlnaHRNaW51c1Njcm9sbGJhciwgdW5zY2FsZWRTaXplTWludXNTY3JvbGxiYXIuaGVpZ2h0KCkp
OwogCi0gICAgV2ViQ29yZTo6SW50U2l6ZSBzY2FsZWRTaXplID0gd2ViVmlld0ltcGwtPm1haW5G
cmFtZUltcGwoKS0+ZnJhbWVWaWV3KCktPnZpc2libGVDb250ZW50UmVjdCgpLnNpemUoKTsKKyAg
ICBXZWJDb3JlOjpJbnRTaXplIHNjYWxlZFNpemUgPSB2aWV3LT52aXNpYmxlQ29udGVudFJlY3Qo
KS5zaXplKCk7CiAgICAgRVhQRUNUX0VRKGNlaWwodmlld3BvcnRXaWR0aE1pbnVzU2Nyb2xsYmFy
IC8gMi4wKSwgc2NhbGVkU2l6ZS53aWR0aCgpKTsKICAgICBFWFBFQ1RfRVEoY2VpbCh2aWV3cG9y
dEhlaWdodE1pbnVzU2Nyb2xsYmFyIC8gMi4wKSwgc2NhbGVkU2l6ZS5oZWlnaHQoKSk7CiB9CkBA
IC00MjUsNiArNDI2LDggQEAgVEVTVF9GKFdlYkZyYW1lVGVzdCwgQ2FuT3ZlcnJpZGVNYXhpbXVt
U2NhbGVGYWN0b3IpCiAgICAgaW50IHZpZXdwb3J0SGVpZ2h0ID0gNDgwOwogCiAgICAgV2ViVmll
d0ltcGwqIHdlYlZpZXdJbXBsID0gc3RhdGljX2Nhc3Q8V2ViVmlld0ltcGwqPihGcmFtZVRlc3RI
ZWxwZXJzOjpjcmVhdGVXZWJWaWV3QW5kTG9hZChtX2Jhc2VVUkwgKyAibm9fc2NhbGVfZm9yX3lv
dS5odG1sIiwgdHJ1ZSwgMCwgJmNsaWVudCkpOworICAgIHdlYlZpZXdJbXBsLT5zZXR0aW5ncygp
LT5zZXRBcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKHRydWUpOworICAgIHdlYlZp
ZXdJbXBsLT5zZXR0aW5ncygpLT5zZXRBcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcih0
cnVlKTsKICAgICB3ZWJWaWV3SW1wbC0+ZW5hYmxlRml4ZWRMYXlvdXRNb2RlKHRydWUpOwogICAg
IHdlYlZpZXdJbXBsLT5zZXR0aW5ncygpLT5zZXRWaWV3cG9ydEVuYWJsZWQodHJ1ZSk7CiAgICAg
d2ViVmlld0ltcGwtPnJlc2l6ZShXZWJTaXplKHZpZXdwb3J0V2lkdGgsIHZpZXdwb3J0SGVpZ2h0
KSk7CkBAIC00MzIsNiArNDM1LDcgQEAgVEVTVF9GKFdlYkZyYW1lVGVzdCwgQ2FuT3ZlcnJpZGVN
YXhpbXVtU2NhbGVGYWN0b3IpCiAgICAgRVhQRUNUX0VRKDEuMGYsIHdlYlZpZXdJbXBsLT5tYXhp
bXVtUGFnZVNjYWxlRmFjdG9yKCkpOwogCiAgICAgd2ViVmlld0ltcGwtPnNldElnbm9yZVZpZXdw
b3J0VGFnTWF4aW11bVNjYWxlKHRydWUpOworICAgIHdlYlZpZXdJbXBsLT5sYXlvdXQoKTsKIAog
ICAgIEVYUEVDVF9FUSg0LjBmLCB3ZWJWaWV3SW1wbC0+bWF4aW11bVBhZ2VTY2FsZUZhY3Rvcigp
KTsKIH0KQEAgLTU2Miw5ICs1NjYsNyBAQCBURVNUX0YoV2ViRnJhbWVUZXN0LCBEaXZBdXRvWm9v
bVBhcmFtc1Rlc3RDb21wb3NpdG9yU2NhbGluZykKIAogdm9pZCBzaW11bGF0ZURvdWJsZVRhcChX
ZWJWaWV3SW1wbCogd2ViVmlld0ltcGwsIFdlYlBvaW50JiBwb2ludCwgZmxvYXQmIHNjYWxlKQog
ewotICAgIFdlYlBvaW50IHNjYWxlZFBvaW50KHN0YXRpY19jYXN0PGludD4ocG9pbnQueCAqIHdl
YlZpZXdJbXBsLT5wYWdlU2NhbGVGYWN0b3IoKSksCi0gICAgICAgIHN0YXRpY19jYXN0PGludD4o
cG9pbnQueSAqIHdlYlZpZXdJbXBsLT5wYWdlU2NhbGVGYWN0b3IoKSkpOwotICAgIHdlYlZpZXdJ
bXBsLT5hbmltYXRlWm9vbUFyb3VuZFBvaW50KHNjYWxlZFBvaW50LCBXZWJWaWV3SW1wbDo6RG91
YmxlVGFwKTsKKyAgICB3ZWJWaWV3SW1wbC0+YW5pbWF0ZVpvb21Bcm91bmRQb2ludChwb2ludCwg
V2ViVmlld0ltcGw6OkRvdWJsZVRhcCk7CiAgICAgd2ViVmlld0ltcGwtPm1haW5GcmFtZUltcGwo
KS0+ZnJhbWVWaWV3KCktPmxheW91dCgpOwogICAgIHNjYWxlID0gd2ViVmlld0ltcGwtPnBhZ2VT
Y2FsZUZhY3RvcigpOwogfQpAQCAtNzM3LDYgKzczOSw3IEBAIFRFU1RfRihXZWJGcmFtZVRlc3Qs
IERpdkF1dG9ab29tU2NhbGVCb3VuZHNUZXN0Q29tcG9zaXRvclNjYWxpbmcpCiAgICAgLy8gVGVz
dCBkb3VibGUgdGFwIHNjYWxlIGJvdW5kcy4KICAgICAvLyBtaW5pbXVtUGFnZVNjYWxlIDwgZG91
YmxlVGFwWm9vbUFscmVhZHlMZWdpYmxlU2NhbGUgPCAxCiAgICAgd2ViVmlldy0+c2V0UGFnZVNj
YWxlRmFjdG9yTGltaXRzKDAuNWYsIDQpOworICAgIHdlYlZpZXctPmxheW91dCgpOwogICAgIGZs
b2F0IGRvdWJsZVRhcFpvb21BbHJlYWR5TGVnaWJsZVNjYWxlID0gd2ViVmlld0ltcGwtPm1pbmlt
dW1QYWdlU2NhbGVGYWN0b3IoKSAqIGRvdWJsZVRhcFpvb21BbHJlYWR5TGVnaWJsZVJhdGlvOwog
ICAgIHNldFNjYWxlQW5kU2Nyb2xsQW5kTGF5b3V0KHdlYlZpZXdJbXBsLCBXZWJQb2ludCgwLCAw
KSwgKHdlYlZpZXdJbXBsLT5taW5pbXVtUGFnZVNjYWxlRmFjdG9yKCkpICogKDEgKyBkb3VibGVU
YXBab29tQWxyZWFkeUxlZ2libGVSYXRpbykgLyAyKTsKICAgICBzaW11bGF0ZURvdWJsZVRhcCh3
ZWJWaWV3SW1wbCwgZG91YmxlVGFwUG9pbnQsIHNjYWxlKTsKQEAgLTc1MCw2ICs3NTMsNyBAQCBU
RVNUX0YoV2ViRnJhbWVUZXN0LCBEaXZBdXRvWm9vbVNjYWxlQm91bmRzVGVzdENvbXBvc2l0b3JT
Y2FsaW5nKQogICAgIHdlYlZpZXdJbXBsLT5hcHBseVNjcm9sbEFuZFNjYWxlKFdlYlNpemUoKSwg
MS4xZik7CiAgICAgLy8gMSA8IG1pbmltdW1QYWdlU2NhbGUgPCBkb3VibGVUYXBab29tQWxyZWFk
eUxlZ2libGVTY2FsZQogICAgIHdlYlZpZXctPnNldFBhZ2VTY2FsZUZhY3RvckxpbWl0cygxLjFm
LCA0KTsKKyAgICB3ZWJWaWV3LT5sYXlvdXQoKTsKICAgICBkb3VibGVUYXBab29tQWxyZWFkeUxl
Z2libGVTY2FsZSA9IHdlYlZpZXdJbXBsLT5taW5pbXVtUGFnZVNjYWxlRmFjdG9yKCkgKiBkb3Vi
bGVUYXBab29tQWxyZWFkeUxlZ2libGVSYXRpbzsKICAgICBzZXRTY2FsZUFuZFNjcm9sbEFuZExh
eW91dCh3ZWJWaWV3SW1wbCwgV2ViUG9pbnQoMCwgMCksICh3ZWJWaWV3SW1wbC0+bWluaW11bVBh
Z2VTY2FsZUZhY3RvcigpKSAqICgxICsgZG91YmxlVGFwWm9vbUFscmVhZHlMZWdpYmxlUmF0aW8p
IC8gMik7CiAgICAgc2ltdWxhdGVEb3VibGVUYXAod2ViVmlld0ltcGwsIGRvdWJsZVRhcFBvaW50
LCBzY2FsZSk7CkBAIC03NjMsNiArNzY3LDcgQEAgVEVTVF9GKFdlYkZyYW1lVGVzdCwgRGl2QXV0
b1pvb21TY2FsZUJvdW5kc1Rlc3RDb21wb3NpdG9yU2NhbGluZykKICAgICB3ZWJWaWV3SW1wbC0+
YXBwbHlTY3JvbGxBbmRTY2FsZShXZWJTaXplKCksIDEuMWYpOwogICAgIC8vIG1pbmltdW1QYWdl
U2NhbGUgPCAxIDwgZG91YmxlVGFwWm9vbUFscmVhZHlMZWdpYmxlU2NhbGUKICAgICB3ZWJWaWV3
LT5zZXRQYWdlU2NhbGVGYWN0b3JMaW1pdHMoMC45NWYsIDQpOworICAgIHdlYlZpZXctPmxheW91
dCgpOwogICAgIGRvdWJsZVRhcFpvb21BbHJlYWR5TGVnaWJsZVNjYWxlID0gd2ViVmlld0ltcGwt
Pm1pbmltdW1QYWdlU2NhbGVGYWN0b3IoKSAqIGRvdWJsZVRhcFpvb21BbHJlYWR5TGVnaWJsZVJh
dGlvOwogICAgIHNldFNjYWxlQW5kU2Nyb2xsQW5kTGF5b3V0KHdlYlZpZXdJbXBsLCBXZWJQb2lu
dCgwLCAwKSwgKHdlYlZpZXdJbXBsLT5taW5pbXVtUGFnZVNjYWxlRmFjdG9yKCkpICogKDEgKyBk
b3VibGVUYXBab29tQWxyZWFkeUxlZ2libGVSYXRpbykgLyAyKTsKICAgICBzaW11bGF0ZURvdWJs
ZVRhcCh3ZWJWaWV3SW1wbCwgZG91YmxlVGFwUG9pbnQsIHNjYWxlKTsKQEAgLTg3OCw4ICs4ODMs
OSBAQCBURVNUX0YoV2ViRnJhbWVUZXN0LCBEaXZBdXRvWm9vbVNjYWxlRm9udFNjYWxlRmFjdG9y
VGVzdENvbXBvc2l0b3JTY2FsaW5nKQogICAgIC8vIG1pbmltdW1QYWdlU2NhbGUgPCBkb3VibGVU
YXBab29tQWxyZWFkeUxlZ2libGVTY2FsZSA8IDEgPCB0ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZh
Y3RvcgogICAgIGZsb2F0IGxlZ2libGVTY2FsZSA9IHRleHRBdXRvc2l6aW5nRm9udFNjYWxlRmFj
dG9yOwogICAgIHNldFNjYWxlQW5kU2Nyb2xsQW5kTGF5b3V0KHdlYlZpZXdJbXBsLCBXZWJQb2lu
dCgwLCAwKSwgKHdlYlZpZXdJbXBsLT5taW5pbXVtUGFnZVNjYWxlRmFjdG9yKCkpICogKDEgKyBk
b3VibGVUYXBab29tQWxyZWFkeUxlZ2libGVSYXRpbykgLyAyKTsKLSAgICB3ZWJWaWV3LT5zZXRQ
YWdlU2NhbGVGYWN0b3JMaW1pdHMoMC41ZiwgNCk7CiAgICAgZmxvYXQgZG91YmxlVGFwWm9vbUFs
cmVhZHlMZWdpYmxlU2NhbGUgPSB3ZWJWaWV3SW1wbC0+bWluaW11bVBhZ2VTY2FsZUZhY3Rvcigp
ICogZG91YmxlVGFwWm9vbUFscmVhZHlMZWdpYmxlUmF0aW87CisgICAgd2ViVmlldy0+c2V0UGFn
ZVNjYWxlRmFjdG9yTGltaXRzKDAuNWYsIDQpOworICAgIHdlYlZpZXctPmxheW91dCgpOwogICAg
IHNpbXVsYXRlRG91YmxlVGFwKHdlYlZpZXdJbXBsLCBkb3VibGVUYXBQb2ludCwgc2NhbGUpOwog
ICAgIEVYUEVDVF9GTE9BVF9FUShsZWdpYmxlU2NhbGUsIHNjYWxlKTsKICAgICBzaW11bGF0ZURv
dWJsZVRhcCh3ZWJWaWV3SW1wbCwgZG91YmxlVGFwUG9pbnQsIHNjYWxlKTsKQEAgLTg5MSw2ICs4
OTcsNyBAQCBURVNUX0YoV2ViRnJhbWVUZXN0LCBEaXZBdXRvWm9vbVNjYWxlRm9udFNjYWxlRmFj
dG9yVGVzdENvbXBvc2l0b3JTY2FsaW5nKQogICAgIHdlYlZpZXdJbXBsLT5hcHBseVNjcm9sbEFu
ZFNjYWxlKFdlYlNpemUoKSwgMS4xZik7CiAgICAgLy8gMSA8IHRleHRBdXRvc2l6aW5nRm9udFNj
YWxlRmFjdG9yIDwgbWluaW11bVBhZ2VTY2FsZSA8IGRvdWJsZVRhcFpvb21BbHJlYWR5TGVnaWJs
ZVNjYWxlCiAgICAgd2ViVmlldy0+c2V0UGFnZVNjYWxlRmFjdG9yTGltaXRzKDEuMGYsIDQpOwor
ICAgIHdlYlZpZXctPmxheW91dCgpOwogICAgIGRvdWJsZVRhcFpvb21BbHJlYWR5TGVnaWJsZVNj
YWxlID0gd2ViVmlld0ltcGwtPm1pbmltdW1QYWdlU2NhbGVGYWN0b3IoKSAqIGRvdWJsZVRhcFpv
b21BbHJlYWR5TGVnaWJsZVJhdGlvOwogICAgIHNldFNjYWxlQW5kU2Nyb2xsQW5kTGF5b3V0KHdl
YlZpZXdJbXBsLCBXZWJQb2ludCgwLCAwKSwgKHdlYlZpZXdJbXBsLT5taW5pbXVtUGFnZVNjYWxl
RmFjdG9yKCkpICogKDEgKyBkb3VibGVUYXBab29tQWxyZWFkeUxlZ2libGVSYXRpbykgLyAyKTsK
ICAgICBzaW11bGF0ZURvdWJsZVRhcCh3ZWJWaWV3SW1wbCwgZG91YmxlVGFwUG9pbnQsIHNjYWxl
KTsKQEAgLTkwNCw2ICs5MTEsNyBAQCBURVNUX0YoV2ViRnJhbWVUZXN0LCBEaXZBdXRvWm9vbVNj
YWxlRm9udFNjYWxlRmFjdG9yVGVzdENvbXBvc2l0b3JTY2FsaW5nKQogICAgIHdlYlZpZXdJbXBs
LT5hcHBseVNjcm9sbEFuZFNjYWxlKFdlYlNpemUoKSwgMS4xZik7CiAgICAgLy8gbWluaW11bVBh
Z2VTY2FsZSA8IDEgPCB0ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3RvciA8IGRvdWJsZVRhcFpv
b21BbHJlYWR5TGVnaWJsZVNjYWxlCiAgICAgd2ViVmlldy0+c2V0UGFnZVNjYWxlRmFjdG9yTGlt
aXRzKDAuOTVmLCA0KTsKKyAgICB3ZWJWaWV3LT5sYXlvdXQoKTsKICAgICBkb3VibGVUYXBab29t
QWxyZWFkeUxlZ2libGVTY2FsZSA9IHdlYlZpZXdJbXBsLT5taW5pbXVtUGFnZVNjYWxlRmFjdG9y
KCkgKiBkb3VibGVUYXBab29tQWxyZWFkeUxlZ2libGVSYXRpbzsKICAgICBzZXRTY2FsZUFuZFNj
cm9sbEFuZExheW91dCh3ZWJWaWV3SW1wbCwgV2ViUG9pbnQoMCwgMCksICh3ZWJWaWV3SW1wbC0+
bWluaW11bVBhZ2VTY2FsZUZhY3RvcigpKSAqICgxICsgZG91YmxlVGFwWm9vbUFscmVhZHlMZWdp
YmxlUmF0aW8pIC8gMik7CiAgICAgc2ltdWxhdGVEb3VibGVUYXAod2ViVmlld0ltcGwsIGRvdWJs
ZVRhcFBvaW50LCBzY2FsZSk7CkBAIC05MTcsNiArOTI1LDcgQEAgVEVTVF9GKFdlYkZyYW1lVGVz
dCwgRGl2QXV0b1pvb21TY2FsZUZvbnRTY2FsZUZhY3RvclRlc3RDb21wb3NpdG9yU2NhbGluZykK
ICAgICB3ZWJWaWV3SW1wbC0+YXBwbHlTY3JvbGxBbmRTY2FsZShXZWJTaXplKCksIDEuMWYpOwog
ICAgIC8vIG1pbmltdW1QYWdlU2NhbGUgPCAxIDwgZG91YmxlVGFwWm9vbUFscmVhZHlMZWdpYmxl
U2NhbGUgPCB0ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3RvcgogICAgIHdlYlZpZXctPnNldFBh
Z2VTY2FsZUZhY3RvckxpbWl0cygwLjlmLCA0KTsKKyAgICB3ZWJWaWV3LT5sYXlvdXQoKTsKICAg
ICBkb3VibGVUYXBab29tQWxyZWFkeUxlZ2libGVTY2FsZSA9IHdlYlZpZXdJbXBsLT5taW5pbXVt
UGFnZVNjYWxlRmFjdG9yKCkgKiBkb3VibGVUYXBab29tQWxyZWFkeUxlZ2libGVSYXRpbzsKICAg
ICBzZXRTY2FsZUFuZFNjcm9sbEFuZExheW91dCh3ZWJWaWV3SW1wbCwgV2ViUG9pbnQoMCwgMCks
ICh3ZWJWaWV3SW1wbC0+bWluaW11bVBhZ2VTY2FsZUZhY3RvcigpKSAqICgxICsgZG91YmxlVGFw
Wm9vbUFscmVhZHlMZWdpYmxlUmF0aW8pIC8gMik7CiAgICAgc2ltdWxhdGVEb3VibGVUYXAod2Vi
Vmlld0ltcGwsIGRvdWJsZVRhcFBvaW50LCBzY2FsZSk7Cg==
</data>
<flag name="review"
          id="204895"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>