Commit 0c0279f5 authored by Kartik Mistry's avatar Kartik Mistry 🇮🇳

Imported Upstream version 1.25.0

parent ac215427
This diff is collapsed.
......@@ -28,17 +28,15 @@ RUN apt-get update && \
pkg-config git curl dpkg-dev gcc-mingw-w64 \
autopoint libcppunit-dev libxml2-dev libgcrypt11-dev lzip
RUN curl -L -O https://gmplib.org/download/gmp/gmp-6.1.0.tar.lz && \
curl -L -o gmp-6.1.0.patch https://gmplib.org/repo/gmp-6.1/raw-rev/67d4ee9dead1 && \
curl -L -O http://downloads.sourceforge.net/project/expat/expat/2.1.1/expat-2.1.1.tar.gz && \
RUN curl -L -O https://gmplib.org/download/gmp/gmp-6.1.1.tar.lz && \
curl -L -O http://downloads.sourceforge.net/project/expat/expat/2.2.0/expat-2.2.0.tar.bz2 && \
curl -L -O https://www.sqlite.org/2016/sqlite-autoconf-3130000.tar.gz && \
curl -L -O http://zlib.net/zlib-1.2.8.tar.xz && \
curl -L -O http://c-ares.haxx.se/download/c-ares-1.11.0.tar.gz && \
curl -L -O http://libssh2.org/download/libssh2-1.7.0.tar.gz
RUN tar xf gmp-6.1.0.tar.lz && \
cd gmp-6.1.0 && \
patch -p1 < ../gmp-6.1.0.patch && \
RUN tar xf gmp-6.1.1.tar.lz && \
cd gmp-6.1.1 && \
./configure \
--disable-shared \
--enable-static \
......@@ -49,8 +47,8 @@ RUN tar xf gmp-6.1.0.tar.lz && \
CFLAGS="-mtune=generic -O2 -g0" && \
make install
RUN tar xf expat-2.1.1.tar.gz && \
cd expat-2.1.1 && \
RUN tar xf expat-2.2.0.tar.bz2 && \
cd expat-2.2.0 && \
./configure \
--disable-shared \
--enable-static \
......
aria2 1.24.0
aria2 1.25.0
============
Release Note
------------
This release fixes several bugs. The new functionality is that when
options which is only applicable in waiting state are submitted to an
active download via RPC, the download is now automatically restarted
to reflect the changes. Previously, those options were just ignored.
This release fixes many bugs reported so far. There is no new
functionality in this release. We have fixed many performance issues
in BitTorrent downloads.
Changes
-------
* BitTorrent: Allow 32KiB request
* Update third-party libraries for binary releases
It looks like the 32KiB is the default request size of python
bittorrent client. Previously, aria2 only allowed maximum 16KiB
request.
* Send have message without too much delay
* Don't unchoke peer which is not interested in us
Also send bitfield rather than have messages if bitfield message is
equal to or less than the sum of have messages which otherwise would
be sent.
* Fix bug that evaluation of Peer::amChoking is negated
* Fix bug that causes bogus EOF connection failure in BitTorrent
downloads
* Faster seed/download on fast connection
* Fix frequent interested/not interested message transmission
* Increase DHT task concurrency to 15
* Fix frequent choke/unchoke message transmission
Fix GH-653
* Try to use available URI if all pooled requests are sleeping
* Update expat in OSX build
* Fixed mmap failure check with MAP_FAILED flag
Closes GH-694
Fix GH-662
* aria2mon: Add --secret option
Patch from suzker
Fixes GH-700
* Added file size overflow check for mmap on 32bit os
* Set server status error on network failure in server performance
profile
Fix GH-662
* Disable AI_ADDRCONFIG if no IPv4/IPv6 address is configured for any
interface
Patch from suzker
Fixes GH-698
* Use standard percent-encode for tracker request query
* Russian manual: Update aria2c.rst
Fix GH-659
Patch from ITriskTI
* mingw32: Gain privilege before opening files
* Apply --retry-wait on 503 only
Fix GH-657
* Ensure that lowest speed check is done even when download speed is 0
* Restart active download to apply previously not applicable options
Fixes GH-686
Previously, we categorized options that can be used in
aria2.changeOption RPC method into 2 categories. The options in one
category can be applied on the fly, meaning that download continues
to be active while applying options. Another category includes
options which are only applicable when downloads are waiting or
paused.
* Document that -o is always relative to -d option
In this change, when active download is ordered to change options
which only applicable in waiting or paused state, it is now paused,
and then automatically restarted. Although we have limited number
of download concurrency, the pause and restart is done atomically,
and the download is inserted at the front of the queue, it is picked
up immediately if the concurrency regulation allows.
Fixes GH-684
Fix GH-640 and GH-644
* Allow larger ut_metadata size
Fixes GH-681
* mingw: Change FD_SETSIZE to 32768
Fixes GH-678
* Fix compile error on OS X
Fixes GH-683
This diff is collapsed.
#! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2015 Free Software Foundation, Inc.
# Copyright 1992-2016 Free Software Foundation, Inc.
timestamp='2015-08-20'
timestamp='2016-03-30'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -33,7 +33,7 @@ timestamp='2015-08-20'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
......@@ -53,8 +53,7 @@ timestamp='2015-08-20'
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS
$0 [OPTION] ALIAS
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
......@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright 1992-2015 Free Software Foundation, Inc.
Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
......@@ -521,7 +520,7 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
asmjs)
asmjs)
basic_machine=asmjs-unknown
;;
aux)
......@@ -1383,7 +1382,7 @@ case $os in
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -bitrig* | -openbsd* | -solidbsd* \
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
......@@ -1399,7 +1398,8 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
| -onefs* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
......@@ -1531,6 +1531,8 @@ case $os in
;;
-nacl*)
;;
-ios)
;;
-none)
;;
*)
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for aria2 1.24.0.
# Generated by GNU Autoconf 2.69 for aria2 1.25.0.
#
# Report bugs to <https://github.com/aria2/aria2/issues>.
#
......@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='aria2'
PACKAGE_TARNAME='aria2'
PACKAGE_VERSION='1.24.0'
PACKAGE_STRING='aria2 1.24.0'
PACKAGE_VERSION='1.25.0'
PACKAGE_STRING='aria2 1.25.0'
PACKAGE_BUGREPORT='https://github.com/aria2/aria2/issues'
PACKAGE_URL='https://aria2.github.io/'
......@@ -1591,7 +1591,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures aria2 1.24.0 to adapt to many kinds of systems.
\`configure' configures aria2 1.25.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1663,7 +1663,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of aria2 1.24.0:";;
short | recursive ) echo "Configuration of aria2 1.25.0:";;
esac
cat <<\_ACEOF
......@@ -1866,7 +1866,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
aria2 configure 1.24.0
aria2 configure 1.25.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2874,7 +2874,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by aria2 $as_me 1.24.0, which was
It was created by aria2 $as_me 1.25.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -3853,7 +3853,7 @@ fi
# Define the identity of the package.
PACKAGE='aria2'
VERSION='1.24.0'
VERSION='1.25.0'
cat >>confdefs.h <<_ACEOF
......@@ -27385,7 +27385,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by aria2 $as_me 1.24.0, which was
This file was extended by aria2 $as_me 1.25.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -27452,7 +27452,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
aria2 config.status 1.24.0
aria2 config.status 1.25.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
......@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
#
AC_PREREQ([2.67])
AC_INIT([aria2],[1.24.0],[https://github.com/aria2/aria2/issues],[aria2],[https://aria2.github.io/])
AC_INIT([aria2],[1.25.0],[https://github.com/aria2/aria2/issues],[aria2],[https://aria2.github.io/])
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
......
This diff is collapsed.
#! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2015 Free Software Foundation, Inc.
# Copyright 1992-2016 Free Software Foundation, Inc.
timestamp='2015-08-20'
timestamp='2016-03-30'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -33,7 +33,7 @@ timestamp='2015-08-20'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
......@@ -53,8 +53,7 @@ timestamp='2015-08-20'
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS
$0 [OPTION] ALIAS
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
......@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright 1992-2015 Free Software Foundation, Inc.
Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
......@@ -521,7 +520,7 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
asmjs)
asmjs)
basic_machine=asmjs-unknown
;;
aux)
......@@ -1383,7 +1382,7 @@ case $os in
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -bitrig* | -openbsd* | -solidbsd* \
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
......@@ -1399,7 +1398,8 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
| -onefs* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
......@@ -1531,6 +1531,8 @@ case $os in
;;
-nacl*)
;;
-ios)
;;
-none)
;;
*)
......
.\" Man page generated from reStructuredText.
.
.TH "ARIA2C" "1" "June 15, 2016" "1.24.0" "aria2"
.TH "ARIA2C" "1" "Jul 15, 2016" "1.25.0" "aria2"
.SH NAME
aria2c \- The ultra fast download utility
.
......@@ -289,8 +289,10 @@ if URI has numeric IP addresses.
.INDENT 0.0
.TP
.B \-o, \-\-out=<FILE>
The file name of the downloaded file. When the
\fI\%\-\-force\-sequential\fP option is used, this option is ignored.
The file name of the downloaded file. It is always relative to the
directory given in \fI\%\-\-dir\fP option. When the
\fI\%\-\-force\-sequential\fP option is used, this option is
ignored.
.sp
\fBNOTE:\fP
.INDENT 7.0
......@@ -1578,8 +1580,8 @@ legacy file systems such as ext3 and FAT32 because it takes
almost same time as \fBprealloc\fP and it blocks aria2
entirely until allocation finishes. \fBfalloc\fP may
not be available if your system doesn\(aqt have
\fIposix_fallocate(3)\fP function.
\fBtrunc\fP uses \fIftruncate(2)\fP system call or
\fBposix_fallocate(3)\fP function.
\fBtrunc\fP uses \fBftruncate(2)\fP system call or
platform\-specific counterpart to truncate a file to a specified
length.
.sp
......@@ -1643,7 +1645,7 @@ Possible Values: interface, IP address, host name
.INDENT 3.5
If an interface has multiple addresses, it is highly recommended to
specify IP address explicitly. See also \fI\%\-\-disable\-ipv6\fP\&. If your
system doesn\(aqt have \fIgetifaddrs(3)\fP, this option doesn\(aqt accept interface
system doesn\(aqt have \fBgetifaddrs(3)\fP, this option doesn\(aqt accept interface
name.
.UNINDENT
.UNINDENT
......
......@@ -232,8 +232,10 @@ HTTP/FTP/SFTP Options
.. option:: -o, --out=<FILE>
The file name of the downloaded file. When the
:option:`--force-sequential <-Z>` option is used, this option is ignored.
The file name of the downloaded file. It is always relative to the
directory given in :option:`--dir <-d>` option. When the
:option:`--force-sequential <-Z>` option is used, this option is
ignored.
.. note::
......
.\" Man page generated from reStructuredText.
.
.TH "ARIA2C" "1" "15/06/2016" "1.24.0" "aria2"
.TH "ARIA2C" "1" "jul 15, 2016" "1.25.0" "aria2"
.SH NAME
aria2c \- Utilitário para download super ultra rápido
.
......@@ -1395,8 +1395,8 @@ legacy file systems such as ext3 and FAT32 because it takes
almost same time as \fBprealloc\fP and it blocks aria2
entirely until allocation finishes. \fBfalloc\fP may
not be available if your system doesn\(aqt have
\fIposix_fallocate(3)\fP function.
\fBtrunc\fP uses \fIftruncate(2)\fP system call or
\fBposix_fallocate(3)\fP function.
\fBtrunc\fP uses \fBftruncate(2)\fP system call or
platform\-specific counterpart to truncate a file to a specified
length.
.sp
......@@ -1449,7 +1449,7 @@ Possible Values: interface, IP address, hostname
.INDENT 3.5
If an interface has multiple addresses, it is highly recommended to
specify IP address explicitly. See also \fI\%\-\-disable\-ipv6\fP\&. If your
system doesn\(aqt have \fIgetifaddrs(3)\fP, this option doesn\(aqt accept interface
system doesn\(aqt have \fBgetifaddrs(3)\fP, this option doesn\(aqt accept interface
name.
.UNINDENT
.UNINDENT
......
.\" -*- mode: troff; coding: utf-8 -*-
.\" Man page generated from reStructuredText.
.
.TH "ARIA2C" "1" "15 June 2016" "1.24.0" "aria2"
.TH "ARIA2C" "1" "июл. 15, 2016" "1.25.0" "aria2"
.SH NAME
aria2c \- сверхбыстрая утилита загрузки
.
......@@ -302,7 +302,8 @@ IPv4\- и IPv6\-адресация работает для сетевых адр
.INDENT 0.0
.TP
.B \-o, \-\-out=<FILE>
Сохранить загруженный файл под указанным именем. Данный параметр
Сохранить загруженный файл под указанным именем, относительно каталога,
заданного в параметре \fI\%\-\-dir\fP\&. Данный параметр
игнорируется, когда используется параметр \fI\%\-\-force\-sequential\fP\&.
.sp
\fBПРИМЕЧАНИЕ:\fP
......@@ -1657,8 +1658,8 @@ btrfs, xfs или NTFS (только MinGW\-сборка) тогда лучше
системами, такими как ext3 и FAT32, потому что это будет продолжаться
почти столько же времени, как и \fBprealloc\fP, а также полностью заблокирует
aria2, пока не закончится резервирование места. \fBfalloc\fP может быть
недоступным, если ваша система не содержит функцию \fIposix_fallocate(3)\fP\&.
\fBtrunc\fP использует системный вызов \fIftruncate(2)\fP или
недоступным, если ваша система не содержит функцию \fBposix_fallocate(3)\fP\&.
\fBtrunc\fP использует системный вызов \fBftruncate(2)\fP или
специфичный для конкретной платформы эквивалент, чтобы усечь файл до указанной
длины.
.sp
......@@ -1727,7 +1728,7 @@ aria2, пока не закончится резервирование мест
.INDENT 3.5
Если интерфейс имеет несколько адресов, то настоятельно рекомендуется
указать IP\-адрес явно. Смотрите также
\fI\%\-\-disable\-ipv6\fP\&. Если ваша система не имеет \fIgetifaddrs(3)\fP, это
\fI\%\-\-disable\-ipv6\fP\&. Если ваша система не имеет \fBgetifaddrs(3)\fP, это
параметр не принимает имя интерфейса.
.UNINDENT
.UNINDENT
......
......@@ -244,7 +244,8 @@ HTTP(S)/FTP, они тут же могут выгружаться в BitTorrent-
.. option:: -o, --out=<FILE>
Сохранить загруженный файл под указанным именем. Данный параметр
Сохранить загруженный файл под указанным именем, относительно каталога,
заданного в параметре :option:`--dir <-d>`. Данный параметр
игнорируется, когда используется параметр :option:`--force-sequential <-Z>`.
.. note::
......
......@@ -32,11 +32,12 @@ OptionParser.new do |opt|
opt.on("--user USERNAME", "XML-RPC username"){|val| options["user"]=val }
opt.on("--passwd PASSWORD", "XML-RPC password"){|val| options["passwd"]=val }
opt.on("--secret SECRET", "XML-RPC secret authorization token"){|val| options["secret"]=val }
opt.banner=<<EOS
Usage: #{program_name} [options]
EOS
args=opt.parse(ARGV)
end
......@@ -77,6 +78,7 @@ end
if not options.has_key?("port") then
options["port"]="6800"
end
secret = if options.has_key?("secret") then "token:"+options["secret"] else nil end
client=XMLRPC::Client.new3({:host => options["server"],
:port => options["port"],
......@@ -88,8 +90,17 @@ options.delete("server")
options.delete("port")
options.delete("user")
options.delete("passwd")
options.delete("secret")
def client_call client, secret, method, *params
if secret.nil?
client.call(method, *params)
else
client.call(method, secret, *params)
end
end
result=client.call("aria2.tellActive")
result=client_call(client, secret, "aria2.tellActive")
print "-- Download Progress --\n"
result.each { |entry|
......
......@@ -107,9 +107,9 @@ zlib_version = 1.2.8
zlib_hash = a4d316c404ff54ca545ea71a27af7dbc29817088
zlib_url = http://zlib.net/zlib-$(zlib_version).tar.gz
expat_version = 2.1.0
expat_hash = b08197d146930a5543a7b99e871cba3da614f6f0
expat_url = http://sourceforge.net/projects/expat/files/expat/$(expat_version)/expat-$(expat_version).tar.gz
expat_version = 2.2.0
expat_hash = 8453bc52324be4c796fd38742ec48470eef358b3
expat_url = http://sourceforge.net/projects/expat/files/expat/$(expat_version)/expat-$(expat_version).tar.bz2
expat_cflags=$(LTO_FLAGS)
expat_ldflags=$(CFLAGS) $(LTO_FLAGS)
......
No preview for this file type
This diff is collapsed.
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
No preview for this file type
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.