<?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>66721</bug_id>
          
          <creation_ts>2011-08-22 14:59:07 -0700</creation_ts>
          <short_desc>Attempt to clean up bidiNext usage</short_desc>
          <delta_ts>2011-08-22 16:34:50 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>50912</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>leviw</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>454963</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-22 14:59:07 -0700</bug_when>
    <thetext>Attempt to clean up bidiNext usage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454970</commentid>
    <comment_count>1</comment_count>
      <attachid>104746</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-22 15:04:06 -0700</bug_when>
    <thetext>Created attachment 104746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454989</commentid>
    <comment_count>2</comment_count>
      <attachid>104750</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-22 15:17:43 -0700</bug_when>
    <thetext>Created attachment 104750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455001</commentid>
    <comment_count>3</comment_count>
      <attachid>104750</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-08-22 15:28:05 -0700</bug_when>
    <thetext>Comment on attachment 104750
Patch

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

r=me. looks sane to me.

&gt; Source/WebCore/ChangeLog:24
&gt; +        In reviewing this code be aware that the previous bidiNext default was to &quot;skip empty inlines&quot; (skipInlines = true).
&gt; +        Thus any caller who didn&apos;t pass true/false should now be calling bidiNextSkippingEmptyInlines instead.

These two lines appear to be much longer than the lines above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455048</commentid>
    <comment_count>4</comment_count>
      <attachid>104750</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-22 16:34:46 -0700</bug_when>
    <thetext>Comment on attachment 104750
Patch

Clearing flags on attachment: 104750

Committed r93559: &lt;http://trac.webkit.org/changeset/93559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455049</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-22 16:34:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104746</attachid>
            <date>2011-08-22 15:04:06 -0700</date>
            <delta_ts>2011-08-22 15:17:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66721-20110822150405.patch</filename>
            <type>text/plain</type>
            <size>11553</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM1NDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNGVhNTk4Yjk5YWJhMWYz
