Merge branch 'features/mastoapi/2.6.0-min_id-pagination' into 'develop'
[akkoma] / priv / static / packs / features / hashtag_timeline.js
index 44167ce7ec86b898a3c4d6c25e3dd121087f01fb..d88835b1eec0eb595ecf7b6d665c6a39216cf404 100644 (file)
@@ -1,2 +1,2 @@
-webpackJsonp([18],{275:function(e,t,n){"use strict";n.d(t,"a",function(){return b});var o,i,r=n(2),s=n.n(r),a=n(1),c=n.n(a),l=n(3),d=n.n(l),u=n(4),h=n.n(u),p=n(0),f=n.n(p),g=n(7),b=(i=o=function(e){function t(){return c()(this,t),d()(this,e.apply(this,arguments))}return h()(t,e),t.prototype.render=function(){var e=this.props,t=e.disabled,n=e.visible;return s()("button",{className:"load-more",disabled:t||!n,style:{visibility:n?"visible":"hidden"},onClick:this.props.onClick},void 0,s()(g.b,{id:"status.load_more",defaultMessage:"Load more"}))},t}(f.a.PureComponent),o.defaultProps={visible:!0},i)},277:function(e,t,n){"use strict";var o=n(2),i=n.n(o),r=n(0),s=(n.n(r),n(9)),a=n(158),c=n(67),l=n(17),d=n(68),u=n(22),h=n(69),p=n(90),f=n(157),g=n(26),b=n(7),v=n(13),m=n(33),y=Object(b.f)({deleteConfirm:{id:"confirmations.delete.confirm",defaultMessage:"Delete"},deleteMessage:{id:"confirmations.delete.message",defaultMessage:"Are you sure you want to delete this status?"},redraftConfirm:{id:"confirmations.redraft.confirm",defaultMessage:"Delete & redraft"},redraftMessage:{id:"confirmations.redraft.message",defaultMessage:"Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it."},blockConfirm:{id:"confirmations.block.confirm",defaultMessage:"Block"}}),O=function(){var e=Object(c.e)();return function(t,n){return{status:e(t,n.id)}}},M=function(e,t){var n=t.intl;return{onReply:function(t,n){e(Object(l.T)(t,n))},onModalReblog:function(t){e(Object(d.o)(t))},onReblog:function(t,n){t.get("reblogged")?e(Object(d.r)(t)):n.shiftKey||!v.b?this.onModalReblog(t):e(Object(g.d)("BOOST",{status:t,onReblog:this.onModalReblog}))},onFavourite:function(t){e(t.get("favourited")?Object(d.p)(t):Object(d.k)(t))},onPin:function(t){e(t.get("pinned")?Object(d.q)(t):Object(d.n)(t))},onEmbed:function(t){e(Object(g.d)("EMBED",{url:t.get("url"),onError:function(t){return e(Object(m.e)(t))}}))},onDelete:function(t){var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e(v.d?Object(g.d)("CONFIRM",{message:n.formatMessage(o?y.redraftMessage:y.deleteMessage),confirm:n.formatMessage(o?y.redraftConfirm:y.deleteConfirm),onConfirm:function(){return e(Object(h.g)(t.get("id"),o))}}):Object(h.g)(t.get("id"),o))},onDirect:function(t,n){e(Object(l.N)(t,n))},onMention:function(t,n){e(Object(l.R)(t,n))},onOpenMedia:function(t,n){e(Object(g.d)("MEDIA",{media:t,index:n}))},onOpenVideo:function(t,n){e(Object(g.d)("VIDEO",{media:t,time:n}))},onBlock:function(t){e(Object(g.d)("CONFIRM",{message:i()(b.b,{id:"confirmations.block.message",defaultMessage:"Are you sure you want to block {name}?",values:{name:i()("strong",{},void 0,"@",t.get("acct"))}}),confirm:n.formatMessage(y.blockConfirm),onConfirm:function(){return e(Object(u.q)(t.get("id")))}}))},onReport:function(t){e(Object(f.k)(t.get("account"),t))},onMute:function(t){e(Object(p.g)(t))},onMuteConversation:function(t){e(t.get("muted")?Object(h.l)(t.get("id")):Object(h.j)(t.get("id")))},onToggleHidden:function(t){e(t.get("hidden")?Object(h.k)(t.get("id")):Object(h.i)(t.get("id")))}}};t.a=Object(b.g)(Object(s.connect)(O,M)(a.a))},278:function(e,t,n){"use strict";n.d(t,"a",function(){return L});var o,i,r=n(2),s=n.n(r),a=n(1),c=n.n(a),l=n(3),d=n.n(l),u=n(4),h=n.n(u),p=n(93),f=n.n(p),g=n(0),b=n.n(g),v=n(156),m=n(5),y=n.n(m),O=n(279),M=n(275),I=n(284),j=n(8),C=(n.n(j),n(10)),S=n.n(C),k=n(159),L=(i=o=function(e){function t(){var n,o,i;c()(this,t);for(var r=arguments.length,s=Array(r),a=0;a<r;a++)s[a]=arguments[a];return n=o=d()(this,e.call.apply(e,[this].concat(s))),o.state={fullscreen:null},o.intersectionObserverWrapper=new I.a,o.handleScroll=f()(function(){if(o.node){var e=o.node,t=e.scrollTop;400>e.scrollHeight-t-e.clientHeight&&o.props.onLoadMore&&!o.props.isLoading&&o.props.onLoadMore(),t<100&&o.props.onScrollToTop?o.props.onScrollToTop():o.props.onScroll&&o.props.onScroll()}},150,{trailing:!0}),o.onFullScreenChange=function(){o.setState({fullscreen:Object(k.d)()})},o.setRef=function(e){o.node=e},o.handleLoadMore=function(e){e.preventDefault(),o.props.onLoadMore()},i=n,d()(o,i)}return h()(t,e),t.prototype.componentDidMount=function(){this.attachScrollListener(),this.attachIntersectionObserver(),Object(k.a)(this.onFullScreenChange),this.handleScroll()},t.prototype.getSnapshotBeforeUpdate=function(e){return b.a.Children.count(e.children)>0&&b.a.Children.count(e.children)<b.a.Children.count(this.props.children)&&this.getFirstChildKey(e)!==this.getFirstChildKey(this.props)&&this.node.scrollTop>0?this.node.scrollHeight-this.node.scrollTop:null},t.prototype.componentDidUpdate=function(e,t,n){if(null!==n){var o=this.node.scrollHeight-n;this.node.scrollTop!==o&&(this.node.scrollTop=o)}},t.prototype.componentWillUnmount=function(){this.detachScrollListener(),this.detachIntersectionObserver(),Object(k.b)(this.onFullScreenChange)},t.prototype.attachIntersectionObserver=function(){this.intersectionObserverWrapper.connect({root:this.node,rootMargin:"300% 0px"})},t.prototype.detachIntersectionObserver=function(){this.intersectionObserverWrapper.disconnect()},t.prototype.attachScrollListener=function(){this.node.addEventListener("scroll",this.handleScroll)},t.prototype.detachScrollListener=function(){this.node.removeEventListener("scroll",this.handleScroll)},t.prototype.getFirstChildKey=function(e){var t=e.children,n=t;return t instanceof j.List?n=t.get(0):Array.isArray(t)&&(n=t[0]),n&&n.key},t.prototype.render=function(){var e=this,t=this.props,n=t.children,o=t.scrollKey,i=t.trackScroll,r=t.shouldUpdateScroll,a=t.isLoading,c=t.hasMore,l=t.prepend,d=t.alwaysPrepend,u=t.emptyMessage,h=t.onLoadMore,p=this.state.fullscreen,f=b.a.Children.count(n),g=c&&f>0&&h?s()(M.a,{visible:!a,onClick:this.handleLoadMore}):null,m=null;return m=a||f>0||!u?b.a.createElement("div",{className:S()("scrollable",{fullscreen:p}),ref:this.setRef},s()("div",{role:"feed",className:"item-list"},void 0,l,b.a.Children.map(this.props.children,function(t,n){return s()(O.a,{id:t.key,index:n,listLength:f,intersectionObserverWrapper:e.intersectionObserverWrapper,saveHeightKey:i?e.context.router.route.location.key+":"+o:null},t.key,t)}),g)):s()("div",{style:{flex:"1 1 auto",display:"flex",flexDirection:"column"}},void 0,d&&l,b.a.createElement("div",{className:"empty-column-indicator",ref:this.setRef},u)),i?s()(v.a,{scrollKey:o,shouldUpdateScroll:r},void 0,m):m},t}(g.PureComponent),o.contextTypes={router:y.a.object},o.defaultProps={trackScroll:!0},i)},279:function(e,t,n){"use strict";var o=n(9),i=n(280),r=n(94),s=function(e,t){return{cachedHeight:e.getIn(["height_cache",t.saveHeightKey,t.id])}},a=function(e){return{onHeightChange:function(t,n,o){e(Object(r.d)(t,n,o))}}};t.a=Object(o.connect)(s,a)(i.a)},280:function(e,t,n){"use strict";n.d(t,"a",function(){return b});var o=n(1),i=n.n(o),r=n(3),s=n.n(r),a=n(4),c=n.n(a),l=n(0),d=n.n(l),u=n(281),h=n(283),p=n(8),f=(n.n(p),["id","index","listLength"]),g=["id","index","listLength","cachedHeight"],b=function(e){function t(){var n,o,r;i()(this,t);for(var a=arguments.length,c=Array(a),l=0;l<a;l++)c[l]=arguments[l];return n=o=s()(this,e.call.apply(e,[this].concat(c))),o.state={isHidden:!1},o.handleIntersection=function(e){o.entry=e,Object(u.a)(o.calculateHeight),o.setState(o.updateStateAfterIntersection)},o.updateStateAfterIntersection=function(e){return e.isIntersecting&&!o.entry.isIntersecting&&Object(u.a)(o.hideIfNotIntersecting),{isIntersecting:o.entry.isIntersecting,isHidden:!1}},o.calculateHeight=function(){var e=o.props,t=e.onHeightChange,n=e.saveHeightKey,i=e.id;o.height=Object(h.a)(o.entry).height,t&&n&&t(n,i,o.height)},o.hideIfNotIntersecting=function(){o.componentMounted&&o.setState(function(e){return{isHidden:!e.isIntersecting}})},o.handleRef=function(e){o.node=e},r=n,s()(o,r)}return c()(t,e),t.prototype.shouldComponentUpdate=function(e,t){var n=this,o=!this.state.isIntersecting&&(this.state.isHidden||this.props.cachedHeight);return!!o!=!(t.isIntersecting||!t.isHidden&&!e.cachedHeight)||!(o?g:f).every(function(t){return Object(p.is)(e[t],n.props[t])})},t.prototype.componentDidMount=function(){var e=this.props,t=e.intersectionObserverWrapper,n=e.id;t.observe(n,this.node,this.handleIntersection),this.componentMounted=!0},t.prototype.componentWillUnmount=function(){var e=this.props,t=e.intersectionObserverWrapper,n=e.id;t.unobserve(n,this.node),this.componentMounted=!1},t.prototype.render=function(){var e=this.props,t=e.children,n=e.id,o=e.index,i=e.listLength,r=e.cachedHeight,s=this.state,a=s.isIntersecting,c=s.isHidden;return a||!c&&!r?d.a.createElement("article",{ref:this.handleRef,"aria-posinset":o,"aria-setsize":i,"data-id":n,tabIndex:"0"},t&&d.a.cloneElement(t,{hidden:!1})):d.a.createElement("article",{ref:this.handleRef,"aria-posinset":o,"aria-setsize":i,style:{height:(this.height||r)+"px",opacity:0,overflow:"hidden"},"data-id":n,tabIndex:"0"},t&&d.a.cloneElement(t,{hidden:!0}))},t}(d.a.Component)},281:function(e,t,n){"use strict";function o(e){for(;a.length&&e.timeRemaining()>0;)a.shift()();a.length?requestIdleCallback(o):c=!1}function i(e){a.push(e),c||(c=!0,requestIdleCallback(o))}var r=n(282),s=n.n(r),a=new s.a,c=!1;t.a=i},282:function(e,t,n){"use strict";function o(){this.length=0}o.prototype.push=function(e){var t={item:e};this.last?this.last=this.last.next=t:this.last=this.first=t,this.length++},o.prototype.shift=function(){var e=this.first;if(e)return this.first=e.next,--this.length||(this.last=void 0),e.item},o.prototype.slice=function(e,t){e=void 0===e?0:e,t=void 0===t?1/0:t;for(var n=[],o=0,i=this.first;i&&!(--t<0);i=i.next)++o>e&&n.push(i.item);return n},e.exports=o},283:function(e,t,n){"use strict";function o(e){if("boolean"!=typeof i){var t=e.target.getBoundingClientRect(),n=e.boundingClientRect;i=t.height!==n.height||t.top!==n.top||t.width!==n.width||t.bottom!==n.bottom||t.left!==n.left||t.right!==n.right}return i?e.target.getBoundingClientRect():e.boundingClientRect}var i=void 0;t.a=o},284:function(e,t,n){"use strict";var o=n(1),i=n.n(o),r=function(){function e(){i()(this,e),this.callbacks={},this.observerBacklog=[],this.observer=null}return e.prototype.connect=function(e){var t=this,n=function(e){e.forEach(function(e){var n=e.target.getAttribute("data-id");t.callbacks[n]&&t.callbacks[n](e)})};this.observer=new IntersectionObserver(n,e),this.observerBacklog.forEach(function(e){var n=e[0],o=e[1],i=e[2];t.observe(n,o,i)}),this.observerBacklog=null},e.prototype.observe=function(e,t,n){this.observer?(this.callbacks[e]=n,this.observer.observe(t)):this.observerBacklog.push([e,t,n])},e.prototype.unobserve=function(e,t){this.observer&&(delete this.callbacks[e],this.observer.unobserve(t))},e.prototype.disconnect=function(){this.observer&&(this.callbacks={},this.observer.disconnect(),this.observer=null)},e}();t.a=r},285:function(e,t,n){"use strict";n.d(t,"a",function(){return b});var o,i=n(2),r=n.n(i),s=n(1),a=n.n(s),c=n(3),l=n.n(c),d=n(4),u=n.n(d),h=n(0),p=n.n(h),f=n(7),g=Object(f.f)({load_more:{id:"status.load_more",defaultMessage:"Load more"}}),b=Object(f.g)(o=function(e){function t(){var n,o,i;a()(this,t);for(var r=arguments.length,s=Array(r),c=0;c<r;c++)s[c]=arguments[c];return n=o=l()(this,e.call.apply(e,[this].concat(s))),o.handleClick=function(){o.props.onClick(o.props.maxId)},i=n,l()(o,i)}return u()(t,e),t.prototype.render=function(){var e=this.props,t=e.disabled,n=e.intl;return r()("button",{className:"load-more load-gap",disabled:t,onClick:this.handleClick,"aria-label":n.formatMessage(g.load_more)},void 0,r()("i",{className:"fa fa-ellipsis-h"}))},t}(p.a.PureComponent))||o},286:function(e,t,n){"use strict";n.d(t,"a",function(){return H});var o,i,r=n(34),s=n.n(r),a=n(2),c=n.n(a),l=n(55),d=n.n(l),u=n(1),h=n.n(u),p=n(3),f=n.n(p),g=n(4),b=n.n(g),v=n(32),m=n.n(v),y=n(0),O=n.n(y),M=n(14),I=n.n(M),j=n(5),C=n.n(j),S=n(277),k=n(12),L=n.n(k),_=n(285),x=n(278),R=n(7),H=(i=o=function(e){function t(){var n,o,i;h()(this,t);for(var r=arguments.length,s=Array(r),a=0;a<r;a++)s[a]=arguments[a];return n=o=f()(this,e.call.apply(e,[this].concat(s))),o.getFeaturedStatusCount=function(){return o.props.featuredStatusIds?o.props.featuredStatusIds.size:0},o.getCurrentStatusIndex=function(e,t){return t?o.props.featuredStatusIds.indexOf(e):o.props.statusIds.indexOf(e)+o.getFeaturedStatusCount()},o.handleMoveUp=function(e,t){var n=o.getCurrentStatusIndex(e,t)-1;o._selectChild(n)},o.handleMoveDown=function(e,t){var n=o.getCurrentStatusIndex(e,t)+1;o._selectChild(n)},o.handleLoadOlder=m()(function(){o.props.onLoadMore(o.props.statusIds.last())},300,{leading:!0}),o.setRef=function(e){o.node=e},i=n,f()(o,i)}return b()(t,e),t.prototype._selectChild=function(e){var t=this.node.node.querySelector("article:nth-of-type("+(e+1)+") .focusable");t&&t.focus()},t.prototype.render=function(){var e=this,t=this.props,n=t.statusIds,o=t.featuredStatusIds,i=t.onLoadMore,r=d()(t,["statusIds","featuredStatusIds","onLoadMore"]),a=r.isLoading;if(r.isPartial)return c()("div",{className:"regeneration-indicator"},void 0,c()("div",{},void 0,c()("div",{className:"regeneration-indicator__figure"}),c()("div",{className:"regeneration-indicator__label"},void 0,c()(R.b,{id:"regeneration_indicator.label",tagName:"strong",defaultMessage:"Loading…"}),c()(R.b,{id:"regeneration_indicator.sublabel",defaultMessage:"Your home feed is being prepared!"}))));var l=a||n.size>0?n.map(function(t,o){return null===t?c()(_.a,{disabled:a,maxId:o>0?n.get(o-1):null,onClick:i},"gap:"+n.get(o+1)):c()(S.a,{id:t,onMoveUp:e.handleMoveUp,onMoveDown:e.handleMoveDown},t)}):null;return l&&o&&(l=o.map(function(t){return c()(S.a,{id:t,featured:!0,onMoveUp:e.handleMoveUp,onMoveDown:e.handleMoveDown},"f-"+t)}).concat(l)),O.a.createElement(x.a,s()({},r,{onLoadMore:i&&this.handleLoadOlder,ref:this.setRef}),l)},t}(L.a),o.propTypes={scrollKey:C.a.string.isRequired,statusIds:I.a.list.isRequired,featuredStatusIds:I.a.list,onLoadMore:C.a.func,onScrollToTop:C.a.func,onScroll:C.a.func,trackScroll:C.a.bool,shouldUpdateScroll:C.a.func,isLoading:C.a.bool,isPartial:C.a.bool,hasMore:C.a.bool,prepend:C.a.node,emptyMessage:C.a.node,alwaysPrepend:C.a.bool},o.defaultProps={trackScroll:!0},i)},814:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"default",function(){return C});var o,i,r=n(2),s=n.n(r),a=n(1),c=n.n(a),l=n(3),d=n.n(l),u=n(4),h=n.n(u),p=n(0),f=n.n(p),g=n(9),b=n(92),v=n(71),m=n(70),y=n(19),O=n(290),M=n(7),I=n(72),j=function(e,t){return{hasUnread:e.getIn(["timelines","hashtag:"+t.params.id,"unread"])>0}},C=(o=Object(g.connect)(j))(i=function(e){function t(){var n,o,i;c()(this,t);for(var r=arguments.length,s=Array(r),a=0;a<r;a++)s[a]=arguments[a];return n=o=d()(this,e.call.apply(e,[this].concat(s))),o.handlePin=function(){var e=o.props,t=e.columnId,n=e.dispatch;n(t?Object(O.h)(t):Object(O.e)("HASHTAG",{id:o.props.params.id}))},o.handleMove=function(e){var t=o.props,n=t.columnId;(0,t.dispatch)(Object(O.g)(n,e))},o.handleHeaderClick=function(){o.column.scrollTop()},o.setRef=function(e){o.column=e},o.handleLoadMore=function(e){o.props.dispatch(Object(y.o)(o.props.params.id,{maxId:e}))},i=n,d()(o,i)}return h()(t,e),t.prototype._subscribe=function(e,t){this.disconnect=e(Object(I.c)(t))},t.prototype._unsubscribe=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.prototype.componentDidMount=function(){var e=this.props.dispatch,t=this.props.params.id;e(Object(y.o)(t)),this._subscribe(e,t)},t.prototype.componentWillReceiveProps=function(e){e.params.id!==this.props.params.id&&(this.props.dispatch(Object(y.o)(e.params.id)),this._unsubscribe(),this._subscribe(this.props.dispatch,e.params.id))},t.prototype.componentWillUnmount=function(){this._unsubscribe()},t.prototype.render=function(){var e=this.props,t=e.hasUnread,n=e.columnId,o=e.multiColumn,i=this.props.params.id,r=!!n;return f.a.createElement(v.a,{ref:this.setRef},s()(m.a,{icon:"hashtag",active:t,title:i,onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:r,multiColumn:o,showBackButton:!0}),s()(b.a,{trackScroll:!r,scrollKey:"hashtag_timeline-"+n,timelineId:"hashtag:"+i,onLoadMore:this.handleLoadMore,emptyMessage:s()(M.b,{id:"empty_column.hashtag",defaultMessage:"There is nothing in this hashtag yet."})}))},t}(f.a.PureComponent))||i},92:function(e,t,n){"use strict";var o=n(32),i=n.n(o),r=n(9),s=n(286),a=n(19),c=n(8),l=(n.n(c),n(95)),d=(n.n(l),n(13)),u=function(){return Object(l.createSelector)([function(e,t){var n=t.type;return e.getIn(["settings",n],Object(c.Map)())},function(e,t){var n=t.type;return e.getIn(["timelines",n,"items"],Object(c.List)())},function(e){return e.get("statuses")}],function(e,t,n){var o=e.getIn(["regex","body"],"").trim(),i=null;try{i=o&&new RegExp(o,"i")}catch(e){}return t.filter(function(t){if(null===t)return!0;var o=n.get(t),r=!0;if(!1===e.getIn(["shows","reblog"])&&(r=r&&null===o.get("reblog")),!1===e.getIn(["shows","reply"])&&(r=r&&(null===o.get("in_reply_to_id")||o.get("in_reply_to_account_id")===d.i)),r&&i&&o.get("account")!==d.i){var s=o.get("reblog")?n.getIn([o.get("reblog"),"search_index"]):o.get("search_index");r=!i.test(s)}return r})})},h=function(){var e=u();return function(t,n){var o=n.timelineId;return{statusIds:e(t,{type:o}),isLoading:t.getIn(["timelines",o,"isLoading"],!0),isPartial:t.getIn(["timelines",o,"isPartial"],!1),hasMore:t.getIn(["timelines",o,"hasMore"])}}},p=function(e,t){var n=t.timelineId;return{onScrollToTop:i()(function(){e(Object(a.s)(n,!0))},100),onScroll:i()(function(){e(Object(a.s)(n,!1))},100)}};t.a=Object(r.connect)(h,p)(s.a)}});
+(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{104:function(t,e){var n=Array.isArray;t.exports=n},138:function(t,e,n){var r=n(435),o=n(438);t.exports=function(t,e){var n=o(t,e);return r(n)?n:void 0}},249:function(t,e,n){var r=n(451),o=n(452),a=n(453),i=n(454),s=n(455);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=o,c.prototype.get=a,c.prototype.has=i,c.prototype.set=s,t.exports=c},250:function(t,e,n){var r=n(376);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},251:function(t,e,n){var r=n(138)(Object,"create");t.exports=r},252:function(t,e,n){var r=n(469);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},282:function(t,e,n){var r=n(138)(n(72),"Map");t.exports=r},284:function(t,e){t.exports=function(t){return"number"==typeof t&&-1<t&&t%1==0&&t<=9007199254740991}},285:function(t,e,n){var r=n(461),o=n(468),a=n(470),i=n(471),s=n(472);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=o,c.prototype.get=a,c.prototype.has=i,c.prototype.set=s,t.exports=c},343:function(t,e,n){var r=n(439),o=n(446),a=n(450);t.exports=function(t){return a(t)?r(t):o(t)}},372:function(t,e,n){var r=n(139),o=n(88);t.exports=function(t){if(!o(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},373:function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},374:function(t,s,c){(function(t){var e=c(72),n=c(442),r=s&&!s.nodeType&&s,o=r&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===r?e.Buffer:void 0,i=(a?a.isBuffer:void 0)||n;t.exports=i}).call(this,c(236)(t))},375:function(t,e,n){var r=n(443),o=n(444),a=n(445),i=a&&a.isTypedArray,s=i?o(i):r;t.exports=s},376:function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},377:function(t,e,n){var b=n(474),g=n(477),_=n(478);t.exports=function(t,e,n,r,o,a){var i=1&n,s=t.length,c=e.length;if(s!=c&&!(i&&s<c))return!1;var u=a.get(t);if(u&&a.get(e))return u==e;var p=-1,f=!0,l=2&n?new b:void 0;for(a.set(t,e),a.set(e,t);++p<s;){var h=t[p],d=e[p];if(r)var v=i?r(d,h,p,e,t,a):r(h,d,p,t,e,a);if(void 0!==v){if(v)continue;f=!1;break}if(l){if(!g(e,function(t,e){if(!_(l,e)&&(h===t||o(h,t,n,r,a)))return l.push(e)})){f=!1;break}}else if(h!==d&&!o(h,d,n,r,a)){f=!1;break}}return a.delete(t),a.delete(e),f}},379:function(t,e,n){var r=n(441),o=n(140),a=Object.prototype,i=a.hasOwnProperty,s=a.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return o(t)&&i.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},380:function(t,e){var r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&r.test(t))&&-1<t&&t%1==0&&t<e}},381:function(t,e,n){var r=n(249),o=n(456),a=n(457),i=n(458),s=n(459),c=n(460);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=o,u.prototype.delete=a,u.prototype.get=i,u.prototype.has=s,u.prototype.set=c,t.exports=u},382:function(t,e,n){var i=n(473),s=n(140);t.exports=function t(e,n,r,o,a){return e===n||(null==e||null==n||!s(e)&&!s(n)?e!=e&&n!=n:i(e,n,r,o,t,a))}},435:function(t,e,n){var r=n(372),o=n(436),a=n(88),i=n(373),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,p=c.toString,f=u.hasOwnProperty,l=RegExp("^"+p.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!a(t)||o(t))&&(r(t)?l:s).test(i(t))}},436:function(t,e,n){var r,o=n(437),a=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!a&&a in t}},437:function(t,e,n){var r=n(72)["__core-js_shared__"];t.exports=r},438:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},439:function(t,e,n){var p=n(440),f=n(379),l=n(104),h=n(374),d=n(380),v=n(375),b=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=l(t),r=!n&&f(t),o=!n&&!r&&h(t),a=!n&&!r&&!o&&v(t),i=n||r||o||a,s=i?p(t.length,String):[],c=s.length;for(var u in t)!e&&!b.call(t,u)||i&&("length"==u||o&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||d(u,c))||s.push(u);return s}},440:function(t,e){t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},441:function(t,e,n){var r=n(139),o=n(140);t.exports=function(t){return o(t)&&"[object Arguments]"==r(t)}},442:function(t,e){t.exports=function(){return!1}},443:function(t,e,n){var r=n(139),o=n(284),a=n(140),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(t){return a(t)&&o(t.length)&&!!i[r(t)]}},444:function(t,e){t.exports=function(e){return function(t){return e(t)}}},445:function(t,i,s){(function(t){var e=s(253),n=i&&!i.nodeType&&i,r=n&&"object"==typeof t&&t&&!t.nodeType&&t,o=r&&r.exports===n&&e.process,a=function(){try{var t=r&&r.require&&r.require("util").types;return t||o&&o.binding&&o.binding("util")}catch(t){}}();t.exports=a}).call(this,s(236)(t))},446:function(t,e,n){var r=n(447),o=n(448),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=[];for(var n in Object(t))a.call(t,n)&&"constructor"!=n&&e.push(n);return e}},447:function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},448:function(t,e,n){var r=n(449)(Object.keys,Object);t.exports=r},449:function(t,e){t.exports=function(e,n){return function(t){return e(n(t))}}},450:function(t,e,n){var r=n(372),o=n(284);t.exports=function(t){return null!=t&&o(t.length)&&!r(t)}},451:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},452:function(t,e,n){var r=n(250),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():o.call(e,n,1),--this.size,0))}},453:function(t,e,n){var r=n(250);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},454:function(t,e,n){var r=n(250);t.exports=function(t){return-1<r(this.__data__,t)}},455:function(t,e,n){var o=n(250);t.exports=function(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}},456:function(t,e,n){var r=n(249);t.exports=function(){this.__data__=new r,this.size=0}},457:function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},458:function(t,e){t.exports=function(t){return this.__data__.get(t)}},459:function(t,e){t.exports=function(t){return this.__data__.has(t)}},460:function(t,e,n){var o=n(249),a=n(282),i=n(285);t.exports=function(t,e){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!a||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(r)}return n.set(t,e),this.size=n.size,this}},461:function(t,e,n){var r=n(462),o=n(249),a=n(282);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||o),string:new r}}},462:function(t,e,n){var r=n(463),o=n(464),a=n(465),i=n(466),s=n(467);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=o,c.prototype.get=a,c.prototype.has=i,c.prototype.set=s,t.exports=c},463:function(t,e,n){var r=n(251);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},464:function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},465:function(t,e,n){var r=n(251),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return o.call(e,t)?e[t]:void 0}},466:function(t,e,n){var r=n(251),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:o.call(e,t)}},467:function(t,e,n){var r=n(251);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},468:function(t,e,n){var r=n(252);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},469:function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},470:function(t,e,n){var r=n(252);t.exports=function(t){return r(this,t).get(t)}},471:function(t,e,n){var r=n(252);t.exports=function(t){return r(this,t).has(t)}},472:function(t,e,n){var o=n(252);t.exports=function(t,e){var n=o(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}},473:function(t,e,n){var g=n(381),_=n(377),j=n(479),y=n(483),m=n(490),O=n(104),x=n(374),w=n(375),A="[object Arguments]",M="[object Array]",S="[object Object]",z=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,r,o,a){var i=O(t),s=O(e),c=i?M:m(t),u=s?M:m(e),p=(c=c==A?S:c)==S,f=(u=u==A?S:u)==S,l=c==u;if(l&&x(t)){if(!x(e))return!1;p=!(i=!0)}if(l&&!p)return a||(a=new g),i||w(t)?_(t,e,n,r,o,a):j(t,e,c,n,r,o,a);if(!(1&n)){var h=p&&z.call(t,"__wrapped__"),d=f&&z.call(e,"__wrapped__");if(h||d){var v=h?t.value():t,b=d?e.value():e;return a||(a=new g),o(v,b,n,r,a)}}return!!l&&(a||(a=new g),y(t,e,n,r,o,a))}},474:function(t,e,n){var r=n(285),o=n(475),a=n(476);function i(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e<n;)this.add(t[e])}i.prototype.add=i.prototype.push=o,i.prototype.has=a,t.exports=i},475:function(t,e){t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},476:function(t,e){t.exports=function(t){return this.__data__.has(t)}},477:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}},478:function(t,e){t.exports=function(t,e){return t.has(e)}},479:function(t,e,n){var r=n(143),f=n(480),l=n(376),h=n(377),d=n(481),v=n(482),o=r?r.prototype:void 0,b=o?o.valueOf:void 0;t.exports=function(t,e,n,r,o,a,i){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!a(new f(t),new f(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return l(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=d;case"[object Set]":var c=1&r;if(s||(s=v),t.size!=e.size&&!c)return!1;var u=i.get(t);if(u)return u==e;r|=2,i.set(t,e);var p=h(s(t),s(e),r,o,a,i);return i.delete(t),p;case"[object Symbol]":if(b)return b.call(t)==b.call(e)}return!1}},480:function(t,e,n){var r=n(72).Uint8Array;t.exports=r},481:function(t,e){t.exports=function(t){var n=-1,r=Array(t.size);return t.forEach(function(t,e){r[++n]=[e,t]}),r}},482:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}},483:function(t,e,n){var j=n(484),y=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,r,o,a){var i=1&n,s=j(t),c=s.length;if(c!=j(e).length&&!i)return!1;for(var u=c;u--;){var p=s[u];if(!(i?p in e:y.call(e,p)))return!1}var f=a.get(t);if(f&&a.get(e))return f==e;var l=!0;a.set(t,e),a.set(e,t);for(var h=i;++u<c;){var d=t[p=s[u]],v=e[p];if(r)var b=i?r(v,d,p,e,t,a):r(d,v,p,t,e,a);if(!(void 0===b?d===v||o(d,v,n,r,a):b)){l=!1;break}h||(h="constructor"==p)}if(l&&!h){var g=t.constructor,_=e.constructor;g!=_&&"constructor"in t&&"constructor"in e&&!("function"==typeof g&&g instanceof g&&"function"==typeof _&&_ instanceof _)&&(l=!1)}return a.delete(t),a.delete(e),l}},484:function(t,e,n){var r=n(485),o=n(487),a=n(343);t.exports=function(t){return r(t,a,o)}},485:function(t,e,n){var o=n(486),a=n(104);t.exports=function(t,e,n){var r=e(t);return a(t)?r:o(r,n(t))}},486:function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,o=t.length;++n<r;)t[o+n]=e[n];return t}},487:function(t,e,n){var r=n(488),o=n(489),a=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,s=i?function(e){return null==e?[]:(e=Object(e),r(i(e),function(t){return a.call(e,t)}))}:o;t.exports=s},488:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,o=0,a=[];++n<r;){var i=t[n];e(i,n,t)&&(a[o++]=i)}return a}},489:function(t,e){t.exports=function(){return[]}},490:function(t,e,n){var r=n(491),o=n(282),a=n(492),i=n(493),s=n(494),c=n(139),u=n(373),p="[object Map]",f="[object Promise]",l="[object Set]",h="[object WeakMap]",d="[object DataView]",v=u(r),b=u(o),g=u(a),_=u(i),j=u(s),y=c;(r&&y(new r(new ArrayBuffer(1)))!=d||o&&y(new o)!=p||a&&y(a.resolve())!=f||i&&y(new i)!=l||s&&y(new s)!=h)&&(y=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case v:return d;case b:return p;case g:return f;case _:return l;case j:return h}return e}),t.exports=y},491:function(t,e,n){var r=n(138)(n(72),"DataView");t.exports=r},492:function(t,e,n){var r=n(138)(n(72),"Promise");t.exports=r},493:function(t,e,n){var r=n(138)(n(72),"Set");t.exports=r},494:function(t,e,n){var r=n(138)(n(72),"WeakMap");t.exports=r},698:function(t,e,n){"use strict";n.r(e);var r,o,s=n(0),a=n(3),i=n(7),c=n(1),u=n(966),p=n.n(u),f=n(2),l=n.n(f),h=n(24),d=n(898),v=n(631),b=n(627),g=n(6),_=n(362),j=n.n(_),y=n(967),m=n.n(y),O=Object(g.f)({placeholder:{id:"hashtag.column_settings.select.placeholder",defaultMessage:"Enter hashtags…"},noOptions:{id:"hashtag.column_settings.select.no_options_message",defaultMessage:"No suggestions found"}}),x=Object(g.g)(r=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return n=o.call.apply(o,[this].concat(e))||this,Object(c.a)(Object(a.a)(n),"state",{open:n.hasTags()}),Object(c.a)(Object(a.a)(n),"onSelect",function(e){return function(t){return n.props.onChange(["tags",e],t)}}),Object(c.a)(Object(a.a)(n),"onToggle",function(){n.state.open&&n.hasTags()&&n.props.onChange("tags",{}),n.setState({open:!n.state.open})}),Object(c.a)(Object(a.a)(n),"noOptionsMessage",function(){return n.props.intl.formatMessage(O.noOptions)}),n}Object(i.a)(t,o);var e=t.prototype;return e.hasTags=function(){var e=this;return["all","any","none"].map(function(t){return 0<e.tags(t).length}).includes(!0)},e.tags=function(t){var e=this.props.settings.getIn(["tags",t])||[];return e.toJSON?e.toJSON():e},e.modeSelect=function(t){return Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)("span",{className:"column-settings__section"},void 0,this.modeLabel(t)),Object(s.a)(m.a,{isMulti:!0,autoFocus:!0,value:this.tags(t),onChange:this.onSelect(t),loadOptions:this.props.onLoad,className:"column-select__container",classNamePrefix:"column-select",name:"tags",placeholder:this.props.intl.formatMessage(O.placeholder),noOptionsMessage:this.noOptionsMessage}))},e.modeLabel=function(t){switch(t){case"any":return Object(s.a)(g.b,{id:"hashtag.column_settings.tag_mode.any",defaultMessage:"Any of these"});case"all":return Object(s.a)(g.b,{id:"hashtag.column_settings.tag_mode.all",defaultMessage:"All of these"});case"none":return Object(s.a)(g.b,{id:"hashtag.column_settings.tag_mode.none",defaultMessage:"None of these"});default:return""}},e.render=function(){return Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)("div",{className:"setting-toggle"},void 0,Object(s.a)(j.a,{id:"hashtag.column_settings.tag_toggle",onChange:this.onToggle,checked:this.state.open}),Object(s.a)("span",{className:"setting-toggle__label"},void 0,Object(s.a)(g.b,{id:"hashtag.column_settings.tag_toggle",defaultMessage:"Include additional tags in this column"})))),this.state.open&&Object(s.a)("div",{className:"column-settings__hashtags"},void 0,this.modeSelect("any"),this.modeSelect("all"),this.modeSelect("none")))},t}(l.a.PureComponent))||r,w=n(223),A=n(9),M=Object(h.connect)(function(t,e){var n=e.columnId,r=t.getIn(["settings","columns"]),o=r.findIndex(function(t){return t.get("uuid")===n});return n&&0<=o?{settings:r.get(o).get("params")}:{}},function(n,t){var r=t.columnId;return{onChange:function(t,e){n(Object(w.f)(r,t,e))},onLoad:function(t){return Object(A.a)().get("/api/v2/search",{params:{q:t}}).then(function(t){return(t.data.hashtags||[]).map(function(t){return{value:t.name,label:"#"+t.name}})})}}})(x),S=n(35),z=n(633);n.d(e,"default",function(){return P});var P=Object(h.connect)(function(t,e){return{hasUnread:0<t.getIn(["timelines","hashtag:"+e.params.id,"unread"])}})(o=function(r){function t(){for(var o,t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return o=r.call.apply(r,[this].concat(e))||this,Object(c.a)(Object(a.a)(o),"disconnects",[]),Object(c.a)(Object(a.a)(o),"handlePin",function(){var t=o.props,e=t.columnId,n=t.dispatch;n(e?Object(w.h)(e):Object(w.e)("HASHTAG",{id:o.props.params.id}))}),Object(c.a)(Object(a.a)(o),"title",function(){var t=[o.props.params.id];return o.additionalFor("any")&&t.push(" ",Object(s.a)(g.b,{id:"hashtag.column_header.tag_mode.any",values:{additional:o.additionalFor("any")},defaultMessage:"or {additional}"},"any")),o.additionalFor("all")&&t.push(" ",Object(s.a)(g.b,{id:"hashtag.column_header.tag_mode.all",values:{additional:o.additionalFor("all")},defaultMessage:"and {additional}"},"all")),o.additionalFor("none")&&t.push(" ",Object(s.a)(g.b,{id:"hashtag.column_header.tag_mode.none",values:{additional:o.additionalFor("none")},defaultMessage:"without {additional}"},"none")),t}),Object(c.a)(Object(a.a)(o),"additionalFor",function(t){var e=o.props.params.tags;return e&&0<(e[t]||[]).length?e[t].map(function(t){return t.value}).join("/"):""}),Object(c.a)(Object(a.a)(o),"handleMove",function(t){var e=o.props,n=e.columnId;(0,e.dispatch)(Object(w.g)(n,t))}),Object(c.a)(Object(a.a)(o),"handleHeaderClick",function(){o.column.scrollTop()}),Object(c.a)(Object(a.a)(o),"setRef",function(t){o.column=t}),Object(c.a)(Object(a.a)(o),"handleLoadMore",function(t){var e=o.props.params,n=e.id,r=e.tags;o.props.dispatch(Object(S.r)(n,{maxId:t,tags:r}))}),o}Object(i.a)(t,r);var e=t.prototype;return e._subscribe=function(e,n,t){var r=this;void 0===t&&(t={});var o=(t.any||[]).map(function(t){return t.value}),a=(t.all||[]).map(function(t){return t.value}),i=(t.none||[]).map(function(t){return t.value});[n].concat(o).map(function(t){r.disconnects.push(e(Object(z.c)(n,t,function(t){var e=t.tags.map(function(t){return t.name});return a.filter(function(t){return e.includes(t)}).length===a.length&&0===i.filter(function(t){return e.includes(t)}).length})))})},e._unsubscribe=function(){this.disconnects.map(function(t){return t()}),this.disconnects=[]},e.componentDidMount=function(){var t=this.props.dispatch,e=this.props.params,n=e.id,r=e.tags;this._subscribe(t,n,r),t(Object(S.r)(n,{tags:r}))},e.componentWillReceiveProps=function(t){var e=this.props,n=e.dispatch,r=e.params,o=t.params,a=o.id,i=o.tags;a===r.id&&p()(i,r.tags)||(this._unsubscribe(),this._subscribe(n,a,i),this.props.dispatch(Object(S.j)("hashtag:"+a)),this.props.dispatch(Object(S.r)(a,{tags:i})))},e.componentWillUnmount=function(){this._unsubscribe()},e.render=function(){var t=this.props,e=t.shouldUpdateScroll,n=t.hasUnread,r=t.columnId,o=t.multiColumn,a=this.props.params.id,i=!!r;return l.a.createElement(v.a,{ref:this.setRef,label:"#"+a},Object(s.a)(b.a,{icon:"hashtag",active:n,title:this.title(),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:o,showBackButton:!0},void 0,r&&Object(s.a)(M,{columnId:r})),Object(s.a)(d.a,{trackScroll:!i,scrollKey:"hashtag_timeline-"+r,timelineId:"hashtag:"+a,onLoadMore:this.handleLoadMore,emptyMessage:Object(s.a)(g.b,{id:"empty_column.hashtag",defaultMessage:"There is nothing in this hashtag yet."}),shouldUpdateScroll:e}))},t}(l.a.PureComponent))||o}}]);
 //# sourceMappingURL=hashtag_timeline.js.map
\ No newline at end of file