<?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>147745</bug_id>
          
          <creation_ts>2015-08-06 14:06:41 -0700</creation_ts>
          <short_desc>Media Session: notify focus manager clients when the playing state of the focused media element changes</short_desc>
          <delta_ts>2015-08-06 17:01:42 -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></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>conrad_shultz</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>mrajca</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1115439</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-06 14:06:41 -0700</bug_when>
    <thetext>Clients that display lock screen UIs should be able to change their play button to a pause button (and vice versa) when the &apos;playing&apos; state of the focused Content media element changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115449</commentid>
    <comment_count>1</comment_count>
      <attachid>258396</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-06 14:25:28 -0700</bug_when>
    <thetext>Created attachment 258396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115458</commentid>
    <comment_count>2</comment_count>
      <attachid>258396</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-08-06 14:40:50 -0700</bug_when>
    <thetext>Comment on attachment 258396
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/WKMediaSessionFocusManager.h:40
&gt; +typedef void (*WKMediaSessionFocusManagerDidChangePlayingState)(WKMediaSessionFocusManagerRef manager, bool isPaused, const void *clientInfo);

Will this ever have to handle more than play/pause state changes? If so, I recommend changing the names to PlaybackState instead of PlayingState and passing flags instead of a bool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115481</commentid>
    <comment_count>3</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-06 15:25:20 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 258396 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=258396&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKMediaSessionFocusManager.h:40
&gt; &gt; +typedef void (*WKMediaSessionFocusManagerDidChangePlayingState)(WKMediaSessionFocusManagerRef manager, bool isPaused, const void *clientInfo);
&gt; 
&gt; Will this ever have to handle more than play/pause state changes? If so, I
&gt; recommend changing the names to PlaybackState instead of PlayingState and
&gt; passing flags instead of a bool.

Good idea. In the future, we&apos;ll also need to notify clients whenever the previous/next track controls should be enabled/disabled. I&apos;ll generalize this code path so we can use it for said events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115526</commentid>
    <comment_count>4</comment_count>
      <attachid>258419</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-06 16:20:28 -0700</bug_when>
    <thetext>Created attachment 258419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115538</commentid>
    <comment_count>5</comment_count>
      <attachid>258421</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-06 16:32:14 -0700</bug_when>
    <thetext>Created attachment 258421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115544</commentid>
    <comment_count>6</comment_count>
      <attachid>258422</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-06 16:37:53 -0700</bug_when>
    <thetext>Created attachment 258422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115549</commentid>
    <comment_count>7</comment_count>
      <attachid>258423</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-06 16:45:14 -0700</bug_when>
    <thetext>Created attachment 258423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115557</commentid>
    <comment_count>8</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2015-08-06 17:01:42 -0700</bug_when>
    <thetext>Committed r188097: &lt;http://trac.webkit.org/changeset/188097&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258396</attachid>
            <date>2015-08-06 14:25:28 -0700</date>
            <delta_ts>2015-08-06 16:20:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147745-20150806142519.patch</filename>
            <type>text/plain</type>
            <size>16092</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2RhOWEzMDZjMGZlZjNl