NjY5NWQ3Y2IzMTk5ODRhYzhhNDlkMTI4Li5lZDhjZmM5MTVlMDM0OTQ2MWYyZmZhYjYzYzc3NWFl
ODNjNWU5Y2ZiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTEtMDgtMjIgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIEF0dGVtcHQgdG8gY2xlYW4gdXAg
YmlkaU5leHQgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2NzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgYmlkaU5leHQgYW5kIGJpZGlGaXJzdCBhcmUgaG9ycmlibHkgY29uZnVzaW5nLgorICAg
ICAgICBFdmVuIHdvcnNlIGlzIHRoYXQgYmlkaU5leHQgdGFrZXMgYSBidW5jaCBvZiBtdXR1YWxs
eSBleGNsdXNpdmUgb3B0aW9ucy4KKyAgICAgICAgSXQgYXBwZWFycyB0aGF0IHRoZXJlIGlzIGEg
InJldHVybiBtZSBldmVyeSBpbmxpbmUsIGV2ZW4gaWYgaXRzIGVtcHR5IgorICAgICAgICBtb2Rl
IHdoaWNoIGlzIG9ubHkgdXNlZCBmb3Igc2ltcGxpZmllZCBpbmxpbmUgbGF5b3V0IGluIFJlbmRl
ckJsb2NrLmNwcC4KKyAgICAgICAgVG8gc3VwcG9ydCB0aGF0IG1vZGUsIHRoZXJlIGlzIGEgZW5k
T2ZJbmxpbmUgcG9pbnRlciB3aGljaCBrZWVwcyB0cmFjaworICAgICAgICBvZiBpZiB3ZSBqdXN0
IHJldHVybmVkIGF0IHRoZSBlbmQgb2YgYW4gaW5saW5lIHRvIHNvIHdlIGRvbid0IGdldCBzdHVj
ayBpbgorICAgICAgICBhbmQgZW1wdHkgaW5saW5lICh1bmFibGUgdG8gZGlzdGluZ3Vpc2ggdGhl
IHN0YXJ0IGZyb20gdGhlIGZpbmlzaCkuCisKKyAgICAgICAgVGhlIGFjdHVhbCBiaWRpL2xpbmUt
bGF5b3V0IGNvZGUgdXNlcyBiaWRpTmV4dC9iaWRpRmlyc3QgaW4gYSAic2tpcCBlbXB0eSBpbmxp
bmVzIgorICAgICAgICBtb2RlLiAgKFNpbmNlIGVtcHR5IGlubGluZXMgZG8gbm90IHBhcnRpY2lw
YXRlIGluIHRoZSBVbmljb2RlIEJpZGkgQWxnb3JpdGhtLikKKworICAgICAgICBUaGlzIGNoYW5n
ZSByZW5hbWVzIGJpZGlOZXh0IHRvIGJpZGlOZXh0U2hhcmVkIChzdGlsbCBhIGhvcnJpYmxlIG5h
bWUpIGFuZCBtb3ZlcworICAgICAgICBhbGwgY2FsbGVycyB0byBleHBsaWNpdGx5IGNhbGxpbmcg
YmlkaU5leHRTa2lwcGluZ0VtcHR5SW5saW5lcyBvciBiaWRpTmV4dEluY2x1ZGluZ0VtcHR5SW5s
aW5lcy4KKyAgICAgICAgSXQgYmVjb21lcyBvYnZpb3VzIHdoaWNoIGNvZGUgdXNlcyB3aGljaC4K
KworICAgICAgICBJbiByZXZpZXdpbmcgdGhpcyBjb2RlIGJlIGF3YXJlIHRoYXQgdGhlIHByZXZp
b3VzIGJpZGlOZXh0IGRlZmF1bHQgd2FzIHRvICJza2lwIGVtcHR5IGlubGluZXMiIChza2lwSW5s
aW5lcyA9IHRydWUpLgorICAgICAgICBUaHVzIGFueSBjYWxsZXIgd2hvIGRpZG4ndCBwYXNzIHRy
dWUvZmFsc2Ugc2hvdWxkIG5vdyBiZSBjYWxsaW5nIGJpZGlOZXh0U2tpcHBpbmdFbXB0eUlubGlu
ZXMgaW5zdGVhZC4KKworICAgICAgICBObyBmdW5jdGlvbmFsIGNoYW5nZSwgdGh1cyBubyB0ZXN0
cy4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2Vi
Q29yZTo6YmlkaU5leHRTaGFyZWQpOgorICAgICAgICAoV2ViQ29yZTo6YmlkaU5leHRTa2lwcGlu
Z0VtcHR5SW5saW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpiaWRpTmV4dEluY2x1ZGluZ0VtcHR5
SW5saW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5l
cyk6CisgICAgICAgIChXZWJDb3JlOjpiaWRpRmlyc3RJbmNsdWRpbmdFbXB0eUlubGluZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lV2Fsa2VyOjpJbmxpbmVXYWxrZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lV2Fsa2VyOjphZHZhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZUl0ZXJhdG9yOjppbmNyZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQmlkaVJlc29s
dmVyOjphcHBlbmRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmRldGVybWluZVN0YXJ0UG9z
aXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkU2tpcFdoaXRlc3BhY2VBZnRlclN0YXJ0
T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4
dExpbmVCcmVhayk6CisKIDIwMTEtMDgtMjIgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtjaHJvbWl1bV0gTWFrZSBjb21wb3NpdG9yIGNvbnRleHQgY3VycmVudCBi
ZWZvcmUgcXVlcnlpbmcgZm9yIGV4dGVuc2lvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUl0ZXJhdG9yLmgKaW5kZXggNTI0ODQxYTMzMGE4ZDcyODg2ZjhlNWU5ZWQ3NmE1OTI3ZmZh
NGE5Yi4uMWZjMDVkZDllYzhmNTlhNTY3MmZiMDE3MjA3OTJhZWQwNjkyZDc5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKQEAgLTEzOSwxMCArMTM5LDE2IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBpc0l0ZXJhdG9yVGFyZ2V0KFJlbmRlck9iamVjdCogb2JqZWN0
KQogICAgIHJldHVybiBvYmplY3QtPmlzVGV4dCgpIHx8IG9iamVjdC0+aXNGbG9hdGluZygpIHx8
IG9iamVjdC0+aXNQb3NpdGlvbmVkKCkgfHwgb2JqZWN0LT5pc1JlcGxhY2VkKCk7CiB9CiAKKy8v
IFRoaXMgZW51bSBpcyBvbmx5IHVzZWQgZm9yIGJpZGlOZXh0KCkKK2VudW0geworICAgIFNraXBF
bXB0eUlubGluZXMsCisgICAgSW5jbHVkZUVtcHR5SW5saW5lcywKK30gRW1wdHlJbmxpbmVCZWhh
dmlvcjsKKwogLy8gRklYTUU6IFRoaXMgZnVuY3Rpb24gaXMgbWlzbGVhZGluZ2x5IG5hbWVkLiBJ
dCBoYXMgbGl0dGxlIHRvIGRvIHdpdGggYmlkaS4KIC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBpdGVy
YXRlIG92ZXIgaW5saW5lcyB3aXRoaW4gYSBibG9jaywgb3B0aW9uYWxseSBub3RpZnlpbmcKIC8v
IGEgYmlkaSByZXNvbHZlciBhcyBpdCBlbnRlcnMvZXhpdHMgaW5saW5lcyAoc28gaXQgY2FuIHB1
c2gvcG9wIGVtYmVkZGluZyBsZXZlbHMpLgotc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3QqIGJp
ZGlOZXh0KFJlbmRlck9iamVjdCogcm9vdCwgUmVuZGVyT2JqZWN0KiBjdXJyZW50LCBJbmxpbmVC
aWRpUmVzb2x2ZXIqIHJlc29sdmVyID0gMCwgYm9vbCBza2lwSW5saW5lcyA9IHRydWUsIGJvb2wq
IGVuZE9mSW5saW5lUHRyID0gMCkKK3N0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRpTmV4
dFNoYXJlZChSZW5kZXJPYmplY3QqIHJvb3QsIFJlbmRlck9iamVjdCogY3VycmVudCwgSW5saW5l
QmlkaVJlc29sdmVyKiByZXNvbHZlciA9IDAsIEVtcHR5SW5saW5lQmVoYXZpb3IgZW1wdHlJbmxp
bmVCZWhhdmlvciA9IFNraXBFbXB0eUlubGluZXMsIGJvb2wqIGVuZE9mSW5saW5lUHRyID0gMCkK
IHsKICAgICBSZW5kZXJPYmplY3QqIG5leHQgPSAwOwogICAgIC8vIG9sZEVuZE9mSW5saW5lIGRl
bm90ZXMgaWYgd2hlbiB3ZSBsYXN0IHN0b3BwZWQgaXRlcmF0aW5nIGlmIHdlIHdlcmUgYXQgdGhl
IGVuZCBvZiBhbiBpbmxpbmUuCkBAIC0xNTksNyArMTY1LDcgQEAgc3RhdGljIGlubGluZSBSZW5k
ZXJPYmplY3QqIGJpZGlOZXh0KFJlbmRlck9iamVjdCogcm9vdCwgUmVuZGVyT2JqZWN0KiBjdXJy
ZW50LAogICAgICAgICAvLyBXZSBoaXQgdGhpcyB3aGVuIGVpdGhlciBjdXJyZW50IGhhcyBubyBj
aGlsZHJlbiwgb3Igd2hlbiBjdXJyZW50IGlzIG5vdCBhIHJlbmRlcmVyIHdlIGNhcmUgYWJvdXQu
CiAgICAgICAgIGlmICghbmV4dCkgewogICAgICAgICAgICAgLy8gSWYgaXQgaXMgYSByZW5kZXJl
ciB3ZSBjYXJlIGFib3V0LCBhbmQgd2UncmUgZG9pbmcgb3VyIGlubGluZS13YWxrLCByZXR1cm4g
aXQuCi0gICAgICAgICAgICBpZiAoIXNraXBJbmxpbmVzICYmICFvbGRFbmRPZklubGluZSAmJiBj
dXJyZW50LT5pc1JlbmRlcklubGluZSgpKSB7CisgICAgICAgICAgICBpZiAoZW1wdHlJbmxpbmVC
ZWhhdmlvciA9PSBJbmNsdWRlRW1wdHlJbmxpbmVzICYmICFvbGRFbmRPZklubGluZSAmJiBjdXJy
ZW50LT5pc1JlbmRlcklubGluZSgpKSB7CiAgICAgICAgICAgICAgICAgbmV4dCA9IGN1cnJlbnQ7
CiAgICAgICAgICAgICAgICAgZW5kT2ZJbmxpbmUgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtMTk5LDcgKzIwNSwxOSBAQCBzdGF0aWMgaW5saW5lIFJlbmRlck9iamVjdCogYmlk
aU5leHQoUmVuZGVyT2JqZWN0KiByb290LCBSZW5kZXJPYmplY3QqIGN1cnJlbnQsCiAgICAgcmV0
dXJuIG5leHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRpRmlyc3RTa2lw
cGluZ0lubGluZXMoUmVuZGVyT2JqZWN0KiByb290LCBJbmxpbmVCaWRpUmVzb2x2ZXIqIHJlc29s
dmVyKQorc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3QqIGJpZGlOZXh0U2tpcHBpbmdFbXB0eUlu
bGluZXMoUmVuZGVyT2JqZWN0KiByb290LCBSZW5kZXJPYmplY3QqIGN1cnJlbnQsIElubGluZUJp
ZGlSZXNvbHZlciogcmVzb2x2ZXIgPSAwKQoreworICAgIC8vIFRoZSBTa2lwRW1wdHlJbmxpbmVz
IGNhbGxlcnMgbmV2ZXIgY2FyZSBhYm91dCBlbmRPZklubGluZVB0ci4KKyAgICByZXR1cm4gYmlk
aU5leHRTaGFyZWQocm9vdCwgY3VycmVudCwgcmVzb2x2ZXIsIFNraXBFbXB0eUlubGluZXMpOwor
fQorCitzdGF0aWMgaW5saW5lIFJlbmRlck9iamVjdCogYmlkaU5leHRJbmNsdWRpbmdFbXB0eUlu
bGluZXMoUmVuZGVyT2JqZWN0KiByb290LCBSZW5kZXJPYmplY3QqIGN1cnJlbnQsIGJvb2wqIGVu
ZE9mSW5saW5lUHRyID0gMCkKK3sKKyAgICBJbmxpbmVCaWRpUmVzb2x2ZXIqIG9ic2VydmVyID0g
MDsgLy8gQ2FsbGVycyB3aG8gaW5jbHVkZSBlbXB0eSBpbmxpbmVzLCBuZXZlciB1c2UgYW4gb2Jz
ZXJ2ZXIuCisgICAgcmV0dXJuIGJpZGlOZXh0U2hhcmVkKHJvb3QsIGN1cnJlbnQsIEluY2x1ZGVF
bXB0eUlubGluZXMsIGVuZE9mSW5saW5lUHRyKTsKK30KKworc3RhdGljIGlubGluZSBSZW5kZXJP
YmplY3QqIGJpZGlGaXJzdFNraXBwaW5nRW1wdHlJbmxpbmVzKFJlbmRlck9iamVjdCogcm9vdCwg
SW5saW5lQmlkaVJlc29sdmVyKiByZXNvbHZlcikKIHsKICAgICBBU1NFUlQocmVzb2x2ZXIpOwog
ICAgIFJlbmRlck9iamVjdCogbyA9IHJvb3QtPmZpcnN0Q2hpbGQoKTsKQEAgLTIwOSw3ICsyMjcs
NyBAQCBzdGF0aWMgaW5saW5lIFJlbmRlck9iamVjdCogYmlkaUZpcnN0U2tpcHBpbmdJbmxpbmVz
KFJlbmRlck9iamVjdCogcm9vdCwgSW5saW5lQgogICAgIGlmIChvLT5pc1JlbmRlcklubGluZSgp
KSB7CiAgICAgICAgIG5vdGlmeVJlc29sdmVyRW50ZXJlZE9iamVjdChyZXNvbHZlciwgbyk7CiAg
ICAgICAgIGlmIChvLT5maXJzdENoaWxkKCkpCi0gICAgICAgICAgICBvID0gYmlkaU5leHQocm9v
dCwgbywgcmVzb2x2ZXIsIHRydWUpOworICAgICAgICAgICAgbyA9IGJpZGlOZXh0U2tpcHBpbmdF
bXB0eUlubGluZXMocm9vdCwgbywgcmVzb2x2ZXIpOwogICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIC8vIE5ldmVyIHNraXAgZW1wdHkgaW5saW5lcy4KICAgICAgICAgICAgIGlmIChyZXNvbHZl
cikKQEAgLTIyMCwxNCArMjM4LDE0IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRp
Rmlyc3RTa2lwcGluZ0lubGluZXMoUmVuZGVyT2JqZWN0KiByb290LCBJbmxpbmVCCiAKICAgICAv
LyBGSVhNRTogVW5pZnkgdGhpcyB3aXRoIHRoZSBiaWRpTmV4dCBjYWxsIGFib3ZlLgogICAgIGlm
IChvICYmICFpc0l0ZXJhdG9yVGFyZ2V0KG8pKQotICAgICAgICBvID0gYmlkaU5leHQocm9vdCwg
bywgcmVzb2x2ZXIsIHRydWUpOworICAgICAgICBvID0gYmlkaU5leHRTa2lwcGluZ0VtcHR5SW5s
aW5lcyhyb290LCBvLCByZXNvbHZlcik7CiAKICAgICByZXNvbHZlci0+Y29tbWl0RXhwbGljaXRF
bWJlZGRpbmcoKTsKICAgICByZXR1cm4gbzsKIH0KIAogLy8gRklYTUU6IFRoaXMgbWV0aG9kIG5l
ZWRzIHRvIGJlIHJlbmFtZWQgd2hlbiBiaWRpTmV4dCBmaW5kcyBhIGdvb2QgbmFtZS4KLXN0YXRp
YyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRpRmlyc3ROb3RTa2lwcGluZ0lubGluZXMoUmVuZGVy
T2JqZWN0KiByb290KQorc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3QqIGJpZGlGaXJzdEluY2x1
ZGluZ0VtcHR5SW5saW5lcyhSZW5kZXJPYmplY3QqIHJvb3QpCiB7CiAgICAgUmVuZGVyT2JqZWN0
KiBvID0gcm9vdC0+Zmlyc3RDaGlsZCgpOwogICAgIC8vIElmIGVpdGhlciB0aGVyZSBhcmUgbm8g
Y2hpbGRyZW4gdG8gd2Fsaywgb3IgdGhlIGZpcnN0IG9uZSBpcyBjb3JyZWN0CkBAIC0yMzUsNyAr
MjUzLDcgQEAgc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3QqIGJpZGlGaXJzdE5vdFNraXBwaW5n
SW5saW5lcyhSZW5kZXJPYmplY3QqIHJvb3QpCiAgICAgaWYgKCFvIHx8IG8tPmlzUmVuZGVySW5s
aW5lKCkgfHwgaXNJdGVyYXRvclRhcmdldChvKSkKICAgICAgICAgcmV0dXJuIG87CiAKLSAgICBy
ZXR1cm4gYmlkaU5leHQocm9vdCwgbywgMCwgZmFsc2UpOworICAgIHJldHVybiBiaWRpTmV4dElu
Y2x1ZGluZ0VtcHR5SW5saW5lcyhyb290LCBvKTsKIH0KIAogaW5saW5lIHZvaWQgSW5saW5lSXRl
cmF0b3I6OmZhc3RJbmNyZW1lbnRJblRleHROb2RlKCkKQEAgLTI0Niw2ICsyNjQsOCBAQCBpbmxp
bmUgdm9pZCBJbmxpbmVJdGVyYXRvcjo6ZmFzdEluY3JlbWVudEluVGV4dE5vZGUoKQogICAgIG1f
cG9zKys7CiB9CiAKKy8vIEZJWE1FOiBUaGlzIGlzIHVzZWQgYnkgUmVuZGVyQmxvY2sgZm9yIHNp
bXBsaWZpZWQgbGF5b3V0LCBhbmQgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBiaWRpCisvLyBpdCBz
aG91bGRuJ3QgdXNlIGZ1bmN0aW9ucyBjYWxsZWQgYmlkaUZpcnN0IGFuZCBiaWRpTmV4dC4KIGNs
YXNzIElubGluZVdhbGtlciB7CiBwdWJsaWM6CiAgICAgSW5saW5lV2Fsa2VyKFJlbmRlck9iamVj
dCogcm9vdCkKQEAgLTI1Myw4ICsyNzMsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jdXJyZW50
KDApCiAgICAgICAgICwgbV9hdEVuZE9mSW5saW5lKGZhbHNlKQogICAgIHsKLSAgICAgICAgLy8g
RklYTUU6IFRoaXMgY2xhc3Mgc2hvdWxkIGJlIHRhdWdodCBob3cgdG8gZG8gdGhlIHNraXBJbmxp
bmVzIGNvZGVwYXRoIGFzIHdlbGwuCi0gICAgICAgIG1fY3VycmVudCA9IGJpZGlGaXJzdE5vdFNr
aXBwaW5nSW5saW5lcyhtX3Jvb3QpOworICAgICAgICAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91
bGQgYmUgdGF1Z2h0IGhvdyB0byBkbyB0aGUgU2tpcEVtcHR5SW5saW5lcyBjb2RlcGF0aCBhcyB3
ZWxsLgorICAgICAgICBtX2N1cnJlbnQgPSBiaWRpRmlyc3RJbmNsdWRpbmdFbXB0eUlubGluZXMo
bV9yb290KTsKICAgICB9CiAKICAgICBSZW5kZXJPYmplY3QqIHJvb3QoKSB7IHJldHVybiBtX3Jv
b3Q7IH0KQEAgLTI2NSwxNiArMjg1LDEzIEBAIHB1YmxpYzoKIAogICAgIFJlbmRlck9iamVjdCog
YWR2YW5jZSgpCiAgICAgewotICAgICAgICAvLyBGSVhNRTogRXZlbnR1YWxseSBza2lwSW5saW5l
cyBhbmQgb2JzZXJ2ZXIgd2lsbCBiZSBhIG1lbWJlcnMuCi0gICAgICAgIGJvb2wgc2tpcElubGlu
ZXMgPSBmYWxzZTsKLSAgICAgICAgSW5saW5lQmlkaVJlc29sdmVyKiBvYnNlcnZlciA9IDA7Ci0g
ICAgICAgIG1fY3VycmVudCA9IGJpZGlOZXh0KG1fcm9vdCwgbV9jdXJyZW50LCBvYnNlcnZlciwg
c2tpcElubGluZXMsICZtX2F0RW5kT2ZJbmxpbmUpOworICAgICAgICAvLyBGSVhNRTogU3VwcG9y
dCBTa2lwRW1wdHlJbmxpbmVzIGFuZCBvYnNlcnZlciBwYXJhbWV0ZXJzLgorICAgICAgICBtX2N1
cnJlbnQgPSBiaWRpTmV4dEluY2x1ZGluZ0VtcHR5SW5saW5lcyhtX3Jvb3QsIG1fY3VycmVudCwg
Jm1fYXRFbmRPZklubGluZSk7CiAgICAgICAgIHJldHVybiBtX2N1cnJlbnQ7CiAgICAgfQogcHJp
dmF0ZToKICAgICBSZW5kZXJPYmplY3QqIG1fcm9vdDsKICAgICBSZW5kZXJPYmplY3QqIG1fY3Vy
cmVudDsKLSAgICBib29sIG1fc2tpcElubGluZXM7CiAgICAgYm9vbCBtX2F0RW5kT2ZJbmxpbmU7
CiB9OwogCkBAIC0yODgsNyArMzA1LDcgQEAgaW5saW5lIHZvaWQgSW5saW5lSXRlcmF0b3I6Omlu
Y3JlbWVudChJbmxpbmVCaWRpUmVzb2x2ZXIqIHJlc29sdmVyKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICAvLyBiaWRpTmV4dCBjYW4gcmV0dXJuIDAsIHNvIHVzZSBtb3ZlVG8gaW5z
dGVhZCBvZiBtb3ZlVG9TdGFydE9mCi0gICAgbW92ZVRvKGJpZGlOZXh0KG1fcm9vdCwgbV9vYmos
IHJlc29sdmVyKSwgMCk7CisgICAgbW92ZVRvKGJpZGlOZXh0U2tpcHBpbmdFbXB0eUlubGluZXMo
bV9yb290LCBtX29iaiwgcmVzb2x2ZXIpLCAwKTsKIH0KIAogaW5saW5lIGJvb2wgSW5saW5lSXRl
cmF0b3I6OmF0RW5kKCkgY29uc3QKQEAgLTM0Myw3ICszNjAsNyBAQCBpbmxpbmUgdm9pZCBJbmxp
bmVCaWRpUmVzb2x2ZXI6OmFwcGVuZFJ1bigpCiAgICAgICAgIHdoaWxlIChvYmogJiYgb2JqICE9
IG1fZW9yLm1fb2JqICYmIG9iaiAhPSBlbmRPZkxpbmUubV9vYmopIHsKICAgICAgICAgICAgIFJl
bmRlckJsb2NrOjphcHBlbmRSdW5zRm9yT2JqZWN0KG1fcnVucywgc3RhcnQsIG9iai0+bGVuZ3Ro
KCksIG9iaiwgKnRoaXMpOwogICAgICAgICAgICAgc3RhcnQgPSAwOwotICAgICAgICAgICAgb2Jq
ID0gYmlkaU5leHQobV9zb3Iucm9vdCgpLCBvYmopOworICAgICAgICAgICAgb2JqID0gYmlkaU5l
eHRTa2lwcGluZ0VtcHR5SW5saW5lcyhtX3Nvci5yb290KCksIG9iaik7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKG9iaikgewogICAgICAgICAgICAgdW5zaWduZWQgcG9zID0gb2JqID09IG1fZW9y
Lm1fb2JqID8gbV9lb3IubV9wb3MgOiBVSU5UX01BWDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5kZXggMmQyZjQyYjFjODhhNzBj
ZjZhMzNlM2MwNTI4OGRhODY0MGRiMjY0My4uMmI3OGI3ZWFiNjE5MjNhNjA2NWEzZTczYjE3MzFh
NDI3ZThkMjZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAKQEAgLTE0MjcsOCArMTQyNywxMCBAQCBSb290SW5saW5lQm94KiBS
ZW5kZXJCbG9jazo6ZGV0ZXJtaW5lU3RhcnRQb3NpdGlvbihMaW5lTGF5b3V0U3RhdGUmIGxheW91
dFN0YXRlLAogICAgICAgICByZXNvbHZlci5zZXRTdGF0dXMobGFzdC0+bGluZUJyZWFrQmlkaVN0
YXR1cygpKTsKICAgICB9IGVsc2UgewogICAgICAgICBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9
IHN0eWxlKCktPmRpcmVjdGlvbigpOwotICAgICAgICBpZiAoc3R5bGUoKS0+dW5pY29kZUJpZGko
KSA9PSBQbGFpbnRleHQpCi0gICAgICAgICAgICBkZXRlcm1pbmVQYXJhZ3JhcGhEaXJlY3Rpb24o
ZGlyZWN0aW9uLCBJbmxpbmVJdGVyYXRvcih0aGlzLCBiaWRpRmlyc3ROb3RTa2lwcGluZ0lubGlu
ZXModGhpcyksIDApKTsKKyAgICAgICAgaWYgKHN0eWxlKCktPnVuaWNvZGVCaWRpKCkgPT0gUGxh
aW50ZXh0KSB7CisgICAgICAgICAgICAvLyBGSVhNRTogV2h5IGRvZXMgdGhpcyB1c2UgYmlkaUZp
cnN0SW5jbHVkaW5nRW1wdHlJbmxpbmVzIHdoZW4gYWxsIG90aGVyIGxpbmUgbGF5b3V0IGNvZGUg
dXNlcyBiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcz8KKyAgICAgICAgICAgIGRldGVybWlu
ZVBhcmFncmFwaERpcmVjdGlvbihkaXJlY3Rpb24sIElubGluZUl0ZXJhdG9yKHRoaXMsIGJpZGlG
aXJzdEluY2x1ZGluZ0VtcHR5SW5saW5lcyh0aGlzKSwgMCkpOworICAgICAgICB9CiAgICAgICAg
IHJlc29sdmVyLnNldFN0YXR1cyhCaWRpU3RhdHVzKGRpcmVjdGlvbiwgc3R5bGUoKS0+dW5pY29k
ZUJpZGkoKSA9PSBPdmVycmlkZSkpOwogICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihJbmxp
bmVJdGVyYXRvcih0aGlzLCBiaWRpRmlyc3RTa2lwcGluZ0lubGluZXModGhpcywgJnJlc29sdmVy
KSwgMCkpOwogICAgIH0KQEAgLTE2NDYsNyArMTY0OCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6Okxp
bmVCcmVha2VyOjpza2lwTGVhZGluZ1doaXRlc3BhY2UoSW5saW5lQmlkaVJlc29sdmVyJiByZXNv
bHZlCiAvLyBoYXZlIGFuIGVmZmVjdCBvbiB3aGl0ZXNwYWNlIGF0IHRoZSBzdGFydCBvZiB0aGUg
bGluZS4KIHN0YXRpYyBib29sIHNob3VsZFNraXBXaGl0ZXNwYWNlQWZ0ZXJTdGFydE9iamVjdChS
ZW5kZXJCbG9jayogYmxvY2ssIFJlbmRlck9iamVjdCogbywgTGluZU1pZHBvaW50U3RhdGUmIGxp
bmVNaWRwb2ludFN0YXRlKQogewotICAgIFJlbmRlck9iamVjdCogbmV4dCA9IGJpZGlOZXh0KGJs
b2NrLCBvKTsKKyAgICBSZW5kZXJPYmplY3QqIG5leHQgPSBiaWRpTmV4dFNraXBwaW5nRW1wdHlJ
bmxpbmVzKGJsb2NrLCBvKTsKICAgICBpZiAobmV4dCAmJiAhbmV4dC0+aXNCUigpICYmIG5leHQt
PmlzVGV4dCgpICYmIHRvUmVuZGVyVGV4dChuZXh0KS0+dGV4dExlbmd0aCgpID4gMCkgewogICAg
ICAgICBSZW5kZXJUZXh0KiBuZXh0VGV4dCA9IHRvUmVuZGVyVGV4dChuZXh0KTsKICAgICAgICAg
VUNoYXIgbmV4dENoYXIgPSBuZXh0VGV4dC0+Y2hhcmFjdGVycygpWzBdOwpAQCAtMTk4Myw3ICsx
OTg1LDcgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OkxpbmVCcmVha2VyOjpuZXh0TGlu
ZUJyZWFrKElubGluZUJpZGlSZXNvbHZlciYgcmVzb2wKICAgICBFV2hpdGVTcGFjZSBjdXJyV1Mg
PSBtX2Jsb2NrLT5zdHlsZSgpLT53aGl0ZVNwYWNlKCk7CiAgICAgRVdoaXRlU3BhY2UgbGFzdFdT
ID0gY3VycldTOwogICAgIHdoaWxlIChjdXJyZW50Lm1fb2JqKSB7Ci0gICAgICAgIFJlbmRlck9i
amVjdCogbmV4dCA9IGJpZGlOZXh0KG1fYmxvY2ssIGN1cnJlbnQubV9vYmopOworICAgICAgICBS
ZW5kZXJPYmplY3QqIG5leHQgPSBiaWRpTmV4dFNraXBwaW5nRW1wdHlJbmxpbmVzKG1fYmxvY2ss
IGN1cnJlbnQubV9vYmopOwogICAgICAgICBpZiAobmV4dCAmJiBuZXh0LT5wYXJlbnQoKSAmJiAh
bmV4dC0+cGFyZW50KCktPmlzRGVzY2VuZGFudE9mKGN1cnJlbnQubV9vYmotPnBhcmVudCgpKSkK
ICAgICAgICAgICAgIGluY2x1ZGVFbmRXaWR0aCA9IHRydWU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104750</attachid>
            <date>2011-08-22 15:17:43 -0700</date>
            <delta_ts>2011-08-22 16:34:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66721-20110822151742.patch</filename>
            <type>text/plain</type>
            <size>12659</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM1NDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNGVhNTk4Yjk5YWJhMWYz
