<?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>145806</bug_id>
          
          <creation_ts>2015-06-09 10:25:03 -0700</creation_ts>
          <short_desc>Implement MediaSessionManager to keep track of all MediaSessions</short_desc>
          <delta_ts>2015-06-09 15:57:40 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>
          
          <blocked>145411</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Rajca">mrajca</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>conrad_shultz</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mrajca</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1100692</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-06-09 10:25:03 -0700</bug_when>
    <thetext>As described in the Media Session spec, MediaPlayPause events need to be handled by each Media Session, and we need a MediaSessionManager to keep track of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100693</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-06-09 10:26:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/21302849&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100700</commentid>
    <comment_count>2</comment_count>
      <attachid>254580</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-06-09 10:40:09 -0700</bug_when>
    <thetext>Created attachment 254580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100708</commentid>
    <comment_count>3</comment_count>
      <attachid>254580</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-09 11:04:14 -0700</bug_when>
    <thetext>Comment on attachment 254580
Patch

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

&gt; Source/WebCore/Modules/mediasession/MediaSessionManager.cpp:49
&gt; +    m_sessions.remove(m_sessions.find(&amp;session));

Normally it’s not good to use remove/find. I’d suggest using a HashSet or ListHashSet for this collection instead of a vector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100734</commentid>
    <comment_count>4</comment_count>
      <attachid>254585</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-06-09 12:12:43 -0700</bug_when>
    <thetext>Created attachment 254585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100735</commentid>
    <comment_count>5</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-06-09 12:14:35 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 254580 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=254580&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediasession/MediaSessionManager.cpp:49
&gt; &gt; +    m_sessions.remove(m_sessions.find(&amp;session));
&gt; 
&gt; Normally it’s not good to use remove/find. I’d suggest using a HashSet or
&gt; ListHashSet for this collection instead of a vector.

Settled on HashSet since we don&apos;t care about the ordering of MediaSessions. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100777</commentid>
    <comment_count>6</comment_count>
      <attachid>254585</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-06-09 13:53:24 -0700</bug_when>
    <thetext>Comment on attachment 254585
Patch

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

&gt; Source/WebCore/Modules/mediasession/MediaSessionManager.h:41
&gt; +    const HashSet&lt;MediaSession*&gt;&amp; sessions() const { return m_sessions; }

Is there any reason to not make this private?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100778</commentid>
    <comment_count>7</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-06-09 14:00:46 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 254585 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=254585&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediasession/MediaSessionManager.h:41
&gt; &gt; +    const HashSet&lt;MediaSession*&gt;&amp; sessions() const { return m_sessions; }
&gt; 
&gt; Is there any reason to not make this private?

I have other uncommitted code here locally that requires it to be public, but that is probably going to get refactored anyway. I&apos;ll remove the accessor for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100779</commentid>
    <comment_count>8</comment_count>
      <attachid>254599</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-06-09 14:01:13 -0700</bug_when>
    <thetext>Created attachment 254599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100827</commentid>
    <comment_count>9</comment_count>
      <attachid>254599</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-09 15:57:36 -0700</bug_when>
    <thetext>Comment on attachment 254599
Patch

Clearing flags on attachment: 254599

Committed r185389: &lt;http://trac.webkit.org/changeset/185389&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100828</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-09 15:57:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254580</attachid>
            <date>2015-06-09 10:40:09 -0700</date>
            <delta_ts>2015-06-09 12:12:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145806-20150609103943.patch</filename>
            <type>text/plain</type>
            <size>11555</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhYTRkNDRjZWU2Zjhl