Yjg3NmUxNzc4MWU5YTdiZWE0MTJkMDExMy4uMWQ0MGE0YTE3ZThkOTc3NWI5MzNhZTI4ODdiYWFm
MzI4YzU1NDNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACisyMDE1LTA4LTA2ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYSBTZXNzaW9uOiBub3Rp
ZnkgZm9jdXMgbWFuYWdlciBjbGllbnRzIHdoZW4gdGhlIHBsYXlpbmcgc3RhdGUgb2YgdGhlIGZv
Y3VzZWQgbWVkaWEgZWxlbWVudCBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBwbHVtYmluZyB0byBhbGxvdyBmb2N1cyBtYW5hZ2Vy
J3MgY2xpZW50cyB0byBiZSBub3RpZmllZCB3aGVuIHRoZSBmb2N1c2VkIENvbnRlbnQgbWVkaWEg
ZWxlbWVudCBiZWdpbnMKKyAgICAgICAgcGxheWluZyBvciBpcyBwYXVzZWQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAg
ICAoV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJTZXRDbGllbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmluaXRpYWxpemVDbGllbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6Om1lZGlhRWxlbWVudElzUGxheWlu
Z0RpZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQ6OmRpZENoYW5nZVBsYXlpbmdTdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oOgorICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNS0wOC0wNiAgTWF0dCBSYWpjYSAgPG1yYWpjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgTWVkaWEgU2Vzc2lvbjogcmVuYW1lIGlzRm9jdXNlZENvbnRl
bnRNZWRpYUVsZW1lbnRQYXVzZWQgYW5kIGdldCByaWQgb2YgY2FsbGJhY2sKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzcyNgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyLmNwcAppbmRleCBlMTc3MTliMTM2YWEzMTU2NDQ4Y2Q4NGRmM2FmNTM2YjU3M2Nk
MmVjLi43N2NjYjE1ZDNkOTQwZjRhYzI1YTNkOGE3ODMxMjFmZWQxM2M0OWI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlci5jcHAKQEAgLTQwLDYgKzQwLDE4IEBAIFdLVHlwZUlEIFdLTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyR2V0VHlwZUlEKCkKICNlbmRpZgogfQogCit2b2lkIFdLTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyU2V0Q2xpZW50KFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyUmVmIG1h
bmFnZXIsIGNvbnN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSogY2xpZW50
KQoreworI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQorICAgIGlmIChjbGllbnQgJiYgY2xpZW50
LT52ZXJzaW9uKQorICAgICAgICByZXR1cm47CisgICAgdG9JbXBsKG1hbmFnZXIpLT5pbml0aWFs
aXplQ2xpZW50KGNsaWVudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShtYW5hZ2VyKTsKKyAg
ICBVTlVTRURfUEFSQU0oY2xpZW50KTsKKyNlbmRpZgorfQorCiBib29sIFdLTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VySXNGb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudFBsYXlpbmcoV0tNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXJSZWYgbWFuYWdlcikKIHsKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lP
TikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vz
c2lvbkZvY3VzTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVk
aWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmgKaW5kZXggNTc4ODQxZDhiMmMyZjYzZGRlYTA2MjRlYzYy
YmFjN2Q5ZjU0NDM5Ni4uODFiOWNjMDU5MDlmOGJiY2FjOTQ2YjJiNjhhYjQ1ZjNkZGI5YjA1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVk
aWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmgKQEAgLTM2LDggKzM2LDI1IEBACiBleHRlcm4gIkMiIHsK
ICNlbmRpZgogCisvLyBNZWRpYSBTZXNzaW9uIEZvY3VzIE1hbmFnZXIgQ2xpZW50Cit0eXBlZGVm
IHZvaWQgKCpXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckRpZENoYW5nZVBsYXlpbmdTdGF0ZSko
V0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJSZWYgbWFuYWdlciwgYm9vbCBpc1BhdXNlZCwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7CisKK3R5cGVkZWYgc3RydWN0IFdLTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyQ2xpZW50QmFzZSB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKKyAgICBjb25zdCB2b2lkICogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOworfSBXS01lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlckNsaWVudEJhc2U7CisKK3R5cGVkZWYgc3RydWN0IFdLTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyQ2xpZW50VjAgeworICAgIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFz
ZSAgICAgICAgICAgIGJhc2U7CisKKyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tNZWRpYVNlc3Np
b25Gb2N1c01hbmFnZXJEaWRDaGFuZ2VQbGF5aW5nU3RhdGUgZGlkQ2hhbmdlUGxheWluZ1N0YXRl
OworfSBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudFYwOworCiBXS19FWFBPUlQgV0tU
eXBlSUQgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJHZXRUeXBlSUQoKTsKIAorV0tfRVhQT1JU
IHZvaWQgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJTZXRDbGllbnQoV0tNZWRpYVNlc3Npb25G
b2N1c01hbmFnZXJSZWYgbWFuYWdlciwgY29uc3QgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnRCYXNlKiBjbGllbnQpOworCiBXS19FWFBPUlQgYm9vbCBXS01lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlcklzRm9jdXNlZENvbnRlbnRNZWRpYUVsZW1lbnRQbGF5aW5nKFdLTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyUmVmIG1hbmFnZXIpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ci5jcHAKaW5kZXggNjliZWYzNWZjNjQ0YTY1MjFiMGNhMTg2ZjhiNWYxMjBlOGJmMjg0MS4uNGI2
MTRjZTU1MzI5ZTJkNjgwOTVlZDI0ZTI5ODk0ZWQ3YTg5MWQ3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5jcHAK
QEAgLTU3LDYgKzU3LDExIEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyOjpkZXJl
ZldlYkNvbnRleHRTdXBwbGVtZW50KCkKICAgICBBUEk6Ok9iamVjdDo6ZGVyZWYoKTsKIH0KIAor
dm9pZCBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmluaXRpYWxpemVDbGllbnQoY29uc3Qg
V0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRCYXNlKiBjbGllbnQpCit7CisgICAgbV9j
bGllbnQuaW5pdGlhbGl6ZShjbGllbnQpOworfQorCiBib29sIFdlYk1lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlcjo6aXNGb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudFBsYXlpbmcoKSBjb25zdAogewog
ICAgIGlmICghbV9mb2N1c2VkTWVkaWFFbGVtZW50KQpAQCAtNjgsOCArNzMsMTAgQEAgYm9vbCBX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmlzRm9jdXNlZENvbnRlbnRNZWRpYUVsZW1lbnRQ
bGF5aW5nKCkgY29uc3QKIHZvaWQgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyOjptZWRpYUVs
ZW1lbnRJc1BsYXlpbmdEaWRDaGFuZ2UoV2ViUGFnZVByb3h5KiBwcm94eSwgdWludDY0X3QgZWxl
bWVudElELCBib29sIGlzUGxheWluZykKIHsKICAgICBpZiAobV9mb2N1c2VkTWVkaWFFbGVtZW50
KSB7Ci0gICAgICAgIGlmIChwcm94eSA9PSBtX2ZvY3VzZWRNZWRpYUVsZW1lbnQtPmZpcnN0ICYm
IGVsZW1lbnRJRCA9PSBtX2ZvY3VzZWRNZWRpYUVsZW1lbnQtPnNlY29uZCkKKyAgICAgICAgaWYg
KHByb3h5ID09IG1fZm9jdXNlZE1lZGlhRWxlbWVudC0+Zmlyc3QgJiYgZWxlbWVudElEID09IG1f
Zm9jdXNlZE1lZGlhRWxlbWVudC0+c2Vjb25kKSB7CiAgICAgICAgICAgICBtX2ZvY3VzZWRNZWRp
YUVsZW1lbnRJc1BsYXlpbmcgPSBpc1BsYXlpbmc7CisgICAgICAgICAgICBtX2NsaWVudC5kaWRD
aGFuZ2VQbGF5aW5nU3RhdGUodGhpcywgaXNQbGF5aW5nKTsKKyAgICAgICAgfQogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlci5oCmluZGV4IDdjNGEyMzEzZGE0Y2NkNDE5MzRjNTJhNjExMDMyOWRiY2IxZGQ4
MWUuLmVjZjUyNDk2MzUxOGY0N2VjYmYwNTEwN2M3MGEwZDBjNzZlM2FlMDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
LmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUg
IldlYkNvbnRleHRTdXBwbGVtZW50LmgiCisjaW5jbHVkZSAiV2ViTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNDIsNiArNDMsOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI+IGNyZWF0ZShXZWJQcm9jZXNzUG9vbCopOwog
CisgICAgdm9pZCBpbml0aWFsaXplQ2xpZW50KGNvbnN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyQ2xpZW50QmFzZSopOworCiAgICAgYm9vbCBpc0ZvY3VzZWRDb250ZW50TWVkaWFFbGVtZW50
UGxheWluZygpIGNvbnN0OwogICAgIHZvaWQgbWVkaWFFbGVtZW50SXNQbGF5aW5nRGlkQ2hhbmdl
KFdlYlBhZ2VQcm94eSosIHVpbnQ2NF90LCBib29sKTsKIApAQCAtNjAsNiArNjMsNyBAQCBwcml2
YXRlOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEZvY3VzZWRNZWRpYUVsZW1lbnQ+IG1fZm9jdXNl
ZE1lZGlhRWxlbWVudDsKICAgICBib29sIG1fZm9jdXNlZE1lZGlhRWxlbWVudElzUGxheWluZyB7
IGZhbHNlIH07CisgICAgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50IG1fY2xpZW50
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg3OGIxNzg2ZDAzZTUwYzA4NmM1MGIyZWE3NDMwZGNlMTk1NzViYTYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyQ2xpZW50LmNwcApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNs
aWVudC5oIgorCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYk1lZGlh
U2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudDo6ZGlkQ2hhbmdlUGxheWluZ1N0YXRlKFdlYk1lZGlh
U2Vzc2lvbkZvY3VzTWFuYWdlciogbWFuYWdlciwgYm9vbCBpc1BsYXlpbmcpCit7CisgICAgaWYg
KCFtX2NsaWVudC5kaWRDaGFuZ2VQbGF5aW5nU3RhdGUpCisgICAgICAgIHJldHVybjsKKworICAg
IG1fY2xpZW50LmRpZENoYW5nZVBsYXlpbmdTdGF0ZSh0b0FQSShtYW5hZ2VyKSwgaXNQbGF5aW5n
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Np
b25Gb2N1c01hbmFnZXJDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOWZkYThlZDRmMmNkNThhODQxOTMx
NmY5YmI0MjY3YzNkNjZiMmExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oCkBAIC0wLDAgKzEsNTAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVu
dF9oCisjZGVmaW5lIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudF9oCisKKyNpbmNs
dWRlICJBUElDbGllbnQuaCIKKyNpbmNsdWRlICJXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5o
IgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBBUEkgewordGVtcGxhdGU8
PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFz
ZT4geworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNs
aWVudFYwPiBWZXJzaW9uczsKK307Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI7CisKK2NsYXNzIFdlYk1lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlckNsaWVudCA6IHB1YmxpYyBBUEk6OkNsaWVudDxXS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlckNsaWVudEJhc2U+IHsKK3B1YmxpYzoKKyAgICB2b2lkIGRpZENoYW5nZVBsYXlpbmdTdGF0
ZShXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIqLCBib29sKTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA5NmE0NjRhODZlNTBiM2YwNjNlODRiMzQ3ZTI1NGZiMzMwMjU5N2IxLi4xNGQ2MDJm
YzYzMjQ4NGYzMWNlMTI1MjFmYjc4ZTYyM2NmOWFiOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjYzLDYgKzE2NjMsOCBA
QAogCQlDOThDNDhBNjFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOThD
NDhBNDFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggKi87
IH07CiAJCUM5OEM0OEE5MUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
OThDNDhBNzFCNkZENUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3Bw
ICovOyB9OwogCQlDOThDNDhBQTFCNkZENUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM5OEM0OEE4MUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUM5QzE4
MzNCMUI3NDAyNkEwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzlDMTgz
MzcxQjczRkQ2QTAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5j
cHAgKi87IH07CisJCUM5QzE4MzNDMUI3NDAyNkQwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25G
b2N1c01hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM5QzE4MzM4MUI3M0ZENkEwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXJDbGllbnQuaCAqLzsgfTsKIAkJQzlDRDQzOTcxQjRCMDAxOTAwMjM5RTMzIC8qIFdl
Yk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEM5Q0Q0MzkzMUI0QjAwMEUwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Np
b25NZXRhZGF0YS5jcHAgKi87IH07CiAJCUM5Q0Q0Mzk4MUI0QjAwMUQwMDIzOUUzMyAvKiBXZWJN
ZWRpYVNlc3Npb25NZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzlDRDQzOTQxQjRCMDAwRTAwMjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lvbk1l
dGFkYXRhLmggKi87IH07CiAJCUM5Q0Q0MzlEMUI0QjAyNEYwMDIzOUUzMyAvKiBXS01lZGlhU2Vz
c2lvbk1ldGFkYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDOUNENDM5QTFCNEIwMjQyMDAyMzlFMzMgLyogV0tNZWRpYVNlc3Npb25NZXRhZGF0YS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zODkx
LDYgKzM4OTMsOCBAQAogCQlDOThDNDhBNDFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
OThDNDhBNzFCNkZENUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOThDNDhBODFCNkZE
NUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzlDMTgzMzcxQjczRkQ2QTAwNzAzNkE3IC8qIFdlYk1l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDOUMxODMzODFCNzNGRDZBMDA3MDM2QTcgLyogV2Vi
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDOUNENDM5MzFCNEIwMDBFMDAyMzlFMzMgLyogV2ViTWVkaWFT
ZXNzaW9uTWV0YWRhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDOUNENDM5NDFCNEIwMDBFMDAyMzlFMzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzlDRDQzOTkxQjRCMDI0MjAwMjM5RTMz
IC8qIFdLTWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV0tNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC02MTc4LDYgKzYxODIsOCBAQAogCQkJCTMzRDNBM0I5MTMzOTYwNjIwMDcw
OUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluICovLAogCQkJCUM5
OEM0OEEzMUI2RkQ0QzMwMDE0NTEwMyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3Bw
ICovLAogCQkJCUM5OEM0OEE0MUI2RkQ0QzMwMDE0NTEwMyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXIuaCAqLywKKwkJCQlDOUMxODMzNzFCNzNGRDZBMDA3MDM2QTcgLyogV2ViTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcCAqLywKKwkJCQlDOUMxODMzODFCNzNGRDZBMDA3
MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmggKi8sCiAJCQkJN0ND
Q0M4RjgxQTVGNTBGRDAwOEZCMERBIC8qIFdlYk5hdmlnYXRpb25TdGF0ZS5jcHAgKi8sCiAJCQkJ
N0NDQ0M4RjkxQTVGNTBGRDAwOEZCMERBIC8qIFdlYk5hdmlnYXRpb25TdGF0ZS5oICovLAogCQkJ
CUJDMURGRUEzMTJCMzFGODcwMDVERjczMCAvKiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclBy
b3h5LmNwcCAqLywKQEAgLTc5ODgsNiArNzk5NCw3IEBACiAJCQkJMzNEM0EzQ0IxMzM5NjE3OTAw
NzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0QwMDNBNTMxOUQ0OUI1RDAwNUFCQ0UwIC8qIFdlYk1lZGlhS2V5U3RvcmFnZU1h
bmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5OEM0OEE2MUI2RkQ0QzMwMDE0NTEwMyAvKiBX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUM5QzE4MzND
MUI3NDAyNkQwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUM5Q0Q0Mzk4MUI0QjAwMUQwMDIzOUUzMyAvKiBXZWJNZWRpYVNl
c3Npb25NZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQzRUY0NDMxOTE3NjQ2MzAwMDM0
MTg0IC8qIFdlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTA5ODU0RUQxMkJDNEUxODAwMEFEMDgwIC8qIFdlYk1lbW9yeVNhbXBsZXIuaCBpbiBIZWFkZXJz
ICovLApAQCAtOTgyNCw2ICs5ODMxLDcgQEAKIAkJCQkzM0QzQTNDQTEzMzk2MTc5MDA3MDlCRTQg
LyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlDRDAwM0E1MjE5RDQ5QjVEMDA1QUJDRTAgLyogV2ViTWVkaWFLZXlTdG9yYWdl
TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDOThDNDhBNTFCNkZENEMzMDAxNDUxMDMg
LyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM5
QzE4MzNCMUI3NDAyNkEwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGll
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzlDRDQzOTcxQjRCMDAxOTAwMjM5RTMzIC8qIFdl
Yk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEM0VGNDQyMTkx
NzY0NjMwMDAzNDE4NCAvKiBXZWJNZW1vcnlQcmVzc3VyZUhhbmRsZXJJT1MubW0gaW4gU291cmNl
cyAqLywKIAkJCQk5MDk4NTRFQzEyQkM0RTE3MDAwQUQwODAgLyogV2ViTWVtb3J5U2FtcGxlci5j
cHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258419</attachid>
            <date>2015-08-06 16:20:28 -0700</date>
            <delta_ts>2015-08-06 16:32:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147745-20150806162018.patch</filename>
            <type>text/plain</type>
            <size>16417</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzdiMzgzMzM1MGIzZjE4
