<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE func-lib PUBLIC "-//Railo//DTD CFML Function Library 1.0//EN"
	"dtd/web-cfmfunctionlibrary_1_0.dtd">
<func-lib>
	<flib-version>1.00</flib-version>
	<short-name>fbase</short-name>
	<uri>http://www.railo-technologies.com/cf-fld-3-1</uri>
	<display-name>Railo Core Function Library</display-name>
	<description>All build in Functions of Railo</description>
	<!-- abs -->
	<function>
		<name>abs</name>
		<class>railo.runtime.functions.math.Abs</class>
		<description>Absolute-value function. The absolute value of a number is the number without its sign.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
			<description>Number to find the absolute value of</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- aCos -->
	<function>
		<name>aCos</name>
		<class>railo.runtime.functions.math.ACos</class>
		<description>Returns the angle whose cosine is the value passed as the argument.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
			<description>The value to be converted into an angle. Must be between -1 and 1.</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- AjaxLink -->
	<function>
		<name>AjaxLink</name>
		<class>railo.runtime.functions.displayFormatting.AjaxLink</class>
		<status>implemeted</status>
		<description>Causes an HTML href attribute to display link results in the current Ajax container.</description>
		<argument>
			<name>url</name>
			<type>string</type>
			<required>Yes</required>
			<description>The URL of the link.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- AjaxOnLoad -->
	<function>
		<name>AjaxOnLoad</name>
		<class>railo.runtime.functions.displayFormatting.AjaxOnLoad</class>
		<status>implemeted</status>
		<description>Causes the specified JavaScript function to run when the page loads.</description>
		<argument>
			<name>functionName</name>
			<type>string</type>
			<required>Yes</required>
		<description>The name of the function to run when the page loads. The specified function does not take a parameter.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ApplicationStartTime -->
	<function>
		<name>ApplicationStartTime</name>
		<class>railo.runtime.functions.system.ApplicationStartTime</class>
		<description>Provides information about the time when the current application scope was created.</description>
		<return>
			<type>date</type>
		</return>
	</function>
	<!-- ApplicationStop -->
	<function>
		<name>ApplicationStop</name>
		<class>railo.runtime.functions.system.ApplicationStop</class>
		<description>stops the current application context</description>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- array -->
	<function>
		<name>array</name>
		<class>railo.runtime.functions.arrays.Array_</class>
		<description>Creates a new array</description>
		<argument-type>dynamic</argument-type>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- _jsonArray -->
	<function>
		<name>_jsonArray</name>
		<class>railo.runtime.functions.arrays.JsonArray</class>
		<status>hidden</status>
		<description>internal function used for literal array defintion</description>
		<argument-type>dynamic</argument-type>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arrayAppend -->
	<function>
		<name>arrayAppend</name>
		<class>railo.runtime.functions.arrays.ArrayAppend</class>
		<member-name>append</member-name>
		<member-chaining>true</member-chaining>
		<description>Appends an array element to an array.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to which the element should be appended.</description>
		</argument>
		<argument>
			<name>value</name>
			<alias>object,obj</alias>
			<type>any</type>
			<required>Yes</required>
			<description>The element to append. Can be any type.</description>
		</argument>
		<argument>
			<name>merge</name>
			<type>boolean</type>
			<required>No</required>
			<description>This argument only applies when the value is an array.
			If set to true appends array elements individually to the source array. 
			If false (default) the complete array is added as one element at the end, in the source array.</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arrayAvg -->
	<function>
		<name>arrayAvg</name>
		<class>railo.runtime.functions.arrays.ArrayAvg</class>
		<member-name>avg</member-name>
		<description>Calculates the average of the values in an array.
All elements in the array must contain values that can be automatically converted to numeric.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to calculate the average values from</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- arrayClear -->
	<function>
		<name>arrayClear</name>
		<class>railo.runtime.functions.arrays.ArrayClear</class>
		<member-name>clear</member-name>
		<member-chaining>true</member-chaining>
		<description>Removes all elements from an array.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array </description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- ArrayContains -->
	<function>
		<name>ArrayContains</name>
		<class>railo.runtime.functions.arrays.ArrayContains</class>
		<member-name>contains</member-name>
		<description>Returns the position of the first element in the array that matches the item that we are searching for, or 0 if the item is not found.</description>
		<argument>
			<name>haystack</name>
			<alias>array,arr</alias>
			<type>array</type>
			<required>Yes</required>
			<description>The array in which to search for the item</description>
		</argument>
		<argument>
			<name>needle</name>
			<alias>object,obj,o</alias>
			<type>object</type>
			<required>Yes</required>
			<description>The item that we are looking for in the array</description>
		</argument>
		<argument>
		    <name>substringMatch</name>
		    <type>boolean</type>
		    <required>false</required>
		    <description>If set to true then if a then a substring match will also return true. This will only work with simple values. Passing true with complex objects will throw an exception.</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- ArrayContainsNoCase -->
	<function>
		<name>ArrayContainsNoCase</name>
		<class>railo.runtime.functions.arrays.ArrayContainsNoCase</class>
		<member-name>containsNoCase</member-name>
		<description>Returns the position of the first element in the array whose string value contains the substring passed (not case sensitive), or 0 if no such element is found.</description>
		<argument>
			<name>haystack</name>
			<alias>array,arr</alias>
			<type>array</type>
			<required>Yes</required>
			<description>The array in which to search for the substring</description>
		</argument>
		<argument>
			<name>needle</name>
			<alias>object,obj,o</alias>
			<type>object</type>
			<required>Yes</required>
			<description>The substring to search for (not case sensitive)</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- arrayDelete -->
	<function>
		<name>arrayDelete</name>
		<class>railo.runtime.functions.arrays.ArrayDelete</class>
		<member-name>delete</member-name>
		<description>Deletes specified object from given array</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to delete from</description>
		</argument>
		<argument>
			<name>value</name>
			<type>object</type>
			<required>Yes</required>
			<description>The value to delete</description>
		</argument>
		<argument>
			<name>scope</name>
			<type>string</type>
			<required>No</required>
			<description>
				one: replaces the first occurrence (default)
				all: replaces all occurrences
			</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arrayDeleteAt -->
	<function>
		<name>arrayDeleteAt</name>
		<class>railo.runtime.functions.arrays.ArrayDeleteAt</class>
		<member-name>deleteAt</member-name>
		<description>Deletes an element from an array and resizes the array so that the deleted element doesn't leave a gap.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array that the element will be deleted from.</description>
		</argument>
		<argument>
			<name>position</name>
			<type>number</type>
			<required>Yes</required>
			<description>The numeric position of the element. Remember that CFML arrays start at 1 not 0.</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arrayFind -->
	<function>
		<name>arrayFind</name>
		<class>railo.runtime.functions.arrays.ArrayFind</class>
		<member-name>find</member-name>
		<description>These functions searches the array for the specified object.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to search in</description>
		</argument>
		<argument>
			<name>value_or_closure</name>
			<alias>value,closure,function,udf</alias>
			<type>any</type>
			<required>Yes</required>
			<description>The value to find or a closure/function that gets every value of the array as input and returns true if the given value is right.</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- arrayFindAll -->
	<function>
		<name>arrayFindAll</name>
		<class>railo.runtime.functions.arrays.ArrayFindAll</class>
		<member-name>findAll</member-name>
		<description>These functions searches the array for the specified object and return the positions of all occurrence of this values.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to search in</description>
		</argument>
		<argument>
			<name>value_or_closure</name>
			<alias>value,closure,function,udf</alias>
			<type>any</type>
			<required>Yes</required>
			<description>The value to find or a closure/function that gets every value of the array as input and returns true if the given value is right.</description>
		</argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arrayFindAllNoCase -->
	<function>
		<name>arrayFindAllNoCase</name>
		<class>railo.runtime.functions.arrays.ArrayFindAllNoCase</class>
		<member-name>findAllNoCase</member-name>
		<description>These functions searches the array for the specified object and return the positions of all occurrence of this values.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to search in</description>
		</argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
			<description>The value to find</description>
		</argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arrayEach -->
	<function>
		<name>arrayEach</name>
		<class>railo.runtime.functions.arrays.ArrayEach</class>
		<member-name>each</member-name>
		<member-chaining>true</member-chaining>
		<description>call the given UDF/Closure with every value in the array.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>array to take values from</description>
		</argument>
		<argument>
			<name>closure</name>
			<alias>udf,function</alias>
			<type>function</type>
			<required>Yes</required>
			<description>UDF/Closure that call with the values from array</description>
		</argument>
		<argument>
			<name>parallel</name>
			<type>boolean</type>
			<required>No</required>
			<description>execute closures parallel</description>
		</argument>
		<argument>
			<name>maxThreads</name>
			<type>number</type>
			<required>No</required>
			<default>20</default>
			<description>maximum number of threads executed, ignored when argument "parallel" is set to false</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- arrayFilter -->
	<function>
		<name>arrayFilter</name>
		<class>railo.runtime.functions.arrays.ArrayFilter</class>
		<member-name>filter</member-name>
		<description>This function creates a new Array that returns all the values from an array that match the given filter.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>array to filter values from</description>
		</argument>
		<argument>
			<name>filter</name>
			<type>function</type>
			<required>Yes</required>
			<description>filter can be a function/closure that implements the following constructor [function(any arg):boolean].</description>
		</argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arrayFindNoCase -->
	<function>
		<name>arrayFindNoCase</name>
		<class>railo.runtime.functions.arrays.ArrayFindNoCase</class>
		<member-name>findNoCase</member-name>
		<description>These functions performs a case-insensitive search in the array for the specified object.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to search in</description>
		</argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
			<description>The value to find</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- arrayFirst -->
	<function>
		<name>arrayFirst</name>
		<class>railo.runtime.functions.arrays.ArrayFirst</class>
		<member-name>first</member-name>
		<description>Returns the first item from an array. Throws an error if the array is empty.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to obtain the first Item from</description>
		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ArrayIndexExists -->
	<function>
		<name>ArrayIndexExists</name>
		<class>railo.runtime.functions.arrays.ArrayIndexExists</class>
		<member-name>indexExists</member-name>
		<description>Returns whether there exists an item in the array at the selected index.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to search</description>
		</argument>
		<argument>
			<name>index</name>
			<type>number</type>
			<required>Yes</required>
			<description>The index which to check</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- ArrayIsDefined -->
	<function>
		<name>ArrayIsDefined</name>
		<class>railo.runtime.functions.arrays.ArrayIsDefined</class>
		<member-name>isDefined</member-name>
		<description>Returns whether there exists an item in the array at the selected index.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array to search</description>
		</argument>
		<argument>
			<name>index</name>
			<type>number</type>
			<required>Yes</required>
			<description>The index which to check</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	
	
	<!-- arrayLast -->
	<function>
		<name>arrayLast</name>
		<class>railo.runtime.functions.arrays.ArrayLast</class>
		<member-name>last</member-name>
		<description>Returns the last element of an array</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>a array</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- arrayInsertAt -->
	<function>
		<name>arrayInsertAt</name>
		<class>railo.runtime.functions.arrays.ArrayInsertAt</class>
		<member-name>insertAt</member-name>
		<member-chaining>true</member-chaining>
		<description>Inserts a value at the specified position in the array.
If the element is inserted before the end of the array, Railo shifts the positions of all elements with a higher index to make room.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>The array which will have the new element inserted.</description>
		</argument>
		<argument>
			<name>position</name>
			<type>number</type>
			<required>Yes</required>
			<description>The numerical index in the array where the new element will be inserted.
Must be less than or equal to the length of the array.
Remember CFML arrays start at 1 not 0.</description>
		</argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
			<description>value to insert</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arrayIsEmpty -->
	<function>
		<name>arrayIsEmpty</name>
		<class>railo.runtime.functions.arrays.ArrayIsEmpty</class>
		<member-name>isEmpty</member-name>
		<description>Determines if the array is empty.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arrayLen -->
	<function>
		<name>arrayLen</name>
		<class>railo.runtime.functions.arrays.ArrayLen</class>
		<member-name>len</member-name>
		<description>Returns the length of the array</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- arrayMax -->
	<function>
		<name>arrayMax</name>
		<class>railo.runtime.functions.arrays.ArrayMax</class>
		<member-name>max</member-name>
		<description>Returns the largest numeric value in an array. If the array
        parameter value is an empty array, returns zero.
        All elements must contain values that can be automatically
        converted to numeric values.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- arrayMid -->
	<function>
		<name>arrayMid</name>
		<class>railo.runtime.functions.arrays.ArrayMid</class>
		<member-name>mid</member-name>
		<description>Extracts a sub array from a array.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
			<description>array to substract data from</description>
	    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>Yes</required>
			<description>The position of the first element to retrieve. </description>
	    </argument>
		<argument>
			<name>count</name>
			<type>number</type>
			<required>no</required>
			<description>The number of elements to retrieve. If not set, all elements until the end of the array will be returned. </description>
	    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arrayMin -->
	<function>
		<name>arrayMin</name>
		<class>railo.runtime.functions.arrays.ArrayMin</class>
		<member-name>min</member-name>
		<description>Returns the smallest numeric value in an array. If the array
        parameter value is an empty array, returns zero.
        All elements must contain values that can be automatically
        converted to numeric values.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array </description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- arrayMerge -->
	<function>
		<name>arrayMerge</name>
		<class>railo.runtime.functions.arrays.ArrayMerge</class>
		<member-name>merge</member-name>
		<description>This function merges two arrays to a single one.</description>
		<argument>
			<name>array1</name>
			<type>array</type>
			<required>Yes</required>
			<description>first array</description>
    </argument>
		<argument>
			<name>array2</name>
			<type>array</type>
			<required>Yes</required>
			<description>second array</description>
    </argument>
		<argument>
			<name>leaveIndex</name>
			<type>boolean</type>
			<required>No</required>
			<description>defines whether the merged arrays will maintain their index values or if the second array will simply append to the first one. If both arrays contain the same index and you specified the parameter leaveIndex to true, the corresponding index in the resulting array will always contain the value of the index of the first array.</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arrayNew -->
	<function>
		<name>arrayNew</name>
		<class>railo.runtime.functions.arrays.ArrayNew</class>
		<description>create a new array</description>
		<argument>
			<name>dimension</name>
			<type>number</type>
			<required>no</required>
			<default>1</default>
			<description>Number of dimensions in new array: 1, 2, or 3</description>
    	</argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arrayPrepend -->
	<function>
		<name>arrayPrepend</name>
		<class>railo.runtime.functions.arrays.ArrayPrepend</class>
		<member-name>prepend</member-name>
		<member-chaining>true</member-chaining>
		<description>Inserts an array element at the beginning of an array
        and shifts the positions of the existing elements to
        make room.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array</description>
    </argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
			<description>value to prepend</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arrayResize -->
	<function>
		<name>arrayResize</name>
		<class>railo.runtime.functions.arrays.ArrayResize</class>
		<member-name>resize</member-name>
		<description>Resets an array to a specified minimum number of elements.
        This can improve performance, if used to size an array to its
        expected maximum. For more than 500 elements, use ArrayResize
        immediately after using the ArrayNew tag.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array </description>
    </argument>
		<argument>
			<name>minimum_size</name>
			<type>number</type>
			<required>Yes</required>
			<description>minimum size of the array</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arrayReverse -->
	<function>
		<name>arrayReverse</name>
		<class>railo.runtime.functions.arrays.ArrayReverse</class>
		<member-name>reverse</member-name>
		<description>Returns a new array, with all the elements reversed</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>the array to reverse</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arraySet -->
	<function>
		<name>arraySet</name>
		<class>railo.runtime.functions.arrays.ArraySet</class>
		<member-name>set</member-name>
		<member-chaining>true</member-chaining>
		<description>In a one-dimensional array, sets the elements in a specified
        index range to a value. Useful for initializing an array after
        a call to ArrayNew.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array.</description>
    </argument>
		<argument>
			<name>start_pos</name>
			<type>number</type>
			<required>Yes</required>
		<description>Starting index position of range to set.</description>
    </argument>
		<argument>
			<name>end_pos</name>
			<type>number</type>
			<required>Yes</required>
		<description>Ending index position of range to set. If this value is greater than array length, Railo adds elements to array.</description>
    </argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Value to which to set each element in the range.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arraySlice -->
	<function>
		<name>arraySlice</name>
		<class>railo.runtime.functions.arrays.ArraySlice</class>
		<member-name>slice</member-name>
		<description>Returns a new array, from the start position up to the count of elements</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>array to slice</description>
    </argument>
		<argument>
			<name>offset</name>
			<type>number</type>
			<required>Yes</required>
		<description>start position in the original array to slice</description>
    </argument>
		<argument>
			<name>length</name>
			<type>number</type>
			<required>No</required>
		<description>maximum elements to slice from offset</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- arraySort -->
	<function>
		<name>arraySort</name>
		<class>railo.runtime.functions.arrays.ArraySort</class>
		<member-name>sort</member-name>
		<member-chaining>true</member-chaining>
		<description>Sorts array elements numerically or alphanumerically.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array </description>
    </argument>
		<argument>
			<name>sorttype_or_closure</name>
			<alias>sort_type,sortType,closure,function,udf</alias>
			<type>object</type>
			<required>Yes</required>
		<description>
value can be a string or a closure/function.
		
a string must be one of the following values:
- "numeric": sorts numbers
- "text": sorts text alphabetically, taking case into account (case sensitive)
- "textnocase": sorts text alphabetically, without regard to case (case insensitive)

if you define a closure/function, the closure/function must accept 2 parameters of any type and return:
-1, if first parameter is "smaller" than second parameter
0, if first parameter is equal to second parameter
1, first parameter is "bigger" than second parameter

</description>
    </argument>
		<argument>
			<name>sort_order</name>
			<alias>sortOrder</alias>
			<type>string</type>
			<required>No</required>
			<default>asc</default>
		<description>
sort direction:		
- asc(default): ascending sort order
- desc: descending sort order.</description>
    </argument>
		<argument>
			<name>locale_sensitive</name>
			<alias>localeSensitive</alias>
			<type>boolean</type>
			<required>No</required>
			<default>false</default>
		<description>if true it does a locale sensitive sorting.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arraySum -->
	<function>
		<name>arraySum</name>
		<class>railo.runtime.functions.arrays.ArraySum</class>
		<member-name>sum</member-name>
		<description>The sum of values in an array. If the array parameter value is
        an empty array, returns zero.</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of an array </description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- arraySwap -->
	<function>
		<name>arraySwap</name>
		<class>railo.runtime.functions.arrays.ArraySwap</class>
		<member-name>swap</member-name>
		<member-chaining>true</member-chaining>
		<description>Swaps array values of an array at specified positions. This
        function is more efficient than multiple cfset tags</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Array to Swap</description>
    </argument>
		<argument>
			<name>position1</name>
			<type>number</type>
			<required>Yes</required>
			<description>Position of first element to swap</description>
    </argument>
		<argument>
			<name>position2</name>
			<type>number</type>
			<required>Yes</required>
			<description>Position of second element to swap</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- arrayToList -->
	<function>
		<name>arrayToList</name>
		<class>railo.runtime.functions.list.ArrayToList</class>
		<member-name>toList</member-name>
		<tte-class>railo.transformer.cfml.evaluator.func.impl.ArrayToList</tte-class>
		<description>Transform the array to a list of elements delimiter by the given string</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>Name of array </description>
    </argument>
		<argument>
			<name>delimiter</name>
			<alias>delimiters</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
		<description>Character or multicharacter string to separate list elements. The default value is comma.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- arrayToStruct -->
	<function>
		<name>arrayToStruct</name>
		<class>railo.runtime.functions.arrays.ArrayToStruct</class>
		<member-name>toStruct</member-name>
		<description>Transform the array to a struct, the index of the array is the key of the struct</description>
		<argument>
			<name>array</name>
			<type>array</type>
			<required>Yes</required>
		<description>array to translate</description>
    </argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- asc -->
	<function>
		<name>asc</name>
		<class>railo.runtime.functions.string.Asc</class>
		<description>Determines the value of a character.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- aSin -->
	<function>
		<name>aSin</name>
		<class>railo.runtime.functions.math.ASin</class>
		<description>Determines the arcsine of a number. The arcsine is the angle
        whose sine is number.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Sine of an angle. The value must be between -1 and 1, inclusive.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- atn -->
	<function>
		<name>atn</name>
		<class>railo.runtime.functions.math.Atn</class>
		<description>Arctangent function. The arctangent is the angle whose tangent
        is number.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Tangent of an angle</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- beat -->
	<function>
		<name>beat</name>
		<class>railo.runtime.functions.dateTime.Beat</class>
		<description>
		Outputs the actuell swatch time.
		It is a new system of time developed by Swatch, the Swiss watch maker.  
		It involves setting the current day into 1000 "beats" instead of 24 hours.  
		Internet Time eliminates the need for geographical time zones, perfect for the internet.
		</description>
		<argument>
			<name>time</name>
			<type>any</type>
			<required>No</required>
			<description>
			the local time to geat beat time from
			</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- binaryDecode -->
	<function>
		<name>binaryDecode</name>
		<class>railo.runtime.functions.conversion.BinaryDecode</class>
		<description>Converts a string to a binary object. Used to convert
        binary data that has been encoded into string format
        back into binary data.</description>
		<argument>
			<name>encoded_binary</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string containing encoded binary data.</description>
    </argument>
		<argument>
			<name>binaryencoding</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string specifying the algorithm used to encode the original
            binary data into a string; must be one of the following:
- hex: characters 0-9 and A-F represent the hexadecimal value of each byte
- UU: data is encoded using the UNIX UUencode algorithm
- base64: data is encoded using the Base64 algorithm</description>
    </argument>
		<return>
			<type>binary</type>
		</return>
	</function>
	<!-- binaryEncode -->
	<function>
		<name>binaryEncode</name>
		<class>railo.runtime.functions.conversion.BinaryEncode</class>
		<description>Converts binary data to a string.</description>
		<argument>
			<name>binary</name>
			<type>binary</type>
			<required>Yes</required>
		<description>A variable containing the binary data to encode.</description>
    </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string that specifies the encoding method to use to represent the data; one of the following:
- Hex: use the characters 0-9 and A-F to represent the hexadecimal value of each byte.
- UU: use the UNIX UUencode algorithm to convert the data
- Base64: use the Base64 algorithm to convert the data, as specified by IETF RFC 2045, at www.ietf.org/rfc/rfc2045.txt.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
		
	<!-- CharsetDecode -->
	<function>
		<name>charsetDecode</name>
		<class>railo.runtime.functions.conversion.CharsetDecode</class>
		<description>Converts as string to a binary representation.</description>
		<argument>
			<name>encoded_binary</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string containing data to encode in binary format.</description>
    </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string specifying encoding of the input data.</description>
    </argument>
		<return>
			<type>binary</type>
		</return>
	</function>

	<!-- CharsetEncode -->
	<function>
		<name>charsetEncode</name>
		<class>railo.runtime.functions.conversion.CharsetEncode</class>
		<description>Uses the specified encoding to convert binary data to a string.</description>
		<argument>
			<name>binary</name>
			<type>binary</type>
			<required>Yes</required>
		<description>A variable containing binary data to decode into text.</description>
    </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>Yes</required>
		<description>The character encoding that was used to encode the string into binary format.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- bitAnd -->
	<function>
		<name>bitAnd</name>
		<class>railo.runtime.functions.math.BitAnd</class>
		<description>Performs a bitwise logical AND operation.</description>
		<argument>
			<name>number1</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<argument>
			<name>number2</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- bitMaskClear -->
	<function>
		<name>bitMaskClear</name>
		<class>railo.runtime.functions.math.BitMaskClear</class>
		<description>Performs a bitwise mask clear operation.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 0-31, inclusive; start bit for mask</description>
    </argument>
		<argument>
			<name>length</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 0-31, inclusive; length of mask</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- bitMaskRead -->
	<function>
		<name>bitMaskRead</name>
		<class>railo.runtime.functions.math.BitMaskRead</class>
		<description>Performs a bitwise mask read operation.
        Returns an integer, created from length bits of number,
        beginning at start.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer to mask</description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 0-31, inclusive; start bit for read</description>
    </argument>
		<argument>
			<name>length</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 0-31, inclusive; length of mask</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- bitMaskSet -->
	<function>
		<name>bitMaskSet</name>
		<class>railo.runtime.functions.math.BitMaskSet</class>
		<description>Performs a bitwise mask set operation.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>number</type>
			<required>Yes</required>
		<description>integer mask</description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 0-31, inclusive; start bit for mask</description>
    </argument>
		<argument>
			<name>length</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 0-31, inclusive; length of mask</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- bitNot -->
	<function>
		<name>bitNot</name>
		<class>railo.runtime.functions.math.BitNot</class>
		<description>Performs a bitwise logical NOT operation.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- bitOr -->
	<function>
		<name>bitOr</name>
		<class>railo.runtime.functions.math.BitOr</class>
		<description>Performs a bitwise logical OR operation.</description>
		<argument>
			<name>number1</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<argument>
			<name>number2</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- bitSHLN -->
	<function>
		<name>bitSHLN</name>
		<class>railo.runtime.functions.math.BitSHLN</class>
		<description>Performs a bitwise shift-left, no-rotation operation.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<argument>
			<name>count</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 0-31, inclusive; number of bits to shift the number</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- bitSHRN -->
	<function>
		<name>bitSHRN</name>
		<class>railo.runtime.functions.math.BitSHRN</class>
		<description>Performs a bitwise shift-right, no-rotation operation.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<argument>
			<name>count</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 0-31, inclusive. Number of bits to shift the number</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- bitXor -->
	<function>
		<name>bitXor</name>
		<class>railo.runtime.functions.math.BitXor</class>
		<description>Performs a bitwise logical XOR operation.</description>
		<argument>
			<name>number1</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<argument>
			<name>number2</name>
			<type>number</type>
			<required>Yes</required>
		<description>a integer</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
		
	<!-- CacheClear -->
	<function>
		<name>CacheClear</name>
		<class>railo.runtime.functions.cache.CacheClear</class>
		<description>Flushes the cache</description>
		<argument>
			<name>filter</name>
			<type>string</type>
			<required>No</required>
			<description>You can specify a key filter for the elements in the cache to flush, the filter follow the same rules as for cfdirectory-filter</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	
	<!-- CacheRemoveAll -->
	<function>
		<name>CacheRemoveAll</name>
		<class>railo.runtime.functions.cache.CacheRemoveAll</class>
		<status>deprecated</status>
		<description>this function is deprecated, use instead cacheClear. Removes all elements from the cache</description>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	
		
	<!-- CacheCount -->
	<function>
		<name>CacheCount</name>
		<class>railo.runtime.functions.cache.CacheCount</class>
		<description>Returns the amount (integer) of keys stored in the cache.</description>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- CacheDelete -->
	<function>
		<name>CacheDelete</name>
		<class>railo.runtime.functions.cache.CacheDelete</class>
		<description>Deletes a single element from the cache.</description>
		<argument>
			<name>id</name>
			<alias>name,key</alias>
			<type>string</type>
			<required>Yes</required>
			<description>the id of the element to delete, can also contain a "," (not used as separator)</description>
		</argument>
		<argument>
			<name>throwOnError</name>
			<type>boolean</type>
			<required>No</required>
			<description>define if the functions throws a exception when the element does not exist (default is false).</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- cacheGet -->
	<function>
		<name>cacheGet</name>
		<class>railo.runtime.functions.cache.CacheGet</class>
		<description>Gets an object that is stored in the cache.</description>
		<argument>
			<name>id</name>
			<alias>name,key</alias>
			<type>string</type>
			<required>Yes</required>
			<description>name of the element to return</description>
		</argument>
		<argument>
			<name>throwWhenNotExist</name>
			<default>false</default>
			<type>object</type>
			<required>no</required>
			<description>define if the functions throws a exception when the element does not exist (default is false).</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>object</type>
		</return>
	</function>
	
	<!-- CacheGetDefaultCacheName -->
	<function>
		<name>CacheGetDefaultCacheName</name>
		<class>railo.runtime.functions.cache.CacheGetDefaultCacheName</class>
		<description>return the default cache name for a specific type</description>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>yes</required>
			<description>cache type, valid values are [object,resource,template,query]</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- CacheGetAll -->
	<function>
		<name>CacheGetAll</name>
		<class>railo.runtime.functions.cache.CacheGetAll</class>
		<description>this function return a structure containing all elements inside the cache.</description>
		<argument>
			<name>filter</name>
			<type>string</type>
			<required>No</required>
			<description>key filter for the elements, the filter follow the same rules as for cfdirectory-filter.</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	
	<!-- CacheGetAllIds -->
	<function>
		<name>CacheGetAllIds</name>
		<class>railo.runtime.functions.cache.CacheGetAllIds</class>
		<description>this function return a array containing all keys inside the cache.</description>
		<argument>
			<name>filter</name>
			<type>string</type>
			<required>No</required>
			<description>key filter for the elements, the filter follow the same rules as for cfdirectory-filter.</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>array</type>
		</return>
	</function>
	
	<!-- CacheGetMetadata -->
	<function>
		<name>CacheGetMetadata</name>
		<class>railo.runtime.functions.cache.CacheGetMetadata</class>
		<description>returns a structure with some Metadata regarding the cache elements (keys returned depends on the Cache type used).</description>
		<argument>
			<name>id</name>
			<alias>name,key</alias>
			<type>string</type>
			<required>yes</required>
			<description>name of the element you need metadat for</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- CacheGetProperties -->
	<function>
		<name>CacheGetProperties</name>
		<class>railo.runtime.functions.cache.CacheGetProperties</class>
		<description>Gets the cache properties for the object cache, the page cache, or both. The information is application-specific.</description>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>no</required>
			<description>define which cache instances information are returned
- "" or not set - information to all default caches (object,template,resource,query)
- "object" - information to  "Default Object" Cache
- "template" - information to  "Default Template" Cache
- "query" - information to  "Default Query" Cache
- "resource" - information to  "Default Resource" Cache
- {cache name} - information to  a specific cache </description>
		</argument>
		<return>
			<type>array</type>
		</return>
	</function>
	
	<!-- CacheKeyExists -->
	<function>
		<name>CacheKeyExists</name>
		<class>railo.runtime.functions.cache.CacheKeyExists</class>
		<status>deprecated</status>
		<description>this function is deprecated, use instead CacheIdExists. Returns true/false whether the cache contains an element with the certain keyname.</description>
		<argument>
			<name>key</name>
			<alias>name,id</alias>
			<type>string</type>
			<required>yes</required>
			<description>key to check</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- CacheIdExists -->
	<function>
		<name>CacheIdExists</name>
		<class>railo.runtime.functions.cache.CacheKeyExists</class>
		<description>Returns true/false whether the cache contains an element with the certain id.</description>
		<argument>
			<name>id</name>
			<alias>name,key</alias>
			<type>string</type>
			<required>yes</required>
			<description>key to check</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- CacheSetProperties -->
	<function>
		<name>CacheSetProperties</name>
		<class>railo.runtime.functions.cache.CacheSetProperties</class>
		<description>
		This function is not supported by Railo, because we see this as a security risk, you can modifie cache configuration without a password,
you can use tag cfadmin instead. we will add support for this function in a future release, but then you can enable,disable this  function in admin for every single cache instance.</description>
		<argument>
			<name>propsSruct</name>
			<alias>properties,props</alias>
			<type>struct</type>
			<required>yes</required>
			<description>A structure specifying the cache properties plus identifying information</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- cachePut -->
	<function>
		<name>cachePut</name>
		<class>railo.runtime.functions.cache.CachePut</class>
		<description>Stores an object in the cache, with a life time and a idle time.</description>
		<argument>
			<name>id</name>
			<alias>key,name</alias>
			<type>string</type>
			<required>Yes</required>
			<description>The id for the cache object.</description>
		</argument>
		<argument>
			<name>value</name>
			<type>object</type>
			<required>Yes</required>
			<description>The value of the object.</description>
		</argument>
		<argument>
			<name>timeSpan</name>
			<type>timespan</type>
			<required>No</required>
			<description>The interval until the object is flushed from the cache, as a decimal number of days. One way to set the value is to use the return value from the CreateTimeSpan function. The default is to not time out the object.</description>
		</argument>
		<argument>
			<name>idleTime</name>
			<type>timespan</type>
			<required>No</required>
			<description>A decimal number of days after which the object is flushed from the cache if it is not accessed during that time. One way to set the value is to use the return value from the CreateTimeSpan function.</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- cacheRemove -->
	<function>
		<name>cacheRemove</name>
		<class>railo.runtime.functions.cache.CacheRemove</class>
		<description>removes elements from cache defined with argument ids.</description>
		<argument>
			<name>ids</name>
			<alias>names,keys</alias>
			<type>object</type>
			<required>Yes</required>
			<description>This can be a string list of multiple elements or a array containing the keys</description>
		</argument>
		<argument>
			<name>throwOnError</name>
			<type>boolean</type>
			<required>No</required>
			<description>define if the functions throws a exception when the element does not exist (default is false)</description>
		</argument>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
			<description>definition of the cache used by name, when not set the "default Object Cache" defined in Railo Administrator is used instead.</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- ceiling -->
	<function>
		<name>ceiling</name>
		<class>railo.runtime.functions.math.Ceiling</class>
		<description>Determines the closest integer that is greater than a
        specified number.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>A real number</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- chr -->
	<function>
		<name>chr</name>
		<class>railo.runtime.functions.string.Chr</class>
		<description>Returns the character represented by the ascii value</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>A value (a number in the range 0 - 65535, inclusive)</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- cJustify -->
	<function>
		<name>cJustify</name>
		<class>railo.runtime.functions.string.CJustify</class>
		<description>Returns the given string justified to the center, padding out the words with spaces accordingly</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>May be empty. If it is a variable that is defined as a number, the function processes it as a string. </description>
    </argument>
		<argument>
			<name>length</name>
			<type>number</type>
			<required>Yes</required>
		<description>A positive integer. Length of field.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- compare -->
	<function>
		<name>compare</name>
		<class>railo.runtime.functions.string.Compare</class>
		<description>Performs a case-sensitive comparison of two strings.
            -1, if string1 is less than string2
            0, if string1 is equal to string2
            1, if string1 is greater than string2</description>
		<argument>
			<name>string1</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one </description>
    </argument>
		<argument>
			<name>string2</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- compareNoCase -->
	<function>
		<name>compareNoCase</name>
		<class>railo.runtime.functions.string.CompareNoCase</class>
		<description>Performs a case-insensitive comparison of two strings.
        An indicator of the difference:
            A negative number, if string1 is less than string2
            0, if string1 is equal to string2
            A positive number, if string1 is greater than string2</description>
		<argument>
			<name>string1</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one </description>
    </argument>
		<argument>
			<name>string2</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- componentInfo -->
	<function>
		<name>componentInfo</name>
		<class>railo.runtime.functions.component.ComponentInfo</class>
		<status>deprecated</status>
		<description>this function is deprecated, use function getMetadata instead.</description>
		<argument>
			<name>component</name>
			<type>component</type>
			<required>Yes</required>
		<description>component to return info for it</description>
    </argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- componentCacheClear -->
	<function>
		<name>componentCacheClear</name>
		<class>railo.runtime.functions.component.ComponentCacheClear</class>
		<description>flush the component path cache</description>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- componentCacheList -->
	<function>
		<name>componentCacheList</name>
		<class>railo.runtime.functions.component.ComponentCacheList</class>
		<description>list elements in the component path cache</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- ComponentListPackage -->
	<function>
		<name>ComponentListPackage</name>
		<class>railo.runtime.functions.component.ComponentListPackage</class>
		<status>hidden</status>
		<description>this implementation is experimentell. list all components in a certain package, throws a application exception if package does not exist.</description>
		<argument>
			<name>package</name>
			<alias>packageName,name</alias>
			<type>string</type>
			<required>Yes</required>
			<description>name of the package to list</description>
	    </argument>
		
		<return>
			<type>array</type>
		</return>
	</function>
	
	<!-- CSRFGenerateToken -->
	<function>
		<name>CSRFGenerateToken</name>
		<class>railo.runtime.functions.csrf.CSRFGenerateToken</class>
		<description>Provides a random token and stores it in the session. You can also provide a specific key to store in the session.</description>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>No</required>
			<description>A random token is generated for the key provided.</description>
	    </argument>
		<argument>
			<name>forceNew</name>
			<type>boolean</type>
			<required>No</required>
			<description>If set to true, a new token is generated every time the function is called. 
			If false, in case a token exists for the key, the same key is returned.</description>
	    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- CSRFVerifyToken -->
	<function>
		<name>CSRFVerifyToken</name>
		<class>railo.runtime.functions.csrf.CSRFVerifyToken</class>
		<description>Validates the given token against the same stored in the session for a specific key.</description>
		<argument>
			<name>token</name>
			<type>string</type>
			<required>yes</required>
			<description>Token that to be validated against the token stored in the session.</description>
	    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>No</required>
			<description>The key against which the token be searched.</description>
	    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- ctCacheClear -->
	<function>
		<name>ctCacheClear</name>
		<class>railo.runtime.functions.other.CTCacheClear</class>
		<description>flush the customtag path cache</description>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ctCacheList -->
	<function>
		<name>ctCacheList</name>
		<class>railo.runtime.functions.other.CTCacheList</class>
		<description>list elements in the customtag path cache</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- compress -->
	<function>
		<name>compress</name>
		<class>railo.runtime.functions.system.Compress</class>
		<description>Compress given source to different formats.</description>
		<argument>
			<name>format</name>
			<type>string</type>
			<required>Yes</required>
			<description>
			Format to compress (bzip,gzip,tar,tbz (tar bzip),tgz (tar gzip) and zip)
			</description>
		</argument>
		<argument>
			<name>source</name>
			<type>string</type>
			<required>Yes</required>
			<description>
			source file or directory to compress
			</description>
		</argument>
		<argument>
			<name>target</name>
			<type>string</type>
			<required>Yes</required>
			<description>
			name of the target compressed file
			</description>
		</argument>
		<argument>
			<name>includeBaseFolder</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
			<description>
			take the folder or only content of folder
			</description>
		</argument>
		<argument>
			<name>mode</name>
			<type>string</type>
			<required>no</required>
			<default>777</default>
			<description>
			mode of the values
			</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- cos -->
	<function>
		<name>cos</name>
		<class>railo.runtime.functions.math.Cos</class>
		<description>Calculates the cosine of an angle that is entered
        in radians.
        A number; the cosine of the angle.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Angle, in radians, for which to calculate the cosine</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- createDate -->
	<function>
		<name>createDate</name>
		<class>railo.runtime.functions.dateTime.CreateDate</class>
		<description>Creates a CFML date object from the given year, month and day</description>
		<argument>
			<name>year</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 0-9999. Integers in the range 0-29 are converted to 2000-2029. Integers in the range 30-99 are converted to 1930-1999. You cannot specify dates before AD 100.</description>
    </argument>
		<argument>
			<name>month</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 1-12</description>
    </argument>
		<argument>
			<name>day</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 1-31</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>NO</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- createDateTime -->
	<function>
		<name>createDateTime</name>
		<class>railo.runtime.functions.dateTime.CreateDateTime</class>
		<description>Creates a CFML date/time object from the given year, month, day, hour, minute and second</description>
		<argument>
			<name>year</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 0-9999. Integers in the range 0-29 are converted to 2000-2029. Integers in the range 30-99 are converted to 1930-1999. You cannot specify dates before AD 100.</description>
    </argument>
		<argument>
			<name>month</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 1-12</description>
    </argument>
		<argument>
			<name>day</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 1-31</description>
    </argument>
		<argument>
			<name>hour</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 0-23</description>
    </argument>
		<argument>
			<name>minute</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 0-59</description>
    </argument>
		<argument>
			<name>second</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer in the range 0-59</description>
    </argument>
		<argument>
			<name>millis</name>
			<type>number</type>
			<required>No</required>
		<description>Integer in the range 0-999</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>NO</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	
	
	<!-- _createComponent -->
	<function>
		<name>_createComponent</name>
		<class>railo.runtime.functions.other._CreateComponent</class>
		<status>hidden</status>
		<description>literal component definition, used by the serialize function</description>
		<argument-type>dynamic</argument-type>
		<return>
			<type>any</type>
		</return>
	</function>
	
	
	<!-- CreateDynamicProxy -->
	<function>
		<name>CreateDynamicProxy</name>
		<class>railo.runtime.functions.other.CreateDynamicProxy</class>
		<description>wrap the given component with a java class that implements the given interfaces.</description>
		<argument>
			<name>cfc</name>
			<alias>cfcName,component,componentName</alias>
			<type>object</type>
			<required>Yes</required>
			<description>component or component name</description>
	    </argument>
		<argument>
			<name>interfaces</name>
			<alias>interface</alias>
			<type>object</type>
			<required>Yes</required>
			<description>array of strings containg interface pathes or a string list of interface pathes.</description>
	    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- createObject -->
	<function>
		<name>createObject</name>
		<class>railo.runtime.functions.other.CreateObject</class>
		<description>The CreateObject function takes different arguments depending on the value of the first argument:

        CreateObject('com', class, context, serverName)
        CreateObject('component', component-name)
        CreateObject('corba', context, class, locale)
        CreateObject('java', class)
        CreateObject('webservice', urltowsdl, [, portname])</description>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>Yes</required>
		<description>one of the following:
- com: for loading a com Object
- java: for loading a java object
- webservice: for loading a remote webservice 
- component: for loading a Component</description>
    </argument>
		<argument>
			<name>classname</name>
			<type>string</type>
			<required>no</required>
		<description>
the usage of this argument depend on type defined with argument "type":
- com: Component ProgID for the object to invoke.
- java: java class to load
- webservice: WSDL url to call
- component: The CFC name; corresponds to the name of the file that defines the component
		
		</description>
    </argument>
		<argument>
			<name>context</name>
			<type>object</type>
			<required>No</required>
		<description>
the usage of this argument depend on type defined with argument "type":
- com: not used (ignored)
- java: classpath used to load the defined class, this can be a list of multiple pathes (directory containg class files or jar files)
- webservice: a struct containing the following optional keys (username,password,proxyServer,proxyPort,proxyUser,proxyPassword) 
- component: not used (ignored)
</description>
    </argument>
		<argument>
			<name>arg4</name>
			<type>object</type>
			<required>No</required>
		<description>
the usage of this argument depend on type defined with argument "type":
- com: not used (ignored)
- java: delimter used for the classpath (default comma)
- webservice: not used (ignored)
- component: not used (ignored)</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- createODBCDate -->
	<function>
		<name>createODBCDate</name>
		<class>railo.runtime.functions.dateTime.CreateODBCDate</class>
		<description>Creates an ODBC date object.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- createODBCDateTime -->
	<function>
		<name>createODBCDateTime</name>
		<class>railo.runtime.functions.dateTime.CreateODBCDateTime</class>
		<description>Creates an ODBC date-time object.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- createODBCTime -->
	<function>
		<name>createODBCTime</name>
		<class>railo.runtime.functions.dateTime.CreateODBCTime</class>
		<description>Creates an ODBC time object.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- createTime -->
	<function>
		<name>createTime</name>
		<class>railo.runtime.functions.dateTime.CreateTime</class>
		<description>Creates a CFML time object from the given hour, minute and second</description>
		<argument>
			<name>hour</name>
			<type>number</type>
			<required>Yes</required>
		<description>Number in the range 0-23</description>
    </argument>
		<argument>
			<name>minute</name>
			<type>number</type>
			<required>Yes</required>
		<description>Number in the range 0-59</description>
    </argument>
		<argument>
			<name>second</name>
			<type>number</type>
			<required>Yes</required>
		<description>Number in the range 0-59</description>
    </argument>
		<argument>
			<name>millis</name>
			<type>number</type>
			<required>No</required>
		<description>Number in the range 0-999</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- createTimeSpan -->
	<function>
		<name>createTimeSpan</name>
		<class>railo.runtime.functions.dateTime.CreateTimeSpan</class>
		<description>Creates a date/time object that defines a time period. You
        can add or subtract it from other date/time objects and use
        it with the cachedWithin attribute of cfquery.</description>
		<argument>
			<name>days</name>
			<type>number</type>
			<required>Yes</required>
		<description>number of days in time period</description>
    </argument>
		<argument>
			<name>hours</name>
			<type>number</type>
			<required>Yes</required>
		<description>number of hours in time period</description>
		</argument>
		<argument>
			<name>minutes</name>
			<type>number</type>
			<required>Yes</required>
		<description>number of minutes in time period</description>
		</argument>
		<argument>
			<name>seconds</name>
			<type>number</type>
			<required>Yes</required>
		<description>number of seconds in time period</description>
		</argument>
		<argument>
			<name>milliseconds</name>
			<type>number</type>
			<required>no</required>
		<description>number of milliseconds in time period</description>
		</argument>
		<return>
			<type>timespan</type>
		</return>
	</function>
	<!-- createUUID -->
	<function>
		<name>createUUID</name>
		<class>railo.runtime.functions.other.CreateUUID</class>
		<description>Creates a Universally Unique Identifier (UUID). A UUID is a
        35-character string representation of a unique 128-bit integer
        xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx : x is a hexadecimal digit</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- CreateUniqueId -->
	<function>
		<name>CreateUniqueId</name>
		<class>railo.runtime.functions.other.CreateUniqueId</class>
		<description>Creates a Unique Identifier. Only unique for this instance, but shorter than a UUId.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- createGUID -->
	<function>
		<name>createGUID</name>
		<class>railo.runtime.functions.other.CreateGUID</class>
		<description>A globally unique identifier or GUID is a special type of identifier used in software applications to provide a unique reference number. The value is represented as a 32 character hexadecimal string, such as {21EC2020-3AEA-1069-A2DD-08002B30309D} and usually stored as a 128 bit integer.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- datasourceFlushMetaCache -->
	<function>
		<name>datasourceFlushMetaCache</name>
		<class>railo.runtime.functions.other.DatasourceFlushMetaCache</class>
		<description>Flush the meta data stored for a certain datasource used for stored procedures, this is only supported for Oracle datasources</description>
		<argument>
			<name>datasourceName</name>
			<type>string</type>
			<required>no</required>
			<description>name of the datasource to flush, when not defined all caches are flushed</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- dateAdd -->
	<function>
		<name>dateAdd</name>
		<class>railo.runtime.functions.dateTime.DateAdd</class>
		<description>Adds units of time to a date.
        [datepart - quicky]
        yyyy: Year; q: Quarter; m: Month; y: Day of year; d: Day
        w: Weekday; ww: Week; h: Hour; n: Minute; s: Second;
        l: Millisecond</description>
		<argument>
			<name>datepart</name>
			<type>string</type>
			<required>Yes</required>
		<description>one of the following:
- yyyy: Year
- q: Quarter
- m: Month
- y: Day of year
- d: Day
- w: Weekday
- ww: Week
- h: Hour
- n: Minute
- s: Second
- l: Millisecond
		</description>
    </argument>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Number of units of datepart to add to date (positive, to get dates in the future; negative, to get dates in the past). Number must be an integer.</description>
    </argument>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>a datetime object</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>

	<!-- _dateAdd (used only as member function) -->
	<function>
		<name>_dateAdd</name>
		<class>railo.runtime.functions.dateTime.DateAddMember</class>
		<member-name>add</member-name>
		<description>Adds units of time to a date.
        [datepart - quicky]
        yyyy: Year; q: Quarter; m: Month; y: Day of year; d: Day
        w: Weekday; ww: Week; h: Hour; n: Minute; s: Second;
        l: Millisecond</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
			<description>a datetime object</description>
	    </argument>
		<argument>
			<name>datepart</name>
			<type>string</type>
			<required>Yes</required>
		<description>one of the following:
- yyyy: Year
- q: Quarter
- m: Month
- y: Day of year
- d: Day
- w: Weekday
- ww: Week
- h: Hour
- n: Minute
- s: Second
- l: Millisecond
			</description>
	    </argument>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
			<description>Number of units of datepart to add to date (positive, to get dates in the future; negative, to get dates in the past). Number must be an integer.</description>
	    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	
	<!-- dateCompare -->
	<function>
		<name>dateCompare</name>
		<class>railo.runtime.functions.dateTime.DateCompare</class>
		<member-name>compare</member-name>
		<description>Compares to date, to the given optional resolution. Returns -1 if date1 is before date2. Returns 1 if date1 is after date2. Returns 0 if equal</description>
		<argument>
			<name>date1</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>datetime object</description>
    </argument>
		<argument>
			<name>date2</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>datetime object</description>
    </argument>
		<argument>
			<name>datepart</name>
			<type>string</type>
			<required>No</required>
			<default>s</default>
		<description>Precision of the comparison:
- s (default): Precise to the second
- n: Precise to the minute
- h: Precise to the hour
- d: Precise to the day
- m: Precise to the month
- yyyy: Precise to the year</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- dateConvert -->
	<function>
		<name>dateConvert</name>
		<class>railo.runtime.functions.dateTime.DateConvert</class>
		<description>Converts a date to the given locale; 
		this function only exists for compatiblity reasion and should no be used, the timezone is not part of the datetime object. the function simple add/subtract the time between the local time and the UTC from the date Object.</description>
		<argument>
			<name>conversion_type</name>
			<type>string</type>
			<required>Yes</required>
		<description>
- local2Utc: Converts local time to UTC time.
- utc2Local: Converts UTC time to local time.
		</description>
    </argument>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>a datetime object</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- dateDiff -->
	<function>
		<name>dateDiff</name>
		<class>railo.runtime.functions.dateTime.DateDiff</class>
		<description>Determines the number of given date parts between two different dates</description>
		<argument>
			<name>datepart</name>
			<type>string</type>
			<required>Yes</required>
		<description>String that specifies the units in which to count:
- yyyy: Years
- q: Quarters
- m: Months
- y: Days of year (same as d)
- d: Days
- w: Weekdays (same as ww)
- ww: Weeks
- h: Hours
- n: Minutes
- s: Seconds
</description>
    </argument>
		<argument>
			<name>date1</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date time object to compare</description>
    </argument>
		<argument>
			<name>date2</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date time object to compare</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- _dateDiff (only for member types) -->
	<function>
		<name>_dateDiff</name>
		<class>railo.runtime.functions.dateTime.DateDiffMember</class>
		<member-name>diff</member-name>
		<description>Determines the number of given date parts between two different dates</description>
		<argument>
			<name>date1</name>
			<type>datetime</type>
			<required>Yes</required>
			<description>date time object to compare</description>
	    </argument>
		<argument>
			<name>date2</name>
			<type>datetime</type>
			<required>Yes</required>
			<description>date time object to compare</description>
	    </argument>
		<argument>
			<name>datepart</name>
			<type>string</type>
			<required>no</required>
			<default>s</default>
		<description>String that specifies the units in which to count:
- yyyy: Years
- q: Quarters
- m: Months
- y: Days of year (same as d)
- d: Days
- w: Weekdays (same as ww)
- ww: Weeks
- h: Hours
- n: Minutes
- s (Default): Seconds
			</description>
   	 	</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	
	<!-- dateFormat -->
	<function>
		<name>dateFormat</name>
		<class>railo.runtime.functions.displayFormatting.DateFormat</class>
		<description>Formats a date string to a given output</description>
		<argument>
			<name>date</name>
			<type>any</type>
			<required>Yes</required>
		<description>Date object</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>string</type>
			<required>No</required>
			<default>dd-mmm-yy</default>
		<description>
Characters that show how Railo displays a date:
- d: Day of the month as digits; no leading zero for single-digit days.
- dd: Day of the month as digits; leading zero for single-digit days.
- ddd: Day of the week as a three-letter abbreviation.
- dddd: Day of the week as its full name.
- m: Month as digits; no leading zero for single-digit months.
- mm: Month as digits; leading zero for single-digit months.
- mmm: Month as a three-letter abbreviation.
- mmmm: Month as its full name.
- yy: Year as last two digits; leading zero for years less than 10.
- yyyy: Year represented by four digits.
- gg: Period/era string. Ignored. Reserved. The following masks tell how to format the full date and cannot be combined with other masks:
- short: equivalent to m/d/y
- medium: equivalent to mmm d, yyyy
- long: equivalent to mmmm d, yyyy
- full: equivalent to dddd, mmmm d, yyyy</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	
	<!-- dateTimeFormat -->
	<function>
		<name>dateTimeFormat</name>
		<class>railo.runtime.functions.displayFormatting.DateTimeFormat</class>
		<member-name>format</member-name>
		<description>Formats a date/time string to a given output</description>
		<argument>
			<name>datetime</name>
			<type>any</type>
			<required>Yes</required>
		<description>Datetime object</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>string</type>
			<required>No</required>
			<default>dd-MMM-yyyy HH:mm:ss</default>
		<description>
Mask that has to be used for formatting. 
the following characters are pattern letters (case sensitive) representing the components of a datetime string. All other characters are not interpreted
- a,..,aaaa: AM/PM marker (see also "t" and "tt"; Example:AM)
- d: Day in month, no leading zero for single-digit days (Example:3)
- dd: Day in month, leading zero for single-digit days (Example:03)
- D: Day in year, no leading zero for single-digit days (Example:4)
- DD: Day in month, leading zero for single-digit days (Example:04)
- DDD: Day in month, 2 leading zero for single-digit days (Example:004)
- E,EE,EEE: Day of week as a three-letter abbreviation (Example:Tue)
- EEEE: Day of week as its full name (Example:Tuesday)
- F: Day of week in month, no leading zero for single-digit days (Example:4)
- FF: Day of week in month, leading zero for single-digit days (Example:04)
- G,GG: Era designator (Example:AD)
- h: Hour in am/pm (1-12), no leading zero for single-digit hours (Example:3)
- hh: Hour in am/pm (1-12), leading zero for single-digit hours (Example:03)
- H: Hour in day (0-23), no leading zero for single-digit hours (Example:14)
- HH: Hour in day (00-23), leading zero for single-digit hours (Example:14)
- k: Hour in day (1-24), no leading zero for single-digit hours (Example:15)
- kk: Hour in day (1-24), leading zero for single-digit hours (Example:15)
- K: Hour in am/pm (0-11), no leading zero for single-digit hours (Example:2)
- KK: Hour in am/pm (0-11), leading zero for single-digit hours (Example:02)
- l,L: milliseconds, with no leading zeros (Example:3)
- ll,LL: milliseconds, leading zero for single-digit days (Example:03)
- lll,LLL: milliseconds,  2 leading zero for single-digit days (Example:003)
- m,M: Month as digits, no leading zero for single-digit months (Example:6)
- mm,MM: Month as digits, leading zero for single-digit months (Example:06)
- mmm,MMM: Month as a three-letter abbreviation (Example:Jun)
- mmmm,MMMM: Month as its full name (Example:June)
- n,N: minutes in hour, no leading zero for single-digit minutes (Example:3)
- nn,NN: minutes in hour, leading zero for single-digit minutes (Example:03)
- s,S: seconds in minute, no leading zero for single-digit seconds (Example:3)
- ss,SS: seconds in minute, leading zero for single-digit seconds (Example:03)
- t,T: one-character time marker string (Example:P)
- tt,TT: multiple-character time marker string (Example:PM)
- w: Week in year, no leading zero for single-digit hours (Example:27)
- ww: Week in year, leading zero for single-digit hours (Example:27)
- W: Week in month, no leading zero for single-digit hours (Example:2)
- WW: Week in month, leading zero for single-digit hours (Example:02)
- y,yy,yyy: Year as last two digits, leading zero for single-digit (Example:09)
- yyyy: Year represented by four digits (Example:2009)
- z,zz,zzz: General time zone as a 3 to 4 lettesr abbreviation (Example:PST)
- zzzz: General time zone as its full name (Example:Pacific Standard Time)
- Z,..,ZZZZ: RFC 822 time zone (Example:-0800)
  
The following masks tell how to format the full date and time and cannot be combined with other masks:
- short: equivalent to m/d/y h:mm tt
- medium: equivalent to mmm d, yyyy h:mm:ss tt
- long: medium followed by three-letter time zone; as in, mmmm d, yyyy h:mm:ss tt zz
- full: equivalent to dddd, mmmm d, yyyy h:mm:ss tt zz
The function also follows Java date time mask. For details, see the section Date and Time Patterns on this page.


The function follows Java date time mask. 
For details, see the section Date and Time Patterns at the following URL: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- datePart -->
	<function>
		<name>datePart</name>
		<class>railo.runtime.functions.dateTime.DatePart</class>
		<description>Extracts the given date part from the date object</description>
		<argument>
			<name>datepart</name>
			<type>string</type>
			<required>Yes</required>
		<description>one of the following:
- yyyy: Year
- q: Quarter
- m: Month
- y: Day of year
- d: Day
- w: Weekday
- ww: Week
- h: Hour
- n: Minute
- s: Second
- l: Millisecond
</description>
    </argument>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>dateobject the get part from</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>	
	<!-- _datePart (used only as member function) -->
	<function>
		<name>_datePart</name>
		<class>railo.runtime.functions.dateTime.DatePartMember</class>
		<member-name>part</member-name>
		<description>Extracts the given date part from the date object</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
			<description>dateobject the get part from</description>
	    </argument>
		<argument>
			<name>datepart</name>
			<type>string</type>
			<required>Yes</required>
		<description>one of the following:
- yyyy: Year
- q: Quarter
- m: Month
- y: Day of year
- d: Day
- w: Weekday
- ww: Week
- h: Hour
- n: Minute
- s: Second
- l: Millisecond
			</description>
    	</argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- day -->
	<function>
		<name>day</name>
		<class>railo.runtime.functions.dateTime.Day</class>
		<member-name>day</member-name>
		<description>Determines the day of the month, in a date.
        The ordinal for the day of the month, ranging from 1 to 31.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>Date/time object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- dayOfWeek -->
	<function>
		<name>dayOfWeek</name>
		<class>railo.runtime.functions.dateTime.DayOfWeek</class>
		<member-name>dayOfWeek</member-name>
		<description>Determines the day of the week, in a date.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>Date/time object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- lsdayOfWeek -->
	<function>
		<name>lsdayOfWeek</name>
		<class>railo.runtime.functions.international.LSDayOfWeek</class>
		<member-name>lsDayOfWeek</member-name>
		<description>Returns the day of the week the date represents in locale format</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>datetime object</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>no</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- dayOfWeekAsString -->
	<function>
		<name>dayOfWeekAsString</name>
		<class>railo.runtime.functions.string.DayOfWeekAsString</class>
		<description>Determines the day of the week as a string from 1-7</description>
		<argument>
			<name>day_of_week</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 1 (Sunday) - 7 (Saturday).</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- dayOfWeekShortAsString -->
	<function>
		<name>dayOfWeekShortAsString</name>
		<class>railo.runtime.functions.string.DayOfWeekShortAsString</class>
		<description>Returns the string representation of the given day index in short form</description>
		<argument>
			<name>day_of_week</name>
			<type>number</type>
			<required>Yes</required>
		<description>Integer, in the range 1 (Sunday) - 7 (Saturday).</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- dayOfYear -->
	<function>
		<name>dayOfYear</name>
		<class>railo.runtime.functions.dateTime.DayOfYear</class>
		<member-name>dayOfYear</member-name>
		<description>Determines the day of the year, in a date.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>Date/time object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- daysInMonth -->
	<function>
		<name>daysInMonth</name>
		<class>railo.runtime.functions.dateTime.DaysInMonth</class>
		<member-name>daysInMonth</member-name>
		<description>Determines the number of days in a month.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>Date/time object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- daysInYear -->
	<function>
		<name>daysInYear</name>
		<class>railo.runtime.functions.dateTime.DaysInYear</class>
		<member-name>daysInYear</member-name>
		<description>Determines the number of days in a year.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>Dateobject</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- dE -->
	<function>
		<name>dE</name>
		<class>railo.runtime.functions.dynamicEvaluation.DE</class>
		<description>Postpones evaluation of a string as an expression, when it is
        passed as a parameter to the IIf or Evaluate functions. Escapes
        any double quotation marks in the parameter and wraps the
        result in double quotation marks.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String to evaluate, after delay</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- decimalFormat -->
	<function>
		<name>decimalFormat</name>
		<class>railo.runtime.functions.displayFormatting.DecimalFormat</class>
		<description>Converts a number to a decimal-formatted string.</description>
		<argument>
			<name>number</name>
			<type>any</type>
			<required>Yes</required>
		<description>Number to format</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- decrementValue -->
	<function>
		<name>decrementValue</name>
		<class>railo.runtime.functions.math.DecrementValue</class>
		<status>deprecated</status>
		<description>this function is deprecated, use instead the -- operator;Decrements the current number by one</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Number to decrement</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- decodeFromURL -->	
	<function>
		<name>decodeFromURL</name>
		<class>railo.runtime.functions.owasp.DecodeFromURL</class>
		<status>deprecated</status>
		<description>Decodes a string that has been encoded in the URL using the encodeForURL.
		this function is deprecated, use function ESAPIDecode('url',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- each -->
	<function>
		<name>each</name>
		<class>railo.runtime.functions.closure.Each</class>
		<description>call the given UDF/Closure with every entry (key/value) in the given collection.</description>
		<argument>
			<name>collection</name>
			<type>object</type>
			<required>Yes</required>
			<description>collection to take values from</description>
		</argument>
		<argument>
			<name>closure</name>
			<alias>udf,function</alias>
			<type>function</type>
			<required>Yes</required>
			<description>UDF/Closure that call with the entries from struct</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- Empty -->
	<function>
		<name>Empty</name>
		<class>railo.runtime.functions.system.Empty</class>
		<status>deprecated</status>
		<description>this function is deprcated, use instead "IsEmpty".
		this function returns true if a value exists and is not "empty". 
The following things are considered to be empty:
- string:"" (an empty string)
- number:return always false
- boolean: return always false
- array: [] (an empty array)
- struct: {} (an empty struct)
		 </description>
		<argument>
			<name>variable</name>
			<alias>variableName,object</alias>
			<type>variablestring</type>
			<required>Yes</required>
			<description></description>
    	</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- ESAPIDecode -->	
	<function>
		<name>ESAPIDecode</name>
		<class>railo.runtime.functions.owasp.ESAPIDecode</class>
		<description>Decodes a string that has been encoded with ESAPIEncode.</description>
		<argument>
			<name>decodeFrom</name>
			<type>string</type>
			<required>Yes</required>
			<description>given value is encoded as:
- url
</description>
	    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
			<description>string to encode</description>
	    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	
	<!-- decrypt -->
	<function>
		<name>decrypt</name>
		<class>railo.runtime.functions.other.Decrypt</class>
		<description>Decrypts a string that is encrypted with the Encrypt function.</description>
		<argument>
			<name>encrypted_string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String to decrypt.</description>
    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		<description>Key or seed used to encrypt the string.
- For the CFMX_COMPAT algorithm, any combination of any number of characters; used as a seed used to generate a 32-bit encryption key.
- For all other algorithms, a key in the format used by the algorithm. For these algorithms, use the GenerateSecretKey function to generate the key.</description>
    </argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
			<default>cfmx_compat</default>
		    <description>The algorithm to use to decrypt the string. Must be the same as the algorithm used to encrypt the string.
- CFMX_COMPAT(default): the CFML specific algorithm. This algorithm is the least secure option
- AES: the Advanced Encryption Standard specified by the National Institute of Standards and Technology (NIST) FIPS-197
- BLOWFISH: the Blowfish algorithm defined by Bruce Schneier
- DES: the Data Encryption Standard algorithm defined by NIST FIPS-46-3
- DESEDE: the "Triple DES" algorithm defined by NIST FIPS-46-3
You may also specify other algorithm names as well as the feedback mode and padding scheme where applicable (in the format algorithm/mode/padding) as documented in the Java Cryptography Architecture (JCA) Reference Guide.</description>
        </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>No</required>
			<default>uu</default>
		    <description>The binary encoding used to represent the data as a string. Must be the same as the algorithm used to encrypt the string.
- Base64: the Base64 algorithm, as specified by IETF RFC 2045
- Hex: the characters A-F and 0-9 represent the hexadecimal byte values
- UU(default): the UNIX standard UUEncode algorithm</description>
        </argument>
        <argument>
            <name>IVorSalt</name>
            <type>any</type>
            <required>no</required>
            <description>Initialization Vector for algorithms with Feedback Mode that is not ECB, or Salt for Password Based Encryption algorithms</description>
        </argument>
        <argument>
            <name>iterations</name>
            <type>number</type>
            <required>no</required>
            <description>number of Iterations for Password Based Encryption algorithms (ignored for all other algorithms). NIST recommends a minimum value of 1000.</description>
        </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- decryptBinary -->
	<function>
		<name>decryptBinary</name>
		<class>railo.runtime.functions.other.DecryptBinary</class>
		<description>Decrypts the given binary with the optional parameters</description>
		<argument>
			<name>input</name>
			<type>any</type>
			<required>Yes</required>
		    <description>Binary data to decrypt.</description>
        </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		    <description>
Key or seed used to encrypt the string.
- For the CFMX_COMPAT algorithm, any combination of any number of characters; used as a seed used to generate a 32-bit encryption key.
- For all other algorithms, a key in the format used by the algorithm. For these algorithms, use the GenerateSecretKey function to generate the key.</description>
        </argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
			<default>cfmx_compat</default>
		    <description>
The algorithm to use to decrypt the string. Must be the same as the algorithm used to encrypt the string.
- CFMX_COMPAT(default): the CFML specific algorithm. This algorithm is the least secure option
- AES: the Advanced Encryption Standard specified by the National Institute of Standards and Technology (NIST) FIPS-197
- BLOWFISH: the Blowfish algorithm defined by Bruce Schneier
- DES: the Data Encryption Standard algorithm defined by NIST FIPS-46-3
- DESEDE: the "Triple DES" algorithm defined by NIST FIPS-46-3</description>
You may also specify other algorithm names as well as the feedback mode and padding scheme where applicable (in the format algorithm/mode/padding) as documented in the Java Cryptography Architecture (JCA) Reference Guide.
        </argument>
        <argument>
            <name>IVorSalt</name>
            <type>any</type>
            <required>no</required>
            <description>Initialization Vector for algorithms with Feedback Mode that is not ECB, or Salt for Password Based Encryption algorithms</description>
        </argument>
        <argument>
            <name>iterations</name>
            <type>number</type>
            <required>no</required>
            <description>number of Iterations for Password Based Encryption algorithms (ignored for all other algorithms). NIST recommends a minimum value of 1000.</description>
        </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- deleteClientVariable -->
	<function>
		<name>deleteClientVariable</name>
		<class>railo.runtime.functions.other.DeleteClientVariable</class>
		<description>Removes the element represented by the key from the [client] scope</description>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
		<description>Name of a client variable to delete, surrounded by double-quotation marks</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- DirectoryCopy -->
	<function>
		<name>DirectoryCopy</name>
		<class>railo.runtime.functions.file.DirectoryCopy</class>
		<description>Copies the contents of a directory to a destination directory.</description>
		<argument>
			<name>source</name>
			<alias>directory</alias>
			<type>string</type>
			<required>Yes</required>
			<description>Pathname of directory from which you copy content.</description>
		</argument>
		<argument>
			<name>destination</name>
			<alias>newDirectory</alias>
			<type>string</type>
			<required>yes</required>
			<description>Path of the destination directory. If not an absolute path, it is relative to the source directory.</description>
		</argument>
		<argument>
			<name>recurse</name>
			<alias>recursive</alias>
			<type>boolean</type>
			<required>no</required>
			<default>false</default>
			<description>If true, copies the subdirectories, otherwise only the files in the source directory.</description>
		</argument>
		<argument>
			<name>filter</name>
			<type>any</type>
			<required>no</required>
			<description>
Filter to be used to filter the data copied:
- A string that uses "*" as a wildcard, for example, "*.cfm"
- a UDF (User defined Function) using the following pattern "functioname(String path):boolean", the function is run for every single file, if the function returns true, then the file is will be added to the list otherwise it will be omitted</description>
		</argument>
		<argument>
			<name>createPath</name>
			<type>boolean</type>
			<required>no</required>
			<description>if set to false, expects all parent directories to exist, true (default) will generate necessary directories</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>

	<!-- DirectoryCreate -->
	<function>
		<name>DirectoryCreate</name>
		<class>railo.runtime.functions.file.DirectoryCreate</class>
		<description>Creates new directory for specified path</description>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>Yes</required>
			<description>Absolute path of the directory to be created</description>
		</argument>
		<argument>
			<name>createPath</name>
			<alias>doParent</alias>
			<type>boolean</type>
			<required>no</required>
			<default>true</default>
			<description>Create parent directory when not exist</description>
		</argument>
		<argument>
			<name>ignoreExists</name>
			<type>boolean</type>
			<required>false</required>
			<default>false</default>
			<description>Pass false (default) to throw an error if the directory already exists, or true to skip the create operation without an error</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- DirectoryDelete -->
	<function>
		<name>DirectoryDelete</name>
		<class>railo.runtime.functions.file.DirectoryDelete</class>
		<description>Deltes directory for given path</description>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>Yes</required>
			<description>Absolute path of the directory to be deleted</description>
		</argument>
		<argument>
			<name>recurse</name>
			<alias>recursive</alias>
			<type>boolean</type>
			<required>no</required>
			<description>delete content of the directory</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- directoryExists -->
	<function>
		<name>directoryExists</name>
		<class>railo.runtime.functions.system.DirectoryExists</class>
		<description>Determines whether a directory exists.</description>
		<argument>
			<name>path</name>
			<alias>absolute_path,absolutePath</alias>
			<type>string</type>
			<required>Yes</required>
		<description>An absolute path. Alternatively, you can specify IP address as in the following example: DirectoryExists(\"//12.3.123.123/c_drive/test\");</description>
    </argument>
		<argument>
			<name>allowRealPath</name>
			<type>object</type>
			<required>no</required>
			<description>boolean that defines if relative paths are interpreted or not</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- DirectoryList -->
	<function>
		<name>DirectoryList</name>
		<class>railo.runtime.functions.file.DirectoryList</class>
		<description>Lists the directory and returns the list of files under it as array or query</description>
		<argument>
			<name>path</name>
			<alias>absolute_path,absolutePath</alias>
			<type>string</type>
			<required>Yes</required>
		<description>The absolute path of the directory for which to list the contents. Alternatively, you can specify IP address as in the following example: DirectoryList(\"//12.3.123.123/c_drive/test\");.</description>
    </argument>
		<argument>
			<name>recurse</name>
			<type>boolean</type>
			<required>no</required>
			<description>Whether Railo performs the action on subdirectories: If true, contents of all subdirectories are also listed.</description>
		</argument>
		<argument>
			<name>listInfo</name>
			<type>string</type>
			<required>no</required>
			<description>name: returns an array of names of files and directories.
path: returns an array of paths of files and directories.
query: returns a query.</description>
		</argument>
		<argument>
			<name>filter</name>
			<type>any</type>
			<required>no</required>
			<description>
Filter to be used to filter the results:
- A string that uses "*" as a wildcard, for example, "*.cfm"
- a UDF (User defined Function) using the following pattern "functioname(String path):boolean", the function is run for every single file, if the function returns true, then the file is will be added to the list otherwise it will be omitted</description>
		</argument>
		<argument>
			<name>sort</name>
			<type>string</type>
			<required>no</required>
			<description>Query columns by which to sort a directory listing. Delimited list of columns from query output.
To qualify a column, use one of the following values:
asc: ascending (a to z) sort order.
dec: descending (z to a) sort order.
</description>
		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- DirectoryRename -->
	<function>
		<name>DirectoryRename</name>
		<class>railo.runtime.functions.file.DirectoryRename</class>
		<description>Renames given directory</description>
		<argument>
			<name>oldPath</name>
			<type>string</type>
			<required>Yes</required>
			<description>Absolute path of the directory to be renamed</description>
		</argument>
		<argument>
			<name>newPath</name>
			<type>string</type>
			<required>Yes</required>
			<description>new name for the directory</description>
		</argument>
		<argument>
			<name>createPath</name>
			<type>boolean</type>
			<required>no</required>
			<description>if set to false, expects all parent directories to exist, true (default) will generate necessary directories</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- DeserializeJSON -->
	<function>
		<name>DeserializeJSON</name>
		<class>railo.runtime.functions.conversion.DeserializeJSON</class>
		<description>Converts a JSON (JavaScript Object Notation) string data representation into CFML data, such as a struct or array.</description>
		<argument>
			<name>JSONVar</name>
			<type>string</type>
			<required>Yes</required>
			<description>A string that contains a valid JSON construct, or variable that represents one.</description>
		</argument>
		<argument>
			<name>strictMapping</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
			<description>A Boolean value that specifies whether to convert the JSON strictly</description>
		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- dollarFormat -->
	<function>
		<name>dollarFormat</name>
		<class>railo.runtime.functions.displayFormatting.DollarFormat</class>
		<description>Formats a string in U.S. format. (For other currencies, use
        LSCurrencyFormat or LSEuroCurrencyFormat.)</description>
		<argument>
			<name>number</name>
			<type>string</type>
			<required>Yes</required>
		<description>Number to format</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- DotNetToCFType -->
	<function>
		<name>DotNetToCFType</name>
		<class>railo.runtime.functions.system.DotNetToCFType</class>
		<status>unimplemeted</status>
		<description>Explicitly converts a value returned by a .NET method to the corresponding Railo data type.</description>
		<argument>
			<name>input</name>
			<type>any</type>
			<required>Yes</required>
			<description>Name of the .NET variable to convert</description>
		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- _javabaseddump -->
	<function>
		<name>_dump</name>
		<class>railo.runtime.functions.other.Dump</class>
		<status>hidden</status>
		<description>Use the dump function to display objects. Useful for debugging. You can display the contents of simple and complex variables, objects, components, user-defined functions, and other elements.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>label</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>expand</name>
			<type>boolean</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>show</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>hide</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>output</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>format</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>keys</name>
			<type>number</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>metainfo</name>
			<type>boolean</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>showUDFs</name>
			<type>boolean</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- dumpStruct -->
	<function>
		<name>dumpStruct</name>
		<class>railo.runtime.functions.other.DumpStruct</class>
		<description>creates out of given object dump infomration as struct</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>top</name>
			<type>number</type>
			<required>No</required>
			<default>9999</default>
		<description></description>
    </argument>
		<argument>
			<name>show</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>hide</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>keys</name>
			<type>number</type>
			<required>No</required>
			<default>9999</default>
		<description></description>
    </argument>
		<argument>
			<name>metainfo</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
		<description></description>
    </argument>
		<argument>
			<name>showUDFs</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
		<description></description>
    </argument>
		<argument>
			<name>label</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	
	<!-- duplicate -->
	<function>
		<name>duplicate</name>
		<class>railo.runtime.functions.struct.Duplicate</class>
		<description>Returns a new duplicated version of the given object, removing all references to the old one</description>
		<argument>
			<name>object</name>
			<alias>variable_name,obj</alias>
			<type>any</type>
			<required>Yes</required>
		<description>Name of a variable to duplicate</description>
    </argument>
		<argument>
			<name>deepcopy</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
		<description>if set to true (default) also the child elements are cloned, otherwise the child elements are still the same as in the original object</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- cfusion_encrypt -->
	<function>
		<name>cfusion_encrypt</name>
		<class>railo.runtime.functions.other.CFusionEncrypt</class>
		<description>Encrypts the given string, alias for function call encrypt(string,key,"cfmx_compat","hex")</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encrypt</description>
    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>yes</required>
		<description>key to use for encryption</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- cfusion_decrypt -->
	<function>
		<name>cfusion_decrypt</name>
		<class>railo.runtime.functions.other.CFusionDecrypt</class>
		<description>Decrypts the given string, alias for function call decrypt(string,key,"cfmx_compat","hex")</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to decrypt</description>
    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>yes</required>
		<description>key to use for decryption</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- ESAPI Functions -->
	<!-- encodeForHTML -->
	<function>
		<name>encodeForHTML</name>
		<class>railo.runtime.functions.owasp.EncodeForHTML</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in HTML to stop Cross Site Scripting attacks.
		this function is deprecated, use function ESAPIEncode('html',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- encodeForHTMLAttribute -->
	<function>
		<name>encodeForHTMLAttribute</name>
		<class>railo.runtime.functions.owasp.EncodeForHTMLAttribute</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in HTML to stop Cross Site Scripting attacks.
		this function is deprecated, use function ESAPIEncode('html_attr',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>	
	
	<!-- encodeForCSS -->
	<function>
		<name>encodeForCSS</name>
		<class>railo.runtime.functions.owasp.EncodeForCSS</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in CSS to stop Cross Site Scripting attacks.
		this function is deprecated, use function ESAPIEncode('css',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- encodeForJavaScript -->
	<function>
		<name>encodeForJavaScript</name>
		<class>railo.runtime.functions.owasp.EncodeForJavaScript</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in JavaScript to stop Cross Site Scripting attacks.
		this function is deprecated, use function ESAPIEncode('javascript',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- encodeForXML -->
	<function>
		<name>encodeForXML</name>
		<class>railo.runtime.functions.owasp.EncodeForXML</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in XML to stop Cross Site Scripting attacks.
		this function is deprecated, use function ESAPIEncode('xml',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- encodeForXMLAttribute -->
	<function>
		<name>encodeForXMLAttribute</name>
		<class>railo.runtime.functions.owasp.EncodeForXMLAttribute</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in XMLAttribute to stop Cross Site Scripting attacks.
		this function is deprecated, use function ESAPIEncode('xml_attr',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- encodeForURL -->	
	<function>
		<name>encodeForURL</name>
		<class>railo.runtime.functions.owasp.EncodeForURL</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in a URL.
		this function is deprecated, use function ESAPIEncode('url',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	
	<!-- encodeForLDAP -->	
	<function>
		<name>encodeForLDAP</name>
		<class>railo.runtime.functions.owasp.EncodeForLDAP</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in LDAP queries.
		this function is deprecated, use function ESAPIEncode('ldap',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- encodeForDN -->	
	<function>
		<name>encodeForDN</name>
		<class>railo.runtime.functions.owasp.EncodeForDN</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe output in LDAP Distinguished Names.
		this function is deprecated, use function ESAPIEncode('dn',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- encodeForXPath -->	
	<function>
		<name>encodeForXPath</name>
		<class>railo.runtime.functions.owasp.EncodeForXPath</class>
		<status>deprecated</status>
		<description>Encodes the given string for safe use in an XPath Query.
		this function is deprecated, use function ESAPIEncode('xpath',...) instead.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>string to encode</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- ESAPIEncode -->	
	<function>
		<name>ESAPIEncode</name>
		<class>railo.runtime.functions.owasp.ESAPIEncode</class>
		<description>Encodes the given string for safe output to stop Cross Site Scripting attacks.</description>
		<argument>
			<name>encodeFor</name>
			<type>string</type>
			<required>Yes</required>
			<description>encode for what, valid values are:
- css: for output inside Cascading Style Sheets (CSS)
- dn: for output in LDAP Distinguished Names
- html: for output inside HTML
- html_attr: for output inside HTML Attributes
- javascript: for output inside Javascript
- ldap: for output in LDAP queries
- url: for output in URL
- vbscript: for output inside vbscript
- xml: for output inside XML
- xml_attr: for output inside XML Attributes
- xpath: for output in XPath
</description>
	    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
			<description>string to encode</description>
	    </argument>
		<return>
			<type>string</type>
		</return>
	</function>


	
	
	
	<!-- encrypt -->
	<function>
		<name>encrypt</name>
		<class>railo.runtime.functions.other.Encrypt</class>
		<description>Encrypts a string. Uses a symmetric key-based algorithm, in
        which the same key is used to encrypt and decrypt a string.
        The security of the encrypted string depends on maintaining
        the secrecy of the key. Uses an XOR-based algorithm that uses
        a pseudo-random 32-bit key, based on a seed passed by the user
        as a function parameter.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String to encrypt.</description>
    	</argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		    <description>
Key or seed used to encrypt the string.
- For the CFMX_COMPAT algorithm, any combination of any number of characters; used as a seed used to generate a 32-bit encryption key.
- For all other algorithms, a key in the format used by the algorithm. For these algorithms, use the GenerateSecretKey function to generate the key.</description>
    	</argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
			<default>cfmx_compat</default>
		    <description>The algorithm to use to decrypt the string. Must be the same as the algorithm used to encrypt the string.
- CFMX_COMPAT(default): the CFML specific algorithm. This algorithm is the least secure option
- AES: the Advanced Encryption Standard specified by the National Institute of Standards and Technology (NIST) FIPS-197
- BLOWFISH: the Blowfish algorithm defined by Bruce Schneier
- DES: the Data Encryption Standard algorithm defined by NIST FIPS-46-3
- DESEDE: the "Triple DES" algorithm defined by NIST FIPS-46-3
You may also specify other algorithm names as well as the feedback mode and padding scheme where applicable (in the format algorithm/mode/padding) as documented in the Java Cryptography Architecture (JCA) Reference Guide.</description>
    	</argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>No</required>
			<default>uu</default>
            <description>The binary encoding used to represent the data as a string. Must be the same as the algorithm used to encrypt the string.
- Base64: the Base64 algorithm, as specified by IETF RFC 2045.
- Hex: the characters A-F and 0-9 represent the hexadecimal byte values.
- UU(default): the UNIX standard UUEncode algorithm .
            </description>
    	</argument>
    	<argument>
            <name>IVorSalt</name>
            <type>any</type>
            <required>no</required>
            <description>Initialization Vector for algorithms with Feedback Mode that is not ECB, or Salt for Password Based Encryption algorithms</description>
        </argument>
        <argument>
            <name>iterations</name>
            <type>number</type>
            <required>no</required>
            <description>number of Iterations for Password Based Encryption algorithms (ignored for all other algorithms). NIST recommends a minimum value of 1000.</description>
        </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- encryptBinary -->
	<function>
		<name>encryptBinary</name>
		<class>railo.runtime.functions.other.EncryptBinary</class>
		<description>Encrypts binary data using a specific algorithm and encoding method.</description>
		<argument>
			<name>bytes</name>
			<type>any</type>
			<required>Yes</required>
		    <description>Binary data to encrypt.</description>
        </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		<description>
Key or seed used to encrypt the string.
- For the CFMX_COMPAT algorithm, any combination of any number of characters; used as a seed used to generate a 32-bit encryption key.
- For all other algorithms, a key in the format used by the algorithm. For these algorithms, use the GenerateSecretKey function to generate the key.</description>
    </argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
			<default>cfmx_compat</default>
		    <description>
The algorithm to use to decrypt the string. Must be the same as the algorithm used to encrypt the string.
- CFMX_COMPAT(default): the CFML specific algorithm. This algorithm is the least secure option
- AES: the Advanced Encryption Standard specified by the National Institute of Standards and Technology (NIST) FIPS-197
- BLOWFISH: the Blowfish algorithm defined by Bruce Schneier
- DES: the Data Encryption Standard algorithm defined by NIST FIPS-46-3
- DESEDE: the "Triple DES" algorithm defined by NIST FIPS-46-3
You may also specify other algorithm names as well as the feedback mode and padding scheme where applicable (in the format algorithm/mode/padding) as documented in the Java Cryptography Architecture (JCA) Reference Guide.</description>
        </argument>
        <argument>
            <name>IVorSalt</name>
            <type>any</type>
            <required>no</required>
            <description>Initialization Vector for algorithms with Feedback Mode that is not ECB, or Salt for Password Based Encryption algorithms</description>
        </argument>
        <argument>
            <name>iterations</name>
            <type>number</type>
            <required>no</required>
            <description>number of Iterations for Password Based Encryption algorithms (ignored for all other algorithms). NIST recommends a minimum value of 1000.</description>
        </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- EntityDelete -->
	<function>
		<name>EntityDelete</name>
		<class>railo.runtime.functions.orm.EntityDelete</class>
		<description>Deletes the record from the database for the specified entity.
EntityDelete(entity)</description>
		<argument>
			<name>name</name>
			<type>object</type>
			<required>Yes</required>
		<description>Name of the entity being deleted.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- EntityLoad -->
	<function>
		<name>entityLoad</name>
		<class>railo.runtime.functions.orm.EntityLoad</class>
		<description>Loads and returns an array of entities of the specified entityname.
EntityLoad (entityname, filtercriteria [,unique] 
EntityLoad(entityname, filtercriteria, sortorder [, options])</description>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
		<description>Name of the entity to be loaded.</description>
    </argument>
		<argument>
			<name>idOrFilter</name>
			<type>any</type>
			<required>no</required>
		<description>The primary key value of the entity that must be loaded or Key-value pair (Struct) of property names and values. 
		If there are more than one key-value pair, then the AND operator is used.If specified, loads and returns an array of entities of the specified entity name that matches the filtercriteria.</description>
    </argument>
		<argument>
			<name>uniqueOrOrder</name>
			<type>any</type>
			<required>no</required>
		<description>when the second argument is a id then this argument defines the boolean "unique" otherwise it defines the order.
		
- unique:
If unique is set to true, then the entity is returned.
If you are sure that only one record exists that matches this filtercriteria, then you can specify unique=true, so that a single entity is returned instead of an array.
If you set unique=true and multiple records are returned, then an exception occurs.

- order:
String used to specify the sortorder of the entities that are returned.If specified, loads and returns an array of entities that satisfy the filtercriteria sorted as specified by the sortorder.
		
		</description>
    </argument>
		<argument>
			<name>options</name>
			<type>any</type>
			<required>no</required>
		<description>
The following options to customize the output (only used when second argument is "id"):
- ignorecase: Ignores the case of sort order when set to true. Use only if you specify the sortorder parameter.
- offset: Specifies the position from which to retrieve the objects.
- maxResults: Specifies the maximum number of objects to be retrieved.
- cacheable: Whether the result has to be cached in the secondary cache. Default is false.
- cachename: Name of the cache in secondary cache.
- timeout: Specifies the timeout value (in seconds) for the query.
		</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- EntityLoadByPK -->
	<function>
		<name>EntityLoadByPK</name>
		<class>railo.runtime.functions.orm.EntityLoadByPK</class>
		<description>Loads and returns an array of objects for given primary key.</description>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
		<description>Name of the entity to be loaded.</description>
    </argument>
		<argument>
			<name>id</name>
			<type>string</type>
			<required>yes</required>
		<description>The primary key value of the entity that must be loaded</description>
    </argument>
		<argument>
			<name>unique</name>
			<type>boolean</type>
			<required>no</required>
		<description>If unique is set to true, then the entity is returned.
If you are sure that only one record exists that matches this filtercriteria, then you can specify unique=true, so that a single entity is returned instead of an array.
If you set unique=true and multiple records are returned, then an exception occurs.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- EntityLoadByExample -->
	<function>
		<name>EntityLoadByExample</name>
		<class>railo.runtime.functions.orm.EntityLoadByExample</class>
		<description>Loads and returns an array of objects that match the sample entity.
entityLoadByExample(sampleEntity,[unique])</description>
		<argument>
			<name>sampleEntity</name>
			<type>object</type>
			<required>yes</required>
		<description>Name of the sample entity that is used to match and filter similar entities to load.</description>
    </argument>
		<argument>
			<name>unique</name>
			<type>boolean</type>
			<required>no</required>
		<description>If unique is set to true, then the entity is returned.
If you are sure that only one record exists that matches this filtercriteria, then you can specify unique=true, so that a single entity is returned instead of an array.
If you set unique=true and multiple records are returned, then an exception occurs.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- EntityMerge -->
	<function>
		<name>EntityMerge</name>
		<class>railo.runtime.functions.orm.EntityMerge</class>
		<description>Attaches given enity to current ORM session</description>
		<argument>
			<name>entity</name>
			<type>any</type>
			<required>yes</required>
		<description>The entity that must be attached to the ORM session.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- EntityNew -->
	<function>
		<name>EntityNew</name>
		<class>railo.runtime.functions.orm.EntityNew</class>
		<description>Creates a new instance of the persistent CFC with the entity name that you provide.</description>
		<argument>
			<name>entityName</name>
			<type>string</type>
			<required>yes</required>
			<description>Name of the instance being created.</description>
    	</argument>
		<argument>
			<name>properties</name>
			<type>struct</type>
			<required>no</required>
			<description>a struct containing data to populate the entity properties.</description>
    	</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- EntityNameArray -->
	<function>
		<name>EntityNameArray</name>
		<class>railo.runtime.functions.orm.EntityNameArray</class>
		<description>return all loaded entities as array</description>
		<return>
			<type>array</type>
		</return>
	</function>
	
	<!-- EntityNameList -->
	<function>
		<name>EntityNameList</name>
		<class>railo.runtime.functions.orm.EntityNameList</class>
		<description>return all loaded entities as string list</description>
		<argument>
			<name>delimiter</name>
			<type>string</type>
			<required>no</required>
		<description>delimter used for the list</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- EntityReload -->
	<function>
		<name>EntityReload</name>
		<class>railo.runtime.functions.orm.EntityReload</class>
		<description>Reloads data for an entity that is already loaded.</description>
		<argument>
			<name>entity</name>
			<type>object</type>
			<required>yes</required>
		<description>name of the entity</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- EntitySave -->
	<function>
		<name>EntitySave</name>
		<class>railo.runtime.functions.orm.EntitySave</class>
		<description>Saves or updates data of the entity and all related entities to the database.
EntitySave(entity, [forceinsert])</description>
		<argument>
			<name>entity</name>
			<type>object</type>
			<required>yes</required>
		<description>Name of the entity that must be saved in the database.</description>
    </argument>
		<argument>
			<name>forceInsert</name>
			<type>boolean</type>
			<required>no</required>
		<description>If true, then Railo always tries to insert the entity as a new record.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- EntityToQuery -->
	<function>
		<name>EntityToQuery</name>
		<class>railo.runtime.functions.orm.EntityToQuery</class>
		<description>Converts the input entity object or the input array of entity objects to a query object.</description>
		<argument>
			<name>entity</name>
			<type>object</type>
			<required>yes</required>
		<description>entity or array of entities</description>
    </argument>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>no</required>
		<description>name of the entities</description>
    </argument>
		<return>
			<type>query</type>
		</return>
	</function>
	
	
	
	
	<!-- evaluate -->
	<function>
		<name>evaluate</name>
		<class>railo.runtime.functions.dynamicEvaluation.Evaluate</class>
		<description>Evaluates one or more string expressions, dynamically, from
        left to right. (The results of an evaluation on the left can
        have meaning in an expression to the right.) Returns the
        result of evaluating the rightmost expression.</description>
		<argument-type>dynamic</argument-type>
		<argument-min>1</argument-min>
		
		<!--
		<argument>
			<name>object_expression</name>
			<type>any</type>
			<required>Yes</required>
		</argument>
		-->
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- evaluateComponent -->
	<function>
		<name>evaluateComponent</name>
		<class>railo.runtime.functions.dynamicEvaluation.EvaluateComponent</class>
		<description>literal representation of a component, used by the serialize method.</description>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>md5</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>thisData</name>
			<type>struct</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>variablesData</name>
			<type>struct</type>
			<required>no</required>
		<description></description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	
	<!-- evaluateJava -->
	<function>
		<name>evaluateJava</name>
		<class>railo.runtime.functions.dynamicEvaluation.EvaluateJava</class>
		<description>literal representation of a serializable Java Object, used by the serialize method.</description>
		<argument>
			<name>stringOrBinary</name>
			<type>any</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	
	
	<!-- exp -->
	<function>
		<name>exp</name>
		<class>railo.runtime.functions.math.Exp</class>
		<description>Calculates the exponent whose base is e that represents number.
        The constant e equals 2.71828182845904, the base of the natural
        logarithm. This function is the inverse of Log, the natural
        logarithm of number.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Exponent to apply to the base e </description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- contractPath -->
	<function>
		<name>ContractPath</name>
		<class>railo.runtime.functions.system.ContractPath</class>
		<description>Does the opposite of the function expandPath(), tries to match given absolute path, to the mappings in the enviroment, when no mapping match, railo creates a relatie path from the current position,</description>
		<argument>
			<name>path</name>
			<alias>absolute_path,absolutePath</alias>
			<type>string</type>
			<required>Yes</required>
			<description>a absolute path</description>
		</argument>
		<argument>
			<name>placeholder</name>
			<type>boolean</type>
			<required>No</required>
			<description>If true (default false), Railo also tries to create a placeholder for the begining of the Tag</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- expandPath -->
	<function>
		<name>expandPath</name>
		<class>railo.runtime.functions.system.ExpandPath</class>
		<description>Creates an absolute, platform-appropriate path that is
        equivalent to the value of relative_path, appended to the base
        path. This function (despite its name) can accept an absolute
        or relative path in the relative_path attribute</description>
		<argument>
			<name>relative_path</name>
			<type>string</type>
			<required>Yes</required>
		<description>Relative or absolute directory reference or filename, within the current directory, (.\\ and ..\\) to convert to an absolute path. Can include forward or backward slashes.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- extract -->
	<function>
		<name>extract</name>
		<class>railo.runtime.functions.system.Extract</class>
		<description>extract data out of a compressed file</description>
		<argument>
			<name>format</name>
			<type>string</type>
			<required>Yes</required>
			<description>
			Format to extract (bzip,gzip,tar,tbz (tar bzip),tgz (tar gzip) and zip)
			</description>
		</argument>
		<argument>
			<name>source</name>
			<type>string</type>
			<required>Yes</required>
			<description>
			source file or directory with zip files to extract
			</description>
		</argument>
		<argument>
			<name>target</name>
			<type>string</type>
			<required>Yes</required>
			<description>
			name of the target directory
			</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
		<!-- FileAppend -->
	<function>
		<name>FileAppend</name>
		<class>railo.runtime.functions.file.FileAppend</class>
		<description>appends the entire content to the specified file. </description>
		<argument>
			<name>file</name>
			<type>string</type>
			<required>Yes</required>
			<description>file path</description>
		</argument>
		<argument>
			<name>data</name>
			<type>any</type>
			<required>Yes</required>
			<description>data to append to the file</description>
		</argument>
		<argument>
			<name>charset</name>
			<type>string</type>
			<required>no</required>
			<description>The character encoding in which the file contents is encoded.</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- FileGetMimeType -->
	<function>
		<name>FileGetMimeType</name>
		<class>railo.runtime.functions.file.FileGetMimeType</class>
		<description>Returns the mimetype of the given file</description>
		<argument>
			<name>file</name>
			<type>any</type>
			<required>Yes</required>
			<description>file path or object</description>
		</argument>
		<argument>
			<name>checkHeader</name>
			<name>checkNotExtension</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
			<description>if set to true, Railo checks the header of the file, when set to false, Railo only checks the extension.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>

	<!-- fileOpen -->
	<function>
		<name>fileOpen</name>
		<class>railo.runtime.functions.file.FileOpen</class>
		<description>Opens an file to read, write, or append.</description>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>Yes</required>
		<description>a file path</description>
    </argument>
		<argument>
			<name>mode</name>
			<type>string</type>
			<required>No</required>
			<default>read</default>
		<description>
Action to perform on the file, including the following:
- read
- readBinary
- write
- append

If you do not specify the mode, Railo opens the file in read mode.</description>
    </argument>
		<argument>
			<name>charset</name>
			<type>string</type>
			<required>No</required>
		<description>The character set of the file.</description>
    </argument>
	<argument>
			<name>seekable</name>
			<type>boolean</type>
			<required>No</required>
		<description>can be used for function fileseek</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- fileRead -->
	<function>
		<name>fileRead</name>
		<class>railo.runtime.functions.file.FileRead</class>
		<description>Reads an on-disk or in-memory text file or a file object created with the FileOpen function.</description>
		<argument>
			<name>file</name>
			<type>any</type>
			<required>Yes</required>
			<description>file path or object</description>
		</argument>
		<argument>
			<name>charsetOrBufferSize</name>
			<type>any</type>
			<required>No</required>
			<description>the charset used or the size of the buffer.</description>
		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- fileReadLine -->
	<function>
		<name>fileReadLine</name>
		<class>railo.runtime.functions.file.FileReadLine</class>
		<description>Reads a line from an file.</description>
		<argument>
			<name>fileObj</name>
			<type>any</type>
			<required>Yes</required>
		<description>The file object</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- FileSeek -->
	<function>
		<name>FileSeek</name>
		<class>railo.runtime.functions.file.FileSeek</class>
		<description>Shifts the file pointer to the given position. The file must be opened with seekable option</description>
		<argument>
			<name>fileObj</name>
			<type>any</type>
			<required>Yes</required>
		<description>The file object.</description>
    </argument>
		<argument>
			<name>pos</name>
			<type>number</type>
			<required>Yes</required>
		<description>The position in a file within a stream where the following read and write operation must occur.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- FileSkipBytes -->
	<function>
		<name>FileSkipBytes</name>
		<class>railo.runtime.functions.file.FileSkipBytes</class>
		<description>Shifts the file pointer by the given number of bytes.</description>
		<argument>
			<name>fileObj</name>
			<type>any</type>
			<required>Yes</required>
		<description>The file object.</description>
    </argument>
		<argument>
			<name>len</name>
			<type>number</type>
			<required>Yes</required>
		<description>The number of bytes that must be skipped before the next file operation.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>

	<!-- FileUpload -->
	<function>
		<name>FileUpload</name>
		<class>railo.runtime.functions.file.FileUpload</class>
		<description>Uploads file to a directory on the server.</description>
		<argument>
			<name>destination</name>
			<type>string</type>
			<required>Yes</required>
			<description>Absolute pathname of directory or file on web server.</description>
    	</argument>
		<argument>
			<name>fileField</name>
			<type>string</type>
			<required>no</required>
			<description>Name of form field used to select the file.</description>
   		</argument>
		<argument>
			<name>accept</name>
			<type>string</type>
			<required>no</required>
			<description>Limits the MIME types to accept. Comma-delimited list. For example, to permit JPG and Microsoft Word file uploads:
accept = "image/jpg, application/msword"
The browser uses file extension to determine file type. </description>
    	</argument>
		<argument>
			<name>nameConflict</name>
			<type>string</type>
			<required>no</required>
			<description>Action to take if filename is the same as that of a file in the directory.</description>
    	</argument>
		<argument>
			<name>mode</name>
			<type>string</type>
			<required>no</required>
			<description>Applies only to Solaris and HP-UX. Permissions. Octal values of UNIX chmod command. Assigned to owner, group, and other, respectively.</description>
    	</argument>
		<argument>
			<name>attributes</name>
			<type>string</type>
			<required>no</required>
			<description>One attribute (Windows) or a comma-delimited list of attributes (other platforms) to set on the file. 
If omitted, the file's attributes are maintained.</description>
    	</argument>
		<argument>
			<name>acl</name>
			<type>object</type>
			<required>no</required>
			<description>only used for S3 Resources</description>
    	</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	
	
	<!-- FileUploadAll -->
	<function>
		<name>FileUploadAll</name>
		<class>railo.runtime.functions.file.FileUploadAll</class>
		<description>Uploads file to a directory on the server.</description>
		<argument>
			<name>destination</name>
			<type>string</type>
			<required>Yes</required>
			<description>Absolute pathname of directory or file on web server.</description>
    	</argument>
		<argument>
			<name>accept</name>
			<type>string</type>
			<required>no</required>
			<description>Limits the MIME types to accept. Comma-delimited list. For example, to permit JPG and Microsoft Word file uploads:
accept = "image/jpg, application/msword"
The browser uses file extension to determine file type. </description>
    	</argument>
		<argument>
			<name>nameConflict</name>
			<type>string</type>
			<required>no</required>
			<description>Action to take if filename is the same as that of a file in the directory.</description>
    	</argument>
		<argument>
			<name>mode</name>
			<type>string</type>
			<required>no</required>
			<description>Applies only to Solaris and HP-UX. Permissions. Octal values of UNIX chmod command. Assigned to owner, group, and other, respectively.</description>
    	</argument>
		<argument>
			<name>attributes</name>
			<type>string</type>
			<required>no</required>
			<description>One attribute (Windows) or a comma-delimited list of attributes (other platforms) to set on the file. 
If omitted, the file's attributes are maintained.</description>
    	</argument>
		<argument>
			<name>acl</name>
			<type>object</type>
			<required>no</required>
			<description>only used for S3 Resources</description>
    	</argument>
		<return>
			<type>array</type>
		</return>
	</function>
	
	<!-- fileClose -->
	<function>
		<name>fileClose</name>
		<class>railo.runtime.functions.file.FileClose</class>
		<description>Closes an file that is open.</description>
		<argument>
			<name>fileObj</name>
			<type>any</type>
			<required>Yes</required>
		<description>The file to close.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- fileCopy -->
	<function>
		<name>fileCopy</name>
		<class>railo.runtime.functions.file.FileCopy</class>
		<description>Copies the specified on-disk or in-memory source file to the specified destination file.</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>path to copy.</description>
    </argument>
		<argument>
			<name>destination</name>
			<type>any</type>
			<required>Yes</required>
		<description>Pathname of the destination file.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>

	<!-- fileMove -->
	<function>
		<name>fileMove</name>
		<class>railo.runtime.functions.file.FileMove</class>
		<description>Moves file from source to destination</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>file to move.</description>
    </argument>
		<argument>
			<name>destination</name>
			<type>any</type>
			<required>Yes</required>
			<description>Pathname of the destination directory or file. If not an absolute path, it is relative to the source directory.</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- FileDelete -->
	<function>
		<name>FileDelete</name>
		<class>railo.runtime.functions.file.FileDelete</class>
		<description>Deletes the specified file on the server.</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>file to delete.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- FileExists -->
	<function>
		<name>FileExists</name>
		<class>railo.runtime.functions.file.FileExists</class>
		<description>Determines whether a file exists</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>a file path.</description>
    </argument>
		<argument>
			<name>allowRealPath</name>
			<type>object</type>
			<required>no</required>
			<description>boolean that defines if relative paths are interpreted or not</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	
	<!-- FileIsEOF -->
	<function>
		<name>FileIsEOF</name>
		<class>railo.runtime.functions.file.FileIsEOF</class>
		<description>Determines whether Railo has reached the end of the file while reading it.</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>The file object.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- FileReadBinary -->
	<function>
		<name>FileReadBinary</name>
		<class>railo.runtime.functions.file.FileReadBinary</class>
		<description>Reads an on-disk or in-memory binary file (such as an executable or image file) on the server, into a binary object</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>file path</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- FileSetAccessMode -->
	<function>
		<name>FileSetAccessMode</name>
		<class>railo.runtime.functions.file.FileSetAccessMode</class>
		<description>Sets the attributes of an on-disk file on UNIX or Linux. This function does not work with in-memory files.</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>file path</description>
    </argument>
		<argument>
			<name>mode</name>
			<type>string</type>
			<required>Yes</required>
		<description>
A three-digit value, in which each digit specifies the file access for individuals and groups:
- The first digit represents the owner.
- The second digit represents a group.
- The third digit represents anyone.

Each digit of this code sets permissions for the appropriate individual or group:
- 4 specifies read permission.
- 2 specifies write permission.
- 1 specifies execute permission.

You use the sums of these numbers to indicate combinations of the permissions:
- 3 specifies write and execute permission.
- 5 specifies read and execute permission.
- 6 indicates read and write permission.
- 7 indicates read, write, and execute permission.

For example, 400 specifies that only the owner can read the file; 004 specifies that anyone can read the file.
</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- FileSetAttribute -->
	<function>
		<name>FileSetAttribute</name>
		<class>railo.runtime.functions.file.FileSetAttribute</class>
		<description>For the given path, sets the file attributes.</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>file path</description>
    </argument>
		<argument>
			<name>attribute</name>
			<type>string</type>
			<required>Yes</required>
		<description>One of the following:
- readOnly
- hidden
- normal
Set the attribute to normal to make a file not read-only and not hidden.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- FileSetLastModified -->
	<function>
		<name>FileSetLastModified</name>
		<class>railo.runtime.functions.file.FileSetLastModified</class>
		<description>For the given file, set the last modification date</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>file path</description>
    </argument>
		<argument>
			<name>date</name>
			<type>date</type>
			<required>Yes</required>
		<description>last modified date</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- FileWrite -->
	<function>
		<name>FileWrite</name>
		<class>railo.runtime.functions.file.FileWrite</class>
		<description>If you specify a file path, writes the entire content to the specified file. If you specify a file object, writes text or binary data to the file object.</description>
		<argument>
			<name>file</name>
			<type>any</type>
			<required>Yes</required>
			<description>file path or object</description>
		</argument>
		<argument>
			<name>data</name>
			<type>any</type>
			<required>Yes</required>
			<description>data o write to the file</description>
		</argument>
		<argument>
			<name>charset</name>
			<type>string</type>
			<required>no</required>
			<description>The character encoding in which the file contents is encoded.</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- FileWriteLine -->
	<function>
		<name>FileWriteLine</name>
		<class>railo.runtime.functions.file.FileWriteLine</class>
		<description>Opens up the file (or uses the existing file object) and appends the given line of text</description>
		<argument>
			<name>file</name>
			<type>any</type>
			<required>Yes</required>
			<description>the file object to which to write the line.</description>
		</argument>
		<argument>
			<name>data</name>
			<type>string</type>
			<required>Yes</required>
			<description>data to add to the file object.</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- find -->
	<function>
		<name>find</name>
		<class>railo.runtime.functions.string.Find</class>
		<description>Finds the first occurrence of a substring in a string, from a
        specified start position. The search is case-sensitive.</description>
		<argument>
			<name>substring</name>
			<type>string</type>
			<required>Yes</required>
		<description>String for which to search.</description>
    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
			<description>String in which to search.</description>
		</argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>No</required>
			<default>1</default>
		<description>Start position of search.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- findNoCase -->
	<function>
		<name>findNoCase</name>
		<class>railo.runtime.functions.string.FindNoCase</class>
		<description>Finds the first occurrence of a substring in a string, from a
        specified start position. If substring is not in string,
        returns zero. The search is case-insensitive.</description>
		<argument>
			<name>substring</name>
			<type>string</type>
			<required>Yes</required>
		<description>String for which to search.</description>
    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which to search.</description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>No</required>
			<default>1</default>
		<description>Start position of search.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- findOneOf -->
	<function>
		<name>findOneOf</name>
		<class>railo.runtime.functions.string.FindOneOf</class>
		<description>Finds the first occurrence of any one of a set of characters
        in a string, from a specified start position. The search is
        case-sensitive.</description>
		<argument>
			<name>set</name>
			<type>string</type>
			<required>Yes</required>
		<description>String that contains one or more characters to search for.</description>
    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which to search.</description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>No</required>
			<default>1</default>
		<description>Start position of search.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- firstDayOfMonth -->
	<function>
		<name>firstDayOfMonth</name>
		<class>railo.runtime.functions.dateTime.FirstDayOfMonth</class>
		<member-name>firstDayOfMonth</member-name>
		<description>Determines the ordinal (day number, in the year) of the first
        day of the month in which a given date falls.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>Date object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- fix -->
	<function>
		<name>fix</name>
		<class>railo.runtime.functions.math.Fix</class>
		<description>Converts a real number to an integer.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>A number</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- formatBaseN -->
	<function>
		<name>formatBaseN</name>
		<class>railo.runtime.functions.displayFormatting.FormatBaseN</class>
		<description>String Converts number to a string, in the base specified by
        radix. For example: #FormatBaseN(1024,16)#</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Number to convert</description>
    </argument>
		<argument>
			<name>radix</name>
			<type>number</type>
			<required>Yes</required>
		<description>Base of the result</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GenerateSecretKey -->
	<function>
		<name>GenerateSecretKey</name>
		<class>railo.runtime.functions.conversion.GenerateSecretKey</class>
		<description>Gets a secure key value for use in the encrypt function.</description>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>Yes</required>
			<description>The encryption algorithm for which to generate the key.</description>
    	</argument>
		<argument>
			<name>keySize</name>
			<type>number</type>
			<required>No</required>
			<description>Number of bits requested in the key for the specified algorithm.</description>
    	</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getAuthUser -->
	<function>
		<name>getAuthUser</name>
		<class>railo.runtime.functions.other.GetAuthUser</class>
		<description>Gets the name of an authenticated user.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GetApplicationSettings -->
	<function>
		<name>GetApplicationSettings</name>
		<class>railo.runtime.functions.system.GetApplicationSettings</class>
		<description>return all data from this scope, when using a application.cfc or all setting defined in tag cfapplication</description>
		<argument>
			<name>suppressFunction</name>
			<type>boolean</type>
			<required>no</required>
			<description>if true only data members from this scope are returned (no functions), default is false</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- GetApplicationMetadata -->
	<function>
		<name>GetApplicationMetadata</name>
		<class>railo.runtime.functions.system.GetApplicationMetadata</class>
		<description>return all data from this scope, when using a application.cfc or all setting defined in tag cfapplication</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getBaseTagData -->
	<function>
		<name>getBaseTagData</name>
		<class>railo.runtime.functions.other.GetBaseTagData</class>
		<description>Used within a custom tag. Finds calling (ancestor) tag by
        name and accesses its data.</description>
		<argument>
			<name>tagname</name>
			<type>string</type>
			<required>Yes</required>
		<description>Ancestor tag name for which to return data</description>
    </argument>
		<argument>
			<name>instancenumber</name>
			<type>number</type>
			<required>No</required>
			<default>1</default>
		<description>Number of ancestor levels to jump before returning data. The default value is 1 (closest ancestor).</description>
    </argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getBaseTagList -->
	<function>
		<name>getBaseTagList</name>
		<class>railo.runtime.functions.other.GetBaseTagList</class>
		<description>Gets ancestor tag names, starting with the parent tag.</description>
		<argument>
			<name>delimiter</name>
			<type>string</type>
			<required>No</required>
			<default>,</default>
		<description>delimiter used for the list</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getBaseTemplatePath -->
	<function>
		<name>getBaseTemplatePath</name>
		<class>railo.runtime.functions.system.GetBaseTemplatePath</class>
		<description>Gets the absolute path of an application's base page.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getClassPath -->
	<function>
		<name>getClassPath</name>
		<class>railo.runtime.functions.system.GetClassPath</class>
		<description>returns a array containing the Java classpath of the current enviroment.</description>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- GetComponentMetaData -->
	<function>
		<name>GetComponentMetaData</name>
		<class>railo.runtime.functions.other.GetComponentMetaData</class>
		<description>Gets metadata (such as the functions and implemented interfaces of a component) for a CFC or Interface. </description>
		<argument>
			<name>pathOrCFC</name>
			<type>object</type>
			<required>yes</required>
			<description>path to a component or component itself</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- GetContextRoot -->
	<function>
		<name>getContextRoot</name>
		<class>railo.runtime.functions.system.GetContextRoot</class>
		<description>Returns path to the J2EE server context root for the current request.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GetCPUUsage -->
	<function>
		<name>GetCPUUsage</name>
		<class>railo.runtime.functions.system.GetCPUUsage</class>
		<description>returns the CPU usage for a defined time range (default: 1000ms).</description>
		<argument>
			<name>time</name>
			<alias>interval</alias>
			<type>number</type>
			<required>no</required>
			<default>1000</default>
			<description>time range for a certain range.</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- getClientVariablesList -->
	<function>
		<name>getClientVariablesList</name>
		<class>railo.runtime.functions.other.GetClientVariablesList</class>
		<description>Finds the client variables to which a page has write access.
        Comma-delimited list of non-read-only client variables</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getCurrentTemplatePath -->
	<function>
		<name>getCurrentTemplatePath</name>
		<class>railo.runtime.functions.system.GetCurrentTemplatePath</class>
		<description>Gets the absolute path of the page that calls this function.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getCurrentContext -->
	<function>
		<name>getCurrentContext</name>
		<class>railo.runtime.functions.system.GetCurrentContext</class>
		<status>deprecated</status>
		<description>this function is deprecated, use function CallStackGet instead.</description>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- CallStackDump -->
	<function>
		<name>CallStackDump</name>
		<class>railo.runtime.functions.system.CallStackDump</class>
		<description>dump the context (stacktrace) of the current position.</description>
		<argument>
			<name>output</name>
			<type>string</type>
			<required>no</required>
			<default>browser</default>
			<description>Where to send the results of cfdump. The following values are valid:
- browser: outputs in browser window
- console: outputs on (System.out stream; see also setting in railo-server.xml {system-out})
- filename: outputs in a file</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- CallStackGet -->
	<function>
		<name>CallStackGet</name>
		<class>railo.runtime.functions.system.CallStackGet</class>
		<description>return the context (stacktrace) of the current position.</description>
		<return>
			<type>array</type>
		</return>
	</function>
	
	<!-- Canonicalize -->
	<function>
		<name>Canonicalize</name>
		<class>railo.runtime.functions.owasp.Canonicalize</class>
		<description>Canonicalization is simply the operation of reducing a possibly encoded string down to its simplest form. 
		This is important, because attackers frequently use encoding to change their input in a way that will bypass validation filters, 
		but still be interpreted properly by the target of the attack. 
		Note that data encoded more than once is not something that a normal user would generate and should be regarded as an attack.</description>
		<argument>
			<name>input</name>
			<alias>inputString</alias>
			<type>string</type>
			<required>Yes</required>
			<description>the input string to encode</description>
	    </argument>
		<argument>
			<name>restrictMultiple</name>
			<alias>multiple</alias>
			<type>boolean</type>
			<required>Yes</required>
			<description>true if checking for multiple encoding is desired, false otherwise.</description>
	    </argument>
		<argument>
			<name>restrictMixed</name>
			<alias>mixed</alias>
			<type>boolean</type>
			<required>Yes</required>
			<description>true if checking for mixed encoding is desired, false otherwise</description>
	    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	
	<!-- GetFunctionCalledName -->
	<function>
		<name>GetFunctionCalledName</name>
		<class>railo.runtime.functions.system.GetFunctionCalledName</class>
		<description></description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GetFreeSpace -->
	<function>
		<name>GetFreeSpace</name>
		<class>railo.runtime.functions.file.GetFreeSpace</class>
		<description>
		Returns the number of unallocated bytes in the partition named by this abstract path name.
The returned number of unallocated bytes is a hint, but not a guarantee, that it is possible to use most or any of these bytes. The number of unallocated bytes is most likely to be accurate immediately after this call. It is likely to be made inaccurate by any external I/O operations including those made on the system outside of this virtual machine. This method makes no guarantee that write operations to this file system will succeed.
</description>
		<argument>
			<name>filepath</name>
			<type>object</type>
			<required>Yes</required>
			<description>file path</description>
	    </argument>
		<return>
			<type>numeric</type>
		</return>
	</function>
	
	
	
	<!-- GetTotalSpace -->
	<function>
		<name>GetTotalSpace</name>
		<class>railo.runtime.functions.file.GetTotalSpace</class>
		<description>Returns the size of the partition named by this abstract pathname.</description>
		<argument>
			<name>filepath</name>
			<type>object</type>
			<required>Yes</required>
			<description>file path</description>
	    </argument>
		<return>
			<type>numeric</type>
		</return>
	</function>
	
	<!-- getDirectoryFromPath -->
	<function>
		<name>getDirectoryFromPath</name>
		<class>railo.runtime.functions.system.GetDirectoryFromPath</class>
		<description>Extracts a directory from an absolute path.
        Returns the absolute path, without the filename.</description>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>Yes</required>
		<description>file path</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getEncoding -->
	<function>
		<name>getEncoding</name>
		<class>railo.runtime.functions.international.GetEncoding</class>
		<description>Returns the encoding (character set) of the Form or URL scope.</description>
		<argument>
			<name>scope</name>
			<type>string</type>
			<required>Yes</required>
		<description>one of the following
- form
- url</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getException -->
	<function>
		<name>getException</name>
		<class>railo.runtime.functions.system.GetException</class>
		<status>unimplemeted</status>
		<description>Used with the cftry and cfcatch tags. Retrieves a Java exception object from a Java object. </description>
		<argument>
			<name>object</name>
			<type>any</type>
			<required>Yes</required>
		<description>A Java object.</description>
    </argument>
		<return>
			<type>throwable</type>
		</return>
	</function>
	<!-- getFileFromPath -->
	<function>
		<name>getFileFromPath</name>
		<class>railo.runtime.functions.file.GetFileFromPath</class>
		<description>Extracts a filename from an absolute path.</description>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>Yes</required>
		<description>file path</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GetFileInfo -->
	<function>
		<name>GetFileInfo</name>
		<class>railo.runtime.functions.file.GetFileInfo</class>
		<description>Retrieves information about file.</description>
		<argument>
			<name>file</name>
			<type>any</type>
			<required>Yes</required>
		<description>file path</description>
    </argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getFunctionData (only railo)-->
	<function>
		<name>getFunctionData</name>
		<class>railo.runtime.functions.other.GetFunctionData</class>
		<description>returns information to a single function</description>
		<argument>
			<name>functionName</name>
			<type>string</type>
			<required>Yes</required>
			<description>name of the function getting information for</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- GetLocaleDisplayName -->
	<function>
		<name>getLocaleDisplayName</name>
		<class>railo.runtime.functions.displayFormatting.GetLocaleDisplayName</class>
		<description>Gets a locale value and displays the name in a manner
        that is appropriate to a specific locale. By default,
        gets the current locale in the current locale's language.</description>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<argument>
			<name>dspLocale</name>
			<type>string</type>
			<required>No</required>
		<description>The locale in which to return the name. The default is the locale defined for the request.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- GetLocalHostIP -->
	<function>
		<name>GetLocalHostIP</name>
		<class>railo.runtime.functions.system.GetLocalHostIP</class>
		<description>Returns the localhost IP address, which is 127.0.0.1 for IPv4 and ::1 for IPv6 addresses.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- GetVFSMetaData -->
	<function>
		<name>GetVFSMetaData</name>
		<class>railo.runtime.functions.file.GetVFSMetaData</class>
		<description>Returns metadata for VFS</description>
		<argument>
			<name>scheme</name>
			<type>string</type>
			<required>yes</required>
			<description>the scheme of the virtual filesystem (ram,file,s3,http,https,zip,tar ...).</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	
	
	
	<!-- GetPrinterInfo -->
	<function>
		<name>GetPrinterInfo</name>
		<class>railo.runtime.functions.system.GetPrinterInfo</class>
		<status>unimplemeted</status>
		<description>Determines which print attributes are supported by a selected printer.</description>
		<argument>
			<name>printer</name>
			<type>string</type>
			<required>Yes</required>
			<description>The name of a printer</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getRailoId -->
	<function>
		<name>GetRailoId</name>
		<class>railo.runtime.functions.other.GetRailoId</class>
		<description>return ids of the current context</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- GetReadableImageFormats -->
	<function>
		<name>GetReadableImageFormats</name>
		<class>railo.runtime.functions.image.GetReadableImageFormats</class>
		<description>Returns a list of image formats that Railo can read on the operating system where Railo is deployed.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GetUserRoles -->
	<function>
		<name>GetUserRoles</name>
		<class>railo.runtime.functions.system.GetUserRoles</class>
		<description>Retrieves the list of roles for the current user.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GetWriteableImageFormats -->
	<function>
		<name>GetWriteableImageFormats</name>
		<class>railo.runtime.functions.image.GetWriteableImageFormats</class>
		<description>Returns a list of image formats that Railo can write on the operating system where Railo is deployed.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getTagData-->
	<function>
		<name>getTagData</name>
		<class>railo.runtime.functions.other.GetTagData</class>
		<description>return information to a Tag as Struct</description>
		<argument>
			<name>nameSpaceWithSeperator</name>
			<type>string</type>
			<required>Yes</required>
			<description>The namesapce of the tag with the seperator Example: cf, rc: aso.</description>
		</argument>
		<argument>
			<name>tagName</name>
			<type>string</type>
			<required>Yes</required>
			<description>The tag name without namespace Example: login,mail aso.</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getFunctionList -->
	<function>
		<name>getFunctionList</name>
		<class>railo.runtime.functions.other.GetFunctionList</class>
		<description>Returns all the currently registered functions</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- GetGatewayHelper -->
	<function>
		<name>getGatewayHelper</name>
		<class>railo.runtime.functions.gateway.GetGatewayHelper</class>
		<status>unimplemeted</status>
		<description>Gets a Java GatewayHelper object that provides methods and properties for use with a event gateways.</description>
		<argument>
			<name>gatewayID</name>
			<type>string</type>
			<required>Yes</required>
		<description>Identifier of the gateway that provides the GatewayHelper object.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- getTagList (only railo) -->
	<function>
		<name>getTagList</name>
		<class>railo.runtime.functions.other.GetTagList</class>
		<description>
		returns information to a tag as struct
		</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getHTTPRequestData -->
	<function>
		<name>getHTTPRequestData</name>
		<class>railo.runtime.functions.other.GetHTTPRequestData</class>
		<description>Makes HTTP request headers and body available to CFML pages.
        Useful for capturing SOAP request data, which can be delivered
        in an HTTP header.</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getHttpTimeString -->
	<function>
		<name>getHttpTimeString</name>
		<class>railo.runtime.functions.dateTime.GetHttpTimeString</class>
		<description>Gets the current time, in the Universal Time code (UTC).</description>
		<argument>
			<name>date_time_object</name>
			<type>datetime</type>
			<required>No</required>
		<description>A date-time value</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getK2ServerDocCount (Deprecated) -->
	<function>
		<name>getK2ServerDocCount</name>
		<class>railo.runtime.functions.other.GetK2ServerDocCount</class>
		<status>deprecated</status>
		<description>This function is deprecated. </description>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- getK2ServerDocCountLimit (Deprecated) -->
	<function>
		<name>getK2ServerDocCountLimit</name>
		<class>railo.runtime.functions.other.GetK2ServerDocCountLimit</class>
		<status>deprecated</status>
		<description>This function is deprecated.</description>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- getLocale -->
	<function>
		<name>getLocale</name>
		<class>railo.runtime.functions.international.GetLocale</class>
		<description>Gets the current geographic/language locale value.
        To set the default display format of date, time, number, and
        currency values in a CFML application session, you use
        the SetLocale function.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GetMemoryUsage -->
	<function>
		<name>GetMemoryUsage</name>
		<class>railo.runtime.functions.system.GetMemoryUsage</class>
		<description>Returns detailed information to the memory usage of the container.</description>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>No</required>
			<description>type of the memory informtion, valid values are:
- heap
- non_heap

if this attribute is not provided all types are returned.</description>
		</argument>
		<return>
			<type>query</type>
		</return>
	</function>
	<!-- getMetadata -->
	<function>
		<name>getMetadata</name>
		<class>railo.runtime.functions.other.GetMetaData</class>
		<description>Returns back meta information depending on the object passed in</description>
		<argument>
			<name>object</name>
			<type>any</type>
			<required>No</required>
			<description>A component, user-defined function, query object, XML, ... . Within a CFC, the parameter can also specify the This scope</description>
		</argument>
		<argument>
			<name>source</name>
			<type>boolean</type>
			<required>No</required>
			<description>return information of the source of the object</description>
		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- getMetricData -->
	<function>
		<name>getMetricData</name>
		<class>railo.runtime.functions.system.GetMetricData</class>
		<status>deprecated</status>
		<description>Gets server performance metrics.</description>
		<argument>
			<name>monitor_name</name>
			<type>string</type>
			<required>Yes</required>
		<description>name of the monitor</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- getNumericDate -->
	<function>
		<name>getNumericDate</name>
		<class>railo.runtime.functions.other.GetNumericDate</class>
		<description>Returns a real number whose integer part represents the number of days since the EPOCH and whose fractional part represents the time value expressed in hours then divided by 24</description>
		<argument>
			<name>arg1</name>
			<type>any</type>
			<required>Yes</required>
		<description>datetime object</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- createPageContext
	<function>
		<name>createPageContext</name>
		<class>railo.runtime.functions.other.CreatePageContext</class>
		<description>Creates a PageContext (http://www.getrailo.org/javadoc/railo/runtime/PageContext.html) object that provides access to page attributes and configuration, request and response objects.</description>
		<argument>
			<name>serverName</name>
			<type>string</type>
			<required>Yes</required>
			<description>name of the server, for example "localhost" or "www.getrailo.com"</description>
    	</argument>
		<argument>
			<name>scriptName</name>
			<type>string</type>
			<required>Yes</required>
			<description>script name, for example "/test/test.cfm"</description>
    	</argument>
		<argument>
			<name>queryString</name>
			<type>string</type>
			<required>no</required>
			<description>query string, for example "?test=1"</description>
    	</argument>
		<argument>
			<name>cookies</name>
			<type>struct</type>
			<required>no</required>
			<description>cookies values for the context</description>
    	</argument>
		<argument>
			<name>headers</name>
			<type>struct</type>
			<required>no</required>
			<description>header values for the context</description>
    	</argument>
		<argument>
			<name>parameters</name>
			<type>struct</type>
			<required>no</required>
			<description>parameters values for the context</description>
    	</argument>
		<argument>
			<name>attributes</name>
			<type>struct</type>
			<required>no</required>
			<description>attributes values for the context</description>
    	</argument>	
		<return>
			<type>any</type>
		</return>
	</function> -->
	
	<!-- getPageContext -->
	<function>
		<name>getPageContext</name>
		<class>railo.runtime.functions.other.GetPageContext</class>
		<description>Gets the current PageContext (http://www.getrailo.org/javadoc/railo/runtime/PageContext.html) object that provides access to page attributes and configuration, request and response objects.</description>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- getProfileSections -->
	<function>
		<name>getProfileSections</name>
		<class>railo.runtime.functions.other.GetProfileSections</class>
		<description>Gets all the sections of an initialization file.
        An initialization file, as a struct whose format is as follows:
            - Each initialization file section name is a key in the
              struct
            - Each list of entries in a section of an initialization
              file is a value in the struct</description>
		<argument>
			<name>iniFile</name>
			<type>string</type>
			<required>Yes</required>
			<description>path to a ini file.</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getProfileString -->
	<function>
		<name>getProfileString</name>
		<class>railo.runtime.functions.system.GetProfileString</class>
		<description>Gets an initialization file entry.
        An initialization file assigns values to configuration
        variables, also known as entries, that are set when the system
        boots, the operating system comes up, or an application starts.
        Returns the entry - if no value, returns an empty string.</description>
		<argument>
			<name>iniPath</name>
			<type>string</type>
			<required>Yes</required>
		<description>Absolute path (drive, directory, filename, extension) of initialization file; for example, C:\\boot.ini</description>
    </argument>
		<argument>
			<name>section</name>
			<type>string</type>
			<required>Yes</required>
		<description>Section of initialization file from which to extract information</description>
    </argument>
		<argument>
			<name>entry</name>
			<type>string</type>
			<required>Yes</required>
		<description>Name of value to get</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- GetSOAPRequest -->
	<function>
		<name>getSOAPRequest</name>
		<class>railo.runtime.functions.xml.GetSOAPRequest</class>
		<status>implemeted</status>
		<description>Returns an XML object that contains the entire SOAP
        request. Usually called from within a web service CFC.</description>
		<argument>
			<name>webservice</name>
			<type>any</type>
			<required>no</required>
		<description>A webservice object as returned from the cfobject tag or the CreateObject function.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- GetSOAPRequestHeader -->
	<function>
		<name>getSOAPRequestHeader</name>
		<class>railo.runtime.functions.xml.GetSOAPRequestHeader</class>
		<description>Obtains a SOAP request header. Call only from within
        a CFC web service function that is processing a request
        as a SOAP web service.</description>
		<argument>
			<name>namespace</name>
			<type>string</type>
			<required>Yes</required>
		<description>A String that is the namespace for the header.</description>
    </argument>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
		<description>A String that is the name of the header</description>
    </argument>
		<argument>
			<name>asXML</name>
			<type>boolean</type>
			<required>No</required>
		<description>If True, the header is returned as a XML object;
        if false (default), the header is returned as a Java object.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	
	<!-- AddSOAPRequestHeader -->
	<function>
		<name>AddSOAPRequestHeader</name>
		<class>railo.runtime.functions.xml.AddSOAPRequestHeader</class>
		<status>implemeted</status>
		<description>Adds a SOAP header to a web service request before making the request.</description>
		<argument>
			<name>webservice</name>
			<type>object</type>
			<required>Yes</required>
			<description>A web service object as returned from the cfobject tag or the CreateObject function.</description>
	    </argument>
		<argument>
			<name>namespace</name>
			<type>string</type>
			<required>Yes</required>
			<description>A String that is the namespace for the header.</description>
	    </argument>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
			<description>A String that is the name of the header</description>
    	</argument>
		<argument>
			<name>value</name>
			<type>object</type>
			<required>Yes</required>
			<description>the value for the SOAP header; this can be a CFML XML value.</description>
    	</argument>
		<argument>
			<name>mustUnderstand</name>
			<type>boolean</type>
			<required>No</required>
			<description>Sets the SOAP mustunderstand value for this header.</description>
    	</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>

	<!-- addSOAPResponseHeader -->
	<function>
		<name>addSOAPResponseHeader</name>
		<class>railo.runtime.functions.xml.AddSOAPResponseHeader</class>
		<status>implemeted</status>
		<description>Adds a SOAP response header to a web service response. Call only from within a CFC web service function that is processing a request as a SOAP web service.</description>
		<argument>
			<name>namespace</name>
			<type>string</type>
			<required>Yes</required>
			<description>A String that is the namespace for the header.</description>
	    </argument>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
			<description>A String that is the name of the header</description>
    	</argument>
		<argument>
			<name>value</name>
			<type>object</type>
			<required>Yes</required>
			<description>the value for the SOAP header; this can be a XML value.</description>
    	</argument>
		<argument>
			<name>mustUnderstand</name>
			<type>boolean</type>
			<required>No</required>
			<description>Sets the SOAP mustunderstand value for this header.</description>
    	</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
		
	<!-- GetSOAPResponse -->
	<function>
		<name>getSOAPResponse</name>
		<class>railo.runtime.functions.xml.GetSOAPResponse</class>
		<description>Returns an XML object that contains the entire
        SOAP response after invoking a web service.</description>
		<argument>
			<name>webservice</name>
			<type>any</type>
			<required>Yes</required>
			<description>A webservice object as returned from the cfobject tag or the CreateObject function.</description>
    	</argument>
		<return>
			<type>any</type>
		</return>
	</function>

	<!-- GetSOAPResponseHeader -->
	<function>
		<name>getSOAPResponseHeader</name>
		<class>railo.runtime.functions.xml.GetSOAPResponseHeader</class>
		<description>Returns a SOAP response header. Call this function
        from within code that is invoking a web service after
        making a web service request.</description>
		<argument>
			<name>webservice</name>
			<type>any</type>
			<required>Yes</required>
		<description>A webservice object as returned from the cfobject tag or the CreateObject function.</description>
    </argument>
		<argument>
			<name>namespace</name>
			<type>string</type>
			<required>Yes</required>
		<description>A String that is the namespace for the header.</description>
    </argument>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
		<description>A String that is the name of the SOAP header.</description>
    </argument>
		<argument>
			<name>asXML</name>
			<type>boolean</type>
			<required>No</required>
		<description>If True, the header is returned as a XML object;
            if false (default), the header is returned as a Java object.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- getTempDirectory -->
	<function>
		<name>getTempDirectory</name>
		<class>railo.runtime.functions.system.GetTempDirectory</class>
		<description>Returns the full path to the currently assigned temporary directory</description>
		<return>
			<type>string</type>
		</return>
	</function>

	<!-- getSystemFreeMemory -->
	<function>
		<name>GetSystemFreeMemory</name>
		<class>railo.runtime.functions.system.GetSystemFreeMemory</class>
		<description>The amount of memory that is currently free, in bytes.</description>
		<return>
			<type>number</type>
		</return>
	</function>

	<!-- getSystemTotalMemory -->
	<function>
		<name>GetSystemTotalMemory</name>
		<class>railo.runtime.functions.system.GetSystemTotalMemory</class>
		<description>The amount of memory that is available to the operating system, in bytes.</description>
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- getTempFile -->
	<function>
		<name>getTempFile</name>
		<class>railo.runtime.functions.system.GetTempFile</class>
		<description>Creates a temporary file in a directory whose name starts with
        (at most) the first three characters of prefix.</description>
		<argument>
			<name>dir</name>
			<type>string</type>
			<required>Yes</required>
		<description>Directory name</description>
    </argument>
		<argument>
			<name>prefix</name>
			<type>string</type>
			<required>Yes</required>
		<description>Prefix of a temporary file to create in the dir directory</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getTemplatePath -->
	<function>
		<name>getTemplatePath</name>
		<class>railo.runtime.functions.system.GetTemplatePath</class>
		<description>This function is deprecated.
        
        Use the GetBaseTemplatePath function instead.</description>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- getTickCount -->
	<function>
		<name>getTickCount</name>
		<class>railo.runtime.functions.other.GetTickCount</class>
		<tte-class>railo.transformer.cfml.evaluator.func.impl.GetTickCount</tte-class>
		<description>Returns the number of milliseconds since the start of the application server</description>
		<argument>
			<name>unit</name>
			<type>string</type>
			<required>No</required>
			<description>base unit for the function, valid values are:
- nano: nano seconds
- milli (default): milli seconds
- second: seconds</description>
    	</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- getTimeZoneInfo -->
	<function>
		<name>getTimeZoneInfo</name>
		<class>railo.runtime.functions.international.GetTimeZoneInfo</class>
		<description>Returns back a structure regarding the current timezone; utctotaloffset, utchouroffset, utcminuteoffset, isdston</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- getTimeZone -->
	<function>
		<name>getTimeZone</name>
		<class>railo.runtime.functions.dateTime.GetTimeZone</class>
		<description>returns the timezone defined for the current request.</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- setTimeZone -->
	<function>
		<name>setTimeZone</name>
		<class>railo.runtime.functions.dateTime.SetTimeZone</class>
		<description>change the timezone defintion for the current request.</description>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>Yes</required>
		<description>the timezone to be set.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getToken -->
	<function>
		<name>getToken</name>
		<class>railo.runtime.functions.string.GetToken</class>
		<description>Determines whether a token of the list in the delimiters
        parameter is present in a string.
        Returns the token found at position index of the string, as a
        string. If index is greater than the number of tokens in the
        string, returns an empty string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which to search. </description>
    </argument>
		<argument>
			<name>index</name>
			<type>number</type>
			<required>Yes</required>
		<description>Positive integer. The position of a token.</description>
    </argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
		<description>A string or a variable that contains one. A delimited list of delimiters. Elements may consist of multiple characters.
Default list of delimiters: space character, tab character, newline character; or their codes: "chr(32)", "chr(9)", chr(10).
Default list delimiter: comma character.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- getVariable -->
	<function>
		<name>getVariable</name>
		<class>railo.runtime.functions.dynamicEvaluation.GetVariable</class>
		<description>Gets the variable referenced by the given parameter; may be fully qualified</description>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
		<description>name of the variable to return</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- hash -->
	<function>
		<name>hash</name>
		<class>railo.runtime.functions.string.Hash</class>
		<description>Converts a variable-length string to a 32-byte, hexadecimal
        string, using the MD5 algorithm. (It is not possible to convert
        the hash result back to the source string.)
        32-byte, hexadecimal string</description>
		<argument>
			<name>input</name>
			<type>any</type>
			<required>Yes</required>
		<description>String to hash.</description>
    </argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
		<description>The algorithm to use to hash the string. Supported are the following algorithms:
- QUICK: generating a fast hash string, that provides no security. this algorithm is good when you simply need to shorten a string for an id, for example
- CFMX_COMPAT: generating a hash string using classic CFML algorithm.
- MD5: (default) Generates a 32-character, hexadecimal string, using the MD5 algorithm.
- SHA: Generates a 28-character string using the Secure Hash Standard SHA-1 algorithm specified by Nation Institute of Standards and Technology (NIST) FIPS-180-2.
- SHA-256: Generates a 44-character string using the SHA-256 algorithm specified by FIPS-180-2.
- SHA-384: Generates a 64-character string using the SHA-384 algorithm specified by FIPS-180-2.
- SHA-512: Generates an 88-character string using the SHA-1 algorithm specified by FIPS-180-2.</description>
    </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>No</required>
			<description>A string specifying the encoding to use when converting
            the string to byte data used by the hash algorithm.</description>
		</argument>
		<argument>
			<name>numIterations</name>
			<type>number</type>
			<required>No</required>
			<description>number of iterations; default is 1.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- hash40 -->
	<function>
		<name>hash40</name>
		<class>railo.runtime.functions.string.Hash40</class>
		<description>This function only exists for backward compstibility to Railo 4.0 or older version that has produced a incorrect result for non us-ascii caharacters,
		Only use this function for backward compatibility.
		
		Converts a variable-length string to a 32-byte, hexadecimal
        string, using the MD5 algorithm. (It is not possible to convert
        the hash result back to the source string.)
        32-byte, hexadecimal string</description>
		<argument>
			<name>input</name>
			<type>any</type>
			<required>Yes</required>
		<description>String to hash.</description>
    </argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
		<description>The algorithm to use to hash the string. Supported are the following algorithms:
- CFMX_COMPAT: generating a hash string using classic CFML algorithm.
- MD5: (default) Generates a 32-character, hexadecimal string, using the MD5 algorithm.
- SHA: Generates a 28-character string using the Secure Hash Standard SHA-1 algorithm specified by Nation Institute of Standards and Technology (NIST) FIPS-180-2.
- SHA-256: Generates a 44-character string using the SHA-256 algorithm specified by FIPS-180-2.
- SHA-384: Generates a 64-character string using the SHA-384 algorithm specified by FIPS-180-2.
- SHA-512: Generates an 88-character string using the SHA-1 algorithm specified by FIPS-180-2.</description>
    </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>No</required>
			<description>A string specifying the encoding to use when converting
            the string to byte data used by the hash algorithm.</description>
		</argument>
		<argument>
			<name>numIterations</name>
			<type>number</type>
			<required>No</required>
			<description>number of iterations; default is 1.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- hour -->
	<function>
		<name>hour</name>
		<class>railo.runtime.functions.dateTime.Hour</class>
		<member-name>hour</member-name>
		<description>Gets the current hour of the day.
        Ordinal value of the hour, in the range 0 - 23.</description>
		<argument>
			<name>Date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>Date object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	
	<!-- HMAC -->
	<function>
		<name>HMAC</name>
		<class>railo.runtime.functions.displayFormatting.HMAC</class>
		<description>Creates Hash-based Message Authentication Code for the given string based on the algorithm and encoding. 
		Hash-based Message Authentication Code (HMAC) is used to verify the data integrity and authenticity of a messagetransmitted. 
		It involves a cryptographic hash function in combination with a secret key. 
		The cryptographic hashfunction can be Message Digest 5 (MD5), Secure Hash Algorithm (SHA), and so on</description>
		<argument>
			<name>message</name>
			<type>object</type>
			<required>Yes</required>
			<description>The message to transmit. The message can be a String or a byte array.</description>
	    </argument>
		<argument>
			<name>key</name>
			<type>object</type>
			<required>Yes</required>
			<description>The secret key to create HMAC. The key can be a String or a byte array.</description>
	    </argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>no</required>
			<default>HmacMD5</default>
			<description>the algorithm used, default is "HmacMD5"</description>
	    </argument>
		<argument>
			<name>encoding</name>
			<alias>charset</alias>
			<type>string</type>
			<required>no</required>
			<description>the encoding used, default encoding is the web charset of the enviroment.</description>
	    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	
	<!-- hTMLCodeFormat -->
	<function>
		<name>hTMLCodeFormat</name>
		<class>railo.runtime.functions.displayFormatting.HTMLCodeFormat</class>
		<description>Replaces special characters in a string with their HTML-escaped
        equivalents and inserts &lt;pre&gt; and &lt;/pre&gt; tags at the beginning
        and end of the string.
        [version]
            HTML version to use. currently ignored.
            -1: The latest implementation of HTML
            2.0: HTML 2.0 (Default)
            3.2: HTML 3.2</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one.</description>
    </argument>
		<argument>
			<name>version</name>
			<type>number</type>
			<required>No</required>
		<description>HTML version to use:
-1: The latest implementation of HTML
2.0: HTML 2.0 (default)
3.2: HTML 3.2</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- hTMLEditFormat -->
	<function>
		<name>hTMLEditFormat</name>
		<class>railo.runtime.functions.displayFormatting.HTMLEditFormat</class>
		<description>Replaces special characters in a string with their
        HTML-escaped equivalents.
        [version]
            HTML version to use. currently ignored.
            -1: The latest implementation of HTML
            2.0: HTML 2.0 (Default)
            3.2: HTML 3.2
            4.0: HTML 4.0</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one.</description>
    </argument>
		<argument>
			<name>version</name>
			<type>number</type>
			<required>No</required>
		<description>HTML version to use:
-1: The latest implementation of HTML
2.0: HTML 2.0 (default)
3.2: HTML 3.2</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- iIf -->
	<function>
		<name>iIf</name>
		<class>railo.runtime.functions.dynamicEvaluation.IIf</class>
		<description>Evaluates a Boolean conditional dynamic expression. Depending
        on whether the expression is true or false, dynamically
        evaluates one of two string expressions and returns the result.</description>
		<argument>
			<name>condition</name>
			<type>boolean</type>
			<required>Yes</required>
		<description>An expression that can be evaluated as a Boolean.</description>
    </argument>
		<argument>
			<name>string_expression1</name>
			<type>string</type>
			<required>Yes</required>
		<description>Expression to evaluate and return if condition is true.</description>
    </argument>
		<argument>
			<name>string_expression2</name>
			<type>string</type>
			<required>Yes</required>
		<description>Expression to evaluate and return if condition is false.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- ImageAddBorder -->
	<function>
		<name>ImageAddBorder</name>
		<class>railo.runtime.functions.image.ImageAddBorder</class>
		<description>Adds a rectangular border around the outside edge of a image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>thickness</name>
			<type>number</type>
			<required>No</required>
			<default>1</default>
		<description>Thickness of the border in pixels. The default value is 1. The border is added to the outside edge of the image; the image area is increased accordingly.</description>
    </argument>
		<argument>
			<name>color</name>
			<type>string</type>
			<required>No</required>
			<default>black</default>
		<description>Optional. Border color. The default border color is black. See Usage.
Only valid if the borderType is not specified or if borderType = "constant".</description>
    </argument>
		<argument>
			<name>borderType</name>
			<type>string</type>
			<required>No</required>
			<default>constant</default>
		<description>The type of border:
- zero: Sets the border color to black.
- constant: Sets the border to the specified color (default).
- copy: Sets sample values to copies of the nearest valid pixel. For example, pixels to the left of the valid rectangle assume the value of the valid edge pixel in the same row. Pixels both above and to the left of the valid rectangle assume the value of the upper-left pixel.
- reflect: Mirrors the edges of the source image. For example, if the left edge of the valid rectangle is located at x = 10, pixel (9, y) is a copy of pixel (10, y) and pixel (6, y) is a copy of pixel (13, y).
- wrap: Tiles the source image in the plane.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageBlur -->
	<function>
		<name>ImageBlur</name>
		<class>railo.runtime.functions.image.ImageBlur</class>
		<description>Smooths image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>blurRadius</name>
			<type>number</type>
			<required>No</required>
			<default>3</default>
		<description>The size of the blur radius.
Value must be greater than or equal to 3 and less than or equal to 10. The default value is 3.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageClearRect -->
	<function>
		<name>ImageClearRect</name>
		<class>railo.runtime.functions.image.ImageClearRect</class>
		<description>Clears the specified rectangle by filling it with the background color of the current drawing surface.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>yes</required>
		<description>The X coordinate of the rectangle to clear.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>yes</required>
		<description>The Y coordinate of the rectangle to clear.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>yes</required>
		<description>The width of the rectangle to clear.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>yes</required>
		<description>The height of the rectangle to clear.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageFilterColorMap -->
	<function>
		<name>ImageFilterColorMap</name>
		<class>railo.runtime.functions.image.ImageFilterColorMap</class>
		<description>These are passed to the function ImageFilters (see ImageFilter documentation) which convert gray values to colors.</description>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>Yes</required>
		<description>type of the color map, possible values are:
		- spectrum: A colormap with the colors of the spectrum
		- linear: A colormap which interpolates linearly between two colors
		- grayscale: A grayscale colormap. Black is 0, white is 1</description>
    </argument>
		<argument>
			<name>lineColor1</name>
			<type>string</type>
			<required>no</required>
		<description>used only for type "linear", the color corresponding to value 0 in the colormap.</description>
    </argument>
		<argument>
			<name>lineColor2</name>
			<type>string</type>
			<required>no</required>
		<description>used only for type "linear", the color corresponding to value 1 in the colormap.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	
	<!-- ImageFilterKernel -->
	<function>
		<name>ImageFilterKernel</name>
		<class>railo.runtime.functions.image.ImageFilterKernel</class>
		<description>These are passed to the function ImageFilters (see ImageFilter documentation).
		The ImageFilterKernel function defines a matrix that describes how a specified pixel and its surrounding pixels affect the value computed for the pixel's position in the output image of a filtering operation. 
		The X origin and Y origin indicate the kernel matrix element that corresponds to the pixel position for which an output value is being computed.
		
		</description>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
			<description>width of the kernel</description>
    	</argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
			<description>height of the kernel</description>
    	</argument>
		<argument>
			<name>data</name>
			<type>any</type>
			<required>Yes</required>
		<description>kernel data in row major order</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageFilterWarpGrid -->
	<function>
		<name>ImageFilterWarpGrid</name>
		<class>railo.runtime.functions.image.ImageFilterWarpGrid</class>
		<description>A warp grid. These are passed to the function ImageFilters (see ImageFilter documentation).</description>
		<argument>
			<name>rows</name>
			<type>number</type>
			<required>Yes</required>
			<description>rows of the warp grid</description>
    	</argument>
		<argument>
			<name>cols</name>
			<type>number</type>
			<required>Yes</required>
			<description>cols of the warp grid</description>
    	</argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
			<description>width of the warp grid</description>
    	</argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
			<description>height of the warp grid</description>
    	</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageFilterCurves -->
	<function>
		<name>ImageFilterCurves</name>
		<class>railo.runtime.functions.image.ImageFilterCurves</class>
		<description>the curves for the wrap grid</description>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageCopy -->
	<function>
		<name>ImageCopy</name>
		<class>railo.runtime.functions.image.ImageCopy</class>
		<description>Copies a rectangular area of an image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the source rectangle.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the source rectangle.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
		<description>The width of the source rectangle.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
		<description>The height of the source rectangle.</description>
    </argument>
		<argument>
			<name>dx</name>
			<type>number</type>
			<required>no</required>
			<default>-999</default>
		<description>The x coordinate of the destination rectangle.</description>
    </argument>
		<argument>
			<name>dy</name>
			<type>number</type>
			<required>no</required>
			<default>-999</default>
		<description>The y coordinate of the destination rectangle.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageCrop -->
	<function>
		<name>ImageCrop</name>
		<class>railo.runtime.functions.image.ImageCrop</class>
		<description>Crops a image to a specified rectangular area.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The X origin of the crop area.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The Y origin of the crop area.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
		<description>The width of the crop area.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
		<description>The height of the crop area.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawArc -->
	<function>
		<name>ImageDrawArc</name>
		<class>railo.runtime.functions.image.ImageDrawArc</class>
		<description>Draws a circular or elliptical arc.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the upper-left corner of the arc.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the upper-left corner of the arc.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
		<description>The width of the arc.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
		<description>The height of the arc.</description>
    </argument>
		<argument>
			<name>startAngle</name>
			<type>number</type>
			<required>Yes</required>
		<description>The beginning angle in degrees.</description>
    </argument>
		<argument>
			<name>arcAngle</name>
			<type>number</type>
			<required>Yes</required>
		<description>The angular extent of the arc, relative to the start angle.</description>
    </argument>
		<argument>
			<name>filled</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether the arc is filled:
- true: The arc is filled with the specified drawing color.
- false (default): Only the outline of the arc is drawn.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawBeveledRect -->
	<function>
		<name>ImageDrawBeveledRect</name>
		<class>railo.runtime.functions.image.ImageDrawBeveledRect</class>
		<description>Draws a rectangle with beveled edges.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the rectangle.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the rectangle.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
		<description>The width of the rectangle.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
		<description>The height of the rectangle.</description>
    </argument>
		<argument>
			<name>raised</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether the rectangle appears raised above the surface or sunk into the surface:
- true: The rectangle is raised.
- false (default): The rectangle is sunk.</description>
    </argument>
		<argument>
			<name>filled</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether the rectangle is filled:
- true: The rectangle is filled with the specified drawing color.
- false (default): Only the outline of the rectangle is drawn.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawCubicCurve -->
	<function>
		<name>ImageDrawCubicCurve</name>
		<class>railo.runtime.functions.image.ImageDrawCubicCurve</class>
		<description>Draws a cubic curve.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x1</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the start point of the cubic curve segment.</description>
    </argument>
		<argument>
			<name>y1</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the start point of the cubic curve segment.</description>
    </argument>
		<argument>
			<name>ctrlx1</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the first control point of the cubic curve segment.</description>
    </argument>
		<argument>
			<name>ctrly1</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the first control point of the cubic curve segment.</description>
    </argument>
		<argument>
			<name>ctrlx2</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the second control point of the cubic curve segment.</description>
    </argument>
		<argument>
			<name>ctrly2</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the second control point of the cubic curve segment.</description>
    </argument>
		<argument>
			<name>x2</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the end point of the cubic curve segment.</description>
    </argument>
		<argument>
			<name>y2</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the end point of the cubic curve segment.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- ImageDrawImage -->
	<function>
		<name>ImageDrawImage</name>
		<class>railo.runtime.functions.image.ImageDrawImage</class>
		<status>deprecated</status>
		<description>this function is deprecated, use ImagePaste instead. Draws a image on a image with the baseline of the first character positioned at (x,y) in the image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>the image to draw on it</description>
    </argument>
		<argument>
			<name>image</name>
			<type>any</type>
			<required>Yes</required>
		<description>the image to draw</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the of the top left corner of the image to draw.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the of the top left corner of the image to draw.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	
	
	
	
	
	<!-- ImageDrawLine -->
	<function>
		<name>ImageDrawLine</name>
		<class>railo.runtime.functions.image.ImageDrawLine</class>
		<description>Draws a single line defined by two sets of x and y coordinates on a image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x1</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate for the start point of the line.</description>
    </argument>
		<argument>
			<name>y1</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate for the start point of the line.</description>
    </argument>
		<argument>
			<name>x2</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate for the end point of the line.</description>
    </argument>
		<argument>
			<name>y2</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate for the end point of the line.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawLines -->
	<function>
		<name>ImageDrawLines</name>
		<class>railo.runtime.functions.image.ImageDrawLines</class>
		<description>Draws a sequence of connected lines defined by arrays of x and y coordinates.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>xcoords</name>
			<type>array</type>
			<required>Yes</required>
		<description>A array of x coordinates.</description>
    </argument>
		<argument>
			<name>ycoords</name>
			<type>array</type>
			<required>Yes</required>
		<description>A array of y coordinates.</description>
    </argument>
		<argument>
			<name>isPolygon</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether the lines form a polygon:
- true: The lines are connected to form a polygon.
- false (default): The lines do not form a polygon.</description>
    </argument>
		<argument>
			<name>filled</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether the polygon is filled:
- true: The polygon is filled with the specified drawing color.
- false (default): Only the outline of the polygon is drawn.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawOval -->
	<function>
		<name>ImageDrawOval</name>
		<class>railo.runtime.functions.image.ImageDrawOval</class>
		<description>Draws an oval.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the upper left corner of the oval to draw.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the upper left corner of the oval to draw.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
		<description>The width of the oval to draw.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
		<description>The height of the oval to draw.</description>
    </argument>
		<argument>
			<name>filled</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether the oval is filled:
- true: The oval is filled with the specified drawing color.
- false (default): Only the outline of the oval is drawn.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawPoint -->
	<function>
		<name>ImageDrawPoint</name>
		<class>railo.runtime.functions.image.ImageDrawPoint</class>
		<description>Draws a point at the specified (x,y) coordinate.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the point.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the point.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawQuadraticCurve -->
	<function>
		<name>ImageDrawQuadraticCurve</name>
		<class>railo.runtime.functions.image.ImageDrawQuadraticCurve</class>
		<description>Draws a curved line. The curve is controlled by a single point.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x1</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the start point of the quadratic curve segment.</description>
    </argument>
		<argument>
			<name>y1</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the start point of the quadratic curve segment.</description>
    </argument>
		<argument>
			<name>ctrlx</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the first control point of the quadratic curve segment.</description>
    </argument>
		<argument>
			<name>ctrly</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the first control point of the quadratic curve segment.</description>
    </argument>
		<argument>
			<name>x2</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the end point of the quadratic curve segment.</description>
    </argument>
		<argument>
			<name>y2</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the end point of the quadratic curve segment.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawRect -->
	<function>
		<name>ImageDrawRect</name>
		<class>railo.runtime.functions.image.ImageDrawRect</class>
		<description>Draws a rectangle.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the rectangle.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the rectangle.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
		<description>The width of the rectangle.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
		<description>The height of the rectangle.</description>
    </argument>
		<argument>
			<name>filled</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether the rectangle is filled:
- true: The rectangle is filled with the specified drawing color.
- false (default): Only the outline of the rectangle is drawn.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawRoundRect -->
	<function>
		<name>ImageDrawRoundRect</name>
		<class>railo.runtime.functions.image.ImageDrawRoundRect</class>
		<description>Draws a rectangle with rounded corners.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate of the rectangle.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate of the rectangle.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>number</type>
			<required>Yes</required>
		<description>The width of the rectangle.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>number</type>
			<required>Yes</required>
		<description>The height of the rectangle.</description>
    </argument>
		<argument>
			<name>arcWidth</name>
			<type>number</type>
			<required>Yes</required>
		<description>The horizontal diameter of the arc at the four corners.</description>
    </argument>
		<argument>
			<name>arcHeight</name>
			<type>number</type>
			<required>Yes</required>
		<description>The vertical diameter of the arc at the four corners.</description>
    </argument>
		<argument>
			<name>filled</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether the rectangle is filled:
- true: The rectangle is filled with the specified drawing color.
- false (default): Only the outline of the rectangle is drawn.

		</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageDrawText -->
	<function>
		<name>ImageDrawText</name>
		<class>railo.runtime.functions.image.ImageDrawText</class>
		<description>Draws a text string on a image with the baseline of the first character positioned at (x,y) in the image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>str</name>
			<type>string</type>
			<required>Yes</required>
		<description>the text to draw.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>The x coordinate for the start point of the string.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>The y coordinate for the start point of the string.</description>
    </argument>
		<argument>
			<name>attributeCollection</name>
			<type>struct</type>
			<required>no</required>
		<description>a structure used to specify the text characteristics. the following keys are supported:
- font: The name of the font used to draw the text string. If you do not specify the font attribute, the text is drawn in the default system font.
- size: The font size for the text string. The default value is 10 points.
- style: The style to apply to the font ( bold,italic,boldItalic,plain (default) ).
- strikethrough: a boolean that specify whether strikethrough is applied to the text image, default is false.
- underline: a boolean that specify whether underline is applied to the text image, default is false.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	
	<!-- ImageFilter -->
	<function>
		<name>ImageFilter</name>
		<class>railo.runtime.functions.image.ImageFilter</class>
<description>
the function ImageFilter allows to execute a filter against a image. Below you find a list of filter names supported by the function.
every filter need other parameters for the configuration, listed as well below.

average
	A filter which averages the 3x3 neighbourhood of each pixel, providing a simple blur.

	Parameters:
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- useAlpha (boolean)
		Set whether to convolve the alpha channel.
	- premultiplyAlpha (boolean)
		Set whether to premultiply the alpha channel.
block
	A Filter to pixellate images.

	Parameters:
	- blockSize (integer)
		The pixel block size.
		- min-value: 1
		- max-value: 100+
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
blur
	A simple blur filter. You should probably use BoxBlurFilter instead.

	Parameters:
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- useAlpha (boolean)
		Set whether to convolve the alpha channel.
	- premultiplyAlpha (boolean)
		Set whether to premultiply the alpha channel.
border
	A filter to add a border around an image using the supplied Paint, which may be null for no painting.

	Parameters:
	- left (integer)
		The border size on the left edge.
		- min-value: 0
	- right (integer)
		The border size on the right edge.
		- min-value: 0
	- top (integer)
		The border size on the top edge.
		- min-value: 0
	- bottom (integer)
		The border size on the bottom edge.
		- min-value: 0
	- color (String)
		The border color.
bump
	A simple embossing filter.

	Parameters:
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- useAlpha (boolean)
		Set whether to convolve the alpha channel.
	- premultiplyAlpha (boolean)
		Set whether to premultiply the alpha channel.
caustics
	A filter which simulates underwater caustics. This can be animated to get a bottom-of-the-swimming-pool effect.

	Parameters:
	- amount (numeric)
		The amount of effect.
		- min-value: 0
		- max-value: 1
	- brightness (integer)
		The brightness.
		- min-value: 0
		- max-value: 1
	- turbulence (numeric)
		Specifies the turbulence of the texture.
		- min-value: 0
		- max-value: 1
	- dispersion (numeric)
		The dispersion.
		- min-value: 0
		- max-value: 1
	- bgColor (String)
		The background color.
	- time (numeric)
		The time. Use this to animate the effect.
	- scale (numeric)
		Specifies the scale of the texture.
		- min-value: 1
		- max-value: 300+
	- samples (integer)
		The number of samples per pixel. More samples means better quality, but slower rendering.
cellular
	A filter which produces an image with a cellular texture.

	Parameters:
	- amount (numeric)
		The amount of effect.
		- min-value: 0
		- max-value: 1
	- turbulence (numeric)
		Specifies the turbulence of the texture.
		- min-value: 0
		- max-value: 1
	- stretch (numeric)
		Specifies the stretch factor of the texture.
		- min-value: 1
		- max-value: 50+
	- angle (numeric)
		Specifies the angle of the texture.
	- angleCoefficient (numeric)
	- gradientCoefficient (numeric)
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- randomness (numeric)
	- gridType (String)
		the grid type to set, one of the following:
		-  RANDOM
		-  SQUARE
		-  HEXAGONAL
		-  OCTAGONAL
		-  TRIANGULAR
	- distancePower (numeric)
	- scale (numeric)
		Specifies the scale of the texture.
		- min-value: 1
		- max-value: 300+
check
	A Filter to draw grids and check patterns.

	Parameters:
	- angle (numeric)
		The angle of the texture.
	- xScale (integer)
		The X scale of the texture.
	- yScale (integer)
		The Y scale of the texture.
	- fuzziness (integer)
		The fuzziness of the texture.
	- foreground (String)
		The foreground color.
	- background (String)
		The background color.
	- dimensions (Array)
chrome
	A filter which simulates chrome.

	Parameters:
	- amount (numeric)
		The amount of effect.
		- min-value: 0
		- max-value: 1
	- exposure (numeric)
		The exppsure of the effect.
		- min-value: 0
		- max-value: 1
	- colorSource (String)
	- material (String)
		 Use the following format [color,opacity]; Example: "red,0.5"
	- bumpHeight (numeric)
	- bumpSoftness (numeric)
	- bumpShape (integer)
	- viewDistance (numeric)
	- bumpSource (integer)
	- diffuseColor (String)
circle
	A filter which wraps an image around a circular arc.

	Parameters:
	- radius (numeric)
		The radius of the effect.
		- min-value: 0
	- angle (numeric)
		The angle of the arc.
	- spreadAngle (numeric)
		The spread angle of the arc.
	- centreX (numeric)
		The centre of the effect in the Y direction as a proportion of the image size.
	- centreY (numeric)
		The centre of the effect in the Y direction as a proportion of the image size.
	- height (numeric)
		The height of the arc.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
contour
	A filter which draws contours on an image at given brightness levels.

	Parameters:
	- levels (numeric)
	- contourColor (String)
	- offset (numeric)
	- scale (numeric)
		Specifies the scale of the contours.
		- min-value: 0
		- max-value: 1
contrast
	A filter to change the brightness and contrast of an image.

	Parameters:
	- brightness (numeric)
		The filter brightness.
		- min-value: 0
		- max-value: 0
	- contrast (numeric)
		The filter contrast.
		- min-value: 0
		- max-value: 0
	- dimensions (Array)
crop
	A filter which crops an image to a given rectangle.

	Parameters:
	- x (integer)
		The left edge of the crop rectangle.
	- y (integer)
		The top edge of the crop rectangle.
	- width (integer)
		The width of the crop rectangle.
	- height (integer)
		The height of the crop rectangle.
crystallize
	A filter which applies a crystallizing effect to an image, by producing Voronoi cells filled with colours from the image.

	Parameters:
	- edgeThickness (numeric)
	- fadeEdges (boolean)
	- edgeColor (String)
	- amount (numeric)
		The amount of effect.
		- min-value: 0
		- max-value: 1
	- turbulence (numeric)
		Specifies the turbulence of the texture.
		- min-value: 0
		- max-value: 1
	- stretch (numeric)
		Specifies the stretch factor of the texture.
		- min-value: 1
		- max-value: 50+
	- angle (numeric)
		Specifies the angle of the texture.
	- angleCoefficient (numeric)
	- gradientCoefficient (numeric)
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- randomness (numeric)
	- gridType (String)
		the grid type to set, one of the following:
		-  RANDOM
		-  SQUARE
		-  HEXAGONAL
		-  OCTAGONAL
		-  TRIANGULAR
	- distancePower (numeric)
	- scale (numeric)
		Specifies the scale of the texture.
		- min-value: 1
		- max-value: 300+
curl
	A page curl effect.

	Parameters:
	- radius (numeric)
	- angle (numeric)
	- transition (numeric)
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
despeckle
	A filter which removes noise from an image using a "pepper and salt" algorithm.

	Parameters:
diffuse
	This filter diffuses an image by moving its pixels in random directions.

	Parameters:
	- scale (numeric)
		Specifies the scale of the texture.
		- min-value: 1
		- max-value: 100+
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
diffusion
	A filter which uses Floyd-Steinberg error diffusion dithering to halftone an image.

	Parameters:
	- levels (integer)
		The number of dither levels.
	- serpentine (boolean)
		Set whether to use a serpentine pattern for return or not. This can reduce 'avalanche' artifacts in the output.
	- colorDither (boolean)
		Set whether to use a color dither.
dilate
	Given a binary image, this filter performs binary dilation, setting all added pixels to the given 'new' color.

	Parameters:
	- threshold (integer)
		The threshold - the number of neighbouring pixels for dilation to occur.
	- iterations (integer)
		The number of iterations the effect is performed.
		- min-value: 0
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- newColor (String)
displace
	A filter which simulates the appearance of looking through glass. A separate grayscale displacement image is provided and
	pixels in the source image are displaced according to the gradient of the displacement map.

	Parameters:
	- amount (numeric)
		The amount of distortion.
		- min-value: 0
		- max-value: 1
	- displacementMap (Image)
		The displacement map.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
dissolve
	A filter which "dissolves" an image by thresholding the alpha channel with random numbers.

	Parameters:
	- density (numeric)
		The density of the image in the range 0..1.
		- min-value: 0
		- max-value: 1
	- softness (numeric)
		The softness of the dissolve in the range 0..1.
		- min-value: 0
		- max-value: 1
	- dimensions (Array)
dither
	A filter which performs ordered dithering on an image.

	Parameters:
	- levels (integer)
		The number of dither levels.
	- colorDither (boolean)
		Set whether to use a color dither.
	- dimensions (Array)
edge
	An edge-detection filter.

	Parameters:
emboss
	A class to emboss an image.

	Parameters:
	- bumpHeight (numeric)
	- azimuth (numeric)
	- elevation (numeric)
	- emboss (boolean)
equalize
	A filter to perform auto-equalization on an image.

	Parameters:
erode
	Given a binary image, this filter performs binary erosion, setting all removed pixels to the given 'new' color.

	Parameters:
	- threshold (integer)
		The threshold - the number of neighbouring pixels for dilation to occur.
	- iterations (integer)
		The number of iterations the effect is performed.
		- min-value: 0
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- newColor (String)
exposure
	A filter which changes the exposure of an image.

	Parameters:
	- exposure (numeric)
		The exposure level.
		- min-value: 0
		- max-value: 5+
	- dimensions (Array)
fade
	An abstract superclass for point filters. The interface is the same as the old RGBImageFilter.

	Parameters:
	- angle (numeric)
		Specifies the angle of the texture.
	- sides (integer)
	- fadeStart (numeric)
	- fadeWidth (numeric)
	- invert (boolean)
	- dimensions (Array)
feedback
	A filter which priduces a video feedback effect by repeated transformations.

	Parameters:
	- iterations (integer)
		The number of iterations.
		- min-value: 0
	- angle (numeric)
		Specifies the angle of each iteration.
	- centreX (numeric)
		The centre of the effect in the X direction as a proportion of the image size.
	- centreY (numeric)
		The centre of the effect in the Y direction as a proportion of the image size.
	- distance (numeric)
		Specifies the distance to move on each iteration.
	- rotation (numeric)
		Specifies the amount of rotation on each iteration.
	- zoom (numeric)
		Specifies the amount to scale on each iteration.
	- startAlpha (numeric)
		The alpha value at the first iteration.
		- min-value: 0
		- max-value: 1
	- endAlpha (numeric)
		The alpha value at the last iteration.
		- min-value: 0
		- max-value: 1
fill
	A filter which fills an image with a given color. Normally you would just call Graphics.fillRect but it can sometimes be useful
	to go via a filter to fit in with an existing API.

	Parameters:
	- fillColor (String)
		The fill color.
	- dimensions (Array)
flare
	An experimental filter for rendering lens flares.

	Parameters:
	- radius (numeric)
		The radius of the effect.
		- min-value: 0
	- centreX (numeric)
	- centreY (numeric)
	- ringWidth (numeric)
	- baseAmount (numeric)
	- ringAmount (numeric)
	- rayAmount (numeric)
	- color (String)
	- dimensions (Array)
flip
	A filter which flips images or rotates by multiples of 90 degrees.

	Parameters:
	- operation (integer)
		The filter operation.
gain
	A filter which changes the gain and bias of an image - similar to ContrastFilter.

	Parameters:
	- gain (numeric)
		The gain.
		- min-value:: 0
		- max-value:: 1
	- bias (numeric)
		The bias.
		- min-value:: 0
		- max-value:: 1
	- dimensions (Array)
gamma
	A filter for changing the gamma of an image.

	Parameters:
	- gamma (numeric)
		The gamma levels.
	- dimensions (Array)
gaussian
	A filter which applies Gaussian blur to an image. This is a subclass of ConvolveFilter
	which simply creates a kernel with a Gaussian distribution for blurring.

	Parameters:
	- radius (numeric)
		The radius of the kernel, and hence the amount of blur. The bigger the radius, the longer this filter will take.
		- min-value: 0
		- max-value: 100+
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- useAlpha (boolean)
		Set whether to convolve the alpha channel.
	- premultiplyAlpha (boolean)
		Set whether to premultiply the alpha channel.
glint
	A filter which renders "glints" on bright parts of the image.

	Parameters:
	- amount (numeric)
		The amount of glint.
		- min-value: 0
		- max-value: 1
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- blur (numeric)
		The blur that is applied before thresholding.
	- glintOnly (boolean)
		Set whether to render the stars and the image or only the stars.
	- length (integer)
		The length of the stars.
	- threshold (numeric)
		The threshold value.
glow
	A filter which adds Gaussian blur to an image, producing a glowing effect.

	Parameters:
	- amount (numeric)
		The amount of glow.
		- min-value: 0
		- max-value: 1
	- radius (numeric)
		The radius of the kernel, and hence the amount of blur. The bigger the radius, the longer this filter will take.
		- min-value: 0
		- max-value: 100+
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- useAlpha (boolean)
		Set whether to convolve the alpha channel.
	- premultiplyAlpha (boolean)
		Set whether to premultiply the alpha channel.
gradient
	A filter which draws a coloured gradient. This is largely superceded by GradientPaint in Java1.2, but does provide a few
	more gradient options.

	Parameters:
	- interpolation (integer)
	- angle (numeric)
		Specifies the angle of the texture.
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- point1 (String)
		 Use the following format [X-coordinate,Y-coordinate]; Example: "13,20"
	- point2 (String)
		 Use the following format [X-coordinate,Y-coordinate]; Example: "13,20"
	- paintMode (integer)
	- type (integer)
gray
	A filter which 'grays out' an image by averaging each pixel with white.

	Parameters:
	- dimensions (Array)
grayscale
	A filter which converts an image to grayscale using the NTSC brightness calculation.

	Parameters:
	- dimensions (Array)
halftone
	A filter which can be used to produce wipes by transferring the luma of a mask image into the alpha channel of the source.

	Parameters:
	- density (numeric)
		The density of the image in the range 0..1.
		*arg density The density
	- softness (numeric)
		The softness of the effect in the range 0..1.
		- min-value: 0
		- max-value: 1
	- invert (boolean)
	- mask (Image)
interpolate
	A filter which interpolates between two images. You can set the interpolation factor outside the range 0 to 1
	to extrapolate images.

	Parameters:
	- destination (Image)
		The destination image.
	- interpolation (numeric)
		The interpolation factor.
invert
	A filter which inverts the RGB channels of an image.

	Parameters:
	- dimensions (Array)
kaleidoscope
	A Filter which produces the effect of looking into a kaleidoscope.

	Parameters:
	- radius (numeric)
		The radius of the effect.
		- min-value: 0
	- angle (numeric)
		The angle of the kaleidoscope.
	- centreX (numeric)
		The centre of the effect in the X direction as a proportion of the image size.
	- centreY (numeric)
		The centre of the effect in the Y direction as a proportion of the image size.
	- sides (integer)
		The number of sides of the kaleidoscope.
		- min-value: 2
	- angle2 (numeric)
		The secondary angle of the kaleidoscope.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
levels
	A filter which allows levels adjustment on an image.

	Parameters:
	- lowLevel (numeric)
	- highLevel (numeric)
	- lowOutputLevel (numeric)
	- highOutputLevel (numeric)
life
	A filter which performs one round of the game of Life on an image.

	Parameters:
	- iterations (integer)
		The number of iterations the effect is performed.
		- min-value: 0
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- newColor (String)
light
	A filter which produces lighting and embossing effects.

	Parameters:
	- colorSource (String)
	- material (String)
		 Use the following format [color,opacity]; Example: "red,0.5"
	- bumpHeight (numeric)
	- bumpSoftness (numeric)
	- bumpShape (integer)
	- viewDistance (numeric)
	- bumpSource (integer)
	- diffuseColor (String)
lookup
	A filter which uses the brightness of each pixel to lookup a color from a colormap.

	Parameters:
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- dimensions (Array)
map
	An abstract superclass for filters which distort images in some way. The subclass only needs to override
	two methods to provide the mapping between source and destination pixels.

	Parameters:
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
marble
	This filter applies a marbling effect to an image, displacing pixels by random amounts.

	Parameters:
	- amount (numeric)
		The amount of effect.
		- min-value: 0
		- max-value: 1
	- turbulence (numeric)
		Specifies the turbulence of the effect.
		- min-value: 0
		- max-value: 1
	- xScale (numeric)
		The X scale of the effect.
	- yScale (numeric)
		The Y scale of the effect.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
mask
	Applies a bit mask to each ARGB pixel of an image. You can use this for, say, masking out the red channel.

	Parameters:
	- mask (integer)
	- dimensions (Array)
maximum
	A filter which replcaes each pixel by the maximum of itself and its eight neightbours.

	Parameters:
median
	A filter which performs a 3x3 median operation. Useful for removing dust and noise.

	Parameters:
minimum
	A filter which replcaes each pixel by the mimimum of itself and its eight neightbours.

	Parameters:
mirror


	Parameters:
	- angle (numeric)
		Specifies the angle of the mirror.
	- centreY (numeric)
	- distance (numeric)
	- rotation (numeric)
	- gap (numeric)
	- opacity (numeric)
		The opacity of the reflection.
noise
	A filter which adds random noise into an image.

	Parameters:
	- amount (integer)
		The amount of effect.
		- min-value: 0
		- max-value: 1
	- monochrome (boolean)
		Set whether to use monochrome noise.
	- density (numeric)
		The density of the noise.
	- distribution (integer)
		The distribution of the noise.
	- dimensions (Array)
offset
	An abstract superclass for filters which distort images in some way. The subclass only needs to override
	two methods to provide the mapping between source and destination pixels.

	Parameters:
	- xOffset (integer)
	- yOffset (integer)
	- wrap (boolean)
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
oil
	A filter which produces a "oil-painting" effect.

	Parameters:
	- levels (integer)
		The number of levels for the effect.
	- range (integer)
		The range of the effect in pixels.
opacity
	Sets the opacity (alpha) of every pixel in an image to a constant value.

	Parameters:
	- opacity (integer)
		The opacity.
	- dimensions (Array)
outline
	Given a binary image, this filter converts it to its outline, replacing all interior pixels with the 'new' color.

	Parameters:
	- iterations (integer)
		The number of iterations the effect is performed.
		- min-value: 0
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- newColor (String)
perspective
	A filter which performs a perspective distortion on an image.

	Parameters:
	- xLT (numeric)
		the new horizontal position of the top left corner, negative values are translated to image-width - x.
	- yLT (numeric)
		the new vertical position of the top left corner, negative values are translated to image-height - y.
	- xRT (numeric)
		the new horizontal position of the top right corner, negative values are translated to image-width - x.
	- yRT (numeric)
		the new vertical position of the top right corner, negative values are translated to image-height - y.
	- xRB (numeric)
		the new horizontal position of the bottom right corner, negative values are translated to image-width - x.
	- yRB (numeric)
		the new vertical position of the bottom right corner, negative values are translated to image-height - y.
	- xLB (numeric)
		the new horizontal position of the bottom left corner, negative values are translated to image-width - x.
	- yLB (numeric)
		the new vertical position of the bottom left corner, negative values are translated to image-height - y.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
pinch
	A filter which performs the popular whirl-and-pinch distortion effect.

	Parameters:
	- radius (numeric)
		The radius of the effect.
		- min-value: 0
	- amount (numeric)
		The amount of pinch.
		- min-value: -1
		- max-value: 1
	- angle (numeric)
		The angle of twirl in radians. 0 means no distortion.
	- centreX (numeric)
		The centre of the effect in the X direction as a proportion of the image size.
	- centreY (numeric)
		The centre of the effect in the Y direction as a proportion of the image size.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
plasma
	A filter which acts as a superclass for filters which need to have the whole image in memory
	to do their stuff.

	Parameters:
	- turbulence (numeric)
		Specifies the turbulence of the texture.
		- min-value: 0
		- max-value: 10
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- scaling (numeric)
	- useColormap (boolean)
	- useImageColors (boolean)
	- seed (integer)
pointillize
	A filter which produces an image with a cellular texture.

	Parameters:
	- fuzziness (numeric)
	- edgeThickness (numeric)
	- fadeEdges (boolean)
	- edgeColor (String)
	- amount (numeric)
		The amount of effect.
		- min-value: 0
		- max-value: 1
	- turbulence (numeric)
		Specifies the turbulence of the texture.
		- min-value: 0
		- max-value: 1
	- stretch (numeric)
		Specifies the stretch factor of the texture.
		- min-value: 1
		- max-value: 50+
	- angle (numeric)
		Specifies the angle of the texture.
	- angleCoefficient (numeric)
	- gradientCoefficient (numeric)
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- randomness (numeric)
	- gridType (String)
		the grid type to set, one of the following:
		-  RANDOM
		-  SQUARE
		-  HEXAGONAL
		-  OCTAGONAL
		-  TRIANGULAR
	- distancePower (numeric)
	- scale (numeric)
		Specifies the scale of the texture.
		- min-value: 1
		- max-value: 300+
polar
	A filter which distorts and image by performing coordinate conversions between rectangular and polar coordinates.

	Parameters:
	- type (String)
		The distortion type, valid values are
		- RECT_TO_POLAR = Convert from rectangular to polar coordinates
		- POLAR_TO_RECT = Convert from polar to rectangular coordinates
		- INVERT_IN_CIRCLE = Invert the image in a circle
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
posterize
	A filter to posterize an image.

	Parameters:
	- numLevels (integer)
		The number of levels in the output image.
	- dimensions (Array)
quantize
	A filter which quantizes an image to a set number of colors - useful for producing
	images which are to be encoded using an index color model. The filter can perform
	Floyd-Steinberg error-diffusion dithering if required. At present, the quantization
	is done using an octtree algorithm but I eventually hope to add more quantization
	methods such as median cut. Note: at present, the filter produces an image which
	uses the RGB color model (because the application it was written for required it).
	I hope to extend it to produce an IndexColorModel by request.

	Parameters:
	- serpentine (boolean)
		Set whether to use a serpentine pattern for return or not. This can reduce 'avalanche' artifacts in the output.
	- numColors (String)
		The number of colors to quantize to.
	- dither (boolean)
		Set whether to use dithering or not. If not, the image is posterized.
quilt
	A filter which acts as a superclass for filters which need to have the whole image in memory
	to do their stuff.

	Parameters:
	- iterations (integer)
		The number of iterations the effect is performed.
		- min-value: 0
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- a (numeric)
	- b (numeric)
	- c (numeric)
	- d (numeric)
	- k (integer)
rays
	A filter which produces the effect of light rays shining out of an image.

	Parameters:
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- strength (numeric)
		The strength of the rays.
	- opacity (numeric)
		The opacity of the rays.
	- raysOnly (boolean)
		Set whether to render only the rays.
	- threshold (numeric)
		The threshold value.
	- angle (numeric)
	- centreX (numeric)
	- centreY (numeric)
	- distance (numeric)
	- rotation (numeric)
	- zoom (numeric)
rescale
	A filter which simply multiplies pixel values by a given scale factor.

	Parameters:
	- scale (numeric)
		Specifies the scale factor.
		- min-value: 1
		- max-value: 5+
	- dimensions (Array)
ripple
	A filter which distorts an image by rippling it in the X or Y directions.
	The amplitude and wavelength of rippling can be specified as well as whether
	pixels going off the edges are wrapped or not.

	Parameters:
	- xAmplitude (numeric)
		The amplitude of ripple in the X direction.
	- xWavelength (numeric)
		The wavelength of ripple in the X direction.
	- yAmplitude (numeric)
		The amplitude of ripple in the Y direction.
	- yWavelength (numeric)
		The wavelength of ripple in the Y direction.
	- waveType (String)
		The wave type.
		valid values are:
		- sine (default):  Sine wave ripples.
		- sawtooth: Sawtooth wave ripples.
		- triangle: Triangle wave ripples.
		- noise: Noise ripples.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
rotate
	A filter which rotates an image. These days this is easier done with Java2D, but this filter remains.

	Parameters:
	- angle (numeric)
		Specifies the angle of rotation.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
saturation
	A filter to change the saturation of an image. This works by calculating a grayscale version of the image
	and then extrapolating away from it.

	Parameters:
	- amount (numeric)
		The amount of saturation change. 1 leaves the image unchanged, values between 0 and 1 desaturate, 0 completely
		desaturates it and values above 1 increase the saturation.
	- dimensions (Array)
scale
	Scales an image using the area-averaging algorithm, which can't be done with AffineTransformOp.

	Parameters:
	- width (integer)
	- height (integer)
scratch


	Parameters:
	- angle (numeric)
	- density (numeric)
	- angleVariation (numeric)
	- length (numeric)
	- seed (integer)
	- color (String)
	- width (numeric)
shade
	A filter which acts as a superclass for filters which need to have the whole image in memory
	to do their stuff.

	Parameters:
	- bumpHeight (numeric)
	- bumpSoftness (numeric)
	- bumpSource (integer)
shadow
	A filter which draws a drop shadow based on the alpha channel of the image.

	Parameters:
	- radius (numeric)
		The radius of the kernel, and hence the amount of blur. The bigger the radius, the longer this filter will take.
	- angle (numeric)
		Specifies the angle of the shadow.
	- distance (numeric)
		The distance of the shadow.
	- opacity (numeric)
		The opacity of the shadow.
	- shadowColor (String)
		The color of the shadow.
	- addMargins (boolean)
		Set whether to increase the size of the output image to accomodate the shadow.
	- shadowOnly (boolean)
		Set whether to only draw the shadow without the original image.
shape
	A filter which acts as a superclass for filters which need to have the whole image in memory
	to do their stuff.

	Parameters:
	- useAlpha (boolean)
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- invert (boolean)
	- factor (numeric)
	- merge (boolean)
	- type (integer)
sharpen
	A filter which performs a simple 3x3 sharpening operation.

	Parameters:
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- useAlpha (boolean)
		Set whether to convolve the alpha channel.
	- premultiplyAlpha (boolean)
		Set whether to premultiply the alpha channel.
shatter


	Parameters:
	- iterations (integer)
	- centreX (numeric)
	- centreY (numeric)
	- transition (numeric)
	- distance (numeric)
	- rotation (numeric)
	- zoom (numeric)
	- startAlpha (numeric)
	- endAlpha (numeric)
	- tile (integer)
shear
	An abstract superclass for filters which distort images in some way. The subclass only needs to override
	two methods to provide the mapping between source and destination pixels.

	Parameters:
	- resize (boolean)
	- xAngle (numeric)
	- yAngle (numeric)
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
shine
	A filter which simply multiplies pixel values by a given scale factor.

	Parameters:
	- radius (numeric)
		The radius of the kernel, and hence the amount of blur. The bigger the radius, the longer this filter will take.
	- brightness (numeric)
	- angle (numeric)
	- softness (numeric)
	- distance (numeric)
	- shadowOnly (boolean)
	- bevel (numeric)
	- shineColor (String)
skeleton
	A filter which reduces a binary image to a skeleton.
	Based on an algorithm by Zhang and Suen (CACM, March 1984, 236-239).

	Parameters:
	- iterations (integer)
		The number of iterations the effect is performed.
		- min-value: 0
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- newColor (String)
smear
	A filter which acts as a superclass for filters which need to have the whole image in memory
	to do their stuff.

	Parameters:
	- angle (numeric)
		Specifies the angle of the texture.
	- density (numeric)
	- distance (integer)
	- shape (integer)
	- scatter (numeric)
	- mix (numeric)
	- fadeout (integer)
	- background (boolean)
solarize
	A filter which solarizes an image.

	Parameters:
	- dimensions (Array)
sparkle
	An abstract superclass for point filters. The interface is the same as the old RGBImageFilter.

	Parameters:
	- radius (integer)
		The radius of the effect.
		- min-value: 0
	- amount (integer)
		The amount of sparkle.
		- min-value: 0
		- max-value: 1
	- randomness (integer)
	- rays (integer)
	- color (String)
	- dimensions (Array)
sphere
	A filter which simulates a lens placed over an image.

	Parameters:
	- radius (numeric)
		The radius of the effect.
		- min-value: 0
	- centreX (numeric)
		The centre of the effect in the X direction as a proportion of the image size.
	- centreY (numeric)
		The centre of the effect in the Y direction as a proportion of the image size.
	- refractionIndex (numeric)
		The index of refaction.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
stamp
	A filter which produces a rubber-stamp type of effect by performing a thresholded blur.

	Parameters:
	- radius (numeric)
		The radius of the effect.
		- min-value: 0
	- softness (numeric)
		The softness of the effect in the range 0..1.
		- min-value: 0
		- max-value: 1
	- white (String)
		The color to be used for pixels above the upper threshold.
	- black (String)
		The color to be used for pixels below the lower threshold.
	- threshold (numeric)
		The threshold value.
	- dimensions (Array)
swim
	A filter which distorts an image as if it were underwater.

	Parameters:
	- amount (numeric)
		The amount of swim.
		- min-value: 0
		- max-value: 100+
	- turbulence (numeric)
		Specifies the turbulence of the texture.
		- min-value: 0
		- max-value: 1
	- stretch (numeric)
		Specifies the stretch factor of the distortion.
		- min-value: 1
		- max-value: 50+
	- angle (numeric)
		Specifies the angle of the effect.
	- time (numeric)
		Specifies the time. Use this to animate the effect.
	- scale (numeric)
		Specifies the scale of the distortion.
		- min-value: 1
		- max-value: 300+
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
texture
	An abstract superclass for point filters. The interface is the same as the old RGBImageFilter.

	Parameters:
	- amount (numeric)
		The amount of texture.
		- min-value: 0
		- max-value: 1
	- turbulence (numeric)
		Specifies the turbulence of the texture.
		- min-value: 0
		- max-value: 1
	- stretch (numeric)
		Specifies the stretch factor of the texture.
		- min-value: 1
		- max-value: 50+
	- angle (numeric)
		Specifies the angle of the texture.
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- operation (integer)
	- scale (numeric)
		Specifies the scale of the texture.
		- min-value: 1
		- max-value: 300+
	- dimensions (Array)
threshold
	A filter which performs a threshold operation on an image.

	Parameters:
	- white (integer)
		The color to be used for pixels above the upper threshold.
	- black (integer)
		The color to be used for pixels below the lower threshold.
	- lowerThreshold (integer)
		The lower threshold value.
	- upperThreshold (integer)
		The upper threshold value.
	- dimensions (Array)
twirl
	A Filter which distorts an image by twisting it from the centre out.
	The twisting is centred at the centre of the image and extends out to the smallest of
	the width and height. Pixels outside this radius are unaffected.

	Parameters:
	- radius (numeric)
		The radius of the effect.
		- min-value: 0
	- angle (numeric)
		The angle of twirl in radians. 0 means no distortion.
	- centreX (numeric)
		The centre of the effect in the X direction as a proportion of the image size.
	- centreY (numeric)
		The centre of the effect in the Y direction as a proportion of the image size.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
unsharp
	A filter which subtracts Gaussian blur from an image, sharpening it.

	Parameters:
	- amount (numeric)
		The amount of sharpening.
		- min-value: 0
		- max-value: 1
	- threshold (integer)
		The threshold value.
	- radius (numeric)
		The radius of the kernel, and hence the amount of blur. The bigger the radius, the longer this filter will take.
		- min-value: 0
		- max-value: 100+
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- useAlpha (boolean)
		Set whether to convolve the alpha channel.
	- premultiplyAlpha (boolean)
		Set whether to premultiply the alpha channel.
water
	A filter which produces a water ripple distortion.

	Parameters:
	- radius (numeric)
		The radius of the effect.
		- min-value: 0
	- centreX (numeric)
		The centre of the effect in the X direction as a proportion of the image size.
	- centreY (numeric)
		The centre of the effect in the Y direction as a proportion of the image size.
	- wavelength (numeric)
		The wavelength of the ripples.
	- amplitude (numeric)
		The amplitude of the ripples.
	- phase (numeric)
		The phase of the ripples.
	- edgeAction (String)
		The action to perfomr for pixels off the image edges.
		valid values are:
		- clamp (default): Clamp pixels off the edge to the nearest edge.
		- wrap: Wrap pixels off the edge to the opposite edge.
		- zero: Treat pixels off the edge as zero
	- interpolation (String)
		The type of interpolation to perform.
		valid values are:
		- bilinear (default): Use bilinear interpolation.
		- nearest_neighbour: Use nearest-neighbour interpolation.
weave
	An abstract superclass for point filters. The interface is the same as the old RGBImageFilter.

	Parameters:
	- useImageColors (boolean)
	- xGap (numeric)
	- xWidth (numeric)
	- yWidth (numeric)
	- yGap (numeric)
	- crossings ([[I)
	- roundThreads (boolean)
	- shadeCrossings (boolean)
	- dimensions (Array)
wood
	A filter which produces a simulated wood texture. This is a bit of a hack, but might be usefult to some people.

	Parameters:
	- turbulence (numeric)
		Specifies the turbulence of the texture.
		- min-value: 0
		- max-value: 1
	- stretch (numeric)
		Specifies the stretch factor of the texture.
		- min-value: 1
		- max-value: 50+
	- angle (numeric)
		Specifies the angle of the texture.
	- colormap (Colormap)
		The colormap to be used for the filter. Use function ImageFilterColorMap to create.
	- gain (numeric)
		Specifies the gain of the texture.
		- min-value: 0
		- max-value: 1
	- rings (numeric)
		Specifies the rings value.
		- min-value: 0
		- max-value: 1
	- fibres (numeric)
		Specifies the amount of fibres in the texture.
		- min-value: 0
		- max-value: 1
	- scale (numeric)
		Specifies the scale of the texture.
		- min-value: 1
		- max-value: 300+
	- dimensions (Array)
</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
			<description>The image on which this operation is performed.</description>
    	</argument>
		<argument>
			<name>filtername</name>
			<type>string</type>
			<required>yes</required>
			<description>the name of the filter executed (average,block,blur ...)</description>
    	</argument>
		<argument>
			<name>parameters</name>
			<type>struct</type>
			<required>no</required>
			<description>parameters for the filter defined with argument filtername</description>
    	</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	
	<!-- ImageFlip -->
	<function>
		<name>ImageFlip</name>
		<class>railo.runtime.functions.image.ImageFlip</class>
		<description>Flips an image across an axis.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>transpose</name>
			<type>string</type>
			<required>no</required>
			<default>vertical</default>
		<description>Transpose the image:
- vertical (default): Flip an image across an imaginary horizontal line that runs through the center of the image.
- horizontal: Flip an image across an imaginary vertical line that runs through the center of the image.
- diagonal: Flip an image across its main diagonal that runs from the upper-left to the lower-right corner.
- antidiagonal: Flip an image across its main diagonal that runs from the upper-right to the lower-left corner.
- ("90|180|270"): Rotate an image clockwise by 90, 180, or 270 degrees.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageGetBlob -->
	<function>
		<name>ImageGetBlob</name>
		<class>railo.runtime.functions.image.ImageGetBlob</class>
		<description>Retrieves the bytes of the underlying image. The bytes are in the same image format as the source image.</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageGetBufferedImage -->
	<function>
		<name>ImageGetBufferedImage</name>
		<class>railo.runtime.functions.image.ImageGetBufferedImage</class>
		<description>Returns the java.awt.BufferedImage object underlying the current image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageGetEXIFMetadata -->
	<function>
		<name>ImageGetEXIFMetadata</name>
		<class>railo.runtime.functions.image.ImageGetEXIFMetadata</class>
		<description>Retrieves the Exchangeable Image File Format (EXIF) headers in an image as a CFML structure.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
			<description>The image on which this operation is performed.</description>
    	</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- ImageGetEXIFTag -->
	<function>
		<name>ImageGetEXIFTag</name>
		<class>railo.runtime.functions.image.ImageGetEXIFTag</class>
		<description>Retrieves the specified EXIF tag in an image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>tagName</name>
			<type>string</type>
			<required>Yes</required>
		<description>The EXIF tag name to be returned.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageGetHeight -->
	<function>
		<name>ImageGetHeight</name>
		<class>railo.runtime.functions.image.ImageGetHeight</class>
		<description>Retrieves the height of the image in pixels.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- ImageGetWidth -->
	<function>
		<name>ImageGetWidth</name>
		<class>railo.runtime.functions.image.ImageGetWidth</class>
		<description>Retrieves the width of the specified image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- ImageGetIPTCTag -->
	<function>
		<name>ImageGetIPTCTag</name>
		<class>railo.runtime.functions.image.ImageGetIPTCTag</class>
		<description>Retrieves the value of the IPTC tag for a image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>tagName</name>
			<type>string</type>
			<required>Yes</required>
		<description>The IPTC tag name whose value is returned.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageGrayscale -->
	<function>
		<name>ImageGrayscale</name>
		<class>railo.runtime.functions.image.ImageGrayscale</class>
		<description>Converts a image to grayscale.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageFormats -->
	<function>
		<name>ImageFormats</name>
		<class>railo.runtime.functions.image.ImageFormats</class>
		<description>return all available readers and writers</description>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- ImageFonts -->
	<function>
		<name>ImageFonts</name>
		<class>railo.runtime.functions.image.ImageFonts</class>
		<description>return all available</description>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- ImageInfo -->
	<function>
		<name>ImageInfo</name>
		<class>railo.runtime.functions.image.ImageInfo</class>
		<description>Returns a structure that contains information about the image, such as height, width, color model, size, and filename.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- ImageNegative -->
	<function>
		<name>ImageNegative</name>
		<class>railo.runtime.functions.image.ImageNegative</class>
		<description>Inverts the pixel values of a image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageNew -->
	<function>
		<name>ImageNew</name>
		<class>railo.runtime.functions.image.ImageNew</class>
		<description>Creates a image.</description>
		<argument>
			<name>source</name>
			<type>any</type>
			<required>no</required>
		<description>The source image path, URL, a variable that is read into the new image, or a Java buffered image.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>string</type>
			<required>no</required>
		<description>The width of the new image. Valid when the height is specified and the source is not.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>string</type>
			<required>no</required>
		<description>The height of the new image. Valid when the width is specified and the source is not.</description>
    </argument>
		<argument>
			<name>imageType</name>
			<type>string</type>
			<required>no</required>
		<description>The type of the image to create (Valid only when width and height are specified):
- rgb
- argb
- grayscale</description>
    </argument>
		<argument>
			<name>canvasColor</name>
			<type>string</type>
			<required>no</required>
		<description>Color of the image canvas (The default value is "black"):
- Hexadecimal value of RGB color. For example, specify the color white as ##FFFFFF or FFFFFF.
- String value of color (for example, "black", "red", "green").
- List of three numbers for (R,G,B) values. Each value must be in the range 0-255.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageOverlay -->
	<function>
		<name>ImageOverlay</name>
		<class>railo.runtime.functions.image.ImageOverlay</class>
		<description>Reads two source images and overlays the second source image on the first source image.</description>
		<argument>
			<name>source1</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image that is the bottom layer in the image.</description>
    </argument>
		<argument>
			<name>source2</name>
			<type>any</type>
			<required>Yes</required>
		<description>the image that is the top layer (overlaid on the source1 image) in the image.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImagePaste -->
	<function>
		<name>ImagePaste</name>
		<class>railo.runtime.functions.image.ImagePaste</class>
		<description>Takes two images and an (x,y) coordinate and draws the second image over the first image with the upper-left corner at coordinate (x,y).</description>
		<argument>
			<name>image1</name>
			<type>any</type>
			<required>Yes</required>
		<description>The bottom image.</description>
    </argument>
		<argument>
			<name>image2</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image that is pasted on top of image1.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>no</required>
		<description> The x coordinate where the upper-left corner of image2 is pasted.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>no</required>
		<description> The y coordinate where the upper-left corner of image2 is pasted.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageReadBase64 -->
	<function>
		<name>ImageReadBase64</name>
		<class>railo.runtime.functions.image.ImageReadBase64</class>
		<description>Creates a image from a Base64 string.</description>
		<argument>
			<name>b64str</name>
			<type>string</type>
			<required>Yes</required>
		<description>a variable or Base64 string.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageRead -->
	<function>
		<name>ImageRead</name>
		<class>railo.runtime.functions.image.ImageRead</class>
		<description>Reads the source pathname or URL and creates a image.</description>
		<argument>
			<name>path</name>
			<type>any</type>
			<required>Yes</required>
		<description>On-disk or in-memory pathname or URL of the source image.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ImageResize -->
	<function>
		<name>ImageResize</name>
		<class>railo.runtime.functions.image.ImageResize</class>
		<description>Resizes a image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>width</name>
			<type>string</type>
			<required>Yes</required>
		<description>New width of the image. If this value is blank, the width is calculated proportionately to the height.</description>
    </argument>
		<argument>
			<name>height</name>
			<type>string</type>
			<required>no</required>
		<description>New height of the image. If this value is blank, the height is calculated proportionately to the width.</description>
    </argument>
		<argument>
			<name>interpolation</name>
			<type>string</type>
			<required>no</required>
			<default>highestQuality</default>
		<description>the interpolation method for resampling. You can specify a specific interpolation algorithm by name (for example, hamming), by image quality (for example, mediumQuality), or by performance (for example, highestPerformance). Valid values are:
- highestQuality (default)
- highQuality
- mediumQuality
- highestPerformance
- highPerformance
- mediumPerformance
- nearest
- bilinear
- bicubic
- bessel
- blackman
- hamming
- hanning
- hermite
- lanczos
- mitchell
- quadratic
</description>
    </argument>
		<argument>
			<name>blurFactor</name>
			<type>number</type>
			<required>no</required>
			<default>1</default>
		<description>The blur factor used for resampling. The higher the blur factor, the more blurred the image (also, the longer it takes to resize the image). Valid values are 1-10.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageRotate -->
	<function>
		<name>ImageRotate</name>
		<class>railo.runtime.functions.image.ImageRotate</class>
		<description>Rotates a image at a specified point by a specified angle.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>string</type>
			<required>yes</required>
			<default>2</default>
			<description>The x coordinate for the point of rotation. The default value is 2.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>string</type>
			<required>no</required>
			<default>2</default>
			<description>The y coordinate for the point of rotation. The default value is 2.</description>
    </argument>
		<argument>
			<name>angle</name>
			<type>string</type>
			<required>no</required>
			<default>0</default>
			<description>The rotation angle in degrees.</description>
    </argument>
		<argument>
			<name>interpolation</name>
			<type>string</type>
			<required>no</required>
			<default>nearest</default>
		<description>Type of interpolation:
- nearest (default): Applies the nearest neighbor method of interpolation. Image quality is lower than the other interpolation methods, but processing is fastest.
- bilinear: Applies the bilinear method of interpolation. The quality of the image is less pixelated than the default, but processing is slower.
- bicubic: Applies the bicubic method of interpolation. Generally, the quality of image is highest with this method and processing is slowest.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageRotateDrawingAxis -->
	<function>
		<name>ImageRotateDrawingAxis</name>
		<class>railo.runtime.functions.image.ImageRotateDrawingAxis</class>
		<description>Rotates all subsequent drawing on a image at a specified point by a specified angle.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>angle</name>
			<type>number</type>
			<required>no</required>
		<description>The rotation angle in degrees.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>no</required>
		<description>The x coordinate for the point of rotation. The default value is 0.</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>no</required>
		<description>The y coordinate for the point of rotation. The default value is 0.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageScaleToFit -->
	<function>
		<name>ImageScaleToFit</name>
		<class>railo.runtime.functions.image.ImageScaleToFit</class>
		<description>Creates a resized image with the aspect ratio maintained.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>fitWidth</name>
			<type>string</type>
			<required>yes</required>
		<description>The width of the bounding box in pixels. You can specify an integer, or an empty string ("") if the fitHeight is specified.</description>
    </argument>
		<argument>
			<name>fitHeight</name>
			<type>string</type>
			<required>yes</required>
		<description>The height of the bounding box in pixels. You can specify an integer, or an empty string ("") if the fitWidth is specified. </description>
    </argument>
		<argument>
			<name>interpolation</name>
			<type>string</type>
			<required>no</required>
			<default>highestQuality</default>
		<description>The interpolation method for resampling. You can specify a specific interpolation algorithm by name (for example, hamming), by image quality (for example, mediumQuality), or by performance (for example, highestPerformance). Valid values are:
- highestQuality (default)
- highQuality
- mediumQuality
- highestPerformance
- highPerformance
- mediumPerformance
- nearest
- bilinear
- bicubic
- bessel
- blackman
- hamming
- hanning
- hermite
- lanczos
- mitchell
- quadratic</description>
    </argument>
		<argument>
			<name>blurFactor</name>
			<type>number</type>
			<required>no</required>
			<default>1</default>
		<description>The blur factor used for resampling. The higher the blur factor, the more blurred the image (also, the longer it takes to resize the image). Valid values are 1-10.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageWrite -->
	<function>
		<name>ImageWrite</name>
		<class>railo.runtime.functions.image.ImageWrite</class>
		<description>Writes a image to the specified filename or destination.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>destination</name>
			<type>string</type>
			<required>no</required>
		<description>The path to write the file.

If you create the image with the ImageNew function or another operation where you do not specify the filename, specify the destination parameter.
The file format is derived from the extension of the filename. The default value for this parameter is the filename of the original image source.</description>
    </argument>
		<argument>
			<name>quality</name>
			<type>number</type>
			<required>no</required>
			<default>0.75</default>
		<description>Defines the JPEG quality used to encode the image. This parameter applies only to destination files with an extension of JPG or JPEG. Valid values are fractions that range from 0 through 1 (the lower the number, the lower the quality). The default value is 0.75.</description>
    </argument>
		<argument>
			<name>overwrite</name>
			<type>boolean</type>
			<required>no</required>
			<default>true</default>
		<description>If set to true (default), overwrites the destination file.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageWriteBase64 -->
	<function>
		<name>ImageWriteBase64</name>
		<class>railo.runtime.functions.image.ImageWriteBase64</class>
		<description>Writes Base64 images to the specified filename and destination.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>destination</name>
			<type>string</type>
			<required>yes</required>
		<description>The path for the destination file.</description>
    </argument>
		<argument>
			<name>format</name>
			<type>string</type>
			<required>yes</required>
		<description>the image format</description>
    </argument>
		<argument>
			<name>inHTMLFormat</name>
			<type>boolean</type>
			<required>no</required>
		<description>Specify whether Base64 output includes the headers used by the Base64 images in the HTML "img" tag ("data:image/{format};base64,...") :
- true
- false (default)</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- ImageSetAntialiasing -->
	<function>
		<name>ImageSetAntialiasing</name>
		<class>railo.runtime.functions.image.ImageSetAntialiasing</class>
		<description>Switches antialiasing on or off in rendered graphics.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>antialias</name>
			<type>string</type>
			<required>no</required>
			<default>on</default>
		<description>Antialiasing switch:
- on,true: (default)
- off,false:</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageSetBackgroundColor -->
	<function>
		<name>ImageSetBackgroundColor</name>
		<class>railo.runtime.functions.image.ImageSetBackgroundColor</class>
		<description>Sets the background color for the image. The background color is used for clearing a region. Setting the background color only affects the subsequent ImageClearRect calls</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>color</name>
			<type>string</type>
			<required>yes</required>
		<description>Background color (The default value is "black"):
- Hexadecimal value of RGB color. For example, specify the color white as ##FFFFFF or FFFFFF.
- String value of color (for example, "black", "red", "green"). 
- List of three numbers for (R,G,B) values. Each value must be in the range 0-255.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageSetDrawingAlpha -->
	<function>
		<name>ImageSetDrawingAlpha</name>
		<class>railo.runtime.functions.image.ImageSetDrawingAlpha</class>
		<description>Sets the current drawing alpha for images. All subsequent graphics operations use the specified alpha.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>alpha</name>
			<type>number</type>
			<required>yes</required>
		<description>a floating point number in range 0-1</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageSetDrawingColor -->
	<function>
		<name>ImageSetDrawingColor</name>
		<class>railo.runtime.functions.image.ImageSetDrawingColor</class>
		<description>Sets the current drawing color for images. All subsequent graphics operations use the specified color.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>color</name>
			<type>string</type>
			<required>yes</required>
		<description>Drawing color (The default value is "black"):
- Hexadecimal value of RGB color. For example, specify the color white as ##FFFFFF or FFFFFF.
- String value of color (for example, "black", "red", "green"). 
- List of three numbers for (R,G,B) values. Each value must be in the range 0-255.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageSetDrawingStroke -->
	<function>
		<name>ImageSetDrawingStroke</name>
		<class>railo.runtime.functions.image.ImageSetDrawingStroke</class>
		<description>Sets the drawing stroke for points and lines in subsequent images.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>attributeCollection</name>
			<type>struct</type>
			<required>no</required>
		<description>The structure used to specify the line attributes:
- width: Pen width, which is measured perpendicularly to the pen trajectory.
- endcaps: Decoration applied to the ends of unclosed subpaths and dash segments. Subpaths that start and end on the same point are considered unclosed if they do not have a close segment, valid values are ( butt.round,square )
- lineJoins: Type of line joins, valid values are (bevel,miter,join)
- miterLimit:The limit to trim a line join that has a mitered join decoration. (Use only when lineJoins = "miter".) A line join is trimmed when the ratio of miter length to stroke width is greater than the miterLimit value. The miter length is the diagonal length of the miter, which is the distance between the inside corner and the outside corner of the intersection. The smaller the angle formed by two line segments, the longer the miter length and the sharper the angle of intersection. The default value is 10.0, which trims all angles less than 11 degrees. Trimming miters converts the decoration of the line join to bevel.
- dashArray: An array of numbers that indicates the dash pattern. For example. if dashArray is (8,4), the dash pattern is 8 pixels solid, 4 pixels blank, 8 pixels solid, 4 pixels blank, and so on.
- dash_phases: An offset into the dash pattern. For example, a dash_phase of 2, and a dashArray of (8,4) produces the dash pattern of 6 pixels solid, 4 pixels blank, 8 pixels solid, 4 pixels blank, and so on.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageSetDrawingTransparency -->
	<function>
		<name>ImageSetDrawingTransparency</name>
		<class>railo.runtime.functions.image.ImageSetDrawingTransparency</class>
		<description>Specifies the degree of transparency of drawing functions.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>percent</name>
			<type>number</type>
			<required>no</required>
			<default>1</default>
		<description>Percent of transparency, a floating point number in range 0-100</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageSharpen -->
	<function>
		<name>ImageSharpen</name>
		<class>railo.runtime.functions.image.ImageSharpen</class>
		<description>Sharpens a image by using the unsharp mask filter.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>gain</name>
			<type>number</type>
			<required>no</required>
			<default>1</default>
		<description>Gain values can be integers or real numbers. The default value is 1.0.
The value determines whether the image is blurred or sharpened:
- if &gt; 0, the image is sharpened
- if = 0, no effect
- if &lt; 0, the image is blurred</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageShear -->
	<function>
		<name>ImageShear</name>
		<class>railo.runtime.functions.image.ImageShear</class>
		<description>Shears an image either horizontally or vertically.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>shear</name>
			<type>number</type>
			<required>Yes</required>
		<description>Shear value. Coordinates can be integers or real numbers.</description>
    </argument>
		<argument>
			<name>direction</name>
			<type>string</type>
			<required>no</required>
			<default>horizontal</default>
		<description>Shear direction:
- horizontal (default)
- vertical</description>
    </argument>
		<argument>
			<name>interpolation</name>
			<type>string</type>
			<required>no</required>
			<default>nearest</default>
		<description>Type of interpolation:
- nearest (default): Applies the nearest neighbor method of interpolation. Image quality is lower than the other interpolation methods, but processing is fastest.
- bilinear: Applies the bilinear method of interpolation. The quality of the image is less pixelated than the default, but processing is slower.
- bicubic: Applies the bicubic method of interpolation. Generally, the quality of image is highest with this method and processing is slowest.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageShearDrawingAxis -->
	<function>
		<name>ImageShearDrawingAxis</name>
		<class>railo.runtime.functions.image.ImageShearDrawingAxis</class>
		<description>Shears the drawing canvas.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>shx</name>
			<type>number</type>
			<required>Yes</required>
		<description>The multiplier by which coordinates are shifted in the positive x axis direction as a function of the y coordinate.</description>
    </argument>
		<argument>
			<name>shy</name>
			<type>number</type>
			<required>Yes</required>
		<description>the multiplier by which coordinates are shifted in the positive y axis direction as a function of the x coordinate.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageTranslate -->
	<function>
		<name>ImageTranslate</name>
		<class>railo.runtime.functions.image.ImageTranslate</class>
		<description>Copies an image to a new location on the plane.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>xTrans</name>
			<type>number</type>
			<required>Yes</required>
		<description>Displacement in the x direction.</description>
    </argument>
		<argument>
			<name>yTrans</name>
			<type>number</type>
			<required>Yes</required>
		<description>Displacement in the y direction.</description>
    </argument>
		<argument>
			<name>interpolation</name>
			<type>string</type>
			<required>no</required>
			<default>nearest</default>
		<description>Type of interpolation:
- nearest (default): Applies the nearest neighbor method of interpolation. Image quality is lower than the other interpolation methods, but processing is fastest.
- bilinear: Applies the bilinear method of interpolation. The quality of the image is less pixelated than the default, but processing is slower.
- bicubic: Applies the bicubic method of interpolation. Generally, the quality of image is highest with this method and processing is slowest.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageTranslateDrawingAxis -->
	<function>
		<name>ImageTranslateDrawingAxis</name>
		<class>railo.runtime.functions.image.ImageTranslateDrawingAxis</class>
		<description>Translates the origin of the image context to the point (x,y) in the current coordinate system. 
		Modifies the image context so that its new origin corresponds to the point (x,y) in the image's original coordinate system.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>x</name>
			<type>number</type>
			<required>Yes</required>
		<description>x coordinate</description>
    </argument>
		<argument>
			<name>y</name>
			<type>number</type>
			<required>Yes</required>
		<description>y coordinate</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ImageXORDrawingMode -->
	<function>
		<name>ImageXORDrawingMode</name>
		<class>railo.runtime.functions.image.ImageXORDrawingMode</class>
		<description>Sets the paint mode of the image to alternate between the image's current color and the new specified color.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The image on which this operation is performed.</description>
    </argument>
		<argument>
			<name>color</name>
			<type>string</type>
			<required>Yes</required>
		<description>the color (The default value is "black"):
- Hexadecimal value of RGB color. For example, specify the color white as ##FFFFFF or FFFFFF.
- String value of color (for example, "black", "red", "green"). 
- List of three numbers for (R,G,B) values. Each value must be in the range 0-255.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	
	<!-- IntergralContext -->
	<function>
		<name>IntergralContext</name>
		<class>railo.runtime.functions.other.IntergralContext</class>
		<description>return the integral context information, FusionDebug has do be installed for this.</description>
		
		<return>
			<type>struct</type>
		</return>
	</function>
	
	<!-- Invoke -->
	<function>
		<name>Invoke</name>
		<class>railo.runtime.functions.dynamicEvaluation.Invoke</class>
		<description>invokes a function/operation of the given object and if given object is a string, Railo tries to load as component.</description>
		<argument>
			<name>object</name>
			<alias>cfcinstance,obj,value,variable</alias>
			<type>any</type>
			<required>Yes</required>
			<description>a component, struct or scope that holds a function, can also be the name of a component, in this case the component get loaded.</description>
	    </argument>
		<argument>
			<name>name</name>
			<alias>methodname,method,functionname,function</alias>
			<type>string</type>
			<required>Yes</required>
			<description>name of the function/operation</description>
	    </argument>
		<argument>
			<name>arguments</name>
			<alias>args,argumentcollection</alias>
			<type>any</type>
			<required>no</required>
			<description>arguments to pass to the function/operation</description>
	    </argument>
		
		<return>
			<type>object</type>
		</return>
	</function>
	<!-- IsClosure -->
	<function>
		<name>IsClosure</name>
		<class>railo.runtime.functions.decision.IsClosure</class>
		<description>checks if given Object is a closure or not.</description>
		<argument>
			<name>object</name>
			<alias>obj,value</alias>
			<type>any</type>
			<required>Yes</required>
		<description>The object that is checked.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	
	<!-- IsEmpty -->
	<function>
		<name>IsEmpty</name>
		<class>railo.runtime.functions.decision.IsEmpty</class>
		<description>return true if a value is "empty". 
The following things are considered to be empty:
- string:"" (an empty string)
- array: [] (an empty array)
- struct: {} (an empty struct)
...
		 </description>
		<argument>
			<name>value</name>
			<alias>object</alias>
			<type>any</type>
			<required>Yes</required>
			<description></description>
    	</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsImage -->
	<function>
		<name>IsImage</name>
		<class>railo.runtime.functions.image.IsImage</class>
		<description>Determines whether a variable returns a image.</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>The variable that is checked.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsImageFile -->
	<function>
		<name>IsImageFile</name>
		<class>railo.runtime.functions.image.IsImageFile</class>
		<description>Verifies whether an image file is valid.</description>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>Yes</required>
		<description>The pathname of the file to be checked. The pathname can be absolute or relative to the CFM page and must be enclosed in quotation marks.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsIPInRange -->
	<function>
		<name>IsIPInRange</name>
		<class>railo.runtime.functions.decision.IsIPInRange</class>
		<description>Checks if an ip is in the range of a list of given ips. IPv4 and IPv6 are supported.</description>
		<argument>
			<name>ips</name>
			<type>any</type>
			<required>Yes</required>
			<description>A comma separeted list of strings or a string array of ip defintions. The following patterns are allowed:
- a single ip, like "127.0.0.1"
- an ip with wildcards like "127.0.0.*", in this case all ips between "127.0.0.0" and "127.0.0.255" are valid
- an ip range like "127.0.0.1-127.0.0.10", in this case all ips between "127.0.0.1" and "127.0.0.10" are valid
</description>
    	</argument>
    	<argument>
			<name>ip</name>
			<type>string</type>
			<required>Yes</required>
			<description>ip to search</description>
    	</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsJson -->
	<function>
		<name>IsJson</name>
		<class>railo.runtime.functions.conversion.IsJSON</class>
		<description>Evaluates whether a string is in valid JSON (JavaScript Object Notation) data interchange format.</description>
		<argument>
			<name>var</name>
			<type>any</type>
			<required>Yes</required>
		<description>A string or variable that represents one.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsIPv6 -->
	<function>
		<name>IsIPv6</name>
		<class>railo.runtime.functions.decision.IsIPv6</class>
		<description>checks if given IP is of IPV6 format</description>
		<argument>
			<name>hostname</name>
			<type>string</type>
			<required>no</required>
		<description>the hostname to check</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	
	
	<!-- IsPDFFile -->
	<function>
		<name>IsPDFFile</name>
		<class>railo.runtime.functions.decision.IsPDFFile</class>
		<status>unimplemeted</status>
		<description>Verifies whether a PDF file is valid.</description>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>Yes</required>
		<description>Pathname to a PDF file. The pathname can be absolute or relative to the CFM page and must be enclosed in quotation marks.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsPDFObject -->
	<function>
		<name>IsPDFObject</name>
		<class>railo.runtime.functions.decision.IsPDFObject</class>
		<description>Determines whether a value is a PDF object.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>A value, typically the PDF object stored as a variable name.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsZipFile -->
	<function>
		<name>IsZipFile</name>
		<class>railo.runtime.functions.system.IsZipFile</class>
		<description>Verifies whether an zip file is valid.</description>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>Yes</required>
		<description>path to the zip file</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	
	
	
	<!-- incrementValue -->
	<function>
		<name>incrementValue</name>
		<class>railo.runtime.functions.math.IncrementValue</class>
		<status>deprecated</status>
		<description>this function is deprecated, use instead the ++ operator;Increments the current number by one</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Number to increment</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- inputBaseN -->
	<function>
		<name>inputBaseN</name>
		<class>railo.runtime.functions.math.InputBaseN</class>
		<description>Converts string, using the base specified by radix, to an
        integer. For example: #InputBaseN("3ff",16)#</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String that represents a number, in the base specified by radix.</description>
    </argument>
		<argument>
			<name>radix</name>
			<type>number</type>
			<required>Yes</required>
		<description>Base of the number represented by string, in the range 2-36.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- insert -->
	<function>
		<name>insert</name>
		<class>railo.runtime.functions.string.Insert</class>
		<description>Inserts a substring in a string after a specified character
        position. If position = 0, prefixes the substring to the
        string.</description>
		<argument>
			<name>substring</name>
			<type>string</type>
			<required>Yes</required>
		<description>String to insert.</description>
    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String into which to insert substring.</description>
    </argument>
		<argument>
			<name>position</name>
			<type>number</type>
			<required>Yes</required>
		<description>position in string after which to insert substring.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- int -->
	<function>
		<name>int</name>
		<class>railo.runtime.functions.math.Int</class>
		<description>Calculates the closest integer that is smaller than number.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Real number to round down to an integer.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- isArray -->
	<function>
		<name>isArray</name>
		<class>railo.runtime.functions.decision.IsArray</class>
		<description>Determines whether a value is an array.
        True, if value is an array, a query column object, or xml.
        also number = Dimension; function tests whether the array has
        exactly this dimension</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Variable or array name</description>
    </argument>
		<argument>
			<name>dimension</name>
			<type>number</type>
			<required>No</required>
			<default>-999</default>
		<description>function tests whether the array has exactly this dimension.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isBinary -->
	<function>
		<name>isBinary</name>
		<class>railo.runtime.functions.decision.IsBinary</class>
		<description>Determines whether a value is stored as binary data.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Number or string</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isBoolean -->
	<function>
		<name>isBoolean</name>
		<class>railo.runtime.functions.decision.IsBoolean</class>
		<description>Determines if the object represents a boolean value</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Number or string</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isCustomFunction -->
	<function>
		<name>isCustomFunction</name>
		<class>railo.runtime.functions.decision.IsCustomFunction</class>
		<description>Determines whether a name represents a custom function</description>
		<argument>
			<name>name</name>
			<type>any</type>
			<required>Yes</required>
		<description>Name of a custom function. Must not be in quotation marks. If not a defined variable or function name, Railo generates an error.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isDate -->
	<function>
		<name>isDate</name>
		<class>railo.runtime.functions.decision.IsDate</class>
		<description>Determines whether a string or Java object can be converted
        to a date/time value.</description>
		<argument>
			<name>string</name>
			<type>any</type>
			<required>Yes</required>
		<description>A string or a variable that contains one. </description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsDDX -->
	<function>
		<name>IsDDX</name>
		<class>railo.runtime.functions.decision.IsDDX</class>
		<status>unimplemeted</status>
		<description>Determines whether a DDX file exists and is valid, or if a string contains valid DDX instructions.</description>
		<argument>
			<name>pathOrString</name>
			<type>string</type>
			<required>Yes</required>
		<description>Pathname to the DDX file or a string of DDX instructions. The pathname can be absolute or relative to the CFM page that calls it and must be enclosed in quotation marks.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsInstanceOf -->
	<function>
		<name>IsInstanceOf</name>
		<class>railo.runtime.functions.decision.IsInstanceOf</class>
		<description>Determines whether an object is an instance of a Railo interface or component, or of a Java class.</description>
		<argument>
			<name>obj</name>
			<type>any</type>
			<required>Yes</required>
		<description>The CFC instance or Java object that you are testing</description>
    </argument>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>Yes</required>
		<description>The name of the interface, component, or Java class of which the object might be an instance.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	
	<!-- isDebugMode -->
	<function>
		<name>isDebugMode</name>
		<class>railo.runtime.functions.decision.IsDebugMode</class>
		<description>Determines whether debugging output is enabled.</description>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isDefined -->
	<function>
		<name>isDefined</name>
		<class>railo.runtime.functions.decision.IsDefined</class>
		<tte-class>railo.transformer.cfml.evaluator.func.impl.IsDefined</tte-class>
		<description>Evaluates a string value to determine whether the variable
        named in it exists.</description>
		<argument>
			<name>variable</name>
			<type>string</type>
			<required>Yes</required>
		<description>String, enclosed in quotation marks. Name of variable to test for.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isK2ServerABroker (Deprecated) -->
	<function>
		<name>isK2ServerABroker</name>
		<class>railo.runtime.functions.decision.IsK2ServerABroker</class>
		<status>deprecated</status>
		<description>This function is deprecated. </description>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isK2ServerDocCountExceeded  (Deprecated)-->
	<function>
		<name>isK2ServerDocCountExceeded</name>
		<class>railo.runtime.functions.decision.IsK2ServerDocCountExceeded</class>
			<status>deprecated</status>
		<description>This function is deprecated. </description>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isK2ServerOnline (Deprecated) -->
	<function>
		<name>isK2ServerOnline</name>
		<class>railo.runtime.functions.decision.IsK2ServerOnline</class>
			<status>deprecated</status>
		<description>This function is deprecated.</description>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isLeapYear -->
	<function>
		<name>isLeapYear</name>
		<class>railo.runtime.functions.decision.IsLeapYear</class>
		<description>Determines whether a year is a leap year.</description>
		<argument>
			<name>year</name>
			<type>number</type>
			<required>Yes</required>
		<description>Number representing a year</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isLocalHost -->
	<function>
		<name>isLocalHost</name>
		<class>railo.runtime.functions.decision.IsLocalHost</class>
		<description>Determines whether the specified IP address is the localhost.</description>
		<argument>
			<name>ip</name>
			<type>String</type>
			<required>Yes</required>
		<description>Valid IP address.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>

	<!-- isNotMap -->
	<function>
		<name>isNotMap</name>
		<class>railo.runtime.functions.other.IsNotMap</class>
		<description>return true if the given Object is not of Type java.util.Map</description>
		<argument>
			<name>obj</name>
			<type>any</type>
			<required>Yes</required>
		<description>object to check</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isNull -->
	<function>
		<name>isNull</name>
		<class>railo.runtime.functions.other.IsNull</class>
		<tte-class>railo.transformer.cfml.evaluator.func.impl.IsNull</tte-class>
		<description>Determines whether given object is null or not</description>
		<argument>
			<name>object</name>
			<type>any</type>
			<required>Yes</required>
		<description>Object for which you perform the null check. </description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isNumeric -->
	<function>
		<name>isNumeric</name>
		<class>railo.runtime.functions.decision.IsNumeric</class>
		<description>Determines if the object represents a numeric</description>
		<argument>
			<name>string</name>
			<type>any</type>
			<required>Yes</required>
		<description>A string or a variable that contains one. </description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isNumericDate -->
	<function>
		<name>isNumericDate</name>
		<class>railo.runtime.functions.decision.IsNumericDate</class>
		<description>Evaluates whether a real number is a valid representation of a
        date (date/time object).</description>
		<argument>
			<name>number</name>
			<type>any</type>
			<required>Yes</required>
		<description>A real number</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isObject -->
	<function>
		<name>isObject</name>
		<class>railo.runtime.functions.decision.IsObject</class>
		<description>Determines whether a value is an object.
        True, if the value represents a CFML object. False if
        the value is any other type of data, such as an integer, string,
        date, or struct.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>A value, typically the name of a variable.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isQuery -->
	<function>
		<name>isQuery</name>
		<class>railo.runtime.functions.query.IsQuery</class>
		<description>Determines whether value is a query.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Query variable</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isSimpleValue -->
	<function>
		<name>isSimpleValue</name>
		<class>railo.runtime.functions.decision.IsSimpleValue</class>
		<description>Determines if the object represents a simple value like a string, number, boolean etc</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Variable or expression</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsSOAPRequest -->
	<function>
		<name>IsSOAPRequest</name>
		<class>railo.runtime.functions.decision.IsSOAPRequest</class>
		<status>implemeted</status>
		<description>Determines whether a CFC is being called as a web service.</description>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isStruct -->
	<function>
		<name>isStruct</name>
		<class>railo.runtime.functions.struct.IsStruct</class>
		<description>Determines if the object is a structure</description>
		<argument>
			<name>variable</name>
			<type>any</type>
			<required>Yes</required>
		<description>Variable name</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isUserInRole -->
	<function>
		<name>isUserInRole</name>
		<class>railo.runtime.functions.decision.IsUserInRole</class>
		<description>Determines whether an authenticated user belongs to the
        specified Role.</description>
		<argument>
			<name>role_name</name>
			<alias>rolename,role,name</alias>
			<type>any</type>
			<required>Yes</required>
			<description>Name of a security role</description>
	    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>

	<!-- isUserInAnyRole -->
	<function>
		<name>isUserInAnyRole</name>
		<class>railo.runtime.functions.decision.IsUserInAnyRole</class>
		<description>Determines whether an authenticated user belongs to any role in a list of roles.</description>
		<argument>
			<name>role_list</name>
			<alias>rolelist,role,list</alias>
			<type>string</type>
			<required>No</required>
			<description>A comma-delimited list of one or more roles to be tested.</description>
	    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>

	<!-- IsUserLoggedIn -->
	<function>
		<name>IsUserLoggedIn</name>
		<class>railo.runtime.functions.decision.IsUserLoggedIn</class>
		<description>Determines whether a user is logged in.</description>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	
	<!-- IsValid -->
	<function>
		<name>isValid</name>
		<class>railo.runtime.functions.decision.IsValid</class>
		<description>Tests whether a value meets a validation or data type rule.</description>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>Yes</required>
		<description>
			The valid format for the data; one of the following:
			- any: any simple value. Returns false for complex values, such as query objects; equivalent to the IsSimpleValue function.
			- array: an array; equivalent to the IsArray function.
			- binary: a binary value; equivalent to the IsBinary function.
			- boolean: a Boolean value; equivalent to the IsBoolean function.
			- component: a component (CFC).
			- creditcard: a 13-16 digit number conforming to the mod10 algorithm.
			- date or time: any date-time value, including dates or times; equivalent to the IsDate function.
			- email: a string containig a valid email address.
			- eurodate: this functionality is only supported for compatibility reasion, we do not suggest to use this functionality. Use instead function isDate or lsIsDate. A date in the form d/m/y, d-m-y, or d.m.y. The m and d format can be 1 or 2 digits; y can be 2 or 4 digits. 
			- float or numeric: a numeric value; equivalent to the IsNumeric function.
			- guid: a Globally Unique Identifier in the format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX where X is a hexadecimal number.
			- integer: an integer.
			- query: a query object; equivalent to the IsQuery function.
			- range: a numeric range, specified by the min and max attributes.
			- regex or regular_expression: matches input against pattern attribute.
			- ssn or social_security_number: A U.S. social security number.
			- string: a string value, including single characters and numbers
			- struct: a structure; equivalent to the IsStruct function.
			- telephone: a standard US telephone number.
			- URL: an http, https, ftp, file, mailto, or news URL,
			- UUID: a Universally Unique Identifier in the format XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXX, where X is a hexadecimal number. See CreateUUID.
			- USdate: this functionality is only supported for compatibility reasion, we do not suggest to use this functionality. Use instead function isDate or lsIsDate. A U.S. date of the format mm/dd/yy, with 1-2 digit days and months, 1-4 digit years.
			- variableName: a string formatted according to ColdFusion variable naming conventions.
			- zipcode: U.S., 5- or 9-digit format ZIP codes.</description>
    </argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>The value to test.</description>
    </argument>
		<argument>
			<name>min_or_pattern</name>
			<alias>min,pattern</alias>
			<type>any</type>
			<required>No</required>
		<description>
		The minimum valid value; used only for range validation or 
		a JavaScript regular expression that the parameter must match; used only for regex or regular_expression validation.</description>
    </argument>
		<argument>
			<name>max</name>
			<type>any</type>
			<required>no</required>
		<description>The maximum valid value; used only for range validation.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isWddx -->
	<function>
		<name>isWddx</name>
		<class>railo.runtime.functions.decision.IsWddx</class>
		<description>Determines whether a value is a well-formed WDDX packet.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>A WDDX packet</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsVideoFile -->
	<function>
		<name>IsVideoFile</name>
		<class>railo.runtime.functions.video.IsVideoFile</class>
		<description>
		Check if a String is a Video file
		</description>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
		<description>file to check</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsXML -->
	<function>
		<name>isXML</name>
		<class>railo.runtime.functions.decision.IsXML</class>
		<description>Determines whether a string is well-formed XML text.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>A string containing the XML document text</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsXmlAttribute -->
	<function>
		<name>IsXmlAttribute</name>
		<class>railo.runtime.functions.decision.IsXmlAttribute</class>
		<description>Determines whether the function parameter is an
        XML Document Object Model (DOM) attribute node.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Name of an XML attribute</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isXmlDoc -->
	<function>
		<name>isXmlDoc</name>
		<class>railo.runtime.functions.decision.IsXmlDoc</class>
		<description>Determines whether a function parameter is an Extended Markup
        language (XML) document object.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Name of an XML document object</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isXmlElem -->
	<function>
		<name>isXmlElem</name>
		<class>railo.runtime.functions.decision.IsXmlElem</class>
		<description>Determines whether a function parameter is an Extended Markup
        language (XML) document object element.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Name of an XML document object element</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- IsXmlNode -->
	<function>
		<name>IsXmlNode</name>
		<class>railo.runtime.functions.decision.IsXmlNode</class>
		<description>Determines whether the function parameter is
        an XML document object node.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Name of an XML document object node.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- isXmlRoot -->
	<function>
		<name>isXmlRoot</name>
		<class>railo.runtime.functions.decision.IsXmlRoot</class>
		<description>Determines whether a function parameter is the root element of
        an Extended Markup language (XML) document object.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Name of an XML document object</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- javaCast -->
	<function>
		<name>javaCast</name>
		<class>railo.runtime.functions.string.JavaCast</class>
		<description>Converts the data type of a CFML variable to pass as an
        argument to an overloaded method of a Java object. Use only
        for scalar and string arguments.
        [type - quicky]
        boolean,int,long,float,double,string</description>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>Yes</required>
		<description>Data type to which to convert variable:
		bigdecimal (converts to java.math.BigDecimal)
- boolean
- byte
- char
- int
- long
- float
- double
- short
- string
- null
- xxx[] where xxx is one of the following: any of the preceding types, except for null
- a Java class name</description>
    </argument>
		<argument>
			<name>variable</name>
			<type>any</type>
			<required>Yes</required>
		<description>the object to cast</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- jSStringFormat -->
	<function>
		<name>jSStringFormat</name>
		<class>railo.runtime.functions.string.JSStringFormat</class>
		<description>Escapes special JavaScript characters, such as single quotation
        mark, double quotation mark, and newline</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- lCase -->
	<function>
		<name>lCase</name>
		<class>railo.runtime.functions.string.LCase</class>
		<description>Converts the alphabetic characters in a string to lowercase.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- left -->
	<function>
		<name>left</name>
		<class>railo.runtime.functions.string.Left</class>
		<description>Returns the leftmost count characters in a string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one. </description>
    </argument>
		<argument>
			<name>count</name>
			<type>number</type>
			<required>Yes</required>
		<description>A positive integer. Number of characters to return.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- len -->
	<function>
		<name>len</name>
		<class>railo.runtime.functions.string.Len</class>
		<description>Determines the length of a string or binary object</description>
		<argument>
			<name>value</name>
			<alias>string</alias>
			<type>string</type>
			<required>Yes</required>
		<description>the length of a string</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- listAppend -->
	<function>
		<name>listAppend</name>
		<class>railo.runtime.functions.list.ListAppend</class>
		<description>Concatenates a list or element to a list.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string value</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.
			If this string contains more than one character, only the first character is used.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listAvg -->
	<function>
		<name>listAvg</name>
		<class>railo.runtime.functions.list.ListAvg</class>
		<description></description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- listChangeDelims -->
	<function>
		<name>listChangeDelims</name>
		<class>railo.runtime.functions.list.ListChangeDelims</class>
		<description>Changes a list delimiter.
        Returns a copy of the list, with each delimiter character
        replaced by new_delimiter.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>new_delimiter</name>
			<type>string</type>
			<required>Yes</required>
			<description>new delimiter to set. a delimiter is a characters that separate list elements.</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>existing delimiter to replace. a delimiter is a characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<default>false</default>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- ListCompact -->
	<function>
		<name>ListCompact</name>
		<class>railo.runtime.functions.list.ListCompact</class>
		<description>remove empty items at the and and at the start of the list</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listContains -->
	<function>
		<name>listContains</name>
		<class>railo.runtime.functions.list.ListContains</class>
		<description>Determines the index of the first list element that contains a
        specified substring.
        Returns the index of the first list element that contains
        substring. If not found, returns zero.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>substring</name>
			<type>string</type>
			<required>Yes</required>
			<description>the string to search in the list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- listContainsNoCase -->
	<function>
		<name>listContainsNoCase</name>
		<class>railo.runtime.functions.list.ListContainsNoCase</class>
		<description>Determines the index of the first list element that contains a
        specified substring.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>substring</name>
			<type>string</type>
			<required>Yes</required>
			<description>the string to search in the list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- listDeleteAt -->
	<function>
		<name>listDeleteAt</name>
		<class>railo.runtime.functions.list.ListDeleteAt</class>
		<description>Deletes an element from a list.
        Returns a copy of the list, without the specified element.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>position</name>
			<type>number</type>
			<required>Yes</required>
			<description>position of the element to delete</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listFilter -->
	<function>
		<name>listFilter</name>
		<class>railo.runtime.functions.list.ListFilter</class>
		<description>This function creates a new string list that returns all entries from an string list that match the given filter.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>list to filter entries from</description>
		</argument>
		<argument>
			<name>filter</name>
			<type>function</type>
			<required>Yes</required>
			<description>filter can be a function/closure that implements the following constructor [function(any value):boolean].</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listFind -->
	<function>
		<name>listFind</name>
		<class>railo.runtime.functions.list.ListFind</class>
		<description>Determines the index of the first list element in which a
        specified value occurs. Case-sensitive</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
			<description>element for which to search</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- listFindNoCase -->
	<function>
		<name>listFindNoCase</name>
		<class>railo.runtime.functions.list.ListFindNoCase</class>
		<description>Determines the index of the first list element in which a
        specified value occurs</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
			<description>element for which to search</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- listFirst -->
	<function>
		<name>listFirst</name>
		<class>railo.runtime.functions.list.ListFirst</class>
		<description>Gets the first element of a list.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listGetAt -->
	<function>
		<name>listGetAt</name>
		<class>railo.runtime.functions.list.ListGetAt</class>
		<description>Gets a list element at a specified position.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>position</name>
			<type>number</type>
			<required>Yes</required>
			<description>position of the element to return</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listInsertAt -->
	<function>
		<name>listInsertAt</name>
		<class>railo.runtime.functions.list.ListInsertAt</class>
		<description>Inserts an element in a list.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>position</name>
			<type>number</type>
			<required>Yes</required>
			<description>Position at which to insert element. The first list position is 1.</description>
		</argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
			<description>An element or a list of elements.</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- ListIndexExists -->
	<function>
		<name>ListIndexExists</name>
		<class>railo.runtime.functions.list.ListIndexExists</class>
		<description>Determines if an element at the given position exists or not</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>index</name>
			<type>number</type>
			<required>Yes</required>
			<description>index to check for.</description>
		</argument>
		<argument>
			<name>delimiter</name>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- ListItemTrim -->
	<function>
		<name>ListItemTrim</name>
		<class>railo.runtime.functions.list.ListItemTrim</class>
		<description>Removes all the white space surrounding each element, returning back the new list</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listLast -->
	<function>
		<name>listLast</name>
		<class>railo.runtime.functions.list.ListLast</class>
		<description>Gets the last element of a list.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listLen -->
	<function>
		<name>listLen</name>
		<class>railo.runtime.functions.list.ListLen</class>
		<description>Determines the number of elements in a list.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- listPrepend -->
	<function>
		<name>listPrepend</name>
		<class>railo.runtime.functions.list.ListPrepend</class>
		<description>Inserts an element at the beginning of a list.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
			<description>An element or a list of elements.</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listQualify -->
	<function>
		<name>listQualify</name>
		<class>railo.runtime.functions.list.ListQualify</class>
		<description>Inserts a string at the beginning and end of list elements.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>qualifier</name>
			<type>string</type>
			<required>Yes</required>
			<description>string to insert before and after the list elements specified in the elements parameter.</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>no</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>elements</name>
			<type>string</type>
			<required>no</required>
			<default>all</default>
			<description>
			which type of element are qualified
			 - all (default): all elements
			 - char: elements that are composed of alphabetic characters
			 </description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listRest -->
	<function>
		<name>listRest</name>
		<class>railo.runtime.functions.list.ListRest</class>
		<description>Gets a list, without its first element.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- ListRemoveDuplicates -->
	<function>
		<name>ListRemoveDuplicates</name>
		<class>railo.runtime.functions.list.ListRemoveDuplicates</class>
		<description>Removes duplicate values from list.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
            <name>ignoreCase</name>
            <type>boolean</type>
            <required>false</required>
            <default>false</default>
            <description>if set to true, the duplicate value test will not be case sensitive</description>
        </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listSetAt -->
	<function>
		<name>listSetAt</name>
		<class>railo.runtime.functions.list.ListSetAt</class>
		<description>Replaces the contents of a list element.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>position</name>
			<type>number</type>
			<required>Yes</required>
			<description>Position at which to set a value. The first list position is 1.</description>
		</argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
			<description>An element or a list of elements to set.</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listSort -->
	<function>
		<name>listSort</name>
		<class>railo.runtime.functions.list.ListSort</class>
		<description>Sorts list elements according to a sort type and sort order.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>sort_type</name>
			<type>string</type>
			<required>Yes</required>
			<description>
			there are different sort types:
			- numeric (sort by number)
			- text (sorts text alphabetically and case sensitive)
			- textnocase (sorts text alphabetically and ignore case sensitivity)
			</description>
		</argument>
		<argument>
			<name>sort_order</name>
			<type>string</type>
			<required>No</required>
			<default>asc</default>
			<description>sort direction:
			- asc(default): ascending sort order
			- desc: descending sort order </description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listToArray -->
	<function>
		<name>listToArray</name>
		<class>railo.runtime.functions.list.ListToArray</class>
		<description>Copies the elements of a list to an array.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiter</name>
			<alias>delimiters</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<argument>
			<name>multiCharacterDelimiter</name>
			<type>boolean</type>
			<required>No</required>
			<description>specifying whether the delimiters parameter specifies a multi-character delimiter. The default is false. If this parameter is true, the delimiters parameter must specify a single delimiter consisting of multiple characters. This parameter enables the ListToArray function to convert a list such as the following to an array of color names: red:|orange:|yellow:|green:|blue:|indigo:|violet.</description>
		</argument>
		
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- listTrim -->
	<function>
		<name>listTrim</name>
		<class>railo.runtime.functions.list.ListTrim</class>
		<status>deprecated</status>
		<description>this function is deprecated, use instead ListCompact</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>delimiters</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- listValueCount -->
	<function>
		<name>listValueCount</name>
		<class>railo.runtime.functions.list.ListValueCount</class>
		<description>Counts instances of a specified value in a list. The search is
        case-sensitive.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
			<description>Item for which to search</description>
		</argument>
		<argument>
			<name>delimiter</name>
			<alias>delimiters</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- listValueCountNoCase -->
	<function>
		<name>listValueCountNoCase</name>
		<class>railo.runtime.functions.list.ListValueCountNoCase</class>
		<description>Counts instances of a specified value in a list. The search is
        case-insensitive.</description>
		<argument>
			<name>list</name>
			<type>string</type>
			<required>Yes</required>
			<description>a string list</description>
		</argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
			<description>Item for which to search</description>
		</argument>
		<argument>
			<name>delimiter</name>
			<alias>delimiters</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Characters that separate list elements. The default value is comma.</description>
		</argument>
		<argument>
			<name>includeEmptyFields</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to true, empty values are included as well</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- lJustify -->
	<function>
		<name>lJustify</name>
		<class>railo.runtime.functions.string.LJustify</class>
		<description>Left justifies characters in a string of a specified length.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<argument>
			<name>length</name>
			<type>number</type>
			<required>Yes</required>
		<description>Length of field in which to justify string</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- log -->
	<function>
		<name>log</name>
		<class>railo.runtime.functions.math.Log</class>
		<description>Calculates the natural logarithm of a number. Natural
        logarithms are based on the constant e (2.71828182845904).</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Positive real number for which to calculate the natural logarithm</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- log10 -->
	<function>
		<name>log10</name>
		<class>railo.runtime.functions.math.Log10</class>
		<description>Calculates the logarithm of number, to base 10.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Positive real number for which to calculate the logarithm</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- lSCurrencyFormat -->
	<function>
		<name>lSCurrencyFormat</name>
		<class>railo.runtime.functions.international.LSCurrencyFormat</class>
		<description>Formats a number in a locale-specific currency format.</description>
		<argument>
			<name>number</name>
			<type>object</type>
			<required>Yes</required>
		<description>Currency value</description>
    </argument>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>No</required>
			<default>local</default>
		<description></description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- lSDateFormat -->
	<function>
		<name>lSDateFormat</name>
		<class>railo.runtime.functions.international.LSDateFormat</class>
		<description>Formats a date string to a given output using the current sessions locale</description>
		<argument>
			<name>date</name>
			<type>any</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>string</type>
			<required>No</required>
			<default>medium</default>
		<description></description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	

	<!-- lSDateTimeFormat -->
	<function>
		<name>lSDateTimeFormat</name>
		<class>railo.runtime.functions.international.LSDateTimeFormat</class>
		<description>Formats a date string to a given output using the current locale</description>
		<argument>
			<name>date</name>
			<type>any</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>string</type>
			<required>No</required>
			<default>dd-MMM-yyyy HH:mm:ss</default>
		<description>
		Mask that has to be used for formatting. The function follows Java date time mask. For details, see the section Date and Time Patterns at the following URL: http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
		</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	
	<!-- lSEuroCurrencyFormat -->
	<function>
		<name>lSEuroCurrencyFormat</name>
		<class>railo.runtime.functions.international.LSEuroCurrencyFormat</class>
		<description>Returns back the formatted EURO currency representation of the number</description>
		<argument>
			<name>currency_number</name>
			<type>object</type>
			<required>Yes</required>
			<description>Currency value</description>
		</argument>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>No</required>
			<description>
			one of the following:
			- local (the currency format used in the locale. (default) )
			- international (the international standard currency format of the locale)
			- none (the currency format used in the locale; no currency symbol)</description>
		</argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
			<description>Locale to use instead of the locale of the page when processing the function</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- lSIsCurrency -->
	<function>
		<name>lSIsCurrency</name>
		<class>railo.runtime.functions.international.LSIsCurrency</class>
		<description>Determines whether a string is a valid representation of a
        currency amount in the current locale.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A currency string</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- lSIsDate -->
	<function>
		<name>lSIsDate</name>
		<class>railo.runtime.functions.international.LSIsDate</class>
		<description>Determines whether a string is a valid representation of a
        date/time value in the current locale.</description>
		<argument>
			<name>string</name>
			<type>any</type>
			<required>Yes</required>
		<description>A string or a variable that contains one </description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>no</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- lSIsNumeric -->
	<function>
		<name>lSIsNumeric</name>
		<class>railo.runtime.functions.international.LSIsNumeric</class>
		<description>Determines whether a string is a valid representation of a
        number in the current locale.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- lSNumberFormat -->
	<function>
		<name>lSNumberFormat</name>
		<class>railo.runtime.functions.international.LSNumberFormat</class>
		<description>Formats a number to the given format mask in the current locale</description>
		<argument>
			<name>number</name>
			<type>any</type>
			<required>Yes</required>
		<description>Number to format</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- lSParseCurrency -->
	<function>
		<name>lSParseCurrency</name>
		<class>railo.runtime.functions.international.LSParseCurrency</class>
		<description>Converts a locale-specific currency string into a formatted
        number. Attempts conversion by comparing the string with each
        the three supported currency formats (none, local,
        international) and using the first that matches.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A locale-specific string</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- lSParseDateTime -->
	<function>
		<name>lSParseDateTime</name>
		<class>railo.runtime.functions.international.LSParseDateTime</class>
		<description>Converts a string that is a valid date/time representation in
        the current locale into a date/time object.</description>
		<argument>
			<name>date</name>
			<type>object</type>
			<required>Yes</required>
		<description>A string in a format that is readable in the current locale. </description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
			<description>Locale to use instead of the locale of the page when processing the function</description>
	    </argument>
		<argument>
			<name>timezone</name>
			<alias>timezone</alias>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
			</description>
	    </argument>
	    
		<argument>
			<name>format</name>
			<type>string</type>
			<required>No</required>
		<description>The format (Java Syntax) of the string. This string is used to parse the given date string to date time object.
		For details see: http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- lSParseEuroCurrency -->
	<function>
		<name>lSParseEuroCurrency</name>
		<class>railo.runtime.functions.international.LSParseEuroCurrency</class>
		<description>Formats a locale-specific currency string as a number.
        Attempts conversion through each of the default currency
        formats (none, local, international). Ensures correct
        handling of euro currency for Euro zone countries.</description>
		<argument>
			<name>currency_string</name>
			<type>string</type>
			<required>Yes</required>
		<description>Locale-specific string</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- lSParseNumber -->
	<function>
		<name>lSParseNumber</name>
		<class>railo.runtime.functions.international.LSParseNumber</class>
		<description>Converts a string that is a valid numeric representation in
        the current locale into a formatted number.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- lSTimeFormat -->
	<function>
		<name>lSTimeFormat</name>
		<class>railo.runtime.functions.international.LSTimeFormat</class>
		<description>Formats a time string to a given output using the current locale.</description>
		<argument>
			<name>time</name>
			<type>any</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>string</type>
			<required>No</required>
			<default>short</default>
		<description></description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- lTrim -->
	<function>
		<name>lTrim</name>
		<class>railo.runtime.functions.string.LTrim</class>
		<description>Removes leading spaces from a string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- max -->
	<function>
		<name>max</name>
		<class>railo.runtime.functions.math.Max</class>
		<description>Determines the greater of two numbers.</description>
		<argument>
			<name>number1</name>
			<type>number</type>
			<required>Yes</required>
			<description>first number</description>
		</argument>
		<argument>
			<name>number2</name>
			<type>number</type>
			<required>Yes</required>
			<description>second number</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- metaphone -->
	<function>
		<name>metaphone</name>
		<class>railo.runtime.functions.string.Metaphone</class>
		<description>Metaphone is a phonetic algorithm, an algorithm published in 1990 for indexing words by their English pronunciation. The algorithm produces variable length keys as its output, as opposed to Soundex's fixed-length keys. Similar sounding words share the same keys.</description>
		<argument>
			<name>str</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- mid -->
	<function>
		<name>mid</name>
		<class>railo.runtime.functions.string.Mid</class>
		<description>Extracts a substring from a string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>Must be single-quotation mark or double-quotation mark delimited. </description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>Yes</required>
		<description>The position of the first character to retrieve.</description>
    </argument>
		<argument>
			<name>count</name>
			<type>number</type>
			<required>no</required>
			<default>-1</default>
		<description>The number of characters to retrieve. If not set, all characters until the end of the string will be returned.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- min -->
	<function>
		<name>min</name>
		<class>railo.runtime.functions.math.Min</class>
		<description>Determines the lesser of two numbers.</description>
		<argument>
			<name>number1</name>
			<type>number</type>
			<required>Yes</required>
			<description>first number</description>
		</argument>
		<argument>
			<name>number2</name>
			<type>number</type>
			<required>Yes</required>
			<description>second number</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- minute -->
	<function>
		<name>minute</name>
		<class>railo.runtime.functions.dateTime.Minute</class>
		<member-name>minute</member-name>
		<description>Extracts the minute value from a date/time object.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- millisecond -->
	<function>
		<name>millisecond</name>
		<class>railo.runtime.functions.dateTime.MilliSecond</class>
		<member-name>millisecond</member-name>
		<description>Returns the milliseconds of the referenced date</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- month -->
	<function>
		<name>month</name>
		<class>railo.runtime.functions.dateTime.Month</class>
		<member-name>month</member-name>
		<description>Extracts the month value from a date/time object.</description>
		<argument>
			<name>Date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- monthAsString -->
	<function>
		<name>monthAsString</name>
		<class>railo.runtime.functions.string.MonthAsString</class>
		<description>Returns the string label for the given month</description>
		<argument>
			<name>monthnumber</name>
			<type>number</type>
			<required>Yes</required>
		<description>a number between 1 and 12</description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>No</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- monthShortAsString -->
	<function>
		<name>monthShortAsString</name>
		<class>railo.runtime.functions.string.MonthShortAsString</class>
		<description>Returns the string label for the given month in short format</description>
		<argument>
			<name>monthnumber</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- newLine -->
	<function>
		<name>newLine</name>
		<class>railo.runtime.functions.string.NewLine</class>
		<description>returns a new line</description>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- now -->
	<function>
		<name>now</name>
		<class>railo.runtime.functions.dateTime.Now</class>
		<description>Returns the current date and time</description>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- nowServer -->
	<function>
		<name>nowServer</name>
		<class>railo.runtime.functions.dateTime.NowServer</class>
		<status>deprecated</status>
		<description>this function is deprecated, returns the current time on the server independend on railo timezone definition</description>
		<return>
			<type>datetime</type>
		</return>
	</function>
	<!-- numberFormat -->
	<function>
		<name>numberFormat</name>
		<class>railo.runtime.functions.displayFormatting.NumberFormat</class>
		<description>Creates a custom-formatted number value. For international
        number formatting use LSNumberFormat.
        [mask - quicky]
        _,9 Digit placeholder; . decimal point; 0 Pads with zeros;
        ( ) less than zero, puts parentheses around the mask
        + plus sign before positive number minus before negative
        - a space before positive minus sign before negative
        , Separates every third decimal place with a comma.
        L,C Left-justifies or center-justifies number
        $ dollar sign before formatted number.
        ^ Separates left and right formatting.</description>
		<argument>
			<name>number</name>
			<type>any</type>
			<required>Yes</required>
		<description>A number.</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- nullValue -->
	<function>
		<name>nullValue</name>
		<class>railo.runtime.functions.other.NullValue</class>
		<description>returns null</description>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- ObjectEquals -->
	<function>
		<name>ObjectEquals</name>
		<class>railo.runtime.functions.other.ObjectEquals</class>
		<description>compares simply and complex objects for equality, attention string comparsion is case sensitive</description>
		<argument>
			<name>left</name>
			<alias>param1</alias>
			<type>any</type>
			<required>yes</required>
			<description>left operant</description>
   		</argument>
		<argument>
			<name>right</name>
			<alias>param2</alias>
			<type>any</type>
			<required>yes</required>
			<description>right operant</description>
   		</argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- ObjectLoad -->
	<function>
		<name>ObjectLoad</name>
		<class>railo.runtime.functions.other.ObjectLoad</class>
		<description>loads a object serialized in a binary form from a file or as binary input</description>
		<argument>
			<name>input</name>
			<type>any</type>
			<required>no</required>
			<description>a binary represenation of a object or a path to a file that contains this</description>
   		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- ObjectSave -->
	<function>
		<name>ObjectSave</name>
		<class>railo.runtime.functions.other.ObjectSave</class>
		<description>serialize a (Serialiable) object to a binary repersentation of th object</description>
		<argument>
			<name>input</name>
			<type>any</type>
			<required>yes</required>
			<description>object to serialize</description>
   		</argument>
		<argument>
			<name>filepath</name>
			<type>string</type>
			<required>no</required>
			<description>path where railo should save the object</description>
   		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- ORMExecuteQuery -->
	<function>
		<name>ORMExecuteQuery</name>
		<class>railo.runtime.functions.orm.ORMExecuteQuery</class>
		<description>Runs the HQL on the default data source specified for the application.</description>
		<argument>
			<name>hql</name>
			<type>string</type>
			<required>yes</required>
		<description></description>
    </argument>
		<argument>
			<name>paramsOrUnique</name>
			<type>any</type>
			<required>no</required>
		<description></description>
    </argument>
		<argument>
			<name>uniqueOrQueryOptions</name>
			<type>any</type>
			<required>no</required>
		<description></description>
    </argument>
		<argument>
			<name>queryOptions</name>
			<type>any</type>
			<required>no</required>
		<description></description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- ORMClearSession -->
	<function>
		<name>ORMClearSession</name>
		<class>railo.runtime.functions.orm.ORMClearSession</class>
		<description>Removes all the entities that are loaded or created in the session. This clears the first level cache and removes the objects that are not yet saved to the database.</description>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ORMCloseSession -->
	<function>
		<name>ORMCloseSession</name>
		<class>railo.runtime.functions.orm.ORMCloseSession</class>
		<description>Closes the current ORM session.</description>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ORMEvictCollection -->
	<function>
		<name>ORMEvictCollection</name>
		<class>railo.runtime.functions.orm.ORMEvictCollection</class>
		<description>This will remove all the entries with the specified relation/collection name in the specified component. 
ormEvictCollection(componentName,relationName,[id])</description>
		
		<argument>
			<name>entityName</name>
			<type>String</type>
			<required>yes</required>
		<description></description>
    </argument>
		<argument>
			<name>collectionName</name>
			<type>String</type>
			<required>yes</required>
		<description></description>
    </argument>
		<argument>
			<name>primaryKey</name>
			<type>String</type>
			<required>no</required>
		<description></description>
    </argument>
		
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ORMEvictEntity -->
	<function>
		<name>ORMEvictEntity</name>
		<class>railo.runtime.functions.orm.ORMEvictEntity</class>
		<description>This will remove all the entries for the specified component name from the entity cache.
ormEvictEntity(componentName,[id])</description>
		
		<argument>
			<name>entityName</name>
			<type>String</type>
			<required>yes</required>
		<description></description>
    </argument>
		<argument>
			<name>primaryKey</name>
			<type>String</type>
			<required>no</required>
		<description></description>
    </argument>
		
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ORMEvictQueries -->
	<function>
		<name>ORMEvictQueries</name>
		<class>railo.runtime.functions.orm.ORMEvictQueries</class>
		<description>This will remove all the queries from the named query cache. 
If name is not specified, all quiries from default cache will be removed.
ormEvictQueries([cacheName])</description>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>String</type>
			<required>no</required>
		<description></description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ORMFlush -->
	<function>
		<name>ORMFlush</name>
		<class>railo.runtime.functions.orm.ORMFlush</class>
		<description>Flushes the current ORM session. ORMFlush flushes all the pending CRUD operations in that request. Any changes made in the objects, in the current ORM session, are saved to the database.</description>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- ORMGetSession -->
	<function>
		<name>ORMGetSession</name>
		<class>railo.runtime.functions.orm.ORMGetSession</class>
		<description>Returns the current ORM session</description>
		<return>
			<type>object</type>
		</return>
	</function>
	<!-- ORMGetSessionFactory -->
	<function>
		<name>ORMGetSessionFactory</name>
		<class>railo.runtime.functions.orm.ORMGetSessionFactory</class>
		<description>Returns ORM session factory instance</description>
		<return>
			<type>object</type>
		</return>
	</function>
	<!-- ORMReload -->
	<function>
		<name>ORMReload</name>
		<class>railo.runtime.functions.orm.ORMReload</class>
		<description>Returns ORM session factory instance</description>
		<return>
			<type>void</type>
		</return>
	</function>
	
	
	<!-- pagePoolClear -->
	<function>
		<name>pagePoolClear</name>
		<class>railo.runtime.functions.system.PagePoolClear</class>
		<description>clear pages in pools</description>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- pagePoolList -->
	<function>
		<name>pagePoolList</name>
		<class>railo.runtime.functions.system.PagePoolList</class>
		<description>list all pages in pools</description>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- paragraphFormat -->
	<function>
		<name>paragraphFormat</name>
		<class>railo.runtime.functions.displayFormatting.ParagraphFormat</class>
		<description>Formats the carriage returns in a string to a HTML alternatives</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one </description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- parameterExists -->
	<function>
		<name>parameterExists</name>
		<class>railo.runtime.functions.other.ParameterExists</class>
		<description>Determines if the parameter exists</description>
		<argument>
			<name>parameter</name>
			<type>variablestring</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- parseDateTime -->
	<function>
		<name>parseDateTime</name>
		<class>railo.runtime.functions.string.ParseDateTime</class>
		<description>Parses a date/time string according to the English (U.S.)
        locale conventions. (To format a date/time string for other
        locales, use the LSParseDateTime function.)</description>
		<argument>
			<name>date</name>
			<type>object</type>
			<required>Yes</required>
		<description>A string containing a date/time value formatted according to U.S. locale conventions.</description>
    </argument>
		<argument>
			<name>popConversion</name>
			<type>string</type>
			<required>No</required>
		<description></description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>datetime</type>
		</return>
	</function>
	
	<!-- parseNumber -->
	<function>
		<name>parseNumber</name>
		<class>railo.runtime.functions.string.ParseNumber</class>
		<description>
		Parses the string argument as a numeric value. 
		</description>
		<argument>
			<name>nummber</name>
			<type>string</type>
			<required>Yes</required>
			<description>
			the String containing the numeric representation to be parsed
			</description>
		</argument>
		<argument>
			<name>radix</name>
			<type>string</type>
			<required>No</required>
			<description>
			the radix to be used while parsing (bin,oct,dec,hex)
			</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- PrecisionEvaluate -->
	<function>
		<name>PrecisionEvaluate</name>
		<class>railo.runtime.functions.dynamicEvaluation.PrecisionEvaluate</class>
		<tte-class>railo.transformer.cfml.evaluator.func.impl.PrecisionEvaluate</tte-class>
		<description>Evaluates one or more string expressions.</description>
		<argument-type>dynamic</argument-type>
		<argument-min>1</argument-min>
		<return>
			<type>any</type>
		</return>
	</function>
	
	<!-- pi -->
	<function>
		<name>pi</name>
		<class>railo.runtime.functions.math.Pi</class>
		<description>Gets the mathematical constant p, accurate to 15 digits.
        The number 3.14159265358979.</description>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- preserveSingleQuotes -->
	<function>
		<name>preserveSingleQuotes</name>
		<class>railo.runtime.functions.other.PreserveSingleQuotes</class>
		<description>Returns back string without letting the engine escape the single quotes. Used within CFQUERY blocks usually</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>Variable that contains a string in which to preserve single-quotation marks.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- quarter -->
	<function>
		<name>quarter</name>
		<class>railo.runtime.functions.dateTime.Quarter</class>
		<member-name>quarter</member-name>
		<description>Calculates the quarter of the year in which a date falls.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- query -->
	<function>
		<name>query</name>
		<class>railo.runtime.functions.query.Query_</class>
		<description>create ans populates a query object in the form query(columnName1:[1,2,3],columnName2:[4,5,6])</description>
		<argument-type>dynamic</argument-type>
		<return>
			<type>query</type>
		</return>
	</function>
	<!-- queryAddColumn -->
	<function>
		<name>queryAddColumn</name>
		<class>railo.runtime.functions.query.QueryAddColumn</class>
		<member-name>addColumn</member-name>
		<description>Adds a column to a query and populates its rows with the
        contents of a one-dimensional array. Pads query columns,
        if necessary, to ensure that all columns have the same number
        of rows.</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description>Name of a query object.</description>
    </argument>
		<argument>
			<name>column</name>
			<alias>columnname</alias>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>datatype_or_array</name>
			<alias>datatype</alias>
			<type>any</type>
			<required>no</required>
		<description></description>
    </argument>
		<argument>
			<name>array</name>
			<type>any</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- queryAddRow -->
	<function>
		<name>queryAddRow</name>
		<class>railo.runtime.functions.query.QueryAddRow</class>
		<member-name>addRow</member-name>
		<description>Adds a specified number of empty rows to a query.</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description>Name of an executed query.</description>
    </argument>
		<argument>
			<name>numberOrData</name>
			<alias>number,data</alias>
			<type>any</type>
			<required>No</required>
			<default>1</default>
		<description>Number of rows to add to the query or a struct/array containing the data tp populate the row.
		Example:
		queryAddRow(qry,3);
		queryAddRow(qry,["Susi",20]);
		queryAddRow(qry,{name:"Susi",age:20});
		</description>
    </argument>		
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- queryColumnCount -->
	<function>
		<name>queryColumnCount</name>
		<class>railo.runtime.functions.query.QueryColumnCount</class>
		<member-name>columnCount</member-name>
		<description>column count of given query</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description></description>
    </argument>	
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- queryColumnExists -->
	<function>
		<name>queryColumnExists</name>
		<class>railo.runtime.functions.query.QueryColumnExists</class>
		<member-name>columnExists</member-name>
		<description>Determines whether a specific column is present in a query.</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
			<description></description>
    	</argument>	
		<argument>
			<name>column</name>
			<type>string</type>
			<required>Yes</required>
			<description></description>
    	</argument>	
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	
	<!-- QueryConvertForGrid -->
	<function>
		<name>QueryConvertForGrid</name>
		<class>railo.runtime.functions.query.QueryConvertForGrid</class>
		<status>deprecated</status>
		<description>Use instead the function QuerySlice. Converts query data to a structure that contains a paged subset of the query.</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description>Name of the query whose data is returned.</description>
    </argument>	
		<argument>
			<name>page</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>		
		<argument>
			<name>pageSize</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>	
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- queryColumnArray -->
	<function>
		<name>queryColumnArray</name>
		<class>railo.runtime.functions.query.QueryColumnArray</class>
		<member-name>columnArray</member-name>
		<description>return the column names as array</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description></description>
    </argument>	
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- queryColumnData -->
	<function>
		<name>queryColumnData</name>
		<class>railo.runtime.functions.query.QueryColumnData</class>
		<member-name>columnData</member-name>
		<description>Returns all the data in a query for a given column</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
			<description>query object do get data from</description>
	    </argument>	
		<argument>
			<name>columnName</name>
			<type>string</type>
			<required>Yes</required>
			<description>name of the column returned</description>
	    </argument>	
		<argument>
			<name>closure</name>
			<alias>udf,function</alias>
			<type>function</type>
			<required>No</required>
			<description>UDF/Closure that call with the values from column</description>
		</argument>
		<return>
			<type>array</type>
		</return>
	</function>
	
	
	
	<!-- queryColumnList -->
	<function>
		<name>queryColumnList</name>
		<class>railo.runtime.functions.query.QueryColumnList</class>
		<member-name>columnList</member-name>
			<description>return the column names as list</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>delimiter</name>
			<type>string</type>
			<required>no</required>
			<default>,</default>
		<description>delimiter used to separate elements in list</description>
    </argument>	
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- QueryDeleteColumn -->
	<function>
		<name>QueryDeleteColumn</name>
		<class>railo.runtime.functions.query.QueryDeleteColumn</class>
		<member-name>deleteColumn</member-name>
		<description>
		removes a row from a query and return removed row as array
		</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>column</name>
			<type>String</type>
			<required>yes</required>
		<description></description>
    </argument>	
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- QueryDeleteRow -->
	<function>
		<name>QueryDeleteRow</name>
		<class>railo.runtime.functions.query.QueryDeleteRow</class>
		<member-name>deleteRow</member-name>
		<description>Deletes the row within a query object. Modifies the original query object</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>row</name>
			<type>number</type>
			<required>no</required>
			<default>-9999</default>
		<description></description>
    </argument>	
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- queryGetCell -->
	<function>
		<name>queryGetCell</name>
		<class>railo.runtime.functions.query.QueryGetCell</class>
		<member-name>getCell</member-name>
		<description>return the value of a specific query cell</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
			<description>query to get cell value from</description>
		</argument>
		<argument>
			<name>column_name</name>
			<type>string</type>
			<required>Yes</required>
			<description>name of the column</description>
		</argument>
		<argument>
			<name>row_number</name>
			<type>number</type>
			<required>No</required>
			<default>-9999</default>
			<description>row number (1-n)</description>
		</argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- queryNew -->
	<function>
		<name>queryNew</name>
		<class>railo.runtime.functions.query.QueryNew</class>
		<description>Creates an empty query (query object).</description>
		<argument>
			<name>columnlist</name>
			<alias>names,columns</alias>
			<type>string</type>
			<required>Yes</required>
			<description>Comma-delimited list of column names, or an empty string. </description>
    	</argument>
		<argument>
			<name>columntypelist</name>
			<alias>types</alias>
			<type>string</type>
			<required>No</required>
			<description>Comma-delimited list specifying column data types.</description>
    	</argument>
		<argument>
			<name>data</name>
			<type>any</type>
			<required>No</required>
			<description>data to populate the new Query, a array of arrays or a array of structs.
			Example usage:
			queryNew("name,age","varchar,numeric",[["Susi",20],["Urs",24]]);
			queryNew("name,age","varchar,numeric",[[name:"Susi",age:20],[name:"Urs",age:24]]);
			queryNew("name,age","varchar,numeric",{name:["Susi","Urs"],age:[20,24]});
			</description>
    	</argument>
		<return>
			<type>query</type>
		</return>
	</function>
	<!-- queryRecordCount -->
	<function>
		<name>queryRecordCount</name>
		<class>railo.runtime.functions.query.QueryRecordCount</class>
		<description>row count of given query</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description></description>
    </argument>	
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- querySetCell -->
	<function>
		<name>querySetCell</name>
		<class>railo.runtime.functions.query.QuerySetCell</class>
		<member-name>setCell</member-name>
		<member-chaining>true</member-chaining>
		<description>Sets a cell to a value. If no row number is specified,
        the cell on the last row is set.</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description>Name of an executed query. </description>
    </argument>
		<argument>
			<name>column_name</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>row_number</name>
			<type>number</type>
			<required>No</required>
			<default>-9999</default>
		<description></description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- querySlice -->
	<function>
		<name>querySlice</name>
		<class>railo.runtime.functions.query.QuerySlice</class>
		<member-name>slice</member-name>
		<description>creates a new query containing a part of the given query</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>offset</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>length</name>
			<type>number</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>query</type>
		</return>
	</function>
	<!-- querySort -->
	<function>
		<name>querySort</name>
		<class>railo.runtime.functions.query.QuerySort</class>
		<member-name>sort</member-name>
		<member-chaining>true</member-chaining>
		<description>Sorts the query based on the column specified and the order criteria given. Modifies the original query object</description>
		<argument>
			<name>query</name>
			<type>query</type>
			<required>Yes</required>
		<description>the query to sort</description>
    </argument>
		<argument>
			<name>column_name</name>
			<alias>columnnames,columnname,name,names,column_names</alias>
			<type>string</type>
			<required>Yes</required>
		<description>a list of names or a single column name</description>
    </argument>
		<argument>
			<name>direction</name>
			<alias>directions,dir</alias>
			<type>string</type>
			<required>No</required>
			<default></default>
		<description>a list of directions or a single direction defintion (asc,desc), the list must have the same length as the columnName list</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- quotedValueList -->
	<function>
		<name>quotedValueList</name>
		<class>railo.runtime.functions.other.QuotedValueList</class>
		<status>deprecated</status>
		<description>Returns a quoted list of all the values, for a given column within the query, delimited by the value given.
		this function is deprecated, use instead the function queryColumnData</description>
		<argument>
			<name>query_column</name>
			<type>queryColumn</type>
			<required>Yes</required>
		<description>Name of an executed query and column. Separate query name and column name with a period.</description>
    </argument>
		<argument>
			<name>delimiter</name>
			<alias>delimiters</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- rand -->
	<function>
		<name>rand</name>
		<class>railo.runtime.functions.math.Rand</class>
		<description>Generates a pseudo-random number in the range 0 - 1.</description>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
		<description>The algorithm to use to generate the random number.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- randomize -->
	<function>
		<name>randomize</name>
		<class>railo.runtime.functions.math.Randomize</class>
		<description>Seeds the pseudo-random number generator with an
        integer number, ensuring repeatable number patterns.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>a number</description>
    </argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
		<description>The algorithm to use to generated the random number.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- randRange -->
	<function>
		<name>randRange</name>
		<class>railo.runtime.functions.math.RandRange</class>
		<description>Generates a random integer between two specified numbers.
        Requests for random integers that are greater than 100,000,000
        result in non-random numbers, to prevent overflow during
        internal computations.</description>
		<argument>
			<name>number1</name>
			<type>number</type>
			<required>Yes</required>
			<description>smaller number</description>
		</argument>
		<argument>
			<name>number2</name>
			<type>number</type>
			<required>Yes</required>
			<description>bigger number</description>
		</argument>
		<argument>
			<name>algorithm</name>
			<type>string</type>
			<required>No</required>
			<description>
			The algorithm to use to generate the random number.
			- CFMX_COMPAT (very simple and not very secure algorithm (default)).
            - SHA1PRNG (generates a number using the Sun Java SHA1PRNG algorithm. This algorithm provides greater randomness than the default algorithm)
            - IBMSecureRandom (IBM JVM does not support the SHA1PRNG algorithm)</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- ReleaseComObject -->
	<function>
		<name>releaseComObject</name>
		<class>railo.runtime.functions.other.ReleaseComObject</class>
		<description>Releases a COM Object and frees up resources that it used. </description>
		<argument>
			<name>comObject</name>
			<type>any</type>
			<required>Yes</required>
		<description>Variable name of a COM object that was created using the function or tag. </description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- rEFind -->
	<function>
		<name>rEFind</name>
		<class>railo.runtime.functions.string.REFind</class>
		<description>Uses a regular expression (RE) to search a string for a pattern. The search is case sensitive.</description>
		<argument>
			<name>reg_expression</name>
			<type>string</type>
			<required>Yes</required>
		<description>Regular expression for which to search. Case sensitive.</description>
    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which
            to search.</description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>No</required>
			<default>1</default>
		<description>A positive integer. Position in the string at which to start search. The default value is 1.</description>
    </argument>
		<argument>
			<name>returnsubexpressions</name>
			<type>boolean</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- rEFindNoCase -->
	<function>
		<name>rEFindNoCase</name>
		<class>railo.runtime.functions.string.REFindNoCase</class>
		<description>Uses a regular expression (RE) to search a string for a pattern,
         starting from a specified position. The search is
         case-insensitive.</description>
		<argument>
			<name>reg_expression</name>
			<type>string</type>
			<required>Yes</required>
		<description>Regular expression for which to search. Case-insensitive.</description>
    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which
            to search.</description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>No</required>
			<default>1</default>
		<description></description>
    </argument>
		<argument>
			<name>returnsubexpressions</name>
			<type>boolean</type>
			<required>No</required>
		<description>True: if the regular expression is found, the first array
                element contains the length and position, respectively,
                of the first match.
                If the regular expression contains parentheses that
                    group subexpressions, each subsequent array element
                    contains the length and position, respectively, of
                    the first occurrence of each group.
                If the regular expression is not found, the arrays each
                    contain one element with the value 0.
            False: the function returns the position in the string
                where the match begins. Default.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- REMatch -->
	<function>
		<name>REMatch</name>
		<class>railo.runtime.functions.string.REMatch</class>
		<description>Uses a regular expression (RE) to search a string for a pattern, starting from a specified position.</description>
		<argument>
			<name>reg_expression</name>
			<type>string</type>
			<required>Yes</required>
		<description>Regular expression for which to search. Case sensitive.</description>
    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which to search.</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- REMatchNoCase -->
	<function>
		<name>REMatchNoCase</name>
		<class>railo.runtime.functions.string.REMatchNoCase</class>
		<description>Uses a regular expression (RE) to search a string for a pattern, starting from a specified position.</description>
		<argument>
			<name>reg_expression</name>
			<type>string</type>
			<required>Yes</required>
		<description>Regular expression for which to search. Case-insensitive.</description>
    </argument>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which to search.</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- removeChars -->
	<function>
		<name>removeChars</name>
		<class>railo.runtime.functions.string.RemoveChars</class>
		<description>Removes characters from a string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which to search.</description>
    </argument>
		<argument>
			<name>start</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>count</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- repeatString -->
	<function>
		<name>repeatString</name>
		<class>railo.runtime.functions.string.RepeatString</class>
		<description>Creates a string that contains a specified number of
        repetitions of the specified string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one. </description>
    </argument>
		<argument>
			<name>count</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- replace -->
	<function>
		<name>replace</name>
		<class>railo.runtime.functions.string.Replace</class>
		<description>Replaces occurrences of substring1 in a string with substring2,
        in a specified scope. The search is case-sensitive.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String in which to search. </description>
		</argument>
		<argument>
			<name>substring1</name>
			<alias>sub1,find</alias>
			<type>any</type>
			<required>Yes</required>
		<description>Substring for which to search.  Optionally pass a Struct with key/value pairs to do a replace all</description>
		</argument>
		<argument>
			<name>substring2</name>
			<alias>sub2,repl</alias>
			<type>string</type>
			<required>No</required>
			<description>Substring with which to replace the found matches.  This arg is required if the substring1 arg is a string</description>
		</argument>
		<argument>
			<name>scope</name>
			<type>string</type>
			<required>No</required>
			<default>one</default>
			<description>scope for the execution:
- one (default): replaces only the first occurrence	
- all: replaces all occurrences</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- replaceList -->
	<function>
		<name>replaceList</name>
		<class>railo.runtime.functions.string.ReplaceList</class>
		<description>Replaces occurrences of the elements from a delimited list
        in a string with corresponding elements from another delimited
        list. The search is case-sensitive.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
			<description>A string</description>
	    </argument>
		<argument>
			<name>list1</name>
			<type>string</type>
			<required>Yes</required>
			<description>string list of search strings</description>
	    </argument>
		<argument>
			<name>list2</name>
			<type>string</type>
			<required>Yes</required>
			<description>string list of replacement strings</description>
	    </argument>
		<argument>
			<name>delimiter_list1</name>
			<alias>delimiter</alias>
			<type>string</type>
			<required>no</required>
			<description>Delimiter for search, or if no replacement delimiter is defined, this delimiter is used for search and replacement.</description>
	    </argument>
		<argument>
			<name>delimiter_list2</name>
			<type>string</type>
			<required>no</required>
			<description>Delimiter for replacement.</description>
	    </argument>
	    
	    
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- replaceNoCase -->
	<function>
		<name>replaceNoCase</name>
		<class>railo.runtime.functions.string.ReplaceNoCase</class>
		<description>Replaces occurrences of substring1 with substring2, in the
        specified scope. The search is case-insensitive.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string (or variable that contains one) within which to replace substring.</description>
		</argument>
		<argument>
			<name>substring1</name>
			<type>any</type>
			<required>Yes</required>
		<description>Substring for which to search.  Optionally pass a Struct with key/value pairs to do a replace all</description>
		</argument>
		<argument>
			<name>substring2</name>
			<type>string</type>
			<required>No</required>
			<description>Substring with which to replace the found matches.  This arg is required if the substring1 arg is a string</description>
		</argument>
		<argument>
			<name>scope</name>
			<type>string</type>
			<required>No</required>
			<default>one</default>
		<description>scope for the execution:
- one (default): Replace the first occurrence
- all: Replace all occurrences</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- rEReplace -->
	<function>
		<name>rEReplace</name>
		<class>railo.runtime.functions.string.REReplace</class>
		<description>Uses a regular expression (RE) to search a string for a string
        pattern and replace it with another. The search is
        case-sensitive.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>String within which to search. </description>
    </argument>
		<argument>
			<name>reg_expression</name>
			<type>string</type>
			<required>Yes</required>
		<description>Regular expression to replace.</description>
    </argument>
		<argument>
			<name>substring</name>
			<type>string</type>
			<required>Yes</required>
		<description>replacement</description>
    </argument>
		<argument>
			<name>scope</name>
			<type>string</type>
			<required>No</required>
			<default>one</default>
		<description>
- one (default): Replace the first occurrence of the regular expression.
- all: Replace all occurrences of the regular expression.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- rEReplaceNoCase -->
	<function>
		<name>rEReplaceNoCase</name>
		<class>railo.runtime.functions.string.REReplaceNoCase</class>
		<description>Uses a regular expression to search a string for a string
        pattern and replace it with another. The search is
        case-insensitive.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one.</description>
    </argument>
		<argument>
			<name>reg_expression</name>
			<type>string</type>
			<required>Yes</required>
		<description>Regular expression to replace.</description>
    </argument>
		<argument>
			<name>substring</name>
			<type>string</type>
			<required>Yes</required>
		<description>replacement</description>
    </argument>
		<argument>
			<name>scope</name>
			<type>string</type>
			<required>No</required>
			<default>one</default>
		<description>
- one (default): Replace the first occurrence of the regular expression.
- all: Replace all occurrences of the regular expression.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- RestDeleteApplication -->
	<function>
		<name>RestDeleteApplication</name>
		<class>railo.runtime.functions.rest.RestDeleteApplication</class>
		<description>Deletes a existing REST mapping.</description>
		<argument>
			<name>dirPath</name>
			<alias>dir,directory,path</alias>
			<type>string</type>
			<required>yes</required>
			<description>Path to the directory to be registered or reseted.</description>
	    </argument>
		<argument>
			<name>password</name>
			<alias>webAdminPassword</alias>
			<type>string</type>
			<required>no</required>
			<description>password for the web administrator, this is needed delete a REST mapping.</description>
	    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- RestInitApplication -->
	<function>
		<name>RestInitApplication</name>
		<class>railo.runtime.functions.rest.RestInitApplication</class>
		<description>Registers the directory path with the service mapping provided. 
		If no service mapping is provided, the application name is used. 
		If the rest application is already registered, it is refreshed.</description>
		<argument>
			<name>dirPath</name>
			<alias>dir,directory,path</alias>
			<type>string</type>
			<required>yes</required>
			<description>Path to the directory to be registered or reseted.</description>
	    </argument>
		<argument>
			<name>serviceMapping</name>
			<alias>mapping</alias>
			<type>string</type>
			<required>no</required>
			<description>Alternate string to be used for application name while calling the REST service.</description>
	    </argument>
		<argument>
			<name>default</name>
			<type>boolean</type>
			<required>no</required>
			<description>set if the mapping is a default mapping or not</description>
	    </argument>
		<argument>
			<name>password</name>
			<alias>webAdminPassword</alias>
			<type>string</type>
			<required>no</required>
			<description>password for the web administrator, this is needed when you update/create a REST mapping.</description>
	    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	
	<!-- RestSetResponse -->
	<function>
		<name>RestSetResponse</name>
		<class>railo.runtime.functions.rest.RestSetResponse</class>
		<description>Sets the custom responses.</description>
		<argument>
			<name>response</name>
			<alias>rsp</alias>
			<type>struct</type>
			<required>yes</required>
			<description>A struct that contains the response details.</description>
	    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- reverse -->
	<function>
		<name>reverse</name>
		<class>railo.runtime.functions.string.Reverse</class>
		<description>Reverses the order of items, such as the characters in a
        string, the digits in a number, or the elements in an array.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one </description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- right -->
	<function>
		<name>right</name>
		<class>railo.runtime.functions.string.Right</class>
		<description>Gets a specified number of characters from a string,
        beginning at the right.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one. </description>
    </argument>
		<argument>
			<name>count</name>
			<type>number</type>
			<required>Yes</required>
		<description>A positive integer. Number of characters to return.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- rJustify -->
	<function>
		<name>rJustify</name>
		<class>railo.runtime.functions.string.RJustify</class>
		<description>Right justifies characters of a string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string enclosed in quotation marks</description>
    </argument>
		<argument>
			<name>length</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- round -->
	<function>
		<name>round</name>
		<class>railo.runtime.functions.math.Round</class>
		<description>Rounds a number to the closest integer.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
			<description>Number to round </description>
    	</argument>
    	<argument>
			<name>precision</name>
			<type>number</type>
			<required>No</required>
			<default>0</default>
		<description>Number of decimal points to round to</description>
    	</argument>
    
    
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- rTrim -->
	<function>
		<name>rTrim</name>
		<class>railo.runtime.functions.string.RTrim</class>
		<description>Removes spaces from the end of a string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one </description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- second -->
	<function>
		<name>second</name>
		<class>railo.runtime.functions.dateTime.Second</class>
		<member-name>second</member-name>
		<description>Extracts the ordinal for the second from a date/time object.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>A date/time object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- SendGatewayMessage -->
	<function>
		<name>SendGatewayMessage</name>
		<class>railo.runtime.functions.gateway.SendGatewayMessage</class>
		<description>Sends an outgoing message through a event gateway.</description>
		<argument>
			<name>gatewayID</name>
			<type>string</type>
			<required>Yes</required>
		<description>Identifier of the gateway to send the message.</description>
    </argument>
		<argument>
			<name>data</name>
			<type>struct</type>
			<required>Yes</required>
		<description>A structure.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- serialize -->
	<function>
		<name>serialize</name>
		<class>railo.runtime.functions.dynamicEvaluation.Serialize</class>
		<description>opposite of evaluate, this function serialize all cfml object and all serializble Java objects. can also serilize Components.</description>
		<argument>
			<name>object</name>
			<type>any</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- SerializeJSON -->
	<function>
		<name>SerializeJSON</name>
		<class>railo.runtime.functions.conversion.SerializeJSON</class>
		<description>Converts CFML data into a JSON (JavaScript Object Notation) representation of the data.</description>
		<argument>
			<name>var</name>
			<type>any</type>
			<required>Yes</required>
			<description>A CFML data value or variable that represents one.</description>
		</argument>
		<argument>
			<name>serializeQueryByColumns</name>
			<type>boolean</type>
			<required>No</required>
			<description>A Boolean value that specifies how to serialize CFML queries.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	
	<!-- SessionStartTime -->
	<function>
		<name>SessionStartTime</name>
		<class>railo.runtime.functions.system.SessionStartTime</class>
		<description>Provides information about the time when the current users session scope was created.</description>
		<return>
			<type>date</type>
		</return>
	</function>
	
	<!-- SessionInvalidate -->
	<function>
		<name>SessionInvalidate</name>
		<class>railo.runtime.functions.system.SessionInvalidate</class>
		<description>Invalidates or cleans up the current session.</description>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- SessionRotate -->
	<function>
		<name>SessionRotate</name>
		<class>railo.runtime.functions.system.SessionRotate</class>
		<description>
		invalidate current session, creates a new session and migrate the data from the old session to the new.
		</description>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- setEncoding -->
	<function>
		<name>setEncoding</name>
		<class>railo.runtime.functions.international.SetEncoding</class>
		<description>Sets the character encoding (character set) of Form and URL
        scope variable values; used when the character encoding of
        the input to a form, or the character encoding of a URL, is
        not in UTF-8 encoding.</description>
		<argument>
			<name>scope</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- setLocale -->
	<function>
		<name>setLocale</name>
		<class>railo.runtime.functions.international.SetLocale</class>
		<description>Sets the country/language locale for CFML processing
        and the page returned to the client. The locale value
        determines the default format of date, time, number, and
        currency values, according to language and regional
        conventions.</description>
		<argument>
			<name>new_locale</name>
			<type>string</type>
			<required>Yes</required>
		<description>The name of a locale; for example, \"English (US)\"</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- setProfileString -->
	<function>
		<name>setProfileString</name>
		<class>railo.runtime.functions.system.SetProfileString</class>
		<description>Sets the value of a profile entry in an initialization file.</description>
		<argument>
			<name>iniPath</name>
			<type>string</type>
			<required>Yes</required>
		<description>Absolute path of initialization file</description>
    </argument>
		<argument>
			<name>section</name>
			<type>string</type>
			<required>Yes</required>
		<description>Section of the initialization file in which the entry is
            to be set</description>
    </argument>
		<argument>
			<name>entry</name>
			<type>string</type>
			<required>Yes</required>
		<description>Name of the entry to set</description>
    </argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>Yes</required>
		<description>Value to which to set the entry</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- setVariable -->
	<function>
		<name>setVariable</name>
		<class>railo.runtime.functions.dynamicEvaluation.SetVariable</class>
		<description>Sets the value</description>
		<argument>
			<name>name</name>
			<type>string</type>
			<required>Yes</required>
		<description>Variable name, can be contain "." for structures.</description>
    </argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>the value to set</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- sgn -->
	<function>
		<name>sgn</name>
		<class>railo.runtime.functions.math.Sgn</class>
		<description>Determines the sign of a number.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>A number</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- sin -->
	<function>
		<name>sin</name>
		<class>railo.runtime.functions.math.Sin</class>
		<description>Calculates the sine of an angle that is entered in radians.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Angle, in radians for which to calculate the sine.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- sizeOf -->
	<function>
		<name>sizeOf</name>
		<class>railo.runtime.functions.system.SizeOf</class>
		<description>this function is experimentell, to not use in productive enviroment. this function returns the size in bytes of a given object.</description>
		<argument>
			<name>obj</name>
			<type>object</type>
			<required>Yes</required>
			<description>object to get size for</description>
	    </argument>
	    <argument>
			<name>complex</name>
			<type>boolean</type>
			<required>No</required>
			<description>if set to false, the size is returned, if set to true a struct containing the element count and the size is returned</description>
	    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- soundex -->
	<function>
		<name>soundex</name>
		<class>railo.runtime.functions.string.Soundex</class>
		<description>Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for homophones to be encoded to the same representation so that they can be matched despite minor differences in spelling. The algorithm mainly encodes consonants; a vowel will not be encoded unless it is the first letter. Soundex is the most widely known of all phonetic algorithms, as it is a standard feature of MS SQL and Oracle, and is often used (incorrectly) as a synonym for "phonetic algorithm".</description>
		<argument>
			<name>str</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>String</type>
		</return>
	</function>
	<!-- spanExcluding -->
	<function>
		<name>spanExcluding</name>
		<class>railo.runtime.functions.string.SpanExcluding</class>
		<description>Gets characters from a string, from the beginning to a
        character that is in a specified set of characters. The
        search is case-sensitive.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<argument>
			<name>set</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains a set of characters.
            Must contain one or more characters</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- spanIncluding -->
	<function>
		<name>spanIncluding</name>
		<class>railo.runtime.functions.string.SpanIncluding</class>
		<description>Gets characters from a string, from the beginning to a
        character that is not in a specified set of characters. The
        search is case-sensitive.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains the search string.</description>
    </argument>
		<argument>
			<name>set</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains a set of characters.
            Must contain one or more characters</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	 
	<!-- SpreadsheetSetCellValue -->
	<function>
		<name>SpreadsheetSetCellValue</name>
		<class>railo.runtime.functions.poi.SpreadsheetSetCellValue</class>
		<description></description>
		<argument>
			<name>spreadSheet</name>
			<alias>excel</alias>
			<type>excel</type>
			<required>yes</required>
			<description></description>
	    </argument>
		<argument>
			<name>value</name>
			<type>string</type>
			<required>yes</required>
			<description></description>
	    </argument>
		<argument>
			<name>row</name>
			<type>number</type>
			<required>yes</required>
			<description></description>
	    </argument>
		<argument>
			<name>column</name>
			<alias>col</alias>
			<type>number</type>
			<required>yes</required>
			<description></description>
	    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- SpreadSheetNew -->
	<function>
		<name>SpreadSheetNew</name>
		<class>railo.runtime.functions.poi.SpreadSheetNew</class>
		<description></description>
		<argument>
			<name>sheetName</name>
			<alias>sheetNameOrXMLFormat</alias>
			<type>any</type>
			<required>no</required>
			<description></description>
	    </argument>
		<argument>
			<name>xmlFormat</name>
			<type>any</type>
			<required>no</required>
		<description></description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- SpreadSheetWrite -->
	<function>
		<name>SpreadSheetWrite</name>
		<class>railo.runtime.functions.poi.SpreadSheetWrite</class>
		<description></description>
		<argument>
			<name>spreadSheet</name>
			<alias>excel</alias>
			<type>excel</type>
			<required>yes</required>
			<description></description>
	    </argument>
		<argument>
			<name>path</name>
			<type>string</type>
			<required>yes</required>
			<description></description>
	    </argument>
		<argument>
			<name>password</name>
			<type>any</type>
			<required>no</required>
		<description></description>
    </argument>
		<argument>
			<name>overwrite</name>
			<type>boolean</type>
			<required>no</required>
		<description></description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- sqr -->
	<function>
		<name>sqr</name>
		<class>railo.runtime.functions.math.Sqr</class>
		<description>Calculates the square root of a number.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>A positive integer. Number whose square root to get.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- sleep -->
	<function>
		<name>Sleep</name>
		<class>railo.runtime.functions.system.Sleep</class>
		<description>Causes the current thread to stop processing for a specified period of time.</description>
		<argument>
			<name>duration</name>
			<type>number</type>
			<required>Yes</required>
		<description>Time, in milliseconds, to stop processing the thread.</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- SSLCertificateList -->
	<function>
		<name>SSLCertificateList</name>
		<class>railo.runtime.functions.other.SSLCertificateList</class>
		<description>list all Certificates availble on a specific host</description>
		<argument>
			<name>host</name>
			<type>string</type>
			<required>Yes</required>
			<description>host to get Certificates from</description>
		</argument>
		<argument>
			<name>port</name>
			<type>number</type>
			<required>no</required>
			<default>443</default>
			<description>port of the host, default is 443</description>
		</argument>
		<return>
			<type>query</type>
		</return>
	</function>
	<!-- SSLCertificateInstall -->
	<function>
		<name>SSLCertificateInstall</name>
		<class>railo.runtime.functions.other.SSLCertificateInstall</class>
		<description>install certificates of a specific host</description>
		<argument>
			<name>host</name>
			<type>string</type>
			<required>Yes</required>
			<description>host to get Certificates from</description>
		</argument>
		<argument>
			<name>port</name>
			<type>number</type>
			<required>no</required>
			<default>443</default>
			<description>port of the host, default is 443</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- stripCr -->
	<function>
		<name>stripCr</name>
		<class>railo.runtime.functions.other.StripCr</class>
		<description>Deletes return characters from a string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- stringlen -->
	<function>
		<name>stringlen</name>
		<class>railo.runtime.functions.string.StringLen</class>
		<description>returns the len of a string</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- StoreAddACL -->
	<function>
		<name>StoreAddACL</name>
		<class>railo.runtime.functions.s3.StoreAddACL</class>
		<description>Adds ACL to existing ACL for object or bucket.</description>
		<argument>
			<name>url</name>
			<type>string</type>
			<required>Yes</required>
			<description>Amazon S3 URL</description>
	    </argument>
		<argument>
			<name>aclObject</name>
			<type>object</type>
			<required>Yes</required>
			<description>an array of struct where each struct represents an ACL grant</description>
	    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- StoreGetACL -->
	<function>
		<name>StoreGetACL</name>
		<class>railo.runtime.functions.s3.StoreGetACL</class>
		<description>returns an array of struct where each struct represents an ACL grant</description>
		<argument>
			<name>url</name>
			<type>string</type>
				<required>Yes</required>
			<description>Amazon S3 URL</description>
	    </argument>
		<return>
			<type>Object</type>
		</return>
	</function>
	<!-- StoreSetACL -->
	<function>
		<name>StoreSetACL</name>
		<class>railo.runtime.functions.s3.StoreSetACL</class>
		<description>Sets the ACL for object or bucket.</description>
		<argument>
			<name>url</name>
			<type>string</type>
			<required>Yes</required>
			<description>Amazon S3 URL</description>
	    </argument>
		<argument>
			<name>aclObject</name>
			<type>object</type>
			<required>Yes</required>
			<description>an array of struct where each struct represents an ACL grant</description>
	    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	<!-- _jsonStruct -->
	<function>
		<name>_jsonStruct</name>
		<class>railo.runtime.functions.struct.JsonStruct</class>
		<status>hidden</status>
		<description>internal function used as for literal struct defintion.</description>
		<argument-type>dynamic</argument-type>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- _struct -->
	<function>
		<name>struct</name>
		<class>railo.runtime.functions.struct.Struct_</class>
		<description>used to create and populate a struct at the same time, example struct(key1:1,key2:2)</description>
		<argument-type>dynamic</argument-type>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- structAppend -->
	<function>
		<name>structAppend</name>
		<class>railo.runtime.functions.struct.StructAppend</class>
		<member-name>append</member-name>
		<member-chaining>true</member-chaining>
		<description>Appends all the data from struct2 into struct2, replacing duplicate keys unless specified by the overwrite flag</description>
		<argument>
			<name>Struct1</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure to which struct2 is appended.</description>
    </argument>
		<argument>
			<name>Struct2</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure that contains the data to append to struct1</description>
    </argument>
		<argument>
			<name>OverwriteFlag</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
		<description>
- true (default): values in struct2 overwrite corresponding values in struct1. </description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- structClear -->
	<function>
		<name>structClear</name>
		<class>railo.runtime.functions.struct.StructClear</class>
		<member-name>clear</member-name>
		<member-chaining>true</member-chaining>
		<description>Removes all data from a structure.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure to clear</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- structCopy -->
	<function>
		<name>structCopy</name>
		<class>railo.runtime.functions.struct.StructCopy</class>
		<member-name>copy</member-name>
		<description>Copies a structure. Copies top-level keys, values, and arrays
        in the structure by value; copies nested structures by
        reference.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure to copy</description>
    </argument>
		<return>
			<type>object</type>
		</return>
	</function>
	<!-- structCount -->
	<function>
		<name>structCount</name>
		<class>railo.runtime.functions.struct.StructCount</class>
		<member-name>len</member-name>
		<description>Counts the keys in a structure.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure to access</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- structDelete -->
	<function>
		<name>structDelete</name>
		<class>railo.runtime.functions.struct.StructDelete</class>
		<member-name>delete</member-name>
		<description>Removes an element from a structure.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure contains element to remove.</description>
    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		<description>Element to remove</description>
    </argument>
		<argument>
			<name>indicatenotexisting</name>
			<type>boolean</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- structEach -->
	<function>
		<name>structEach</name>
		<class>railo.runtime.functions.struct.StructEach</class>
		<member-name>each</member-name>
		<member-chaining>true</member-chaining>
		<description>call the given UDF/Closure with every entry (key/value) in the struct.</description>
		<argument>
			<name>struct</name>
			<type>struct</type>
			<required>Yes</required>
			<description>struct to take values from</description>
		</argument>
		<argument>
			<name>closure</name>
			<alias>udf,function</alias>
			<type>function</type>
			<required>Yes</required>
			<description>UDF/Closure that call with the entries from struct</description>
		</argument>
		<argument>
			<name>parallel</name>
			<type>boolean</type>
			<required>No</required>
			<description>execute closures parallel</description>
		</argument>
		<argument>
			<name>maxThreads</name>
			<type>number</type>
			<required>No</required>
			<default>20</default>
			<description>maximum number of threads executed, ignored when argument "parallel" is set to false</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	
	<!-- each -->
	<function>
		<name>each</name>
		<class>railo.runtime.functions.closure.Each</class>
		<description>call the given UDF/Closure with every entry (key/value) in the given collection.</description>
		<argument>
			<name>collection</name>
			<type>object</type>
			<required>Yes</required>
			<description>collection to take values from</description>
		</argument>
		<argument>
			<name>closure</name>
			<alias>udf,function</alias>
			<type>function</type>
			<required>Yes</required>
			<description>UDF/Closure that call with the entries from struct</description>
		</argument>
		<argument>
			<name>parallel</name>
			<type>boolean</type>
			<required>No</required>
			<description>execute closures parallel</description>
		</argument>
		<argument>
			<name>maxThreads</name>
			<type>number</type>
			<required>No</required>
			<default>20</default>
			<description>maximum number of threads executed, ignored when argument "parallel" is set to false</description>
		</argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
		<!-- structFilter -->
	<function>
		<name>structFilter</name>
		<class>railo.runtime.functions.struct.StructFilter</class>
		<member-name>filter</member-name>
		<description>This function creates a new Struct that returns all entries from an struct that match the given filter.</description>
		<argument>
			<name>struct</name>
			<type>struct</type>
			<required>Yes</required>
			<description>struct to filter entries from</description>
		</argument>
		<argument>
			<name>filter</name>
			<type>function</type>
			<required>Yes</required>
			<description>filter can be a function/closure that implements the following constructor [function(any key,any value):boolean].</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- structFind -->
	<function>
		<name>structFind</name>
		<class>railo.runtime.functions.struct.StructFind</class>
		<member-name>find</member-name>
		<description>Determines the value associated with a key in a structure.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure that contains the value to return</description>
    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		<description>Key whose value to return</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- structFindKey -->
	<function>
		<name>structFindKey</name>
		<class>railo.runtime.functions.struct.StructFindKey</class>
		<member-name>findKey</member-name>
		<description>Searches recursively through a substructure of nested arrays,
        structures, and other elements, for structures whose values
        match the search key in the value parameter.</description>
		<argument>
			<name>Top</name>
			<type>struct</type>
			<required>Yes</required>
		<description>object from which to start search. This parameter requires an object, not a name of an object.</description>
    </argument>
		<argument>
			<name>Key</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>Scope</name>
			<type>string</type>
			<required>No</required>
			<default>one</default>
		<description>
- one (default): returns one matching key.
- all: returns all matching keys</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- structFindValue -->
	<function>
		<name>structFindValue</name>
		<class>railo.runtime.functions.struct.StructFindValue</class>
		<member-name>findValue</member-name>
		<description>Searches recursively through a substructure of nested arrays,
        structures, and other elements for structures with values that
        match the search key in the value parameter.</description>
		<argument>
			<name>Top</name>
			<type>struct</type>
			<required>Yes</required>
		<description>structure from which to start search. This parameter requires an object, not a name of an object.</description>
    </argument>
		<argument>
			<name>Key</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>Scope</name>
			<type>string</type>
			<required>No</required>
			<default>one</default>
		<description>
- one (default): function returns one matching key
- all: function returns all matching keys</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- structGet -->
	<function>
		<name>structGet</name>
		<class>railo.runtime.functions.struct.StructGet</class>
		<description>Gets a structure(s) from a specified path.</description>
		<argument>
			<name>PathDesired</name>
			<type>string</type>
			<required>Yes</required>
		<description>Pathname of variable that contains structure or array from which Railo retrieves structure.</description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- structInsert -->
	<function>
		<name>structInsert</name>
		<class>railo.runtime.functions.struct.StructInsert</class>
		<member-name>insert</member-name>
		<member-chaining>true</member-chaining>
		<description>Inserts a key-value pair into a structure.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure to contain the new key-value pair.</description>
    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		<description>Key that contains the inserted value.</description>
    </argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>Value to add.</description>
    </argument>
		<argument>
			<name>allowoverwrite</name>
			<type>boolean</type>
			<required>No</required>
		<description>Whether to allow overwriting a key. Default: False.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- structIsEmpty -->
	<function>
		<name>structIsEmpty</name>
		<class>railo.runtime.functions.struct.StructIsEmpty</class>
		<member-name>isEmpty</member-name>
		<description>Determines whether a structure contains data.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure to test</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- structKeyArray -->
	<function>
		<name>structKeyArray</name>
		<class>railo.runtime.functions.struct.StructKeyArray</class>
		<member-name>keyArray</member-name>
		<description>Finds the keys in a struct.
        An array of keys; if structure does not exist, CFML
        throws an exception.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure from which to extract a list of keys</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- structKeyExists -->
	<function>
		<name>structKeyExists</name>
		<class>railo.runtime.functions.struct.StructKeyExists</class>
		<tte-class>railo.transformer.cfml.evaluator.func.impl.StructKeyExists</tte-class>
		<member-name>keyExists</member-name>
		<description>Determines whether a specific key is present in a structure.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Name of structure to test</description>
    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		<description>Key to test</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- structKeyList -->
	<function>
		<name>structKeyList</name>
		<class>railo.runtime.functions.struct.StructKeyList</class>
		<member-name>keyList</member-name>
		<description>Extracts keys from a struct.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure from which to extract a list of keys.</description>
    </argument>
	<argument>
			<name>delimiter</name>
			<alias>delimiters</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
			<description>Character that separates keys in list. Default: comma.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- structKeyTranslate -->
	<function>
		<name>structKeyTranslate</name>
		<class>railo.runtime.functions.struct.StructKeyTranslate</class>
		<member-name>keyTranslate</member-name>
		<description></description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>deepTranslation</name>
			<type>boolean</type>
			<required>No</required>
			<description>
				also translate keys of child structures
			</description>
		</argument>
		<argument>
			<name>leaveOriginalKey</name>
			<type>boolean</type>
			<required>No</required>
			<description>
				leave original key in struct
			</description>
		</argument>
		
		
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- structNew -->
	<function>
		<name>structNew</name>
		<class>railo.runtime.functions.struct.StructNew</class>
		<description>Creates a structure.</description>
		<argument>
			<name>type</name>
			<type>string</type>
			<required>No</required>
			<default>normal</default>
			<description>
			the type the struct created:
  - normal (default): a regular struct
  - weak: a struct containing weak referenced values, which do not prevent their referents from being made garbage collected. Weak references are most often used to implement simple caches.
  - soft: a struct with soft reference values, which are cleared at the discretion of the garbage collector in response to memory demand.
  - linked: a struct with linked keys, maintain their creation order
  the type "synchronized" is no longer supported and get ignored, because since version 4.1 all struct/scopes are "thread safe"
			</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- structSort -->
	<function>
		<name>structSort</name>
		<class>railo.runtime.functions.struct.StructSort</class>
		<member-name>sort</member-name>
		<description>Returns a sorted array of the top level keys in a structure.
        Sorts using alphabetic or numeric sorting, and can sort based
        on the values of any structure element.</description>
		<argument>
			<name>base</name>
			<type>struct</type>
			<required>Yes</required>
		<description>A structure with one field (an associative array).</description>
    </argument>
		<argument>
			<name>sortType</name>
			<type>string</type>
			<required>No</required>
			<default>text</default>
		<description>
		define one of the following:
- numeric: sorts numbers
- text: sorts text alphabetically, taking case into account (case sensitive)
- textnocase: sorts text alphabetically, without regard to case (case insensitive)
</description>
    </argument>
		<argument>
			<name>sortOrder</name>
			<type>string</type>
			<required>No</required>
			<default>asc</default>
		<description>sort direction:
_- asc (default): ascending (a to z) sort order
- desc: descending (z to a) sort order</description>
    </argument>
		<argument>
			<name>pathToSubElement</name>
			<type>string</type>
			<required>No</required>
		<description>String or a variable that contains one</description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- structUpdate -->
	<function>
		<name>structUpdate</name>
		<class>railo.runtime.functions.struct.StructUpdate</class>
		<member-name>update</member-name>
		<member-chaining>true</member-chaining>
		<description>Updates a key with a value.</description>
		<argument>
			<name>structure</name>
			<type>struct</type>
			<required>Yes</required>
		<description>Structure to update</description>
    </argument>
		<argument>
			<name>key</name>
			<type>string</type>
			<required>Yes</required>
		<description>Key, the value of which to update</description>
    </argument>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>New value</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	
	<!-- SystemCacheClear -->
	<function>
		<name>SystemCacheClear</name>
		<class>railo.runtime.functions.system.SystemCacheClear</class>
		<description>clears all caches or the specified cache</description>
		<argument>
			<name>cacheName</name>
			<alias>cache,region</alias>
			<type>string</type>
			<required>No</required>
		<description>Name of the cache to clear, if not defined all caches will be cleared:
      the following cache Names are supported:
      - all: clear all caches
      - template: clears the template cache
      - component: clears the component path cache
      - customtag: clears the custom tag path cache
      - query: clears the query cache
      - tag: clears the cfml/cfc based built in tag cache
      - function: clears the cfml based built in function cache
		</description>
    </argument>
		<return>
			<type>void</type>
		</return>
	</function>
	
	
	<!-- SystemOutput -->
	<function>
		<name>SystemOutput</name>
		<class>railo.runtime.functions.other.SystemOutput</class>
		<description>writes the given string to the output stream</description>
		<argument>
			<name>obj</name>
			<type>Object</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>addNewLine</name>
			<type>boolean</type>
			<required>no</required>
		<description></description>
    </argument>
		<argument>
			<name>doErrorStream</name>
			<type>boolean</type>
			<required>no</required>
		<description></description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- tan -->
	<function>
		<name>tan</name>
		<class>railo.runtime.functions.math.Tan</class>
		<description>Calculates the tangent of an angle that is entered in radians.</description>
		<argument>
			<name>number</name>
			<type>number</type>
			<required>Yes</required>
		<description>Angle, in radians, for which to calculate the tangent.</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- timeFormat -->
	<function>
		<name>timeFormat</name>
		<class>railo.runtime.functions.displayFormatting.TimeFormat</class>
		<description>Formats a time string to a given output</description>
		<argument>
			<name>time</name>
			<type>any</type>
			<required>Yes</required>
		<description>A date/time value or string to convert</description>
    </argument>
		<argument>
			<name>mask</name>
			<type>string</type>
			<required>No</required>
			<default>"hh:mm tt</default>
		<description>
Characters that show how Railo displays a time:
- h: hours; no leading zero for single-digit hours (12-hour clock)
- hh: hours; leading zero for single-digit hours (12-hour clock)
- H: hours; no leading zero for single-digit hours (24-hour clock)
- HH: hours; leading zero for single-digit hours (24-hour clock)
- m: minutes; no leading zero for single-digit minutes
- mm: minutes; a leading zero for single-digit minutes
- s: seconds; no leading zero for single-digit seconds
- ss: seconds; leading zero for single-digit seconds
- l or L: milliseconds, with no leading zeros
- t: one-character time marker string, such as A or P
- tt: multiple-character time marker string, such as AM or PM

- short: equivalent to h:mm tt
- medium: equivalent to h:mm:ss tt
- long: equivalent to h:mm:ss tt {timezone-3-letters}
- full: equivalent to h:mm:ss tt {timezone-3-letters}
		
		</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>No</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- toBase64 -->
	<function>
		<name>toBase64</name>
		<class>railo.runtime.functions.string.ToBase64</class>
		<description>Calculates the Base64 representation of a string or binary
        object. The Base64 format uses printable characters, allowing
        binary data to be sent in forms and e-mail, and stored in a
        database or file.</description>
		<argument>
			<name>strOrBin</name>
			<type>any</type>
			<required>Yes</required>
		<description>A string, the name of a string, or a binary object.</description>
    </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>No</required>
		<description>For a string, defines how characters are represented in a
            byte array.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- toBinary -->
	<function>
		<name>toBinary</name>
		<class>railo.runtime.functions.other.ToBinary</class>
		<description>Calculates the binary representation of Base64-encoded data.</description>
		<argument>
			<name>data</name>
			<type>any</type>
			<required>Yes</required>
		<description>A variable representing data in Base64-encoded format or a PDF document.</description>
    </argument>
		<return>
			<type>binary</type>
		</return>
	</function>
	<!-- ToNumeric -->
	<function>
		<name>ToNumeric</name>
		<class>railo.runtime.functions.other.ToNumeric</class>
		<description>Converts given value to a number</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
			<description>value that should be translated to a numeric value</description>
		</argument>
		<argument>
			<name>radix</name>
			<type>any</type>
			<required>no</required>
			<description>the base for tranlation of the given value, default is 10, possible values are [2-36,bin,oct,dec,hex]</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- ToScript -->
	<function>
		<name>ToScript</name>
		<class>railo.runtime.functions.conversion.ToScript</class>
		<description>Creates a JavaScript expression that assigns the value of a variable to a JavaScript variable. 
		This function can convert strings, numbers, arrays, structures, and queries to JavaScript syntax that defines equivalent variables and values.</description>
		<argument>
			<name>cfvar</name>
			<type>any</type>
			<required>Yes</required>
		<description>A variable.</description>
    </argument>
		<argument>
			<name>javascriptvar</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string that specifies the name of the JavaScript variable
            that the ToScript function creates.</description>
    </argument>
		<argument>
			<name>outputformat</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
		<description>A Boolean value that determines whether to create
            WDDX (JavaScript) or ActionScript style output for
            structures and queries.
            Default: true</description>
    </argument>
		<argument>
			<name>ASFormat</name>
			<type>boolean</type>
			<required>No</required>
		<description>A Boolean value that specifies whether to use
            ActionScript shortcuts in the script.
            Default: false</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- toString -->
	<function>
		<name>toString</name>
		<class>railo.runtime.functions.string.ToString</class>
		<description>Converts a value to a string.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>No</required>
		<description>Value to convert to a string; can be a simple value such as an integer, a binary object, or an XML document object.</description>
    </argument>
		<argument>
			<name>encoding</name>
			<type>string</type>
			<required>No</required>
		<description>The character encoding (character set) of the string.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	
	<!-- trim -->
	<function>
		<name>trim</name>
		<class>railo.runtime.functions.string.Trim</class>
		<description>Removes leading and trailing spaces from a string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
			<description>the string to trim</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- uCase -->
	<function>
		<name>uCase</name>
		<class>railo.runtime.functions.string.UCase</class>
		<description>Converts the alphabetic characters in a string to uppercase.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- ucFirst -->
	<function>
		<name>ucFirst</name>
		<class>railo.runtime.functions.string.UCFirst</class>
		<description>Capitalizes the first character of the given string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		    <description>the input string</description>
		</argument>
		<argument>
			<name>doAll</name>
			<type>boolean</type>
			<required>false</required>
		    <description>if true, then every word is capitalized, where a new word is defined as alpha characters that come after whitespace, a dot [.], a dash [-], or (parenthesis)</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- unserializeJava 
	deprecated replaced with evaluteJava
	-->
	<function>
		<name>unserializeJava</name>
		<class>railo.runtime.functions.dynamicEvaluation.UnserializeJava</class>
		<status>deprecated</status>
		<description>literal defintion of a serialized Java Object by function serialize</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>any</type>
		</return>
	</function>
	<!-- uRLDecode -->
	<function>
		<name>uRLDecode</name>
		<class>railo.runtime.functions.other.URLDecode</class>
		<description>Decodes a URL-encoded string.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>URL-encoded string.</description>
    </argument>
		<argument>
			<name>charset</name>
			<type>string</type>
			<required>No</required>
			<default>utf-8</default>
		<description>The character encoding in which the string is encoded.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- uRLEncode -->
	<function>
		<name>uRLEncode</name>
		<class>railo.runtime.functions.other.URLEncode</class>
		<description>encode a url</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>charset</name>
			<type>string</type>
			<required>No</required>
			<default>utf-8</default>
		<description></description>
    </argument>
		<argument>
			<name>force</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- uRLEncodedFormat -->
	<function>
		<name>uRLEncodedFormat</name>
		<class>railo.runtime.functions.other.URLEncodedFormat</class>
		<description>Generates a URL-encoded string. For example, it replaces spaces
        with %20, and non-alphanumeric characters with equivalent
        hexadecimal escape sequences. Passes arbitrary strings within a
        URL.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<argument>
			<name>charset</name>
			<type>string</type>
			<required>No</required>
			<default>utf-8</default>
		<description>The character encoding in which the string is encoded.</description>
    </argument>
		<argument>
			<name>force</name>
			<type>boolean</type>
			<required>No</required>
			<default>true</default>
		<description></description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- URLSessionFormat -->
	<function>
		<name>uRLSessionFormat</name>
		<class>railo.runtime.functions.other.URLSessionFormat</class>
		<description>Encodes the URL with the CFTOKEN/CFID/JSESSIONID</description>
		<argument>
			<name>url</name>
			<type>string</type>
			<required>Yes</required>
		<description>URL of a cfml template</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- val -->
	<function>
		<name>val</name>
		<class>railo.runtime.functions.string.Val</class>
		<description>Converts numeric characters that occur at the beginning of a
        string to a number. If conversion fails, returns zero.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- valueArray -->
	<function>
		<name>valueArray</name>
		<class>railo.runtime.functions.query.ValueArray</class>
		<status>deprecated</status>
		<description>Returns a array of all the values, for a given column within the query.
		this function is deprecated, use instead the function queryColumnData</description>
		<argument>
			<name>query_column</name>
			<type>queryColumn</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>array</type>
		</return>
	</function>
	<!-- valueList -->
	<function>
		<name>valueList</name>
		<class>railo.runtime.functions.query.ValueList</class>
		<status>deprecated</status>
		<description>Returns a list of all the values, for a given column within the query, delimited by the value given.
		this function is deprecated, use instead the function queryColumnData</description>
		<argument>
			<name>query_column</name>
			<type>queryColumn</type>
			<required>Yes</required>
		<description>Name of an executed query and column. Separate query name and column name with a period.</description>
    </argument>
		<argument>
			<name>delimiter</name>
			<alias>delimiters</alias>
			<type>string</type>
			<required>No</required>
			<default>,</default>
		<description>A delimiter character to separate column data items.
            Default: comma (,).</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- VerifyClient -->
	<function>
		<name>VerifyClient</name>
		<class>railo.runtime.functions.other.VerifyClient</class>
		<description>Verifies whether request is from valid client or not</description>
		<return>
			<type>void</type>
		</return>
	</function>
	<!-- week -->
	<function>
		<name>week</name>
		<class>railo.runtime.functions.dateTime.Week</class>
		<member-name>week</member-name>
		<description>From a date/time object, determines the week number within
        the year. An integer in the range 1-53; the ordinal of the
        week, within the year.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description>date object</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	
	<!-- lsweek -->
	<function>
		<name>lsweek</name>
		<class>railo.runtime.functions.international.LSWeek</class>
		<description>Returns the week number in the year of the date referenced, based on the loal influence. not everywhere the wekk begins on Monday by defintion.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>locale</name>
			<type>string</type>
			<required>no</required>
		<description>Locale to use instead of the locale of the page when processing the function</description>
    </argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
		<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- wrap -->
	<function>
		<name>wrap</name>
		<class>railo.runtime.functions.string.Wrap</class>
		<description>Wraps text so that each line has a specified maximum number of characters.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
			<description>The text to wrap.</description>
		</argument>
		<argument>
			<name>limit</name>
			<type>number</type>
			<required>Yes</required>
			<description>Positive integer maximum number of characters to allow on a line.</description>
		</argument>
		<argument>
			<name>strip</name>
			<type>boolean</type>
			<required>No</required>
			<description>Whether to remove all existing newline and carriage return characters in the input string with spaces before wrapping the text.</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- writeOutput -->
	<function>
		<name>writeOutput</name>
		<class>railo.runtime.functions.other.WriteOutput</class>
		<description>Writes the given string to the main response buffer regardless of
        conditions established by the cfsetting tag.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string to write to the buffer.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- echo -> alias for writeOutput -->
	<function>
		<name>echo</name>
		<class>railo.runtime.functions.other.WriteOutput</class>
		<description>Writes the given string to the main response buffer regardless of
        conditions established by the cfsetting tag. see also function writeOutput.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string to write to the buffer.</description>
    </argument>
		<return>
			<type>boolean</type>
		</return>
	</function>
	<!-- xmlChildPos -->
	<function>
		<name>xmlChildPos</name>
		<class>railo.runtime.functions.xml.XmlChildPos</class>
		<description>Gets the position of a child element within an XML document
        object.
        The position, in an XmlChildren array, of the Nth child that
        has the specified name.</description>
		<argument>
			<name>node</name>
			<alias>xmlObj,xmlDoc,xml</alias>
			<type>xml</type>
			<required>Yes</required>
		<description>XML element within which to search.</description>
    </argument>
		<argument>
			<name>childName</name>
			<type>string</type>
			<required>Yes</required>
		<description>XML child element for which to search</description>
    </argument>
		<argument>
			<name>index</name>
			<type>number</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- xmlElemNew -->
	<function>
		<name>xmlElemNew</name>
		<class>railo.runtime.functions.xml.XmlElemNew</class>
		<description>Creates an XML document object element</description>
		<argument>
			<name>xmlObj</name>
			<alias>node,element,xml,xmlDoc</alias>
			<type>xml</type>
			<required>Yes</required>
		<description>Name of the XML document object in which you are creating the element</description>
    	</argument>
		<argument>
			<name>namespace_or_childName</name>
			<alias>namespace</alias>
			<type>string</type>
			<required>No</required>
			<description>URI of the namespace to which this element belongs or the name of the element to create.</description>
    	</argument>
		<argument>
			<name>childName</name>
			<alias>name</alias>
			<type>string</type>
			<required>No</required>
			<description>The name of the element to create. This element becomes a child element of xmlObj in the tree.</description>
    	</argument>
		<return>
			<type>org.w3c.dom.Element</type>
		</return>
	</function>
	<!-- xMLFormat -->
	<function>
		<name>xMLFormat</name>
		<class>railo.runtime.functions.other.XMLFormat</class>
		<description>Escapes special XML characters in a string, so that the
        string is safe to use with XML.</description>
		<argument>
			<name>string</name>
			<type>string</type>
			<required>Yes</required>
		<description>A string or a variable that contains one</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- XmlGetNodeType -->
	<function>
		<name>XmlGetNodeType</name>
		<class>railo.runtime.functions.xml.XmlGetNodeType</class>
		<description>Determines the type of an XML document object node.</description>
		<argument>
			<name>xml</name>
			<alias>xmlDoc,xmlObj</alias>
			<type>xml</type>
			<required>Yes</required>
		<description>An XML DOM object node</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- xmlNew -->
	<function>
		<name>xmlNew</name>
		<class>railo.runtime.functions.xml.XmlNew</class>
		<description>Creates an XML document object.</description>
		<argument>
			<name>caseSensitive</name>
			<type>boolean</type>
			<required>No</required>
		<description>Determines how Railo processes the case of XML document object component identifiers:</description>
    </argument>
		<return>
			<type>xml</type>
		</return>
	</function>
	<!-- xmlParse -->
	<function>
		<name>xmlParse</name>
		<class>railo.runtime.functions.xml.XmlParse</class>
		<description>Converts an XML document that is represented as a string
        variable into an XML document object.</description>
		<argument>
			<name>xmlString</name>
			<alias>xmlText,xml</alias>
			<type>string</type>
			<required>Yes</required>
		<description>Any of the following:</description>
    </argument>
		<argument>
			<name>caseSensitive</name>
			<type>boolean</type>
			<required>No</required>
		<description>Maintains the case of document elements and attributes.
            Default: false</description>
    </argument>
		<argument>
			<name>validator</name>
			<type>string</type>
			<required>No</required>
		<description>Any of the following:
- A string containing a DTD or Schema
- The name of a DTD or Schema file
- The URL of a DTD or Schema file; valid protocol identifiers include http, https, ftp, and file</description>
    </argument>
		<return>
			<type>xml</type>
		</return>
	</function>
	<!-- htmlParse -->
	<function>
		<name>htmlParse</name>
		<class>railo.runtime.functions.xml.HtmlParse</class>
		<description>parse the given html (not only xhtml) as xml Object, work similar to xmlParse, but this function is very forgiving with the syntax..</description>
		<argument>
			<name>html</name>
			<alias>string,text</alias>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>caseSensitive</name>
			<type>boolean</type>
			<required>No</required>
		<description></description>
    </argument>
		<return>
			<type>xml</type>
		</return>
	</function>
	<!-- xmlSearch -->
	<function>
		<name>xmlSearch</name>
		<class>railo.runtime.functions.xml.XmlSearch</class>
		<description>Uses an XPath language expression to search an XML document object.</description>
		<argument>
			<name>xml</name>
			<alias>xmlObj,xmlDoc,node</alias>
			<type>xml</type>
			<required>Yes</required>
		<description>XML document object</description>
    </argument>
		<argument>
			<name>xpath</name>
			<alias>path,xPathString</alias>
			<type>string</type>
			<required>Yes</required>
		<description>XPath expression</description>
    </argument>
		<return>
			<type>object</type>
		</return>
	</function>
	<!-- xmlTransform -->
	<function>
		<name>xmlTransform</name>
		<class>railo.runtime.functions.xml.XmlTransform</class>
		<description>Applies an Extensible Stylesheet Language Transformation (XSLT)
        to an XML document object that is represented as a string
        variable. An XSLT converts an XML document to another format
        or representation by applying an Extensible Stylesheet
        Language (XSL) stylesheet to it.</description>
		<argument>
			<name>xml</name>
			<alias>xmlObj,xmlDoc,node</alias>
			<type>any</type>
			<required>Yes</required>
		<description>An XML document in string format, or an XML document object</description>
    </argument>
		<argument>
			<name>xsl</name>
			<alias>xslString,xslText</alias>
			<type>string</type>
			<required>Yes</required>
		<description></description>
    </argument>
		<argument>
			<name>parameters</name>
			<type>struct</type>
			<required>false</required>
			<status>unimplemeted</status>
		<description>A structure containing XSL template parameter name-value
            pairs to use in transforming the document. The XSL transform
            defined in the xslString parameter uses these parameter values
            in processing the xml.</description>
    </argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- XmlValidate -->
	<function>
		<name>XmlValidate</name>
		<class>railo.runtime.functions.xml.XmlValidate</class>
		<description>Uses a Document Type Definition (DTD) or XML Schema to validate an XML text document or an XML document object.</description>
		<argument>
			<name>xmlDoc</name>
			<alias>xml,xmlText,xmlString</alias>
			<type>string</type>
			<required>Yes</required>
			<description>The XML to validate</description>
		</argument>
		<argument>
			<name>validator</name>
			<type>string</type>
			<required>No</required>
			<description>Any of the following:
 - A string containing a DTD or Schema.
 - The name of a DTD or Schema file.
 - The URL of a DTD or Schema file; valid protocol identifiers include http, https, ftp, and file.</description>
		</argument>
		<return>
			<type>struct</type>
		</return>
	</function>
	<!-- year -->
	<function>
		<name>year</name>
		<class>railo.runtime.functions.dateTime.Year</class>
		<member-name>year</member-name>
		<description>From a date/time object, gets the year value.</description>
		<argument>
			<name>date</name>
			<type>datetime</type>
			<required>Yes</required>
			<description>The date from which to extract the year</description>
		</argument>
		<argument>
			<name>timezone</name>
			<type>string</type>
			<required>no</required>
			<description>
A datetime object is independent of a specific timezone, it is only a offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).
This means that the timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is since those calculations depend on the timezone.
For these calculations, a timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Railo Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone.
You can find a list of all available timezones in the Railo administrator (Settings/Regional). Some examples of valid timezones:
       - AGT (for time in Argentina)
       - Europe/Zurich (for time in Zurich/Switzerland)
       - HST (Hawaiian Standard Time in the USA)
		</description>
		</argument>
		<return>
			<type>number</type>
		</return>
	</function>
	<!-- yesNoFormat -->
	<function>
		<name>yesNoFormat</name>
		<class>railo.runtime.functions.displayFormatting.YesNoFormat</class>
		<description>Yes, for a non-zero value; No, otherwise.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
			<description>a value that can be casted to a boolean</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
	<!-- trueFalseFormat -->
	<function>
		<name>trueFalseFormat</name>
		<class>railo.runtime.functions.displayFormatting.TrueFalseFormat</class>
		<description>True, for a non-zero value; False, otherwise.</description>
		<argument>
			<name>value</name>
			<type>any</type>
			<required>Yes</required>
			<description>a value that can be casted to a boolean</description>
		</argument>
		<return>
			<type>string</type>
		</return>
	</function>
</func-lib>