ZDBhNmZkNmE1MzRiMGNlM2U5MzhmNmI1NC4uYjgwOTAxZTJhM2E0OGUwZDdjZDQwMWYyM2IwZDQ3
NjY2MDJjNGU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA2LTA5ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgTWVkaWFTZXNz
aW9uTWFuYWdlciB0byBrZWVwIHRyYWNrIG9mIGFsbCBNZWRpYVNlc3Npb25zLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1ODA2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjpN
ZWRpYVNlc3Npb24pOiBBZGQgb3Vyc2VsdmVzIHRvIHRoZSBNZWRpYVNlc3Npb25NYW5hZ2VyIHVw
b24gY29uc3RydWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjp+TWVkaWFT
ZXNzaW9uKTogUmVtb3ZlIG91cnNlbHZlcyBmcm9tIHRoZSBNZWRpYVNlc3Npb25NYW5hZ2VyIGJl
Zm9yZSBkZXN0cnVjdGlvbi4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb25NYW5hZ2VyLmNwcDogQWRkZWQgdG8ga2VlcCB0cmFjayBvZiBhbGwgbGl2aW5nIE1lZGlh
U2Vzc2lvbnMuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpzaW5nbGV0
b24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6YWRkTWVkaWFTZXNz
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlbW92ZU1lZGlh
U2Vzc2lvbik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uTWFu
YWdlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNl
c3Npb25zKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFk
ZGVkIG5ldyBNZWRpYVNlc3Npb25NYW5hZ2VyIHNvdXJjZXMuCisKIDIwMTUtMDYtMDkgIENzYWJh
IE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbY21ha2VdIEZpeCB0
aGUgc3R5bGUgaXNzdWVzIGluIGNtYWtlIHByb2plY3QgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uY3BwCmluZGV4IGFkODFk
Zjc4NDRiM2MxNDI5NDVkNDJjMzk3ZDYxMjg4ZDQ3YzMxMmUuLjQyOTY0NDdhYjUyYTIzNTc4NjI0
OGRiMGE5YTI2YmNlY2IxNTZiMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVO
QUJMRShNRURJQV9TRVNTSU9OKQogCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zNywxMCArMzgsMTMgQEAgTWVkaWFTZXNzaW9uOjpNZWRpYVNlc3Npb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiBraW5kKQogewogICAgIGlmIChtX2tp
bmQgPT0gImNvbnRlbnQiKQogICAgICAgICBtX2NvbnRyb2xzID0gYWRvcHRSZWYoKm5ldyBNZWRp
YVJlbW90ZUNvbnRyb2xzKGNvbnRleHQpKTsKKworICAgIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNp
bmdsZXRvbigpLmFkZE1lZGlhU2Vzc2lvbigqdGhpcyk7CiB9CiAKIE1lZGlhU2Vzc2lvbjo6fk1l
ZGlhU2Vzc2lvbigpCiB7CisgICAgTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2luZ2xldG9uKCkucmVt
b3ZlTWVkaWFTZXNzaW9uKCp0aGlzKTsKIH0KIAogTWVkaWFSZW1vdGVDb250cm9scyogTWVkaWFT
ZXNzaW9uOjpjb250cm9scyhib29sJiBpc051bGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZlZWE0MjY2YzhmZWY1Y2JkYTE5MzNlNjAyMDFkZGM0ZjdlZjM4ZDAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Np
b25NYW5hZ2VyLmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlh
U2Vzc2lvbk1hbmFnZXIuaCIKKworI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQorCisjaW5jbHVk
ZSAiTWVkaWFTZXNzaW9uLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFTZXNzaW9uTWFuYWdlciYgTWVkaWFTZXNzaW9uTWFu
YWdlcjo6c2luZ2xldG9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TWVkaWFTZXNz
aW9uTWFuYWdlcj4gbWFuYWdlcjsKKyAgICByZXR1cm4gbWFuYWdlcjsKK30KKwordm9pZCBNZWRp
YVNlc3Npb25NYW5hZ2VyOjphZGRNZWRpYVNlc3Npb24oTWVkaWFTZXNzaW9uJiBzZXNzaW9uKQor
eworICAgIG1fc2Vzc2lvbnMuYXBwZW5kKCZzZXNzaW9uKTsKK30KKwordm9pZCBNZWRpYVNlc3Np
b25NYW5hZ2VyOjpyZW1vdmVNZWRpYVNlc3Npb24oTWVkaWFTZXNzaW9uJiBzZXNzaW9uKQorewor
ICAgIG1fc2Vzc2lvbnMucmVtb3ZlKG1fc2Vzc2lvbnMuZmluZCgmc2Vzc2lvbikpOworfQorCit9
CisKKyNlbmRpZiAvKiBFTkFCTEUoTUVESUFfU0VTU0lPTikgKi8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42YzQxMzllOGQ4ZjkyN2UxYjQ5YTE1MTUwN2NkNWRkMDg4MTAzNzdhCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFT
ZXNzaW9uTWFuYWdlci5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlhU2Vzc2lvbk1hbmFnZXJfaAorI2Rl
ZmluZSBNZWRpYVNlc3Npb25NYW5hZ2VyX2gKKworI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQor
CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IE1lZGlhU2Vzc2lvbjsKKworY2xhc3MgTWVkaWFTZXNzaW9uTWFuYWdlciB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIE1lZGlhU2Vzc2lvbk1hbmFnZXImIHNpbmdsZXRvbigpOworCisgICAgVmVjdG9y
PE1lZGlhU2Vzc2lvbio+IHNlc3Npb25zKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uczsgfQor
Citwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBNZWRpYVNlc3Npb247CisKKyAgICB2b2lkIGFk
ZE1lZGlhU2Vzc2lvbihNZWRpYVNlc3Npb24mKTsKKyAgICB2b2lkIHJlbW92ZU1lZGlhU2Vzc2lv
bihNZWRpYVNlc3Npb24mKTsKKworICAgIFZlY3RvcjxNZWRpYVNlc3Npb24qPiBtX3Nlc3Npb25z
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLyogRU5BQkxFKE1FRElB
X1NFU1NJT04pICovCisKKyNlbmRpZiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyX2ggKi8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBj
YmJkYmIzNDA3MTBmYTQ0NWUzMWI5OTc4YmViZjE5YjU2ZjBjMzUzLi41NWRkMDE0YWYzYzVlYzQ3
NmJmYmIyYWRiNmQ3Y2NmNWYxYTgxY2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01Njk5LDYgKzU2OTksOCBAQAogCQlDOTAy
N0Y0MjFCMUQwQUQyMDBCRkJGRUYgLyogTWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTAyN0Y0MDFCMUQwQUQyMDBCRkJGRUYgLyog
TWVkaWFTZXNzaW9uLmggKi87IH07CiAJCUM5MDg0M0NGMUIxOEU0N0QwMEI2ODU2NCAvKiBNZWRp
YVJlbW90ZUNvbnRyb2xzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM5MDg0M0NEMUIxOEU0N0QwMEI2ODU2NCAvKiBNZWRpYVJlbW90ZUNvbnRyb2xz
LmNwcCAqLzsgfTsKIAkJQzkwODQzRDAxQjE4RTQ3RDAwQjY4NTY0IC8qIE1lZGlhUmVtb3RlQ29u
dHJvbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5
MDg0M0NFMUIxOEU0N0QwMEI2ODU2NCAvKiBNZWRpYVJlbW90ZUNvbnRyb2xzLmggKi87IH07CisJ
CUM5MEY2NTU1MUIyMjUzQjEwMDIxNjNBMSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5MEY2NTUzMUIyMjUz
OTYwMDIxNjNBMSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCAqLzsgfTsKKwkJQzkwRjY1NTYx
QjIyNTNCRTAwMjE2M0ExIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5MEY2NTU0MUIyMjUzOTYwMDIxNjNBMSAv
KiBNZWRpYVNlc3Npb25NYW5hZ2VyLmggKi87IH07CiAJCUM5MzdGRThEMUIxRjY4MjEwMDhFQ0M1
RCAvKiBIVE1MTWVkaWFFbGVtZW50TWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTY4QjJFNjFCMUU3MkY3MDBFRjFGODEgLyogSFRN
TE1lZGlhRWxlbWVudE1lZGlhU2Vzc2lvbi5oICovOyB9OwogCQlDOTY4QjJFODFCMUU3NzgxMDBF
RjFGODEgLyogSFRNTE1lZGlhRWxlbWVudE1lZGlhU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTY4QjJFNzFCMUU3NzgxMDBFRjFGODEg
LyogSFRNTE1lZGlhRWxlbWVudE1lZGlhU2Vzc2lvbi5jcHAgKi87IH07CiAJCUM5REFEQkNCMUIx
RDNCOTcwMDFGMTdEOCAvKiBKU01lZGlhU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOURBREJDOTFCMUQzQjI1MDAxRjE3RDggLyogSlNN
ZWRpYVNlc3Npb24uY3BwICovOyB9OwpAQCAtMTMyNzAsNiArMTMyNzIsOCBAQAogCQlDOTAyN0Y0
MDFCMUQwQUQyMDBCRkJGRUYgLyogTWVkaWFTZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE1lZGlhU2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDOTA4NDNDRDFCMThFNDdEMDBCNjg1NjQgLyogTWVkaWFSZW1vdGVDb250cm9scy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVJlbW90ZUNvbnRyb2xzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzkwODQzQ0UxQjE4RTQ3RDAwQjY4NTY0
IC8qIE1lZGlhUmVtb3RlQ29udHJvbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTWVkaWFSZW1vdGVDb250cm9scy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
OTBGNjU1MzFCMjI1Mzk2MDAyMTYzQTEgLyogTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzkwRjY1NTQxQjIyNTM5NjAwMjE2M0ExIC8q
IE1lZGlhU2Vzc2lvbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVkaWFTZXNzaW9uTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTM0
NThCQjFCMThENzdFMDA4OEVFMTIgLyogTWVkaWFSZW1vdGVDb250cm9scy5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTWVkaWFSZW1vdGVDb250cm9scy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUM5NjhCMkU1MUIxRTcwNDUwMEVGMUY4MSAvKiBIVE1MTWVkaWFFbGVtZW50
TWVkaWFTZXNzaW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MTWVkaWFFbGVtZW50TWVkaWFTZXNzaW9uLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk2OEIyRTYxQjFFNzJGNzAwRUYxRjgxIC8q
IEhUTUxNZWRpYUVsZW1lbnRNZWRpYVNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1lZGlh
RWxlbWVudE1lZGlhU2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ2
MjgsNiArMTQ2MzIsOCBAQAogCQkJCUM5MDI3RjNGMUIxRDBBRDIwMEJGQkZFRiAvKiBNZWRpYVNl
c3Npb24uY3BwICovLAogCQkJCUM5MDI3RjQwMUIxRDBBRDIwMEJGQkZFRiAvKiBNZWRpYVNlc3Np
b24uaCAqLywKIAkJCQlDOTAyN0YzRTFCMUQwQUI5MDBCRkJGRUYgLyogTWVkaWFTZXNzaW9uLmlk
bCAqLywKKwkJCQlDOTBGNjU1MzFCMjI1Mzk2MDAyMTYzQTEgLyogTWVkaWFTZXNzaW9uTWFuYWdl
ci5jcHAgKi8sCisJCQkJQzkwRjY1NTQxQjIyNTM5NjAwMjE2M0ExIC8qIE1lZGlhU2Vzc2lvbk1h
bmFnZXIuaCAqLywKIAkJCQkwNzA5RDc4QzFBRTU1NTU0MDA0RTQyRjggLyogV2ViTWVkaWFTZXNz
aW9uTWFuYWdlci5jcHAgKi8sCiAJCQkJMDcwOUQ3OEQxQUU1NTU1NDAwNEU0MkY4IC8qIFdlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaCAqLywKIAkJCQkwNzA5RDc5NDFBRTU1QTI5MDA0RTQyRjggLyog
V2ViTWVkaWFTZXNzaW9uTWFuYWdlckNsaWVudC5oICovLApAQCAtMjU4NjcsNiArMjU4NzMsNyBA
QAogCQkJCUNFRUZDRDdBMTlEQjMxRjcwMDM4NzZENyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDREJFQUVBRDE5RDkyQjZDMDBCRUJBODggLyogTWVkaWFTZWxl
Y3Rpb25Hcm91cEFWRk9iakMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5MDI3RjQyMUIxRDBBRDIw
MEJGQkZFRiAvKiBNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUM5MEY2NTU2MUIy
MjUzQkUwMDIxNjNBMSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwNzYzOEE5OTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0QzQTQ5NUYxN0E5RDAxQjAwMjc0RTQyIC8qIE1lZGlhU291cmNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFT
b3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTI5NDU2LDYgKzI5NDYzLDcgQEAKIAkJ
CQlDRUVGQ0Q3OTE5REIzMUY3MDAzODc2RDcgLyogTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDREJFQUVBQzE5RDkyQjZDMDBCRUJBODggLyogTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakMubW0gaW4gU291cmNlcyAqLywKIAkJCQlDOTAyN0Y0MTFCMUQwQUQyMDBC
RkJGRUYgLyogTWVkaWFTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM5MEY2NTU1MUIy
MjUzQjEwMDIxNjNBMSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTA3NjM4QTlBMTg4NDQ4NzIwMEUxNUExQiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMDdFREMzRUUxQUFDQjc1RDAwOTgzRUI1IC8qIE1lZGlhU2Vz
c2lvbk1hbmFnZXJNYWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QzQTQ5NUUxN0E5RDAxQjAw
Mjc0RTQyIC8qIE1lZGlhU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254585</attachid>
            <date>2015-06-09 12:12:43 -0700</date>
            <delta_ts>2015-06-09 14:01:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145806-20150609121217.patch</filename>
            <type>text/plain</type>
            <size>11545</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhYTRkNDRjZWU2Zjhl