Mzk0YzFjMjk2ZDRiODBiNjcwYTMyODZiOC4uYWE5NmM1OTkxMjRlMmYxMmE0YWEzMzdlZWIxZDhi
NjI0ZjQxMDZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA4LTA2ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYSBTZXNzaW9uOiBub3Rp
ZnkgZm9jdXMgbWFuYWdlciBjbGllbnRzIHdoZW4gdGhlIHBsYXlpbmcgc3RhdGUgb2YgdGhlIGZv
Y3VzZWQgbWVkaWEgZWxlbWVudCBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBwbHVtYmluZyB0byBhbGxvdyBmb2N1cyBtYW5hZ2Vy
J3MgY2xpZW50cyB0byBiZSBub3RpZmllZCB3aGVuIHRoZSBmb2N1c2VkIENvbnRlbnQgbWVkaWEg
ZWxlbWVudCBiZWdpbnMKKyAgICAgICAgcGxheWluZyBvciBpcyBwYXVzZWQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAg
ICAoV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJTZXRDbGllbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmluaXRpYWxpemVDbGllbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6Om1lZGlhRWxlbWVudElzUGxheWlu
Z0RpZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQ6OmRpZENoYW5nZVBsYXliYWNrU3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaDoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTUtMDgtMDYgIEVucmljYSBDYXN1Y2NpICA8ZW5y
aWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggZm9yIGlPUyBhZnRlciBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xODgwNTMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNw
cAppbmRleCBlMTc3MTliMTM2YWEzMTU2NDQ4Y2Q4NGRmM2FmNTM2YjU3M2NkMmVjLi43N2NjYjE1
ZDNkOTQwZjRhYzI1YTNkOGE3ODMxMjFmZWQxM2M0OWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ci5jcHAKQEAgLTQwLDYgKzQwLDE4IEBAIFdLVHlwZUlEIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyR2V0VHlwZUlEKCkKICNlbmRpZgogfQogCit2b2lkIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyU2V0Q2xpZW50KFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyUmVmIG1hbmFnZXIsIGNvbnN0
IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSogY2xpZW50KQoreworI2lmIEVO
QUJMRShNRURJQV9TRVNTSU9OKQorICAgIGlmIChjbGllbnQgJiYgY2xpZW50LT52ZXJzaW9uKQor
ICAgICAgICByZXR1cm47CisgICAgdG9JbXBsKG1hbmFnZXIpLT5pbml0aWFsaXplQ2xpZW50KGNs
aWVudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShtYW5hZ2VyKTsKKyAgICBVTlVTRURfUEFS
QU0oY2xpZW50KTsKKyNlbmRpZgorfQorCiBib29sIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
SXNGb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudFBsYXlpbmcoV0tNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXJSZWYgbWFuYWdlcikKIHsKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyLmgKaW5kZXggNTc4ODQxZDhiMmMyZjYzZGRlYTA2MjRlYzYyYmFjN2Q5ZjU0NDM5
Ni4uY2ZkNjQ0NzcwMDYwZjlkMjdkMzdmMDAwYWU0MTZjZGE0MGJlNGM0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyLmgKQEAgLTM2LDggKzM2LDMwIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCitl
bnVtIHsKKyAgICBJc1BsYXlpbmcgPSAxIDw8IDAKK307Cit0eXBlZGVmIHVpbnQzMl90IFdLTWVk
aWFTZXNzaW9uRm9jdXNNYW5hZ2VyUGxheWJhY2tTdGF0ZTsKKworLy8gTWVkaWEgU2Vzc2lvbiBG
b2N1cyBNYW5hZ2VyIENsaWVudAordHlwZWRlZiB2b2lkICgqV0tNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXJEaWRDaGFuZ2VQbGF5YmFja1N0YXRlKShXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclJl
ZiBtYW5hZ2VyLCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclBsYXliYWNrU3RhdGUgcGxheWJh
Y2tTdGF0ZSwgYm9vbCB2YWx1ZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CisKK3R5cGVkZWYg
c3RydWN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSB7CisgICAgaW50ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKKyAgICBj
b25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZv
OworfSBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2U7CisKK3R5cGVkZWYgc3Ry
dWN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50VjAgeworICAgIFdLTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSAgICAgICAgICAgIGJhc2U7CisKKyAgICAvLyBWZXJz
aW9uIDAuCisgICAgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJEaWRDaGFuZ2VQbGF5YmFja1N0
YXRlIGRpZENoYW5nZVBsYXliYWNrU3RhdGU7Cit9IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
Q2xpZW50VjA7CisKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ckdldFR5cGVJRCgpOwogCitXS19FWFBPUlQgdm9pZCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
clNldENsaWVudChXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclJlZiBtYW5hZ2VyLCBjb25zdCBX
S01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2UqIGNsaWVudCk7CisKIFdLX0VYUE9S
VCBib29sIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VySXNGb2N1c2VkQ29udGVudE1lZGlhRWxl
bWVudFBsYXlpbmcoV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJSZWYgbWFuYWdlcik7CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Yk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcAppbmRleCA2OWJlZjM1ZmM2NDRhNjUyMWIw
Y2ExODZmOGI1ZjEyMGU4YmYyODQxLi5jNjg3NDBiYjZhNzE5N2QzNmFlZTI0OWMyZjYyMjg1OWFh
ZGE1ZTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVk
aWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcApAQCAtNTcsNiArNTcsMTEgQEAgdm9pZCBXZWJNZWRp
YVNlc3Npb25Gb2N1c01hbmFnZXI6OmRlcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKQogICAgIEFQ
STo6T2JqZWN0OjpkZXJlZigpOwogfQogCit2b2lkIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
cjo6aW5pdGlhbGl6ZUNsaWVudChjb25zdCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVu
dEJhc2UqIGNsaWVudCkKK3sKKyAgICBtX2NsaWVudC5pbml0aWFsaXplKGNsaWVudCk7Cit9CisK
IGJvb2wgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyOjppc0ZvY3VzZWRDb250ZW50TWVkaWFF
bGVtZW50UGxheWluZygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2ZvY3VzZWRNZWRpYUVsZW1lbnQp
CkBAIC02OCw4ICs3MywxMCBAQCBib29sIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlcjo6aXNG
b2N1c2VkQ29udGVudE1lZGlhRWxlbWVudFBsYXlpbmcoKSBjb25zdAogdm9pZCBXZWJNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXI6Om1lZGlhRWxlbWVudElzUGxheWluZ0RpZENoYW5nZShXZWJQYWdl
UHJveHkqIHByb3h5LCB1aW50NjRfdCBlbGVtZW50SUQsIGJvb2wgaXNQbGF5aW5nKQogewogICAg
IGlmIChtX2ZvY3VzZWRNZWRpYUVsZW1lbnQpIHsKLSAgICAgICAgaWYgKHByb3h5ID09IG1fZm9j
dXNlZE1lZGlhRWxlbWVudC0+Zmlyc3QgJiYgZWxlbWVudElEID09IG1fZm9jdXNlZE1lZGlhRWxl
bWVudC0+c2Vjb25kKQorICAgICAgICBpZiAocHJveHkgPT0gbV9mb2N1c2VkTWVkaWFFbGVtZW50
LT5maXJzdCAmJiBlbGVtZW50SUQgPT0gbV9mb2N1c2VkTWVkaWFFbGVtZW50LT5zZWNvbmQpIHsK
ICAgICAgICAgICAgIG1fZm9jdXNlZE1lZGlhRWxlbWVudElzUGxheWluZyA9IGlzUGxheWluZzsK
KyAgICAgICAgICAgIG1fY2xpZW50LmRpZENoYW5nZVBsYXliYWNrU3RhdGUodGhpcywgSXNQbGF5
aW5nLCB0cnVlKTsKKyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oCmluZGV4IDdjNGEy
MzEzZGE0Y2NkNDE5MzRjNTJhNjExMDMyOWRiY2IxZGQ4MWUuLmVjZjUyNDk2MzUxOGY0N2VjYmYw
NTEwN2M3MGEwZDBjNzZlM2FlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAog
I2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRTdXBwbGVtZW50Lmgi
CisjaW5jbHVkZSAiV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiV2ViUGFnZVByb3h5LmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDIsNiArNDMsOCBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXI+IGNyZWF0ZShXZWJQcm9jZXNzUG9vbCopOwogCisgICAgdm9pZCBpbml0aWFsaXplQ2xp
ZW50KGNvbnN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSopOworCiAgICAg
Ym9vbCBpc0ZvY3VzZWRDb250ZW50TWVkaWFFbGVtZW50UGxheWluZygpIGNvbnN0OwogICAgIHZv
aWQgbWVkaWFFbGVtZW50SXNQbGF5aW5nRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSosIHVpbnQ2NF90
LCBib29sKTsKIApAQCAtNjAsNiArNjMsNyBAQCBwcml2YXRlOgogCiAgICAgc3RkOjp1bmlxdWVf
cHRyPEZvY3VzZWRNZWRpYUVsZW1lbnQ+IG1fZm9jdXNlZE1lZGlhRWxlbWVudDsKICAgICBib29s
IG1fZm9jdXNlZE1lZGlhRWxlbWVudElzUGxheWluZyB7IGZhbHNlIH07CisgICAgV2ViTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50IG1fY2xpZW50OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4NGYwZmRiZTIx
ZWQwZTI4MDMxNWQ1Yjc5MmRhNWUxZGZmMzM0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcApA
QCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oIgorCisjaWYgRU5BQkxFKE1F
RElBX1NFU1NJT04pCisKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXZWJNZWRp
YVNlc3Npb25Gb2N1c01hbmFnZXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2Vi
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50OjpkaWRDaGFuZ2VQbGF5YmFja1N0YXRlKFdl
Yk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlciogbWFuYWdlciwgV0tNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXJQbGF5YmFja1N0YXRlIHBsYXliYWNrU3RhdGUsIGJvb2wgdmFsdWUpCit7CisgICAgaWYg
KCFtX2NsaWVudC5kaWRDaGFuZ2VQbGF5YmFja1N0YXRlKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2NsaWVudC5kaWRDaGFuZ2VQbGF5YmFja1N0YXRlKHRvQVBJKG1hbmFnZXIpLCBwbGF5YmFj
a1N0YXRlLCB2YWx1ZSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU0VTU0lPTikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXJDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOTY1OGRiNzk4MDg4ZTQ0Y2VjYWI5NjE3ZjllM2Zj
ODM1NDc0NzdmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Yk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudF9oCisjZGVm
aW5lIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudF9oCisKKyNpZiBFTkFCTEUoTUVE
SUFfU0VTU0lPTikKKworI2luY2x1ZGUgIkFQSUNsaWVudC5oIgorI2luY2x1ZGUgIldLTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNw
YWNlIEFQSSB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tNZWRpYVNlc3Npb25G
b2N1c01hbmFnZXJDbGllbnRCYXNlPiB7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50VjA+IFZlcnNpb25zOworfTsKK30KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlcjsKKworY2xhc3Mg
V2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50IDogcHVibGljIEFQSTo6Q2xpZW50PFdL
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZT4geworcHVibGljOgorICAgIHZvaWQg
ZGlkQ2hhbmdlUGxheWJhY2tTdGF0ZShXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIqLCBXS01l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclBsYXliYWNrU3RhdGUsIGJvb2wpOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU0VTU0lPTikKKworI2Vu
ZGlmIC8vIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTZhNDY0YTg2
ZTUwYjNmMDYzZTg0YjM0N2UyNTRmYjMzMDI1OTdiMS4uMTRkNjAyZmM2MzI0ODRmMzFjZTEyNTIx
ZmI3OGU2MjNjZjlhYjkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTY2Myw2ICsxNjYzLDggQEAKIAkJQzk4QzQ4QTYxQjZG
RDRDMzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzk4QzQ4QTQxQjZGRDRDMzAwMTQ1
MTAzIC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oICovOyB9OwogCQlDOThDNDhBOTFC
NkZENUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzk4QzQ4QTcxQjZGRDVCNTAw
MTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCAqLzsgfTsKIAkJQzk4QzQ4
QUExQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOThDNDhBODFCNkZENUI1
MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDOUMxODMzQjFCNzQwMjZBMDA3MDM2
QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5QzE4MzM3MUI3M0ZENkEwMDcwMzZB
NyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwICovOyB9OworCQlDOUMx
ODMzQzFCNzQwMjZEMDA3MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUMxODMz
ODFCNzNGRDZBMDA3MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50Lmgg
Ki87IH07CiAJCUM5Q0Q0Mzk3MUI0QjAwMTkwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Npb25NZXRh
ZGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
OUNENDM5MzFCNEIwMDBFMDAyMzlFMzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwICov
OyB9OwogCQlDOUNENDM5ODFCNEIwMDFEMDAyMzlFMzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5Q0Q0
Mzk0MUI0QjAwMEUwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Npb25NZXRhZGF0YS5oICovOyB9Owog
CQlDOUNENDM5RDFCNEIwMjRGMDAyMzlFMzMgLyogV0tNZWRpYVNlc3Npb25NZXRhZGF0YS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzlDRDQzOUExQjRC
MDI0MjAwMjM5RTMzIC8qIFdLTWVkaWFTZXNzaW9uTWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzg5MSw2ICszODkzLDggQEAKIAkJ
Qzk4QzQ4QTQxQjZGRDRDMzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk4QzQ4QTcxQjZGRDVCNTAw
MTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk4QzQ4QTgxQjZGRDVCNTAwMTQ1MTAzIC8qIFdL
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUM5QzE4MzM3MUI3M0ZENkEwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXJDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQzlDMTgzMzgxQjczRkQ2QTAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRp
YVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzlDRDQzOTMxQjRCMDAwRTAwMjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1lZGlhU2Vzc2lvbk1l
dGFkYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzlDRDQzOTQxQjRCMDAw
RTAwMjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUM5Q0Q0Mzk5MUI0QjAyNDIwMDIzOUUzMyAvKiBXS01lZGlhU2Vzc2lv
bk1ldGFkYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTWVk
aWFTZXNzaW9uTWV0YWRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjE3
OCw2ICs2MTgyLDggQEAKIAkJCQkzM0QzQTNCOTEzMzk2MDYyMDA3MDlCRTQgLyogV2ViTWVkaWFD
YWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCQlDOThDNDhBMzFCNkZENEMzMDAx
NDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCAqLywKIAkJCQlDOThDNDhB
NDFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggKi8sCisJ
CQkJQzlDMTgzMzcxQjczRkQ2QTAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ckNsaWVudC5jcHAgKi8sCisJCQkJQzlDMTgzMzgxQjczRkQ2QTAwNzAzNkE3IC8qIFdlYk1lZGlh
U2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oICovLAogCQkJCTdDQ0NDOEY4MUE1RjUwRkQwMDhG
QjBEQSAvKiBXZWJOYXZpZ2F0aW9uU3RhdGUuY3BwICovLAogCQkJCTdDQ0NDOEY5MUE1RjUwRkQw
MDhGQjBEQSAvKiBXZWJOYXZpZ2F0aW9uU3RhdGUuaCAqLywKIAkJCQlCQzFERkVBMzEyQjMxRjg3
MDA1REY3MzAgLyogV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAgKi8sCkBAIC03
OTg4LDYgKzc5OTQsNyBAQAogCQkJCTMzRDNBM0NCMTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRp
YUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMDAzQTUz
MTlENDlCNUQwMDVBQkNFMCAvKiBXZWJNZWRpYUtleVN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDOThDNDhBNjFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDOUMxODMzQzFCNzQwMjZEMDA3MDM2QTcg
LyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDOUNENDM5ODFCNEIwMDFEMDAyMzlFMzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCTJEM0VGNDQzMTkxNzY0NjMwMDAzNDE4NCAvKiBXZWJNZW1vcnlQ
cmVzc3VyZUhhbmRsZXJJT1MuaCBpbiBIZWFkZXJzICovLAogCQkJCTkwOTg1NEVEMTJCQzRFMTgw
MDBBRDA4MCAvKiBXZWJNZW1vcnlTYW1wbGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTk4MjQsNiAr
OTgzMSw3IEBACiAJCQkJMzNEM0EzQ0ExMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVN
YW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwMDNB
NTIxOUQ0OUI1RDAwNUFCQ0UwIC8qIFdlYk1lZGlhS2V5U3RvcmFnZU1hbmFnZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQzk4QzQ4QTUxQjZGRDRDMzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDOUMxODMzQjFCNzQwMjZBMDA3
MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUM5Q0Q0Mzk3MUI0QjAwMTkwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Npb25NZXRh
ZGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDNFRjQ0MjE5MTc2NDYzMDAwMzQxODQgLyog
V2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTA5ODU0
RUMxMkJDNEUxNzAwMEFEMDgwIC8qIFdlYk1lbW9yeVNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8s
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258421</attachid>
            <date>2015-08-06 16:32:14 -0700</date>
            <delta_ts>2015-08-06 16:37:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147745-20150806163204.patch</filename>
            <type>text/plain</type>
            <size>16422</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzdiMzgzMzM1MGIzZjE4
