This commit is contained in:
Misty Stanley-Jones 2016-09-28 20:40:01 -07:00
parent 5425536e14
commit 52a1ad7609
13982 changed files with 0 additions and 1244285 deletions

1130
CHANGELOG

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +0,0 @@
Jeffrey Morgan <jmorgan@docker.com>
Sean Li <sean@docker.com>
Michael Chiang <michael.chiang@docker.com>
Adrien Duermael <adrien@docker.com>
Gaetan Devillelle <gaetan@docker.com>
Solomon Hykes <solomon@docker.com>
Dave Scott <dave.scott@docker.com>
Michel Courtine <michel.courtine@docker.com>
Thomas Gazagnaire <thomas.gazagnaire@docker.com>
Emmanuel Briney <emmanuel.briney@docker.com>
Justin Cormack <justin.cormack@docker.com>
David Sheets <david.sheets@docker.com>
Stephen Day <stephen.day@docker.com>
Magnus Skjegstad <magnus.skjegstad@docker.com>
Patrick Chanezon <patrick.chanezon@docker.com>
Thomas Leonard <thomas.leonard@docker.com>
David Gageot <david.gageot@docker.com>
Rolf Neugebauer <rolf.neugebauer@docker.com>
Richard Mortier <richard.mortier@docker.com>
Jean-Laurent de Morlhon <jeanlaurent@docker.com>
Ben Bonnefoy <frenchben@docker.com>

254
Makefile
View File

