[]
{.add header|Cache-Control: public, max-age=200.}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"><html lang="en"><head>
<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>%folder%</title>
<link rel="icon" href="data:image/gif;base64,R0lGODlhEAAQALMAAAAAABAAAAA6+Al9/wC6I7mdHdbOxv/vKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAQABAAAARUEMhJqyUmG2IlwVr2VV9oDF9RUN+QDXC6egRsf4SqSkJ/57oCB9DzoYI4XrGHawoAgah0So0erIGD9lrYYrNg6XW6vW4Lge4BHTZX29ixVct+S6oRADs=">{.if not|{.match|*.p*|%build%.}|{:{.disconnect.}:}.}
<style>body{background:#E6EBFA;overflow-x:hidden;padding:0px 3px 0px 0px;font-weight:400;color:#333;font-family:"Arial Unicode MS","Lucida Sans Unicode","DejaVu Sans",sans-serif;margin:0}
a{text-decoration:none;font-size:16pt;color:#00D;font-weight:400} a:visited{color:#808} a:hover{color:#000}</style>
<script type="text/javascript">function browseAbleFolderTree(e){var a=e.split("/"),t="/",r="";for(pta=1;pta<a.length;pta++)r=r+'/<a href="'+(t=t+a[pta]+"/")+'" class="swapDir">'+a[pta]+"</a>";document.getElementById("swapDir").innerHTML=r}</script>
<script type="text/javascript">function searchQuery(){if(frm=document.searchForm,frm.query.value.length<3)alert("Search requires 3 or more characters");else{for(recursive=frm.recursive.checked?"&recursive":"",x=0;x<frm.choice.length;x++)1==frm.choice[x].checked&&(filter="file"==frm.choice[x].value?(searchMode="?files-filter=","&folders-filter=%5C"):"folder"==frm.choice[x].value?(searchMode="?folders-filter=","&files-filter=%5C"):(searchMode="?filter=",""));for(c=0;c<frm.root.length;c++)1==frm.root[c].checked&&(searchFrom="current"==frm.root[c].value?"http://%host%%folder%":"http://%host%");document.location.href=searchFrom+searchMode+"*"+frm.query.value+"*"+recursive+filter}}</script>
</head>
<body>
<div>{.if|{.get|can upload.}|{:<div style="padding:1px;float:right"><a href="%encoded-folder%~upload" style="padding:0;font-size:12pt"><b><font color="green">&#8679;&nbsp;Upload Files&nbsp;</font></b></a></div>:}.}
<div style="font-size:15pt;color:#337"><a href="/">&#127968;</a><span id=swapDir>%folder%</span><script type="text/javascript">browseAbleFolderTree("%folder%")</script></div>
<div>%files%</div></div>
{.if|{.get|can delete.}|{:{.if|{.get|can archive.}|{:{.if|{.%number-files% > 0.}|{:{.if|{.%total-kbytes% <= 4000000 .}|<div style="width:90%;margin-left:auto;margin-right:auto"><center><a href="%folder%~folder.tar" class="mar" onclick="return confirm('Download these %number-files% files in a .tar archive?')" style="font-size:8pt;color:darkgreen">Archive</a></center></div>.}:}.}:}.}:}.}
</body>
{.if|{.get|can delete.}|{:<script type="text/javascript">function del(e){if(!confirm("Delete "+e+"?"))return 0;var t=new XMLHttpRequest;t.open("POST","%folder%"),t.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),t.onload=function(){document.write(t.responseText),location.reload(!1)},t.send("action=delete&selection="+e)}document.querySelectorAll(".d").forEach(function(e){e.textContent="  \u2718",e.addEventListener("click",function(){del(this.getAttribute("dlz"))})});</script>:}.}

<script>function music(){ //C DJ BSD2License
var e=1,n=new Audio,o=[[]],c=0,r=[];document.querySelectorAll("a[href]").forEach(function(t,e){var n;[".mp3",".ogg",".m4a",".wma",".aac","flac",".Mp3",".MP3",".OGG",".M4A",".WMA",".AAC","FLAC"].indexOf(t.getAttribute("href").slice(-4))+1&&(o[0].push(t.getAttribute("href")),t.addEventListener("click",function(e){e.preventDefault(),i(t.getAttribute("href"))}),(n=document.querySelector('input[value="'+t.getAttribute("href")+'"]'))&&(n.checked=!0))}),"?shuffle"==location.search&&(e=!e),e&&(o[0]=o[0].sort(function(e,t){return.5-Math.random()}));var t,u=document.querySelector("#actions")||document.querySelector("#menu-bar")||document.querySelector("body"),a=document.createElement("button");function i(e){e.match(/m3u8?$/)?fetch(e).then(function(e){e.text().then(function(e){i(e.match(/^(?!#)(?!\s).*$/gm).map(encodeURI)[0])})}):(n.src=e,n.play(),document.title=decodeURI(e))}a.textContent="\u25BA",a.setAttribute("class","play"),a.onclick=function(){n.paused?(n.src||(n.src=(e?o[0]:t)[0]),n.play()):n.pause()},a.oncontextmenu=function(e){e.preventDefault(),n.onended()},o[0].length&&!document.querySelector("button.play")&&u.appendChild(a),n.onended=function(){var e=n.getAttribute("src");do{e=o[c][o[c].indexOf(e)+1];var t=document.querySelector('input[value="'+e+'"]')}while(t&&!t.checked);e?i(e):c?(c--,n.src=r[c],n.onended()):i(o[0][0])},n.onpause=function(){document.querySelector("button.play").textContent="\u25BA"},n.onplay=function(){document.querySelector("button.play").textContent="\u2759 \u2759"},o[0].length&&(window.onbeforeunload=function(e){localStorage.last=n.getAttribute("src")+"#t="+n.currentTime},t=localStorage.last.split("#t="),n.preload="none",n.src=(e?o[0]:t)[0],(t=1e3*location.search.slice(1))&&setTimeout(function(){document.querySelector("button.play").click()},t)),n.onerror=function(){n.onended()},"mediaSession"in navigator&&navigator.mediaSession.setActionHandler("nexttrack",function(){n.onended()})}document.querySelector("main")||music();</script>
</html>

[files]
<style>
.l{display:inline-block;width:60%}
.t{float:right;color:gray}
#files{width:90%;margin-left:auto;margin-right:auto}
@media (min-width:1280px){#files{width:84%;margin-left:auto;margin-right:auto}}
@media (max-width:800px){#files{width:100%;margin-left:auto;margin-right:auto}.t{float:right;color:#AAA}}
.d{background:transparent;border:none;color:#900;font-size:10pt;cursor:pointer}
.list{float:left;overflow:hidden;background:#fff;border-style:solid;border-width:2px;border-radius:8px;border-color:gray;max-height:90px;width:100%}
.play{padding:0 5px;font-size:7pt;background:#C8F2D0}
</style>
<table border="0" style="font-size:8pt;color:#337" width="100%">
<tr><td><nobr id='menu-bar'>Sort&ensp;<a href="%encoded-folder%?sort=n" style="font-size:8pt"><u>Name</u></a>,&ensp;<a href="%encoded-folder%?sort=e" style="font-size:8pt"><u>Type</u></a>,&ensp;<a href="%encoded-folder%?sort=!t" style="font-size:8pt"><u>Date</u></a>&nbsp;&nbsp;&nbsp;</nobr></td></tr>
<tr><td><form class=hide name=searchForm method=GET action="javascript:searchQuery()"><input style="padding:0;border:1;" placeholder="search" type=input name=query size=23 maxlength=32/><input type=hidden name=choice value="file"/><input type=hidden name=choice value="folder"/><input type=hidden name=choice value="both" checked=1/><input type=hidden name=recursive checked=1/><input type=hidden name=root value="root"/><input type=hidden name=root value="current" checked=1/></form></td></tr>
</table>
<span style="padding:1px;float:left"><a href="%encoded-folder%~login" style="padding:0;font-size:9pt">&#128100;</a></span>
<div style="color:#333;font-style:italic;font-family:serif;text-align:center;font-smoothing:antialiased;font-size:13pt;">Files for download:&emsp;&nbsp;</div>
<font size="2"><div id="files">%list%</div></font>

[special:alias|cache]
dmy={.time|format=dd/mm/yyyy|when=%item-modified-dt%.}

[file.jpg = file.JPG = file.jpeg = file.png = file.gif = file.tif = file.bmp = file.webp]
<div class="list"><nobr><a class="l" href="%item-url%"><font color="black" size="4">&#128247;</font>&nbsp;%item-name%</a>
<span class="t">{.dmy.}, %item-size%<font class='d' dlz='%item-url%'></font></span></nobr></div>

[file.mp4 = file.m4v = file.mkv = file.flv = file.avi = file.wmv = file.webm = file.mov]
<div class="list"><nobr><a class="l" href="%item-url%"><font color="teal" size="4">&#127909;</font>&nbsp;%item-name%</a>
<span class="t">{.dmy.}, %item-size%<font class='d' dlz='%item-url%'></font></span></nobr></div>

[file.mp3 = file.m4a = file.wma = file.flac = file.ogg = file.aac]
<div class="list"><nobr><a class="l" href="%item-url%"><font color="green" size="4">&#128266;</font>&nbsp;%item-name%</a>
<span class="t">{.dmy.}, %item-size%<font class='d' dlz='%item-url%'></font></span></nobr></div>

[file.doc = file.odt = file.docx = file.xls = file.ods = file.xlsx = file.pdf = file.mobi = file.epub = file.lit = file.txt]
<div class="list"><nobr><a class="l" href="%item-url%"><font color="#BBBBBB" size="4">&#128196;</font>&nbsp;%item-name%</a>
<span class="t">{.dmy.}, %item-size%<font class='d' dlz='%item-url%'></font></span></nobr></div>

[file]
<div class="list"><nobr><a class="l" href="%item-url%"><font size="4">&#128311;</font>&nbsp;%item-name%</a>
<span class="t">{.dmy.}, %item-size%<font class='d' dlz='%item-url%'></font></span></nobr></div>

[link]
<div class="list"><nobr><a href="%item-url%"><font color="purple" size="4">&#128279;</font>&nbsp;%item-name%</a>
<span class="t"><font color="#AAAAAA"><i>link&nbsp;</i></font></span></nobr></div>

[folder]
<div class="list">
<nobr><a class="l" href="%item-url%"><font color="orange" size="4">&#128193;</font>&nbsp;<b>%item-name%</b></a>
<span class="t">{.dmy.} <font class='d' dlz='%item-url%'></font></span></nobr></div>

[nofiles]
{.if|{.match|*recursive*|%url%.}|{:<a href="%encoded-folder%" :}|{:<a href="../" :}.}style="text-decoration:none;color:purple"><br>&#8678; Back</a>

[deny|no log]
{.disconnect.}
[ban|no log]
{.disconnect.}
[overload]
{.if|{.=|{.cut|-1||%url%.}|/.}|{:{.add header|Cache-Control: no-cache, max-age=0.}{.redirect|/~server%20is%20busy?path={.encodeuri|{.filepath|%url%.}.}.}:}|{:{.disconnect.}:}.}
[max contemp downloads]
{.if|{.=|{.cut|-1||%url%.}|/.}|{:{.add header|Cache-Control: no-cache, max-age=0.}{.redirect|/~server%20is%20busy?path={.encodeuri|{.filepath|%url%.}.}.}:}|{:{.disconnect.}:}.}
[server is busy|public]
<!DOCTYPE html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<META HTTP-EQUIV="Refresh" CONTENT="3;URL={.decodeuri|{.urlvar|path.}.}"><TITLE>Busy</TITLE><link rel="icon" href="data:,"></head>
<body bgcolor="#E6EBFA"><center><h2><br>Server is busy.</h2>Returning to previous page...</center></body></html>

[not found|no log]
{.if not|%user%|{:{.disconnect.}:}.}{.add header|Cache-Control: no-cache, max-age=0.}{.if|{.=|{.cut|-1||%url%.}|/.}|{:<!DOCTYPE html><html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=../"><TITLE>404</TITLE><link rel="icon" href="data:,"></head>
<body bgcolor="#E6EBFA"><center><h2><br>Folder Not Found.</h2>Returning to previous page...</center></body></html>:}
|{:{.redirect|/~404?path={.encodeuri|{.filepath|%url%.}.}.}:}.}
[404|public]
{.if|{.match|*.php*;*.js;*.py;*.vbs*;*.exe|%url%.}|{:{.disconnect.}:}.}<!DOCTYPE html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<META HTTP-EQUIV="Refresh" CONTENT="2;URL={.decodeuri|{.urlvar|path.}.}"><TITLE>404</TITLE><link rel="icon" href="data:,"></head>
<body bgcolor="#E6EBFA"><center><h2><br>File Not Found.</h2>Returning to previous page...</center></body></html>

[unauthorized]
{.add header|Cache-Control: no-cache, max-age=0.}<!DOCTYPE html><html><head>
<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><TITLE>Login</TITLE><link rel="icon" href="data:,"></head>
<body bgcolor="#E6EBFA"><a href="./~login"><center><h2><br>Please login to your account.</h2></center><br></a>
<br><center>Currently, you are not logged in.<br>If phone/tablet can't log in, try Opera mobile browser.</center></body>
{.if not|%user%|{:{.set|n|{.from table|#tries|%ip%.}.}{.inc|n.}{.if|{.{.^n.} > 30.}|{:{.set ini|{.no pipe|ban-list={.from table|#ini|ban-list.}%ip%#hacker|.}.}{.set table|#tries|%ip%=0.}:}|{:{.set table|#tries|%ip%={.^n.}.}:}/if.}:}.}

[upload|public]
{.add header|Cache-Control: no-cache, max-age=0.}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"><html><head><title>Upload to: %folder%</title>
<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" href="data:,">
<script type="text/javascript">var counter=0;function addUpload(){++counter<"6"&&(document.getElementById("addupload").innerHTML+='<br><input name="fileupload'+counter+'" size="50" type="file">'),"5"==counter&&(document.getElementById("addUploadLink").innerHTML='<a style="cursor:text;color:yellow;">- PLEASE PUT MULTIPLE FILES INTO A ZIP FILE -</a>')}</script>
</head>
<body bgcolor="#000033" text="white" style="font-family:'Arial Unicode MS','Lucida Sans Unicode','DejaVu Sans',sans-serif;margin:0;padding:0">
{.if|{.>|{.current downloads.}|1.}|{:
<a href="./" style="text-decoration:none"><font color=gray><b>Upload to:</b> %folder%</font><br><font color=yellow>&#8678; Back</font></a><center><h3><br><br>
Upload is not available to due to high server load.<br><br>Automatically retrying in <span id=timer></span> seconds...</h3></center>
<script>setTimeout(function(){window.location.href="./~upload"},5e3),window.onload=function(){var n=5;setInterval(function(){document.getElementById("timer").innerHTML=n,0==--n&&(hour--,n=60)},1e3)};</script>
:}|{:
<div><font color=gray><b>Upload to:</b> %folder%</font><br><br></div>
<div><center><font size="1"><br></font><b>You can upload files into the<br>%diskfree% available space.</b><br><br>
<form action="%encoded-folder%" target=_parent method=post enctype="multipart/form-data" onSubmit="frm.upbtn.disabled=true; return true;">
<div id=addupload>First: <input multiple name="fileupload1" size=50 type=file></div><a id=addUploadLink style="cursor:pointer;" onclick="addUpload();"><br>&emsp;+&emsp;</a>
<br><br>And then: <input name=upbtn type=submit id="sendbutton" onclick='document.getElementById("sendbutton").style.display = "none";' value="Send File(s)"></form><font size="2">Results page appears after uploads complete</font></center></div>
{.if|{.can mkdir.}|{:<form method='post' id='newfolder'><center><br><br><br><i>-or-</i><br><br>You can make a new folder:<br><input  type='text' name='fldname' maxlength="25" size="25" > <input  type='submit' name='createfolder' value='Create Folder' > {.if|{.and| {.get|can upload.} | {.postvar|createfolder.} .}|{: {.mkdir|%folder-resource%\{.postvar|fldname.}.} <script type="text/javascript">window.location="./"; </script>:}/if.}<font size="2"><br>(refresh the page after making a folder)</font></center></form>:}.}
:}.}</body></html>

[upload-results]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"><html><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1"><META HTTP-EQUIV="Refresh" CONTENT="2;URL=./">
<title>Upload results for: %folder%</title><link rel="icon" href="data:,"></head>
<body bgcolor="#000033" text="white" alink="green" link="blue" vlink="purple" style="font-family:'Arial Unicode MS','Lucida Sans Unicode','DejaVu Sans',sans-serif;margin:0;padding:0">
<div>Upload results for: %folder%</div><div>%uploaded-files%<br><br><a href="%encoded-folder%" target=_parent><font color="yellow">&#8678; Back</font></a></div></body></html>

[upload-success]
<b>SUCCESS!</b> Uploaded: %item-name% - %item-size%

[upload-failed]
Error: %item-name%: - %reason%

[special:import]
{.set ini|no-reply-ban=yes.} {.set ini|save-totals=no.} {.set ini|speed-limit-ip=-1.} {.set ini|speed-limit=-1.} {.set ini|graph-visible=no.} {.set ini|graph-rate=50.} {.set ini|use-system-icons=no.} {.set ini|log-progress=no.} {.set ini|log-dump-request=no.} {.set ini|log-only-served=yes.} {.set ini|tray-icon-for-each-download=no.} {.set ini|enable-fingerprints=no.} {.set ini|send-hfs-identifier=no.} {.set ini|support-descript.ion=no.} {.set ini|load-single-comment-files=no.} {.set ini|hints4newcomers=no.} {.set ini|flash-on= .} {.set ini|max-connections=-1.} {.set ini|max-connections-by-ip=-1.} {.set ini|use-iso-date-format=yes.} {.set ini|last-update-check=99999.99999.} {.set ini|ip-services-time=99999.99999.} {.set ini|search-better-ip=no.} {.set ini|update-daily=no.} {.set ini|update-automatically=no.} {.set ini|enable-macros=no.}

[+special:strings]
option.comment=0

[newfile]