NjY5NWQ3Y2IzMTk5ODRhYzhhNDlkMTI4Li5lZDhjZmM5MTVlMDM0OTQ2MWYyZmZhYjYzYzc3NWFl
ODNjNWU5Y2ZiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTEtMDgtMjIgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIEF0dGVtcHQgdG8gY2xlYW4gdXAg
YmlkaU5leHQgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2NzIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgYmlkaU5leHQgYW5kIGJpZGlGaXJzdCBhcmUgaG9ycmlibHkgY29uZnVzaW5nLgorICAg
ICAgICBFdmVuIHdvcnNlIGlzIHRoYXQgYmlkaU5leHQgdGFrZXMgYSBidW5jaCBvZiBtdXR1YWxs
eSBleGNsdXNpdmUgb3B0aW9ucy4KKyAgICAgICAgSXQgYXBwZWFycyB0aGF0IHRoZXJlIGlzIGEg
InJldHVybiBtZSBldmVyeSBpbmxpbmUsIGV2ZW4gaWYgaXRzIGVtcHR5IgorICAgICAgICBtb2Rl
IHdoaWNoIGlzIG9ubHkgdXNlZCBmb3Igc2ltcGxpZmllZCBpbmxpbmUgbGF5b3V0IGluIFJlbmRl
ckJsb2NrLmNwcC4KKyAgICAgICAgVG8gc3VwcG9ydCB0aGF0IG1vZGUsIHRoZXJlIGlzIGEgZW5k
T2ZJbmxpbmUgcG9pbnRlciB3aGljaCBrZWVwcyB0cmFjaworICAgICAgICBvZiBpZiB3ZSBqdXN0
IHJldHVybmVkIGF0IHRoZSBlbmQgb2YgYW4gaW5saW5lIHRvIHNvIHdlIGRvbid0IGdldCBzdHVj
ayBpbgorICAgICAgICBhbmQgZW1wdHkgaW5saW5lICh1bmFibGUgdG8gZGlzdGluZ3Vpc2ggdGhl
IHN0YXJ0IGZyb20gdGhlIGZpbmlzaCkuCisKKyAgICAgICAgVGhlIGFjdHVhbCBiaWRpL2xpbmUt
bGF5b3V0IGNvZGUgdXNlcyBiaWRpTmV4dC9iaWRpRmlyc3QgaW4gYSAic2tpcCBlbXB0eSBpbmxp
bmVzIgorICAgICAgICBtb2RlLiAgKFNpbmNlIGVtcHR5IGlubGluZXMgZG8gbm90IHBhcnRpY2lw
YXRlIGluIHRoZSBVbmljb2RlIEJpZGkgQWxnb3JpdGhtLikKKworICAgICAgICBUaGlzIGNoYW5n
ZSByZW5hbWVzIGJpZGlOZXh0IHRvIGJpZGlOZXh0U2hhcmVkIChzdGlsbCBhIGhvcnJpYmxlIG5h
bWUpIGFuZCBtb3ZlcworICAgICAgICBhbGwgY2FsbGVycyB0byBleHBsaWNpdGx5IGNhbGxpbmcg
YmlkaU5leHRTa2lwcGluZ0VtcHR5SW5saW5lcyBvciBiaWRpTmV4dEluY2x1ZGluZ0VtcHR5SW5s
aW5lcy4KKyAgICAgICAgSXQgYmVjb21lcyBvYnZpb3VzIHdoaWNoIGNvZGUgdXNlcyB3aGljaC4K
KworICAgICAgICBJbiByZXZpZXdpbmcgdGhpcyBjb2RlIGJlIGF3YXJlIHRoYXQgdGhlIHByZXZp
b3VzIGJpZGlOZXh0IGRlZmF1bHQgd2FzIHRvICJza2lwIGVtcHR5IGlubGluZXMiIChza2lwSW5s
aW5lcyA9IHRydWUpLgorICAgICAgICBUaHVzIGFueSBjYWxsZXIgd2hvIGRpZG4ndCBwYXNzIHRy
dWUvZmFsc2Ugc2hvdWxkIG5vdyBiZSBjYWxsaW5nIGJpZGlOZXh0U2tpcHBpbmdFbXB0eUlubGlu
ZXMgaW5zdGVhZC4KKworICAgICAgICBObyBmdW5jdGlvbmFsIGNoYW5nZSwgdGh1cyBubyB0ZXN0
cy4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2Vi
Q29yZTo6YmlkaU5leHRTaGFyZWQpOgorICAgICAgICAoV2ViQ29yZTo6YmlkaU5leHRTa2lwcGlu
Z0VtcHR5SW5saW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpiaWRpTmV4dEluY2x1ZGluZ0VtcHR5
SW5saW5lcyk6CisgICAgICAgIChXZWJDb3JlOjpiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5l
cyk6CisgICAgICAgIChXZWJDb3JlOjpiaWRpRmlyc3RJbmNsdWRpbmdFbXB0eUlubGluZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lV2Fsa2VyOjpJbmxpbmVXYWxrZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lV2Fsa2VyOjphZHZhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZUl0ZXJhdG9yOjppbmNyZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQmlkaVJlc29s
dmVyOjphcHBlbmRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmRldGVybWluZVN0YXJ0UG9z
aXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkU2tpcFdoaXRlc3BhY2VBZnRlclN0YXJ0
T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpMaW5lQnJlYWtlcjo6bmV4
dExpbmVCcmVhayk6CisKIDIwMTEtMDgtMjIgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtjaHJvbWl1bV0gTWFrZSBjb21wb3NpdG9yIGNvbnRleHQgY3VycmVudCBi
ZWZvcmUgcXVlcnlpbmcgZm9yIGV4dGVuc2lvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUl0ZXJhdG9yLmgKaW5kZXggNTI0ODQxYTMzMGE4ZDcyODg2ZjhlNWU5ZWQ3NmE1OTI3ZmZh
NGE5Yi4uYWY1MmVhNGJlZTZkMzQ1Mzk2MzM4NDY0Y2Y0ODNhZTBhZDRkMTUzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmgKQEAgLTEzOSwxMCArMTM5LDE2IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBpc0l0ZXJhdG9yVGFyZ2V0KFJlbmRlck9iamVjdCogb2JqZWN0
KQogICAgIHJldHVybiBvYmplY3QtPmlzVGV4dCgpIHx8IG9iamVjdC0+aXNGbG9hdGluZygpIHx8
IG9iamVjdC0+aXNQb3NpdGlvbmVkKCkgfHwgb2JqZWN0LT5pc1JlcGxhY2VkKCk7CiB9CiAKKy8v
IFRoaXMgZW51bSBpcyBvbmx5IHVzZWQgZm9yIGJpZGlOZXh0U2hhcmVkKCkKK2VudW0gRW1wdHlJ
bmxpbmVCZWhhdmlvciB7CisgICAgU2tpcEVtcHR5SW5saW5lcywKKyAgICBJbmNsdWRlRW1wdHlJ
bmxpbmVzLAorfTsKKwogLy8gRklYTUU6IFRoaXMgZnVuY3Rpb24gaXMgbWlzbGVhZGluZ2x5IG5h
bWVkLiBJdCBoYXMgbGl0dGxlIHRvIGRvIHdpdGggYmlkaS4KIC8vIFRoaXMgZnVuY3Rpb24gd2ls
bCBpdGVyYXRlIG92ZXIgaW5saW5lcyB3aXRoaW4gYSBibG9jaywgb3B0aW9uYWxseSBub3RpZnlp
bmcKIC8vIGEgYmlkaSByZXNvbHZlciBhcyBpdCBlbnRlcnMvZXhpdHMgaW5saW5lcyAoc28gaXQg
Y2FuIHB1c2gvcG9wIGVtYmVkZGluZyBsZXZlbHMpLgotc3RhdGljIGlubGluZSBSZW5kZXJPYmpl
Y3QqIGJpZGlOZXh0KFJlbmRlck9iamVjdCogcm9vdCwgUmVuZGVyT2JqZWN0KiBjdXJyZW50LCBJ
bmxpbmVCaWRpUmVzb2x2ZXIqIHJlc29sdmVyID0gMCwgYm9vbCBza2lwSW5saW5lcyA9IHRydWUs
IGJvb2wqIGVuZE9mSW5saW5lUHRyID0gMCkKK3N0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBi
aWRpTmV4dFNoYXJlZChSZW5kZXJPYmplY3QqIHJvb3QsIFJlbmRlck9iamVjdCogY3VycmVudCwg
SW5saW5lQmlkaVJlc29sdmVyKiByZXNvbHZlciA9IDAsIEVtcHR5SW5saW5lQmVoYXZpb3IgZW1w
dHlJbmxpbmVCZWhhdmlvciA9IFNraXBFbXB0eUlubGluZXMsIGJvb2wqIGVuZE9mSW5saW5lUHRy
ID0gMCkKIHsKICAgICBSZW5kZXJPYmplY3QqIG5leHQgPSAwOwogICAgIC8vIG9sZEVuZE9mSW5s
aW5lIGRlbm90ZXMgaWYgd2hlbiB3ZSBsYXN0IHN0b3BwZWQgaXRlcmF0aW5nIGlmIHdlIHdlcmUg
YXQgdGhlIGVuZCBvZiBhbiBpbmxpbmUuCkBAIC0xNTksNyArMTY1LDcgQEAgc3RhdGljIGlubGlu
ZSBSZW5kZXJPYmplY3QqIGJpZGlOZXh0KFJlbmRlck9iamVjdCogcm9vdCwgUmVuZGVyT2JqZWN0
KiBjdXJyZW50LAogICAgICAgICAvLyBXZSBoaXQgdGhpcyB3aGVuIGVpdGhlciBjdXJyZW50IGhh
cyBubyBjaGlsZHJlbiwgb3Igd2hlbiBjdXJyZW50IGlzIG5vdCBhIHJlbmRlcmVyIHdlIGNhcmUg
YWJvdXQuCiAgICAgICAgIGlmICghbmV4dCkgewogICAgICAgICAgICAgLy8gSWYgaXQgaXMgYSBy
ZW5kZXJlciB3ZSBjYXJlIGFib3V0LCBhbmQgd2UncmUgZG9pbmcgb3VyIGlubGluZS13YWxrLCBy
ZXR1cm4gaXQuCi0gICAgICAgICAgICBpZiAoIXNraXBJbmxpbmVzICYmICFvbGRFbmRPZklubGlu
ZSAmJiBjdXJyZW50LT5pc1JlbmRlcklubGluZSgpKSB7CisgICAgICAgICAgICBpZiAoZW1wdHlJ
bmxpbmVCZWhhdmlvciA9PSBJbmNsdWRlRW1wdHlJbmxpbmVzICYmICFvbGRFbmRPZklubGluZSAm
JiBjdXJyZW50LT5pc1JlbmRlcklubGluZSgpKSB7CiAgICAgICAgICAgICAgICAgbmV4dCA9IGN1
cnJlbnQ7CiAgICAgICAgICAgICAgICAgZW5kT2ZJbmxpbmUgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtMTc1LDcgKzE4MSw3IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0
KiBiaWRpTmV4dChSZW5kZXJPYmplY3QqIHJvb3QsIFJlbmRlck9iamVjdCogY3VycmVudCwKICAg
ICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBjdXJyZW50ID0gY3VycmVudC0+cGFy
ZW50KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFza2lwSW5saW5lcyAmJiBjdXJyZW50ICYmIGN1
cnJlbnQgIT0gcm9vdCAmJiBjdXJyZW50LT5pc1JlbmRlcklubGluZSgpKSB7CisgICAgICAgICAg
ICAgICAgaWYgKGVtcHR5SW5saW5lQmVoYXZpb3IgPT0gSW5jbHVkZUVtcHR5SW5saW5lcyAmJiBj
dXJyZW50ICYmIGN1cnJlbnQgIT0gcm9vdCAmJiBjdXJyZW50LT5pc1JlbmRlcklubGluZSgpKSB7
CiAgICAgICAgICAgICAgICAgICAgIG5leHQgPSBjdXJyZW50OwogICAgICAgICAgICAgICAgICAg
ICBlbmRPZklubGluZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTg3
LDcgKzE5Myw3IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRpTmV4dChSZW5kZXJP
YmplY3QqIHJvb3QsIFJlbmRlck9iamVjdCogY3VycmVudCwKICAgICAgICAgICAgIGJyZWFrOwog
CiAgICAgICAgIGlmIChpc0l0ZXJhdG9yVGFyZ2V0KG5leHQpCi0gICAgICAgICAgICB8fCAoKCFz
a2lwSW5saW5lcyB8fCAhbmV4dC0+Zmlyc3RDaGlsZCgpKSAvLyBBbHdheXMgcmV0dXJuIEVNUFRZ
IGlubGluZXMuCisgICAgICAgICAgICB8fCAoKGVtcHR5SW5saW5lQmVoYXZpb3IgPT0gSW5jbHVk
ZUVtcHR5SW5saW5lcyB8fCAhbmV4dC0+Zmlyc3RDaGlsZCgpKSAvLyBBbHdheXMgcmV0dXJuIEVN
UFRZIGlubGluZXMuCiAgICAgICAgICAgICAgICAgJiYgbmV4dC0+aXNSZW5kZXJJbmxpbmUoKSkp
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY3VycmVudCA9IG5leHQ7CkBAIC0xOTksNyAr
MjA1LDE5IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRpTmV4dChSZW5kZXJPYmpl
Y3QqIHJvb3QsIFJlbmRlck9iamVjdCogY3VycmVudCwKICAgICByZXR1cm4gbmV4dDsKIH0KIAot
c3RhdGljIGlubGluZSBSZW5kZXJPYmplY3QqIGJpZGlGaXJzdFNraXBwaW5nSW5saW5lcyhSZW5k
ZXJPYmplY3QqIHJvb3QsIElubGluZUJpZGlSZXNvbHZlciogcmVzb2x2ZXIpCitzdGF0aWMgaW5s
aW5lIFJlbmRlck9iamVjdCogYmlkaU5leHRTa2lwcGluZ0VtcHR5SW5saW5lcyhSZW5kZXJPYmpl
Y3QqIHJvb3QsIFJlbmRlck9iamVjdCogY3VycmVudCwgSW5saW5lQmlkaVJlc29sdmVyKiBvYnNl
cnZlciA9IDApCit7CisgICAgLy8gVGhlIFNraXBFbXB0eUlubGluZXMgY2FsbGVycyBuZXZlciBj
YXJlIGFib3V0IGVuZE9mSW5saW5lUHRyLgorICAgIHJldHVybiBiaWRpTmV4dFNoYXJlZChyb290
LCBjdXJyZW50LCBvYnNlcnZlciwgU2tpcEVtcHR5SW5saW5lcyk7Cit9CisKK3N0YXRpYyBpbmxp
bmUgUmVuZGVyT2JqZWN0KiBiaWRpTmV4dEluY2x1ZGluZ0VtcHR5SW5saW5lcyhSZW5kZXJPYmpl
Y3QqIHJvb3QsIFJlbmRlck9iamVjdCogY3VycmVudCwgYm9vbCogZW5kT2ZJbmxpbmVQdHIgPSAw
KQoreworICAgIElubGluZUJpZGlSZXNvbHZlciogb2JzZXJ2ZXIgPSAwOyAvLyBDYWxsZXJzIHdo
byBpbmNsdWRlIGVtcHR5IGlubGluZXMsIG5ldmVyIHVzZSBhbiBvYnNlcnZlci4KKyAgICByZXR1
cm4gYmlkaU5leHRTaGFyZWQocm9vdCwgY3VycmVudCwgb2JzZXJ2ZXIsIEluY2x1ZGVFbXB0eUlu
bGluZXMsIGVuZE9mSW5saW5lUHRyKTsKK30KKworc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3Qq
IGJpZGlGaXJzdFNraXBwaW5nRW1wdHlJbmxpbmVzKFJlbmRlck9iamVjdCogcm9vdCwgSW5saW5l
QmlkaVJlc29sdmVyKiByZXNvbHZlcikKIHsKICAgICBBU1NFUlQocmVzb2x2ZXIpOwogICAgIFJl
bmRlck9iamVjdCogbyA9IHJvb3QtPmZpcnN0Q2hpbGQoKTsKQEAgLTIwOSw3ICsyMjcsNyBAQCBz
dGF0aWMgaW5saW5lIFJlbmRlck9iamVjdCogYmlkaUZpcnN0U2tpcHBpbmdJbmxpbmVzKFJlbmRl
ck9iamVjdCogcm9vdCwgSW5saW5lQgogICAgIGlmIChvLT5pc1JlbmRlcklubGluZSgpKSB7CiAg
ICAgICAgIG5vdGlmeVJlc29sdmVyRW50ZXJlZE9iamVjdChyZXNvbHZlciwgbyk7CiAgICAgICAg
IGlmIChvLT5maXJzdENoaWxkKCkpCi0gICAgICAgICAgICBvID0gYmlkaU5leHQocm9vdCwgbywg
cmVzb2x2ZXIsIHRydWUpOworICAgICAgICAgICAgbyA9IGJpZGlOZXh0U2tpcHBpbmdFbXB0eUlu
bGluZXMocm9vdCwgbywgcmVzb2x2ZXIpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIC8v
IE5ldmVyIHNraXAgZW1wdHkgaW5saW5lcy4KICAgICAgICAgICAgIGlmIChyZXNvbHZlcikKQEAg
LTIyMCwxNCArMjM4LDE0IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBiaWRpRmlyc3RT
a2lwcGluZ0lubGluZXMoUmVuZGVyT2JqZWN0KiByb290LCBJbmxpbmVCCiAKICAgICAvLyBGSVhN
RTogVW5pZnkgdGhpcyB3aXRoIHRoZSBiaWRpTmV4dCBjYWxsIGFib3ZlLgogICAgIGlmIChvICYm
ICFpc0l0ZXJhdG9yVGFyZ2V0KG8pKQotICAgICAgICBvID0gYmlkaU5leHQocm9vdCwgbywgcmVz
b2x2ZXIsIHRydWUpOworICAgICAgICBvID0gYmlkaU5leHRTa2lwcGluZ0VtcHR5SW5saW5lcyhy
b290LCBvLCByZXNvbHZlcik7CiAKICAgICByZXNvbHZlci0+Y29tbWl0RXhwbGljaXRFbWJlZGRp
bmcoKTsKICAgICByZXR1cm4gbzsKIH0KIAogLy8gRklYTUU6IFRoaXMgbWV0aG9kIG5lZWRzIHRv
IGJlIHJlbmFtZWQgd2hlbiBiaWRpTmV4dCBmaW5kcyBhIGdvb2QgbmFtZS4KLXN0YXRpYyBpbmxp
bmUgUmVuZGVyT2JqZWN0KiBiaWRpRmlyc3ROb3RTa2lwcGluZ0lubGluZXMoUmVuZGVyT2JqZWN0
KiByb290KQorc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3QqIGJpZGlGaXJzdEluY2x1ZGluZ0Vt
cHR5SW5saW5lcyhSZW5kZXJPYmplY3QqIHJvb3QpCiB7CiAgICAgUmVuZGVyT2JqZWN0KiBvID0g
cm9vdC0+Zmlyc3RDaGlsZCgpOwogICAgIC8vIElmIGVpdGhlciB0aGVyZSBhcmUgbm8gY2hpbGRy
ZW4gdG8gd2Fsaywgb3IgdGhlIGZpcnN0IG9uZSBpcyBjb3JyZWN0CkBAIC0yMzUsNyArMjUzLDcg
QEAgc3RhdGljIGlubGluZSBSZW5kZXJPYmplY3QqIGJpZGlGaXJzdE5vdFNraXBwaW5nSW5saW5l
cyhSZW5kZXJPYmplY3QqIHJvb3QpCiAgICAgaWYgKCFvIHx8IG8tPmlzUmVuZGVySW5saW5lKCkg
fHwgaXNJdGVyYXRvclRhcmdldChvKSkKICAgICAgICAgcmV0dXJuIG87CiAKLSAgICByZXR1cm4g
YmlkaU5leHQocm9vdCwgbywgMCwgZmFsc2UpOworICAgIHJldHVybiBiaWRpTmV4dEluY2x1ZGlu
Z0VtcHR5SW5saW5lcyhyb290LCBvKTsKIH0KIAogaW5saW5lIHZvaWQgSW5saW5lSXRlcmF0b3I6
OmZhc3RJbmNyZW1lbnRJblRleHROb2RlKCkKQEAgLTI0Niw2ICsyNjQsOCBAQCBpbmxpbmUgdm9p
ZCBJbmxpbmVJdGVyYXRvcjo6ZmFzdEluY3JlbWVudEluVGV4dE5vZGUoKQogICAgIG1fcG9zKys7
CiB9CiAKKy8vIEZJWE1FOiBUaGlzIGlzIHVzZWQgYnkgUmVuZGVyQmxvY2sgZm9yIHNpbXBsaWZp
ZWQgbGF5b3V0LCBhbmQgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBiaWRpCisvLyBpdCBzaG91bGRu
J3QgdXNlIGZ1bmN0aW9ucyBjYWxsZWQgYmlkaUZpcnN0IGFuZCBiaWRpTmV4dC4KIGNsYXNzIElu
bGluZVdhbGtlciB7CiBwdWJsaWM6CiAgICAgSW5saW5lV2Fsa2VyKFJlbmRlck9iamVjdCogcm9v
dCkKQEAgLTI1Myw4ICsyNzMsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jdXJyZW50KDApCiAg
ICAgICAgICwgbV9hdEVuZE9mSW5saW5lKGZhbHNlKQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6
IFRoaXMgY2xhc3Mgc2hvdWxkIGJlIHRhdWdodCBob3cgdG8gZG8gdGhlIHNraXBJbmxpbmVzIGNv
ZGVwYXRoIGFzIHdlbGwuCi0gICAgICAgIG1fY3VycmVudCA9IGJpZGlGaXJzdE5vdFNraXBwaW5n
SW5saW5lcyhtX3Jvb3QpOworICAgICAgICAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91bGQgYmUg
dGF1Z2h0IGhvdyB0byBkbyB0aGUgU2tpcEVtcHR5SW5saW5lcyBjb2RlcGF0aCBhcyB3ZWxsLgor
ICAgICAgICBtX2N1cnJlbnQgPSBiaWRpRmlyc3RJbmNsdWRpbmdFbXB0eUlubGluZXMobV9yb290
KTsKICAgICB9CiAKICAgICBSZW5kZXJPYmplY3QqIHJvb3QoKSB7IHJldHVybiBtX3Jvb3Q7IH0K
QEAgLTI2NSwxNiArMjg1LDEzIEBAIHB1YmxpYzoKIAogICAgIFJlbmRlck9iamVjdCogYWR2YW5j
ZSgpCiAgICAgewotICAgICAgICAvLyBGSVhNRTogRXZlbnR1YWxseSBza2lwSW5saW5lcyBhbmQg
b2JzZXJ2ZXIgd2lsbCBiZSBhIG1lbWJlcnMuCi0gICAgICAgIGJvb2wgc2tpcElubGluZXMgPSBm
YWxzZTsKLSAgICAgICAgSW5saW5lQmlkaVJlc29sdmVyKiBvYnNlcnZlciA9IDA7Ci0gICAgICAg
IG1fY3VycmVudCA9IGJpZGlOZXh0KG1fcm9vdCwgbV9jdXJyZW50LCBvYnNlcnZlciwgc2tpcElu
bGluZXMsICZtX2F0RW5kT2ZJbmxpbmUpOworICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBTa2lw
RW1wdHlJbmxpbmVzIGFuZCBvYnNlcnZlciBwYXJhbWV0ZXJzLgorICAgICAgICBtX2N1cnJlbnQg
PSBiaWRpTmV4dEluY2x1ZGluZ0VtcHR5SW5saW5lcyhtX3Jvb3QsIG1fY3VycmVudCwgJm1fYXRF
bmRPZklubGluZSk7CiAgICAgICAgIHJldHVybiBtX2N1cnJlbnQ7CiAgICAgfQogcHJpdmF0ZToK
ICAgICBSZW5kZXJPYmplY3QqIG1fcm9vdDsKICAgICBSZW5kZXJPYmplY3QqIG1fY3VycmVudDsK
LSAgICBib29sIG1fc2tpcElubGluZXM7CiAgICAgYm9vbCBtX2F0RW5kT2ZJbmxpbmU7CiB9Owog
CkBAIC0yODgsNyArMzA1LDcgQEAgaW5saW5lIHZvaWQgSW5saW5lSXRlcmF0b3I6OmluY3JlbWVu
dChJbmxpbmVCaWRpUmVzb2x2ZXIqIHJlc29sdmVyKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICAvLyBiaWRpTmV4dCBjYW4gcmV0dXJuIDAsIHNvIHVzZSBtb3ZlVG8gaW5zdGVhZCBv
ZiBtb3ZlVG9TdGFydE9mCi0gICAgbW92ZVRvKGJpZGlOZXh0KG1fcm9vdCwgbV9vYmosIHJlc29s
dmVyKSwgMCk7CisgICAgbW92ZVRvKGJpZGlOZXh0U2tpcHBpbmdFbXB0eUlubGluZXMobV9yb290
LCBtX29iaiwgcmVzb2x2ZXIpLCAwKTsKIH0KIAogaW5saW5lIGJvb2wgSW5saW5lSXRlcmF0b3I6
OmF0RW5kKCkgY29uc3QKQEAgLTM0Myw3ICszNjAsNyBAQCBpbmxpbmUgdm9pZCBJbmxpbmVCaWRp
UmVzb2x2ZXI6OmFwcGVuZFJ1bigpCiAgICAgICAgIHdoaWxlIChvYmogJiYgb2JqICE9IG1fZW9y
Lm1fb2JqICYmIG9iaiAhPSBlbmRPZkxpbmUubV9vYmopIHsKICAgICAgICAgICAgIFJlbmRlckJs
b2NrOjphcHBlbmRSdW5zRm9yT2JqZWN0KG1fcnVucywgc3RhcnQsIG9iai0+bGVuZ3RoKCksIG9i
aiwgKnRoaXMpOwogICAgICAgICAgICAgc3RhcnQgPSAwOwotICAgICAgICAgICAgb2JqID0gYmlk
aU5leHQobV9zb3Iucm9vdCgpLCBvYmopOworICAgICAgICAgICAgb2JqID0gYmlkaU5leHRTa2lw
cGluZ0VtcHR5SW5saW5lcyhtX3Nvci5yb290KCksIG9iaik7CiAgICAgICAgIH0KICAgICAgICAg
aWYgKG9iaikgewogICAgICAgICAgICAgdW5zaWduZWQgcG9zID0gb2JqID09IG1fZW9yLm1fb2Jq
ID8gbV9lb3IubV9wb3MgOiBVSU5UX01BWDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5kZXggMmQyZjQyYjFjODhhNzBjZjZhMzNl
M2MwNTI4OGRhODY0MGRiMjY0My4uZWQ3OWNmZTZhODAwOWQzZGQxZTU1N2JjYWE4YmIzMmIyYTE0
NGI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAKQEAgLTE0MjcsMTAgKzE0MjcsMTIgQEAgUm9vdElubGluZUJveCogUmVuZGVy
QmxvY2s6OmRldGVybWluZVN0YXJ0UG9zaXRpb24oTGluZUxheW91dFN0YXRlJiBsYXlvdXRTdGF0
ZSwKICAgICAgICAgcmVzb2x2ZXIuc2V0U3RhdHVzKGxhc3QtPmxpbmVCcmVha0JpZGlTdGF0dXMo
KSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24gPSBzdHls
ZSgpLT5kaXJlY3Rpb24oKTsKLSAgICAgICAgaWYgKHN0eWxlKCktPnVuaWNvZGVCaWRpKCkgPT0g
UGxhaW50ZXh0KQotICAgICAgICAgICAgZGV0ZXJtaW5lUGFyYWdyYXBoRGlyZWN0aW9uKGRpcmVj
dGlvbiwgSW5saW5lSXRlcmF0b3IodGhpcywgYmlkaUZpcnN0Tm90U2tpcHBpbmdJbmxpbmVzKHRo
aXMpLCAwKSk7CisgICAgICAgIGlmIChzdHlsZSgpLT51bmljb2RlQmlkaSgpID09IFBsYWludGV4
dCkgeworICAgICAgICAgICAgLy8gRklYTUU6IFdoeSBkb2VzICJ1bmljb2RlLWJpZGk6IHBsYWlu
dGV4dCIgYmlkaUZpcnN0SW5jbHVkaW5nRW1wdHlJbmxpbmVzIHdoZW4gYWxsIG90aGVyIGxpbmUg
bGF5b3V0IGNvZGUgdXNlcyBiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcz8KKyAgICAgICAg
ICAgIGRldGVybWluZVBhcmFncmFwaERpcmVjdGlvbihkaXJlY3Rpb24sIElubGluZUl0ZXJhdG9y
KHRoaXMsIGJpZGlGaXJzdEluY2x1ZGluZ0VtcHR5SW5saW5lcyh0aGlzKSwgMCkpOworICAgICAg
ICB9CiAgICAgICAgIHJlc29sdmVyLnNldFN0YXR1cyhCaWRpU3RhdHVzKGRpcmVjdGlvbiwgc3R5
bGUoKS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSkpOwotICAgICAgICByZXNvbHZlci5zZXRQ
b3NpdGlvbihJbmxpbmVJdGVyYXRvcih0aGlzLCBiaWRpRmlyc3RTa2lwcGluZ0lubGluZXModGhp
cywgJnJlc29sdmVyKSwgMCkpOworICAgICAgICByZXNvbHZlci5zZXRQb3NpdGlvbihJbmxpbmVJ
dGVyYXRvcih0aGlzLCBiaWRpRmlyc3RTa2lwcGluZ0VtcHR5SW5saW5lcyh0aGlzLCAmcmVzb2x2
ZXIpLCAwKSk7CiAgICAgfQogICAgIHJldHVybiBjdXJyOwogfQpAQCAtMTY0Niw3ICsxNjQ4LDcg
QEAgdm9pZCBSZW5kZXJCbG9jazo6TGluZUJyZWFrZXI6OnNraXBMZWFkaW5nV2hpdGVzcGFjZShJ
bmxpbmVCaWRpUmVzb2x2ZXImIHJlc29sdmUKIC8vIGhhdmUgYW4gZWZmZWN0IG9uIHdoaXRlc3Bh
Y2UgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lLgogc3RhdGljIGJvb2wgc2hvdWxkU2tpcFdoaXRl
c3BhY2VBZnRlclN0YXJ0T2JqZWN0KFJlbmRlckJsb2NrKiBibG9jaywgUmVuZGVyT2JqZWN0KiBv
LCBMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUpCiB7Ci0gICAgUmVuZGVyT2Jq
ZWN0KiBuZXh0ID0gYmlkaU5leHQoYmxvY2ssIG8pOworICAgIFJlbmRlck9iamVjdCogbmV4dCA9
IGJpZGlOZXh0U2tpcHBpbmdFbXB0eUlubGluZXMoYmxvY2ssIG8pOwogICAgIGlmIChuZXh0ICYm
ICFuZXh0LT5pc0JSKCkgJiYgbmV4dC0+aXNUZXh0KCkgJiYgdG9SZW5kZXJUZXh0KG5leHQpLT50
ZXh0TGVuZ3RoKCkgPiAwKSB7CiAgICAgICAgIFJlbmRlclRleHQqIG5leHRUZXh0ID0gdG9SZW5k
ZXJUZXh0KG5leHQpOwogICAgICAgICBVQ2hhciBuZXh0Q2hhciA9IG5leHRUZXh0LT5jaGFyYWN0
ZXJzKClbMF07CkBAIC0xOTgzLDcgKzE5ODUsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9j
azo6TGluZUJyZWFrZXI6Om5leHRMaW5lQnJlYWsoSW5saW5lQmlkaVJlc29sdmVyJiByZXNvbAog
ICAgIEVXaGl0ZVNwYWNlIGN1cnJXUyA9IG1fYmxvY2stPnN0eWxlKCktPndoaXRlU3BhY2UoKTsK
ICAgICBFV2hpdGVTcGFjZSBsYXN0V1MgPSBjdXJyV1M7CiAgICAgd2hpbGUgKGN1cnJlbnQubV9v
YmopIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBuZXh0ID0gYmlkaU5leHQobV9ibG9jaywgY3Vy
cmVudC5tX29iaik7CisgICAgICAgIFJlbmRlck9iamVjdCogbmV4dCA9IGJpZGlOZXh0U2tpcHBp
bmdFbXB0eUlubGluZXMobV9ibG9jaywgY3VycmVudC5tX29iaik7CiAgICAgICAgIGlmIChuZXh0
ICYmIG5leHQtPnBhcmVudCgpICYmICFuZXh0LT5wYXJlbnQoKS0+aXNEZXNjZW5kYW50T2YoY3Vy
cmVudC5tX29iai0+cGFyZW50KCkpKQogICAgICAgICAgICAgaW5jbHVkZUVuZFdpZHRoID0gdHJ1
ZTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>