Mzk0YzFjMjk2ZDRiODBiNjcwYTMyODZiOC4uYWE5NmM1OTkxMjRlMmYxMmE0YWEzMzdlZWIxZDhi
NjI0ZjQxMDZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA4LTA2ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYSBTZXNzaW9uOiBub3Rp
ZnkgZm9jdXMgbWFuYWdlciBjbGllbnRzIHdoZW4gdGhlIHBsYXlpbmcgc3RhdGUgb2YgdGhlIGZv
Y3VzZWQgbWVkaWEgZWxlbWVudCBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBwbHVtYmluZyB0byBhbGxvdyBmb2N1cyBtYW5hZ2Vy
J3MgY2xpZW50cyB0byBiZSBub3RpZmllZCB3aGVuIHRoZSBmb2N1c2VkIENvbnRlbnQgbWVkaWEg
ZWxlbWVudCBiZWdpbnMKKyAgICAgICAgcGxheWluZyBvciBpcyBwYXVzZWQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAg
ICAoV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJTZXRDbGllbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmluaXRpYWxpemVDbGllbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6Om1lZGlhRWxlbWVudElzUGxheWlu
Z0RpZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQ6OmRpZENoYW5nZVBsYXliYWNrU3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaDoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTUtMDgtMDYgIEVucmljYSBDYXN1Y2NpICA8ZW5y
aWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggZm9yIGlPUyBhZnRlciBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xODgwNTMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNw
cAppbmRleCBlMTc3MTliMTM2YWEzMTU2NDQ4Y2Q4NGRmM2FmNTM2YjU3M2NkMmVjLi43N2NjYjE1
ZDNkOTQwZjRhYzI1YTNkOGE3ODMxMjFmZWQxM2M0OWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ci5jcHAKQEAgLTQwLDYgKzQwLDE4IEBAIFdLVHlwZUlEIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyR2V0VHlwZUlEKCkKICNlbmRpZgogfQogCit2b2lkIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyU2V0Q2xpZW50KFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyUmVmIG1hbmFnZXIsIGNvbnN0
IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSogY2xpZW50KQoreworI2lmIEVO
QUJMRShNRURJQV9TRVNTSU9OKQorICAgIGlmIChjbGllbnQgJiYgY2xpZW50LT52ZXJzaW9uKQor
ICAgICAgICByZXR1cm47CisgICAgdG9JbXBsKG1hbmFnZXIpLT5pbml0aWFsaXplQ2xpZW50KGNs
aWVudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShtYW5hZ2VyKTsKKyAgICBVTlVTRURfUEFS
QU0oY2xpZW50KTsKKyNlbmRpZgorfQorCiBib29sIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
SXNGb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudFBsYXlpbmcoV0tNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXJSZWYgbWFuYWdlcikKIHsKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyLmgKaW5kZXggNTc4ODQxZDhiMmMyZjYzZGRlYTA2MjRlYzYyYmFjN2Q5ZjU0NDM5
Ni4uY2ZkNjQ0NzcwMDYwZjlkMjdkMzdmMDAwYWU0MTZjZGE0MGJlNGM0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyLmgKQEAgLTM2LDggKzM2LDMwIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCitl
bnVtIHsKKyAgICBJc1BsYXlpbmcgPSAxIDw8IDAKK307Cit0eXBlZGVmIHVpbnQzMl90IFdLTWVk
aWFTZXNzaW9uRm9jdXNNYW5hZ2VyUGxheWJhY2tTdGF0ZTsKKworLy8gTWVkaWEgU2Vzc2lvbiBG
b2N1cyBNYW5hZ2VyIENsaWVudAordHlwZWRlZiB2b2lkICgqV0tNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXJEaWRDaGFuZ2VQbGF5YmFja1N0YXRlKShXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclJl
ZiBtYW5hZ2VyLCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclBsYXliYWNrU3RhdGUgcGxheWJh
Y2tTdGF0ZSwgYm9vbCB2YWx1ZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CisKK3R5cGVkZWYg
c3RydWN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSB7CisgICAgaW50ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKKyAgICBj
b25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZv
OworfSBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2U7CisKK3R5cGVkZWYgc3Ry
dWN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50VjAgeworICAgIFdLTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSAgICAgICAgICAgIGJhc2U7CisKKyAgICAvLyBWZXJz
aW9uIDAuCisgICAgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJEaWRDaGFuZ2VQbGF5YmFja1N0
YXRlIGRpZENoYW5nZVBsYXliYWNrU3RhdGU7Cit9IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
Q2xpZW50VjA7CisKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ckdldFR5cGVJRCgpOwogCitXS19FWFBPUlQgdm9pZCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
clNldENsaWVudChXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclJlZiBtYW5hZ2VyLCBjb25zdCBX
S01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2UqIGNsaWVudCk7CisKIFdLX0VYUE9S
VCBib29sIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VySXNGb2N1c2VkQ29udGVudE1lZGlhRWxl
bWVudFBsYXlpbmcoV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJSZWYgbWFuYWdlcik7CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Yk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcAppbmRleCA2OWJlZjM1ZmM2NDRhNjUyMWIw
Y2ExODZmOGI1ZjEyMGU4YmYyODQxLi4wMDQ3YmU5ZTgwYWM0M2EzNDkxOGMyYTJjZDdmMGRlODhl
MGE3NzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVk
aWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcApAQCAtNTcsNiArNTcsMTEgQEAgdm9pZCBXZWJNZWRp
YVNlc3Npb25Gb2N1c01hbmFnZXI6OmRlcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKQogICAgIEFQ
STo6T2JqZWN0OjpkZXJlZigpOwogfQogCit2b2lkIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
cjo6aW5pdGlhbGl6ZUNsaWVudChjb25zdCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVu
dEJhc2UqIGNsaWVudCkKK3sKKyAgICBtX2NsaWVudC5pbml0aWFsaXplKGNsaWVudCk7Cit9CisK
IGJvb2wgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyOjppc0ZvY3VzZWRDb250ZW50TWVkaWFF
bGVtZW50UGxheWluZygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2ZvY3VzZWRNZWRpYUVsZW1lbnQp
CkBAIC02OCw4ICs3MywxMCBAQCBib29sIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlcjo6aXNG
b2N1c2VkQ29udGVudE1lZGlhRWxlbWVudFBsYXlpbmcoKSBjb25zdAogdm9pZCBXZWJNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXI6Om1lZGlhRWxlbWVudElzUGxheWluZ0RpZENoYW5nZShXZWJQYWdl
UHJveHkqIHByb3h5LCB1aW50NjRfdCBlbGVtZW50SUQsIGJvb2wgaXNQbGF5aW5nKQogewogICAg
IGlmIChtX2ZvY3VzZWRNZWRpYUVsZW1lbnQpIHsKLSAgICAgICAgaWYgKHByb3h5ID09IG1fZm9j
dXNlZE1lZGlhRWxlbWVudC0+Zmlyc3QgJiYgZWxlbWVudElEID09IG1fZm9jdXNlZE1lZGlhRWxl
bWVudC0+c2Vjb25kKQorICAgICAgICBpZiAocHJveHkgPT0gbV9mb2N1c2VkTWVkaWFFbGVtZW50
LT5maXJzdCAmJiBlbGVtZW50SUQgPT0gbV9mb2N1c2VkTWVkaWFFbGVtZW50LT5zZWNvbmQpIHsK
ICAgICAgICAgICAgIG1fZm9jdXNlZE1lZGlhRWxlbWVudElzUGxheWluZyA9IGlzUGxheWluZzsK
KyAgICAgICAgICAgIG1fY2xpZW50LmRpZENoYW5nZVBsYXliYWNrU3RhdGUodGhpcywgSXNQbGF5
aW5nLCBpc1BsYXlpbmcpOworICAgICAgICB9CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmgKaW5kZXgg
N2M0YTIzMTNkYTRjY2Q0MTkzNGM1MmE2MTEwMzI5ZGJjYjFkZDgxZS4uZWNmNTI0OTYzNTE4ZjQ3
ZWNiZjA1MTA3YzcwYTBkMGM3NmUzYWUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaApAQCAtMzAsNiArMzAsNyBA
QAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dFN1cHBsZW1l
bnQuaCIKKyNpbmNsdWRlICJXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaCIKICNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00Miw2ICs0
Myw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlcj4gY3JlYXRlKFdlYlByb2Nlc3NQb29sKik7CiAKKyAgICB2b2lkIGluaXRpYWxp
emVDbGllbnQoY29uc3QgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRCYXNlKik7CisK
ICAgICBib29sIGlzRm9jdXNlZENvbnRlbnRNZWRpYUVsZW1lbnRQbGF5aW5nKCkgY29uc3Q7CiAg
ICAgdm9pZCBtZWRpYUVsZW1lbnRJc1BsYXlpbmdEaWRDaGFuZ2UoV2ViUGFnZVByb3h5KiwgdWlu
dDY0X3QsIGJvb2wpOwogCkBAIC02MCw2ICs2Myw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8Rm9jdXNlZE1lZGlhRWxlbWVudD4gbV9mb2N1c2VkTWVkaWFFbGVtZW50OwogICAg
IGJvb2wgbV9mb2N1c2VkTWVkaWFFbGVtZW50SXNQbGF5aW5nIHsgZmFsc2UgfTsKKyAgICBXZWJN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQgbV9jbGllbnQ7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRp
YVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg0ZjBm
ZGJlMjFlZDBlMjgwMzE1ZDViNzkyZGE1ZTFkZmYzMzQ3MgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQu
Y3BwCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmgiCisKKyNpZiBFTkFC
TEUoTUVESUFfU0VTU0lPTikKKworI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldl
Yk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9p
ZCBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQ6OmRpZENoYW5nZVBsYXliYWNrU3Rh
dGUoV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyKiBtYW5hZ2VyLCBXS01lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlclBsYXliYWNrU3RhdGUgcGxheWJhY2tTdGF0ZSwgYm9vbCB2YWx1ZSkKK3sKKyAg
ICBpZiAoIW1fY2xpZW50LmRpZENoYW5nZVBsYXliYWNrU3RhdGUpCisgICAgICAgIHJldHVybjsK
KworICAgIG1fY2xpZW50LmRpZENoYW5nZVBsYXliYWNrU3RhdGUodG9BUEkobWFuYWdlciksIHBs
YXliYWNrU3RhdGUsIHZhbHVlLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TRVNTSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5NjU4ZGI3OTgwODhlNDRjZWNhYjk2MTdm
OWUzZmM4MzU0NzQ3N2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmgKQEAgLTAsMCArMSw1NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50X2gK
KyNkZWZpbmUgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50X2gKKworI2lmIEVOQUJM
RShNRURJQV9TRVNTSU9OKQorCisjaW5jbHVkZSAiQVBJQ2xpZW50LmgiCisjaW5jbHVkZSAiV0tN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCitu
YW1lc3BhY2UgQVBJIHsKK3RlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS01lZGlhU2Vz
c2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2U+IHsKKyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V0tN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRWMD4gVmVyc2lvbnM7Cit9OworfQorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyOworCitj
bGFzcyBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQgOiBwdWJsaWMgQVBJOjpDbGll
bnQ8V0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRCYXNlPiB7CitwdWJsaWM6CisgICAg
dm9pZCBkaWRDaGFuZ2VQbGF5YmFja1N0YXRlKFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlcios
IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyUGxheWJhY2tTdGF0ZSwgYm9vbCk7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TRVNTSU9OKQor
CisjZW5kaWYgLy8gV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NmE0
NjRhODZlNTBiM2YwNjNlODRiMzQ3ZTI1NGZiMzMwMjU5N2IxLi4xNGQ2MDJmYzYzMjQ4NGYzMWNl
MTI1MjFmYjc4ZTYyM2NmOWFiOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjYzLDYgKzE2NjMsOCBAQAogCQlDOThDNDhB
NjFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOThDNDhBNDFCNkZENEMz
MDAxNDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggKi87IH07CiAJCUM5OEM0
OEE5MUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOThDNDhBNzFCNkZE
NUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwICovOyB9OwogCQlD
OThDNDhBQTFCNkZENUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5OEM0OEE4MUI2
RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUM5QzE4MzNCMUI3NDAyNkEw
MDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzlDMTgzMzcxQjczRkQ2QTAw
NzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5jcHAgKi87IH07CisJ
CUM5QzE4MzNDMUI3NDAyNkQwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5
QzE4MzM4MUI3M0ZENkEwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGll
bnQuaCAqLzsgfTsKIAkJQzlDRDQzOTcxQjRCMDAxOTAwMjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lv
bk1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM5Q0Q0MzkzMUI0QjAwMEUwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Npb25NZXRhZGF0YS5j
cHAgKi87IH07CiAJCUM5Q0Q0Mzk4MUI0QjAwMUQwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Npb25N
ZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzlDRDQzOTQxQjRCMDAwRTAwMjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmggKi87
IH07CiAJCUM5Q0Q0MzlEMUI0QjAyNEYwMDIzOUUzMyAvKiBXS01lZGlhU2Vzc2lvbk1ldGFkYXRh
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUNENDM5
QTFCNEIwMjQyMDAyMzlFMzMgLyogV0tNZWRpYVNlc3Npb25NZXRhZGF0YS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zODkxLDYgKzM4OTMsOCBA
QAogCQlDOThDNDhBNDFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOThDNDhBNzFCNkZE
NUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOThDNDhBODFCNkZENUI1MDAxNDUxMDMg
LyogV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQzlDMTgzMzcxQjczRkQ2QTAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDOUMxODMzODFCNzNGRDZBMDA3MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
Yk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDOUNENDM5MzFCNEIwMDBFMDAyMzlFMzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRh
dGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWVkaWFTZXNz
aW9uTWV0YWRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOUNENDM5NDFC
NEIwMDBFMDAyMzlFMzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzlDRDQzOTkxQjRCMDI0MjAwMjM5RTMzIC8qIFdLTWVkaWFT
ZXNzaW9uTWV0YWRhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V0tNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC02MTc4LDYgKzYxODIsOCBAQAogCQkJCTMzRDNBM0I5MTMzOTYwNjIwMDcwOUJFNCAvKiBXZWJN
ZWRpYUNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluICovLAogCQkJCUM5OEM0OEEzMUI2RkQ0
QzMwMDE0NTEwMyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwICovLAogCQkJCUM5
OEM0OEE0MUI2RkQ0QzMwMDE0NTEwMyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCAq
LywKKwkJCQlDOUMxODMzNzFCNzNGRDZBMDA3MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyQ2xpZW50LmNwcCAqLywKKwkJCQlDOUMxODMzODFCNzNGRDZBMDA3MDM2QTcgLyogV2Vi
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmggKi8sCiAJCQkJN0NDQ0M4RjgxQTVGNTBG
RDAwOEZCMERBIC8qIFdlYk5hdmlnYXRpb25TdGF0ZS5jcHAgKi8sCiAJCQkJN0NDQ0M4RjkxQTVG
NTBGRDAwOEZCMERBIC8qIFdlYk5hdmlnYXRpb25TdGF0ZS5oICovLAogCQkJCUJDMURGRUEzMTJC
MzFGODcwMDVERjczMCAvKiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCAqLywK
QEAgLTc5ODgsNiArNzk5NCw3IEBACiAJCQkJMzNEM0EzQ0IxMzM5NjE3OTAwNzA5QkU0IC8qIFdl
Yk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Qw
MDNBNTMxOUQ0OUI1RDAwNUFCQ0UwIC8qIFdlYk1lZGlhS2V5U3RvcmFnZU1hbmFnZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUM5OEM0OEE2MUI2RkQ0QzMwMDE0NTEwMyAvKiBXZWJNZWRpYVNlc3Np
b25Gb2N1c01hbmFnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUM5QzE4MzNDMUI3NDAyNkQwMDcw
MzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUM5Q0Q0Mzk4MUI0QjAwMUQwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Npb25NZXRhZGF0
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQzRUY0NDMxOTE3NjQ2MzAwMDM0MTg0IC8qIFdlYk1l
bW9yeVByZXNzdXJlSGFuZGxlcklPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTA5ODU0RUQxMkJD
NEUxODAwMEFEMDgwIC8qIFdlYk1lbW9yeVNhbXBsZXIuaCBpbiBIZWFkZXJzICovLApAQCAtOTgy
NCw2ICs5ODMxLDcgQEAKIAkJCQkzM0QzQTNDQTEzMzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFD
YWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlD
RDAwM0E1MjE5RDQ5QjVEMDA1QUJDRTAgLyogV2ViTWVkaWFLZXlTdG9yYWdlTWFuYWdlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlDOThDNDhBNTFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUM5QzE4MzNCMUI3NDAy
NkEwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQzlDRDQzOTcxQjRCMDAxOTAwMjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lv
bk1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEM0VGNDQyMTkxNzY0NjMwMDAzNDE4
NCAvKiBXZWJNZW1vcnlQcmVzc3VyZUhhbmRsZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk5
MDk4NTRFQzEyQkM0RTE3MDAwQUQwODAgLyogV2ViTWVtb3J5U2FtcGxlci5jcHAgaW4gU291cmNl
cyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258422</attachid>
            <date>2015-08-06 16:37:53 -0700</date>
            <delta_ts>2015-08-06 16:45:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147745-20150806163743.patch</filename>
            <type>text/plain</type>
            <size>16501</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzdiMzgzMzM1MGIzZjE4