ZDBhNmZkNmE1MzRiMGNlM2U5MzhmNmI1NC4uYjgwOTAxZTJhM2E0OGUwZDdjZDQwMWYyM2IwZDQ3
NjY2MDJjNGU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA2LTA5ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgTWVkaWFTZXNz
aW9uTWFuYWdlciB0byBrZWVwIHRyYWNrIG9mIGFsbCBNZWRpYVNlc3Npb25zLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1ODA2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjpN
ZWRpYVNlc3Npb24pOiBBZGQgb3Vyc2VsdmVzIHRvIHRoZSBNZWRpYVNlc3Npb25NYW5hZ2VyIHVw
b24gY29uc3RydWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjp+TWVkaWFT
ZXNzaW9uKTogUmVtb3ZlIG91cnNlbHZlcyBmcm9tIHRoZSBNZWRpYVNlc3Npb25NYW5hZ2VyIGJl
Zm9yZSBkZXN0cnVjdGlvbi4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb25NYW5hZ2VyLmNwcDogQWRkZWQgdG8ga2VlcCB0cmFjayBvZiBhbGwgbGl2aW5nIE1lZGlh
U2Vzc2lvbnMuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpzaW5nbGV0
b24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6YWRkTWVkaWFTZXNz
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlbW92ZU1lZGlh
U2Vzc2lvbik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uTWFu
YWdlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNl
c3Npb25zKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFk
ZGVkIG5ldyBNZWRpYVNlc3Npb25NYW5hZ2VyIHNvdXJjZXMuCisKIDIwMTUtMDYtMDkgIENzYWJh
IE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbY21ha2VdIEZpeCB0
aGUgc3R5bGUgaXNzdWVzIGluIGNtYWtlIHByb2plY3QgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uY3BwCmluZGV4IGFkODFk
Zjc4NDRiM2MxNDI5NDVkNDJjMzk3ZDYxMjg4ZDQ3YzMxMmUuLjQyOTY0NDdhYjUyYTIzNTc4NjI0
OGRiMGE5YTI2YmNlY2IxNTZiMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVO
QUJMRShNRURJQV9TRVNTSU9OKQogCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zNywxMCArMzgsMTMgQEAgTWVkaWFTZXNzaW9uOjpNZWRpYVNlc3Npb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiBraW5kKQogewogICAgIGlmIChtX2tp
bmQgPT0gImNvbnRlbnQiKQogICAgICAgICBtX2NvbnRyb2xzID0gYWRvcHRSZWYoKm5ldyBNZWRp
YVJlbW90ZUNvbnRyb2xzKGNvbnRleHQpKTsKKworICAgIE1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNp
bmdsZXRvbigpLmFkZE1lZGlhU2Vzc2lvbigqdGhpcyk7CiB9CiAKIE1lZGlhU2Vzc2lvbjo6fk1l
ZGlhU2Vzc2lvbigpCiB7CisgICAgTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2luZ2xldG9uKCkucmVt
b3ZlTWVkaWFTZXNzaW9uKCp0aGlzKTsKIH0KIAogTWVkaWFSZW1vdGVDb250cm9scyogTWVkaWFT
ZXNzaW9uOjpjb250cm9scyhib29sJiBpc051bGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEwOTdkMDA4ZTBmOTVjZGYzODg2Y2VjMGZmZWVhNDc5ZjMzNDcwMzYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Np
b25NYW5hZ2VyLmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlh
U2Vzc2lvbk1hbmFnZXIuaCIKKworI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQorCisjaW5jbHVk
ZSAiTWVkaWFTZXNzaW9uLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFTZXNzaW9uTWFuYWdlciYgTWVkaWFTZXNzaW9uTWFu
YWdlcjo6c2luZ2xldG9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TWVkaWFTZXNz
aW9uTWFuYWdlcj4gbWFuYWdlcjsKKyAgICByZXR1cm4gbWFuYWdlcjsKK30KKwordm9pZCBNZWRp
YVNlc3Npb25NYW5hZ2VyOjphZGRNZWRpYVNlc3Npb24oTWVkaWFTZXNzaW9uJiBzZXNzaW9uKQor
eworICAgIG1fc2Vzc2lvbnMuYWRkKCZzZXNzaW9uKTsKK30KKwordm9pZCBNZWRpYVNlc3Npb25N
YW5hZ2VyOjpyZW1vdmVNZWRpYVNlc3Npb24oTWVkaWFTZXNzaW9uJiBzZXNzaW9uKQoreworICAg
IG1fc2Vzc2lvbnMucmVtb3ZlKCZzZXNzaW9uKTsKK30KKworfQorCisjZW5kaWYgLyogRU5BQkxF
KE1FRElBX1NFU1NJT04pICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25NYW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTliNDhlZmE0
YjA2NDAzZDU0OGM5MjVkNWU1OGFmYTk3ZDk2OGJiZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAt
MCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIFJp
Z2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBNZWRpYVNlc3Npb25NYW5hZ2VyX2gKKyNkZWZpbmUgTWVkaWFTZXNzaW9uTWFu
YWdlcl9oCisKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKworI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFTZXNzaW9uOworCitj
bGFzcyBNZWRpYVNlc3Npb25NYW5hZ2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgTWVkaWFTZXNz
aW9uTWFuYWdlciYgc2luZ2xldG9uKCk7CisKKyAgICBjb25zdCBIYXNoU2V0PE1lZGlhU2Vzc2lv
bio+JiBzZXNzaW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbnM7IH0KKworcHJpdmF0ZToK
KyAgICBmcmllbmQgY2xhc3MgTWVkaWFTZXNzaW9uOworCisgICAgdm9pZCBhZGRNZWRpYVNlc3Np
b24oTWVkaWFTZXNzaW9uJik7CisgICAgdm9pZCByZW1vdmVNZWRpYVNlc3Npb24oTWVkaWFTZXNz
aW9uJik7CisKKyAgICBIYXNoU2V0PE1lZGlhU2Vzc2lvbio+IG1fc2Vzc2lvbnM7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvKiBFTkFCTEUoTUVESUFfU0VTU0lPTikg
Ki8KKworI2VuZGlmIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJfaCAqLwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNiYmRiYjM0MDcx
MGZhNDQ1ZTMxYjk5NzhiZWJmMTliNTZmMGMzNTMuLjU1ZGQwMTRhZjNjNWVjNDc2YmZiYjJhZGI2
ZDdjY2Y1ZjFhODFjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTU2OTksNiArNTY5OSw4IEBACiAJCUM5MDI3RjQyMUIxRDBB
RDIwMEJGQkZFRiAvKiBNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM5MDI3RjQwMUIxRDBBRDIwMEJGQkZFRiAvKiBNZWRpYVNlc3Np
b24uaCAqLzsgfTsKIAkJQzkwODQzQ0YxQjE4RTQ3RDAwQjY4NTY0IC8qIE1lZGlhUmVtb3RlQ29u
dHJvbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzkwODQzQ0QxQjE4RTQ3RDAwQjY4NTY0IC8qIE1lZGlhUmVtb3RlQ29udHJvbHMuY3BwICovOyB9
OwogCQlDOTA4NDNEMDFCMThFNDdEMDBCNjg1NjQgLyogTWVkaWFSZW1vdGVDb250cm9scy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzkwODQzQ0UxQjE4
RTQ3RDAwQjY4NTY0IC8qIE1lZGlhUmVtb3RlQ29udHJvbHMuaCAqLzsgfTsKKwkJQzkwRjY1NTUx
QjIyNTNCMTAwMjE2M0ExIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzkwRjY1NTMxQjIyNTM5NjAwMjE2M0Ex
IC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwICovOyB9OworCQlDOTBGNjU1NjFCMjI1M0JFMDAy
MTYzQTEgLyogTWVkaWFTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzkwRjY1NTQxQjIyNTM5NjAwMjE2M0ExIC8qIE1lZGlhU2Vz
c2lvbk1hbmFnZXIuaCAqLzsgfTsKIAkJQzkzN0ZFOEQxQjFGNjgyMTAwOEVDQzVEIC8qIEhUTUxN
ZWRpYUVsZW1lbnRNZWRpYVNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEM5NjhCMkU2MUIxRTcyRjcwMEVGMUY4MSAvKiBIVE1MTWVkaWFFbGVt
ZW50TWVkaWFTZXNzaW9uLmggKi87IH07CiAJCUM5NjhCMkU4MUIxRTc3ODEwMEVGMUY4MSAvKiBI
VE1MTWVkaWFFbGVtZW50TWVkaWFTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NjhCMkU3MUIxRTc3ODEwMEVGMUY4MSAvKiBIVE1MTWVk
aWFFbGVtZW50TWVkaWFTZXNzaW9uLmNwcCAqLzsgfTsKIAkJQzlEQURCQ0IxQjFEM0I5NzAwMUYx
N0Q4IC8qIEpTTWVkaWFTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEM5REFEQkM5MUIxRDNCMjUwMDFGMTdEOCAvKiBKU01lZGlhU2Vzc2lv
bi5jcHAgKi87IH07CkBAIC0xMzI3MCw2ICsxMzI3Miw4IEBACiAJCUM5MDI3RjQwMUIxRDBBRDIw
MEJGQkZFRiAvKiBNZWRpYVNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTWVkaWFTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5MDg0M0NE
MUIxOEU0N0QwMEI2ODU2NCAvKiBNZWRpYVJlbW90ZUNvbnRyb2xzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUmVtb3RlQ29udHJvbHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDOTA4NDNDRTFCMThFNDdEMDBCNjg1NjQgLyogTWVkaWFS
ZW1vdGVDb250cm9scy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVJl
bW90ZUNvbnRyb2xzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM5MEY2NTUzMUIy
MjUzOTYwMDIxNjNBMSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDOTBGNjU1NDFCMjI1Mzk2MDAyMTYzQTEgLyogTWVkaWFTZXNz
aW9uTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNlc3Np
b25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5MzQ1OEJCMUIxOEQ3
N0UwMDg4RUUxMiAvKiBNZWRpYVJlbW90ZUNvbnRyb2xzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBNZWRpYVJlbW90ZUNvbnRyb2xzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzk2OEIyRTUxQjFFNzA0NTAwRUYxRjgxIC8qIEhUTUxNZWRpYUVsZW1lbnRNZWRpYVNlc3Np
b24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEhUTUxNZWRpYUVsZW1lbnRNZWRpYVNlc3Npb24uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDOTY4QjJFNjFCMUU3MkY3MDBFRjFGODEgLyogSFRNTE1lZGlh
RWxlbWVudE1lZGlhU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MTWVkaWFFbGVtZW50TWVk
aWFTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDYyOCw2ICsxNDYz
Miw4IEBACiAJCQkJQzkwMjdGM0YxQjFEMEFEMjAwQkZCRkVGIC8qIE1lZGlhU2Vzc2lvbi5jcHAg
Ki8sCiAJCQkJQzkwMjdGNDAxQjFEMEFEMjAwQkZCRkVGIC8qIE1lZGlhU2Vzc2lvbi5oICovLAog
CQkJCUM5MDI3RjNFMUIxRDBBQjkwMEJGQkZFRiAvKiBNZWRpYVNlc3Npb24uaWRsICovLAorCQkJ
CUM5MEY2NTUzMUIyMjUzOTYwMDIxNjNBMSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCAqLywK
KwkJCQlDOTBGNjU1NDFCMjI1Mzk2MDAyMTYzQTEgLyogTWVkaWFTZXNzaW9uTWFuYWdlci5oICov
LAogCQkJCTA3MDlENzhDMUFFNTU1NTQwMDRFNDJGOCAvKiBXZWJNZWRpYVNlc3Npb25NYW5hZ2Vy
LmNwcCAqLywKIAkJCQkwNzA5RDc4RDFBRTU1NTU0MDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9u
TWFuYWdlci5oICovLAogCQkJCTA3MDlENzk0MUFFNTVBMjkwMDRFNDJGOCAvKiBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyQ2xpZW50LmggKi8sCkBAIC0yNTg2Nyw2ICsyNTg3Myw3IEBACiAJCQkJQ0VF
RkNEN0ExOURCMzFGNzAwMzg3NkQ3IC8qIE1lZGlhUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNEQkVBRUFEMTlEOTJCNkMwMEJFQkE4OCAvKiBNZWRpYVNlbGVjdGlvbkdyb3Vw
QVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzkwMjdGNDIxQjFEMEFEMjAwQkZCRkVGIC8q
IE1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzkwRjY1NTYxQjIyNTNCRTAwMjE2
M0ExIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NjM4QTk5
MTg4NDQ4NzIwMEUxNUExQiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRDNBNDk1RjE3QTlEMDFCMDAyNzRFNDIgLyogTWVkaWFTb3VyY2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNENjQxRUIzMTgxOEY1RUQwMEVFNEM0MSAvKiBNZWRpYVNvdXJjZVByaXZh
dGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjk0NTYsNiArMjk0NjMsNyBAQAogCQkJCUNFRUZDRDc5
MTlEQjMxRjcwMDM4NzZENyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUNEQkVBRUFDMTlEOTJCNkMwMEJFQkE4OCAvKiBNZWRpYVNlbGVjdGlvbkdyb3VwQVZG
T2JqQy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUM5MDI3RjQxMUIxRDBBRDIwMEJGQkZFRiAvKiBN
ZWRpYVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzkwRjY1NTUxQjIyNTNCMTAwMjE2
M0ExIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc2MzhB
OUExODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0gaW4gU291cmNl
cyAqLywKIAkJCQkwN0VEQzNFRTFBQUNCNzVEMDA5ODNFQjUgLyogTWVkaWFTZXNzaW9uTWFuYWdl
ck1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDNBNDk1RTE3QTlEMDFCMDAyNzRFNDIgLyog
TWVkaWFTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254599</attachid>
            <date>2015-06-09 14:01:13 -0700</date>
            <delta_ts>2015-06-09 15:57:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145806-20150609140045.patch</filename>
            <type>text/plain</type>
            <size>11417</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhYTRkNDRjZWU2Zjhl
