<?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>145574</bug_id>
          
          <creation_ts>2015-06-02 15:17:04 -0700</creation_ts>
          <short_desc>REGRESSION: (r181879): Scrolling in select/option region in iFrame scrolls both select and iframe</short_desc>
          <delta_ts>2015-06-03 23:38:36 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=145637</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>142789</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1098928</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-02 15:17:04 -0700</bug_when>
    <thetext>After &lt;http://trac.webkit.org/changeset/181879&gt;, scrolling in select/option region in iFrame scrolls both select and iframe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098929</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-02 15:17:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/20966828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098930</commentid>
    <comment_count>2</comment_count>
      <attachid>254110</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-02 15:18:01 -0700</bug_when>
    <thetext>Created attachment 254110
Test Case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098934</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-02 15:19:27 -0700</bug_when>
    <thetext>This bug was caused by my recent refactoring in Bug 142789. It did not properly include the RenderListBox logic from the original version of the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098975</commentid>
    <comment_count>4</comment_count>
      <attachid>254123</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-02 17:03:28 -0700</bug_when>
    <thetext>Created attachment 254123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098995</commentid>
    <comment_count>5</comment_count>
      <attachid>254123</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-02 18:05:17 -0700</bug_when>
    <thetext>Comment on attachment 254123
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        we were incorrectly skipping this test for Select regions (RenderListBox) elements because 

