<?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>77918</bug_id>
          
          <creation_ts>2012-02-06 17:35:23 -0800</creation_ts>
          <short_desc>Revert TableSection cell and border calculations to int</short_desc>
          <delta_ts>2012-02-07 21:38:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>60318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>550461</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-02-06 17:35:23 -0800</bug_when>
    <thetext>This is a follow up to bug 71500 where table layout was changed back to integers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550469</commentid>
    <comment_count>1</comment_count>
      <attachid>125739</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-02-06 17:40:03 -0800</bug_when>
    <thetext>Created attachment 125739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550485</commentid>
    <comment_count>2</comment_count>
      <attachid>125739</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-06 17:51:55 -0800</bug_when>
    <thetext>Comment on attachment 125739
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Change RenderTableSection cell width, row height and border calculations
&gt; +        back to use integers.

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550490</commentid>
    <comment_count>3</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-02-06 17:57:05 -0800</bug_when>
    <thetext>We use integers for table layout, to ensure even sizing of cells, and borders. Most of table layout was reverted back to integers in bug 71500.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551238</commentid>
    <comment_count>4</comment_count>
      <attachid>125739</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-07 12:26:24 -0800</bug_when>
    <thetext>Comment on attachment 125739
Patch

OK.  So I&apos;m OK with this change.  But please update the ChangeLog to explain why Tables are special, and explicitly always use ints for their layout.  You explained in person that this was part of the spec (that columns needed to be exactly equal width with each other).  But it&apos;s importnat to record that wisdom/justification in the ChangeLog itself (for others looking at this change now or later).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551242</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-07 12:29:11 -0800</bug_when>
    <thetext>ChangeLog, but maybe code too. We really want future programmers to be able to discover this sort of thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551661</commentid>
    <comment_count>6</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-02-07 18:29:28 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; ChangeLog, but maybe code too. We really want future programmers to be able to discover this sort of thing.

I&apos;ll add a comment in the main Table renderer class in a separate change.
Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551665</commentid>
    <comment_count>7</comment_count>
      <attachid>125978</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-02-07 18:33:40 -0800</bug_when>
    <thetext>Created attachment 125978
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551776</commentid>
    <comment_count>8</comment_count>
      <attachid>125978</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-07 21:38:11 -0800</bug_when>
    <thetext>Comment on attachment 125978
Patch for landing

Clearing flags on attachment: 125978

Committed r107038: &lt;http://trac.webkit.org/changeset/107038&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551777</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-07 21:38:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125739</attachid>
            <date>2012-02-06 17:40:03 -0800</date>
            <delta_ts>2012-02-07 18:33:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77918-20120206174001.patch</filename>
            <type>text/plain</type>
            <size>16339</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjg4MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTA2ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZlcnQgVGFibGVTZWN0aW9u
