diff -ruN wgetpaste-2.22.orig/wgetpaste wgetpaste-2.22/wgetpaste
--- wgetpaste-2.25.orig/wgetpaste	2014-01-21 11:31:59.475610453 +0400
+++ wgetpaste-2.25/wgetpaste	2014-01-21 11:41:13.858639053 +0400
@@ -6,6 +6,8 @@
 
 VERSION="2.25"
 
+DEFAULT_SERVICE="calculate"
+
 # don't inherit LANGUAGE from the env
 unset LANGUAGE
 
@@ -14,7 +16,7 @@ E=$'\e'
 N=$'\n'
 
 ### services
-SERVICES="bpaste ca codepad dpaste gists poundpython"
+SERVICES="bpaste ca codepad dpaste gists poundpython calculate"
 # bpaste
 ENGINE_bpaste=lodgeit
 URL_bpaste="http://bpaste.net/"
@@ -42,6 +44,17 @@ URL_poundpython="http://paste.pound-python.org/"
 ENGINE_tinyurl=tinyurl
 URL_tinyurl="http://tinyurl.com/ api-create.php"
 REGEX_RAW_tinyurl='s|^\(http://[^/]*/\)\([[:alnum:]]*\)$|\1\2|'
+# calculate
+ENGINE_calculate=calculate
+if [[ "$LANG" =~ 'ru_RU' ]]; then
+    URL_calculate="http://pastebin.calculate-linux.ru"
+else
+    URL_calculate="http://pastebin.calculate-linux.org"
+fi
+DEFAULT_LANGUAGE_calculate="Text"
+DEFAULT_PARENT_calculate=""
+DEFAULT_PRIVATE_calculate=0
+SIZE_calculate="25000 25%kB"
 
 ### engines
 # ca
@@ -52,12 +65,12 @@ LANGUAGE_COUNT_ca=0
 EXPIRATIONS_ca="Never 5%minutes 10%minutes 15%minutes 30%minutes 45%minutes 1%hour 2%hours \
 4%hours 8%hours 12%hours 1%day 2%days 3%days 1%week 2%weeks 3%weeks 1%month 2%months \
 3%months 4%months 5%months 6%months 1%year"
-POST_ca="s=Submit+Post name description type expiry % content"
+POST_ca="s=Submit+Post name description type expiry % % % content"
 REGEX_URL_ca='s|^.*content="[0-9]*;\(http://[^/]*/[0-9]*\)".*$|\1|p'
 REGEX_RAW_ca='s|^\(http://[^/]*/\)\([0-9]*\)$|\1raw/\2|'
 # codepad
 LANGUAGES_codepad="C C++ D Haskell Lua OCaml PHP Perl Plain%Text Python Ruby Scheme Tcl"
-POST_codepad="submit % % lang % % code"
+POST_codepad="submit % % lang % % % % code"
 REGEX_URL_codepad='s|^--.*\(http://codepad.org/[^ ]\+\)|\1|p'
 REGEX_RAW_codepad='s|^\(http://[^/]*/\)\([[:alnum:]]*\)$|\1\2/raw.rb|'
 # dpaste
@@ -67,7 +80,7 @@ LANGUAGE_VALUES_dpaste="% Apache Bash Css Diff DjangoTemplate Haskell JScript Py
 Ruby Rhtml Sql Xml"
 EXPIRATIONS_dpaste="30%days 30%days%after%last%view"
 EXPIRATION_VALUES_dpaste="off on"
-POST_dpaste="submit=Paste+it poster title language hold % content"
+POST_dpaste="submit=Paste+it poster title language hold % % % content"
 REGEX_RAW_dpaste='s|^\(http://[^/]*/\)[^0-9]*\([0-9]*/\)$|\1\2plain/|'
 # gists
 LANGUAGES_gists="ActionScript Ada Apex AppleScript Arc Arduino ASP Assembly