because?

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:995
&gt; +        if (!frameHasPlatformWidget(m_frame) &amp;&amp; !latchingState-&gt;startedGestureAtScrollLimit() &amp;&amp; (scrollableContainer == latchingState-&gt;scrollableContainer()) &amp;&amp; ((scrollableArea &amp;&amp; (view != scrollableArea)) || isRenderListBox(scrollableContainer))) {

It&apos;s not clear to me why list boxes are special here. Why doesn&apos;t the scrollableContainer logic just take care of list boxes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099012</commentid>
    <comment_count>6</comment_count>
      <attachid>254133</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-02 19:04:36 -0700</bug_when>
    <thetext>Created attachment 254133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099013</commentid>
    <comment_count>7</comment_count>
      <attachid>254123</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-02 19:06:20 -0700</bug_when>
    <thetext>Comment on attachment 254123
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        we were incorrectly skipping this test for Select regions (RenderListBox) elements because 
&gt; 
&gt; because?

Doh!

&gt;&gt; Source/WebCore/page/mac/EventHandlerMac.mm:995
&gt;&gt; +        if (!frameHasPlatformWidget(m_frame) &amp;&amp; !latchingState-&gt;startedGestureAtScrollLimit() &amp;&amp; (scrollableContainer == latchingState-&gt;scrollableContainer()) &amp;&amp; ((scrollableArea &amp;&amp; (view != scrollableArea)) || isRenderListBox(scrollableContainer))) {
&gt; 
&gt; It&apos;s not clear to me why list boxes are special here. Why doesn&apos;t the scrollableContainer logic just take care of list boxes?

You&apos;re right. List boxes were not getting handled properly because we had a mismatch between the scrollableContainer and the scrollableArea. When latching, these two were getting out of sync. See my new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099193</commentid>
    <comment_count>8</comment_count>
      <attachid>254133</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-03 11:14:41 -0700</bug_when>
    <thetext>Comment on attachment 254133
Patch

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

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:903
&gt; +static bool latchedToFrameOrBody(ContainerNode&amp; container)
&gt; +{
&gt; +    return is&lt;HTMLFrameSetElement&gt;(container) || is&lt;HTMLBodyElement&gt;(container);
&gt; +}

I&apos;m concerned that this isn&apos;t very future-proof, when we change which element we consider page scrolling to operate on (see bug 143609). Probably OK for now though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099194</commentid>
    <comment_count>9</comment_count>
      <attachid>254133</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-03 11:19:09 -0700</bug_when>
    <thetext>Comment on attachment 254133
Patch

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

&gt;&gt; Source/WebCore/page/mac/EventHandlerMac.mm:903
&gt;&gt; +}
&gt; 
&gt; I&apos;m concerned that this isn&apos;t very future-proof, when we change which element we consider page scrolling to operate on (see bug 143609). Probably OK for now though.

I&apos;ll add a FIXME for Bug 106133, which I think is the underlying issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099202</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-03 11:37:45 -0700</bug_when>
    <thetext>Committed r185156: &lt;http://trac.webkit.org/changeset/185156&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>254110</attachid>
            <date>2015-06-02 15:18:01 -0700</date>
            <delta_ts>2015-06-02 15:18:01 -0700</delta_ts>
            <desc>Test Case</desc>
            <filename>test.zip</filename>
            <type>application/zip</type>
            <size>2509</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">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
AA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254123</attachid>
            <date>2015-06-02 17:03:28 -0700</date>
            <delta_ts>2015-06-02 19:04:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145574-20150602170309.patch</filename>
            <type>text/plain</type>
            <size>11436</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTEyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE1LTA2LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMTgx
ODc5KTogU2Nyb2xsaW5nIGluIHNlbGVjdC9vcHRpb24gcmVnaW9uIGluIGlGcmFtZSBzY3JvbGxz
IGJvdGggc2VsZWN0IGFuZCBpZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0NTU3NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjA5NjY4Mjg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdGVk
IGJ5IHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwt
aWZyYW1lLWxhdGNoZWQtc2VsZWN0Lmh0bWwKKworICAgICAgICBXaGVuIHRoZSBzY3JvbGwgZ2Vz
dHVyZSBpcyBzdGFydGVkIHdoZW4gdGhlIGxhdGNoZWQgc2Nyb2xsYWJsZSBjb250YWluZXIgaXMg
bm90IGF0IHRoZSBsaW1pdCBvZiBpdHMKKyAgICAgICAgc2Nyb2xsIHJlZ2lvbiwgd2UgYXJlIE5P
VCBzdXBwb3NlZCB0byBwcm9wYWdhdGUgdGhlIHNjcm9sbCBldmVudCB0byB0aGUgZW5jbG9zaW5n
IHJlZ2lvbi4gSG93ZXZlciwKKyAgICAgICAgd2Ugd2VyZSBpbmNvcnJlY3RseSBza2lwcGluZyB0
aGlzIHRlc3QgZm9yIFNlbGVjdCByZWdpb25zIChSZW5kZXJMaXN0Qm94KSBlbGVtZW50cyBiZWNh
dXNlIAorCisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2ZW50cyk6IFdo
ZW4gbGF0Y2hlZCwgcmV0dXJuIHRoZSBsYXRjaGVkIHNjcm9sbGFibGUKKyAgICAgICAgY29udGFp
bmVyIHNvIHRoYXQgd2UgbWFrZSB0aGUgcmlnaHQgZGVjaXNpb25zLgorICAgICAgICAoV2ViQ29y
ZTo6aXNSZW5kZXJMaXN0Qm94KTogQWRkZWQgaGVscGVyIGZ1bmN0aW9uIHRvIGlkZW50aWZ5IENv
bnRhaW5lck5vZGVzIHRoYXQgcmVwcmVzZW50IFJlbmRlckxpc3RCb3hlcy4KKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6cGxhdGZvcm1Db21wbGV0ZVdoZWVsRXZlbnQpOiBBZGQgbGlz
dCBib3hlcyB0byB0aGUgc2V0IG9mIHRoaW5ncyB0aGF0IGV4aXQgZWFybHkKKyAgICAgICAgaWYg
dGhlIGdlc3R1cmUgZGlkIG5vdCBiZWdpbiBhdCB0aGUgc2Nyb2xsIGdlc3R1cmUgbGltaXQuIFRo
aXMgd2FzIGJlaW5nIHNraXBwZWQgZm9yIExpc3RCb3hlcy4KKwogMjAxNS0wNi0wMiAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gR3JhcGhpY3NDb250
ZXh0M0Q6OmdldEludGVybmFsRnJhbWVidWZmZXJTaXplCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCShyZXZpc2lvbiAxODUxMTApCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTk0
NCw2ICs5NDQsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6cGxhdGZvcm1QcmVwYXJlRm9yV2hlCiAK
ICAgICAgICAgd2hlZWxFdmVudFRhcmdldCA9IGxhdGNoaW5nU3RhdGUtPndoZWVsRXZlbnRFbGVt
ZW50KCk7CiAgICAgICAgIGlzT3ZlcldpZGdldCA9IGxhdGNoaW5nU3RhdGUtPndpZGdldElzTGF0
Y2hlZCgpOworICAgICAgICBzY3JvbGxhYmxlQ29udGFpbmVyID0gbGF0Y2hpbmdTdGF0ZS0+c2Ny
b2xsYWJsZUNvbnRhaW5lcigpOwogICAgIH0KIH0KIApAQCAtOTcxLDYgKzk3MiwxNCBAQCBzdGF0
aWMgRnJhbWVWaWV3KiBmcmFtZVZpZXdGb3JMYXRjaGluZ1N0CiAgICAgcmV0dXJuIGxhdGNoaW5n
U3RhdGUtPmZyYW1lKCkgPyBsYXRjaGluZ1N0YXRlLT5mcmFtZSgpLT52aWV3KCkgOiBmcmFtZS52
aWV3KCk7CiB9CiAKK3N0YXRpYyBib29sIGlzUmVuZGVyTGlzdEJveChDb250YWluZXJOb2RlKiBz
Y3JvbGxhYmxlQ29udGFpbmVyKQoreworICAgIGlmIChSZW5kZXJCb3gqIGJveCA9IHNjcm9sbGFi
bGVDb250YWluZXIgPyBzY3JvbGxhYmxlQ29udGFpbmVyLT5yZW5kZXJCb3goKSA6IG51bGxwdHIp
CisgICAgICAgIHJldHVybiBpczxSZW5kZXJMaXN0Qm94PigqYm94KTsKKworICAgIHJldHVybiBm
YWxzZTsKK30KKwogYm9vbCBFdmVudEhhbmRsZXI6OnBsYXRmb3JtQ29tcGxldGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgQ29udGFpbmVyTm9kZSogc2Ny
b2xsYWJsZUNvbnRhaW5lciwgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhKQogewogICAg
IC8vIFdlIGRvIGFub3RoZXIgY2hlY2sgb24gdGhlIGZyYW1lIHZpZXcgYmVjYXVzZSB0aGUgZXZl
bnQgaGFuZGxlciBjYW4gcnVuIEpTIHdoaWNoIHJlc3VsdHMgaW4gdGhlIGZyYW1lIGdldHRpbmcg
ZGVzdHJveWVkLgpAQCAtOTgzLDcgKzk5Miw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpwbGF0Zm9y
bUNvbXBsZXRlV2hlZWwKICAgICAgICAgbV9pc0hhbmRsaW5nV2hlZWxFdmVudCA9IGZhbHNlOwog
CiAgICAgICAgIC8vIFdlYktpdDIgY29kZSBwYXRoCi0gICAgICAgIGlmICghZnJhbWVIYXNQbGF0
Zm9ybVdpZGdldChtX2ZyYW1lKSAmJiAhbGF0Y2hpbmdTdGF0ZS0+c3RhcnRlZEdlc3R1cmVBdFNj
cm9sbExpbWl0KCkgJiYgc2Nyb2xsYWJsZUNvbnRhaW5lciA9PSBsYXRjaGluZ1N0YXRlLT5zY3Jv
bGxhYmxlQ29udGFpbmVyKCkgJiYgc2Nyb2xsYWJsZUFyZWEgJiYgdmlldyAhPSBzY3JvbGxhYmxl
QXJlYSkgeworICAgICAgICBpZiAoIWZyYW1lSGFzUGxhdGZvcm1XaWRnZXQobV9mcmFtZSkgJiYg
IWxhdGNoaW5nU3RhdGUtPnN0YXJ0ZWRHZXN0dXJlQXRTY3JvbGxMaW1pdCgpICYmIChzY3JvbGxh
YmxlQ29udGFpbmVyID09IGxhdGNoaW5nU3RhdGUtPnNjcm9sbGFibGVDb250YWluZXIoKSkgJiYg
KChzY3JvbGxhYmxlQXJlYSAmJiAodmlldyAhPSBzY3JvbGxhYmxlQXJlYSkpIHx8IGlzUmVuZGVy
TGlzdEJveChzY3JvbGxhYmxlQ29udGFpbmVyKSkpIHsKICAgICAgICAgICAgIC8vIElmIHdlIGRp
ZCBub3Qgc3RhcnQgYXQgdGhlIHNjcm9sbCBsaW1pdCwgZG8gbm90IHBhc3MgdGhlIGV2ZW50IG9u
IHRvIGJlIGhhbmRsZWQgYnkgZW5jbG9zaW5nIHNjcm9sbGFibGUgcmVnaW9ucy4KICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODUxMzApCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAor
MjAxNS0wNi0wMiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAg
ICBSRUdSRVNTSU9OOiAocjE4MTg3OSk6IFNjcm9sbGluZyBpbiBzZWxlY3Qvb3B0aW9uIHJlZ2lv
biBpbiBpRnJhbWUgc2Nyb2xscyBib3RoIHNlbGVjdCBhbmQgaWZyYW1lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU1NzQKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIwOTY2ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9m
YXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1zZWxlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Ny
b2xsLWlmcmFtZS1sYXRjaGVkLXNlbGVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9zZWxlY3RfaWZyYW1lLmh0
bWw6IEFkZGVkLgorCiAyMDE1LTA2LTAyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
IAogICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW50ZXJuYWxGcmFtZWJ1
ZmZlclNpemUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtc2VsZWN0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLXNlbGVjdC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLXNlbGVjdC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNiBAQAorCitUZXN0cyB0aGF0IGlmcmFt
ZSBkb2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xsaW5nIGEgc2VsZWN0IGlu
IGFuIGlmcmFtZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorUEFTUyBQYWdlIGRpZCBub3Qg
cmVjZWl2ZSB3aGVlbCBldmVudHMuCitQQVNTIElGcmFtZSBkaWQgbm90IHJlY2VpdmUgd2hlZWwg
ZXZlbnRzLgorUEFTUyBTZWxlY3QgY29uc3VtZWQgd2hlZWwgZXZlbnRzLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtaWZy
YW1lLWxhdGNoZWQtc2VsZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0
Y2hlZC1zZWxlY3QuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQt
c2VsZWN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5OSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1XaGVlbEV2ZW50Ij4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cFRvcExldmVsKCk7Ij4KKzxzY3JpcHQ+Cit2YXIgcGFn
ZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwordmFyIGlmcmFtZVRhcmdldDsKK3ZhciBpRnJhbWVTY3Jv
bGxQb3NpdGlvbkJlZm9yZTsKK3ZhciBzZWxlY3RUYXJnZXQ7Cit2YXIgc2VsZWN0VGFyZ2V0U2Ny
b2xsUG9zaXRpb25CZWZvcmU7CisKK2Z1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsKCkKK3sKKyAgICAv
LyBUaGUgSUZyYW1lIHNob3VsZCBub3QgaGF2ZSBzY3JvbGxlZCBhdCBhbGwuCisgICAgdmFyIHBh
Z2VTY3JvbGxQb3NpdGlvbkFmdGVyID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisgICAgaWYg
KHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyICE9IHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyKQorICAg
ICAgICB0ZXN0RmFpbGVkKCJQYWdlIGNvbnN1bWVkIHdoZWVsIGV2ZW50cy4iKTsKKyAgICBlbHNl
CisgICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4i
KTsKKworICAgIHZhciBpRnJhbWVTY3JvbGxQb3NpdGlvbkFmdGVyID0gd2luZG93LmZyYW1lc1sn
dGFyZ2V0J10uZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisgICAgaWYgKGlGcmFtZVNjcm9sbFBv
c2l0aW9uQmVmb3JlICE9IGlGcmFtZVNjcm9sbFBvc2l0aW9uQWZ0ZXIpCisgICAgICAgIHRlc3RG
YWlsZWQoIklGcmFtZSBjb25zdW1lZCB3aGVlbCBldmVudHMuIik7CisgICAgZWxzZQorICAgICAg
ICB0ZXN0UGFzc2VkKCJJRnJhbWUgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2ZW50cy4iKTsKKwor
ICAgIHZhciBzZWxlY3RUYXJnZXRTY3JvbGxQb3NpdGlvbkFmdGVyID0gc2VsZWN0VGFyZ2V0LnNj
cm9sbFRvcDsKKyAgICBpZiAoc2VsZWN0VGFyZ2V0U2Nyb2xsUG9zaXRpb25CZWZvcmUgIT0gc2Vs
ZWN0VGFyZ2V0U2Nyb2xsUG9zaXRpb25BZnRlcikKKyAgICAgICAgdGVzdFBhc3NlZCgiU2VsZWN0
IGNvbnN1bWVkIHdoZWVsIGV2ZW50cy4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQo
IlNlbGVjdCBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLiIpOworCisgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHNjcm9s
bFRlc3QoKQoreworICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRvY3VtZW50LmJvZHku
c2Nyb2xsVG9wOworICAgIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0gd2luZG93LmZyYW1l
c1sndGFyZ2V0J10uZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisKKyAgICBpZnJhbWVUYXJnZXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisKKyAgICBzZWxlY3RUYXJnZXQg
PSB3aW5kb3cuZnJhbWVzWyd0YXJnZXQnXS5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VsZWN0
VGFyZ2V0Jyk7CisgICAgc2VsZWN0VGFyZ2V0U2Nyb2xsUG9zaXRpb25CZWZvcmUgPSBzZWxlY3RU
YXJnZXQuc2Nyb2xsVG9wOworCisgICAgLy8gU2Nyb2xsIHRoZSAjc291cmNlIHVudGlsIHdlIHJl
YWNoIHRoZSAjdGFyZ2V0LgorICAgIHZhciBzdGFydFBvc1ggPSBNYXRoLnJvdW5kKHNlbGVjdFRh
cmdldC5vZmZzZXRMZWZ0KSArIDEwOworICAgIHZhciBzdGFydFBvc1kgPSBNYXRoLnJvdW5kKHNl
bGVjdFRhcmdldC5vZmZzZXRUb3ApICsgMTA7IC8vIFNsaWdodGx5IG1vcmUgdGhhbiBvbmUgd2hl
ZWwgc2Nyb2xsIGF3YXkgZnJvbSB0aGUgSUZyYW1lCisgICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlX
aXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2FuJywgJ25vbmUnKTsKKyAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdo
ZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2Vu
ZGVkJywgJ25vbmUnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5k
TW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJyk7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdj
b250aW51ZScpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21l
bnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2Nv
bnRpbnVlJyk7CisgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScpOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnbm9uZScsICdlbmQn
KTsKKyAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoY2hlY2tGb3JT
Y3JvbGwpOworCisgICAgLy8gV2Ugc2hvdWxkIGZpbmlzaCB2aWEgdGhlIHNjcm9sbCBldmVudDsg
dGhpcyB3aWxsIGZpcmUgaW4gdGhlIGNhc2Ugb2YgZmFpbHVyZSB3aGVuIHRoZSBwYWdlIGRvZXNu
J3Qgc2Nyb2xsLgorfQorCitmdW5jdGlvbiBzZXR1cFRvcExldmVsKCkKK3sKKyAgICBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworICAgICAgICBldmVudFNlbmRlci5t
b25pdG9yV2hlZWxFdmVudHMoKTsKKyAgICAgICAgc2V0VGltZW91dChzY3JvbGxUZXN0LCAwKTsK
KyAgICB9IGVsc2UgeworICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3BhcmVudCcpOworICAgICAgICB2YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5UaGlz
IHRlc3QgaXMgYmV0dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFsbHkgdGVz
dCBpdCwgcGxhY2UgdGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKKyAgICAgICAgICAgICsgImF0IHRo
ZSB0b3Agb2YgdGhlIHBhZ2UsIGFuZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28t
ZmluZ2VyIHN3aXBlIHRvIHNjcm9sbCB0aGU8YnIvPiIKKyAgICAgICAgICAgICsgImRvd24gcGFz
dCB0aGUgaWZyYW1lLjxici8+PGJyLz4iCisgICAgICAgICAgICArICJUaGUgaWZyYW1lIHNob3Vs
ZCBub3Qgc2Nyb2xsLjwvcD4iOworICAgICAgICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hpbGQo
bWVzc2FnZSk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzxkaXYgaWQ9InBhcmVudCIgc3R5bGU9
ImhlaWdodDogMjAwMHB4OyI+CisgICAgPGlmcmFtZSBpZD0idGFyZ2V0IiBuYW1lPSJ0YXJnZXQi
IGhlaWdodD0iNTAwIiB3aWR0aD0iNjAwIiBzcmM9InJlc291cmNlcy9zZWxlY3RfaWZyYW1lLmh0
bWwiPjwvaWZyYW1lPgorICAgIDwvaWZyYW1lPgorPC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBpZnJhbWUgZG9lc24ndCBj
b25zdW1lIHdoZWVsIGV2ZW50cyB3aGVuIHNjcm9sbGluZyBhIHNlbGVjdCBpbiBhbiBpZnJhbWUu
Iik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvcmVzb3VyY2VzL3NlbGVj
dF9pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Jlc291cmNlcy9zZWxlY3RfaWZyYW1lLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL3Jlc291cmNlcy9zZWxlY3RfaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPiAKKzx0aXRsZT5Q
YWdlIFRpdGxlPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8aDE+VGhpcyBpcyBhIEhlYWRp
bmc8L2gxPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+CisgPHNlbGVjdCBpZD0ic2VsZWN0
VGFyZ2V0IiBzaXplPSI1IiBtdWx0aXBsZT0ibXVsdGlwbGUiIG5hbWU9ImRyaXZlcltdIj4KKyAg
ICAgICAgPG9wdGlvbiB2YWx1ZT0iIiA+KE5vIERyaXZlciBGaWx0ZXIpPC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24gdmFsdWU9ImRyaXZlcm5hbWU9JyciPjwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSJkcml2ZXJuYW1lPSdhbGV4JyI+YWxleDwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSJkcml2ZXJuYW1lPSdtYXJjJyI+bWFyYzwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uIHZhbHVlPSJkcml2ZXJuYW1lPSdmcmFuayciPmZyYW5rPC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24gdmFsdWU9ImRyaXZlcm5hbWU9J2phbWVzJyI+amFtZXM8L29wdGlvbj4KKyAgICA8b3B0
aW9uIHZhbHVlPSJkcml2ZXJuYW1lPSdtaWNoYWVsJyI+bWljaGFlbDwvb3B0aW9uPgorPC9zZWxl
Y3Q+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJhZ3JhcGgu
PC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBo
LjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFw
aC48L3A+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJhZ3Jh
cGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cis8cD5UaGlzIGlzIGEgcGFyYWdy
YXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFn
cmFwaC48L3A+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJh
Z3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cis8cD5UaGlzIGlzIGEgcGFy
YWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBh
cmFncmFwaC48L3A+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBw
YXJhZ3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+CisKKworPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254133</attachid>
            <date>2015-06-02 19:04:36 -0700</date>
            <delta_ts>2015-06-03 11:14:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145574-20150602190417.patch</filename>
            <type>text/plain</type>
            <size>12987</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTEyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDE1LTA2LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046IChyMTgx
ODc5KTogU2Nyb2xsaW5nIGluIHNlbGVjdC9vcHRpb24gcmVnaW9uIGluIGlGcmFtZSBzY3JvbGxz
IGJvdGggc2VsZWN0IGFuZCBpZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0NTU3NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjA5NjY4Mjg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdGVk
IGJ5IHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwt
aWZyYW1lLWxhdGNoZWQtc2VsZWN0Lmh0bWwKKworICAgICAgICBXaGVuIHRoZSBzY3JvbGwgZ2Vz
dHVyZSBpcyBzdGFydGVkIHdoZW4gdGhlIGxhdGNoZWQgc2Nyb2xsYWJsZSBjb250YWluZXIgaXMg
bm90IGF0IHRoZSBsaW1pdCBvZiBpdHMKKyAgICAgICAgc2Nyb2xsIHJlZ2lvbiwgd2UgYXJlIE5P
VCBzdXBwb3NlZCB0byBwcm9wYWdhdGUgdGhlIHNjcm9sbCBldmVudCB0byB0aGUgZW5jbG9zaW5n
IHJlZ2lvbi4gSG93ZXZlciwKKyAgICAgICAgd2Ugd2VyZSBkb2luZyB0d28gdGhpbmdzIHdyb25n
OgorICAgICAgICAoMSkgV2hlbiB3ZSByZWNvZ25pemVkIHdlIHdlcmUgbGF0Y2hpbmcsIHdlIHdl
cmUgdXNpbmcgdGhlIHJpZ2h0IHdoZWVsIGV2ZW50IHRhcmdldCwgYnV0IG5vdCB1c2luZworICAg
ICAgICAgICAgdGhlIGxhdGNoZWQgc2Nyb2xsYWJsZSBjb250YWluZXIuCisgICAgICAgICgyKSBM
aWtld2lzZSwgd2Ugd2VyZSBub3QgdXNpbmcgbGF0Y2hlZCBTY3JvbGxhYmxlQXJlYSB3aGVuIGhh
bmRsaW5nIHdoZWVsIGV2ZW50cy4KKworICAgICAgICBJbnN0ZWFkLCB3ZSB3ZXJlIHVzaW5nIHRo
ZSBjdXJyZW50IHNjcm9sbGFibGUgY29udGFpbmVyIGFuZCBTY3JvbGxhYmxlQXJlYSB1bmRlciB0
aGUgbW91c2UgcG9pbnRlciwKKyAgICAgICAgd2hpY2ggY291bGQgYmUgZGlmZmVyZW50IGZyb20g
dGhlIHBvaW50IHdlIHN0YXJ0ZWQgbGF0Y2hpbmcgYXMgdGhlIGNvbnRlbnQgc2Nyb2xsZWQuCisg
ICAgICAgIAorICAgICAgICBUaGUgZml4IHdhcyB0byBwcm9wZXJseSB0cmFjayB0aGUgc2Nyb2xs
YWJsZSBjb250YWluZXIgYW5kIHNjcm9sbGFibGUgYXJlYSBkdXJpbmcgbGF0Y2hpbmcuCisKKyAg
ICAgICAgSSBhdHRlbXB0ZWQgdG8gc3RvcmUgdGhlIGxhdGNoZWQgU2Nyb2xsYWJsZUFyZWEgaW4g
dGhlIGxhdGNoaW5nU3RhdGUgb2JqZWN0LCBsaWtlIHdlIGFscmVhZHkgZG8gZm9yIHRoZQorICAg
ICAgICBzY3JvbGxhYmxlIGNvbnRhaW5lciwgYnV0IGZvdW5kIHRoYXQgdGhpcyBkaWQgbm90IHdv
cmsgcHJvcGVybHkuIEkgdGhpbmsgdGhlIGxpZmUgY3ljbGUgb2YgdGhlCisgICAgICAgIFNjcm9s
bGFibGVBcmVhIG1heSBub3QgbWF0Y2ggdGhlIHNjcm9sbGFibGUgY29udGFpbmVyLCBhbmQgc2lu
Y2UgdGhleSBhcmUgbm90IHJlZmVyZW5jZSBjb3VudGVkIEkKKyAgICAgICAgc2ltcGx5IHJldHJp
ZXZlIHRoZSBTY3JvbGxhYmxlQXJlYSB3aGVuIG5lZWRlZC4KKworICAgICAgICAqIHBhZ2UvbWFj
L0V2ZW50SGFuZGxlck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnNjcm9sbGFibGVBcmVhRm9y
Q29udGFpbmVyTm9kZSk6IEhlbHBlciBmdW5jdGlvbiB0byByZXR1cm4gdGhlIGNvcnJlY3QgU2Ny
b2xsYWJsZUFyZWEKKyAgICAgICAgZm9yIHRoZSB0d28gdHlwZXMgb2YgUmVuZGVyQm94IGVsZW1l
bnRzLgorICAgICAgICAoV2ViQ29yZTo6bGF0Y2hlZFRvRnJhbWVPckJvZHkpOiBIZWxwZXIgcHJl
ZGljYXRlIHRvIGlkZW50aWZ5IEZyYW1lIGFuZCBCb2R5IGVsZW1lbnRzLgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpwbGF0Zm9ybVByZXBhcmVGb3JXaGVlbEV2ZW50cyk6IFVzZSB0
aGUgY29ycmVjdCBTY3JvbGxhYmxlQXJlYSBmb3IgdGhlIGdpdmVuCisgICAgICAgIENvbnRhaW5l
ck5vZGUuIFdoZW4gbGF0Y2hpbmcsIG1ha2Ugc3VyZSB0byB1c2UgdGhlIFNjcm9sbGFibGVBcmVh
IHRoYXQgaXMgcmVsYXRlZCB0byB0aGUgbGF0Y2hlZCBzY3JvbGxhYmxlCisgICAgICAgIGNvbnRh
aW5lciwgbm90IHRoZSBhcmVhIGN1cnJlbnRseSB1bmRlcm5lYXRoIHRoZSBtb3VzZSBwb2ludGVy
LgorCiAyMDE1LTA2LTAyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW50ZXJuYWxGcmFtZWJ1ZmZlclNpemUK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0JKHJldmlz
aW9uIDE4NTExMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bQkod29ya2luZyBjb3B5KQpAQCAtODgzLDYgKzg4MywyNSBAQCBzdGF0aWMgYm9vbCBsYXRjaGlu
Z0lzTG9ja2VkVG9BbmNlc3Rvck9mCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgU2Ny
b2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhRm9yQ29udGFpbmVyTm9kZShDb250YWluZXJOb2Rl
JiBjb250YWluZXIpCit7CisgICAgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhID0gbnVs
bHB0cjsKKworICAgIGlmIChSZW5kZXJCb3gqIGJveCA9IGNvbnRhaW5lci5yZW5kZXJCb3goKSkg
eworICAgICAgICBpZiAoaXM8UmVuZGVyTGlzdEJveD4oKmJveCkpCisgICAgICAgICAgICBzY3Jv
bGxhYmxlQXJlYSA9IGRvd25jYXN0PFJlbmRlckxpc3RCb3g+KGJveCk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhID0gYm94LT5sYXllcigpOworICAgIH0KKworICAg
IHJldHVybiBzY3JvbGxhYmxlQXJlYTsKK30KKworc3RhdGljIGJvb2wgbGF0Y2hlZFRvRnJhbWVP
ckJvZHkoQ29udGFpbmVyTm9kZSYgY29udGFpbmVyKQoreworICAgIHJldHVybiBpczxIVE1MRnJh
bWVTZXRFbGVtZW50Pihjb250YWluZXIpIHx8IGlzPEhUTUxCb2R5RWxlbWVudD4oY29udGFpbmVy
KTsKK30KKwogdm9pZCBFdmVudEhhbmRsZXI6OnBsYXRmb3JtUHJlcGFyZUZvcldoZWVsRXZlbnRz
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgY29uc3QgSGl0VGVzdFJlc3Vs
dCYgcmVzdWx0LCBSZWZQdHI8RWxlbWVudD4mIHdoZWVsRXZlbnRUYXJnZXQsIFJlZlB0cjxDb250
YWluZXJOb2RlPiYgc2Nyb2xsYWJsZUNvbnRhaW5lciwgU2Nyb2xsYWJsZUFyZWEqJiBzY3JvbGxh
YmxlQXJlYSwgYm9vbCYgaXNPdmVyV2lkZ2V0KQogewogICAgIEZyYW1lVmlldyogdmlldyA9IG1f
ZnJhbWUudmlldygpOwpAQCAtODk3LDE0ICs5MTYsOSBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6cGxh
dGZvcm1QcmVwYXJlRm9yV2hlCiAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYSA9IHNjcm9sbFZp
ZXdGb3JFdmVudFRhcmdldCh3aGVlbEV2ZW50VGFyZ2V0LmdldCgpKTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIHNjcm9sbGFibGVDb250YWluZXIgPSBmaW5kRW5jbG9zaW5nT3ZlcmZs
b3dTY3JvbGwod2hlZWxFdmVudFRhcmdldC5nZXQoKSk7Ci0gICAgICAgICAgICBpZiAoc2Nyb2xs
YWJsZUNvbnRhaW5lcikgewotICAgICAgICAgICAgICAgIGlmIChSZW5kZXJCb3gqIGJveCA9IHNj
cm9sbGFibGVDb250YWluZXItPnJlbmRlckJveCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChpczxSZW5kZXJMaXN0Qm94PigqYm94KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9s
bGFibGVBcmVhID0gZG93bmNhc3Q8UmVuZGVyTGlzdEJveD4oYm94KTsKLSAgICAgICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEgPSBib3gt
PmxheWVyKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgIGlmIChzY3JvbGxhYmxlQ29udGFpbmVyKQorICAgICAgICAgICAgICAgIHNjcm9sbGFi
bGVBcmVhID0gc2Nyb2xsYWJsZUFyZWFGb3JDb250YWluZXJOb2RlKCpzY3JvbGxhYmxlQ29udGFp
bmVyKTsKKyAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVDb250
YWluZXIgPSB2aWV3LT5mcmFtZSgpLmRvY3VtZW50KCktPmJvZHlPckZyYW1lc2V0KCk7CiAgICAg
ICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEgPSB2aWV3OwogICAgICAgICAgICAgfQpAQCAtOTQ0
LDYgKzk1OCwxMiBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6cGxhdGZvcm1QcmVwYXJlRm9yV2hlCiAK
ICAgICAgICAgd2hlZWxFdmVudFRhcmdldCA9IGxhdGNoaW5nU3RhdGUtPndoZWVsRXZlbnRFbGVt
ZW50KCk7CiAgICAgICAgIGlzT3ZlcldpZGdldCA9IGxhdGNoaW5nU3RhdGUtPndpZGdldElzTGF0
Y2hlZCgpOworICAgICAgICBzY3JvbGxhYmxlQ29udGFpbmVyID0gbGF0Y2hpbmdTdGF0ZS0+c2Ny
b2xsYWJsZUNvbnRhaW5lcigpOworCisgICAgICAgIGlmIChzY3JvbGxhYmxlQ29udGFpbmVyKSB7
CisgICAgICAgICAgICBpZiAoIWxhdGNoZWRUb0ZyYW1lT3JCb2R5KCpzY3JvbGxhYmxlQ29udGFp
bmVyKSAmJiAhbGF0Y2hpbmdTdGF0ZS0+d2lkZ2V0SXNMYXRjaGVkKCkpCisgICAgICAgICAgICAg
ICAgc2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYUZvckNvbnRhaW5lck5vZGUoKnNjcm9s
bGFibGVDb250YWluZXIpOworICAgICAgICB9CiAgICAgfQogfQogCkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAxODUxMzApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNSBAQAorMjAxNS0wNi0wMiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OOiAocjE4MTg3OSk6IFNjcm9sbGluZyBpbiBzZWxlY3Qv
b3B0aW9uIHJlZ2lvbiBpbiBpRnJhbWUgc2Nyb2xscyBib3RoIHNlbGVjdCBhbmQgaWZyYW1lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU1NzQKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIwOTY2ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9mYXN0LXNjcm9sbC1pZnJhbWUtbGF0Y2hlZC1zZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLXNlbGVjdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9zZWxl
Y3RfaWZyYW1lLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA2LTAyICBEZWFuIEphY2tzb24gIDxkaW5v
QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW50
ZXJuYWxGcmFtZWJ1ZmZlclNpemUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtc2VsZWN0
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLXNlbGVj
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zhc3Qtc2Nyb2xsLWlmcmFtZS1sYXRjaGVkLXNl
bGVjdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNiBAQAorCitUZXN0
cyB0aGF0IGlmcmFtZSBkb2Vzbid0IGNvbnN1bWUgd2hlZWwgZXZlbnRzIHdoZW4gc2Nyb2xsaW5n
IGEgc2VsZWN0IGluIGFuIGlmcmFtZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorUEFTUyBQ
YWdlIGRpZCBub3QgcmVjZWl2ZSB3aGVlbCBldmVudHMuCitQQVNTIElGcmFtZSBkaWQgbm90IHJl
Y2VpdmUgd2hlZWwgZXZlbnRzLgorUEFTUyBTZWxlY3QgY29uc3VtZWQgd2hlZWwgZXZlbnRzLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFz
dC1zY3JvbGwtaWZyYW1lLWxhdGNoZWQtc2VsZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mYXN0LXNjcm9s
bC1pZnJhbWUtbGF0Y2hlZC1zZWxlY3QuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZmFzdC1zY3JvbGwtaWZy
YW1lLWxhdGNoZWQtc2VsZWN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5OSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1XaGVlbEV2ZW50
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cFRvcExldmVsKCk7Ij4KKzxzY3Jp
cHQ+Cit2YXIgcGFnZVNjcm9sbFBvc2l0aW9uQmVmb3JlOwordmFyIGlmcmFtZVRhcmdldDsKK3Zh
ciBpRnJhbWVTY3JvbGxQb3NpdGlvbkJlZm9yZTsKK3ZhciBzZWxlY3RUYXJnZXQ7Cit2YXIgc2Vs
ZWN0VGFyZ2V0U2Nyb2xsUG9zaXRpb25CZWZvcmU7CisKK2Z1bmN0aW9uIGNoZWNrRm9yU2Nyb2xs
KCkKK3sKKyAgICAvLyBUaGUgSUZyYW1lIHNob3VsZCBub3QgaGF2ZSBzY3JvbGxlZCBhdCBhbGwu
CisgICAgdmFyIHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyID0gZG9jdW1lbnQuYm9keS5zY3JvbGxU
b3A7CisgICAgaWYgKHBhZ2VTY3JvbGxQb3NpdGlvbkFmdGVyICE9IHBhZ2VTY3JvbGxQb3NpdGlv
bkFmdGVyKQorICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGNvbnN1bWVkIHdoZWVsIGV2ZW50cy4i
KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZGlkIG5vdCByZWNlaXZlIHdo
ZWVsIGV2ZW50cy4iKTsKKworICAgIHZhciBpRnJhbWVTY3JvbGxQb3NpdGlvbkFmdGVyID0gd2lu
ZG93LmZyYW1lc1sndGFyZ2V0J10uZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisgICAgaWYgKGlG
cmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlICE9IGlGcmFtZVNjcm9sbFBvc2l0aW9uQWZ0ZXIpCisg
ICAgICAgIHRlc3RGYWlsZWQoIklGcmFtZSBjb25zdW1lZCB3aGVlbCBldmVudHMuIik7CisgICAg
ZWxzZQorICAgICAgICB0ZXN0UGFzc2VkKCJJRnJhbWUgZGlkIG5vdCByZWNlaXZlIHdoZWVsIGV2
ZW50cy4iKTsKKworICAgIHZhciBzZWxlY3RUYXJnZXRTY3JvbGxQb3NpdGlvbkFmdGVyID0gc2Vs
ZWN0VGFyZ2V0LnNjcm9sbFRvcDsKKyAgICBpZiAoc2VsZWN0VGFyZ2V0U2Nyb2xsUG9zaXRpb25C
ZWZvcmUgIT0gc2VsZWN0VGFyZ2V0U2Nyb2xsUG9zaXRpb25BZnRlcikKKyAgICAgICAgdGVzdFBh
c3NlZCgiU2VsZWN0IGNvbnN1bWVkIHdoZWVsIGV2ZW50cy4iKTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RGYWlsZWQoIlNlbGVjdCBkaWQgbm90IHJlY2VpdmUgd2hlZWwgZXZlbnRzLiIpOworCisg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1
bmN0aW9uIHNjcm9sbFRlc3QoKQoreworICAgIHBhZ2VTY3JvbGxQb3NpdGlvbkJlZm9yZSA9IGRv
Y3VtZW50LmJvZHkuc2Nyb2xsVG9wOworICAgIGlGcmFtZVNjcm9sbFBvc2l0aW9uQmVmb3JlID0g
d2luZG93LmZyYW1lc1sndGFyZ2V0J10uZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CisKKyAgICBp
ZnJhbWVUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisKKyAgICBz
ZWxlY3RUYXJnZXQgPSB3aW5kb3cuZnJhbWVzWyd0YXJnZXQnXS5kb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnc2VsZWN0VGFyZ2V0Jyk7CisgICAgc2VsZWN0VGFyZ2V0U2Nyb2xsUG9zaXRpb25CZWZv
cmUgPSBzZWxlY3RUYXJnZXQuc2Nyb2xsVG9wOworCisgICAgLy8gU2Nyb2xsIHRoZSAjc291cmNl
IHVudGlsIHdlIHJlYWNoIHRoZSAjdGFyZ2V0LgorICAgIHZhciBzdGFydFBvc1ggPSBNYXRoLnJv
dW5kKHNlbGVjdFRhcmdldC5vZmZzZXRMZWZ0KSArIDEwOworICAgIHZhciBzdGFydFBvc1kgPSBN
YXRoLnJvdW5kKHNlbGVjdFRhcmdldC5vZmZzZXRUb3ApICsgMTA7IC8vIFNsaWdodGx5IG1vcmUg
dGhhbiBvbmUgd2hlZWwgc2Nyb2xsIGF3YXkgZnJvbSB0aGUgSUZyYW1lCisgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2JlZ2FuJywgJ25v
bmUnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1Q
aGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUn
KTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJyk7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0x
LCAnbm9uZScsICdjb250aW51ZScpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUnLCAnY29udGludWUnKTsKKyAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdub25lJywgJ2NvbnRpbnVlJyk7CisgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnbm9uZScsICdjb250aW51ZScpOworICAgIGV2
ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAn
bm9uZScsICdlbmQnKTsKKyAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0
ZXMoY2hlY2tGb3JTY3JvbGwpOworCisgICAgLy8gV2Ugc2hvdWxkIGZpbmlzaCB2aWEgdGhlIHNj
cm9sbCBldmVudDsgdGhpcyB3aWxsIGZpcmUgaW4gdGhlIGNhc2Ugb2YgZmFpbHVyZSB3aGVuIHRo
ZSBwYWdlIGRvZXNuJ3Qgc2Nyb2xsLgorfQorCitmdW5jdGlvbiBzZXR1cFRvcExldmVsKCkKK3sK
KyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworICAgICAgICBl
dmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKKyAgICAgICAgc2V0VGltZW91dChzY3Jv
bGxUZXN0LCAwKTsKKyAgICB9IGVsc2UgeworICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudCcpOworICAgICAgICB2YXIgbWVzc2FnZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICBtZXNzYWdlLmlubmVySFRN
TCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8g
bWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKKyAgICAgICAg
ICAgICsgImF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIGFuZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hl
ZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBlIHRvIHNjcm9sbCB0aGU8YnIvPiIKKyAgICAgICAgICAg
ICsgImRvd24gcGFzdCB0aGUgaWZyYW1lLjxici8+PGJyLz4iCisgICAgICAgICAgICArICJUaGUg
aWZyYW1lIHNob3VsZCBub3Qgc2Nyb2xsLjwvcD4iOworICAgICAgICBtZXNzYWdlTG9jYXRpb24u
YXBwZW5kQ2hpbGQobWVzc2FnZSk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzxkaXYgaWQ9InBh
cmVudCIgc3R5bGU9ImhlaWdodDogMjAwMHB4OyI+CisgICAgPGlmcmFtZSBpZD0idGFyZ2V0IiBu
YW1lPSJ0YXJnZXQiIGhlaWdodD0iNTAwIiB3aWR0aD0iNjAwIiBzcmM9InJlc291cmNlcy9zZWxl
Y3RfaWZyYW1lLmh0bWwiPjwvaWZyYW1lPgorICAgIDwvaWZyYW1lPgorPC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBpZnJh
bWUgZG9lc24ndCBjb25zdW1lIHdoZWVsIGV2ZW50cyB3aGVuIHNjcm9sbGluZyBhIHNlbGVjdCBp
biBhbiBpZnJhbWUuIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvcmVz
b3VyY2VzL3NlbGVjdF9pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Jlc291cmNlcy9zZWxlY3RfaWZy
YW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Jlc291cmNlcy9zZWxlY3RfaWZyYW1lLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PiAKKzx0aXRsZT5QYWdlIFRpdGxlPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8aDE+VGhp
cyBpcyBhIEhlYWRpbmc8L2gxPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+CisgPHNlbGVj
dCBpZD0ic2VsZWN0VGFyZ2V0IiBzaXplPSI1IiBtdWx0aXBsZT0ibXVsdGlwbGUiIG5hbWU9ImRy
aXZlcltdIj4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIiA+KE5vIERyaXZlciBGaWx0ZXIpPC9v
cHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9ImRyaXZlcm5hbWU9JyciPjwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uIHZhbHVlPSJkcml2ZXJuYW1lPSdhbGV4JyI+YWxleDwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uIHZhbHVlPSJkcml2ZXJuYW1lPSdtYXJjJyI+bWFyYzwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uIHZhbHVlPSJkcml2ZXJuYW1lPSdmcmFuayciPmZyYW5rPC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24gdmFsdWU9ImRyaXZlcm5hbWU9J2phbWVzJyI+amFtZXM8L29wdGlv
bj4KKyAgICA8b3B0aW9uIHZhbHVlPSJkcml2ZXJuYW1lPSdtaWNoYWVsJyI+bWljaGFlbDwvb3B0
aW9uPgorPC9zZWxlY3Q+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMg
YSBwYXJhZ3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cis8cD5UaGlzIGlz
IGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+VGhpcyBp
cyBhIHBhcmFncmFwaC48L3A+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMg
aXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cis8cD5UaGlz
IGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+VGhp
cyBpcyBhIHBhcmFncmFwaC48L3A+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRo
aXMgaXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cis8cD5U
aGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxwPlRoaXMgaXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+
VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+Cis8cD5UaGlzIGlzIGEgcGFyYWdyYXBoLjwvcD4KKzxw
PlRoaXMgaXMgYSBwYXJhZ3JhcGguPC9wPgorPHA+VGhpcyBpcyBhIHBhcmFncmFwaC48L3A+CisK
KworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="279117"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>