IGNlbGwgYW5kIGJvcmRlciBjYWxjdWxhdGlvbnMgdG8gaW50ZWdlcnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIFJlbmRlclRhYmxlU2VjdGlv
biBjZWxsIHdpZHRoLCByb3cgaGVpZ2h0IGFuZCBib3JkZXIgY2FsY3VsYXRpb25zCisgICAgICAg
IGJhY2sgdG8gdXNlIGludGVnZXJzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNhbFdpZHRocyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMb2dpY2FsSGVpZ2h0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlckJlZm9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlckFmdGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9yZGVyU3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXJCb3JkZXJF
bmQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpwYWludE9iamVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246Om5vZGVBdFBvaW50KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmg6CisgICAgICAgIChSZW5kZXJU
YWJsZVNlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpSb3dT
dHJ1Y3Q6OlJvd1N0cnVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246
Om91dGVyQm9yZGVyQmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlv
bjo6b3V0ZXJCb3JkZXJBZnRlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rp
b246Om91dGVyQm9yZGVyU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0
aW9uOjpvdXRlckJvcmRlckVuZCk6CisKIDIwMTItMDItMDYgIEdyZWdnIFRhdmFyZXMgIDxnbWFu
QGdvb2dsZS5jb20+CiAKICAgICAgICAgQWRkIHdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCBT
ZXR0aW5ncyBmbGFnCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVT
ZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24gMTA2ODU1KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Nyw3ICsy
NzcsNyBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6YWRkQ2VsbChSZW5kZXJUCiAKIHZvaWQg
UmVuZGVyVGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNhbFdpZHRocygpCiB7Ci0gICAgVmVjdG9y
PExheW91dFVuaXQ+JiBjb2x1bW5Qb3MgPSB0YWJsZSgpLT5jb2x1bW5Qb3NpdGlvbnMoKTsKKyAg
ICBWZWN0b3I8aW50PiYgY29sdW1uUG9zID0gdGFibGUoKS0+Y29sdW1uUG9zaXRpb25zKCk7CiAK
ICAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIgc3RhdGVQdXNoZXIodmlldygpKTsKIApAQCAtMjk2
LDggKzI5Niw4IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNhbFcKICAg
ICAgICAgICAgICAgICBjc3BhbiAtPSB0YWJsZSgpLT5jb2x1bW5zKClbZW5kQ29sXS5zcGFuOwog
ICAgICAgICAgICAgICAgIGVuZENvbCsrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgTGF5
b3V0VW5pdCB3ID0gY29sdW1uUG9zW2VuZENvbF0gLSBjb2x1bW5Qb3Nbal0gLSB0YWJsZSgpLT5o
Qm9yZGVyU3BhY2luZygpOwotICAgICAgICAgICAgTGF5b3V0VW5pdCBvbGRMb2dpY2FsV2lkdGgg
PSBjZWxsLT5sb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgIGludCB3ID0gY29sdW1uUG9zW2Vu
ZENvbF0gLSBjb2x1bW5Qb3Nbal0gLSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpOworICAgICAg
ICAgICAgaW50IG9sZExvZ2ljYWxXaWR0aCA9IGNlbGwtPmxvZ2ljYWxXaWR0aCgpOwogICAgICAg
ICAgICAgaWYgKHcgIT0gb2xkTG9naWNhbFdpZHRoKSB7CiAgICAgICAgICAgICAgICAgY2VsbC0+
c2V0TmVlZHNMYXlvdXQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF0YWJsZSgpLT5zZWxm
TmVlZHNMYXlvdXQoKSAmJiBjZWxsLT5jaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSkgewpA
QCAtMzE2LDcgKzMxNiw3IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNh
bFcKICAgICBzdGF0ZVB1c2hlci5wb3AoKTsgLy8gb25seSBwb3BzIGlmIHdlIHB1c2hlZAogfQog
Ci1MYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQoKQor
aW50IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQoKQogewogI2lmbmRl
ZiBOREVCVUcKICAgICBzZXROZWVkc0xheW91dElzRm9yYmlkZGVuKHRydWUpOwpAQCAtMzI2LDcg
KzMyNiw3IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG8KIAogICAg
IFJlbmRlclRhYmxlQ2VsbCogY2VsbDsKIAotICAgIExheW91dFVuaXQgc3BhY2luZyA9IHRhYmxl
KCktPnZCb3JkZXJTcGFjaW5nKCk7CisgICAgaW50IHNwYWNpbmcgPSB0YWJsZSgpLT52Qm9yZGVy
U3BhY2luZygpOwogCiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKHZpZXco
KSk7CiAKQEAgLTMzNyw5ICszMzcsOSBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6
Y2FsY1Jvd0xvCiAgICAgICAgIG1fcm93UG9zW3IgKyAxXSA9IDA7CiAgICAgICAgIG1fZ3JpZFty
XS5iYXNlbGluZSA9IDA7CiAgICAgICAgIExheW91dFVuaXQgYmFzZWxpbmUgPSAwOwotICAgICAg
ICBMYXlvdXRVbml0IGJkZXNjID0gMDsKLSAgICAgICAgTGF5b3V0VW5pdCBjaCA9IG1fZ3JpZFty
XS5sb2dpY2FsSGVpZ2h0LmNhbGNNaW5WYWx1ZSgwKTsKLSAgICAgICAgTGF5b3V0VW5pdCBwb3Mg
PSBtX3Jvd1Bvc1tyXSArIGNoICsgKG1fZ3JpZFtyXS5yb3dSZW5kZXJlciA/IHNwYWNpbmcgOiAw
KTsKKyAgICAgICAgaW50IGJkZXNjID0gMDsKKyAgICAgICAgaW50IGNoID0gbV9ncmlkW3JdLmxv
Z2ljYWxIZWlnaHQuY2FsY01pblZhbHVlKDApOworICAgICAgICBpbnQgcG9zID0gbV9yb3dQb3Nb
cl0gKyBjaCArIChtX2dyaWRbcl0ucm93UmVuZGVyZXIgPyBzcGFjaW5nIDogMCk7CiAKICAgICAg
ICAgbV9yb3dQb3NbciArIDFdID0gbWF4KG1fcm93UG9zW3IgKyAxXSwgcG9zKTsKIApAQCAtMzcw
LDcgKzM3MCw3IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG8KICAg
ICAgICAgICAgICAgICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgICBMYXlvdXRVbml0IGFkanVzdGVkTG9naWNhbEhlaWdodCA9IGNlbGwtPmxvZ2lj
YWxIZWlnaHQoKSAtIChjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkgKyBjZWxsLT5pbnRy
aW5zaWNQYWRkaW5nQWZ0ZXIoKSk7CisgICAgICAgICAgICBpbnQgYWRqdXN0ZWRMb2dpY2FsSGVp
Z2h0ID0gY2VsbC0+bG9naWNhbEhlaWdodCgpIC0gKGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZv
cmUoKSArIGNlbGwtPmludHJpbnNpY1BhZGRpbmdBZnRlcigpKTsKIAogICAgICAgICAgICAgY2gg
PSBjZWxsLT5zdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkuY2FsY1ZhbHVlKDApOwogICAgICAgICAg
ICAgaWYgKGRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpIHx8IGNlbGwtPnN0eWxlKCktPmJveFNp
emluZygpID09IEJPUkRFUl9CT1gpIHsKQEAgLTM3OSw4ICszNzksOCBAQCBMYXlvdXRVbml0IFJl
bmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvCiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIC8vIEluIHN0cmljdCBtb2RlLCBib3gtc2l6aW5nOiBjb250ZW50LWJveCBkbyB0
aGUgcmlnaHQKICAgICAgICAgICAgICAgICAvLyB0aGluZyBhbmQgYWN0dWFsbHkgYWRkIGluIHRo
ZSBib3JkZXIgYW5kIHBhZGRpbmcuCi0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3Rl
ZFBhZGRpbmdCZWZvcmUgPSBjZWxsLT5wYWRkaW5nQmVmb3JlKCkgLSBjZWxsLT5pbnRyaW5zaWNQ
YWRkaW5nQmVmb3JlKCk7Ci0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3RlZFBhZGRp
bmdBZnRlciA9IGNlbGwtPnBhZGRpbmdBZnRlcigpIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0Fm
dGVyKCk7CisgICAgICAgICAgICAgICAgaW50IGFkanVzdGVkUGFkZGluZ0JlZm9yZSA9IGNlbGwt
PnBhZGRpbmdCZWZvcmUoKSAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKKyAgICAg
ICAgICAgICAgICBpbnQgYWRqdXN0ZWRQYWRkaW5nQWZ0ZXIgPSBjZWxsLT5wYWRkaW5nQWZ0ZXIo
KSAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdBZnRlcigpOwogICAgICAgICAgICAgICAgIGNoICs9
IGFkanVzdGVkUGFkZGluZ0JlZm9yZSArIGFkanVzdGVkUGFkZGluZ0FmdGVyICsgY2VsbC0+Ym9y
ZGVyQmVmb3JlKCkgKyBjZWxsLT5ib3JkZXJBZnRlcigpOwogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgY2ggPSBtYXgoY2gsIGFkanVzdGVkTG9naWNhbEhlaWdodCk7CkBAIC0zOTIsOSArMzky
LDkgQEAgTGF5b3V0VW5pdCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMbwogICAgICAgICAg
ICAgLy8gZmluZCBvdXQgdGhlIGJhc2VsaW5lCiAgICAgICAgICAgICBFVmVydGljYWxBbGlnbiB2
YSA9IGNlbGwtPnN0eWxlKCktPnZlcnRpY2FsQWxpZ24oKTsKICAgICAgICAgICAgIGlmICh2YSA9
PSBCQVNFTElORSB8fCB2YSA9PSBURVhUX0JPVFRPTSB8fCB2YSA9PSBURVhUX1RPUCB8fCB2YSA9
PSBTVVBFUiB8fCB2YSA9PSBTVUIpIHsKLSAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGIgPSBj
ZWxsLT5jZWxsQmFzZWxpbmVQb3NpdGlvbigpOworICAgICAgICAgICAgICAgIGludCBiID0gY2Vs
bC0+Y2VsbEJhc2VsaW5lUG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICBpZiAoYiA+IGNlbGwt
PmJvcmRlckJlZm9yZSgpICsgY2VsbC0+cGFkZGluZ0JlZm9yZSgpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGJhc2VsaW5lID0gbWF4KGJhc2VsaW5lLCBiIC0gY2VsbC0+aW50cmluc2ljUGFkZGlu
Z0JlZm9yZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmUgPSBtYXg8TGF5b3V0VW5p
dD4oYmFzZWxpbmUsIGIgLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkpOwogICAgICAg
ICAgICAgICAgICAgICBiZGVzYyA9IG1heChiZGVzYywgbV9yb3dQb3NbaW5keF0gKyBjaCAtIChi
IC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKSk7CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQpAQCAtNDM2LDcgKzQzNiw3IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9u
OjpsYXlvdXQoKQogICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKIH0KIAotTGF5b3V0VW5pdCBS
ZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoTGF5b3V0VW5pdCB0b0FkZCkKK2ludCBSZW5k
ZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoaW50IHRvQWRkKQogewogI2lmbmRlZiBOREVCVUcK
ICAgICBzZXROZWVkc0xheW91dElzRm9yYmlkZGVuKHRydWUpOwpAQCAtNDQ0LDcgKzQ0NCw3IEBA
IExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKIAogICAgIEFTU0VSVCgh
bmVlZHNMYXlvdXQoKSk7CiAKLSAgICBMYXlvdXRVbml0IHJIZWlnaHQ7CisgICAgaW50IHJIZWln
aHQ7CiAgICAgdW5zaWduZWQgcmluZHg7CiAgICAgdW5zaWduZWQgdG90YWxSb3dzID0gbV9ncmlk
LnNpemUoKTsKIApAQCAtNDU1LDkgKzQ1NSw5IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0
aW9uOjpsYXlvdXRSb3cKICAgICBtX2ZvcmNlU2xvd1BhaW50UGF0aFdpdGhPdmVyZmxvd2luZ0Nl
bGwgPSBmYWxzZTsKIAogICAgIGlmICh0b0FkZCAmJiB0b3RhbFJvd3MgJiYgKG1fcm93UG9zW3Rv
dGFsUm93c10gfHwgIW5leHRTaWJsaW5nKCkpKSB7Ci0gICAgICAgIExheW91dFVuaXQgdG90YWxI
ZWlnaHQgPSBtX3Jvd1Bvc1t0b3RhbFJvd3NdICsgdG9BZGQ7CisgICAgICAgIGludCB0b3RhbEhl
aWdodCA9IG1fcm93UG9zW3RvdGFsUm93c10gKyB0b0FkZDsKIAotICAgICAgICBMYXlvdXRVbml0
IGRoID0gdG9BZGQ7CisgICAgICAgIGludCBkaCA9IHRvQWRkOwogICAgICAgICBpbnQgdG90YWxQ
ZXJjZW50ID0gMDsKICAgICAgICAgaW50IG51bUF1dG8gPSAwOwogICAgICAgICBmb3IgKHVuc2ln
bmVkIHIgPSAwOyByIDwgdG90YWxSb3dzOyByKyspIHsKQEAgLTQ2OCwxNSArNDY4LDE1IEBAIExh
eW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKICAgICAgICAgfQogICAgICAg
ICBpZiAodG90YWxQZXJjZW50KSB7CiAgICAgICAgICAgICAvLyB0cnkgdG8gc2F0aXNmeSBwZXJj
ZW50Ci0gICAgICAgICAgICBMYXlvdXRVbml0IGFkZCA9IDA7CisgICAgICAgICAgICBpbnQgYWRk
ID0gMDsKICAgICAgICAgICAgIHRvdGFsUGVyY2VudCA9IG1pbih0b3RhbFBlcmNlbnQsIDEwMCk7
Ci0gICAgICAgICAgICBMYXlvdXRVbml0IHJoID0gbV9yb3dQb3NbMV0gLSBtX3Jvd1Bvc1swXTsK
KyAgICAgICAgICAgIGludCByaCA9IG1fcm93UG9zWzFdIC0gbV9yb3dQb3NbMF07CiAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIHIgPSAwOyByIDwgdG90YWxSb3dzOyByKyspIHsKICAgICAgICAg
ICAgICAgICBpZiAodG90YWxQZXJjZW50ID4gMCAmJiBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5p
c1BlcmNlbnQoKSkgewotICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IHRvQWRkID0gbWlu
PExheW91dFVuaXQ+KGRoLCAodG90YWxIZWlnaHQgKiBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5w
ZXJjZW50KCkgLyAxMDApIC0gcmgpOworICAgICAgICAgICAgICAgICAgICBpbnQgdG9BZGQgPSBt
aW48aW50PihkaCwgKHRvdGFsSGVpZ2h0ICogbV9ncmlkW3JdLmxvZ2ljYWxIZWlnaHQucGVyY2Vu
dCgpIC8gMTAwKSAtIHJoKTsKICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdG9BZGQgaXMgbmVn
YXRpdmUsIHRoZW4gd2UgZG9uJ3Qgd2FudCB0byBzaHJpbmsgdGhlIHJvdyAodGhpcyBidWcKICAg
ICAgICAgICAgICAgICAgICAgLy8gYWZmZWN0ZWQgT3V0bG9vayBXZWIgQWNjZXNzKS4KLSAgICAg
ICAgICAgICAgICAgICAgdG9BZGQgPSBtYXg8TGF5b3V0VW5pdD4oMCwgdG9BZGQpOworICAgICAg
ICAgICAgICAgICAgICB0b0FkZCA9IG1heCgwLCB0b0FkZCk7CiAgICAgICAgICAgICAgICAgICAg
IGFkZCArPSB0b0FkZDsKICAgICAgICAgICAgICAgICAgICAgZGggLT0gdG9BZGQ7CiAgICAgICAg
ICAgICAgICAgICAgIHRvdGFsUGVyY2VudCAtPSBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5wZXJj
ZW50KCk7CkBAIC00ODksMTAgKzQ4OSwxMCBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlv
bjo6bGF5b3V0Um93CiAgICAgICAgIH0KICAgICAgICAgaWYgKG51bUF1dG8pIHsKICAgICAgICAg
ICAgIC8vIGRpc3RyaWJ1dGUgb3ZlciB2YXJpYWJsZSBjb2xzCi0gICAgICAgICAgICBMYXlvdXRV
bml0IGFkZCA9IDA7CisgICAgICAgICAgICBpbnQgYWRkID0gMDsKICAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgciA9IDA7IHIgPCB0b3RhbFJvd3M7IHIrKykgewogICAgICAgICAgICAgICAgIGlm
IChudW1BdXRvID4gMCAmJiBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5pc0F1dG8oKSkgewotICAg
ICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IHRvQWRkID0gZGggLyBudW1BdXRvOworICAgICAg
ICAgICAgICAgICAgICBpbnQgdG9BZGQgPSBkaCAvIG51bUF1dG87CiAgICAgICAgICAgICAgICAg
ICAgIGFkZCArPSB0b0FkZDsKICAgICAgICAgICAgICAgICAgICAgZGggLT0gdG9BZGQ7CiAgICAg
ICAgICAgICAgICAgICAgIG51bUF1dG8tLTsKQEAgLTUwMiw5ICs1MDIsOSBAQCBMYXlvdXRVbml0
IFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRo
ID4gMCAmJiBtX3Jvd1Bvc1t0b3RhbFJvd3NdKSB7CiAgICAgICAgICAgICAvLyBpZiBzb21lIGxl
ZnQgb3ZlcnMsIGRpc3RyaWJ1dGUgZXF1YWxseS4KLSAgICAgICAgICAgIExheW91dFVuaXQgdG90
ID0gbV9yb3dQb3NbdG90YWxSb3dzXTsKLSAgICAgICAgICAgIExheW91dFVuaXQgYWRkID0gMDsK
LSAgICAgICAgICAgIExheW91dFVuaXQgcHJldiA9IG1fcm93UG9zWzBdOworICAgICAgICAgICAg
aW50IHRvdCA9IG1fcm93UG9zW3RvdGFsUm93c107CisgICAgICAgICAgICBpbnQgYWRkID0gMDsK
KyAgICAgICAgICAgIGludCBwcmV2ID0gbV9yb3dQb3NbMF07CiAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIHIgPSAwOyByIDwgdG90YWxSb3dzOyByKyspIHsKICAgICAgICAgICAgICAgICAvLyB3
ZWlnaHQgd2l0aCB0aGUgb3JpZ2luYWwgaGVpZ2h0CiAgICAgICAgICAgICAgICAgYWRkICs9IGRo
ICogKG1fcm93UG9zW3IgKyAxXSAtIHByZXYpIC8gdG90OwpAQCAtNTE0LDggKzUxNCw4IEBAIExh
eW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKICAgICAgICAgfQogICAgIH0K
IAotICAgIExheW91dFVuaXQgaHNwYWNpbmcgPSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpOwot
ICAgIExheW91dFVuaXQgdnNwYWNpbmcgPSB0YWJsZSgpLT52Qm9yZGVyU3BhY2luZygpOworICAg
IGludCBoc3BhY2luZyA9IHRhYmxlKCktPmhCb3JkZXJTcGFjaW5nKCk7CisgICAgaW50IHZzcGFj
aW5nID0gdGFibGUoKS0+dkJvcmRlclNwYWNpbmcoKTsKICAgICB1bnNpZ25lZCBuRWZmQ29scyA9
IHRhYmxlKCktPm51bUVmZkNvbHMoKTsKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0
ZVB1c2hlcih2aWV3KCksIHRoaXMsIExheW91dFNpemUoeCgpLCB5KCkpLCBzdHlsZSgpLT5pc0Zs
aXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKTsKQEAgLTYwMywxOCArNjAzLDE4IEBAIExheW91dFVu
aXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CiAKLSAgICAgICAgICAgIExheW91dFVuaXQgb2xkSW50cmluc2ljUGFkZGluZ0Jl
Zm9yZSA9IGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKLSAgICAgICAgICAgIExheW91
dFVuaXQgb2xkSW50cmluc2ljUGFkZGluZ0FmdGVyID0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0Fm
dGVyKCk7Ci0gICAgICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRXaXRob3V0SW50cmlu
c2ljUGFkZGluZyA9IGNlbGwtPmxvZ2ljYWxIZWlnaHQoKSAtIG9sZEludHJpbnNpY1BhZGRpbmdC
ZWZvcmUgLSBvbGRJbnRyaW5zaWNQYWRkaW5nQWZ0ZXI7CisgICAgICAgICAgICBpbnQgb2xkSW50
cmluc2ljUGFkZGluZ0JlZm9yZSA9IGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKKyAg
ICAgICAgICAgIGludCBvbGRJbnRyaW5zaWNQYWRkaW5nQWZ0ZXIgPSBjZWxsLT5pbnRyaW5zaWNQ
YWRkaW5nQWZ0ZXIoKTsKKyAgICAgICAgICAgIGludCBsb2dpY2FsSGVpZ2h0V2l0aG91dEludHJp
bnNpY1BhZGRpbmcgPSBjZWxsLT5sb2dpY2FsSGVpZ2h0KCkgLSBvbGRJbnRyaW5zaWNQYWRkaW5n
QmVmb3JlIC0gb2xkSW50cmluc2ljUGFkZGluZ0FmdGVyOwogCi0gICAgICAgICAgICBMYXlvdXRV
bml0IGludHJpbnNpY1BhZGRpbmdCZWZvcmUgPSAwOworICAgICAgICAgICAgaW50IGludHJpbnNp
Y1BhZGRpbmdCZWZvcmUgPSAwOwogICAgICAgICAgICAgc3dpdGNoIChjZWxsLT5zdHlsZSgpLT52
ZXJ0aWNhbEFsaWduKCkpIHsKICAgICAgICAgICAgICAgICBjYXNlIFNVQjoKICAgICAgICAgICAg
ICAgICBjYXNlIFNVUEVSOgogICAgICAgICAgICAgICAgIGNhc2UgVEVYVF9UT1A6CiAgICAgICAg
ICAgICAgICAgY2FzZSBURVhUX0JPVFRPTToKICAgICAgICAgICAgICAgICBjYXNlIEJBU0VMSU5F
OiB7Ci0gICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgYiA9IGNlbGwtPmNlbGxCYXNlbGlu
ZVBvc2l0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGludCBiID0gY2VsbC0+Y2VsbEJhc2Vs
aW5lUG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGIgPiBjZWxsLT5ib3JkZXJC
ZWZvcmUoKSArIGNlbGwtPnBhZGRpbmdCZWZvcmUoKSkKICAgICAgICAgICAgICAgICAgICAgICAg
IGludHJpbnNpY1BhZGRpbmdCZWZvcmUgPSBnZXRCYXNlbGluZShyKSAtIChiIC0gb2xkSW50cmlu
c2ljUGFkZGluZ0JlZm9yZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNjMxLDcg
KzYzMSw3IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIExheW91dFVuaXQgaW50cmluc2ljUGFkZGluZ0FmdGVyID0gckhlaWdodCAtIGxvZ2lj
YWxIZWlnaHRXaXRob3V0SW50cmluc2ljUGFkZGluZyAtIGludHJpbnNpY1BhZGRpbmdCZWZvcmU7
CisgICAgICAgICAgICBpbnQgaW50cmluc2ljUGFkZGluZ0FmdGVyID0gckhlaWdodCAtIGxvZ2lj
YWxIZWlnaHRXaXRob3V0SW50cmluc2ljUGFkZGluZyAtIGludHJpbnNpY1BhZGRpbmdCZWZvcmU7
CiAgICAgICAgICAgICBjZWxsLT5zZXRJbnRyaW5zaWNQYWRkaW5nQmVmb3JlKGludHJpbnNpY1Bh
ZGRpbmdCZWZvcmUpOwogICAgICAgICAgICAgY2VsbC0+c2V0SW50cmluc2ljUGFkZGluZ0FmdGVy
KGludHJpbnNpY1BhZGRpbmdBZnRlcik7CiAKQEAgLTcxNSw3ICs3MTUsNyBAQCBMYXlvdXRVbml0
IFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93CiAgICAgcmV0dXJuIGhlaWdodCgpOwogfQog
Ci1MYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9yZGVyQmVmb3JlKCkg
Y29uc3QKK2ludCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlckJlZm9yZSgpIGNv
bnN0CiB7CiAgICAgdW5zaWduZWQgdG90YWxDb2xzID0gdGFibGUoKS0+bnVtRWZmQ29scygpOwog
ICAgIGlmICghbV9ncmlkLnNpemUoKSB8fCAhdG90YWxDb2xzKQpAQCAtNzY2LDcgKzc2Niw3IEBA
IExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXIKICAgICByZXR1cm4gYm9y
ZGVyV2lkdGggLyAyOwogfQogCi1MYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091
dGVyQm9yZGVyQWZ0ZXIoKSBjb25zdAoraW50IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVy
Qm9yZGVyQWZ0ZXIoKSBjb25zdAogewogICAgIHVuc2lnbmVkIHRvdGFsQ29scyA9IHRhYmxlKCkt
Pm51bUVmZkNvbHMoKTsKICAgICBpZiAoIW1fZ3JpZC5zaXplKCkgfHwgIXRvdGFsQ29scykKQEAg
LTgxNyw3ICs4MTcsNyBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVy
CiAgICAgcmV0dXJuIChib3JkZXJXaWR0aCArIDEpIC8gMjsKIH0KIAotTGF5b3V0VW5pdCBSZW5k
ZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlclN0YXJ0KCkgY29uc3QKK2ludCBSZW5kZXJU
YWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlclN0YXJ0KCkgY29uc3QKIHsKICAgICB1bnNpZ25l
ZCB0b3RhbENvbHMgPSB0YWJsZSgpLT5udW1FZmZDb2xzKCk7CiAgICAgaWYgKCFtX2dyaWQuc2l6
ZSgpIHx8ICF0b3RhbENvbHMpCkBAIC04NjEsNyArODYxLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJU
YWJsZVNlY3Rpb246OmNhbGNPdXRlcgogICAgIHJldHVybiAoYm9yZGVyV2lkdGggKyAodGFibGUo
KS0+c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gMCA6IDEpKSAvIDI7CiB9CiAK
LUxheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXJCb3JkZXJFbmQoKSBjb25z
dAoraW50IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9yZGVyRW5kKCkgY29uc3QKIHsK
ICAgICB1bnNpZ25lZCB0b3RhbENvbHMgPSB0YWJsZSgpLT5udW1FZmZDb2xzKCk7CiAgICAgaWYg
KCFtX2dyaWQuc2l6ZSgpIHx8ICF0b3RhbENvbHMpCkBAIC0xMDU1LDcgKzEwNTUsNyBAQCB2b2lk
IFJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRPYmplY3QoUGFpCiAgICAgLy8gRklYTUU6IEltcGxl
bWVudCBSVEwuCiAgICAgaWYgKCFtX2ZvcmNlU2xvd1BhaW50UGF0aFdpdGhPdmVyZmxvd2luZ0Nl
bGwgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgIExheW91
dFVuaXQgc3RhcnQgPSAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGxvY2Fs
UmVwYWludFJlY3QueCgpIDogbG9jYWxSZXBhaW50UmVjdC55KCkpIC0gb3M7Ci0gICAgICAgIFZl
Y3RvcjxMYXlvdXRVbml0PiYgY29sdW1uUG9zID0gdGFibGUoKS0+Y29sdW1uUG9zaXRpb25zKCk7
CisgICAgICAgIFZlY3RvcjxpbnQ+JiBjb2x1bW5Qb3MgPSB0YWJsZSgpLT5jb2x1bW5Qb3NpdGlv
bnMoKTsKICAgICAgICAgc3RhcnRjb2wgPSBzdGQ6Omxvd2VyX2JvdW5kKGNvbHVtblBvcy5iZWdp
bigpLCBjb2x1bW5Qb3MuZW5kKCksIHN0YXJ0KSAtIGNvbHVtblBvcy5iZWdpbigpOwogICAgICAg
ICBpZiAoKHN0YXJ0Y29sID09IGNvbHVtblBvcy5zaXplKCkpIHx8IChzdGFydGNvbCA+IDAgJiYg
KGNvbHVtblBvc1tzdGFydGNvbF0gPiBzdGFydCkpKQogICAgICAgICAgICAgLS1zdGFydGNvbDsK
QEAgLTEzMTMsNyArMTMxMyw3IEBAIGJvb2wgUmVuZGVyVGFibGVTZWN0aW9uOjpub2RlQXRQb2lu
dChjb24KICAgICAvLyBOb3cgc2V0IGhpdFJvdyB0byB0aGUgaW5kZXggb2YgdGhlIGhpdCByb3cs
IG9yIDAuCiAgICAgdW5zaWduZWQgaGl0Um93ID0gbmV4dFJvdyA+IDAgPyBuZXh0Um93IC0gMSA6
IDA7CiAKLSAgICBWZWN0b3I8TGF5b3V0VW5pdD4mIGNvbHVtblBvcyA9IHRhYmxlKCktPmNvbHVt
blBvc2l0aW9ucygpOworICAgIFZlY3RvcjxpbnQ+JiBjb2x1bW5Qb3MgPSB0YWJsZSgpLT5jb2x1
bW5Qb3NpdGlvbnMoKTsKICAgICBMYXlvdXRVbml0IG9mZnNldEluUm93RGlyZWN0aW9uID0gc3R5
bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGxvY2F0aW9uLngoKSA6IGxvY2F0aW9u
LnkoKTsKICAgICBpZiAoIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKICAgICAg
ICAgb2Zmc2V0SW5Sb3dEaXJlY3Rpb24gPSBjb2x1bW5Qb3NbY29sdW1uUG9zLnNpemUoKSAtIDFd
IC0gb2Zmc2V0SW5Sb3dEaXJlY3Rpb247CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVTZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCShyZXZpc2lvbiAxMDY4NTUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDggKzU1LDggQEAgcHVibGljOgogICAgIHZvaWQgYWRkQ2VsbChSZW5kZXJUYWJsZUNlbGwqLCBS
ZW5kZXJUYWJsZVJvdyogcm93KTsKIAogICAgIHZvaWQgc2V0Q2VsbExvZ2ljYWxXaWR0aHMoKTsK
LSAgICBMYXlvdXRVbml0IGNhbGNSb3dMb2dpY2FsSGVpZ2h0KCk7Ci0gICAgTGF5b3V0VW5pdCBs
YXlvdXRSb3dzKExheW91dFVuaXQgbG9naWNhbEhlaWdodCk7CisgICAgaW50IGNhbGNSb3dMb2dp
Y2FsSGVpZ2h0KCk7CisgICAgaW50IGxheW91dFJvd3MoaW50IGxvZ2ljYWxIZWlnaHQpOwogCiAg
ICAgUmVuZGVyVGFibGUqIHRhYmxlKCkgY29uc3QgeyByZXR1cm4gdG9SZW5kZXJUYWJsZShwYXJl
bnQoKSk7IH0KIApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAgICAgc3RydWN0IFJvd1N0cnVj
dCB7CiAgICAgICAgIFJvd1N0cnVjdCgpCiAgICAgICAgICAgICA6IHJvd1JlbmRlcmVyKDApCi0g
ICAgICAgICAgICAsIGJhc2VsaW5lKDApCisgICAgICAgICAgICAsIGJhc2VsaW5lKCkKICAgICAg
ICAgewogICAgICAgICB9CiAKQEAgLTEwOCwxNiArMTA4LDE2IEBAIHB1YmxpYzoKICAgICB2b2lk
IGFwcGVuZENvbHVtbih1bnNpZ25lZCBwb3MpOwogICAgIHZvaWQgc3BsaXRDb2x1bW4odW5zaWdu
ZWQgcG9zLCB1bnNpZ25lZCBmaXJzdCk7CiAKLSAgICBMYXlvdXRVbml0IGNhbGNPdXRlckJvcmRl
ckJlZm9yZSgpIGNvbnN0OwotICAgIExheW91dFVuaXQgY2FsY091dGVyQm9yZGVyQWZ0ZXIoKSBj
b25zdDsKLSAgICBMYXlvdXRVbml0IGNhbGNPdXRlckJvcmRlclN0YXJ0KCkgY29uc3Q7Ci0gICAg
TGF5b3V0VW5pdCBjYWxjT3V0ZXJCb3JkZXJFbmQoKSBjb25zdDsKKyAgICBpbnQgY2FsY091dGVy
Qm9yZGVyQmVmb3JlKCkgY29uc3Q7CisgICAgaW50IGNhbGNPdXRlckJvcmRlckFmdGVyKCkgY29u
c3Q7CisgICAgaW50IGNhbGNPdXRlckJvcmRlclN0YXJ0KCkgY29uc3Q7CisgICAgaW50IGNhbGNP
dXRlckJvcmRlckVuZCgpIGNvbnN0OwogICAgIHZvaWQgcmVjYWxjT3V0ZXJCb3JkZXIoKTsKIAot
ICAgIExheW91dFVuaXQgb3V0ZXJCb3JkZXJCZWZvcmUoKSBjb25zdCB7IHJldHVybiBtX291dGVy
Qm9yZGVyQmVmb3JlOyB9Ci0gICAgTGF5b3V0VW5pdCBvdXRlckJvcmRlckFmdGVyKCkgY29uc3Qg
eyByZXR1cm4gbV9vdXRlckJvcmRlckFmdGVyOyB9Ci0gICAgTGF5b3V0VW5pdCBvdXRlckJvcmRl
clN0YXJ0KCkgY29uc3QgeyByZXR1cm4gbV9vdXRlckJvcmRlclN0YXJ0OyB9Ci0gICAgTGF5b3V0
VW5pdCBvdXRlckJvcmRlckVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fb3V0ZXJCb3JkZXJFbmQ7IH0K
KyAgICBpbnQgb3V0ZXJCb3JkZXJCZWZvcmUoKSBjb25zdCB7IHJldHVybiBtX291dGVyQm9yZGVy
QmVmb3JlOyB9CisgICAgaW50IG91dGVyQm9yZGVyQWZ0ZXIoKSBjb25zdCB7IHJldHVybiBtX291
dGVyQm9yZGVyQWZ0ZXI7IH0KKyAgICBpbnQgb3V0ZXJCb3JkZXJTdGFydCgpIGNvbnN0IHsgcmV0
dXJuIG1fb3V0ZXJCb3JkZXJTdGFydDsgfQorICAgIGludCBvdXRlckJvcmRlckVuZCgpIGNvbnN0
IHsgcmV0dXJuIG1fb3V0ZXJCb3JkZXJFbmQ7IH0KIAogICAgIHVuc2lnbmVkIG51bVJvd3MoKSBj
b25zdCB7IHJldHVybiBtX2dyaWQuc2l6ZSgpOyB9CiAgICAgdW5zaWduZWQgbnVtQ29sdW1ucygp
IGNvbnN0OwpAQCAtMTczLDE2ICsxNzMsMTYgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJPYmplY3RD
aGlsZExpc3QgbV9jaGlsZHJlbjsKIAogICAgIFZlY3RvcjxSb3dTdHJ1Y3Q+IG1fZ3JpZDsKLSAg
ICBWZWN0b3I8TGF5b3V0VW5pdD4gbV9yb3dQb3M7CisgICAgVmVjdG9yPGludD4gbV9yb3dQb3M7
CiAKICAgICAvLyB0aGUgY3VycmVudCBpbnNlcnRpb24gcG9zaXRpb24KICAgICB1bnNpZ25lZCBt
X2NDb2w7CiAgICAgdW5zaWduZWQgbV9jUm93OwogCi0gICAgTGF5b3V0VW5pdCBtX291dGVyQm9y
ZGVyU3RhcnQ7Ci0gICAgTGF5b3V0VW5pdCBtX291dGVyQm9yZGVyRW5kOwotICAgIExheW91dFVu
aXQgbV9vdXRlckJvcmRlckJlZm9yZTsKLSAgICBMYXlvdXRVbml0IG1fb3V0ZXJCb3JkZXJBZnRl
cjsKKyAgICBpbnQgbV9vdXRlckJvcmRlclN0YXJ0OworICAgIGludCBtX291dGVyQm9yZGVyRW5k
OworICAgIGludCBtX291dGVyQm9yZGVyQmVmb3JlOworICAgIGludCBtX291dGVyQm9yZGVyQWZ0
ZXI7CiAKICAgICBib29sIG1fbmVlZHNDZWxsUmVjYWxjOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125978</attachid>
            <date>2012-02-07 18:33:40 -0800</date>
            <delta_ts>2012-02-07 21:38:10 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-77918-20120207183339.patch</filename>
            <type>text/plain</type>
            <size>16618</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNzAxNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDEyLTAyLTA3ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZlcnQgVGFibGVTZWN0aW9u