ZDBhNmZkNmE1MzRiMGNlM2U5MzhmNmI1NC4uMzM3NTFjMTk2OGQwZTI0MWM3Njg4MmQ3ODE1Yzlk
N2M3NjFjNzdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA2LTA5ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgTWVkaWFTZXNz
aW9uTWFuYWdlciB0byBrZWVwIHRyYWNrIG9mIGFsbCBNZWRpYVNlc3Npb25zLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1ODA2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjpN
ZWRpYVNlc3Npb24pOiBBZGQgb3Vyc2VsdmVzIHRvIHRoZSBNZWRpYVNlc3Npb25NYW5hZ2VyIHVw
b24gY29uc3RydWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjp+TWVkaWFT
ZXNzaW9uKTogUmVtb3ZlIG91cnNlbHZlcyBmcm9tIHRoZSBNZWRpYVNlc3Npb25NYW5hZ2VyIGJl
Zm9yZSBkZXN0cnVjdGlvbi4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb25NYW5hZ2VyLmNwcDogQWRkZWQgdG8ga2VlcCB0cmFjayBvZiBhbGwgbGl2aW5nIE1lZGlh
U2Vzc2lvbnMuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyOjpzaW5nbGV0
b24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlcjo6YWRkTWVkaWFTZXNz
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlbW92ZU1lZGlh
U2Vzc2lvbik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uTWFu
YWdlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IEFkZGVkIG5ldyBNZWRpYVNlc3Npb25NYW5hZ2VyIHNvdXJjZXMuCisKIDIwMTUtMDYtMDkg
IENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbY21ha2Vd
IEZpeCB0aGUgc3R5bGUgaXNzdWVzIGluIGNtYWtlIHByb2plY3QgZmlsZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uY3BwCmluZGV4
IGFkODFkZjc4NDRiM2MxNDI5NDVkNDJjMzk3ZDYxMjg4ZDQ3YzMxMmUuLjQyOTY0NDdhYjUyYTIz
NTc4NjI0OGRiMGE5YTI2YmNlY2IxNTZiMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmNwcApAQCAtMjksNiArMjksNyBAQAog
I2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5o
IgorI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zNywxMCArMzgsMTMgQEAgTWVkaWFTZXNzaW9uOjpNZWRpYVNlc3Npb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiBraW5kKQogewogICAgIGlm
IChtX2tpbmQgPT0gImNvbnRlbnQiKQogICAgICAgICBtX2NvbnRyb2xzID0gYWRvcHRSZWYoKm5l
dyBNZWRpYVJlbW90ZUNvbnRyb2xzKGNvbnRleHQpKTsKKworICAgIE1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnNpbmdsZXRvbigpLmFkZE1lZGlhU2Vzc2lvbigqdGhpcyk7CiB9CiAKIE1lZGlhU2Vzc2lv
bjo6fk1lZGlhU2Vzc2lvbigpCiB7CisgICAgTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2luZ2xldG9u
KCkucmVtb3ZlTWVkaWFTZXNzaW9uKCp0aGlzKTsKIH0KIAogTWVkaWFSZW1vdGVDb250cm9scyog
TWVkaWFTZXNzaW9uOjpjb250cm9scyhib29sJiBpc051bGwpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmEwOTdkMDA4ZTBmOTVjZGYzODg2Y2VjMGZmZWVhNDc5ZjMzNDcwMzYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE1IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
Ik1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKKworI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQorCisj
aW5jbHVkZSAiTWVkaWFTZXNzaW9uLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFTZXNzaW9uTWFuYWdlciYgTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2luZ2xldG9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TWVk
aWFTZXNzaW9uTWFuYWdlcj4gbWFuYWdlcjsKKyAgICByZXR1cm4gbWFuYWdlcjsKK30KKwordm9p
ZCBNZWRpYVNlc3Npb25NYW5hZ2VyOjphZGRNZWRpYVNlc3Npb24oTWVkaWFTZXNzaW9uJiBzZXNz
aW9uKQoreworICAgIG1fc2Vzc2lvbnMuYWRkKCZzZXNzaW9uKTsKK30KKwordm9pZCBNZWRpYVNl
c3Npb25NYW5hZ2VyOjpyZW1vdmVNZWRpYVNlc3Npb24oTWVkaWFTZXNzaW9uJiBzZXNzaW9uKQor
eworICAgIG1fc2Vzc2lvbnMucmVtb3ZlKCZzZXNzaW9uKTsKK30KKworfQorCisjZW5kaWYgLyog
RU5BQkxFKE1FRElBX1NFU1NJT04pICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25NYW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Iz
NDJiMmMzM2VhMWZmNjg1MzQ0YzZlOTc5ZmFiNjBiY2RhMmY3MQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbk1hbmFnZXIu
aApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBNZWRpYVNlc3Npb25NYW5hZ2VyX2gKKyNkZWZpbmUgTWVkaWFTZXNz
aW9uTWFuYWdlcl9oCisKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKworI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFTZXNzaW9u
OworCitjbGFzcyBNZWRpYVNlc3Npb25NYW5hZ2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgTWVk
aWFTZXNzaW9uTWFuYWdlciYgc2luZ2xldG9uKCk7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNs
YXNzIE1lZGlhU2Vzc2lvbjsKKworICAgIHZvaWQgYWRkTWVkaWFTZXNzaW9uKE1lZGlhU2Vzc2lv
biYpOworICAgIHZvaWQgcmVtb3ZlTWVkaWFTZXNzaW9uKE1lZGlhU2Vzc2lvbiYpOworCisgICAg
SGFzaFNldDxNZWRpYVNlc3Npb24qPiBtX3Nlc3Npb25zOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLyogRU5BQkxFKE1FRElBX1NFU1NJT04pICovCisKKyNlbmRpZiAv
KiBNZWRpYVNlc3Npb25NYW5hZ2VyX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjYmJkYmIzNDA3MTBmYTQ0NWUzMWI5OTc4
YmViZjE5YjU2ZjBjMzUzLi41NWRkMDE0YWYzYzVlYzQ3NmJmYmIyYWRiNmQ3Y2NmNWYxYTgxY2Y4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC01Njk5LDYgKzU2OTksOCBAQAogCQlDOTAyN0Y0MjFCMUQwQUQyMDBCRkJGRUYgLyog
TWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDOTAyN0Y0MDFCMUQwQUQyMDBCRkJGRUYgLyogTWVkaWFTZXNzaW9uLmggKi87IH07CiAJ
CUM5MDg0M0NGMUIxOEU0N0QwMEI2ODU2NCAvKiBNZWRpYVJlbW90ZUNvbnRyb2xzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5MDg0M0NEMUIxOEU0
N0QwMEI2ODU2NCAvKiBNZWRpYVJlbW90ZUNvbnRyb2xzLmNwcCAqLzsgfTsKIAkJQzkwODQzRDAx
QjE4RTQ3RDAwQjY4NTY0IC8qIE1lZGlhUmVtb3RlQ29udHJvbHMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5MDg0M0NFMUIxOEU0N0QwMEI2ODU2NCAv
KiBNZWRpYVJlbW90ZUNvbnRyb2xzLmggKi87IH07CisJCUM5MEY2NTU1MUIyMjUzQjEwMDIxNjNB
MSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM5MEY2NTUzMUIyMjUzOTYwMDIxNjNBMSAvKiBNZWRpYVNlc3Np
b25NYW5hZ2VyLmNwcCAqLzsgfTsKKwkJQzkwRjY1NTYxQjIyNTNCRTAwMjE2M0ExIC8qIE1lZGlh
U2Vzc2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEM5MEY2NTU0MUIyMjUzOTYwMDIxNjNBMSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmgg
Ki87IH07CiAJCUM5MzdGRThEMUIxRjY4MjEwMDhFQ0M1RCAvKiBIVE1MTWVkaWFFbGVtZW50TWVk
aWFTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDOTY4QjJFNjFCMUU3MkY3MDBFRjFGODEgLyogSFRNTE1lZGlhRWxlbWVudE1lZGlhU2Vzc2lv
bi5oICovOyB9OwogCQlDOTY4QjJFODFCMUU3NzgxMDBFRjFGODEgLyogSFRNTE1lZGlhRWxlbWVu
dE1lZGlhU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDOTY4QjJFNzFCMUU3NzgxMDBFRjFGODEgLyogSFRNTE1lZGlhRWxlbWVudE1lZGlh
U2Vzc2lvbi5jcHAgKi87IH07CiAJCUM5REFEQkNCMUIxRDNCOTcwMDFGMTdEOCAvKiBKU01lZGlh
U2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDOURBREJDOTFCMUQzQjI1MDAxRjE3RDggLyogSlNNZWRpYVNlc3Npb24uY3BwICovOyB9OwpA
QCAtMTMyNzAsNiArMTMyNzIsOCBAQAogCQlDOTAyN0Y0MDFCMUQwQUQyMDBCRkJGRUYgLyogTWVk
aWFTZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU2Vzc2lv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTA4NDNDRDFCMThFNDdEMDBCNjg1
NjQgLyogTWVkaWFSZW1vdGVDb250cm9scy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYVJlbW90ZUNvbnRyb2xzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzkwODQzQ0UxQjE4RTQ3RDAwQjY4NTY0IC8qIE1lZGlhUmVtb3RlQ29udHJvbHMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFSZW1vdGVDb250cm9scy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDOTBGNjU1MzFCMjI1Mzk2MDAyMTYzQTEg
LyogTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzkwRjY1NTQxQjIyNTM5NjAwMjE2M0ExIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTZXNzaW9uTWFuYWdlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTM0NThCQjFCMThENzdFMDA4OEVFMTIgLyog
TWVkaWFSZW1vdGVDb250cm9scy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFSZW1v
dGVDb250cm9scy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5NjhCMkU1MUIx
RTcwNDUwMEVGMUY4MSAvKiBIVE1MTWVkaWFFbGVtZW50TWVkaWFTZXNzaW9uLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBI
VE1MTWVkaWFFbGVtZW50TWVkaWFTZXNzaW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzk2OEIyRTYxQjFFNzJGNzAwRUYxRjgxIC8qIEhUTUxNZWRpYUVsZW1lbnRNZWRpYVNl
c3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1lZGlhRWxlbWVudE1lZGlhU2Vzc2lvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ2MjgsNiArMTQ2MzIsOCBAQAogCQkJCUM5
MDI3RjNGMUIxRDBBRDIwMEJGQkZFRiAvKiBNZWRpYVNlc3Npb24uY3BwICovLAogCQkJCUM5MDI3
RjQwMUIxRDBBRDIwMEJGQkZFRiAvKiBNZWRpYVNlc3Npb24uaCAqLywKIAkJCQlDOTAyN0YzRTFC
MUQwQUI5MDBCRkJGRUYgLyogTWVkaWFTZXNzaW9uLmlkbCAqLywKKwkJCQlDOTBGNjU1MzFCMjI1
Mzk2MDAyMTYzQTEgLyogTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgKi8sCisJCQkJQzkwRjY1NTQx
QjIyNTM5NjAwMjE2M0ExIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXIuaCAqLywKIAkJCQkwNzA5RDc4
QzFBRTU1NTU0MDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgKi8sCiAJCQkJ
MDcwOUQ3OEQxQUU1NTU1NDAwNEU0MkY4IC8qIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCAqLywK
IAkJCQkwNzA5RDc5NDFBRTU1QTI5MDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9uTWFuYWdlckNs
aWVudC5oICovLApAQCAtMjU4NjcsNiArMjU4NzMsNyBAQAogCQkJCUNFRUZDRDdBMTlEQjMxRjcw
MDM4NzZENyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREJF
QUVBRDE5RDkyQjZDMDBCRUJBODggLyogTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUM5MDI3RjQyMUIxRDBBRDIwMEJGQkZFRiAvKiBNZWRpYVNlc3Npb24u
aCBpbiBIZWFkZXJzICovLAorCQkJCUM5MEY2NTU2MUIyMjUzQkUwMDIxNjNBMSAvKiBNZWRpYVNl
c3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzYzOEE5OTE4ODQ0ODcyMDBFMTVB
MUIgLyogTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzQTQ5
NUYxN0E5RDAxQjAwMjc0RTQyIC8qIE1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI5NDU2LDYgKzI5NDYzLDcgQEAKIAkJCQlDRUVGQ0Q3OTE5REIzMUY3MDAzODc2
RDcgLyogTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREJFQUVB
QzE5RDkyQjZDMDBCRUJBODggLyogTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0gaW4gU291
cmNlcyAqLywKIAkJCQlDOTAyN0Y0MTFCMUQwQUQyMDBCRkJGRUYgLyogTWVkaWFTZXNzaW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUM5MEY2NTU1MUIyMjUzQjEwMDIxNjNBMSAvKiBNZWRpYVNl
c3Npb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3NjM4QTlBMTg4NDQ4NzIwMEUx
NUExQiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdF
REMzRUUxQUFDQjc1RDAwOTgzRUI1IC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQ0QzQTQ5NUUxN0E5RDAxQjAwMjc0RTQyIC8qIE1lZGlhU291cmNlLmNw
cCBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>