<?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>128515</bug_id>
          
          <creation_ts>2014-02-09 20:51:18 -0800</creation_ts>
          <short_desc>Subpixel layout: Clean up LayoutPoint class.</short_desc>
          <delta_ts>2014-02-12 12:29:56 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jonlee</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978708</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-02-09 20:51:18 -0800</bug_when>
    <thetext>Remove redundant functions -keep the explicit functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978709</commentid>
    <comment_count>1</comment_count>
      <attachid>223672</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-02-09 20:54:54 -0800</bug_when>
    <thetext>Created attachment 223672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978728</commentid>
    <comment_count>2</comment_count>
      <attachid>223672</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2014-02-09 21:40:22 -0800</bug_when>
    <thetext>Comment on attachment 223672
Patch

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

&gt; Source/WebCore/platform/graphics/LayoutPoint.h:178
&gt; +inline LayoutPoint flooredLayoutPoint(const FloatSize&amp; s)

const FloatPoint&amp;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978734</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-02-09 22:14:13 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 223672 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=223672&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/LayoutPoint.h:178
&gt; &gt; +inline LayoutPoint flooredLayoutPoint(const FloatSize&amp; s)
&gt; 
&gt; const FloatPoint&amp;?

While this is a shortcut for flooredLayoutPoint(toLayoutPoint(s)) and I just moved this particular function around (pretty diff makes it look like it&apos;s a newly added function) I can see it is confusing and will remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979741</commentid>
    <comment_count>4</comment_count>
      <attachid>223934</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-02-11 20:13:16 -0800</bug_when>
    <thetext>Created attachment 223934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979965</commentid>
    <comment_count>5</comment_count>
      <attachid>223934</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-12 12:29:54 -0800</bug_when>
    <thetext>Comment on attachment 223934
Patch

Clearing flags on attachment: 223934

Committed r163973: &lt;http://trac.webkit.org/changeset/163973&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979966</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-12 12:29:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223672</attachid>
            <date>2014-02-09 20:54:54 -0800</date>
            <delta_ts>2014-02-11 20:13:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15815</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmODg5MzNhLi41NTZlODY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDQg
QEAKIDIwMTQtMDItMDkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAorICAgICAg
ICBTdWJwaXhlbCBsYXlvdXQ6IENsZWFuIHVwIExheW91dFBvaW50IGNsYXNzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTE1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBm
dW5jdGlvbnMgKGtlZXAgdGhlIG1vcmUgZXhwbGljaXQgb25lcykuCisKKyAgICAgICAgTm8gY2hh
bmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnZpZXdwb3J0Q29uc3RyYWluZWRWaXNpYmxlQ29u
dGVudFJlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0xheW91dFBvaW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjp0b0xheW91dFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OnRvTGF5
b3V0U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpyb3VuZGVkSW50UG9pbnQpOgorICAgICAgICAo
V2ViQ29yZTo6Zmxvb3JlZExheW91dFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNlaWxlZExh
eW91dFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OnBpeGVsU25hcHBlZEludFNpemUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXRTdGF0ZTo6TGF5b3V0U3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpvZmZzZXRGcm9tQ29udGFpbmVyKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlTGF5ZXJQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjphY2N1bXVsYXRlT2Zmc2V0VG93YXJkc0FuY2VzdG9yKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludEJhY2tncm91bmRGb3JGcmFnbWVu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50Rm9yZWdyb3VuZEZvckZy
YWdtZW50c1dpdGhQaGFzZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRP
dXRsaW5lRm9yRnJhZ21lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWlu
dE1hc2tGb3JGcmFnbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50
T3ZlcmZsb3dDb250cm9sc0ZvckZyYWdtZW50cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclBhcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyUGFy
dDo6cGFpbnRJbnRvUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVk
UGx1Z0luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpw
YWludFNuYXBzaG90KToKKworMjAxNC0wMi0wOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgorCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmluZzogRW5hYmxlIHJlcGFpbnRpbmcgb24g
ZGV2aWNlIHBpeGVsIGJvdW5kYXJ5LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI4NTA5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA1
ODRmMGZiLi5jNzNkOGM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU0NCw3
ICsxNTQ0LDcgQEAgTGF5b3V0UmVjdCBGcmFtZVZpZXc6OnZpZXdwb3J0Q29uc3RyYWluZWRWaXNp
YmxlQ29udGVudFJlY3QoKSBjb25zdAogICAgICAgICByZXR1cm4gY3VzdG9tRml4ZWRQb3NpdGlv
bkxheW91dFJlY3QoKTsKICNlbmRpZgogICAgIExheW91dFJlY3Qgdmlld3BvcnRSZWN0ID0gdmlz
aWJsZUNvbnRlbnRSZWN0KCk7Ci0gICAgdmlld3BvcnRSZWN0LnNldExvY2F0aW9uKHRvUG9pbnQo
c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpKSk7CisgICAgdmlld3BvcnRSZWN0LnNldExv
Y2F0aW9uKHRvTGF5b3V0UG9pbnQoc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpKSk7CiAg
ICAgcmV0dXJuIHZpZXdwb3J0UmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTGF5b3V0UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0xheW91dFBvaW50LmgKaW5kZXggZDNiZDhlYS4uNWQyNWNiMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTGF5b3V0UG9pbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9MYXlvdXRQb2ludC5oCkBAIC0xNDAsMTkg
KzE0MCwxNCBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IExheW91dFBvaW50JiBhLCBj
b25zdCBMYXlvdXRQb2ludCYgYikKICAgICByZXR1cm4gYS54KCkgIT0gYi54KCkgfHwgYS55KCkg
IT0gYi55KCk7CiB9CiAKLWlubGluZSBMYXlvdXRQb2ludCB0b1BvaW50KGNvbnN0IExheW91dFNp
emUmIHNpemUpCitpbmxpbmUgTGF5b3V0UG9pbnQgdG9MYXlvdXRQb2ludChjb25zdCBMYXlvdXRT
aXplJiBzKQogewotICAgIHJldHVybiBMYXlvdXRQb2ludChzaXplLndpZHRoKCksIHNpemUuaGVp
Z2h0KCkpOworICAgIHJldHVybiBMYXlvdXRQb2ludChzLndpZHRoKCksIHMuaGVpZ2h0KCkpOwog
fQogCi1pbmxpbmUgTGF5b3V0UG9pbnQgdG9MYXlvdXRQb2ludChjb25zdCBMYXlvdXRTaXplJiBw
KQotewotICAgIHJldHVybiBMYXlvdXRQb2ludChwLndpZHRoKCksIHAuaGVpZ2h0KCkpOwotfQot
Ci1pbmxpbmUgTGF5b3V0U2l6ZSB0b1NpemUoY29uc3QgTGF5b3V0UG9pbnQmIGEpCitpbmxpbmUg
TGF5b3V0U2l6ZSB0b0xheW91dFNpemUoY29uc3QgTGF5b3V0UG9pbnQmIHApCiB7Ci0gICAgcmV0
dXJuIExheW91dFNpemUoYS54KCksIGEueSgpKTsKKyAgICByZXR1cm4gTGF5b3V0U2l6ZShwLngo
KSwgcC55KCkpOwogfQogCiBpbmxpbmUgSW50UG9pbnQgZmxvb3JlZEludFBvaW50KGNvbnN0IExh
eW91dFBvaW50JiBwb2ludCkKQEAgLTE2Nyw3ICsxNjIsNyBAQCBpbmxpbmUgSW50UG9pbnQgcm91
bmRlZEludFBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCkKIAogaW5saW5lIEludFBvaW50
IHJvdW5kZWRJbnRQb2ludChjb25zdCBMYXlvdXRTaXplJiBzaXplKQogewotICAgIHJldHVybiBJ
bnRQb2ludChzaXplLndpZHRoKCkucm91bmQoKSwgc2l6ZS5oZWlnaHQoKS5yb3VuZCgpKTsKKyAg
ICByZXR1cm4gcm91bmRlZEludFBvaW50KHRvTGF5b3V0UG9pbnQoc2l6ZSkpOwogfQogCiBpbmxp
bmUgSW50UG9pbnQgY2VpbGVkSW50UG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQpAQCAt
MTgwLDE0ICsxNzUsMTQgQEAgaW5saW5lIExheW91dFBvaW50IGZsb29yZWRMYXlvdXRQb2ludChj
b25zdCBGbG9hdFBvaW50JiBwKQogICAgIHJldHVybiBMYXlvdXRQb2ludChMYXlvdXRVbml0Ojpm
cm9tRmxvYXRGbG9vcihwLngoKSksIExheW91dFVuaXQ6OmZyb21GbG9hdEZsb29yKHAueSgpKSk7
CiB9CiAKLWlubGluZSBMYXlvdXRQb2ludCBjZWlsZWRMYXlvdXRQb2ludChjb25zdCBGbG9hdFBv
aW50JiBwKQoraW5saW5lIExheW91dFBvaW50IGZsb29yZWRMYXlvdXRQb2ludChjb25zdCBGbG9h
dFNpemUmIHMpCiB7Ci0gICAgcmV0dXJuIExheW91dFBvaW50KExheW91dFVuaXQ6OmZyb21GbG9h
dENlaWwocC54KCkpLCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKHAueSgpKSk7CisgICAgcmV0
dXJuIGZsb29yZWRMYXlvdXRQb2ludChGbG9hdFBvaW50KHMpKTsKIH0KIAotaW5saW5lIEludFNp
emUgcGl4ZWxTbmFwcGVkSW50U2l6ZShjb25zdCBMYXlvdXRTaXplJiBzLCBjb25zdCBMYXlvdXRQ
b2ludCYgcCkKK2lubGluZSBMYXlvdXRQb2ludCBjZWlsZWRMYXlvdXRQb2ludChjb25zdCBGbG9h
dFBvaW50JiBwKQogewotICAgIHJldHVybiBJbnRTaXplKHNuYXBTaXplVG9QaXhlbChzLndpZHRo
KCksIHAueCgpKSwgc25hcFNpemVUb1BpeGVsKHMuaGVpZ2h0KCksIHAueSgpKSk7CisgICAgcmV0
dXJuIExheW91dFBvaW50KExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwocC54KCkpLCBMYXlvdXRV
bml0Ojpmcm9tRmxvYXRDZWlsKHAueSgpKSk7CiB9CiAKIGlubGluZSBMYXlvdXRQb2ludCByb3Vu
ZGVkTGF5b3V0UG9pbnQoY29uc3QgRmxvYXRQb2ludCYgcCkKQEAgLTE5OSwxNCArMTk0LDkgQEAg
aW5saW5lIExheW91dFBvaW50IHJvdW5kZWRMYXlvdXRQb2ludChjb25zdCBGbG9hdFBvaW50JiBw
KQogI2VuZGlmCiB9CiAKLWlubGluZSBMYXlvdXRTaXplIHRvTGF5b3V0U2l6ZShjb25zdCBMYXlv
dXRQb2ludCYgcCkKLXsKLSAgICByZXR1cm4gTGF5b3V0U2l6ZShwLngoKSwgcC55KCkpOwotfQot
Ci1pbmxpbmUgTGF5b3V0UG9pbnQgZmxvb3JlZExheW91dFBvaW50KGNvbnN0IEZsb2F0U2l6ZSYg
cykKK2lubGluZSBJbnRTaXplIHBpeGVsU25hcHBlZEludFNpemUoY29uc3QgTGF5b3V0U2l6ZSYg
cywgY29uc3QgTGF5b3V0UG9pbnQmIHApCiB7Ci0gICAgcmV0dXJuIGZsb29yZWRMYXlvdXRQb2lu
dChGbG9hdFBvaW50KHMpKTsKKyAgICByZXR1cm4gSW50U2l6ZShzbmFwU2l6ZVRvUGl4ZWwocy53
aWR0aCgpLCBwLngoKSksIHNuYXBTaXplVG9QaXhlbChzLmhlaWdodCgpLCBwLnkoKSkpOwogfQog
CiBpbmxpbmUgRmxvYXRQb2ludCBwaXhlbFNuYXBwZWRGb3JQYWludGluZyhjb25zdCBGbG9hdFBv
aW50JiBwb2ludCwgZmxvYXQgcGl4ZWxTbmFwcGluZ0ZhY3RvcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvTGF5b3V0U3RhdGUuY3BwCmluZGV4IGYxYWM1MDguLmM2MDA2MDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcApAQCAtNzIsNyArNzIsNyBAQCBMYXlvdXRT
dGF0ZTo6TGF5b3V0U3RhdGUoc3RkOjp1bmlxdWVfcHRyPExheW91dFN0YXRlPiBuZXh0LCBSZW5k
ZXJCb3gqIHJlbmRlcmVyLAogICAgICAgICBtX2NsaXBSZWN0ID0gbV9uZXh0LT5tX2NsaXBSZWN0
OwogCiAgICAgaWYgKHJlbmRlcmVyLT5oYXNPdmVyZmxvd0NsaXAoKSkgewotICAgICAgICBMYXlv
dXRSZWN0IGNsaXBSZWN0KHRvUG9pbnQobV9wYWludE9mZnNldCkgKyByZW5kZXJlci0+dmlldygp
LmxheW91dERlbHRhKCksIHJlbmRlcmVyLT5jYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOwor
ICAgICAgICBMYXlvdXRSZWN0IGNsaXBSZWN0KHRvTGF5b3V0UG9pbnQobV9wYWludE9mZnNldCkg
KyByZW5kZXJlci0+dmlldygpLmxheW91dERlbHRhKCksIHJlbmRlcmVyLT5jYWNoZWRTaXplRm9y
T3ZlcmZsb3dDbGlwKCkpOwogICAgICAgICBpZiAobV9jbGlwcGVkKQogICAgICAgICAgICAgbV9j
bGlwUmVjdC5pbnRlcnNlY3QoY2xpcFJlY3QpOwogICAgICAgICBlbHNlIHsKQEAgLTE2MSw3ICsx
NjEsNyBAQCBMYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoUmVuZGVyT2JqZWN0JiByb290KQogICAg
IGlmIChjb250YWluZXItPmhhc092ZXJmbG93Q2xpcCgpKSB7CiAgICAgICAgIG1fY2xpcHBlZCA9
IHRydWU7CiAgICAgICAgIFJlbmRlckJveCogY29udGFpbmVyQm94ID0gdG9SZW5kZXJCb3goY29u
dGFpbmVyKTsKLSAgICAgICAgbV9jbGlwUmVjdCA9IExheW91dFJlY3QodG9Qb2ludChtX3BhaW50
T2Zmc2V0KSwgY29udGFpbmVyQm94LT5jYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOworICAg
ICAgICBtX2NsaXBSZWN0ID0gTGF5b3V0UmVjdCh0b0xheW91dFBvaW50KG1fcGFpbnRPZmZzZXQp
LCBjb250YWluZXJCb3gtPmNhY2hlZFNpemVGb3JPdmVyZmxvd0NsaXAoKSk7CiAgICAgICAgIG1f
cGFpbnRPZmZzZXQgLT0gY29udGFpbmVyQm94LT5zY3JvbGxlZENvbnRlbnRPZmZzZXQoKTsKICAg
ICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGVhZGY5NDcu
LmIzOTVlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0xOTY0
LDcgKzE5NjQsNyBAQCBMYXlvdXRTaXplIFJlbmRlckJveDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihS
ZW5kZXJPYmplY3QqIG8sIGNvbnN0IExheW91dFBvaW50JiBwbwogICAgICAgICAgICAgUmVuZGVy
QmxvY2sqIGJsb2NrID0gdG9SZW5kZXJCbG9jayhvKTsKICAgICAgICAgICAgIExheW91dFJlY3Qg
Y29sdW1uUmVjdChmcmFtZVJlY3QoKSk7CiAgICAgICAgICAgICBibG9jay0+YWRqdXN0U3RhcnRF
ZGdlRm9yV3JpdGluZ01vZGVJbmNsdWRpbmdDb2x1bW5zKGNvbHVtblJlY3QpOwotICAgICAgICAg
ICAgb2Zmc2V0ICs9IHRvU2l6ZShjb2x1bW5SZWN0LmxvY2F0aW9uKCkpOworICAgICAgICAgICAg
b2Zmc2V0ICs9IHRvTGF5b3V0U2l6ZShjb2x1bW5SZWN0LmxvY2F0aW9uKCkpOwogICAgICAgICAg
ICAgTGF5b3V0UG9pbnQgY29sdW1uUG9pbnQgPSBibG9jay0+ZmxpcEZvcldyaXRpbmdNb2RlSW5j
bHVkaW5nQ29sdW1ucyhwb2ludCArIG9mZnNldCk7CiAgICAgICAgICAgICBvZmZzZXQgPSB0b0xh
eW91dFNpemUoYmxvY2stPmZsaXBGb3JXcml0aW5nTW9kZUluY2x1ZGluZ0NvbHVtbnModG9MYXlv
dXRQb2ludChvZmZzZXQpKSk7CiAgICAgICAgICAgICBvLT5hZGp1c3RGb3JDb2x1bW5zKG9mZnNl
dCwgY29sdW1uUG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAK
aW5kZXggOTQwNDdhZi4uM2ZjYTQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwCkBAIC00NjUsNyArNDY1LDcgQEAgdm9pZCBSZW5kZXJJbWFnZTo6cGFpbnRSZXBs
YWNlZChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2YKIAog
I2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgaWYgKHN0eWxlKCkuaGlnaGxpZ2h0KCkgIT0gbnVs
bEF0b20gJiYgIXBhaW50SW5mby5jb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkpCi0gICAgICAg
ICAgICBwYWludEN1c3RvbUhpZ2hsaWdodCh0b1BvaW50KHBhaW50T2Zmc2V0IC0gbG9jYXRpb24o
KSksIHN0eWxlKCkuaGlnaGxpZ2h0KCksIHRydWUpOworICAgICAgICAgICAgcGFpbnRDdXN0b21I
aWdobGlnaHQodG9MYXlvdXRQb2ludChwYWludE9mZnNldCAtIGxvY2F0aW9uKCkpLCBzdHlsZSgp
LmhpZ2hsaWdodCgpLCB0cnVlKTsKICNlbmRpZgogCiAgICAgICAgIExheW91dFJlY3QgY29udGVu
dFJlY3QgPSBjb250ZW50Qm94UmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggZTAzMzgxNi4uZGI0MWYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0xMTk4LDcgKzExOTgsNyBAQCBib29sIFJlbmRlckxheWVy
Ojp1cGRhdGVMYXllclBvc2l0aW9uKCkKICAgICAgICAgUmVuZGVySW5saW5lJiBpbmxpbmVGbG93
ID0gdG9SZW5kZXJJbmxpbmUocmVuZGVyZXIoKSk7CiAgICAgICAgIEludFJlY3QgbGluZUJveCA9
IGlubGluZUZsb3cubGluZXNCb3VuZGluZ0JveCgpOwogICAgICAgICBzZXRTaXplKGxpbmVCb3gu
c2l6ZSgpKTsKLSAgICAgICAgaW5saW5lQm91bmRpbmdCb3hPZmZzZXQgPSB0b1NpemUobGluZUJv
eC5sb2NhdGlvbigpKTsKKyAgICAgICAgaW5saW5lQm91bmRpbmdCb3hPZmZzZXQgPSB0b0xheW91
dFNpemUobGluZUJveC5sb2NhdGlvbigpKTsKICAgICAgICAgbG9jYWxQb2ludCArPSBpbmxpbmVC
b3VuZGluZ0JveE9mZnNldDsKICAgICB9IGVsc2UgaWYgKFJlbmRlckJveCogYm94ID0gcmVuZGVy
Qm94KCkpIHsKICAgICAgICAgLy8gRklYTUU6IElzIHNuYXBwaW5nIHRoZSBzaXplIHJlYWxseSBu
ZWVkZWQgaGVyZSBmb3IgdGhlIFJlbmRlckJveCBjYXNlPwpAQCAtMTkxOCwxMyArMTkxOCwxMyBA
QCBzdGF0aWMgaW5saW5lIGNvbnN0IFJlbmRlckxheWVyKiBhY2N1bXVsYXRlT2Zmc2V0VG93YXJk
c0FuY2VzdG9yKGNvbnN0IFJlbmRlckxheQogICAgIGlmIChwb3NpdGlvbiA9PSBGaXhlZFBvc2l0
aW9uICYmIGZpeGVkRmxvd1RocmVhZENvbnRhaW5lcikgewogICAgICAgICBBU1NFUlQoYW5jZXN0
b3JMYXllcik7CiAgICAgICAgIGlmIChhbmNlc3RvckxheWVyLT5pc091dE9mRmxvd1JlbmRlckZs
b3dUaHJlYWQoKSkgewotICAgICAgICAgICAgbG9jYXRpb24gKz0gdG9TaXplKGxheWVyLT5sb2Nh
dGlvbigpKTsKKyAgICAgICAgICAgIGxvY2F0aW9uICs9IHRvTGF5b3V0U2l6ZShsYXllci0+bG9j
YXRpb24oKSk7CiAgICAgICAgICAgICByZXR1cm4gYW5jZXN0b3JMYXllcjsKICAgICAgICAgfQog
CiAgICAgICAgIGlmIChhbmNlc3RvckxheWVyID09IHJlbmRlcmVyLnZpZXcoKS5sYXllcigpKSB7
CiAgICAgICAgICAgICAvLyBBZGQgbG9jYXRpb24gaW4gZmxvdyB0aHJlYWQgY29vcmRpbmF0ZXMu
Ci0gICAgICAgICAgICBsb2NhdGlvbiArPSB0b1NpemUobGF5ZXItPmxvY2F0aW9uKCkpOworICAg
ICAgICAgICAgbG9jYXRpb24gKz0gdG9MYXlvdXRTaXplKGxheWVyLT5sb2NhdGlvbigpKTsKIAog
ICAgICAgICAgICAgLy8gQWRkIGZsb3cgdGhyZWFkIG9mZnNldCBpbiB2aWV3IGNvb3JkaW5hdGVz
IHNpbmNlIHRoZSB2aWV3IG1heSBiZSBzY3JvbGxlZC4KICAgICAgICAgICAgIEZsb2F0UG9pbnQg
YWJzUG9zID0gcmVuZGVyZXIudmlldygpLmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50KCksIElz
Rml4ZWQpOwpAQCAtMTk3OCw3ICsxOTc4LDcgQEAgc3RhdGljIGlubGluZSBjb25zdCBSZW5kZXJM
YXllciogYWNjdW11bGF0ZU9mZnNldFRvd2FyZHNBbmNlc3Rvcihjb25zdCBSZW5kZXJMYXkKICAg
ICBpZiAoIXBhcmVudExheWVyKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGxvY2F0aW9uICs9
IHRvU2l6ZShsYXllci0+bG9jYXRpb24oKSk7CisgICAgbG9jYXRpb24gKz0gdG9MYXlvdXRTaXpl
KGxheWVyLT5sb2NhdGlvbigpKTsKIAogICAgIGlmIChhZGp1c3RGb3JDb2x1bW5zID09IFJlbmRl
ckxheWVyOjpBZGp1c3RGb3JDb2x1bW5zKSB7CiAgICAgICAgIGlmIChSZW5kZXJMYXllciogcGFy
ZW50TGF5ZXIgPSBsYXllci0+cGFyZW50KCkpIHsKQEAgLTQzMDYsNyArNDMwNiw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnBhaW50QmFja2dyb3VuZEZvckZyYWdtZW50cyhjb25zdCBMYXllckZyYWdt
ZW50cyYgbGF5ZXJGcmFnbWVuCiAgICAgICAgIC8vIFBhaW50IHRoZSBiYWNrZ3JvdW5kLgogICAg
ICAgICAvLyBGSVhNRTogRXZlbnR1YWxseSB3ZSB3aWxsIGNvbGxlY3QgdGhlIHJlZ2lvbiBmcm9t
IHRoZSBmcmFnbWVudCBpdHNlbGYgaW5zdGVhZCBvZiBqdXN0IGZyb20gdGhlIHBhaW50IGluZm8u
CiAgICAgICAgIFBhaW50SW5mbyBwYWludEluZm8oY29udGV4dCwgZnJhZ21lbnQuYmFja2dyb3Vu
ZFJlY3QucmVjdCgpLCBQYWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kLCBwYWludEJlaGF2aW9yLCBz
dWJ0cmVlUGFpbnRSb290Rm9yUmVuZGVyZXIsIGxvY2FsUGFpbnRpbmdJbmZvLnJlZ2lvbiwgMCwg
MCwgJmxvY2FsUGFpbnRpbmdJbmZvLnJvb3RMYXllci0+cmVuZGVyZXIoKSk7Ci0gICAgICAgIHJl
bmRlcmVyKCkucGFpbnQocGFpbnRJbmZvLCB0b1BvaW50KGZyYWdtZW50LmxheWVyQm91bmRzLmxv
Y2F0aW9uKCkgLSByZW5kZXJCb3hMb2NhdGlvbigpICsgbG9jYWxQYWludGluZ0luZm8uc3ViUGl4
ZWxBY2N1bXVsYXRpb24pKTsKKyAgICAgICAgcmVuZGVyZXIoKS5wYWludChwYWludEluZm8sIHRv
TGF5b3V0UG9pbnQoZnJhZ21lbnQubGF5ZXJCb3VuZHMubG9jYXRpb24oKSAtIHJlbmRlckJveExv
Y2F0aW9uKCkgKyBsb2NhbFBhaW50aW5nSW5mby5zdWJQaXhlbEFjY3VtdWxhdGlvbikpOwogCiAg
ICAgICAgIGlmIChsb2NhbFBhaW50aW5nSW5mby5jbGlwVG9EaXJ0eVJlY3QpCiAgICAgICAgICAg
ICByZXN0b3JlQ2xpcChjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5wYWludERpcnR5UmVjdCwg
ZnJhZ21lbnQuYmFja2dyb3VuZFJlY3QpOwpAQCAtNDM4MSw3ICs0MzgxLDcgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6cGFpbnRGb3JlZ3JvdW5kRm9yRnJhZ21lbnRzV2l0aFBoYXNlKFBhaW50UGhhc2Ug
cGhhc2UsIGNvbnN0IEwKICAgICAgICAgUGFpbnRJbmZvIHBhaW50SW5mbyhjb250ZXh0LCBmcmFn
bWVudC5mb3JlZ3JvdW5kUmVjdC5yZWN0KCksIHBoYXNlLCBwYWludEJlaGF2aW9yLCBzdWJ0cmVl
UGFpbnRSb290Rm9yUmVuZGVyZXIsIGxvY2FsUGFpbnRpbmdJbmZvLnJlZ2lvbiwgMCwgMCwgJmxv
Y2FsUGFpbnRpbmdJbmZvLnJvb3RMYXllci0+cmVuZGVyZXIoKSk7CiAgICAgICAgIGlmIChwaGFz
ZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCkKICAgICAgICAgICAgIHBhaW50SW5mby5vdmVybGFw
VGVzdFJlcXVlc3RzID0gbG9jYWxQYWludGluZ0luZm8ub3ZlcmxhcFRlc3RSZXF1ZXN0czsKLSAg
ICAgICAgcmVuZGVyZXIoKS5wYWludChwYWludEluZm8sIHRvUG9pbnQoZnJhZ21lbnQubGF5ZXJC
b3VuZHMubG9jYXRpb24oKSAtIHJlbmRlckJveExvY2F0aW9uKCkgKyBsb2NhbFBhaW50aW5nSW5m
by5zdWJQaXhlbEFjY3VtdWxhdGlvbikpOworICAgICAgICByZW5kZXJlcigpLnBhaW50KHBhaW50
SW5mbywgdG9MYXlvdXRQb2ludChmcmFnbWVudC5sYXllckJvdW5kcy5sb2NhdGlvbigpIC0gcmVu
ZGVyQm94TG9jYXRpb24oKSArIGxvY2FsUGFpbnRpbmdJbmZvLnN1YlBpeGVsQWNjdW11bGF0aW9u
KSk7CiAgICAgICAgIAogICAgICAgICBpZiAoc2hvdWxkQ2xpcCkKICAgICAgICAgICAgIHJlc3Rv
cmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0LCBmcmFnbWVu
dC5mb3JlZ3JvdW5kUmVjdCk7CkBAIC00Mzk5LDcgKzQzOTksNyBAQCB2b2lkIFJlbmRlckxheWVy
OjpwYWludE91dGxpbmVGb3JGcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVudHMmIGxheWVyRnJh
Z21lbnRzLAogICAgICAgICAvLyBQYWludCBvdXIgb3duIG91dGxpbmUKICAgICAgICAgUGFpbnRJ
bmZvIHBhaW50SW5mbyhjb250ZXh0LCBmcmFnbWVudC5vdXRsaW5lUmVjdC5yZWN0KCksIFBhaW50
UGhhc2VTZWxmT3V0bGluZSwgcGFpbnRCZWhhdmlvciwgc3VidHJlZVBhaW50Um9vdEZvclJlbmRl
cmVyLCBsb2NhbFBhaW50aW5nSW5mby5yZWdpb24sIDAsIDAsICZsb2NhbFBhaW50aW5nSW5mby5y
b290TGF5ZXItPnJlbmRlcmVyKCkpOwogICAgICAgICBjbGlwVG9SZWN0KGxvY2FsUGFpbnRpbmdJ
bmZvLnJvb3RMYXllciwgY29udGV4dCwgbG9jYWxQYWludGluZ0luZm8ucGFpbnREaXJ0eVJlY3Qs
IGZyYWdtZW50Lm91dGxpbmVSZWN0LCBEb05vdEluY2x1ZGVTZWxmRm9yQm9yZGVyUmFkaXVzKTsK
LSAgICAgICAgcmVuZGVyZXIoKS5wYWludChwYWludEluZm8sIHRvUG9pbnQoZnJhZ21lbnQubGF5
ZXJCb3VuZHMubG9jYXRpb24oKSAtIHJlbmRlckJveExvY2F0aW9uKCkgKyBsb2NhbFBhaW50aW5n
SW5mby5zdWJQaXhlbEFjY3VtdWxhdGlvbikpOworICAgICAgICByZW5kZXJlcigpLnBhaW50KHBh
aW50SW5mbywgdG9MYXlvdXRQb2ludChmcmFnbWVudC5sYXllckJvdW5kcy5sb2NhdGlvbigpIC0g
cmVuZGVyQm94TG9jYXRpb24oKSArIGxvY2FsUGFpbnRpbmdJbmZvLnN1YlBpeGVsQWNjdW11bGF0
aW9uKSk7CiAgICAgICAgIHJlc3RvcmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBh
aW50RGlydHlSZWN0LCBmcmFnbWVudC5vdXRsaW5lUmVjdCk7CiAgICAgfQogfQpAQCAtNDQxOCw3
ICs0NDE4LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRNYXNrRm9yRnJhZ21lbnRzKGNvbnN0
IExheWVyRnJhZ21lbnRzJiBsYXllckZyYWdtZW50cywgR3IKICAgICAgICAgLy8gUGFpbnQgdGhl
IG1hc2suCiAgICAgICAgIC8vIEZJWE1FOiBFdmVudHVhbGx5IHdlIHdpbGwgY29sbGVjdCB0aGUg
cmVnaW9uIGZyb20gdGhlIGZyYWdtZW50IGl0c2VsZiBpbnN0ZWFkIG9mIGp1c3QgZnJvbSB0aGUg
cGFpbnQgaW5mby4KICAgICAgICAgUGFpbnRJbmZvIHBhaW50SW5mbyhjb250ZXh0LCBmcmFnbWVu
dC5iYWNrZ3JvdW5kUmVjdC5yZWN0KCksIFBhaW50UGhhc2VNYXNrLCBQYWludEJlaGF2aW9yTm9y
bWFsLCBzdWJ0cmVlUGFpbnRSb290Rm9yUmVuZGVyZXIsIGxvY2FsUGFpbnRpbmdJbmZvLnJlZ2lv
biwgMCwgMCwgJmxvY2FsUGFpbnRpbmdJbmZvLnJvb3RMYXllci0+cmVuZGVyZXIoKSk7Ci0gICAg
ICAgIHJlbmRlcmVyKCkucGFpbnQocGFpbnRJbmZvLCB0b1BvaW50KGZyYWdtZW50LmxheWVyQm91
bmRzLmxvY2F0aW9uKCkgLSByZW5kZXJCb3hMb2NhdGlvbigpICsgbG9jYWxQYWludGluZ0luZm8u
c3ViUGl4ZWxBY2N1bXVsYXRpb24pKTsKKyAgICAgICAgcmVuZGVyZXIoKS5wYWludChwYWludElu
Zm8sIHRvTGF5b3V0UG9pbnQoZnJhZ21lbnQubGF5ZXJCb3VuZHMubG9jYXRpb24oKSAtIHJlbmRl
ckJveExvY2F0aW9uKCkgKyBsb2NhbFBhaW50aW5nSW5mby5zdWJQaXhlbEFjY3VtdWxhdGlvbikp
OwogICAgICAgICAKICAgICAgICAgaWYgKGxvY2FsUGFpbnRpbmdJbmZvLmNsaXBUb0RpcnR5UmVj
dCkKICAgICAgICAgICAgIHJlc3RvcmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBh
aW50RGlydHlSZWN0LCBmcmFnbWVudC5iYWNrZ3JvdW5kUmVjdCk7CkBAIC00NDMwLDcgKzQ0MzAs
NyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludE92ZXJmbG93Q29udHJvbHNGb3JGcmFnbWVudHMo
Y29uc3QgTGF5ZXJGcmFnbWVudHMmIGxheWVyRgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bGF5ZXJGcmFnbWVudHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgY29uc3QgTGF5ZXJGcmFnbWVu
dCYgZnJhZ21lbnQgPSBsYXllckZyYWdtZW50cy5hdChpKTsKICAgICAgICAgY2xpcFRvUmVjdChs
b2NhbFBhaW50aW5nSW5mby5yb290TGF5ZXIsIGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBh
aW50RGlydHlSZWN0LCBmcmFnbWVudC5iYWNrZ3JvdW5kUmVjdCk7Ci0gICAgICAgIHBhaW50T3Zl
cmZsb3dDb250cm9scyhjb250ZXh0LCByb3VuZGVkSW50UG9pbnQodG9Qb2ludChmcmFnbWVudC5s
YXllckJvdW5kcy5sb2NhdGlvbigpIC0gcmVuZGVyQm94TG9jYXRpb24oKSArIGxvY2FsUGFpbnRp
bmdJbmZvLnN1YlBpeGVsQWNjdW11bGF0aW9uKSksCisgICAgICAgIHBhaW50T3ZlcmZsb3dDb250
cm9scyhjb250ZXh0LCByb3VuZGVkSW50UG9pbnQodG9MYXlvdXRQb2ludChmcmFnbWVudC5sYXll
ckJvdW5kcy5sb2NhdGlvbigpIC0gcmVuZGVyQm94TG9jYXRpb24oKSArIGxvY2FsUGFpbnRpbmdJ
bmZvLnN1YlBpeGVsQWNjdW11bGF0aW9uKSksCiAgICAgICAgICAgICBwaXhlbFNuYXBwZWRJbnRS
ZWN0KGZyYWdtZW50LmJhY2tncm91bmRSZWN0LnJlY3QoKSksIHRydWUpOwogICAgICAgICByZXN0
b3JlQ2xpcChjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5wYWludERpcnR5UmVjdCwgZnJhZ21l
bnQuYmFja2dyb3VuZFJlY3QpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcAppbmRleCBkMDViOGVjLi4yY2YyZjVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3BwCkBAIC0x
NjAsNyArMTYwLDcgQEAgdm9pZCBSZW5kZXJTY3JvbGxiYXJQYXJ0OjppbWFnZUNoYW5nZWQoV3Jh
cHBlZEltYWdlUHRyIGltYWdlLCBjb25zdCBJbnRSZWN0KiByZWMKIHZvaWQgUmVuZGVyU2Nyb2xs
YmFyUGFydDo6cGFpbnRJbnRvUmVjdChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwg
Y29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LCBjb25zdCBMYXlvdXRSZWN0JiByZWN0KQog
ewogICAgIC8vIE1ha2Ugc3VyZSBvdXIgZGltZW5zaW9ucyBtYXRjaCB0aGUgcmVjdC4KLSAgICBz
ZXRMb2NhdGlvbihyZWN0LmxvY2F0aW9uKCkgLSB0b1NpemUocGFpbnRPZmZzZXQpKTsKKyAgICBz
ZXRMb2NhdGlvbihyZWN0LmxvY2F0aW9uKCkgLSB0b0xheW91dFNpemUocGFpbnRPZmZzZXQpKTsK
ICAgICBzZXRXaWR0aChyZWN0LndpZHRoKCkpOwogICAgIHNldEhlaWdodChyZWN0LmhlaWdodCgp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90
dGVkUGx1Z0luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRl
ZFBsdWdJbi5jcHAKaW5kZXggNDJlZWM0My4uOWZjZTZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwCkBAIC0xMjUsNyAr
MTI1LDcgQEAgdm9pZCBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6cGFpbnRTbmFwc2hvdChQYWlu
dEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG8KICAgICBHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQgPSBwYWludEluZm8uY29udGV4dDsKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKHN0
eWxlKCkuaGlnaGxpZ2h0KCkgIT0gbnVsbEF0b20gJiYgIWNvbnRleHQtPnBhaW50aW5nRGlzYWJs
ZWQoKSkKLSAgICAgICAgcGFpbnRDdXN0b21IaWdobGlnaHQodG9Qb2ludChwYWludE9mZnNldCAt
IGxvY2F0aW9uKCkpLCBzdHlsZSgpLmhpZ2hsaWdodCgpLCB0cnVlKTsKKyAgICAgICAgcGFpbnRD
dXN0b21IaWdobGlnaHQodG9MYXlvdXRQb2ludChwYWludE9mZnNldCAtIGxvY2F0aW9uKCkpLCBz
dHlsZSgpLmhpZ2hsaWdodCgpLCB0cnVlKTsKICNlbmRpZgogCiAgICAgTGF5b3V0U2l6ZSBjb250
ZW50U2l6ZShjV2lkdGgsIGNIZWlnaHQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223934</attachid>
            <date>2014-02-11 20:13:16 -0800</date>
            <delta_ts>2014-02-12 12:29:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128515-20140211201320.patch</filename>
            <type>text/plain</type>
            <size>16837</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDE1NzgyZWIzZTdkMjVk
