<?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>92538</bug_id>
          
          <creation_ts>2012-07-27 12:43:41 -0700</creation_ts>
          <short_desc>Add diagnostic logging for plugins-per-page.</short_desc>
          <delta_ts>2012-07-30 17:43:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>680986</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-27 12:43:41 -0700</bug_when>
    <thetext>Add diagnostic logging for plugins-per-page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680992</commentid>
    <comment_count>1</comment_count>
      <attachid>155027</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-27 12:48:17 -0700</bug_when>
    <thetext>Created attachment 155027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681041</commentid>
    <comment_count>2</comment_count>
      <attachid>155027</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-07-27 13:44:26 -0700</bug_when>
    <thetext>Comment on attachment 155027
Patch

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

&gt; Source/WebCore/html/HTMLEmbedElement.cpp:190
&gt; +    if (document()-&gt;page() &amp;&amp; document()-&gt;page()-&gt;settings()-&gt;diagnosticLoggingEnabled()) {
&gt; +        Page* page = document()-&gt;page();
&gt; +        ChromeClient* client = page-&gt;chrome()-&gt;client();
&gt; +        client-&gt;logDiagnosticMessage(success ? DiagnosticLoggingKeys::pluginLoadedKey() : DiagnosticLoggingKeys::pluginLoadingFailedKey(), m_serviceType, DiagnosticLoggingKeys::noopKey());
&gt; +        if (!page-&gt;hasSeenAnyPlugin())
&gt; +            client-&gt;logDiagnosticMessage(DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey(), emptyString(), DiagnosticLoggingKeys::noopKey());
&gt; +        if (!page-&gt;hasSeenPlugin(m_serviceType))
&gt; +            client-&gt;logDiagnosticMessage(DiagnosticLoggingKeys::pageContainsPluginKey(), m_serviceType, DiagnosticLoggingKeys::noopKey());
&gt; +        page-&gt;sawPlugin(m_serviceType);
&gt; +    }

I think this code can be moved into a function in HTMLPluginImageElement and shared between HTMLEmbedElement and HTMLObjectElement. You also need to do the same thing now for HTMLAppletElement. You also want to null check page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681085</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-27 14:21:44 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 155027 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155027&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLEmbedElement.cpp:190
&gt; &gt; +    if (document()-&gt;page() &amp;&amp; document()-&gt;page()-&gt;settings()-&gt;diagnosticLoggingEnabled()) {
&gt; &gt; +        Page* page = document()-&gt;page();
&gt; &gt; +        ChromeClient* client = page-&gt;chrome()-&gt;client();
&gt; &gt; +        client-&gt;logDiagnosticMessage(success ? DiagnosticLoggingKeys::pluginLoadedKey() : DiagnosticLoggingKeys::pluginLoadingFailedKey(), m_serviceType, DiagnosticLoggingKeys::noopKey());
&gt; &gt; +        if (!page-&gt;hasSeenAnyPlugin())
&gt; &gt; +            client-&gt;logDiagnosticMessage(DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey(), emptyString(), DiagnosticLoggingKeys::noopKey());
&gt; &gt; +        if (!page-&gt;hasSeenPlugin(m_serviceType))
&gt; &gt; +            client-&gt;logDiagnosticMessage(DiagnosticLoggingKeys::pageContainsPluginKey(), m_serviceType, DiagnosticLoggingKeys::noopKey());
&gt; &gt; +        page-&gt;sawPlugin(m_serviceType);
&gt; &gt; +    }
&gt; 
&gt; I think this code can be moved into a function in HTMLPluginImageElement and shared between HTMLEmbedElement and HTMLObjectElement. You also need to do the same thing now for HTMLAppletElement.

Sure thing.

&gt; You also want to null check page.

Page gets null checked on the first line, but yes. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681163</commentid>
    <comment_count>4</comment_count>
      <attachid>155069</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-27 15:36:25 -0700</bug_when>
    <thetext>Created attachment 155069
Patch

Moved logging into SubframeLoader to catch all plugin subtypes, including HTMLAppletElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681180</commentid>
    <comment_count>5</comment_count>
      <attachid>155074</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-27 15:48:27 -0700</bug_when>
    <thetext>Created attachment 155074
Patch

Now with more applets!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681193</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-27 15:58:11 -0700</bug_when>
    <thetext>Committed r123930: &lt;http://trac.webkit.org/changeset/123930&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682568</commentid>
    <comment_count>7</comment_count>
      <attachid>155074</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-07-30 17:43:02 -0700</bug_when>
    <thetext>Comment on attachment 155074
Patch

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

&gt; Source/WebCore/page/Page.cpp:1174
&gt; +bool Page::hasSeenPlugin(const String&amp; serviceType) const
&gt; +{
&gt; +    return m_seenPlugins.contains(serviceType);
&gt; +}
&gt; +
&gt; +void Page::sawPlugin(const String&amp; serviceType)
&gt; +{
&gt; +    m_seenPlugins.add(serviceType);
&gt; +}

Do we have a guarantee that serviceType won’t be the empty string or null?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155027</attachid>
            <date>2012-07-27 12:48:17 -0700</date>
            <delta_ts>2012-07-27 15:36:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92538-20120727124805.patch</filename>
            <type>text/plain</type>
            <size>7982</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzOTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU2Nzk3MGNlYjNlOWMy