Mzk0YzFjMjk2ZDRiODBiNjcwYTMyODZiOC4uMTNlMzJkNGQzMDZkZDg1NzMyOWMwZDNiZmM2YmU1
MTI3NTkzYTYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA4LTA2ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYSBTZXNzaW9uOiBub3Rp
ZnkgZm9jdXMgbWFuYWdlciBjbGllbnRzIHdoZW4gdGhlIHBsYXlpbmcgc3RhdGUgb2YgdGhlIGZv
Y3VzZWQgbWVkaWEgZWxlbWVudCBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBwbHVtYmluZyB0byBhbGxvdyBmb2N1cyBtYW5hZ2Vy
J3MgY2xpZW50cyB0byBiZSBub3RpZmllZCB3aGVuIHRoZSBmb2N1c2VkIENvbnRlbnQgbWVkaWEg
ZWxlbWVudCBiZWdpbnMKKyAgICAgICAgcGxheWluZyBvciBpcyBwYXVzZWQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAg
ICAoV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJTZXRDbGllbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmluaXRpYWxpemVDbGllbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6Om1lZGlhRWxlbWVudElzUGxheWlu
Z0RpZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQ6OmRpZENoYW5nZVBsYXliYWNrQXR0cmlidXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50Lmg6CisgICAgICAgICogV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE1LTA4LTA2ICBFbnJpY2EgQ2FzdWNjaSAg
PGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciBpT1MgYWZ0ZXIgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTg4MDUzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ci5jcHAKaW5kZXggZTE3NzE5YjEzNmFhMzE1NjQ0OGNkODRkZjNhZjUzNmI1NzNjZDJlYy4uNzdj
Y2IxNWQzZDk0MGY0YWMyNWEzZDhhNzgzMTIxZmVkMTNjNDliNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXIuY3BwCkBAIC00MCw2ICs0MCwxOCBAQCBXS1R5cGVJRCBXS01lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlckdldFR5cGVJRCgpCiAjZW5kaWYKIH0KIAordm9pZCBXS01lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlclNldENsaWVudChXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclJlZiBtYW5hZ2VyLCBj
b25zdCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2UqIGNsaWVudCkKK3sKKyNp
ZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKyAgICBpZiAoY2xpZW50ICYmIGNsaWVudC0+dmVyc2lv
bikKKyAgICAgICAgcmV0dXJuOworICAgIHRvSW1wbChtYW5hZ2VyKS0+aW5pdGlhbGl6ZUNsaWVu
dChjbGllbnQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0obWFuYWdlcik7CisgICAgVU5VU0VE
X1BBUkFNKGNsaWVudCk7CisjZW5kaWYKK30KKwogYm9vbCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlcklzRm9jdXNlZENvbnRlbnRNZWRpYUVsZW1lbnRQbGF5aW5nKFdLTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyUmVmIG1hbmFnZXIpCiB7CiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlci5oCmluZGV4IDU3ODg0MWQ4YjJjMmY2M2RkZWEwNjI0ZWM2MmJhYzdkOWY1
NDQzOTYuLjc3ZDA5MjBkMjljNTc0M2ZiYWUwZjJkMzhmYTViYmYwMzBmMDAwYTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlci5oCkBAIC0zNiw4ICszNiwzMCBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYK
IAorZW51bSB7CisgICAgSXNQbGF5aW5nID0gMSA8PCAwCit9OwordHlwZWRlZiB1aW50MzJfdCBX
S01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclBsYXliYWNrQXR0cmlidXRlOworCisvLyBNZWRpYSBT
ZXNzaW9uIEZvY3VzIE1hbmFnZXIgQ2xpZW50Cit0eXBlZGVmIHZvaWQgKCpXS01lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlckRpZENoYW5nZVBsYXliYWNrQXR0cmlidXRlKShXS01lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlclJlZiBtYW5hZ2VyLCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclBsYXliYWNr
QXR0cmlidXRlIHBsYXliYWNrQXR0cmlidXRlLCBib29sIHZhbHVlLCBjb25zdCB2b2lkICpjbGll
bnRJbmZvKTsKKwordHlwZWRlZiBzdHJ1Y3QgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGll
bnRCYXNlIHsKKyAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZlcnNpb247CisgICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOworfSBXS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlckNsaWVudEJhc2U7CisKK3R5cGVkZWYgc3RydWN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyQ2xpZW50VjAgeworICAgIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSAg
ICAgICAgICAgICAgICAgYmFzZTsKKworICAgIC8vIFZlcnNpb24gMC4KKyAgICBXS01lZGlhU2Vz
c2lvbkZvY3VzTWFuYWdlckRpZENoYW5nZVBsYXliYWNrQXR0cmlidXRlIGRpZENoYW5nZVBsYXli
YWNrQXR0cmlidXRlOworfSBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudFYwOworCiBX
S19FWFBPUlQgV0tUeXBlSUQgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJHZXRUeXBlSUQoKTsK
IAorV0tfRVhQT1JUIHZvaWQgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJTZXRDbGllbnQoV0tN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJSZWYgbWFuYWdlciwgY29uc3QgV0tNZWRpYVNlc3Npb25G
b2N1c01hbmFnZXJDbGllbnRCYXNlKiBjbGllbnQpOworCiBXS19FWFBPUlQgYm9vbCBXS01lZGlh
U2Vzc2lvbkZvY3VzTWFuYWdlcklzRm9jdXNlZENvbnRlbnRNZWRpYUVsZW1lbnRQbGF5aW5nKFdL
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyUmVmIG1hbmFnZXIpOwogCiAjaWZkZWYgX19jcGx1c3Bs
dXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25G
b2N1c01hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlci5jcHAKaW5kZXggNjliZWYzNWZjNjQ0YTY1MjFiMGNhMTg2ZjhiNWYxMjBl
OGJmMjg0MS4uMWQ4MGUyZDc2ZmZkMDEyOGU0YWNhYWFiYzYxMzIyYjExNzY5YTk1ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlci5jcHAKQEAgLTU3LDYgKzU3LDExIEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyOjpkZXJlZldlYkNvbnRleHRTdXBwbGVtZW50KCkKICAgICBBUEk6Ok9iamVjdDo6ZGVy
ZWYoKTsKIH0KIAordm9pZCBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmluaXRpYWxpemVD
bGllbnQoY29uc3QgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRCYXNlKiBjbGllbnQp
Cit7CisgICAgbV9jbGllbnQuaW5pdGlhbGl6ZShjbGllbnQpOworfQorCiBib29sIFdlYk1lZGlh
U2Vzc2lvbkZvY3VzTWFuYWdlcjo6aXNGb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudFBsYXlpbmco
KSBjb25zdAogewogICAgIGlmICghbV9mb2N1c2VkTWVkaWFFbGVtZW50KQpAQCAtNjgsOCArNzMs
MTAgQEAgYm9vbCBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmlzRm9jdXNlZENvbnRlbnRN
ZWRpYUVsZW1lbnRQbGF5aW5nKCkgY29uc3QKIHZvaWQgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyOjptZWRpYUVsZW1lbnRJc1BsYXlpbmdEaWRDaGFuZ2UoV2ViUGFnZVByb3h5KiBwcm94eSwg
dWludDY0X3QgZWxlbWVudElELCBib29sIGlzUGxheWluZykKIHsKICAgICBpZiAobV9mb2N1c2Vk
TWVkaWFFbGVtZW50KSB7Ci0gICAgICAgIGlmIChwcm94eSA9PSBtX2ZvY3VzZWRNZWRpYUVsZW1l
bnQtPmZpcnN0ICYmIGVsZW1lbnRJRCA9PSBtX2ZvY3VzZWRNZWRpYUVsZW1lbnQtPnNlY29uZCkK
KyAgICAgICAgaWYgKHByb3h5ID09IG1fZm9jdXNlZE1lZGlhRWxlbWVudC0+Zmlyc3QgJiYgZWxl
bWVudElEID09IG1fZm9jdXNlZE1lZGlhRWxlbWVudC0+c2Vjb25kKSB7CiAgICAgICAgICAgICBt
X2ZvY3VzZWRNZWRpYUVsZW1lbnRJc1BsYXlpbmcgPSBpc1BsYXlpbmc7CisgICAgICAgICAgICBt
X2NsaWVudC5kaWRDaGFuZ2VQbGF5YmFja0F0dHJpYnV0ZSh0aGlzLCBJc1BsYXlpbmcsIGlzUGxh
eWluZyk7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaAppbmRleCA3YzRhMjMxM2Rh
NGNjZDQxOTM0YzUyYTYxMTAzMjlkYmNiMWRkODFlLi5lY2Y1MjQ5NjM1MThmNDdlY2JmMDUxMDdj
NzBhMGQwYzc2ZTNhZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNs
dWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0U3VwcGxlbWVudC5oIgorI2lu
Y2x1ZGUgIldlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oIgogI2luY2x1ZGUgIldl
YlBhZ2VQcm94eS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQyLDYgKzQzLDggQEAgcHVi
bGljOgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
PiBjcmVhdGUoV2ViUHJvY2Vzc1Bvb2wqKTsKIAorICAgIHZvaWQgaW5pdGlhbGl6ZUNsaWVudChj
b25zdCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2UqKTsKKwogICAgIGJvb2wg
aXNGb2N1c2VkQ29udGVudE1lZGlhRWxlbWVudFBsYXlpbmcoKSBjb25zdDsKICAgICB2b2lkIG1l
ZGlhRWxlbWVudElzUGxheWluZ0RpZENoYW5nZShXZWJQYWdlUHJveHkqLCB1aW50NjRfdCwgYm9v
bCk7CiAKQEAgLTYwLDYgKzYzLDcgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxG
b2N1c2VkTWVkaWFFbGVtZW50PiBtX2ZvY3VzZWRNZWRpYUVsZW1lbnQ7CiAgICAgYm9vbCBtX2Zv
Y3VzZWRNZWRpYUVsZW1lbnRJc1BsYXlpbmcgeyBmYWxzZSB9OworICAgIFdlYk1lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlckNsaWVudCBtX2NsaWVudDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGE2ZjM3ODJmYjZkMzk2
MGRmZmFkMTA4ZTUxYWFiMzI5YzFkNWIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5jcHAKQEAgLTAs
MCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaCIKKworI2lmIEVOQUJMRShNRURJQV9T
RVNTSU9OKQorCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYk1lZGlh
U2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudDo6ZGlkQ2hhbmdlUGxheWJhY2tBdHRyaWJ1dGUoV2Vi
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyKiBtYW5hZ2VyLCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlclBsYXliYWNrQXR0cmlidXRlIHBsYXliYWNrQXR0cmlidXRlLCBib29sIHZhbHVlKQorewor
ICAgIGlmICghbV9jbGllbnQuZGlkQ2hhbmdlUGxheWJhY2tBdHRyaWJ1dGUpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fY2xpZW50LmRpZENoYW5nZVBsYXliYWNrQXR0cmlidXRlKHRvQVBJKG1h
bmFnZXIpLCBwbGF5YmFja0F0dHJpYnV0ZSwgdmFsdWUsIG1fY2xpZW50LmJhc2UuY2xpZW50SW5m
byk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NFU1NJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
TWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY2OWE2NjkwNTg2
N2M3M2FhZmFjOWVmZmM5YjUzZmU1OTk5NThlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaApAQCAt
MCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXJDbGllbnRfaAorI2RlZmluZSBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRf
aAorCisjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCisKKyNpbmNsdWRlICJBUElDbGllbnQuaCIK
KyNpbmNsdWRlICJXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oIgorI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisKK25hbWVzcGFjZSBBUEkgewordGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJh
aXRzPFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZT4geworICAgIHR5cGVkZWYg
c3RkOjp0dXBsZTxXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudFYwPiBWZXJzaW9uczsK
K307Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXI7CisKK2NsYXNzIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudCA6IHB1
YmxpYyBBUEk6OkNsaWVudDxXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2U+IHsK
K3B1YmxpYzoKKyAgICB2b2lkIGRpZENoYW5nZVBsYXliYWNrQXR0cmlidXRlKFdlYk1lZGlhU2Vz
c2lvbkZvY3VzTWFuYWdlciosIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyUGxheWJhY2tBdHRy
aWJ1dGUsIGJvb2wpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU0VTU0lPTikKKworI2VuZGlmIC8vIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggOTZhNDY0YTg2ZTUwYjNmMDYzZTg0YjM0N2UyNTRmYjMzMDI1OTdi
MS4uMTRkNjAyZmM2MzI0ODRmMzFjZTEyNTIxZmI3OGU2MjNjZjlhYjkxYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTY2Myw2
ICsxNjYzLDggQEAKIAkJQzk4QzQ4QTYxQjZGRDRDMzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzk4QzQ4QTQxQjZGRDRDMzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oICovOyB9OwogCQlDOThDNDhBOTFCNkZENUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Np
b25Gb2N1c01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzk4QzQ4QTcxQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyLmNwcCAqLzsgfTsKIAkJQzk4QzQ4QUExQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDOThDNDhBODFCNkZENUI1MDAxNDUxMDMgLyogV0tNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlDOUMxODMzQjFCNzQwMjZBMDA3MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5h
Z2VyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM5QzE4MzM3MUI3M0ZENkEwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFn
ZXJDbGllbnQuY3BwICovOyB9OworCQlDOUMxODMzQzFCNzQwMjZEMDA3MDM2QTcgLyogV2ViTWVk
aWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDOUMxODMzODFCNzNGRDZBMDA3MDM2QTcgLyogV2ViTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmggKi87IH07CiAJCUM5Q0Q0Mzk3MUI0QjAwMTkwMDIz
OUUzMyAvKiBXZWJNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUNENDM5MzFCNEIwMDBFMDAyMzlFMzMgLyogV2Vi
TWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwICovOyB9OwogCQlDOUNENDM5ODFCNEIwMDFEMDAyMzlF
MzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5Q0Q0Mzk0MUI0QjAwMEUwMDIzOUUzMyAvKiBXZWJNZWRp
YVNlc3Npb25NZXRhZGF0YS5oICovOyB9OwogCQlDOUNENDM5RDFCNEIwMjRGMDAyMzlFMzMgLyog
V0tNZWRpYVNlc3Npb25NZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzlDRDQzOUExQjRCMDI0MjAwMjM5RTMzIC8qIFdLTWVkaWFTZXNzaW9u
TWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMzg5MSw2ICszODkzLDggQEAKIAkJQzk4QzQ4QTQxQjZGRDRDMzAwMTQ1MTAzIC8qIFdl
Yk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzk4QzQ4QTcxQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk4
QzQ4QTgxQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM5QzE4MzM3MUI3M0ZENkEwMDcwMzZB
NyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzlDMTgzMzgxQjczRkQ2QTAwNzAz
NkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzlDRDQzOTMxQjRCMDAwRTAwMjM5RTMzIC8q
IFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzlDRDQzOTQxQjRCMDAwRTAwMjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lvbk1l
dGFkYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1lZGlhU2Vzc2lv
bk1ldGFkYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5Q0Q0Mzk5MUI0QjAy
NDIwMDIzOUUzMyAvKiBXS01lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjE3OCw2ICs2MTgyLDggQEAKIAkJCQkzM0QzQTNCOTEz
Mzk2MDYyMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiAq
LywKIAkJCQlDOThDNDhBMzFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyLmNwcCAqLywKIAkJCQlDOThDNDhBNDFCNkZENEMzMDAxNDUxMDMgLyogV2ViTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyLmggKi8sCisJCQkJQzlDMTgzMzcxQjczRkQ2QTAwNzAzNkE3IC8q
IFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5jcHAgKi8sCisJCQkJQzlDMTgzMzgx
QjczRkQ2QTAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oICov
LAogCQkJCTdDQ0NDOEY4MUE1RjUwRkQwMDhGQjBEQSAvKiBXZWJOYXZpZ2F0aW9uU3RhdGUuY3Bw
ICovLAogCQkJCTdDQ0NDOEY5MUE1RjUwRkQwMDhGQjBEQSAvKiBXZWJOYXZpZ2F0aW9uU3RhdGUu
aCAqLywKIAkJCQlCQzFERkVBMzEyQjMxRjg3MDA1REY3MzAgLyogV2ViT3BlblBhbmVsUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHAgKi8sCkBAIC03OTg4LDYgKzc5OTQsNyBAQAogCQkJCTMzRDNBM0NC
MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEMDAzQTUzMTlENDlCNUQwMDVBQkNFMCAvKiBXZWJNZWRpYUtl
eVN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDOThDNDhBNjFCNkZENEMzMDAx
NDUxMDMgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDOUMxODMzQzFCNzQwMjZEMDA3MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDOUNENDM5ODFCNEIwMDFEMDAyMzlFMzMgLyog
V2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEM0VGNDQzMTkx
NzY0NjMwMDAzNDE4NCAvKiBXZWJNZW1vcnlQcmVzc3VyZUhhbmRsZXJJT1MuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkwOTg1NEVEMTJCQzRFMTgwMDBBRDA4MCAvKiBXZWJNZW1vcnlTYW1wbGVyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTk4MjQsNiArOTgzMSw3IEBACiAJCQkJMzNEM0EzQ0ExMzM5NjE3
OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwMDNBNTIxOUQ0OUI1RDAwNUFCQ0UwIC8qIFdlYk1lZGlh
S2V5U3RvcmFnZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzk4QzQ4QTUxQjZGRDRD
MzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlDOUMxODMzQjFCNzQwMjZBMDA3MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM5Q0Q0Mzk3MUI0QjAwMTkwMDIz
OUUzMyAvKiBXZWJNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RDNFRjQ0MjE5MTc2NDYzMDAwMzQxODQgLyogV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTA5ODU0RUMxMkJDNEUxNzAwMEFEMDgwIC8qIFdlYk1lbW9y
eVNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258423</attachid>
            <date>2015-08-06 16:45:14 -0700</date>
            <delta_ts>2015-08-06 16:57:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147745-20150806164504.patch</filename>
            <type>text/plain</type>
            <size>16448</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzdiMzgzMzM1MGIzZjE4
