<?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>99750</bug_id>
          
          <creation_ts>2012-10-18 13:23:37 -0700</creation_ts>
          <short_desc>[Shadow]: Fallback content should also be reprojected</short_desc>
          <delta_ts>2012-10-22 20:09:00 -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>DOM</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>
          <dependson>99815</dependson>
          <blocked>96986</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>shinyak</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>745506</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-18 13:23:37 -0700</bug_when>
    <thetext>See https://www.w3.org/Bugs/Public/show_bug.cgi?id=19436</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745934</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-18 20:38:38 -0700</bug_when>
    <thetext>I&apos;ll take a look.
I think it is working in the current implementation, but let&apos;s have a test to confirm it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745990</commentid>
    <comment_count>2</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-18 22:42:22 -0700</bug_when>
    <thetext>Ah... It hits ASSERT!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746048</commentid>
    <comment_count>3</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-18 23:28:04 -0700</bug_when>
    <thetext>Even after fixing ASSERT, fallback content is not rendered.
Maybe we have to fix ParentWalker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746107</commentid>
    <comment_count>4</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-19 01:00:36 -0700</bug_when>
    <thetext>- host
   - content
        - div (fallback)

We have assumed that only direct children of the host can be distributed, but it&apos;s wrong!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746120</commentid>
    <comment_count>5</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-19 01:28:25 -0700</bug_when>
    <thetext>I&apos;m now working for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747384</commentid>
    <comment_count>6</comment_count>
      <attachid>169869</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-22 03:30:34 -0700</bug_when>
    <thetext>Created attachment 169869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747953</commentid>
    <comment_count>7</comment_count>
      <attachid>169869</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-22 15:16:46 -0700</bug_when>
    <thetext>Comment on attachment 169869
Patch

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

&gt; Source/WebCore/html/shadow/HTMLContentElement.h:65
&gt; +inline HTMLContentElement* toHTMLContentElement(Node* node)

Is this used anywhere?

&gt; Source/WebCore/html/shadow/InsertionPoint.h:123
&gt; +inline Node* parentNodeForDistribution(const Node* node)

Why is this hanging in the InsertionPoint? And why are the two methods? Can&apos;t this just be an inline static helper inside of the ComposedShadowTreeWalker? It seems like you are prematurely building an API when there&apos;s only one consumer of this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748174</commentid>
    <comment_count>8</comment_count>
      <attachid>169869</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-22 19:05:36 -0700</bug_when>
    <thetext>Comment on attachment 169869
Patch

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

&gt;&gt; Source/WebCore/html/shadow/InsertionPoint.h:123
&gt;&gt; +inline Node* parentNodeForDistribution(const Node* node)
&gt; 
&gt; Why is this hanging in the InsertionPoint? And why are the two methods? Can&apos;t this just be an inline static helper inside of the ComposedShadowTreeWalker? It seems like you are prematurely building an API when there&apos;s only one consumer of this function.

Actually we also need this in StyleResolver. We should have only one, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748182</commentid>
    <comment_count>9</comment_count>
      <attachid>170043</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-22 19:21:15 -0700</bug_when>
    <thetext>Created attachment 170043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748192</commentid>
    <comment_count>10</comment_count>
      <attachid>170043</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-10-22 19:36:12 -0700</bug_when>
    <thetext>Comment on attachment 170043
Patch

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

&gt; Source/WebCore/html/shadow/InsertionPoint.h:123
&gt; +static inline Element* parentElementForDistribution(const Node* node)

I don&apos;t know if &quot;static&quot; makes any sense in this context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748200</commentid>
    <comment_count>11</comment_count>
      <attachid>170049</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-22 19:43:45 -0700</bug_when>
    <thetext>Created attachment 170049
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748201</commentid>
    <comment_count>12</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-22 19:44:22 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 170043 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=170043&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/shadow/InsertionPoint.h:123
&gt; &gt; +static inline Element* parentElementForDistribution(const Node* node)
&gt; 
&gt; I don&apos;t know if &quot;static&quot; makes any sense in this context.

It&apos;s a mistake! Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748216</commentid>
    <comment_count>13</comment_count>
      <attachid>170049</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 20:08:56 -0700</bug_when>
    <thetext>Comment on attachment 170049
Patch for landing

Clearing flags on attachment: 170049

Committed r132174: &lt;http://trac.webkit.org/changeset/132174&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748217</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 20:09:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169869</attachid>
            <date>2012-10-22 03:30:34 -0700</date>
            <delta_ts>2012-10-22 19:21:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99750-20121022192913.patch</filename>
            <type>text/plain</type>
            <size>12507</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWY2ZGI3NzBmOTg4ZDY1
