<?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>78262</bug_id>
          
          <creation_ts>2012-02-09 11:58:03 -0800</creation_ts>
          <short_desc>Add roundedIntPoint method for LayoutPoints</short_desc>
          <delta_ts>2012-02-09 15:09:45 -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>Layout and Rendering</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>
          
          <blocked>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>553384</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-02-09 11:58:03 -0800</bug_when>
    <thetext>Add in a stub roundedIntPoint method that operates on a LayoutPoint and returns a rounded IntPoint, and pipe it through its usage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553467</commentid>
    <comment_count>1</comment_count>
      <attachid>126363</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-02-09 13:40:01 -0800</bug_when>
    <thetext>Created attachment 126363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553532</commentid>
    <comment_count>2</comment_count>
      <attachid>126363</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-09 14:58:12 -0800</bug_when>
    <thetext>Comment on attachment 126363
Patch

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

These seem OK.  It&apos;s difficult for me to validate if they&apos;re correct.

&gt; Source/WebCore/page/EventHandler.cpp:1049
&gt; +                IntPoint mainFramePoint = mainView-&gt;rootViewToContents(resultView-&gt;contentsToRootView(roundedIntPoint(result.point())));

I guess our policy with hit testing is to round?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553534</commentid>
    <comment_count>3</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-02-09 14:59:37 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; I guess our policy with hit testing is to round?

At least for now. Making hit testing subpixel aware is something we want to do eventually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553544</commentid>
    <comment_count>4</comment_count>
      <attachid>126363</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-02-09 15:09:42 -0800</bug_when>
    <thetext>Comment on attachment 126363
Patch

Clearing flags on attachment: 126363

Committed r107296: &lt;http://trac.webkit.org/changeset/107296&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553545</commentid>
    <comment_count>5</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-02-09 15:09:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126363</attachid>
            <date>2012-02-09 13:40:01 -0800</date>
            <delta_ts>2012-02-09 15:09:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78262-20120209134000.patch</filename>
            <type>text/plain</type>
            <size>17836</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzI2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAyLTA5ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgcm91bmRlZEludFBv