Mzk0YzFjMjk2ZDRiODBiNjcwYTMyODZiOC4uMTNlMzJkNGQzMDZkZDg1NzMyOWMwZDNiZmM2YmU1
MTI3NTkzYTYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA4LTA2ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYSBTZXNzaW9uOiBub3Rp
ZnkgZm9jdXMgbWFuYWdlciBjbGllbnRzIHdoZW4gdGhlIHBsYXlpbmcgc3RhdGUgb2YgdGhlIGZv
Y3VzZWQgbWVkaWEgZWxlbWVudCBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc3NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBwbHVtYmluZyB0byBhbGxvdyBmb2N1cyBtYW5hZ2Vy
J3MgY2xpZW50cyB0byBiZSBub3RpZmllZCB3aGVuIHRoZSBmb2N1c2VkIENvbnRlbnQgbWVkaWEg
ZWxlbWVudCBiZWdpbnMKKyAgICAgICAgcGxheWluZyBvciBpcyBwYXVzZWQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAg
ICAoV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJTZXRDbGllbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmluaXRpYWxpemVDbGllbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6Om1lZGlhRWxlbWVudElzUGxheWlu
Z0RpZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJD
bGllbnQ6OmRpZENoYW5nZVBsYXliYWNrQXR0cmlidXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50Lmg6CisgICAgICAgICogV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE1LTA4LTA2ICBFbnJpY2EgQ2FzdWNjaSAg
PGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciBpT1MgYWZ0ZXIgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTg4MDUzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdl
ci5jcHAKaW5kZXggZTE3NzE5YjEzNmFhMzE1NjQ0OGNkODRkZjNhZjUzNmI1NzNjZDJlYy4uNThk
ZTQxMDFjMGIyOTA3MmIyMDIxMDQ5YzFkMjNhYTFkOWNhMjdkZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXIuY3BwCkBAIC00MCw2ICs0MCwxNiBAQCBXS1R5cGVJRCBXS01lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlckdldFR5cGVJRCgpCiAjZW5kaWYKIH0KIAordm9pZCBXS01lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlclNldENsaWVudChXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclJlZiBtYW5hZ2VyLCBj
b25zdCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2UqIGNsaWVudCkKK3sKKyNp
ZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKyAgICB0b0ltcGwobWFuYWdlciktPmluaXRpYWxpemVD
bGllbnQoY2xpZW50KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKG1hbmFnZXIpOworICAgIFVO
VVNFRF9QQVJBTShjbGllbnQpOworI2VuZGlmCit9CisKIGJvb2wgV0tNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXJJc0ZvY3VzZWRDb250ZW50TWVkaWFFbGVtZW50UGxheWluZyhXS01lZGlhU2Vzc2lv
bkZvY3VzTWFuYWdlclJlZiBtYW5hZ2VyKQogewogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXIuaAppbmRleCA1Nzg4NDFkOGIyYzJmNjNkZGVhMDYyNGVjNjJiYWM3
ZDlmNTQ0Mzk2Li43N2QwOTIwZDI5YzU3NDNmYmFlMGYyZDM4ZmE1YmJmMDMwZjAwMGE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXIuaApAQCAtMzYsOCArMzYsMzAgQEAKIGV4dGVybiAiQyIgewogI2Vu
ZGlmCiAKK2VudW0geworICAgIElzUGxheWluZyA9IDEgPDwgMAorfTsKK3R5cGVkZWYgdWludDMy
X3QgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJQbGF5YmFja0F0dHJpYnV0ZTsKKworLy8gTWVk
aWEgU2Vzc2lvbiBGb2N1cyBNYW5hZ2VyIENsaWVudAordHlwZWRlZiB2b2lkICgqV0tNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXJEaWRDaGFuZ2VQbGF5YmFja0F0dHJpYnV0ZSkoV0tNZWRpYVNlc3Np
b25Gb2N1c01hbmFnZXJSZWYgbWFuYWdlciwgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJQbGF5
YmFja0F0dHJpYnV0ZSBwbGF5YmFja0F0dHJpYnV0ZSwgYm9vbCB2YWx1ZSwgY29uc3Qgdm9pZCAq
Y2xpZW50SW5mbyk7CisKK3R5cGVkZWYgc3RydWN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2Vy
Q2xpZW50QmFzZSB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKK30gV0tNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXJDbGllbnRCYXNlOworCit0eXBlZGVmIHN0cnVjdCBXS01lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlckNsaWVudFYwIHsKKyAgICBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJh
c2UgICAgICAgICAgICAgICAgIGJhc2U7CisKKyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tNZWRp
YVNlc3Npb25Gb2N1c01hbmFnZXJEaWRDaGFuZ2VQbGF5YmFja0F0dHJpYnV0ZSBkaWRDaGFuZ2VQ
bGF5YmFja0F0dHJpYnV0ZTsKK30gV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRWMDsK
KwogV0tfRVhQT1JUIFdLVHlwZUlEIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyR2V0VHlwZUlE
KCk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyU2V0Q2xpZW50
KFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyUmVmIG1hbmFnZXIsIGNvbnN0IFdLTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSogY2xpZW50KTsKKwogV0tfRVhQT1JUIGJvb2wgV0tN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJJc0ZvY3VzZWRDb250ZW50TWVkaWFFbGVtZW50UGxheWlu
ZyhXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclJlZiBtYW5hZ2VyKTsKIAogI2lmZGVmIF9fY3Bs
dXNwbHVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNz
aW9uRm9jdXNNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXIuY3BwCmluZGV4IDY5YmVmMzVmYzY0NGE2NTIxYjBjYTE4NmY4YjVm
MTIwZThiZjI4NDEuLjFkODBlMmQ3NmZmZDAxMjhlNGFjYWFhYmM2MTMyMmIxMTc2OWE5NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25G
b2N1c01hbmFnZXIuY3BwCkBAIC01Nyw2ICs1NywxMSBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlcjo6ZGVyZWZXZWJDb250ZXh0U3VwcGxlbWVudCgpCiAgICAgQVBJOjpPYmplY3Q6
OmRlcmVmKCk7CiB9CiAKK3ZvaWQgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyOjppbml0aWFs
aXplQ2xpZW50KGNvbnN0IFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50QmFzZSogY2xp
ZW50KQoreworICAgIG1fY2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKK30KKwogYm9vbCBXZWJN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXI6OmlzRm9jdXNlZENvbnRlbnRNZWRpYUVsZW1lbnRQbGF5
aW5nKCkgY29uc3QKIHsKICAgICBpZiAoIW1fZm9jdXNlZE1lZGlhRWxlbWVudCkKQEAgLTY4LDgg
KzczLDEwIEBAIGJvb2wgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyOjppc0ZvY3VzZWRDb250
ZW50TWVkaWFFbGVtZW50UGxheWluZygpIGNvbnN0CiB2b2lkIFdlYk1lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlcjo6bWVkaWFFbGVtZW50SXNQbGF5aW5nRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSogcHJv
eHksIHVpbnQ2NF90IGVsZW1lbnRJRCwgYm9vbCBpc1BsYXlpbmcpCiB7CiAgICAgaWYgKG1fZm9j
dXNlZE1lZGlhRWxlbWVudCkgewotICAgICAgICBpZiAocHJveHkgPT0gbV9mb2N1c2VkTWVkaWFF
bGVtZW50LT5maXJzdCAmJiBlbGVtZW50SUQgPT0gbV9mb2N1c2VkTWVkaWFFbGVtZW50LT5zZWNv
bmQpCisgICAgICAgIGlmIChwcm94eSA9PSBtX2ZvY3VzZWRNZWRpYUVsZW1lbnQtPmZpcnN0ICYm
IGVsZW1lbnRJRCA9PSBtX2ZvY3VzZWRNZWRpYUVsZW1lbnQtPnNlY29uZCkgewogICAgICAgICAg
ICAgbV9mb2N1c2VkTWVkaWFFbGVtZW50SXNQbGF5aW5nID0gaXNQbGF5aW5nOworICAgICAgICAg
ICAgbV9jbGllbnQuZGlkQ2hhbmdlUGxheWJhY2tBdHRyaWJ1dGUodGhpcywgSXNQbGF5aW5nLCBp
c1BsYXlpbmcpOworICAgICAgICB9CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmgKaW5kZXggN2M0YTIz
MTNkYTRjY2Q0MTkzNGM1MmE2MTEwMzI5ZGJjYjFkZDgxZS4uZWNmNTI0OTYzNTE4ZjQ3ZWNiZjA1
MTA3YzcwYTBkMGM3NmUzYWUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaApAQCAtMzAsNiArMzAsNyBAQAogCiAj
aW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dFN1cHBsZW1lbnQuaCIK
KyNpbmNsdWRlICJXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaCIKICNpbmNsdWRl
ICJXZWJQYWdlUHJveHkuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00Miw2ICs0Myw4IEBA
IHB1YmxpYzoKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlcj4gY3JlYXRlKFdlYlByb2Nlc3NQb29sKik7CiAKKyAgICB2b2lkIGluaXRpYWxpemVDbGll
bnQoY29uc3QgV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRCYXNlKik7CisKICAgICBi
b29sIGlzRm9jdXNlZENvbnRlbnRNZWRpYUVsZW1lbnRQbGF5aW5nKCkgY29uc3Q7CiAgICAgdm9p
ZCBtZWRpYUVsZW1lbnRJc1BsYXlpbmdEaWRDaGFuZ2UoV2ViUGFnZVByb3h5KiwgdWludDY0X3Qs
IGJvb2wpOwogCkBAIC02MCw2ICs2Myw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8Rm9jdXNlZE1lZGlhRWxlbWVudD4gbV9mb2N1c2VkTWVkaWFFbGVtZW50OwogICAgIGJvb2wg
bV9mb2N1c2VkTWVkaWFFbGVtZW50SXNQbGF5aW5nIHsgZmFsc2UgfTsKKyAgICBXZWJNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXJDbGllbnQgbV9jbGllbnQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Np
b25Gb2N1c01hbmFnZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRhNmYzNzgyZmI2
ZDM5NjBkZmZhZDEwOGU1MWFhYjMyOWMxZDViMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwCkBA
IC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmgiCisKKyNpZiBFTkFCTEUoTUVE
SUFfU0VTU0lPTikKKworI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYk1lZGlh
U2Vzc2lvbkZvY3VzTWFuYWdlci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQ6OmRpZENoYW5nZVBsYXliYWNrQXR0cmlidXRl
KFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlciogbWFuYWdlciwgV0tNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXJQbGF5YmFja0F0dHJpYnV0ZSBwbGF5YmFja0F0dHJpYnV0ZSwgYm9vbCB2YWx1ZSkK
K3sKKyAgICBpZiAoIW1fY2xpZW50LmRpZENoYW5nZVBsYXliYWNrQXR0cmlidXRlKQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX2NsaWVudC5kaWRDaGFuZ2VQbGF5YmFja0F0dHJpYnV0ZSh0b0FQ
SShtYW5hZ2VyKSwgcGxheWJhY2tBdHRyaWJ1dGUsIHZhbHVlLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TRVNTSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmNjlhNjY5
MDU4NjdjNzNhYWZhYzllZmZjOWI1M2ZlNTk5OTU4ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmgK
QEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViTWVkaWFTZXNzaW9uRm9j
dXNNYW5hZ2VyQ2xpZW50X2gKKyNkZWZpbmUgV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xp
ZW50X2gKKworI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQorCisjaW5jbHVkZSAiQVBJQ2xpZW50
LmgiCisjaW5jbHVkZSAiV0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCIKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgQVBJIHsKK3RlbXBsYXRlPD4gc3RydWN0IENsaWVu
dFRyYWl0czxXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudEJhc2U+IHsKKyAgICB0eXBl
ZGVmIHN0ZDo6dHVwbGU8V0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRWMD4gVmVyc2lv
bnM7Cit9OworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyOworCitjbGFzcyBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQg
OiBwdWJsaWMgQVBJOjpDbGllbnQ8V0tNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnRCYXNl
PiB7CitwdWJsaWM6CisgICAgdm9pZCBkaWRDaGFuZ2VQbGF5YmFja0F0dHJpYnV0ZShXZWJNZWRp
YVNlc3Npb25Gb2N1c01hbmFnZXIqLCBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlclBsYXliYWNr
QXR0cmlidXRlLCBib29sKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NFU1NJT04pCisKKyNlbmRpZiAvLyBXZWJNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXJDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDk2YTQ2NGE4NmU1MGIzZjA2M2U4NGIzNDdlMjU0ZmIzMzAy
NTk3YjEuLjE0ZDYwMmZjNjMyNDg0ZjMxY2UxMjUyMWZiNzhlNjIzY2Y5YWI5MWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2
NjMsNiArMTY2Myw4IEBACiAJCUM5OEM0OEE2MUI2RkQ0QzMwMDE0NTEwMyAvKiBXZWJNZWRpYVNl
c3Npb25Gb2N1c01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM5OEM0OEE0MUI2RkQ0QzMwMDE0NTEwMyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1
c01hbmFnZXIuaCAqLzsgfTsKIAkJQzk4QzQ4QTkxQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFT
ZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM5OEM0OEE3MUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlci5jcHAgKi87IH07CiAJCUM5OEM0OEFBMUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzk4QzQ4QTgxQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQzlDMTgzM0IxQjc0MDI2QTAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3Vz
TWFuYWdlckNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDOUMxODMzNzFCNzNGRDZBMDA3MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNN
YW5hZ2VyQ2xpZW50LmNwcCAqLzsgfTsKKwkJQzlDMTgzM0MxQjc0MDI2RDAwNzAzNkE3IC8qIFdl
Yk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzlDMTgzMzgxQjczRkQ2QTAwNzAzNkE3IC8qIFdlYk1l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNsaWVudC5oICovOyB9OwogCQlDOUNENDM5NzFCNEIwMDE5
MDAyMzlFMzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzlDRDQzOTMxQjRCMDAwRTAwMjM5RTMzIC8q
IFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcCAqLzsgfTsKIAkJQzlDRDQzOTgxQjRCMDAxRDAw
MjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUNENDM5NDFCNEIwMDBFMDAyMzlFMzMgLyogV2Vi
TWVkaWFTZXNzaW9uTWV0YWRhdGEuaCAqLzsgfTsKIAkJQzlDRDQzOUQxQjRCMDI0RjAwMjM5RTMz
IC8qIFdLTWVkaWFTZXNzaW9uTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM5Q0Q0MzlBMUI0QjAyNDIwMDIzOUUzMyAvKiBXS01lZGlhU2Vz
c2lvbk1ldGFkYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTM4OTEsNiArMzg5Myw4IEBACiAJCUM5OEM0OEE0MUI2RkQ0QzMwMDE0NTEwMyAv
KiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUM5OEM0OEE3MUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS01l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUM5OEM0OEE4MUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS01lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDOUMxODMzNzFCNzNGRDZBMDA3
MDM2QTcgLyogV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlckNs
aWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM5QzE4MzM4MUI3M0ZENkEw
MDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyQ2xpZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5Q0Q0MzkzMUI0QjAwMEUwMDIzOUUz
MyAvKiBXZWJNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUM5Q0Q0Mzk0MUI0QjAwMEUwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Np
b25NZXRhZGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRpYVNl
c3Npb25NZXRhZGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOUNENDM5OTFC
NEIwMjQyMDAyMzlFMzMgLyogV0tNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS01lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYxNzgsNiArNjE4Miw4IEBACiAJCQkJMzNEM0Ez
QjkxMzM5NjA2MjAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4gKi8sCiAJCQkJQzk4QzQ4QTMxQjZGRDRDMzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlci5jcHAgKi8sCiAJCQkJQzk4QzQ4QTQxQjZGRDRDMzAwMTQ1MTAzIC8qIFdlYk1l
ZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oICovLAorCQkJCUM5QzE4MzM3MUI3M0ZENkEwMDcwMzZB
NyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuY3BwICovLAorCQkJCUM5QzE4
MzM4MUI3M0ZENkEwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQu
aCAqLywKIAkJCQk3Q0NDQzhGODFBNUY1MEZEMDA4RkIwREEgLyogV2ViTmF2aWdhdGlvblN0YXRl
LmNwcCAqLywKIAkJCQk3Q0NDQzhGOTFBNUY1MEZEMDA4RkIwREEgLyogV2ViTmF2aWdhdGlvblN0
YXRlLmggKi8sCiAJCQkJQkMxREZFQTMxMkIzMUY4NzAwNURGNzMwIC8qIFdlYk9wZW5QYW5lbFJl
c3VsdExpc3RlbmVyUHJveHkuY3BwICovLApAQCAtNzk4OCw2ICs3OTk0LDcgQEAKIAkJCQkzM0Qz
QTNDQjEzMzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDAwM0E1MzE5RDQ5QjVEMDA1QUJDRTAgLyogV2ViTWVk
aWFLZXlTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzk4QzQ4QTYxQjZGRDRD
MzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQzlDMTgzM0MxQjc0MDI2RDAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFu
YWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzlDRDQzOTgxQjRCMDAxRDAwMjM5RTMz
IC8qIFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDNFRjQ0
MzE5MTc2NDYzMDAwMzQxODQgLyogV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5MDk4NTRFRDEyQkM0RTE4MDAwQUQwODAgLyogV2ViTWVtb3J5U2FtcGxl
ci5oIGluIEhlYWRlcnMgKi8sCkBAIC05ODI0LDYgKzk4MzEsNyBAQAogCQkJCTMzRDNBM0NBMTMz
OTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEMDAzQTUyMTlENDlCNUQwMDVBQkNFMCAvKiBXZWJN
ZWRpYUtleVN0b3JhZ2VNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM5OEM0OEE1MUI2
RkQ0QzMwMDE0NTEwMyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQzlDMTgzM0IxQjc0MDI2QTAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vzc2lvbkZv
Y3VzTWFuYWdlckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDOUNENDM5NzFCNEIwMDE5
MDAyMzlFMzMgLyogV2ViTWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQzRUY0NDIxOTE3NjQ2MzAwMDM0MTg0IC8qIFdlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklP
Uy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkwOTg1NEVDMTJCQzRFMTcwMDBBRDA4MCAvKiBXZWJN
ZW1vcnlTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="review"
          id="283605"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>