@@ -141,8 +154,23 @@ objective-c objective-j ocaml ooc perl php text pov prolog python python3 py3tb
 ragel-c ragel-cpp ragel-d ragel-java ragel-objc ragel-ruby raw rconsole rebol redcode rst rhtml rb \
 rbcon splus sass scala scheme smalltalk smarty sql sqlite3 squidconf tcl tcsh tex diff vala vb.net \
 vim xml xml+cheetah xml+django xml+evoque xml+mako xml+myghty xml+php xml+erb xml+smarty xslt yaml"
-POST_lodgeit="submit=Paste! % % language % % code"
+POST_lodgeit="submit=Paste! % % language % % % % code"
 REGEX_RAW_lodgeit='s|^\(http://[^/]*/\)show\(/[[:alnum:]]*/\)$|\1raw\2|'
+# calculate
+LANGUAGES_calculate="Apache Bash Batch Boo C C# C++ Clojure Creole_Wiki CSS \
+CSV D Debian_control-files Django_Jinja_Templates Dylan Erlang eRuby_rhtml GAS GCC_Messages \
+Genshi_Templates Gettext_catalogs GL_Shader_language Haskell HTML INI_File Interactive_Ruby IO \
+IRC_Logs Java javac_Messages JavaScript JSP Lighttpd Literate_Haskell LLVM Lua Mako_Templates Matlab \
+Matlab_Session MiniD Multi-File Myghty_Templates MySQL Nasm Nginx Object-Pascal OCaml Perl PHP \
+PHP_(inline) Povray Python Python_Console_Sessions Python_Tracebacks reStructuredText Ruby Scala \
+Scheme Smalltalk Smarty sources.list SQL SquidConf TeX_LaTeX Text Unified_Diff Vim XML XSLT YAML"
+LANGUAGE_VALUES_calculate="apache bash bat boo c csharp cpp clojure creole css csv d control html+django \
+dylan erlang rhtml gas gcc-messages html+genshi gettext glsl haskell html ini irb io irc java \
+javac-messages js jsp lighttpd literate-haskell llvm lua html+mako matlab matlabsession minid multi \
+html+myghty mysql nasm nginx objectpascal ocaml perl html+php php povray python pycon pytb rst ruby \
+scala scheme smalltalk smarty sourceslist sql squidconf tex text diff vim xml xslt yaml"
+POST_calculate="submit=paste! % % language % parent private % text"
+REGEX_RAW_calculate='s|^\(http://[^/]*/\)show\(/[0-9]*/\)$|\1raw\2|'
 
 ### errors
 die() {
@@ -340,6 +368,9 @@ Options:
     -s, --service SERVICE         set service to use (defaults to "$DEFAULT_SERVICE")
     -e, --expiration EXPIRATION   set when it should expire (defaults to "$DEFAULT_EXPIRATION")
 
+    -p, --parent PARENT           set parent paste (defaults to "$DEFAULT_PARENT", make use id paste) (Calculate pastebin option)
+    -P, --private PRIVATE         set private status (defaults to "$DEFAULT_PRIVATE") (Calculate pastebin option)
+
     -S, --list-services           list supported pastebin services
     -L, --list-languages          list languages supported by the specified service
     -E, --list-expiration         list expiration setting supported by the specified service
@@ -431,6 +462,18 @@ showlanguages() {
 	done | sort
 }
 
+showprivate() {
+   local p priv d
+   priv=PRIVATE_$ENGINE
+   [[ -n $COMPLETIONS ]] && printlist ${!priv} | sort && exit 0
+   echo "Private supported by $(getrecipient) (case sensitive):"
+   [[ -z ${!priv} ]] && echo "$N\"$ENGINE\" has no support for setting language." >&2 && exit 1
+   for p in ${!priv}; do
+       [[ ${p//\%/ } = $DEFAULT_PRIVATE ]] && d="*" || d=" "
+       echo "   $d${p//\%/ }"
+   done | sort
+}
+
 showexpirations() {
 	local e expiration info d
 	expiration=EXPIRATIONS_$ENGINE
@@ -484,7 +527,7 @@ postdata() {
 	post=POST_$ENGINE
 	if [[ -n ${!post} ]]; then
 		nr=${!post//[^ ]}
-		[[ 6 = ${#nr} ]] || die "\"${SERVICE}\" is not supported by ${FUNCNAME}()."
+		[[ 8 = ${#nr} ]] || die "\"${SERVICE}\" is not supported by ${FUNCNAME}()."
 		extra=${!post%% *}
 		[[ '%' = $extra ]] || echo -n "$extra&"
 		e() {
@@ -497,7 +540,7 @@ postdata() {
 				post=${post#$f }
 			done
 		}
-		e "${!post#$extra }" NICK DESCRIPTION LANGUAGE EXPIRATION CVT_TABS INPUT
+		e "${!post#$extra }" NICK DESCRIPTION LANGUAGE EXPIRATION PARENT PRIVATE CVT_TABS INPUT
 	elif [[ function == $(type -t json_$ENGINE) ]]; then
 		json_$ENGINE "$DESCRIPTION" "$LANGUAGE" "$INPUT"
 	else
@@ -600,6 +643,16 @@ while [[ -n $1 ]]; do
 		-L | --list-languages )
 		LISTLANGUAGES=0
 		;;
+		-p | --parent )
+		requiredarg "$@"
+		PARENTSET=0
+		PARENT="$2"
+		;;
+		-P | --private )
+		requiredarg "$@"
+		PRIVATESET=0
+		PRIVATE="$2"
+		;;
 		-n | --nick )
 		requiredarg "$@"
 		NICK=$(escape "$2")
@@ -677,12 +730,16 @@ load_configs
 DEFAULT_NICK=${DEFAULT_NICK:-$(whoami)} || die "whoami failed"
 DEFAULT_SERVICE=${DEFAULT_SERVICE:-bpaste}
 DEFAULT_LANGUAGE=${DEFAULT_LANGUAGE:-Plain Text}
+DEFAULT_PARENT=${DEFAULT_PARENT:-''}
+DEFAULT_PRIVATE=${DEFAULT_PRIVATE:-0}
 DEFAULT_EXPIRATION=${DEFAULT_EXPIRATION:-1 month}
 SERVICE=${SERVICE:-${DEFAULT_SERVICE}}
 ENGINE=ENGINE_$SERVICE
 ENGINE="${!ENGINE}"
 default="DEFAULT_NICK_$SERVICE" && [[ -n ${!default} ]] && DEFAULT_NICK=${!default}
 default="DEFAULT_LANGUAGE_$SERVICE" && [[ -n ${!default} ]] && DEFAULT_LANGUAGE=${!default}
+default="DEFAULT_PARENT_$SERVICE" && [[ -n ${!default} ]] && DEFAULT_PARENT=${!default}
+default="DEFAULT_PRIVATE_$SERVICE" && [[ -n ${!default} ]] && DEFAULT_PRIVATE=${!default}
 default="DEFAULT_EXPIRATION_$SERVICE" && [[ -n ${!default} ]] && DEFAULT_EXPIRATION=${!default}
 NICK=${NICK:-$(escape "${DEFAULT_NICK}")}
 [[ -z $SOURCE ]] && SOURCE="stdin"
@@ -704,6 +761,10 @@ INFO_ARGS=${INFO_ARGS:-"--ignore-default-opts"}
 LANGUAGE=${LANGUAGE:-${DEFAULT_LANGUAGE}}
 verifylanguage
 LANGUAGE=$(escape "$LANGUAGE")
+PARENT=${PARENT:-${DEFAULT_PARENT}}
+PARENT=$(escape "$PARENT")
+PRIVATE=${PRIVATE:-${DEFAULT_PRIVATE}}
+PRIVATE=$(escape "$PRIVATE")
 EXPIRATION=${EXPIRATION:-${DEFAULT_EXPIRATION}}
 verifyexpiration
 EXPIRATION=$(escape "$EXPIRATION")
@@ -853,6 +914,7 @@ else
 	[[ -f $TMPF ]] || TMPF=$(mktemp /tmp/wgetpaste.XXXXXX)
 	if [[ -f $TMPF ]]; then
 		postdata > "$TMPF" || die "Failed to write to temporary file: \"$TMPF\"."
+		[[ $LANG =~ ru_RU ]] && enconv $TMPF
 		WGETARGS="--post-file=$TMPF"
 	else
 		# fall back to using --post-data if the temporary file could not be created