YzE4ZDEzM2I0ZDQ5YzdmNTJjYzNiNTcxNC4uMDExZWVmODU4ZTk3YzdkZTE5Mzc0OWFmZWQyZTBm
OGY1NTA4MzM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE0LTAyLTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3VicGl4ZWwgbGF5b3V0OiBD
bGVhbiB1cCBMYXlvdXRQb2ludCBjbGFzcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyODUxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZSByZWR1bmRhbnQgZnVuY3Rpb25zIChrZWVwIHRoZSBt
b3JlIGV4cGxpY2l0IG9uZXMpLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5
LgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3Ojp2aWV3cG9ydENvbnN0cmFpbmVkVmlzaWJsZUNvbnRlbnRSZWN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9MYXlvdXRQb2ludC5oOgorICAgICAgICAoV2ViQ29yZTo6dG9M
YXlvdXRQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjp0b0xheW91dFNpemUpOgorICAgICAgICAo
V2ViQ29yZTo6cm91bmRlZEludFBvaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
YS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNB
Ojp1cGRhdGVDb250ZW50c1JlY3RzKToKKyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0U3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmFkZEZvY3VzUmluZ1JlY3RzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6b2Zmc2V0RnJvbUNvbnRhaW5lcik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJJbmxpbmU6OmFkZEZvY3VzUmluZ1JlY3RzKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUxh
eWVyUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6YWNjdW11bGF0ZU9mZnNldFRvd2FyZHNB
bmNlc3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRCYWNrZ3JvdW5k
Rm9yRnJhZ21lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludEZvcmVn
cm91bmRGb3JGcmFnbWVudHNXaXRoUGhhc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OnBhaW50T3V0bGluZUZvckZyYWdtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6cGFpbnRNYXNrRm9yRnJhZ21lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpwYWludE92ZXJmbG93Q29udHJvbHNGb3JGcmFnbWVudHMpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNj
cm9sbGJhclBhcnQ6OnBhaW50SW50b1JlY3QpOgorCiAyMDE0LTAyLTEwICBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBJREI6IHN0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvaW5kZXhlcy5odG1sIGZhaWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXgg
ODliYjE1OTQxY2RhOTgxOGYxNzc3YjU2ZWRjYTIxNmNiNjk0YzQ1ZS4uNTJmOGU0MjAzMTUzMDg1
OGYxZTE2MjA1OWExOTBlYjM2OTg2N2I5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApA
QCAtMTUzOCw3ICsxNTM4LDcgQEAgTGF5b3V0UmVjdCBGcmFtZVZpZXc6OnZpZXdwb3J0Q29uc3Ry
YWluZWRWaXNpYmxlQ29udGVudFJlY3QoKSBjb25zdAogICAgICAgICByZXR1cm4gY3VzdG9tRml4
ZWRQb3NpdGlvbkxheW91dFJlY3QoKTsKICNlbmRpZgogICAgIExheW91dFJlY3Qgdmlld3BvcnRS
ZWN0ID0gdmlzaWJsZUNvbnRlbnRSZWN0KCk7Ci0gICAgdmlld3BvcnRSZWN0LnNldExvY2F0aW9u
KHRvUG9pbnQoc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpKSk7CisgICAgdmlld3BvcnRS
ZWN0LnNldExvY2F0aW9uKHRvTGF5b3V0UG9pbnQoc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlv
bigpKSk7CiAgICAgcmV0dXJuIHZpZXdwb3J0UmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTGF5b3V0UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0xheW91dFBvaW50LmgKaW5kZXggNzhlY2Q5MjJlYmQxNWIyZmNm
NWRjNGY3MzVlOWYyYjFkOWMzNWRiYi4uMjhhMmRiYTBiNzgyOTkxYTMyNWRkNDE0YmQ4ODY5OGRi
YmZlZTQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTGF5
b3V0UG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9MYXlvdXRQ
b2ludC5oCkBAIC0xNDAsMTkgKzE0MCwxNCBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0
IExheW91dFBvaW50JiBhLCBjb25zdCBMYXlvdXRQb2ludCYgYikKICAgICByZXR1cm4gYS54KCkg
IT0gYi54KCkgfHwgYS55KCkgIT0gYi55KCk7CiB9CiAKLWlubGluZSBMYXlvdXRQb2ludCB0b1Bv
aW50KGNvbnN0IExheW91dFNpemUmIHNpemUpCitpbmxpbmUgTGF5b3V0UG9pbnQgdG9MYXlvdXRQ
b2ludChjb25zdCBMYXlvdXRTaXplJiBzaXplKQogewogICAgIHJldHVybiBMYXlvdXRQb2ludChz
aXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpOwogfQogCi1pbmxpbmUgTGF5b3V0UG9pbnQgdG9M
YXlvdXRQb2ludChjb25zdCBMYXlvdXRTaXplJiBwKQoraW5saW5lIExheW91dFNpemUgdG9MYXlv
dXRTaXplKGNvbnN0IExheW91dFBvaW50JiBwb2ludCkKIHsKLSAgICByZXR1cm4gTGF5b3V0UG9p
bnQocC53aWR0aCgpLCBwLmhlaWdodCgpKTsKLX0KLQotaW5saW5lIExheW91dFNpemUgdG9TaXpl
KGNvbnN0IExheW91dFBvaW50JiBhKQotewotICAgIHJldHVybiBMYXlvdXRTaXplKGEueCgpLCBh
LnkoKSk7CisgICAgcmV0dXJuIExheW91dFNpemUocG9pbnQueCgpLCBwb2ludC55KCkpOwogfQog
CiBpbmxpbmUgSW50UG9pbnQgZmxvb3JlZEludFBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2lu
dCkKQEAgLTE2Nyw3ICsxNjIsNyBAQCBpbmxpbmUgSW50UG9pbnQgcm91bmRlZEludFBvaW50KGNv
bnN0IExheW91dFBvaW50JiBwb2ludCkKIAogaW5saW5lIEludFBvaW50IHJvdW5kZWRJbnRQb2lu
dChjb25zdCBMYXlvdXRTaXplJiBzaXplKQogewotICAgIHJldHVybiBJbnRQb2ludChzaXplLndp
ZHRoKCkucm91bmQoKSwgc2l6ZS5oZWlnaHQoKS5yb3VuZCgpKTsKKyAgICByZXR1cm4gcm91bmRl
ZEludFBvaW50KHRvTGF5b3V0UG9pbnQoc2l6ZSkpOwogfQogCiBpbmxpbmUgSW50UG9pbnQgY2Vp
bGVkSW50UG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQpAQCAtMTk5LDE3ICsxOTQsNiBA
QCBpbmxpbmUgTGF5b3V0UG9pbnQgcm91bmRlZExheW91dFBvaW50KGNvbnN0IEZsb2F0UG9pbnQm
IHApCiAjZW5kaWYKIH0KIAotaW5saW5lIExheW91dFNpemUgdG9MYXlvdXRTaXplKGNvbnN0IExh
eW91dFBvaW50JiBwKQotewotICAgIHJldHVybiBMYXlvdXRTaXplKHAueCgpLCBwLnkoKSk7Ci19
Ci0KLWlubGluZSBMYXlvdXRQb2ludCBmbG9vcmVkTGF5b3V0UG9pbnQoY29uc3QgRmxvYXRTaXpl
JiBzKQotewotICAgIHJldHVybiBmbG9vcmVkTGF5b3V0UG9pbnQoRmxvYXRQb2ludChzKSk7Ci19
Ci0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gTGF5b3V0UG9pbnRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NM
YXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNz
TGF5ZXJDQS5jcHAKaW5kZXggMTNlOWIwZjkwOGM1ZTQ2ZjAzMzdjYjdiNWMzM2VjODMxOGM5NWI2
MS4uMzEzNzNjMWM3NGFmNTQ5YTVlMGU4MmNkYTg5Y2NiMmFjNTNjMTNjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0Eu
Y3BwCkBAIC0yMDM4LDcgKzIwMzgsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlQ29u
dGVudHNSZWN0cygpCiAgICAgICAgIGNsaXBwaW5nT3JpZ2luID0gbV9jb250ZW50c0NsaXBwaW5n
UmVjdC5sb2NhdGlvbigpOwogICAgICAgICBjbGlwcGluZ0JvdW5kcy5zZXRTaXplKG1fY29udGVu
dHNDbGlwcGluZ1JlY3Quc2l6ZSgpKTsKIAotICAgICAgICBjb250ZW50T3JpZ2luID0gdG9Qb2lu
dChtX2NvbnRlbnRzUmVjdC5sb2NhdGlvbigpIC0gbV9jb250ZW50c0NsaXBwaW5nUmVjdC5sb2Nh
dGlvbigpKTsKKyAgICAgICAgY29udGVudE9yaWdpbiA9IHRvTGF5b3V0UG9pbnQobV9jb250ZW50
c1JlY3QubG9jYXRpb24oKSAtIG1fY29udGVudHNDbGlwcGluZ1JlY3QubG9jYXRpb24oKSk7CiAK
ICAgICAgICAgbV9jb250ZW50c0NsaXBwaW5nTGF5ZXItPnNldFBvc2l0aW9uKGNsaXBwaW5nT3Jp
Z2luKTsKICAgICAgICAgbV9jb250ZW50c0NsaXBwaW5nTGF5ZXItPnNldEJvdW5kcyhjbGlwcGlu
Z0JvdW5kcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3Rh
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcAppbmRleCBm
MWFjNTA4Y2ZmYWUxNjRlMWJkOTkwYTZkZDEyNDJhYzk3ZDE5YjJhLi5jNjAwNjA1ZGRlMGQ1YTVi
ODg0OWVhMzY4NWU1OWVlZjY1NmQ3OGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvTGF5b3V0U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlv
dXRTdGF0ZS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgTGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKHN0
ZDo6dW5pcXVlX3B0cjxMYXlvdXRTdGF0ZT4gbmV4dCwgUmVuZGVyQm94KiByZW5kZXJlciwKICAg
ICAgICAgbV9jbGlwUmVjdCA9IG1fbmV4dC0+bV9jbGlwUmVjdDsKIAogICAgIGlmIChyZW5kZXJl
ci0+aGFzT3ZlcmZsb3dDbGlwKCkpIHsKLSAgICAgICAgTGF5b3V0UmVjdCBjbGlwUmVjdCh0b1Bv
aW50KG1fcGFpbnRPZmZzZXQpICsgcmVuZGVyZXItPnZpZXcoKS5sYXlvdXREZWx0YSgpLCByZW5k
ZXJlci0+Y2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpKTsKKyAgICAgICAgTGF5b3V0UmVjdCBj
bGlwUmVjdCh0b0xheW91dFBvaW50KG1fcGFpbnRPZmZzZXQpICsgcmVuZGVyZXItPnZpZXcoKS5s
YXlvdXREZWx0YSgpLCByZW5kZXJlci0+Y2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpKTsKICAg
ICAgICAgaWYgKG1fY2xpcHBlZCkKICAgICAgICAgICAgIG1fY2xpcFJlY3QuaW50ZXJzZWN0KGNs
aXBSZWN0KTsKICAgICAgICAgZWxzZSB7CkBAIC0xNjEsNyArMTYxLDcgQEAgTGF5b3V0U3RhdGU6
OkxheW91dFN0YXRlKFJlbmRlck9iamVjdCYgcm9vdCkKICAgICBpZiAoY29udGFpbmVyLT5oYXNP
dmVyZmxvd0NsaXAoKSkgewogICAgICAgICBtX2NsaXBwZWQgPSB0cnVlOwogICAgICAgICBSZW5k
ZXJCb3gqIGNvbnRhaW5lckJveCA9IHRvUmVuZGVyQm94KGNvbnRhaW5lcik7Ci0gICAgICAgIG1f
Y2xpcFJlY3QgPSBMYXlvdXRSZWN0KHRvUG9pbnQobV9wYWludE9mZnNldCksIGNvbnRhaW5lckJv
eC0+Y2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xpcCgpKTsKKyAgICAgICAgbV9jbGlwUmVjdCA9IExh
eW91dFJlY3QodG9MYXlvdXRQb2ludChtX3BhaW50T2Zmc2V0KSwgY29udGFpbmVyQm94LT5jYWNo
ZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkpOwogICAgICAgICBtX3BhaW50T2Zmc2V0IC09IGNvbnRh
aW5lckJveC0+c2Nyb2xsZWRDb250ZW50T2Zmc2V0KCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggOWMwZjE1NTg3NzY1M2Q2OTg3YWM2ZWVk
MjNhNjNlODIxMTc2MjQwNC4uMmViNmY2ZjdiMGY1NTFiMTRkNmQ4OTZkNzc4YmUxOWIzMjczYjVh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC01MDAxLDcg
KzUwMDEsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGRGb2N1c1JpbmdSZWN0cyhWZWN0b3I8SW50
UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYQogICAgIH0KIAogICAgIGlmIChpbmxp
bmVFbGVtZW50Q29udGludWF0aW9uKCkpCi0gICAgICAgIGlubGluZUVsZW1lbnRDb250aW51YXRp
b24oKS0+YWRkRm9jdXNSaW5nUmVjdHMocmVjdHMsIGZsb29yZWRMYXlvdXRQb2ludChhZGRpdGlv
bmFsT2Zmc2V0ICsgaW5saW5lRWxlbWVudENvbnRpbnVhdGlvbigpLT5jb250YWluaW5nQmxvY2so
KS0+bG9jYXRpb24oKSAtIGxvY2F0aW9uKCkpLCBwYWludENvbnRhaW5lcik7CisgICAgICAgIGlu
bGluZUVsZW1lbnRDb250aW51YXRpb24oKS0+YWRkRm9jdXNSaW5nUmVjdHMocmVjdHMsIGZsb29y
ZWRMYXlvdXRQb2ludChMYXlvdXRQb2ludChhZGRpdGlvbmFsT2Zmc2V0ICsgaW5saW5lRWxlbWVu
dENvbnRpbnVhdGlvbigpLT5jb250YWluaW5nQmxvY2soKS0+bG9jYXRpb24oKSAtIGxvY2F0aW9u
KCkpKSwgcGFpbnRDb250YWluZXIpOwogfQogCiBSZW5kZXJCb3gqIFJlbmRlckJsb2NrOjpjcmVh
dGVBbm9ueW1vdXNCb3hXaXRoU2FtZVR5cGVBcyhjb25zdCBSZW5kZXJPYmplY3QqIHBhcmVudCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggODAwY2RiZmI0
ZmJjN2EwZjdjY2VjNjMxMjRjMmIzMzJjYmQ0NDE0Mi4uZGIyYWZlNWM5YTI2M2VjNDczYzY4ZjJm
ZGE1OTllN2FjNTE1MzJkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
QEAgLTE5NDIsNyArMTk0Miw3IEBAIExheW91dFNpemUgUmVuZGVyQm94OjpvZmZzZXRGcm9tQ29u
dGFpbmVyKFJlbmRlck9iamVjdCogbywgY29uc3QgTGF5b3V0UG9pbnQmIHBvCiAgICAgICAgICAg
ICBSZW5kZXJCbG9jayogYmxvY2sgPSB0b1JlbmRlckJsb2NrKG8pOwogICAgICAgICAgICAgTGF5
b3V0UmVjdCBjb2x1bW5SZWN0KGZyYW1lUmVjdCgpKTsKICAgICAgICAgICAgIGJsb2NrLT5hZGp1
c3RTdGFydEVkZ2VGb3JXcml0aW5nTW9kZUluY2x1ZGluZ0NvbHVtbnMoY29sdW1uUmVjdCk7Ci0g
ICAgICAgICAgICBvZmZzZXQgKz0gdG9TaXplKGNvbHVtblJlY3QubG9jYXRpb24oKSk7CisgICAg
ICAgICAgICBvZmZzZXQgKz0gdG9MYXlvdXRTaXplKGNvbHVtblJlY3QubG9jYXRpb24oKSk7CiAg
ICAgICAgICAgICBMYXlvdXRQb2ludCBjb2x1bW5Qb2ludCA9IGJsb2NrLT5mbGlwRm9yV3JpdGlu
Z01vZGVJbmNsdWRpbmdDb2x1bW5zKHBvaW50ICsgb2Zmc2V0KTsKICAgICAgICAgICAgIG9mZnNl
dCA9IHRvTGF5b3V0U2l6ZShibG9jay0+ZmxpcEZvcldyaXRpbmdNb2RlSW5jbHVkaW5nQ29sdW1u
cyh0b0xheW91dFBvaW50KG9mZnNldCkpKTsKICAgICAgICAgICAgIG8tPmFkanVzdEZvckNvbHVt
bnMob2Zmc2V0LCBjb2x1bW5Qb2ludCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwCmluZGV4IDY0MTJjN2ViMzIzMmRlNWZkZjg5MGI0ZTVkMzgwMmIxY2ExZDRhNzUu
LmU0NTM1NDA3Y2Y1NjNlMjlhZDMzZTk2NDBlOWM4YzQzMGY5ODYwNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCkBAIC0xNDg1LDkgKzE0ODUsOSBAQCB2b2lk
IFJlbmRlcklubGluZTo6YWRkRm9jdXNSaW5nUmVjdHMoVmVjdG9yPEludFJlY3Q+JiByZWN0cywg
Y29uc3QgTGF5b3V0UG9pbnQmCiAKICAgICBpZiAoUmVuZGVyQm94TW9kZWxPYmplY3QqIGNvbnRp
bnVhdGlvbiA9IHRoaXMtPmNvbnRpbnVhdGlvbigpKSB7CiAgICAgICAgIGlmIChjb250aW51YXRp
b24tPmlzSW5saW5lKCkpCi0gICAgICAgICAgICBjb250aW51YXRpb24tPmFkZEZvY3VzUmluZ1Jl
Y3RzKHJlY3RzLCBmbG9vcmVkTGF5b3V0UG9pbnQoYWRkaXRpb25hbE9mZnNldCArIGNvbnRpbnVh
dGlvbi0+Y29udGFpbmluZ0Jsb2NrKCktPmxvY2F0aW9uKCkgLSBjb250YWluaW5nQmxvY2soKS0+
bG9jYXRpb24oKSksIHBhaW50Q29udGFpbmVyKTsKKyAgICAgICAgICAgIGNvbnRpbnVhdGlvbi0+
YWRkRm9jdXNSaW5nUmVjdHMocmVjdHMsIGZsb29yZWRMYXlvdXRQb2ludChMYXlvdXRQb2ludChh
ZGRpdGlvbmFsT2Zmc2V0ICsgY29udGludWF0aW9uLT5jb250YWluaW5nQmxvY2soKS0+bG9jYXRp
b24oKSAtIGNvbnRhaW5pbmdCbG9jaygpLT5sb2NhdGlvbigpKSksIHBhaW50Q29udGFpbmVyKTsK
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgY29udGludWF0aW9uLT5hZGRGb2N1c1JpbmdSZWN0
cyhyZWN0cywgZmxvb3JlZExheW91dFBvaW50KGFkZGl0aW9uYWxPZmZzZXQgKyB0b1JlbmRlckJv
eChjb250aW51YXRpb24pLT5sb2NhdGlvbigpIC0gY29udGFpbmluZ0Jsb2NrKCktPmxvY2F0aW9u
KCkpLCBwYWludENvbnRhaW5lcik7CisgICAgICAgICAgICBjb250aW51YXRpb24tPmFkZEZvY3Vz
UmluZ1JlY3RzKHJlY3RzLCBmbG9vcmVkTGF5b3V0UG9pbnQoTGF5b3V0UG9pbnQoYWRkaXRpb25h
bE9mZnNldCArIHRvUmVuZGVyQm94KGNvbnRpbnVhdGlvbiktPmxvY2F0aW9uKCkgLSBjb250YWlu
aW5nQmxvY2soKS0+bG9jYXRpb24oKSkpLCBwYWludENvbnRhaW5lcik7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBhZDYyNTk1YzI5YjIx
YmZlMTIxN2QwM2YwZTMwYWM1ZTVhZjg3ZWIwLi42MDYxOTIxMDg0OWVkODMwYzk2MWM5YTQxZWE2
NGZkZjcwMTE0NTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
QEAgLTExOTgsNyArMTE5OCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRp
b24oKQogICAgICAgICBSZW5kZXJJbmxpbmUmIGlubGluZUZsb3cgPSB0b1JlbmRlcklubGluZShy
ZW5kZXJlcigpKTsKICAgICAgICAgSW50UmVjdCBsaW5lQm94ID0gaW5saW5lRmxvdy5saW5lc0Jv
dW5kaW5nQm94KCk7CiAgICAgICAgIHNldFNpemUobGluZUJveC5zaXplKCkpOwotICAgICAgICBp
bmxpbmVCb3VuZGluZ0JveE9mZnNldCA9IHRvU2l6ZShsaW5lQm94LmxvY2F0aW9uKCkpOworICAg
ICAgICBpbmxpbmVCb3VuZGluZ0JveE9mZnNldCA9IHRvTGF5b3V0U2l6ZShsaW5lQm94LmxvY2F0
aW9uKCkpOwogICAgICAgICBsb2NhbFBvaW50ICs9IGlubGluZUJvdW5kaW5nQm94T2Zmc2V0Owog
ICAgIH0gZWxzZSBpZiAoUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKSkgewogICAgICAgICAv
LyBGSVhNRTogSXMgc25hcHBpbmcgdGhlIHNpemUgcmVhbGx5IG5lZWRlZCBoZXJlIGZvciB0aGUg
UmVuZGVyQm94IGNhc2U/CkBAIC0xOTE4LDEzICsxOTE4LDEzIEBAIHN0YXRpYyBpbmxpbmUgY29u
c3QgUmVuZGVyTGF5ZXIqIGFjY3VtdWxhdGVPZmZzZXRUb3dhcmRzQW5jZXN0b3IoY29uc3QgUmVu
ZGVyTGF5CiAgICAgaWYgKHBvc2l0aW9uID09IEZpeGVkUG9zaXRpb24gJiYgZml4ZWRGbG93VGhy
ZWFkQ29udGFpbmVyKSB7CiAgICAgICAgIEFTU0VSVChhbmNlc3RvckxheWVyKTsKICAgICAgICAg
aWYgKGFuY2VzdG9yTGF5ZXItPmlzT3V0T2ZGbG93UmVuZGVyRmxvd1RocmVhZCgpKSB7Ci0gICAg
ICAgICAgICBsb2NhdGlvbiArPSB0b1NpemUobGF5ZXItPmxvY2F0aW9uKCkpOworICAgICAgICAg
ICAgbG9jYXRpb24gKz0gdG9MYXlvdXRTaXplKGxheWVyLT5sb2NhdGlvbigpKTsKICAgICAgICAg
ICAgIHJldHVybiBhbmNlc3RvckxheWVyOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGFuY2Vz
dG9yTGF5ZXIgPT0gcmVuZGVyZXIudmlldygpLmxheWVyKCkpIHsKICAgICAgICAgICAgIC8vIEFk
ZCBsb2NhdGlvbiBpbiBmbG93IHRocmVhZCBjb29yZGluYXRlcy4KLSAgICAgICAgICAgIGxvY2F0
aW9uICs9IHRvU2l6ZShsYXllci0+bG9jYXRpb24oKSk7CisgICAgICAgICAgICBsb2NhdGlvbiAr
PSB0b0xheW91dFNpemUobGF5ZXItPmxvY2F0aW9uKCkpOwogCiAgICAgICAgICAgICAvLyBBZGQg
ZmxvdyB0aHJlYWQgb2Zmc2V0IGluIHZpZXcgY29vcmRpbmF0ZXMgc2luY2UgdGhlIHZpZXcgbWF5
IGJlIHNjcm9sbGVkLgogICAgICAgICAgICAgRmxvYXRQb2ludCBhYnNQb3MgPSByZW5kZXJlci52
aWV3KCkubG9jYWxUb0Fic29sdXRlKEZsb2F0UG9pbnQoKSwgSXNGaXhlZCk7CkBAIC0xOTc4LDcg
KzE5NzgsNyBAQCBzdGF0aWMgaW5saW5lIGNvbnN0IFJlbmRlckxheWVyKiBhY2N1bXVsYXRlT2Zm
c2V0VG93YXJkc0FuY2VzdG9yKGNvbnN0IFJlbmRlckxheQogICAgIGlmICghcGFyZW50TGF5ZXIp
CiAgICAgICAgIHJldHVybiAwOwogCi0gICAgbG9jYXRpb24gKz0gdG9TaXplKGxheWVyLT5sb2Nh
dGlvbigpKTsKKyAgICBsb2NhdGlvbiArPSB0b0xheW91dFNpemUobGF5ZXItPmxvY2F0aW9uKCkp
OwogCiAgICAgaWYgKGFkanVzdEZvckNvbHVtbnMgPT0gUmVuZGVyTGF5ZXI6OkFkanVzdEZvckNv
bHVtbnMpIHsKICAgICAgICAgaWYgKFJlbmRlckxheWVyKiBwYXJlbnRMYXllciA9IGxheWVyLT5w
YXJlbnQoKSkgewpAQCAtNDMwOSw3ICs0MzA5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRC
YWNrZ3JvdW5kRm9yRnJhZ21lbnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiBsYXllckZyYWdtZW4K
ICAgICAgICAgLy8gUGFpbnQgdGhlIGJhY2tncm91bmQuCiAgICAgICAgIC8vIEZJWE1FOiBFdmVu
dHVhbGx5IHdlIHdpbGwgY29sbGVjdCB0aGUgcmVnaW9uIGZyb20gdGhlIGZyYWdtZW50IGl0c2Vs
ZiBpbnN0ZWFkIG9mIGp1c3QgZnJvbSB0aGUgcGFpbnQgaW5mby4KICAgICAgICAgUGFpbnRJbmZv
IHBhaW50SW5mbyhjb250ZXh0LCBwaXhlbFNuYXBwZWRJbnRSZWN0KGZyYWdtZW50LmJhY2tncm91
bmRSZWN0LnJlY3QoKSksIFBhaW50UGhhc2VCbG9ja0JhY2tncm91bmQsIHBhaW50QmVoYXZpb3Is
IHN1YnRyZWVQYWludFJvb3RGb3JSZW5kZXJlciwgbG9jYWxQYWludGluZ0luZm8ucmVnaW9uLCAw
LCAwLCAmbG9jYWxQYWludGluZ0luZm8ucm9vdExheWVyLT5yZW5kZXJlcigpKTsKLSAgICAgICAg
cmVuZGVyZXIoKS5wYWludChwYWludEluZm8sIHRvUG9pbnQoZnJhZ21lbnQubGF5ZXJCb3VuZHMu
bG9jYXRpb24oKSAtIHJlbmRlckJveExvY2F0aW9uKCkgKyBsb2NhbFBhaW50aW5nSW5mby5zdWJQ
aXhlbEFjY3VtdWxhdGlvbikpOworICAgICAgICByZW5kZXJlcigpLnBhaW50KHBhaW50SW5mbywg
dG9MYXlvdXRQb2ludChmcmFnbWVudC5sYXllckJvdW5kcy5sb2NhdGlvbigpIC0gcmVuZGVyQm94
TG9jYXRpb24oKSArIGxvY2FsUGFpbnRpbmdJbmZvLnN1YlBpeGVsQWNjdW11bGF0aW9uKSk7CiAK
ICAgICAgICAgaWYgKGxvY2FsUGFpbnRpbmdJbmZvLmNsaXBUb0RpcnR5UmVjdCkKICAgICAgICAg
ICAgIHJlc3RvcmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0
LCBmcmFnbWVudC5iYWNrZ3JvdW5kUmVjdCk7CkBAIC00Mzg0LDcgKzQzODQsNyBAQCB2b2lkIFJl
bmRlckxheWVyOjpwYWludEZvcmVncm91bmRGb3JGcmFnbWVudHNXaXRoUGhhc2UoUGFpbnRQaGFz
ZSBwaGFzZSwgY29uc3QgTAogICAgICAgICBQYWludEluZm8gcGFpbnRJbmZvKGNvbnRleHQsIHBp
eGVsU25hcHBlZEludFJlY3QoZnJhZ21lbnQuZm9yZWdyb3VuZFJlY3QucmVjdCgpKSwgcGhhc2Us
IHBhaW50QmVoYXZpb3IsIHN1YnRyZWVQYWludFJvb3RGb3JSZW5kZXJlciwgbG9jYWxQYWludGlu
Z0luZm8ucmVnaW9uLCAwLCAwLCAmbG9jYWxQYWludGluZ0luZm8ucm9vdExheWVyLT5yZW5kZXJl
cigpKTsKICAgICAgICAgaWYgKHBoYXNlID09IFBhaW50UGhhc2VGb3JlZ3JvdW5kKQogICAgICAg
ICAgICAgcGFpbnRJbmZvLm92ZXJsYXBUZXN0UmVxdWVzdHMgPSBsb2NhbFBhaW50aW5nSW5mby5v
dmVybGFwVGVzdFJlcXVlc3RzOwotICAgICAgICByZW5kZXJlcigpLnBhaW50KHBhaW50SW5mbywg
dG9Qb2ludChmcmFnbWVudC5sYXllckJvdW5kcy5sb2NhdGlvbigpIC0gcmVuZGVyQm94TG9jYXRp
b24oKSArIGxvY2FsUGFpbnRpbmdJbmZvLnN1YlBpeGVsQWNjdW11bGF0aW9uKSk7CisgICAgICAg
IHJlbmRlcmVyKCkucGFpbnQocGFpbnRJbmZvLCB0b0xheW91dFBvaW50KGZyYWdtZW50LmxheWVy
Qm91bmRzLmxvY2F0aW9uKCkgLSByZW5kZXJCb3hMb2NhdGlvbigpICsgbG9jYWxQYWludGluZ0lu
Zm8uc3ViUGl4ZWxBY2N1bXVsYXRpb24pKTsKICAgICAgICAgCiAgICAgICAgIGlmIChzaG91bGRD
bGlwKQogICAgICAgICAgICAgcmVzdG9yZUNsaXAoY29udGV4dCwgbG9jYWxQYWludGluZ0luZm8u
cGFpbnREaXJ0eVJlY3QsIGZyYWdtZW50LmZvcmVncm91bmRSZWN0KTsKQEAgLTQ0MDIsNyArNDQw
Miw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50T3V0bGluZUZvckZyYWdtZW50cyhjb25zdCBM
YXllckZyYWdtZW50cyYgbGF5ZXJGcmFnbWVudHMsCiAgICAgICAgIC8vIFBhaW50IG91ciBvd24g
b3V0bGluZQogICAgICAgICBQYWludEluZm8gcGFpbnRJbmZvKGNvbnRleHQsIHBpeGVsU25hcHBl
ZEludFJlY3QoZnJhZ21lbnQub3V0bGluZVJlY3QucmVjdCgpKSwgUGFpbnRQaGFzZVNlbGZPdXRs
aW5lLCBwYWludEJlaGF2aW9yLCBzdWJ0cmVlUGFpbnRSb290Rm9yUmVuZGVyZXIsIGxvY2FsUGFp
bnRpbmdJbmZvLnJlZ2lvbiwgMCwgMCwgJmxvY2FsUGFpbnRpbmdJbmZvLnJvb3RMYXllci0+cmVu
ZGVyZXIoKSk7CiAgICAgICAgIGNsaXBUb1JlY3QobG9jYWxQYWludGluZ0luZm8ucm9vdExheWVy
LCBjb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5wYWludERpcnR5UmVjdCwgZnJhZ21lbnQub3V0
bGluZVJlY3QsIERvTm90SW5jbHVkZVNlbGZGb3JCb3JkZXJSYWRpdXMpOwotICAgICAgICByZW5k
ZXJlcigpLnBhaW50KHBhaW50SW5mbywgdG9Qb2ludChmcmFnbWVudC5sYXllckJvdW5kcy5sb2Nh
dGlvbigpIC0gcmVuZGVyQm94TG9jYXRpb24oKSArIGxvY2FsUGFpbnRpbmdJbmZvLnN1YlBpeGVs
QWNjdW11bGF0aW9uKSk7CisgICAgICAgIHJlbmRlcmVyKCkucGFpbnQocGFpbnRJbmZvLCB0b0xh
eW91dFBvaW50KGZyYWdtZW50LmxheWVyQm91bmRzLmxvY2F0aW9uKCkgLSByZW5kZXJCb3hMb2Nh
dGlvbigpICsgbG9jYWxQYWludGluZ0luZm8uc3ViUGl4ZWxBY2N1bXVsYXRpb24pKTsKICAgICAg
ICAgcmVzdG9yZUNsaXAoY29udGV4dCwgbG9jYWxQYWludGluZ0luZm8ucGFpbnREaXJ0eVJlY3Qs
IGZyYWdtZW50Lm91dGxpbmVSZWN0KTsKICAgICB9CiB9CkBAIC00NDIxLDcgKzQ0MjEsNyBAQCB2
b2lkIFJlbmRlckxheWVyOjpwYWludE1hc2tGb3JGcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVu
dHMmIGxheWVyRnJhZ21lbnRzLCBHcgogICAgICAgICAvLyBQYWludCB0aGUgbWFzay4KICAgICAg
ICAgLy8gRklYTUU6IEV2ZW50dWFsbHkgd2Ugd2lsbCBjb2xsZWN0IHRoZSByZWdpb24gZnJvbSB0
aGUgZnJhZ21lbnQgaXRzZWxmIGluc3RlYWQgb2YganVzdCBmcm9tIHRoZSBwYWludCBpbmZvLgog
ICAgICAgICBQYWludEluZm8gcGFpbnRJbmZvKGNvbnRleHQsIHBpeGVsU25hcHBlZEludFJlY3Qo
ZnJhZ21lbnQuYmFja2dyb3VuZFJlY3QucmVjdCgpKSwgUGFpbnRQaGFzZU1hc2ssIFBhaW50QmVo
YXZpb3JOb3JtYWwsIHN1YnRyZWVQYWludFJvb3RGb3JSZW5kZXJlciwgbG9jYWxQYWludGluZ0lu
Zm8ucmVnaW9uLCAwLCAwLCAmbG9jYWxQYWludGluZ0luZm8ucm9vdExheWVyLT5yZW5kZXJlcigp
KTsKLSAgICAgICAgcmVuZGVyZXIoKS5wYWludChwYWludEluZm8sIHRvUG9pbnQoZnJhZ21lbnQu
bGF5ZXJCb3VuZHMubG9jYXRpb24oKSAtIHJlbmRlckJveExvY2F0aW9uKCkgKyBsb2NhbFBhaW50
aW5nSW5mby5zdWJQaXhlbEFjY3VtdWxhdGlvbikpOworICAgICAgICByZW5kZXJlcigpLnBhaW50
KHBhaW50SW5mbywgdG9MYXlvdXRQb2ludChmcmFnbWVudC5sYXllckJvdW5kcy5sb2NhdGlvbigp
IC0gcmVuZGVyQm94TG9jYXRpb24oKSArIGxvY2FsUGFpbnRpbmdJbmZvLnN1YlBpeGVsQWNjdW11
bGF0aW9uKSk7CiAgICAgICAgIAogICAgICAgICBpZiAobG9jYWxQYWludGluZ0luZm8uY2xpcFRv
RGlydHlSZWN0KQogICAgICAgICAgICAgcmVzdG9yZUNsaXAoY29udGV4dCwgbG9jYWxQYWludGlu
Z0luZm8ucGFpbnREaXJ0eVJlY3QsIGZyYWdtZW50LmJhY2tncm91bmRSZWN0KTsKQEAgLTQ0MzMs
NyArNDQzMyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50T3ZlcmZsb3dDb250cm9sc0ZvckZy
YWdtZW50cyhjb25zdCBMYXllckZyYWdtZW50cyYgbGF5ZXJGCiAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBsYXllckZyYWdtZW50cy5zaXplKCk7ICsraSkgewogICAgICAgICBjb25zdCBMYXll
ckZyYWdtZW50JiBmcmFnbWVudCA9IGxheWVyRnJhZ21lbnRzLmF0KGkpOwogICAgICAgICBjbGlw
VG9SZWN0KGxvY2FsUGFpbnRpbmdJbmZvLnJvb3RMYXllciwgY29udGV4dCwgbG9jYWxQYWludGlu
Z0luZm8ucGFpbnREaXJ0eVJlY3QsIGZyYWdtZW50LmJhY2tncm91bmRSZWN0KTsKLSAgICAgICAg
cGFpbnRPdmVyZmxvd0NvbnRyb2xzKGNvbnRleHQsIHJvdW5kZWRJbnRQb2ludCh0b1BvaW50KGZy
YWdtZW50LmxheWVyQm91bmRzLmxvY2F0aW9uKCkgLSByZW5kZXJCb3hMb2NhdGlvbigpICsgbG9j
YWxQYWludGluZ0luZm8uc3ViUGl4ZWxBY2N1bXVsYXRpb24pKSwKKyAgICAgICAgcGFpbnRPdmVy
Zmxvd0NvbnRyb2xzKGNvbnRleHQsIHJvdW5kZWRJbnRQb2ludCh0b0xheW91dFBvaW50KGZyYWdt
ZW50LmxheWVyQm91bmRzLmxvY2F0aW9uKCkgLSByZW5kZXJCb3hMb2NhdGlvbigpICsgbG9jYWxQ
YWludGluZ0luZm8uc3ViUGl4ZWxBY2N1bXVsYXRpb24pKSwKICAgICAgICAgICAgIHBpeGVsU25h
cHBlZEludFJlY3QoZnJhZ21lbnQuYmFja2dyb3VuZFJlY3QucmVjdCgpKSwgdHJ1ZSk7CiAgICAg
ICAgIHJlc3RvcmVDbGlwKGNvbnRleHQsIGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0
LCBmcmFnbWVudC5iYWNrZ3JvdW5kUmVjdCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3BwCmluZGV4IGQwNWI4ZWM4MjBhZDZlYTVh
NDc3ZTFhZWIxZTM1NGZkMTY1M2M4ZjMuLjJjZjJmNWZjNjI1ZTRjNTExM2I2MmFlOWViYTZiYTJk
OWMwMGNlZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3Jv
bGxiYXJQYXJ0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyUGFydC5jcHAKQEAgLTE2MCw3ICsxNjAsNyBAQCB2b2lkIFJlbmRlclNjcm9sbGJhclBhcnQ6
OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIgaW1hZ2UsIGNvbnN0IEludFJlY3QqIHJlYwog
dm9pZCBSZW5kZXJTY3JvbGxiYXJQYXJ0OjpwYWludEludG9SZWN0KEdyYXBoaWNzQ29udGV4dCog
Z3JhcGhpY3NDb250ZXh0LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsIGNvbnN0IExh
eW91dFJlY3QmIHJlY3QpCiB7CiAgICAgLy8gTWFrZSBzdXJlIG91ciBkaW1lbnNpb25zIG1hdGNo
IHRoZSByZWN0LgotICAgIHNldExvY2F0aW9uKHJlY3QubG9jYXRpb24oKSAtIHRvU2l6ZShwYWlu
dE9mZnNldCkpOworICAgIHNldExvY2F0aW9uKHJlY3QubG9jYXRpb24oKSAtIHRvTGF5b3V0U2l6
ZShwYWludE9mZnNldCkpOwogICAgIHNldFdpZHRoKHJlY3Qud2lkdGgoKSk7CiAgICAgc2V0SGVp
Z2h0KHJlY3QuaGVpZ2h0KCkpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>