<?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>89638</bug_id>
          
          <creation_ts>2012-06-21 00:20:27 -0700</creation_ts>
          <short_desc>Prep work for gradient interpolation.</short_desc>
          <delta_ts>2022-07-13 10:17:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>21725</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shane Stephens">shanestephens</reporter>
          <assigned_to name="Shane Stephens">shanestephens</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>morrita</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>654292</commentid>
    <comment_count>0</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2012-06-21 00:20:27 -0700</bug_when>
    <thetext>Prep work for gradient interpolation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654296</commentid>
    <comment_count>1</comment_count>
      <attachid>148741</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2012-06-21 00:29:31 -0700</bug_when>
    <thetext>Created attachment 148741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654297</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 00:32:14 -0700</bug_when>
    <thetext>Attachment 148741 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/Platform/ChangeLog&apos;, u&apos;Source/Platf...&quot; exit_code: 1
Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654311</commentid>
    <comment_count>3</comment_count>
      <attachid>148741</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-21 01:12:13 -0700</bug_when>
    <thetext>Comment on attachment 148741
Patch

Attachment 148741 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13026050</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655038</commentid>
    <comment_count>4</comment_count>
      <attachid>148914</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2012-06-21 17:05:53 -0700</bug_when>
    <thetext>Created attachment 148914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758160</commentid>
    <comment_count>5</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-04 17:16:05 -0800</bug_when>
    <thetext>Is this still valid?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758180</commentid>
    <comment_count>6</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2012-11-04 18:44:28 -0800</bug_when>
    <thetext>It should be, but it&apos;s probably out of date. If someone is willing to review, I&apos;m very happy to bring the patch up-to-date with the tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758183</commentid>
    <comment_count>7</comment_count>
      <attachid>148914</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-04 18:54:01 -0800</bug_when>
    <thetext>Comment on attachment 148914
Patch

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

&gt; It should be, but it&apos;s probably out of date. If someone is willing to review, I&apos;m very happy to bring the patch up-to-date with the tree.
The code basically looks fine. So I&apos;m happy to help. Let&apos;s iterate a bit more.

&gt; Source/WebCore/css/CSSGradientValue.cpp:579
&gt; +float CSSLinearGradientValue::angleInDegrees() const

It&apos;s better to have this change when we actually use this. Otherwise we have code with no test coverage, which is bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758505</commentid>
    <comment_count>8</comment_count>
      <attachid>148914</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-11-05 07:10:48 -0800</bug_when>
    <thetext>Comment on attachment 148914
Patch

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

&gt; Source/WebCore/ChangeLog:23
&gt; +        (WebCore::CSSGradientValue::canBlendWith): Returns true iff two gradients can be interpolated.

s/iff/if/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759205</commentid>
    <comment_count>9</comment_count>
      <attachid>172476</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2012-11-05 20:14:28 -0800</bug_when>
    <thetext>Created attachment 172476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759280</commentid>
    <comment_count>10</comment_count>
      <attachid>172476</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-05 22:55:22 -0800</bug_when>
    <thetext>Comment on attachment 172476
Patch

Attachment 172476 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14744330</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148741</attachid>
            <date>2012-06-21 00:29:31 -0700</date>
            <delta_ts>2012-06-21 17:05:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89638-20120621172929.patch</filename>
            <type>text/plain</type>
            <size>12712</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAxODZiNWVhOWEyMTIw
NTlkMjQ4YWFmNDE0MjUwN2MxZjUzMGQzOGU1Li45N2E2YmQxNTkwOGZiZTc5MDhlZDIyZTRjMDI3
YjA5N2FlZWZkNDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNi0yMSAg
U2hhbmUgU3RlcGhlbnMgIDxzaGFuZXN0ZXBoZW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgUHJl
cCB3b3JrIGZvciBncmFkaWVudCBpbnRlcnBvbGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cC9QbGF0Zm9ybS5neXA6CisK
IDIwMTItMDYtMjAgIENocmlzdG9waGVyIENhbWVyb24gIDxjY2FtZXJvbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSB3ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSBkb2Vzbid0
IHdvcmsgd2l0aCB2aWRlbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDliZmZmNmExOWMwNDM0ZTlkYTgyNjI0NDlj
YjNlYjcwMWMzZTk3Y2IuLjM0YTNhMzM0ODgxYmZjMWJiYWYwOTYyMDAxY2JhNmFjZjU1NmI4MDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMi0wNi0yMSAgU2hhbmUgU3RlcGhlbnMg
IDxzaGFuZXN0ZXBoZW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgUHJlcCB3b3JrIGZvciBncmFk
aWVudCBpbnRlcnBvbGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODk2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIGNzcy9DU1NHcmFk
aWVudFZhbHVlLmNwcDoKKyAgICAgICAgU3BsaXQgQ1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6Y3Jl
YXRlR3JhZGllbnQgaW50byB0d28gcGllY2VzIChjcmVhdGVHcmFkaWVudEVuZHBvaW50cyBhbmQg
Y3JlYXRlR3JhZGllbnRzKS4KKyAgICAgICAgY3JlYXRlR3JhZGllbnRFbmRwb2ludHMgd2lsbCBi
ZWNvbWUgY29kZSBzaGFyZWQgYnkgaW50ZXJwb2xhdGVkIGdyYWRpZW50cy4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU0xpbmVhckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50RW5kcG9pbnRzKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50
KToKKworICAgICAgICBBZGQgYW5nbGVJbkRlZ3JlZXMgZnVuY3Rpb24gZm9yIGZ1dHVyZSBpbnRl
cnBvbGF0aW9uLiBOb3RlIHRoYXQgdGhpcyBpbnRyb2R1Y2VzCisgICAgICAgIHNvbWUgZHVwbGlj
YXRpb24gKGNvbXB1dGVFbmRQb2ludCBkb2VzIGVmZmVjdGl2ZWx5IHRoZSBzYW1lIGNvbXB1dGF0
aW9uIGJ1dAorICAgICAgICBnZW5lcmF0ZXMgZW5kcG9pbnRzIHJhdGhlciB0aGFuIGFuIGFuZ2xl
KS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRpZW50VmFsdWU6OmFuZ2xlSW5EZWdy
ZWVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorCisgICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFs
dWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OmNhbkJsZW5kV2l0aCk6
IFJldHVybnMgdHJ1ZSBpZmYgdHdvIGdyYWRpZW50cyBjYW4gYmUgaW50ZXJwb2xhdGVkLgorICAg
ICAgICAoQ1NTR3JhZGllbnRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NHcmFkaWVudFZh
bHVlOjpzdG9wc1NpemUpOiBBY2Nlc3NvciBmdW5jdGlvbiBzbyB0aGF0IGNhbkJsZW5kV2l0aCBp
cyByZXNvbHZhYmxlIGJlZm9yZSByZW5kZXIgdGltZS4KKyAgICAgICAgKENTU0xpbmVhckdyYWRp
ZW50VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6Q1NT
TGluZWFyR3JhZGllbnRWYWx1ZSk6IE5ldyBjb25zdHJ1Y3RvciBieSBDbGFzc1R5cGUgZm9yIHVz
ZSBieSBpbnRlcnBvbGF0ZWQgZ3JhZGllbnQgY2xhc3Nlcy4KKyAgICAgICAgKENTU1JhZGlhbEdy
YWRpZW50VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZTo6
Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZSk6IE5ldyBjb25zdHJ1Y3RvciBieSBDbGFzc1R5cGUgZm9y
IHVzZSBieSBpbnRlcnBvbGF0ZWQgZ3JhZGllbnQgY2xhc3Nlcy4KKyAgICAgICAgKiBjc3MvQ1NT
VmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0dyYWRpZW50VmFsdWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OmJsZW5kKTogCisgICAgICAgIChXZWJDb3JlKToKKworICAgICAgICBNb3ZlZCBXaW5DRS1z
cGVjaWZpYyBwdWJsaWMgYWNjZXNzb3IgR3JhZGllbnQ6OmdldFN0b3BzIGludG8gY29tbW9uIGNv
ZGUgYW5kIHJlZmFjdG9yZWQgdG8gdXNlIHN0YW5kYXJkIHNvcnQgZnVuY3Rpb24uCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
ZGllbnQ6OmdldFN0b3BzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYWRpZW50Lmg6CisgICAgICAgIChHcmFkaWVudCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhZGllbnRXaW5DRS5jcHA6CisKIDIwMTItMDYtMjAgIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xMTY1Mzc4ND4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
OTU5MApkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cC9QbGF0Zm9ybS5n
eXAgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwL1BsYXRmb3JtLmd5cAppbmRleCA5MTEx
MTZhOWY3NjFiMzc5Y2I1NDI0YmVmODRhOTc2ZDg0ZTEwOWJhLi42Zjc0ZWFmMDUxMDE2ZjQxZTgx
YWIxNGM3Nzk0NDY3ZWE4M2MxYjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZv
cm0uZ3lwL1BsYXRmb3JtLmd5cAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwL1Bs
YXRmb3JtLmd5cApAQCAtNTgsNiArNTgsOCBAQAogICAgICAgICAgICAgICAgICMgVGhpcyBpcyB0
ZW1wb3JhcnksIHRoZSBiZXR0ZXIgc29sdXRpb24gaXMgdG8gbW92ZSB0aGVzZSBoZWFkZXJzIGlu
dG8gdGhlIFBsYXRmb3JtCiAgICAgICAgICAgICAgICAgIyBkaXJlY3RvcnkgZm9yIGFsbCBwb3J0
cyBhbmQganVzdCB1c2UgdGhlbSBhcyBub3JtYWwuCiAgICAgICAgICAgICAgICAgJ3dlYmNvcmVf
aGVhZGVycyc6IFsKKyAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvcGxhdGZvcm0v
RnJhY3Rpb25hbExheW91dFVuaXQuaCcsCisgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJD
b3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaCcsCiAgICAgICAgICAg
ICAgICAgICAgICcuLi8uLi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaCcs
CiAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zs
b2F0UG9pbnQzRC5oJywKICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRRdWFkLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYWRpZW50VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFs
dWUuY3BwCmluZGV4IGEzMTRhODYwMjJmZWIzNzMwN2U3NjQzZWZhMWYyOGE2ZTk1NTExMjYuLmIw
YWJkNDE0ZjZkNTNhMjc5MmRjOTViNjFiZTBkYmVhY2NkODYzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKQEAgLTUzNyw3ICs1MzcsNyBAQCBzdGF0aWMgdm9pZCBl
bmRQb2ludHNGcm9tQW5nbGUoZmxvYXQgYW5nbGVEZWcsIGNvbnN0IEludFNpemUmIHNpemUsIEZs
b2F0UG9pbnQmCiAgICAgZmlyc3RQb2ludC5zZXQoc2l6ZS53aWR0aCgpIC0gc2Vjb25kUG9pbnQu
eCgpLCBzaXplLmhlaWdodCgpIC0gc2Vjb25kUG9pbnQueSgpKTsKIH0KIAotUGFzc1JlZlB0cjxH
cmFkaWVudD4gQ1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgc2l6ZSkKK1Bhc3NSZWZQdHI8R3JhZGllbnQ+
IENTU0xpbmVhckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50RW5kcG9pbnRzKFJlbmRlck9i
amVjdCogcmVuZGVyZXIsIGNvbnN0IEludFNpemUmIHNpemUpCiB7CiAgICAgQVNTRVJUKCFzaXpl
LmlzRW1wdHkoKSk7CiAKQEAgLTU2MiwxMyArNTYyLDU3IEBAIFBhc3NSZWZQdHI8R3JhZGllbnQ+
IENTU0xpbmVhckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCogcmVu
ZGVyCiAgICAgfQogCiAgICAgUmVmUHRyPEdyYWRpZW50PiBncmFkaWVudCA9IEdyYWRpZW50Ojpj
cmVhdGUoZmlyc3RQb2ludCwgc2Vjb25kUG9pbnQpOworICAgIHJldHVybiBncmFkaWVudC5yZWxl
YXNlKCk7Cit9CisKK1Bhc3NSZWZQdHI8R3JhZGllbnQ+IENTU0xpbmVhckdyYWRpZW50VmFsdWU6
OmNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGNvbnN0IEludFNpemUmIHNp
emUpCit7CisgICAgUmVmUHRyPEdyYWRpZW50PiBncmFkaWVudCA9IGNyZWF0ZUdyYWRpZW50RW5k
cG9pbnRzKHJlbmRlcmVyLCBzaXplKTsKIAorICAgIFJlbmRlclN0eWxlKiByb290U3R5bGUgPSBy
ZW5kZXJlci0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCk7CiAg
ICAgLy8gTm93IGFkZCB0aGUgc3RvcHMuCiAgICAgYWRkU3RvcHMoZ3JhZGllbnQuZ2V0KCksIHJl
bmRlcmVyLCByb290U3R5bGUsIDEpOwogCiAgICAgcmV0dXJuIGdyYWRpZW50LnJlbGVhc2UoKTsK
IH0KIAorZmxvYXQgQ1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6YW5nbGVJbkRlZ3JlZXMoKSBjb25z
dAoreworICAgIGJvb2wgYW5nbGVDYWxjdWxhdGVkID0gZmFsc2U7CisgICAgZmxvYXQgYW5nbGUg
PSAwOworCisgICAgaWYgKG1fYW5nbGUuZ2V0KCkpCisgICAgICAgIHJldHVybiBtX2FuZ2xlLT5n
ZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREVHKTsKKworICAgIGlmIChtX2Zp
cnN0WC5nZXQoKSkgeworICAgICAgICBBU1NFUlQobV9maXJzdFgtPnByaW1pdGl2ZVR5cGUoKSA9
PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5UKTsKKyAgICAgICAgYW5nbGVDYWxjdWxhdGVk
ID0gdHJ1ZTsKKyAgICAgICAgaWYgKG1fZmlyc3RYLT5nZXRJZGVudCgpID09IENTU1ZhbHVlUmln
aHQpCisgICAgICAgICAgICBhbmdsZSA9IDE4MDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
QVNTRVJUKG1fZmlyc3RYLT5nZXRJZGVudCgpID09IENTU1ZhbHVlTGVmdCk7CisgICAgfQorICAg
IGlmIChtX2ZpcnN0WS5nZXQoKSkgeworICAgICAgICBBU1NFUlQobV9maXJzdFktPnByaW1pdGl2
ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5UKTsKKyAgICAgICAgaWYgKG1f
Zmlyc3RZLT5nZXRJZGVudCgpID09IENTU1ZhbHVlVG9wKSB7CisgICAgICAgICAgICBpZiAoIWFu
Z2xlQ2FsY3VsYXRlZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMjcwOworICAgICAgICAgICAg
aWYgKCFhbmdsZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMzE1OworICAgICAgICAgICAgcmV0
dXJuIDIyNTsKKyAgICAgICAgfQorICAgICAgICBBU1NFUlQobV9maXJzdFktPmdldElkZW50KCkg
PT0gQ1NTVmFsdWVCb3R0b20pOworICAgICAgICBpZiAoIWFuZ2xlQ2FsY3VsYXRlZCkKKyAgICAg
ICAgICAgIHJldHVybiA5MDsKKyAgICAgICAgaWYgKCFhbmdsZSkKKyAgICAgICAgICAgIHJldHVy
biA0NTsKKyAgICAgICAgcmV0dXJuIDEzNTsKKyAgICB9CisgICAgaWYgKCFhbmdsZUNhbGN1bGF0
ZWQpCisgICAgICAgIHJldHVybiAyNzA7CisgICAgcmV0dXJuIGFuZ2xlOworfQorCiBTdHJpbmcg
Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB7CiAgICAgU3Ry
aW5nIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZh
bHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5oCmluZGV4IGVhMTBl
YjhjMjU0MTk0ZTY3NzI4MDAyNTlmM2QyNDY2ZjJjMDc1ZjkuLjk4NTkzMjlmMzFkZmRjMjc3NzAy
YzBhOTViMDhkZjZiY2MzMGZlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NH
cmFkaWVudFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUu
aApAQCAtNTMsMTAgKzUzLDIzIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNlY29uZFgoUGFzc1Jl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsKSB7IG1fc2Vjb25kWCA9IHZhbDsgfQogICAgIHZv
aWQgc2V0U2Vjb25kWShQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwpIHsgbV9zZWNv
bmRZID0gdmFsOyB9CiAKKyAgICBib29sIGNhbkJsZW5kV2l0aChjb25zdCBDU1NHcmFkaWVudFZh
bHVlKiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChpc0xpbmVhckdyYWRpZW50KCkg
IT0gb3RoZXItPmlzTGluZWFyR3JhZGllbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICBpZiAoc3RvcHNTaXplKCkgIT0gb3RoZXItPnN0b3BzU2l6ZSgpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAg
IHZvaWQgYWRkU3RvcChjb25zdCBDU1NHcmFkaWVudENvbG9yU3RvcCYgc3RvcCkgeyBtX3N0b3Bz
LmFwcGVuZChzdG9wKTsgfQogCiAgICAgVmVjdG9yPENTU0dyYWRpZW50Q29sb3JTdG9wPiYgc3Rv
cHMoKSB7IHJldHVybiBtX3N0b3BzOyB9CiAKKyAgICB1bnNpZ25lZCBzdG9wc1NpemUoKSBjb25z
dCB7IHJldHVybiBtX3N0b3BzLnNpemUoKTsgfQorCiAgICAgdm9pZCBzb3J0U3RvcHNJZk5lZWRl
ZCgpOwogCiAgICAgYm9vbCBpc0xpbmVhckdyYWRpZW50KCkgY29uc3QgeyByZXR1cm4gY2xhc3NU
eXBlKCkgPT0gTGluZWFyR3JhZGllbnRDbGFzczsgfQpAQCAtMTE3LDEyICsxMzAsMjEgQEAgcHVi
bGljOgogICAgIC8vIENyZWF0ZSB0aGUgZ3JhZGllbnQgZm9yIGEgZ2l2ZW4gc2l6ZS4KICAgICBQ
YXNzUmVmUHRyPEdyYWRpZW50PiBjcmVhdGVHcmFkaWVudChSZW5kZXJPYmplY3QqLCBjb25zdCBJ
bnRTaXplJik7CiAKLXByaXZhdGU6CisgICAgZmxvYXQgYW5nbGVJbkRlZ3JlZXMoKSBjb25zdDsK
KworICAgIFBhc3NSZWZQdHI8R3JhZGllbnQ+IGNyZWF0ZUdyYWRpZW50RW5kcG9pbnRzKFJlbmRl
ck9iamVjdCosIGNvbnN0IEludFNpemUmKTsKKworcHJvdGVjdGVkOgogICAgIENTU0xpbmVhckdy
YWRpZW50VmFsdWUoQ1NTR3JhZGllbnRSZXBlYXQgcmVwZWF0LCBib29sIGRlcHJlY2F0ZWRUeXBl
ID0gZmFsc2UpCiAgICAgICAgIDogQ1NTR3JhZGllbnRWYWx1ZShMaW5lYXJHcmFkaWVudENsYXNz
LCByZXBlYXQsIGRlcHJlY2F0ZWRUeXBlKQogICAgIHsKICAgICB9CiAKKyAgICBDU1NMaW5lYXJH
cmFkaWVudFZhbHVlKENsYXNzVHlwZSBjbGFzc1R5cGUsIENTU0dyYWRpZW50UmVwZWF0IHJlcGVh
dCkKKyAgICAgICAgOiBDU1NHcmFkaWVudFZhbHVlKGNsYXNzVHlwZSwgcmVwZWF0LCBmYWxzZSkK
KyAgICB7CisgICAgfQorCiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2FuZ2xlOyAv
LyBtYXkgYmUgbnVsbC4KIH07CiAKQEAgLTE0NywxMiArMTY5LDE4IEBAIHB1YmxpYzoKICAgICAv
LyBDcmVhdGUgdGhlIGdyYWRpZW50IGZvciBhIGdpdmVuIHNpemUuCiAgICAgUGFzc1JlZlB0cjxH
cmFkaWVudD4gY3JlYXRlR3JhZGllbnQoUmVuZGVyT2JqZWN0KiwgY29uc3QgSW50U2l6ZSYpOwog
Ci1wcml2YXRlOgorcHJvdGVjdGVkOgogICAgIENTU1JhZGlhbEdyYWRpZW50VmFsdWUoQ1NTR3Jh
ZGllbnRSZXBlYXQgcmVwZWF0LCBib29sIGRlcHJlY2F0ZWRUeXBlID0gZmFsc2UpCiAgICAgICAg
IDogQ1NTR3JhZGllbnRWYWx1ZShSYWRpYWxHcmFkaWVudENsYXNzLCByZXBlYXQsIGRlcHJlY2F0
ZWRUeXBlKQogICAgIHsKICAgICB9CiAKKyAgICBDU1NSYWRpYWxHcmFkaWVudFZhbHVlKENsYXNz
VHlwZSBjbGFzc1R5cGUsIENTU0dyYWRpZW50UmVwZWF0IHJlcGVhdCkKKyAgICAgICAgOiBDU1NH
cmFkaWVudFZhbHVlKGNsYXNzVHlwZSwgcmVwZWF0LCBmYWxzZSkKKyAgICB7CisgICAgfQorCitw
cml2YXRlOgogICAgIC8vIFJlc29sdmUgcG9pbnRzL3JhZGlpIHRvIGZyb250IGVuZCB2YWx1ZXMu
CiAgICAgZmxvYXQgcmVzb2x2ZVJhZGl1cyhDU1NQcmltaXRpdmVWYWx1ZSosIFJlbmRlclN0eWxl
KiwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQqIHdpZHRoT3JIZWlnaHQgPSAwKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWUuaAppbmRleCBiNGU4YTg5ZTdmYjNlMDMwZjM4MTZiOTU2NjVlNGM1ZDQ4
ZDkxYWZmLi5lZTM1YjExZjk3ZDQxNDNlNWQ1NjNkMjU2NDgyYjUwMjEzOTdmYjg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuaApAQCAtNzIsNiArNzIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZvbnRG
ZWF0dXJlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250RmVhdHVyZUNs
YXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IEZvbnRDbGFzczsgfQogICAgIGJvb2wgaXNJbWFnZUdlbmVyYXRvclZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gQ2FudmFzQ2xhc3MgJiYgbV9jbGFzc1R5cGUgPD0gUmFk
aWFsR3JhZGllbnRDbGFzczsgfQorICAgIGJvb2wgaXNHcmFkaWVudFZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPj0gTGluZWFyR3JhZGllbnRDbGFzcyAmJiBtX2NsYXNzVHlwZSA8
PSBSYWRpYWxHcmFkaWVudENsYXNzOyB9CiAjaWYgRU5BQkxFKENTU19JTUFHRV9TRVQpCiAgICAg
Ym9vbCBpc0ltYWdlU2V0VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBJbWFn
ZVNldENsYXNzOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UG9pbnQuaAppbmRleCBhNjAxYTlkZmZhYTE4ODljZjM0MzliMmQ4ZmY0YjVlMDY0NzVl
ZjdhLi5mMjBmNDljZjMxMTgyNTZkYzAzZjY5ZTE1MzMwMzIyYWVjOTMzMjhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCkBAIC0yNyw2ICsyNyw3
IEBACiAjaWZuZGVmIEZsb2F0UG9pbnRfaAogI2RlZmluZSBGbG9hdFBvaW50X2gKIAorI2luY2x1
ZGUgIkFuaW1hdGlvblV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkZsb2F0U2l6ZS5oIgogI2luY2x1
ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTI2MSw2ICsy
NjIsMTEgQEAgZmxvYXQgZmluZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9h
dFBvaW50JiBwMiwgZmxvYXQmIGMpOwogLy8gRmluZCBwb2ludCB3aGVyZSBsaW5lcyB0aHJvdWdo
IHRoZSB0d28gcGFpcnMgb2YgcG9pbnRzIGludGVyc2VjdC4gUmV0dXJucyBmYWxzZSBpZiB0aGUg
bGluZXMgZG9uJ3QgaW50ZXJzZWN0LgogYm9vbCBmaW5kSW50ZXJzZWN0aW9uKGNvbnN0IEZsb2F0
UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxvYXRQb2ludCYgZDEsIGNv
bnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rpb24pOwogCitpbmxpbmUg
RmxvYXRQb2ludCBibGVuZChjb25zdCBGbG9hdFBvaW50JiBmcm9tLCBjb25zdCBGbG9hdFBvaW50
JiB0bywgZG91YmxlIHByb2dyZXNzKQoreworICAgIHJldHVybiBGbG9hdFBvaW50KGJsZW5kKGZy
b20ueCgpLCB0by54KCksIHByb2dyZXNzKSwgYmxlbmQoZnJvbS55KCksIHRvLnkoKSwgcHJvZ3Jl
c3MpKTsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYWRpZW50LmNwcAppbmRleCBkZjJmNTM2MGNlOGNkNTM2ZDJkYjQ2ODU5MGIxNDU1NWY0
MGFlM2RlLi45ZmQyNGM1OWZhZDc3YjJhM2FlMTNjYjI2ODc3MWU0ZTliM2Q2MmJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuY3BwCkBAIC0yMDYsNiAr
MjA2LDEyIEBAIGludCBHcmFkaWVudDo6ZmluZFN0b3AoZmxvYXQgdmFsdWUpIGNvbnN0CiAgICAg
cmV0dXJuIG1fbGFzdFN0b3A7CiB9CiAKK2NvbnN0IFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9w
LCAyPiYgR3JhZGllbnQ6OmdldFN0b3BzKCkKK3sKKyAgICBzb3J0U3RvcHNJZk5lY2Vzc2FyeSgp
OworICAgIHJldHVybiBtX3N0b3BzOworfQorCiBib29sIEdyYWRpZW50OjpoYXNBbHBoYSgpIGNv
bnN0CiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3N0b3BzLnNpemUoKTsgaSsrKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuaAppbmRleCA1ZTM2
ZmYzYzM1NDJmN2FiYzA0NDM3ZGVmZGQyYTVlMjhmOTFjMTlkLi42ZDgwNmQ2ZjUxZTIxZmFmNmE0
N2YyNDE2MThjYWNiNDJmZWQ3NmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFkaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYWRpZW50LmgKQEAgLTE0Miw5ICsxNDIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgZmxvYXQgYXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBtX2FzcGVjdFJhdGlv
OyB9CiAKLSNpZiBPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFUKQotICAgICAgICBjb25zdCBWZWN0
b3I8Q29sb3JTdG9wLCAyPiYgZ2V0U3RvcHMoKSBjb25zdDsKLSNlbHNlCisgICAgICAgIGNvbnN0
IFZlY3RvcjxDb2xvclN0b3AsIDI+JiBnZXRTdG9wcygpOworCisjaWYgIShPUyhXSU5DRSkgJiYg
IVBMQVRGT1JNKFFUKSkKICAgICAgICAgUGxhdGZvcm1HcmFkaWVudCBwbGF0Zm9ybUdyYWRpZW50
KCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvR3JhZGllbnRXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9HcmFkaWVudFdpbkNFLmNwcAppbmRleCBkNzM1ODgxYWRhYTRlMmE1MmI3NjM1
NzZkZmZkMzY5YzVmMjM3NGY0Li41NjIzNjZlNzMyZjFlMTdmNmUxMGI3MmE1NDdiOTNiOWY5NDY3
Nzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9H
cmFkaWVudFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9HcmFkaWVudFdpbkNFLmNwcApAQCAtMzQsMTYgKzM0LDYgQEAgc3RhdGljIGlubGluZSBi
b29sIGNvbXBhcmVTdG9wcyhjb25zdCBHcmFkaWVudDo6Q29sb3JTdG9wJiBhLCBjb25zdCBHcmFk
aWVudDo6Q28KICAgICByZXR1cm4gYS5zdG9wIDwgYi5zdG9wOwogfQogCi1jb25zdCBWZWN0b3I8
R3JhZGllbnQ6OkNvbG9yU3RvcCwgMj4mIEdyYWRpZW50OjpnZXRTdG9wcygpIGNvbnN0Ci17Ci0g
ICAgaWYgKCFtX3N0b3BzU29ydGVkKSB7Ci0gICAgICAgIGlmIChtX3N0b3BzLnNpemUoKSkKLSAg
ICAgICAgICAgIHN0ZDo6c3RhYmxlX3NvcnQobV9zdG9wcy5iZWdpbigpLCBtX3N0b3BzLmVuZCgp
LCBjb21wYXJlU3RvcHMpOwotICAgICAgICBtX3N0b3BzU29ydGVkID0gdHJ1ZTsKLSAgICB9Ci0g
ICAgcmV0dXJuIG1fc3RvcHM7Ci19Ci0KIHZvaWQgR3JhZGllbnQ6OmZpbGwoR3JhcGhpY3NDb250
ZXh0KiBjLCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CiAgICAgYy0+ZmlsbFJlY3QociwgdGhpcyk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148914</attachid>
            <date>2012-06-21 17:05:53 -0700</date>
            <delta_ts>2012-11-05 20:14:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89638-20120622100551.patch</filename>
            <type>text/plain</type>
            <size>12723</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAxODZiNWVhOWEyMTIw
NTlkMjQ4YWFmNDE0MjUwN2MxZjUzMGQzOGU1Li45N2E2YmQxNTkwOGZiZTc5MDhlZDIyZTRjMDI3
YjA5N2FlZWZkNDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNi0yMSAg
U2hhbmUgU3RlcGhlbnMgIDxzaGFuZXN0ZXBoZW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgUHJl
cCB3b3JrIGZvciBncmFkaWVudCBpbnRlcnBvbGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cC9QbGF0Zm9ybS5neXA6CisK
IDIwMTItMDYtMjAgIENocmlzdG9waGVyIENhbWVyb24gIDxjY2FtZXJvbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSB3ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSBkb2Vzbid0
IHdvcmsgd2l0aCB2aWRlbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDliZmZmNmExOWMwNDM0ZTlkYTgyNjI0NDlj
YjNlYjcwMWMzZTk3Y2IuLmNiOTgzY2RiNDJmMWQ2ODk2NjY3NDM1YzI2NjBlZTBmYjEwNjBjYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMi0wNi0yMSAgU2hhbmUgU3RlcGhlbnMg
IDxzaGFuZXN0ZXBoZW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgUHJlcCB3b3JrIGZvciBncmFk
aWVudCBpbnRlcnBvbGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODk2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICog
Y3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICBTcGxpdCBDU1NMaW5lYXJHcmFkaWVu
dFZhbHVlOjpjcmVhdGVHcmFkaWVudCBpbnRvIHR3byBwaWVjZXMgKGNyZWF0ZUdyYWRpZW50RW5k
cG9pbnRzIGFuZCBjcmVhdGVHcmFkaWVudHMpLgorICAgICAgICBjcmVhdGVHcmFkaWVudEVuZHBv
aW50cyB3aWxsIGJlY29tZSBjb2RlIHNoYXJlZCBieSBpbnRlcnBvbGF0ZWQgZ3JhZGllbnRzLgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnRF
bmRwb2ludHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6Y3Jl
YXRlR3JhZGllbnQpOgorCisgICAgICAgIEFkZCBhbmdsZUluRGVncmVlcyBmdW5jdGlvbiBmb3Ig
ZnV0dXJlIGludGVycG9sYXRpb24uIE5vdGUgdGhhdCB0aGlzIGludHJvZHVjZXMKKyAgICAgICAg
c29tZSBkdXBsaWNhdGlvbiAoY29tcHV0ZUVuZFBvaW50IGRvZXMgZWZmZWN0aXZlbHkgdGhlIHNh
bWUgY29tcHV0YXRpb24gYnV0CisgICAgICAgIGdlbmVyYXRlcyBlbmRwb2ludHMgcmF0aGVyIHRo
YW4gYW4gYW5nbGUpLgorICAgICAgICAoV2ViQ29yZTo6Q1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6
YW5nbGVJbkRlZ3JlZXMpOgorICAgICAgICAoV2ViQ29yZSk6CisKKyAgICAgICAgKiBjc3MvQ1NT
R3JhZGllbnRWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTR3JhZGllbnRWYWx1ZTo6Y2Fu
QmxlbmRXaXRoKTogUmV0dXJucyB0cnVlIGlmZiB0d28gZ3JhZGllbnRzIGNhbiBiZSBpbnRlcnBv
bGF0ZWQuCisgICAgICAgIChDU1NHcmFkaWVudFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0dyYWRpZW50VmFsdWU6OnN0b3BzU2l6ZSk6IEFjY2Vzc29yIGZ1bmN0aW9uIHNvIHRoYXQgY2Fu
QmxlbmRXaXRoIGlzIHJlc29sdmFibGUgYmVmb3JlIHJlbmRlciB0aW1lLgorICAgICAgICAoQ1NT
TGluZWFyR3JhZGllbnRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJHcmFkaWVu
dFZhbHVlOjpDU1NMaW5lYXJHcmFkaWVudFZhbHVlKTogTmV3IGNvbnN0cnVjdG9yIGJ5IENsYXNz
VHlwZSBmb3IgdXNlIGJ5IGludGVycG9sYXRlZCBncmFkaWVudCBjbGFzc2VzLgorICAgICAgICAo
Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSYWRpYWxHcmFk
aWVudFZhbHVlOjpDU1NSYWRpYWxHcmFkaWVudFZhbHVlKTogTmV3IGNvbnN0cnVjdG9yIGJ5IENs
YXNzVHlwZSBmb3IgdXNlIGJ5IGludGVycG9sYXRlZCBncmFkaWVudCBjbGFzc2VzLgorICAgICAg
ICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzR3JhZGll
bnRWYWx1ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oOgorICAg
ICAgICAoV2ViQ29yZTo6YmxlbmQpOiAKKyAgICAgICAgKFdlYkNvcmUpOgorCisgICAgICAgIE1v
dmVkIFdpbkNFLXNwZWNpZmljIHB1YmxpYyBhY2Nlc3NvciBHcmFkaWVudDo6Z2V0U3RvcHMgaW50
byBjb21tb24gY29kZSBhbmQgcmVmYWN0b3JlZCB0byB1c2Ugc3RhbmRhcmQgc29ydCBmdW5jdGlv
bi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFkaWVudDo6Z2V0U3RvcHMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuaDoKKyAgICAgICAgKEdyYWRpZW50KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFkaWVudFdpbkNFLmNwcDoKKwogMjAx
Mi0wNi0yMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzExNjUzNzg0PiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg5NTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lw
L1BsYXRmb3JtLmd5cCBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXAvUGxhdGZvcm0uZ3lw
CmluZGV4IDkxMTExNmE5Zjc2MWIzNzljYjU0MjRiZWY4NGE5NzZkODRlMTA5YmEuLjZmNzRlYWYw
NTEwMTZmNDFlODFhYjE0Yzc3OTQ0NjdlYTgzYzFiNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0
Zm9ybS9QbGF0Zm9ybS5neXAvUGxhdGZvcm0uZ3lwCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0
Zm9ybS5neXAvUGxhdGZvcm0uZ3lwCkBAIC01OCw2ICs1OCw4IEBACiAgICAgICAgICAgICAgICAg
IyBUaGlzIGlzIHRlbXBvcmFyeSwgdGhlIGJldHRlciBzb2x1dGlvbiBpcyB0byBtb3ZlIHRoZXNl
IGhlYWRlcnMgaW50byB0aGUgUGxhdGZvcm0KICAgICAgICAgICAgICAgICAjIGRpcmVjdG9yeSBm
b3IgYWxsIHBvcnRzIGFuZCBqdXN0IHVzZSB0aGVtIGFzIG5vcm1hbC4KICAgICAgICAgICAgICAg
ICAnd2ViY29yZV9oZWFkZXJzJzogWworICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29y
ZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oJywKKyAgICAgICAgICAgICAgICAgICAg
Jy4uLy4uL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oJywK
ICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxv
YXRQb2ludC5oJywKICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRmxvYXRQb2ludDNELmgnLAogICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFF1YWQuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
R3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggYTMxNGE4NjAyMmZlYjM3MzA3ZTc2NDNlZmExZjI4YTZl
OTU1MTEyNi4uYjBhYmQ0MTRmNmQ1M2EyNzkyZGM5NWI2MWJlMGRiZWFjY2Q4NjMyOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcApAQCAtNTM3LDcgKzUzNyw3IEBAIHN0
YXRpYyB2b2lkIGVuZFBvaW50c0Zyb21BbmdsZShmbG9hdCBhbmdsZURlZywgY29uc3QgSW50U2l6
ZSYgc2l6ZSwgRmxvYXRQb2ludCYKICAgICBmaXJzdFBvaW50LnNldChzaXplLndpZHRoKCkgLSBz
ZWNvbmRQb2ludC54KCksIHNpemUuaGVpZ2h0KCkgLSBzZWNvbmRQb2ludC55KCkpOwogfQogCi1Q
YXNzUmVmUHRyPEdyYWRpZW50PiBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVu
dChSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiBzaXplKQorUGFzc1JlZlB0
cjxHcmFkaWVudD4gQ1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnRFbmRwb2lu
dHMoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKICAgICBB
U1NFUlQoIXNpemUuaXNFbXB0eSgpKTsKIApAQCAtNTYyLDEzICs1NjIsNTcgQEAgUGFzc1JlZlB0
cjxHcmFkaWVudD4gQ1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVy
T2JqZWN0KiByZW5kZXIKICAgICB9CiAKICAgICBSZWZQdHI8R3JhZGllbnQ+IGdyYWRpZW50ID0g
R3JhZGllbnQ6OmNyZWF0ZShmaXJzdFBvaW50LCBzZWNvbmRQb2ludCk7CisgICAgcmV0dXJuIGdy
YWRpZW50LnJlbGVhc2UoKTsKK30KKworUGFzc1JlZlB0cjxHcmFkaWVudD4gQ1NTTGluZWFyR3Jh
ZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3Qg
SW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBSZWZQdHI8R3JhZGllbnQ+IGdyYWRpZW50ID0gY3JlYXRl
R3JhZGllbnRFbmRwb2ludHMocmVuZGVyZXIsIHNpemUpOwogCisgICAgUmVuZGVyU3R5bGUqIHJv
b3RTdHlsZSA9IHJlbmRlcmVyLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVy
U3R5bGUoKTsKICAgICAvLyBOb3cgYWRkIHRoZSBzdG9wcy4KICAgICBhZGRTdG9wcyhncmFkaWVu
dC5nZXQoKSwgcmVuZGVyZXIsIHJvb3RTdHlsZSwgMSk7CiAKICAgICByZXR1cm4gZ3JhZGllbnQu
cmVsZWFzZSgpOwogfQogCitmbG9hdCBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjphbmdsZUluRGVn
cmVlcygpIGNvbnN0Cit7CisgICAgYm9vbCBhbmdsZUNhbGN1bGF0ZWQgPSBmYWxzZTsKKyAgICBm
bG9hdCBhbmdsZSA9IDA7CisKKyAgICBpZiAobV9hbmdsZS5nZXQoKSkKKyAgICAgICAgcmV0dXJu
IG1fYW5nbGUtPmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUcpOworCisg
ICAgaWYgKG1fZmlyc3RYLmdldCgpKSB7CisgICAgICAgIEFTU0VSVChtX2ZpcnN0WC0+cHJpbWl0
aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSURFTlQpOworICAgICAgICBhbmds
ZUNhbGN1bGF0ZWQgPSB0cnVlOworICAgICAgICBpZiAobV9maXJzdFgtPmdldElkZW50KCkgPT0g
Q1NTVmFsdWVSaWdodCkKKyAgICAgICAgICAgIGFuZ2xlID0gMTgwOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBBU1NFUlQobV9maXJzdFgtPmdldElkZW50KCkgPT0gQ1NTVmFsdWVMZWZ0KTsK
KyAgICB9CisgICAgaWYgKG1fZmlyc3RZLmdldCgpKSB7CisgICAgICAgIEFTU0VSVChtX2ZpcnN0
WS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSURFTlQpOworICAg
ICAgICBpZiAobV9maXJzdFktPmdldElkZW50KCkgPT0gQ1NTVmFsdWVUb3ApIHsKKyAgICAgICAg
ICAgIGlmICghYW5nbGVDYWxjdWxhdGVkKQorICAgICAgICAgICAgICAgIHJldHVybiAyNzA7Cisg
ICAgICAgICAgICBpZiAoIWFuZ2xlKQorICAgICAgICAgICAgICAgIHJldHVybiAzMTU7CisgICAg
ICAgICAgICByZXR1cm4gMjI1OworICAgICAgICB9CisgICAgICAgIEFTU0VSVChtX2ZpcnN0WS0+
Z2V0SWRlbnQoKSA9PSBDU1NWYWx1ZUJvdHRvbSk7CisgICAgICAgIGlmICghYW5nbGVDYWxjdWxh
dGVkKQorICAgICAgICAgICAgcmV0dXJuIDkwOworICAgICAgICBpZiAoIWFuZ2xlKQorICAgICAg
ICAgICAgcmV0dXJuIDQ1OworICAgICAgICByZXR1cm4gMTM1OworICAgIH0KKyAgICBpZiAoIWFu
Z2xlQ2FsY3VsYXRlZCkKKyAgICAgICAgcmV0dXJuIDI3MDsKKyAgICByZXR1cm4gYW5nbGU7Cit9
CisKIFN0cmluZyBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QK
IHsKICAgICBTdHJpbmcgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyYWRpZW50VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmgK
aW5kZXggZWExMGViOGMyNTQxOTRlNjc3MjgwMDI1OWYzZDI0NjZmMmMwNzVmOS4uOTg1OTMyOWYz
MWRmZGMyNzc3MDJjMGE5NWIwOGRmNmJjYzMwZmUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
ZGllbnRWYWx1ZS5oCkBAIC01MywxMCArNTMsMjMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Vj
b25kWChQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwpIHsgbV9zZWNvbmRYID0gdmFs
OyB9CiAgICAgdm9pZCBzZXRTZWNvbmRZKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZh
bCkgeyBtX3NlY29uZFkgPSB2YWw7IH0KIAorICAgIGJvb2wgY2FuQmxlbmRXaXRoKGNvbnN0IENT
U0dyYWRpZW50VmFsdWUqIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGlzTGluZWFy
R3JhZGllbnQoKSAhPSBvdGhlci0+aXNMaW5lYXJHcmFkaWVudCgpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIGlmIChzdG9wc1NpemUoKSAhPSBvdGhlci0+c3RvcHNTaXpl
KCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCiAgICAgdm9pZCBhZGRTdG9wKGNvbnN0IENTU0dyYWRpZW50Q29sb3JTdG9wJiBzdG9w
KSB7IG1fc3RvcHMuYXBwZW5kKHN0b3ApOyB9CiAKICAgICBWZWN0b3I8Q1NTR3JhZGllbnRDb2xv
clN0b3A+JiBzdG9wcygpIHsgcmV0dXJuIG1fc3RvcHM7IH0KIAorICAgIHVuc2lnbmVkIHN0b3Bz
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcHMuc2l6ZSgpOyB9CisKICAgICB2b2lkIHNvcnRT
dG9wc0lmTmVlZGVkKCk7CiAKICAgICBib29sIGlzTGluZWFyR3JhZGllbnQoKSBjb25zdCB7IHJl
dHVybiBjbGFzc1R5cGUoKSA9PSBMaW5lYXJHcmFkaWVudENsYXNzOyB9CkBAIC0xMTcsMTIgKzEz
MCwyMSBAQCBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlIHRoZSBncmFkaWVudCBmb3IgYSBnaXZlbiBz
aXplLgogICAgIFBhc3NSZWZQdHI8R3JhZGllbnQ+IGNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVj
dCosIGNvbnN0IEludFNpemUmKTsKIAotcHJpdmF0ZToKKyAgICBmbG9hdCBhbmdsZUluRGVncmVl
cygpIGNvbnN0OworCisgICAgUGFzc1JlZlB0cjxHcmFkaWVudD4gY3JlYXRlR3JhZGllbnRFbmRw
b2ludHMoUmVuZGVyT2JqZWN0KiwgY29uc3QgSW50U2l6ZSYpOworCitwcm90ZWN0ZWQ6CiAgICAg
Q1NTTGluZWFyR3JhZGllbnRWYWx1ZShDU1NHcmFkaWVudFJlcGVhdCByZXBlYXQsIGJvb2wgZGVw
cmVjYXRlZFR5cGUgPSBmYWxzZSkKICAgICAgICAgOiBDU1NHcmFkaWVudFZhbHVlKExpbmVhckdy
YWRpZW50Q2xhc3MsIHJlcGVhdCwgZGVwcmVjYXRlZFR5cGUpCiAgICAgewogICAgIH0KIAorICAg
IENTU0xpbmVhckdyYWRpZW50VmFsdWUoQ2xhc3NUeXBlIGNsYXNzVHlwZSwgQ1NTR3JhZGllbnRS
ZXBlYXQgcmVwZWF0KQorICAgICAgICA6IENTU0dyYWRpZW50VmFsdWUoY2xhc3NUeXBlLCByZXBl
YXQsIGZhbHNlKQorICAgIHsKKyAgICB9CisKICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IG1fYW5nbGU7IC8vIG1heSBiZSBudWxsLgogfTsKIApAQCAtMTQ3LDEyICsxNjksMTggQEAgcHVi
bGljOgogICAgIC8vIENyZWF0ZSB0aGUgZ3JhZGllbnQgZm9yIGEgZ2l2ZW4gc2l6ZS4KICAgICBQ
YXNzUmVmUHRyPEdyYWRpZW50PiBjcmVhdGVHcmFkaWVudChSZW5kZXJPYmplY3QqLCBjb25zdCBJ
bnRTaXplJik7CiAKLXByaXZhdGU6Citwcm90ZWN0ZWQ6CiAgICAgQ1NTUmFkaWFsR3JhZGllbnRW
YWx1ZShDU1NHcmFkaWVudFJlcGVhdCByZXBlYXQsIGJvb2wgZGVwcmVjYXRlZFR5cGUgPSBmYWxz
ZSkKICAgICAgICAgOiBDU1NHcmFkaWVudFZhbHVlKFJhZGlhbEdyYWRpZW50Q2xhc3MsIHJlcGVh
dCwgZGVwcmVjYXRlZFR5cGUpCiAgICAgewogICAgIH0KIAorICAgIENTU1JhZGlhbEdyYWRpZW50
VmFsdWUoQ2xhc3NUeXBlIGNsYXNzVHlwZSwgQ1NTR3JhZGllbnRSZXBlYXQgcmVwZWF0KQorICAg
ICAgICA6IENTU0dyYWRpZW50VmFsdWUoY2xhc3NUeXBlLCByZXBlYXQsIGZhbHNlKQorICAgIHsK
KyAgICB9CisKK3ByaXZhdGU6CiAgICAgLy8gUmVzb2x2ZSBwb2ludHMvcmFkaWkgdG8gZnJvbnQg
ZW5kIHZhbHVlcy4KICAgICBmbG9hdCByZXNvbHZlUmFkaXVzKENTU1ByaW1pdGl2ZVZhbHVlKiwg
UmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBmbG9hdCogd2lkdGhPckhlaWdo
dCA9IDApOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IGI0ZThhODllN2ZiM2UwMzBmMzgxNmI5
NTY2NWU0YzVkNDhkOTFhZmYuLmVlMzViMTFmOTdkNDE0M2U1ZDU2M2QyNTY0ODJiNTAyMTM5N2Zi
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCkBAIC03Miw2ICs3Miw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzRm9udEZlYXR1cmVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZv
bnRGZWF0dXJlQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gRm9udENsYXNzOyB9CiAgICAgYm9vbCBpc0ltYWdlR2VuZXJhdG9yVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA+PSBDYW52YXNDbGFzcyAmJiBtX2NsYXNz
VHlwZSA8PSBSYWRpYWxHcmFkaWVudENsYXNzOyB9CisgICAgYm9vbCBpc0dyYWRpZW50VmFsdWUo
KSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA+PSBMaW5lYXJHcmFkaWVudENsYXNzICYmIG1f
Y2xhc3NUeXBlIDw9IFJhZGlhbEdyYWRpZW50Q2xhc3M7IH0KICNpZiBFTkFCTEUoQ1NTX0lNQUdF
X1NFVCkKICAgICBib29sIGlzSW1hZ2VTZXRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IEltYWdlU2V0Q2xhc3M7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCmluZGV4IGE2MDFhOWRmZmFhMTg4OWNmMzQzOWIyZDhm
ZjRiNWUwNjQ3NWVmN2EuLmYyMGY0OWNmMzExODI1NmRjMDNmNjllMTUzMzAzMjJhZWM5MzMyOGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKQEAg
LTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgRmxvYXRQb2ludF9oCiAjZGVmaW5lIEZsb2F0UG9pbnRf
aAogCisjaW5jbHVkZSAiQW5pbWF0aW9uVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRTaXpl
LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpA
QCAtMjYxLDYgKzI2MiwxMSBAQCBmbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEs
IGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYyk7CiAvLyBGaW5kIHBvaW50IHdoZXJlIGxp
bmVzIHRocm91Z2ggdGhlIHR3byBwYWlycyBvZiBwb2ludHMgaW50ZXJzZWN0LiBSZXR1cm5zIGZh
bHNlIGlmIHRoZSBsaW5lcyBkb24ndCBpbnRlcnNlY3QuCiBib29sIGZpbmRJbnRlcnNlY3Rpb24o
Y29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBv
aW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbik7
CiAKK2lubGluZSBGbG9hdFBvaW50IGJsZW5kKGNvbnN0IEZsb2F0UG9pbnQmIGZyb20sIGNvbnN0
IEZsb2F0UG9pbnQmIHRvLCBkb3VibGUgcHJvZ3Jlc3MpCit7CisgICAgcmV0dXJuIEZsb2F0UG9p
bnQoYmxlbmQoZnJvbS54KCksIHRvLngoKSwgcHJvZ3Jlc3MpLCBibGVuZChmcm9tLnkoKSwgdG8u
eSgpLCBwcm9ncmVzcykpOworfQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuY3BwCmluZGV4IGRmMmY1MzYwY2U4Y2Q1MzZkMmRiNDY4
NTkwYjE0NTU1ZjQwYWUzZGUuLjlmZDI0YzU5ZmFkNzdiMmEzYWUxM2NiMjY4NzcxZTRlOWIzZDYy
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAK
QEAgLTIwNiw2ICsyMDYsMTIgQEAgaW50IEdyYWRpZW50OjpmaW5kU3RvcChmbG9hdCB2YWx1ZSkg
Y29uc3QKICAgICByZXR1cm4gbV9sYXN0U3RvcDsKIH0KIAorY29uc3QgVmVjdG9yPEdyYWRpZW50
OjpDb2xvclN0b3AsIDI+JiBHcmFkaWVudDo6Z2V0U3RvcHMoKQoreworICAgIHNvcnRTdG9wc0lm
TmVjZXNzYXJ5KCk7CisgICAgcmV0dXJuIG1fc3RvcHM7Cit9CisKIGJvb2wgR3JhZGllbnQ6Omhh
c0FscGhhKCkgY29uc3QKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fc3RvcHMuc2l6
ZSgpOyBpKyspIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYWRpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5o
CmluZGV4IDVlMzZmZjNjMzU0MmY3YWJjMDQ0MzdkZWZkZDJhNWUyOGY5MWMxOWQuLjZkODA2ZDZm
NTFlMjFmYWY2YTQ3ZjI0MTYxOGNhY2I0MmZlZDc2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuaApAQCAtMTQyLDkgKzE0Miw5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgICAgICBmbG9hdCBhc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIG1f
YXNwZWN0UmF0aW87IH0KIAotI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpCi0gICAgICAg
IGNvbnN0IFZlY3RvcjxDb2xvclN0b3AsIDI+JiBnZXRTdG9wcygpIGNvbnN0OwotI2Vsc2UKKyAg
ICAgICAgY29uc3QgVmVjdG9yPENvbG9yU3RvcCwgMj4mIGdldFN0b3BzKCk7CisKKyNpZiAhKE9T
KFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpKQogICAgICAgICBQbGF0Zm9ybUdyYWRpZW50IHBsYXRm
b3JtR3JhZGllbnQoKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFkaWVudFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYWRpZW50V2luQ0UuY3BwCmluZGV4IGQ3MzU4ODFhZGFh
NGUyYTUyYjc2MzU3NmRmZmQzNjljNWYyMzc0ZjQuLjU2MjM2NmU3MzJmMWUxN2Y2ZTEwYjcyYTU0
N2I5M2I5Zjk0Njc3NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbmNlL0dyYWRpZW50V2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL0dyYWRpZW50V2luQ0UuY3BwCkBAIC0zNCwxNiArMzQsNiBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgY29tcGFyZVN0b3BzKGNvbnN0IEdyYWRpZW50OjpDb2xvclN0b3AmIGEs
IGNvbnN0IEdyYWRpZW50OjpDbwogICAgIHJldHVybiBhLnN0b3AgPCBiLnN0b3A7CiB9CiAKLWNv
bnN0IFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wLCAyPiYgR3JhZGllbnQ6OmdldFN0b3BzKCkg
Y29uc3QKLXsKLSAgICBpZiAoIW1fc3RvcHNTb3J0ZWQpIHsKLSAgICAgICAgaWYgKG1fc3RvcHMu
c2l6ZSgpKQotICAgICAgICAgICAgc3RkOjpzdGFibGVfc29ydChtX3N0b3BzLmJlZ2luKCksIG1f
c3RvcHMuZW5kKCksIGNvbXBhcmVTdG9wcyk7Ci0gICAgICAgIG1fc3RvcHNTb3J0ZWQgPSB0cnVl
OwotICAgIH0KLSAgICByZXR1cm4gbV9zdG9wczsKLX0KLQogdm9pZCBHcmFkaWVudDo6ZmlsbChH
cmFwaGljc0NvbnRleHQqIGMsIGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBjLT5maWxsUmVj
dChyLCB0aGlzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172476</attachid>
            <date>2012-11-05 20:14:28 -0800</date>
            <delta_ts>2012-11-05 22:55:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89638-20121106151241.patch</filename>
            <type>text/plain</type>
            <size>9140</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAyMTJkZDY2ZjViNzdm