NGNlNjc1Y2NlY2VhNGMwNzQ4YzdlN2RhOS4uNzViNDUxN2ViY2FmYzQxYjQxNzRkN2I0ZjY5YWI0
MGI4NDE1YTc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA3LTI3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBkaWFnbm9zdGljIGxv
Z2dpbmcgZm9yIHBsdWdpbnMtcGVyLXBhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MjUzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIGRpYWdub3N0aWMgbG9nZ2luZyBmb3Igd2hldGhl
ciBhIHBhZ2UgaGFzIHNlZW4gYSBwbHVnaW4sIGFuZCAKKyAgICAgICAgd2hldGhlciBhIHBhZ2Ug
aGFzIHNlZW4gYSBwbHVnaW4gb2YgYSBzcGVjaWZpYyB0eXBlLgorCisgICAgICAgICogaHRtbC9I
VE1MRW1iZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6
OnVwZGF0ZVdpZGdldCk6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6dXBkYXRlV2lkZ2V0KToKKworICAg
ICAgICBBZGQgbmV3IGRpYWdub3N0aWMga2V5IHZhbHVlczoKKyAgICAgICAgKiBwYWdlL0RpYWdu
b3N0aWNMb2dnaW5nS2V5cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OnBhZ2VDb250YWluc1BsdWdpbktleSk6CisgICAgICAgIChXZWJDb3JlOjpEaWFnbm9z
dGljTG9nZ2luZ0tleXM6OnBhZ2VDb250YWluc0F0TGVhc3RPbmVQbHVnaW5LZXkpOgorICAgICAg
ICAqIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmg6CisKKyAgICAgICAgQWRkIGEgbWFwIG9m
IHBsdWdpbiB0eXBlcyBzZWVuIHBlci1wYWdlIGZvciBkaWFnbm9zdGljIHB1cnBvc2VzOgorICAg
ICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpoYXNTZWVuQW55
UGx1Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Omhhc1NlZW5QbHVnaW4pOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZTo6c2F3UGx1Z2luKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKwog
MjAxMi0wNy0yNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIEhp
dCB0ZXN0aW5nIG5lYXIgYSBjb2x1bW4gYnJlYWsgY2FuIHJldHVybiBhIHJlc3VsdCBmcm9tIGFu
IGFkamFjZW50IGNvbHVtbiB3aGVuIHRoZXJlIGlzIGxlYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxFbWJlZEVsZW1lbnQuY3BwCmluZGV4IGJhZjg4Y2Y4NThlYjU1MTVlMGU5NzI1N2Y2YWFj
MjU5MTM2ODNjOGUuLjhjOTFmNjcxNWE4YWM1NDU4YjQ1N2RmNWFlOTM5NDNlNGYzMTRiNTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcApAQCAtMTc4LDggKzE3OCwx
NiBAQCB2b2lkIEhUTUxFbWJlZEVsZW1lbnQ6OnVwZGF0ZVdpZGdldChQbHVnaW5DcmVhdGlvbk9w
dGlvbiBwbHVnaW5DcmVhdGlvbk9wdGlvbikKICAgICAvLyBGSVhNRTogYmVmb3JlTG9hZCBjb3Vs
ZCBoYXZlIGRldGFjaGVkIHRoZSByZW5kZXJlciEgIEp1c3QgbGlrZSBpbiB0aGUgPG9iamVjdD4g
Y2FzZSBhYm92ZS4KICAgICBib29sIHN1Y2Nlc3MgPSBsb2FkZXItPnJlcXVlc3RPYmplY3QodGhp
cywgbV91cmwsIGdldE5hbWVBdHRyaWJ1dGUoKSwgbV9zZXJ2aWNlVHlwZSwgcGFyYW1OYW1lcywg
cGFyYW1WYWx1ZXMpOwogCi0gICAgaWYgKGRvY3VtZW50KCktPnBhZ2UoKSAmJiBkb2N1bWVudCgp
LT5wYWdlKCktPnNldHRpbmdzKCktPmRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCgpKQotICAgICAg
ICBkb2N1bWVudCgpLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+bG9nRGlhZ25vc3RpY01l
c3NhZ2Uoc3VjY2VzcyA/IERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGx1Z2luTG9hZGVkS2V5KCkg
OiBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkxvYWRpbmdGYWlsZWRLZXkoKSwgbV9zZXJ2
aWNlVHlwZSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpub29wS2V5KCkpOworICAgIGlmIChkb2N1
bWVudCgpLT5wYWdlKCkgJiYgZG9jdW1lbnQoKS0+cGFnZSgpLT5zZXR0aW5ncygpLT5kaWFnbm9z
dGljTG9nZ2luZ0VuYWJsZWQoKSkgeworICAgICAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS0+
cGFnZSgpOworICAgICAgICBDaHJvbWVDbGllbnQqIGNsaWVudCA9IHBhZ2UtPmNocm9tZSgpLT5j
bGllbnQoKTsKKyAgICAgICAgY2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2FnZShzdWNjZXNzID8g
RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwbHVnaW5Mb2FkZWRLZXkoKSA6IERpYWdub3N0aWNMb2dn
aW5nS2V5czo6cGx1Z2luTG9hZGluZ0ZhaWxlZEtleSgpLCBtX3NlcnZpY2VUeXBlLCBEaWFnbm9z
dGljTG9nZ2luZ0tleXM6Om5vb3BLZXkoKSk7CisgICAgICAgIGlmICghcGFnZS0+aGFzU2VlbkFu
eVBsdWdpbigpKQorICAgICAgICAgICAgY2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2FnZShEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OnBhZ2VDb250YWluc0F0TGVhc3RPbmVQbHVnaW5LZXkoKSwgZW1w
dHlTdHJpbmcoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpub29wS2V5KCkpOworICAgICAgICBp
ZiAoIXBhZ2UtPmhhc1NlZW5QbHVnaW4obV9zZXJ2aWNlVHlwZSkpCisgICAgICAgICAgICBjbGll
bnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFnZUNvbnRh
aW5zUGx1Z2luS2V5KCksIG1fc2VydmljZVR5cGUsIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bm9v
cEtleSgpKTsKKyAgICAgICAgcGFnZS0+c2F3UGx1Z2luKG1fc2VydmljZVR5cGUpOworICAgIH0K
IH0KIAogYm9vbCBIVE1MRW1iZWRFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVS
ZW5kZXJpbmdDb250ZXh0JiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmNwcAppbmRleCAzNjljZTYyNWM1MjNhMmFkOTg1NjU2N2M5ZWJkYjAxZTUyYWY5OTZh
Li4xMDIzYmQ3ZWQ3N2ZiMGIwNzUwMDM4ZmVhZjFhZWZmYzU0Zjc2MGE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcApAQCAtMzIwLDggKzMyMCwxNiBAQCB2b2lk
IEhUTUxPYmplY3RFbGVtZW50Ojp1cGRhdGVXaWRnZXQoUGx1Z2luQ3JlYXRpb25PcHRpb24gcGx1
Z2luQ3JlYXRpb25PcHRpb24pCiAgICAgaWYgKCFzdWNjZXNzICYmIGZhbGxiYWNrQ29udGVudCkK
ICAgICAgICAgcmVuZGVyRmFsbGJhY2tDb250ZW50KCk7CiAKLSAgICBpZiAoZG9jdW1lbnQoKS0+
cGFnZSgpICYmIGRvY3VtZW50KCktPnBhZ2UoKS0+c2V0dGluZ3MoKS0+ZGlhZ25vc3RpY0xvZ2dp
bmdFbmFibGVkKCkpCi0gICAgICAgIGRvY3VtZW50KCktPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVu
dCgpLT5sb2dEaWFnbm9zdGljTWVzc2FnZShzdWNjZXNzID8gRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
OjpwbHVnaW5Mb2FkZWRLZXkoKSA6IERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGx1Z2luTG9hZGlu
Z0ZhaWxlZEtleSgpLCBzZXJ2aWNlVHlwZSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpub29wS2V5
KCkpOworICAgIGlmIChkb2N1bWVudCgpLT5wYWdlKCkgJiYgZG9jdW1lbnQoKS0+cGFnZSgpLT5z
ZXR0aW5ncygpLT5kaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQoKSkgeworICAgICAgICBQYWdlKiBw
YWdlID0gZG9jdW1lbnQoKS0+cGFnZSgpOworICAgICAgICBDaHJvbWVDbGllbnQqIGNsaWVudCA9
IHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKTsKKyAgICAgICAgY2xpZW50LT5sb2dEaWFnbm9zdGlj
TWVzc2FnZShzdWNjZXNzID8gRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwbHVnaW5Mb2FkZWRLZXko
KSA6IERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGx1Z2luTG9hZGluZ0ZhaWxlZEtleSgpLCBzZXJ2
aWNlVHlwZSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpub29wS2V5KCkpOworICAgICAgICBpZiAo
IXBhZ2UtPmhhc1NlZW5BbnlQbHVnaW4oKSkKKyAgICAgICAgICAgIGNsaWVudC0+bG9nRGlhZ25v
c3RpY01lc3NhZ2UoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNBdExlYXN0T25l
UGx1Z2luS2V5KCksIGVtcHR5U3RyaW5nKCksIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bm9vcEtl
eSgpKTsKKyAgICAgICAgaWYgKCFwYWdlLT5oYXNTZWVuUGx1Z2luKHNlcnZpY2VUeXBlKSkKKyAg
ICAgICAgICAgIGNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2UoRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjpwYWdlQ29udGFpbnNQbHVnaW5LZXkoKSwgc2VydmljZVR5cGUsIERpYWdub3N0aWNMb2dn
aW5nS2V5czo6bm9vcEtleSgpKTsKKyAgICAgICAgcGFnZS0+c2F3UGx1Z2luKHNlcnZpY2VUeXBl
KTsKKyAgICB9CiB9CiAKIGJvb2wgSFRNTE9iamVjdEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQo
Y29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAKaW5kZXggY2JkNGY2MTI0ZGI3NWU1N2I1ZDE5
MDVhNTNhZTc3ZTQ3ZjI3NGM2Ni4uZDcxYTYwNWE4MjNhY2ZmZjQ4ZjJkOWU3NzM0MjBmMWIzMGZm
MjkyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tl
eXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNw
cApAQCAtNTIsNiArNTIsMTggQEAgY29uc3QgU3RyaW5nJiBEaWFnbm9zdGljTG9nZ2luZ0tleXM6
OnBsdWdpbkxvYWRpbmdGYWlsZWRLZXkoKQogICAgIHJldHVybiBrZXk7CiB9CiAKK2NvbnN0IFN0
cmluZyYgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNQbHVnaW5LZXkoKQorewor
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBrZXksICgicGFnZUNvbnRhaW5z
UGx1Z2luIikpOworICAgIHJldHVybiBrZXk7Cit9CisKK2NvbnN0IFN0cmluZyYgRGlhZ25vc3Rp
Y0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNBdExlYXN0T25lUGx1Z2luS2V5KCkKK3sKKyAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywga2V5LCAoInBhZ2VDb250YWluc0F0TGVh
c3RPbmVQbHVnaW4iKSk7CisgICAgcmV0dXJuIGtleTsKK30KKwogY29uc3QgU3RyaW5nJiBEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OnBhc3NLZXkoKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgU3RyaW5nLCBrZXksICgicGFzcyIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdu
b3N0aWNMb2dnaW5nS2V5cy5oCmluZGV4IDQ1NDIzMjA4ZGU3OTcyMzZiMGRmMDE2NDVlZTYxY2Yy
OWE2MTFiNTguLjk1MTgwNmU1N2YwMjViYjkwZjhjNmQxNzViYjUzNjYyNjE5M2IzNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaApAQCAtMzcsNiArMzcs
OCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgbWVkaWFMb2FkaW5nRmFpbGVk
S2V5KCk7CiAgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgcGx1Z2luTG9hZGVkS2V5KCk7CiAgICAg
c3RhdGljIGNvbnN0IFN0cmluZyYgcGx1Z2luTG9hZGluZ0ZhaWxlZEtleSgpOworICAgIHN0YXRp
YyBjb25zdCBTdHJpbmcmIHBhZ2VDb250YWluc1BsdWdpbktleSgpOworICAgIHN0YXRpYyBjb25z
dCBTdHJpbmcmIHBhZ2VDb250YWluc0F0TGVhc3RPbmVQbHVnaW5LZXkoKTsKICAgICAKICAgICAv
LyBTdWNjZXNzIGtleXMKICAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBwYXNzS2V5KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAppbmRleCA3NGVmMzlhYTM2ODMxYjhhY2FjMzJmMzVhYzNmYjFkNzVkMzk3ZjRl
Li4zOTU3NmUxMjk5N2QwYjlkYjUxYzFmOThkMjkyMjE1YTIzY2RlNjIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKQEAgLTExNTgsNiArMTE1OCwyMSBAQCB2b2lkIFBhZ2U6OnJlc3VtZUFjdGl2ZURPTU9i
amVjdHNBbmRBbmltYXRpb25zKCkKICAgICAgICAgZnJhbWUtPnJlc3VtZUFjdGl2ZURPTU9iamVj
dHNBbmRBbmltYXRpb25zKCk7CiB9CiAKK2Jvb2wgUGFnZTo6aGFzU2VlbkFueVBsdWdpbigpIGNv
bnN0Cit7CisgICAgcmV0dXJuICFtX3NlZW5QbHVnaW5zLmlzRW1wdHkoKTsKK30KKworYm9vbCBQ
YWdlOjpoYXNTZWVuUGx1Z2luKGNvbnN0IFN0cmluZyYgc2VydmljZVR5cGUpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fc2VlblBsdWdpbnMuY29udGFpbnMoc2VydmljZVR5cGUpOworfQorCit2b2lk
IFBhZ2U6OnNhd1BsdWdpbihjb25zdCBTdHJpbmcmIHNlcnZpY2VUeXBlKQoreworICAgIG1fc2Vl
blBsdWdpbnMuYWRkKHNlcnZpY2VUeXBlKTsKK30KKwogUGFnZTo6UGFnZUNsaWVudHM6OlBhZ2VD
bGllbnRzKCkKICAgICA6IGFsdGVybmF0aXZlVGV4dENsaWVudCgwKQogICAgICwgY2hyb21lQ2xp
ZW50KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGQ3NTlmYjg2ZmM2Y2FhMTAyYTJlMTdjODkwOWY1ZGQ5
ZDdjMWRkMmUuLmJlNWJkNzE5MGZhNDgyNWYzMDFkNWM4ZWE3Y2NiZTZhYzgxY2QyMWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oCkBAIC0zNDgsNiArMzQ4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICBBbHRlcm5hdGl2ZVRleHRDbGllbnQqIGFsdGVybmF0aXZlVGV4dENsaWVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fYWx0ZXJuYXRpdmVUZXh0Q2xpZW50OyB9CiAKKyAgICAgICAgYm9vbCBoYXNT
ZWVuUGx1Z2luKGNvbnN0IFN0cmluZyYgc2VydmljZVR5cGUpIGNvbnN0OworICAgICAgICBib29s
IGhhc1NlZW5BbnlQbHVnaW4oKSBjb25zdDsKKyAgICAgICAgdm9pZCBzYXdQbHVnaW4oY29uc3Qg
U3RyaW5nJiBzZXJ2aWNlVHlwZSk7CisKICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIGluaXRH
cm91cCgpOwogCkBAIC00NTEsNiArNDU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBBbHRlcm5hdGl2ZVRleHRDbGllbnQqIG1fYWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwogCiAgICAg
ICAgIGJvb2wgbV9zY3JpcHRlZEFuaW1hdGlvbnNTdXNwZW5kZWQ7CisKKyAgICAgICAgSGFzaFNl
dDxTdHJpbmc+IG1fc2VlblBsdWdpbnM7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155069</attachid>
            <date>2012-07-27 15:36:25 -0700</date>
            <delta_ts>2012-07-27 15:48:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92538-20120727153613.patch</filename>
            <type>text/plain</type>
            <size>10649</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzOTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU2Nzk3MGNlYjNlOWMy