aW50IG1ldGhvZCBmb3IgTGF5b3V0UG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03ODI2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGluZyBhIHJvdW5kZWRJbnRQb2ludCBtZXRob2QgdGhhdCBv
cGVyYXRlcyBvbiBhIExheW91dFBvaW50LiBDdXJyZW50bHksIHRoaXMgZG9lcworICAgICAgICBu
b3RoaW5nIGFzIExheW91dFBvaW50IGlzIGEgdHlwZWRlZiB0byBJbnRQb2ludC4gV2hlbiB3ZSBl
bmFibGUgc3ViLXBpeGVsIExheW91dFVuaXRzLAorICAgICAgICB0aGlzIGlzIGEgY3JpdGljYWwg
cGFydCBpbiBvdXIgcGl4ZWwgc25hcHBpbmcgc3RyYXRlZ3ksIHdoZXJlIHdlIHJvdW5kIHRoZSBs
b2dpY2FsIHRvcC0KKyAgICAgICAgbGVmdCBwb2ludCwgdGhlbiBzbmFwIHRoZSByaWdodCBhbmQg
Ym90dG9tIGVkZ2VzLgorCisgICAgICAgIEFsc28gdXNpbmcgdGhpcyBuZXcgbWV0aG9kIHdoZXJl
IHdlIHdpc2ggdG8gY29udmVydCBMYXlvdXRQb2ludHMgdG8gSW50UG9pbnRzLCB3aGljaAorICAg
ICAgICB3ZSdyZSBjdXJyZW50bHkgZG9pbmcgaW1wbGljaXRseSAoc2luY2UgdGhleSdyZSB0aGUg
c2FtZSB0aGluZykuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gZnVuY3Rp
b25hbGl0eS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp2
aXNpYmxlUG9zaXRpb25Gb3JQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5SGl0VGVzdCk6CisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpldmVudE1heVN0
YXJ0RHJhZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRB
dFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKToK
KyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0VHlwZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OnJv
dW5kZWRJbnRQb2ludCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRk
ZWRPYmplY3Q6OmdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhy
ZWFkOjpwYWludEludG9SZWdpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFtZVNl
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGcmFtZVNldDo6Z2V0Q3Vyc29yKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJs
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6b2Zmc2V0RnJvbVJlc2l6ZUNvcm5l
cik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aXNQb2ludEluUmVzaXplQ29udHJv
bCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnBhaW50Q29udGVudHMpOgorICAgICAgICAqIHJlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0
aE1MQmxvY2s6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TEZyYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEZyYWN0aW9uOjpw
YWludCk6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFJvb3Q6OnBhaW50KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNxdWFyZVJvb3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWF0aE1MU3F1YXJlUm9vdDo6cGFpbnQpOgorCiAyMDEyLTAyLTA5ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTA3MDM1LgpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCShyZXZp
c2lvbiAxMDcxNTQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjc1LDcgKzI2NzUsNyBAQCBW
aXNpYmxlUG9zaXRpb24gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjCiAgICAgd2hpbGUgKDEpIHsK
ICAgICAgICAgTGF5b3V0UG9pbnQgb3VycG9pbnQ7CiAjaWYgUExBVEZPUk0oTUFDKQotICAgICAg
ICBvdXJwb2ludCA9IGZyYW1lVmlldy0+c2NyZWVuVG9Db250ZW50cyhwb2ludCk7CisgICAgICAg
IG91cnBvaW50ID0gZnJhbWVWaWV3LT5zY3JlZW5Ub0NvbnRlbnRzKHJvdW5kZWRJbnRQb2ludChw
b2ludCkpOwogI2Vsc2UKICAgICAgICAgb3VycG9pbnQgPSBwb2ludDsKICNlbmRpZgpAQCAtMjg1
NCw3ICsyODU0LDcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlcgog
ICAgIE5vZGUqIG5vZGUgPSBoaXRUZXN0UmVzdWx0LmlubmVyTm9kZSgpLT5zaGFkb3dBbmNlc3Rv
ck5vZGUoKTsKIAogICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGFyZWFUYWcpKSAKLSAgICAgICAg
cmV0dXJuIGFjY2Vzc2liaWxpdHlJbWFnZU1hcEhpdFRlc3Qoc3RhdGljX2Nhc3Q8SFRNTEFyZWFF
bGVtZW50Kj4obm9kZSksIHBvaW50KTsKKyAgICAgICAgcmV0dXJuIGFjY2Vzc2liaWxpdHlJbWFn
ZU1hcEhpdFRlc3Qoc3RhdGljX2Nhc3Q8SFRNTEFyZWFFbGVtZW50Kj4obm9kZSksIHJvdW5kZWRJ
bnRQb2ludChwb2ludCkpOwogICAgIAogICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKG9wdGlvblRh
ZykpCiAgICAgICAgIG5vZGUgPSBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KG5vZGUp
LT5vd25lclNlbGVjdEVsZW1lbnQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAJKHJldmlzaW9uIDEwNzE1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjk3LDcgKzY5Nyw3IEBAIGJvb2wgRXZlbnRIYW5k
bGVyOjpldmVudE1heVN0YXJ0RHJhZyhjb24KICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCh2aWV3
LT53aW5kb3dUb0NvbnRlbnRzKGV2ZW50LnBvc2l0aW9uKCkpKTsKICAgICBtX2ZyYW1lLT5jb250
ZW50UmVuZGVyZXIoKS0+bGF5ZXIoKS0+aGl0VGVzdChyZXF1ZXN0LCByZXN1bHQpOwogICAgIERy
YWdTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4gcmVzdWx0LmlubmVyTm9kZSgpICYmIHBhZ2UtPmRy
YWdDb250cm9sbGVyKCktPmRyYWdnYWJsZU5vZGUobV9mcmFtZSwgcmVzdWx0LmlubmVyTm9kZSgp
LCByZXN1bHQucG9pbnQoKSwgc3RhdGUpOworICAgIHJldHVybiByZXN1bHQuaW5uZXJOb2RlKCkg
JiYgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS0+ZHJhZ2dhYmxlTm9kZShtX2ZyYW1lLCByZXN1bHQu
aW5uZXJOb2RlKCksIHJvdW5kZWRJbnRQb2ludChyZXN1bHQucG9pbnQoKSksIHN0YXRlKTsKIH0K
IAogdm9pZCBFdmVudEhhbmRsZXI6OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZygpCkBAIC0x
MDMxLDcgKzEwMzEsNyBAQCBIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3Vs
CiAgICAgICAgIHJlc3VsdCA9IHdpZGdldEhpdFRlc3RSZXN1bHQ7CiAKICAgICAgICAgaWYgKHRl
c3RTY3JvbGxiYXJzID09IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzKSB7Ci0gICAgICAgICAgICBT
Y3JvbGxiYXIqIGV2ZW50U2Nyb2xsYmFyID0gdmlldy0+c2Nyb2xsYmFyQXRQb2ludChwb2ludCk7
CisgICAgICAgICAgICBTY3JvbGxiYXIqIGV2ZW50U2Nyb2xsYmFyID0gdmlldy0+c2Nyb2xsYmFy
QXRQb2ludChyb3VuZGVkSW50UG9pbnQocG9pbnQpKTsKICAgICAgICAgICAgIGlmIChldmVudFNj
cm9sbGJhcikKICAgICAgICAgICAgICAgICByZXN1bHQuc2V0U2Nyb2xsYmFyKGV2ZW50U2Nyb2xs
YmFyKTsKICAgICAgICAgfQpAQCAtMTA0Niw3ICsxMDQ2LDcgQEAgSGl0VGVzdFJlc3VsdCBFdmVu
dEhhbmRsZXI6OmhpdFRlc3RSZXN1bAogICAgICAgICAgICAgRnJhbWVWaWV3KiByZXN1bHRWaWV3
ID0gcmVzdWx0RnJhbWUtPnZpZXcoKTsKICAgICAgICAgICAgIEZyYW1lVmlldyogbWFpblZpZXcg
PSBtYWluRnJhbWUtPnZpZXcoKTsKICAgICAgICAgICAgIGlmIChyZXN1bHRWaWV3ICYmIG1haW5W
aWV3KSB7Ci0gICAgICAgICAgICAgICAgTGF5b3V0UG9pbnQgbWFpbkZyYW1lUG9pbnQgPSBtYWlu
Vmlldy0+cm9vdFZpZXdUb0NvbnRlbnRzKHJlc3VsdFZpZXctPmNvbnRlbnRzVG9Sb290Vmlldyhy
ZXN1bHQucG9pbnQoKSkpOworICAgICAgICAgICAgICAgIEludFBvaW50IG1haW5GcmFtZVBvaW50
ID0gbWFpblZpZXctPnJvb3RWaWV3VG9Db250ZW50cyhyZXN1bHRWaWV3LT5jb250ZW50c1RvUm9v
dFZpZXcocm91bmRlZEludFBvaW50KHJlc3VsdC5wb2ludCgpKSkpOwogICAgICAgICAgICAgICAg
IHJlc3VsdCA9IG1haW5GcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50
KG1haW5GcmFtZVBvaW50LCBhbGxvd1NoYWRvd0NvbnRlbnQsIGlnbm9yZUNsaXBwaW5nLCB0ZXN0
U2Nyb2xsYmFycywgaGl0VHlwZSwgcGFkZGluZyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
QEAgLTEyNjUsNyArMTI2NSw3IEBAIE9wdGlvbmFsQ3Vyc29yIEV2ZW50SGFuZGxlcjo6c2VsZWN0
Q3Vyc28KIAogICAgIGlmIChyZW5kZXJlcikgewogICAgICAgICBDdXJzb3Igb3ZlcnJpZGVDdXJz
b3I7Ci0gICAgICAgIHN3aXRjaCAocmVuZGVyZXItPmdldEN1cnNvcihldmVudC5sb2NhbFBvaW50
KCksIG92ZXJyaWRlQ3Vyc29yKSkgeworICAgICAgICBzd2l0Y2ggKHJlbmRlcmVyLT5nZXRDdXJz
b3Iocm91bmRlZEludFBvaW50KGV2ZW50LmxvY2FsUG9pbnQoKSksIG92ZXJyaWRlQ3Vyc29yKSkg
ewogICAgICAgICBjYXNlIFNldEN1cnNvckJhc2VkT25TdHlsZToKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIFNldEN1cnNvcjoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9MYXlvdXRUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRUeXBlcy5oCShyZXZpc2lvbiAxMDcxNTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvTGF5b3V0VHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMTEgQEAgaW5saW5l
IExheW91dFNpemUgcm91bmRlZExheW91dFNpemUoY29ucwogICAgIHJldHVybiByb3VuZGVkSW50
U2l6ZShzKTsKIH0KIAoraW5saW5lIEludFBvaW50IHJvdW5kZWRJbnRQb2ludChjb25zdCBMYXlv
dXRQb2ludCYgcCkKK3sKKyAgICByZXR1cm4gcDsKK30KKwogaW5saW5lIExheW91dFBvaW50IHJv
dW5kZWRMYXlvdXRQb2ludChjb25zdCBGbG9hdFBvaW50JiBwKQogewogICAgIHJldHVybiByb3Vu
ZGVkSW50UG9pbnQocCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAJKHJldmlzaW9uIDEwNzE1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NDAsNyArMjQ0MCw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICAvLyB6LWluZGV4LiAgV2UgcGFp
bnQgYWZ0ZXIgd2UgcGFpbnRlZCB0aGUgYmFja2dyb3VuZC9ib3JkZXIsIHNvIHRoYXQgdGhlIHNj
cm9sbGJhcnMgd2lsbAogICAgIC8vIHNpdCBhYm92ZSB0aGUgYmFja2dyb3VuZC9ib3JkZXIuCiAg
ICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpICYmIHN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWSVNJ
QkxFICYmIChwaGFzZSA9PSBQYWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kIHx8IHBoYXNlID09IFBh
aW50UGhhc2VDaGlsZEJsb2NrQmFja2dyb3VuZCkgJiYgcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0
aGluUm9vdCh0aGlzKSkKLSAgICAgICAgbGF5ZXIoKS0+cGFpbnRPdmVyZmxvd0NvbnRyb2xzKHBh
aW50SW5mby5jb250ZXh0LCBhZGp1c3RlZFBhaW50T2Zmc2V0LCBwYWludEluZm8ucmVjdCk7Cisg
ICAgICAgIGxheWVyKCktPnBhaW50T3ZlcmZsb3dDb250cm9scyhwYWludEluZm8uY29udGV4dCwg
cm91bmRlZEludFBvaW50KGFkanVzdGVkUGFpbnRPZmZzZXQpLCBwYWludEluZm8ucmVjdCk7CiB9
CiAKIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50Q29sdW1uUnVsZXMoUGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gMTA3
MTU0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgUmVuZGVyRW1iZWRkZWRP
YmplY3Q6OnBhaW50UmVwbGFjZWQKIGJvb2wgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxh
Y2VtZW50VGV4dEdlb21ldHJ5KGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwg
RmxvYXRSZWN0JiBjb250ZW50UmVjdCwgUGF0aCYgcGF0aCwgRmxvYXRSZWN0JiByZXBsYWNlbWVu
dFRleHRSZWN0LCBGb250JiBmb250LCBUZXh0UnVuJiBydW4sIGZsb2F0JiB0ZXh0V2lkdGgpIGNv
bnN0CiB7CiAgICAgY29udGVudFJlY3QgPSBjb250ZW50Qm94UmVjdCgpOwotICAgIGNvbnRlbnRS
ZWN0Lm1vdmVCeShhY2N1bXVsYXRlZE9mZnNldCk7CisgICAgY29udGVudFJlY3QubW92ZUJ5KHJv
dW5kZWRJbnRQb2ludChhY2N1bXVsYXRlZE9mZnNldCkpOwogICAgIAogICAgIEZvbnREZXNjcmlw
dGlvbiBmb250RGVzY3JpcHRpb247CiAgICAgUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5z
eXN0ZW1Gb250KENTU1ZhbHVlV2Via2l0U21hbGxDb250cm9sLCBmb250RGVzY3JpcHRpb24pOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAko
cmV2aXNpb24gMTA3MTU0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dU
aHJlYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjQsNyArNDY0LDcgQEAgdm9pZCBSZW5kZXJG
bG93VGhyZWFkOjpwYWludEludG9SZWdpb24oUAogICAgICAgICAgICAgcmVuZGVyRmxvd1RocmVh
ZE9mZnNldCA9IExheW91dFBvaW50KHBhaW50T2Zmc2V0IC0gcmVnaW9uUmVjdC5sb2NhdGlvbigp
KTsKIAogICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUocmVuZGVyRmxvd1RocmVhZE9mZnNldC54
KCksIHJlbmRlckZsb3dUaHJlYWRPZmZzZXQueSgpKTsKLSAgICAgICAgaW5mby5yZWN0Lm1vdmVC
eSgtcmVuZGVyRmxvd1RocmVhZE9mZnNldCk7CisgICAgICAgIGluZm8ucmVjdC5tb3ZlQnkoLXJv
dW5kZWRJbnRQb2ludChyZW5kZXJGbG93VGhyZWFkT2Zmc2V0KSk7CiAgICAgICAgIAogICAgICAg
ICBsYXllcigpLT5wYWludChjb250ZXh0LCBpbmZvLnJlY3QsIDAsIDAsIHJlZ2lvbiwgUmVuZGVy
TGF5ZXI6OlBhaW50TGF5ZXJUZW1wb3JhcnlDbGlwUmVjdHMpOwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5jcHAJKHJldmlzaW9uIDEwNzE1NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTgwMiw3ICs4MDIsNyBAQCBib29sIFJlbmRlckZyYW1lU2V0Ojppc0NoaWxkQWxsb3dl
ZChSZW5kCiAKIEN1cnNvckRpcmVjdGl2ZSBSZW5kZXJGcmFtZVNldDo6Z2V0Q3Vyc29yKGNvbnN0
IExheW91dFBvaW50JiBwb2ludCwgQ3Vyc29yJiBjdXJzb3IpIGNvbnN0CiB7Ci0gICAgaWYgKGNh
blJlc2l6ZVJvdyhwb2ludCkpIHsKKyAgICBpZiAoY2FuUmVzaXplUm93KHJvdW5kZWRJbnRQb2lu
dChwb2ludCkpKSB7CiAgICAgICAgIGN1cnNvciA9IHJvd1Jlc2l6ZUN1cnNvcigpOwogICAgICAg
ICByZXR1cm4gU2V0Q3Vyc29yOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMTA3MTU0KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk5LDcgKzI5OSw3IEBA
IHZvaWQgUmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICAgICAgICAgICAg
ICBpZiAoY2VudGVyWSA8IDApCiAgICAgICAgICAgICAgICAgICAgIGNlbnRlclkgPSAwOwogICAg
ICAgICAgICAgICAgIGltYWdlT2Zmc2V0ID0gTGF5b3V0U2l6ZShsZWZ0Qm9yZGVyICsgbGVmdFBh
ZCArIGNlbnRlclggKyAxLCB0b3BCb3JkZXIgKyB0b3BQYWQgKyBjZW50ZXJZICsgMSk7Ci0gICAg
ICAgICAgICAgICAgY29udGV4dC0+ZHJhd0ltYWdlKGltYWdlLmdldCgpLCBzdHlsZSgpLT5jb2xv
clNwYWNlKCksIEludFJlY3QocGFpbnRPZmZzZXQgKyBpbWFnZU9mZnNldCwgaW1hZ2VTaXplKSk7
CisgICAgICAgICAgICAgICAgY29udGV4dC0+ZHJhd0ltYWdlKGltYWdlLmdldCgpLCBzdHlsZSgp
LT5jb2xvclNwYWNlKCksIEludFJlY3Qocm91bmRlZEludFBvaW50KHBhaW50T2Zmc2V0ICsgaW1h
Z2VPZmZzZXQpLCBpbWFnZVNpemUpKTsKICAgICAgICAgICAgICAgICBlcnJvclBpY3R1cmVEcmF3
biA9IHRydWU7CiAgICAgICAgICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24gMTA3MTU0KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU3OCw3ICsxNTc4LDcg
QEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjbwogICAgICAgICAgICAg
ICAgIExheW91dFJlY3Qgdmlld1JlY3QgPSBmcmFtZVZpZXctPnZpc2libGVDb250ZW50UmVjdCgp
OwogICAgICAgICAgICAgICAgIExheW91dFJlY3QgciA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVj
dCwgcmVjdCwgYWxpZ25YLCBhbGlnblkpOwogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgIGZyYW1lVmlldy0+c2V0U2Nyb2xsUG9zaXRpb24oci5sb2NhdGlvbigpKTsKKyAgICAgICAg
ICAgICAgICBmcmFtZVZpZXctPnNldFNjcm9sbFBvc2l0aW9uKHJvdW5kZWRJbnRQb2ludChyLmxv
Y2F0aW9uKCkpKTsKIAogICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2
aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcgd2UKICAgICAg
ICAgICAgICAgICAvLyBzY3JvbGwgaXRzIGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9s
bFJlY3RJbnRvVmlldy4KQEAgLTIxNDgsOCArMjE0OCw4IEBAIExheW91dFNpemUgUmVuZGVyTGF5
ZXI6Om9mZnNldEZyb21SZXNpemUKIHsKICAgICAvLyBDdXJyZW50bHkgdGhlIHJlc2l6ZSBjb3Ju
ZXIgaXMgYWx3YXlzIHRoZSBib3R0b20gcmlnaHQgY29ybmVyCiAgICAgLy8gRklYTUU6IFRoaXMg
YXNzdW1lcyB0aGUgbG9jYXRpb24gaXMgMCwgMC4gSXMgdGhpcyBndWFyYW50ZWVkIHRvIGFsd2F5
cyBiZSB0aGUgY2FzZT8KLSAgICBMYXlvdXRQb2ludCBib3R0b21SaWdodCA9IHRvUG9pbnQoc2l6
ZSgpKTsKLSAgICBMYXlvdXRQb2ludCBsb2NhbFBvaW50ID0gYWJzb2x1dGVUb0NvbnRlbnRzKGFi
c29sdXRlUG9pbnQpOworICAgIEludFBvaW50IGJvdHRvbVJpZ2h0ID0gdG9Qb2ludChzaXplKCkp
OworICAgIEludFBvaW50IGxvY2FsUG9pbnQgPSByb3VuZGVkSW50UG9pbnQoYWJzb2x1dGVUb0Nv
bnRlbnRzKGFic29sdXRlUG9pbnQpKTsKICAgICByZXR1cm4gbG9jYWxQb2ludCAtIGJvdHRvbVJp
Z2h0OwogfQogCkBAIC0yNTU2LDcgKzI1NTYsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludFJl
c2l6ZXIoR3JhcGhpY3NDCiAgICAgfQogfQogCi1ib29sIFJlbmRlckxheWVyOjppc1BvaW50SW5S
ZXNpemVDb250cm9sKGNvbnN0IExheW91dFBvaW50JiBhYnNvbHV0ZVBvaW50KSBjb25zdAorYm9v
bCBSZW5kZXJMYXllcjo6aXNQb2ludEluUmVzaXplQ29udHJvbChjb25zdCBJbnRQb2ludCYgYWJz
b2x1dGVQb2ludCkgY29uc3QKIHsKICAgICBpZiAoIXJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xp
cCgpIHx8IHJlbmRlcmVyKCktPnN0eWxlKCktPnJlc2l6ZSgpID09IFJFU0laRV9OT05FKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CkBAIC0yNTY0LDkgKzI1NjQsOSBAQCBib29sIFJlbmRlckxheWVy
Ojppc1BvaW50SW5SZXNpemVDb250cm9sCiAgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3go
KTsKICAgICBBU1NFUlQoYm94KTsKIAotICAgIExheW91dFBvaW50IGxvY2FsUG9pbnQgPSBhYnNv
bHV0ZVRvQ29udGVudHMoYWJzb2x1dGVQb2ludCk7CisgICAgSW50UG9pbnQgbG9jYWxQb2ludCA9
IHJvdW5kZWRJbnRQb2ludChhYnNvbHV0ZVRvQ29udGVudHMoYWJzb2x1dGVQb2ludCkpOwogCi0g
ICAgTGF5b3V0UmVjdCBsb2NhbEJvdW5kcygwLCAwLCBib3gtPndpZHRoKCksIGJveC0+aGVpZ2h0
KCkpOworICAgIEludFJlY3QgbG9jYWxCb3VuZHMoMCwgMCwgYm94LT5waXhlbFNuYXBwZWRXaWR0
aCgpLCBib3gtPnBpeGVsU25hcHBlZEhlaWdodCgpKTsKICAgICByZXR1cm4gcmVzaXplckNvcm5l
clJlY3QodGhpcywgbG9jYWxCb3VuZHMpLmNvbnRhaW5zKGxvY2FsUG9pbnQpOwogfQogICAgIApA
QCAtMjk1OSw3ICsyOTU5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRz
KFJlbgogCiAgICAgaWYgKGlzUGFpbnRpbmdPdmVybGF5U2Nyb2xsYmFycykgewogICAgICAgICBj
bGlwVG9SZWN0KHJvb3RMYXllciwgY29udGV4dCwgcGFpbnREaXJ0eVJlY3QsIGRhbWFnZVJlY3Qp
OwotICAgICAgICBwYWludE92ZXJmbG93Q29udHJvbHMoY29udGV4dCwgcGFpbnRPZmZzZXQsIGRh
bWFnZVJlY3QucmVjdCgpLCB0cnVlKTsKKyAgICAgICAgcGFpbnRPdmVyZmxvd0NvbnRyb2xzKGNv
bnRleHQsIHJvdW5kZWRJbnRQb2ludChwYWludE9mZnNldCksIGRhbWFnZVJlY3QucmVjdCgpLCB0
cnVlKTsKICAgICAgICAgcmVzdG9yZUNsaXAoY29udGV4dCwgcGFpbnREaXJ0eVJlY3QsIGRhbWFn
ZVJlY3QpOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5jcHAJKHJldmlzaW9uIDEwNzE1NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYx
LDcgKzExNjEsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRDb250ZW50cyhjCiAg
ICAgICAgIGNvbnRleHQuc2F2ZSgpOwogICAgICAgICBjb250ZXh0LnRyYW5zbGF0ZSgtc2Nyb2xs
Q29ybmVyQW5kUmVzaXplci54KCksIC1zY3JvbGxDb3JuZXJBbmRSZXNpemVyLnkoKSk7CiAgICAg
ICAgIExheW91dFJlY3QgdHJhbnNmb3JtZWRDbGlwID0gY2xpcDsKLSAgICAgICAgdHJhbnNmb3Jt
ZWRDbGlwLm1vdmVCeShzY3JvbGxDb3JuZXJBbmRSZXNpemVyLmxvY2F0aW9uKCkpOworICAgICAg
ICB0cmFuc2Zvcm1lZENsaXAubW92ZUJ5KHJvdW5kZWRJbnRQb2ludChzY3JvbGxDb3JuZXJBbmRS
ZXNpemVyLmxvY2F0aW9uKCkpKTsKICAgICAgICAgbV9vd25pbmdMYXllci0+cGFpbnRTY3JvbGxD
b3JuZXIoJmNvbnRleHQsIExheW91dFBvaW50KCksIHRyYW5zZm9ybWVkQ2xpcCk7CiAgICAgICAg
IG1fb3duaW5nTGF5ZXItPnBhaW50UmVzaXplcigmY29udGV4dCwgTGF5b3V0UG9pbnQoKSwgdHJh
bnNmb3JtZWRDbGlwKTsKICAgICAgICAgY29udGV4dC5yZXN0b3JlKCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAkocmV2
aXNpb24gMTA3MTU0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MTcsNyArMTYxNyw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpwYWludENvbnRlbnQKICAgICAgICAgY29udGV4dC5zYXZlKCk7
CiAgICAgICAgIGNvbnRleHQudHJhbnNsYXRlKC1zY3JvbGxDb3JuZXIueCgpLCAtc2Nyb2xsQ29y
bmVyLnkoKSk7CiAgICAgICAgIExheW91dFJlY3QgdHJhbnNmb3JtZWRDbGlwID0gY2xpcDsKLSAg
ICAgICAgdHJhbnNmb3JtZWRDbGlwLm1vdmVCeShzY3JvbGxDb3JuZXIubG9jYXRpb24oKSk7Cisg
ICAgICAgIHRyYW5zZm9ybWVkQ2xpcC5tb3ZlQnkocm91bmRlZEludFBvaW50KHNjcm9sbENvcm5l
ci5sb2NhdGlvbigpKSk7CiAgICAgICAgIG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCktPnBhaW50
U2Nyb2xsQ29ybmVyKCZjb250ZXh0LCB0cmFuc2Zvcm1lZENsaXApOwogICAgICAgICBjb250ZXh0
LnJlc3RvcmUoKTsKICNpZiBQTEFURk9STShDSFJPTUlVTSkgJiYgRU5BQkxFKFJVQkJFUl9CQU5E
SU5HKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2Vy
LmNwcAkocmV2aXNpb24gMTA3MTU0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEwLDcgKzExMTAsNyBAQCB2b2lk
IFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgCiAgICAgaWYgKHN0eWxlKCktPnZp
c2liaWxpdHkoKSAhPSBWSVNJQkxFKQogICAgICAgICByZXR1cm47CiAKLSAgICBMYXlvdXRQb2lu
dCBib3hPcmlnaW4ocGFpbnRPZmZzZXQgKyBsb2NhdGlvbigpKTsKKyAgICBJbnRQb2ludCBib3hP
cmlnaW4ocGFpbnRPZmZzZXQgKyBsb2NhdGlvbigpKTsKICAgICBMYXlvdXRSZWN0IG92ZXJmbG93
UmVjdCh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmVCeShib3hP
cmlnaW4pOwogICAgIG92ZXJmbG93UmVjdC5pbmZsYXRlKG1heGltYWxPdXRsaW5lU2l6ZShwYWlu
dEluZm8ucGhhc2UpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCShyZXZpc2lvbiAxMDcxNTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODIsNyArODIsNyBAQCB2b2lkIFJlbmRlck1hdGhNTEJsb2NrOjpwYWludChQ
YWludEluZm8mCiAgICAgaWYgKGluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpIHx8IGlu
Zm8ucGhhc2UgIT0gUGFpbnRQaGFzZUZvcmVncm91bmQpCiAgICAgICAgIHJldHVybjsKIAotICAg
IExheW91dFBvaW50IGFkanVzdGVkUGFpbnRPZmZzZXQgPSBwYWludE9mZnNldCArIGxvY2F0aW9u
KCk7CisgICAgSW50UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9IHJvdW5kZWRJbnRQb2ludChw
YWludE9mZnNldCArIGxvY2F0aW9uKCkpOwogCiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZl
ciBzdGF0ZVNhdmVyKCppbmZvLmNvbnRleHQpOwogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAJ
KHJldmlzaW9uIDEwNzE1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MRnJhY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNyArMTUzLDcgQEAg
dm9pZCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6cGFpbnQoUGFpbnRJbgogICAgICAgICAgICAgdmVy
dGljYWxPZmZzZXQgPSBudW1lcmF0b3ItPm9mZnNldEhlaWdodCgpOyAgICAgICAgCiAgICAgfQog
ICAgIAotICAgIExheW91dFBvaW50IGFkanVzdGVkUGFpbnRPZmZzZXQgPSBwYWludE9mZnNldCAr
IGxvY2F0aW9uKCk7CisgICAgSW50UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9IHJvdW5kZWRJ
bnRQb2ludChwYWludE9mZnNldCArIGxvY2F0aW9uKCkpOwogICAgIGFkanVzdGVkUGFpbnRPZmZz
ZXQuc2V0WShhZGp1c3RlZFBhaW50T2Zmc2V0LnkoKSArIHZlcnRpY2FsT2Zmc2V0KTsKICAgICAK
ICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmluZm8uY29udGV4dCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3Qu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MUm9vdC5jcHAJKHJldmlzaW9uIDEwNzE1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw3
ICsxMDQsNyBAQCB2b2lkIFJlbmRlck1hdGhNTFJvb3Q6OnBhaW50KFBhaW50SW5mbyYgCiAgICAg
aWYgKCFmaXJzdENoaWxkKCkgfHwgIWxhc3RDaGlsZCgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBMYXlvdXRQb2ludCBhZGp1c3RlZFBhaW50T2Zmc2V0ID0gcGFpbnRPZmZzZXQgKyBsb2NhdGlv
bigpOworICAgIEludFBvaW50IGFkanVzdGVkUGFpbnRPZmZzZXQgPSByb3VuZGVkSW50UG9pbnQo
cGFpbnRPZmZzZXQgKyBsb2NhdGlvbigpKTsKICAgICAKICAgICBSZW5kZXJCb3hNb2RlbE9iamVj
dCogaW5kZXhCb3ggPSB0b1JlbmRlckJveE1vZGVsT2JqZWN0KGxhc3RDaGlsZCgpKTsKICAgICAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3F1YXJl
Um9vdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxTcXVhcmVSb290LmNwcAkocmV2aXNpb24gMTA3MTU0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcXVhcmVSb290LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBAQCB2b2lkIFJlbmRlck1hdGhNTFNxdWFyZVJvb3Q6OnBh
aW50KFBhaW50CiAgICAgaWYgKGluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQogICAg
ICAgICByZXR1cm47CiAgICAgCi0gICAgTGF5b3V0UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9
IHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKTsKKyAgICBJbnRQb2ludCBhZGp1c3RlZFBhaW50T2Zm
c2V0ID0gcm91bmRlZEludFBvaW50KHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKSk7CiAKICAgICBM
YXlvdXRVbml0IG1heEhlaWdodCA9IDA7CiAgICAgTGF5b3V0VW5pdCB3aWR0aCA9IDA7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>