/*!
* Valine v1.1.9-rc1
* (c) 2017-2018 xCss
* Released under the GPL-2.0 License.
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Valine=t():e.Valine=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=21)}([function(e,t,n){function r(e,t){return new o(t).process(e)}var i=n(2),o=n(12);t=e.exports=r,t.FilterCSS=o;for(var a in i)t[a]=i[a];"undefined"!=typeof window&&(window.filterCSS=e.exports)},function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n/g,_=/"/g,F=/"/g,C=/([a-zA-Z0-9]*);?/gim,T=/:?/gim,L=/&newline;?/gim,E=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,M=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,z=/u\s*r\s*l\s*\(.*/gi,I=//g;t.whiteList=r(),t.getDefaultWhiteList=r,t.onTag=i,t.onIgnoreTag=o,t.onTagAttr=a,t.onIgnoreTagAttr=s,t.safeAttrValue=c,t.escapeHtml=l,t.escapeQuote=u,t.unescapeQuote=d,t.escapeHtmlEntities=p,t.escapeDangerHtml5Entities=f,t.clearNonPrintableCharacter=h,t.friendlyAttrValue=g,t.escapeAttrValue=v,t.onIgnoreTagStripAll=m,t.StripTagBody=b,t.stripCommentTag=x,t.stripBlankChar=y,t.cssFilter=S,t.getDefaultCSSWhiteList=k},function(e,t,n){function r(e){var t=d.spaceIndex(e);if(-1===t)var n=e.slice(1,-1);else var n=e.slice(1,t+1);return n=d.trim(n).toLowerCase(),"/"===n.slice(0,1)&&(n=n.slice(1)),"/"===n.slice(-1)&&(n=n.slice(0,-1)),n}function i(e){return""===e.slice(0,2)}function o(e,t,n){"user strict";var o="",a=0,s=!1,l=!1,c=0,u=e.length,d="",p="";for(c=0;c"===f){o+=n(e.slice(a,s)),p=e.slice(s,c+1),d=r(p),o+=t(s,o.length,d,p,i(p)),a=c+1,s=!1;continue}if(('"'===f||"'"===f)&&"="===e.charAt(c-1)){l=f;continue}}else if(f===l){l=!1;continue}}return a0;t--){var n=e[t];if(" "!==n)return"="===n?t:-1}}function c(e){return'"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1]}function u(e){return c(e)?e.substr(1,e.length-2):e}var d=n(1),p=/[^a-zA-Z0-9_:\.\-]/gim;t.parseTag=o,t.parseAttr=a},function(e,t,n){"use strict";function r(e){var t=this;return!!e&&t.init(e),t}function i(e){return e&&O.test(e)?e.replace(S,function(e){return k[e]}):e}function o(e){return e&&_.test(e)?e.replace($,function(e){return w[e]}):e}function a(e){return new r(e)}var s=n(9),l=n(10),c=n(8),u=n(7),d=n(11),p={a:["target","href","title","class"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:["class"],caption:[],center:[],cite:[],code:["class","codemark"],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:["class"],pre:["class","style"],s:[],section:[],small:[],span:["class"],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},f=new d.FilterXSS({whiteList:p});l.setOptions({renderer:new l.Renderer,gfm:!0,tables:!0,breaks:!0,pedantic:!0,sanitize:!0,smartLists:!0,smartypants:!0});var h={comment:"",nick:"Anonymous",mail:"",link:"",ua:navigator.userAgent,url:""},g={"zh-cn":{head:{nick:"昵称",mail:"邮箱",link:"网址(http://)"},tips:{comments:"评论",sofa:"还没有评论哦,快来抢沙发吧~",busy:"还在提交中,请稍候...",again:"这么简单也能错,也是没谁了.",limit:"还可以输入%d字"},ctrl:{reply:"回复",ok:"好的",sure:"确认",cancel:"取消",confirm:"确认",continue:"继续",more:"查看更多...",try:"再试试?"},error:{99:"初始化失败,请检查init中的`el`元素.",100:"初始化失败,请检查你的AppId和AppKey.",401:"未经授权的操作,请检查你的AppId和AppKey.",403:"访问被api域名白名单拒绝,请检查你的安全域名设置."},timeago:{seconds:"秒前",minutes:"分钟前",hours:"小时前",days:"天前",now:"刚刚"}},en:{head:{nick:"NickName",mail:"E-Mail",link:"Website(http://)"},tips:{comments:"Comments",sofa:"No comments yet.",busy:"Submit is busy, please wait...",again:"Sorry, this is a wrong calculation.",limit:"The largest number of words %d"},ctrl:{reply:"Reply",ok:"Ok",sure:"Sure",cancel:"Cancel",confirm:"Confirm",continue:"Continue",more:"Load More...",try:"Once More?"},error:{99:"Initialization failed, Please check the `el` element in the init method.",100:"Initialization failed, Please check your appId and appKey.",401:"Unauthorized operation, Please check your appId and appKey.",403:"Access denied by api domain white list, Please check your security domain."},timeago:{seconds:"seconds ago",minutes:"minutes ago",hours:"hours ago",days:"days ago",now:"just now"}}},v=[{name:"point_up",code:"261D"},{name:"fist",code:"270A"},{name:"hand",code:"270B"},{name:"eyes",code:"1F440"},{name:"ear",code:"1F442"},{name:"nose",code:"1F443"},{name:"lips",code:"1F444"},{name:"tongue",code:"1F445"},{name:"point_up_2",code:"1F446"},{name:"point_down",code:"1F447"},{name:"point_left",code:"1F448"},{name:"point_right",code:"1F449"},{name:"facepunch",code:"1F44A"},{name:"wave",code:"1F44B"},{name:"ok_hand",code:"1F44C"},{name:"+1",code:"1F44D"},{name:"-1",code:"1F44E"},{name:"clap",code:"1F44F"},{name:"cupid",code:"1F498"},{name:"sparkling_heart",code:"1F496"},{name:"open_hands",code:"1F450"},{name:"grinning",code:"1F600"},{name:"grin",code:"1F601"},{name:"joy",code:"1F602"},{name:"smiley",code:"1F603"},{name:"smile",code:"1F604"},{name:"sweat_smile",code:"1F605"},{name:"laughing",code:"1F606"},{name:"innocent",code:"1F607"},{name:"smiling_imp",code:"1F608"},{name:"wink",code:"1F609"},{name:"blush",code:"1F60A"},{name:"yum",code:"1F60B"},{name:"relieved",code:"1F60C"},{name:"heart_eyes",code:"1F60D"},{name:"sunglasses",code:"1F60E"},{name:"smirk",code:"1F60F"},{name:"neutral_face",code:"1F610"},{name:"expressionless",code:"1F611"},{name:"unamused",code:"1F612"},{name:"sweat",code:"1F613"},{name:"pensive",code:"1F614"},{name:"confused",code:"1F615"},{name:"confounded",code:"1F616"},{name:"kissing",code:"1F617"},{name:"kissing_heart",code:"1F618"},{name:"kissing_smiling_eyes",code:"1F619"},{name:"kissing_closed_eyes",code:"1F61A"},{name:"stuck_out_tongue",code:"1F61B"},{name:"stuck_out_tongue_winking_eye",code:"1F61C"},{name:"stuck_out_tongue_closed_eyes",code:"1F61D"},{name:"disappointed",code:"1F61E"},{name:"worried",code:"1F61F"},{name:"angry",code:"1F620"},{name:"rage",code:"1F621"},{name:"cry",code:"1F622"},{name:"persevere",code:"1F623"},{name:"triumph",code:"1F624"},{name:"disappointed_relieved",code:"1F625"},{name:"frowning",code:"1F626"},{name:"anguished",code:"1F627"},{name:"fearful",code:"1F628"},{name:"weary",code:"1F629"},{name:"sleepy",code:"1F62A"},{name:"tired_face",code:"1F62B"},{name:"grimacing",code:"1F62C"},{name:"sob",code:"1F62D"},{name:"open_mouth",code:"1F62E"},{name:"hushed",code:"1F62F"},{name:"cold_sweat",code:"1F630"},{name:"scream",code:"1F631"},{name:"astonished",code:"1F632"},{name:"flushed",code:"1F633"},{name:"sleeping",code:"1F634"},{name:"dizzy_face",code:"1F635"},{name:"no_mouth",code:"1F636"},{name:"mask",code:"1F637"},{name:"pray",code:"1F64F"}],m={cdn:"https://gravatar.loli.net/avatar/",ds:["mm","identicon","monsterid","wavatar","retro",""],params:"",hide:!1},b=["nick","mail","link"],x=Storage&&localStorage&&localStorage instanceof Storage&&localStorage,y=location.pathname.replace(/index\.(html|htm)$/,"");r.prototype.init=function(e){var t=this;try{var n=e.lang||"",r=e.langMode||"",i=m.ds,o=e.avatar||"mm",a=e.avatar_cdn||"";n&&r&&t.installLocale(n,r),t.locale=t.locale||g[e.lang||"zh-cn"],t.notify=e.notify||!1,t.verify=e.verify||!1,m.params="?d="+(i.indexOf(o)>-1?o:"mm"),m.hide="hide"===o,m.cdn=!!a&&a||m.cdn,y=e.path||y,e.guest_info=(e.guest_info||b).filter(function(e){return b.indexOf(e)>-1});var s=Number(e.pageSize||10);if(e.pageSize=isNaN(s)?10:s<1?10:s,!AV)return void setTimeout(function(){t.init(e)},20);var l=e.app_id||e.appId,c=e.app_key||e.appKey,u=(e.region||"cn").toLowerCase(),d=["cn","us"];if(u=d.indexOf(u)>-1?u:d[0],!l||!c)throw new Error("99");AV.applicationId=null,AV.init({appId:l,appKey:c,region:u});for(var p=document.querySelectorAll(".valine-comment-count"),f=0,h=p.length;f',mail:'',link:''},A=(0==e.guest_info.length?["nick","mail","link"]:e.guest_info).map(function(e){return k[e]}),S=e.placeholder||"";t.el.innerHTML='\n \n \n
\n
\n
\n Emoji | Preview\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n ';var O=t.el.querySelector(".vempty");t.nodata={show:function(e){return O.innerHTML=e||t.locale.tips.sofa,O.setAttribute("style","display:block;"),t},hide:function(){return O.setAttribute("style","display:none;"),t}};var $=document.createElement("div");$.setAttribute("class","vloading");var _=t.el.querySelector(".vlist");t.loading={show:function(e){var n=_.querySelectorAll(".vcard");return e?_.insertBefore($,n[0]):_.appendChild($),t.nodata.hide(),t},hide:function(){var e=_.querySelector(".vloading");return e&&_.removeChild(e),0===_.querySelectorAll(".vcard").length&&t.nodata.show(),t}};var C=t.el.querySelector(".vmark");t.alert={show:function(e){C.innerHTML='';var n=C.querySelector(".vbtns"),r='",i='";if(n.innerHTML=""+r+(e&&e.type&&i),F.on("click",C.querySelector(".vcancel"),function(e){t.alert.hide()}),C.setAttribute("style","display:block;"),e&&e.type){var o=C.querySelector(".vsure");F.on("click",o,function(n){t.alert.hide(),e.cb&&e.cb()})}return t},hide:function(){return C.setAttribute("style","display:none;"),t}},t.el&&AV&&t.bind(e)}catch(e){t.ErrorHandler(e)}return t},r.prototype.Q=function(e){var t=new AV.Query("Comment");return t.equalTo("url",decodeURI(e)),t.addDescending("createdAt"),t.addDescending("insertedAt"),t},r.prototype.ErrorHandler=function(e){var t=this;t.el&&t.loading.hide().nodata.hide();var n="";101==e?t.nodata.show():(n="number"==typeof e?"Code "+e+": "+(t.locale.error[e]||e):e,t.el&&t.nodata.show(''+n+"
"),console&&console.error(n))},r.prototype.installLocale=function(e,t){var n=this;return t=t||{},g[e]=JSON.stringify(Object.keys(g["zh-cn"]))==JSON.stringify(Object.keys(t))?t:void 0,n.locale=g[e]||g["zh-cn"],n},r.prototype.setPath=function(e){return e&&(y=e),this},r.prototype.bind=function(e){var t,n=this,r=n.el.querySelector(".vemojis"),a=n.el.querySelector(".vemoji-btn"),d=n.el.querySelector(".vpreview"),p=function(e){var t="comment",r=e.value||"",i=r.substring(0,1e4);n.el.querySelector(".vlimit").innerHTML=""==r?"":n.locale.tips.limit.replace("%d",1e4-i.length),h[t]=f.process(l(i)),d.innerHTML=h[t],e.value=i};if(!String.fromCodePoint){var g=function(){var e;try{var t={},n=Object.defineProperty;e=n(t,t,t)&&n}catch(e){}return e}(),b=String.fromCharCode,w=Math.floor;t=function(){var e,t,n=[],r=-1,i=arguments.length;if(!i)return"";for(var o="";++r1114111||w(a)!=a)throw RangeError("Invalid code point: "+a);a<=65535?n.push(a):(a-=65536,e=55296+(a>>10),t=a%1024+56320,n.push(e,t)),(r+1==i||n.length>16384)&&(o+=b.apply(null,n),n.length=0)}return o},g?g(String,"fromCodePoint",{value:t,configurable:!0,writable:!0}):String.fromCodePoint=t}for(var k=0,A=v.length;k'+n.locale.ctrl.more+"":"";var l=s.querySelector(".vmore");l&&F.on("click",l,function(e){s.innerHTML="",++M,t()}),n.loading.hide()}).catch(function(e){console.log(e),n.loading.hide().ErrorHandler(e.code)})};n.Q(y).count().then(function(e){e>0?(n.el.querySelector(".vinfo").setAttribute("style","display:block;"),n.el.querySelector(".vcount").innerHTML=''+e+" "+n.locale.tips.comments,z()):n.loading.hide()}).catch(function(e){n.ErrorHandler(e.code)});var I=function(e,t){var r=document.createElement("div");r.setAttribute("class","vcard"),r.setAttribute("id",e.id);var i=m.hide?"":'",o=u(e.get("ua")),a=''+o.browser+" "+o.version+"",l=''+o.os+" "+o.osVersion+"",d="",p=e.get("link")||"";d=p?''+e.get("nick")+"":''+e.get("nick")+"",r.innerHTML=i+''+d+" "+a+" "+l+'
'+e.get("comment")+'