NGNlNjc1Y2NlY2VhNGMwNzQ4YzdlN2RhOS4uZjI4NGRkNWEwZGRkYTgyNzFkNjQxMzU5ZmQ3NDBl
ZjMxZjIwNTIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA3LTI3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBkaWFnbm9zdGljIGxv
Z2dpbmcgZm9yIHBsdWdpbnMtcGVyLXBhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MjUzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIGRpYWdub3N0aWMgbG9nZ2luZyBmb3Igd2hldGhl
ciBhIHBhZ2UgaGFzIHNlZW4gYSBwbHVnaW4sIGFuZCAKKyAgICAgICAgd2hldGhlciBhIHBhZ2Ug
aGFzIHNlZW4gYSBwbHVnaW4gb2YgYSBzcGVjaWZpYyB0eXBlLgorCisgICAgICAgIE1vdmUgdGhl
IGRpYWdub3N0aWMgbG9nZ2luZyBvdXQgb2YgdGhlIGVsZW1lbWVudHMgdGhlbXNlbHZlczoKKyAg
ICAgICAgKiBodG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEVtYmVkRWxlbWVudDo6dXBkYXRlV2lkZ2V0KToKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50Ojp1cGRhdGVX
aWRnZXQpOgorCisgICAgICAgIEluc3RlYWQsIGxvZyB3aGVuIHRoZSBwbHVnaW4gaXMgcmVxdWVz
dGVkLCB0aGVyZWJ5IGNhdGNoaW5nIHBsdWdpbnMgd2hpY2ggYXJlCisgICAgICAgIHJlamVjdGVk
IGJlY2F1c2UsIGUuZy4sIEphdmEgaXMgZGlzYWJsZWQgb3Igbm90IGluc3RhbGxlZDoKKyAgICAg
ICAgKiBsb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nUGx1
Z2luUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9i
amVjdCk6CisKKyAgICAgICAgQWRkIG5ldyBkaWFnbm9zdGljIGtleSB2YWx1ZXM6CisgICAgICAg
ICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlh
Z25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNQbHVnaW5LZXkpOgorICAgICAgICAoV2Vi
Q29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNBdExlYXN0T25lUGx1Z2lu
S2V5KToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oOgorCisgICAgICAg
IEFkZCBhIG1hcCBvZiBwbHVnaW4gdHlwZXMgc2VlbiBwZXItcGFnZSBmb3IgZGlhZ25vc3RpYyBw
dXJwb3NlczoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6aGFzU2VlbkFueVBsdWdpbik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpoYXNTZWVuUGx1
Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNhd1BsdWdpbik6CisgICAgICAgICogcGFn
ZS9QYWdlLmg6CisKIDIwMTItMDctMjcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4K
IAogICAgICAgICBIaXQgdGVzdGluZyBuZWFyIGEgY29sdW1uIGJyZWFrIGNhbiByZXR1cm4gYSBy
ZXN1bHQgZnJvbSBhbiBhZGphY2VudCBjb2x1bW4gd2hlbiB0aGVyZSBpcyBsZWFkaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcAppbmRleCBiYWY4OGNmODU4ZWI1NTE1
ZTBlOTcyNTdmNmFhYzI1OTEzNjgzYzhlLi4xNWUzMmVlZjcwNDI4OWEwMWNlNTg5YTJmODcyMjlk
NTRiY2Y3NTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAKQEAg
LTI2LDkgKzI2LDYgQEAKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkNTU1By
b3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJDaHJvbWUuaCIKLSNpbmNsdWRlICJDaHJvbWVDbGll
bnQuaCIKLSNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCIKICNpbmNsdWRlICJEb2N1
bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTERvY3VtZW50
LmgiCkBAIC0zNyw3ICszNCw2IEBACiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiTWFpblJlc291cmNlTG9hZGVy
LmgiCi0jaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50LmgiCiAjaW5j
bHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgpA
QCAtMTc2LDEwICsxNzIsNyBAQCB2b2lkIEhUTUxFbWJlZEVsZW1lbnQ6OnVwZGF0ZVdpZGdldChQ
bHVnaW5DcmVhdGlvbk9wdGlvbiBwbHVnaW5DcmVhdGlvbk9wdGlvbikKIAogICAgIFN1YmZyYW1l
TG9hZGVyKiBsb2FkZXIgPSBkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+c3ViZnJhbWVM
b2FkZXIoKTsKICAgICAvLyBGSVhNRTogYmVmb3JlTG9hZCBjb3VsZCBoYXZlIGRldGFjaGVkIHRo
ZSByZW5kZXJlciEgIEp1c3QgbGlrZSBpbiB0aGUgPG9iamVjdD4gY2FzZSBhYm92ZS4KLSAgICBi
b29sIHN1Y2Nlc3MgPSBsb2FkZXItPnJlcXVlc3RPYmplY3QodGhpcywgbV91cmwsIGdldE5hbWVB
dHRyaWJ1dGUoKSwgbV9zZXJ2aWNlVHlwZSwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMpOwotCi0g
ICAgaWYgKGRvY3VtZW50KCktPnBhZ2UoKSAmJiBkb2N1bWVudCgpLT5wYWdlKCktPnNldHRpbmdz
KCktPmRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCgpKQotICAgICAgICBkb2N1bWVudCgpLT5wYWdl
KCktPmNocm9tZSgpLT5jbGllbnQoKS0+bG9nRGlhZ25vc3RpY01lc3NhZ2Uoc3VjY2VzcyA/IERp
YWdub3N0aWNMb2dnaW5nS2V5czo6cGx1Z2luTG9hZGVkS2V5KCkgOiBEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OnBsdWdpbkxvYWRpbmdGYWlsZWRLZXkoKSwgbV9zZXJ2aWNlVHlwZSwgRGlhZ25vc3Rp
Y0xvZ2dpbmdLZXlzOjpub29wS2V5KCkpOworICAgIGxvYWRlci0+cmVxdWVzdE9iamVjdCh0aGlz
LCBtX3VybCwgZ2V0TmFtZUF0dHJpYnV0ZSgpLCBtX3NlcnZpY2VUeXBlLCBwYXJhbU5hbWVzLCBw
YXJhbVZhbHVlcyk7CiB9CiAKIGJvb2wgSFRNTEVtYmVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRl
ZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggMzY5Y2U2MjVjNTIzYTJhZDk4NTY1NjdjOWVi
ZGIwMWU1MmFmOTk2YS4uNTcxNWQyMzgyNTYxMjg3Mzg2NmQxMzZjYzU3MDA5Njk0NmYzOTA1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTI4LDcgKzI4
LDYgQEAKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgi
CiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCi0jaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKQEAgLTMxOSw5ICszMTgsNiBAQCB2b2lkIEhU
TUxPYmplY3RFbGVtZW50Ojp1cGRhdGVXaWRnZXQoUGx1Z2luQ3JlYXRpb25PcHRpb24gcGx1Z2lu
Q3JlYXRpb25PcHRpb24pCiAgICAgYm9vbCBzdWNjZXNzID0gYmVmb3JlTG9hZEFsbG93ZWRMb2Fk
ICYmIGhhc1ZhbGlkQ2xhc3NJZCgpICYmIGxvYWRlci0+cmVxdWVzdE9iamVjdCh0aGlzLCB1cmws
IGdldE5hbWVBdHRyaWJ1dGUoKSwgc2VydmljZVR5cGUsIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVz
KTsKICAgICBpZiAoIXN1Y2Nlc3MgJiYgZmFsbGJhY2tDb250ZW50KQogICAgICAgICByZW5kZXJG
YWxsYmFja0NvbnRlbnQoKTsKLQotICAgIGlmIChkb2N1bWVudCgpLT5wYWdlKCkgJiYgZG9jdW1l
bnQoKS0+cGFnZSgpLT5zZXR0aW5ncygpLT5kaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQoKSkKLSAg
ICAgICAgZG9jdW1lbnQoKS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPmxvZ0RpYWdub3N0
aWNNZXNzYWdlKHN1Y2Nlc3MgPyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkxvYWRlZEtl
eSgpIDogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwbHVnaW5Mb2FkaW5nRmFpbGVkS2V5KCksIHNl
cnZpY2VUeXBlLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5vb3BLZXkoKSk7CiB9CiAKIGJvb2wg
SFRNTE9iamVjdEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmluZ0Nv
bnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApp
bmRleCAyODA5MDhhMjJkMzJmYzM1Mjk1OTM0ZWJhNGM2MmRmYTFkYmNlOWQ4Li45OGM5MDY1OWRk
OTJhNGMzNDYyN2M2ZjY3ZjM1NzBkYWE5ZjEwZmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5jcHAKQEAgLTMzLDcgKzMzLDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiU3ViZnJhbWVMb2FkZXIuaCIKIAorI2luY2x1ZGUgIkNocm9tZS5oIgorI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5o
IgorI2luY2x1ZGUgIkRpYWdub3N0aWNMb2dnaW5nS2V5cy5oIgogI2luY2x1ZGUgIkZyYW1lLmgi
CiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MQXBwbGV0RWxl
bWVudC5oIgpAQCAtMTMwLDcgKzEzMywyNCBAQCBib29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0
UGx1Z2luKEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqIG93bmVyRWxlbWVudCwgY29uc3QgSwogICAg
IEFTU0VSVChvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBvd25lckVsZW1l
bnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpKTsKICAgICByZXR1cm4gbG9hZFBsdWdpbihvd25lckVs
ZW1lbnQsIHVybCwgbWltZVR5cGUsIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCB1c2VGYWxsYmFj
ayk7CiB9Ci0gCisKK3N0YXRpYyB2b2lkIGxvZ1BsdWdpblJlcXVlc3QoUGFnZSogcGFnZSwgY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzdWNjZXNzKQoreworICAgIGlmICghcGFnZSB8fCAh
cGFnZS0+c2V0dGluZ3MoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBDaHJvbWVDbGllbnQqIGNsaWVudCA9IHBhZ2UtPmNocm9tZSgpLT5j
bGllbnQoKTsKKyAgICBjbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlKHN1Y2Nlc3MgPyBEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkxvYWRlZEtleSgpIDogRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjpwbHVnaW5Mb2FkaW5nRmFpbGVkS2V5KCksIG1pbWVUeXBlLCBEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6Om5vb3BLZXkoKSk7CisgICAgCisgICAgaWYgKCFwYWdlLT5oYXNTZWVuQW55UGx1Z2lu
KCkpCisgICAgICAgIGNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2UoRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzOjpwYWdlQ29udGFpbnNBdExlYXN0T25lUGx1Z2luS2V5KCksIGVtcHR5U3RyaW5nKCks
IERpYWdub3N0aWNMb2dnaW5nS2V5czo6bm9vcEtleSgpKTsKKyAgICAKKyAgICBpZiAoIXBhZ2Ut
Pmhhc1NlZW5QbHVnaW4obWltZVR5cGUpKQorICAgICAgICBjbGllbnQtPmxvZ0RpYWdub3N0aWNN
ZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFnZUNvbnRhaW5zUGx1Z2luS2V5KCksIG1p
bWVUeXBlLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5vb3BLZXkoKSk7CisKKyAgICBwYWdlLT5z
YXdQbHVnaW4obWltZVR5cGUpOworfQorCiBib29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2Jq
ZWN0KEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqIG93bmVyRWxlbWVudCwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgZnJhbWVOYW1lLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBl
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4m
IHBhcmFtVmFsdWVzKQogewogICAgIGlmICh1cmwuaXNFbXB0eSgpICYmIG1pbWVUeXBlLmlzRW1w
dHkoKSkKQEAgLTE0Nyw4ICsxNjcsMTEgQEAgYm9vbCBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9i
amVjdChIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KiBvd25lckVsZW1lbnQsIGNvbnN0IFMKICAgICAg
ICAgY29tcGxldGVkVVJMID0gY29tcGxldGVVUkwodXJsKTsKIAogICAgIGJvb2wgdXNlRmFsbGJh
Y2s7Ci0gICAgaWYgKHNob3VsZFVzZVBsdWdpbihjb21wbGV0ZWRVUkwsIG1pbWVUeXBlLCBvd25l
ckVsZW1lbnQtPnNob3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMoKSwgcmVuZGVyZXItPmhhc0Zh
bGxiYWNrQ29udGVudCgpLCB1c2VGYWxsYmFjaykpCi0gICAgICAgIHJldHVybiByZXF1ZXN0UGx1
Z2luKG93bmVyRWxlbWVudCwgY29tcGxldGVkVVJMLCBtaW1lVHlwZSwgcGFyYW1OYW1lcywgcGFy
YW1WYWx1ZXMsIHVzZUZhbGxiYWNrKTsKKyAgICBpZiAoc2hvdWxkVXNlUGx1Z2luKGNvbXBsZXRl
ZFVSTCwgbWltZVR5cGUsIG93bmVyRWxlbWVudC0+c2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdl
cygpLCByZW5kZXJlci0+aGFzRmFsbGJhY2tDb250ZW50KCksIHVzZUZhbGxiYWNrKSkgeworICAg
ICAgICBib29sIHN1Y2Nlc3MgPSByZXF1ZXN0UGx1Z2luKG93bmVyRWxlbWVudCwgY29tcGxldGVk
VVJMLCBtaW1lVHlwZSwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMsIHVzZUZhbGxiYWNrKTsKKyAg
ICAgICAgbG9nUGx1Z2luUmVxdWVzdChkb2N1bWVudCgpLT5wYWdlKCksIG1pbWVUeXBlLCBzdWNj
ZXNzKTsKKyAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7CisgICAgfQogCiAgICAgLy8gSWYgdGhlIHBs
dWctaW4gZWxlbWVudCBhbHJlYWR5IGNvbnRhaW5zIGEgc3ViZnJhbWUsIGxvYWRPclJlZGlyZWN0
U3ViZnJhbWUgd2lsbCByZS11c2UgaXQuIE90aGVyd2lzZSwKICAgICAvLyBpdCB3aWxsIGNyZWF0
ZSBhIG5ldyBmcmFtZSBhbmQgc2V0IGl0IGFzIHRoZSBSZW5kZXJQYXJ0J3Mgd2lkZ2V0LCBjYXVz
aW5nIHdoYXQgd2FzIHByZXZpb3VzbHkgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0
aWNMb2dnaW5nS2V5cy5jcHAKaW5kZXggY2JkNGY2MTI0ZGI3NWU1N2I1ZDE5MDVhNTNhZTc3ZTQ3
ZjI3NGM2Ni4uZDcxYTYwNWE4MjNhY2ZmZjQ4ZjJkOWU3NzM0MjBmMWIzMGZmMjkyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcApAQCAtNTIsNiAr
NTIsMTggQEAgY29uc3QgU3RyaW5nJiBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkxvYWRp
bmdGYWlsZWRLZXkoKQogICAgIHJldHVybiBrZXk7CiB9CiAKK2NvbnN0IFN0cmluZyYgRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNQbHVnaW5LZXkoKQoreworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBrZXksICgicGFnZUNvbnRhaW5zUGx1Z2luIikpOwor
ICAgIHJldHVybiBrZXk7Cit9CisKK2NvbnN0IFN0cmluZyYgRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
OjpwYWdlQ29udGFpbnNBdExlYXN0T25lUGx1Z2luS2V5KCkKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IFN0cmluZywga2V5LCAoInBhZ2VDb250YWluc0F0TGVhc3RPbmVQbHVnaW4i
KSk7CisgICAgcmV0dXJuIGtleTsKK30KKwogY29uc3QgU3RyaW5nJiBEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OnBhc3NLZXkoKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5n
LCBrZXksICgicGFzcyIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5n
S2V5cy5oCmluZGV4IDQ1NDIzMjA4ZGU3OTcyMzZiMGRmMDE2NDVlZTYxY2YyOWE2MTFiNTguLjk1
MTgwNmU1N2YwMjViYjkwZjhjNmQxNzViYjUzNjYyNjE5M2IzNzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaApAQCAtMzcsNiArMzcsOCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgbWVkaWFMb2FkaW5nRmFpbGVkS2V5KCk7CiAgICAg
c3RhdGljIGNvbnN0IFN0cmluZyYgcGx1Z2luTG9hZGVkS2V5KCk7CiAgICAgc3RhdGljIGNvbnN0
IFN0cmluZyYgcGx1Z2luTG9hZGluZ0ZhaWxlZEtleSgpOworICAgIHN0YXRpYyBjb25zdCBTdHJp
bmcmIHBhZ2VDb250YWluc1BsdWdpbktleSgpOworICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHBh
Z2VDb250YWluc0F0TGVhc3RPbmVQbHVnaW5LZXkoKTsKICAgICAKICAgICAvLyBTdWNjZXNzIGtl
eXMKICAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBwYXNzS2V5KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApp
bmRleCA3NGVmMzlhYTM2ODMxYjhhY2FjMzJmMzVhYzNmYjFkNzVkMzk3ZjRlLi4zOTU3NmUxMjk5
N2QwYjlkYjUxYzFmOThkMjkyMjE1YTIzY2RlNjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTEx
NTgsNiArMTE1OCwyMSBAQCB2b2lkIFBhZ2U6OnJlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRBbmlt
YXRpb25zKCkKICAgICAgICAgZnJhbWUtPnJlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRp
b25zKCk7CiB9CiAKK2Jvb2wgUGFnZTo6aGFzU2VlbkFueVBsdWdpbigpIGNvbnN0Cit7CisgICAg
cmV0dXJuICFtX3NlZW5QbHVnaW5zLmlzRW1wdHkoKTsKK30KKworYm9vbCBQYWdlOjpoYXNTZWVu
UGx1Z2luKGNvbnN0IFN0cmluZyYgc2VydmljZVR5cGUpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
c2VlblBsdWdpbnMuY29udGFpbnMoc2VydmljZVR5cGUpOworfQorCit2b2lkIFBhZ2U6OnNhd1Bs
dWdpbihjb25zdCBTdHJpbmcmIHNlcnZpY2VUeXBlKQoreworICAgIG1fc2VlblBsdWdpbnMuYWRk
KHNlcnZpY2VUeXBlKTsKK30KKwogUGFnZTo6UGFnZUNsaWVudHM6OlBhZ2VDbGllbnRzKCkKICAg
ICA6IGFsdGVybmF0aXZlVGV4dENsaWVudCgwKQogICAgICwgY2hyb21lQ2xpZW50KDApCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCmluZGV4IGQ3NTlmYjg2ZmM2Y2FhMTAyYTJlMTdjODkwOWY1ZGQ5ZDdjMWRkMmUuLmJl
NWJkNzE5MGZhNDgyNWYzMDFkNWM4ZWE3Y2NiZTZhYzgxY2QyMWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBA
IC0zNDgsNiArMzQ4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBBbHRlcm5h
dGl2ZVRleHRDbGllbnQqIGFsdGVybmF0aXZlVGV4dENsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
YWx0ZXJuYXRpdmVUZXh0Q2xpZW50OyB9CiAKKyAgICAgICAgYm9vbCBoYXNTZWVuUGx1Z2luKGNv
bnN0IFN0cmluZyYgc2VydmljZVR5cGUpIGNvbnN0OworICAgICAgICBib29sIGhhc1NlZW5BbnlQ
bHVnaW4oKSBjb25zdDsKKyAgICAgICAgdm9pZCBzYXdQbHVnaW4oY29uc3QgU3RyaW5nJiBzZXJ2
aWNlVHlwZSk7CisKICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIGluaXRHcm91cCgpOwogCkBA
IC00NTEsNiArNDU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBbHRlcm5hdGl2
ZVRleHRDbGllbnQqIG1fYWx0ZXJuYXRpdmVUZXh0Q2xpZW50OwogCiAgICAgICAgIGJvb2wgbV9z
Y3JpcHRlZEFuaW1hdGlvbnNTdXNwZW5kZWQ7CisKKyAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1f
c2VlblBsdWdpbnM7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155074</attachid>
            <date>2012-07-27 15:48:27 -0700</date>
            <delta_ts>2012-07-30 17:43:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92538-20120727154814.patch</filename>
            <type>text/plain</type>
            <size>11125</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzOTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU2Nzk3MGNlYjNlOWMy
