<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Indereek</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Indereek"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Indereek"/>
	<updated>2026-05-10T04:41:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EncodeString&amp;diff=75522</id>
		<title>EncodeString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EncodeString&amp;diff=75522"/>
		<updated>2022-09-25T14:28:17Z</updated>

		<summary type="html">&lt;p&gt;Indereek: RSA encryption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{New feature/item|3.0156|1.5.5|11849|&lt;br /&gt;
This function encodes a [[string]] using the specified algorithm. The counterpart of this function is [[decodeString]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|If it doesn't matter which algorithm you use for the encoding, keep in mind that ''aes128'' uses hardware acceleration so it may outperform the ''tea'' algorithm on most processors.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string encodeString ( string algorithm, string input, table options [, function callback ] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''algorithm:''' The algorithm to use.&lt;br /&gt;
*'''input:''' The input to encode.&lt;br /&gt;
*'''options:''' A [[table]] with options and other necessary data for the algorithm, as detailed below.&lt;br /&gt;
&lt;br /&gt;
===Options for each algorithm===&lt;br /&gt;
* ''tea'' ([https://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm Tiny Encryption Algorithm])&lt;br /&gt;
** '''key''': a key to encode the input with.&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20898|&lt;br /&gt;
* ''aes128'' ([https://en.wikipedia.org/wiki/Advanced_Encryption_Standard Advanced Encryption Standard] in CTR mode)&lt;br /&gt;
** '''key''': a key to encode the input with (must be 16 characters long).&lt;br /&gt;
|20898}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21055|&lt;br /&gt;
* ''rsa'' ([https://en.wikipedia.org/wiki/RSA_(cryptosystem) Rivest-Shamir-Adleman] in OAEP with SHA-1 mode)&lt;br /&gt;
** '''key''': a public key to encode the input.&lt;br /&gt;
|21055}}&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''callback:''' providing a callback will run this function asynchronously, the arguments to the callback are the same as the returned values below.&lt;br /&gt;
===Returns for each algorithm===&lt;br /&gt;
* ''tea'' &lt;br /&gt;
** '''encodedString''': the encoded string if successful, ''false'' otherwise. If a callback was provided, ''true'' is returned immediately, and the encoded string is passed as an argument to the callback.&lt;br /&gt;
{{New items|3.0159|1.5.8|&lt;br /&gt;
* ''aes128'' &lt;br /&gt;
** '''encodedString''': the encoded string if successful, ''false'' otherwise. If a callback was provided, ''true'' is returned immediately, and the encoded string is passed as an argument to the callback.&lt;br /&gt;
** '''iv''' ([https://en.wikipedia.org/wiki/Initialization_vector Initialization vector]): this is a string generated by the encryption algorithm that is needed to decrypt the message by [[decodeString]]. If a callback was provided, ''true'' is returned immediately, and the ''iv'' is passed as an argument to the callback.&lt;br /&gt;
|20898}}&lt;br /&gt;
{{New items|3.0159|1.5.8|&lt;br /&gt;
* ''rsa'' &lt;br /&gt;
** '''encodedString''': the encoded string if successful, ''false'' otherwise. If a callback was provided, ''true'' is returned immediately, and the encoded string is passed as an argument to the callback.&lt;br /&gt;
|21055}}&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
Adds an ''/encode'' command in which you can provide an algorithm, key and data to encode. Below is the example provided as both server-side and client-side variations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;encode&amp;quot;, &lt;br /&gt;
    function(player, _, algorithm, key, ...)&lt;br /&gt;
        if algorithm and key then&lt;br /&gt;
            local text = table.concat({...}, &amp;quot; &amp;quot;)&lt;br /&gt;
            if type(text) == &amp;quot;string&amp;quot; and text ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                local encoded = encodeString(algorithm, text, { key = key })&lt;br /&gt;
                if encoded then&lt;br /&gt;
                    outputChatBox(&amp;quot;The result of &amp;quot; .. algorithm .. &amp;quot; encoding is: &amp;quot; .. encoded, player)&lt;br /&gt;
                else&lt;br /&gt;
                    outputChatBox(&amp;quot;Failed to encode. Make sure that all arguments are valid.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
                end&lt;br /&gt;
            else&lt;br /&gt;
                outputChatBox(&amp;quot;Please specify text in the command.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
            end&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox(&amp;quot;Invalid algorithm and/or key.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Indereek</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DecodeString&amp;diff=75521</id>
		<title>DecodeString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DecodeString&amp;diff=75521"/>
		<updated>2022-09-25T14:28:13Z</updated>

		<summary type="html">&lt;p&gt;Indereek: RSA decryption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{New feature/item|3.0156|1.5.5|11849|&lt;br /&gt;
This function decodes an encoded [[string]] using the specified algorithm. The counterpart of this function is [[encodeString]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string decodeString ( string algorithm, string input, table options [, function callback ] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''algorithm:''' The algorithm to use.&lt;br /&gt;
*'''input:''' The input to decode.&lt;br /&gt;
*'''options:''' A [[table]] with options and other necessary data for the algorithm, as detailed below.&lt;br /&gt;
&lt;br /&gt;
===Options for each algorithm===&lt;br /&gt;
* ''tea'' ([https://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm Tiny Encryption Algorithm])&lt;br /&gt;
** '''key''': a key to decode the input with.&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20898|&lt;br /&gt;
* ''aes128'' ([https://en.wikipedia.org/wiki/Advanced_Encryption_Standard Advanced Encryption Standard] in CTR mode)&lt;br /&gt;
** '''key''': a key to decode the input with.&lt;br /&gt;
** '''iv''': the initialization vector that was generated by [[encodeString]] for this combination of data and encryption algorithm.&lt;br /&gt;
}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21055|&lt;br /&gt;
* ''rsa'' ([https://en.wikipedia.org/wiki/RSA_(cryptosystem) Rivest-Shamir-Adleman] in OAEP with SHA-1 mode)&lt;br /&gt;
** '''key''': a private key to decode the input.&lt;br /&gt;
|21055}}&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''callback:''' providing a callback will run this function asynchronously, the arguments to the callback are the same as the returned values below.&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the decoded string if successful, ''false'' otherwise. If a callback was provided, the decoded string is argument to the callback.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
Adds an ''/decode'' command in which you can provide an algorithm, key and data to decode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;decode&amp;quot;, &lt;br /&gt;
    function(player, _, algorithm, key, ...)&lt;br /&gt;
        if algorithm and key then&lt;br /&gt;
            local text = table.concat({...}, &amp;quot; &amp;quot;)&lt;br /&gt;
            if type(text) == &amp;quot;string&amp;quot; and text ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                local decoded = decodeString(algorithm, text, { key = key })&lt;br /&gt;
                if decoded then&lt;br /&gt;
                    outputChatBox(&amp;quot;The result of &amp;quot; .. algorithm .. &amp;quot; decoding is: &amp;quot; .. decoded, player)&lt;br /&gt;
                else&lt;br /&gt;
                    outputChatBox(&amp;quot;Failed to decode. Make sure that all arguments are valid.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
                end&lt;br /&gt;
            else&lt;br /&gt;
                outputChatBox(&amp;quot;Please specify text in the command.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
            end&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox(&amp;quot;Invalid algorithm and/or key.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Indereek</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GenerateKeyPair&amp;diff=75520</id>
		<title>GenerateKeyPair</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GenerateKeyPair&amp;diff=75520"/>
		<updated>2022-09-25T14:18:19Z</updated>

		<summary type="html">&lt;p&gt;Indereek: Key pair generation example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.5.9|21055|This function creates a new public key and private key for encrypting data}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string, string generateKeyPair ( string algorithm, table options [, function callback ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''algorithm:''' The algorithm to use:&lt;br /&gt;
** ''RSA'': use the RSA public-key algorithm&lt;br /&gt;
*'''options:''' table with options for the hashing algorithm, as detailed below.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''callback:''' providing a callback will run this function asynchronously, the arguments to the callback are the same as the returned values below.&lt;br /&gt;
&lt;br /&gt;
===Options for each hashing algorithm===&lt;br /&gt;
* ''RSA'':&lt;br /&gt;
** ''size'' (int), default: 0 &amp;lt;!-- the value is not changing in the function....? --&amp;gt;.  Size of a key.&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
Returns 2 strings if successful: '''private key''' and '''public key'''. Otherwise returns '''false'''&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
Adds an ''/generatekeypair'' command in which you can provide a key size to generate a key pair for encryption.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;generatekeypair&amp;quot;, &lt;br /&gt;
    function(player, _, algorithm, keysize)&lt;br /&gt;
        if algorithm then&lt;br /&gt;
            if keysize and tonumber(keysize) then&lt;br /&gt;
                local privateKey, publicKey = generateKeyPair( algorithm, { size = keysize } )&lt;br /&gt;
                if not privateKey then&lt;br /&gt;
                    outputChatBox(&amp;quot;Failed to generate key pair. Make sure that all arguments are valid.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
                else&lt;br /&gt;
                    outputConsole(&amp;quot;Private Key: &amp;quot; .. base64Encode(privateKey),player)&lt;br /&gt;
                    outputConsole(&amp;quot;Public Key: &amp;quot; .. base64Encode(publicKey),player)&lt;br /&gt;
                    outputChatBox(&amp;quot;The key pair was successfully generated. You can find the result in the console.&amp;quot;, player, 0, 255, 0)&lt;br /&gt;
                end&lt;br /&gt;
            else&lt;br /&gt;
                outputChatBox(&amp;quot;Please specify key size in the command.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
            end&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox(&amp;quot;Please specify algorithm in the command.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Indereek</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Hash&amp;diff=75500</id>
		<title>Hash</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Hash&amp;diff=75500"/>
		<updated>2022-09-25T09:15:29Z</updated>

		<summary type="html">&lt;p&gt;Indereek: HMAC documentaction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
{{New feature/item|3.0141|1.4.1|6791|&lt;br /&gt;
This function returns a hash of the specified string in the specified algorithm.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string hash ( string algorithm, string dataToHash, [ table options ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''algorithm''': A string which must be one of these: &amp;quot;md5&amp;quot;, &amp;quot;sha1&amp;quot;, &amp;quot;sha224&amp;quot;, &amp;quot;sha256&amp;quot;, &amp;quot;sha384&amp;quot;, &amp;quot;sha512&amp;quot;, &amp;quot;hmac&amp;quot;&lt;br /&gt;
*'''dataToHash''': A string of the data to hash.&lt;br /&gt;
*'''options''': A table with options and other necessary data for the algorithm, as detailed below.&lt;br /&gt;
&lt;br /&gt;
===Options for each algorithm===&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21329|&lt;br /&gt;
* ''hmac'' ([https://en.wikipedia.org/wiki/HMAC HMAC])&lt;br /&gt;
** '''key''': a key to encode the input with.&lt;br /&gt;
** '''algorithm''': a string which must be one of these: &amp;quot;md5&amp;quot;, &amp;quot;sha1&amp;quot;, &amp;quot;sha224&amp;quot;, &amp;quot;sha256&amp;quot;, &amp;quot;sha384&amp;quot;, &amp;quot;sha512&amp;quot;.&lt;br /&gt;
|21329}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the hash of the data, false if an invalid argument was used.&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local myString = &amp;quot;myDatatoHash&amp;quot;&lt;br /&gt;
print(hash(&amp;quot;md5&amp;quot;, myString)) -- This will hash myString with the md5 Algorithm (it's equal to md5()) -&amp;gt; output: 0EF1E2203BD78182911B77EB6B9CC3DE&lt;br /&gt;
&lt;br /&gt;
-- A another Example&lt;br /&gt;
local myNewString = &amp;quot;myNewDatatoHash&amp;quot;&lt;br /&gt;
print(hash(&amp;quot;sha512&amp;quot;, myNewString)) -- This will hash myNewString with the sha512 Algorithm -&amp;gt; output: 64A5678DC83EDCD8991E8CF0D69764663C0F933870BB89465F77B6C23D2A2B2400305A36D77404EE647D0D7B9D56CF7937B235BBD3885D08DCC62C81FB6D8429&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;br /&gt;
[[ru:hash]]&lt;/div&gt;</summary>
		<author><name>Indereek</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Hash&amp;diff=75499</id>
		<title>Hash</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Hash&amp;diff=75499"/>
		<updated>2022-09-25T09:14:46Z</updated>

		<summary type="html">&lt;p&gt;Indereek: HMAC documentaction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
{{New feature/item|3.0141|1.4.1|6791|&lt;br /&gt;
This function returns a hash of the specified string in the specified algorithm.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string hash ( string algorithm, string dataToHash, [ table options ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''algorithm''': A string which must be one of these: &amp;quot;md5&amp;quot;, &amp;quot;sha1&amp;quot;, &amp;quot;sha224&amp;quot;, &amp;quot;sha256&amp;quot;, &amp;quot;sha384&amp;quot;, &amp;quot;sha512&amp;quot;, &amp;quot;hmac&amp;quot;&lt;br /&gt;
*'''dataToHash''': A string of the data to hash.&lt;br /&gt;
*'''options''': A table with options and other necessary data for the algorithm, as detailed below.&lt;br /&gt;
&lt;br /&gt;
===Options for each algorithm===&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21329|&lt;br /&gt;
* ''hmac'' ([https://en.wikipedia.org/wiki/HMAC HMAC])&lt;br /&gt;
** '''key''': a key to encode the input with.&lt;br /&gt;
** '''algorithm''': a string which must be one of these: &amp;quot;md5&amp;quot;, &amp;quot;sha1&amp;quot;, &amp;quot;sha224&amp;quot;, &amp;quot;sha256&amp;quot;, &amp;quot;sha384&amp;quot;, &amp;quot;sha512&amp;quot;,&lt;br /&gt;
|21329}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the hash of the data, false if an invalid argument was used.&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local myString = &amp;quot;myDatatoHash&amp;quot;&lt;br /&gt;
print(hash(&amp;quot;md5&amp;quot;, myString)) -- This will hash myString with the md5 Algorithm (it's equal to md5()) -&amp;gt; output: 0EF1E2203BD78182911B77EB6B9CC3DE&lt;br /&gt;
&lt;br /&gt;
-- A another Example&lt;br /&gt;
local myNewString = &amp;quot;myNewDatatoHash&amp;quot;&lt;br /&gt;
print(hash(&amp;quot;sha512&amp;quot;, myNewString)) -- This will hash myNewString with the sha512 Algorithm -&amp;gt; output: 64A5678DC83EDCD8991E8CF0D69764663C0F933870BB89465F77B6C23D2A2B2400305A36D77404EE647D0D7B9D56CF7937B235BBD3885D08DCC62C81FB6D8429&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;br /&gt;
[[ru:hash]]&lt;/div&gt;</summary>
		<author><name>Indereek</name></author>
	</entry>
</feed>