@ -1,254 +0,0 @@
MACOSX_DEPLOYMENT_TARGET?=10.10
REPO_ROOT=$(shell git rev-parse --show-toplevel)
OUTPUT?=$(REPO_ROOT)/v1/mac/build/Docker.app
PROJECT_ROOT?=$(GOPATH)/src/github.com/docker/pinata
CACHE_DIR?=$(REPO_ROOT)/_cache
# Getting version from Info.plist file
# NOTE(aduermael): this won't work on Windows
# It will be updated soon to support both platform
# with tags of the form: "win-.*" and "mac-.*"
plistPath=$(PROJECT_ROOT)/v1/mac/src/docker-app/docker/docker/Info.plist
versionFromPlist=$(shell /usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$(plistPath)" 2> /dev/null)
PARTS=$(subst -, ,$(versionFromPlist))
VERSION=v$(word 1, $(PARTS))-$(word 2, $(PARTS))
# hockeyapp read-only tokens
HA_MAC_TOKEN=bf3c4239192a4511ab54ff5e963d51b1
HA_WIN_TOKEN=64336e7527dc477da596bedfa2804540
# opam flags
OPAMROOT=$(CACHE_DIR)/opam
OPAMDIR=$(REPO_ROOT)/v1/opam
OPAMFLAGS=MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET) OPAMROOT=$(OPAMROOT) OPAMYES=1 OPAMCOLORS=1 OPAMDIR=$(OPAMDIR) GO15VENDOREXPERIMENT=1
OPAMLIBS=mirage-block-c docker-diagnose osx-daemon osx-hyperkit
OPAMCMDS=osxfs
OPAMSUPPORT=nurse
# TODO: this needs a cleaner solution
BACKENDCMDS=driver.amd64-linux vmnetd osx.hyperkit.linux hyperkit frontend shell #driver.amd64-qemu
LICENSEDIRS=\
$(PROJECT_ROOT)/v1/opam \
$(PROJECT_ROOT)/v1/vendor \
$(PROJECT_ROOT)/v1/uefi \
$(OPAMROOT) \
$(PROJECT_ROOT)/v1/cmd/com.docker.hyperkit \
$(PROJECT_ROOT)/v1/docker_proxy/vendor \
$(PROJECT_ROOT)/v1/mac/src/docker-app/docker/Carthage/Checkouts \
$(PROJECT_ROOT)/v1/mac/dependencies/qemu
.PHONY: all depends opam perf OSS-LICENSES dmg dsym-zip clean cacheclean versions go-fmt go-lint go-vet go-test go-depends
all: opam mac
@
depends: mac-depends qemu-depends opam-depends go-depends moby-depends
@
clean: opam-clean backend-clean moby-clean
$(MAKE) -C $(PROJECT_ROOT)/v1/mac clean
cacheclean:
rm -rf "$(HOME)/.docker-ci-cache/opam"
rm -rf "$(OPAMROOT)"
OSS-LICENSES:
$(OPAMFLAGS) v1/opam/opam-licenses $(OPAMCMDS)
$(MAKE) -C $(PROJECT_ROOT)/v1/cmd/com.docker.hyperkit LICENSE
$(foreach dir, $(LICENSEDIRS), mkdir -p $(dir);)
$(PROJECT_ROOT)/v1/mac/scripts/list-licenses $(LICENSEDIRS) > OSS-LICENSES
# opam applications
UPSTREAM=$(shell ls $(OPAMDIR)/repo/packages/upstream | awk -F. '{ print $$1 }')
DEV=$(shell ls $(OPAMDIR)/repo/packages/dev)
opam-depends:
@brew install opam || true &> /dev/null
@brew install dylibbundler || true &> /dev/null
@$(OPAMFLAGS) $(OPAMDIR)/opam-boot
@$(OPAMFLAGS) opam update -u
@$(OPAMFLAGS) opam install depext
@$(OPAMFLAGS) opam depext $(UPSTREAM) $(DEV) &> /dev/null
@$(OPAMFLAGS) opam install $(UPSTREAM) $(DEV)
opam-lib-clean-%s:
$(OPAMFLAGS) $(MAKE) -C $(PROJECT_ROOT)/v1/$* clean
opam-cmd-clean-%s:
$(OPAMFLAGS) $(MAKE) -C $(PROJECT_ROOT)/v1/cmd/com.docker.$* clean
opam-support-clean-%:
$(OPAMFLAGS) $(MAKE) -C $(PROJECT_ROOT)/support/$* clean
opam-clean: $(OPAMLIBS:%=opam-lib-clean-%s) $(OPAMCMDS:%=opam-cmd-clean-%s) $(OPAMSUPPORT:%=opam-support-clean-%)
@
opam-lib-%:
cd $(PROJECT_ROOT)/v1/$* && $(OPAMFLAGS) ./build.sh
opam-cmd-%:
cd $(PROJECT_ROOT)/v1/cmd/com.docker.$* && $(OPAMFLAGS) ./build.sh
opam-support-%:
cd $(PROJECT_ROOT)/support/$* && $(OPAMFLAGS) ./build.sh
opam: $(OPAMLIBS:%=opam-lib-%) $(OPAMCMDS:%=opam-cmd-%) $(OPAMSUPPORT:%=opam-support-%) OSS-LICENSES
@
# backend
backend-cmd-clean-%:
cd $(PROJECT_ROOT)/v1/cmd/com.docker.$* && $(OPAMFLAGS) $(MAKE) clean
backend-lib-clean-%:
cd $(PROJECT_ROOT)/v1/$* && $(OPAMFLAGS) $(MAKE) clean
backend-clean: $(BACKENDCMDS:%=backend-cmd-clean-%)
@
backend-cmd-%:
cd $(PROJECT_ROOT)/v1/cmd/com.docker.$* && $(OPAMFLAGS) $(MAKE) CACHE_DIR=$(CACHE_DIR)
backend-cmd-vmnetd: opam
backend-cmd-hyperkit: backend-cmd-vmnetd
backend: $(BACKENDCMDS:%=backend-cmd-%)
@
# moby
moby-depends:
go get -u github.com/justincormack/regextract
moby:
cd $(PROJECT_ROOT)/v1/moby && make
moby-clean:
cd $(PROJECT_ROOT)/v1/moby && make clean
# mac app
mac-depends:
cd $(PROJECT_ROOT)/v1/mac/scripts && ./make.bash -dy
mac: opam backend moby docker-release
cd $(PROJECT_ROOT)/v1/mac/scripts && ./make.bash -cby
dmg:
cd $(PROJECT_ROOT)/v1/mac/scripts && ./make-dmg
dsym-zip:
cd $(PROJECT_ROOT)/v1/mac/scripts && ./make-dsym-zip
# run Docker.app
dev: opam mac
rm -rf "$(PROJECT_ROOT)/v1/mac/build"
rm -rf "$(PROJECT_ROOT)/v1/mac/src/docker-app/build"
cd $(PROJECT_ROOT)/v1/mac/src/docker-app && make dev
# open Docker.app .xcodeproj
run:
$(PROJECT_ROOT)/v1/mac/build/Docker.app/Contents/MacOS/Docker
backend-run:
@$(PROJECT_ROOT)/v1/cmd/com.docker.shell/com.docker.shell -debug -bundle $(PROJECT_ROOT)/v1/mac/build/Docker.app
# tests
lint: go-fmt go-lint go-vet
# lint test scripts
brew install shellcheck
find tests/cases -type f | xargs -L1 file -I | grep 'text/x-shellscript' | cut -f1 -d":" | xargs -L1 shellcheck -e SC2129,SC1090,SC2039
GOPACKAGES = $(eval GOPACKAGES := $(shell cd $(PROJECT_ROOT)/v1 && go list -e ./... | grep -v vendor | grep -v moby))$(GOPACKAGES)
go-depends:
go get -u github.com/golang/lint/golint
go-fmt:
@for pkg in $(GOPACKAGES) ; do \
echo "gofmt $${pkg##*pinata/} ..." ;\
cd $(PROJECT_ROOT)/$${pkg##*pinata/} ;\
test -z "$$(gofmt -s -l . 2>&1 | grep -v ^vendor/ | tee /dev/stderr)" || exit 1 ;\
done
go-lint:
@for pkg in $(GOPACKAGES) ; do \
echo "golint $${pkg##*pinata/} ..." ;\
cd $(PROJECT_ROOT)/$${pkg##*pinata/} ;\
test -z "$$(golint . 2>&1 | grep -v ^vendor/ | tee /dev/stderr)" || exit 1 ;\
done
go-vet:
@cd $(PROJECT_ROOT) && go vet $(GOPACKAGES)
go-test:
@cd $(PROJECT_ROOT) && for pkg in $(GOPACKAGES) ; do \
echo "testing $$pkg ..." ;\
go test -race -v $$pkg ;\
done
test-depends: opam
cd $(PROJECT_ROOT)/v1/tests && $(OPAMFLAGS) ./build.sh
test: lint test-depends go-test
(cd $(PROJECT_ROOT)/tests && ./rt-local -l nostart,checkout -v -x run)
# test-dmg also tests the dmg - it's assumed that `make dmg` was performed first first
test-dmg: lint test-depends go-test
(cd $(PROJECT_ROOT)/tests && ./rt-local -l installer,checkout -v -x run)
fulltest:
(cd $(PROJECT_ROOT)/tests && ./rt-local -l nostart,release,checkout -v -x run)
PINATA_APP_PATH=$(OUTPUT) $(PROJECT_ROOT)/v1/tests/pinata-rt test -e
perf:
make -C $(PROJECT_ROOT)/v1/perf
# qemu
QEMUV = 2.4.1
export QEMUV
qemu-depends:
@mkdir -p $(CACHE_DIR)
@cd $(PROJECT_ROOT)/v1/cmd/com.docker.driver.amd64-qemu && make depends CACHE_DIR=$(CACHE_DIR)
# upload to HockeyApp
upload:
@cd $(PROJECT_ROOT)/v1/mac/scripts && ./make.bash -uy
release:
rm -rf "$(PROJECT_ROOT)/v1/mac/build"
rm -rf "$(HOME)/.docker-ci-cache"
rm -rf "$(CACHE_DIR)"
make depends
make
make test
git tag $(VERSION) -a -m "Release $(VERSION)"
git push upstream $(VERSION)
versions:
@echo git tag name: $(VERSION)
@echo Xcode project version \(Info.plist\): $(versionFromPlist)
@echo Changelog: $(shell head -n 1 CHANGELOG | cut -f 3 -d" ")
@echo docker-diagnose: $(shell cat v1/docker-diagnose/src/dockerCli.ml | grep check_version)
release-to-rc:
@echo "Releasing latest builds to RC (the newest unreleased build will also be downloaded)"
docker-release --channel rc --arch mac --build latest publish
docker-release --channel rc --arch win --build latest publish
# docker-release build
docker-release:
cd $(PROJECT_ROOT)/v1/docker-release && make
# helpful targets for development
logwatch:
syslog -w -F '$$Time $$Host $$(Sender)[$$(Facility)][$$(PID)]\n<$$((Level)(str))>: $$Message' \
-k Sender Seq Docker -o \
-k Sender Seq docker -o \
-k Message Seq Docker -o \
-k Message Seq docker

163
README.md
View File

@ -1,163 +0,0 @@
# Pinata: an experimental standalone Docker client
| | pr | master | rc | beta | stable |
|---|---|---|---|---|---|
| macOS | [latest](https://download-stage.docker.com/mac/pr/Docker.dmg) | [latest](https://download-stage.docker.com/mac/master/Docker.dmg) | [latest](https://download-stage.docker.com/mac/rc/Docker.dmg) | [latest](https://download.docker.com/mac/beta/Docker.dmg) | [latest](https://download.docker.com/mac/stable/Docker.dmg) |
| Windows | [latest](https://download-stage.docker.com/win/pr/InstallDocker.msi) | [latest](https://download-stage.docker.com/win/master/InstallDocker.msi) | [latest](https://download-stage.docker.com/win/test/InstallDocker.msi) | [latest](https://download.docker.com/win/beta/InstallDocker.msi) | [latest](https://download.docker.com/win/stable/InstallDocker.msi) |
*( if you get Access Denied errors, it means nothing has been published to this channel yet )*
To list all the versions: http://omakase.omakase.e57b9b5b.svc.dockerapp.io/
This is an experimental project to develop a new client for Docker,
separately from the daemon or any other backend component.
By maintaining a standalone client, the goal is to:
1. Allow for more rapid iteration on client functionality.
2. Improve compatibility between different versions of the client and daemon.
3. Add more features to the client without bloating the daemon-side components.
4. Pave the way to simplifying the daemon code base, improving its
quality and making its maintenance easier.
## Versioning
The release cycle respects the following convention: `X-Y[-Z]` where:
- `X` is the version of the docker engine used as a base for the build. The build can be modified during the build process to fit better into the use-case of `Docker.app` (ie. it won't usually be a drop-in replacement, but we will try to upstream our patches as quickly as possible).
- `Y` is an arbitrary string that we can use to define a version of `Docker.app`, independently of the release cycle of docker engine.
- `Z` indicates the build channel (dev, test, master, release). `Z` is empty for releases.
For instance the first beta release of pinata has the version: `1.9.1-beta1`. While on master channel (one build for each PR merged), it has the version: `1.9.1-beta1-master`.
On OS X, the version is defined in XCode project's Info.plist file (key: `CFBundleShortVersionString`). There's also a build number, associated with `CFBundleVersion` key (set by CI).
In Xcode project, the version should use a suffix like `-dev` (`1.9.1-beta1-dev`). That suffix will be replaced/removed by CI.
## INSTALL
### Through HockeyApp
For Docker for Mac see the [Docker.app installation guide](https://github.com/docker/pinata/blob/master/v1/docs/content/mackit/getting-started.md) and for Docker for Windows see the [Docker installation guide](https://github.com/docker/pinata/blob/master/v1/docs/content/winkit/getting-started.md)
### OSX Build
Check that your `GOPATH` is correctly set-up and clone this repository in
`$GOPATH/src/github.com/docker/pinata`.
#### Dependencies
As prerequisites, you need to have `Xcode`, `homebrew` and `go` installed.
To minimize build times, the dependencies are cached with this command
You only need to run it once or when an external dependency was updated
At the root of this repository, type:
```
make depends
```
When you add a new go dependency, add it in the `GO_DEPS` variable of the toplevel
`Makefile`.
#### Build
After a successful `make depends`, type:
```
make
```
If you are asked for the password to the `dockerbuilder` keychain, it is
`docker4all`.
#### Run
After a successful `make depends` and `make`, type:
```
make run
```
You will see the logs on stdout
#### Install
First, make sure you have uninstalled any previous installation of
pinata with:
```
v1/mac/uninstall
```
Then, install with:
```
v1/mac/build/Docker.app/Contents/MacOS/docker-installer
```
#### Tests
You can run the tests by running:
```
make test
```
This is currently Mac only.
### Windows Build
[![Build status](https://ci.appveyor.com/api/projects/status/fpa7neeotor31bdh/branch/master?svg=true)](https://ci.appveyor.com/project/Pinata/pinata/branch/master)
Latest msi builds :
* On [Master](https://download-stage.docker.com/win/master/InstallDocker.msi) channel.
* On [Test](https://download-stage.docker.com/win/test/InstallDocker.msi) channel.
Check that your `GOPATH` is correctly set-up and clone this repository in
`$GOPATH/src/github.com/docker/pinata`.
#### Dependencies
Install:
- Go 1.6
- [Visual Studio 2015](https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx). The app builds with the free Community edition but the licensing for that edition doesn't allow its use for commercial, closed source work.
Once you installed the above, open a powershell.
#### Build
The main build is driven by the `please.ps1` powershell script in the `win`
sub-directory.
```
cd <pinata_dir>/win
./please.ps1 package
```
will clean the build directory and build a new package (installer) in
the `build` sub-directory.
```
cd <pinata_dir>/win
./please.ps1 build
```
will build a new `Docker.exe` file but not the installer.
### Troubleshooting
If you have an issue, please report it to the
[bugtracker](https://github.com/docker/pinata/issues) with the output
of:
```
pinata diagnose
```
This is currently Mac only.

View File

@ -1,54 +0,0 @@
environment:
GOPATH: c:\gopath
SIGNTOOLPATH: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin
clone_folder: c:\gopath\src\github.com\docker\pinata
before_build:
- cd win/
build_script:
- ps: ./please.ps1 AppVeyor
after_build:
- cd ..
- ps: >
copy .\win\build\InstallDocker.msi InstallDocker.msi
artifacts:
- path: win/build/InstallDocker.msi
- path: win/TestResults/*.xml
- path: InstallDocker.msi
test: off
configuration: Release
before_deploy:
- ps: >
if ($env:appveyor_pull_request_number -gt 0) {
git fetch -q origin +refs/pull/$env:appveyor_pull_request_number/head
$env:commit=(git rev-parse FETCH_HEAD)
} else {
$env:commit=$env:appveyor_repo_commit
}
true;
deploy:
- provider: S3
bucket: pinata-ci
access_key_id: $(pinata_aws_key)
secret_access_key: $(pinata_aws_secret)
folder: $(commit)
artifact: InstallDocker.msi
on:
appveyor_repo_tag: false
- provider: S3
bucket: pinata-ci
access_key_id: $(pinata_aws_key)
secret_access_key: $(pinata_aws_secret)
folder: $(appveyor_repo_tag_name)
artifact: InstallDocker.msi
on:
appveyor_repo_tag: true

View File

@ -1,27 +0,0 @@
# Linux specific circleci.yml
# This build process only build the docs.
# A process mirrors this repo in another repo for every commit, and cp circle-linux.yml to circle.yml.
# This ensures that a Linux build happens in circleci for every commit.
general:
build_dir: v1
artifacts:
- "docs/public"
- "mac/build"
machine:
services:
- docker
dependencies:
cache_directories:
- "~/docker"
override:
- make -C docs DOCS_EXPORT=public docs-deploy
- if [[ -e ~/docker/image.tar ]]; then docker load -i ~/docker/image.tar; fi
- mac/make -cblvy
- mkdir -p ~/docker; mkdir -p ~/pinata/v1/mac/build
- docker save pinata/docker-builder > ~/docker/image.tar
deployment:
master:
branch: master
commands:
- make -C docs DOCS_EXPORT=public docs-deploy

View File

@ -1,105 +0,0 @@
# Mac specific circleci.yml
# This build process will download and bundle the build artifacts from the linux ci.
# Checkout the same file on the linux branch to edit the linux version of the circleci configuration
general:
artifacts:
- v1/mac/build/Docker.dmg
- tests/_results
- ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log
- ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring
machine:
xcode:
version: "8.0"
environment:
GOVERSION: 1.7.1
GOPATH: "$HOME/go"
GOROOT: "${HOME}/.gimme/versions/go${GOVERSION}.darwin.amd64"
PATH: "${GOROOT}/bin:${GOPATH}/bin:${PATH}"
PROJECT_ROOT: "$GOPATH/src/github.com/docker/pinata"
CI: "1"
post:
- brew unpin go
- brew update
- brew -v install git-lfs
# something forces /usr/loca/bin to the front of the path.
# we'll remove the existing go to be sure
- rm /usr/local/bin/go
- brew -v install gimme
- gimme $GOVERSION
# display homebrew config
- brew config
checkout:
post:
- brew unpin go
- git lfs install --local
- git lfs pull
# Check disk space
- df -h
# check consistency of v1/opam/repo
- v1/opam/repo/check.sh
# v1/cmd/com.docker.hyperkit/hyperkit/ is a git subtree merge from
# http://github.com/docker/hyperkit and no code should be
# committed directly to it. To do this we need to unshallow and to
# have the hyperkit history available.
#
# Mistakes were made prior to
# 5e58d3e47a592e9235c4d03a099bc52ccd7a47ae which were repaired in
# that commit. Start checking from then onwards.
- if [ -s .git/shallow ] ; then git fetch --unshallow git@github.com:docker/pinata master ; fi
- git fetch https://github.com/docker/hyperkit +master:hyperkit/master
- >
if ! git log --no-merges --stat 5e58d3e47a592e9235c4d03a099bc52ccd7a47ae..HEAD --not hyperkit/master -- v1/cmd/com.docker.hyperkit/hyperkit/ |
awk 'BEGIN { rc=0 }; // { rc=1; print }; END { exit $rc }' ; then
echo "";
echo "Direct commit to hyperkit vendored code detected. Please see:";
echo "https://github.com/docker/pinata/blob/master/v1/cmd/com.docker.hyperkit/README.md";
exit 1
fi
dependencies:
override:
- which go
- go version
- rm -rf "$PROJECT_ROOT"
- mkdir -p $(dirname "$PROJECT_ROOT")
- ln -s $(pwd) "$PROJECT_ROOT"
- make cacheclean
- make mac-depends
- make opam-depends
- make moby-depends
- make go-depends
cache_directories:
- ~/.docker-ci-cache
test:
override:
- make clean
- make opam
- make mac
- make dmg
- make dsym-zip
- make test-dmg
- >
syslog -F "\$Time \$Host \$(Sender)[\$(Facility)][\$(PID)]<\$((Level)(str))>: \$Message" \
-k Sender Seq Docker -o \
-k Sender Seq docker -o \
-k Message Seq Docker -o \
-k Message Seq docker
deployment:
release:
branch: master
owner: docker
commands:
- aws s3 cp v1/mac/build/Docker.dmg s3://pinata-ci/$CIRCLE_SHA1/Docker.dmg
- make upload
tags:
tag: /.*/
owner: docker
commands:
- aws s3 cp v1/mac/build/Docker.dmg s3://pinata-ci/$CIRCLE_TAG/Docker.dmg
- make upload
pr:
branch: /.*/
owner: docker
commands:
- aws s3 cp v1/mac/build/Docker.dmg s3://pinata-ci/$CIRCLE_SHA1/Docker.dmg
- make upload

View File

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

Before

Width:  |  Height:  |  Size: 322 KiB

After

Width:  |  Height:  |  Size: 322 KiB

View File

Before

Width:  |  Height:  |  Size: 234 B

After

Width:  |  Height:  |  Size: 234 B

View File

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 111 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View File

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB

View File

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View File

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View File

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

View File

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 159 KiB

View File

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View File

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

View File

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 143 KiB

View File

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

View File

Before

Width:  |  Height:  |  Size: 207 KiB

After

Width:  |  Height:  |  Size: 207 KiB

View File

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View File

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 195 KiB

After

Width:  |  Height:  |  Size: 195 KiB

View File

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View File

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 123 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

Before

Width:  |  Height:  |  Size: 454 KiB

After

Width:  |  Height:  |  Size: 454 KiB

View File

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 125 KiB

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 234 B

After

Width:  |  Height:  |  Size: 234 B

View File

Before

Width:  |  Height:  |  Size: 257 KiB

After

Width:  |  Height:  |  Size: 257 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 142 KiB

View File

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 124 KiB

View File

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 334 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Some files were not shown because too many files have changed in this diff Show More