N2VmZjZiN2Q3MjhlMzkzMGZlOTFhYTg1NS4uNmZkMGU2M2M5YmE0MjY5ZWE2ODgzMmJhMTZjOGQw
NDU0OTQzMTUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEwLTIyICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBG
YWxsYmFjayBjb250ZW50IHNob3VsZCBhbHNvIGJlIHJlcHJvamVjdGlvbi4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NzUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmFsbGJhY2sgY29udGVudCBvZiBJ
bnNlcnRpb25Qb2ludCBzaG91bGQgYmUgcmVwcm9qZWN0ZWQuIFRoZSBleGlzdGluZyBhc3N1bXB0
aW9uIHRoYXQKKyAgICAgICAgb25seSB0aGUgZGlyZWN0IGNoaWxkIG9mIGhvc3QgZWxlbWVudCBj
YW4gYmUgZGlzdHJpYnV0ZWQgdG8gSW5zZXJ0aW9uUG9pbnQgZG9lcyBub3QgaG9sZCBhbnltb3Jl
LgorICAgICAgICBTbywgaWYgdGhlIHBhcmVudCBvZiBhbiBlbGVtZW50IGlzIEluc2VydGlvblBv
aW50IHdoaWNoIHNob3VsZCBzaG93IGZhbGxiYWNrIGVsZW1lbnQsIHdlIGhhdmUgdG8KKyAgICAg
ICAgY2hlY2sgdGhlIGdyYW5kIHBhcmVudCBvZiB0aGUgZWxlbWVudCBpbnN0ZWFkIG9mIHRoZSBl
bGVtZW50LgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2pl
Y3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9t
L3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCisKKyAgICAgICAgKiBj
c3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRSZXNldFN0eWxl
SW5oZXJpdGFuY2UpOiBDaGVja3MgdGhlIGdyYW5kcGFyZW50IG9mIHRoZSBlbGVtZW50IGlmIHRo
ZSBwYXJlbnQgaXMKKyAgICAgICAgYW4gSW5zZXJ0aW9uUG9pbnQgd2hpY2ggdXNlcyBmYWxsYmFj
ayBjb250ZW50LgorICAgICAgICAqIGRvbS9Db21wb3NlZFNoYWRvd1RyZWVXYWxrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2hhZG93T2ZQYXJlbnRGb3JEaXN0cmlidXRpb24pOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlUmVwcm9qZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbXBvc2VkU2hhZG93VHJlZVdhbGtlcjo6dHJhdmVyc2VQYXJlbnQp
OgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6dG9IVE1MQ29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zZXJ0aW9uUG9pbnQ6OnNob3VsZFVzZUZhbGxiYWNrRWxlbWVudHMpOiBUcnVlIGlmIHRoZSBJ
bnNlcnRpb25Qb2ludCBzaG91bGQgdXNlIGZhbGxiYWNrIGNvbnRlbnQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oOgorICAgICAgICAo
V2ViQ29yZTo6cGFyZW50Tm9kZUZvckRpc3RyaWJ1dGlvbik6IFJldHVybnMgdGhlIGdyYW5kcGFy
ZW50IGlmIHRoZSBwYXJlbnQgaXMgSW5zZXJ0aW9uUG9pbnQgd2hpY2ggdXNlcworICAgICAgICBm
YWxsYmFjayBjb250ZW50LiBSZXR1cm5zIHBhcmVudCBub2RlIG90aGVyd2lzZS4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6cGFyZW50RWxlbWVudEZvckRpc3RyaWJ1dGlv
bik6CisKIDIwMTItMTAtMjIgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4K
IAogICAgICAgICBbR1RLXSBFbmFibGUgTWljcm9kYXRhIERPTSBBUEkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCA5MzE4YjdhMTY1ZmRmMGMwNjFlYTU5NzUwYWY4MTdmMWU3
OGQ0MDFlLi5hZDhkZGNiM2NkMTg4ZGE3NzBjM2M5NjViYjVmNTUyMTk4YjAyOTVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC03NSw2ICs3NSw3IEBACiAjaW5jbHVkZSAi
SFRNTFByb2dyZXNzRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCisjaW5jbHVkZSAiSW5zZXJ0aW9uUG9pbnQu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJLZXlm
cmFtZUxpc3QuaCIKICNpbmNsdWRlICJMaW5rSGFzaC5oIgpAQCAtOTYxLDggKzk2Miw5IEBAIGlu
bGluZSBib29sIHNob3VsZFJlc2V0U3R5bGVJbmhlcml0YW5jZShOb2RlUmVuZGVyaW5nQ29udGV4
dCYgY29udGV4dCkKICAgICBJbnNlcnRpb25Qb2ludCogaW5zZXJ0aW9uUG9pbnQgPSBjb250ZXh0
Lmluc2VydGlvblBvaW50KCk7CiAgICAgaWYgKCFpbnNlcnRpb25Qb2ludCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIEFTU0VSVChjb250ZXh0Lm5vZGUoKS0+cGFyZW50RWxlbWVudCgpKTsK
LSAgICBFbGVtZW50U2hhZG93KiBzaGFkb3cgPSBjb250ZXh0Lm5vZGUoKS0+cGFyZW50RWxlbWVu
dCgpLT5zaGFkb3coKTsKKworICAgIEFTU0VSVChwYXJlbnRFbGVtZW50Rm9yRGlzdHJpYnV0aW9u
KGNvbnRleHQubm9kZSgpKSk7CisgICAgRWxlbWVudFNoYWRvdyogc2hhZG93ID0gcGFyZW50RWxl
bWVudEZvckRpc3RyaWJ1dGlvbihjb250ZXh0Lm5vZGUoKSktPnNoYWRvdygpOwogICAgIEFTU0VS
VChzaGFkb3cpOwogCiAgICAgZm9yICggOyBpbnNlcnRpb25Qb2ludDsgKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db21wb3NlZFNoYWRvd1RyZWVXYWxrZXIuY3BwCmluZGV4IDhiMGVjN2Uy
NGZiMzNjMDZhODhhOTYwMzZiOTZjMzQ1MjBlMTBhMWUuLmU4ODIzMGU2NGFhNzBhMmM0NzQwZjdm
OTFjMzE4NDdlMGMzOTVmZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3Nl
ZFNoYWRvd1RyZWVXYWxrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NlZFNo
YWRvd1RyZWVXYWxrZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ29udGVudERp
c3RyaWJ1dG9yLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFk
b3cuaCIKKyNpbmNsdWRlICJIVE1MQ29udGVudEVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNlcnRp
b25Qb2ludC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MSwxMSArNTIsMjIgQEAgc3Rh
dGljIGlubGluZSBFbGVtZW50U2hhZG93KiBzaGFkb3dPZlBhcmVudChjb25zdCBOb2RlKiBub2Rl
KQogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIEVsZW1lbnRTaGFkb3cqIHNoYWRv
d09mUGFyZW50Rm9yRGlzdHJpYnV0aW9uKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFu
b2RlKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChFbGVtZW50KiBwYXJlbnQgPSBwYXJl
bnRFbGVtZW50Rm9yRGlzdHJpYnV0aW9uKG5vZGUpKQorICAgICAgICByZXR1cm4gcGFyZW50LT5z
aGFkb3coKTsKKworICAgIHJldHVybiAwOyAgICAKK30KKwogc3RhdGljIGlubGluZSBJbnNlcnRp
b25Qb2ludCogcmVzb2x2ZVJlcHJvamVjdGlvbihjb25zdCBOb2RlKiBub2RlKQogewogICAgIElu
c2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCA9IDA7CiAgICAgY29uc3QgTm9kZSogY3VycmVu
dCA9IG5vZGU7Ci0gICAgd2hpbGUgKEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IHNoYWRvd09mUGFy
ZW50KGN1cnJlbnQpKSB7CisgICAgd2hpbGUgKEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IHNoYWRv
d09mUGFyZW50Rm9yRGlzdHJpYnV0aW9uKGN1cnJlbnQpKSB7CiAgICAgICAgIHNoYWRvdy0+ZW5z
dXJlRGlzdHJpYnV0aW9uKCk7CiAgICAgICAgIGlmIChJbnNlcnRpb25Qb2ludCogaW5zZXJ0ZWRU
byA9IHNoYWRvdy0+aW5zZXJ0aW9uUG9pbnRGb3Iobm9kZSkpIHsKICAgICAgICAgICAgIGN1cnJl
bnQgPSBpbnNlcnRlZFRvOwpAQCAtMjYwLDcgKzI3Miw3IEBAIE5vZGUqIENvbXBvc2VkU2hhZG93
VHJlZVdhbGtlcjo6dHJhdmVyc2VQYXJlbnQoY29uc3QgTm9kZSogbm9kZSwgUGFyZW50VHJhdmVy
c2FsCiAgICAgICAgIEFTU0VSVCh0b1NoYWRvd1Jvb3Qobm9kZSktPmlzWW91bmdlc3QoKSk7CiAg
ICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0g
c2hhZG93T2ZQYXJlbnQobm9kZSkpIHsKKyAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0g
c2hhZG93T2ZQYXJlbnRGb3JEaXN0cmlidXRpb24obm9kZSkpIHsKICAgICAgICAgc2hhZG93LT5l
bnN1cmVEaXN0cmlidXRpb24oKTsKICAgICAgICAgaWYgKEluc2VydGlvblBvaW50KiBpbnNlcnRp
b25Qb2ludCA9IHJlc29sdmVSZXByb2plY3Rpb24obm9kZSkpIHsKICAgICAgICAgICAgIGlmIChk
ZXRhaWxzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRl
bnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuaAppbmRleCA2YmU0ODY2OWRjOTE1ZDUzNTBmODdkZjA5NDI4NDIyMzBlZjA5MjQwLi43YmEz
MzE2ZjY0NWU4ZjIxYjFkYWJhZTQxM2JlM2RmZDdkNWEzMzgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaApAQCAtNjIsNiArNjIsMTIgQEAg
aW5saW5lIGJvb2wgaXNIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKICAgICBy
ZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmNvbnRlbnRUYWcpOwogfQogCitpbmxp
bmUgSFRNTENvbnRlbnRFbGVtZW50KiB0b0hUTUxDb250ZW50RWxlbWVudChOb2RlKiBub2RlKQor
eworICAgIEFTU0VSVCghbm9kZSB8fCBpc0hUTUxDb250ZW50RWxlbWVudChub2RlKSk7CisgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEhUTUxDb250ZW50RWxlbWVudCo+KG5vZGUpOworfQorCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9u
UG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3Bw
CmluZGV4IDA5MjA3NzQ2NzNlMjE4OTQ2MWYzODA3NTY0YjkxY2E2NDE5YmJhOGYuLmQzNGEwNzk1
Mzg0OWNlMjcxMmI5NzEwNTM3ZTQ5YmI0MzM1ZjI0ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAKQEAgLTY5LDYgKzY5LDExIEBAIHZvaWQgSW5z
ZXJ0aW9uUG9pbnQ6OmRldGFjaCgpCiAgICAgSFRNTEVsZW1lbnQ6OmRldGFjaCgpOwogfQogCiti
b29sIEluc2VydGlvblBvaW50OjpzaG91bGRVc2VGYWxsYmFja0VsZW1lbnRzKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gaXNBY3RpdmUoKSAmJiAhaGFzRGlzdHJpYnV0aW9uKCk7Cit9CisKIGJvb2wg
SW5zZXJ0aW9uUG9pbnQ6OmlzU2hhZG93Qm91bmRhcnkoKSBjb25zdAogewogICAgIHJldHVybiB0
cmVlU2NvcGUoKS0+cm9vdE5vZGUoKS0+aXNTaGFkb3dSb290KCkgJiYgaXNBY3RpdmUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCmluZGV4IDk1Zjc5OTVk
N2UwOGQ1Mzg0NjU0YzliMjE1NWE1MmRiY2MwZjcxZTMuLmEwNzA4YmY5MmUzMjI3MTg1MjQ0YmM1
NjFlZWE0MTY1YTZjMDBhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0luc2VydGlvblBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0
aW9uUG9pbnQuaApAQCAtNjIsNiArNjIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRl
dGFjaCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc0luc2VydGlvblBvaW50KCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAgYm9vbCBzaG91bGRVc2VGYWxsYmFja0VsZW1lbnRz
KCkgY29uc3Q7CisKICAgICBzaXplX3QgaW5kZXhPZihOb2RlKiBub2RlKSBjb25zdCB7IHJldHVy
biBtX2Rpc3RyaWJ1dGlvbi5maW5kKG5vZGUpOyB9CiAgICAgYm9vbCBjb250YWlucyhjb25zdCBO
b2RlKiBub2RlKSBjb25zdCB7IHJldHVybiBtX2Rpc3RyaWJ1dGlvbi5jb250YWlucyhjb25zdF9j
YXN0PE5vZGUqPihub2RlKSkgfHwgKG5vZGUtPmlzU2hhZG93Um9vdCgpICYmIHRvU2hhZG93Um9v
dChub2RlKS0+YXNzaWduZWRUbygpID09IHRoaXMpOyB9CiAgICAgc2l6ZV90IHNpemUoKSBjb25z
dCB7IHJldHVybiBtX2Rpc3RyaWJ1dGlvbi5zaXplKCk7IH0KQEAgLTExOCw2ICsxMjAsMjkgQEAg
aW5saW5lIGJvb2wgaXNMb3dlckVuY2Fwc3VsYXRpb25Cb3VuZGFyeShOb2RlKiBub2RlKQogICAg
IHJldHVybiB0b0luc2VydGlvblBvaW50KG5vZGUpLT5pc1NoYWRvd0JvdW5kYXJ5KCk7CiB9CiAK
K2lubGluZSBOb2RlKiBwYXJlbnROb2RlRm9yRGlzdHJpYnV0aW9uKGNvbnN0IE5vZGUqIG5vZGUp
Cit7CisgICAgQVNTRVJUKG5vZGUpOworICAgIGlmIChOb2RlKiBwYXJlbnQgPSBub2RlLT5wYXJl
bnROb2RlKCkpIHsKKyAgICAgICAgaWYgKGlzSW5zZXJ0aW9uUG9pbnQocGFyZW50KSAmJiB0b0lu
c2VydGlvblBvaW50KHBhcmVudCktPnNob3VsZFVzZUZhbGxiYWNrRWxlbWVudHMoKSkKKyAgICAg
ICAgICAgIHJldHVybiBwYXJlbnQtPnBhcmVudE5vZGUoKTsKKworICAgICAgICByZXR1cm4gcGFy
ZW50OworICAgIH0KKworICAgIHJldHVybiAwOworfQorCitpbmxpbmUgRWxlbWVudCogcGFyZW50
RWxlbWVudEZvckRpc3RyaWJ1dGlvbihjb25zdCBOb2RlKiBub2RlKQoreworICAgIGlmIChOb2Rl
KiBwYXJlbnQgPSBwYXJlbnROb2RlRm9yRGlzdHJpYnV0aW9uKG5vZGUpKSB7CisgICAgICAgIGlm
IChwYXJlbnQtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgICAgIHJldHVybiB0b0VsZW1lbnQo
cGFyZW50KTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gSW5zZXJ0aW9uUG9pbnRfaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZmMTY3Mjk2ODY4ZTJm
YTkzMTdjOTM4MDI2ZWU5NDMyMTQ2NTg5MWYuLjRmMDE4YTFhMDZhYzRjNjQyNGFkNGExZTNjYWZk
NmY4NDU2N2YzMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0yMiAgU2hpbnlhIEth
d2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+IAorCisgICAgICAgIFtTaGFkb3ddIEZhbGxi
YWNrIGNvbnRlbnQgc2hvdWxkIGFsc28gYmUgcmVwcm9qZWN0aW9uLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk3NTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50
LXJlcHJvamVjdGlvbi1mYWxsYmFjay1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9u
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50
LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWw6IEFk
ZGVkLgorCiAyMDEyLTEwLTIyICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+
CiAKICAgICAgICAgW0dUS10gRW5hYmxlIE1pY3JvZGF0YSBET00gQVBJCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2st
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJv
amVjdGlvbi1mYWxsYmFjay1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwZGQ1NmE3NTg0ZDY1
MzgyN2U0NTk0MjA1ZTIyYTJmZjUzY2U3MDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+RmFsbGJhY2sgZWxl
bWVudHMgc2hvdWxkIGJlIHJlbmRlcmVkIGlmIGl0J3MgZGlzdHJpYnV0ZWQ8L3A+CisKKzxkaXYg
aWQ9Imhvc3QxIj4KKyAgICA8ZGl2IGlkPSJob3N0MiI+CisgICAgICAgIDxkaXY+Y29udGVudCBm
YWxsYmFjayBlbGVtZW50PC9kaXY+CisgICAgICAgIDxkaXY+VGhpcyBzaG91bGQgYmUgc2VsZWN0
ZWQuPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9odG1sPgorCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFj
ay1yZXByb2plY3Rpb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24tZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNjYxZjUwYThlMGMyNTUyNDNkMmI5YjAwN2I2Y2Y0YThjYmQyYjNmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MjEgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
cG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8cD5GYWxsYmFjayBlbGVtZW50cyBzaG91bGQgYmUg
cmVuZGVyZWQgaWYgaXQncyBkaXN0cmlidXRlZDwvcD4KKworPGRpdiBpZD0iaG9zdDEiPgorICAg
IDxkaXYgaWQ9Imhvc3QyIj4KKyAgICAgICAgPGRpdiBpZD0iaG9zdDMiPgorICAgICAgICAgICAg
PGRpdj5jb250ZW50IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+VGhp
cyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+CisgICAgICAgICAgICA8ZGl2PmNvbnRlbnQgZmFs
bGJhY2sgZWxlbWVudDwvZGl2PgorICAgICAgICAgICAgPGRpdj5UaGlzIGFsc28gc2hvdWxkIGJl
IHNlbGVjdGVkLjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8
L2h0bWw+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRl
bnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM0MmJjOGMxMjZkNTZmMzBhYjc3NmY4YzgyMmUyOGU4NWE5Mjg4
MzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLmh0bWwKQEAgLTAsMCArMSwzNyBA
QAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5
ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxwPkZhbGxiYWNrIGVsZW1lbnRzIHNob3VsZCBiZSByZW5k
ZXJlZCBpZiBpdCdzIGRpc3RyaWJ1dGVkPC9wPgorCis8ZGl2IGlkPSJob3N0MSI+PC9kaXY+CisK
KzxzY3JpcHQ+Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7
CitzaGFkb3dSb290MS5pbm5lckhUTUwgPQorICAgICc8ZGl2IGlkPSJob3N0MiI+JyArCisgICAg
ICAgICc8Y29udGVudD48ZGl2IHRpdGxlPSJkZWJ1Z3N0b3AiPmNvbnRlbnQgZmFsbGJhY2sgZWxl
bWVudDwvZGl2PjwvY29udGVudD4nICsKKyAgICAgICAgJzxzaGFkb3c+PGRpdj5zaGFkb3cgZmFs
bGJhY2sgZWxlbWVudDwvZGl2Pjwvc2hhZG93PicgKworICAgICAgICAnPGRpdj5UaGlzIHNob3Vs
ZCBiZSBzZWxlY3RlZC48L2Rpdj4nICsKKyAgICAnPC9kaXY+JzsKKwordmFyIGhvc3QyID0gc2hh
ZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0Mik7CitzaGFkb3dSb290Mi5pbm5lckhUTUwgPQorICAgICc8
ZGl2IGlkPSJob3N0MyI+JyArCisgICAgICAgICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250
ZW50PicgKyAKKyAgICAgICAgJzxjb250ZW50IHNlbGVjdD0ic3BhbiI+PGRpdj5jb250ZW50IGZh
bGxiYWNrIGVsZW1lbnQ8L2Rpdj48L2NvbnRlbnQ+JyArIAorICAgICAgICAnPGRpdj5UaGlzIGFs
c28gc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PicKKyAgICAnPC9kaXY+JzsKKwordmFyIGhvc3Qz
ID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QzJyk7Cit2YXIgc2hhZG93Um9vdDMg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7CitzaGFkb3dSb290My5pbm5lckhUTUwgPQor
ICAgICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50PicKKworPC9zY3JpcHQ+CisKKzwv
aHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVu
dC1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjM2QwMDll
YWIzMjVkYWUwZjM3YzgwZDAzNWU3ZDRlMmIyMGFlM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRt
bApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+RmFsbGJhY2sgZWxlbWVu
dHMgc2hvdWxkIGJlIHJlbmRlcmVkIGlmIGl0J3MgZGlzdHJpYnV0ZWQ8L3A+CisKKzxkaXYgaWQ9
Imhvc3QxIj48L2Rpdj4KKworPHNjcmlwdD4KK3ZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QxKTsKK3NoYWRvd1Jvb3QxLmlubmVySFRNTCA9CisgICAgJzxkaXYgaWQ9
Imhvc3QyIj4nICsKKyAgICAgICAgJzxjb250ZW50PjxkaXYgdGl0bGU9ImRlYnVnc3RvcCI+Y29u
dGVudCBmYWxsYmFjayBlbGVtZW50PC9kaXY+PC9jb250ZW50PicgKworICAgICAgICAnPHNoYWRv
dz48ZGl2PnNoYWRvdyBmYWxsYmFjayBlbGVtZW50PC9kaXY+PC9zaGFkb3c+JyArCisgICAgICAg
ICc8ZGl2IGlkPSJkaXYiPlRoaXMgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PicgKworICAgICc8
L2Rpdj4nOworCit2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDIn
KTsKK3ZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3NoYWRv
d1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50Pic7Cis8
L3NjcmlwdD4KKworPC9odG1sPgorCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170043</attachid>
            <date>2012-10-22 19:21:15 -0700</date>
            <delta_ts>2012-10-22 19:43:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99750-20121023111952.patch</filename>
            <type>text/plain</type>
            <size>11552</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzNlMmQ3NTUyYTVkYWMy
