shinyFiles/0000755000176200001440000000000014142732102012363 5ustar liggesusersshinyFiles/NAMESPACE0000644000176200001440000000214414142672272013616 0ustar liggesusers# Generated by roxygen2: do not edit by hand export(getVolumes) export(parseDirPath) export(parseFilePaths) export(parseSavePath) export(shinyDirButton) export(shinyDirChoose) export(shinyDirLink) export(shinyFileChoose) export(shinyFileSave) export(shinyFilesButton) export(shinyFilesExample) export(shinyFilesLink) export(shinySaveButton) export(shinySaveLink) importFrom(fs,dir_create) importFrom(fs,dir_exists) importFrom(fs,dir_ls) importFrom(fs,file_access) importFrom(fs,file_exists) importFrom(fs,file_info) importFrom(fs,path) importFrom(fs,path_ext) importFrom(fs,path_file) importFrom(fs,path_has_parent) importFrom(fs,path_join) importFrom(fs,path_norm) importFrom(htmltools,singleton) importFrom(htmltools,tagList) importFrom(htmltools,tags) importFrom(jsonlite,toJSON) importFrom(shiny,addResourcePath) importFrom(shiny,invalidateLater) importFrom(shiny,observe) importFrom(shiny,observeEvent) importFrom(shiny,p) importFrom(shiny,req) importFrom(shiny,restoreInput) importFrom(shiny,runApp) importFrom(shiny,showNotification) importFrom(tibble,as_tibble) importFrom(tibble,tibble) importFrom(tools,file_ext) shinyFiles/README.md0000644000176200001440000000407714142671247013666 0ustar liggesusers# shinyFiles [![R-CMD-check](https://github.com/thomasp85/shinyFiles/workflows/R-CMD-check/badge.svg)](https://github.com/thomasp85/shinyFiles/actions) [![CRAN\_Release\_Badge](http://www.r-pkg.org/badges/version-ago/shinyFiles)](https://CRAN.R-project.org/package=shinyFiles) [![CRAN\_Download\_Badge](http://cranlogs.r-pkg.org/badges/shinyFiles)](https://CRAN.R-project.org/package=shinyFiles) This package extends the functionality of shiny by providing an API for client side access to the server file system. As many shiny apps are run locally this is equivalent to accessing the filesystem of the users own computer, without the overhead of copying files to temporary locations that is tied to the use of `fileInput()`. The package can be installed from CRAN using `install.packages('shinyFiles')`. Usage ---------- The package is designed to make it extremely easy to implement file system access. An example of implementing a file chooser would be: In the ui.R file ```R shinyUI(bootstrapPage( shinyFilesButton('files', label='File select', title='Please select a file', multiple=FALSE) )) ``` In the server.R file ```R shinyServer(function(input, output) { shinyFileChoose(input, 'files', root=c(root='.'), filetypes=c('', 'txt')) }) ``` It is equally simple to implement directly in your custom html file as it only requires a single ` ``` For an overview of all the different modules try the `shinyFilesExample()` function in the package. It gives an overview of all the necessary code, along with descriptions and working examples. Credits ---------- * The file icons used in the file system navigator are taken from FatCows Farm-Fresh Web Icons (https://www.fatcow.com/free-icons) * RStudio is a trademark of RStudio, Inc. File icons used by permission of RStudio, Inc. shinyFiles/man/0000755000176200001440000000000013752222124013142 5ustar liggesusersshinyFiles/man/shinyFiles-package.Rd0000644000176200001440000000201614142672273017146 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/shinyFiles-package.R \docType{package} \name{shinyFiles-package} \alias{shinyFiles} \alias{shinyFiles-package} \title{A Server-Side File System Viewer for Shiny} \description{ \if{html}{\figure{logo.png}{options: align='right' alt='logo' width='120'}} Provides functionality for client-side navigation of the server side file system in shiny apps. In case the app is running locally this gives the user direct access to the file system without the need to "download" files to a temporary location. Both file and folder selection as well as file saving is available. } \seealso{ Useful links: \itemize{ \item \url{https://github.com/thomasp85/shinyFiles} \item Report bugs at \url{https://github.com/thomasp85/shinyFiles/issues} } } \author{ \strong{Maintainer}: Thomas Lin Pedersen \email{thomasp85@gmail.com} (\href{https://orcid.org/0000-0002-5147-4711}{ORCID}) Authors: \itemize{ \item Vincent Nijs \item Thomas Schaffner \item Eric Nantz } } shinyFiles/man/shinyFiles-parsers.Rd0000644000176200001440000000441013645373772017243 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/filechoose.R, R/dirchoose.R, R/filesave.R \name{shinyFiles-parsers} \alias{shinyFiles-parsers} \alias{parseFilePaths} \alias{parseDirPath} \alias{parseSavePath} \title{Convert the output of a selection to platform specific path(s)} \usage{ parseFilePaths(roots, selection) parseDirPath(roots, selection) parseSavePath(roots, selection) } \arguments{ \item{roots}{The path to the root as specified in the \code{shinyFileChoose()} call in \code{shinyServer()}} \item{selection}{The corresponding input variable to be parsed} } \value{ A data frame matching the format of \code{\link[shiny:fileInput]{shiny::fileInput()}} } \description{ This function takes the value of a shinyFiles button input variable and converts it to be easier to work with on the server side. In the case of file selections and saving the input variable is converted to a data frame (using \code{parseFilePaths()} or \verb{parseSavePath() respectively}) of the same format as that provided by \code{\link[shiny:fileInput]{shiny::fileInput()}}. The only caveat here is that the MIME type cannot be inferred in file selections so this will always be an empty string and new files doesn't have a size so this is left out with file saving. In the case of folder selection the input variable is converted to a string (using \code{parseDirPath()}) giving the absolute path to the selected folder. } \details{ The use of \code{parseFilePaths} makes it easy to substitute fileInput and shinyFiles in your code as code that relies on the values of a file selection doesn't have to change. } \examples{ \dontrun{ ui <- shinyUI(bootstrapPage( shinyFilesButton('files', 'File select', 'Please select a file', FALSE), verbatimTextOutput('rawInputValue'), verbatimTextOutput('filepaths') )) server <- shinyServer(function(input, output) { roots = c(wd='.') shinyFileChoose(input, 'files', roots=roots, filetypes=c('', 'txt')) output$rawInputValue <- renderPrint({str(input$files)}) output$filepaths <- renderPrint({parseFilePaths(roots, input$files)}) }) runApp(list( ui=ui, server=server )) } } \seealso{ Other shinyFiles: \code{\link{shinyFiles-buttons}}, \code{\link{shinyFiles-observers}}, \code{\link{shinyFilesExample}()} } \concept{shinyFiles} shinyFiles/man/shinyFiles-observers.Rd0000644000176200001440000001134413752222124017561 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/filechoose.R, R/dirchoose.R, R/filesave.R \name{shinyFiles-observers} \alias{shinyFiles-observers} \alias{shinyFileChoose} \alias{shinyDirChoose} \alias{shinyFileSave} \title{Create a connection to the server side filesystem} \usage{ shinyFileChoose( input, id, updateFreq = 0, session = getSession(), defaultRoot = NULL, defaultPath = "", ... ) shinyDirChoose( input, id, updateFreq = 0, session = getSession(), defaultPath = "", defaultRoot = NULL, allowDirCreate = TRUE, ... ) shinyFileSave( input, id, updateFreq = 0, session = getSession(), defaultPath = "", defaultRoot = NULL, allowDirCreate = TRUE, ... ) } \arguments{ \item{input}{The input object of the \code{shinyServer()} call (usually \code{input})} \item{id}{The same ID as used in the matching call to \code{shinyFilesButton} or as the id attribute of the button, in case of a manually defined html. This id will also define the id of the file choice in the input variable} \item{updateFreq}{The time in milliseconds between file system lookups. This determines the responsiveness to changes in the filesystem (e.g. addition of files or drives). For the default value (0) changes in the filesystem are shown only when a shinyFiles button is clicked again} \item{session}{The session object of the shinyServer call (usually \code{session}).} \item{defaultRoot}{The default root to use. For instance if \code{roots = c('wd' = '.', 'home', '/home')} then \code{defaultRoot} can be either \code{'wd'} or \code{'home'}.} \item{defaultPath}{The default relative path specified given the \code{defaultRoot}.} \item{...}{Arguments to be passed on to \code{\link[=fileGetter]{fileGetter()}} or \code{\link[=dirGetter]{dirGetter()}}.} \item{allowDirCreate}{Logical that indicates if creating new directories by the user is allowed.} } \value{ A reactive observer that takes care of the server side logic of the filesystem connection. } \description{ These function sets up the required connection to the client in order for the user to navigate the filesystem. For this to work a matching button should be present in the html, either by using one of the button generating functions or adding it manually. See \code{\link[=shinyFiles-buttons]{shinyFiles-buttons()}} for more details. } \details{ Restrictions on the access rights of the client can be given in several ways. The root parameter specifies the starting position for the filesystem as presented to the client. This means that the client can only navigate in subdirectories of the root. Paths passed of to the \code{restrictions} parameter will not show up in the client view, and it is impossible to navigate into these subdirectories. The \code{filetypes} parameter takes a vector of file extensions to filter the output on, so that the client is only presented with these filetypes. The \code{hidden} parameter toggles whether hidden files should be visible or not. Whenever a file or folder choice is made the resulting files/folder will be accessible in the input variable with the id given in the parameters. This value should probable be run through a call to one of the parser (\code{\link[=shinyFiles-parsers]{shinyFiles-parsers()}}) in order to get well formatted paths to work with. } \note{ The syntax for this version has changed with version 0.4.0. Prior to that version the output of \code{shinyFileChoose()} should be assigned to the output object. This is no longer the case and doing so will result in an error. In newer versions the function returns an observer which can be ignored for the most part, or assigned to a variable if there needs to be interactions with it later on. } \examples{ \dontrun{ # File selections ui <- shinyUI(bootstrapPage( shinyFilesButton('files', 'File select', 'Please select a file', FALSE) )) server <- shinyServer(function(input, output) { shinyFileChoose(input, 'files', roots=c(wd='.'), filetypes=c('', 'txt'), defaultPath='', defaultRoot='wd') }) runApp(list( ui=ui, server=server )) } \dontrun{ # Folder selections ui <- shinyUI(bootstrapPage( shinyDirButton('folder', 'Folder select', 'Please select a folder', FALSE) )) server <- shinyServer(function(input, output) { shinyDirChoose(input, 'folder', roots=c(wd='.'), filetypes=c('', 'txt')) }) runApp(list( ui=ui, server=server )) } \dontrun{ # File selections ui <- shinyUI(bootstrapPage( shinySaveButton('save', 'Save', 'Save as...') )) server <- shinyServer(function(input, output) { shinyFileSave(input, 'save', roots=c(wd='.')) }) runApp(list( ui=ui, server=server )) } } \seealso{ Other shinyFiles: \code{\link{shinyFiles-buttons}}, \code{\link{shinyFiles-parsers}}, \code{\link{shinyFilesExample}()} } \concept{shinyFiles} shinyFiles/man/traverseDirs.Rd0000644000176200001440000000227013316373340016112 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/dirchoose.R \name{traverseDirs} \alias{traverseDirs} \title{Traverse and update a tree representing the file system} \usage{ traverseDirs(tree, root, restrictions, hidden) } \arguments{ \item{tree}{A list representing the tree structure of the file system to traverse. Each element should at least contain the elements 'name' and 'expanded'. The elements 'empty' and 'children' will be created or updates if they exist.} \item{root}{A string with the location of the root folder for the tree} \item{restrictions}{A vector of directories within the root that should be filtered out of the results} \item{hidden}{A logical value specifying whether hidden folders should be returned or not} } \value{ A list of the same format as 'tree', but with updated values to reflect the current file system state. } \description{ This function takes a tree representing a part of the file system and updates it to reflect the current state of the file system as well as the settings for each node. Children (contained folders) are recursed into if the parents expanded element is set to TRUE, no matter if children are currently present. } shinyFiles/man/dirCreator.Rd0000644000176200001440000000167113316373340015537 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/dirchoose.R \name{dirCreator} \alias{dirCreator} \title{Create a function that creates a new directory} \usage{ dirCreator(roots, ...) } \arguments{ \item{roots}{A named vector of absolute filepaths or a function returning a named vector of absolute filepaths (the latter is useful if the volumes should adapt to changes in the filesystem).} \item{...}{Currently unused} } \value{ A function that creates directories based on the information returned by the client. } \description{ This function returns a function that can be used to create new directories based on the information returned from the client. The returned function takes the name, path and root of the directory to create and parses it into a platform compliant format and then uses dir.create to create it. The returned function returns TRUE if the directory was created successfully and FALSE otherwise. } shinyFiles/man/dirGetter.Rd0000644000176200001440000000272313316373340015371 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/dirchoose.R \name{dirGetter} \alias{dirGetter} \title{Create a function that updates a folder tree based on the given restrictions} \usage{ dirGetter(roots, restrictions, filetypes, hidden = FALSE) } \arguments{ \item{roots}{A named vector of absolute filepaths or a function returning a named vector of absolute filepaths (the latter is useful if the volumes should adapt to changes in the filesystem).} \item{restrictions}{A vector of directories within the root that should be filtered out of the results} \item{filetypes}{Currently unused} \item{hidden}{A logical value specifying whether hidden files should be returned or not} } \value{ A function taking a list representation of a folder hierarchy along with the name of the root where it starts. See \code{\link[=traverseDirs]{traverseDirs()}} for a description of the format for the list representation. } \description{ This functions returns a new function that will handle updating the folder tree. It is the folder equivalent of \code{\link[=fileGetter]{fileGetter()}} but functions slightly different as it needs to handle expanded branches of the folder hierarchy rather than just the content of a single directory at a time. The returned function takes a representation of a folder hierarchy along with the root to where it belongs and updates the tree to correspond with the current state of the file system, without altering expansions etc. } shinyFiles/man/shinyFilesExample.Rd0000644000176200001440000000153313645373772017105 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/aaa.R \name{shinyFilesExample} \alias{shinyFilesExample} \title{Run a simple example app using the shinyFiles functionality} \usage{ shinyFilesExample() } \description{ When the function is invoked a shiny app is started showing a very simple setup using shinyFiles. A button summons the dialog box allowing the user to navigate the R installation directory. To showcase the restrictions parameter the base package location has been hidden, and is thus inaccessible. A panel besides the button shows how the user selection is made accessible to the server after parsing with \code{\link[=parseFilePaths]{parseFilePaths()}}. } \seealso{ Other shinyFiles: \code{\link{shinyFiles-buttons}}, \code{\link{shinyFiles-observers}}, \code{\link{shinyFiles-parsers}} } \concept{shinyFiles} shinyFiles/man/getVolumes.Rd0000644000176200001440000000234713316373340015574 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/aaa.R \name{getVolumes} \alias{getVolumes} \title{Get a list of available volumes} \usage{ getVolumes(exclude) } \arguments{ \item{exclude}{A vector of volume names to be excluded from the return value} } \value{ A function returning a named vector of available volumes } \description{ This function is intended as an input to the roots parameter in \code{\link[=fileGetter]{fileGetter()}} and \code{\link[=shinyFileChoose]{shinyFileChoose()}}. It returns a function that returns a named vector of available volumes on the system. This construction makes it dynamic so that a shinyFiles instance reflects new volumes as they get added (e.g. usb drives). The function takes a single argument giving names of volumes the developer wants removed from the return value. } \details{ The function is OS specific and looks for volumes/drives in different places depending on the system on which shiny is running. \describe{ \item{Windows}{Returns all drives mapped to a letter} \item{Mac OSX}{Looks in /Volumes/ and lists the directories therein} \item{Linux}{Returns the system root} } If the function does not recognize the system under which it is running it will throw an error } shinyFiles/man/figures/0000755000176200001440000000000013357451043014613 5ustar liggesusersshinyFiles/man/figures/logo.png0000644000176200001440000001271113316357415016266 0ustar liggesusersPNG  IHDRiCCPsRGB IEC61966-2.1(u+DQ?LfD4%6H(iڼyޛQLU/`"R&69Ϩ̹{>{9{.(#H48=3>E`,6NE{ƫVsA54* /L7 |,׮,˩l%C4S8f}ܗԤVl% K2A7B~;j2,cH4¢.]a߾FOwz 5 \w}<{8˕{*zY B*AZT%<A 4^B\g?BbEw]g pHYs  IDATxixE€ߙIB!r+\A@D<]Qt\]@S]EtEAՏGV]CXAC H:I \ߏL2 dP]]]U=󦻺bA h)jO@[a!(B#PF!@B"0Ea¸IҪ<]\$iD z˲'x?Oa$U1@G[2 i#I}X$!> 2GA:5?!!c'. NriA]\ رc1| 4i"'OqiM!8 TZADDD4k ~r^CHDU>jۿMGTPԨU*M&&c 0+JLe.'@{¨g&hXXL_o Ǚ cgxbbb<] #2?e-v'$i5@<}ϝwT\ŋq[~>/MUR"h>'$iXmI I 렁;n#F `02o\z넱 2+H 0.Ȑ!Cܹ}_rrK{5^obAйsQEȲ"In4e@7#F0dtx",Y A oJRY֯_ի\xyG< \,#Ɉ^e S^GFuՒd._$$Z}ZVÔۦ$mWҽ߫b-ҪDJJJ8tPg̘3ZWF@TvzzZ)))!##TGffy]Hx3 ߿?=ucJJJ̴ q=0V޵* BJ*++رbƍ ٙ ?<"UwWP5M|͜GpϽz, #Iڑ߀[u<)zߑׯ!cspbArOVKJK<˅$`/'Oŋ0`F4>okTQ3<44NI˝t2a$IxEɣGaɒ$&&R5gy-z61=ZqfSfϞٳyta$IxzM`ٲe=YQjILfzzZ1LpAdݭ9A38MIv:Ԇۏg=IN-[0dȐFqL&3ϝdNǏ#++CG%,,Li9L>}i@6I҆KX)e>˴ikUUU|GJqm*ٳÆ cIL:EWLW`Yte~H6X,^'nn`sϽ8,.]±Z[$qiΜ9g}gK/u$m`>{ 6<"<~YfF#oիWvn7;w?ݻC[T$\?} nH]Kځ='~$w+Ql*˺l#'OuVEǛfvERxe{x|HFORN#Z7r<ʵQ]]}, {f9T*y[HG&ұΑ|rѪjY֝$`~~̗_~?pոz*w8}1هG_s^ s>9'sܒO-n$8tƞ={ qsxc5;w~>cLl}{ɽsAտAb˲+2h=@u:mB>cF ~ ˔ۦcN-Z78Gk57ڑ\Oomd)}Q-o9m!m4T曔wdRƌW_mfҿfǫJ_'Cȵ# ' tfxGm] F錸f-ǎcʔ#AN=/s@cr6" Os tt@Y֕9#7g"kΨ1l|_u:#6?}o7lB Z5"2ɵ9tc8c P;(((h6r^^mΪ pFNFuv`0n&<|9?lpxUDeƍGorb0"onmMiȲ+, ka$ILj|^.pFs]-C~‰'v.Yua\Щ"s9[t03bk?..iӦ;mly vhPllݺLd!NFuf}|ް%55E܍K-Mg笠r*NpYSu`޽JF\kLM.Fu\);]:S G Y \˅eQ-:Ö͛]r Kx'nFugFg.eؕOC#c&wcy,˞3O{SWHv E pƍNMXRB{L7";R༾j`WuV㎄n"#dRi4Rqz+nFu%IXZVVlUTL\Sޑv='@pٚ﷜$,@C쒼݉}xh}!2TPp_P`@D0yujǥc5j 5f 5}#+R5^ZEFC^XLmvQҊ*Zn*jZuC?!TE *zNVQcv[eϒ]uME܍_ߪh&0@Cn?}ud0)6' (u\Ȧt|pq-0mxWT-"e$DwoI-MݙwĬ2(E2G'|xnJ/RcNIn{9ij {@la\q(:~5 ه"39ݴskׅzFcopI=<4 cjq&<Џff(旑ZPܿ0"<]ΥSSAE=( ccWoaJkLAnIrW^V"˺r@Q7OJŕh泣h>O^TI vP3K#s3UVe.5[ܮ? ֨;;-[$?oݯݑ^~J:>ɚT]1Qa0Y˕[BNٕ,7u>ȼFT .Yo5ڰ@2.6T_uɡ~_\ŔNQUԘ-l;3L2*f|uVu}_V1ɧ*[^\ F czF0ޢUFìÈ?8>3|" p+nվ<~q&݋ 2i[ݛFR2au4稸H,C'oR FOZ.i}/G.1mx47? HZJja;*{ Ѽvn,/O|Plsvyz*8QPɷrMU֦gy^&6QDo I1us-B *(*$*̏jg&(H/Rû%otrzTKWwWCY<' ȿXE\LGTl;k+OaOFq?N\֯掎ᅝ0Y ͦ pN~jI! ̯b :1g'6}kC|B]%/Q3.D1XS-סZ^cmd׫K۞˱ Wi4*x{[.uTab\6]g}"6*y_914|yfBn By k弭il&Oʪ4ãhtVr/L"!vo9oɲWO2$*>+k,@ j//W f6}c \]ŝalηy^OH1j~xJd^x}\\Bb)aWrښ'nl==Wv?f_GMCڄDŽei`yӿ"ueK _%;aAbᑁlHV &O1 \ sH۾.TE(.Pz,˺ϣH6 ]mFGHHGʇ0M5ȲMEPDž$m0e|s>R(m"Iq[wn*eY9ͼJZ$I $`]6wb((8i)R/>F!@B"0Ea!(B#PF!@B"0Ea&xIENDB`shinyFiles/man/formatFiletype.Rd0000644000176200001440000000106213316373340016425 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/filesave.R \name{formatFiletype} \alias{formatFiletype} \title{Formats the value of the filetype argument} \usage{ formatFiletype(filetype) } \arguments{ \item{filetype}{A named list of file extensions or NULL or NA} } \value{ A string describing the input value in json format } \description{ This function is intended to format the filetype argument of \code{\link[=shinySaveButton]{shinySaveButton()}} into a json string representation, so that it can be attached to the button. } shinyFiles/man/updateChildren.Rd0000644000176200001440000000157313316373340016375 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/dirchoose.R \name{updateChildren} \alias{updateChildren} \title{Update the children element to reflect current state} \usage{ updateChildren(oldChildren, currentChildren) } \arguments{ \item{oldChildren}{A list of children folders from the parent$children element of tree in \code{\link[=traverseDirs]{traverseDirs()}}} \item{currentChildren}{A vector of names of the folders that are currently present in the parent of oldChildren} } \value{ An updated list equal in format to oldChildren } \description{ This function create new entries for new folders and remove entries for no longer existing folders, while keeping the state of transient folders in the children element of the tree structure. The function does not recurse into the folders, but merely creates a shell that traverseDirs can take as input. } shinyFiles/man/fileGetter.Rd0000644000176200001440000000331613645373772015547 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/filechoose.R \name{fileGetter} \alias{fileGetter} \title{Create a function that returns fileinfo according to the given restrictions} \usage{ fileGetter(roots, restrictions, filetypes, pattern, hidden = FALSE) } \arguments{ \item{roots}{A named vector of absolute filepaths or a function returning a named vector of absolute filepaths (the latter is useful if the volumes should adapt to changes in the filesystem).} \item{restrictions}{A vector of directories within the root that should be filtered out of the results} \item{filetypes}{A character vector of file extensions (without dot in front i.e. 'txt' not '.txt') to include in the output. Use the empty string to include files with no extension. If not set all file types will be included} \item{pattern}{A regular expression used to select files to show. See \code{\link[base:grep]{base::grepl()}} for additional discussion on how to construct a regular expression (e.g., "log.*\\\\.txt")} \item{hidden}{A logical value specifying whether hidden files should be returned or not} } \value{ A function taking a single path relative to the specified root, and returns a list of files to be passed on to shiny } \description{ This functions returns a new function that can generate file information to be send to a shiny app based on a path relative to the given root. The function is secure in the sense that it prevents access to files outside of the given root directory as well as to subdirectories matching the ones given in restrictions. Furthermore can the output be filtered to only contain certain filetypes using the filter parameter and hidden files can be toggled with the hidden parameter. } shinyFiles/man/shinyFiles-buttons.Rd0000644000176200001440000001777413752261472017273 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/filechoose.R, R/dirchoose.R, R/filesave.R \name{shinyFiles-buttons} \alias{shinyFiles-buttons} \alias{shinyFilesButton} \alias{shinyFilesLink} \alias{shinyDirButton} \alias{shinyDirLink} \alias{shinySaveButton} \alias{shinySaveLink} \title{Create a button to summon a shinyFiles dialog} \usage{ shinyFilesButton( id, label, title, multiple, buttonType = "default", class = NULL, icon = NULL, style = NULL, viewtype = "detail", ... ) shinyFilesLink( id, label, title, multiple, class = NULL, icon = NULL, style = NULL, viewtype = "detail", ... ) shinyDirButton( id, label, title, buttonType = "default", class = NULL, icon = NULL, style = NULL, ... ) shinyDirLink(id, label, title, class = NULL, icon = NULL, style = NULL, ...) shinySaveButton( id, label, title, filename = "", filetype, buttonType = "default", class = NULL, icon = NULL, style = NULL, viewtype = "detail", ... ) shinySaveLink( id, label, title, filename = "", filetype, class = NULL, icon = NULL, style = NULL, viewtype = "detail", ... ) } \arguments{ \item{id}{The id matching the \code{\link[=shinyFileChoose]{shinyFileChoose()}}} \item{label}{The text that should appear on the button} \item{title}{The heading of the dialog box that appears when the button is pressed} \item{multiple}{A logical indicating whether or not it should be possible to select multiple files} \item{buttonType}{The Bootstrap button markup used to colour the button. Defaults to 'default' for a neutral appearance but can be changed for another look. The value will be pasted with 'btn-' and added as class.} \item{class}{Additional classes added to the button} \item{icon}{An optional \href{https://shiny.rstudio.com/reference/shiny/latest/icon.html}{icon} to appear on the button.} \item{style}{Additional styling added to the button (e.g., "margin-top: 25px;")} \item{viewtype}{View type to use in the file browser. One of "detail" (default), "list", or "icon"} \item{...}{Named attributes to be applied to the button or link (e.g., 'onclick')} \item{filename}{A predefined filename to be filed in. Can be modified by the user during saving.} \item{filetype}{A named list of file extensions. The name of each element gives the name of the filetype and the content of the element the possible extensions e.g. \code{list(picture=c('jpg', 'jpeg'))}. The first extension will be used as default if it is not supplied by the user.} } \value{ This function is called for its side effects } \description{ This function adds the required html markup for the client to access the file system. The end result will be the appearance of a button on the webpage that summons one of the shinyFiles dialog boxes. The last position in the file system is automatically remembered between instances, but not shared between several shinyFiles buttons. For a button to have any functionality it must have a matching observer on the server side. shinyFilesButton() is matched with shinyFileChoose() and shinyDirButton with shinyDirChoose(). The id argument of two matching calls must be the same. See \code{\link[=shinyFiles-observers]{shinyFiles-observers()}} on how to handle client input on the server side. } \details{ \strong{Selecting files} When a user selects one or several files the corresponding input variable is set to a list containing a character vector for each file. The character vectors gives the traversal route from the root to the selected file(s). The reason it does not give a path as a string is that the client has no knowledge of the file system on the server and can therefore not ensure proper formatting. The \code{\link[=parseFilePaths]{parseFilePaths()}} function can be used on the server to format the input variable into a format similar to that returned by \code{\link[shiny:fileInput]{shiny::fileInput()}}. \strong{Selecting folders} When a folder is selected it will also be available in its respective input variable as a list giving the traversal route to the selected folder. To properly format it, feed it into \code{\link[=parseDirPath]{parseDirPath()}} and a string with the full folder path will be returned. \strong{Creating files (saving)} When a new filename is created it will become available in the respective input variable and can be formatted with \code{\link[=parseSavePath]{parseSavePath()}} into a data.frame reminiscent that returned by fileInput. There is no size column and the type is only present if the filetype argument is used in \code{shinySaveButton}. In that case it will be the name of the chosen type (not the extension). \strong{Manual markup} For users wanting to design their html markup manually it is very easy to add a shinyFiles button. The only markup required is: \emph{shinyFilesButton} \verb{} \emph{shinyDirButton} \verb{} \emph{shinySaveButton} \code{} where the id tag matches the inputId parameter, the data-title tag matches the title parameter, the data-selecttype is either "single" or "multiple" (the non-logical form of the multiple parameter) and the internal textnode matches the label parameter. The data-filetype tag is a bit more involved as it is a json formatted array of objects with the properties 'name' and 'ext'. 'name' gives the name of the filetype as a string and 'ext' the allowed extensions as an array of strings. The non-exported \code{\link[=formatFiletype]{formatFiletype()}} function can help convert from a named R list into the string representation. In the example above "btn-default" is used as button styling, but this can be changed to any other Bootstrap style. Apart from this the html document should link to a script with the following path 'sF/shinyFiles.js' and a stylesheet with the following path 'sF/styles.css'. The markup is bootstrap compliant so if the bootstrap css is used in the page the look will fit right in. There is nothing that hinders the developer from ignoring bootstrap altogether and designing the visuals themselves. The only caveat being that the glyphs used in the menu buttons are bundled with bootstrap. Use the css ::after pseudoclasses to add alternative content to these buttons. Additional filetype specific icons can be added with css using the following style: \preformatted{ .sF-file .sF-file-icon .yourFileExtension{ content: url(path/to/16x16/pixel/png); } .sF-fileList.sF-icons .sF-file .sF-file-icon .yourFileExtension{ content: url(path/to/32x32/pixel/png); } } If no large version is specified the small version gets upscaled. \strong{Client side events} If the shiny app uses custom Javascript it is possible to react to selections directly from the javascript. Once a selection has been made, the button will fire of the event 'selection' and pass the selection data along with the event. To listen for this event you simple add: \preformatted{ $(button).on('selection', function(event, path) { // Do something with the paths here }) } in the same way a 'cancel' event is fired when a user dismisses a selection box. In that case, no path is passed on. Outside events the current selection is available as an object bound to the button and can be accessed at any time: \preformatted{ // For a shinyFilesButton $(button).data('files') // For a shinyDirButton $(button).data('directory') // For a shinySaveButton $(button).data('file') } } \references{ The file icons used in the file system navigator is taken from FatCows Farm-Fresh Web Icons (\url{https://www.fatcow.com/free-icons}) } \seealso{ Other shinyFiles: \code{\link{shinyFiles-observers}}, \code{\link{shinyFiles-parsers}}, \code{\link{shinyFilesExample}()} } \concept{shinyFiles} shinyFiles/DESCRIPTION0000644000176200001440000000312714142732102014074 0ustar liggesusersPackage: shinyFiles Type: Package Title: A Server-Side File System Viewer for Shiny Version: 0.9.1 Authors@R: c(person(given = "Thomas Lin", family = "Pedersen", role = c("cre", "aut"), email = "thomasp85@gmail.com", comment = c(ORCID = "0000-0002-5147-4711")), person(given = "Vincent", family = "Nijs", role = "aut"), person(given = "Thomas", family = "Schaffner", role = "aut"), person(given = "Eric", family = "Nantz", role = "aut")) Maintainer: Thomas Lin Pedersen Description: Provides functionality for client-side navigation of the server side file system in shiny apps. In case the app is running locally this gives the user direct access to the file system without the need to "download" files to a temporary location. Both file and folder selection as well as file saving is available. License: GPL (>= 2) Encoding: UTF-8 Imports: htmltools, jsonlite, tools, shiny (>= 1.1.0), fs (>= 1.2.6), tibble (>= 1.4.2) Collate: 'aaa.R' 'filechoose.R' 'dirchoose.R' 'filesave.R' 'shinyFiles-package.R' RoxygenNote: 7.1.1 URL: https://github.com/thomasp85/shinyFiles BugReports: https://github.com/thomasp85/shinyFiles/issues Suggests: covr NeedsCompilation: no Packaged: 2021-11-10 11:34:56 UTC; thomas Author: Thomas Lin Pedersen [cre, aut] (), Vincent Nijs [aut], Thomas Schaffner [aut], Eric Nantz [aut] Repository: CRAN Date/Publication: 2021-11-10 12:00:02 UTC shinyFiles/R/0000755000176200001440000000000014142671035012573 5ustar liggesusersshinyFiles/R/shinyFiles-package.R0000644000176200001440000000007113317420261016416 0ustar liggesusers#' A Server-Side File System Viewer for Shiny "_PACKAGE" shinyFiles/R/dirchoose.R0000644000176200001440000002624413752222124014702 0ustar liggesusers#' @include aaa.R #' @include filechoose.R #' NULL #' Traverse and update a tree representing the file system #' #' This function takes a tree representing a part of the file system and updates #' it to reflect the current state of the file system as well as the settings #' for each node. Children (contained folders) are recursed into if the parents #' expanded element is set to TRUE, no matter if children are currently present. #' #' @param tree A list representing the tree structure of the file system to #' traverse. Each element should at least contain the elements 'name' and #' 'expanded'. The elements 'empty' and 'children' will be created or updates if #' they exist. #' #' @param root A string with the location of the root folder for the tree #' #' @param restrictions A vector of directories within the root that should be #' filtered out of the results #' #' @param hidden A logical value specifying whether hidden folders should be #' returned or not #' #' @return A list of the same format as 'tree', but with updated values to #' reflect the current file system state. #' #' @importFrom fs path dir_ls file_info path_file #' traverseDirs <- function(tree, root, restrictions, hidden) { location <- path(root, tree$name) if (!dir.exists(location)) return(NULL) files <- suppressWarnings(dir_ls(location, all = hidden, fail = FALSE)) if (!is.null(restrictions) && length(files) != 0) { if (length(files) == 1) { keep <- !any(sapply(restrictions, function(x) { grepl(x, files, fixed = T) })) } else { keep <- !apply(sapply(restrictions, function(x) { grepl(x, files, fixed = T) }), 1, any) } files <- files[keep] } folders <- path_file(files[dir.exists(files)]) if (length(folders) == 0) { tree$empty <- TRUE tree$children <- list() tree$expanded <- FALSE } else { tree$empty <- FALSE if (tree$expanded) { children <- updateChildren(tree$children, folders) tree$children <- lapply(children, traverseDirs, root = location, restrictions = restrictions, hidden = hidden) } else { tree$children <- list() } } tree } #' Update the children element to reflect current state #' #' This function create new entries for new folders and remove entries for no #' longer existing folders, while keeping the state of transient folders in the #' children element of the tree structure. The function does not recurse into #' the folders, but merely creates a shell that traverseDirs can take as input. #' #' @param oldChildren A list of children folders from the parent$children #' element of tree in [traverseDirs()] #' #' @param currentChildren A vector of names of the folders that are currently #' present in the parent of oldChildren #' #' @return An updated list equal in format to oldChildren #' updateChildren <- function(oldChildren, currentChildren) { oldNames <- sapply(oldChildren, `[[`, "name") newChildren <- currentChildren[!currentChildren %in% oldNames] children <- oldChildren[oldNames %in% currentChildren] children <- append(children, lapply(newChildren, function(x) { list(name = x, expanded = FALSE, children = list()) })) childrenNames <- sapply(children, `[[`, "name") children[order(childrenNames)] } #' Create a function that updates a folder tree based on the given restrictions #' #' This functions returns a new function that will handle updating the folder #' tree. It is the folder equivalent of [fileGetter()] but functions #' slightly different as it needs to handle expanded branches of the folder #' hierarchy rather than just the content of a single directory at a time. The #' returned function takes a representation of a folder hierarchy along with the #' root to where it belongs and updates the tree to correspond with the current #' state of the file system, without altering expansions etc. #' #' @param roots A named vector of absolute filepaths or a function returning a #' named vector of absolute filepaths (the latter is useful if the volumes #' should adapt to changes in the filesystem). #' #' @param restrictions A vector of directories within the root that should be #' filtered out of the results #' #' @param filetypes Currently unused #' #' @param hidden A logical value specifying whether hidden files should be #' returned or not #' #' @return A function taking a list representation of a folder hierarchy along #' with the name of the root where it starts. See [traverseDirs()] for #' a description of the format for the list representation. #' dirGetter <- function(roots, restrictions, filetypes, hidden=FALSE) { if (missing(filetypes)) filetypes <- NULL if (missing(restrictions)) restrictions <- NULL function(tree, root) { currentRoots <- if (inherits(roots, "function")) roots() else roots if (is.null(names(currentRoots))) stop("Roots must be a named vector or a function returning one") if (is.null(root)) root <- names(currentRoots)[1] tree <- traverseDirs(tree, currentRoots[root], restrictions, hidden) list( tree = tree, rootNames = I(names(currentRoots)), selectedRoot = root ) } } #' Create a function that creates a new directory #' #' This function returns a function that can be used to create new directories #' based on the information returned from the client. The returned function #' takes the name, path and root of the directory to create and parses it into #' a platform compliant format and then uses dir.create to create it. The #' returned function returns TRUE if the directory was created successfully and #' FALSE otherwise. #' #' @param roots A named vector of absolute filepaths or a function returning a #' named vector of absolute filepaths (the latter is useful if the volumes #' should adapt to changes in the filesystem). #' #' @param ... Currently unused #' #' @return A function that creates directories based on the information returned #' by the client. #' #' @importFrom fs path dir_create #' dirCreator <- function(roots, ...) { function(name, path, root) { currentRoots <- if (inherits(roots, "function")) roots() else roots if (is.null(names(currentRoots))) stop("Roots must be a named vector or a function returning one") location <- fs::path(currentRoots[root], paste0(c(path, name), collapse = "/")) dir_create(location) } } #' @rdname shinyFiles-observers #' #' @examples #' \dontrun{ #' # Folder selections #' ui <- shinyUI(bootstrapPage( #' shinyDirButton('folder', 'Folder select', 'Please select a folder', FALSE) #' )) #' server <- shinyServer(function(input, output) { #' shinyDirChoose(input, 'folder', roots=c(wd='.'), filetypes=c('', 'txt')) #' }) #' #' runApp(list( #' ui=ui, #' server=server #' )) #' } #' #' @importFrom shiny observe invalidateLater req observeEvent showNotification p #' #' @export #' shinyDirChoose <- function( input, id, updateFreq = 0, session = getSession(), defaultPath = "", defaultRoot = NULL, allowDirCreate = TRUE, ... ) { dirGet <- do.call(dirGetter, list(...)) fileGet <- do.call(fileGetter, list(...)) dirCreate <- do.call(dirCreator, list(...)) currentDir <- list() currentFiles <- NULL lastDirCreate <- NULL clientId <- session$ns(id) sendDirectoryData <- function(message) { req(input[[id]]) tree <- input[[paste0(id, "-modal")]] createDir <- input[[paste0(id, "-newDir")]] # Show a notification if a user is trying to create a # new directory when that option has been disabled if (!identical(createDir, lastDirCreate)) { if (allowDirCreate) { dirCreate(createDir$name, createDir$path, createDir$root) lastDirCreate <<- createDir } else { shiny::showNotification(shiny::p('Creating directories has been disabled.'), type = 'error') lastDirCreate <<- createDir } } exist <- TRUE if (is.null(tree) || is.na(tree)) { dir <- list(tree = list(name = defaultPath, expanded = TRUE), root = defaultRoot) files <- list(dir = NA, root = tree$selectedRoot) } else { dir <- list(tree = tree$tree, root = tree$selectedRoot) files <- list(dir = unlist(tree$contentPath), root = tree$selectedRoot) passedPath <- list(list(...)$roots[tree$selectedRoot]) exist = dir.exists(do.call(path,c(passedPath,files$dir[-1]))) } newDir <- do.call(dirGet, dir) if (is.null(files$dir) || is.na(files$dir)) { newDir$content <- NA newDir$contentPath <- NA newDir$writable <- FALSE } else { newDir$contentPath <- as.list(files$dir) files$dir <- paste0(files$dir, collapse = "/") content <- do.call(fileGet, files) newDir$content <- content$files newDir$writable <- content$writable } newDir$exist <- exist newDir$root <- files$root currentDir <<- newDir session$sendCustomMessage(message, list(id = clientId, dir = newDir)) if (updateFreq > 0) invalidateLater(updateFreq, session) } observe({ sendDirectoryData("shinyDirectories") }) observeEvent(input[[paste0(id, "-refresh")]], { if (!is.null(input[[paste0(id, "-refresh")]])) { sendDirectoryData("shinyDirectories-refresh") } }) } #' @rdname shinyFiles-buttons #' #' @importFrom htmltools tagList singleton tags #' @importFrom shiny restoreInput #' #' @export #' shinyDirButton <- function( id, label, title, buttonType="default", class=NULL, icon=NULL, style=NULL, ... ) { value <- restoreInput(id = id, default = NULL) tagList( singleton(tags$head( tags$script(src = "sF/shinyFiles.js"), tags$link( rel = "stylesheet", type = "text/css", href = "sF/styles.css" ), tags$link( rel = "stylesheet", type = "text/css", href = "sF/fileIcons.css" ) )), tags$button( id = id, type = "button", class = paste(c("shinyDirectories btn", paste0("btn-", buttonType), class, "action-button"), collapse = " "), style = style, "data-title" = title, "data-val" = value, list(icon, as.character(label)), ... ) ) } #' @rdname shinyFiles-buttons #' #' @importFrom htmltools tagList singleton tags #' @importFrom shiny restoreInput #' #' @export #' shinyDirLink <- function(id, label, title, class=NULL, icon=NULL, style=NULL, ...) { value <- restoreInput(id = id, default = NULL) tagList( singleton(tags$head( tags$script(src = "sF/shinyFiles.js"), tags$link( rel = "stylesheet", type = "text/css", href = "sF/styles.css" ), tags$link( rel = "stylesheet", type = "text/css", href = "sF/fileIcons.css" ) )), tags$a( id = id, type = "button", class = paste(c("shinyDirectories", class, "action-button"), collapse = " "), style = style, "data-title" = title, "data-val" = value, list(icon, as.character(label)), ... ) ) } #' @rdname shinyFiles-parsers #' #' @importFrom fs path #' #' @export #' parseDirPath <- function(roots, selection) { currentRoots <- if (inherits(roots, "function")) roots() else roots if (is.null(names(currentRoots))) stop("Roots must be a named vector or a function returning one") if (is.integer(selection)) { character(0) } else { path(currentRoots[selection$root], paste0(selection$path, collapse = "/")) } } shinyFiles/R/filechoose.R0000644000176200001440000005216514142671035015047 0ustar liggesusers#' @include aaa.R NULL #' Create a function that returns fileinfo according to the given restrictions #' #' This functions returns a new function that can generate file information to #' be send to a shiny app based on a path relative to the given root. The #' function is secure in the sense that it prevents access to files outside of #' the given root directory as well as to subdirectories matching the ones given #' in restrictions. Furthermore can the output be filtered to only contain #' certain filetypes using the filter parameter and hidden files can be toggled #' with the hidden parameter. #' #' @param roots A named vector of absolute filepaths or a function returning a #' named vector of absolute filepaths (the latter is useful if the volumes #' should adapt to changes in the filesystem). #' #' @param restrictions A vector of directories within the root that should be #' filtered out of the results #' #' @param filetypes A character vector of file extensions (without dot in front #' i.e. 'txt' not '.txt') to include in the output. Use the empty string to #' include files with no extension. If not set all file types will be included #' #' @param pattern A regular expression used to select files to show. See #' \code{\link[base:grep]{base::grepl()}} for additional discussion on how to #' construct a regular expression (e.g., "log.*\\\\.txt") #' #' @param hidden A logical value specifying whether hidden files should be #' returned or not #' #' @return A function taking a single path relative to the specified root, and #' returns a list of files to be passed on to shiny #' #' @importFrom tools file_ext #' @importFrom fs path file_access file_exists dir_ls file_info path_file #' path_ext path_join path_norm path_has_parent #' @importFrom tibble as_tibble #' fileGetter <- function(roots, restrictions, filetypes, pattern, hidden = FALSE) { if (missing(filetypes)) { filetypes <- NULL } else if (is.function(filetypes)) { filetypes <- filetypes() } if (missing(restrictions)) restrictions <- NULL if (missing(pattern)) { pattern <- "" } else if (is.function(pattern)) { pattern <- pattern() } function(dir, root) { currentRoots <- if (inherits(roots, "function")) roots() else roots if (all(is.null(names(currentRoots)))) stop("Roots must be a named vector or a function returning one") if (all(is.null(root))) root <- names(currentRoots)[1] fulldir <- path_join(c(currentRoots[root], dir)) testdir <- try(path_norm(fulldir), silent = TRUE) if (inherits(testdir, "try-error")) { fulldir <- path(currentRoots[root]) dir <- "" } else { if (Sys.info()["sysname"] != "Windows") { testdir <- gsub("/{2,}", "/", testdir) } if (path_has_parent(testdir, currentRoots[root])) { fulldir <- testdir } else { fulldir <- path(currentRoots[root]) dir <- "" } } selectedFile <- "" if(file.exists(fulldir) && !dir.exists(fulldir)){ # dir is a normal file, not a directory # get the filename, and use it as the selectedFile selectedFile = sub(".*/(.*)$", "\\1", fulldir) # shorten the directory fulldir = sub("(.*)/.*$", "\\1", fulldir) # dir also needs shortened for breadcrumbs dir = sub("(.*)/.*$", "\\1", dir) } writable <- as.logical(file_access(fulldir, "write")) files <- suppressWarnings(dir_ls(fulldir, all = hidden, fail = FALSE)) if (!is.null(restrictions) && length(files) != 0) { if (length(files) == 1) { keep <- !any(sapply(restrictions, function(x) { grepl(x, files, fixed = T) })) } else { keep <- !apply(sapply(restrictions, function(x) { grepl(x, files, fixed = T) }), 1, any) } files <- files[keep] } fileInfo <- suppressWarnings(file_info(files, fail = FALSE)) fileInfo$filename <- path_file(files) fileInfo$extension <- tolower(path_ext(files)) fileInfo$isdir <- dir.exists(files) fileInfo$mtime <- as.integer(fileInfo$modification_time) * 1000 fileInfo$ctime <- as.integer(fileInfo$birth_time) * 1000 fileInfo$atime <- as.integer(fileInfo$access_time) * 1000 if (!is.null(filetypes)) { matchedFiles <- tolower(fileInfo$extension) %in% tolower(filetypes) & fileInfo$extension != "" fileInfo$isdir[matchedFiles] <- FALSE fileInfo <- fileInfo[matchedFiles | fileInfo$isdir, ] } if (nchar(pattern) > 0) { matchedFiles <- try(grepl(pattern, fileInfo$filename), silent = TRUE) if (!inherits(matchedFiles, "try-error")) { fileInfo <- fileInfo[matchedFiles | fileInfo$isdir, ] } } breadcrumps <- strsplit(dir, .Platform$file.sep)[[1]] list( files = as_tibble(fileInfo[, c("filename", "extension", "isdir", "size", "mtime", "ctime", "atime")]), writable = writable, exist = as.logical(file_exists(fulldir)), breadcrumps = I(c("", breadcrumps[breadcrumps != ""])), roots = I(names(currentRoots)), root = root, selectedFile = selectedFile ) } } #' Create a connection to the server side filesystem #' #' These function sets up the required connection to the client in order for the #' user to navigate the filesystem. For this to work a matching button should be #' present in the html, either by using one of the button generating functions #' or adding it manually. See [shinyFiles-buttons()] for more details. #' #' Restrictions on the access rights of the client can be given in several ways. #' The root parameter specifies the starting position for the filesystem as #' presented to the client. This means that the client can only navigate in #' subdirectories of the root. Paths passed of to the `restrictions` #' parameter will not show up in the client view, and it is impossible to #' navigate into these subdirectories. The `filetypes` parameter takes a #' vector of file extensions to filter the output on, so that the client is #' only presented with these filetypes. The `hidden` parameter toggles #' whether hidden files should be visible or not. Whenever a file or folder #' choice is made the resulting files/folder will be accessible in the input #' variable with the id given in the parameters. This value should probable be #' run through a call to one of the parser ([shinyFiles-parsers()]) in #' order to get well formatted paths to work with. #' #' @param input The input object of the `shinyServer()` call (usually #' `input`) #' #' @param id The same ID as used in the matching call to #' `shinyFilesButton` or as the id attribute of the button, in case of a #' manually defined html. This id will also define the id of the file choice in #' the input variable #' #' @param updateFreq The time in milliseconds between file system lookups. This #' determines the responsiveness to changes in the filesystem (e.g. addition of #' files or drives). For the default value (0) changes in the filesystem are #' shown only when a shinyFiles button is clicked again #' #' @param session The session object of the shinyServer call (usually #' `session`). #' #' @param defaultRoot The default root to use. For instance if #' `roots = c('wd' = '.', 'home', '/home')` then `defaultRoot` #' can be either `'wd'` or `'home'`. #' #' @param defaultPath The default relative path specified given the `defaultRoot`. #' #' @param allowDirCreate Logical that indicates if creating new directories by the user is allowed. #' #' @param ... Arguments to be passed on to [fileGetter()] or [dirGetter()]. #' #' @return A reactive observer that takes care of the server side logic of the #' filesystem connection. #' #' @note The syntax for this version has changed with version 0.4.0. Prior to #' that version the output of `shinyFileChoose()` should be assigned to the #' output object. This is no longer the case and doing so will result in an #' error. In newer versions the function returns an observer which can be #' ignored for the most part, or assigned to a variable if there needs to be #' interactions with it later on. #' #' @examples #' \dontrun{ #' # File selections #' ui <- shinyUI(bootstrapPage( #' shinyFilesButton('files', 'File select', 'Please select a file', FALSE) #' )) #' server <- shinyServer(function(input, output) { #' shinyFileChoose(input, 'files', roots=c(wd='.'), filetypes=c('', 'txt'), #' defaultPath='', defaultRoot='wd') #' }) #' #' runApp(list( #' ui=ui, #' server=server #' )) #' } #' #' @rdname shinyFiles-observers #' @name shinyFiles-observers #' #' @family shinyFiles #' #' @importFrom shiny observe invalidateLater req observeEvent #' @importFrom fs path #' #' @export #' shinyFileChoose <- function(input, id, updateFreq = 0, session = getSession(), defaultRoot=NULL, defaultPath="", ...) { currentDir <- list() clientId <- session$ns(id) sendDirectoryData <- function(message) { req(input[[id]]) dir <- input[[paste0(id, "-modal")]] if (all(is.null(dir)) || all(is.na(dir))) { dir <- list(dir = defaultPath, root = defaultRoot) } else { dir <- list(dir = dir$path, root = dir$root) } dir$dir <- paste0(dir$dir, collapse = "/") ## allows reactive links (e.g., for filetypes) fileGet <- do.call(fileGetter, list(...)) newDir <- do.call(fileGet, dir) currentDir <<- newDir session$sendCustomMessage(message, list(id = clientId, dir = newDir)) if (updateFreq > 0) invalidateLater(updateFreq, session) } observe({ sendDirectoryData("shinyFiles") }) observeEvent(input[[paste0(id, "-refresh")]], { if (!is.null(input[[paste0(id, "-refresh")]])) { sendDirectoryData("shinyFiles-refresh") } }) } #' Create a button to summon a shinyFiles dialog #' #' This function adds the required html markup for the client to access the file #' system. The end result will be the appearance of a button on the webpage that #' summons one of the shinyFiles dialog boxes. The last position in the file #' system is automatically remembered between instances, but not shared between #' several shinyFiles buttons. For a button to have any functionality it must #' have a matching observer on the server side. shinyFilesButton() is matched #' with shinyFileChoose() and shinyDirButton with shinyDirChoose(). The id #' argument of two matching calls must be the same. See #' [shinyFiles-observers()] on how to handle client input on the #' server side. #' #' @details #' \strong{Selecting files} #' #' When a user selects one or several files the corresponding input variable is #' set to a list containing a character vector for each file. The character #' vectors gives the traversal route from the root to the selected file(s). The #' reason it does not give a path as a string is that the client has no #' knowledge of the file system on the server and can therefore not ensure #' proper formatting. The [parseFilePaths()] function can be used on #' the server to format the input variable into a format similar to that #' returned by [shiny::fileInput()]. #' #' \strong{Selecting folders} #' #' When a folder is selected it will also be available in its respective input #' variable as a list giving the traversal route to the selected folder. To #' properly format it, feed it into [parseDirPath()] and a string with #' the full folder path will be returned. #' #' \strong{Creating files (saving)} #' #' When a new filename is created it will become available in the respective #' input variable and can be formatted with [parseSavePath()] into a #' data.frame reminiscent that returned by fileInput. There is no size column #' and the type is only present if the filetype argument is used in #' `shinySaveButton`. In that case it will be the name of the chosen type #' (not the extension). #' #' \strong{Manual markup} #' #' For users wanting to design their html markup manually it is very easy to add #' a shinyFiles button. The only markup required is: #' #' *shinyFilesButton* #' #' `` #' #' *shinyDirButton* #' #' `` #' #' *shinySaveButton* #' #' \code{} #' #' where the id tag matches the inputId parameter, the data-title tag matches #' the title parameter, the data-selecttype is either "single" or "multiple" #' (the non-logical form of the multiple parameter) and the internal textnode #' matches the label parameter. The data-filetype tag is a bit more involved as #' it is a json formatted array of objects with the properties 'name' and 'ext'. #' 'name' gives the name of the filetype as a string and 'ext' the allowed #' extensions as an array of strings. The non-exported #' [formatFiletype()] function can help convert from a named R list #' into the string representation. In the example above "btn-default" is used as #' button styling, but this can be changed to any other Bootstrap style. #' #' Apart from this the html document should link to a script with the #' following path 'sF/shinyFiles.js' and a stylesheet with the following path #' 'sF/styles.css'. #' #' The markup is bootstrap compliant so if the bootstrap css is used in the page #' the look will fit right in. There is nothing that hinders the developer from #' ignoring bootstrap altogether and designing the visuals themselves. The only #' caveat being that the glyphs used in the menu buttons are bundled with #' bootstrap. Use the css ::after pseudoclasses to add alternative content to #' these buttons. Additional filetype specific icons can be added with css using #' the following style: #' #' \preformatted{ #' .sF-file .sF-file-icon .yourFileExtension{ #' content: url(path/to/16x16/pixel/png); #' } #' .sF-fileList.sF-icons .sF-file .sF-file-icon .yourFileExtension{ #' content: url(path/to/32x32/pixel/png); #' } #' } #' #' If no large version is specified the small version gets upscaled. #' #' \strong{Client side events} #' #' If the shiny app uses custom Javascript it is possible to react to selections #' directly from the javascript. Once a selection has been made, the button will #' fire of the event 'selection' and pass the selection data along with the #' event. To listen for this event you simple add: #' #' \preformatted{ #' $(button).on('selection', function(event, path) { #' // Do something with the paths here #' }) #' } #' #' in the same way a 'cancel' event is fired when a user dismisses a selection #' box. In that case, no path is passed on. #' #' Outside events the current selection is available as an object bound to the #' button and can be accessed at any time: #' #' \preformatted{ #' // For a shinyFilesButton #' $(button).data('files') #' #' // For a shinyDirButton #' $(button).data('directory') #' #' // For a shinySaveButton #' $(button).data('file') #' } #' #' @param id The id matching the [shinyFileChoose()] #' #' @param label The text that should appear on the button #' #' @param title The heading of the dialog box that appears when the button is #' pressed #' #' @param multiple A logical indicating whether or not it should be possible to #' select multiple files #' #' @param buttonType The Bootstrap button markup used to colour the button. #' Defaults to 'default' for a neutral appearance but can be changed for another #' look. The value will be pasted with 'btn-' and added as class. #' #' @param class Additional classes added to the button #' #' @param icon An optional \href{https://shiny.rstudio.com/reference/shiny/latest/icon.html}{icon} to appear on the button. #' #' @param style Additional styling added to the button (e.g., "margin-top: 25px;") #' #' @param viewtype View type to use in the file browser. One of "detail" (default), "list", or "icon" #' #' @param filetype A named list of file extensions. The name of each element #' gives the name of the filetype and the content of the element the possible #' extensions e.g. `list(picture=c('jpg', 'jpeg'))`. The first extension #' will be used as default if it is not supplied by the user. #' #' @param ... Named attributes to be applied to the button or link (e.g., 'onclick') #' #' @return This function is called for its side effects #' #' @rdname shinyFiles-buttons #' @name shinyFiles-buttons #' #' @family shinyFiles #' #' @references The file icons used in the file system navigator is taken from #' FatCows Farm-Fresh Web Icons () #' #' @importFrom htmltools tagList singleton tags #' @importFrom shiny restoreInput #' #' @export #' shinyFilesButton <- function( id, label, title, multiple, buttonType="default", class=NULL, icon=NULL, style=NULL, viewtype="detail", ... ) { value <- restoreInput(id = id, default = NULL) viewtype <- if (length(viewtype) > 0 && viewtype %in% c("detail", "list", "icon")) viewtype else "detail" tagList( singleton(tags$head( tags$script(src = "sF/shinyFiles.js"), tags$link( rel = "stylesheet", type = "text/css", href = "sF/styles.css" ), tags$link( rel = "stylesheet", type = "text/css", href = "sF/fileIcons.css" ) )), tags$button( id = id, type = "button", class = paste(c("shinyFiles btn", paste0("btn-", buttonType), class, "action-button"), collapse = " "), style = style, "data-title" = title, "data-selecttype" = ifelse(multiple, "multiple", "single"), "data-val" = value, "data-view" = paste0("sF-btn-", viewtype), list(icon, label), ... ) ) } #' @rdname shinyFiles-buttons #' @name shinyFiles-buttons #' @importFrom htmltools tagList singleton tags #' @importFrom shiny restoreInput #' #' @export #' shinyFilesLink <- function( id, label, title, multiple, class=NULL, icon=NULL, style=NULL, viewtype="detail", ... ) { value <- restoreInput(id = id, default = NULL) viewtype <- if (length(viewtype) > 0 && viewtype %in% c("detail", "list", "icon")) viewtype else "detail" tagList( singleton(tags$head( tags$script(src = "sF/shinyFiles.js"), tags$link( rel = "stylesheet", type = "text/css", href = "sF/styles.css" ), tags$link( rel = "stylesheet", type = "text/css", href = "sF/fileIcons.css" ) )), tags$a( id = id, type = "button", class = paste(c("shinyFiles", class, "action-button"), collapse = " "), style = style, "data-title" = title, "data-selecttype" = ifelse(multiple, "multiple", "single"), "data-val" = value, "data-view" = paste0("sF-btn-", viewtype), list(icon, label), ... ) ) } #' Convert the output of a selection to platform specific path(s) #' #' This function takes the value of a shinyFiles button input variable and #' converts it to be easier to work with on the server side. In the case of file #' selections and saving the input variable is converted to a data frame (using #' `parseFilePaths()` or `parseSavePath() respectively`) of the same #' format as that provided by [shiny::fileInput()]. The only caveat #' here is that the MIME type cannot be inferred in file selections so this will #' always be an empty string and new files doesn't have a size so this is left #' out with file saving. In the case of folder selection the input variable is #' converted to a string (using `parseDirPath()`) giving the absolute path #' to the selected folder. #' #' The use of `parseFilePaths` makes it easy to substitute fileInput and #' shinyFiles in your code as code that relies on the values of a file selection #' doesn't have to change. #' #' @param roots The path to the root as specified in the `shinyFileChoose()` #' call in `shinyServer()` #' #' @param selection The corresponding input variable to be parsed #' #' @return A data frame matching the format of [shiny::fileInput()] #' #' @examples #' \dontrun{ #' ui <- shinyUI(bootstrapPage( #' shinyFilesButton('files', 'File select', 'Please select a file', FALSE), #' verbatimTextOutput('rawInputValue'), #' verbatimTextOutput('filepaths') #' )) #' server <- shinyServer(function(input, output) { #' roots = c(wd='.') #' shinyFileChoose(input, 'files', roots=roots, filetypes=c('', 'txt')) #' output$rawInputValue <- renderPrint({str(input$files)}) #' output$filepaths <- renderPrint({parseFilePaths(roots, input$files)}) #' }) #' #' runApp(list( #' ui=ui, #' server=server #' )) #' } #' #' @rdname shinyFiles-parsers #' @name shinyFiles-parsers #' #' @family shinyFiles #' #' @importFrom tibble tibble #' @importFrom fs path file_info path_file #' #' @export #' parseFilePaths <- function(roots, selection) { roots <- if (inherits(roots, "function")) roots() else roots if (all(is.null(selection)) || all(is.na(selection)) || all(is.integer(selection)) || length(selection$files) == 0) { tibble( name = character(0), size = numeric(0), type = character(0), datapath = character(0), stringsAsFactors = FALSE ) } else { files <- sapply(selection$files, function(x) path(roots[selection$root], paste0(x, collapse = "/"))) tibble(name = path_file(files), size = as.numeric(file_info(files)$size), type = "", datapath = files) } } shinyFiles/R/filesave.R0000644000176200001440000001561114142671035014520 0ustar liggesusers#' @include aaa.R #' @include filechoose.R #' @include dirchoose.R #' NULL #' @rdname shinyFiles-observers #' #' @examples #' \dontrun{ #' # File selections #' ui <- shinyUI(bootstrapPage( #' shinySaveButton('save', 'Save', 'Save as...') #' )) #' server <- shinyServer(function(input, output) { #' shinyFileSave(input, 'save', roots=c(wd='.')) #' }) #' #' runApp(list( #' ui=ui, #' server=server #' )) #' } #' #' @importFrom shiny observe invalidateLater req observeEvent showNotification p #' #' @export #' shinyFileSave <- function( input, id, updateFreq = 0, session = getSession(), defaultPath = "", defaultRoot = NULL, allowDirCreate = TRUE, ... ) { fileGet <- do.call(fileGetter, list(...)) dirCreate <- do.call(dirCreator, list(...)) currentDir <- list() lastDirCreate <- NULL clientId <- session$ns(id) sendDirectoryData <- function(message) { req(input[[id]]) dir <- input[[paste0(id, "-modal")]] createDir <- input[[paste0(id, "-newDir")]] # Show a notification if a user is trying to create a # new directory when that option has been disabled if (!identical(createDir, lastDirCreate)) { if (allowDirCreate) { dirCreate(createDir$name, createDir$path, createDir$root) lastDirCreate <<- createDir } else { shiny::showNotification(shiny::p('Creating directories has been disabled.'), type = 'error') lastDirCreate <<- createDir } } if (is.null(dir) || is.na(dir)) { dir <- list(dir = defaultPath, root = defaultRoot) } else { dir <- list(dir = dir$path, root = dir$root) } dir$dir <- paste0(dir$dir, collapse = "/") newDir <- do.call(fileGet, dir) if (isTRUE(newDir$exist)) { currentDir <<- newDir session$sendCustomMessage(message, list(id = clientId, dir = newDir)) }else{ #first, back up a directory and try again; maybe the user is trying to save as a new filename savedDir = dir$dir selectedFile = sub(".*/(.*)$","\\1",dir$dir) #shorten the directory (include the slash at the end to make sure we don't look for a non-directory) dir$dir = sub("(.*/).*$","\\1",dir$dir) newDir <- do.call(fileGet, dir) if (isTRUE(newDir$exist)) { #backing up once, we find a valid directory newDir$selectedFile <- selectedFile currentDir <<- newDir session$sendCustomMessage(message, list(id = clientId, dir = newDir)) }else{ #even backing up, the directory is not valid currentDir$exist = FALSE session$sendCustomMessage(message, list(id = clientId, dir = currentDir)) } } if (updateFreq > 0) invalidateLater(updateFreq, session) } observe({ sendDirectoryData("shinySave") }) observeEvent(input[[paste0(id, "-refresh")]], { if (!is.null(input[[paste0(id, "-refresh")]])) { sendDirectoryData("shinySave-refresh") } }) } #' @rdname shinyFiles-buttons #' @param filename A predefined filename to be filed in. Can be modified by the #' user during saving. #' @importFrom htmltools tagList singleton tags #' @importFrom shiny restoreInput #' #' @export #' shinySaveButton <- function( id, label, title, filename="", filetype, buttonType="default", class=NULL, icon=NULL, style=NULL, viewtype="detail", ... ) { if (missing(filetype)) filetype <- NA filetype <- formatFiletype(filetype) viewtype <- if (length(viewtype) > 0 && viewtype %in% c("detail", "list", "icon")) viewtype else "detail" value <- restoreInput(id = id, default = NULL) tagList( singleton(tags$head( tags$script(src = "sF/shinyFiles.js"), tags$link( rel = "stylesheet", type = "text/css", href = "sF/styles.css" ), tags$link( rel = "stylesheet", type = "text/css", href = "sF/fileIcons.css" ) )), tags$button( id = id, type = "button", class = paste(c("shinySave btn", paste0("btn-", buttonType), class, "action-button"), collapse = " "), style = style, "data-title" = title, "data-filetype" = filetype, "data-filename" = filename, "data-val" = value, "data-view" = paste0("sF-btn-", viewtype), list(icon, label), ... ) ) } #' @rdname shinyFiles-buttons #' #' @importFrom htmltools tagList singleton tags #' @importFrom shiny restoreInput #' #' @export #' shinySaveLink <- function( id, label, title, filename="", filetype, class=NULL, icon=NULL, style=NULL, viewtype="detail", ... ) { if (missing(filetype)) filetype <- NA filetype <- formatFiletype(filetype) viewtype <- if (length(viewtype) > 0 && viewtype %in% c("detail", "list", "icon")) viewtype else "detail" value <- restoreInput(id = id, default = NULL) tagList( singleton(tags$head( tags$script(src = "sF/shinyFiles.js"), tags$link( rel = "stylesheet", type = "text/css", href = "sF/styles.css" ), tags$link( rel = "stylesheet", type = "text/css", href = "sF/fileIcons.css" ) )), tags$a( id = id, type = "button", class = paste(c("shinySave", class, "action-button"), collapse = " "), style = style, "data-title" = title, "data-filetype" = filetype, "data-filename" = filename, "data-val" = value, "data-view" = paste0("sF-btn-", viewtype), list(icon, label), ... ) ) } #' Formats the value of the filetype argument #' #' This function is intended to format the filetype argument of #' [shinySaveButton()] into a json string representation, so that it #' can be attached to the button. #' #' @param filetype A named list of file extensions or NULL or NA #' #' @return A string describing the input value in json format #' #' @importFrom jsonlite toJSON #' formatFiletype <- function(filetype) { if (!is.na(filetype) && !is.null(filetype)) { filetype <- lapply(1:length(filetype), function(i) { list(name = names(filetype)[i], ext = I(filetype[[i]])) }) } toJSON(filetype) } #' @rdname shinyFiles-parsers #' #' @importFrom fs path path_file #' @importFrom tibble tibble #' #' @export #' parseSavePath <- function(roots, selection) { if (all(is.null(selection))) { return(tibble( name = character(), type = character(), datapath = character(), stringsAsFactors = FALSE )) } currentRoots <- if (inherits(roots, "function")) roots() else roots if (all(is.null(names(currentRoots)))) stop("Roots must be a named vector or a function returning one") if (all(is.integer(selection))) { tibble(name = character(0), type = character(0), datapath = character(0), stringsAsFactors = FALSE) } else { root <- currentRoots[selection$root] savefile <- path(root, paste0(c(selection$path, selection$name), collapse = "/")) type <- selection$type type <- if (length(type) == 0) "" else unlist(type) tibble(name = path_file(savefile), type = type, datapath = savefile, stringsAsFactors = FALSE) } } shinyFiles/R/aaa.R0000644000176200001440000001023614142671035013442 0ustar liggesusers#' Adds the content of www to sF/ #' #' @importFrom shiny addResourcePath #' #' @noRd #' .onLoad <- function(...) { shiny::addResourcePath("sF", system.file("www", package = "shinyFiles")) } #' Run a simple example app using the shinyFiles functionality #' #' When the function is invoked a shiny app is started showing a very simple #' setup using shinyFiles. A button summons the dialog box allowing the user to #' navigate the R installation directory. To showcase the restrictions parameter #' the base package location has been hidden, and is thus inaccessible. A panel #' besides the button shows how the user selection is made accessible to the #' server after parsing with [parseFilePaths()]. #' #' @family shinyFiles #' #' @importFrom shiny runApp #' #' @export #' shinyFilesExample <- function() { shiny::runApp(system.file("example", package = "shinyFiles", mustWork = T), display.mode = "showcase") } #' Get a list of available volumes #' #' This function is intended as an input to the roots parameter in #' [fileGetter()] and [shinyFileChoose()]. It returns a #' function that returns a named vector of available volumes on the system. This #' construction makes it dynamic so that a shinyFiles instance reflects new #' volumes as they get added (e.g. usb drives). The function takes a single #' argument giving names of volumes the developer wants removed from the return #' value. #' #' @details #' The function is OS specific and looks for volumes/drives in different places #' depending on the system on which shiny is running. #' \describe{ #' \item{Windows}{Returns all drives mapped to a letter} #' \item{Mac OSX}{Looks in /Volumes/ and lists the directories therein} #' \item{Linux}{Returns the system root} #' } #' If the function does not recognize the system under which it is running it #' will throw an error #' #' @param exclude A vector of volume names to be excluded from the return value #' #' @return A function returning a named vector of available volumes #' #' @importFrom fs dir_exists dir_ls #' #' @export #' getVolumes <- function(exclude) { if (missing(exclude)) exclude <- NULL function() { osSystem <- Sys.info()["sysname"] if (osSystem == "Darwin") { volumes <- dir_ls("/Volumes") names(volumes) <- basename(volumes) } else if (osSystem == "Linux") { volumes <- c("Computer" = "/") if (isTRUE(dir_exists("/media"))) { media <- dir_ls("/media") names(media) <- basename(media) volumes <- c(volumes, media) } } else if (osSystem == "Windows") { wmic <- paste0(Sys.getenv("SystemRoot"), "\\System32\\Wbem\\WMIC.exe") if (!file.exists(wmic)) { message("\nThe wmic program does not seem to be in the default location") message("Please report this problem and include output from the command") message("'where wmic' to https://github.com/thomasp85/shinyFiles/issues") volumes <- Sys.getenv("HOMEDRIVE") volNames <- "" } else { volumes <- system(paste(wmic, "logicaldisk get Caption"), intern = TRUE, ignore.stderr=TRUE) volumes <- sub(" *\\r$", "", volumes) keep <- !tolower(volumes) %in% c("caption", "") volumes <- volumes[keep] volNames <- system(paste(wmic, "/FAILFAST:1000 logicaldisk get VolumeName"), intern = TRUE, ignore.stderr=TRUE) volNames <- sub(" *\\r$", "", volNames) volNames <- volNames[keep] volNames <- paste0(volNames, ifelse(volNames == "", "", " ")) } volNames <- paste0(volNames, "(", volumes, ")") names(volumes) <- volNames volumes <- gsub(":$", ":/", volumes) } else { stop("unsupported OS") } if (!is.null(exclude)) { volumes <- volumes[!names(volumes) %in% exclude] } volumes } } getSession <- function() { session <- shiny::getDefaultReactiveDomain() if (is.null(session)) { stop(paste( "could not find the Shiny session object. This usually happens when a", "shinyjs function is called from a context that wasn't set up by a Shiny session." )) } session } shinyFiles/NEWS.md0000644000176200001440000000727414142727072013505 0ustar liggesusers# shinyFiles 0.9.1 * Fixes for logical checks that may see a vector of length > 1 (https://github.com/thomasp85/shinyFiles/issues/159) * Fixes to display modals correctly with BS4 (https://github.com/thomasp85/shinyFiles/issues/158) * Fix long delay if a network drive is not mountable without VPN (https://github.com/thomasp85/shinyFiles/issues/155) # shinyFiles 0.9.0 * Security fix that ensures a user cannot bypass folder navigation limits (@lz100 issue #152, @bellma-lilly PR #153) * Allow additional arguments to be passed to shinyFiles buttons and links (e.g., onclick) * Fix for creating a new folder using the `Create new folder > +` button in shinyFileSave (https://github.com/thomasp85/shinyFiles/issues/142) * Allow directory chooser to disable creating new directories (@dipterix #144). Extended to allow the same functionality when saving files # shinyFiles 0.8.0 * Increase in default height based on a experimentation by @SamGG. This works well with the new default detail view. Users can still adjust in CSS as discussed in https://github.com/thomasp85/shinyFiles/issues/134 * The default `viewtype` in the file browser has been changed to "detail". A new argument `viewtype` has been added to shinyFilesButton, shinyFilesLink, shinySaveButton, and shinySaveLink that should be one of "detail" (default), "list", or "icon" * The default size of the modal has been set to `modal-lg` to provide a bit more room for file information in the "detail" view. This will, however, automatically adjust to smaller screens as needed * Allow the user to type a path, including the filename. In filechoose, the file will be selected if it exists. In filesave, if the file does not exist, but the base directory does, the filename will be entered into the dialog. (@bellma-lilly, #129 and #131) # shinyFiles 0.7.5 * Check if "wmic" is accessible on Windows. If not, return a message to the user and a volumes vector with only the HOMEDRIVE * Updated example in "showcase" mode. Also, demonstrates the use of `as.integer` to check if a file or directory has been selected # shinyFiles 0.7.4 * Use `inherits` rather than `class(...) == ...` (#123) # shinyFiles 0.7.3 * Check parent existence when attempting to navigate 'down' in directory selection to avoid down-arrow freeze (@AFriendlyRobot, #118) * Return the epoch in milliseconds from the server (@keqiang, #113) * Allow launching shinyFiles from within a shiny modal (@ifellows, #111) # shinyFiles 0.7.2 * Sort files and folders by modification date or creation date in dir chooser (@AFriendlyRobot, #105) * Fix for softlinks / shortcuts used with `shinyDirChoose` (@raggaraluz, #104) * Resizing modal (@Unfriendly, #100) * UI improvement listed below by @AFriendlyRobot, #97 - Close modal with escape key or by clicking outside the modal, i.e., the equivalent of easyClose for Shiny modals (#76) - Open a folder with the enter key (#63) - Double click file to select and close modal (#74) - Navigate file and folder selection with arrow keys - Select with the Enter, i.e., a shortcut to click the select button. Enter should open a folder but select a file + close modal - Save on Enter in textinput for file save modal (i.e., equivalent of clicking the select button) - A refresh button to update the list of files and directories shown - Refresh the file and folder information when a shinyFiles button is clicked # shinyFiles 0.7.1 * Close modal on ESC (@vnijs) * Force file selection on double click (@AFriendlyRobot, #95) * `shinyFiles` now uses the [fs](https://github.com/r-lib/fs) package and works with Chinese, Russian, etc. characters (@vnijs, #92) * Use select file type icons from Rstudio with permission (@vnijs, #86) shinyFiles/MD50000644000176200001440000005564614142732102012713 0ustar liggesusers5ea3e0e6a78ea75ed4f37040fa691163 *DESCRIPTION 1333ad38e92bcfa453b9fac8fb553bd2 *NAMESPACE 30e26a0360e09cfa8115f78e70b258cd *NEWS.md c362e2f604b505b714cc57e5e0c4aad0 *R/aaa.R e1376afeb2c159c2babe7c3152152c0e *R/dirchoose.R da41b8ab9c56d4bc4785f8e3bfdc8c1b *R/filechoose.R f053ad5911e61e58e59cecf9f4caf94f *R/filesave.R 64c156db666c436632b4d2a9bee5f509 *R/shinyFiles-package.R 736472025709db073024daaac9344f5f *README.md 196c28cceccf4e4482f349d17fc39e4d *inst/example/DESCRIPTION d2becede50f6ebfeb5a3763cbd36a15b *inst/example/server.R 02dc88331c44ce01edd5b0351bd2ee2b *inst/example/ui.R 3dccafef8eb403f8f43549aa668dd950 *inst/example/www/logo.png 450a7480be1328dbb73425edb50c39d3 *inst/www/fileIcons.css 717c6f3649d884922e121ba995dd4bda *inst/www/icons/Icons16x16/drive.png cff7bca720d2beaaf346710ab96e97dd *inst/www/icons/Icons16x16/file_extension_3gp.png be2e97c5a53738b3a416fd1ae135bf41 *inst/www/icons/Icons16x16/file_extension_7z.png 12a873be2c8312e2d1042492acf48894 *inst/www/icons/Icons16x16/file_extension_Rmd.png 8ce3edf9024fae92127389f4ec7a9858 *inst/www/icons/Icons16x16/file_extension_ace.png 1066827bbae685c8839f741885c0842a *inst/www/icons/Icons16x16/file_extension_ai.png 5a486a1a2881bda9e5e37813a3433708 *inst/www/icons/Icons16x16/file_extension_aif.png 7f21e75da87585d689e336e6417812d2 *inst/www/icons/Icons16x16/file_extension_aiff.png 3fecbb44321ca57ac7511dcd93855d87 *inst/www/icons/Icons16x16/file_extension_amr.png cd59eb5a2281e893b1308505f31968d8 *inst/www/icons/Icons16x16/file_extension_asf.png db02e016c1fdde9b958dd4b6202c2a69 *inst/www/icons/Icons16x16/file_extension_asx.png 033c0f55acf8785a50b3d87f6edf310d *inst/www/icons/Icons16x16/file_extension_bat.png f7b48a87b91e4837a225cc5723d50f17 *inst/www/icons/Icons16x16/file_extension_bin.png 00fcad2ea6ed99684958ce232410c78f *inst/www/icons/Icons16x16/file_extension_bmp.png 08145759aeeb7e66a582f07a9007e6cd *inst/www/icons/Icons16x16/file_extension_bup.png 69a1a0113a8abe460ed109a8fe2240e5 *inst/www/icons/Icons16x16/file_extension_cab.png dfc9f56647363e05c3950d118b62a067 *inst/www/icons/Icons16x16/file_extension_cbr.png 5ca54164163ecc06efbe7495c3325562 *inst/www/icons/Icons16x16/file_extension_cda.png 2b2dd1e0fb86a8ddfb4f052df4b51dbb *inst/www/icons/Icons16x16/file_extension_cdl.png e2ea2bf10996b75660cd77c4940f067f *inst/www/icons/Icons16x16/file_extension_cdr.png c74441224fdf8a59f911d37bb120d186 *inst/www/icons/Icons16x16/file_extension_chm.png afcfe80f4c363fdf4a4dbdfe65d0f6a9 *inst/www/icons/Icons16x16/file_extension_dat.png 468d065cca312847293c92b7e5851a2b *inst/www/icons/Icons16x16/file_extension_divx.png 65e98f2f3e2bfd96f33aeb253ed73de6 *inst/www/icons/Icons16x16/file_extension_dll.png 180fbcda9787e44dfeb72d071d62f0e8 *inst/www/icons/Icons16x16/file_extension_dmg.png 3d2a75c77427d3e0fc35c8907233169c *inst/www/icons/Icons16x16/file_extension_doc.png 2615f838f2eea579699197676f70d0e4 *inst/www/icons/Icons16x16/file_extension_dss.png 0e705947ec1edbc9fc9eb7880207574c *inst/www/icons/Icons16x16/file_extension_dvf.png 3e271394cd4db8f1a860e4c6c2db088d *inst/www/icons/Icons16x16/file_extension_dwg.png d4bf23877cf1ebf7dbbf55b5b4095bb1 *inst/www/icons/Icons16x16/file_extension_eml.png 692af5379b97fc4637512bffb79923bc *inst/www/icons/Icons16x16/file_extension_eps.png 6a5af8792e3ca36a753699adcf63f26c *inst/www/icons/Icons16x16/file_extension_exe.png 3e9704afcf226c6c23b046c9d0430d0d *inst/www/icons/Icons16x16/file_extension_fla.png 7f190e2a065e3703f87b0f7568754641 *inst/www/icons/Icons16x16/file_extension_flv.png 4e2b9cc6e4e283e257aeb3c22961bed7 *inst/www/icons/Icons16x16/file_extension_gif.png 6a6281d9679ecd95d96da0ac912810f4 *inst/www/icons/Icons16x16/file_extension_gz.png ff2aebcd66a789d479843c31fad1bd2a *inst/www/icons/Icons16x16/file_extension_hqx.png 5da8e0d987762846304aca44bdb1e40c *inst/www/icons/Icons16x16/file_extension_htm.png 5c75b131f9a380723355afbe647cc5cc *inst/www/icons/Icons16x16/file_extension_html.png 97a5cb4604e06d667bb7fdce2d1f3a7f *inst/www/icons/Icons16x16/file_extension_ifo.png 7619777e79138c629d48af6b6b17c85e *inst/www/icons/Icons16x16/file_extension_indd.png fe8a34d82d7e2e277c171e6f4695d12a *inst/www/icons/Icons16x16/file_extension_iso.png 874e2fb4b5bc9bfcb673ac63f1ded3d8 *inst/www/icons/Icons16x16/file_extension_jar.png f9c22536b686439a1b107fa458347007 *inst/www/icons/Icons16x16/file_extension_jpeg.png 8d873f9a6de4bb894862392c6f71e776 *inst/www/icons/Icons16x16/file_extension_jpg.png 1022d7966ffcf8639ec7a76aa872cb9c *inst/www/icons/Icons16x16/file_extension_lnk.png 5c56e309bb71175def2ad5bb39eb3d00 *inst/www/icons/Icons16x16/file_extension_log.png 744431314229be9c9f4b106bdd9350a2 *inst/www/icons/Icons16x16/file_extension_m4a.png 9215a0eaaf063f55da8d1609594039e9 *inst/www/icons/Icons16x16/file_extension_m4b.png ef95acb500ac35d33c9a5aa18c8189a6 *inst/www/icons/Icons16x16/file_extension_m4p.png 75dec445265764e596347d1baa9eaf89 *inst/www/icons/Icons16x16/file_extension_m4v.png cd70871cafe3b6b154a94e50db7355ab *inst/www/icons/Icons16x16/file_extension_mcd.png 63daf42e6fe9e004303bca3d10d1ec20 *inst/www/icons/Icons16x16/file_extension_md.png acbe2258af97260ec1dd187332e17950 *inst/www/icons/Icons16x16/file_extension_mdb.png f141a5c272143d678d52296f439b2bf4 *inst/www/icons/Icons16x16/file_extension_mid.png 4cbea719f33a4e29ddd2e083c5a0b0d1 *inst/www/icons/Icons16x16/file_extension_mov.png 0133c2a1bef921374a39a89fd8b70c16 *inst/www/icons/Icons16x16/file_extension_mp2.png 7d816580263e973954684220a63bd6ab *inst/www/icons/Icons16x16/file_extension_mp4.png d99e636a6f90cdc09a31bca8bebcb543 *inst/www/icons/Icons16x16/file_extension_mpeg.png 6178e889070c0f716c771f3749d72468 *inst/www/icons/Icons16x16/file_extension_mpg.png 65258678c3e604d83b7b8b1d9360b3e2 *inst/www/icons/Icons16x16/file_extension_msi.png 89551a0dc87479be0f386754a93d1eb0 *inst/www/icons/Icons16x16/file_extension_mswmm.png a69921c65b71c77df63ee5a49a25f2db *inst/www/icons/Icons16x16/file_extension_ogg.png 0d1685f01abb99508d449e3969631f3c *inst/www/icons/Icons16x16/file_extension_pdf.png 7619777e79138c629d48af6b6b17c85e *inst/www/icons/Icons16x16/file_extension_png.png b04d39328cee33fee805f1dbac0cada6 *inst/www/icons/Icons16x16/file_extension_pps.png 6010b0e6e7c030464f65a33a9cd098fb *inst/www/icons/Icons16x16/file_extension_ps.png f982f9d41ffb1a9d0e25ad349a5321d0 *inst/www/icons/Icons16x16/file_extension_psd.png ff37c1f6999466fc193e0d7b736b34d7 *inst/www/icons/Icons16x16/file_extension_pst.png 4fcbcabbb69f63a9814647ac757687ab *inst/www/icons/Icons16x16/file_extension_ptb.png 31dfbc957419f8bd9c7113713de1769f *inst/www/icons/Icons16x16/file_extension_pub.png 39d81772240ad9bbea29c61742a4ec4b *inst/www/icons/Icons16x16/file_extension_qbb.png 024709c35243ca9bf7a300894b9cf3e7 *inst/www/icons/Icons16x16/file_extension_qbw.png 49cd9b611af4684a7744e1c1926b8024 *inst/www/icons/Icons16x16/file_extension_qxd.png 64bbba31ade5e5ca944f6785bdd6c1bc *inst/www/icons/Icons16x16/file_extension_r.png a7371f12681d12e8a605535ef58cdee0 *inst/www/icons/Icons16x16/file_extension_ram.png c6ad7fbbca63b03971164709767762b5 *inst/www/icons/Icons16x16/file_extension_rar.png 92fb7bdd59b3e43e48e65d859128aa07 *inst/www/icons/Icons16x16/file_extension_rm.png 54b9232f9f2b74b8df7943101f20f12f *inst/www/icons/Icons16x16/file_extension_rmvb.png aef67c3504957876773ce61b90fe4434 *inst/www/icons/Icons16x16/file_extension_rproj.png be33fb7c5bb2b8be60efc6d3b63b2bc8 *inst/www/icons/Icons16x16/file_extension_rtf.png f4e357dc2b7f298935fb3a7870a05360 *inst/www/icons/Icons16x16/file_extension_sea.png 9354a774c41367c2c0e614dd2c28b7cb *inst/www/icons/Icons16x16/file_extension_ses.png 4c9ac159361651c12f2543b62350d2af *inst/www/icons/Icons16x16/file_extension_sit.png 99d88179bd0d6b30192a9de4e6cb841b *inst/www/icons/Icons16x16/file_extension_sitx.png 26eb99be02a339448e68619cc1261d8e *inst/www/icons/Icons16x16/file_extension_ss.png 07df0c648fb9699826850b37de9627fc *inst/www/icons/Icons16x16/file_extension_swf.png d219b693be17485983c4b1c886b30b7e *inst/www/icons/Icons16x16/file_extension_tgz.png be0e07705b1ae30d0ef9e29b53d320c7 *inst/www/icons/Icons16x16/file_extension_thm.png 197f24ab23f43e0cdd8d793f51476a9e *inst/www/icons/Icons16x16/file_extension_tif.png 9fc71c1916366751b66f543cdfd099d3 *inst/www/icons/Icons16x16/file_extension_tmp.png 4c586df63b9e2d765359a8b0102a4b80 *inst/www/icons/Icons16x16/file_extension_torrent.png 525aef8e6dd60e114a327763556da915 *inst/www/icons/Icons16x16/file_extension_ttf.png bb8a92f83f524d6fbbad6248e76710dd *inst/www/icons/Icons16x16/file_extension_txt.png 9cbecf59a18ddacc9e63742c6f39ed61 *inst/www/icons/Icons16x16/file_extension_vcd.png bf0d93898333324c9b89508a2f96b1d1 *inst/www/icons/Icons16x16/file_extension_vob.png 27a3a506d4e6dc5962604a5dc9b8805e *inst/www/icons/Icons16x16/file_extension_wav.png 648ced50364a8e132064ca71592686df *inst/www/icons/Icons16x16/file_extension_wma.png b07db975d15797c703055f948757738e *inst/www/icons/Icons16x16/file_extension_wmv.png dded7b3a2f1d4d11a501dad92c520163 *inst/www/icons/Icons16x16/file_extension_wps.png 1060387404d16194006806dc08e25ab4 *inst/www/icons/Icons16x16/file_extension_xls.png cac489886b5c377fe948c828cb2b651a *inst/www/icons/Icons16x16/file_extension_xpi.png 77866b901d20b8b7f2372fb63251fe6d *inst/www/icons/Icons16x16/file_extension_zip.png 24d1b29c1bb1a811421a39faa62134f5 *inst/www/icons/Icons16x16/film.png 0daf75034ee86dc4df0b856fa3e5bf49 *inst/www/icons/Icons16x16/folder.png 297570ef603751e0b1e515791c438c06 *inst/www/icons/Icons16x16/music.png 9b78c1c36aba5b1112a505156c984de6 *inst/www/icons/Icons16x16/page_code.png 4919a797397df219f8cebe1bfa8c3552 *inst/www/icons/Icons16x16/page_excel.png d6f219faeb7892287cb50c4448f6e044 *inst/www/icons/Icons16x16/page_white.png 974907ebfad688c93c7d9fb025ba6003 *inst/www/icons/Icons16x16/page_white_acrobat.png edd07369cef1dadb9f81cefba6d04af6 *inst/www/icons/Icons16x16/page_white_actionscript.png fcc9b7e517828cf01a002c1d570c2cf1 *inst/www/icons/Icons16x16/page_white_c.png 06b91e92ef57a00cbf660af7fc1bbc28 *inst/www/icons/Icons16x16/page_white_code.png f5b38325985cc2e7e63df511157a7714 *inst/www/icons/Icons16x16/page_white_code_red.png 7185ac64759de840fcf663df6331ef03 *inst/www/icons/Icons16x16/page_white_compress.png 286c2cdd0acc9dabf67f23912f1df2b5 *inst/www/icons/Icons16x16/page_white_cplusplus.png 18a8853de19b086f9ebf35a86782abf6 *inst/www/icons/Icons16x16/page_white_csharp.png d89766ca36ddc18c116ab67bb1ea23a4 *inst/www/icons/Icons16x16/page_white_cup.png 732e7778cf14de45b9e0a106a7f96fd2 *inst/www/icons/Icons16x16/page_white_database.png 73326172f2fba9103e8f0c4582c2f5bd *inst/www/icons/Icons16x16/page_white_excel.png 6bfba57793d236db7190000933d52c7a *inst/www/icons/Icons16x16/page_white_flash.png f90290013829c061cefa1b5e62f89382 *inst/www/icons/Icons16x16/page_white_gear.png 45e1e723b1c3980bdbfd6239e6deae7b *inst/www/icons/Icons16x16/page_white_h.png 96d6d321e90b2ff5e010e943acb867f8 *inst/www/icons/Icons16x16/page_white_office.png 1e84facfa5b05bdfcac0e7111f440dd4 *inst/www/icons/Icons16x16/page_white_php.png 0198cd74be4da22cffe16a00d24ce33c *inst/www/icons/Icons16x16/page_white_picture.png 4f68760793fdea7fae7f9a9fcc3df242 *inst/www/icons/Icons16x16/page_white_powerpoint.png 7de1535ba2acd1212cf40fa38c945450 *inst/www/icons/Icons16x16/page_white_ruby.png 0117f050fe12f361197f686e78e760c3 *inst/www/icons/Icons16x16/page_white_vector.png 0c76271eb4ef9160eb427197cde83c32 *inst/www/icons/Icons16x16/page_white_word.png 08e92b59335e0bd86b8c858d8880096b *inst/www/icons/Icons16x16/page_white_zip.png 74eafcba1e7a017798f13c5116271d5b *inst/www/icons/Icons16x16/page_word.png dc0867a8f807c4db39f2309066ff1fcf *inst/www/icons/Icons16x16/r-data-formats.png bcc06b68eed4cb34c4ed025b1f2fe7d7 *inst/www/icons/Icons32x32/drive.png 885e8b9a58b015d4b9cc22a488a4313c *inst/www/icons/Icons32x32/file_extension_3gp.png 0e0a2614a9b92dda9736a9c4cef43c6d *inst/www/icons/Icons32x32/file_extension_7z.png ed425f31a6155e3e4f7f4d6a4593b5bd *inst/www/icons/Icons32x32/file_extension_Rmd.png e87778f382b1620795d74c5a5fe90feb *inst/www/icons/Icons32x32/file_extension_ace.png 810b2dabcd32dfb018235c18a45c1354 *inst/www/icons/Icons32x32/file_extension_ai.png 6d4f7f7e57a6eab148a321aaeb2239a6 *inst/www/icons/Icons32x32/file_extension_aif.png bf44f4eab9a8c4012170d74360bb0112 *inst/www/icons/Icons32x32/file_extension_aiff.png c09eef560ef67a45fe640e3132a6f9ed *inst/www/icons/Icons32x32/file_extension_amr.png f92e181f0d93369e27a73b7d0a8ac260 *inst/www/icons/Icons32x32/file_extension_asf.png c89b9397e6103f636b0247fa83e3fd71 *inst/www/icons/Icons32x32/file_extension_asx.png 5f2f37313b8c15aaec90fe2c68e36461 *inst/www/icons/Icons32x32/file_extension_bat.png cfac1f1d7b0f407ce5a2a3c8eaa7dcf4 *inst/www/icons/Icons32x32/file_extension_bin.png da75d5fa045d3916d77c421c27e6af55 *inst/www/icons/Icons32x32/file_extension_bmp.png 36332590fa015e35b466471f06076445 *inst/www/icons/Icons32x32/file_extension_bup.png 195ce8467e6b0c51ae4d9edd56b1e8da *inst/www/icons/Icons32x32/file_extension_cab.png 43205b291618b37357e7df6b81f48140 *inst/www/icons/Icons32x32/file_extension_cbr.png 5b5b87be4e4908c69e4f8c8631e8af71 *inst/www/icons/Icons32x32/file_extension_cda.png f93972d453874d769739b7b58fa9a8b7 *inst/www/icons/Icons32x32/file_extension_cdl.png 2b7b9540da634e9de98bd8e85a38ed58 *inst/www/icons/Icons32x32/file_extension_cdr.png 53d59650771888c50414362f6661c117 *inst/www/icons/Icons32x32/file_extension_chm.png 39a97c70f6f0bfb4da145e48df168806 *inst/www/icons/Icons32x32/file_extension_dat.png ee68e8fffc8137d615deec826ea4b2bc *inst/www/icons/Icons32x32/file_extension_divx.png 26ded55624b2cdfc0d398b5af00079d7 *inst/www/icons/Icons32x32/file_extension_dll.png e81929034236d59327b216020b60e538 *inst/www/icons/Icons32x32/file_extension_dmg.png 6ee25fbc5d7bc960c577ec64af874860 *inst/www/icons/Icons32x32/file_extension_doc.png d213f539c31e187a187fbf9750e0d2bf *inst/www/icons/Icons32x32/file_extension_dss.png fbe6bebd7bfe70912d70379797159abf *inst/www/icons/Icons32x32/file_extension_dvf.png 8d0930fd796ac1841e3827e807d2d1d1 *inst/www/icons/Icons32x32/file_extension_dwg.png 433a5bbb8193173e0561bbe2d8710f49 *inst/www/icons/Icons32x32/file_extension_eml.png 6748da82661e183e6af4268fb85cb21e *inst/www/icons/Icons32x32/file_extension_eps.png 9f68ac0dcb32c88abb979a1b251fd266 *inst/www/icons/Icons32x32/file_extension_exe.png 0ed2df06a3a442defe4ca866031e61e4 *inst/www/icons/Icons32x32/file_extension_fla.png d3aa3d7a67e063cbce1dea71946efc96 *inst/www/icons/Icons32x32/file_extension_flv.png 71017b1859465ec35ab17e54bf8774ac *inst/www/icons/Icons32x32/file_extension_gif.png b061f3795e09c036ba050998fd84de13 *inst/www/icons/Icons32x32/file_extension_gz.png c09cf7d10074800198ed489ae5cfc6a2 *inst/www/icons/Icons32x32/file_extension_hqx.png 025201ddf593e5af0ecd2b597ebcc453 *inst/www/icons/Icons32x32/file_extension_htm.png 57bd1a1864c56d3a568576b77b8d6dff *inst/www/icons/Icons32x32/file_extension_html.png 3518b1ded6d8e77fdcd5fa6fc20872b5 *inst/www/icons/Icons32x32/file_extension_ifo.png 397a61bd80fc6c0d1d1928733d039534 *inst/www/icons/Icons32x32/file_extension_indd.png 65a580dcf769fabe5e6f490dac0e464c *inst/www/icons/Icons32x32/file_extension_iso.png 05bafc8094636b54ecfe0c142c98e16a *inst/www/icons/Icons32x32/file_extension_jar.png 3694a8a4bdb1b3c6c3859a95ddc625f0 *inst/www/icons/Icons32x32/file_extension_jpeg.png c3ffc6abb05eb946635ad3991e1c507f *inst/www/icons/Icons32x32/file_extension_jpg.png 2a7d1301276e01667ef0eea1ee48153f *inst/www/icons/Icons32x32/file_extension_lnk.png 37db68c8a67cca46331eced26e8c63d4 *inst/www/icons/Icons32x32/file_extension_log.png 7683bcfef9048e10838a094994f27139 *inst/www/icons/Icons32x32/file_extension_m4a.png 0a05ffa5294ac65fef1792b228c045d6 *inst/www/icons/Icons32x32/file_extension_m4b.png f6591bd87f49e194dce0eee9f23442be *inst/www/icons/Icons32x32/file_extension_m4p.png 753f1be0ba80d48c11fde423f576e848 *inst/www/icons/Icons32x32/file_extension_m4v.png d472e1f3d733718575a3cc94fffcdea3 *inst/www/icons/Icons32x32/file_extension_mcd.png 68443cfd40174582f187f79c38b26997 *inst/www/icons/Icons32x32/file_extension_md.png 6c2b3e98f94a4eed2afc70a7e9d22f1c *inst/www/icons/Icons32x32/file_extension_mdb.png a1d78a3f4057bf242f7ff6374d04ba75 *inst/www/icons/Icons32x32/file_extension_mid.png 3665d0f0d7b0cd173954c475ddeece7f *inst/www/icons/Icons32x32/file_extension_mov.png 16878695580a2f14e3e12b6fe2f697e3 *inst/www/icons/Icons32x32/file_extension_mp2.png 65d15c8194d6c526bd1dd12d83eac242 *inst/www/icons/Icons32x32/file_extension_mp4.png 167ab94951d5e69b316a54621912503e *inst/www/icons/Icons32x32/file_extension_mpeg.png 6717ba42dae994eee28a59ffad329a3b *inst/www/icons/Icons32x32/file_extension_mpg.png e8ff1991bee0f746519d289109534dba *inst/www/icons/Icons32x32/file_extension_msi.png 5ba72c43830e59032a8d6f6380a599c9 *inst/www/icons/Icons32x32/file_extension_mswmm.png 9a43cf0391707df464d4e06140508451 *inst/www/icons/Icons32x32/file_extension_ogg.png bf507cf8cd8da083b301ce01712e4ef1 *inst/www/icons/Icons32x32/file_extension_pdf.png 9509688aa88f36177920456f6a9c4a4a *inst/www/icons/Icons32x32/file_extension_png.png 652c04ef64379a2e6257d42ec5b6cae8 *inst/www/icons/Icons32x32/file_extension_pps.png 9ea538bb8ba37c8de8ce85373337ec29 *inst/www/icons/Icons32x32/file_extension_ps.png 6feb7fb75bdc854cd4dbea5af5041430 *inst/www/icons/Icons32x32/file_extension_psd.png 9dc39e261e5ca2b072f54aeb2eddd254 *inst/www/icons/Icons32x32/file_extension_pst.png 3da62919639d410b50548a0c2ee0193c *inst/www/icons/Icons32x32/file_extension_ptb.png 1b61089c5627176fc6afe9331547c69a *inst/www/icons/Icons32x32/file_extension_pub.png b3072f3932f02bf7c31a9ac3fa2c4889 *inst/www/icons/Icons32x32/file_extension_qbb.png b742f6f00ef093cd53f8845d5ce66aa8 *inst/www/icons/Icons32x32/file_extension_qbw.png af6627fa8a7f6470f9ecd573e07239f2 *inst/www/icons/Icons32x32/file_extension_qxd.png c06e1880b1c0d3ec98c8ed6b3cb13287 *inst/www/icons/Icons32x32/file_extension_r.png b8f521e2e1c4d1d02f8a5d5779728c54 *inst/www/icons/Icons32x32/file_extension_ram.png 6bcac72e79aa32f9d325fe02fa28f039 *inst/www/icons/Icons32x32/file_extension_rar.png 6e7ee96edb6059ecae48c3c92da47571 *inst/www/icons/Icons32x32/file_extension_rm.png 543c6785b70b796d4f3f9b89df2be140 *inst/www/icons/Icons32x32/file_extension_rmvb.png c076619aaf7882cd25197aea93257e09 *inst/www/icons/Icons32x32/file_extension_rproj.png 8e13aeb47c25881e5a5eee4ece544462 *inst/www/icons/Icons32x32/file_extension_rtf.png 92998aa0b1685291187590bdc18427f3 *inst/www/icons/Icons32x32/file_extension_sea.png 34630620f45b967271ae355b65f0576f *inst/www/icons/Icons32x32/file_extension_ses.png d0b8bca3a03d6b50b6d561a246d4b7f4 *inst/www/icons/Icons32x32/file_extension_sit.png 40cf938437453c994f8acb965974364b *inst/www/icons/Icons32x32/file_extension_sitx.png 307ede9023d77dfd84a041e770d48224 *inst/www/icons/Icons32x32/file_extension_ss.png 95121c69df9be7d23836a617fc3d0d71 *inst/www/icons/Icons32x32/file_extension_swf.png bc04da1afae376977dfd4470ef2748a6 *inst/www/icons/Icons32x32/file_extension_tgz.png 8073d1610907ae437e4257987a07efec *inst/www/icons/Icons32x32/file_extension_thm.png 4823b0b1979125c02790876ba9b2f62f *inst/www/icons/Icons32x32/file_extension_tif.png 70ddd5a7110664237bb83c007d55f26b *inst/www/icons/Icons32x32/file_extension_tmp.png f4f993bff89b6682bbf99fb82574e21f *inst/www/icons/Icons32x32/file_extension_torrent.png a9f19af519a04d7d839880a601b8b68c *inst/www/icons/Icons32x32/file_extension_ttf.png b41889144bf0729a0a2f1ea97cbae786 *inst/www/icons/Icons32x32/file_extension_txt.png 7d9e59f73fc4743b98a9efccdbd17416 *inst/www/icons/Icons32x32/file_extension_vcd.png 3e1efaf1bab6b9c0c8f62aba39f6474e *inst/www/icons/Icons32x32/file_extension_vob.png 848140446fce15fc75884c8e8b86e181 *inst/www/icons/Icons32x32/file_extension_wav.png 4e5345bfd875a8819d132000c3eb6409 *inst/www/icons/Icons32x32/file_extension_wma.png ff4f5b5ccd2fa326a66d3eb0cd518cc3 *inst/www/icons/Icons32x32/file_extension_wmv.png ac3b847a236d7daaa2c606a1d51b6c00 *inst/www/icons/Icons32x32/file_extension_wps.png 72a7afa7296ddcb9d183b05103ecf84a *inst/www/icons/Icons32x32/file_extension_xls.png 6a668c0b666f5f7584ba70f8e7ce4f92 *inst/www/icons/Icons32x32/file_extension_xpi.png fd0b10ecefe42ea3fbd32d3e8e5d7732 *inst/www/icons/Icons32x32/file_extension_zip.png ac7ae734f4e227ab0e9866f1b93d9c27 *inst/www/icons/Icons32x32/film.png ecd66dadaec6bac66038d1e6790f86d3 *inst/www/icons/Icons32x32/folder.png b3ff1c8a117ce945cb2f51924d42ebe4 *inst/www/icons/Icons32x32/music.png 986d9b2802f2c031e11376a09745bfaa *inst/www/icons/Icons32x32/page_code.png 6179b9f755b5f868359004b070b8a550 *inst/www/icons/Icons32x32/page_excel.png 00f8002d7a519e45a2cd7eba6e98b343 *inst/www/icons/Icons32x32/page_white.png fe254f4f2f9d069160d361a30989afa8 *inst/www/icons/Icons32x32/page_white_acrobat.png a7ba90327fab34bf44df55aeadb12ec8 *inst/www/icons/Icons32x32/page_white_actionscript.png 2bd5e8b4322d06bf55b396dae57036b2 *inst/www/icons/Icons32x32/page_white_c.png 084a2b24b99f06c11b0d67cca84b8b08 *inst/www/icons/Icons32x32/page_white_code.png db9b00c31391e7074866605430ec15e5 *inst/www/icons/Icons32x32/page_white_code_red.png edb188aa7f720a4885d6bee0bd7ccb1c *inst/www/icons/Icons32x32/page_white_compress.png 75f4d7570b99ae44c5ccdd82357b0e1e *inst/www/icons/Icons32x32/page_white_cplusplus.png 1c98a3fd880d871d04b47139ba0b94dd *inst/www/icons/Icons32x32/page_white_csharp.png d9b82ec3d8d6a11b96e8484b21b9312a *inst/www/icons/Icons32x32/page_white_cup.png 5bdffa0436e5e1b902ff8db48f4c9ad5 *inst/www/icons/Icons32x32/page_white_database.png bb63e60a2b597c1f51a8a7dae99b3d2d *inst/www/icons/Icons32x32/page_white_excel.png 43fe2c57c8693b7e7f3c961c98cba7a4 *inst/www/icons/Icons32x32/page_white_flash.png db88ef43662058d9f45cf0f3d6876f14 *inst/www/icons/Icons32x32/page_white_gear.png e3c078653e61b97441f2dc587cab01df *inst/www/icons/Icons32x32/page_white_h.png 951148944951823113a5f194f0a30870 *inst/www/icons/Icons32x32/page_white_office.png 4dc3b2d3211fdc594841c710ca294ef0 *inst/www/icons/Icons32x32/page_white_php.png 816e18060ec1a4713aed86387d66ff71 *inst/www/icons/Icons32x32/page_white_picture.png b32d6a8ba3bfd9cad6984309f1b02b68 *inst/www/icons/Icons32x32/page_white_powerpoint.png 2c55d45a7a2a83c26fba6aea2cfe72d4 *inst/www/icons/Icons32x32/page_white_ruby.png c9bee21e527a0af22d73647d4a8b20d9 *inst/www/icons/Icons32x32/page_white_vector.png 859f99c56e17c3bbea829bd6cfd6ea75 *inst/www/icons/Icons32x32/page_white_word.png 5db818c4a84a946c5d77b11a59320273 *inst/www/icons/Icons32x32/page_white_zip.png 871d493252e62fda202cfaf1bad3cdb2 *inst/www/icons/Icons32x32/page_word.png 59259601c23e4ba5212daa9f03ff31a3 *inst/www/icons/Icons32x32/r-data-formats.png a4537b65269d4610f24339d1e2e7bc76 *inst/www/icons/readme-fatcow.txt 2eb021bec7243bccfb85054bfd7083ce *inst/www/shinyFiles.js 1963db574a2e713104275da41e481363 *inst/www/styles.css 1ca1b2f197fde46f54b2d9a703022a08 *man/dirCreator.Rd 41bda193fb0a0f231dd1078b3c090300 *man/dirGetter.Rd 23d773f2b023fcc4a281798cea09fcbd *man/figures/logo.png 9327edfc4087017f5fe1f1737b541d11 *man/fileGetter.Rd 4a694cc46ca8d11032e302e2f4dd0ea8 *man/formatFiletype.Rd b61000e4eb2ec78f5ed0739c79cee7b3 *man/getVolumes.Rd bb288821b83b703eb240727a99e200dc *man/shinyFiles-buttons.Rd f8ed4b6947abd58d9a46fe2070f823b7 *man/shinyFiles-observers.Rd f34db997835d1922dc383b329ad1a884 *man/shinyFiles-package.Rd 283afff2dd4bd365c9df1910fa2729b6 *man/shinyFiles-parsers.Rd 518b2189e160a6237a463aa1046bd9df *man/shinyFilesExample.Rd 6d5062a8b014503379294d9909941ba8 *man/traverseDirs.Rd 6c5236901ddfd2fe9bfdf365e2a62663 *man/updateChildren.Rd shinyFiles/inst/0000755000176200001440000000000013357461150013351 5ustar liggesusersshinyFiles/inst/example/0000755000176200001440000000000014142671035015002 5ustar liggesusersshinyFiles/inst/example/DESCRIPTION0000644000176200001440000000022113564455261016513 0ustar liggesusersTitle: ShinyFiles example Author: shinyFiles AuthorUrl: https://github.com/thomasp85/shinyFiles DisplayMode: Showcase Tags: examples Type: Shiny shinyFiles/inst/example/server.R0000644000176200001440000000305113752222124016427 0ustar liggesuserslibrary(shiny) library(shinyFiles) library(fs) shinyServer(function(input, output, session) { volumes <- c(Home = fs::path_home(), "R Installation" = R.home(), getVolumes()()) shinyFileChoose(input, "file", roots = volumes, session = session) # by setting `allowDirCreate = FALSE` a user will not be able to create a new directory shinyDirChoose(input, "directory", roots = volumes, session = session, restrictions = system.file(package = "base"), allowDirCreate = FALSE) shinyFileSave(input, "save", roots = volumes, session = session, restrictions = system.file(package = "base")) ## print to console to see how the value of the shinyFiles ## button changes after clicking and selection observe({ cat("\ninput$file value:\n\n") print(input$file) }) observe({ cat("\ninput$directory value:\n\n") print(input$directory) }) observe({ cat("\ninput$save value:\n\n") print(input$save) }) ## print to browser output$filepaths <- renderPrint({ if (is.integer(input$file)) { cat("No files have been selected (shinyFileChoose)") } else { parseFilePaths(volumes, input$file) } }) output$directorypath <- renderPrint({ if (is.integer(input$directory)) { cat("No directory has been selected (shinyDirChoose)") } else { parseDirPath(volumes, input$directory) } }) output$savefile <- renderPrint({ if (is.integer(input$save)) { cat("No file-save path has been set (shinyFileSave)") } else { parseSavePath(volumes, input$save) } }) }) shinyFiles/inst/example/www/0000755000176200001440000000000013357462215015633 5ustar liggesusersshinyFiles/inst/example/www/logo.png0000644000176200001440000003606312502617115017301 0ustar liggesusersPNG  IHDRlE`6 pHYs  tEXtSoftwareAdobe ImageReadyqe<;IDATx U}7!_D$@PQV PL]-x o?Fm&V!EJ""lh)/@P<2/u\3~>Dvٳל뜾j()^7v[XPm `WM@7ݼQ}vo+'% vؠ纋血3kCZ2Saڎ+6' llP򀶳~@1RSaڎ⹭C`@@+/ f=v<6JK ^ h;o:Z| (%6ߊ6Zrv^9tKJozF ,mܹiڴiO|g5-T6 h;z^fڸ<66ڎqDևv^T}DNh;s ǧ5k'Wv6R&*lZ;n^6ϙ h9džV#躾6ΘF7Qaк"<66 h٩ZydžЛ-n`] uC@*l&uM@ۑyllVr!e "Tvjz? ̭^4k֬=7P~8!^[뼌`-vdotM`k rO; @`@`@`666 v+^ 74bk/@GfHTؠnj (W@*  hl8 J捺*l  h l  h !u};m@`,g/?:Gkӂ8!6:'}=h% hl hl hlhh&& ! h ! h ԰_ FIUաZhX, 6kv;K@ M@ M@*<6 6l0yXT@6 6&4(" h aXT@~&! 0EC`|Z6jw'~V0$ʎ$E郗]y+4h2{5'Yegmcap?ylFI[0 6 fltyl Qfl<@``Fgqd<6h,?lcWM@#juK__?LcpqWj N6<^vq/ec([PnǕ9c6֫mܹiݺu^%j) P<ٳ{&ץc=&ҜZXk҂x!lj=ٵmǀ6m4'?V"E46Z;A3z'Ecp# Am/??YssZIylt46z2tхלtRo{Iylz"qXT@@`ްvvj;Y+Y0M@@` ?+-Y+Y8M@@`Z.tg8Ta{Am^j j#T:q69+V hA/+'Ft<6-v_ Ze jK*g瞛f̘1yl#A?ywAmN& QvE‹.%ylZ,zAmdw9s~2c;ghlJTAmDu\h) VUj#EZn]r`а6"XaA-ZjUu׵$c ήnyMí<6@`+:}"a+؝ki[P12mb NmwP {Xole jj??[~i 8gPKm/KҮ%Vө5j5 kԦM…JylPA-u~R}Ei@`몠QAmDYb%MON}nhWX6;A'`=6؊ j}wjwPkE0 Zv'薠6@`#-L%3v'覠6zl e j#H]zpV1=mۖG:?unj#ck]@-e.O?^{KuûlGH j_|q:3JmVL@[n]nK|I/[Z%ig^j#& 2؝wg hl;],z{J;Zm#Uyl 1 o8]@Nl,74z8ew]l hd` jwv<\6o6M@ۨ}yl[IZNpхĂyg.}(YpNF#^WC>M3g4O(g` +?~o[7n4`bVCx 'փܑGDRJjl޼9}kkÖ`P!ntkNzMzիS7 ÜVSט%0:|3xF:6/mlK}_P[ wx iq1C -Jo9,æe+niGX60pek;իO;-͝;WXu{ _ǀ5e؝[EPkԢ? }B[f:@`HPV;mڴ)gbtw">GZt@oriPېڴ\\y΂!A ;s{A-.y_nĊ_5X7^@؝vAʁWI5En7? lPھ9{w(u}3צ]P>/]bwիV^wD,|%KkΩE .@9Mz\Hu`|j@C~ƍ%^: ʰ.)0P՛.XtAzA$;%Gju\Sj;nV#TիVۭ]37777޽%@Uo)m ~QQk˂X<:߮e j!Ԅ5؞3vс-v'H+jgjVvE‹.2AsKbK>.͘=7Mm=wȿYyúouu7ΰH[6Xg,KwoI+Ҷiic7=ToASO|ZZtzmJ?;ҧV|DCV_ejcQv_{J:es4I|IjC_N鹏ݓ6ys?q[Z닋 `;/rt?ض 7o*B=\0/H'i`k6|ma*fbĆ͋+:mH[vW_C,Aj*V /lcj7ěvCppW*.6eԿ#mqu^nyVjaUx}kW[TنC[&u;ӵnAVhټO;XCiyX]؆E`T 裏j٢>Ioޜ,8%u_/jlt8^m{eȓVY{/ֺxUcĐk,~EБ>^􉘯7ICj!ovi"ĦM\קs֎?cAJk>gիVLKĴ #MKj҉=/U6hBa x=. l2e|+Y3( m?Eha`ӊVOmyXti}B+OR )wɒtIazG aFVj:TZ.b.̙3 +4׌K aiy;Fb-6,sbPeXP;8ncyڑgkt3 |FC[^UorgPkx;`=,vD(j>[V a=k흈??lYP 1joP 54zVjvwU2AO'|rW^G?PrZ؆U>‚bjDGvj`hu`VCImJs,h[PW;'y`ߗr-l*Yתl#A-6m5; Nz}WuA[[^U^oLAmo9そ:㕹믷U# +Ffynondw2W4ҴB)U-eY4k2;d<g;>*cwiXhG`Mڈzh6;c66UNp/+uP 1rbЦ6'lF*?pg:0.3r?f\dd0l}}}Ov.{/Ɗ!Bh?v3"OEX@6Y*l*L%˾IRQ-X{ >q̱iռy=؆Uc˗:{w,^r}5*B[P]MVVW.źAF̘m({vnn~V meoSr:N%PeٝcmKP㏟1X.01O?H#koCжv+]#W{mkPk_~Y~^0>Qy;v}vjWagg=ԖԂM…Ҵirm0!wO_#jm -VV#irMX'R >Xdƌ=+D YmWNxWK?m۝`- j@F0]َr lReŁ-ںuҕtä ;6 ˜ZQe}㱂ڜ9sˇI;2UeEk/Žsjbt]+.JRqzK.V>3rEP[jU5t}nx ljuvwUcTe^sIN_-U m늺 aJOPek5 SBa۫lN7BTmS ~ҕ*[,t[{A-~.( ;" W>Qe!Ǣ]tEc~O& m+Min[`ҥWbY*m5`r mjvRסmjO-: ×Ic1YtO>0]JtPz̓G~?L'4cq^-w+m`",Lj1 lY4mP۫Ҫ/Xv;#x?eS+YdU:zמ_?onyl&㩰-KW>Erؼ|6I%.g=&ZYm;ox-:$scݺuiΜ9]u@> |[P>[XK}Lic[,z_q3 ݆ץX˝yh[-I2-2bEZ~ k쬾y l*Y宧ͮkkAh6e1ۊv\*۔C%&Kږ؆lvdӗWv69m_а6$mK..P|h[pj:T*1֬Te nT25K[yܟ KTْ]CEj__Ra8M۶m?͛9 sz@G N-m`efvhhck:&wɒ4szr@guֶ. I{iڴi j[<-T ,@I'8G6/ېh~b˲U]zEa (38C?QeR=,XtiiXb ~ ӢE8=e7[TF Ω?'TeW6,s-BRkX^DPUc=.3nip-U1AO'|=,J؆Cke[QeEoGZ, L;7۰J&@ڜnDGtJmΜ9E<g1)=؆UjYpm۶9UeY141]{5@`+PLUK[QꖤlleW+l1- m޼YlEUc˗;+ж2e-TT`PeUe{VYlEV7f9i@`+P%>|@`+JZLlVzPeUe-8S@=;S(ju],Xf0}yjg \z؊RV* ^%T@yUVp[ѭYtҴm6g Zn-rkq["[Y[gPe2U#l} @`+0Emcc,T͛EVJ|lrg ZLlVzPeUe[~  tv|+" Zf9lVJ[T3T@  W˫WkL@`+YpɥhE@`+JZ]k [*YlRePzm۶MK[lr]{5 Tݶf9ҥKU(juKnYc mTeE`SeReΐKmZ؊0\e[Qe m+kwcqld=* H :C%.V*,Ǹ5& ha|+" Zf9lVJ[T3T`{߫vUk*YFYә?Io!:8?A`8Qe]#U6h76#p3~O|=:DSIEù~V^{>}f MomOh@-'U%Y14QCV͞2ZVm t?xOJZnmБHOJOQOJINؚaM'OhW#ٵ,MA?3zN:|^bQ;6 |O [>ܰ-󂪍ҕRsigbKXho.QFmѿࡖ lW%e2Y{:dě G<~O{W}? (}-wrW8mAin- lܳɇǻ>‡׿ٙNq{͆OX`c"lWyȿ0io?/}-J8g3N.NJ̘>+9A)C{Ű~vpԎoӿKCG7bDÉg/1#H]6 ڜ}~qsAU4NޝÎۇrX*ҁ{^Z+|OFn"^x1ۨ2щR7kX- lLDZ]%&I.7읇]P I)G'lTFlQa6|[h̝4ڹa񻅝?ں?DDۣ KTXt[_y4ڳZs콞rҎb~S'&2|?iND' #oZQI:YMIh lsás7o4mꮵsco';[cq*l㬂1;xQM^wnW|Z;\w_4ӝG~|9x3l,EM2n櫵ƺ|GĜ8o֦<hj\ogyMxmMv9n6&RZ64h]J!:ś諛{pw!G3kX?Dtg9tH;Fa,5QHfá!Ŝ񄟉z[Cu}w2sdx.2- ƘdQ7 cxoKVuz ?wfPC)S{uA D5,o͞wLADd+LqHCD'ws,1 7pMQ.cvwZ:O":'!?6GC_|PkY5l25D:CTƚ%$ѷũ/?j%5GB~[I. vl)69ti]qF.>h$.9Jy9y,1l(y0+0?ؘ(U&FN y?شt߿4sbOżMw<ƚD0tO~C?tmq'rAE/Bbѝs]#뇛WT^_ܡWXuJ{uA^[Uk84&7۳3ns"ƪ6Ry.ۍ] [9B[vQK<(ӆ߸{ت***Y5aYá!țw?-oUFA`hyhq7W9 c]k.>ʺh6CMz1pïyQVW&U'2ߜrPW] 9Q&s:ƺ k!͆Cc`:Xyed)㝿?x&{LJEy }TehfU~7kody-cqFht2{ƛ|I-ezb3Ѷ=X`:ڧkv-C䁫(ZLo⼍a^l84knjV l0!H'1&k-Q ]YE"ĐSLo'ؚ ~phW)r;q0$w+ Jwu8]D!z{6E{3O6zGc&$7zIn&UUbCoN lw?`Lޛ?>SG*qH?x~tӻF.>hX-jd]EPab(_,Ao#El>N'oc rlxS6@uT- W?n -.[̅xfFkծ.?'.>+?cfCC;__rm{n[xnc rat_J7fԇ1^o;N,⃘T3ijꕈf ~Dlzit$+ŋ<&ľsub [A#.>XW` 4ѥA@,AG+)/:\ρIf[UܝFG޵Ev6_xulTpOx1!v+;9ivч>מ?ϭ53{k-2c|=V'l[ ;lXQ3b>W>0X,{^oGiΆERá 4~c;+4ɶ@0.>8gNl0ւDZ߬X,NzϚ~,]|J*Buے_y4iZc ږゑ3*c+*A59bmc ml0FkvѣR}U]c8kw뱸m#]0˛lƽ_h|râ/E؋ItOksO5c J%b;!7:&YM|4`$`"á]x>k"ȟarX`O#3I _y@nXg"/.>o~&U;OTپcFxY^i Yc r?<)ob}N}#,}M7!6 E]|ߜrd͙e>hE5.;U>gNBD54N>Lt>ET2盹aEa]|Шl]lTCQu}k2}wQ>sgqUP&?3|#Psci/==}tĈۥ@":^70Pl%U<E,:QQ5m;:c;o+O{jV;NKڿ w;~c {)7pF~+aG=_BDo`7x-nz4W~"`ŐH16Жw>{?.CNtb~{cNS ME U@QFn瞠4XOƽW,OYU)7C˾r6>{]U*i;o 0^.:|&~0/}I\ ._1}[P@&.0iՀP`EʺOi5@`h+yC:}3LϚ cmMݿUE !B D66 @`@`666 @`@`@`666 @`@`66 @`@`@`666 @`@`@`66 @`@`666 @`@`@`666 @`@`666 @``|yu;*yVr- mt(s~@غG`+\l1>#mӪPts;N`+mwkU(o+,l=nj Z+^RVslQ=7j\( ~}eme!r_'_U8?!~ӟTe{k>) l=؂*t{j*zl_kZ'nr[YA˴,d~q`qQ:H}иbЇnѺk24l=*h!s> l Ӌ:V~ˊ:s=ȇ:MZ=qC_0~E F:O|gq=t}QWXWKqZ +tehhh ?]Cy; [y8D֚ lbxCE>m kW !7v1< ;KmC#T:pljOl- kKa⏺OяmNixzF˵/>. mg>ъ: _{A{w7/}"Y lb˪SZxҴimtMi~}_`ֲk,qA]%.,UoeU-k(T`vjs~ܓ_{Ju|ätXc?"x#{R[܎ǎms_V7:F }>{¢ZZ6{+B`*p۪PpfM1@=p{KWzsG@~غ"|ms\Fөi?-7#mKxM^6b}6o m ߧL+K>.=OYuv`Q{OIENDB`shinyFiles/inst/example/ui.R0000644000176200001440000000757514142671035015560 0ustar liggesuserslibrary(shiny) library(shinyFiles) fluidPage( # theme = bslib::bs_theme(version = 4), headerPanel( "Selections with shinyFiles", "shinyFiles example" ), sidebarLayout( sidebarPanel( img(src = "logo.png", style = "float: left; width: 120px; margin-right: 10px; margin-top: 5px"), tags$p("The following buttons will expose the users home directory,\n R installation directory and other available volumes. To showcase\n the restriction feature the base package has been hidden."), tags$p("As each button is used multiple times, the last location is\n remembered, as well as any other states. Each button has its own\n memory."), tags$hr(), shinyFilesButton("file", "File select", "Please select a file", multiple = TRUE, viewtype = "detail"), tags$p(), tags$p('The file selection button allows the user to select one or several files and get their absolute position communicated back to the shiny server. In this example the button has been set to single-file mode and the default path has been set to the users home directory.'), tags$hr(), shinyDirButton("directory", "Folder select", "Please select a folder"), tags$p(), tags$p("This button lets the user navigate the file system and select a\n folder. The absolute path of the selected folder is then sent\n back to the server. While only folders can be selected, it is\n possible to get an overview of the content beforehand. \n Furthermore it is permission aware and warns if a folder with \n missing write permissions is selected. Lastly it is possible to\n create folders on the fly"), tags$hr(), shinySaveButton("save", "Save file", "Save file as...", filetype = list(text = "txt", picture = c("jpeg", "jpg")), viewtype = "icon"), tags$p(), tags$p('The last type of button is the save button which allows the user to navigate to a position in the filesystem and specify the name of a new file to be sent back to the server. As above, write permissions are communicated and folders can be created. It is possible to specify a range of different filetypes that the user can choose between. In this example it is "text" and "picture"') ), mainPanel( tags$h4("The output of a file selection"), tags$p(HTML("When one or several files are chosen the result is made \n available to the shinyServer instance. In order for it to get the\n formatting expected of a filepath it must first be fed into\n parseFilePaths() after which the output matches the formatting of\n that returned by shiny's own fileInput widget.")), verbatimTextOutput("filepaths"), tags$hr(), tags$h4("The output of a folder selection"), tags$p(HTML("When a folder is selected the position of the folder is sent to \n the server and can be formatted with parseDirPath() to reflect a\n standard path string as returned by e.g. choose.dir() on windows\n systems.")), verbatimTextOutput("directorypath"), tags$hr(), tags$h4("The output of a file save"), tags$p(HTML('When a file is "saved" the name, path, and type are sent back to the server and formatted with parseSavePath(). The format after parsing is very similar to a file choice, except size information is omitted (often the file doesn\'t exist yet) and type is now available (provided that filetype information has been sent from the server).')), verbatimTextOutput("savefile") ) ) ) shinyFiles/inst/www/0000755000176200001440000000000014142671035014173 5ustar liggesusersshinyFiles/inst/www/icons/0000755000176200001440000000000013357462303015311 5ustar liggesusersshinyFiles/inst/www/icons/Icons16x16/0000755000176200001440000000000013357462506017077 5ustar liggesusersshinyFiles/inst/www/icons/Icons16x16/file_extension_cab.png0000755000176200001440000000122711440715032023414 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<9IDATxڌSMhAfv7 +jKԔIЛJHZSԫ7-œR*B޼)EBH"JUQ/۝7ueg޼86UaLs?◓ Zwsh.یGǯI]=g_<cŇشZ[| Өgbb$es|{0BxƊju>_ V SF1n0y'Tv]كR)%WjB_bsK_pGL/:Ԣ`;9^8ARQ  &kS\,,GPsAȐfs)AKIO4p%K`huLS;MTG t"9')l6A4hxt0|B^Ρlw;`hV̸utADő.ҷIf=; Ӫ9/l|ؕv'Krc_mjb$uV2]Dr߃_?* @ACIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_rm.png0000755000176200001440000000124211440714014023301 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<DIDATxڌSMhQmHiVQmb!"R<j{Qj@EOUK'XCVҋ6"5$}{lM7;;3eB{ POc'HR-Sbc~ 8vj;^M#w48/S͹@m*G$;d =#dh>Br3j!`ǼS>+D|7 3Ana18†aqZ7O~{(&t>0Gr6t'Ue;P6p502Ɗ\+5Lغ>/gp',#&NَWXzU-MS#CBszwSuhB*%nKIJTƠ%!'._\߅){O^ij}ݹ ٫DX,f+]Y˹Ҋ'=0C1<,t (!2>.\NlXYT{5] =5O3UZ#+2VyLWnt## 99YX&gCϭG[PË[̎7)mq w=BΜoe1[$in<Ѷ{dnѪtYpt1?: KM\ 8 o~n.=UwJ5X2@QY'1G]HAK$yu0!x'*& <<~1334١33ӪHWZxjT KZ7}1wݤqF-4 .?ZqC %Ys~t;ܷ&VVqw͹`br}=o 0Ng0 IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_sitx.png0000755000176200001440000000123311440707166023664 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<=IDATxڌSMkQ=4iSM@Bl,?Aq(ſ 7Mn&PܔZTb[mL2|ޗd̝9s3ܩtf0`H1W3Ѳt\zJ@d$d% IvshqtwlVg_]D7NFz־\_YMc޾~+N,R[-'x2'&A ۄ=I˯Nd H ^ԀFȞ;Mrdgh|k@FMvS.FYw ׮,i<' R] ~O(uAr$r+j͞-Vfcz'rl&v(j5H*vQu8mTБG t`Hx7XXl@J $ڐ#D.n2﷗KCGQ_ zHCX6F ܱ/[Cc1=7`tݑ8y.@A 1y2S)plV,4šGTmmx'9ϏƼ3q(`R{RFIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_indd.png0000755000176200001440000000127611440714002023605 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<`IDATxڌS=hA;/Q1 6ψ(J,R+pDJ xQA Alljog7-؝7y!5{vϙ@i(oі#V"1I &6$HPҬ[Ʌ8>:AS;Qy "H9!"BBCx 5{˘Y-(O(0I%!G&^"Ox| pa}:\"eC;-m@@]`y̯Td+g=N\~rfwTAZ"!CA˔ BSbY xZ\pe88Tz:Z󋍷 Wde589 :v,o8z 4no t+S/8D M|曁k=}F[@wkl+pze\kմ!ax1=ȼ5~PilP|}2#Fhu7e:D+>㖌[X7cIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_php.png0000755000176200001440000000066011233601036022555 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<RIDATxbܼuy!V ǏM?  I9Y-۶1xy @C.IDVc033a`x ^Kઘ105=w! `0g}==0X]~;8_DXLhqO mK`&D1Y_OXpңpx:x?rF: gfrfkVV60N80yhD+]N]} אs}،gnkAs{ARD3GZ@3*WQϊex|Re /|o.&ܬ#'bHRl=()p,JduÀ za]t*P_OP])8Iy_6*Y'guq'/"i| O9B'E(/HxWKo†l5`zYIL`OTb);IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_bin.png0000755000176200001440000000105511440702274023442 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS=KQ=cf,  D }:B[N, EH&B IbQDHBp`f? ̛w眙'05IjWՑdŽ:]PL^vyWOd38cqRʴgw1,HHRjF{J [LGʠ:0$В_q#f@(Yś&K85 (.R 9_KH,SVlAbkq }~#A4ZT]﨩R5NjKXgRD8@ OBrs/ݛtI*?r1}(H_9L!%Ke8VoL[ ֥\|&SxzL@^04Vt.ݿex779Δ|:G IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_dvf.png0000755000176200001440000000126011440714064023447 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<RIDATxڌSMhQ{lb4i"AJ^TPۃ(z` YA I*zx<Ѓ (lumfo"MS`I5IR˔_ߘϞ? @(,}4_1< a̲{wTGReD쌅7(uÓӐZol?>ۦQ$Q\e{  CTY~DʮC==e-0Z"I|_˩GZﮀ\Hg*Rf&؊zw!5m̒hs lOH޳;Ӏ P KB5;Eo؛zMMif )&0:09J(h0=]xs P&4<`5[_to^+sl,ؿisGh_}?ߺeIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_htm.png0000755000176200001440000000124111440714056023460 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<CIDATxڌSMhAfKĤ5JlZS7D(#*^P ^<-*DoD"Qr/9H-D"PMvg74i<%3%1t,; H,?M\S⛗GNf y/}>{[cTB{3B6aFQyRbpů1,Re*_k%,5$q,LRp=$`,*u ?8܌CX= nM bH3p@[Т,[JW Y:8S0 :?v= &'% E߇q: 74.ƐBh`ڇE#HZTF]HB[BC`m"ᦠE-$i%ɼ_\u|yo=?QR"5sb` K(P?|0€~^//WуM/0 i&9owg_D"NJ H a$ z:?~`EbCGWVzNnǭ{Qs&)`GTG}OzIp!A$ cHIP;̶Ω? oµ#Tl. -P,wAI}Frɡ6ٲrrsѷ+ CKDi@#@loeqVxf䒒}оvdsDltvse \rçQ[ҍTSW5P\86|xF{~YN,Y6-x+U{ОIfQsTOJFxw)WU81'!zJ n&L3U05=~ IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_lnk.png0000755000176200001440000000116511440716002023452 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSOAvofb 4`8i$=O0Jh$ ې`,jw[h3{3.\{ofR&(QceyR.g8ƃ8 @bR RJk)Z-{Ջy<}6uHV᫴B> hLN9(8509€*B"Qm\K֧o : o_@X4@R O˃c Sճ@H AI9#m-s! &u8Mqvd3dBz@ƑTreuh6V䮬P-Fmav?g<\pJ q;g6}z s" a?ˆ^ψa2d6ghur2b^ Pe]pu i)hknmj04=҂Gq+ I;I]x .L\8iY]+EG8[SIg 'pDncgHfȍeeZ^&G߶:`?IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_pub.png0000755000176200001440000000121211440707256023460 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<,IDATxڌS=hA}3;{)am-5A m5Z`!GtB$AFEIaacqDHH$?ٻm;37{߬cͯVP2 }C#3$\x12vg♣ra4t[pb_ %U+ױ \zǷnƋZ /gf`H KbzPJ𡫔Vu%]K(]<]:6QL]C@L >;BLj:%tA nc]bFcp.%FB4%t'i Z嗋- z3ǨHb需!ȅ!/A<v%yw2zQb'"pyٷޯe"t9\{KIPJU8ơ @IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_jpg.png0000755000176200001440000000123611440707076023460 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<@IDATxڌSMHTQ}coFgtFb"B#'ŸiAԢUeDvԶEH\F*E*ZV`j4`Z:̛nyϗoE{ߧ1x=1R =<ŚQs_9_\cj:S;˷'Z.#k3ڍ} StN$y|6&02$ohL 4,y3axVOT/钠Hrs7N č8޺ $&Ͷ"ƈc9s¿ $ÇRECYܛU HgphGE0a/W>_AI$Q&Q*\E=}VXd=A{s>Nؔ,*ր삍Ujߧ#ۂ]A]*bX1Ztk&fo?L7ߖ{* QA? v0LV;IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_mswmm.png0000755000176200001440000000142711440715672024043 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌ[HTQ}ΙUs2o)Xtz( T/IP=A>d`HaAW",(B0(&N3xb8Jr+Htq7WJމ&vE|t,a4#7IRo(6HKw}JUU2 FRa u\ɤZI4s ЉXgo"DTK+fIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_qbb.png0000755000176200001440000000114411440713732023436 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSKQxH/hSP $E6d Q+*( [ )"h*hV"53{<>1S=|s030xuuY菂'NM)쀼\_|8f=~Uds6k#r kx+'g.-~6B2SD\si!κf.`*Vfq9zRZ#vEĕ;IN Ż Z j\H@Q 魏62ybTjK m犵_qD%M}8`~IENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_actionscript.png0000755000176200001440000000136611242777034024510 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSOHQfumM-`íÌR By$$+]Jy1VC!Nnh떣3zovvR?d6iv;8Cj ! dTU ).XנuA- _H$cp^ʻ&Z}.|rPm~hYSUtx(UJ]Bfln"]liG^JEP \*d?؈yGjڍC+1*  {{,>6C '/|U&i>W{#Ø%js9aazfK*x,bPJdz03J͞j"ԟT*\frf0Q 94ɐym\8%*guyy瓠௦IL/Z!-s5_ ̙>Q{IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_ram.png0000755000176200001440000000123211440715776023461 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<؝73pꓼV:+?)W6|jY &ϵ|n1?:sgz([dy8tt)fIYdtgs`<ˆ)7n3& "A~ oe+. IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_bat.png0000755000176200001440000000122711440716036023442 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<9IDATxڌS=hSQI+:dQ+?E WET".EQP0NDCTP,BAlͻ>9/Iys9߽(B߉0IJď Cu誦G3{aHj8סye͌ݩeZ5j.d"=7nK"^1H @!%q8b38z%φÒ4dO6UAj}fuJW-c9As}[!oـqsb4~.U籽g9Jx셶Zg w`xϩ+ӳ+Ԃ"d'J(j#mQ:Z 7i2uVHXZDA| MucZD◸$npnu?(kwT ZOvEZ{INB4пZrXH@mQ[55nbCKWNV$_~p^U& fIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_mpg.png0000755000176200001440000000120511440707114023450 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<'IDATxڌSKTA{wՊi>0_JڇJC@{롨ȧ?Az^z*D-r{6_2.(,li{g:g+t`3g~w)EDHՅ]G箞`!*XyKCw&cC?Px:6 )%c%(62[o+K%V;:2%kE^T6W/"L^$H2(*1&7WPqU5`1=PFQ=z%d 6Ɓ.p{b^Gz#(%CAoH1f1@q׷%Hkޏ%9_}A id23:ҷɣp1yL4Gp٨) a%yBgz[:iq2F; 6axqe_r~B<>13J AqiY`_5,|$ mѲ`G>447IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_swf.png0000755000176200001440000000125511440713766023503 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<OIDATxڌSkQXCmxЈTms^'xт^T ςxhhAAn RjC*UŃ h~'6G&of曷sop2 ?g)Jat"܎1I>u*$v%̒VOŏTh<7 < p|}|g|{xz87:.Nmx~0hpp*4˄nCvVK |xO]w_]*QuMknUqS%FPd <|_9R5';B,Y[= #]@n2*RNsƞ<^So@<{Fv@)WDt#O q`( 4V6fÌO˼$w|cxO1q&G;Vcdf2I]ϑЭ/TU'w@adx 4U{h]ha$u.^mFN[|wzu{Bi.pPTjZ>"*es-^!"ߏ?e.? D\n%IENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_excel.png0000755000176200001440000000127711233577646023116 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<aIDATxڌSMHTQ=8:AKP^)lj($(b&gH(LTRQ4 -҉ }?}μq޽|e28u:3ؒ"9搶mG%W,..OLMR$J~_0O=1N#bo"qtͶG\R"Z`tRX,}DF=D9s%U]}gCA{t<)nLA"|ڬ +?awPwv]=t" j7yzC#C$։{t :bg'r(}}Óט[j2 AJZM4c83Ә}svsMzv4,Rc{CC[K Od,:"c05.EQ yA2dUnt FQ^0 A~*۷Z"DK%v"(? ѽ3,IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_wmv.png0000755000176200001440000000126011440702346023501 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<RIDATxڌSMhAf'[E"XA`+H<QlAlCVD*"zCK0x*(MO[i(*E'lww|M27}aBH9}vZ(0~ბ6?9XP0AΌȓbGSu&[% /sgҀ sz$WX4"]ǀ+ZXL uh"* c<}:ʻ U* { |!TS0ρ4tM^07' luC'UM  U˘5Mv<>Z1=d%Jӌ+ ح<g?ޅ+FO+tUlg5)Ӈ1k#ї:"vm- yJБM%Ml˲Q,Gz3 oyYsQ$`|YmP}p=Ag#6b ±eԦw*ρGof$Lǩ2Bii:kj;m؟iSOԉ*zXtT wK HA "mj" X `yp$j;)V1/TeLA$A#\uQ 'ٗYPFd+ӀF$<")Vg|] ^O=-Q0<9^Af8L%{=cvA=GQӚ厠{}D n37:QHy,kaT(| '+j~{ښA$q;\ 0ks)IENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_code_red.png0000755000176200001440000000123711233576756023557 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<AIDATxڔSKkSAfy1ibh,rBQs ]tݸqtHB-+Kml BDR!nxEÜyobnnl55c1V4> {^(YZ|>;(ӾXcnj," |*u-W(p]`]Wsesua\H\/rur~rx4HA/6R#1fYw{8 mBĮcggro^>8i5df`^/EB~[H~{pQs{QH 'A8]xr}w0zo+ K/CQ$Cavz$ř+X;'{DMp Zmi>ҡN(QY$KGc0hE8 (?{ѥEs޺4%FECxO OHTsLi3\qk6ȭd"  0aKY6IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_dss.png0000755000176200001440000000114111440714074023460 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSnA=ص,;R (ր@ 5HtDhoI0->Q:+;;3cYgsϜ#˲ιyk6䧾kʚ<ʁ/ʲ|3 V턭(rlz0`s[k|wx,!PAEF$I("(/BTTZ6uj>k̽st:8q5_; 桔 #>`q..939ʍs).^5$p¾U!HƵ2a}* M$J{xc5PmljaBò?h?qUT 7 wh5wh4z]4ŞI7=tb# =7'o;spvSܕc'tlGlF2y?|h/|?!P `ASrKf5z}IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_tmp.png0000755000176200001440000000107111440702316023465 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌR=KQ=ΛMi Q X%ƏJ*1AD Hu*NMF &l-${lfw9r˗ƚ6Da渴R?>NxV' RA+)W[^_zuB@Kn|Fi=*Ļe$ A'3kRK\ZUizw%dWj!e+<|ŅS78,rdz)4ތg]vu(&}T*;:C54oz(r6cbj"|^1k>X'ӟwu]ˑ؋l#5' Ϻ9& 33!B6Ok Pĭ D(A]4a˧Y[.j?ǝ+}9Doon>X=yބ:ׂk=+nd IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_mov.png0000755000176200001440000000127111440707140023470 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<[IDATxڌSAhA};lcLCmjڃE{RВ xE xQ<("6`+ZjۊVwvms2)%E+,:`W;q+DRW,)l=]I> ;v|v)fGp_W UL WO*s+NK t/ _A<]+7e(^5)tACsgFCBV1~҉lh.@P2Wq xKXk3OJ 3MQbLDߤ +H*-Q'=A"Ll+ļ/8p !bxcۢM ,9&q,Ոs#3ZTzIga3y=d'18zQ+81%q5LA Njǟl 9q5]. @`oP,}C{sQY&<^Bg 8Ϯ'C_G>, LMz0B7Jt η'hg#ڕzݠ@BTEa G=/˸V,!QZ z518UV;c8?;'ō1ߙ]mfA;~{IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_bup.png0000755000176200001440000000122611440702340023452 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<8IDATxڌSAhA}3!6j-փ")(U07AQ"Q("HQPTATA-b/QB["jIdww$k+8?#1wŴu A5u}U$`BJ 1ج6Vk(a;j>2UcKgm$9mnw"kЦ")HÐu20$$~kx].߆39@0zb-%tʣ&.$ЖlJX&)iU$k`P5l4)N ¨c ōNeI{¸Ci˽OӸirzR$&ģvNic#GX+FME] ƺow쭉W M2鎝Py?ggpyojx~z gfѸvCɽ)Zgo^E2T zo`1xۢj8Z*d(" e -ց)irNf҃R4ʤ3 H RM.wy8 k^Sb[J R}cGl bglؖFYmʵU6We̕&*y[ -`.D&FIENDB`shinyFiles/inst/www/icons/Icons16x16/page_word.png0000755000176200001440000000117711233601334021546 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<!IDATxڜRKhSQ=פ֪ )*7FE]Rh.VQ\Pp!UB.,ią ЕP(X&>י#̜{̈kO~?Zބ,\޳ ͬ{$eg D|/M|2ʍ~<0iqd@=i{A%W[4\B9s};r4{£Î!# |j[:.>B@LF"к)@ґD `[hF6H8&Y J yܫUQ,p5߷$bC 1CmI9#Z Xgg@R{o8qb݅<>i?* E/;$BM+0/2eIo].FxҞö;[ 6~e9]Fg۱am[rY̎c]K|u mIDATxڌSkTAf%ˡ\R(#Z#EPlbamAH$B1bc% l$] #1bJ g"pyow3{voof4MQSYFM  r7Z&qb|ic7FFdo@f߿fQ}|m9sZ4O<SXc?p'n _,*Pl :6_ o.HjΦBxL($:*7 5BoI kRnB# 4{ZQj\I$hWl!6 h>+}Q0~{'dk`44iieNlۇ`ACeA gz.sMV|=h{ )ԫ °u3\{'FK;:yָٛ?=v_ 7F΋0IENDB`shinyFiles/inst/www/icons/Icons16x16/page_white.png0000755000176200001440000000064011233576672021725 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<BIDATxڤJ@g&ɽMKP|x/mR'"L͸&,ҁag&;ni4z^[eP7qq s 8A Nut|<_%{p]}Euv)4OlK*hF"X,y\m8:|%Vei 1Ȍ{=_ J M҈>:5^Vx\![ϻΗ2 +\P} (z1E"Jjp=eNj9/Oa=%bE:B&io`t#Y t@*?o1z55sfy~xPgf+Co7$Oi6"gSK">7rO}S5e {lv?6wϢ&M ;*&ƶ&ga>7HY0Y Q]nK:%s{@&tAn_<֯6]#5RO:,$^"";݄w!3qJe.;)rb"s³T>5.PoksIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_chm.png0000755000176200001440000000122611440714036023440 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<8IDATxڌS1hA}3;ch,pb `BH -<1(ZVVpb#B6%HSb!!9(mnkcyJ,9;QJA+]]=Kgᜀ w˝2nǎFy<ɪm4;`3J,Kpkfk'QTy^T&Jf'BhTbI@\8q* 1 Adobe ImageReady #~IDAT8RMLQv5@H!Ab p0&8H0x r5f󅅻,%HpǶ4 @܃ iFNM}FG&&&PJBȒ"ç`7H;  [VōTnm J߅U!> X)?<?( 962+???T:A1!#aXT[ݝx933S/˲IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_ss.png0000755000176200001440000000126711440715726023332 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<YIDATxڌS]HTA?$I AP m AȚ҃l?bD QDA`O[ADBF,-le}\o| BU:- .c4;B\x@3a rfD8w)1?7[?:+ylf0>2'#|ћ1vC7vBw봜`e0FM 9 ЖaĊdƕ{E{KDƶj 1^dؼEWf?ai Zn8x?{w!x+M\)@,m8"#*H&Rx5UB Z=(Q _/TL'FZ:jUd5͇@DPNb^J*vxikQtPb0|-%qayPI420jy@cm;/( tSpo_2d̷5k8a_x?R UUNV2RHHl"JYeWH sZ~ idiESJ`f153!kȃQ|[ |1ٛ(`|=ZhIENDB`shinyFiles/inst/www/icons/Icons16x16/music.png0000755000176200001440000000105211233340620020705 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڄ+QǿwX/ y$E'Oț?xo(Hyܖ(ɏbZ{쎙;ά9ss>sܬklڽҐ5aV_@B缏ZS[VYjH+s&08jnD$$Rēi\>Bnj99*xW!? 9@ 5 JiWu}L_6C,0!_)F{&]MY)RqYe55ҥ:0M&9&/|zHZ૩ͭcegG Ǘ[1O.ɭ<+|S4"4ү/ A"2}{AN9S+lD8',OմU?Ֆռqp`I"$aC~[}Ҟ};{ou~0rܙFIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_m4a.png0000755000176200001440000000113011440702306023341 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS=HAf`#H@b]&Q+! !I9#*@T$ "MlEBΌonnϓew|}oI)dJHQVHBj`6XI! !4*җ0OA (ǥA.ð%Ay.(@j}{yq aRK/u1;Zc^"}ׅD" Xuϋ"~"M?~ј#*8IMu5ft>F9Tym]-e?t,9/Yb6$! g@;H1L[(~L?.FU"ʟ9IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_tif.png0000755000176200001440000000120611440707124023451 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<(IDATxڌS=hAf3x "EFE0b ha,$PD-ZB:"AE!t$z1ٝ߼5w 23{|7bwE(oAk#_mlug3c]iS3R,FiZ,-V x\ wMEky|q(]t(`p"pA$){6 ~q W 6J&<̡{` wQ ?L$i~GWxN[/V}%D   !%_NgM q'=KD l\Fif[tcyJ f|^O_?x&[4#@*߸bDG>osT"IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_sea.png0000755000176200001440000000121111440715070023432 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<+IDATxڌS=hAfw~(D. =p B*N( "hHgcXb+FKA1p 0`NCyݻ%8y}Q{EߖTjH!gJ8Ꙥ~Ûm0 (mA4aHηBEtl Ϥ#_ ޜ߅Z;HQpvNCEju7 mzU~`T 쬽j71ǘ.t/gnY_ 7YdIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_zip.png0000755000176200001440000000120411440707066023474 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<&IDATxڌS=hQޑ&A3%]/HF0$0hcSP$D F""Z(Bw޾y|3̬JOj?]ȒoRGhJj Xsmos!1Α /OMlmѽ0J#7QI/.:38 E/.B>6yPJjי=M$Ok5.ז1qstT۫h[?B oӫ$B-v-jR(EGQ 05)vM8IENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_csharp.png0000755000176200001440000000141311233577014023253 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS]Ha~gnLaEX +eFU(x%tyׅtQ3rn˹RT/idVԩ˟mnMKI;gpEF+10fl63BN}+εɗq'Q]ha6j=p6$Zbj=tHX\$"}(\BըM]tt+饑XZ^BiIulԒH)HOѡf5 YL((3M&w҃wؙF3| b;f#k(l è$l<ƄIflyZXN0˂&dJ#9ŀ(0 PаVBLjef?[_L`2` e: ōN@2 'Toz9\FsАQ&^S<+wvw7?yˍ](RLaX" AQR0Row`4Z6C62P5X Q Md #?-}R_<PQα t[|ϿYOJinhW+nSq폔iS'YY|rFf?9 ?/'OIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_dll.png0000755000176200001440000000112611440702226023441 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSKTQ޻Nd(EDF4H q1E[h;QfHm "" Ze-E&Rh"Bj~:73ڌtss{׋{Ula}g#'cȽA ӠUq7J'ɍ^A9̽G`tٖqBg_`n>J%&I6'cE\Fc&ŵRARpSn*ӗ4_69ak}]Ǐ6Q3io9ف)`4B[L7WW`Nw3Dzq8T -!rwo*}ITO#Q $!T= +35g)>j~4;&5L=}<=1ykT_ɤ~zO?'>rP y;"Pww+:΢)6d VhtIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_m4p.png0000755000176200001440000000120511440714776023401 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<'IDATxڌS1hA?-$miqT V,(梢uqv(: .NP!UZZ .UDp`piMrw~$&6R{}}߻_9砮~,Pj7LW o+`JAI:>;Gζu8TA"(`nG/3fj^d1RtbJ5+0`ճH'ΰmCP+P_0Mn8NDFB똿0W?|‘j SE7rP2#vKaɵ\k r35VoJ o?Ϥ1DB)T;RDB컷tt>ў-5ЭHR}NɱvuU,/\&@:U`XZ*m2ڕ?29 _FWR3΢U&qH Yx yUݙ𫱝ڨ9dAfǟb'b}ʿn0÷C͟0Y('`aеQ&_IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_m4b.png0000755000176200001440000000121511440714126023351 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe</IDATxڌS=kQ=yMlvE]T$gD (QB4*"!UPYE0)BAl%"a;{ͬf={paOmln>Oڀ ʒTYtSi'm6Fr(x-"vy$f-bE\Mt]L̉h}}T ReQG^:1)n߄cD4h A`R&VEm{QTk:`8"pRC#Gv̡*.؅K{oi\tm:Û6j \8 7BLԍ}p+?Z:BE<&}P$h۫]!J GTn<'+S{{_zndEy ޜA?|ok+x.y)I: u4>n T(,X#gPgFFy 0d 82\`\EYLL8[vrX M>' WgpM0l!B_ANIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_psd.png0000755000176200001440000000126111440707146023462 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<SIDATxڌSKhA}ӛl!**j ̢1x ?=A/ A dU4QQ$I!n$D~#3VItOuW.~RVhg|p(HS-[at9 >q3%4q~/#_Jmn[Ol?!cVPW pt7dw9h_U+FV<8)sA +CݮKKⅳ ,4XƵذfeTQ / `ܣQj%bcd|(a*|xhat\xií.C΁p?uAғd~ lYFؿtS(!l[ΟmYI;OL, c۝v<MyY@> 4 jliP>]7Й^3t"o5  άM յ;ll㮲ySh@ S0YSƓw1cZsTQWcof2-z߿lXdT7:d)Lݺe4OH>?L ֜I^IENDB`shinyFiles/inst/www/icons/Icons16x16/folder.png0000755000176200001440000000117011233216652021050 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڤS=oA}gQ DHCIDKh)(" Ҁ6 BABLd$#$`}.w tf̑13: '$$H28_Cmg[Q$%V8 N"! TI֜5L>dȾ[5!ILJˎ었_$An)\x^Zv>3Gia֬K坋ձ,}s MK ;CmѱYMX;we"/oW/c|4bI@pIYfDmxU(kG*^(7:y**tsCE "|ڻk1!bB KJs>cg~c ׫3AF S'^16peL]x`yŰKev6f2$ړwߌ^lD3n[ο˿CIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_7z.png0000755000176200001440000000121611440714134023227 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<0IDATxڌSMkQ=#UD.ȢicRpcUFTD] ] ۦTA+]hV]QMܙ|F7s3ܓsQQW|nV} kCc|F0o|5V,':EF3|K[;@"J7 ƫ^Qzl,C N x\yI%TA ?Kw ΗnM~'P@3t0k89ۿ7Ɩp,#ovҤe,R1ROkxGAxZ fhC6˵u)`_ĠM=zl$)SAH X"h1g yXD[0r޴A% oqx7Md_h0XP)JFL9reL%81m tW *\t{qr@0s*CX 0{u5^,9 ex߄dea;kYNAK3?W>:^;_o`އ?{'/^3OYOaIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_eps.png0000755000176200001440000000114611440707202023456 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSKAffw5{gN=KAK%"$D-R )t"HSPAWRX$AlC\vnw25/`vPrivޠ1w6; HP뭪/I{*Jq L)׷pFۡ*3"ex!%{0+QKE%")BLB WK၁RX^$<A]7ƥpcR@Xr{4**'$ԕ1vKJH2= I:o:K{ 8o"A[ϩsJDWAcU٬rss_9QTqiZz"55T'KB4G6/1y };<'|pIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_gear.png0000755000176200001440000000133411233600106022700 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<~IDATxڌRKa~a0uvSsPY̑s.M/B" "$b%sM$4ڦ-f_}sU4YTz I`I ,c8hJ\/G#a_7ɒ"]_~D`pz\~V%30(2T.*P_8\##큯' 9"XYJR__lrqvvp>*_ m C8>sp57#WۍY:Rߟ\'PcP244hy6xuy+122%:{<AB5 | )psV*p8ӡso.=xvwKB. o- -S2Ӊo++B9w[r>.,ږ1S囧'0v|f*&NFy|]Vm0/ IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_gif.png0000755000176200001440000000114311440713716023440 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS;kTA=ܻ]Xb #i4RX,m-,m"B (ݹ3㙹lwu|{\qޓ3?mV[we?ՙ HI`y``ơ޼^z8fI|P@a>,V dY%po3!RgW|r7ĉL١`{+{.9'F Hdຍ_`4 IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_cdl.png0000755000176200001440000000133111440714760023434 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<{IDATxڌS[HafvvulIeta$.RnKBkT$$AFD]^KI@,! 6Mz /猗U\g;wQXsN4- UU=8}<o)O* .e*x~ ?ajM% riU)<}A zF0:'H2L10Ls> 1!H { sΕ6_jj/>4%k)Q Ed:?(,P%^ V-nmmVˀ',n<6# nO.`yh8u5\e 11y*8`qo5zҞԠx5~裗ҵ l:&2<\,{A@LU=`>RP@ IP;{A)‰_.ov{."XTѾAϣۜ'Ħ"ֻ4dc4}5~ǒ=JoX`}H1ۇIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_amr.png0000755000176200001440000000107211440716132023446 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌOQovfVX[*BcvtڬklD+茅ؑH#[ЛlaVB m̛y޷w ov܏{8x~?)t \;9͆7?\bh+X ߿ѱ?GT,T4H,J >& cz1ҫ -{*@~z.(5 b Gڄ408= 0Haa n݁'Z3,w(D <}92.-( &/`k6EUF Kѝ K}uV;e{I/å8.\ZݞjIL)=T cprDsEdhJA">gᕮo]:W=Wfv}m>Iʩpй'*[R-zhƘ'rzE׎IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_wav.png0000755000176200001440000000121011440707132023456 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<*IDATxڌSKkA qQ#99(’C$`4(cނ7WxJ0((x`(F""F<(! bv{# j$IwedIl"c)VCOIF k/|LL|s:V1S=i.\?Fp66&n2 e 57P"pc =KKJˉXxZ\ibWŮs)\-H,50eLZťev.b^h@,yN ^c,p> ݟf8@ ?eW,Vf*s`#9@A_9#5Z _c|M  >ֱwmuJVmDni .nPama;waE8m\M!}><3H#Gutv +O;6|~L~&ك.|]>;9}=?IENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_ruby.png0000755000176200001440000000123611233601102022741 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<@IDATxڌSMkQ=䀘8&JuBhV"ƅB. B)]VPuSAk, MSIy}o2x>y{[X\ FfV 10vY9}ߛ¿hT*e < w7ju6v4kcrl b_ibz "YcN\.BNs6RI3\Yh8޼5-!˜7b%w:OLXOuҀ.A?.WCU oIșv n^OpΌySBȤ(Eqx+{([w,n,+V*kK09Pq3 f$40pCO0y:„0ԩ Ɨ"[5JڏW~se$s[=1عq!uХćUL#W6RPyh@<"Ḭ|O|lU11Te(0C t{خcmnoS( }ًRiu+pm9SiS#oץ+^ڹ0lF-|=^`@YIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_tgz.png0000755000176200001440000000115511440714674023506 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSkSQfP%TRkA&i4E]D ĩt)BA%Ԛ8`ڱA+6=9b I=9 0O{ُW)(%󥓝|u$A@Z,'X:fsC4h{+C)PMTETh6D%qch P|$qI =t -o=mQȩ,kzưZOoR$AxYK4j34PTOZt(Y,*8Q~mc Too/Pe_to Iٿ:0~IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_iso.png0000755000176200001440000000120311440714112023451 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<%IDATxڌSkQֵۗ5VJA<o{i ԓ Sz/DV(XhqMvvmWy373P9f1q6s78ugi6|P(5 .#8OCXƀcW.NTsceM`#bo$#* ;e3LHjuO.Oa2`sb5$׏"Rrĥ{.)QUX_A98Ki{>_^3͏LH4콖`C?tT!sd$'%3DDYqG#@ɃIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_rmvb.png0000755000176200001440000000122411440707234023637 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<6IDATxڌSOHTAfv{2E0ً  )  B:EBt( :,FB! A(YPCXTKh7=Ifoc9[ƒMѫ sٝp s\׃CS~|0cZ9<19ĸM(X75`QL@qv?!wdԨ ĵD WIssXF{B7ApP<,[Rra;}@{ D&M0C}Tmq c38+;\~qxRQ<ߏlZ%48ϨEp:C \)Ж&ZF]7ڒNlǞގ(q?)o^n 0lq90 IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_qbw.png0000755000176200001440000000112311440715060023454 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS=OA=wf`!DCXJP@16j &F~tQ> D1Ra0qwzay {=s.13,Vv٥]2-5/"?Dw#LrY{vϙ@i(oі#V"1I &6$HPҬ[Ʌ8>:AS;Qy "H9!"BBCx 5{˘Y-(O(0I%!G&^"Ox| pa}:\"eC;-m@@]`y̯Td+g=N\~rfwTAZ"!CA˔ BSbY xZ\pe88Tz:Z󋍷 Wde589 :v,o8z 4no t+S/8D M|曁k=}F[@wkl+pze\kմ!ax1=ȼ5~PilP|}2#Fhu7e:D+>㖌[X7cIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_compress.png0000755000176200001440000000122711233576766023646 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<9IDATxڌSMhAfv?H@^Ak+B1EPԋEAw^DA(MSACbhlV1ͦ5 {߾athBhcl.:8=,/+"LDZ{yɰcƪ1~IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_txt.png0000755000176200001440000000117711440707226023520 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<!IDATxڌSkA]X1 hBSP*1H HB.]^4~ FF ?/B@,R177{W8y{5Cabtwkm[Gȓd*V1֓<$ rnoyם#S ©4xZ)Q<cql0V^b6a&!&Nbֆ<k[j(& 7~xa<;Sy c-$( agݻz04yN 4Kld Fa {{߻Yiœr pfz7sN-Tq4PHtɆ#P8}iZ+d!G/ɄtaPLDpۋ豗+9ܝ6F|=8\̬Iձx>_~p KHqDZ c5&Zi<{2nPRHY Ԉ #f񼣫 Żϑd#%mŸ_?_q y<3lUbe'^ Q>WboIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_xpi.png0000755000176200001440000000114411440702326023467 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSMkSA=&FZQ! օFEиp%QU?RPpBXAv!. l"fMH{3{339hnEgPWC_ &^⤃hb}P{:0{HKN NS;c!Dsn ^̲offR'p)ys 0{3Q29ORn"Pp6~_2V·΀!#Mf&uIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_mdb.png0000755000176200001440000000120511440714024023425 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<'IDATxڌSKhSA=yTAT+[QB\.lT,\ ~@vYKA .W.v%-*Jkc ̻3ܹôx֕Е0BrQ.8/+z,JA_VfW| 33/+ cCb:YU"_w$؝Kx[eљ`2Z5Js۷ݹ7ߌ8ؤϧ}0$ @Eͯ[ʳ9<$2R$XW>ĖC_ ;cpWR[4z(Hvc#66`-. 5$$(#s!\XV\:x ]>9Q Jpc lodbЃK 97"Y Ft_@psn&}=h@"2=9 nOb}y0bfT[0s@&5`B ) jI0_kǘK=ճͣ"O`zni逦>$ V%hm~e潛iFufG1fԼsCIENDB`shinyFiles/inst/www/icons/Icons16x16/page_excel.png0000755000176200001440000000130011233575772021677 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<bIDATxڌSMHTQ}y3``C"ah!c"g X4.E( ~6%j#Y)E>EAb"8?}o^0Q{s/r.j G*٦dZL]Ï+iRUEĦcVwNb}MFbܣm \+ YͫDg+x pڬX(H,kj;P8Eޒъ>}@M/gQ4G qKEstR e5*iZv%XICTaBIj5c_0R+%YX\3d&+eዐgѩ>-!dݲ1Ttv[Ʃ˃3 D{ fRI;>v-Ӧqnwn#v>G.åX7^pٍOn@stgO_۹4͇bm8Ñ^8ub:fz !Iԅ+˽#&pPlKghAQ7MB&$ԃ7~$8r@6'y` J224IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_ace.png0000755000176200001440000000123711440714766023435 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<AIDATxڌS;hQ=3Yp c AU?[ZI4ZـDXU*Y#BA$ DĀH ,,"μ7{lfL-os99`[c4?=5=g?cʍJ6ю,72SO[ _onG&_BRr;464psVf74u`Z,\h,P*C@RPZa#'+\fÚ6r6K$KB,,BBPQ>/C`A&{\u^Q[c#[U@&:ڮn̲X|҅%.FEtOM{|yPT q˚) i$JxF$3+>9dȤB7.Oo|ςǒzl<~n7j*xIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_wps.png0000755000176200001440000000121311440716136023501 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<-IDATxڌSMhAfvXzhx*{*`OEiE zЊx-ƃXXB@ADT$37mM@Û7rzD½f/lp>N>w5R(U:b3M+ KpCk>yR NOax3@#,7H$bp(3"C>)$? _|#YΓ!`wiBOW'v迋];;}{ѻ_4RCgC zq7nFꀵbh_@ֻD(= PcYJ߶!V @Zw$?+V1E,?~yy\"R1ԅXPN/Z=-$j`G 4;V_C7g No3ii^Tp"Vi正fuɭݥtu4v'~U147vu7˅M @8 Mow+WR[#$*IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_mp4.png0000755000176200001440000000113311440702140023357 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS=kTA=wfqIe!d JJ@H$&[;qQlf+ 6i!Db|4ۙ}YE2,ss=38so囵nH}]Mr5F3ק |D\u#=.??/M# {ٶ6sgt<{%$&NI' &R(=ܾz#8}C-`2OWqj , G@kYJ4 ^ g*ȕlaRԯY&07OhSrYRA93+S΍ \PWCXQ,̎rt΂҃(.@-T 0ڛMM+7/+D 2PPKr=M0!.xGVQǖ-c޷X*oN@PW$?w?L!o9Qqa QA.IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_ifo.png0000755000176200001440000000126311440715702023450 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<UIDATxڌSMhAfv&b+bAJ%4X<؃OWkxyTLQXy}g뾸Ͷ3ǓIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_pdf.png0000755000176200001440000000122111440702122023426 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<3IDATxڌSkA}l4nK=gMDDR+^ .z G+߆/K@?\C( oYxP!y҃эʩH | h}^JR6uVy _ӥT~$b.tN;S&5ָd|< -S+I}F HۆL$ DngMkGu֓me!FPW@}o51R0`u2R.B ( #1Ё-V-q( RH!+e$'Bp+%ے$YÁ9,&? ̣>C_! AB4Hٗ}vXwv(v6N{Xۀu0sf.#X(p2N.^G`.Ln]PL;ay邙 rӱ祂֩^߼=O0ԇm$TKlIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_wma.png0000755000176200001440000000126611440707154023464 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<XIDATxڌ9hTAƿy+"H2#"V,,,, XĀ[xKAe=VQ cW<X85+4 1ZJ` ܇3kA{mo(1NWq[W]d3w w{-NchΦ)`q,6MM4v4O ki* D2BBw((hą'ȝۆ{PqP*ъgo?,#vw/(;Al<v]'ȇCwD 8k 7 kP Ȓbb )66la|Nt/}G+ L5"?rC=1^:E%^\6z&B`,b4b]x .?<ԝ]BHCLZJ̟k ˜;e-I 24~\+gl!̂ XV6>erAW|yT R"Ͻ,Kyh1dz՜K^..[}\conW| H$IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_exe.png0000755000176200001440000000114511440707104023450 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS1OQfv;sАK4m$; P bNPXcb.&F D1\dwW0ݼ}73߼'ZjΚn|_{G) ~hh@Mug۹c3 fb`wэ7q*sM!D3CȐUy$mƫA>>q. }P+)"cp^؀<[ȥAx2WAr{ >Ti8,m`vB3Qc#GLJ:\M;X{U|bq6v An QrՖSq#U[hHq%pp}w7@0ߣ4akJ'2_xܨו )ۓ+]uP̔\,i캾ը_q"8 Jx78Ng}mQ7SmJג׵umBk: IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_3gp.png0000755000176200001440000000110011440702204023343 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌS=KA=wg]1U>`g"D1BKꋝ𐀠h!!!]PRŴ">g&yO20ܽ{s/kÛ `EsJiC(#ǧM^y`m*@]X16CsE )˔rU!AN) zcݨQzhvvA<RLU %>yK'Gka-oQ=̀ZMyV\F53 <T_f9N7+%u&FyH@2qP ) >' Lr =arKP,`f . {$P €t`:JStQq a&ᒯu+]D!\/P~7q]m]ŧ=9I?ϙZӈ_g{W;1fIENDB`shinyFiles/inst/www/icons/Icons16x16/drive.png0000755000176200001440000000065611233076754020725 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<PIDATxēK@ƿKMRB: "8 ("hgAwuҠһwFGݽ{BkQˆ#M3XZJ@$,Ӱm WYDתxxl 4ɩ4j?B|=G d:iF;[JafzjfdQJm/8;(v+,3@Ks^7W׆!k dO\()qs{q~Y%c Ju=tJX|PC-&f~v0 ؎ 6Ș2vF~۞`l0_쏭ލ <_hIENDB`shinyFiles/inst/www/icons/Icons16x16/page_code.png0000755000176200001440000000133011233575730021506 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<zIDATxڔSMHTQ}ǙʑT!BFST"s´E.Z fr2HE$dXR1[Z?3μ{;<3{wW+nQF*(,-'xm4k/4u}H⢽ DzWD$;ڍ6V6\zAXhMK_ V\t5OgӍR)SF2Ϭ^ǟ!K2)eӴ$Bg,ϤDq,;ʺ_Fڕ&@IZ&A's8>HKgfX[6)%0a:SNj#ࠓ[_7jUR\A* l[{$nO")&Bnd `xr_/p|ݣxu [N^ 4 83$՗B]ss(<|k8GQIy6-hWV#=2]+UVAU2@"eʏ2L"/=n* PkC2֎*dguނA%BH>`Ia fcOlKw^cz&su'zV9-Iۢ}G:J;@ͼo͎rzIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_cda.png0000755000176200001440000000124511440714120023413 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<GIDATxڌSoLQ}{G5Bt a&tI6aE4aI,l4h& i$Hiν{f ^=;~{25 .(Z/csxc]1ɽ cn P֊^ZϖgwWRI8CJ`o<~ j0*2PC,![q\-dqGiIs 끻RiG3Bcs;}J1~_ 400&s8.DE1K" am%WԄ-ػ-o.ܭitǞFf !h9jwwU,PnhhUo.֐hɤ\+T,O̦dx~elrf-n "o+N[,!IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_r.png0000755000176200001440000000246613350006203023131 0ustar liggesusersPNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs  iTXtXML:com.adobe.xmp 1 Adobe ImageReady #~IDAT8mRKTQ=weTȔ",[DdaAYH((Zۂ'$a A_(Ό38ww}9~OLNΆBZ#Cf|jg:󶶶R9Al6'NuiH$_ ܐXL CDZ %h1  睖g;7!1lqn@4 ,g [`uuss67-v9&̀,&V& URtYĻ󨯫E0+^%]WJ2Uui[4JH]qVBȃPĠT ]06r^NtC 'h #h8:ן&ANUhznE[B8v Rg䌺v >tT@q:9{rR*+n9QH }^6.>-2/e݇ I  Alb)%1=,&r Ug wz?e"RXYtfbEo w/ ZW(q4V}oyb-%Ӧ3kns&N,&eYȎ7`#?⏩6~&B; *#Z?zrwh} O⦅wh-/}txqaDV/*Nv΋IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_ps.png0000755000176200001440000000116011440716116023311 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSkA쮗3!b!(!Bl2$6B!B$XDC \!"Z(Fݙٻ=O67o{?9oq\3eu8\fwDsj+lOބ {9h$~2(v+ e@9xiҗp5NZ&,q{|fcdѾMM}qX韟e 8{;m qIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_cdr.png0000755000176200001440000000117011440707210023433 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSKTQf%P+"r(i@lF#UA"& DCl-)p3A@! l3{=w9Wxqsi|zGR\v|a$ȹa@}1Y}zwg>O@k<{ׄ7QL`<W+sE"![đVB@j %{h_FS-#`'"-E8 gt0ATD*pmZ{f(<8@dm#1mR`aa9A8h@*}[Wp\5mۈU& WswzyTנʗ*#p.!@N:}Br@(G1xlg\K#hr\‹ ylw2 4xq[kg;DO5r-̼Ɂ :~_ݠ sA*âko(qT ݘ*ew :f S>{p^pnLn4w >$C)iBf"%|h;_hoCuqi 5Cww/9<Pvg?֊y`C2[hO!i jϥ:Q/x;2q>hWK&9,#IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_jpeg.png0000755000176200001440000000124611440714750023623 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<HIDATxڌSMhQoiKRLR (֞ċ*TţWѳ*أE'=RT0J6%}fs%& >2d3$B)Ir׭jHC_q%&|b tL#I6=SnpsgF  p}Ĝ""y+Z5IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_asf.png0000755000176200001440000000124411440713774023452 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<FIDATxڌSKhQ=wfVk,DA]"T( ~iSD] ]΍BFApaBEElTP P"67MHZ/a޻{7$ _~>Eq-?D== ؒ8ځ)k?1?|ÓFX) cca q10 wM}8%R x F@F HOق# f/=ˉF,ɢ</(lBw:R3o@smx}FS#{7Vw;_!l, )\?V'󩇺Nv՝(o?;AW+PS\Gs!SǾZԂd"*s6nb /()3ŭn2Oc+Gs8ԝp\5ɲR-π <5<ԙpÞRKu\3Z DU<4݉3XS[1⥱ Wjio98b5eufiYqveiYC~v R P] [YF*R.IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_rar.png0000755000176200001440000000134411440702236023455 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSMOSA=3^)M l1 Q몆@$ bW@%$.L\HքE7pc+npMX|}3זBq^{w=eZk!ڹL_{T3ST0MKgbj -L0Bm8?W*<Cq,R =;hn5~6)cn0DIC?a+xe)x51E:&_#2NtE| R#(J($Z࡫!^#pZVn3# ޮaoa|] #!GjlJȐ }ѸatAv4eJ +s?$p@ҹۄXp*IDz?`_#\=, ;W*,ٗ/q{` kB2Rq :Pm $ydZHͤNd6*Q?W!a IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_aiff.png0000755000176200001440000000120311440714732023574 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<%IDATxڌS=hA0"&(`*FQQ/?M'),Q %XHJMa%`!5 ha!]fgf}3swcp]ޛ}7}yVq#.,E3cv>{8rֱܱAh|]4mNxHfIR@O䥣}hlu$>1IB)\haj6 oXa8P&*BYŸ c\=[3;՗A$By}&vbQ2Zx ,%g/پ|}oBpĞXs{L]ci| 0K`;;z0v@%xL[G1? o>>pe-4P{0t!XW|rͿ&حARJ`| EZXc@eC }o{Eyz3p<\lbacoY?/?ya:HTN]7<#q o`ĽcIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_m4v.png0000755000176200001440000000121311440715736023403 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<-IDATxڌS=hAfvvniEA `Zň?hC!^a#(^0؈+ HpX`v}7c˿tbe?>}0Vd?:z9:H{F٧*Gj P!cצ&zyh d2<`H&qlK/d6GÕ1$5lY? FΟ#&RJسi'pP' \.IGxx;:/ IDq})߿af:m] %[`81P `}{:kUoBQBh&n ٵH?p#-^i!ՋʃS@BVc竽.' LIāk4an p08ѹg;աɯ^,_ۺ0Gmx!IQX>ܿ0!JE_96Ӽ“  RжIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_thm.png0000755000176200001440000000117311440702354023462 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSKHTaǽ3)iӄHBAR[p%h}-*h16aA: c&b`pa8pqs7wsNLeRmů4c.v\T+KT|4i0zuT4tvB.%<dTmb|nrOLYN?dSxCjr u,IoO!CuNeyiV [ >|/n|^HXD_nA|_3n?[EwHn'L×ĹCXZ#y=Fww̦ui*"_g@O/emͶxV wJ@!:[Bs9Dw)o99̂+WOM莆`:N`"^L~ܰ@R0Թn/"W0PQ 6^.Ͼ6ƾ14aNk衼IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_divx.png0000755000176200001440000000124611440715006023643 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<HIDATxڌSKhAfQFbRmR_- E(M=H@A"z(xE R\X=yI(BB}`lzԃvl̶mVf|}?3L :[:iC4 ˤK%p%=7PvܙzE'i+QlWFC]8#j+3LMu gq*-͙vk*D04 hfk.?&j d+ȀN䁒1>NlӠJ9j{p*T5Rc>~+uh2 `E%THNEEĥ<;݁ߎ&8 ҟ]Pg-m`od=qq,Rm==^c/V#k@Π,[+ʀ.ZBY>HzWy~=*p ONùGo0b}VGjJ0q|JF(VL۸]G7 E OQ}R8ckߧn &V=g+ս? ڐܓIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_vector.png0000755000176200001440000000114011233601232023260 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSMOSA=3Ut!q6<#D0?@ݹѸiTRK.. aB`b){iߗInf3^-.ra麐<c IC\BѐR)/}=^RVGmG <$Ό_*/&B`O`T* ˚,,9ʘS##X^YQ{SS0Mb@zp+HMsQmL&sH"ξ DGiq(#400Aܸ>l6 ¬jx)*,&1v}{1_F!e}Y'nュtzWٚV8ٞ[/P,q'`O[][Ǚr :2dRs i04pGWKu! 5 = dHr\=o/*P1x"lĩZdmp:lCv3mJG)=M}TZDnUcln {5 ߘP $sS!PR&|He. B@09uׯޭe<!p8 7蝷nf˶ߡ)P Ll<v{C  h=_O oWO%G n(>OR#ktZO!;VH[(}dž [Dz[f>p3O?I 5 0Kj0TIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_flv.png0000755000176200001440000000117111440702154023455 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڌSkAfg]N+xbJB И4;4ژXi-h VwP/^;owg}|ADб{4I#M18,K|6h V:z8=)6¿29]DiR-)RiaAwVGe;=4u(f.ajoj{D+t]H)R>?yq 磊RIG!D-Ũ$@VN`gf&1l޸y.첞PL ύH)X;C(1@A|K!Yvn):n 83e|p\RQ(*~/V^Gr3g~yC dl9҅30IENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_cplusplus.png0000755000176200001440000000132611233577004024027 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<xIDATxڌR[HTQ];w>C!"abJ"#(~B> HQgz(cE1uG|csOy júws^g7~t)7Mp5bclϧa+{ Y<灾>V[W=Fb-i8 w6dEaX cnx<'k d_.I L3ÑFmm#ȥt+eg hjlZDa%.@JX]Mafy"y2COۊ(\-;qP%V Ӫ*}M ׆&k$T@]aÎpVHW'OpLFsc=pƁ;\@VU 2#KP[ˏH\R]Ecp V~8oužst2cgI ' Λ.Oea{ Rre ؅OSst#h~L)2/Z\Z{Ln]C k%'Q@2s{^0[7*1V稜Ѧ &%LJҏ2itHS D2Ĥp[*މ>V ;[\lpNrRc:I te 7(UC6ҋon}h zQcO_XYF}ŗNqkik~9>U ]_\.lUtf4ONmiwD AU9E L=JwH{լA|Ae3-zs~emF?yUn+99yuBo%¾-CԘؤIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_fla.png0000755000176200001440000000123111440714702023427 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<;IDATxڌSKhQ=o2~lmڍ ?w~@pSt%+.JŅkqV]JPp#h!5"k4d&sw^g2>;{{QDωԺk;q  դ? S~ɾzyDƅ>eQvݙ` Mx_ӭуΝϓ0-Ff ~O*ēO|ZODD:T Vl*2(+%4[if`vec̩~-#Bㇵ/Sa!綍]$&jO!gxeʍl'3Pjw~ݜB4wLkqwZ{CLx»Хd됉2F\ ?{9p+e}~ JotQyE,?JLn5LB fP0wװs" {Rѯ1W#1g-'>Jo2JmCJ5x8߯&Wi|XY(,.#9CȂR{8żeI0&{C<IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_log.png0000755000176200001440000000123011440715710023445 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<:IDATxڌSMhA}?lO9Dă*I BM=TF[_Dr$ DЃUAAOVwgff-gw}{, G*W)3j`>.zzH*ا7]Fd _~[[85j^;;/ɋW0 #@ x|.6B2k DƲ$!X\p6e2c%LcKwrQQ7 0q8>*yظ>3ȏNaC6@}1 3HmZh-aQ8=5 6632!V[jpNc:b4kc1J vlCN)"c*U8ru)˂&RTm&fQMUK1sSV20,;i * ZS \ReX_Ry^*!J:H)Lya|#Wɀ9ˮ!=ԦFbJƭ*3~nyכxqv _/~ ˄]cz*.b,G E+ɬ 7xIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_dmg.png0000755000176200001440000000123511440714102023432 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<?IDATxڌSkQ˚1P#X[;]k$8mMK;l#M(MG,6Xzta'vf9Ra0 <FAm+ FE-77 I!)" V8bN_eWC?4#"$%=X'}ȻIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_powerpoint.png0000755000176200001440000000121011233601064024165 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<*IDATxڜSA͛L\BlS8D O;+9X\a!'; F`qDN+DT"+!XDFfbc3;x#NIS B|RDda ?r C77;JBҁ=2&w{gvvv:FkǏI- Q'J9g X!(Bsy%68%#dvyDl]Av+~x֨u|wFXT\|˃շXGm\oJXiBѐ\ɻ9ѤpKzj#A2!Dfs2g$1]YQQhBU s6?5A*P"f&:$ZR":Ť#eLJ['v޶?^i9.Rao;P W?@JA`*CWzʩԸNѵ#fJ;'f15\vROETj8ís6Ty,NV~9u%϶'+IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_ttf.png0000755000176200001440000000123411440715042023463 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<>IDATxڌSMHTQ{#*FP "vgh#k[BH-ZZFakQe$ȤP0{v}ME~ k-N-Vkڍ KSk2J,CNÚ7qgLWs L70G@pwu 4:x_v}#O\D2"fS.&C@2'C8?){8˾2abRDhU!зt(a.8z҃\UZZ`o7oS!D9lF VL؁[skx\ _EI=}!*9,[EqKʳ Ə$De>~8ɝF%f28VxoEs[>f\4[1F;3NYRҾ?~o0fz&IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_ptb.png0000755000176200001440000000123011440715076023456 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<:IDATxڌSkAdi4mlb`@RX^zxz(=Ŋ< T{C<(5Ah b&ogmmz̛yoޛ7:sZ6=Bע#2<6u/T< Nh>+Z{D`;>/Ga|.=[(7窕b=6P 50@D- =J%,(J@& ^ّp3X{2t2!gy;hy ;(0U?@1pӏq8j/@RH ][_2bn6.z4m e0:$4?!}y9 ;ɇr2I֒ϏuQYX<'›q?x//.h.+]Yu*KUC`"$GIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_acrobat.png0000755000176200001440000000126111233576702023412 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<SIDATxڌSKhQ=35MV"" Q BEMWn ݻԅ(!]T RTh(.jӠXII&D&;sߐSSS,Hl(! `E)h7M3|atB>~ɤ kRdWsȮ짮5RiDQOLsRN`-bZdpNS[)`z7 Qqn᎖LYd>/țٯ`Wǰ>@x%C&.HLDuO;4~gǯ߁ŹT}=U{>-b>NAZXR? !>5:8RC!7!m*5tɍ=iڒug&*Ѥݦ ] 8o؟UFy3]y, '-}=~Up_N# 0@[U|i7)JsXtفS [X QT\v? J\wIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_cup.png0000755000176200001440000000131411233577022022561 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<nIDATxڌSMOQ=͔/RЖbB\ Dn+[qSZ CĘ( ƺ(B4EhKvFajK ѓywa lD'cxkz:LBP0E9[j,5V # b"œW ,Kp8&|9{{BF&29X[!]Y{y,٪ (+㖀uȈe-K5MCF0STQժzPBs<:,;%=,*'&xu&$rQ::W$9PYD^DpV;[jIVrѱ15 w|b1(] dID7ЋK0jJ4߇_y}"ʐHecgw:N'3d>@ .j1ϭ:@Quʦ  q{dXB:,|FD äEIdjȮ~B*^x2{xn4,KubÕaXYE 67sQ Hh pBQć""C`!A@,z (])xvgg޾8FV*khXg-BjZs-8#MU|m8S(gs>IF^1x +Hq$fcq Ab)%5Á:c<ݼKHؖUB|>8Ljt1w"* q5s~RFkVX_{`|^z@kJCE I|wFc8$[ATHFV.20Eol++HKZ 4ݚ"`AZzV~9w ϖ^>U i hHvoP,F^iN63 QYzJR A!* z} 7љ6gJeJ/qoLsq]Ξ3me{48_?I@19 dd|m#ƫCq?xWߘd6lIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_ses.png0000755000176200001440000000123411440716012023456 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<>IDATxڌS=hTAȩhc#t@I$HIT@H 0)Qڀi!K!b@,ͽ}#.3|3ˌ18W[y  ^;ehKBliʅk5X;h~mk@Գw+c֖!2Z0)\ƋC|~ΨG =i25,s@\prPx<5ɺ N6KbOv/(5 0}p<.IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_asx.png0000755000176200001440000000120711440716044023464 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<)IDATxڌSkSQ{R iFiD[V,u:$".JAA:]\ jQ7Eb m{jp߹R K"``9ٖB)$ їzSH~ЏOr\7 `2 A%1z S4OQr19LN,.[aB{ _seZa@/̭y}(wd0)(&7WkSi͠w 6*0*R)r·3W77di`]'y. .O 2fo -0 k8lj[U\mCt>K"q: ];ltL7 ($xcKz[|S-`lξ5 ي0s3pQvɻqo `SNY q)-J"R֝"rr? 2 qgIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_mcd.png0000755000176200001440000000127311440715716023444 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<]IDATxڌSkA}3;4F!/bՃEă z0*A"PERsOB"jQKARcTlm6;3} =算|3ui gO'ơ }߇OO?u|1?pr%&Pxxw`P6sx8nM2 T;-qb@~2NƅA&+,3)aw$u>[:l=r &E۠@H"1R`h;~=]رgWY2}m&0a*| 1 VjEI08 r)Iꪎ4 Q3P%)\>ړ`Ʉm"hduW3l7}F|^\ dFq݉oqyL}[cX֊\aVxwnEn[T(CO_B;"s@{FU'gXABem, C*e1֨ӡIػTDkrEĪn8]*G =]=.UV# zBiZ'O}T? `/FWIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_bmp.png0000755000176200001440000000123111440707242023444 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<;IDATxڌSMhQlbMh6F" DDMm'*P\[z0X/9Wfl0ъ$owsfn ;oZk\]|va4(0 Y]~z48+ 9nu}z~KO- "p <| \d.ݮXuBAA ;hӉV@6&}Z ].Bά  +$,R~oOrh=D|_[UWf =5%5ʯ!R# ,!W{ @'֛a4M|~ tj7WD%v2\V" njB`X C e(J^³JH~HNBq~ye(Tl`z'uHy7 4FKNzҨ1t/Q]d(وIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_dwg.png0000755000176200001440000000120311440713706023450 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<%IDATxڌS;hQ=33ׄP"cP.(0 "F E $ĈM0 DTDXX@@kHv{l2̼߹{{2YUx]^@H[7-urPPKgfS{2wꙵ:gkZ/HI9KD Oʼn jcHs$T% bzx ZH"{CHtg9DZA+fS!۷`u΍w+;((0K)vԚ#uc $9^c~C+LZηX_t QPP Z|Cϕ~7 l$p K /Tў>> m~N;I"gC1קP5*QJK Y %5.yԳ=K(wňބ9YG%Oi.w*"sБqZG8?:EƉ +o?}>s 2{NZW-XUIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_cbr.png0000755000176200001440000000115111440716124023434 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe< IDATxڌ=o@ڇc;%TtJB*]("JEH)i"]q]r(jHPw 13258,khuIgZKf1׼{4qz14 ߓq!N~)  <5d"=~;|ӹY Q\+1IrXjcg+(GJ%J@^"uR#D5ܭQ'\}.(0rZ)erv.nMNC+73Q]F_g@r?NAi(?4\2~ӺCGO=O2oIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_mpeg.png0000755000176200001440000000123611440713742023625 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<@IDATxڌSAkAfv766`!PŃ<$5HjlGڣV((BDr1Pbڂ6R횸1-8˛}o5t]88t/ Xr&\#}P tL+M/oG./1j%G" C  UHy "qM9i&Q) $ 8B <~C7uE%C\'rȊ%vl%uvD~q!ke@ >җ"^g28y]݇aJG+@e5 4C&d! W:8ыxxz>/nhР.X^YA*~>U(9, x^/+Hf2 ':. cm} 򖱿a-\ $Aum th, #bJЉAU)\X"3-]G$bR+0DȒRޝDb@S̨v9;񙯀+f7\Tjwr/v\@tFh_|U(%V7ӿ@F64I, DM@Sp @j 5wQ۴IwG(+KJ8c15 KҜ,q>`zH 19QeױX'|}):g-t^WG>Df,VI;{Vm 0(6IENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_html.png0000755000176200001440000000130711440715016023634 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<iIDATxڌSkAf3MkQjlҢZP*Ă"ŊQR? ī'APJM+xve.k=SyZHuOI,+#C}起=nY s?P|/c\eL X(jRDxk"qJ(?M &ɝƽAᗅx?eHX!0} &Q}ٜWXAc Nqsa ]rf: ݧgOfY"P tC=^ LM:1v3 _qjGq~Wk^@fSJ031 O1 $ZH&$0TwT tHs\ۼεr3ȈAD/  E$1cפ:JAvUKjYRqܐ9@ {WM?fmܭ%h} n\Bo{[%51Koo,lj!ǐq<0l$@Ƈw/:D7ϋLUmr`FJGIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_database.png0000755000176200001440000000113611233577032023541 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxڔSkA}cvQzJ.Pk< z AOzIp|zOfCHCx,I_1E&W9 c E H)fU*kgpm(4q&,# #}ڶx^m{#ӭ DI8 adzG?[}x.5$ 0Jp JIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_flash.png0000755000176200001440000000123611233600060023057 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<@IDATxڌSKkQc&!MLF IQIHB *"R ŭ+q!"p#HR .E ] ʹTbHc M<-Dc̽s<ڎ\!-J!XR O}_m;vvvB\糚ey+EKpEkU=- E4TBӶJQhGAzX؀iHRscW9G[9\tKsxKK=ɠs$ɄqNezDm[_H&;p8GȲc J"C/"8q8w/mK7{G 4X`( ?~޼X +;UeqbuȌCi "[ױ) !P:4;ckAެY]{G}82+gC~*1B8ZlZ G();SgR53JaVKC$Xw c^gPOs,ϿU?qOXU'0th ũi|ښ,"dn%oGU10TXIENDB`shinyFiles/inst/www/icons/Icons16x16/file_extension_xls.png0000755000176200001440000000115111440702220023464 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe< IDATxڌS;hA=}F%(I" Q"?b M@A,BSjDR&)6IFDF_|vfs}o9s^GXooZ)W-HO3~l]!WF(<1rh,nn?=u-I[x5Tm,ɻ0fѴ+E a" VS(JMG/#Vk̍I3xGK J$eن.np%CH|¶Q1#kF:l\]9ĩN߱=4 Rb]:Sb@cb\.>M1A 3U H0'A^ ;1ٿ_W5uq^d 7{}`qAKcsmÓ{x˕2&1C嚸spfJ Jcՙ#KV-ٴ8gD_Hx`Rq}^@έـ_?v }qIENDB`shinyFiles/inst/www/icons/Icons16x16/page_white_office.png0000755000176200001440000000123011233600224023211 0ustar liggesusersPNG  IHDRatEXtSoftwareAdobe ImageReadyqe<:IDATxڌRMkQ=c$Mj11 څh7R+EA+7t_ApN&&)nJ(qIH&$Ƃ^8޼wg.[fMÀ wX;c߯ͅW7E H Xj r`P*:w ,zp@TkMлw)-[?[̓^*'#9;j*wBp-OMWJFbшg0^Z;=":< ݓ}0}q>s a3sD|3@)+wGpVUDUkx`g_u<(PQ,y<~/sHVNߣUѠ1Qr>h@~^Z:gXhx73&J$jv"VhP4d&1/FHu$0~sw`4~+_BSdCw$7xmUȲLf-pbdOX]( isȤ0/:$ S Hƚ$ i# DM2i`94aد-,fIO qT(IZ(s׺ Iho~h._CpP4l/7vDq,q=L#*~,x" Moġx(=u;\ c:-,n3j:O`?q MwIPDH4  ڒ1t7npOA3ddWOِ:ҺJS|Dc4U Js:{sݏy[ K//.i nG?T7' ]((Dd;IENDB`shinyFiles/inst/www/icons/Icons32x32/0000755000176200001440000000000013357462506017073 5ustar liggesusersshinyFiles/inst/www/icons/Icons32x32/file_extension_cab.png0000755000176200001440000000303011440714474023413 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWklUkϓF)(..FmmMMM]l P%z`w1O~UӜq!2@II K/{hin06A%x_H4AH~57e$8GMowK=**@Dk,G(**! gҼ P#g;wlaؼe+a*I?0J)>[U)[mZ@W1D\%W͛j^tUGöm;>Ì@ ΚqPhd[?M׼C@T.8pBZ+"K@]̙C$U@,ė@uvAHɶvŋdD|(Q`Mıax<߼ -_r)Sf}OO/&M*=D2cக*`f0z{R=+yJg^\J1ٔsC)ĕT @^֗tl<ֽMa'肯}ۊ0\V i~ؙ]S ;_Ska1 ~Rzs+Qd?=@2{Ǝ\" @O48IņJ'+MQIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_rm.png0000755000176200001440000000323311440710252023277 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<=IDATxڴWYlTU~gA@@@Z[â-!B}Р1AcEkhm6<( 4,%tAܹ̽iӨgϽss4 rccwt]c  c [. =xjtuu555W1ۚ7A!/a_"TWW%%%Dz,!FZξQT@U@L |_]xy}}5v2!IN@wwQXX DlHf$Pbn;lL AQ"܌׆Di0(+f=05ܫ,XlB"/ȉҟpmJz E(d] b:H]Y1F@ 5HUhlOo?5sa407 y99Q'*E+u㽺Nhd疱~Y2gK=s:PY<FF17*45 o?db$!,41r,Hv 7͉g 3 8܊G,a #صe6II%P&{sygȜ,@1 hKG'Z0Be4ZjKK "T$qjHUݛF KUB՝uJn#the)`& lZK%kjQhEUI6F*Q|XR7aCa&_OYcjJ.`g"3)DWxNb3^uqd\eZ?{ NM(͙Q`h3~R0KcmaVgqD; 71q&~|)>~)_#EM3J,őQƲ`qH$?Bhxs9x$ ɲ#2:㱀VIퟞsqEL,+Ei"$8CesǢac(yv\DS6u²"ލxرU_ߘ$4g Y_Fd~x)l`6|1j&vjfw{Cn!LOr`+PSP|/{DWC;3=h SgiikHh߿}q 0'KBuny9 7 *PxY%€aUשOD JcsTvk<>CM^AS2P 0@@\ ggFv;NU* H%xTTQf=!6O4l4'5&N2^F N^>䦺pr7_m , .=|`A)ֲ.oöH|E^=>MqSu6yڇ 1RuNÃǯb:@~F 7"@ok|.5A0#,u_0+9FǩᛰҸislN9="9Ga %jgaGo 0r`kuIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_Rmd.png0000644000176200001440000000266113350006203023400 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<SIDATxڼW[lUvfv.۲)XZjZJ+H4!&  ӴR$<`^RC &k(h"iRJivӝum͟眙;i0bN&>r LJ2m?%9H(F~X( cH01ۨFpooχ@]zpbIYrY.H, RG@ŀX "qgrVG~̺0 !,7x.P&H.K$A9x`Vٲ?99y%,D­W'BQeJ5O$s>CAj)swGFq1x| E)0ru[7a 9eYa2;;{ SY6kG+P(~{T΍b[*,ĂV]]=~g"d6tGσsFL? Uh!AxjEXKaxFAೣ/[tL'$KA"_e` @ڤt\&H ԯ'qϙxhg[@HGg gcKKH$0wv}۾mއ]##JRcgW+0wG<={-X.,Ux6:^wUhB-N^Y=ʗ0m^M`.4K %e8^~C^Fޝ뿞i##JL:!sBJz8y 2߈v=#8`jT-URq rIj:ra$C622}UMԘvUMtGmFmzzZS;_k)5qi=z唒!u+׮F!asCT vQXAl&CTN`dYFmLHVlzv\4(!Ec`ۍ)f ~"v*j)J@f#>P*۳^Bʵ0ЙU\ "xeϿ'Az{PIl~/jꞀ6 /In=lQTU+'I 6 Lh D87>M;f <Oy5/tDII OQLO`jl~ޢ"N;c_hݗ h|^g3t&6v`iy̩s`N,~N}^ߴLh[)bgՖbޡ2R@-#l|6*<;gtXh4IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_mp2.png0000755000176200001440000000310211440715450023357 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWyle͹-[ m)T9 TJc4*k ) QCQD1#1F%!11)GZʑRFʍӆB! ޷3.mw=μFr,$[m7B6@6ꞧӄ=_=)F%]]]ΦMɮ+V5e~0$YD|=)hhh@}}=f͚UGAi!v-XV\dPp .4* @U$`۞vTBY>rq1g'DB r +D?6etl BUO&؆F/M +M%HIv@`G.KCNMjV@S5X¡:m Q"Z$gҔJh63 ߧbzTQ7+m 'Lۣ=Jo\k$'$AWir;]|H+ 23@>T|.]IvβjB,ۺ1ခo$Wf5so^|K>ryF}#~Z.xiB ,m?Woń1i;``)өO#nu2E Cp1<8X6g.p|G" Q6o}CԮ*6܃~Ak+vmhņxKN%ud:/SE?0{d&ú"e *=naKdB4ϩn;OƓRam)P& aTd8~<.HwOH~ڷS@ÝV*SsR=TY߼E,NAWa|oۏB8͆yZ@Cuh'Mƙ{8"V,ǒpp!y)9;Ϡer(*{;f|V&"HtT#8zRUEK v s DqjOj )5[yUGm覰vɤ}9dz%&ҒLl .ҡym ;J'f/ :?Ho0z~`Rk/"~ IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_sitx.png0000755000176200001440000000341211440707616023661 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWkUU>W8XIPGfFdHe" 2 "+A,&u0|QoS |g\=s9ossG%fϾgsJ)0 ޼y&Oy3(Ynф-[5T}}Fʵ ) -0L]+wW_/S&MD]],Y3gR/[|rH&0iPWXfB\*&O3f̘qs-@ E"$eAE#02Y?=l@﬙\񲯯i 6(T:uꈆ30 )(Bd($ Z׫:o@yEX(&'rHL6m$|KLBD<s68VÍĻ:;5b*TTu&7~<ׯOprqTLނ0ePgϺ4}۫QLP("FfG>#$`a #O}a [Gت~sF(׆%G]2{-T, $hEES;wÉq"p,`2˟ٳ A2]s%E9=VȺ#lAӦ7%T M NH!cޡSv/NP1AePO;O(P MO>+OVQ % \WyܶvVDsK1:1]ZSDr0g(`Bg _ nV^`}vwtB/|/rDޝ9! yR bҨ J[t-h >9"0 <ЦG[lK o)HC$1.0"8/ѷϴjzPu=։HWD )y1ٶumox7qZأGIi&'Z}&pqL}6dLj^94oioCq^JLJ_tVb(C3(۴kC9:"XÆBsߝoJr9e]#dAŔeTY9ɓHV=]1ރo|Lf2ĔɌ}&pе˲Ct.d< ~>B]:^9V>RJCa鶴b?=&x!UbJohPG"E*ce<+4Z:[:}E,m% gwX;1q+]SUqG#YC/éG`GER>170{b9?4^0:H?DӒҸF?2 uu~ dA СtB$IPҡpj6d{@'ӱ/jlbh >7n8h<V~:9p̦MS˘O1KĊb݋1s",{qX t}&ԜRrf?K,DΠl/L{“)gvx_FR*G*υJ$ v!!Kq,  ģ&mNE ׯtzG6} 1c'3E P>8\┪}h9d^hC\!/OW$+]YTSUXxJĈuevr>AaJ99[qY{?^YG&\G0c Ѕtx߇ɂM;SW$zuET($dVcKf=u49 'uM 7/0fQ]S%^əd)cGѧPL֤1:8m]H 9#oQn0[:1t:%6ubkoY'ptg$[vm[1əղP*O#?@)j;[hV0{v ,Y%Da{]S˽_vhĦ_F, #?O؁YJ%Nr^Ip*6??D$EC }- J3 L5-Mx}:_"a3*Uii{K6<*{%LfbWu̻% L'ñ*]¹]Ǩ 珐{+CݨJMX?q, 9wu(\x\F) KCjd.u CBkX9s1F PԍyqÜ̲gD<1Drzџ_!U]_W'\IENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_php.png0000755000176200001440000000224211233600400022541 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<DIDATxڼW]hW>wb[7)|> *mQ,ƆJlTV/)}DCLL1jUhK҂P!FO&=ޙlvfw&O83w={B:tT2iKPqNՅvLl7Kb8hUo= pg.H1CϦMo``{#4Zx#ͮ(`JiCe)yX7CC㴖@@\)/'q3fchiieZOm"@Z)[˗%ꂨ@)7+IΔwRLSehokkB ES)hB8v8tJoDzB~ p JR\Tpp-~0 X7%%E\KmzI%A` t dz.2)/ꩌ o R*URPjհ E-3- _ 篌0i |rHy :ι3?Z;1 Q(<X$' WYc?zo-Nȥ[By߱`+0x:L. ¿sYqۑmgwEDsc -x'}?}WWpP7q|ۻ%Ɵ˨Hb3a-L@UYWm f]`Q>6`@k \G <Ą@䒹3an~Tʹ/wtLSii%vp%ݳFCgXd2ronv㮡6UU,thLF`Ȫ"-=+Dt_N,+[; Sj M=="T*{ Y1**:;qk[\ Rv8ʛUUP_ec2jS~$H(MC?{4FF+yK:6UaIP/ui|c|c?sK98IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_pps.png0000755000176200001440000000253111440701466023472 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW]hU̽d۴6& +&) b+EEşZ_|AD!TkC|iMkK&)I5fݝ{ggv wg{LJ o0tt:=:44 Տ7i4LNNʝrttK,BO0v>Ѓ1 c``)ybff&}>D!,flW4?9'*Ua5p$Dooo%[9 d_d6tEWxcγD___v,FpV(p({:i2+[=c͍̀iX9U' C7 >zt *lf i/꒡(kUdQ\E?Q1@^?_ۿ$oF,2N )ZSw%\T-P $TmF؉ $Kd odn 3b_Ez*g5jB!S:17Wtk[޺>,qXXz:"擣k Y JUN&wWXMIBeH^Bk2h;>BHPUcٜ0 s_7\"NL0"/!6? I.nY52nN(w-(i$&PFI *e[\|v5aH++W[(B_\ iUyOÕp}OctXݬLRAț*$JIEXlTݴbtwg?3db<˿g.wruQnB5>>)؀V*FҎ{m_Y5NLLݑHL"Ϭ埮0ԫvt(f_Ӆ(E@lѽKhmmEww>,x^c FAƙ]܂666v׶&uTWƆ ]]]mAdbRIwsfuLt[O @*)$Fѡ%Yk` @Q"5zWX= /d\X-  ] wv{N=T"DMNXKd4`/}[V6 T(PĀRL p G Jx!Dů f P=Ti0<&߯ qL #.F:rj*6&x D\]1GTL7_''cW|!؁쉦kjJUأǎ \d8b"Pbb &u)潞6l?uP^M%QayA?,\܂f\EK[ \>݃O: \X~s:k Ld/kοK#Vwwbfvså)ӧ!x lǏK_4>ׇVR!cZ&TFa:+>g{̌wĻ-,yV泾؊SDߗuScRn&=⍥9Ak/DU4 (6cx̵%|^KEptV=''"mx7/l>d-JZ2 wBNKCNS~a)ӽ4 |n6iF 95@um$[v6$s]L!(.ZAIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_dvf.png0000755000176200001440000000340711440710330023440 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWkLW汳v) Q|KEZiUZjƦƦ5QKm#a6?& 455U֨*P`AwfW]YnNf9+ 6AOu8;;{=o[II_VJ0G͙+z(B_Ce?͛M Ą89AQ PIϾJ |wQQQHOOoH@$Ȳ&Y/]^$_ ,ftvv!::)))1EEE@ ȀVi1! 5 5+\؜ y aY}LN ? BK (Sd~QxgF}\BhnǼPjpd̙ ̍3 SIBH yjlf/A(=Dd4yTٝJ h$%%q z H:B 'Ǯ ua.V3PQ@sM0*"n.wTvh HcJ2PIJH2SCӕIg KaI+rײ7=E'X")"ޓwKbPg tJmh>{ecxc@A;V9ĸA޲#ea4/V аMl5(NQNaqzx^mGMڱp? b.2|IX^K ygvlP|3m/ENF<:*&Yh;vX矜7(EDZ8s#g!^l]W'C2 篦 2̂0 !)&S˂ȯ5JS4vab!s,6@\ӂF:Տ-+DQSy ;^L$^ " sC̈́ +;ߴ>֣gp^h:h dGyeFx\w||ZA 91C %_5t^X}s1zc -dO&]O qb~M9k|MOKA\TmŰjgly,C=EXigf\nEAOX2h=7w=e L/YSP ڨEsg?N݀Q taHx3i[X55OYI핇B`Ӿ[۷[fĠ SSin#fʧJ7R7%O-#Qp1h,f#ll)?GH[Yko_D`yv;L #|x,GEފ˜2Z c͔WGie /lo;xuFxs,P=}Yу#OWq:n+Nat# &q( ~0C:v.cdkb<|IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_aif.png0000755000176200001440000000276311440707712023436 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lUΙ3h[J  $m ԈG}11HhĤƄojL0--5 ^)X(BAhӔznggn?ǁ1wm$$}?梞祿߹_c||9rH  ]]~GݍN?uttJ,QR!|؇ͻwkUmg^R0O:)qH,2S qgؖ k1X* 3b 8]<Ի*1sH XY8ZOvVb%T#[u u\)ѓ1¥%l0"U%9m64.;% ѱ-%W/B#Ix\G܂o>ƙQU }o}]xā{|?'n$ j[ {'ֱՀ)>ܧdHʠ6-#AnVUU9% mm2Ԩ$5eZ vT+gr.۳x F"N{8|0JgBI.\$;9Դ5 {7 d.ou ūjr+xXh u#~ohG"ohk>_!tմQ5_^ s~k Cfbb׻{|p-O5&GCiLv:BQGR50rɊ2X2$6(@N U`3̎_( K_t/qSQW$lYLC*)3 { HsWWR{/IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_htm.png0000755000176200001440000000333311440710316023453 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<}IDATxڴWklUvvm-}(Xjʣ("QCb4(1HO4 cISLT@P(XR Rk{gw6mNgfs{wνl1 oY   ѣN'WrwiWnnnn!r&\ʏ=&I`_0MMMhllD}}}fժUdiT6!}>O%QZZZZZ.pH Ȳ($"C#QeǜDp{@YYjjjnرct 2H# w"q+xT ^ZX u>ӳ= iM}0P$ϗL#dNh!l]Vb8l_xxOH D+H|QLJWlAu ʓ^ts=wKÄE7"&(402$D 0#lcBgF @.Qml/I!QXY@mz)Pz{mc X:=$tQ uxB!#ϿD5>5N^Ke4Q]JKI/J>yd,Fy ۣ[o(bl_gƛ{LG"aCV)@ԀJ76FU*4k6IWjXS[bk+?<Ssq߶b_?3E9 n| Uq`P(#j;^1{:~OB6B.9U=,qvVy00l JČoYEF2D K+x5HPp>O"w;ՓĻ]]049v2)tq*qQ*5K t{@PQvI(Lh|  C&p6bݍt-E;86uV\~|ƕ8#UŒK B-l;s:pNS*4eXҷaIպzY,jqV1e)HsH⹢ȅ+RW D оwt~M wy`ŜX'D`B??~*#V`2Ga;F.HM>4,0LK$IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_md.png0000644000176200001440000000201113350006203023243 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxWKSQ?[[t%0q:OA }A ~0"~o11!"HEKF/tu|e?tp=s}ӦR) q+ED9Ɔ`C5A1tp `+ K}(FTX,x.wtt#55Id# N6V &y,q@CX5ґ#@a"*D"VU (7uu!g@ (\ 2j65 z{{eAȝ#cx%Y3t<Ft:]~QYPH8bd20VD"ǃ"_6oyl6 O9}qB2sӍt?DfY~A#/&]K Dnrִp B1{hdAC*@oՁ͝F;`evO· 6g R] O<U7]*灺掛'NL0ZT 0r"_N6_yOr_wRVF=>">ު)4$mE]8v3$ V񩨺e#ٹ\W<#ǥqSc@z+2 P :! c׎B8A"MQ(ۈHõ<ual(gjh0V"c@]+*`ͬFC,ITɤuߴG1́g;ͥhBxc7S/B9k9Pnkkk!2KȗfrV j d|3θNt՘7Y|2!oc"$"EH,bd^w.G[cq˩TKa$Ibff>74A6fZ[[ˤ;_ǼKvww)x@*tk?$ /_1|uD"b[[^HNTMMUA.>cPVV SSSًEA\^eC<7C]]CU4 Z.U3(hCA $ +,hP69(2C++̓d*cuu5LNNd#n'P @s @d>Ţ`~N"LJ@cG044^]b@4 >8 tZe ;'b]4L=rt|| L@Mh Hҙ̚P0p*Y9iwOj%vDVBH"L=kWy`N/1Q"Fay:$ FQ9|Ϸ9I(K9105OOOvfqVE "\8C szzz~<Fprrkߏb` F.d3Yepp!?<<~Sѽ{qJd(\5T:Hu6(%X8sz ;Nl J‚"FFF`yy\|2:VM*9a5a7`C5FȽ;;;|P#AZ2["mӧe|' GJ*NU3g d?gpW5B|>X[_1 ń9XX4R`E"XY P*̜.iѯUHA jjjj\8w~~VW?_K6nV$4ݹs^ eY djšBd1/4344Nm9{_~5*QڵJ4FxٱUrNUQ)j.$EEa[wϣ1n +yKa?{$C{?()I0Bg2<^--߶_sHoҦ]l9hutR6)B=Jt.XMaRiB`qq e> 𥠳pG>,f߷v "^%tiQ?wj~4h)!jv8&IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_sit.png0000755000176200001440000000314411440707624023472 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lUΜlBҖ*mJRP0[$1<@1C"D$_M|mjRlo "FA`R۲^fϙl]QOwLwratb0i7tttndwlr ӝ] Du=;?},O#-~hꦕ@{{;֭[J = ͜=tA!X'qTVVbڵ뻺  N 8Eqb-(\}С\ ($X%׹ȹae \jNZTUxW9e5HgN$hh^2!MĖ $>T2(;hv<DO0K/|= s:щ ZJJwiNJ߇޳|jנfۈGc۵ P^pH2B!~eTx}8 bɓ ([hXb&4;wCchHVzEXJzcxh^94,P[K?f6 @% 朂215`46X($RG_@!@#PUM*)4J)0(C}x}_~ͯAHP ]-?J~.eXLA Ib$w 3QQNn(`):۰ d.},] `P<$EV6Awjb jpڹ*.MYf]Phed`0BuE b I;f0(qý(謲+^2Sؘp%ǍC`ᛸMn8; >1=%złz@tT޶Qkۧ#=Xy6mVʥMѡE[F/Zl(_݄E~r(;\jC쌲9n& Pn/P$<٢E&%Ss$,(}JPPCp~DC҆U (@zd)XNKxB`o3vw~?G١9؃I|p04-hIPX+HF"R:<23MQ+K靓ߺ@ !2W]]"`%LbB(V@rSQ0qA/ Bz%N'>rF UY E;ދ7PM'j&2 @`klZ4GDGn{#Ө,x1霐z&{EKp舄i!]D!w;lN迋qq]Iao~]u2 :'v ? nj,-jIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_pub.png0000755000176200001440000000275311440707720023463 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW]lU>Ν+(?}@FM(-1Bb4!My4φP|"Z54մCHFL$S(vo[]vwfΝ;evٍz7g̽{w~FO<jdd+\<G ꉹIHRZ`RE“|z$uGDG=Pm,!-Nl!Ƕq })Og M0;)PXU?IY@CS#]r$m޼QJTVȆ'lC(RO \O+"͢6( 3)B?a4t+ykK0[ fP,LJYb&su]r-qڹ^xfiT!;[*UCҍ=ҚA${CS荟Nӻcg麛}m gFիZ%$ABX`$=0zru$$}9jRmCJSQ*Js`[CH!8B"GG?5-`įOO,ʬ"s߸ā(@ @D ErAW 'R@*i" 1jiS> yCT$ԯWfP% 5(Ysyb=7lVyD%.,]"Lv?OF8ӧb:*Z R%5X<ܭV--,YG +S %K`1Q[ vhg_Y1C`HxML<F1u}1FvHe+*WVXJ LZN!FŸN:aÖe47}<-FޞE\ZPg2Y B3:2#WĬrvY˷ 3 (QP,(F[ֶg%z ?!ʣJ:J{_.:{J(m"0 o z_}hk4oNFqRz_DD~tVd4L(I$&3c/w-'{RԘ̟%suVq⹝fQ;eL?Ve^#;OnaX"UEu{9CPsѽuEJ'`pa*Kg,Z n6$^s`ĵ3n$o4'vP[s};1I7Ѣ5넠JyZ}޽R׵/ꂸR&aB~`/ܠ\aV=xLJJ1IgԊ-rUYE_dEI SE]Qs%5aW,5%DuU? H|48,&'P? $F$9mIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_jpg.png0000755000176200001440000000302011440707506023443 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW]lTEfv@ JQƐB$4EIL! h'5&Hb|A [ƿOWMZZ]˖ew3J |:7VrS@)ռHY09۱iӦ'N>*aƶQ-Jo#o$'V烰jŲZHL"d uv0*|{߽kq]abNP[F'I7;f7О~~kR33:AR'=@9Nңo%.sXϓk޶Q4=W b&C2>G=i/a,]ah'$I\:FVku8 E,Cߚ1BϴPKps 2Pﵿ"G{uetXXUHȨB/dG^B czB5dh= wY#$8fd CQƠA829ܸ173q;+hNZ:aǻu xh!(Fw/GC:<DR7 MOIHY1\$hNW6|,a,d!K1,@.t)8"6LdT# 2 2SS 5;[4GQ,&sV1;&E׮gh\͢:j]DnvƬF5 #^ǿ8U56PQlT1R4.o&bZ\8w!\`5+{Mf轌k6܏K/쁘Պ䲨$ A Oj48vthN"d`[2 Tc z&q\' 9xsn<(3H嫧w{(-`[^' MzQz0\(EH; ?upyok?>϶HQ׎Rv]ֽ0TtVhC[vXY [_çze%V6;DDQ`Ujm+⟦ td ]֯4 sYu:|3l]r~-MU.׹~7$ݤyc[~:-SW|M䳈=i]I!c9ᧈ'q/G=Y3fyҩIQ@%6ݿ@THҌ}% 18i-%hmҬs9e̯×UIGET#pt9A͟#L-ٲ1vXCde_P[48'&l? m? XIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_mswmm.png0000755000176200001440000000411311440715300024016 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴ p{_yĤi D>*ԶjIimg}J;cZ:U!2juj@UCH !qonkw$1q͜}U( {[ϹPU.= <7]uv?xwC3O/Μ_&rB\qH8mO룝؎imod4?7\ m hn9~ =tOC E7)χ9J\KÊRÃp9"cLf RXbOVtkL/@0A"bȨxSYت +s3bY(Ƿձ``Rt"H2aIM~_EӋ|1U) H?5uLp.[XFL5̀L_1YW%ܱg%xc[ί0~Y|lZ8p#߸ d͋+K}* +* y|+"߷$ǿ^_ET*M^EM'#/GxH5ȝ7‘#Mc06PW6(܍L (BʺcA/fqzWoE]??{]VwjW Դ˷Gd̀;# r,]{Y^)/+zѤ2lM.y=Ag@`W Ku1DSa"54qNC uxvdV|>Kʘrtw]p%6V-C@Y_;=xA' 1B~dP M(PfqacI,50>m "UQ8M_@MpB>)Mc`}y)&<~_} ]?y6-?~ӆ8p:;; uttӋ,U70 ܐe (bh_ ]3k)M(˲s Xwޓ-e?Z,0@O,+Zt٘*(wpB"l*auC;(2_F c.)!+W17r%b20 )݊dbXll2<<wP"d#eՉِpcȂ9H@2 ”"Q=jgPycC[냴]K!۱u W6155Yn/ 2VfKBޜ晣 _ 8;<8m֟Asɬdd^p}LYĖhX֕zgr,dKa. :SYVl J-i~r`r$33hX^<ۗ~C ߝB8''=W70 Sѫ !oD<6y֛F"4Ih݄,7T;jQѿ*;GّgpzƉwdi#;9|غui;VIW*EIKf ٵa{ȶ3Y`(r);߼QLs`nyIrd蚧9D3|Lu;w |uO<>4vݧ;PS!3e 7SK5j6Pr ƾCj\xGXqJ>pbe˝L"~Qެ$=B[6}.{rObW%utb&d8Y5ɩ eQ e^ ¸՘8TF}C(든O/wA!1GTx[fiIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_actionscript.png0000755000176200001440000000341411233576304024475 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڤWiLTW޼f H&&* *ڦU4(.MhLLMZ4mmj& Fpk5iԺq0( ;83z[&Ý{w{( AJO8I?(~? l&A;4'':_E-ʡ㴟8%ZȐ.4ʼ<̝=EEGW._Kþ֛Z0n2TEq@1P֎8Z|*(|{ޔĘc3Z,h7#>>iiGKJDH*FXdY%f'%ު "UB DQ°aV #+##nO )M,֌mTc8~<9!(8ҫTF@`c&H6CǣnʾeYك))*~Mq-$NJ w nRLo*fXcqGDYPR\yc_BQm?Cul~6XkCCۍv Z{n/ QCK, BA鯫^`F>0vKsub4FV2;±HIb`"$6aXv:\zHHHPmӅѣF1fIF4a5ibH^ʷmqTP@̄Z/.;5e)-:Bn` ##3d!?W+9}o[^-.`0m*؈jLf{Wa!k4W]U)JdsVH< x#ǀrz l6TW!w2ue P;??u/ӧFHoB|!ݍm4(ٴRzq߈DzFi uQ-J&q}O2w[]ڀvqωt x={bVf*+o"::0y={ z9> xj;{pU4\K mSnjj\bdDeD#%ufQk19{!w+9*+$8=IMxR|GU5BokkAR)bgU.+D:_8E+9wF++/57`;p󖬇ddI.oR]pbd _.Ǣ7o@tyaG则<ޚ u5}RqFለ(NbW x g^gBzԽFп GdG>Ty"23x_64nª )韽-)}Oah%~5(iG)78bp;hrlA'Io.xW:.`' }8IENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_zip.png0000755000176200001440000000200211233600632022555 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxWOOA3"'/bT䁓1+臀)bG@1-5M,t}ov)Yy3;7o{; À)Zy1Y]MX5>8pV(@Qsa잹.ml#1Ѩnmb,N qFzfywv+҇Gtr4|<C9F2P"sr5$Nv; puБAsfsa& 6@ӢԪ ~8@/uvv$Q&&Rg]/1$J\9ld%G!1\] AZ[Kqp0XZJ:3OS Hܞn݂&F)dtR!vw%C\It_FCD.?9;*)$qcHwv0]VW PESAF' "LO͂pR\bcS:r:.Գ:f}oP0sQ8f4 e%\ž&5N+jv~;L;lmnI=jgPTPn;;2u!>5*֔4 SSv-4 ߯ãHpriS\j _-I^, X& jM807"ttL0 җn<,q.~/[Y< OXwl t rl\ځ!]OQux!@QA W^W'=d}` ]v#;v<ηYM% "܋pŽ@Sk~%lקf7Z_DPb8+UsǛcBlN-ش"|gQp#~mz IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_ram.png0000755000176200001440000000342211440715414023445 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWilUE~FWZh ""eI)5H" /C!*TXtb ";-HK[ y]vg==hN{ܙ{w֙+ A+**P?0 2@S5w/筪BAAxZRќWTI#&"CPԆ{^T]<ߗmN5O$8:4y'r3y= ؽ:]– HxV^DMc+hh\ߊwWvcvN M@Y#ry=r3?Nf6& Bőq h"IW-[_])& $t@P`Mg(>wfv*fyX,6so]T \?HϮD'=z1|e6\^¬Z{6v|}X"sbuų靊"B:@/f*|MY@\/@=٘QLJaH9g6zcW`ݪUSv NCݦRUdʂH[ 0?7Ed=\$ָZgVu C c"k.Y}qKͼ;1'nqO֡0biM0ut_& s: _ !qh|<#(_哞bT9U\rة[:| Y㑑 M|ɉY`IX8}K&gЍHǸA X;0(ՅGf:mmojGJevovMh(Y%85* " +[F)4~ffuuuI__߰dYA"D|BIF.iW, 5z)?&'P__ÇG7qfEb_󸽥;Vc]PCVSB4\dŶ6JF8TBA>{r#*2@Wƈ }5_9B=c@Ha AK}OYxwņZR4f;Ŝ$6\[Ȉbr}Bd"C H={YgIOΡmS J1PKō! T\YpקҨ Cbvwo!K<ojn Pq`N[Ĵ`sxDle;7 Q ]gƬC1e"1`~ #L*h'p=>>rBLX*W>8glUU\* r)_S X9 _L$SJ,9'I@2Da⌡}. $g&G%Q]]{1?wJ`SLdVi*2+uRe[kp4Wc>P?~;fz&xGد$Nd=IS3ihz]F(dƵF)tܶ M ɑ+ľ[yjdY$b7(fpK=ZĈ߅> ~OLǒp vs=x>O -ymE pB;UHd(᡻(Zf&Sv|SFQspl, ,.u ^CC޽^MN3m^ɈqF4`aAv-$ %kc%OJ|[c,UαR7 nq44Aʝ/mdIF[W:|< _~OA iԆl< wG Eϼ;`]VFB2OcG*j ^Y"d~4,L ^TfS?N\5k<~x|3fF<ׁ.@SVؕ"\n)0ͻĐS띲n&bOD4iH Jz  6~M iQz1T+'IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_bat.png0000755000176200001440000000341211440715472023437 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWypMg-;BI4b&(E %¨5vLcL-CQJbjS %I,Ė=s߻'{w;wzCQ}Ϟ=: '99y25+M޽{(--fddd\-&=ӿ@QU(kHMMŰaÒ )))YB b&LÀi>J ׉P_^~aaa:t𬬬,1Hi69\.!s4;nn߾: !!].5Bw;b|CC^~˜1Q__/dؖ2dH' 'v׵ҎOA߿ nݼ3_yyH[Dx,Mرزe+ڴmsL;88&h#jFTXzؼ>Gȑ#pgd"5e ,F]jhJ)D 1)SPYYI.R} yg{OqDxx$4nbkbUXaa푛BkJC o#G*Ǧ3M @A3+ 'NDtL :wSsqiL*ҷ o\Xq~4)V <)],@7L?;>^L"9\xӧOCTϞo2߱3 ]cbE#uT*LVO @TNz_.>5tZyr )HiG.u M6aY_BEDZdz&Cz:y٣ݻQ]Y#FEQQ}g>%3TEEcIp TEoO)Zh Dꅞ=#*YUU%yҖZJW\ aƆx.N>N%jɮ xX+<_w#oqqTA/>.-9оuuzU5uJ rðzZzWG n1ΊRX.o$u9M;__޳y ğ⣱r8,b?s/"{[~#nj\Mmj!DA=7>^^&Jg.{08 ~+@kpE8|Jt k \֛\80_ðڬ_׿[H%I-]1cE"gi;ak?`uM:>܌`)(_:!!Zf֞L|?J\aXd:FIŒZ7SaA%0[E?!uܒ.8'(l`EeDE]` `>L9 @J"$q1F;?ډǎZ\L& dIpl."##URR6&``775aۇېW4a\̙31110[̈ `Xד =HJJE$NOO>nQAgN…_%YYYv[lEwןAߝ>:bccQTTYdTIH' k9HǻvehGO-TUVƜ/sl \q%qK_/.%ohvu5zi)JNDrr2z cN'vl߁a&FGc(․_#- $.. .&.zlCkk+݋}@ըWp@d>*++9-\ i^R*P&M qor@UWfTTT~Cii9A>?P{99ocٲ$ AT(~E6Hp\]،0>|ssqx3qx;lF(<:8] NBvj_t iyNj75-mmmo׫^ m|rAfMOGgj)!pQ2% =sCQVbC;bCªUW6XSTMSb1IdXdigcnS0;Ȋ޻xmӜ:mHIRlѓ,"%̚`>xBzLH=e#mڐ3=x=& &#il$Yռ> Y\x>KZ۫KrW*{`1)=͊ ;ɨ֫?aqdQOZ.[K4딓U/ߔ,_!fH.xspã@Y ldMK~_&.Fu a(KwO3EQ.W`T$(^yAhwVoLvsqk:a;\mW;tv Ĕ+vzv&lMzG'@0Uϐ`o 3t&xz0h# f[W9~IENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_picture.png0000755000176200001440000000221711233600414023434 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<1IDATxڬWkGZOTR(Ј/"B!5D,wl⃥E[[[jhJi҇M!*&1Û3n{sw {vg7g9I)3nu!)ká!h&.r]@ȫMO$]u#6c6\ӧN##ҍgxk9"(9ɟƦL ljjR;I`)- VAZ d ŋX'Lt,cr\LkRҚ12Ψ@ 'd S`rKǏhA" Zo&vkd~ 0joTw/` +~$tBw*7&e.}mۋl.liamn9.]>%`@%!uaREw~*Q|6nֶq? z\l;*C`_VV*IS&n٨y뉷/7-Q0/WS#FF? 笿0f\_|ΪC aPab H , ;nn{z88܂#Gbƌv{_ Ld_p ¥ЙȫڍhQ٦7n8.*C~8OzCeDIIhRYY=|.;&G=jBL A |_gZ rNS!pK81`D"D$,PƅIsvV!ɐœ&eJC=BӈV|D,)mxOcmcVZ9q2 3!1!h2O ̞ 0BaD>߁H$y4hh@b~ܴ7m. 4 t]3o!Ic6ܽMw'o@` 57A^ħsˇɝd}0,Y!d(}`&=`nV$rhΝ.mm-jS14!!/Z4AF~^;zsGח_ùt :M/i?k o2PҬ#d]8DV,W|hY"4פHI3+ w!0ahB=vg'nۂԜ9y|H\SDd3DF$ Rk*$Yl>\^7-Zg0 mPHx2*Vt(]>0X.7ԩ.]9e~ìl)ЪO*/}q!c)VdCӶq9|wx3.$g KjC*@&jʯQ ߰O`>zzܹa _k0S:(/]F #LXo_vY`ko 8b *$])ik$ =08@k0Ur]QJY  KhD,[Px .6 FpP䢰*bѼ99(GQuuz [05Q܁wewGs8NUp}[вcjvRh-Ͱ/_&*hѨCdf],=~FMH|z"hcسma*grf~Ip%6 W"ufYu`I?TFgG?ND|WG>d?+TlY #" q{tz"@`ڱ_"b_bwř 5OCRK|inf)dL= #:y:IOMm9RcJn8Lި ӧ{i$F{1/*XH+ég2W$(瞭ī OSvoMk,7tgWwoyU\)!.1J 7/ A1E1eG|CMIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_excel.png0000755000176200001440000000223011233577236023073 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<:IDATxW]h\Eۤ5Z/ M̓FEZiTZB) Obi6?}Rj Ԇ J )*5$)ͪtM콛z0̜˄`=}}I.J1ٛAc Gc_+MJzf +݌ᛩ;Obvmf/b0stm֡?oL'l5 LzJjm.D1ʗ/P3[KNb_> $/9-vvV 2^? !ܔGIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_wmv.png0000755000176200001440000000342411440701572023501 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWiLTW޻of, 2AQHѤJ􏱁XSiԤ?%FEKa".JjZlR@6W@( zef 4&gޝgyiIӧOg^x<4D#̙3ڋMMMZAA1@fO(,ˣbV ?~YYYp:oӼhǎ] QӃ O:;TS{HL̹&aЙa[aTCXC!s2!FmBTɓ'kn#@!l)#1]WW qX[ Ȼr9PH K%`4;y@!`$zf5|d ShDz_ላi3>?N쉹U-X\J[b$ \h-<[w"yƌ`F`% W< S 1>4 f6BZ)y&sѻ}nTA.}Op 0A\ XqH׮^Av{ذ~=,:2<9 0PN5A k,PB*38'WuǏ{ti&&ІR9z 1ϐ Y!Ha@Y@TS,DTT|ť+װdRͅ衛耕Yi^ ' |ZzyLkL|*QDFD'0iMC֜}OXk-lQ(*< &486F%tLzKJ8 Lhd|G4ǰ6},Z 2ܺ琈̌l5"v-B"HϩB݃Zvx#W@{v RRRp䆨 *Ҳ2̛!p e,h40 (,1HLFbb@BcpR5 **5ĊdjyGVUUCgbHe}rrrZO.R%?W)LhbHGn5ƃ7~w9d{cΝcá>V5ʧZ@(=D$zȿ 8| 1F`0Ex|IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_pst.png0000755000176200001440000000277611440714462023511 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWklEՇH[*[hB{imGh 1(Q011i&# jiA$FP ފ͹;s3罚<4M33̧4?yf L{{c:Kj``@WcddD]# fΚ:4:|cC=zzzىv뎎iB\`6l˂m/I$Ҳw&0aK]}p(***Դd0}ӟC{6dJr3s0#bRNct#khյ1a+Gcb A0&1׉f0 h'TIDa]г׀A,-_>a6S'*-o-G!/V5VEjΌCil*N +}SRiW?n8vT=1F ɝtzR Pz}v@9nA1A?u޿&h}%% `aݔ^/µUk0ܿ κ0+g~ug<4tL} XZEb KJ1f˙y\.#!8M?86xv"ݛ]rw^}cH:@8H*ރ( xN/_H:yaG0WXHT-TцG M^?g;eʧC,'  2S=̀*nۨ"Bƻb_5֦QZר0<׈($3Q>߿,r_̨e[^ 4hQ Wj:2Ρfүv:V@?5lTG#sUDDMf mZO]L *@)8R J@,7O |ܯ6-kkjt=#Ht;ݳo^Rk=shWE 缦8rMMMHCÚ_n8v=Ackkk>}L麆P0޾XD̿p* Xlj TO4=À`ٮkmSDwAX5ijsOƁҁ P}VWΌ4ؓYkЊC$ 3cd7.M| -(SZhWtfSG?!,Y*+:J{= q_7\=Տ^E"{̹b(L^K'A?]:=`?> ;64IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_dss.png0000755000176200001440000000255511440710344023462 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWOU?3sgf,,7cb ]_ 1hlA6 i_0ĠQ4 'DLL#MK6>Rtew<ܻ {͹qiH&S{<ÿPGv»vꌍM^HOϿ?Bww7w"ﺺ^9yaZX i+EڞMj+P@a꺊 ܽ'466BKKÓ@p0ᚰDkk#!|"QstX1t(`#98C8h\.eYhnnY"0\4vضg[& O _]tcGn1`(i@92ggg!h \.W jv:wך#+ wgxnI@hCCL?'ȓG~е<C F8Jp2S ՞RB`0}8)ZQ@ mqQ?7P094t &jt*aH,sss;::`jj,#-?TCʵlǭgN JD";D:B&h*Ƞ(62=d e^,m $a_v6+eR}aiiBqLd &˄W9qt2Bd絘 R4 O÷ߌqg ?wR%=cƽ 0O~ zLX H ?N7R4Y7h>+:yexaN*z7a;^a]2۶.:jzBm0E Trc:v:|'ҋ!o(Y=F:,T=@]Ur% 2f.A9w>>hrAviP iBAj>l29Fb8\ƇI@:%+c=8KUD_Ʊ{/B6_|5fI= 603"55 uh9%|R7QsGѻC===MMMn*Ҋ8k]5_}}P7O,iniOR022Ҁ5iwpQ@2+&]rݹλ*(00)wb(vttnŒ/eL#*4ڗY9cLPUS'I<|}}}D{{{>=44;?DM$IC OG3K* (e:e P]q]iq"F}gsSgApk <P+ovAلdG"D#p\˱i'軎>Q[K4q2>򠤡Վ$b`6VlW1=^?f,Ⱦ Q`1pT.K(փۣ&<EA)TPS:kA`5ÞDCm)jg)-4Ƈ(KqßtamŇ&|ub?Sg@ЪSMa l԰09`Lv]PP$OC+tbG) m?]E*dDIpT_Q<%jma0p{>>ߍ`8}`lbG]@fD u4w "ʗ)o ,suWsD|blGER.癭/<|hG>y;U z0^0DlcW玩8/$^8+e-sK1)@fKÓX^giE j'QPWUD4FΤi\k.U8BI? %@ͱ)Ǔć"jJi^֕-%y.0L'K&>dbMߴN(UNu SI]Nxwy:<׉!1_GL;Zi~p$6ekTH`59T/:kٴ"k)$T[=1f-0[E- I4"fRgz/T{3㌎u|(NѓD{2='"H"p9QIC>&]`Cو{="? bH:F!N8㟮7|-HƋ$G.`C?yk8J=7>V^%NXQiu8щHĺXb"ȯ{ndcW`1wZ`')a&]u ovˊbKݟx l,JCe+H Wpc'bfo$l|n 7/:o6eSmwgxDX="BU'BD!e\}oPe{48w0pEqe=t2g,C=1qq$j} Nj 0]5lIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_bup.png0000755000176200001440000000300611440701556023454 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWmlE~fwmm@V#Hi( Fh-!F~#1b1DFQiҪXc(JA Rz R ܽٽz[z'̻<<3LD0xoo~zv6]׃S(4.ҕJi__yؘ _ s'~(E:Jau*twwmmmݿ{':ȷQ\PFJ>UU?EkkY'/ M."Ptz0>>!A?3*MAIiI&--- Apr1RaPM( ?ոn%X0C/W9vHfu8B'vF^kbbrͲ:<"0:~ 3X333)D˖f,Ȋ-HL/`;al a`$"Q n[pg:F(dUBpߟ Ő1'Ơ(ݙj&KT-{FɮzHdbaAY?- |&W@&ho|.s4&tL~1 Mw![k]K 57!E_]}"A:PJBQ5E$ T9k($Fĥ}$ _j`= wB5Qx8*. 8_8VרHēvdxሎ-+4EBBFLuJ{r/ǀP o+@ΌEߍK=Hxv85*EDWqIȭ!H$X{v-tӎZ4V{S:(vn*Ŗg_7'M[SVVk^+VjrR"!YKsGl"|9b劃G]g=!G'حـ٧eIݝ^QHב 'L0&BI K(e8و|Wt4%5C6ơNEf 02B!9;Ք?~)zGJ%l֞|Q\)4i;"Wafj:RMAɗ,t(|#(s+ykR R=7 L47[b98BcSm>S ,,piRY;'^\_ON-6hM楢Zpw݂֨ثE$Nebjn GN9"w$ M߄bn  ]/5er@y`Bi+ T y[\gcju\NUv1$տ y4G_餘_2FDmy0IENDB`shinyFiles/inst/www/icons/Icons32x32/r-data-formats.png0000644000176200001440000000312013350006203022373 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڼW]lTE޻mSjiKVB$ A11Q1 5 $BB0Q4DE"* tҖlw{.m! vf̜̙sKO14 `9LAuJREw !!PPQuD`2znf@((PJJKtCrIeI8Pg RJ (1AJy6f!_J3 E (=1D.D.ϭ&uuYDJ]ks!QdeO?[d;+4CpI݂0rٔb"N'nHJK2uaπ7ɳpkaʒi6lۆJJQb(LҤY؃v6>Ҁ=u\4R6Y(!~L4bSW[3}t "ohWxu%dtNz>k.$ZiI @`2jtxv[d\71ys 0n**FU x_E<>F}y9p;Ogw\`7OE r-;#Kt7(4D*`M-v{ =؞Sl 4t.9}ߜ? _ {wk.e;e3m4, TGzQ4h1]׋Hhk Uv _i@Gmj=@n*o>g+!Nyce%mĖV1)JWb˽+R'PZ_EO8>8=܌mP9]HIu v0Ą9'Ta,î388ig7d##C3;`﷫_EΤר D,%Ck&%dX72򯿷4gbH@&tXޱVlDt#T*Hʼ2XZ[u1Ɣl0>2JCôj~@]M&]T{O\pTIENDB`shinyFiles/inst/www/icons/Icons32x32/page_word.png0000755000176200001440000000232511233600646021543 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<wIDATxڬW]lUlwn!ThiMXI|A!(oDB|#_ՠFX›$F%H}B PKjtٶ;s=v;{nNfgΝ|;as0ƌ9,]p8aц1质@#`w\q3G{MёXQέ`=?ҍyg->xn9# hIt Vpc6}n]5UI &iZɅx ߙGz}}wubF D}T F "ƞv JPtAБlBgҢp#Oo:92U Qu<d*$? Xy7]W 3V:år†J~cJ ,NgqgaYz_"΍uZE%Hh΂Z+52ytH~<z(q*50Q^49hbk55~vLG٫򤬂, lSGK?"9PـX_&LbrхWsVV`]ɠFf[BM 4H:ٗFj}zgd9 @P؉ |e4dAnڏ #w ߼OFҸz:,?7*Ҩ\k{M :օt%|^ݚ4^6}h3υXrk,] fcRx_Il:__EoR2_t*V|S͙vliQyqɖȔ[2.~ˇ,>{cqf gލHw胑KbEQXn(Szo:9,[wg{2;?wO˲(Z{{t7M" 퍍1IW~q>}ں_АFvE6,Z;yPT }Co}hjjB]]]#Od9n0tǀg15$(@aa!jkkw`H^ !ht]z9AQQO:Փ {T~gj}31X<= 2a}Z#ed$jjjVVzlA*y+0 oBX999ikfgg142" L4s$ ͍}س[Y$E8HĀ?0^z h Tq7Bi*YqJ$Dn9g , "hEI8TZTTJR򇱲h|^]vdX*E(*S8w ݠ>sTMHMHO-*O^\s$H,X4Bz6iنp67 @(-{RT&Ib3LNES MFkKW̌d148Bzb ۽,-EÇCwO/qA!/)xTFd]u LrKNhq&I`ݚBR0 -SV"T#&EEuGB\0.IBڀ}D@I!2 XTnSMui\eΟ†xs$p+L ):M>[3b$rX-+?8@h΁ļJM޹ON@?lx=a{UgđOc[ htGPq!}r :H@ HF Tm2~Vouޢz v\y3zMB^JsʘV;Wn--ߛ/$89"R ! %_x"*uJF7c ՄWF.& XHck }cK߫Ś#8~Ŧ<|UoU {7x*Xn|rZO7#Q5 } j~\/7oWZBl sT4 G4_X>N8abSq >Ml.%}&5A{Èg)Nte0Å3#Ak<<lǁi lc1-A167$YRg9NȔn]v iP x=|)Q|y:r`'>8۳}( lێ!_PbB~,>4s)i;2sA\ɞkQ0iFs'ayGY.9vpJ;}pG+f~],wt6yVt6Pv;LibbFL2Nj7# 2Н b3kwpS*ZPIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_hqx.png0000755000176200001440000000302011440714516023462 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW]PUU 1Qp,@^fҙfF PhM-2^QKNf):Df>ea09\=ٗ Ծ>guZ[kb&)EQ850 C(!*?X~=tuu].//9 WM- .RrّKб# cjƈB!dee, nP#ْDդOAؼcb`!.\':::nl}QںHHKO#Q\\d#l PiE䊓H!^S65फ़[eD(ŋ߈)'  uR^nܵ#QPP a빦G@S woN.04 1ލ-_q+} h)04 {aP̈́od9)I(U]s^=T5T #w 1*,KfT{.7@,& DR{ ӊV\Iqʀ:!hDJf- I('v]EX%_|EkVB:;bdqw.M4YbZ)G}__?̙+z~xp>ɧ7@JS jwNI.tT fx{<^KVNǰ ^ERKK^]FŻ8黔o$Mg"V]]dsjRǏGww7.\v"ʈSHJsᅛf4nD"Ѩu^͛7GKt~lro3')EMgUFL$:NZl ˵C@$QBg(@~5`3DzX .|}N+Vb:N`0i[ٌ_0EjzD;Z2'ÆQYi<Ԅ3gacΜ=ģaG}=V %%XUTUPy\b6 CtԺcHsƌ9=ļyYQ5, {o=a~]!dB62N4tIlMSn^:c"g/7,[A70!49)ya{ZZPJW4I\biacE"M0. .mh(,+xIIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white.png0000755000176200001440000000115511233576244021716 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxKO@g*h?yM/&ho'Vc#jĢZleRBMcv3D۶!ͤz_Q6a FPzN֢A"ؓNcuca\&nGm)MU*'~j4%+Q]QGN?BPZ@yB|S1'(#!BJlv5ͅءp!qbt1tc*r,n8v<5`4 x jB,z 虜=403>ΓnXd [o紈1=@ݏw0Ib0z.@(&@BEY'@X=arf$ㅀ~;@:=o%ӝ3 8|Oc0'~!7ͤnM.@8^Oc--&+XpOIu3,QAZNl/i0P@S_Oue GS ;~Cs~cۤpȻ=՚<]ybGKꭌd.b4w~3ƐP,kS n'b-ͦ$[IB0^(`RE4ݪze{IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_chm.png0000755000176200001440000000314411440710276023437 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lUv,^ҀRr5& bH&hh$1F >TRCk1"-4 (v)--93tF=?̙s; 3M1Ɣo0 F<@<:Wk#W Y{5o_'5tNyW0Ig_j%ZZZi&74!5 TM4 n|`JGQWWw_[[9v:כL dYD $F"`A/ 555s@TYBH )(*P0Uh *q0AFdV&jkkEjtlT$ }_& 6|} , @}R0(9$ N\SH(И,'ǰɹxpWzo' hH //>?34"A /_(Wa8an 3zosӃ)qz=kbWSJgyaԾKZb0Wfx"rtf @"=H+}3N&2-0t_J5&9KiOVH+PČ1qtkNf"CKB̦堮 )rÄ5Dǐ"űaN@N|Fp5qn xY'{aB{6LZO)_[99}0Rmj>G\]s3Dt4$TL17hL/K9=ξhVQ1=o:W?_s|TcJ~*`9}5;i?DP lpxh_'{pyts8!=U,ZisBVǙ(I845E\g)<-*%oi*\i䉉dEw Mr!J6Q@GU f0ϒ7A+kQhҔ^=ذTF'#kZn%a)0;H?nX J񖦣*tTzmBmŁpl76Nw,ve_e()YIktv=@iHX8znSK>Ź}QtcC\^#t0} BvVJ/-~'Ыg ,݂ʺ ԭ(a|ddӀX C +8=q4`k8)q霛ϗ\%<"&Hh#ψdhU&s[x=6xuRߒ,Y]u_!~I4M6~IGI!+:R;׋mٕ|NLҰ}V5 /wFi!wgv c6ŏ!hXq’b`/c0*n:Oń @"0{ riXdՠ\tctVJȻ2 LԻ*|6 `XQxe _Y X _@I|A(P]ci-L5,0)N.4aXK>qј6x8A'1i/lh{yfRH(DHPtm9:39m.ɑybށc4orZx4ˮXps4h 05$NK)؂-^JN ;? `1@4F` \Z}IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_rproj.png0000755000176200001440000000424113350006203024011 0ustar liggesusersPNG  IHDR szzsRGBiTXtXML:com.adobe.xmp Adobe ImageReady 1 ).=IDATX W{LG N yؤljD5H6Dkm}Zc4 DֿTZZEE p'י;8:vfv=lnu`VIY ( y#//j<|f=PVVEfUҴݦ{Pn<%^ ezabqFNy{k0JHB(M49,lWt" v-.F DjhqqqhȮT/BJM:Z:9s xKnvdRc4@*By`@ii)VY///=w|aA3O48ʼeTD}HRb0 *M#77SLAss3>=Y m<1vavB`Gr9/yغ`+>Vz:th"-!wuX)A&@:7NFcLVj58u$pM t:q EI_U +VQ5:;;pa6bbb@]浞pⲲE@a $$7b8q*B.|?S GBn`޼y+**cYϱe[#BEF$,EC珬^GmM mrГ*WIl 0R05]Ɂh*@ٳ1~vv,JؖGtQ9G2myh|2K9pJǎk\HNLDŌIPqy* Zo;+~KQW~Z=_>ܺm; Ԏolq҂XS#ܢGᡡtw$$`W[:!%EJCՓ00+bʌ04]rBHOSzջ(\ZIt޸~M.40vjQU*מ+995eDG`\:n6ŠeK}%\A T_n*XH Mɳt|'p'>m_[([;vdѤHlo)~Zﷀ^zP~qDՔfP} J%6:/:IUTCP]0ܽ))6{̵As&'_1h71'%[mu`.EDcEoINź Ο"Wfg 甅q{B%dKJJ1`2KI{b==3f,LPn"edm(VcUuh|rq@j SWhӧ;s&\P;w]ݦ+4SMЛ=Ķ\PH4~w\r꣋#m~EbO=IlRٙjup$H_w>>:^d2Ζ+^+[h\đsLHAN!pνpN 7sG2 WB* /NIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_ss.png0000755000176200001440000000323011440715342023310 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<:IDATxڴWilTU: m,"]l"D)bi\B"q!4Q?\q#" ZZ1 RabhJ7f:әy]ϽofxδS;9λscM$n?YF]YY*z4R+8ɪjȮաsw~d $YDL??]ػw/***p2q4'd4]k1٢ib0J{{E555ّ$BE=BE{9iYNp(,,T P"F7FTE]ԫuJ,p7(**D$2w!jȨtDngRMSX̌1ZCӦ@՗ՂC Vrj"8<h\#Pa#˃ќ~̛7WPN1"CVUDQ:C}/MA:L$>66^q^..Wнn۟DBwgr"̀xN4VXp0$Fi!߆۞| h܂\35mK& vxa7JiG^KB^ X,XO¬_nNWg,PnsYR 2tƢLX:bW "7<=GqT>)`Y":@1(AB[v``ԧKǦfX^)yx>E n PFg^|`IpqA%/"5bbsg ۉo|p(#ÑBٱ%#3Z%';^mhk_U"UƛohBk64Mq"<+RhiH"wv]@ ,T?R%Z 5>Hb"w_}}01!1Դi4ՐCӢm})* .߹;;@iݙswsFß>A!݋‡Zx?~9t&W&B'xUeTUVƝP@n^_ t}y 3Xs f@0p GH9 &cl4׺!iLMgB1bPt^q JA4#nWB:Ha:;1Nה=i,*fޙym_TYEvj$ ܲ zԼMF88,85Cr dҼHe1*Gab$ 9<&dM'&Jם&s"\+r ۜQ^w5j8eKɪ#޳ ^B[|T^ %Pm<|c3(=RgxS0$g CJK:JgI.5 U['m(rn׮ƾ#϶`$yhw^^HA֨RW`d-r'%ep3-"P_Q '{@t> a.%jUem-d 2-=bAkkܽ)u0OA*aynje%KG's]cːkdK\n`\(})8 gm2/׻QGEwtR7!N[IH+C!Wh;wf2@Ƿ cW~AG>x:vb "@ `3~~a7/F>l?[J>D2rY8kmXE| uc*;79%;Ws?KgcwHQ&mzLǔ*'ŻOF^碵y-XJDmhGdV8Rq5H٢u' lѮ#O =}@}*KG[:fQ̗Y灬o7qg=:uTǢߛ:Yҭ*I%-d(lucc.}S l):cz4Ԡ[N<~: ªB&rss1w%R&ࡡ@ F3TIZ{T3͉ ĬYkkklI$X Qy.q;bSNר~ӜNFL瓑 !3 k)M/䙀8|NN晪 )o7}s_"B- M(ti`:4yQ?aђŴFC_/JKKUMP$8NoxFejyLCC}=t]7ARm\'cTR`]m3B¢}vddd % 4qϸI" >amϷ"+'G{0e?lZj$1 `&F?\Hk]bêg3p@ߊDw|p|3t{(9eӣkAH^3ۭ\.Lwi*"k.2aU&dZ?258*H ĥrã\<4~<{{ @H6I 3t mE5@́pS(-Q: c2N"mB3h6 'b 8}lP9఺bRey"&<7ի^:v&\ 4)e9@z(X O# 8 {]` 邅|[ pR`дvU&݇Ul` 嫗̀$zcV@ZZ2momB}<椄CJ;zmTn2hj籼P ~v3:]{_',_J>f|4tnhjSH ؓy\knÜ%$'16+].^}q%>r?ntPQ2;V-3X/Wtg3-9m )/Ù?[M[qX gmnW 3ӏ^ΙQS7eA +d&WL43?.nA_e6yeBWHWi]lߺaMkF]MmcyǁMdS-7PZ-c ;4JMM>լH;܅7Qm iTo?"rמMIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_tif.png0000755000176200001440000000253511440707544023461 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWkU?wG!5GX $$(~ H'WA ?`/$&*MLjW)4Ťƀ6ݝsfdf3zÝٙ{Zk!Pn0uXxoY|ݔ5>> ~|3 +ɜ9";cccIjDRʴ(/u&BT; ###} @Drm!\I+(K1Obn2iAF򄔮._KZ( Μ=DܢJe%FcȀBbq2a h՝b)==dB1`;ØZ-OhQ9 c:^h&l\.SO`J:g* HW*kkqe+^+I'@^˄4{a{zM *^bP1,#j=6 Vmr0نߺp!$P 5L2I&a _ (o'&y:mdI-gDww7ӬLBKmXY{tD34L922Tg P! ^{ X[[ܔ|dv,BHm톇ޓ:3F.Q)u~r0oџ `}}|7 Ho#eDrwGIsgQ70~aV UzGOƒ!l}-u]2lYԖ] @RqK}8}xSnu>/O+__aRT!bZ9I43\f߿ \_|5MěM]ņ#Zj_22 F!]4n(#؆?DPx]MǍ2_:@};: |hH!@+ܠ$ٰJ jv҇@ zLPNXXdftxאB@4Ry]M|b$qHhK0L0vBEν`,NCځ+?ǰy.")KZ䀨RJ _1gtTsڱGGqzTdh.}voP)C 04"'IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_sea.png0000755000176200001440000000335011440714542023437 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWklTE=s_}A[>@"*V0DFIc+&?hL( JmchЈ -خRJKݽw<ܻE:0|sfҔRN{{;o Q(>'J:::nmmEv>ҝwʲ/g 54P s+Ν;vZ\ >Zf , +~`***bŊvROdM"$@6v- _+8^/< 0|NG$@}}DcccU[[QĂt϶PDpR0(PiiUOiIxCqZ8kj 1y-`9h#O6#Y#FB-[l1&%16}`RNiul=lm-5scizۖdL} M tm'/i.Pp|=Cc(K1?ΐApta ׵3Sho`&u$DqAg}<{SG|A3(3֜lƀC$|]y$Escmv]mG|Z˲E >(=M ) U CsIMg{n>hpY~u j.pH_C26l.勘;we9t̗u2K䈼i[@ZVP ! ȊayҴe{|?w:Y/,eMRjp@y/m=S&6$nZkwqCCRs5H7윪 K0zӜrmm To 0abW7P7 5e9"oJȀdsܣ7g`ǽ}hc&3dم]^GVUՁi`T>[<'ecbU铟e"y<tutW $s>Gs<~(_M{42TR5٤;1 D$A'eRCXܨ9yrOO@[r]a#Ɠfa͒RuFPug YWH-\][n#,D!0 PL@Hx xU/tTNUjP’\:*,>1|bϤ"( l|ݓ,}WC&{Ñ `rnBlxO3PO _u}hK K_=9>ʄz:@'r}v{Ӹd;eޅs)F4uE(+_w狼i)a,5氱e6XgK!Tf_4TyݧX2+7Q.*?e /hؼ?Q^{ax@RRz3\S}sY]X ^q{7]^d=:񚡍?NXRU7ʟr,6${ pKS}`waڊbIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_zip.png0000755000176200001440000000270111440707500023464 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<cIDATxڴW[hUΙ33/!7HK4%!VRh-!E!4iքZXRb$(4M mڂxAj&4&q/lD?g9[fY`h4:Lt: A99H J!іғ/X,fmvtvvXG|ZWs@ BtxxxWQmD*P(?xdiBⱝG[[ omm}: .>JμrpF9_Z2455=1888%z!5Rip)wކ&L EXXXDyy9*&wG#:bבȠB#\ XIE>넧"RF#So\K۶o b(FFR5QZZ*??l[! 2vD ıX]]AkQWWxAU{z{(Rk 7o-/GUʊD neqy$"B":G}}r'Q5'c[ 011j )-? yNE瀼"Y I (TJ#6h-e06*/WCRD[s@B, 1W亩ftfQ^|]R {: UOm(/%D d!EUz H6m۰hBL0aVaQQ g߃+yYAxu jnh4bb^ޜvkUBMʮQfL&k*޹A z[ F6b|NN1q_ _. "2R(.d$r{N ;8tc N? 4It${FՆ'FlN}@ aGI/0 K {%C3p?f=L t2lTR"݅if prRᠦ$DC3 ;5Fp/HRuKiaZ|t ~ [x{@<9(N^ߝ+Y !J%K[_ c3F"Z+삞fGhhsbYq2LZ l@rUl;݄1Sc?csE1j9ʐb cnlACޚeVT"`{jƯv|b66쫂!9} ߕOeX;k H?o8Sӎ׊*p$Xc|wrR+q:|y 8SiEl~\wMf_~yÒQVmFţ i hczI63=@f[ Lo"RRՊ>Z4_ ζhE[ؤ>Mp|deN3II^x;M4( |d|V·lĪYawQT8IE>?/ [^4C7QDsK,ȴКƢuaS|86@$Y\Y+vX 6,(9l`uFJr$}"P~`s@KyCH#km"jT5l<58iLJiHj:28yMĿ^\*,$br{dٟ_!.9NYά{:~str`^(ȭr)G.6b0`ĵVY\pr rN6`vXHU۰xB%9.ppCB=6tMUr@<,kikhޏԾXvאҹنE/.P$dix3dWolejBU=;52;Bcݻ$ZGuuMZa;< '#qxyZ6E \'W#_?aʪyF-OHpƺrGšSۏ)tמyDyssv*2n_a[MbVSFP2 Y3 {i ;qu9TH ʎ${\ZyV@zzZi(J^SIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_dll.png0000755000176200001440000000302011440701376023435 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWiLTW63̈M"aゑ`5i/DӿmQhmҨmĸ5FVmR"֦ۘ"R ̼s{3q%{߹sw;밚$IjMM K0- V{i.d?SKG=x@XO7w.=,YgLGEEp8C{{c\ 0lBڷE^n.<0Tf^?{<},*Ĕ)$͛@ %h8E6o<$''cgdc@F__Xcݺ9='Q8&M$իWPfΚח-Q GSs3!a$"=-'R a(~"SׯFsK ˾M Kǃ @1V:7;7l.!lܰ.pa>v)>2w̋hsg|Eo/pQ'2RRg&pPrq94${pXGҩs\s׏| 4{1s20Fe5F/ԏovg{ɡ đ]br#;Rc1L=Z@Pm ۾ew 6{#M kPZF:77QpN6Ϩ3Ț>0 ;s k"&;ЭdUclmD>4i j~mkENz~ ͼoq*6m Em$Ǝݨ<n+7ܶ|zڎ'#1 ǯ`oG&kؤZɢMU/88 4R$GkJc{J'ggD~b5RhH>(#XCe*?xqˈe'|1iIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_m4p.png0000755000176200001440000000326211440714422023366 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<TIDATxڴW lU=o糟mn`Vl6LbF?&$QIcTFD -&1OEl@G?;of-%ܝ7ow}F nBb]6 FEqq 37Jjuuu;ɮ 5qV~◓.L~l۶ %%%(,,,&.\8''\ўs:C4zlquxH$wIڵA̜9sVyyy-HSȀ(1E%q.*FxTx5kx|^466!%%wya0DJ).4)OQt0fy$z4{!o' _B-*{?Ƭ`և@/?{WԯBck"anO<.5uQ"( kGX?4wG3!#^d&Py5B' BNx:h EJ*uSG=<tk h\8#PE5Mh6`J&4RQIuX7+`BD|;8)Gx}6ٿ%(f0s :žX~Ezq:xzC&%.k0wCB硭'1  )S6׽Gx]{RHS>|*5vC ukP]j$S =K.LJxF+N ban''bŢ T7v z=) ElIN-d+';0M"ޖ #8sg^ i'֕EXy 0TGDph?>|rl:ِ%.!<bfF} XIE_s.֛ԏ]b>6Hb0Xc](g:EbDDԈ>9NĞԶ)hQ&3¹w.Yp(l}X!0em7IDL6E /uétRc,Vd5yyoF0ߚrA%]a 0:z L r9:{)U"INJYj ?)IE!t]Olç 'xpb+M J{h5* j^낏gnqV$ 81bWcAvo4v ؿd"_ɷ*yY:g^/M3r;٣9T,-VoM;PcxnjԱ~8).ф$E P)DX3F]*^>rԉKH X9|JFA/El< I~]q②8D&Q߆X]Ҽѐa 0NɲxsSxY31n7@43:mmd(\cdmg&z{{ q_xnBkrT۷ϽSmpp&j1ܵpǎPM6?N_uVcBg.Ca%tZI>A}}=Vvww_eS5 ZzW‘2---zzz.Q~&6I& ҢiF1'čZX,d j3SOL @#R(X1竐R&h^D"gL̀Z ]ILSp(?^JB1$M߽cː< +AZa (冂 ;Π. 5D 骡f~ !B7mgPt @ J7eΔ 7mNJ8k!*e;ЈQc~Ek}f۽U`~ [OS>T*iG|}rl;tëՐJԻrҬpi@_ wAbj-DV!kGxPQdseh:D1'B%ºG㭮HelVrD@!ZQ躏$gF:x铳kHDvp iZ6\Q" VAIe ظ W ߉FNP \#ocby,Ab\|9ᔉ rFҀ"&jOLص G_ G1 \\])缝7Dzԃ{.f@G'p&ZK(c{۫gEֿdg\x,h=)X`ɮ}strdROXa|exxh"XXmO--3ުar岌LơXe]ƆrOP<'-IT8{[$eȁR^/~Lҋnn ˤ%be8xykvqQѐ4> )oH ây"AA; ;auj4ĦGfc776o/ Q/T~†X&d(^|zA!ޣ@*WA@?+WcpYXM9Ra9 ÿwxMu'p>_'Ks\}q)¦eXPWH"Rp߰Ֆp(ln1rK^ZIvlf~HSő /r-CUl(;a3rFiQ#$4w;)XFAl2|ۄj숅q}>F #on-IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_psd.png0000755000176200001440000000331411440707572023462 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<nIDATxڴWilUf}{"H@]b(- V#D+k K0451V`b5`I -Qb SVEPZ ^29wfWZ;3m$4M$n i$$1Ƈ P__o^͚Z]MyvvSQH 6/ZǬغu+***PRRRN .\4r*s΃5 >NyJ໻/#;;skkk[Y$BE{ tvv!''gݾ}{p J]Sd2;UuMl$EEE7:,-*hdqĥ1!c ѸAϦö &ض&M="޵@ .ů$7'ѻ'a)#NX}gW EOzPl@׉rTxB%P]3zxi$'2+<U fc8|l\q-[u!w/2ޤw(jZMc / b#aXb{0?~n"c?8ç;z> ~lQrC9B8)N$dt7tT%zgk\M9-F6&96kBl$  Exm+X! PD+@,e l25b53z"x/3rs1c6<.4_.,(X@M$2ک!@Dbqԯ/ChjQO0h,ƺO bޑ_/l8y1O08eE6@ #Ecq 2+4uUpx䞛E9jT.ϓ)I"whE0%+>?qVKqVLF%rKW";E*l7e>ߟ:+P\9=CȶBY>lM~a"5>\F!:i]P=$y<65@kKޞ8<u288uJJ6%/gt (\AYtsw,Z*Ω+6~ ij,jJd"3\ODGYz.ݹ/Vb/&8҉җ%XT 8 -l^6DglCDMHFHLL)۬5!3' .یAjAQ#ޯ?nT>s/zm`MW4@g@LokDw UI]\Ue31~XڻisUbfyC1YUțn JbNhNBVWDPUapےEUU}.PDsnzQin=sD%dw:hBΨ&q3qjǣ[ubT*`kkX^>$r!f?Y>&J?GdA~gY~`-zD.FDbG<|񽱱 ?_MS:ݛMMm~iUr885/%;8kP,'Y̚#1pݦRLM]xI)4A8R͎/yIENDB`shinyFiles/inst/www/icons/Icons32x32/folder.png0000755000176200001440000000207611233174212021045 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxWoG}3S!/ $$*b*T!UwDUVS䀐ʩVD Tp,p*m4vC8Nnul'Zy$z5{~3J)X4osրO9kBJ0 ^:VXLt}mm`sf{GG Cybe4KCw_̞YXP2U3@+l8ӌmbϬ"0ɥ0W1G~_h&.5_-vύ%B%0(/1Um~լmTh^eM%lо%/ . L)݅Դ I{r-qĞ 2c[ں_YZFbKKh%BS5e]UuuzGhMS>ѽChFg䋕k|5ZI2 ׇ{8ת{ވW8eZ6qmHՏ5~6zn&5?#`{`eOQO{8.f |ˇf ;=  {wP9XgM .I!Vؓ~l슍Ȅ*u׈ql&q_,qvl b85eMcs[?3%ĺ cGC:=z3W0tzkMc'6reH6q)x?fXZ(d'>>8s#Ae&(º8>='f5\m/oq+{3. ϟYȾң,nqO0/NcI }7uX˓^{Y3{H'fq p)IO6sӈ&­d霟 NP]ewqiK=FLqN{}@hΣ/@׿6o`s[h IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_7z.png0000755000176200001440000000267111440710422023225 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<[IDATxڴW}H]e{ι-D 'B(*ł 9QG9)n6rQ "R5AlsJcAlͱHtszs^Ϲ*Թ<=f6Ӣh?OX9=4Mz1#sΧғ/_{Occɷ||%@nDMM U2ej8XZZ_B,EL}םF]]O>΄kv_tÀAF K %zF<o} BӜ~Γ1 ajj>%NH n_pN8Deeet8H4a${[7R>;JJ@h'N|b"77WvɿT[Bι6ء`h׊X\ FYYgπJk{{b tysil,)IF/_+w BG{[o`aA2`)s<{UPrMVuru>h=N"uibs hҟy#V@0NL0 30Z5ZQii)5b4ͻ@8 ]qAU=}FDZ#oXbS+Rթ=ӼM?TF$"-u|} #CFIPHK)RSߎ9#lbk G]#t5TU[n0IQGm#W`MTb7pČPxL`:}׸Exb|;I^HvmWCޛYsdJ Ǯq]M? (s:Ghɔ+zv,m>Aƀ0繰dDwo@i֘R2*I`ih"ln =`{n,\ 0+EzIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_eps.png0000755000176200001440000000274511440707632023467 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW]lU.HѶ& #OMD^ 1!"M `cL К}h-> DP?w춳V6{gsܹ|߇43<< Qb1@n8q+~=r,sA4V#$㼗U0::7A}$:A*hllD&g,J bL,]^’2U?0A.'6rry/y_2WѨ>O? 9WkHݎk#h G]wLL8WYA hiόTu x%mdGG%gN}ދX:cIh|~*#O65Z?qs/n(ܾkn+r_PGHt$B`Q?LD(ެHF\yfcTE (营VlE+lYvs~xi$N* Ǎ@i 4㤂wߓFr6 *(OAfve̔e7t뽫ߜLE%OEL}Sb+&/wA@,hp59>+Cl|_TIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_gz.png0000755000176200001440000000270711440714260023311 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<iIDATxڴWmlE~fvv﮽6E-FcL,ESPF#hS4BFa(1*T11#%1@A5435mTچߙn׫Ӽ}wcRJ]T?JTs8$?][[5~~!(鑹[A~ ʘ⮮ף\WC~ׯ_B<@Xy }}}d‰˽Ӳ`Q3K?`5hPRR5ʭA 5_|B9΋qbժUwvv^ Do?ۛ`P@?/F 2Q]]]FI~1/N+8Y[;̌ZA n8ѫsXuXZ!< e7P;v6czz )n$<>JmGϚkͱ;r_& ̅a~ FVLDl.-+)@ \z8:9KrJB.JQUUA6+ʗ0ƀPɘ?b} sDH"HyV@wA+Z A (d -0Si:8} uku}H3(U"fz2C8yB^yuug-BV~tt EVm>72x0*CIU,rAI1|;ڠ(p8ѵ3T1`hs+l~cnkg4O <~Dľ8eCCJղ  o: SegJgfTݳC]ūyt `oz*DJ6KoՖT+Ba`[LϞ45 $7B;Ņco|=3g ¦+ >)`DSviI/7cbh Gji`E$n$wKlO{5eƔL/G1Tt sf2+ L¢"vMΥ!; 9<wf$%i,Tf{lܷ 6Gy޲M h&t?dwTPIig 8zM(~w?e+ _OpAaja[]` k}""f'V?4"q-n]U~ٝt3+=4iBƥIգDp|S1Ti#}<ɭ6N;sc9C= l .*A 7`+7ɦNZc7yIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_gear.png0000755000176200001440000000244711233577272022723 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڼWkLWfg]6i+ ,)/ITLLiI jX[+%CkӤ*h`],VY-[PT`wYwwz0Y`م$'wι~sE -mmMz!"a4jqq1uVq2::*ZVW z j84:sY fsii },5^#BF%U&WNCZ|v&eRI:h4"7+|R V} 6z9]y͍!^MP+fl`ijw9twcvU @FPSBf`1fԀ|H# B;~E_]/Ky8`A9a4srb;w=ץۑ0mk0ky:;j>A 4{/G;ovEPa'?e%-n'QA$ě04<0_)%%yCgA,X2#P\\ٸN>܀_%/t'zzYϤp҉En/o  7obGqO6 U/АiHMI#q;$ XؐqtTTv Kx  b.]+[}}HJLy5ԟh@lZn%Z|q6Y WC̔Up\a/)y+*q @ATl±: -=5Gkuɖ q(ɈZ5YLj.+ŦTDo9,M͘vySMה[ׁ?HC(g  2:1؝vKAr:ټӮiDE&Y10,(N'*3Sا[7:;;FW(moɇ}b)o EEy>b.vw}~hͮ={-))>WۉioNrbYwe+1cp~.J62{H[^~w]_`8OSXIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_gif.png0000755000176200001440000000250611440710114023425 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWKlE}=3_+$q  bĖ  qB sA HD(cٻ3MUgwB[陮z][YkM)efggx& CtHHyz&+幹9_;wةip7 sd?,܀r(YgN>Icddd@̏=e r?s]x^u"çgH&Z{w 웙l챃#kʥCCCoiicČ c;~{Ŝvzʎ )wd7 RHBenKi4"rs64T*4_C G[Zδ[› qpdekQ(Rq\LM@1@O[4N hL9KIŞ6,\DJc8/h Z`b RB, hLpg5R];2EfuDhh R/ޞ ؑ~Y08ٍB$he)BG'I<  aȡ8{)1^+Q+gb)u/^qC0W+xo[2rVG%ڛdל+u}W+c`]GRǎBGM%G34j[~_\[ QL^ĢrZ7(R)'^C&bXE-$PQMa"IY`繈9I#nܵnJ;{9 ZUKx^oL<n'+,K`# ^y~OIbvqW،]9 >a$$tӉi`Cf/gq܋…o |ϡR\Md!ȴ@+,vBlsn|,^TE}97F-h̷g1z:^q[5yWr2eD˓z&ݭ;]TBF\JML|y, 5LWWGWWz|nZިXnlV~V5 v=*:'I \Y!To74xSS&z` i(/M&LIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_cdl.png0000755000176200001440000000330411440714376023435 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<fIDATxڴWilTU:kw`JY*K D*# 4b&&HHT (Ԁ (55,--bH@ K*E -vL{st,34mN߼9|$4C$]3FEaab Ě^W$UVVhhh0SFvxQYH &ɹ(--Eqq1 ɉCBF.Cu]|F6x<̜9sVYYu6;EQEU^vMMČ3F_D|MaTuj9 0=NrG"wB F?YpUIYqww@bNN"ie9NY[X6cք,FsK3I=}p>$vCÎ`5"PP5 C{7*;Ύ!56paV0$ iCk'-lm; \d@@аBoȱ9&[)ۈd)X8=[vGr3&d8X| X Umauy-jpQKWayLwF4$HrP]ۊy:8)TE!P,U\' _]ǂ(:BT)xptk!/Ʈ#DFEF+h|R9$QɎ\l…^2g,FE|y+uxqzx"f-\Bl  o(;HΉTUpC8K sm^ A&" Ab̺7o7}V3 2NW]EJN(4<vtd2b&RU 4L~{I 4trMMHhɩHOK3mE)ň +z`4 ͇G8}ðk|s ` o] 篨f̦OƶIxJ-_%)KܤڏKWB%Wg rJ"{bku`[q^))G Ic!cu} P]uk`jeW&s'`}=o"mC+S۲"Ee o#l@XrsS*qlHs Òn|)54.Nx3 #(7B4aκ #\t 'tcOMJ #oV5IIuݧ&qQqRI;%م$ᴿXI0l!ENȬq3nZm6> +t8`w 4:u@z @/y6 Mnz~RE 2|BgJ=p,dxN/ R Vͦ {BƪvY ^<?n*i.n9.支6zދ."5 #Bp BBN)nDN{xaw>>-ʼn%;NG6Ϙi.s\.]P[`< G8Qu'iMd)=h[M:N8&40/B;D֍r@ }4BIoxݿAq_UIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_rtf.png0000755000176200001440000000267611440714330023467 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<`IDATxڴWOU?cfX.1 6mQ ( mǓ>j_1Al_UDmcئDEZiZ>9w,蝜;w93u]Lf-fԑIRǰkUS:44WmrrK^DʿZos=xzzzR(&x90M0 LRgff!LBmmt:=Aj4  A ċΝ)(//{A8(ML KFV@01@e%h[ض̬ @qө(dyk.ST'MMOCUUg̀R0(2j-o0AyͩgBjޝ9?Qo"a׉5-:{ȀQ][wΟx~(ϬWD!9ķ@I>5]m-8`\% \Pm)DVocL<#p^phj&l/PJȵȾPrFSM*T}9w۲\vUL =s(O75](rY@!d~ommb];D20n>Ga0mC±=R)\w|D( ᎎ?#Bd*V5tJA Y1Fzsx.Q b±mK U$Q#d' C8M7ˋ!_ N]H@U+3D*ur9:Y D\ܿd3b2ti o|UUcqL^$:`0"C-i'*݄Yه)8qZߺYl ,5vA@)TT{N]m%&N</}t v wOW-qAKVsK_}- Gxq\b<1fkmCהd*|cX*jCOPQ*`i" "&ʙP~C=LH*\~@] oV@'E Pա{g ^Myp$4-xtǐߑ '(Y;Dd:k25-x LB;yɃR%%3d n.___Ij"ւbRAmך4Μs>һɮճ޳w|3Y8x!ݴnm3 C]]]wcO>T ;՘p\F^г|AЧ[ohF__zzzE vwwo( -sӲ`&,Iﳜ<'uiY!:ubu~  0HE$뉶%Dg0|bҍs2@19ضzh\Ŝ%4s0Hiz5Y*.d--rI=k~Xa:8cVc! !Ǒ(+/Jz_ x+꣋2 D hpNJ*=S* BxShs %ZrFR:Zv $h!];9%RqS,B*%W+NE<@=dk:ɏ#VueX2]#dDH@APّ%+e(ڠauPPhpS 4PU=g1s{RK)=AAS0/K ïG{%d@~R cdC:E)H&4PJ)ffB%DBSzI`3i!Sk.O@GR<)('vo>ar>fg[y/qku^FUV0 o\fa挭~Eߵ8#&$A9*$ NN9p\FsH ).>8C|ݷ3i^aʗs'〮#ajݛ^~_ z~%F^5ʐDu`z[Pj+@Pɳjxe@REHJȚl9oQ2|Vs+ذד;UEv(S#*%#F˯ķ[: zDt"h)/2,ޠ)7n[pJKtZr1Y\Z֪`o?@up{EH[>nM#C ewgTWwm"˪$p&Z^U!jߨJwOh ^s_+{vZ?ܩ*ʅ;Qv+z"oOLj8vxwgvy-_^6&lof f?a.z34s`,((Hyz` 7p`IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_wav.png0000755000176200001440000000323311440707552023467 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<=IDATxڴWmlSU~Gm[h`n8ptj %|HGML41!EK2\ CP!$ эmѭson]Ӽ-fԼ$$cs`'d!t:\-.vvb휝il)$'?U6/|*f%U~ZFғIDҩ ;̍WYGn Ƚ!x=I} M 4{,5i6L%ه]3 :e`9 0!FF>[IKŏ͂6"2G!Mr }H{ @"H"h h#Ӄ5A,777ʢ>K $[f4' VS=5Mkg{e 9i︡HAd2_+HNlKf;ck:֮*Gt|@\ghi0p|–C@H/PO h'p^/PLFAj \/ᣃo 5n1(e,d @d4&P& \o>ylki29]AzIП ܒpD1BrOߛUel9|Bg~Fo߈lUJw(?'%类 x1OStدqSIP+Bʘ:mY"jr'0}LCȧ$#6 ڒ"lm/^܍>+_.G46CO3MRhѾg` ba喌K#x^tG.ApE .ӸD7K/Hʞ%PE2E*I82o6޽[FN#I#( [W^72 `9UGX\)-ܠXlv'Ǩ#:/עa2hb@ʙ5~ (%Ț])Oq5*E }*&c)Z- XtC/! @"򒬟qoÒ3u>~l'Jqk)l|Ca_ƛόp"7?X _zn 7pr_9۷ THrv;}wyKR?AÁ#nܓB+uXp8lhs: b)$heEbX$. <@޴A_{)\v "81it7P6V#B_&FQ9U>`Z4I+ z<[fnQ3@3f̀ c p@L 5a{a %ʘ6;$ܒjvL)NHvR sC.!^ߎAP{"DB9- x]9`vNQӾNqz]2"#{Az>HD SM(~x_2@pFXQWS2G޻:8yVe^/ zP+\A-$徾W=mERsJG:QPIwz{ zwAX0y<)޸Dz? l鷕Yj)Q!d䏳s sQsu3aö>u.xO7q7Id &aƵ!il1N>_-{|#!uuIf)Oְ(>%UYQ@E}$] {,;,aXC`/,edg/ch4V1뽗*"4ôxjqLN3f!AcmȨh-gCNAP"FfK8BqM!0Ѩ`x#DԸPA0B`RhB4~%ؖG{眻wl]D9;3g9*uM)e2L O8FZömf<$#3{94̅)GaP-]vGwuuk&VL*@uKKKYÏPtJE>Jav^|i1B޽{`hkk;2o޼GJlÎ#%Xń>ڱ]I/戟P2"jjj0mڴO0$tؤE, %Dobnleu1I;wGƔ)S߿TD)ж-(/_ | 4**HL:R#B t"!%VJx7_^깍 Z38ڒ :w<&M$z#`چ]߰bod̩ӧtDGGd]11`El4['ѿach7ǯ3po(R BmI1yd1r0 cTXa*ndA{{;^L[yDp]p |7t'Ro h|" W2tX^('Em9sǎyPfĆXJ<aēIʫ˘ ,I9껻{0lpy\on+KG}UTj*Seł*ak/D")aPv~f1n,AMWK2ad^a Yc'2V*ʝ ?Ҁ<”8n)OyucG\ {$hWl?=r$!a^N+J+*Cs,Yk5#.v.!)_m%a[spǨQ]0^ޝklUR FA_ÒƯTϮz:԰P eCA:*Fw'$ǖr)fۖMO-UD*)a֠1[nƨqgN"Ɋ؉oD cxO2v .q:_el0 p?_=_fbС H&RX)_. .COTYm3q|BpC^h|\*n9ppxl|qA%1R6|8H9v4? 5%SԠO\wq yo-_*WE4"3?lIޢހvGC _'B#W/^ IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_iso.png0000755000176200001440000000347211440710366023466 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWYlUlwB/VZ)MD HJѸqI|`|Mc 4@$* րF\)tKJ;3Lo7nw=3G$I!***>u87:@+VXş֕~LػwoX,sԫ E0g'!')uBM7,Ď;P^^qtLhCˡ(t; |\y2{X=B𭭗w]reo%F*H%hL1i Ω琬C 51 ܂\]gϞj tRPpX”L`^!,؎~k/=s7D$H8DqqTy$xTM >5f+/aFaj7ث@`sUF9z λpdlɘB SZG.b0aWG]x:RH!wSJw=B Mga0B3JDO哘p#:Ild- `>c\T!qXZ!iuѰ‚b@%Aoªp8N{/CW{D F/1 h0މYo J[Ā2 4VaR3~d~x Ƿ@08'>\j:w2IFJt-xmnF V&4K-#*hp$'Uc(Jh[gTQW(2ԟB7ם|:/{ d7 &pΡy!L쎳P&81iXz>Oɋ"opz ھh@=U6~HY#נ3vFtD "{뮸PPZ4qYA^UtKP[RU{#pB3aia;k Sjo-Dpl;f>wnQHWp;e %`"o.޷ 3זLghqPHEoK Ȼp~{bv1!(ByȺyLv-w)YpګȪp|"ѸC b.XEhV23^L᫵ڿz׉!d}וmvmI}|9/Q\eY.x2bO6_?-U%[WzG?0&7E^C2ff߲+Ga@Kτ>AoAZ!d9ȳ.~;MeFDS'-T'Uk}@LYqX]ByAU.mzbLu I&p%x$E~<E3AN6ԞcC6Hs(WXMA Ш~wzumn}]lCX[1( $]'PW#E7e0Axӈ.|Mx%A :Bcg wk+|-_{kX,^pҝW\O#SّU‰_dΆ}<Fh˜A50(c%+JWDbFG@ OS]ut1)2c.,߃Si(Hb,>;NW a}?7ԡ/a x;&dF戜! ])KoRK] pPmhIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_rmvb.png0000755000176200001440000000331611440707676023651 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<pIDATxڴWilTU6Kg҅PE[Ja*bEEDD@p$*&.Qb n*H h"в"-ЖVA;mg 38L]ns{s9wϹO4 WUUUuiddxݪ~{]]]WU++++'R(~,ʏCEi?9b…((((&{JJJfbBg(&LiQՍd]^^~ $2 I(4`)))6mڰ` B`X {D^^^*FrPZd((/NB0Qfdbϙ`Bcϙ&%RQ)ՈN$2f+@xȑ\DNN!)<9Tdno]chPޫM6& ".CtF=!ɀIκNl?[#nӭH .gDts ZP"$l [khsػn&vnƧ@kg,Dl<\4-r$h{pVw4bQ z||_ҋ.aFMff/FcaȈ"Kph}pw{\ 1;<0zm#lk,y/p׀N1 t =:1vT [@Ś\V+ޭau-0և7s@L"wS'JD90{ L6"xq~4bF:B@NAܴrJyOf#w|"\Nf/"F6R*KlX=7|7ro(>gB/ȹQ}w$; Gϊs)<=k2&D÷.`e,KaUb=c3򡇯Xe .X@֯  @Xy86|Q,)F <0 a0J|#ʒ!\/]-Dhܾ\^uIŮh]DD wXS$6%2$l\`YQGTazf2eXAU/SAx dd=[eXvoO49"Cc,H1#o-Opr?C6DYpĕ F15ĕb-bby -9eɹ{_GhCz C  mmmOm;E"I5tggg:Te{'~ꅐ~K}nEGG<6qj+^uy5Lz3B 2 ٳ7͞e( 8SD##j*ڵJ 3 0bT:Uݻo$0E o8ʡ@7D✠f)RZ|ѫضmUJ[NmZC9O"̢qߪ9, !%q!lbq0gcoNa27VUN B,j&)\z+0MsRSc &jb,mA0 Ip(6 `UmGliMRTJǀҰ-G W [ VcyH-b^o. #eq,¼I~("^0ʧ*!Pp؃p""igcd1ݟ[:QAgC\E(Ƥe]t($t \!A@x{ IMQXũd BRPV7 FszJQct*MHFJ{/hNBۺ؆$MEy, MY7uE 3?q@;RQ v/*vKQ#*n4L_d~t5FEY~Fh QGauYwW}ipGB=*EJhyY3fM64-hlyUg`Kq ~s}Kc+T/RRi!>u#cp+~оek՛5sL^#zmg24li+v]z= ~3ffslnHyjg*0D\~;,XsϜϢn;n\LJ_ĩwat:zqqb,5ւ.@-Jvo|an~az;z׹v<..q&h3}/~ޚ0%+2 QE9GA'KG!V5I)ROè|_R.(?dv܇5x S_9>%ၩb)g}O#q˒E`>l2:uϴ~\Lo1K _2ZiW͘ 3 iY>diz`{TwIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_png.png0000755000176200001440000000314211440710242023443 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lTE=^D^DAAcڀEMHFL >i4&&( *A%A$Bby"/&xn`vwe^Pɟ9gia.T__glPG_gg+)ڵKz߾}tOOO/jDqOxzissۖ`׮]Ɗ+: ˮU՘b?OC8̳J ~po477cw0j'P$H)/Bb p}޽{:H%6N"#A6RT9 WPiQtB$<BŅ nĞOz &LLE NZz\h|zI ƛ0AKR%~@4~Zy Vg%(?"pU9\@)lE)aD Y&8C˄1!8] t*1 bVE\:CfyıPb=;3o'Ae9DŽYDŒaNO@T 9P'Vo|4voǚyfcM)eB2 Bq>"#7%7H3ZlMY½О h7PjGq` HBsdZ.P%Ԩ1T51 n #C=*j0qf<]rXXΎ5.1Ac!;poRIzC dixq62c.Wv~r(Fƻt_nL}gQʞL ֜s瀧o@T1*eCR,XT(N9vm 0f"}ˈ< cG6(]弅TQycCp)Modb{5j* `W*Яu.MzJgjU,:8\3G=ݪaan_,[v~;щG="=i1( &/УR)mEF e mʂ)Ij0GF:BA%YKGv-?qF;I=ͺH{R-ixf}1Ў>kAPcj9R`cY 7·2u/f|u'{E(w+!Gx\|z!njf1 %L&nJVn=nXkH?瓮ߤ6dZ 9¯h%dBT9mKnFdk #o;9G,_۾g41}TU*ˀmYZ>wkg qԺ=!aoq.0 z(*:IU -M T]`&qÎUNi 4uWy,7l:[w\ȹVɶ\1w<^Xq2f+Nq;̏gv/s sP~gz弲eOĀqH$F J(vK-ٽ3sgnnKV6[%Ad\+gv,pďեuGtnZpu5NsA!29&Ii)i"? jLO%Vj.1,K3\3@kwf0MqFG~AA]W"(Dlb lَH+XEI12R6}asB N/c"9'ob>Mҫk9㺎~_~hf#fez9D@O>hp{:<26GesFul&|6Ղ+Ss} ӴdLɽ^$BTBWg!vmўH`}ן}@}.HLb;vk^"<'Į= 45Fz@9,.C ~ ; 9̔m>v"kB3 \㓷ָkHD&poI^*YJY6b`gLPU><0"HBWpk^ ֬Cϫ(]d&3sg]v[۴JBSJ? `$cC&Mjy>5a.,TS)MXHAUIZ@-眙;;n޿s9{F, (" ֭i)(PF:HܗN'644dݫ233cPHxB#( 6Z,G}}} 1 ի9  ](ֱP??A}}}c*&p4M+TP$ oByy9D0Mc`6ojըƎ=k||NR5\U|PU;㱣*|hgvnjjj:kF4.L/,-" V9 @ 4bkۄF8?zΝc~OaM}O8U TMM&R hFgNqbf6 R##| l[oϸ%M͐X9;xUмwʊ0 ôaB:= çNq:%&Prc 6sxj }ok8~Ԁ#50ȻDGg' Rk8ɓБH`\}eܘkU4 j B@=|!03rGNdC0KA 1 EDޒ|!R~ >2^㼿*RTgr9c>zsCU0656PP lС,.e20qOnͳhWY@ L1M!$M H z^~!T퀱OpYhzr*L݄wO| %XY/X6x hѵқҝ |vu8|(Lg᱇_;vnCfy>?h$Ĺ>`_ni )z)&j?Dp?0x"r>JĢg0B!UJƵAd81R;tΊs|'>"ZUE¾>BACﮪ 'Oq[Q^k6 ɾY1%L#p1: 2c'؄ƒж!y>+G/3u <>F ?O^>Կ>=1bA~7|D{8*^zj/68ai }=tEZDZ+GY#IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_xpi.png0000755000176200001440000000267611440701544023477 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<`IDATxڴW[lUΜ33{[J+QR*I[A5(!6ȃшb"& HXSLPC8mlk># 4,^٢ @F4,Aa赋T)cȬY(F/p޼A>1-< *Z}MЈxf[ ٝڱmV@yvQ(@{9xM=2OlR_SE.t.|嗇R~i& Pߦnj!M@r@K4@M flj=B9A @? )mh3kY_ܱA`w &1}S>$;#&`Dd9 $ä=i3z2A DM@0_CFd\ ?X " X `Y0C'$&{ax'ↅtkqOFOkArʎw@-WoCb6Xg1 cCH8 U?sF | ;l\k}! *I?e+'`\dQ\cٿ(G.ǟy4WLpr87*WPېVKJ,_ cPR>` K|2uk)x©jef{F:Ty{FRKٽ^ CQ$Hh@;|n=Ъ[4AKTbޞa OC3͐ SK0%r_Brg3в#5@c ɄdE}`WN{%WIݽw)2Ì~Q<ٰeFO v[2?n4UCMHn13a,4Nڦ_{MCo]<|x<Gk=׭pwFŔ?RcS@ CF8 O D )iAT-1‚gbnK>s-Ԯuv|4`˖:?K$5FIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_c.png0000755000176200001440000000240011233576316022212 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڼW[L[uki{)fn^f$1c=͘}Đ81jId{d0:81{0TlK KW6n=%_Nsw=aA/ӏZCaDAi_@/o7<ت'zl=3, k6cĖ%hxǛPsP]K[[om8(*I҆ך343 χ/赒*0١칑u>FÁ Qu@aGgF V`W8 IOUVX@B* \$.WIwTWUQOB^M1H-/+Ck{;eɩSJ$'uή Z"WT x Rf.ދ`_7nJD,k ѦXT@ ?dU M!`RO]J]6DTdv)[vfnF2]P%|w]FLw=o}{jGGO Xj)(q>'ɐ1"ۭ %#}BH/uu??0V2NJ $݃!ܼ;3s`3VQ>zw भ-#!KhCT#7׃p a7W᥏[NM7g&&FG9O˨ mvVEĝ9kڍ<'n D.\ ɬ};sT dy0 =C<[##M/Nxmw0rQBH欸ċSF0}&3u%n+Nj`}y/{9>6M5_\d;#o!x(9d}3nB;jX]]5=؋e3z|'vxP G6۲F;j﯃ PUb'f՛ϫ'sr +㚆`+gW#@fs,@p V] }=1bXՂ 0sI9IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_mdb.png0000755000176200001440000000335011440710264023426 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW}LUeD"s RL2IkVǴ?ǭtQi`ñs+Rb f\>.qNs z<=yWu ~M՚4Q[VV~{'???W5dW]rD5ƋDEgn}hn:P\\\F ά_$X) 2*̻ LR(3!A(onEEEkjj3h( h3$CmPkdB݆;HMMEAAcǎI bQ8pf;l\]Y4V!,"✣L*-- b\,7EnEO{o#Oɦ{o"/`#GmTl .]}1&OT6ա,.. 8v!  1}h-hpMOB-rŪOn#观 ~BchVxdʷϷOG( }АCVQY0 V=@dJ.2~n?r f\2 go!82p!f0Da_<9zEs#;ė_Nѯ˜.%Obt$Ӥ^}q7]ќ%maQxJ76:sA oUFl^͌77aUlb =\ Y\TFz5B1Li~?Ibv}NVwq#Kwn܅85o>hዹ@ aՓ¨AjGD Ķgx/hga%,,q :֪ 5cڑ" AU6ßtM̄#.Fz-'8FZ'k`pzM^w;= <[Y<RJDjZ"0 L<Ι_ f\80yxTi*F :Gc,R yq@25q(k8Jbn:RS)rղ}(pEUwW ` uH'D'sIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_ace.png0000755000176200001440000000305211440714410023410 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWohG].MhcD*h&HK`1`@EiPZ06ml$-RBRhs~PRm_R%ƨݾ7{{^%)t̼yyVs4Mxm#:0 CNRd2x<$#z54L Lmlil \u;Fr <VBK=#<97Ja Gkk+AFڵkE+e{? ӄIJLӏLE>;ixѝ#~ާwP^^K>v!!&u/ &ZD t)u!r1* ֭L:555ӎ?~ψ`HfӏQlܲ:)ֳ"DhDc){k)N<44)}yK=Yg8NIDYY/H.gPx %)۳sLBӶf %a ]ѭTUU) zb\jniQ;ZS %qvF]~=0H "`ZoWѿsn$ QIjBA(|z:0n4?²>9$S-V@ŀ2zA)\@t K:ѼyHSH&+ t%>yӧW`ٲU5g#s % 'Oc[o^iоI b:)G}"чSo+]ׇZyeił Jar/P(z1W&.OBܞQA'ɻX=d㇞6Z~S*(妆AZ͗h /]Pl*uQTRw||ʬ,ts% pN}छG36e;\2y mSqP oƜ Yԩ(1"š;$47уh40BJx9xִSJ>(c񻭸p~|Gqd+,[@,SrҨ{) VϿ(V+w)Br.뎠Ȓ"" I7}2C..D͜ihhD%al=zE"(!W!RkAsccyw~\_ug_n*ggГks ̀ TAd'co!+@IŸ֨~Eu:].BJӑt̖I3N+d@e"2X4ql8|=te UrJ ^B+sp%AiĊޮ]/礭Ne4׿}%[Xܠf׋yYu\Qz5%/nryrڒ􎍁$1EmV9yv;TNjykBSNBD(scE `d?LSQEV5 5tIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_wps.png0000755000176200001440000000325511440715554023510 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<OIDATxڴWklTEs-bii"#-4X h@`b4&C"&B" 0bKD*jhAJRiI+(̽ܖ>ws991$IR++++Zhn ʢgiMx]qc Tkkkcw.'J,xWmϜ᝟/Ȳ v,28TRRx,K:tMCU( oxHIIA~~ *0( t jp C+-?h:֕fF0tšRSS;n޽M png^ܼaIVK[,XnW"B.00]jI'|/,ñ1A-z dZwאZOθO ɉ.{ǎGPmnx::oQ-'G5L.C7SWPkz{Pkxi/49 415GjZ!%r P IBI 7a\ YA-ˑ J#Tv­1٩Knl|]U'TH+7M?֊gޙ`4'X ϲ zf6r l#Aԛ].׻qe>R\Ҩ/E孷/ފ[P@ sbGedWF q2իl!* JX>{ #fPz,ݯ)VnYK`Tb(%x,kA^Ƃ;!?z-׉EǶTp$Bzl4 -IÀٛRH,E\ ˒EF vh n ;,U 4,6g/*p !U,lu4޳adm@ Ru\"q.)M;bsĻuA7Kǧ8yѴ Srա0`@CdH gܬ4Slډk}Y=Hr;qr"Q:~`:5M1DoԛDq~S'=nqpݿysBJ. m8i!> j Vm2z@'9Iѳ?-SӰ@=&%8 $Q5Hw`Wdj|\Niqv|LA>u8xSƉ9m*h6E;vn1B`b@T+r014=fPuW1^O׬w.Ř'ȋvNx^]>EҒ ]:?y}qT+No[B^;F}䶛+`8X/KpԱbN6ɔ?K8xk@ \Yצft ,~2 =x(vgXIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_mp4.png0000755000176200001440000000256311440701320023362 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWkLUf샅R)hA P46h#QQQD6$ڤF yTGJ#RXݙ;+,,!{~;Hi"i$Sق-D"jnn~.uqK:YnooU655eBNZWq~$/Ξ,Y0 Յ?B}WHETU =]7ħ(DQ\\F%p7 L9Y^33DMMMIwwe ` gyRL֖'ւ` ($PLq݄& Yii)h<х&mObSd*1;yU)l8j.4U׿Dp<y5N hKK7fcϞ3:S8 Uh?CC̰Ը]qޫ{0b9b+xt~>de`;qCB~/I h`>MufMv.BK[Nc HS3EŠx10~6$'}{ j;Exisd&@`a(K1 a pE ̑t^`[;4ݻ{\e0;OQ 2]>sM?5g20_RE$b[<]Fg@fSyYMm[0̙SƩIx=CNҺۀx&r ?{y^/J\EN?>ƛW}8Ҵ~e *tvOбǂEwe(UAB׃E3 58yUq^»gq-^N&SQOㅞ_qm!CSke 1r".t)<܅Ykh@߳Uh)cK2uMZ/;Xsb %(EoTkQQ1O)hi^ڏB?_GY+D-^(U?տb3-< ,ۙs*O67\Hi;+khcVxxY<诼sbF^ y&ӳi@}jC_taRy&fMo$RSk[mQB^`6,L>cP?[c#&'IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_ifo.png0000755000176200001440000000314411440715310023437 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lUΜB[.EZK@!"- PL|4(&&'l`ħڇ-`&&ƠrITKvw3;stm9=;g/9Ä1۶omooMb29aމ'b^^ j\0.]S0k֯kZ.ݻ6mj':::MסktNr7nFoK'9 U`h(Z^ Diٽ#Hވ̋hkk[BI~g*[Tq#+#4rh;&sKGfq @a( Bx_v<-%JO\UsAI0,N)fFbIG" @cCE=WUHg6wM ]7Jw.ǠI/7pNs =+C1# :KhjD@CE5X]i9$071/d|Z4z_/ג| AoN*QOy :fPwv3gg}gIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_jar.png0000755000176200001440000000325011440710306023434 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<JIDATxڴW[lTEf\vRh"hbh- *L AE_$#(xM!c @DQ PJ֖mwϜ D͟sfߗI)c̨?Lϥ Q_QQ M#o "kkk눯H@1`8_k*`: N29AUU,XPA UVV>L|K=L˂edD-?qw}>}N3%B(+++؎ >1B O n`tހ0L:'>K񣵵 ())tСD HJJ wFi.!bL 5QZZ:ϡ j1 F„^l # J+7/d{ hʷO"  VGO7e p͆Fk[ 5% =kd $v k{">{,IA݅ή~99 H"j A{&ҳ\"Us[h2IgQ j!Fjn_Ph@z7/'^}V5dwiw/~ |'xg xRi䗴'V a1%gBD6"G+SM/oQ[A$I? 3mL{>v;`) gDmRSHx Pޱp~n&zWB>I|=`T+gR O]X:*D}{ٛJ4}f0h %*h^: `FOW.詮Nfʅ]ThUȎ9`4X Msa>A ^$0sb)w$Ż,Y3ʽKBS<8qtHhČ96SiFS=:=xЭ5.GӀSJs_=p%IB.Ɯ*O;| Fa&fyQ2 3~:_nrqFj:x"8<:|Ss!(xv*^)dW,lz֌FCcu=:/0%6p27i\BOjzNl\ N'^]+K2s 5tKSʩF.܊ >UP"]/H4X5 Vy3&ROgfJIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_pdf.png0000755000176200001440000000262011440701304023427 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<2IDATxڴWkL\Eν[Tj*C ( 6$ ?nibj|D+AkbCPZ >~ $hXl҄&Pgm ;3]XB'wq7B)XB}}}ي hp^#nujyjĄ>Are&fʘ;rvO1`Ih5UAkk+MKS5Z RY+ӄp*#6H$RJͣ;LMSi62uPQ0Q[[[{϶&& :PX&'5y%J)/$03[@f%|G߃2Љ9DtLbK>BV1i @YHl5H uk*eC W[\LZ% QRղ A~v<QXA6sz=hF Yua_}5 I T=F(ru-|H{X^Z=]@c|4$!  N! F'֜5d Dp_๧m%GWfG,36[~'jr ?| D@~ VYsP @GZ]q#PB,][⚛qLv ) F}0E0$LKBŅrX+}'bgpSyn^:&?oEmq{t͈@))y=I$*RFY~P1;fbd u7n\Ƽ߈/ce\IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_wma.png0000755000176200001440000000362711440707610023460 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<9IDATxڴWklTU{yO }M;+`ɒ54h@|}5ƍMTvD * ((;1vfsgfJL9s^s1Ea{Uxe=466Xwzą{޽@}l{OtvAQU(Gmmmhnno$Ƅ\Eס[,bRlV6V)j>",_|ݻ @jhii4RnqaͅۑBhrsNh l;FFFzPq1T VfKr!m:rDxAq0Ou{ەbbҥ%7`iaL(|@S-3? EV''ƏEFf`.,X}f>#G%|F$4-FU`c.:"ۭbe+? ׫L:tS0IFrQwQWS-[3, }#8pi.h8 1>I> Z!J^;Z[pq*z(Sp(+,P#,ii3ѽxH56c^^ԫW~x Ţ!l#8g`(SP7f~i۹qArd2atx2|aV(*EN4smomd8!IF(EA<ǰkg+"r<'F,Fד>R^:,"~! Pq5͌?BSj+N8N /'HNM LD" -#Yo1.X)[T-'G}Xqw fg@Uȼ+ALp-xhũhƿe } p1FӛI=h N=߸ +=WBtl} T g> I()i,܈Dz/QlUIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_exe.png0000755000176200001440000000252711440707520023453 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWkhU4Ikb5VRQ[%$&*TT"?R *U"T̟@AES٘@@4b?E VX )ik&;sWm{_a=XYw*njʹ/" )£e$%AX6nX.l1`B3`# @V5W1R4f@h&pVL%4L3@,f~#%R%`\X nYO~TLijk[ EH mC̀[xF&Ym)Q$GR,tWI+Nny`;̤Ȟ ӉS`.%%ۛ~A J4 A |2O[!VPidVGx䔍g%392X_6ynCRO O48 PƄf (:eƹIJeH]i[:zW.~5Vsw0p.룟?3Kw[L&nQQD-펑εZuvewao^\!jfݤ"*K2KǦePz6VOuW੦1)Az.%@ji8߁q@.af1LHF V0x)E=ŜYݲ,~;Ϯ @02}@-@Gt\Fssͷ 1EAi@ht\ pwl݊ Z€P~*6D:Maky2@3`B] ":K$@"@+2Tc*..`L0P JF5*YT:#)"SF\c@'."{Ux3^tSs-5Fp(L:{x T.D1;> h(0Z |{C0W8adpXLQ]H : tuO Z5uɩ0DkmЏFڙ0ߵ7o9r?gpgm ΒK d! *ϟ8_Jh;#]067}QtAj.1+;KRuJIK_,/lOTWoq,ƭUkF墤eR8Tk^w׭'>dzlë㝟/عw&A~zASM |*]HX;ܦ͓BҨ)?ԊIԿۗ 7G対Xaͤ`Ρ>JE9%{a\xz?.]Oߚ3?5"޷J=7ϖebKMsnPWwEXZfc(EQl395;-N~Fs)-W&d5~u\Mz(ZzH}8NF1AKLD IENDB`shinyFiles/inst/www/icons/Icons32x32/drive.png0000755000176200001440000000154511233076156020713 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxKQϝSMzIRQ$b Q$b%ѓREJ$s =;;;;vw]uvWerwvs>eBfSʭP:'^"e<7_3*G} @:́sQV=l-YظFoѠJ쥈ȻsEaS'aii zw(QhI:;:ho;밶d2 MOك~@]],,~'ZZ`n~ rᑧVwwؚh̀ D@50 ,Hlwu033 aUHU㒯=LÝA Aꃇzotw;^QNjg5Mg/߻{Uőϧf޾{/OIS\x'&siCnΟX(쇏"b G0iHl; @FUU3pXE$D65M+T<$} S'Vɦ7H6WRbQ8 { Ed04(" )@-y:-TP(qehlltK#5tH3t㾤'@W@tpMbG/\|vR7 v}4㋓Sm4XJa;>UZB$D~0hT`Ͷ+ԧ$j$İ5T`BIENDB`shinyFiles/inst/www/icons/Icons32x32/page_code.png0000755000176200001440000000225111233575434021506 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<KIDATxWYlTe */ȋ@ S4-4Xq  &Q_8ZF7jx,HL KKfNgڹ6z&'w9;RBaJ*|Q`LC B?2xWZ..^S)Trt%еc*CۉcϴlO~QZ*Vani`w'h@$:.[;(ldTUY3 ߄Ό}M=1z߫(`keVF-Nkb$8kawXR8&Jݵ@Xe/"N@TwAyqTbYOO1[UEA09[Sx:ŕ(y0hՉ,F*}6^9o[CUE)eMjQ$JzpݹB=ς%'hX ZTU \I}>`M |V@Xق<\q/ Yo@E<DHx1vwcP7YL/~Sm gK=z&L׷~8{Qm"\EbiHbnRٳ[ewNGS;8GK`HgZ (WP†V ۱ GN_򐅡 zET?=ɑa NeCPLggFypsu&Cͯ㈆ 0L2ɶ@_Jv6CY,VG߃'kn&ΜGm#-4&_,:7rڧ^᠓@'xI㤜 K9R>Zx= 7~?OA:H%'lYj3Ix+0}bZ43g.UuLB5w43{ݛH(M_(>TXb 6BmcZj-ZhڤUO }+i5i;;~nz[&dw9sfsN#hQJk{$.WZ{^d<1fM&V1`G^\+|-G n4'y<3\xIVoI`|||}kp/VϜ 0j'W/IcO PB  SPԢM :ؘ]= (%I" -ΦUSN"p`ҴHdVb*UsﬖT<1=|^=h%C'5t%Vw4W-9%-(@ڦlyQMpC D: D{SpfZ!D/2nGǙ6C3!r8g15Tdd< 8\:1ݖd}X5:Sp 'uiM6\Bf5EU2*AufĴ4pnL)h-o#"ߝs!>NY02Dg<OܲrzΛHYKᨉ9@XESHtTd,'wKz!9Zs02:nП`ȍ05DqJY7)tıM )܌ ψ j8"7֧Ia߸طr{û`D a$O ]1AOݝ:ޘtP~L$#{:3 + ; Q@̈\&t%!F|u)^<ȚCiʩB r=Z `d)\xE1 WsD 6 oGߵS"piPphAk 0@Ɖl|k'qS}8ٳgmN PB kC] Û,إʐ1 Bqk2-EmF~Cտ_I*H\7sokAV 7b9LY -xc:=iFY^ Lb=^V ėz!U내@q_2,5X\ Qw`MVeZ`iC ʸT$h{T+ԂNTW:Ԁ48)GȵQp8$pe@q~ :Io;0DDюM"4+\ t O>?VrSP,0,Z\\؜+ qSSS?tvv>qƹ_\쥗_yhرg#gmHVԮ((PZuQA⡭xДHSQJҴIPBeb1؞gd 3^rGgsjA.MWyu]/e2;;;cҞG!z uxǎ\!l-PwCuhW ]'PGÇ; ԡCf }xle}r=.#yu|J(OLLwuu%Dl%fED)@=#y %=2, zPchjjB[[Ǐ3&ne RXo ֖hr4j %$g=?W{soJehdfЁ֔@7M@W`,}-}3@/)L)aKTCz4U_z ^YlHLZE &`,N1oqݵ\oG5NrA2 ]-o.Rm!2n"V#͠x*o[7zny hhkc#fI6, **1` KG2AAZ T 9jߑրߊ1Fe,j*Lf`X@/ZAtZ!y>Uk51.<3cAqSβ,`H ȻҦ,"a,LDŽ.jifVrz&\2]  jB&fȦ&Jolm-5H3 vRtNi*2-Tmڼ_Ś`r98=ֱ!sꙓSZJepw[Gi @4Ԥ]^bi/"XV\OlEqEi%ӵ9 b_+{bPm[p."LfF وO#p~|_5oX< M_C:>/mš 0gH޷ Y7r9WŐVfKP_1ɇ㵓t)\: v҄;u f/Eb+N_iULVQ~^w/fO>MESW`z@<%߰C=,NX αd,,$1iԇ<#,S ~قQ%vCՂuXv}/(W_/QC<4iSL;ȭT>cw{W"(+>Q~q*>~SH0u;9޲cκH̜I}^P: Uxi]ͨxbX2IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_r.png0000755000176200001440000000375513350006203023127 0ustar liggesusersPNG  IHDR szzsRGBiTXtXML:com.adobe.xmp Adobe ImageReady 1 ).=IDATX VklTU޻wwB F4JKV TIEDAcTh D@Anb| `bDb+ -l~scw-aٽgfwf<4XdwvvT2-ڟXkiM6Q09iH$uFS:VOa >Ld޼ڹػ?ڲMkִ;p7?Nb~|AX؊s.M }~?k _;,9 555_C_D^DQ G(tA4f&,@ץlNFW'O"IFEJJJh$6B &&tV .%}h,Q22|(*lb~EP-OB(-4TEGdIiTӬg^D3arr bغcgRQZO|ƒdL)#[p fOޱ>|2 U5*$TrTϚfW r~<D`$(U$O~1 :wM.9rc|= `M$1T) g* ZXU +&%NuLn3yH%ᙤDUrr.f8}Kn-Pg}xi:W$;!"2j^%KdO.^$@!9ko.G]wg)AzJKLCe"`X8 kcP<`Ģඊ8?KUYxX7%?ɘl9IOu\(HR$J"$D")޴#*DV%{4%0wOIO}68^3/;+P8Q+>:%Peжw Np۾аx&/ $@t*x۳M9 Py%>{bӺ *`$up;":^oԽDoѩ(}xvw]{5{HWcy9+yᙠhOR{6%$/9LiQ6alkZw %$ s qk_e;۟_@ ѫVR̀B1x`ii պ|!W#̀#]E @:x .^WoDβt±'d%>=iUw ^F|]+`rث?غnl ѝ 4#N ⏶4RPNj"oB"iI޼9C;t΢bӈ.vN0y˫NQiϙb}sLWdLr3c{qϻ)ݳ n,_cO*8S/q[n8 9]GͲ)a?[EE]IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_ps.png0000755000176200001440000000310411440715522023305 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWMlTU J[XH*i+ iFӰ#ƅQcZĝpGڴMQAр`-фʏPδ3s{ofZ;9y9smB{  ]]]t)W!w޵{zzI [|$qG#PX\ ||oI/xWi^[[oΞ!A*¡r43-Ņs#}_%Cl7 2Zy3ioG;)F__|RXXxC%\'Dp!Vz TqٕuK˵ %9XM{(~(,\nnߐΧ7" O~VhGdf'ȲKTigs=օ'xmi:ܺ/b;EzܸıYW<+jɼ~ eY\)zh#AsW_nsя"!)Tz.Dqke`zmHDtj (OWZ]e:9YsXP-XϢ~fSᅦHoW%nN}8vNJDinlON*+ŭW0k(26_ƅ$ꦞD6hcPeXNz(JJ^g?æȼ! m(j]vF Z3l)mMתQP ߃g)ݐ ݄/¢NX5}+ˤO•n1a<{;k!|߻GuC\ n`qVTm‘ }A61X]nPOI>|TqǍ-SV4K4mf&`1y2#ai\=IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_cdr.png0000755000176200001440000000324211440707654023445 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<DIDATxڴW]lTEoJM@J"ؘhmhbxMA 1c 0FSZ1hF|@&$V(vkwݽ{wd6'sg99sΙYy !#ԯp]HHFW[[JfKʏ _m``;x`'U`Ҋ欼?9 (jG.AGGVZ6޾'b?tÀ0b2`L&xlB |<>455tvv^f(4zi]#EzA3YU [FDc 088Z466u?J`+Xjb<Kqe(ZwZEp˖-MAZG,VȉSŹ5Q!J#4qc8KGp̛-]*YD!ᐰrV7`@%0Q p=]]+i),^R_.I@Q>ktUNFF2Q)d* ӏk #Б@Y9sJfOP @c2#pj9ϻ['Ŋ3UFH=a@ȨMb,%C X2 EȬ&$n1J/Hbipt޳ִܑJre43 7-HQZE" )˹?֙y_iO EfunrDʦ*hR*78"#e1"~W1]j1pb k& (Ee#Ucîz~7 #ILl^=1H3"u3tnDZNLLuݣK㽗zpu6~@AfH+m7%Ai3nΘc" y"xdYSg(TcZrb0*"VcC4jp9D R\W M ܕ=JNnQ4շDG5-arc t y@LTnsikK0Jl\oB'ױahW};| f7D!9׾mhl":V5|2[ly*ut+^C7  X(WCoUHcSiFzߍ$ǚNaP;>_H7S)*t`iZǀ8ˣ!CPo3Np-r/k1G=Dek#w_P[@i0p=W ~IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_doc.png0000755000176200001440000000300011440701454023422 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWklUf>eiyJ-iŀm "Q 6SIhD1!iF_FbBV1Q"? h VAiX[g39wff_Up;;qιw۶5EQDWWglMhT1ifשMoVxѱj c~DZ'ꄽ, XH$6477?Bl߾ju4m%! 455'8C̥ 3J1PO "XdIUggY- WF љaJuu낁hll"YCBF@($h$ec(N^J`ld'~xnQ5c,74Ϣh$!!#Ԯ6?Dz7!wCO 3u:.=:bDASeMrЉ/)׬u>NíeA4VO!8 mbB@s;#$-q9DG8>ݸstY^V=9Cz *E/Q9Ǭ}u^_[/IM @_JsW%pm̂IWyG@6Ee@^W~Y) b'O/͹ G>Uu㚂 b̬"Ńo=SK:w|By`ŜlO/ 9* K% e㩦hxk(ֳayFE+EĴc*^`(ڀpB똪 4a'w (.l#iTWQ&#&\O$) ɹϕ]:_X0?o.qK -dAQH_LniYL Qo#/&u3ڸ c Ł$%6ԣƢ4WKϥPtKT$$.`_ +io@?b/=7E*xom "[b # E_ P˯9:Bx~)4~aδ 6y(%!W%l<й=$<Tv/&&1etp`e᳀ ٹ SUmgL@ae^g?2$o}p$ LX 8/U:LГ-7>C n~h~x>ŏr 'c+ziɃl(߆3^:tZôejIP|8]4,0D!LZnzB^X4iI'$=Gy[?ۧIEaQlzRLuRL:I0Xl*s]3 ݏ?fPOGWl|IENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_h.png0000755000176200001440000000222411233577316022224 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<6IDATxڼWKlTU=1} UNA$5.|D[ X!@0q%K$.\q% {L)$$hb]&FDCBf:-Lf9su;<B1fb( l1{Ipr ) ڏ=cHkץF]`042o׮{KZo葹j7 C1|Mv h3v|7>~Ė_M:FAb&H$#Ʈ"Xh<;w M R?s&ChnjA~ě4s;mѣ`%Y~hq|u @h6twu)DX5@s3KwH:cI~A{[]_4j w"[4jy( L(ߴ;N+:a9eĐE4e u0XMOo˙%ov?| LG'!r ~%r$k{4`}Ñ_1}%oZg@ `ʲHН:!e#F]l1t~CB/\LXFJĜx72T`X$Ķ.$DsAPE0r*:ST_A2D=cϫO wH2&wwkI&uUstxJd @&G>zseIf*V \Gd)CդN:-+^uԥN^B巷^i4•QHOLNUTErm#G~l(SݡJEi4M)mJtNdJ *jm9_ɜr;/q~@7wljm}o+y mK4xE*#ݾ|qd /9LY9"p/-YK+--f 7ܽI"+bLUqADNm({Z./{rӿ#)9&Wm۶aƍ}֭[UD@.\y37o'n 6l400pjrs轜8q4t6ћhooGOOO@L @I+N"EQ|wJdfT|9ׯ$ɇkA(  H:0N_f_e=3pM @:2&!Ify}dǿ8DgC$k҇|*eM֬EQuy #H' !_1k LtğPZ!.=~ %Р˖.IXM,Qn،,w0M)X{#>袛KdYWU wkSs@9a,@EsE?m(HC^ح։S%#h4)@=p -pwE 5άTO@SZEV</a{7ʎlmF/ z6cvaQ˝xBLlÁJEuT*= ۋ-҃ stSpdU"`辰SVT޾W(rxN.\>]bbL8s Z'! Y̷2.87gs>d1HyQaD@BBFbM* zH 䫘*ǣ1l;zDL#nSͱIY'.r!VEJT}S}ݲ hD܏'{p("Zn(H.nA4q͆aɒD5)%#w L6  X0݂\Ӵ./bƆ-!3ToݏFH!£4%Dǂ7T4>nN(1q7. Ln6(! e|6ؽU,“zӾd[Vr;|\nmۺ$'Bd#|1\hˎSC镽FPg6R.эL~;',1D@YP,&>Լ8#_mTpY.-K6.TޏQ:=0Dl/)*4sFΤ[Tw^`ZlL\U`ҘUHD h757d<MIUk6D` F{קJHU5VꓨL 穥?tT;f|\sS%8X_P^ i5]by8@qW bQ{<3e@z1`دXQdzGgey|lO4lzfܛ $Ipzhw5qRE\ko_%QGz4~0@'I ґ:܂Yu2G胊eQ#&|SI2i9+ x67hspͥ,hu1+VҒ#n:&66 DF>W ơ]Ob 2]$ Bxqy9ABE-;Ջ =qHMC,ѣK7D2|7#WB$(+CYZr 3;TJ;֏3pUD6/)'WȅˈkDmA*eRL wpWh ;E65ZZUqa艾̓Fq`żkmЁ8VeΥ\L&_S7TH RR̻ڸOʻWg#DU%%' ]I>ҟiH͙Q 1Q036gm+fD S2'C̜e(Qg$]51u$|8FFQeH=y.z/d~֔"hO^ܼڍ1`#yjlʳ٨?w |(4g]dD!avI7#$wɞ~VDyqWcpCh*U-#Xc⓪sJ 5q✽D󙇪|W-bgr^ շaQi1,5Jœt3:nVDU&c?P:)yV6oEF)R8!z(`o;q %9"q?IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_rar.png0000755000176200001440000000303111440701412023437 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWklTEkPyE[lM@0$R1)`c~($0$V?M@B0PJ[Gkvmum7n:ٳΝ3|s3s˲k{I^QhpdҶ[־}jVMMM5j ?Μi4M*;zh0Q>Ep@k6xuTg<݆դIf.\zU+Y4ԤSXs6 tj&Q \8=47ߌ1TvL0x +c'L!t5SȊXgևT4dkyσ>͉[|#\bn&a3CDi%w)ń.)Gx'M3!*L*{d~*٘j:y8$#dJnwA*~zXMr7©Ky/R!f_xBJ5^P ,=!|Y8i}2a"*Q:!?Tx6E[lKs~f=ebE'^6kqz2\Dţ,"vi҃yn Xgcw-E,2%'@I6+z׿/) niK 8}ˏ93p/SMb ]`}gnjxd ozr_%4#ܐB1]nhQqɾۗd\O#AVEN?rȦ!n(6atU|ۉ wIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_aiff.png0000755000176200001440000000273211440714342023575 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<|IDATxڴW[lUΜ3۲˂P ч  /Lx0lĦ/>BH &/㳷4-I T }D(#ŴJ2s33fz9߳ϙ/ZB y7ll d2}tYZ5?A_qf{ɮ_ CX:4moCOOk׮ 8յ7 k>sq61JܙB:Fgg16{?!ɀ~r$0115k֠}m__hxP#IlRe&:::$}!IRE3@1 h9ifP h眠d ɝE(rnYV_K=j3sرcsπ@NmƯ4 L0#՟o0Hv/% ;nٰ!TtHI(|y4X pD*msH^~7(ϰ Rҧ5r(-Q* ;U[,Wƒ'|^1 =ڥZgi\Gv+:.I"; )p~.NzKs^;n }6l )a(RAZ|d9uMUM;90 %hck'e jǖy^RhhO@vB"wz _b%~_GY!4oBS#R"îU0VaK5e'm|Y4o8Bѥ H.w< E : PK+f r NbzxPVUe? coUl$7#z7ʹs~%Mo>R"u}p} opOe)gMMDn=sẞYSDNRp 3ҽxH_Ʉy[vc-^ގG9\8x˧q ӏw2vpT^{kD`*К:9m.m13]03&M| 3') R*WȒ}85۔|xJ|v,gfX?YI 61$H{tt *sj{-zXJzxSr?2[sX1^}V6_1$9"*]t9݊y߆?Ooj5_8\zMy:(5)EPz^ɊY 㿍/ty+=CR~4^+*ψgc6,(}$Ww;hp,I1jhIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_m4v.png0000755000176200001440000000313511440715354023400 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWklU湳m)/[H6AXCRĦ(~"?GDRI`PI@R TPJ(DJ{<̺-emOvsw4M!IZ__~+8͠=@{WUU-ۨG/_7 5:WIe5᜼EH ųpa`Udũs.4]i u)yyyXXWWwKl4C E\d9=GYYٸGt3"Pl 4H'w 5BuEUF)Lo =ey $~a PI,6uN+%m@%%,)BO:D:sUÙ뿳!go0:C!Eي'Oz ՝_]0j|>E{t,; n 3#9<0n(˞paώD׃45波3f+ড়3t*C2EN98v9q5Q}o :шWZyzTW0&xr,bi%4,]y#r%8vS7s% ܽo%&Qr,a4u9Kz{N1woF#Bbz!#_/*%˩3m kME(/7;]v[=m\vqĹa) K+E4p)ȞԆ;h=G:$hRVn3kr_z; (Ѷ;sC ~ IFU3B]Лdf4FH޿{`8{qIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_thm.png0000755000176200001440000000274311440701640023457 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lUfʥ7nۀPS-I(IZD_0D4Q&ĄJ @H )` B˥lm3vݭJ̜94M8"I;~tm]כަh6qIVkk$?^%0rnjY޵aX[---hllDmm6?TÉ,EI@4j(֭k'U$D8g q@.=v Y`L`۸=n722cLԔRߊR3)(v3vMT=ӣȌde1m &K6dPUU%F q͂n?C(XF^K9}.RTdaeI6^| [VRʂ8c.fc8z"x$Q%W6ѫDMՖXz& 0EP`bTWdca\ Rc1O/@bldxU&ʍRz1lW',X{u_gC8bOqajê\M>X<!A!ʷn\k3eKRV.! ()2> dy nM8ևLCya 3e8z!b8v!39<4]hjxnA͞|0zջqkЮ38> gǀ:]1Ex< yD>dW7=diAհtWV&ԉ1z6t::2̡p̀Sm~L1 ȯ8S8 @$8%iF ד_C3Buc`L{Q(&qi'WXQϫ'#,yM)B r%Ce|S`UBl+4*N:|{^mx,O]kـv;GeIB_ͥZ|3F)bbS30Ap0QH+>  ̴)W [tF]efPaݔb'%9ml*ZfKUbJUmfMt5 YeɄ&! GPil>c}s; B E $@rS._i6 d6ss4zM6 &d% cFۡ]?d"`<;Tzkz BdYe  aJ(XǧhE_s['jYatdDi$ @&]0-K;'\&OaӜdHLL v_kE6>t 2ԈC@AD^94 :7}8DžNTN!oM87t]QžChLl4gh!{;*\c˰癹}6Oθ 9&gڊ;"6p{O^9`˲\*Dd{؉ ;]! ޏP}4Yr]t".$n&ӝZ#Q7"8# ׶,H(ETn"\?nBd;1YG;D+TR}Myxy U@I 7Ρs 1Z`q[ak([hd!7r'#ݹ- \65MbI0>Xm X8sw0vB)o 5vPG}%2@?W*, ( ^vagǡz F+sYp879 }*({%YX_7a(#f4Ţ"j_{LS)s]/ԕ:6Zw?tKQҁ'S8L۸n8n D{/a'n(s F{%f-ɴw>TBi PDDR(&Tb>P/Aj/"=,Eѓ/Ihºjӹwg]uvgva{wsUU"` vM@ Eyv_OWlfggoףVӡ)ƈ ^>_}m%[I4_ОD]n҄ saq N'TUT\x:88%veD srAYI``25ɲ4 bJĺQbJEp@Vfqeey(3bbD**> Q3W2 nL%shXml.->[4`\]e4]Q{Z 0 pQ c (1s8 l:$YДvϢÑ׮^´^=!)Q/M"Lֹ({ '#^Aƚo:籐Y2 ,cdt Ux>^o@Oc׬,a u:l<ꅔ4ǜnށGӡ k9c/ɳ%ٮBRX^s*˙E ՚ഫƜ777s;:JY66Kb:]p,3u̹Rx6Px&geV3FB30-҈3oHdhֲՈ+qEHY 7qN馚u+anC^HDГ^|k..qΨԄJtbo>M¹GJ(6'btcx΍^Y`hd$ $G8> ?!Ex7Fi߆9/@˵%wC+47|<.xEiP0c3QNĬk> TS,6]| lɔLIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_ai.png0000755000176200001440000000277711440707662023301 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWMlUE=3s}?#4(R * j11$*AD 7ĝѸR* ƅ3 D0DȏRE)P)G߽㙹:;͙;ߙBk s !n ,VSD?R5>>Z9e⥕_!% appv͛Ν;_ Yҍy\ׂg,^ 4n(Z7)g8O&01iӦ%׫ )'27l*{0hg"׷$8jXdžQeGKZFg!a"LO#}hؾ3D32൐F RG(nv@M1Ӹr t$sl;p = *=q\f77uԇFʕ!]UhQ??dN-Pđ}~Q('r|W@g&Kk+f^yLzAm>mw_?z$-To>J,J`^ϕx :ށ{}7(l:ULAD!"P\` NhK4CjG@)[Zr' gA:"Ѹ-/(1Ui!\YMW"{ P hwTM^A$LμCg=X[-gf0p0{cr.:EBoL wE-NʩI8ŢOuٞ_"|Μ]2qT޼0!款&^y,ꡳya[+蹳GKz7bhXB7NDjǜpG=6سb>떡KmKA%AV1ۃϴm%ϔ{'T W@&Rs?Wf8Ҋ+b_ֿ,#*H9;rb0:6j+#`1ƎUPc?+Dx%-޽@.l=!nۂVQnatx QZ Ou 0tYr:Op^=hN"fy9ygy$A9g0lyZ/X3m[]^TGQHo#\ԭoO7ؙYϩWD3_x>ZG#p. }4x<-C+GaݸRIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_flv.png0000755000176200001440000000247611440701332023457 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[h\EΜ۞J6KR* UVBU}| 1A|*xKfZ4RQ*&MӤglM̞|ef4)%M4c||Cz`ZP4lOY%2ܮ6??/GFF>!z]|w{!^uXDwPbxxxtv~-EӴpݢz꺎/1Kn|&83!aY(D"UtDt:׶))72;?B<ĭn׉DO+L(0ǀd+;‡ "[rs{{;hŜYk\,{6ӄ{WmxI.%!uЪX١75Z=1 -O#Pr<7uGapi ֟?Ԥ?4DRuF~|Eѯߘ/#t5l 1P|:e׭v(F/t !:8;3-WbRHlb$ս(瀓^=W(0*ϡ]|W.mmW$Ƿ9%7ioSyh ѽ{`j8Վ FCPz7R/M^\i8wt' IiQJ_M:z*)"QrM<96wOLy0,zA? Y#P5M~ĉq8GMu耢M}ђФq,bLڦ]@4ASJRR%EL)r~| ca)Yn;>r{+FLuޝ_CiڧRFm5wÖ7:tփ_!ÈwQ^-gp o{an't  4)cKz G[+$5L`k7m+SDFIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_cplusplus.png0000755000176200001440000000307611233576410024027 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڼW{Le}s8ed `f&tk٬ʹle6s" mm^JZ LR.nr;83ֻ={{~}^Au WTVV*]Ӡc* TU=baa!]" tGKKOyRes@p12%RSPr6mu%eE7D,hE$IAŷ@s^$&&by~o+*gKYes06::p8(+/ob\S߰, M"&&@B" \$vL#?//}"hPcsqqS~Lމ] N -YeY'g`L u0H Q ~vC Nbr!o&c&$XxHstkKL`RX/*TdVh7";5'NC$R&bU_&`,NĎsļX {5(v X,:tه8# YH[=# I$ֲkpQZ6<Ą>,j:d$3QЃ?oEEBT8sVR|EwuU, &= DPRۆM(0 E~Qڈ#P4`Q U4PIZGW? l5fұ(-sP4_H>Z, Yel;фjl!eb DZg{zk%hHNVq˼*tհbHBťN|YCZH ]:ðc&aW3B& iDsb'Z4=u웢+ަ`,D8UAJm)J-R}qwZ=pQD(:NNAX51^p}7eBtUm]71PU{}@ YF(H74>^ny`}/L_xY-9P@gHx<+~zqlc\\G4N_u(w4_ɆhnI0- y$jkR^+Vo1Y`xLI8UuzqUz$'bg?d#'au wֲI+xOMdud;)H!%3Dʋ3 TH r$QX/([1aF geybH5Ymk6mSp2H#aB,>z0+}#i1+ڎHABۺ8s ӟݩ{%F#Sx״\ bvƑEh|iKcbtSujp7tz's]؃lcL@E tt a`eטGnZ6-z_HnI-IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_vob.png0000755000176200001440000000277211440701434023460 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڼW[lTE̜v酶V.[X S (!M4@1(1 c 1!( %$XID1 RKsٳ,ݶ۠;X] GAKK o>s挙͟ `\<㪙s;ƺu6 !.:ڲ&U=4R.-7M]PXhtPXvm<یgAwoaABsBhhhSwO!r[*(T[[ :,5 z_HASI)B}}#0 9 M $dS~љM{f|Px1˂BӺ!IkJ0RC;xgK~vp.WXec~91õP=`YЂN/M}1E ]&}Ix,=w=2:+4X)iJw=d+p+\hbۖ |P$<_ h$E`+@loãח Kz ~ 7m*@\ i8p1OD۫ ˴5ViQ_ÖSYocwv):k NC= CHEJ{.ʪeIS]e\\"&v (us {֗cӲ",7?懽\#*xB! ,/A[LU,G_ #EDF(mh@u3!p:GO?,xJF+U_ iLc{$CPMkL+E &nҏNh4'X'8^ZӂS JO= Z9Sņn(&# ] ";A}ngaus |i! Mg\{Oȸ -r'S)7N\%8ߟDCFllYYc]rzFѴ$WF袯zk,Є"g\WSrN^K`RrM$Bt/f+peRtzF$xyС:ͧHPEP3KCjjy⑳zWQiMBN>_3.$tN'6tym 44UE4| :eA1.+Babo;oJG{WA]cط=1KvA>ϡ)8ڛDzل 0&/l0?ˠ?2u 1Ҕփ n*.$o,Jt<nj] of&R!+C&*˔h_jC4,IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_fla.png0000755000176200001440000000307511440714304023431 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lTE朳gwۖJE|(1I$hb ^ &/_|01Gb|0 #Ob&@DHDI@J g3sKl93|ADgyk`|8+_=oOy# pd : JWSt/g?kw~WW pN|RK@14Qhb̽Ow!8sQ䷩PhypU\r/_j*>; PT{!* )(vr' aY/S,h`KIgjjA5L&ddOƑy=3;56B/X3j>Mpdz*o x45P({ڗ^D~C\'e4&mĹ`vQ+QrяJĵC? |M:&$)&˗f;W9#$ J*@F?&I/ !1):([_5zyt.o X4r"S^^CjqdVɳ$NrNʵ1 v&7V~r= bh]^,~JgHQu%ccr&; Ⱦ w|A_0*e)Կ Di߆KJ9ٍ_=5bO0=D2> $ߣ¨b3U6nZpQjs"eiJ蘴3j]NreXu\!1Nz|U&r MDʼn}LS2 6i5oVOڕt.t6Y˝[X6:e#C!jL3 ZҖտZnQ{>g_] *m)):.ߨ[ X\RD88Ɠuv@4ct[]ɐUqEi6!Ĥykk';f@%YPxPq#F;AZx fUP p?uu'!ެN έ#fy-R1`qM5AoJ$Rt-td1ǣj*ҼM "'We]*:=ϴm[xWOA ^R(>rq!Ѕ\o撊]hmiN*ם?~+o]oNν)5Ey\NՖH7y_.]5'IϦE(H$]{A2)wi=գr3JGg;VIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_log.png0000755000176200001440000000321011440715322023440 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<*IDATxڴW{he}םmg:.G \9DU#dJ ]( " 94PJJeiC'M77ޞ.;lo"EQ}4Wٶ{v%-xtw~_NBxD 01{OϞPwC~,hhh@III-1q<&Xy ӄi0$;鹉loiiюƀ?4BiZ򠪾R&N?1]SalqIp i#5QXX8c8z\t!EWa,B%c1߉<&'h'H'>Б L8–ϧa۸!N&C3w?uR:a}5kgT)t]B!MDQ\ڜaE1HFv?zhN7z@m=Q1y7_IaE%8q|OJx>4[V4a&;9CMC =jLzJYZ^.׾FeoYUr@UAS"ڱe޺[spImE8z䰛/t8ӺlUc@# @^-D4bfqGb"ҏ}**I~(j& &<7 Pš}P]`ҥ8xWJ M`=' 4P$q55ˇ}u2G{tj h:e@:QV|aBF.[vmjeB+VE7ك嵵#Ur<,wQR^m,wANN?잻C{$*ǃe uPPi:y rKPţTh޽[W.p=^\ ˻5DC1RJܰ}|D Ɛ4_Nٗ?~}Pk@$J 0z<\zyd)&)8'{ -p,JQ \tِ,BiSS1 )'b8m;ٌ/Kuaxyه̱A|t]@j{#2|^:UTƫ*A +Q't7) $Ovɳan kXgŵnlzsL.s7jK&d9VTm2ݵl'?ڎ`Z:ΜowE'k\>n<(ُ>x1 Aj3 ό&gg93tγ Yޔl\] TB& bDHu Np*Dlֻؔzޓ3;㸒Q8#Q)o~gi&d"&쀼NC{a|U[GWR;^'+Ӣ%}wO?COH$ ) oG tc0܏sգl肶IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_dmg.png0000755000176200001440000000314311440710356023435 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lUΙl u B0(b¥DkL &-I`41M61c"hH- nmٝ93݅ݶl9|0q cL-m4 uBk|8Uv::::IR 5g, `o?z~㣏{Asss+8ֶ<9F 4%I>C,öm۶wvv 6(2D8@,Dbx7oZDqsJT9"EN³p$6",[lYJN~^jAZTUX4Ex F zK& >A$L!0I-#)8]%& (a,sb!Vu,B8(1mLMMb<ʉ+ % y[DޞJx_ܕLx%b<'g?4a&*-q$(AE1@ǥ0V8/4N(CX#MvldHYcc U7!\QxiTJGTYOtL[=ch<'”ef"΀'L/5Taڰ`dð\IX-Y<eAMq2p`cpLe,H&&& )4I}Bϟ^IJX]xTL4 a$6Pu _@Exֹ4\uU\P}^., ErX^ǚ0G܈csޑz^|B9:.]?/ ~xG);^پ?sEm 7 `h&(ߎΑ\$%*id˲h[⚦Z DC R3,bJ^.ġZw`M³ק71F CmCr#JqljTPU:Ȭ#WhyS /n)$QUqz'!E~b{>1ma5jbɫhP4)!i.K"0<{qڕI2oI~` jhX[ bG}." #fмi|2b纯LumXR!ֺs n*of1EjRZc5!4. J#Lcc\G]TӽwXi9~ۈR">T6Dg q;gҩ1japDXw/(xt'wG8L/+6|`ӻ+#Cutdukr(ōU.&2rWk24^қFEjmn>E1F92Us ܟ䘟rE&0/ҥNPG›04J2 vshGC_t#ȥBIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_powerpoint.png0000755000176200001440000000216611233600424024173 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڬWMl ]~9sjO[ E%_"!D 6!+B@EN6~襨u{o3gƽ33yƘNv+yf).|d߮Q,Օ[=|C_ yɥpU9xoyzOw|-s}esO>oG wtY5Mu>ѶhnnM߼6 D$ 6PAlݼH1D+. cʛj:kik+׮ NC:&E( (B\p5M=4(q 4-Y @Kp= , SF.i$p&LP O,e1Az=t /6*Ä'-AK0m<'Umα?NMnOyAX0|w-cN Mei>C/P*p4NS~?:UJ|V!WH!jrdy\0U b0@ਲ[ a U܀^hRR4t.p5V 4#.,\ V>WX,2@arK(P) hmd*[[UgW.1R2a [%3ڕr<'\8:+5EfUvGܱPmU%@xMM lSfXۤA9`j/dPk.@XÃ=,6lF%n :ߍ5u#B =9Zz1>$XdfmحF}``‚X`8?-a3Z5-ˀvx)8SLv_K20gŹ*^ 㼍OضHHG_WWfJw;tZ*dA>Y 4 wkTw7:::[n}4_2ML3[VD?{i2CV@s!:Uyb6PDR QddzhO!0 ǔqΓ rL#xww15'K3= *]-z7uޑCIH3]4D~G.P[wO&f5Y-q}x9e?;CM¯~Su@RD7/˥3,jʹ^sao*z{{5UggguSŧO8R͛сvܹ@|ֶAc͑R9Q7m~Lf~?]Gǰy#Xz 8a]y5raq''p[? ㆅ( i+W 93KO~: 19xWH.#.8'??S*&b5y?@Kp8<@fWw nfFN5W x7 <ģS~: *C>`0@>= {Agc;x-}B$WQY+IVK6ٝA8H=!>YmM}u.6x (و4DL@e~Z Fr5L|VTWUuؑn@'p\N-3TjPj4r_!|βx1Q58=ֿ+9{ yUMOû#f1S0\ 2玠m.i:8j>  ~4YZ/.6k4{Sͮf=]a4}e8GԐ&)[mEjIOݴXE?6: Z6K a{_ BuUc ?0;~ǔWUc٪h3(ɄLҘY:9{$a^A@*szE]eJ@+8Qyݹ] 1y;[Vl* s_N^d =u{QM1p<WҬXmF )\UZ"VIdz$eE詯eP2Vm:hӨ%5H "h1W7 x ̣}'S+1y&d ŌMߏ<yHl~\T}Zx;aѩ[igsgt)Ԇ/qKfM!eH,3jQ]O|w'f5tvɚ%eBf뿐)?4}^Wa6k}[jCWL'l\fI<>zJwx..,+h烯c5\ZR-hEwi^i?\Cǵ馦-HC_vpIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_acrobat.png0000755000176200001440000000241611233576266023416 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWkhUܝnhuĘ4Im- LTm4REQ(A$MkH!-R&AVCSBK"jҖJҵI󚤳;3;;d3)8p>{Ƙ^nLfi߼T[[K q s|`ܩmHǝﱞ~ FF/ F\mcW]j_hD:wܹ>kK֓ٴKd:<} 91yP5UUۿJͲSIg.>GEQQ*+*:FsX[瓑'A<YA\ʜ;gX܃@U`8*+I2iN!rutN!2 l-yff#\ޘSԦM/gzbs ,рcHsߡ. (4&,t=Ivi@d4W.B2Os0i"Z1#a. ]#6)٬>h eC5f["{vOgG4VmLC"&W`Qh[ŖYY{ԧ9i8MnZss_#P}/ zh6Yb'"Ï1pt@lƂ~~|]bRplpjk_BQϨK>UZ( =_ ZR kaQhbq/ ca_##÷,+ Zԩi0Y^$hMF@yU9xHGd  ($H0fz)2ا_b>T=?9~&&z1DŽlҺX齬>"㚦O+Z?>k=#GWmkfϦY6!|r9΂)UyOR;}âTw/uk6 MR reֲ3TLNag^$@i 0osIENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_cup.png0000755000176200001440000000232211233576456022567 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<tIDATxW[oEfwJRN *H4Hi:MyCUXE^JϼJJs)IJH.Ryi*)4C8rfk98ni|433ߜ0UUffg55ZK3AQg~?șj۹^FfѪ HM:tc8?:ᡡ3cSGFޢJ>2C h,bU6dh oEz1yuff^[(?=_ؐq566b37065=bWAج" "W+3"+Ƃ(Jۭp:Es!x %$XIp)!$;#{(@ I#Kx_ƻQp&RIĉ g,/h-jF:DT*i r"+:]MGg8wZ'/ڨGQ:(?>˱$X"QK&iH'4iܸF.%\9g QJ4$᫯3Z]O*dV/C׉#{g_yK_MDF+ntЭotUq}%k&Qe «}h~ըϳɷ13_^-V2"&l"QC*1'hnn"Pvv;)_֐G [Z&-hiq`<8bVpZюmY3╪0A_05VpˈBDN ^\NbwD~,6눉D@B{KtJD%hN#AR(XY/LUc\ZT5 d9`0L65]bp zHs-,-&oЇv7lsl$lvSGzzNo߶z`qM#G@7C!ln~w8ʗ2٥ǦPC<=Cojj>Z*H /,v.M_~c2.cAƽ¢4Q,Sa~\GU t@ʺ3%lIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_mid.png0000755000176200001440000000275111440715374023450 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[Le>3ހeU@ž@m!!䍗bb|0R!/jxQ,`4}H DKM bR X䶗3fa]ٝ=s4MZ$xm_1܊?N:_bZ\\hWIDy̝O H ~]}g? uuuf[[dLv/..݇ԧ(_]]\ÿTEQ/l<>200p DrRd,&jjj1!iiRd(5#lll;u[)KRz Uڙ_/:겞9uˍ4EI8睚[2n?`U_!}e?noV/Eb@WnqxԋeKң^R0==}0 @sӢzIɥG"Qnq)effW)QAv~NGnx8s 222~'֭1>L s=Rn`F^v16f}_YY Fjm}QGG\v@UݴfBk͢Baa!'YFG ;6)ԣ0;^M|C=9 >K4wxqnlXřtpB  jů;i|qɇ  AI~1D+ǡl$;++_U|Pq_`0׫x(Qhz>r "nҲXVVceX\\s7XZZxvi!Q3SSSXQ\TY2uŞsE`.bA}gbi x)Aɶ=EVPk2^)!L0e|yIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_ses.png0000755000176200001440000000306411440715436023466 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[oTUB%i`( AZ ʋ&DBHD/@Ę`4Qzb@,>hRd0vf0Sg螬ϬZ^A_p^fq/2@Db#rY聎[L #ljBNh&Qȑgײq\5ZwD֗&gʑawBFYlǂ1]c#yN5E\ _@=! &aZzIŽ}n^v\6nWF=O!b2jM;vEr*ZÜ [i;(q]6hmJ9bģQ.J3]Eq.>ө4{(J`1< gOtoc2 k6`i-1brgY3-swtV'J1+YKՀ\I8wXD1=ƅJ 4c1G~@R~6#%** i#z'I @.Pњ ],k=P,ΐWVJ>CʷD/, B0gb+XCahÅW(JZ/@>9T ( XڧD {{Q)x6RT+\J ]ãQ9^UҶ}Ey+=>0$2,6~W$JL_ϊlU٠ȭX!e)@lOc3˖IUދJ-؃xnyY/־z@eQQ :b$G_kJ)DVhɜ#L.I|E" l j簰6u#8snナW)S|qC−J ɢ%*_.ie-EX,_;}8r1x,<"]VwTZ ˩-(4C×HaATԇLY ZzxW٠:/ ۵c?QQWW|'Wس'8g[+W3;.9NeC2t݇?:\qSeZ檟,[]k TTDV- w;(e~-jF 7LhZ|N1ȯHE#)s 9iX )` 6.ɟcDIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_asx.png0000755000176200001440000000325511440715506023467 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<OIDATxڴW[lUE]8>[ʫT#$|b?Z[`b UhP4&??&|BxZ֖h|bLT! 1m I{qϜ{n/poQݙ;{kaZk_Py7llma*NH պuSSS3Y;ws0j?b9Q__:֭[ώ\q]םg~zussucv2&Ȁ"HK7#f,$="Áp4^j.<":cn2bN@Ah HTUU#zZ áDQ|c]?6r,:ӑb[K߶? ʽ!$1 HrnЂV4uBHF0Qo|Zr +y;y8I%Tu7D:$N!2YZtl<1楠ӎ(/4H(|d> DORJ*xÃo8 5ot=W^vbֹC+8ik<7Ii>ĜO!*Ѹ GlA ݶ~^Lڭ)1 DKW0p`)D$jOQE 99%/bf :Œ}.DQ)$9C#>lhID8 W K(L]{;З[`'NlFN8j892eK MdH$-(~tZxnqs}_^.y`W"u62Ny{<Κ466-=[WF"jyP?RDb+ qRWtw^8CsC_Y. oDS>RtRKs:jgꃭ̯AMk}OgQD',Y)ec(@_%aLNGH\GmGֳz&IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_mcd.png0000755000176200001440000000323611440715334023435 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<@IDATxڴW{lU}~چn0Ac`Ca(c#5q2b\H%d,BXd"%L^ls<_v+ 9mo{9w~SAu!rX4A:@:\%%%ma M n[#R,O9 A!+ޡ:'555(++CAAA 9TZZ:?b$r@1(!Jy)))ϟSWWԎ@xH@Q s@ZuK;thNv?J(P Fb֬Yc uB ,sdPLi=#ߢ:Y|153nU8|۱Ģ9'a1+,="D'n8~ ?DGPl33P}~jCzj2}930@x80~,31wF ?r?^.߂Htk޴ɜ+84c ,.IW;jniEW$ ;`GlQ̐3VGnD>xS W(cy΃5͟a1Ù7`MItX۸:fAwT^X1T^/_ONJOvq nCɺ-䨊Mk0:)]zLw6q6⏌՟^U8jhB,h*2:aYVZ==}:UL6|b WlꃕXHAjd v*rds ++p>Oi@RbB@X ;Z! f*\?P)LQYhIDŇs"fCd_+,V,+OY~I:%+ve/n/wD>-sI 7Wn5llKIƦxdn\~$ZUZ?z9:FJ !⿡3y{zx'CT"71m ܞjЌZO'"IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_bmp.png0000755000176200001440000000305411440707706023452 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW[lTE̹nBRhZ.1&E@#QCHCc⃉ テ>`BLLӆbH1@4r `m˥mWݝ9,zζͿ23?LJ 5cfOOϷt}YģzE bϞ=A!M|yEf;7<񓿁;˗mmmXfM+aƍ4ak.leg@^L hXz~v*|dpnFCCZZZ޽/ D<̀,& Q^Q^ĪU摓_ ŒTijgHNʍ_bQ}l2ђI u*|09$ &WD3QLSk *Kٵt*p&0NVCiBĢ#>irIC 6iͬÛ͵Y CA)0\ TZpbD0@UDpeBG¼O-`l"D5Ȅ4upy׏!~tY&u;9w5oF*=b; riCj Uq†w8ŷi% I"ub;0Z Hz 5ED {a%'& M F4[MPP~<>4J6QDF$$ ٌSHbF:'U;åH U ͨ 3*PZ9Y aqOzbzI  L4<2;ZKj0dcs^(П_ݑ*R(Y`gj v]cgqԀ2l1V}X!u7$'fjA/mnKKkAYwyLz ? .(-` 61N9GLC[IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_dwg.png0000755000176200001440000000272211440710102023436 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<tIDATxڴW[lTEwB.- * "/ 4RJ)bl-h1`Z⭕vtsv=mw/3Gx.BC׺SHHGg}}3ԴdFũS x ҫϝBQ ' 7X pIlذ+V'ׯ_J0`: ŀeQgB:˗/_H$YDE%fE5 P(Y1 K.sB( ((2lٲEҢiFFQ5icۃs|JCs^[T O6ɵ+{ cѢER 11j.ESf- @SI\O&sΜF5@mVµh2',^(< Y6Tjsks:eFTTRO2-"NcB)曀7?t /Ό<S677˾Vb` (qqPZ7 %*Uh%rPfM~}#PWl/^l6=?{;MO,$6tKxv:fL]}x/%6/@5NuᏂIK5G̵J> Kj(ϻ0 K݃sCW1=fW㾢߂K M)aJ F,|7YՕHNk%=]7};7>=`Վc~7W 23Ptt:L-LE7/IS:3y 7`姝c$UGgU>. 7Z$/AP'IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_cbr.png0000755000176200001440000000302611440715532023435 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴW]lUgg -P D1F`SP⛢`| )D|h)K ҤК`M[ b11PZjlNf{b&E[ZZNx C)4-wVU'|?CQQ֬Y$@ ɈY41?o㉲)Nt )T%F)ʜD򿤤s8& @'j A;Ao%\~ݙgb%+K$ĪR4g<Cv{6 d "`pL+o˗!8_Q\P^޽011!l:lpAށ냡SvhzUS ]3X,(u28ϋ[i=>Qys ,{X>E(gsiN#^Ȇ%9k~BLH#?9Xm=9ŀRPTģq 4߿/S5,E3gQ'Nb||SSS0lA1߻wyyyhl:IiX,Gњ12z'E&tuuk"*VRzIbl'ݍuuuFNsV2%5񐒴;kΪ*ߟ9E +Be@zh,*.[51YTd9CXFzqw6St F bqޑz W(8t+^C@iU3>D.  Y}^rL6n|t\8oaK[ŤK sXx1G@q1b:vNjDgg %ex`t'ګA0i^ZXt)E`<.b@ c{F|6> ?|~PH 5c]UTOZ}%v}͍r.eE0X_{(,U|T/mբ/5ܐ6 nذaNCf{v}5` &c+W@sŋhoo[dLѢs?NMXu|)Xoo7h\ Oe@>=?#q?I|4xr!kWfkUdVIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_mpeg.png0000755000176200001440000000340611440710176023620 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWkLTGcw>$ TM$jQېj"MFcj511jӦ?LM HDؚ'qET@C@Xv;=3.h{v̝93ߜ9+1$IjYYY)u]NjQK͡pcvŃS^^^Vioog%%%H 5O ,C2&_հBodf`(,,ļyr8 rV6Ӊ(2%vfc>O(%rN("JJkkka~~~݇:w@p8氣 ʡ Bun7Vyrōe˖#)) RSSy%\"oxPx6Ν0akg B'S&O~#p@1oP52mZ*OO^&umQ]]&lݲ4cŊO*tUH-A@[B1#%íU5@XB o @ WkV Ǐ']Dii9z{{@.3LhfϞIdW6XD" Q- ~#`׮lr=ؽ{;v>@@G@ @>wwr۶m:;-ج,\~]>7pDp8΍C`%NDjJ@N3LKNx"d| MԌ"cCۍtFA3 94:::>7#, #bɐ_q-Q|X0ŁPz$ >G('@%q1Q9B $gJyZ$E(7ÿkE4d}fBRhĆ̬Igp?cc2216l2|Qvaܢ}~FeB9:,%qT~]}C:8J6BrH%.uQ&k` wX?zzn`;jDv%XNco%GHIZ}:':/ۺ O_Sa@Ƌ+ѯMx8@]9Ճ3Ħswb~Z4]pILd9c'|y5Ĺ9).K9]'[Zx׹mG^266n}-Q ?*ک;o 9eHpH5'nr#ykz`wJQ1D!|PVX4 ;5] E%#i:MԜmFh]> Ja#Eø%1@mQ'Qu_1<~p<.fČ2nSPO~X_ZW+cx2zm+ _GL!F7ÃXHKg̸'3חT.[$A!F;I䑠i?>q6IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_msi.png0000755000176200001440000000332111440714352023454 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<sIDATxڴWklUfvnK)-P)MK HBh &D jԨQ!@44Z(bHQ4HDۥ;3v-An̽|sd%Ikjj:IHs J4+:Cjss_]FCCC#Użs+!2$xJYB8b h׭}EUUU5fKHȱv펪iT6ޡkp;Xگĝ?o|0J;Feennv>K!nL94:z O=U2E>䠼<ĉ$@\c "Pi vs^~z`pP4ܩh$***Pƃ` ˜٪"#1sض}3Μ>G+{8c @{/عsLj)s dpZxhuyՋ!*kq'Ta# Yۢ{7(*k5th`bl ]w°Z'(8(ɊHx| dP! *;.# ص ߘ&VL$@MKWQtu U16ozph Yחˮn}rNϸ fΗ@PDxhHЙ 4YY>8&{:6xqqwo Q5 sD c kE{UJt WjA74:%+a nĘ CoӰL:3>}_T߶/vE$u = + l)?*t.L'q;) 1sqjDE'٥CUo`.9VUN*E6 +%dSz͝ %ѡaB练סlz^%ʅT bR;z~ -`7"pg,z ^}[0a!r~/$5P'U3f鴁'1;m?ɳT=x 7+}B7r 3mˆ$7Jv w' wfEa?m)& /1^ѳ="f,hi)=4D2 QhOY ylg3 ND$Ld?{GD,dKCh?=$|E= 3lh,+ e$bqIX+cyrsum\! bD'$\xPyC<׽m EZ s)jq^讘&^i{ ??AO$Kg>H&V_v0 J/ri }od6;$$~z'FN*3V3|b6p#wÇc?~'/\<̹7:(`-yRxgU|~/JOEpH?_}˅͋ s܇]IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_html.png0000755000176200001440000000344111440714450023632 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWmlSU~g۵[7vsCY #$ ?Pc@KPB?4`30!A> s_c샱]vuu}{9==yޏs`XA.//?HQ (/..^LM1ֺb6R+**455+#R2L}vk翟A!g`Sw^,[ EEEȒ%K&cBɜUQT@U 4J Yffj]$R IR"UId>{"++ #8p/< 2r*26vg:Ka%TW73fIN^ OZh7"MEĮ~|~և{~Adň4'9QursAL0Gc|c$N_nENHb^S/a _Ȇe6Q1%?KSf@JPh.Uԯ.#$_ }8_G}he+ʅX v/™D,6 P⢐9ϵ \D"FX<ɚpԃ[x[ #j*SdH2d%Hdw@6UŽ XP4)n@`sEi}M1g.<*0DN`M$Qd4"tӮ-GVKf G!i#-KQ&M&@"0}L*0=8(.O#Q③ 3p6? "@z8ALn'cap?)m.︌+UuA'p"zf2EtnTq7u%MGu~2LRR~T\`p?Vd)4E]ҙZ/Б&zWCq/;?z2Rdm= dU2"bsHX*ЮTFJ@/6Nw'6G\ͳY)h jk,&f6L7AhxaΪ3q9UT]M?^i Ltzԯ}]Y n۱Jwp 'wiƲ2. 9 @F1@7ɹ.d Jۿh&av윗͙_ێ8EqAdE bT(Dną5LVF {nOZ\ys5CT ^^6}A3zׅ~Ҫd!1 ֪Oҧ/yfkީzn*N$DyU-OY/H$-Frtb4 ],d~BIENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_torrent.png0000755000176200001440000000214211440701260024353 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWKIY< xă ~z=x?=ioqiݛ?TuD*+7"*n4;2#_DBc "z~ t?tvrd7I*DH jGPezv@%{Ќ&sG .iv`MNȎp&=RjRIx/a,^/Ů`1 -.ʮ&zbAڴvC_6X1H!@y], =fˊZr}, B7G5 iae0QN`4~ NCkS 7[7%Ύ#L`,ri/}q] ZykZi !HLM=i$+U%u~X{Ml:qn{|0:>Q2Y*(2SzzIve=B ?,:*()6qi cҖ̬UVow*ʼbL1 @:[XoW %ʜ [Xrz8QZ \夜C- ׏6 $XIjf #^op05XmWf)(FR6X f/y;V/X⏹uO@JNm5KN<gcӊePXk u4t 3~6FNœp>0H-/\NCׁ@IͮfxTo!Xbw[#X§Ed~{{*ezCBd=q•8KTHs'}"ix(:>=H/Z^z^Z@́4 \  "=Ć8˹_L5&V}fv+DM_xk|ٷn՟Fx~jVxG . hk m 0S<&8,IENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_database.png0000755000176200001440000000235011233576466023546 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڼWKlEgfqLS'm㦩zqJQz ($P҆‰ W"!$PUӆ#EMT 5uG֎g7d|?p΁,\5 88›%TU捩)Q8׷B|#H5\_1g 8zQs\,vyfz,<5g"iդ&D"8366yea ŢbͤきGIёW%&qԩ~d-& Z}cĊ[16:ڏNM  ǏK! 4?#7s89<[/n6 f} "Ѥ DZ@0Ql'=3Ў; 0b - 4'k>j=%''s{+P! 3 J 7RA,ߕJO}{h)B{ wV :g~u/備Ͽ΅Eh@mn8 ɶD+V -^/?E+QY o(.ċ!&~v@ ώ}i c?r >O@gO߀%HV\],6Qm57p,n/w%x\@Vj f>|byb%XewלQԆD2i%gN ͥ`¡BժIN!JBRJ LP R;{,[[ 2p?G&p1~5H0t( slL9ȑC0#_0DxkW/7A @w;ky#S6n+r*iӇփF4Y%->ERhiY05; WUeO4IENDB`shinyFiles/inst/www/icons/Icons32x32/page_white_flash.png0000755000176200001440000000240011233577264023070 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڬWkLUܙ݅RDB Q&4@-KbB?hҘ UϘ4jKbRCV*ںXew}guNrrggϽ;=3LQ0ĎK:V Q ޮԧ+vY@YLLL(mi=>t y2z 46b׎o;а&/# .q1 ł]{xBTDD^]TiNh4b>|T矻pa$հ2Lb"!pRW"ws&ZWÖ-/͍ no|1k@͒Fi^=2zc` FȓRnO>Cc;gXR \$FNT| ;6O(g8AZ9ՄGm_!7{LCC@݋+NOd @`S ?#T?_)܄I{7{lHo!@;Qd5IUdbJU-d"(y~9b&k/uC HP LatL4| B۪k pL~ 3ا.r˪7bD`FwZp,̄iz/rzxǷRw@@ǴMcjH'(wo !t9ֶͯ_L74s_u]]0,ûyEvFsI)MPTYƃo>O]$H_v-Z5vOnSe!,y!UԽ![sv67W4) 1S,}JPll(sK7,,L_ӄ?^ 2g+iNX-Dvv#h9cS͓h 6E~8QS li^9[PvqK;:'η<3쟣3^3zq.nɎ` z/ň??iҢ/o2IENDB`shinyFiles/inst/www/icons/Icons32x32/file_extension_xls.png0000755000176200001440000000311311440701364023470 0ustar liggesusersPNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxڴWklTEs((G% B."A^J%1by$[DCX"X6>(@ ` Hc><3{wݶuٹwιg9;gf%۶m$/haL.?NWQQaVkhhKKK$J2,aN>AwmY:vLj#`0 jP%FEQpz23371VO%QLs@.46^ rrr#cmt愍r (a +q=q:t\:٬$hnVS@TECۇiSLS-,cǢ2xK'Oh8KQ !lpM~YNj$[` /•EDBYc4y Ώ 0x]k ȘRoyIQ !µ O0?CVK[MDH{C&i7> Z%QIVcĒyR~ӥ]5NK˴lu@cq+KXU3Ccm=QFo5 C@wx@2Kݭ C>40ۊ*lPQ4gنbTI7bMJ155f=Rx~R;#P2l lk ʱ~^"r@BLE2,ĺ{=Ewt-5|#wP>^>CQWҭHx#BDeB47*Uh/)ս|oMއ_1Iq#$dAh:s1^ EY 0&TdEB`neSwzQ!%,*/oCɱeiwX: 늄 d {/ƅbf ~㵶K(>Jqo܃SFaQ5EJoMw];aEܕa#n- DN!s{u@֪E^}';5en2^C7a^ a>a 껙H\M2IY0P6E j 9~ ؼ֪ڏxF ?x|Æoޗgugr0я{F h`dĉiѪ.3!aTlGIV hlү|ڿ"u_%/w7EbLppZ/)\#6vO؈ٙ0!J k[LPẎł)Qx]D2iY1_1)م cՎ:/Yevq{fy0 ԇz#ntS)h}sm+?.O؊$9L5<(!j&sC2yH4$%NjIXI!pp|2Z"ɢOW9K6~hC2_Ecd_A{@}9r nTF֓ubGy6Z[HNzx:qQzΘ]1B+&QhY%G025#i##MZ@^OH"M̀nMKR&a= j|.ȴagx.-~6Ibp*Q#W&Sb (%9h x-<^AbaқvC^Zta[I6.TnNP86g8~㏓o~=OhENoއg2KbAO8UHGEfeyW<^EΨ_i Ǜ %ިN#AOm`x %$5a}%@64(o~G*=izIENDB`shinyFiles/inst/www/icons/readme-fatcow.txt0000755000176200001440000000407513752246313020601 0ustar liggesusersFree FatCow-Farm Fresh Icons https://www.fatcow.com/free-icons FatCow Farm-Fresh final release (3926 icons, 5 parts): - fatcow-hosting-icons-3.9.2.zip default (10.9 Mb) - fatcow-hosting-icons-3.9.2-color.zip (11.1 Mb) - fatcow-hosting-icons-3.9.2-grey.zip (6.9 Mb) - fatcow-hosting-icons-3.9.2-ico.zip (8.9 Mb) - fatcow-hosting-icons-3.9.2-all.zip (30.7 Mb) - fatcow-hosting-icons-3.9.2-ai-src.zip (2.82 !Gb) Farm-Fresh v3.92, 10-04-2014 ----------------------------------------- - 126 new 32x32 and 16x16 icons added (total of 252 files) - 139 icons renamed as per Tango Icon Theme Guidelines - 10 new 48x48 and 96x96 Retina ready icons (added) - Adobe Illustrator .ai vector source files (added) - greyscale version of color icons in .png (added) - .ico files of all .png icons files (added) - icons sorted by 11 base colors (added) --------------------------------------------------------------------------------- Farm-Fresh v3.80, 10-25-2013 ----------------------------------------- - 300 new 32x32 and 16x16 icons added (total of 600) --------------------------------------------------------------------------------- Farm-Fresh v3.50, 29-03-2013 ----------------------------------------- - 500 new 32x32 and 16x16 icons added (total of 1,000) These icons are licensed under a Creative Commons Attribution 3.0 License. http://creativecommons.org/licenses/by/3.0/us/ if you do not know how to link back to FatCow's website, you can ask https://plus.google.com/+MarcisGasuns Biggest icon set drawn by a single designer (in pixel smooth style) worldwide. We are unavailable for custom icon design work. The project is closed (April 2014) and we do not plan to draw more metaphors. http://twitter.com/FatCow http://plus.google.com/+FatCow http://www.facebook.com/FatCow --------------------------------------------------------------------------------- © Copyright 2009-2014 FatCow Web Hosting. All rights reserved. http://www.fatcow.com All other trademarks and copyrights are property of their respective owners. ---------------------------------------------------------------------------------shinyFiles/inst/www/fileIcons.css0000644000176200001440000010464413461770177016643 0ustar liggesusers .sF-filetype-3gp::after { content: url(icons/Icons16x16/file_extension_3gp.png); } .sF-icons .sF-filetype-3gp::after { content: url(icons/Icons32x32/file_extension_3gp.png); } .sF-filetype-7z::after { content: url(icons/Icons16x16/file_extension_7z.png); } .sF-icons .sF-filetype-7z::after { content: url(icons/Icons32x32/file_extension_7z.png); } .sF-filetype-ace::after { content: url(icons/Icons16x16/file_extension_ace.png); } .sF-icons .sF-filetype-ace::after { content: url(icons/Icons32x32/file_extension_ace.png); } .sF-filetype-ai::after { content: url(icons/Icons16x16/file_extension_ai.png); } .sF-icons .sF-filetype-ai::after { content: url(icons/Icons32x32/file_extension_ai.png); } .sF-filetype-aif::after { content: url(icons/Icons16x16/file_extension_aif.png); } .sF-icons .sF-filetype-aif::after { content: url(icons/Icons32x32/file_extension_aif.png); } .sF-filetype-aiff::after { content: url(icons/Icons16x16/file_extension_aiff.png); } .sF-icons .sF-filetype-aiff::after { content: url(icons/Icons32x32/file_extension_aiff.png); } .sF-filetype-amr::after { content: url(icons/Icons16x16/file_extension_amr.png); } .sF-icons .sF-filetype-amr::after { content: url(icons/Icons32x32/file_extension_amr.png); } .sF-filetype-asf::after { content: url(icons/Icons16x16/file_extension_asf.png); } .sF-icons .sF-filetype-asf::after { content: url(icons/Icons32x32/file_extension_asf.png); } .sF-filetype-asx::after { content: url(icons/Icons16x16/file_extension_asx.png); } .sF-icons .sF-filetype-asx::after { content: url(icons/Icons32x32/file_extension_asx.png); } .sF-filetype-bat::after { content: url(icons/Icons16x16/file_extension_bat.png); } .sF-icons .sF-filetype-bat::after { content: url(icons/Icons32x32/file_extension_bat.png); } .sF-filetype-bin::after { content: url(icons/Icons16x16/file_extension_bin.png); } .sF-icons .sF-filetype-bin::after { content: url(icons/Icons32x32/file_extension_bin.png); } .sF-filetype-bmp::after { content: url(icons/Icons16x16/file_extension_bmp.png); } .sF-icons .sF-filetype-bmp::after { content: url(icons/Icons32x32/file_extension_bmp.png); } .sF-filetype-bup::after { content: url(icons/Icons16x16/file_extension_bup.png); } .sF-icons .sF-filetype-bup::after { content: url(icons/Icons32x32/file_extension_bup.png); } .sF-filetype-cab::after { content: url(icons/Icons16x16/file_extension_cab.png); } .sF-icons .sF-filetype-cab::after { content: url(icons/Icons32x32/file_extension_cab.png); } .sF-filetype-cbr::after { content: url(icons/Icons16x16/file_extension_cbr.png); } .sF-icons .sF-filetype-cbr::after { content: url(icons/Icons32x32/file_extension_cbr.png); } .sF-filetype-cda::after { content: url(icons/Icons16x16/file_extension_cda.png); } .sF-icons .sF-filetype-cda::after { content: url(icons/Icons32x32/file_extension_cda.png); } .sF-filetype-cdl::after { content: url(icons/Icons16x16/file_extension_cdl.png); } .sF-icons .sF-filetype-cdl::after { content: url(icons/Icons32x32/file_extension_cdl.png); } .sF-filetype-cdr::after { content: url(icons/Icons16x16/file_extension_cdr.png); } .sF-icons .sF-filetype-cdr::after { content: url(icons/Icons32x32/file_extension_cdr.png); } .sF-filetype-chm::after { content: url(icons/Icons16x16/file_extension_chm.png); } .sF-icons .sF-filetype-chm::after { content: url(icons/Icons32x32/file_extension_chm.png); } .sF-filetype-dat::after { content: url(icons/Icons16x16/file_extension_dat.png); } .sF-icons .sF-filetype-dat::after { content: url(icons/Icons32x32/file_extension_dat.png); } .sF-filetype-divx::after { content: url(icons/Icons16x16/file_extension_divx.png); } .sF-icons .sF-filetype-divx::after { content: url(icons/Icons32x32/file_extension_divx.png); } .sF-filetype-dll::after { content: url(icons/Icons16x16/file_extension_dll.png); } .sF-icons .sF-filetype-dll::after { content: url(icons/Icons32x32/file_extension_dll.png); } .sF-filetype-dmg::after { content: url(icons/Icons16x16/file_extension_dmg.png); } .sF-icons .sF-filetype-dmg::after { content: url(icons/Icons32x32/file_extension_dmg.png); } .sF-filetype-doc::after { content: url(icons/Icons16x16/file_extension_doc.png); } .sF-icons .sF-filetype-doc::after { content: url(icons/Icons32x32/file_extension_doc.png); } .sF-filetype-dss::after { content: url(icons/Icons16x16/file_extension_dss.png); } .sF-icons .sF-filetype-dss::after { content: url(icons/Icons32x32/file_extension_dss.png); } .sF-filetype-dvf::after { content: url(icons/Icons16x16/file_extension_dvf.png); } .sF-icons .sF-filetype-dvf::after { content: url(icons/Icons32x32/file_extension_dvf.png); } .sF-filetype-dwg::after { content: url(icons/Icons16x16/file_extension_dwg.png); } .sF-icons .sF-filetype-dwg::after { content: url(icons/Icons32x32/file_extension_dwg.png); } .sF-filetype-eml::after { content: url(icons/Icons16x16/file_extension_eml.png); } .sF-icons .sF-filetype-eml::after { content: url(icons/Icons32x32/file_extension_eml.png); } .sF-filetype-eps::after { content: url(icons/Icons16x16/file_extension_eps.png); } .sF-icons .sF-filetype-eps::after { content: url(icons/Icons32x32/file_extension_eps.png); } .sF-filetype-exe::after { content: url(icons/Icons16x16/file_extension_exe.png); } .sF-icons .sF-filetype-exe::after { content: url(icons/Icons32x32/file_extension_exe.png); } .sF-filetype-fla::after { content: url(icons/Icons16x16/file_extension_fla.png); } .sF-icons .sF-filetype-fla::after { content: url(icons/Icons32x32/file_extension_fla.png); } .sF-filetype-flv::after { content: url(icons/Icons16x16/file_extension_flv.png); } .sF-icons .sF-filetype-flv::after { content: url(icons/Icons32x32/file_extension_flv.png); } .sF-filetype-gif::after { content: url(icons/Icons16x16/file_extension_gif.png); } .sF-icons .sF-filetype-gif::after { content: url(icons/Icons32x32/file_extension_gif.png); } .sF-filetype-gz::after { content: url(icons/Icons16x16/file_extension_gz.png); } .sF-icons .sF-filetype-gz::after { content: url(icons/Icons32x32/file_extension_gz.png); } .sF-filetype-hqx::after { content: url(icons/Icons16x16/file_extension_hqx.png); } .sF-icons .sF-filetype-hqx::after { content: url(icons/Icons32x32/file_extension_hqx.png); } .sF-filetype-htm::after { content: url(icons/Icons16x16/file_extension_htm.png); } .sF-icons .sF-filetype-htm::after { content: url(icons/Icons32x32/file_extension_htm.png); } .sF-filetype-html::after { content: url(icons/Icons16x16/file_extension_html.png); } .sF-icons .sF-filetype-html::after { content: url(icons/Icons32x32/file_extension_html.png); } .sF-filetype-ifo::after { content: url(icons/Icons16x16/file_extension_ifo.png); } .sF-icons .sF-filetype-ifo::after { content: url(icons/Icons32x32/file_extension_ifo.png); } .sF-filetype-indd::after { content: url(icons/Icons16x16/file_extension_indd.png); } .sF-icons .sF-filetype-indd::after { content: url(icons/Icons32x32/file_extension_indd.png); } .sF-filetype-iso::after { content: url(icons/Icons16x16/file_extension_iso.png); } .sF-icons .sF-filetype-iso::after { content: url(icons/Icons32x32/file_extension_iso.png); } .sF-filetype-jar::after { content: url(icons/Icons16x16/file_extension_jar.png); } .sF-icons .sF-filetype-jar::after { content: url(icons/Icons32x32/file_extension_jar.png); } .sF-filetype-jpeg::after { content: url(icons/Icons16x16/file_extension_jpeg.png); } .sF-icons .sF-filetype-jpeg::after { content: url(icons/Icons32x32/file_extension_jpeg.png); } .sF-filetype-jpg::after { content: url(icons/Icons16x16/file_extension_jpg.png); } .sF-icons .sF-filetype-jpg::after { content: url(icons/Icons32x32/file_extension_jpg.png); } .sF-filetype-lnk::after { content: url(icons/Icons16x16/file_extension_lnk.png); } .sF-icons .sF-filetype-lnk::after { content: url(icons/Icons32x32/file_extension_lnk.png); } .sF-filetype-log::after { content: url(icons/Icons16x16/file_extension_log.png); } .sF-icons .sF-filetype-log::after { content: url(icons/Icons32x32/file_extension_log.png); } .sF-filetype-m4a::after { content: url(icons/Icons16x16/file_extension_m4a.png); } .sF-icons .sF-filetype-m4a::after { content: url(icons/Icons32x32/file_extension_m4a.png); } .sF-filetype-m4b::after { content: url(icons/Icons16x16/file_extension_m4b.png); } .sF-icons .sF-filetype-m4b::after { content: url(icons/Icons32x32/file_extension_m4b.png); } .sF-filetype-m4p::after { content: url(icons/Icons16x16/file_extension_m4p.png); } .sF-icons .sF-filetype-m4p::after { content: url(icons/Icons32x32/file_extension_m4p.png); } .sF-filetype-m4v::after { content: url(icons/Icons16x16/file_extension_m4v.png); } .sF-icons .sF-filetype-m4v::after { content: url(icons/Icons32x32/file_extension_m4v.png); } .sF-filetype-mcd::after { content: url(icons/Icons16x16/file_extension_mcd.png); } .sF-icons .sF-filetype-mcd::after { content: url(icons/Icons32x32/file_extension_mcd.png); } .sF-filetype-md::after { content: url(icons/Icons16x16/file_extension_md.png); } .sF-icons .sF-filetype-md::after { content: url(icons/Icons32x32/file_extension_md.png); } .sF-filetype-mdb::after { content: url(icons/Icons16x16/file_extension_mdb.png); } .sF-icons .sF-filetype-mdb::after { content: url(icons/Icons32x32/file_extension_mdb.png); } .sF-filetype-mid::after { content: url(icons/Icons16x16/file_extension_mid.png); } .sF-icons .sF-filetype-mid::after { content: url(icons/Icons32x32/file_extension_mid.png); } .sF-filetype-mov::after { content: url(icons/Icons16x16/file_extension_mov.png); } .sF-icons .sF-filetype-mov::after { content: url(icons/Icons32x32/file_extension_mov.png); } .sF-filetype-mp2::after { content: url(icons/Icons16x16/file_extension_mp2.png); } .sF-icons .sF-filetype-mp2::after { content: url(icons/Icons32x32/file_extension_mp2.png); } .sF-filetype-mp4::after { content: url(icons/Icons16x16/file_extension_mp4.png); } .sF-icons .sF-filetype-mp4::after { content: url(icons/Icons32x32/file_extension_mp4.png); } .sF-filetype-mpeg::after { content: url(icons/Icons16x16/file_extension_mpeg.png); } .sF-icons .sF-filetype-mpeg::after { content: url(icons/Icons32x32/file_extension_mpeg.png); } .sF-filetype-mpg::after { content: url(icons/Icons16x16/file_extension_mpg.png); } .sF-icons .sF-filetype-mpg::after { content: url(icons/Icons32x32/file_extension_mpg.png); } .sF-filetype-msi::after { content: url(icons/Icons16x16/file_extension_msi.png); } .sF-icons .sF-filetype-msi::after { content: url(icons/Icons32x32/file_extension_msi.png); } .sF-filetype-mswmm::after { content: url(icons/Icons16x16/file_extension_mswmm.png); } .sF-icons .sF-filetype-mswmm::after { content: url(icons/Icons32x32/file_extension_mswmm.png); } .sF-filetype-ogg::after { content: url(icons/Icons16x16/file_extension_ogg.png); } .sF-icons .sF-filetype-ogg::after { content: url(icons/Icons32x32/file_extension_ogg.png); } .sF-filetype-pdf::after { content: url(icons/Icons16x16/file_extension_pdf.png); } .sF-icons .sF-filetype-pdf::after { content: url(icons/Icons32x32/file_extension_pdf.png); } .sF-filetype-png::after { content: url(icons/Icons16x16/file_extension_png.png); } .sF-icons .sF-filetype-png::after { content: url(icons/Icons32x32/file_extension_png.png); } .sF-filetype-pps::after { content: url(icons/Icons16x16/file_extension_pps.png); } .sF-icons .sF-filetype-pps::after { content: url(icons/Icons32x32/file_extension_pps.png); } .sF-filetype-ps::after { content: url(icons/Icons16x16/file_extension_ps.png); } .sF-icons .sF-filetype-ps::after { content: url(icons/Icons32x32/file_extension_ps.png); } .sF-filetype-psd::after { content: url(icons/Icons16x16/file_extension_psd.png); } .sF-icons .sF-filetype-psd::after { content: url(icons/Icons32x32/file_extension_psd.png); } .sF-filetype-pst::after { content: url(icons/Icons16x16/file_extension_pst.png); } .sF-icons .sF-filetype-pst::after { content: url(icons/Icons32x32/file_extension_pst.png); } .sF-filetype-ptb::after { content: url(icons/Icons16x16/file_extension_ptb.png); } .sF-icons .sF-filetype-ptb::after { content: url(icons/Icons32x32/file_extension_ptb.png); } .sF-filetype-pub::after { content: url(icons/Icons16x16/file_extension_pub.png); } .sF-icons .sF-filetype-pub::after { content: url(icons/Icons32x32/file_extension_pub.png); } .sF-filetype-qbb::after { content: url(icons/Icons16x16/file_extension_qbb.png); } .sF-icons .sF-filetype-qbb::after { content: url(icons/Icons32x32/file_extension_qbb.png); } .sF-filetype-qbw::after { content: url(icons/Icons16x16/file_extension_qbw.png); } .sF-icons .sF-filetype-qbw::after { content: url(icons/Icons32x32/file_extension_qbw.png); } .sF-filetype-qxd::after { content: url(icons/Icons16x16/file_extension_qxd.png); } .sF-icons .sF-filetype-qxd::after { content: url(icons/Icons32x32/file_extension_qxd.png); } .sF-filetype-r::after { content: url(icons/Icons16x16/file_extension_r.png); } .sF-icons .sF-filetype-r::after { content: url(icons/Icons32x32/file_extension_r.png); } .sF-filetype-ram::after { content: url(icons/Icons16x16/file_extension_ram.png); } .sF-icons .sF-filetype-ram::after { content: url(icons/Icons32x32/file_extension_ram.png); } .sF-filetype-rar::after { content: url(icons/Icons16x16/file_extension_rar.png); } .sF-icons .sF-filetype-rar::after { content: url(icons/Icons32x32/file_extension_rar.png); } .sF-filetype-rm::after { content: url(icons/Icons16x16/file_extension_rm.png); } .sF-icons .sF-filetype-rm::after { content: url(icons/Icons32x32/file_extension_rm.png); } .sF-filetype-Rmd::after { content: url(icons/Icons16x16/file_extension_Rmd.png); } .sF-icons .sF-filetype-Rmd::after { content: url(icons/Icons32x32/file_extension_Rmd.png); } .sF-filetype-rmvb::after { content: url(icons/Icons16x16/file_extension_rmvb.png); } .sF-icons .sF-filetype-rmvb::after { content: url(icons/Icons32x32/file_extension_rmvb.png); } .sF-filetype-rproj::after { content: url(icons/Icons16x16/file_extension_rproj.png); } .sF-icons .sF-filetype-rproj::after { content: url(icons/Icons32x32/file_extension_rproj.png); } .sF-filetype-rtf::after { content: url(icons/Icons16x16/file_extension_rtf.png); } .sF-icons .sF-filetype-rtf::after { content: url(icons/Icons32x32/file_extension_rtf.png); } .sF-filetype-sea::after { content: url(icons/Icons16x16/file_extension_sea.png); } .sF-icons .sF-filetype-sea::after { content: url(icons/Icons32x32/file_extension_sea.png); } .sF-filetype-ses::after { content: url(icons/Icons16x16/file_extension_ses.png); } .sF-icons .sF-filetype-ses::after { content: url(icons/Icons32x32/file_extension_ses.png); } .sF-filetype-sit::after { content: url(icons/Icons16x16/file_extension_sit.png); } .sF-icons .sF-filetype-sit::after { content: url(icons/Icons32x32/file_extension_sit.png); } .sF-filetype-sitx::after { content: url(icons/Icons16x16/file_extension_sitx.png); } .sF-icons .sF-filetype-sitx::after { content: url(icons/Icons32x32/file_extension_sitx.png); } .sF-filetype-ss::after { content: url(icons/Icons16x16/file_extension_ss.png); } .sF-icons .sF-filetype-ss::after { content: url(icons/Icons32x32/file_extension_ss.png); } .sF-filetype-swf::after { content: url(icons/Icons16x16/file_extension_swf.png); } .sF-icons .sF-filetype-swf::after { content: url(icons/Icons32x32/file_extension_swf.png); } .sF-filetype-tgz::after { content: url(icons/Icons16x16/file_extension_tgz.png); } .sF-icons .sF-filetype-tgz::after { content: url(icons/Icons32x32/file_extension_tgz.png); } .sF-filetype-thm::after { content: url(icons/Icons16x16/file_extension_thm.png); } .sF-icons .sF-filetype-thm::after { content: url(icons/Icons32x32/file_extension_thm.png); } .sF-filetype-tif::after { content: url(icons/Icons16x16/file_extension_tif.png); } .sF-icons .sF-filetype-tif::after { content: url(icons/Icons32x32/file_extension_tif.png); } .sF-filetype-tmp::after { content: url(icons/Icons16x16/file_extension_tmp.png); } .sF-icons .sF-filetype-tmp::after { content: url(icons/Icons32x32/file_extension_tmp.png); } .sF-filetype-torrent::after { content: url(icons/Icons16x16/file_extension_torrent.png); } .sF-icons .sF-filetype-torrent::after { content: url(icons/Icons32x32/file_extension_torrent.png); } .sF-filetype-ttf::after { content: url(icons/Icons16x16/file_extension_ttf.png); } .sF-icons .sF-filetype-ttf::after { content: url(icons/Icons32x32/file_extension_ttf.png); } .sF-filetype-txt::after { content: url(icons/Icons16x16/file_extension_txt.png); } .sF-icons .sF-filetype-txt::after { content: url(icons/Icons32x32/file_extension_txt.png); } .sF-filetype-vcd::after { content: url(icons/Icons16x16/file_extension_vcd.png); } .sF-icons .sF-filetype-vcd::after { content: url(icons/Icons32x32/file_extension_vcd.png); } .sF-filetype-vob::after { content: url(icons/Icons16x16/file_extension_vob.png); } .sF-icons .sF-filetype-vob::after { content: url(icons/Icons32x32/file_extension_vob.png); } .sF-filetype-wav::after { content: url(icons/Icons16x16/file_extension_wav.png); } .sF-icons .sF-filetype-wav::after { content: url(icons/Icons32x32/file_extension_wav.png); } .sF-filetype-wma::after { content: url(icons/Icons16x16/file_extension_wma.png); } .sF-icons .sF-filetype-wma::after { content: url(icons/Icons32x32/file_extension_wma.png); } .sF-filetype-wmv::after { content: url(icons/Icons16x16/file_extension_wmv.png); } .sF-icons .sF-filetype-wmv::after { content: url(icons/Icons32x32/file_extension_wmv.png); } .sF-filetype-wps::after { content: url(icons/Icons16x16/file_extension_wps.png); } .sF-icons .sF-filetype-wps::after { content: url(icons/Icons32x32/file_extension_wps.png); } .sF-filetype-xls::after { content: url(icons/Icons16x16/file_extension_xls.png); } .sF-icons .sF-filetype-xls::after { content: url(icons/Icons32x32/file_extension_xls.png); } .sF-filetype-xpi::after { content: url(icons/Icons16x16/file_extension_xpi.png); } .sF-icons .sF-filetype-xpi::after { content: url(icons/Icons32x32/file_extension_xpi.png); } .sF-filetype-zip::after { content: url(icons/Icons16x16/file_extension_zip.png); } .sF-icons .sF-filetype-zip::after { content: url(icons/Icons32x32/file_extension_zip.png); } .sF-filetype-as::after { content: url(icons/Icons16x16/page_white_actionscript.png); } .sF-icons .sF-filetype-as::after { content: url(icons/Icons32x32/page_white_actionscript.png); } .sF-filetype-c::after { content: url(icons/Icons16x16/page_white_c.png); } .sF-icons .sF-filetype-c::after { content: url(icons/Icons32x32/page_white_c.png); } .sF-filetype-lua::after, .sF-filetype-m::after, .sF-filetype-pl::after, .sF-filetype-py::after, .sF-filetype-sh::after, .sF-filetype-js::after, .sF-filetype-css::after, .sF-filetype-fs::after, .sF-filetype-fsx::after, .sF-filetype-el::after, .sF-filetype-lisp::after, .sF-filetype-cl::after, .sF-filetype-lsp::after, .sF-filetype-pas::after, .sF-filetype-s::after, .sF-filetype-m::after, .sF-filetype-f::after, .sF-filetype-for::after, .sF-filetype-f90::after { content: url(icons/Icons16x16/page_white_code.png); } .sF-icons .sF-filetype-lua::after, .sF-icons .sF-filetype-m::after, .sF-icons .sF-filetype-pl::after, .sF-icons .sF-filetype-py::after, .sF-icons .sF-filetype-sh::after, .sF-icons .sF-filetype-js::after, .sF-icons .sF-filetype-css::after, .sF-icons .sF-filetype-fs::after, .sF-icons .sF-filetype-fsx::after, .sF-icons .sF-filetype-el::after, .sF-icons .sF-filetype-lisp::after, .sF-icons .sF-filetype-cl::after, .sF-icons .sF-filetype-lsp::after, .sF-icons .sF-filetype-pas::after, .sF-icons .sF-filetype-s::after, .sF-icons .sF-filetype-m::after, .sF-icons .sF-filetype-f::after, .sF-icons .sF-filetype-for::after, .sF-icons .sF-filetype-f90::after { content: url(icons/Icons32x32/page_white_code.png); } .sF-filetype-C::after, .sF-filetype-cc::after, .sF-filetype-cpp::after, .sF-filetype-CPP::after, .sF-filetype-c++::after, .sF-filetype-cp::after, .sF-filetype-cxx::after { content: url(icons/Icons16x16/page_white_cplusplus.png); } .sF-icons .sF-filetype-C::after, .sF-icons .sF-filetype-cc::after, .sF-icons .sF-filetype-cpp::after, .sF-icons .sF-filetype-CPP::after, .sF-icons .sF-filetype-c++::after, .sF-icons .sF-filetype-cp::after, .sF-icons .sF-filetype-cxx::after { content: url(icons/Icons32x32/page_white_cplusplus.png); } .sF-filetype-cs::after { content: url(icons/Icons16x16/page_white_csharp.png); } .sF-icons .sF-filetype-cs::after { content: url(icons/Icons32x32/page_white_csharp.png); } .sF-filetype-java::after, .sF-filetype-class::after { content: url(icons/Icons16x16/page_white_cup.png); } .sF-icons .sF-filetype-java::after, .sF-icons .sF-filetype-class::after { content: url(icons/Icons32x32/page_white_cup.png); } .sF-filetype-4db::after, .sF-filetype-4dd::after, .sF-filetype-4dindx::after, .sF-filetype-4dindy::after, .sF-filetype-4dr::after, .sF-filetype-adt::after, .sF-filetype-apr::after, .sF-filetype-box::after, .sF-filetype-chml::after, .sF-filetype-daf::after, .sF-filetype-db::after, .sF-filetype-dbf::after, .sF-filetype-eap::after, .sF-filetype-egt::after, .sF-filetype-ess::after, .sF-filetype-fdb::after, .sF-filetype-fp::after, .sF-filetype-fp3::after, .sF-filetype-fp5::after, .sF-filetype-fp7::after, .sF-filetype-frm::after, .sF-filetype-gdb::after, .sF-filetype-gtable::after, .sF-filetype-kexi::after, .sF-filetype-kexic::after, .sF-filetype-myd::after, .sF-filetype-myi::after, .sF-filetype-ncf::after, .sF-filetype-nsf::after, .sF-filetype-ntf::after, .sF-filetype-nv2::after, .sF-filetype-odb::after, .sF-filetype-ora::after, .sF-filetype-pdb::after, .sF-filetype-pdi::after, .sF-filetype-pdx::after, .sF-filetype-prc::after, .sF-filetype-rec::after, .sF-filetype-rel::after, .sF-filetype-rin::after, .sF-filetype-sdb::after, .sF-filetype-sdf::after, .sF-filetype-sql::after, .sF-filetype-udl::after, .sF-filetype-wadata::after, .sF-filetype-waindx::after, .sF-filetype-wajournal::after, .sF-filetype-wamodel::after, .sF-filetype-wdb::after, .sF-filetype-wmdb::after, .sF-filetype-4DB::after, .sF-filetype-4DD::after, .sF-filetype-4DIndy::after, .sF-filetype-4DIndx::after, .sF-filetype-4DR::after, .sF-filetype-ADT::after, .sF-filetype-APR::after, .sF-filetype-BOX::after, .sF-filetype-CHML::after, .sF-filetype-DAF::after, .sF-filetype-DAT::after, .sF-filetype-DB::after, .sF-filetype-DBF::after, .sF-filetype-EGT::after, .sF-filetype-ESS::after, .sF-filetype-EAP::after, .sF-filetype-FDB::after, .sF-filetype-FP::after, .sF-filetype-FP3::after, .sF-filetype-FP5::after, .sF-filetype-FP7::after, .sF-filetype-FRM::after, .sF-filetype-GDB::after, .sF-filetype-GTABLE::after, .sF-filetype-KEXI::after, .sF-filetype-KEXIC::after, .sF-filetype-MYD::after, .sF-filetype-MYI::after, .sF-filetype-NCF::after, .sF-filetype-NSF::after, .sF-filetype-NTF::after, .sF-filetype-NV2::after, .sF-filetype-ODB::after, .sF-filetype-ORA::after, .sF-filetype-PDB::after, .sF-filetype-PDI::after, .sF-filetype-PDX::after, .sF-filetype-PRC::after, .sF-filetype-SQL::after, .sF-filetype-REC::after, .sF-filetype-REL::after, .sF-filetype-RIN::after, .sF-filetype-SDB::after, .sF-filetype-SDF::after, .sF-filetype-UDL::after, .sF-filetype-waData::after, .sF-filetype-waIndx::after, .sF-filetype-waModel::after, .sF-filetype-waJournal::after, .sF-filetype-WDB::after, .sF-filetype-WMDB::after, .sF-filetype-dta::after, .sF-filetype-sav::after, .sF-filetype-sas7bdat::after { content: url(icons/Icons16x16/page_white_database.png); } .sF-icons .sF-filetype-4db::after, .sF-icons .sF-filetype-4dd::after, .sF-icons .sF-filetype-4dindx::after, .sF-icons .sF-filetype-4dindy::after, .sF-icons .sF-filetype-4dr::after, .sF-icons .sF-filetype-adt::after, .sF-icons .sF-filetype-apr::after, .sF-icons .sF-filetype-box::after, .sF-icons .sF-filetype-chml::after, .sF-icons .sF-filetype-daf::after, .sF-icons .sF-filetype-db::after, .sF-icons .sF-filetype-dbf::after, .sF-icons .sF-filetype-eap::after, .sF-icons .sF-filetype-egt::after, .sF-icons .sF-filetype-ess::after, .sF-icons .sF-filetype-fdb::after, .sF-icons .sF-filetype-fp::after, .sF-icons .sF-filetype-fp3::after, .sF-icons .sF-filetype-fp5::after, .sF-icons .sF-filetype-fp7::after, .sF-icons .sF-filetype-frm::after, .sF-icons .sF-filetype-gdb::after, .sF-icons .sF-filetype-gtable::after, .sF-icons .sF-filetype-kexi::after, .sF-icons .sF-filetype-kexic::after, .sF-icons .sF-filetype-myd::after, .sF-icons .sF-filetype-myi::after, .sF-icons .sF-filetype-ncf::after, .sF-icons .sF-filetype-nsf::after, .sF-icons .sF-filetype-ntf::after, .sF-icons .sF-filetype-nv2::after, .sF-icons .sF-filetype-odb::after, .sF-icons .sF-filetype-ora::after, .sF-icons .sF-filetype-pdb::after, .sF-icons .sF-filetype-pdi::after, .sF-icons .sF-filetype-pdx::after, .sF-icons .sF-filetype-prc::after, .sF-icons .sF-filetype-rec::after, .sF-icons .sF-filetype-rel::after, .sF-icons .sF-filetype-rin::after, .sF-icons .sF-filetype-sdb::after, .sF-icons .sF-filetype-sdf::after, .sF-icons .sF-filetype-sql::after, .sF-icons .sF-filetype-udl::after, .sF-icons .sF-filetype-wadata::after, .sF-icons .sF-filetype-waindx::after, .sF-icons .sF-filetype-wajournal::after, .sF-icons .sF-filetype-wamodel::after, .sF-icons .sF-filetype-wdb::after, .sF-icons .sF-filetype-wmdb::after, .sF-icons .sF-filetype-4DB::after, .sF-icons .sF-filetype-4DD::after, .sF-icons .sF-filetype-4DIndy::after, .sF-icons .sF-filetype-4DIndx::after, .sF-icons .sF-filetype-4DR::after, .sF-icons .sF-filetype-ADT::after, .sF-icons .sF-filetype-APR::after, .sF-icons .sF-filetype-BOX::after, .sF-icons .sF-filetype-CHML::after, .sF-icons .sF-filetype-DAF::after, .sF-icons .sF-filetype-DAT::after, .sF-icons .sF-filetype-DB::after, .sF-icons .sF-filetype-DBF::after, .sF-icons .sF-filetype-EGT::after, .sF-icons .sF-filetype-ESS::after, .sF-icons .sF-filetype-EAP::after, .sF-icons .sF-filetype-FDB::after, .sF-icons .sF-filetype-FP::after, .sF-icons .sF-filetype-FP3::after, .sF-icons .sF-filetype-FP5::after, .sF-icons .sF-filetype-FP7::after, .sF-icons .sF-filetype-FRM::after, .sF-icons .sF-filetype-GDB::after, .sF-icons .sF-filetype-GTABLE::after, .sF-icons .sF-filetype-KEXI::after, .sF-icons .sF-filetype-KEXIC::after, .sF-icons .sF-filetype-MYD::after, .sF-icons .sF-filetype-MYI::after, .sF-icons .sF-filetype-NCF::after, .sF-icons .sF-filetype-NSF::after, .sF-icons .sF-filetype-NTF::after, .sF-icons .sF-filetype-NV2::after, .sF-icons .sF-filetype-ODB::after, .sF-icons .sF-filetype-ORA::after, .sF-icons .sF-filetype-PDB::after, .sF-icons .sF-filetype-PDI::after, .sF-icons .sF-filetype-PDX::after, .sF-icons .sF-filetype-PRC::after, .sF-icons .sF-filetype-SQL::after, .sF-icons .sF-filetype-REC::after, .sF-icons .sF-filetype-REL::after, .sF-icons .sF-filetype-RIN::after, .sF-icons .sF-filetype-SDB::after, .sF-icons .sF-filetype-SDF::after, .sF-icons .sF-filetype-UDL::after, .sF-icons .sF-filetype-waData::after, .sF-icons .sF-filetype-waIndx::after, .sF-icons .sF-filetype-waModel::after, .sF-icons .sF-filetype-waJournal::after, .sF-icons .sF-filetype-WDB::after, .sF-icons .sF-filetype-WMDB::after, .sF-icons .sF-filetype-dta::after, .sF-icons .sF-filetype-sav::after, .sF-icons .sF-filetype-sas7bdat::after { content: url(icons/Icons32x32/page_white_database.png); } .sF-filetype-xlm::after, .sF-filetype-xlt::after, .sF-filetype-xlsx::after, .sF-filetype-xlsm::after, .sF-filetype-xltx::after, .sF-filetype-xltm::after, .sF-filetype-xlsb::after, .sF-filetype-xla::after, .sF-filetype-xlam::after, .sF-filetype-xll::after, .sF-filetype-xlw::after, .sF-filetype-csv::after { content: url(icons/Icons16x16/page_white_excel.png); } .sF-icons .sF-filetype-xlm::after, .sF-icons .sF-filetype-xlt::after, .sF-icons .sF-filetype-xlsx::after, .sF-icons .sF-filetype-xlsm::after, .sF-icons .sF-filetype-xltx::after, .sF-icons .sF-filetype-xltm::after, .sF-icons .sF-filetype-xlsb::after, .sF-icons .sF-filetype-xla::after, .sF-icons .sF-filetype-xlam::after, .sF-icons .sF-filetype-xll::after, .sF-icons .sF-filetype-xlw::after, .sF-icons .sF-filetype-csv::after { content: url(icons/Icons32x32/page_white_excel.png); } .sF-filetype-conf::after, .sF-filetype-sys::after, .sF-filetype-ini::after, .sF-filetype-cnf::after, .sF-filetype-config::after, .sF-filetype-cfg::after, .sF-filetype-cf::after, .sF-filetype-ch::after, .sF-filetype-ini2::after, .sF-filetype-opt::after, .sF-filetype-par::after, .sF-filetype-set::after { content: url(icons/Icons16x16/page_white_gear.png); } .sF-icons .sF-filetype-conf::after, .sF-icons .sF-filetype-sys::after, .sF-icons .sF-filetype-ini::after, .sF-icons .sF-filetype-cnf::after, .sF-icons .sF-filetype-config::after, .sF-icons .sF-filetype-cfg::after, .sF-icons .sF-filetype-cf::after, .sF-icons .sF-filetype-ch::after, .sF-icons .sF-filetype-ini2::after, .sF-icons .sF-filetype-opt::after, .sF-icons .sF-filetype-par::after, .sF-icons .sF-filetype-set::after { content: url(icons/Icons32x32/page_white_gear.png); } .sF-filetype-h::after { content: url(icons/Icons16x16/page_white_h.png); } .sF-icons .sF-filetype-h::after { content: url(icons/Icons32x32/page_white_h.png); } .sF-filetype-ade::after, .sF-filetype-adp::after, .sF-filetype-adn::after, .sF-filetype-accdb::after, .sF-filetype-accdr::after, .sF-filetype-accdt::after, .sF-filetype-cdb::after, .sF-filetype-mda::after, .sF-filetype-mdn::after, .sF-filetype-mdt::after, .sF-filetype-mdw::after, .sF-filetype-mdf::after, .sF-filetype-mde::after, .sF-filetype-accde::after, .sF-filetype-mam::after, .sF-filetype-maq::after, .sF-filetype-mar::after, .sF-filetype-mat::after, .sF-filetype-maf::after, .sF-filetype-ldb::after, .sF-filetype-laccdb::after { content: url(icons/Icons16x16/page_white_office.png); } .sF-icons .sF-filetype-ade::after, .sF-icons .sF-filetype-adp::after, .sF-icons .sF-filetype-adn::after, .sF-icons .sF-filetype-accdb::after, .sF-icons .sF-filetype-accdr::after, .sF-icons .sF-filetype-accdt::after, .sF-icons .sF-filetype-cdb::after, .sF-icons .sF-filetype-mda::after, .sF-icons .sF-filetype-mdn::after, .sF-icons .sF-filetype-mdt::after, .sF-icons .sF-filetype-mdw::after, .sF-icons .sF-filetype-mdf::after, .sF-icons .sF-filetype-mde::after, .sF-icons .sF-filetype-accde::after, .sF-icons .sF-filetype-mam::after, .sF-icons .sF-filetype-maq::after, .sF-icons .sF-filetype-mar::after, .sF-icons .sF-filetype-mat::after, .sF-icons .sF-filetype-maf::after, .sF-icons .sF-filetype-ldb::after, .sF-icons .sF-filetype-laccdb::after { content: url(icons/Icons32x32/page_white_office.png); } .sF-filetype-PHP::after, .sF-filetype-php::after, .sF-filetype-phtml::after, .sF-filetype-php4::after, .sF-filetype-php3::after, .sF-filetype-php5::after, .sF-filetype-phps::after { content: url(icons/Icons16x16/page_white_php.png); } .sF-icons .sF-filetype-PHP::after, .sF-icons .sF-filetype-php::after, .sF-icons .sF-filetype-phtml::after, .sF-icons .sF-filetype-php4::after, .sF-icons .sF-filetype-php3::after, .sF-icons .sF-filetype-php5::after, .sF-icons .sF-filetype-phps::after { content: url(icons/Icons32x32/page_white_php.png); } .sF-filetype-tiff::after, .sF-filetype-jif::after, .sF-filetype-jfif::after, .sF-filetype-jp2::after, .sF-filetype-jpx::after, .sF-filetype-j2k::after, .sF-filetype-j2c::after, .sF-filetype-fpx::after, .sF-filetype-pcd::after { content: url(icons/Icons16x16/page_white_picture.png); } .sF-icons .sF-filetype-tiff::after, .sF-icons .sF-filetype-jif::after, .sF-icons .sF-filetype-jfif::after, .sF-icons .sF-filetype-jp2::after, .sF-icons .sF-filetype-jpx::after, .sF-icons .sF-filetype-j2k::after, .sF-icons .sF-filetype-j2c::after, .sF-icons .sF-filetype-fpx::after, .sF-icons .sF-filetype-pcd::after { content: url(icons/Icons32x32/page_white_picture.png); } .sF-filetype-pot::after, .sF-filetype-pptx::after, .sF-filetype-pptm::after, .sF-filetype-potx::after, .sF-filetype-potm::after, .sF-filetype-ppam::after, .sF-filetype-ppsx::after, .sF-filetype-ppsm::after, .sF-filetype-sldx::after, .sF-filetype-sldm::after { content: url(icons/Icons16x16/page_white_powerpoint.png); } .sF-icons .sF-filetype-pot::after, .sF-icons .sF-filetype-pptx::after, .sF-icons .sF-filetype-pptm::after, .sF-icons .sF-filetype-potx::after, .sF-icons .sF-filetype-potm::after, .sF-icons .sF-filetype-ppam::after, .sF-icons .sF-filetype-ppsx::after, .sF-icons .sF-filetype-ppsm::after, .sF-icons .sF-filetype-sldx::after, .sF-icons .sF-filetype-sldm::after { content: url(icons/Icons32x32/page_white_powerpoint.png); } .sF-filetype-rb::after, .sF-filetype-rbw::after { content: url(icons/Icons16x16/page_white_ruby.png); } .sF-icons .sF-filetype-rb::after, .sF-icons .sF-filetype-rbw::after { content: url(icons/Icons32x32/page_white_ruby.png); } .sF-filetype-svg::after, .sF-filetype-drw::after { content: url(icons/Icons16x16/page_white_vector.png); } .sF-icons .sF-filetype-svg::after, .sF-icons .sF-filetype-drw::after { content: url(icons/Icons32x32/page_white_vector.png); } .sF-filetype-dot::after, .sF-filetype-docx::after, .sF-filetype-docm::after, .sF-filetype-dotx::after, .sF-filetype-dotm::after { content: url(icons/Icons16x16/page_white_word.png); } .sF-icons .sF-filetype-dot::after, .sF-icons .sF-filetype-docx::after, .sF-icons .sF-filetype-docm::after, .sF-icons .sF-filetype-dotx::after, .sF-icons .sF-filetype-dotm::after { content: url(icons/Icons32x32/page_white_word.png); } .sF-filetype-deb::after, .sF-filetype-pkg::after, .sF-filetype-rpm::after, .sF-filetype-tar::after, .sF-filetype-zipx::after { content: url(icons/Icons16x16/page_white_zip.png); } .sF-icons .sF-filetype-deb::after, .sF-icons .sF-filetype-pkg::after, .sF-icons .sF-filetype-rpm::after, .sF-icons .sF-filetype-tar::after, .sF-icons .sF-filetype-zipx::after { content: url(icons/Icons32x32/page_white_zip.png); } .sF-filetype-amv::after, .sF-filetype-avi::after, .sF-filetype-moov::after, .sF-filetype-qt::after { content: url(icons/Icons16x16/film.png); } .sF-icons .sF-filetype-amv::after, .sF-icons .sF-filetype-avi::after, .sF-icons .sF-filetype-moov::after, .sF-icons .sF-filetype-qt::after { content: url(icons/Icons32x32/film.png); } .sF-filetype-iff::after, .sF-filetype-mp3::after, .sF-filetype-mpa::after, .sF-filetype-ra::after, .sF-filetype-flac::after, .sF-filetype-act::after, .sF-filetype-aac::after, .sF-filetype-mmf::after { content: url(icons/Icons16x16/music.png); } .sF-icons .sF-filetype-iff::after, .sF-icons .sF-filetype-mp3::after, .sF-icons .sF-filetype-mpa::after, .sF-icons .sF-filetype-ra::after, .sF-icons .sF-filetype-flac::after, .sF-icons .sF-filetype-act::after, .sF-icons .sF-filetype-aac::after, .sF-icons .sF-filetype-mmf::after { content: url(icons/Icons32x32/music.png); } .sF-filetype-rda::after, .sF-filetype-rdata::after, .sF-filetype-rds::after { content: url(icons/Icons16x16/r-data-formats.png); } .sF-icons .sF-filetype-rda::after, .sF-icons .sF-filetype-rdata::after, .sF-icons .sF-filetype-rds::after { content: url(icons/Icons32x32/r-data-formats.png); } shinyFiles/inst/www/styles.css0000644000176200001440000002440114142671035016231 0ustar liggesusers/* for bootrap >= 4 open state for the dropdown */ .open > .dropdown-menu { display: block; } .sF-title { display: inline-block; line-height: 1; margin-top: 0; margin-bottom: 0 } .sF-modalBackdrop { top: 0; bottom: 0; position: fixed; } .sF-modal .modal-content { overflow: auto; min-width: 276px; max-height: calc(100vh - 45px); } .sF-navigation { margin-bottom: 5px; } .sF-fileWindow { margin-top: 10px; height: 50vh; border: 1px solid grey; border-radius: 5px; overflow: auto; } .sF-warning { float: left; vertical-align: middle; padding: 7px 0; } .sF-warning span { padding-right: 5px; } .sF-fileList div { cursor: default; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .sF-breadcrumps { width: calc(100% - 340px); margin-left: auto; min-width: 150px; } #directory-modal .sF-breadcrumps { width: calc(100% - 380px); } .sF-fileList>div.selected .sF-file-name div, .sF-dirList div.selected>.sF-file-name>div { color: white; background: steelblue; border-radius: 5px; } .sF-sort .dropdown-menu li .glyphicon-ok { padding-right: 5px; visibility: hidden; } .sF-sort .dropdown-menu li.selected .glyphicon-ok { visibility: visible; } .sF-sort .dropdown-menu a.ascending .glyphicon-arrow-down, .sF-sort .dropdown-menu a.descending .glyphicon-arrow-up { padding-right: 5px; } .sF-sort .dropdown-menu a.ascending .glyphicon-arrow-up, .sF-sort .dropdown-menu a.descending .glyphicon-arrow-down { display: none; } .btn-toolbar .btn-group.sF-refresh { float: right; } .btn-toolbar .sF-breadcrumps { float: right; } .btn-toolbar .btn-group { margin-bottom: 5px; margin-right: 5px; } /* Icons */ .sF-directory .sF-file-icon::after { content: url(icons/Icons16x16/folder.png); } .sF-file-icon::after { content: url(icons/Icons16x16/page_white.png); } .sF-directory.root>.sF-file-icon::after { content: url(icons/Icons16x16/drive.png); } .sF-icons .sF-directory .sF-file-icon::after { content: url(icons/Icons32x32/folder.png); } .sF-icons .sF-file-icon::after { content: url(icons/Icons32x32/page_white.png); } .sF-icons .sF-directory.root>.sF-file-icon::after { content: url(icons/Icons32x32/drive.png); } /* Detail view */ .sF-fileList.sF-detail { display: table; width: auto; min-width: 100%; position: relative; } .sF-fileList.sF-detail>div { display: table-row; width: auto; } .sF-fileList.sF-detail>div>div { display: table-cell; width: auto; font-size: small; white-space: nowrap; padding: 1px 3px; vertical-align: top; } .sF-fileList.sF-detail .sF-file-name div{ float: left; padding: 0 2px; } .sF-fileList.sF-detail .sF-file-header { display: table-header-group; background: whitesmoke; } .sF-fileList.sF-detail .sF-file-header>div { display: table-row; padding: 1px 0; } .sF-fileList.sF-detail .sF-file-header>div>div { display: table-cell; padding: 0 3px; } .sF-fileList.sF-detail .sF-file-header>div>div+div::before { content: ''; background-image: -webkit-linear-gradient(whitesmoke, lightgrey); background-image: -moz-linear-gradient(whitesmoke, lightgrey); background-image: -o-linear-gradient(whitesmoke, lightgrey); background-image: linear-gradient(whitesmoke, lightgrey); padding-left: 1px; padding-bottom: 3px; left: -3px; position: relative; } .sF-fileList.sF-detail .sF-file-header>div>div+div.ascending::after { content: '\25bc'; position: relative; float: right; font-size: xx-small; } .sF-fileList.sF-detail .sF-file-header>div>div+div.descending::after { content: '\25b2'; position: relative; float: right; font-size: xx-small; } .sF-fileList.sF-detail .sF-file-header>div>div.sF-file-icon { opacity: 0; } .sF-fileList.sF-detail .sF-file-aTime, .sF-fileList.sF-detail .sF-file-header>div>div.sF-file-aTime { display: none; } /* List view */ .sF-fileWindow.sF-wide { overflow-y: hidden; } .sF-fileList.sF-list { -webkit-column-width: 150px; -ms-column-width: 150px; -moz-column-width: 150px; column-width: 150px; height: calc(100% - 5px);; display: inline-block; } .sF-fileList.sF-list>div { width: auto; white-space: nowrap; } .sF-fileList.sF-list>div>div { width: auto; position: relative; display: inline-block; vertical-align: top; font-size: small; padding: 2px 1px 1px 3px; } .sF-fileList.sF-list .sF-file-name div{ max-width: 165px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; padding: 0 2px; } .sF-fileList.sF-list .sF-file-name div::after { clear: both; } .sF-fileList.sF-list .sF-file-header, .sF-fileList.sF-list .sF-file-size, .sF-fileList.sF-list .sF-file-mTime, .sF-fileList.sF-list .sF-file-cTime, .sF-fileList.sF-list .sF-file-aTime { display: none; } /* Big icons view */ .sF-fileList.sF-icons { text-align: justify; } .sF-fileList.sF-icons:after { content: ' '; width: 100%; display: inline-block; } .sF-fileList.sF-icons>div { position: relative; display: inline-block; width: 100px; vertical-align: top; margin: 5px 3px; } .sF-fileList.sF-icons .sF-file-icon { text-align: center; } .sF-fileList.sF-icons .sF-file-name { position: relative; } .sF-fileList.sF-icons .sF-file-name div{ float: left; position: relative; left: 50%; -webkit-transform: translate(-50%); -moz-transform: translate(-50%); -ms-transform: translate(-50%); -o-transform: translate(-50%); transform: translate(-50%); max-width: 100%; font-size: small; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 2px; } .sF-fileList.sF-icons .sF-file-name div::after{ content: ''; clear: both; } .sF-fileList.sF-icons>div:hover .sF-file-name div{ position: absolute; white-space: normal; z-index: 2; background: white; word-wrap: break-word; } .sF-fileList.sF-icons>div.selected:hover .sF-file-name div{ background: steelblue; } .sF-fileList.sF-icons .sF-file-header, .sF-fileList.sF-icons .sF-file-size, .sF-fileList.sF-icons .sF-file-mTime, .sF-fileList.sF-icons .sF-file-cTime, .sF-fileList.sF-icons .sF-file-aTime { display: none; } /* Dir chooser */ .sF-dirWindow { min-height: 50vh; cursor: default; display: flex; } .sF-dirWindow h6 { margin-top: 0; } .sF-dirWindow>div { padding: 5px 2.5px 0 2.5px; } /* List and content */ .sF-dirInfo>div { height: 48vh; border: 1px solid grey; border-radius: 5px; overflow: auto; } .sF-dirList .sF-directory>.sF-file-icon, .sF-dirContent div>.sF-file-icon{ padding: 0 2px; } /* List only */ .sF-dirList .sF-directory>div:not(.sF-content) { height: 23px; -webkit-transition: height 2s; transition: height 2s; overflow: hidden; } .sF-dirList .sF-directory.removing>div:not(.sF-content) { height: 0; -webkit-transition: height 2s; transition: height 2s; overflow: hidden; } .sF-dirList .sF-directory>div { display: inline-block; width: auto; font-size: small; white-space: nowrap; padding: 1px 0; vertical-align: top; } .sF-dirList .sF-file-name>div { float: left; padding: 0 4px; } .sF-dirList .sF-directory>div.sF-content { margin-left: 20px; display: block; padding: 0; } .sF-dirList .sF-directory>.sF-expander { width: 20px; text-align: center; } .sF-dirList .sF-directory.closed>.sF-expander { -webkit-transform-origin: 60% 40%; transform-origin: 60% 40%; -webkit-transition: -webkit-transform 0.5s; transition: transform 0.5s; } .sF-dirList .sF-directory.expanded>.sF-expander { -webkit-transform: rotate(90deg); /* Chrome, Safari, Opera */ transform: rotate(90deg); -webkit-transform-origin: 60% 40%; transform-origin: 60% 40%; -webkit-transition: -webkit-transform 0.5s; transition: transform 0.5s; } .sF-dirList .sF-directory.empty .sF-expander { visibility: hidden; } /* Content only */ .sF-dirContent { display: table; table-layout: fixed; width: 100%; } .sF-dirContent>div { display: table-row; } .sF-dirContent>div>div { display: table-cell; font-size: small; padding-top: 0; padding-bottom: 0; } .sF-dirContent>div>div:first-child { width: 20px; vertical-align: middle; } .sF-dirContent>div>div:nth-child(2)>div { width: auto; } .sF-dirContent>div>div:nth-child(2)>div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; } .sF-dirContent>div>div:last-child { text-align: right; padding-right: 2px; white-space: nowrap; } .sF-dirContent.measuring>div>div { display: inline; visibility: hidden; } .sF-dirContent.message { display: block; } .sF-dirContent.message>div { color: grey; font-style: italic; text-align: center; display: block; padding-top: 75px; } /* Dir creator */ .sF-newDir .dropdown-menu { padding: 5px; } .sF-newDir .dropdown-menu::before { position: absolute; top: -7px; left: 9px; display: inline-block; border-right: 7px solid transparent; border-bottom: 7px solid #ccc; border-left: 7px solid transparent; border-bottom-color: rgba(0, 0, 0, 0.2); content: ''; } .sF-newDir .dropdown-menu::after { position: absolute; top: -6px; left: 10px; display: inline-block; border-right: 6px solid transparent; border-bottom: 6px solid #ffffff; border-left: 6px solid transparent; content: ''; } /* text Choice */ .sF-textChoice .dropdown-menu { padding: 5px; } .sF-textChoice .dropdown-menu::before { position: absolute; top: -7px; left: 9px; display: inline-block; border-right: 7px solid transparent; border-bottom: 7px solid #ccc; border-left: 7px solid transparent; border-bottom-color: rgba(0, 0, 0, 0.2); content: ''; } .sF-textChoice .dropdown-menu::after { position: absolute; top: -6px; left: 10px; display: inline-block; border-right: 6px solid transparent; border-bottom: 6px solid #ffffff; border-left: 6px solid transparent; content: ''; } /* File saver specifics */ .sF-filenaming { padding-top: 10px; } .sF-filenaming .sF-newDir>#sF-btn-newDir { margin-right: 15px; border-radius: 4px; } .sF-filenaming .sF-textChoice>#sF-btn-textChoice { margin-right: 15px; border-radius: 4px; } .input-group.sF-filenaming input.sF-filename.form-control { border-bottom-left-radius: 4px; border-top-left-radius: 4px; text-align: right; } .input-group.sF-filenaming.has-feedback input.sF-filename.form-control { padding-left: 42.5px; } #filenameWarn { padding-top: 8px; left: 149px } shinyFiles/inst/www/shinyFiles.js0000644000176200001440000027750614142671035016667 0ustar liggesusersvar shinyFiles = (function () { // General functionality var elementSelector = function (event, element, single, forceSelect) { var parent = $(element).parent(); var lastSelectedElement = parent.data('lastElement'); function toggleSelection(element) { $(element).toggleClass('selected'); parent.data('lastElement', element); toggleSelectButton($('.sF-modalContainer')); } function selectElementsBetweenIndexes(indexes) { var els = parent.children(); indexes.sort(function (a, b) { return a - b; }); clearAll(); for (var i = indexes[0]; i <= indexes[1]; i++) { $(els[i]).addClass('selected'); } } function clearAll() { parent.children().removeClass('selected'); } function scrollToSelected() { // Adjust for any overall offsets // Adjustments depend on what kind of modal/display is present var modal = $('.sF-modalContainer'); var button = $(modal.data('button')); var fileFlag = button.hasClass('shinyFiles'); var saveFlag = button.hasClass('shinySave'); if (fileFlag || saveFlag) { // Different display modes handled differently for file/save modal var viewType = button.data('view'); if (viewType === "sF-btn-icon") { // Vertical scroll var topOffset = $(element)[0].offsetTop - parent.children()[1].offsetTop; var scrollPosition = $('.sF-fileWindow')[0].scrollTop; if (topOffset < scrollPosition) { $('.sF-fileWindow')[0].scrollTop = topOffset; } else if (topOffset + $(element).outerHeight(true) > scrollPosition + $('.sF-fileWindow').height()) { $('.sF-fileWindow')[0].scrollTop = topOffset - $('.sF-fileWindow').height() + $(element).outerHeight(true); } } else if (viewType === "sF-btn-list") { // Lists scroll horizontally, but otherwise the logic is very similar to icons var leftOffset = $(element)[0].offsetLeft - parent.children()[1].offsetLeft; var scrollPosition = $('.sF-fileWindow')[0].scrollLeft; if (leftOffset < scrollPosition) { $('.sF-fileWindow')[0].scrollLeft = leftOffset; } else if (leftOffset + $(element).outerWidth(true) > scrollPosition + $('.sF-fileWindow').width()) { $('.sF-fileWindow')[0].scrollLeft = leftOffset - $('.sF-fileWindow').width() + $(element).outerWidth(true); } } else if (viewType === "sF-btn-detail") { // Essentially the same as icons, but header is visible var topOffset = $(element)[0].offsetTop - parent.children()[0].offsetTop; var scrollPosition = $('.sF-fileWindow')[0].scrollTop; if (topOffset < scrollPosition) { $('.sF-fileWindow')[0].scrollTop = topOffset; } else if (topOffset + $(element).outerHeight(true) > scrollPosition + $('.sF-fileWindow').height()) { $('.sF-fileWindow')[0].scrollTop = topOffset - $('.sF-fileWindow').height() + $(element).outerHeight(true) } } } // NOTE: Selection in dirchooser is handled by selectFolder. Submission is handled by selectFiles } // Use the same selector event for arrow key navigation if (event.button === 0 || event.type === "keydown") { if ((!event.metaKey && !event.ctrlKey && !event.shiftKey) || single) { var selected = $(element).hasClass('selected'); var nSelected = parent.children('.selected').length; clearAll(); if ((!selected || nSelected != 1) || forceSelect) { toggleSelection(element); scrollToSelected(); } } else if ((event.metaKey || event.ctrlKey) && !single) { toggleSelection(element); scrollToSelected(); } else if (event.shiftKey && !single) { selectElementsBetweenIndexes([$(lastSelectedElement).index(), $(element).index()]); scrollToSelected(); } } }; var moveSelection = function (event, single, direction) { var modal = $('.sF-modalContainer'); var button = $(modal.data('button')); var fileFlag = button.hasClass('shinyFiles'); var saveFlag = button.hasClass('shinySave'); var dirFlag = button.hasClass('shinyDirectories'); if (fileFlag || saveFlag) { var parent = $(".sF-fileList"); var currentElement = parent.data('lastElement'); var selectionEnd; if ('selectionEnd' in parent.data() && parent.data('selectionEnd') !== null) { selectionEnd = parent.data('selectionEnd'); } else { // For the purposes of selecting next/previous elements, // consider a single selected item to be both the // first and last item in a selection of multiple items. selectionEnd = currentElement; } // No element is currently selected, return without action // if (!$(currentElement).hasClass('selected')) { if (!('lastElement' in parent.data()) || parent.data('lastElement') === null || !$(parent.data('lastElement')).is(":visible")) { // Start on the first element if none are currently selected. var newElement = parent.children()[1]; elementSelector(event, newElement, single, true); return; } var originIndex = $(currentElement).index(); // The original selected icon var endIndex = $(selectionEnd).index(); // The end that moves for multi-selection var ends = [originIndex, endIndex].sort(); // Number of icons that fit with the file list, left to right var boundingWidth = $(".sF-fileWindow").width(); var boundingHeight = $(".sF-fileWindow").height(); var itemWidth = $(parent.children()[1]).outerWidth(true); var itemHeight = $(parent.children()[1]).outerHeight(true); var numHorizontal = Math.floor(boundingWidth / itemWidth); var numVertical = Math.floor(boundingHeight / itemHeight); var lastItemIndex = parent.children().length - 1; // Subtract 1 to account for header var viewType = button.data('view'); var bounds = {}; var invalidFlag = false; var newIndex; // NOTE: The appropriate left/right/up/down position depends on whether shift is held // Dealing with a multi-selection if (!single && event.shiftKey) { if (viewType === "sF-btn-icon") { bounds = { left: Math.max(((Math.ceil(endIndex / numHorizontal) - 1) * numHorizontal) + 1, 1), right: Math.min(Math.ceil(endIndex / numHorizontal) * numHorizontal, lastItemIndex), up: 1, down: lastItemIndex }; } else if (viewType === "sF-btn-list") { bounds = { left: 1, right: lastItemIndex, up: Math.max(((Math.ceil(endIndex / numVertical) - 1) * numVertical) + 1, 1), down: Math.min(Math.ceil(endIndex / numVertical) * numVertical, lastItemIndex) }; } else if (viewType === "sF-btn-detail") { bounds = { left: 1, right: lastItemIndex, up: 1, right: lastItemIndex }; } newIndex = endIndex; // Find new index, if valid, based on movement direction. // Does not move the original anchor, regardless of which item comes first in the list. if (viewType === "sF-btn-icon") { switch (direction) { case "left": newIndex = endIndex - 1; if (newIndex < bounds.left) { invalidFlag = true; } break; case "right": newIndex = endIndex + 1; if (newIndex > bounds.right) { invalidFlag = true; } break; case "up": newIndex = endIndex - numHorizontal; if (newIndex < bounds.up) { invalidFlag = true; } break; case "down": newIndex = endIndex + numHorizontal; if (newIndex > bounds.down) { invalidFlag = true; } break; } } else if (viewType === "sF-btn-list") { switch (direction) { case "left": newIndex = endIndex - numVertical; if (newIndex < bounds.left) { invalidFlag = true; } break; case "right": newIndex = endIndex + numVertical; if (newIndex > bounds.right) { invalidFlag = true; } break; case "up": newIndex = endIndex - 1; if (newIndex < bounds.up) { invalidFlag = true; } break; case "down": newIndex = endIndex + 1; if (newIndex > bounds.down) { invalidFlag = true; } break; } } else if (viewType === "sF-btn-detail") { switch (direction) { case "left": invalidFlag = true; break; case "right": invalidFlag = true; break; case "up": newIndex = endIndex - 1; if (newIndex < bounds.up) { invalidFlag = true; } break; case "down": newIndex = endIndex + 1; if (newIndex > bounds.down) { invalidFlag = true; } break; } } } else { if (viewType === "sF-btn-icon") { bounds = { left: Math.max(((Math.ceil(ends[0] / numHorizontal) - 1) * numHorizontal) + 1, 1), right: Math.min(Math.ceil(ends[1] / numHorizontal) * numHorizontal, lastItemIndex), up: 1, down: lastItemIndex }; } else if (viewType === "sF-btn-list") { bounds = { left: 1, right: lastItemIndex, up: Math.max(((Math.ceil(ends[0] / numVertical) - 1) * numVertical) + 1, 1), down: Math.min(Math.ceil(ends[1] / numVertical) * numVertical, lastItemIndex) }; } else if (viewType === "sF-btn-detail") { bounds = { left: 1, right: lastItemIndex, up: 1, down: lastItemIndex, }; } // Slightly different behavior when switching to a single selection // Left and Up move from the first item (index: ends[0]) // Right and Down move from the last item (index: ends[1]) newIndex = originIndex; if (viewType === "sF-btn-icon") { switch (direction) { case "left": newIndex = ends[0] - 1; if (newIndex < bounds.left) { invalidFlag = true; } break; case "right": newIndex = ends[1] + 1; if (newIndex > bounds.right) { invalidFlag = true; } break; case "up": newIndex = endIndex - numHorizontal; if (newIndex < bounds.up) { invalidFlag = true; } break; case "down": newIndex = endIndex + numHorizontal; if (newIndex > bounds.down) { invalidFlag = true; } break; } } else if (viewType === "sF-btn-list") { switch (direction) { case "left": newIndex = ends[0] - numVertical; if (newIndex < bounds.left) { invalidFlag = true; } break; case "right": newIndex = ends[1] + numVertical; if (newIndex > bounds.right) { invalidFlag = true; } break; case "up": newIndex = ends[0] - 1; if (newIndex < bounds.up) { invalidFlag = true; } break; case "down": newIndex = ends[1] + 1; if (newIndex > bounds.down) { invalidFlag = true; } break; } } else if (viewType === "sF-btn-detail") { switch (direction) { case "left": invalidFlag = true; break; case "right": invalidFlag = true; break; case "up": newIndex = ends[0] - 1; if (newIndex < bounds.up) { invalidFlag = true; } break; case "down": newIndex = ends[1] + 1; if (newIndex > bounds.down) { invalidFlag = true; } break; } } } if (!invalidFlag) { var newElement = parent.children()[newIndex]; elementSelector(event, newElement, single, true); if (button.hasClass("shinySave")) { if (!$(newElement).hasClass('sF-directory')) { var filename = $(newElement).find('.sF-file-name>div').text(); } else { var filename = ''; } setFilename(modal, filename); } if (!single && event.shiftKey) { // Preserve 'lastElement' during multi-selection, ensuring an anchor is consistent parent.data('lastElement', currentElement); parent.data('selectionEnd', newElement); } else { parent.data('selectionEnd', null); } } } else if (dirFlag) { var list = $('.sF-dirList'); var currentElement = list.find('.selected'); function nextSibling(elem) { return elem.next('.sF-directory.expanded,.sF-directory.closed,.sF-directory.empty'); } function prevSibling(elem) { return elem.prev('.sF-directory.expanded,.sF-directory.closed,.sF-directory.empty'); } function firstChild(elem) { var children = elem.find('.sF-directory.expanded,.sF-directory.closed,.sF-directory.empty'); return $(children[0]); } function lastChild(elem) { var children = elem.find('.sF-directory.expanded,.sF-directory.closed,.sF-directory.empty'); return $(children[children.length - 1]); } function parentDir(elem) { return $(elem.parents('.sF-directory.expanded,.sF-directory.closed,.sF-directory.empty')[0]); } if (currentElement.length != 1) { // No selection yet newElement = $(list.find('.sF-directory.expanded,.sF-directory.closed,.sF-directory.empty')[0]); selectFolder($(newElement[0]), modal, button); return; } var newElement = currentElement; switch (direction) { case "left": // Close if currently expanded if (currentElement.hasClass("expanded")) { // Close expanded directory toggleExpander($(currentElement.find('.sF-expander>span')[0]), modal, button); return; } else if (currentElement.hasClass("empty") || currentElement.hasClass("closed")) { newElement = $(parentDir(currentElement)); selectFolder($(newElement[0]), modal, button); toggleExpander($($(parentDir(currentElement)).find('.sF-expander>span')[0]), modal, button); return; } break; case "right": // Open if currently not expanded if (currentElement.hasClass("closed")) { // Expand closed directory toggleExpander($(currentElement.find('.sF-expander>span')[0]), modal, button); return; } else { return; } break; case "up": // Navigate up (last child of previous sibling if open, previous sibling otherwise) var pSib = $(prevSibling(currentElement)); if (pSib.length === 0) { // Navigate to parent. Will never have to go multiple levels at once for parent. newElement = parentDir(currentElement); } else if (pSib.hasClass('expanded')) { // Last child of previous sibling newElement = lastChild(pSib); } else { // Previous sibling newElement = pSib; } break; case "down": // Navigate down (first child if expanded, next sibling otherwise) var nSib = $(nextSibling(currentElement)); if (currentElement.hasClass('expanded')) { // First child of current selection newElement = firstChild(currentElement); } else if (nSib.length === 0) { // Navigate to next sibling of closest ancestor that has a sibling var parDir = parentDir(currentElement); do { nSib = nextSibling(parDir); parDir = parentDir(parDir); } while (nSib.length === 0 && parDir.length > 0); newElement = nSib; } else { // Next sibling of current element newElement = nSib; } break; } if (newElement.length > 0) { selectFolder($(newElement[0]), modal, button); } } }; var compareArrays = function (arrayA, arrayB) { /* Modified from Tomáš Zatos answer at http://stackoverflow.com/questions/7837456/comparing-two-arrays-in-javcript */ // if the other array is a falsy value, return if (!arrayA || !arrayB) return false; // compare lengths - can save a lot of time if (arrayA.length != arrayB.length) return false; for (var i = 0, l = arrayA.length; i < l; i++) { // Check if we have nested arrays if (arrayA[i] instanceof Array && arrayB[i] instanceof Array) { // recurse into the nested arrays if (!compareArrays(arrayA[i], arrayB[i])) return false; } else if (arrayA[i] != arrayB[i]) { // Warning - two different object instances will never be equal: {x:20} != {x:20} return false; } } return true; }; vaobjSize = function (obj) { /* From http://stackoverflow.com/questions/5223/length-of-javascript-object-ie-associative-array answer by Jameglan */ var size = 0, key; for (key in obj) { if (obj.hasOwnProperty(key)) size++; } return size; }; $.fn.sortChildren = function (map, reverse) { /* Adapted from https://gist.github.com/rodneyrehm/2818576 */ var sortChildren = { // default comparison function using String.localeCompare if possible compare: function (a, b) { if ($.isArray(a.value)) { return sortChildren.compareList(a.value, b.value); } return sortChildren.compareValues(a.value, b.value); }, compareValues: function (a, b) { if (typeof a === "string" && "".localeCompare) { return a.localeCompare(b); } return a === b ? 0 : a > b ? 1 : -1; }, // default comparison function for DESC reverse: function (a, b) { return -1 * sortChildren.compare(a, b); }, // default mapping function returning the elements' lower-cased innerTEXT map: function (elem) { return $(elem).text().toLowerCase(); }, // default comparison function for lists (e.g. table columns) compareList: function (a, b) { var i = 1, length = a.length, res = sortChildren.compareValues(a[0], b[0]); while (res === 0 && i < length) { res = sortChildren.compareValues(a[i], b[i]); i++; } return res; } }; return this.each(function () { var $this = $(this), $children = $this.children(), _map = [], length = $children.length, i; for (i = 0; i < length; i++) { _map.push({ index: i, value: (map || sortChildren.map)($children[i]) }); } _map.sort(reverse ? sortChildren.reverse : sortChildren.compare); for (i = 0; i < length; i++) { this.appendChild($children[_map[i].index]); } }); }; var parseFiles = function (data) { var parsedFiles = {}; data.files.filename.forEach(function (d, i) { try { parsedFiles[d] = { name: d, extension: data.files.extension[i], isDir: data.files.isdir[i], size: data.files.size[i], mTime: new Date(data.files.mtime[i]), cTime: new Date(data.files.ctime[i]), aTime: new Date(data.files.atime[i]) }; } catch (err) { //This can happen if there is a broken link, for example } }); return { files: parsedFiles, location: data.breadcrumps, writable: data.writable, exist: data.exist, rootNames: data.roots, selectedRoot: data.root, selectedFile: data.selectedFile }; }; var formatDate = function (date) { var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; var dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; if (typeof Intl == 'undefined') { return dayNames[date.getDay()] + ' ' + monthNames[date.getMonth()] + ' ' + date.getDate() + ' ' + date.getFullYear() + ' ' + date.getHours() + ':' + ("0" + date.getMinutes()).substr(-2); } else { return date.toLocaleString([], { weekday: 'long', year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit' }); } }; var formatSize = function (bytes, si) { /* This function is taken from http://stackoverflow.com/questions/10420352/converting-file-size-in-bytes-to-humeadable - Mark's answer */ var thresh = si ? 1000 : 1024; if (bytes < thresh) return bytes + ' B'; var units = si ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']; var u = -1; do { bytes /= thresh; ++u; } while (bytes >= thresh); return bytes.toFixed(1) + ' ' + units[u]; }; var initializeButton = function (button) { var type = $(button).hasClass('shinyDirectories') ? 'directory' : 'file'; var sort = $(button).data('sort') || 'Name'; var sortDir = $(button).data('sortDir') || 'ascending'; if (type == 'file') { var back = $(button).data('back') || []; var forward = $(button).data('forward') || []; var view = $(button).data('view') || ''; $(button).data('back', back) .data('forward', forward) .data('view', view); if ($(button).hasClass('shinySave')) { var filetypes = $(button).data('filetype'); filetypes.forEach(function (d) { if (d === null) return; d.ext = d.ext.map(function (ext) { return ext[0] == '.' ? ext : '.' + ext; }); }); } } $(button).data('sort', sort) .data('sortDir', sortDir); }; var setDisabledButtons = function (button, modal) { var type = $(button).hasClass('shinyDirectories') ? 'directory' : 'file'; if (type == 'file') { var back = $(button).data('back').length === 0; var forward = $(button).data('forward').length === 0; var up = $(modal).find('.sF-breadcrumps>option').length <= 1; $(modal).find('#sF-btn-back').prop('disabled', back); $(modal).find('#sF-btn-forward').prop('disabled', forward); $(modal).find('#sF-btn-up').prop('disabled', up); } }; var filesSelected = function (modal) { var type = $($(modal).data('button')).hasClass('shinyDirectories') ? 'directory' : 'file'; if (type == 'file') { return modal.find('.sF-fileList').children().filter('.sF-file.selected').length > 0; } else { return modal.find('.sF-dirList').find('.selected').length > 0; } }; var toggleSelectButton = function (modal) { modal.find('#sF-selectButton').prop('disabled', !filesSelected(modal)); }; var sortFiles = function (modal, attribute, direction) { var type = $($(modal).data('button')).hasClass('shinyDirectories') ? 'directory' : 'file'; var fileList; if (type == 'file') { fileList = $(modal).find('.sF-fileList'); } else { fileList = $(modal).find('.sF-dirContent'); } fileList.sortChildren(function (elem) { return $(elem).data('sF-file') ? $(elem).data('sF-file').name : ''; }, direction == 'descending'); if (attribute == 'Name') return; switch (attribute) { case 'Type': fileList.sortChildren(function (elem) { return $(elem).data('sF-file') ? $(elem).data('sF-file').isDir ? '000' : $(elem).data('sF-file').extension || '001' : ''; }, direction == 'descending'); break; case 'Size': fileList.sortChildren(function (elem) { return $(elem).data('sF-file') ? $(elem).data('sF-file').isDir ? -1 : $(elem).data('sF-file').size : 0; }, direction == 'descending'); break; case 'Created': fileList.sortChildren(function (elem) { return $(elem).data('sF-file') ? $(elem).data('sF-file').cTime : new Date(); }, direction == 'descending'); break; case 'Modified': fileList.sortChildren(function (elem) { return $(elem).data('sF-file') ? $(elem).data('sF-file').mTime : new Date(); }, direction == 'descending'); break; } } var removeFileChooser = function (button, modal, data) { var modal = $(modal).removeClass('in'); var backdrop = $(modal).data('backdrop').removeClass('in'); setTimeout(function () { modal.remove(); backdrop.remove(); if (data !== undefined) { Shiny.onInputChange($(button).attr('id'), data); } }, 300); $(button).prop('disabled', false) .data('modal', null); }; var dismissFileChooser = function (button, modal) { removeFileChooser(button, modal); $(button).trigger('cancel'); }; var selectFiles = function (button, modal) { var type = $(button).hasClass('shinyDirectories') ? 'directory' : 'file'; if (type == 'file') { var files = getSelectedFiles(modal); $(button).data('files', files) .trigger('selection', [files]) .trigger('fileselect', [files]); var data = { files: $.extend({}, files.files.toArray().map(function (d) { return d; })), root: files.root }; } else { var path = getPath($(modal).find('.sF-dirList .selected')); $(button).data('directory', path) .trigger('selection', path); var data = { path: path, root: $(modal).data('currentData').selectedRoot }; } removeFileChooser(button, modal, data); }; var setPermission = function (modal, writable) { var currentState = $(modal).find('.sF-warning').length == 0; var footer = $(modal).find('.modal-footer'); var overwrite = $($(modal).data('button')).hasClass('shinySave') ? true : filesSelected(modal); $(modal).find('#sF-btn-newDir').prop('disabled', !(overwrite && writable)); if (writable || !overwrite) { footer.find('.sF-warning').remove(); } else if (currentState != writable) { footer.prepend( $('
').addClass('sF-warning text-warning').append( $('').addClass('glyphicon glyphicon-warning-sign') ).append( $('').text('No write permission for folder') ) ) } } var setExists = function (modal, exists) { var currentState = $(modal).find('.sF-warning').length == 0; var footer = $(modal).find('.modal-footer'); $(modal).find('#sF-btn-newDir').prop('disabled', !(exists)); footer.find('.sF-warning').remove(); if (!exists) { footer.prepend( $('
').addClass('sF-warning text-warning').append( $('').addClass('glyphicon glyphicon-warning-sign') ).append( $('').text('Folder does not exist') ) ) } } // General functionality ends // File chooser var createFileChooser = function (button, title) { // Preparations $(button).prop('disabled', true); initializeButton(button); // Creating modal var modal = $('
', { id: $(button).attr('id') + '-modal' }).addClass('sF-modalContainer modal fade').css('display', 'block').append( $('
').addClass('sF-modal modal-dialog modal-lg').append( $('
').addClass('modal-content').append( $('
').addClass('modal-header').append( $('

', { text: title }).addClass('sF-title modal-title') ).append( $('