IGNlbGwgYW5kIGJvcmRlciBjYWxjdWxhdGlvbnMgdG8gaW50ZWdlcnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgQ2hhbmdlIFJlbmRlclRhYmxlU2VjdGlvbiBj
ZWxsIHdpZHRoLCByb3cgaGVpZ2h0IGFuZCBib3JkZXIgY2FsY3VsYXRpb25zCisgICAgICAgIGJh
Y2sgdG8gdXNlIGludGVnZXJzLiBUYWJsZSBsYXlvdXQgaXMgZG9uZSBvbiBpbnRlZ2VyIGJvdW5k
cyB0byBjb21wbHkKKyAgICAgICAgd2l0aCB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgdG8gZW5zdXJl
IHRoYXQgY29sdW1ucyBnaXZlbiB0aGUgc2FtZSB3aWR0aCwKKyAgICAgICAgaW5jbHVkaW5nIHBl
cmNlbnRhZ2Ugd2lkdGhzLCBhcmUgcmVuZGVyZWQgd2l0aCBpZGVudGljYWwgd2lkdGhzLiBUaGUg
c2FtZQorICAgICAgICBhcHBsaWVzIHRvIGhlaWdodHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnNldENlbGxMb2dpY2FsV2lkdGhzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9yZGVyQmVmb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9yZGVy
QWZ0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXJC
b3JkZXJTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNP
dXRlckJvcmRlckVuZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnBh
aW50T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6bm9kZUF0
UG9pbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaDoKKyAgICAg
ICAgKFJlbmRlclRhYmxlU2VjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNl
Y3Rpb246OlJvd1N0cnVjdDo6Um93U3RydWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRh
YmxlU2VjdGlvbjo6b3V0ZXJCb3JkZXJCZWZvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGFibGVTZWN0aW9uOjpvdXRlckJvcmRlckFmdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRhYmxlU2VjdGlvbjo6b3V0ZXJCb3JkZXJTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUYWJsZVNlY3Rpb246Om91dGVyQm9yZGVyRW5kKToKKwogMjAxMi0wMi0wNyAgRGF2aWQgUmV2
ZW1hbiAgPHJldmVtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gUkVHUkVT
U0lPTihyMTAxODU0KTogQ2F1c2luZyBsYXJnZSBhbW91bnRzIG9mIHVubmVjZXNzYXJ5IHJlcGFp
bnRpbmcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVT
ZWN0aW9uLmNwcAkocmV2aXNpb24gMTA3MDE3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlU2VjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Nyw3ICsyNzcsNyBA
QCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6YWRkQ2VsbChSZW5kZXJUCiAKIHZvaWQgUmVuZGVy
VGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNhbFdpZHRocygpCiB7Ci0gICAgVmVjdG9yPExheW91
dFVuaXQ+JiBjb2x1bW5Qb3MgPSB0YWJsZSgpLT5jb2x1bW5Qb3NpdGlvbnMoKTsKKyAgICBWZWN0
b3I8aW50PiYgY29sdW1uUG9zID0gdGFibGUoKS0+Y29sdW1uUG9zaXRpb25zKCk7CiAKICAgICBM
YXlvdXRTdGF0ZU1haW50YWluZXIgc3RhdGVQdXNoZXIodmlldygpKTsKIApAQCAtMjk2LDggKzI5
Niw4IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNhbFcKICAgICAgICAg
ICAgICAgICBjc3BhbiAtPSB0YWJsZSgpLT5jb2x1bW5zKClbZW5kQ29sXS5zcGFuOwogICAgICAg
ICAgICAgICAgIGVuZENvbCsrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgTGF5b3V0VW5p
dCB3ID0gY29sdW1uUG9zW2VuZENvbF0gLSBjb2x1bW5Qb3Nbal0gLSB0YWJsZSgpLT5oQm9yZGVy
U3BhY2luZygpOwotICAgICAgICAgICAgTGF5b3V0VW5pdCBvbGRMb2dpY2FsV2lkdGggPSBjZWxs
LT5sb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgIGludCB3ID0gY29sdW1uUG9zW2VuZENvbF0g
LSBjb2x1bW5Qb3Nbal0gLSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpOworICAgICAgICAgICAg
aW50IG9sZExvZ2ljYWxXaWR0aCA9IGNlbGwtPmxvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAg
aWYgKHcgIT0gb2xkTG9naWNhbFdpZHRoKSB7CiAgICAgICAgICAgICAgICAgY2VsbC0+c2V0TmVl
ZHNMYXlvdXQodHJ1ZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF0YWJsZSgpLT5zZWxmTmVlZHNM
YXlvdXQoKSAmJiBjZWxsLT5jaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSkgewpAQCAtMzE2
LDcgKzMxNiw3IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNhbFcKICAg
ICBzdGF0ZVB1c2hlci5wb3AoKTsgLy8gb25seSBwb3BzIGlmIHdlIHB1c2hlZAogfQogCi1MYXlv
dXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQoKQoraW50IFJl
bmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQoKQogewogI2lmbmRlZiBOREVC
VUcKICAgICBzZXROZWVkc0xheW91dElzRm9yYmlkZGVuKHRydWUpOwpAQCAtMzI2LDcgKzMyNiw3
IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG8KIAogICAgIFJlbmRl
clRhYmxlQ2VsbCogY2VsbDsKIAotICAgIExheW91dFVuaXQgc3BhY2luZyA9IHRhYmxlKCktPnZC
b3JkZXJTcGFjaW5nKCk7CisgICAgaW50IHNwYWNpbmcgPSB0YWJsZSgpLT52Qm9yZGVyU3BhY2lu
ZygpOwogCiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKHZpZXcoKSk7CiAK
QEAgLTMzNyw5ICszMzcsOSBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jv
d0xvCiAgICAgICAgIG1fcm93UG9zW3IgKyAxXSA9IDA7CiAgICAgICAgIG1fZ3JpZFtyXS5iYXNl
bGluZSA9IDA7CiAgICAgICAgIExheW91dFVuaXQgYmFzZWxpbmUgPSAwOwotICAgICAgICBMYXlv
dXRVbml0IGJkZXNjID0gMDsKLSAgICAgICAgTGF5b3V0VW5pdCBjaCA9IG1fZ3JpZFtyXS5sb2dp
Y2FsSGVpZ2h0LmNhbGNNaW5WYWx1ZSgwKTsKLSAgICAgICAgTGF5b3V0VW5pdCBwb3MgPSBtX3Jv
d1Bvc1tyXSArIGNoICsgKG1fZ3JpZFtyXS5yb3dSZW5kZXJlciA/IHNwYWNpbmcgOiAwKTsKKyAg
ICAgICAgaW50IGJkZXNjID0gMDsKKyAgICAgICAgaW50IGNoID0gbV9ncmlkW3JdLmxvZ2ljYWxI
ZWlnaHQuY2FsY01pblZhbHVlKDApOworICAgICAgICBpbnQgcG9zID0gbV9yb3dQb3Nbcl0gKyBj
aCArIChtX2dyaWRbcl0ucm93UmVuZGVyZXIgPyBzcGFjaW5nIDogMCk7CiAKICAgICAgICAgbV9y
b3dQb3NbciArIDFdID0gbWF4KG1fcm93UG9zW3IgKyAxXSwgcG9zKTsKIApAQCAtMzcwLDcgKzM3
MCw3IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG8KICAgICAgICAg
ICAgICAgICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBMYXlvdXRVbml0IGFkanVzdGVkTG9naWNhbEhlaWdodCA9IGNlbGwtPmxvZ2ljYWxIZWln
aHQoKSAtIChjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkgKyBjZWxsLT5pbnRyaW5zaWNQ
YWRkaW5nQWZ0ZXIoKSk7CisgICAgICAgICAgICBpbnQgYWRqdXN0ZWRMb2dpY2FsSGVpZ2h0ID0g
Y2VsbC0+bG9naWNhbEhlaWdodCgpIC0gKGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSAr
IGNlbGwtPmludHJpbnNpY1BhZGRpbmdBZnRlcigpKTsKIAogICAgICAgICAgICAgY2ggPSBjZWxs
LT5zdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkuY2FsY1ZhbHVlKDApOwogICAgICAgICAgICAgaWYg
KGRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpIHx8IGNlbGwtPnN0eWxlKCktPmJveFNpemluZygp
ID09IEJPUkRFUl9CT1gpIHsKQEAgLTM3OSw4ICszNzksOCBAQCBMYXlvdXRVbml0IFJlbmRlclRh
YmxlU2VjdGlvbjo6Y2FsY1Jvd0xvCiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIC8vIEluIHN0cmljdCBtb2RlLCBib3gtc2l6aW5nOiBjb250ZW50LWJveCBkbyB0aGUgcmln
aHQKICAgICAgICAgICAgICAgICAvLyB0aGluZyBhbmQgYWN0dWFsbHkgYWRkIGluIHRoZSBib3Jk
ZXIgYW5kIHBhZGRpbmcuCi0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3RlZFBhZGRp
bmdCZWZvcmUgPSBjZWxsLT5wYWRkaW5nQmVmb3JlKCkgLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5n
QmVmb3JlKCk7Ci0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3RlZFBhZGRpbmdBZnRl
ciA9IGNlbGwtPnBhZGRpbmdBZnRlcigpIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0FmdGVyKCk7
CisgICAgICAgICAgICAgICAgaW50IGFkanVzdGVkUGFkZGluZ0JlZm9yZSA9IGNlbGwtPnBhZGRp
bmdCZWZvcmUoKSAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKKyAgICAgICAgICAg
ICAgICBpbnQgYWRqdXN0ZWRQYWRkaW5nQWZ0ZXIgPSBjZWxsLT5wYWRkaW5nQWZ0ZXIoKSAtIGNl
bGwtPmludHJpbnNpY1BhZGRpbmdBZnRlcigpOwogICAgICAgICAgICAgICAgIGNoICs9IGFkanVz
dGVkUGFkZGluZ0JlZm9yZSArIGFkanVzdGVkUGFkZGluZ0FmdGVyICsgY2VsbC0+Ym9yZGVyQmVm
b3JlKCkgKyBjZWxsLT5ib3JkZXJBZnRlcigpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
Y2ggPSBtYXgoY2gsIGFkanVzdGVkTG9naWNhbEhlaWdodCk7CkBAIC0zOTIsOSArMzkyLDkgQEAg
TGF5b3V0VW5pdCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMbwogICAgICAgICAgICAgLy8g
ZmluZCBvdXQgdGhlIGJhc2VsaW5lCiAgICAgICAgICAgICBFVmVydGljYWxBbGlnbiB2YSA9IGNl
bGwtPnN0eWxlKCktPnZlcnRpY2FsQWxpZ24oKTsKICAgICAgICAgICAgIGlmICh2YSA9PSBCQVNF
TElORSB8fCB2YSA9PSBURVhUX0JPVFRPTSB8fCB2YSA9PSBURVhUX1RPUCB8fCB2YSA9PSBTVVBF
UiB8fCB2YSA9PSBTVUIpIHsKLSAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGIgPSBjZWxsLT5j
ZWxsQmFzZWxpbmVQb3NpdGlvbigpOworICAgICAgICAgICAgICAgIGludCBiID0gY2VsbC0+Y2Vs
bEJhc2VsaW5lUG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICBpZiAoYiA+IGNlbGwtPmJvcmRl
ckJlZm9yZSgpICsgY2VsbC0+cGFkZGluZ0JlZm9yZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGJhc2VsaW5lID0gbWF4KGJhc2VsaW5lLCBiIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9y
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmUgPSBtYXg8TGF5b3V0VW5pdD4oYmFz
ZWxpbmUsIGIgLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkpOwogICAgICAgICAgICAg
ICAgICAgICBiZGVzYyA9IG1heChiZGVzYywgbV9yb3dQb3NbaW5keF0gKyBjaCAtIChiIC0gY2Vs
bC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQpAQCAtNDM2LDcgKzQzNiw3IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlv
dXQoKQogICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJU
YWJsZVNlY3Rpb246OmxheW91dFJvd3MoTGF5b3V0VW5pdCB0b0FkZCkKK2ludCBSZW5kZXJUYWJs
ZVNlY3Rpb246OmxheW91dFJvd3MoaW50IHRvQWRkKQogewogI2lmbmRlZiBOREVCVUcKICAgICBz
ZXROZWVkc0xheW91dElzRm9yYmlkZGVuKHRydWUpOwpAQCAtNDQ0LDcgKzQ0NCw3IEBAIExheW91
dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKIAogICAgIEFTU0VSVCghbmVlZHNM
YXlvdXQoKSk7CiAKLSAgICBMYXlvdXRVbml0IHJIZWlnaHQ7CisgICAgaW50IHJIZWlnaHQ7CiAg
ICAgdW5zaWduZWQgcmluZHg7CiAgICAgdW5zaWduZWQgdG90YWxSb3dzID0gbV9ncmlkLnNpemUo
KTsKIApAQCAtNDU1LDkgKzQ1NSw5IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjps
YXlvdXRSb3cKICAgICBtX2ZvcmNlU2xvd1BhaW50UGF0aFdpdGhPdmVyZmxvd2luZ0NlbGwgPSBm
YWxzZTsKIAogICAgIGlmICh0b0FkZCAmJiB0b3RhbFJvd3MgJiYgKG1fcm93UG9zW3RvdGFsUm93
c10gfHwgIW5leHRTaWJsaW5nKCkpKSB7Ci0gICAgICAgIExheW91dFVuaXQgdG90YWxIZWlnaHQg
PSBtX3Jvd1Bvc1t0b3RhbFJvd3NdICsgdG9BZGQ7CisgICAgICAgIGludCB0b3RhbEhlaWdodCA9
IG1fcm93UG9zW3RvdGFsUm93c10gKyB0b0FkZDsKIAotICAgICAgICBMYXlvdXRVbml0IGRoID0g
dG9BZGQ7CisgICAgICAgIGludCBkaCA9IHRvQWRkOwogICAgICAgICBpbnQgdG90YWxQZXJjZW50
ID0gMDsKICAgICAgICAgaW50IG51bUF1dG8gPSAwOwogICAgICAgICBmb3IgKHVuc2lnbmVkIHIg
PSAwOyByIDwgdG90YWxSb3dzOyByKyspIHsKQEAgLTQ2OCwxNSArNDY4LDE1IEBAIExheW91dFVu
aXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKICAgICAgICAgfQogICAgICAgICBpZiAo
dG90YWxQZXJjZW50KSB7CiAgICAgICAgICAgICAvLyB0cnkgdG8gc2F0aXNmeSBwZXJjZW50Ci0g
ICAgICAgICAgICBMYXlvdXRVbml0IGFkZCA9IDA7CisgICAgICAgICAgICBpbnQgYWRkID0gMDsK
ICAgICAgICAgICAgIHRvdGFsUGVyY2VudCA9IG1pbih0b3RhbFBlcmNlbnQsIDEwMCk7Ci0gICAg
ICAgICAgICBMYXlvdXRVbml0IHJoID0gbV9yb3dQb3NbMV0gLSBtX3Jvd1Bvc1swXTsKKyAgICAg
ICAgICAgIGludCByaCA9IG1fcm93UG9zWzFdIC0gbV9yb3dQb3NbMF07CiAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIHIgPSAwOyByIDwgdG90YWxSb3dzOyByKyspIHsKICAgICAgICAgICAgICAg
ICBpZiAodG90YWxQZXJjZW50ID4gMCAmJiBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5pc1BlcmNl
bnQoKSkgewotICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IHRvQWRkID0gbWluPExheW91
dFVuaXQ+KGRoLCAodG90YWxIZWlnaHQgKiBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5wZXJjZW50
KCkgLyAxMDApIC0gcmgpOworICAgICAgICAgICAgICAgICAgICBpbnQgdG9BZGQgPSBtaW48aW50
PihkaCwgKHRvdGFsSGVpZ2h0ICogbV9ncmlkW3JdLmxvZ2ljYWxIZWlnaHQucGVyY2VudCgpIC8g
MTAwKSAtIHJoKTsKICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdG9BZGQgaXMgbmVnYXRpdmUs
IHRoZW4gd2UgZG9uJ3Qgd2FudCB0byBzaHJpbmsgdGhlIHJvdyAodGhpcyBidWcKICAgICAgICAg
ICAgICAgICAgICAgLy8gYWZmZWN0ZWQgT3V0bG9vayBXZWIgQWNjZXNzKS4KLSAgICAgICAgICAg
ICAgICAgICAgdG9BZGQgPSBtYXg8TGF5b3V0VW5pdD4oMCwgdG9BZGQpOworICAgICAgICAgICAg
ICAgICAgICB0b0FkZCA9IG1heCgwLCB0b0FkZCk7CiAgICAgICAgICAgICAgICAgICAgIGFkZCAr
PSB0b0FkZDsKICAgICAgICAgICAgICAgICAgICAgZGggLT0gdG9BZGQ7CiAgICAgICAgICAgICAg
ICAgICAgIHRvdGFsUGVyY2VudCAtPSBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5wZXJjZW50KCk7
CkBAIC00ODksMTAgKzQ4OSwxMCBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5
b3V0Um93CiAgICAgICAgIH0KICAgICAgICAgaWYgKG51bUF1dG8pIHsKICAgICAgICAgICAgIC8v
IGRpc3RyaWJ1dGUgb3ZlciB2YXJpYWJsZSBjb2xzCi0gICAgICAgICAgICBMYXlvdXRVbml0IGFk
ZCA9IDA7CisgICAgICAgICAgICBpbnQgYWRkID0gMDsKICAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgciA9IDA7IHIgPCB0b3RhbFJvd3M7IHIrKykgewogICAgICAgICAgICAgICAgIGlmIChudW1B
dXRvID4gMCAmJiBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5pc0F1dG8oKSkgewotICAgICAgICAg
ICAgICAgICAgICBMYXlvdXRVbml0IHRvQWRkID0gZGggLyBudW1BdXRvOworICAgICAgICAgICAg
ICAgICAgICBpbnQgdG9BZGQgPSBkaCAvIG51bUF1dG87CiAgICAgICAgICAgICAgICAgICAgIGFk
ZCArPSB0b0FkZDsKICAgICAgICAgICAgICAgICAgICAgZGggLT0gdG9BZGQ7CiAgICAgICAgICAg
ICAgICAgICAgIG51bUF1dG8tLTsKQEAgLTUwMiw5ICs1MDIsOSBAQCBMYXlvdXRVbml0IFJlbmRl
clRhYmxlU2VjdGlvbjo6bGF5b3V0Um93CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRoID4gMCAm
JiBtX3Jvd1Bvc1t0b3RhbFJvd3NdKSB7CiAgICAgICAgICAgICAvLyBpZiBzb21lIGxlZnQgb3Zl
cnMsIGRpc3RyaWJ1dGUgZXF1YWxseS4KLSAgICAgICAgICAgIExheW91dFVuaXQgdG90ID0gbV9y
b3dQb3NbdG90YWxSb3dzXTsKLSAgICAgICAgICAgIExheW91dFVuaXQgYWRkID0gMDsKLSAgICAg
ICAgICAgIExheW91dFVuaXQgcHJldiA9IG1fcm93UG9zWzBdOworICAgICAgICAgICAgaW50IHRv
dCA9IG1fcm93UG9zW3RvdGFsUm93c107CisgICAgICAgICAgICBpbnQgYWRkID0gMDsKKyAgICAg
ICAgICAgIGludCBwcmV2ID0gbV9yb3dQb3NbMF07CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IHIgPSAwOyByIDwgdG90YWxSb3dzOyByKyspIHsKICAgICAgICAgICAgICAgICAvLyB3ZWlnaHQg
d2l0aCB0aGUgb3JpZ2luYWwgaGVpZ2h0CiAgICAgICAgICAgICAgICAgYWRkICs9IGRoICogKG1f
cm93UG9zW3IgKyAxXSAtIHByZXYpIC8gdG90OwpAQCAtNTE0LDggKzUxNCw4IEBAIExheW91dFVu
aXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKICAgICAgICAgfQogICAgIH0KIAotICAg
IExheW91dFVuaXQgaHNwYWNpbmcgPSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpOwotICAgIExh
eW91dFVuaXQgdnNwYWNpbmcgPSB0YWJsZSgpLT52Qm9yZGVyU3BhY2luZygpOworICAgIGludCBo
c3BhY2luZyA9IHRhYmxlKCktPmhCb3JkZXJTcGFjaW5nKCk7CisgICAgaW50IHZzcGFjaW5nID0g
dGFibGUoKS0+dkJvcmRlclNwYWNpbmcoKTsKICAgICB1bnNpZ25lZCBuRWZmQ29scyA9IHRhYmxl
KCktPm51bUVmZkNvbHMoKTsKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hl
cih2aWV3KCksIHRoaXMsIExheW91dFNpemUoeCgpLCB5KCkpLCBzdHlsZSgpLT5pc0ZsaXBwZWRC
bG9ja3NXcml0aW5nTW9kZSgpKTsKQEAgLTYwMywxOCArNjAzLDE4IEBAIExheW91dFVuaXQgUmVu
ZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIExheW91dFVuaXQgb2xkSW50cmluc2ljUGFkZGluZ0JlZm9yZSA9
IGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKLSAgICAgICAgICAgIExheW91dFVuaXQg
b2xkSW50cmluc2ljUGFkZGluZ0FmdGVyID0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0FmdGVyKCk7
Ci0gICAgICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRXaXRob3V0SW50cmluc2ljUGFk
ZGluZyA9IGNlbGwtPmxvZ2ljYWxIZWlnaHQoKSAtIG9sZEludHJpbnNpY1BhZGRpbmdCZWZvcmUg
LSBvbGRJbnRyaW5zaWNQYWRkaW5nQWZ0ZXI7CisgICAgICAgICAgICBpbnQgb2xkSW50cmluc2lj
UGFkZGluZ0JlZm9yZSA9IGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKKyAgICAgICAg
ICAgIGludCBvbGRJbnRyaW5zaWNQYWRkaW5nQWZ0ZXIgPSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5n
QWZ0ZXIoKTsKKyAgICAgICAgICAgIGludCBsb2dpY2FsSGVpZ2h0V2l0aG91dEludHJpbnNpY1Bh
ZGRpbmcgPSBjZWxsLT5sb2dpY2FsSGVpZ2h0KCkgLSBvbGRJbnRyaW5zaWNQYWRkaW5nQmVmb3Jl
IC0gb2xkSW50cmluc2ljUGFkZGluZ0FmdGVyOwogCi0gICAgICAgICAgICBMYXlvdXRVbml0IGlu
dHJpbnNpY1BhZGRpbmdCZWZvcmUgPSAwOworICAgICAgICAgICAgaW50IGludHJpbnNpY1BhZGRp
bmdCZWZvcmUgPSAwOwogICAgICAgICAgICAgc3dpdGNoIChjZWxsLT5zdHlsZSgpLT52ZXJ0aWNh
bEFsaWduKCkpIHsKICAgICAgICAgICAgICAgICBjYXNlIFNVQjoKICAgICAgICAgICAgICAgICBj
YXNlIFNVUEVSOgogICAgICAgICAgICAgICAgIGNhc2UgVEVYVF9UT1A6CiAgICAgICAgICAgICAg
ICAgY2FzZSBURVhUX0JPVFRPTToKICAgICAgICAgICAgICAgICBjYXNlIEJBU0VMSU5FOiB7Ci0g
ICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgYiA9IGNlbGwtPmNlbGxCYXNlbGluZVBvc2l0
aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGludCBiID0gY2VsbC0+Y2VsbEJhc2VsaW5lUG9z
aXRpb24oKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGIgPiBjZWxsLT5ib3JkZXJCZWZvcmUo
KSArIGNlbGwtPnBhZGRpbmdCZWZvcmUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGludHJp
bnNpY1BhZGRpbmdCZWZvcmUgPSBnZXRCYXNlbGluZShyKSAtIChiIC0gb2xkSW50cmluc2ljUGFk
ZGluZ0JlZm9yZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNjMxLDcgKzYzMSw3
IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3cKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAg
IExheW91dFVuaXQgaW50cmluc2ljUGFkZGluZ0FmdGVyID0gckhlaWdodCAtIGxvZ2ljYWxIZWln
aHRXaXRob3V0SW50cmluc2ljUGFkZGluZyAtIGludHJpbnNpY1BhZGRpbmdCZWZvcmU7CisgICAg
ICAgICAgICBpbnQgaW50cmluc2ljUGFkZGluZ0FmdGVyID0gckhlaWdodCAtIGxvZ2ljYWxIZWln
aHRXaXRob3V0SW50cmluc2ljUGFkZGluZyAtIGludHJpbnNpY1BhZGRpbmdCZWZvcmU7CiAgICAg
ICAgICAgICBjZWxsLT5zZXRJbnRyaW5zaWNQYWRkaW5nQmVmb3JlKGludHJpbnNpY1BhZGRpbmdC
ZWZvcmUpOwogICAgICAgICAgICAgY2VsbC0+c2V0SW50cmluc2ljUGFkZGluZ0FmdGVyKGludHJp
bnNpY1BhZGRpbmdBZnRlcik7CiAKQEAgLTcxNSw3ICs3MTUsNyBAQCBMYXlvdXRVbml0IFJlbmRl
clRhYmxlU2VjdGlvbjo6bGF5b3V0Um93CiAgICAgcmV0dXJuIGhlaWdodCgpOwogfQogCi1MYXlv
dXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9yZGVyQmVmb3JlKCkgY29uc3QK
K2ludCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlckJlZm9yZSgpIGNvbnN0CiB7
CiAgICAgdW5zaWduZWQgdG90YWxDb2xzID0gdGFibGUoKS0+bnVtRWZmQ29scygpOwogICAgIGlm
ICghbV9ncmlkLnNpemUoKSB8fCAhdG90YWxDb2xzKQpAQCAtNzY2LDcgKzc2Niw3IEBAIExheW91
dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXIKICAgICByZXR1cm4gYm9yZGVyV2lk
dGggLyAyOwogfQogCi1MYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9y
ZGVyQWZ0ZXIoKSBjb25zdAoraW50IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9yZGVy
QWZ0ZXIoKSBjb25zdAogewogICAgIHVuc2lnbmVkIHRvdGFsQ29scyA9IHRhYmxlKCktPm51bUVm
ZkNvbHMoKTsKICAgICBpZiAoIW1fZ3JpZC5zaXplKCkgfHwgIXRvdGFsQ29scykKQEAgLTgxNyw3
ICs4MTcsNyBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyCiAgICAg
cmV0dXJuIChib3JkZXJXaWR0aCArIDEpIC8gMjsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJUYWJs
ZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlclN0YXJ0KCkgY29uc3QKK2ludCBSZW5kZXJUYWJsZVNl
Y3Rpb246OmNhbGNPdXRlckJvcmRlclN0YXJ0KCkgY29uc3QKIHsKICAgICB1bnNpZ25lZCB0b3Rh
bENvbHMgPSB0YWJsZSgpLT5udW1FZmZDb2xzKCk7CiAgICAgaWYgKCFtX2dyaWQuc2l6ZSgpIHx8
ICF0b3RhbENvbHMpCkBAIC04NjEsNyArODYxLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJUYWJsZVNl
Y3Rpb246OmNhbGNPdXRlcgogICAgIHJldHVybiAoYm9yZGVyV2lkdGggKyAodGFibGUoKS0+c3R5
bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gMCA6IDEpKSAvIDI7CiB9CiAKLUxheW91
dFVuaXQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXJCb3JkZXJFbmQoKSBjb25zdAoraW50
IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY091dGVyQm9yZGVyRW5kKCkgY29uc3QKIHsKICAgICB1
bnNpZ25lZCB0b3RhbENvbHMgPSB0YWJsZSgpLT5udW1FZmZDb2xzKCk7CiAgICAgaWYgKCFtX2dy
aWQuc2l6ZSgpIHx8ICF0b3RhbENvbHMpCkBAIC0xMDU1LDcgKzEwNTUsNyBAQCB2b2lkIFJlbmRl
clRhYmxlU2VjdGlvbjo6cGFpbnRPYmplY3QoUGFpCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBS
VEwuCiAgICAgaWYgKCFtX2ZvcmNlU2xvd1BhaW50UGF0aFdpdGhPdmVyZmxvd2luZ0NlbGwgJiYg
c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgIExheW91dFVuaXQg
c3RhcnQgPSAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGxvY2FsUmVwYWlu
dFJlY3QueCgpIDogbG9jYWxSZXBhaW50UmVjdC55KCkpIC0gb3M7Ci0gICAgICAgIFZlY3RvcjxM
YXlvdXRVbml0PiYgY29sdW1uUG9zID0gdGFibGUoKS0+Y29sdW1uUG9zaXRpb25zKCk7CisgICAg
ICAgIFZlY3RvcjxpbnQ+JiBjb2x1bW5Qb3MgPSB0YWJsZSgpLT5jb2x1bW5Qb3NpdGlvbnMoKTsK
ICAgICAgICAgc3RhcnRjb2wgPSBzdGQ6Omxvd2VyX2JvdW5kKGNvbHVtblBvcy5iZWdpbigpLCBj
b2x1bW5Qb3MuZW5kKCksIHN0YXJ0KSAtIGNvbHVtblBvcy5iZWdpbigpOwogICAgICAgICBpZiAo
KHN0YXJ0Y29sID09IGNvbHVtblBvcy5zaXplKCkpIHx8IChzdGFydGNvbCA+IDAgJiYgKGNvbHVt
blBvc1tzdGFydGNvbF0gPiBzdGFydCkpKQogICAgICAgICAgICAgLS1zdGFydGNvbDsKQEAgLTEz
MTMsNyArMTMxMyw3IEBAIGJvb2wgUmVuZGVyVGFibGVTZWN0aW9uOjpub2RlQXRQb2ludChjb24K
ICAgICAvLyBOb3cgc2V0IGhpdFJvdyB0byB0aGUgaW5kZXggb2YgdGhlIGhpdCByb3csIG9yIDAu
CiAgICAgdW5zaWduZWQgaGl0Um93ID0gbmV4dFJvdyA+IDAgPyBuZXh0Um93IC0gMSA6IDA7CiAK
LSAgICBWZWN0b3I8TGF5b3V0VW5pdD4mIGNvbHVtblBvcyA9IHRhYmxlKCktPmNvbHVtblBvc2l0
aW9ucygpOworICAgIFZlY3RvcjxpbnQ+JiBjb2x1bW5Qb3MgPSB0YWJsZSgpLT5jb2x1bW5Qb3Np
dGlvbnMoKTsKICAgICBMYXlvdXRVbml0IG9mZnNldEluUm93RGlyZWN0aW9uID0gc3R5bGUoKS0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGxvY2F0aW9uLngoKSA6IGxvY2F0aW9uLnkoKTsK
ICAgICBpZiAoIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKICAgICAgICAgb2Zm
c2V0SW5Sb3dEaXJlY3Rpb24gPSBjb2x1bW5Qb3NbY29sdW1uUG9zLnNpemUoKSAtIDFdIC0gb2Zm
c2V0SW5Sb3dEaXJlY3Rpb247CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVTZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlU2VjdGlvbi5oCShyZXZpc2lvbiAxMDcwMTcpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDggKzU1
LDggQEAgcHVibGljOgogICAgIHZvaWQgYWRkQ2VsbChSZW5kZXJUYWJsZUNlbGwqLCBSZW5kZXJU
YWJsZVJvdyogcm93KTsKIAogICAgIHZvaWQgc2V0Q2VsbExvZ2ljYWxXaWR0aHMoKTsKLSAgICBM
YXlvdXRVbml0IGNhbGNSb3dMb2dpY2FsSGVpZ2h0KCk7Ci0gICAgTGF5b3V0VW5pdCBsYXlvdXRS
b3dzKExheW91dFVuaXQgbG9naWNhbEhlaWdodCk7CisgICAgaW50IGNhbGNSb3dMb2dpY2FsSGVp
Z2h0KCk7CisgICAgaW50IGxheW91dFJvd3MoaW50IGxvZ2ljYWxIZWlnaHQpOwogCiAgICAgUmVu
ZGVyVGFibGUqIHRhYmxlKCkgY29uc3QgeyByZXR1cm4gdG9SZW5kZXJUYWJsZShwYXJlbnQoKSk7
IH0KIApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAgICAgc3RydWN0IFJvd1N0cnVjdCB7CiAg
ICAgICAgIFJvd1N0cnVjdCgpCiAgICAgICAgICAgICA6IHJvd1JlbmRlcmVyKDApCi0gICAgICAg
ICAgICAsIGJhc2VsaW5lKDApCisgICAgICAgICAgICAsIGJhc2VsaW5lKCkKICAgICAgICAgewog
ICAgICAgICB9CiAKQEAgLTEwOCwxNiArMTA4LDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGVu
ZENvbHVtbih1bnNpZ25lZCBwb3MpOwogICAgIHZvaWQgc3BsaXRDb2x1bW4odW5zaWduZWQgcG9z
LCB1bnNpZ25lZCBmaXJzdCk7CiAKLSAgICBMYXlvdXRVbml0IGNhbGNPdXRlckJvcmRlckJlZm9y
ZSgpIGNvbnN0OwotICAgIExheW91dFVuaXQgY2FsY091dGVyQm9yZGVyQWZ0ZXIoKSBjb25zdDsK
LSAgICBMYXlvdXRVbml0IGNhbGNPdXRlckJvcmRlclN0YXJ0KCkgY29uc3Q7Ci0gICAgTGF5b3V0
VW5pdCBjYWxjT3V0ZXJCb3JkZXJFbmQoKSBjb25zdDsKKyAgICBpbnQgY2FsY091dGVyQm9yZGVy
QmVmb3JlKCkgY29uc3Q7CisgICAgaW50IGNhbGNPdXRlckJvcmRlckFmdGVyKCkgY29uc3Q7Cisg
ICAgaW50IGNhbGNPdXRlckJvcmRlclN0YXJ0KCkgY29uc3Q7CisgICAgaW50IGNhbGNPdXRlckJv
cmRlckVuZCgpIGNvbnN0OwogICAgIHZvaWQgcmVjYWxjT3V0ZXJCb3JkZXIoKTsKIAotICAgIExh
eW91dFVuaXQgb3V0ZXJCb3JkZXJCZWZvcmUoKSBjb25zdCB7IHJldHVybiBtX291dGVyQm9yZGVy
QmVmb3JlOyB9Ci0gICAgTGF5b3V0VW5pdCBvdXRlckJvcmRlckFmdGVyKCkgY29uc3QgeyByZXR1
cm4gbV9vdXRlckJvcmRlckFmdGVyOyB9Ci0gICAgTGF5b3V0VW5pdCBvdXRlckJvcmRlclN0YXJ0
KCkgY29uc3QgeyByZXR1cm4gbV9vdXRlckJvcmRlclN0YXJ0OyB9Ci0gICAgTGF5b3V0VW5pdCBv
dXRlckJvcmRlckVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fb3V0ZXJCb3JkZXJFbmQ7IH0KKyAgICBp
bnQgb3V0ZXJCb3JkZXJCZWZvcmUoKSBjb25zdCB7IHJldHVybiBtX291dGVyQm9yZGVyQmVmb3Jl
OyB9CisgICAgaW50IG91dGVyQm9yZGVyQWZ0ZXIoKSBjb25zdCB7IHJldHVybiBtX291dGVyQm9y
ZGVyQWZ0ZXI7IH0KKyAgICBpbnQgb3V0ZXJCb3JkZXJTdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1f
b3V0ZXJCb3JkZXJTdGFydDsgfQorICAgIGludCBvdXRlckJvcmRlckVuZCgpIGNvbnN0IHsgcmV0
dXJuIG1fb3V0ZXJCb3JkZXJFbmQ7IH0KIAogICAgIHVuc2lnbmVkIG51bVJvd3MoKSBjb25zdCB7
IHJldHVybiBtX2dyaWQuc2l6ZSgpOyB9CiAgICAgdW5zaWduZWQgbnVtQ29sdW1ucygpIGNvbnN0
OwpAQCAtMTczLDE2ICsxNzMsMTYgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJPYmplY3RDaGlsZExp
c3QgbV9jaGlsZHJlbjsKIAogICAgIFZlY3RvcjxSb3dTdHJ1Y3Q+IG1fZ3JpZDsKLSAgICBWZWN0
b3I8TGF5b3V0VW5pdD4gbV9yb3dQb3M7CisgICAgVmVjdG9yPGludD4gbV9yb3dQb3M7CiAKICAg
ICAvLyB0aGUgY3VycmVudCBpbnNlcnRpb24gcG9zaXRpb24KICAgICB1bnNpZ25lZCBtX2NDb2w7
CiAgICAgdW5zaWduZWQgbV9jUm93OwogCi0gICAgTGF5b3V0VW5pdCBtX291dGVyQm9yZGVyU3Rh
cnQ7Ci0gICAgTGF5b3V0VW5pdCBtX291dGVyQm9yZGVyRW5kOwotICAgIExheW91dFVuaXQgbV9v
dXRlckJvcmRlckJlZm9yZTsKLSAgICBMYXlvdXRVbml0IG1fb3V0ZXJCb3JkZXJBZnRlcjsKKyAg
ICBpbnQgbV9vdXRlckJvcmRlclN0YXJ0OworICAgIGludCBtX291dGVyQm9yZGVyRW5kOworICAg
IGludCBtX291dGVyQm9yZGVyQmVmb3JlOworICAgIGludCBtX291dGVyQm9yZGVyQWZ0ZXI7CiAK
ICAgICBib29sIG1fbmVlZHNDZWxsUmVjYWxjOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>