YWEzYTgwMGMzZGIwNGMwOWY3NWRmYmE3OS4uM2FiZTA2N2E5OGM0ODE0MWM0NTgxNGZmM2M3YWRm
ZjlkNGQ4NTUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTIyICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBG
YWxsYmFjayBjb250ZW50IHNob3VsZCBhbHNvIGJlIHJlcHJvamVjdGlvbi4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NzUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmFsbGJhY2sgY29udGVudCBvZiBJ
bnNlcnRpb25Qb2ludCBzaG91bGQgYmUgcmVwcm9qZWN0ZWQuIFRoZSBleGlzdGluZyBhc3N1bXB0
aW9uIHRoYXQKKyAgICAgICAgb25seSB0aGUgZGlyZWN0IGNoaWxkIG9mIGhvc3QgZWxlbWVudCBj
YW4gYmUgZGlzdHJpYnV0ZWQgdG8gSW5zZXJ0aW9uUG9pbnQgZG9lcyBub3QgaG9sZCBhbnltb3Jl
LgorICAgICAgICBTbywgaWYgdGhlIHBhcmVudCBvZiBhbiBlbGVtZW50IGlzIEluc2VydGlvblBv
aW50IHdoaWNoIHNob3VsZCBzaG93IGZhbGxiYWNrIGVsZW1lbnQsIHdlIGhhdmUgdG8KKyAgICAg
ICAgY2hlY2sgdGhlIGdyYW5kIHBhcmVudCBvZiB0aGUgZWxlbWVudCBpbnN0ZWFkIG9mIHRoZSBl
bGVtZW50LgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2pl
Y3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9t
L3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCisKKyAgICAgICAgKiBj
c3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRSZXNldFN0eWxl
SW5oZXJpdGFuY2UpOiBDaGVja3MgdGhlIGdyYW5kcGFyZW50IG9mIHRoZSBlbGVtZW50IGlmIHRo
ZSBwYXJlbnQgaXMKKyAgICAgICAgYW4gSW5zZXJ0aW9uUG9pbnQgd2hpY2ggdXNlcyBmYWxsYmFj
ayBjb250ZW50LgorICAgICAgICAqIGRvbS9Db21wb3NlZFNoYWRvd1RyZWVXYWxrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2hhZG93T2ZQYXJlbnRGb3JEaXN0cmlidXRpb24pOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlUmVwcm9qZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbXBvc2VkU2hhZG93VHJlZVdhbGtlcjo6dHJhdmVyc2VQYXJlbnQp
OgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc2VydGlvblBvaW50OjpzaG91bGRVc2VGYWxsYmFja0VsZW1lbnRzKTogVHJ1ZSBp
ZiB0aGUgSW5zZXJ0aW9uUG9pbnQgc2hvdWxkIHVzZSBmYWxsYmFjayBjb250ZW50LgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OnBhcmVudEVsZW1lbnRGb3JEaXN0cmlidXRpb24pOiBSZXR1cm5zIHRo
ZSBncmFuZHBhcmVudCBlbGVtZW50IGlmIHRoZSBwYXJlbnQgaXMgSW5zZXJ0aW9uUG9pbnQgd2hp
Y2ggdXNlcworICAgICAgICBmYWxsYmFjayBjb250ZW50LiBSZXR1cm5zIHBhcmVudCBlbGVtZW50
IG90aGVyd2lzZS4KKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTEwLTIyICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbnRyb2R1Y2UgTG9jYWxpemVyOjpz
dGFuZEFsb25lTW9udGhMYWJlbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRl
eCA5MzE4YjdhMTY1ZmRmMGMwNjFlYTU5NzUwYWY4MTdmMWU3OGQ0MDFlLi5hZDhkZGNiM2NkMTg4
ZGE3NzBjM2M5NjViYjVmNTUyMTk4YjAyOTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCkBAIC03NSw2ICs3NSw3IEBACiAjaW5jbHVkZSAiSFRNTFByb2dyZXNzRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFF
bGVtZW50LmgiCisjaW5jbHVkZSAiSW5zZXJ0aW9uUG9pbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJLZXlmcmFtZUxpc3QuaCIKICNpbmNsdWRl
ICJMaW5rSGFzaC5oIgpAQCAtOTYxLDggKzk2Miw5IEBAIGlubGluZSBib29sIHNob3VsZFJlc2V0
U3R5bGVJbmhlcml0YW5jZShOb2RlUmVuZGVyaW5nQ29udGV4dCYgY29udGV4dCkKICAgICBJbnNl
cnRpb25Qb2ludCogaW5zZXJ0aW9uUG9pbnQgPSBjb250ZXh0Lmluc2VydGlvblBvaW50KCk7CiAg
ICAgaWYgKCFpbnNlcnRpb25Qb2ludCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIEFTU0VS
VChjb250ZXh0Lm5vZGUoKS0+cGFyZW50RWxlbWVudCgpKTsKLSAgICBFbGVtZW50U2hhZG93KiBz
aGFkb3cgPSBjb250ZXh0Lm5vZGUoKS0+cGFyZW50RWxlbWVudCgpLT5zaGFkb3coKTsKKworICAg
IEFTU0VSVChwYXJlbnRFbGVtZW50Rm9yRGlzdHJpYnV0aW9uKGNvbnRleHQubm9kZSgpKSk7Cisg
ICAgRWxlbWVudFNoYWRvdyogc2hhZG93ID0gcGFyZW50RWxlbWVudEZvckRpc3RyaWJ1dGlvbihj
b250ZXh0Lm5vZGUoKSktPnNoYWRvdygpOwogICAgIEFTU0VSVChzaGFkb3cpOwogCiAgICAgZm9y
ICggOyBpbnNlcnRpb25Qb2ludDsgKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Q29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3Nl
ZFNoYWRvd1RyZWVXYWxrZXIuY3BwCmluZGV4IDhiMGVjN2UyNGZiMzNjMDZhODhhOTYwMzZiOTZj
MzQ1MjBlMTBhMWUuLmU4ODIzMGU2NGFhNzBhMmM0NzQwZjdmOTFjMzE4NDdlMGMzOTVmZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NlZFNoYWRvd1RyZWVXYWxrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NlZFNoYWRvd1RyZWVXYWxrZXIuY3BwCkBA
IC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ29udGVudERpc3RyaWJ1dG9yLmgiCiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKKyNpbmNsdWRlICJIVE1M
Q29udGVudEVsZW1lbnQuaCIKICNpbmNsdWRlICJJbnNlcnRpb25Qb2ludC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC01MSwxMSArNTIsMjIgQEAgc3RhdGljIGlubGluZSBFbGVtZW50U2hh
ZG93KiBzaGFkb3dPZlBhcmVudChjb25zdCBOb2RlKiBub2RlKQogICAgIHJldHVybiAwOwogfQog
CitzdGF0aWMgaW5saW5lIEVsZW1lbnRTaGFkb3cqIHNoYWRvd09mUGFyZW50Rm9yRGlzdHJpYnV0
aW9uKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIGlmIChFbGVtZW50KiBwYXJlbnQgPSBwYXJlbnRFbGVtZW50Rm9yRGlzdHJpYnV0
aW9uKG5vZGUpKQorICAgICAgICByZXR1cm4gcGFyZW50LT5zaGFkb3coKTsKKworICAgIHJldHVy
biAwOyAgICAKK30KKwogc3RhdGljIGlubGluZSBJbnNlcnRpb25Qb2ludCogcmVzb2x2ZVJlcHJv
amVjdGlvbihjb25zdCBOb2RlKiBub2RlKQogewogICAgIEluc2VydGlvblBvaW50KiBpbnNlcnRp
b25Qb2ludCA9IDA7CiAgICAgY29uc3QgTm9kZSogY3VycmVudCA9IG5vZGU7Ci0gICAgd2hpbGUg
KEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IHNoYWRvd09mUGFyZW50KGN1cnJlbnQpKSB7CisgICAg
d2hpbGUgKEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IHNoYWRvd09mUGFyZW50Rm9yRGlzdHJpYnV0
aW9uKGN1cnJlbnQpKSB7CiAgICAgICAgIHNoYWRvdy0+ZW5zdXJlRGlzdHJpYnV0aW9uKCk7CiAg
ICAgICAgIGlmIChJbnNlcnRpb25Qb2ludCogaW5zZXJ0ZWRUbyA9IHNoYWRvdy0+aW5zZXJ0aW9u
UG9pbnRGb3Iobm9kZSkpIHsKICAgICAgICAgICAgIGN1cnJlbnQgPSBpbnNlcnRlZFRvOwpAQCAt
MjYwLDcgKzI3Miw3IEBAIE5vZGUqIENvbXBvc2VkU2hhZG93VHJlZVdhbGtlcjo6dHJhdmVyc2VQ
YXJlbnQoY29uc3QgTm9kZSogbm9kZSwgUGFyZW50VHJhdmVyc2FsCiAgICAgICAgIEFTU0VSVCh0
b1NoYWRvd1Jvb3Qobm9kZSktPmlzWW91bmdlc3QoKSk7CiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KLSAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0gc2hhZG93T2ZQYXJlbnQobm9kZSkp
IHsKKyAgICBpZiAoRWxlbWVudFNoYWRvdyogc2hhZG93ID0gc2hhZG93T2ZQYXJlbnRGb3JEaXN0
cmlidXRpb24obm9kZSkpIHsKICAgICAgICAgc2hhZG93LT5lbnN1cmVEaXN0cmlidXRpb24oKTsK
ICAgICAgICAgaWYgKEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCA9IHJlc29sdmVSZXBy
b2plY3Rpb24obm9kZSkpIHsKICAgICAgICAgICAgIGlmIChkZXRhaWxzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCmluZGV4IDA5MjA3NzQ2NzNlMjE4
OTQ2MWYzODA3NTY0YjkxY2E2NDE5YmJhOGYuLmQzNGEwNzk1Mzg0OWNlMjcxMmI5NzEwNTM3ZTQ5
YmI0MzM1ZjI0ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2Vy
dGlvblBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Q
b2ludC5jcHAKQEAgLTY5LDYgKzY5LDExIEBAIHZvaWQgSW5zZXJ0aW9uUG9pbnQ6OmRldGFjaCgp
CiAgICAgSFRNTEVsZW1lbnQ6OmRldGFjaCgpOwogfQogCitib29sIEluc2VydGlvblBvaW50Ojpz
aG91bGRVc2VGYWxsYmFja0VsZW1lbnRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNBY3RpdmUo
KSAmJiAhaGFzRGlzdHJpYnV0aW9uKCk7Cit9CisKIGJvb2wgSW5zZXJ0aW9uUG9pbnQ6OmlzU2hh
ZG93Qm91bmRhcnkoKSBjb25zdAogewogICAgIHJldHVybiB0cmVlU2NvcGUoKS0+cm9vdE5vZGUo
KS0+aXNTaGFkb3dSb290KCkgJiYgaXNBY3RpdmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9JbnNlcnRpb25Qb2ludC5oCmluZGV4IDk1Zjc5OTVkN2UwOGQ1Mzg0NjU0YzliMjE1NWE1
MmRiY2MwZjcxZTMuLjI4ZDI1NmY1ZmI2ZjE3MDZmZmFlZDQyOTUwZDQ1NjFiZDZhZGFhN2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaApAQCAtNjIsNiAr
NjIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwogICAgIHZpcnR1YWwg
Ym9vbCBpc0luc2VydGlvblBvaW50KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQog
CisgICAgYm9vbCBzaG91bGRVc2VGYWxsYmFja0VsZW1lbnRzKCkgY29uc3Q7CisKICAgICBzaXpl
X3QgaW5kZXhPZihOb2RlKiBub2RlKSBjb25zdCB7IHJldHVybiBtX2Rpc3RyaWJ1dGlvbi5maW5k
KG5vZGUpOyB9CiAgICAgYm9vbCBjb250YWlucyhjb25zdCBOb2RlKiBub2RlKSBjb25zdCB7IHJl
dHVybiBtX2Rpc3RyaWJ1dGlvbi5jb250YWlucyhjb25zdF9jYXN0PE5vZGUqPihub2RlKSkgfHwg
KG5vZGUtPmlzU2hhZG93Um9vdCgpICYmIHRvU2hhZG93Um9vdChub2RlKS0+YXNzaWduZWRUbygp
ID09IHRoaXMpOyB9CiAgICAgc2l6ZV90IHNpemUoKSBjb25zdCB7IHJldHVybiBtX2Rpc3RyaWJ1
dGlvbi5zaXplKCk7IH0KQEAgLTExOCw2ICsxMjAsMTkgQEAgaW5saW5lIGJvb2wgaXNMb3dlckVu
Y2Fwc3VsYXRpb25Cb3VuZGFyeShOb2RlKiBub2RlKQogICAgIHJldHVybiB0b0luc2VydGlvblBv
aW50KG5vZGUpLT5pc1NoYWRvd0JvdW5kYXJ5KCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgRWxlbWVu
dCogcGFyZW50RWxlbWVudEZvckRpc3RyaWJ1dGlvbihjb25zdCBOb2RlKiBub2RlKQoreworICAg
IEFTU0VSVChub2RlKTsKKyAgICBpZiAoRWxlbWVudCogcGFyZW50ID0gbm9kZS0+cGFyZW50RWxl
bWVudCgpKSB7CisgICAgICAgIGlmIChpc0luc2VydGlvblBvaW50KHBhcmVudCkgJiYgdG9JbnNl
cnRpb25Qb2ludChwYXJlbnQpLT5zaG91bGRVc2VGYWxsYmFja0VsZW1lbnRzKCkpCisgICAgICAg
ICAgICByZXR1cm4gcGFyZW50LT5wYXJlbnRFbGVtZW50KCk7CisKKyAgICAgICAgcmV0dXJuIHBh
cmVudDsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gSW5zZXJ0aW9uUG9pbnRfaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJiOGIyMTZiYTM1ZDY0Njc1
NDlmMTNiYjU1ZGMzOTg5MDZhNTJiZTEuLjNiNDkxNzMyYjMyMmU1ODNkYzJhNTY5ZjY2OTkxMDM4
ZjA2ZTM3NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0yMiAgU2hpbnlhIEthd2Fu
YWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NoYWRvd10gRmFsbGJhY2sg
Y29udGVudCBzaG91bGQgYWxzbyBiZSByZXByb2plY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTc1MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWZhbGxiYWNrLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24tZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVw
cm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbDogQWRkZWQu
CisKIDIwMTItMTAtMjIgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgbW9yZSBDaHJvbWl1bSBNTCBleHBlY3RhdGlvbiB1cGRhdGluZy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVj
dGlvbi1mYWxsYmFjay1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTBkZDU2YTc1ODRkNjUzODI3ZTQ1OTQyMDVlMjJhMmZmNTNjZTcwNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxs
YmFjay1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8
aHRtbD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8
cD5GYWxsYmFjayBlbGVtZW50cyBzaG91bGQgYmUgcmVuZGVyZWQgaWYgaXQncyBkaXN0cmlidXRl
ZDwvcD4KKworPGRpdiBpZD0iaG9zdDEiPgorICAgIDxkaXYgaWQ9Imhvc3QyIj4KKyAgICAgICAg
PGRpdj5jb250ZW50IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj4KKyAgICAgICAgPGRpdj5UaGlzIHNo
b3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2h0bWw+CisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9q
ZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlv
bi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2NjFmNTBhOGUwYzI1NTI0M2QyYjliMDA3YjZj
ZjRhOGNiZDJiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxwPkZhbGxiYWNrIGVsZW1l
bnRzIHNob3VsZCBiZSByZW5kZXJlZCBpZiBpdCdzIGRpc3RyaWJ1dGVkPC9wPgorCis8ZGl2IGlk
PSJob3N0MSI+CisgICAgPGRpdiBpZD0iaG9zdDIiPgorICAgICAgICA8ZGl2IGlkPSJob3N0MyI+
CisgICAgICAgICAgICA8ZGl2PmNvbnRlbnQgZmFsbGJhY2sgZWxlbWVudDwvZGl2PgorICAgICAg
ICAgICAgPGRpdj5UaGlzIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4KKyAgICAgICAgICAgIDxk
aXY+Y29udGVudCBmYWxsYmFjayBlbGVtZW50PC9kaXY+CisgICAgICAgICAgICA8ZGl2PlRoaXMg
YWxzbyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2
PgorPC9kaXY+CisKKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJh
Y2stcmVwcm9qZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQyYmM4YzEyNmQ1NmYzMGFiNzc2Zjhj
ODIyZTI4ZTg1YTkyODgzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24uaHRtbApA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+RmFsbGJhY2sgZWxlbWVudHMg
c2hvdWxkIGJlIHJlbmRlcmVkIGlmIGl0J3MgZGlzdHJpYnV0ZWQ8L3A+CisKKzxkaXYgaWQ9Imhv
c3QxIj48L2Rpdj4KKworPHNjcmlwdD4KK3ZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QxKTsKK3NoYWRvd1Jvb3QxLmlubmVySFRNTCA9CisgICAgJzxkaXYgaWQ9Imhv
c3QyIj4nICsKKyAgICAgICAgJzxjb250ZW50PjxkaXYgdGl0bGU9ImRlYnVnc3RvcCI+Y29udGVu
dCBmYWxsYmFjayBlbGVtZW50PC9kaXY+PC9jb250ZW50PicgKworICAgICAgICAnPHNoYWRvdz48
ZGl2PnNoYWRvdyBmYWxsYmFjayBlbGVtZW50PC9kaXY+PC9zaGFkb3c+JyArCisgICAgICAgICc8
ZGl2PlRoaXMgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PicgKworICAgICc8L2Rpdj4nOworCit2
YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJZCgnaG9zdDInKTsKK3ZhciBzaGFk
b3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKK3NoYWRvd1Jvb3QyLmlubmVy
SFRNTCA9CisgICAgJzxkaXYgaWQ9Imhvc3QzIj4nICsKKyAgICAgICAgJzxjb250ZW50IHNlbGVj
dD0iZGl2Ij48L2NvbnRlbnQ+JyArIAorICAgICAgICAnPGNvbnRlbnQgc2VsZWN0PSJzcGFuIj48
ZGl2PmNvbnRlbnQgZmFsbGJhY2sgZWxlbWVudDwvZGl2PjwvY29udGVudD4nICsgCisgICAgICAg
ICc8ZGl2PlRoaXMgYWxzbyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+JworICAgICc8L2Rpdj4n
OworCit2YXIgaG9zdDMgPSBzaGFkb3dSb290Mi5nZXRFbGVtZW50QnlJZCgnaG9zdDMnKTsKK3Zh
ciBzaGFkb3dSb290MyA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QzKTsKK3NoYWRvd1Jvb3Qz
LmlubmVySFRNTCA9CisgICAgJzxjb250ZW50IHNlbGVjdD0iZGl2Ij48L2NvbnRlbnQ+JworCis8
L3NjcmlwdD4KKworPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmMzZDAwOWVhYjMyNWRhZTBmMzdjODBkMDM1ZTdkNGUyYjIwYWUzYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlv
bi1mYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRt
bD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8cD5G
YWxsYmFjayBlbGVtZW50cyBzaG91bGQgYmUgcmVuZGVyZWQgaWYgaXQncyBkaXN0cmlidXRlZDwv
cD4KKworPGRpdiBpZD0iaG9zdDEiPjwvZGl2PgorCis8c2NyaXB0PgordmFyIHNoYWRvd1Jvb3Qx
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOworc2hhZG93Um9vdDEuaW5uZXJIVE1MID0K
KyAgICAnPGRpdiBpZD0iaG9zdDIiPicgKworICAgICAgICAnPGNvbnRlbnQ+PGRpdiB0aXRsZT0i
ZGVidWdzdG9wIj5jb250ZW50IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj48L2NvbnRlbnQ+JyArCisg
ICAgICAgICc8c2hhZG93PjxkaXY+c2hhZG93IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj48L3NoYWRv
dz4nICsKKyAgICAgICAgJzxkaXYgaWQ9ImRpdiI+VGhpcyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9k
aXY+JyArCisgICAgJzwvZGl2Pic7CisKK3ZhciBob3N0MiA9IHNoYWRvd1Jvb3QxLmdldEVsZW1l
bnRCeUlkKCdob3N0MicpOwordmFyIHNoYWRvd1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
aG9zdDIpOworc2hhZG93Um9vdDIuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iZGl2Ij48
L2NvbnRlbnQ+JzsKKzwvc2NyaXB0PgorCis8L2h0bWw+CisKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170049</attachid>
            <date>2012-10-22 19:43:45 -0700</date>
            <delta_ts>2012-10-22 20:08:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-99750-20121023114223.patch</filename>
            <type>text/plain</type>
            <size>11547</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzNlMmQ3NTUyYTVkYWMy