ZmJjYzA5OTMwNjJjM2JkZmVmZjE3NTUyMWVjLi4wZThjYTQ2NDJlYTIzNDg5ZTYzODNmMTMyNmE2
ZjQ5MGM4ZjA1MjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0xMS0wNiAg
U2hhbmUgU3RlcGhlbnMgIDxzaGFuZXN0ZXBoZW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgUHJl
cCB3b3JrIGZvciBncmFkaWVudCBpbnRlcnBvbGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cC9QbGF0Zm9ybS5neXA6CisK
IDIwMTItMTAtMjYgIENocmlzdG9waGVyIENhbWVyb24gIDxjY2FtZXJvbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBBZGQgYWRkaXRpb25hbCBtZW1vcnkgbWFuYWdlbWVudCBm
aWVsZHMgdG8gV2ViR3JhcGhpY3NDb250ZXh0M0QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxZmQ2ZjNlZDBhZTI1
YjMwNDBlMWExMDYwZTY1ZjgwYzY1YThjMGJkLi5iNGZkMGQ4YmY4YjdkZDA1MzczYTU2NmQ5MDg3
Mzg1YWFkOTQzMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTItMTEtMDYgIFNo
YW5lIFN0ZXBoZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAgIFByZXAg
d29yayBmb3IgZ3JhZGllbnQgaW50ZXJwb2xhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4K
KworICAgICAgICAqIGNzcy9DU1NHcmFkaWVudFZhbHVlLmNwcDoKKyAgICAgICAgU3BsaXQgQ1NT
TGluZWFyR3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQgaW50byB0d28gcGllY2VzIChjcmVh
dGVHcmFkaWVudEVuZHBvaW50cyBhbmQgY3JlYXRlR3JhZGllbnRzKS4KKyAgICAgICAgY3JlYXRl
R3JhZGllbnRFbmRwb2ludHMgd2lsbCBiZWNvbWUgY29kZSBzaGFyZWQgYnkgaW50ZXJwb2xhdGVk
IGdyYWRpZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRpZW50VmFsdWU6OmNy
ZWF0ZUdyYWRpZW50RW5kcG9pbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRp
ZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KToKKworICAgICAgICAqIGNzcy9DU1NHcmFkaWVudFZh
bHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NHcmFkaWVudFZhbHVlOjpjYW5CbGVuZFdpdGgp
OiBSZXR1cm5zIHRydWUgaWYgYW5kIG9ubHkgaWYgdHdvIGdyYWRpZW50cyBjYW4gYmUgaW50ZXJw
b2xhdGVkLgorICAgICAgICAoQ1NTR3JhZGllbnRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NHcmFkaWVudFZhbHVlOjpzdG9wc1NpemUpOiBBY2Nlc3NvciBmdW5jdGlvbiBzbyB0aGF0IGNh
bkJsZW5kV2l0aCBpcyByZXNvbHZhYmxlIGJlZm9yZSByZW5kZXIgdGltZS4KKyAgICAgICAgKiBj
c3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0dyYWRpZW50VmFs
dWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OmJsZW5kKTogCisgICAgICAgIChXZWJDb3JlKToKKworICAgICAgICBNb3ZlIFdp
bkNFLXNwZWNpZmljIHB1YmxpYyBhY2Nlc3NvciBHcmFkaWVudDo6Z2V0U3RvcHMgaW50byBjb21t
b24gY29kZSBhbmQgcmVmYWN0b3IgdG8gdXNlIHN0YW5kYXJkIHNvcnQgZnVuY3Rpb24uCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhZGllbnQ6OmdldFN0b3BzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dyYWRpZW50Lmg6CisgICAgICAgIChHcmFkaWVudCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhZGllbnRXaW5DRS5jcHA6CisKIDIwMTItMTAtMjkg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBhIHR5cG8gdGhh
dCBjYXVzZWQgU1ZHIGV4dGVybmFsIHJlc291cmNlcyB0byBiZSBibG9ja2VkIG9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwL1BsYXRmb3JtLmd5cCBiL1NvdXJjZS9Q
bGF0Zm9ybS9QbGF0Zm9ybS5neXAvUGxhdGZvcm0uZ3lwCmluZGV4IGM4ZjFmMWZiNTM0NGY5YjJi
OTkzYmRhMmFkODNmNzZjYTI0MDg2N2YuLmIyODk0MTYzOTUwYzhjNmYxYzBiNmM4ZDRiMTI5NmI5
NzExNzg4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXAvUGxhdGZv
cm0uZ3lwCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXAvUGxhdGZvcm0uZ3lwCkBA
IC01OSw2ICs1OSw4IEBACiAgICAgICAgICAgICAgICAgIyBUaGlzIGlzIHRlbXBvcmFyeSwgdGhl
IGJldHRlciBzb2x1dGlvbiBpcyB0byBtb3ZlIHRoZXNlIGhlYWRlcnMgaW50byB0aGUgUGxhdGZv
cm0KICAgICAgICAgICAgICAgICAjIGRpcmVjdG9yeSBmb3IgYWxsIHBvcnRzIGFuZCBqdXN0IHVz
ZSB0aGVtIGFzIG5vcm1hbC4KICAgICAgICAgICAgICAgICAnd2ViY29yZV9oZWFkZXJzJzogWwor
ICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5
b3V0VW5pdC5oJywKKyAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvcGxhdGZvcm0v
YW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oJywKICAgICAgICAgICAgICAgICAgICAgJy4u
Ly4uL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oJywKICAgICAgICAgICAg
ICAgICAgICAgJy4uLy4uL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludDNELmgn
LAogICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFF1YWQuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRW
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXgg
ZDAwYzEzMDhlNTEwYjMwZGJkYjczMzlkYWZhYTg3N2JhNTI0YzdlZC4uZTk1YjBmM2U2NGZmNDFi
YzUwYjc3OTE5MjRjMDllNWQ2NmU3MTY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVu
dFZhbHVlLmNwcApAQCAtNjAzLDcgKzYwMyw3IEBAIHN0YXRpYyB2b2lkIGVuZFBvaW50c0Zyb21B
bmdsZShmbG9hdCBhbmdsZURlZywgY29uc3QgSW50U2l6ZSYgc2l6ZSwgRmxvYXRQb2ludCYKICAg
ICBmaXJzdFBvaW50LnNldChzaXplLndpZHRoKCkgLSBzZWNvbmRQb2ludC54KCksIHNpemUuaGVp
Z2h0KCkgLSBzZWNvbmRQb2ludC55KCkpOwogfQogCi1QYXNzUmVmUHRyPEdyYWRpZW50PiBDU1NM
aW5lYXJHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVudChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
LCBjb25zdCBJbnRTaXplJiBzaXplKQorUGFzc1JlZlB0cjxHcmFkaWVudD4gQ1NTTGluZWFyR3Jh
ZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnRFbmRwb2ludHMoUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciwgY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKICAgICBBU1NFUlQoIXNpemUuaXNFbXB0eSgpKTsK
IApAQCAtNjI4LDcgKzYyOCwxNCBAQCBQYXNzUmVmUHRyPEdyYWRpZW50PiBDU1NMaW5lYXJHcmFk
aWVudFZhbHVlOjpjcmVhdGVHcmFkaWVudChSZW5kZXJPYmplY3QqIHJlbmRlcgogICAgIH0KIAog
ICAgIFJlZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQgPSBHcmFkaWVudDo6Y3JlYXRlKGZpcnN0UG9p
bnQsIHNlY29uZFBvaW50KTsKKyAgICByZXR1cm4gZ3JhZGllbnQucmVsZWFzZSgpOworfQogCitQ
YXNzUmVmUHRyPEdyYWRpZW50PiBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVu
dChSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiBzaXplKQoreworICAgIFJl
ZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQgPSBjcmVhdGVHcmFkaWVudEVuZHBvaW50cyhyZW5kZXJl
ciwgc2l6ZSk7CisKKyAgICBSZW5kZXJTdHlsZSogcm9vdFN0eWxlID0gcmVuZGVyZXItPmRvY3Vt
ZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpOwogICAgIC8vIE5vdyBhZGQg
dGhlIHN0b3BzLgogICAgIGFkZFN0b3BzKGdyYWRpZW50LmdldCgpLCByZW5kZXJlciwgcm9vdFN0
eWxlLCAxKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFs
dWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmgKaW5kZXggMWU1ZTdl
MjRlZjA0ZTM2ZWI5NzE4MGU0MDg5OWE1MjBlMTI2YzAzNi4uYjMxZjIzNTAxYmNkZmM2NTM4MzQ4
NTU4MGIzYTdjYTYyN2FiZTY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5o
CkBAIC01NywxMCArNTcsMjMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Vjb25kWChQYXNzUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwpIHsgbV9zZWNvbmRYID0gdmFsOyB9CiAgICAgdm9p
ZCBzZXRTZWNvbmRZKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCkgeyBtX3NlY29u
ZFkgPSB2YWw7IH0KIAorICAgIGJvb2wgY2FuQmxlbmRXaXRoKGNvbnN0IENTU0dyYWRpZW50VmFs
dWUqIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGlzTGluZWFyR3JhZGllbnQoKSAh
PSBvdGhlci0+aXNMaW5lYXJHcmFkaWVudCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgICAgIGlmIChzdG9wc1NpemUoKSAhPSBvdGhlci0+c3RvcHNTaXplKCkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCiAgICAg
dm9pZCBhZGRTdG9wKGNvbnN0IENTU0dyYWRpZW50Q29sb3JTdG9wJiBzdG9wKSB7IG1fc3RvcHMu
YXBwZW5kKHN0b3ApOyB9CiAKICAgICB1bnNpZ25lZCBzdG9wQ291bnQoKSBjb25zdCB7IHJldHVy
biBtX3N0b3BzLnNpemUoKTsgfQogCisgICAgdW5zaWduZWQgc3RvcHNTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdG9wcy5zaXplKCk7IH0KKwogICAgIHZvaWQgc29ydFN0b3BzSWZOZWVkZWQoKTsK
IAogICAgIGJvb2wgaXNMaW5lYXJHcmFkaWVudCgpIGNvbnN0IHsgcmV0dXJuIGNsYXNzVHlwZSgp
ID09IExpbmVhckdyYWRpZW50Q2xhc3M7IH0KQEAgLTEzNyw2ICsxNTAsOCBAQCBwdWJsaWM6CiAg
ICAgLy8gQ3JlYXRlIHRoZSBncmFkaWVudCBmb3IgYSBnaXZlbiBzaXplLgogICAgIFBhc3NSZWZQ
dHI8R3JhZGllbnQ+IGNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCosIGNvbnN0IEludFNpemUm
KTsKIAorICAgIFBhc3NSZWZQdHI8R3JhZGllbnQ+IGNyZWF0ZUdyYWRpZW50RW5kcG9pbnRzKFJl
bmRlck9iamVjdCosIGNvbnN0IEludFNpemUmKTsKKwogICAgIFBhc3NSZWZQdHI8Q1NTTGluZWFy
R3JhZGllbnRWYWx1ZT4gY2xvbmUoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NMaW5lYXJHcmFkaWVudFZhbHVlKCp0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKaW5kZXggNThkYjZiYWI5NjgwNGE5YTNj
MjQyZTVlN2RjZGU2ZGM1Y2FkYzgwZC4uZGE5YzI2N2YxNjljYjBjODFjM2RhZTBlYzA5YTg4MmU1
MDY0N2I2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxv
YXRQb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuaApAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBGbG9hdFBvaW50X2gKICNkZWZpbmUgRmxv
YXRQb2ludF9oCiAKKyNpbmNsdWRlICJBbmltYXRpb25VdGlsaXRpZXMuaCIKICNpbmNsdWRlICJG
bG9hdFNpemUuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0
cmFzLmg+CkBAIC0yNjcsNiArMjY4LDExIEBAIGZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBv
aW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKTsKIC8vIEZpbmQgcG9pbnQg
d2hlcmUgbGluZXMgdGhyb3VnaCB0aGUgdHdvIHBhaXJzIG9mIHBvaW50cyBpbnRlcnNlY3QuIFJl
dHVybnMgZmFsc2UgaWYgdGhlIGxpbmVzIGRvbid0IGludGVyc2VjdC4KIGJvb2wgZmluZEludGVy
c2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0
IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJz
ZWN0aW9uKTsKIAoraW5saW5lIEZsb2F0UG9pbnQgYmxlbmQoY29uc3QgRmxvYXRQb2ludCYgZnJv
bSwgY29uc3QgRmxvYXRQb2ludCYgdG8sIGRvdWJsZSBwcm9ncmVzcykKK3sKKyAgICByZXR1cm4g
RmxvYXRQb2ludChibGVuZChmcm9tLngoKSwgdG8ueCgpLCBwcm9ncmVzcyksIGJsZW5kKGZyb20u
eSgpLCB0by55KCksIHByb2dyZXNzKSk7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAKaW5kZXggOTVkNzBiYTI1OTc1YmY0
ZWJjNTNmZGY5ZjBkNjEwYTYyNTFkYjQ5Yi4uODFjZTJlNGUyNjJmMGQ1Zjc2MmJmYzJhNDY4MGNk
OTc5M2I4ZTY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhZGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRp
ZW50LmNwcApAQCAtMjA2LDYgKzIwNiwxMiBAQCBpbnQgR3JhZGllbnQ6OmZpbmRTdG9wKGZsb2F0
IHZhbHVlKSBjb25zdAogICAgIHJldHVybiBtX2xhc3RTdG9wOwogfQogCitjb25zdCBWZWN0b3I8
R3JhZGllbnQ6OkNvbG9yU3RvcCwgMj4mIEdyYWRpZW50OjpnZXRTdG9wcygpCit7CisgICAgc29y
dFN0b3BzSWZOZWNlc3NhcnkoKTsKKyAgICByZXR1cm4gbV9zdG9wczsKK30KKwogYm9vbCBHcmFk
aWVudDo6aGFzQWxwaGEoKSBjb25zdAogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9z
dG9wcy5zaXplKCk7IGkrKykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhZGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YWRpZW50LmgKaW5kZXggNmFlNDgzYWM4ZGUyN2ExMjIyMDU4NmI5YThkZDBiZGNhNTA1MmYyNC4u
YzFkZmJiNjA5OWM4NDQ0ZGNiZTQyOTIyMTFmZmQ5MjljZTBjNmI3YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5oCkBAIC0xNDIsOSArMTQyLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGZsb2F0IGFzcGVjdFJhdGlvKCkgY29uc3QgeyBy
ZXR1cm4gbV9hc3BlY3RSYXRpbzsgfQogCi0jaWYgT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkK
LSAgICAgICAgY29uc3QgVmVjdG9yPENvbG9yU3RvcCwgMj4mIGdldFN0b3BzKCkgY29uc3Q7Ci0j
ZWxzZQorICAgICAgICBjb25zdCBWZWN0b3I8Q29sb3JTdG9wLCAyPiYgZ2V0U3RvcHMoKTsKKwor
I2lmICEoT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkpCiAgICAgICAgIFBsYXRmb3JtR3JhZGll
bnQgcGxhdGZvcm1HcmFkaWVudCgpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYWRpZW50V2luQ0UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhZGllbnRXaW5DRS5jcHAKaW5kZXggZDcz
NTg4MWFkYWE0ZTJhNTJiNzYzNTc2ZGZmZDM2OWM1ZjIzNzRmNC4uNTYyMzY2ZTczMmYxZTE3ZjZl
MTBiNzJhNTQ3YjkzYjlmOTQ2Nzc3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvR3JhZGllbnRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhZGllbnRXaW5DRS5jcHAKQEAgLTM0LDE2ICszNCw2
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjb21wYXJlU3RvcHMoY29uc3QgR3JhZGllbnQ6OkNvbG9y
U3RvcCYgYSwgY29uc3QgR3JhZGllbnQ6OkNvCiAgICAgcmV0dXJuIGEuc3RvcCA8IGIuc3RvcDsK
IH0KIAotY29uc3QgVmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3AsIDI+JiBHcmFkaWVudDo6Z2V0
U3RvcHMoKSBjb25zdAotewotICAgIGlmICghbV9zdG9wc1NvcnRlZCkgewotICAgICAgICBpZiAo
bV9zdG9wcy5zaXplKCkpCi0gICAgICAgICAgICBzdGQ6OnN0YWJsZV9zb3J0KG1fc3RvcHMuYmVn
aW4oKSwgbV9zdG9wcy5lbmQoKSwgY29tcGFyZVN0b3BzKTsKLSAgICAgICAgbV9zdG9wc1NvcnRl
ZCA9IHRydWU7Ci0gICAgfQotICAgIHJldHVybiBtX3N0b3BzOwotfQotCiB2b2lkIEdyYWRpZW50
OjpmaWxsKEdyYXBoaWNzQ29udGV4dCogYywgY29uc3QgRmxvYXRSZWN0JiByKQogewogICAgIGMt
PmZpbGxSZWN0KHIsIHRoaXMpOwo=
</data>
<flag name="review"
          id="186800"
          type_id="1"
          status="+"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="186824"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>