NGNlNjc1Y2NlY2VhNGMwNzQ4YzdlN2RhOS4uYmJkODEyYWExNDQzNzU1NjE4ZjE1MDIxZGI5YWMz
N2ZmNTNiN2M0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTI3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBkaWFnbm9zdGljIGxv
Z2dpbmcgZm9yIHBsdWdpbnMtcGVyLXBhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MjUzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIGRpYWdub3N0aWMgbG9nZ2luZyBmb3Igd2hldGhl
ciBhIHBhZ2UgaGFzIHNlZW4gYSBwbHVnaW4sIGFuZCAKKyAgICAgICAgd2hldGhlciBhIHBhZ2Ug
aGFzIHNlZW4gYSBwbHVnaW4gb2YgYSBzcGVjaWZpYyB0eXBlLgorCisgICAgICAgIE1vdmUgdGhl
IGRpYWdub3N0aWMgbG9nZ2luZyBvdXQgb2YgdGhlIGVsZW1lbWVudHMgdGhlbXNlbHZlczoKKyAg
ICAgICAgKiBodG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEVtYmVkRWxlbWVudDo6dXBkYXRlV2lkZ2V0KToKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50Ojp1cGRhdGVX
aWRnZXQpOgorCisgICAgICAgIEluc3RlYWQsIGxvZyB3aGVuIHRoZSBwbHVnaW4gaXMgcmVxdWVz
dGVkLCB0aGVyZWJ5IGNhdGNoaW5nIHBsdWdpbnMgd2hpY2ggYXJlCisgICAgICAgIHJlamVjdGVk
IGJlY2F1c2UsIGUuZy4sIEphdmEgaXMgZGlzYWJsZWQgb3Igbm90IGluc3RhbGxlZDoKKyAgICAg
ICAgKiBsb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nUGx1
Z2luUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9i
amVjdCk6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6Y3JlYXRlSmF2YUFwcGxl
dFdpZGdldCk6CisKKyAgICAgICAgQWRkIG5ldyBkaWFnbm9zdGljIGtleSB2YWx1ZXM6CisgICAg
ICAgICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNQbHVnaW5LZXkpOgorICAgICAgICAo
V2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNBdExlYXN0T25lUGx1
Z2luS2V5KToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oOgorCisgICAg
ICAgIEFkZCBhIG1hcCBvZiBwbHVnaW4gdHlwZXMgc2VlbiBwZXItcGFnZSBmb3IgZGlhZ25vc3Rp
YyBwdXJwb3NlczoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6aGFzU2VlbkFueVBsdWdpbik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpoYXNTZWVu
UGx1Z2luKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNhd1BsdWdpbik6CisgICAgICAgICog
cGFnZS9QYWdlLmg6CisKIDIwMTItMDctMjcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KIAogICAgICAgICBIaXQgdGVzdGluZyBuZWFyIGEgY29sdW1uIGJyZWFrIGNhbiByZXR1cm4g
YSByZXN1bHQgZnJvbSBhbiBhZGphY2VudCBjb2x1bW4gd2hlbiB0aGVyZSBpcyBsZWFkaW5nCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcAppbmRleCBiYWY4OGNmODU4ZWI1
NTE1ZTBlOTcyNTdmNmFhYzI1OTEzNjgzYzhlLi4xNWUzMmVlZjcwNDI4OWEwMWNlNTg5YTJmODcy
MjlkNTRiY2Y3NTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAK
QEAgLTI2LDkgKzI2LDYgQEAKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkNT
U1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJDaHJvbWUuaCIKLSNpbmNsdWRlICJDaHJvbWVD
bGllbnQuaCIKLSNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCIKICNpbmNsdWRlICJE
b2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTERvY3Vt
ZW50LmgiCkBAIC0zNyw3ICszNCw2IEBACiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiTWFpblJlc291cmNlTG9h
ZGVyLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5o
IgpAQCAtMTc2LDEwICsxNzIsNyBAQCB2b2lkIEhUTUxFbWJlZEVsZW1lbnQ6OnVwZGF0ZVdpZGdl
dChQbHVnaW5DcmVhdGlvbk9wdGlvbiBwbHVnaW5DcmVhdGlvbk9wdGlvbikKIAogICAgIFN1YmZy
YW1lTG9hZGVyKiBsb2FkZXIgPSBkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+c3ViZnJh
bWVMb2FkZXIoKTsKICAgICAvLyBGSVhNRTogYmVmb3JlTG9hZCBjb3VsZCBoYXZlIGRldGFjaGVk
IHRoZSByZW5kZXJlciEgIEp1c3QgbGlrZSBpbiB0aGUgPG9iamVjdD4gY2FzZSBhYm92ZS4KLSAg
ICBib29sIHN1Y2Nlc3MgPSBsb2FkZXItPnJlcXVlc3RPYmplY3QodGhpcywgbV91cmwsIGdldE5h
bWVBdHRyaWJ1dGUoKSwgbV9zZXJ2aWNlVHlwZSwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMpOwot
Ci0gICAgaWYgKGRvY3VtZW50KCktPnBhZ2UoKSAmJiBkb2N1bWVudCgpLT5wYWdlKCktPnNldHRp
bmdzKCktPmRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCgpKQotICAgICAgICBkb2N1bWVudCgpLT5w
YWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+bG9nRGlhZ25vc3RpY01lc3NhZ2Uoc3VjY2VzcyA/
IERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGx1Z2luTG9hZGVkS2V5KCkgOiBEaWFnbm9zdGljTG9n
Z2luZ0tleXM6OnBsdWdpbkxvYWRpbmdGYWlsZWRLZXkoKSwgbV9zZXJ2aWNlVHlwZSwgRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpub29wS2V5KCkpOworICAgIGxvYWRlci0+cmVxdWVzdE9iamVjdCh0
aGlzLCBtX3VybCwgZ2V0TmFtZUF0dHJpYnV0ZSgpLCBtX3NlcnZpY2VUeXBlLCBwYXJhbU5hbWVz
LCBwYXJhbVZhbHVlcyk7CiB9CiAKIGJvb2wgSFRNTEVtYmVkRWxlbWVudDo6cmVuZGVyZXJJc05l
ZWRlZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY29udGV4dCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggMzY5Y2U2MjVjNTIzYTJhZDk4NTY1Njdj
OWViZGIwMWU1MmFmOTk2YS4uNTcxNWQyMzgyNTYxMjg3Mzg2NmQxMzZjYzU3MDA5Njk0NmYzOTA1
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTI4LDcg
KzI4LDYgQEAKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiQ2hyb21l
LmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCi0jaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKQEAgLTMxOSw5ICszMTgsNiBAQCB2b2lk
IEhUTUxPYmplY3RFbGVtZW50Ojp1cGRhdGVXaWRnZXQoUGx1Z2luQ3JlYXRpb25PcHRpb24gcGx1
Z2luQ3JlYXRpb25PcHRpb24pCiAgICAgYm9vbCBzdWNjZXNzID0gYmVmb3JlTG9hZEFsbG93ZWRM
b2FkICYmIGhhc1ZhbGlkQ2xhc3NJZCgpICYmIGxvYWRlci0+cmVxdWVzdE9iamVjdCh0aGlzLCB1
cmwsIGdldE5hbWVBdHRyaWJ1dGUoKSwgc2VydmljZVR5cGUsIHBhcmFtTmFtZXMsIHBhcmFtVmFs
dWVzKTsKICAgICBpZiAoIXN1Y2Nlc3MgJiYgZmFsbGJhY2tDb250ZW50KQogICAgICAgICByZW5k
ZXJGYWxsYmFja0NvbnRlbnQoKTsKLQotICAgIGlmIChkb2N1bWVudCgpLT5wYWdlKCkgJiYgZG9j
dW1lbnQoKS0+cGFnZSgpLT5zZXR0aW5ncygpLT5kaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQoKSkK
LSAgICAgICAgZG9jdW1lbnQoKS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPmxvZ0RpYWdu
b3N0aWNNZXNzYWdlKHN1Y2Nlc3MgPyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkxvYWRl
ZEtleSgpIDogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwbHVnaW5Mb2FkaW5nRmFpbGVkS2V5KCks
IHNlcnZpY2VUeXBlLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5vb3BLZXkoKSk7CiB9CiAKIGJv
b2wgSFRNTE9iamVjdEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmlu
Z0NvbnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vi
ZnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNw
cAppbmRleCAyODA5MDhhMjJkMzJmYzM1Mjk1OTM0ZWJhNGM2MmRmYTFkYmNlOWQ4Li4yOGFjNTRm
NThiODQwZjI1ZTYyMjBhMzRlYWIzZWU4YzEyYzgxY2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHAKQEAgLTMzLDcgKzMzLDEwIEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiU3ViZnJhbWVMb2FkZXIuaCIKIAorI2luY2x1ZGUgIkNocm9tZS5oIgor
I2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGlj
eS5oIgorI2luY2x1ZGUgIkRpYWdub3N0aWNMb2dnaW5nS2V5cy5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MQXBwbGV0
RWxlbWVudC5oIgpAQCAtMTMwLDcgKzEzMywyNCBAQCBib29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1
ZXN0UGx1Z2luKEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqIG93bmVyRWxlbWVudCwgY29uc3QgSwog
ICAgIEFTU0VSVChvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBvd25lckVs
ZW1lbnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpKTsKICAgICByZXR1cm4gbG9hZFBsdWdpbihvd25l
ckVsZW1lbnQsIHVybCwgbWltZVR5cGUsIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCB1c2VGYWxs
YmFjayk7CiB9Ci0gCisKK3N0YXRpYyB2b2lkIGxvZ1BsdWdpblJlcXVlc3QoUGFnZSogcGFnZSwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzdWNjZXNzKQoreworICAgIGlmICghcGFnZSB8
fCAhcGFnZS0+c2V0dGluZ3MoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkKCkpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBDaHJvbWVDbGllbnQqIGNsaWVudCA9IHBhZ2UtPmNocm9tZSgp
LT5jbGllbnQoKTsKKyAgICBjbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlKHN1Y2Nlc3MgPyBE
aWFnbm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkxvYWRlZEtleSgpIDogRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzOjpwbHVnaW5Mb2FkaW5nRmFpbGVkS2V5KCksIG1pbWVUeXBlLCBEaWFnbm9zdGljTG9n
Z2luZ0tleXM6Om5vb3BLZXkoKSk7CisgICAgCisgICAgaWYgKCFwYWdlLT5oYXNTZWVuQW55UGx1
Z2luKCkpCisgICAgICAgIGNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2UoRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzOjpwYWdlQ29udGFpbnNBdExlYXN0T25lUGx1Z2luS2V5KCksIGVtcHR5U3RyaW5n
KCksIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bm9vcEtleSgpKTsKKyAgICAKKyAgICBpZiAoIXBh
Z2UtPmhhc1NlZW5QbHVnaW4obWltZVR5cGUpKQorICAgICAgICBjbGllbnQtPmxvZ0RpYWdub3N0
aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFnZUNvbnRhaW5zUGx1Z2luS2V5KCks
IG1pbWVUeXBlLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5vb3BLZXkoKSk7CisKKyAgICBwYWdl
LT5zYXdQbHVnaW4obWltZVR5cGUpOworfQorCiBib29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0
T2JqZWN0KEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqIG93bmVyRWxlbWVudCwgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IEF0b21pY1N0cmluZyYgZnJhbWVOYW1lLCBjb25zdCBTdHJpbmcmIG1pbWVU
eXBlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIHBhcmFtVmFsdWVzKQogewogICAgIGlmICh1cmwuaXNFbXB0eSgpICYmIG1pbWVUeXBlLmlz
RW1wdHkoKSkKQEAgLTE0Nyw4ICsxNjcsMTEgQEAgYm9vbCBTdWJmcmFtZUxvYWRlcjo6cmVxdWVz
dE9iamVjdChIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KiBvd25lckVsZW1lbnQsIGNvbnN0IFMKICAg
ICAgICAgY29tcGxldGVkVVJMID0gY29tcGxldGVVUkwodXJsKTsKIAogICAgIGJvb2wgdXNlRmFs
bGJhY2s7Ci0gICAgaWYgKHNob3VsZFVzZVBsdWdpbihjb21wbGV0ZWRVUkwsIG1pbWVUeXBlLCBv
d25lckVsZW1lbnQtPnNob3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMoKSwgcmVuZGVyZXItPmhh
c0ZhbGxiYWNrQ29udGVudCgpLCB1c2VGYWxsYmFjaykpCi0gICAgICAgIHJldHVybiByZXF1ZXN0
UGx1Z2luKG93bmVyRWxlbWVudCwgY29tcGxldGVkVVJMLCBtaW1lVHlwZSwgcGFyYW1OYW1lcywg
cGFyYW1WYWx1ZXMsIHVzZUZhbGxiYWNrKTsKKyAgICBpZiAoc2hvdWxkVXNlUGx1Z2luKGNvbXBs
ZXRlZFVSTCwgbWltZVR5cGUsIG93bmVyRWxlbWVudC0+c2hvdWxkUHJlZmVyUGx1Z0luc0Zvcklt
YWdlcygpLCByZW5kZXJlci0+aGFzRmFsbGJhY2tDb250ZW50KCksIHVzZUZhbGxiYWNrKSkgewor
ICAgICAgICBib29sIHN1Y2Nlc3MgPSByZXF1ZXN0UGx1Z2luKG93bmVyRWxlbWVudCwgY29tcGxl
dGVkVVJMLCBtaW1lVHlwZSwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMsIHVzZUZhbGxiYWNrKTsK
KyAgICAgICAgbG9nUGx1Z2luUmVxdWVzdChkb2N1bWVudCgpLT5wYWdlKCksIG1pbWVUeXBlLCBz
dWNjZXNzKTsKKyAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7CisgICAgfQogCiAgICAgLy8gSWYgdGhl
IHBsdWctaW4gZWxlbWVudCBhbHJlYWR5IGNvbnRhaW5zIGEgc3ViZnJhbWUsIGxvYWRPclJlZGly
ZWN0U3ViZnJhbWUgd2lsbCByZS11c2UgaXQuIE90aGVyd2lzZSwKICAgICAvLyBpdCB3aWxsIGNy
ZWF0ZSBhIG5ldyBmcmFtZSBhbmQgc2V0IGl0IGFzIHRoZSBSZW5kZXJQYXJ0J3Mgd2lkZ2V0LCBj
YXVzaW5nIHdoYXQgd2FzIHByZXZpb3VzbHkgCkBAIC0yMjksNiArMjUyLDkgQEAgUGFzc1JlZlB0
cjxXaWRnZXQ+IFN1YmZyYW1lTG9hZGVyOjpjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0IElu
dFNpemUmIHNpemUsIEgKICAgICBSZWZQdHI8V2lkZ2V0PiB3aWRnZXQ7CiAgICAgaWYgKGFsbG93
UGx1Z2lucyhBYm91dFRvSW5zdGFudGlhdGVQbHVnaW4pKQogICAgICAgICB3aWRnZXQgPSBtX2Zy
YW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmNyZWF0ZUphdmFBcHBsZXRXaWRnZXQoc2l6ZSwgZWxl
bWVudCwgYmFzZVVSTCwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMpOworCisgICAgbG9nUGx1Z2lu
UmVxdWVzdChkb2N1bWVudCgpLT5wYWdlKCksIGVsZW1lbnQtPnNlcnZpY2VUeXBlKCksIHdpZGdl
dCk7CisKICAgICBpZiAoIXdpZGdldCkKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAppbmRleCBjYmQ0ZjYxMjRkYjc1
ZTU3YjVkMTkwNWE1M2FlNzdlNDdmMjc0YzY2Li5kNzFhNjA1YTgyM2FjZmZmNDhmMmQ5ZTc3MzQy
MGYxYjMwZmYyOTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNM
b2dnaW5nS2V5cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2lu
Z0tleXMuY3BwCkBAIC01Miw2ICs1MiwxOCBAQCBjb25zdCBTdHJpbmcmIERpYWdub3N0aWNMb2dn
aW5nS2V5czo6cGx1Z2luTG9hZGluZ0ZhaWxlZEtleSgpCiAgICAgcmV0dXJuIGtleTsKIH0KIAor
Y29uc3QgU3RyaW5nJiBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBhZ2VDb250YWluc1BsdWdpbktl
eSgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGtleSwgKCJwYWdl
Q29udGFpbnNQbHVnaW4iKSk7CisgICAgcmV0dXJuIGtleTsKK30KKworY29uc3QgU3RyaW5nJiBE
aWFnbm9zdGljTG9nZ2luZ0tleXM6OnBhZ2VDb250YWluc0F0TGVhc3RPbmVQbHVnaW5LZXkoKQor
eworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBrZXksICgicGFnZUNvbnRh
aW5zQXRMZWFzdE9uZVBsdWdpbiIpKTsKKyAgICByZXR1cm4ga2V5OworfQorCiBjb25zdCBTdHJp
bmcmIERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFzc0tleSgpCiB7CiAgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChjb25zdCBTdHJpbmcsIGtleSwgKCJwYXNzIikpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgKaW5kZXggNDU0MjMyMDhkZTc5NzIzNmIwZGYwMTY0
NWVlNjFjZjI5YTYxMWI1OC4uOTUxODA2ZTU3ZjAyNWJiOTBmOGM2ZDE3NWJiNTM2NjI2MTkzYjM3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oCkBAIC0z
Nyw2ICszNyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBtZWRpYUxvYWRp
bmdGYWlsZWRLZXkoKTsKICAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBwbHVnaW5Mb2FkZWRLZXko
KTsKICAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBwbHVnaW5Mb2FkaW5nRmFpbGVkS2V5KCk7Cisg
ICAgc3RhdGljIGNvbnN0IFN0cmluZyYgcGFnZUNvbnRhaW5zUGx1Z2luS2V5KCk7CisgICAgc3Rh
dGljIGNvbnN0IFN0cmluZyYgcGFnZUNvbnRhaW5zQXRMZWFzdE9uZVBsdWdpbktleSgpOwogICAg
IAogICAgIC8vIFN1Y2Nlc3Mga2V5cwogICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHBhc3NLZXko
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDc0ZWYzOWFhMzY4MzFiOGFjYWMzMmYzNWFjM2ZiMWQ3
NWQzOTdmNGUuLjM5NTc2ZTEyOTk3ZDBiOWRiNTFjMWY5OGQyOTIyMTVhMjNjZGU2MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcApAQCAtMTE1OCw2ICsxMTU4LDIxIEBAIHZvaWQgUGFnZTo6cmVzdW1lQWN0
aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKQogICAgICAgICBmcmFtZS0+cmVzdW1lQWN0aXZl
RE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKTsKIH0KIAorYm9vbCBQYWdlOjpoYXNTZWVuQW55UGx1
Z2luKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIW1fc2VlblBsdWdpbnMuaXNFbXB0eSgpOworfQor
Citib29sIFBhZ2U6Omhhc1NlZW5QbHVnaW4oY29uc3QgU3RyaW5nJiBzZXJ2aWNlVHlwZSkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9zZWVuUGx1Z2lucy5jb250YWlucyhzZXJ2aWNlVHlwZSk7Cit9
CisKK3ZvaWQgUGFnZTo6c2F3UGx1Z2luKGNvbnN0IFN0cmluZyYgc2VydmljZVR5cGUpCit7Cisg
ICAgbV9zZWVuUGx1Z2lucy5hZGQoc2VydmljZVR5cGUpOworfQorCiBQYWdlOjpQYWdlQ2xpZW50
czo6UGFnZUNsaWVudHMoKQogICAgIDogYWx0ZXJuYXRpdmVUZXh0Q2xpZW50KDApCiAgICAgLCBj
aHJvbWVDbGllbnQoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggZDc1OWZiODZmYzZjYWExMDJhMmUxN2M4
OTA5ZjVkZDlkN2MxZGQyZS4uYmU1YmQ3MTkwZmE0ODI1ZjMwMWQ1YzhlYTdjY2JlNmFjODFjZDIx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKQEAgLTM0OCw2ICszNDgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCogYWx0ZXJuYXRpdmVUZXh0Q2xpZW50
KCkgY29uc3QgeyByZXR1cm4gbV9hbHRlcm5hdGl2ZVRleHRDbGllbnQ7IH0KIAorICAgICAgICBi
b29sIGhhc1NlZW5QbHVnaW4oY29uc3QgU3RyaW5nJiBzZXJ2aWNlVHlwZSkgY29uc3Q7CisgICAg
ICAgIGJvb2wgaGFzU2VlbkFueVBsdWdpbigpIGNvbnN0OworICAgICAgICB2b2lkIHNhd1BsdWdp
bihjb25zdCBTdHJpbmcmIHNlcnZpY2VUeXBlKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHZv
aWQgaW5pdEdyb3VwKCk7CiAKQEAgLTQ1MSw2ICs0NTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIEFsdGVybmF0aXZlVGV4dENsaWVudCogbV9hbHRlcm5hdGl2ZVRleHRDbGllbnQ7
CiAKICAgICAgICAgYm9vbCBtX3NjcmlwdGVkQW5pbWF0aW9uc1N1c3BlbmRlZDsKKworICAgICAg
ICBIYXNoU2V0PFN0cmluZz4gbV9zZWVuUGx1Z2luczsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="164474"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>