YWEzYTgwMGMzZGIwNGMwOWY3NWRmYmE3OS4uYzA4MWZmODU3YzlkZWZkZmY1ZWJhODkzNDVlMDdi
ZGVmNjVkNzg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTIyICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBG
YWxsYmFjayBjb250ZW50IHNob3VsZCBhbHNvIGJlIHJlcHJvamVjdGlvbi4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NzUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgorCisgICAgICAgIEZhbGxiYWNrIGNvbnRlbnQgb2Yg
SW5zZXJ0aW9uUG9pbnQgc2hvdWxkIGJlIHJlcHJvamVjdGVkLiBUaGUgZXhpc3RpbmcgYXNzdW1w
dGlvbiB0aGF0CisgICAgICAgIG9ubHkgdGhlIGRpcmVjdCBjaGlsZCBvZiBob3N0IGVsZW1lbnQg
Y2FuIGJlIGRpc3RyaWJ1dGVkIHRvIEluc2VydGlvblBvaW50IGRvZXMgbm90IGhvbGQgYW55bW9y
ZS4KKyAgICAgICAgU28sIGlmIHRoZSBwYXJlbnQgb2YgYW4gZWxlbWVudCBpcyBJbnNlcnRpb25Q
b2ludCB3aGljaCBzaG91bGQgc2hvdyBmYWxsYmFjayBlbGVtZW50LCB3ZSBoYXZlIHRvCisgICAg
ICAgIGNoZWNrIHRoZSBncmFuZCBwYXJlbnQgb2YgdGhlIGVsZW1lbnQgaW5zdGVhZCBvZiB0aGUg
ZWxlbWVudC4KKworICAgICAgICBUZXN0czogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9q
ZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Rv
bS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbAorCisgICAgICAgICog
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkUmVzZXRTdHls
ZUluaGVyaXRhbmNlKTogQ2hlY2tzIHRoZSBncmFuZHBhcmVudCBvZiB0aGUgZWxlbWVudCBpZiB0
aGUgcGFyZW50IGlzCisgICAgICAgIGFuIEluc2VydGlvblBvaW50IHdoaWNoIHVzZXMgZmFsbGJh
Y2sgY29udGVudC4KKyAgICAgICAgKiBkb20vQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnNoYWRvd09mUGFyZW50Rm9yRGlzdHJpYnV0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZVJlcHJvamVjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXI6OnRyYXZlcnNlUGFyZW50
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6c2hvdWxkVXNlRmFsbGJhY2tFbGVtZW50cyk6IFRydWUg
aWYgdGhlIEluc2VydGlvblBvaW50IHNob3VsZCB1c2UgZmFsbGJhY2sgY29udGVudC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpwYXJlbnRFbGVtZW50Rm9yRGlzdHJpYnV0aW9uKTogUmV0dXJucyB0
aGUgZ3JhbmRwYXJlbnQgZWxlbWVudCBpZiB0aGUgcGFyZW50IGlzIEluc2VydGlvblBvaW50IHdo
aWNoIHVzZXMKKyAgICAgICAgZmFsbGJhY2sgY29udGVudC4gUmV0dXJucyBwYXJlbnQgZWxlbWVu
dCBvdGhlcndpc2UuCisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0xMC0yMiAgS2VudCBUYW11
cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW50cm9kdWNlIExvY2FsaXplcjo6
c3RhbmRBbG9uZU1vbnRoTGFiZWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5k
ZXggOTMxOGI3YTE2NWZkZjBjMDYxZWE1OTc1MGFmODE3ZjFlNzhkNDAxZS4uYWQ4ZGRjYjNjZDE4
OGRhNzcwYzNjOTY1YmI1ZjU1MjE5OGIwMjk1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcApAQCAtNzUsNiArNzUsNyBAQAogI2luY2x1ZGUgIkhUTUxQcm9ncmVzc0VsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MU3R5bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVh
RWxlbWVudC5oIgorI2luY2x1ZGUgIkluc2VydGlvblBvaW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVMaXN0LmgiCiAjaW5jbHVk
ZSAiTGlua0hhc2guaCIKQEAgLTk2MSw4ICs5NjIsOSBAQCBpbmxpbmUgYm9vbCBzaG91bGRSZXNl
dFN0eWxlSW5oZXJpdGFuY2UoTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNvbnRleHQpCiAgICAgSW5z
ZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50ID0gY29udGV4dC5pbnNlcnRpb25Qb2ludCgpOwog
ICAgIGlmICghaW5zZXJ0aW9uUG9pbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBBU1NF
UlQoY29udGV4dC5ub2RlKCktPnBhcmVudEVsZW1lbnQoKSk7Ci0gICAgRWxlbWVudFNoYWRvdyog
c2hhZG93ID0gY29udGV4dC5ub2RlKCktPnBhcmVudEVsZW1lbnQoKS0+c2hhZG93KCk7CisKKyAg
ICBBU1NFUlQocGFyZW50RWxlbWVudEZvckRpc3RyaWJ1dGlvbihjb250ZXh0Lm5vZGUoKSkpOwor
ICAgIEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IHBhcmVudEVsZW1lbnRGb3JEaXN0cmlidXRpb24o
Y29udGV4dC5ub2RlKCkpLT5zaGFkb3coKTsKICAgICBBU1NFUlQoc2hhZG93KTsKIAogICAgIGZv
ciAoIDsgaW5zZXJ0aW9uUG9pbnQ7ICkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0NvbXBvc2VkU2hhZG93VHJlZVdhbGtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9z
ZWRTaGFkb3dUcmVlV2Fsa2VyLmNwcAppbmRleCA4YjBlYzdlMjRmYjMzYzA2YTg4YTk2MDM2Yjk2
YzM0NTIwZTEwYTFlLi5lODgyMzBlNjRhYTcwYTJjNDc0MGY3ZjkxYzMxODQ3ZTBjMzk1ZmUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyLmNwcApA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNvbnRlbnREaXN0cmlidXRvci5oIgogI2luY2x1
ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCisjaW5jbHVkZSAiSFRN
TENvbnRlbnRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zZXJ0aW9uUG9pbnQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNTEsMTEgKzUyLDIyIEBAIHN0YXRpYyBpbmxpbmUgRWxlbWVudFNo
YWRvdyogc2hhZG93T2ZQYXJlbnQoY29uc3QgTm9kZSogbm9kZSkKICAgICByZXR1cm4gMDsKIH0K
IAorc3RhdGljIGlubGluZSBFbGVtZW50U2hhZG93KiBzaGFkb3dPZlBhcmVudEZvckRpc3RyaWJ1
dGlvbihjb25zdCBOb2RlKiBub2RlKQoreworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICBpZiAoRWxlbWVudCogcGFyZW50ID0gcGFyZW50RWxlbWVudEZvckRpc3RyaWJ1
dGlvbihub2RlKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudC0+c2hhZG93KCk7CisKKyAgICByZXR1
cm4gMDsgICAgCit9CisKIHN0YXRpYyBpbmxpbmUgSW5zZXJ0aW9uUG9pbnQqIHJlc29sdmVSZXBy
b2plY3Rpb24oY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICBJbnNlcnRpb25Qb2ludCogaW5zZXJ0
aW9uUG9pbnQgPSAwOwogICAgIGNvbnN0IE5vZGUqIGN1cnJlbnQgPSBub2RlOwotICAgIHdoaWxl
IChFbGVtZW50U2hhZG93KiBzaGFkb3cgPSBzaGFkb3dPZlBhcmVudChjdXJyZW50KSkgeworICAg
IHdoaWxlIChFbGVtZW50U2hhZG93KiBzaGFkb3cgPSBzaGFkb3dPZlBhcmVudEZvckRpc3RyaWJ1
dGlvbihjdXJyZW50KSkgewogICAgICAgICBzaGFkb3ctPmVuc3VyZURpc3RyaWJ1dGlvbigpOwog
ICAgICAgICBpZiAoSW5zZXJ0aW9uUG9pbnQqIGluc2VydGVkVG8gPSBzaGFkb3ctPmluc2VydGlv
blBvaW50Rm9yKG5vZGUpKSB7CiAgICAgICAgICAgICBjdXJyZW50ID0gaW5zZXJ0ZWRUbzsKQEAg
LTI2MCw3ICsyNzIsNyBAQCBOb2RlKiBDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXI6OnRyYXZlcnNl
UGFyZW50KGNvbnN0IE5vZGUqIG5vZGUsIFBhcmVudFRyYXZlcnNhbAogICAgICAgICBBU1NFUlQo
dG9TaGFkb3dSb290KG5vZGUpLT5pc1lvdW5nZXN0KCkpOwogICAgICAgICByZXR1cm4gMDsKICAg
ICB9Ci0gICAgaWYgKEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IHNoYWRvd09mUGFyZW50KG5vZGUp
KSB7CisgICAgaWYgKEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IHNoYWRvd09mUGFyZW50Rm9yRGlz
dHJpYnV0aW9uKG5vZGUpKSB7CiAgICAgICAgIHNoYWRvdy0+ZW5zdXJlRGlzdHJpYnV0aW9uKCk7
CiAgICAgICAgIGlmIChJbnNlcnRpb25Qb2ludCogaW5zZXJ0aW9uUG9pbnQgPSByZXNvbHZlUmVw
cm9qZWN0aW9uKG5vZGUpKSB7CiAgICAgICAgICAgICBpZiAoZGV0YWlscykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAppbmRleCAwOTIwNzc0NjczZTIx
ODk0NjFmMzgwNzU2NGI5MWNhNjQxOWJiYThmLi5kMzRhMDc5NTM4NDljZTI3MTJiOTcxMDUzN2U0
OWJiNDMzNWYyNGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNl
cnRpb25Qb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9u
UG9pbnQuY3BwCkBAIC02OSw2ICs2OSwxMSBAQCB2b2lkIEluc2VydGlvblBvaW50OjpkZXRhY2go
KQogICAgIEhUTUxFbGVtZW50OjpkZXRhY2goKTsKIH0KIAorYm9vbCBJbnNlcnRpb25Qb2ludDo6
c2hvdWxkVXNlRmFsbGJhY2tFbGVtZW50cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGlzQWN0aXZl
KCkgJiYgIWhhc0Rpc3RyaWJ1dGlvbigpOworfQorCiBib29sIEluc2VydGlvblBvaW50Ojppc1No
YWRvd0JvdW5kYXJ5KCkgY29uc3QKIHsKICAgICByZXR1cm4gdHJlZVNjb3BlKCktPnJvb3ROb2Rl
KCktPmlzU2hhZG93Um9vdCgpICYmIGlzQWN0aXZlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAppbmRleCA5NWY3OTk1ZDdlMDhkNTM4NDY1NGM5YjIxNTVh
NTJkYmNjMGY3MWUzLi5hZWY5ODEzZjUwMDFhMzEyZjU1MzA0Mzc0YzAwNTE0NzNlNjczYTZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKQEAgLTYyLDYg
KzYyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKICAgICB2aXJ0dWFs
IGJvb2wgaXNJbnNlcnRpb25Qb2ludCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0K
IAorICAgIGJvb2wgc2hvdWxkVXNlRmFsbGJhY2tFbGVtZW50cygpIGNvbnN0OworCiAgICAgc2l6
ZV90IGluZGV4T2YoTm9kZSogbm9kZSkgY29uc3QgeyByZXR1cm4gbV9kaXN0cmlidXRpb24uZmlu
ZChub2RlKTsgfQogICAgIGJvb2wgY29udGFpbnMoY29uc3QgTm9kZSogbm9kZSkgY29uc3QgeyBy
ZXR1cm4gbV9kaXN0cmlidXRpb24uY29udGFpbnMoY29uc3RfY2FzdDxOb2RlKj4obm9kZSkpIHx8
IChub2RlLT5pc1NoYWRvd1Jvb3QoKSAmJiB0b1NoYWRvd1Jvb3Qobm9kZSktPmFzc2lnbmVkVG8o
KSA9PSB0aGlzKTsgfQogICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9kaXN0cmli
dXRpb24uc2l6ZSgpOyB9CkBAIC0xMTgsNiArMTIwLDE5IEBAIGlubGluZSBib29sIGlzTG93ZXJF
bmNhcHN1bGF0aW9uQm91bmRhcnkoTm9kZSogbm9kZSkKICAgICByZXR1cm4gdG9JbnNlcnRpb25Q
b2ludChub2RlKS0+aXNTaGFkb3dCb3VuZGFyeSgpOwogfQogCitpbmxpbmUgRWxlbWVudCogcGFy
ZW50RWxlbWVudEZvckRpc3RyaWJ1dGlvbihjb25zdCBOb2RlKiBub2RlKQoreworICAgIEFTU0VS
VChub2RlKTsKKyAgICBpZiAoRWxlbWVudCogcGFyZW50ID0gbm9kZS0+cGFyZW50RWxlbWVudCgp
KSB7CisgICAgICAgIGlmIChpc0luc2VydGlvblBvaW50KHBhcmVudCkgJiYgdG9JbnNlcnRpb25Q
b2ludChwYXJlbnQpLT5zaG91bGRVc2VGYWxsYmFja0VsZW1lbnRzKCkpCisgICAgICAgICAgICBy
ZXR1cm4gcGFyZW50LT5wYXJlbnRFbGVtZW50KCk7CisKKyAgICAgICAgcmV0dXJuIHBhcmVudDsK
KyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gSW5zZXJ0aW9uUG9pbnRfaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJiOGIyMTZiYTM1ZDY0Njc1NDlmMTNi
YjU1ZGMzOTg5MDZhNTJiZTEuLjU2ZTUwOWFiODdkNzVjNzk3MDI3NDMzM2JiOWRmYzk1MmNjZjY3
MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0yMiAgU2hpbnlhIEthd2FuYWthICA8
c2hpbnlha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1NoYWRvd10gRmFsbGJhY2sgY29udGVu
dCBzaG91bGQgYWxzbyBiZSByZXByb2plY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0
cmkgR2xhemtvdi4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVj
dGlvbi1mYWxsYmFjay1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVj
dGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLmh0bWw6IEFkZGVkLgorCiAy
MDEyLTEwLTIyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIG1vcmUgQ2hyb21pdW0gTUwgZXhwZWN0YXRpb24gdXBkYXRpbmcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24t
ZmFsbGJhY2stZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250
ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwZGQ1
NmE3NTg0ZDY1MzgyN2U0NTk0MjA1ZTIyYTJmZjUzY2U3MDUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2st
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+RmFs
bGJhY2sgZWxlbWVudHMgc2hvdWxkIGJlIHJlbmRlcmVkIGlmIGl0J3MgZGlzdHJpYnV0ZWQ8L3A+
CisKKzxkaXYgaWQ9Imhvc3QxIj4KKyAgICA8ZGl2IGlkPSJob3N0MiI+CisgICAgICAgIDxkaXY+
Y29udGVudCBmYWxsYmFjayBlbGVtZW50PC9kaXY+CisgICAgICAgIDxkaXY+VGhpcyBzaG91bGQg
YmUgc2VsZWN0ZWQuPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9odG1sPgorCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlv
bi1mYWxsYmFjay1yZXByb2plY3Rpb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay1yZXByb2plY3Rpb24tZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjYxZjUwYThlMGMyNTUyNDNkMmI5YjAwN2I2Y2Y0YThj
YmQyYjNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nv
bnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8cD5GYWxsYmFjayBlbGVtZW50cyBz
aG91bGQgYmUgcmVuZGVyZWQgaWYgaXQncyBkaXN0cmlidXRlZDwvcD4KKworPGRpdiBpZD0iaG9z
dDEiPgorICAgIDxkaXYgaWQ9Imhvc3QyIj4KKyAgICAgICAgPGRpdiBpZD0iaG9zdDMiPgorICAg
ICAgICAgICAgPGRpdj5jb250ZW50IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj4KKyAgICAgICAgICAg
IDxkaXY+VGhpcyBzaG91bGQgYmUgc2VsZWN0ZWQuPC9kaXY+CisgICAgICAgICAgICA8ZGl2PmNv
bnRlbnQgZmFsbGJhY2sgZWxlbWVudDwvZGl2PgorICAgICAgICAgICAgPGRpdj5UaGlzIGFsc28g
c2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwv
ZGl2PgorCis8L2h0bWw+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJlcHJvamVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtcmVwcm9qZWN0aW9uLWZhbGxiYWNrLXJl
cHJvamVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0MmJjOGMxMjZkNTZmMzBhYjc3NmY4YzgyMmUy
OGU4NWE5Mjg4MzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2stcmVwcm9qZWN0aW9uLmh0bWwKQEAgLTAs
MCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxwPkZhbGxiYWNrIGVsZW1lbnRzIHNob3Vs
ZCBiZSByZW5kZXJlZCBpZiBpdCdzIGRpc3RyaWJ1dGVkPC9wPgorCis8ZGl2IGlkPSJob3N0MSI+
PC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgc2hhZG93Um9vdDEgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0MSk7CitzaGFkb3dSb290MS5pbm5lckhUTUwgPQorICAgICc8ZGl2IGlkPSJob3N0MiI+
JyArCisgICAgICAgICc8Y29udGVudD48ZGl2IHRpdGxlPSJkZWJ1Z3N0b3AiPmNvbnRlbnQgZmFs
bGJhY2sgZWxlbWVudDwvZGl2PjwvY29udGVudD4nICsKKyAgICAgICAgJzxzaGFkb3c+PGRpdj5z
aGFkb3cgZmFsbGJhY2sgZWxlbWVudDwvZGl2Pjwvc2hhZG93PicgKworICAgICAgICAnPGRpdj5U
aGlzIHNob3VsZCBiZSBzZWxlY3RlZC48L2Rpdj4nICsKKyAgICAnPC9kaXY+JzsKKwordmFyIGhv
c3QyID0gc2hhZG93Um9vdDEuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QyJyk7Cit2YXIgc2hhZG93Um9v
dDIgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Mik7CitzaGFkb3dSb290Mi5pbm5lckhUTUwg
PQorICAgICc8ZGl2IGlkPSJob3N0MyI+JyArCisgICAgICAgICc8Y29udGVudCBzZWxlY3Q9ImRp
diI+PC9jb250ZW50PicgKyAKKyAgICAgICAgJzxjb250ZW50IHNlbGVjdD0ic3BhbiI+PGRpdj5j
b250ZW50IGZhbGxiYWNrIGVsZW1lbnQ8L2Rpdj48L2NvbnRlbnQ+JyArIAorICAgICAgICAnPGRp
dj5UaGlzIGFsc28gc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2PicKKyAgICAnPC9kaXY+JzsKKwor
dmFyIGhvc3QzID0gc2hhZG93Um9vdDIuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QzJyk7Cit2YXIgc2hh
ZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0Myk7CitzaGFkb3dSb290My5pbm5l
ckhUTUwgPQorICAgICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250ZW50PicKKworPC9zY3Jp
cHQ+CisKKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY29udGVudC1yZXByb2plY3Rpb24tZmFsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jb250ZW50LXJlcHJvamVjdGlvbi1mYWxsYmFjay5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZjM2QwMDllYWIzMjVkYWUwZjM3YzgwZDAzNWU3ZDRlMmIyMGFlM2MKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY29udGVudC1yZXByb2plY3Rpb24tZmFs
bGJhY2suaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+RmFsbGJh
Y2sgZWxlbWVudHMgc2hvdWxkIGJlIHJlbmRlcmVkIGlmIGl0J3MgZGlzdHJpYnV0ZWQ8L3A+CisK
KzxkaXYgaWQ9Imhvc3QxIj48L2Rpdj4KKworPHNjcmlwdD4KK3ZhciBzaGFkb3dSb290MSA9IG5l
dyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3NoYWRvd1Jvb3QxLmlubmVySFRNTCA9CisgICAg
JzxkaXYgaWQ9Imhvc3QyIj4nICsKKyAgICAgICAgJzxjb250ZW50PjxkaXYgdGl0bGU9ImRlYnVn
c3RvcCI+Y29udGVudCBmYWxsYmFjayBlbGVtZW50PC9kaXY+PC9jb250ZW50PicgKworICAgICAg
ICAnPHNoYWRvdz48ZGl2PnNoYWRvdyBmYWxsYmFjayBlbGVtZW50PC9kaXY+PC9zaGFkb3c+JyAr
CisgICAgICAgICc8ZGl2IGlkPSJkaXYiPlRoaXMgc2hvdWxkIGJlIHNlbGVjdGVkLjwvZGl2Picg
KworICAgICc8L2Rpdj4nOworCit2YXIgaG9zdDIgPSBzaGFkb3dSb290MS5nZXRFbGVtZW50QnlJ
ZCgnaG9zdDInKTsKK3ZhciBzaGFkb3dSb290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3Qy
KTsKK3NoYWRvd1Jvb3QyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9ImRpdiI+PC9jb250
ZW50Pic7Cis8L3NjcmlwdD4KKworPC9odG1sPgorCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>