diff --git a/.git.bak/COMMIT_EDITMSG b/.git.bak/COMMIT_EDITMSG new file mode 100644 index 0000000..78ffad6 --- /dev/null +++ b/.git.bak/COMMIT_EDITMSG @@ -0,0 +1 @@ +Auto-backup: 2026-06-05 00:33 diff --git a/.git.bak/COMMIT_EDITMSG (1) b/.git.bak/COMMIT_EDITMSG (1) new file mode 100644 index 0000000..2832a78 --- /dev/null +++ b/.git.bak/COMMIT_EDITMSG (1) @@ -0,0 +1 @@ +fuck alles gelöscht diff --git a/.git.bak/COMMIT_EDITMSG_conflict_20260605_173855_RhE5lfASaE b/.git.bak/COMMIT_EDITMSG_conflict_20260605_173855_RhE5lfASaE new file mode 100644 index 0000000..78ffad6 --- /dev/null +++ b/.git.bak/COMMIT_EDITMSG_conflict_20260605_173855_RhE5lfASaE @@ -0,0 +1 @@ +Auto-backup: 2026-06-05 00:33 diff --git a/.git.bak/FETCH_HEAD b/.git.bak/FETCH_HEAD new file mode 100644 index 0000000..e69de29 diff --git a/.git.bak/FETCH_HEAD_conflict_20260605_173855_t0jhxDSnQj b/.git.bak/FETCH_HEAD_conflict_20260605_173855_t0jhxDSnQj new file mode 100644 index 0000000..0ee80e2 --- /dev/null +++ b/.git.bak/FETCH_HEAD_conflict_20260605_173855_t0jhxDSnQj @@ -0,0 +1 @@ +875350d7b1a39d148ada93ef2877b274d510cfd5 branch 'main' of https://github.com/superschnups/Emy diff --git a/.git.bak/HEAD b/.git.bak/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.git.bak/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.git.bak/HEAD_conflict_20260605_173855_ZiEIaYH916 b/.git.bak/HEAD_conflict_20260605_173855_ZiEIaYH916 new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.git.bak/HEAD_conflict_20260605_173855_ZiEIaYH916 @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.git.bak/ORIG_HEAD b/.git.bak/ORIG_HEAD new file mode 100644 index 0000000..48796d0 --- /dev/null +++ b/.git.bak/ORIG_HEAD @@ -0,0 +1 @@ +ea3bd71d83d43471f59027d994c3e796264a2cc4 diff --git a/.git.bak/ORIG_HEAD (1) b/.git.bak/ORIG_HEAD (1) new file mode 100644 index 0000000..bd3b430 --- /dev/null +++ b/.git.bak/ORIG_HEAD (1) @@ -0,0 +1 @@ +e2d5f4feb38f5fc883059cc11eecd24c9bafb530 diff --git a/.git.bak/ORIG_HEAD_conflict_20260605_173855_sDDHyjp4KN b/.git.bak/ORIG_HEAD_conflict_20260605_173855_sDDHyjp4KN new file mode 100644 index 0000000..d5a24f1 --- /dev/null +++ b/.git.bak/ORIG_HEAD_conflict_20260605_173855_sDDHyjp4KN @@ -0,0 +1 @@ +875350d7b1a39d148ada93ef2877b274d510cfd5 diff --git a/.git.bak/config b/.git.bak/config new file mode 100644 index 0000000..111b709 --- /dev/null +++ b/.git.bak/config @@ -0,0 +1,16 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/superschnups/bin.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "main"] + remote = origin + vscode-merge-base = origin/main + merge = refs/heads/main +[lfs] + repositoryformatversion = 0 diff --git a/.git.bak/config (1) b/.git.bak/config (1) new file mode 100644 index 0000000..ade18a8 --- /dev/null +++ b/.git.bak/config (1) @@ -0,0 +1,16 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/superschnups/bin.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "main"] + remote = origin + merge = refs/heads/main + vscode-merge-base = origin/main +[lfs] + repositoryformatversion = 0 diff --git a/.git.bak/config_conflict_20260605_173855_1UfWku3yf9 b/.git.bak/config_conflict_20260605_173855_1UfWku3yf9 new file mode 100644 index 0000000..de25ee4 --- /dev/null +++ b/.git.bak/config_conflict_20260605_173855_1UfWku3yf9 @@ -0,0 +1,16 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/superschnups/Emy.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "main"] + remote = origin + merge = refs/heads/main + vscode-merge-base = origin/main +[lfs] + repositoryformatversion = 0 diff --git a/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/index.bin b/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/index.bin new file mode 100644 index 0000000..218bf3d Binary files /dev/null and b/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/index.bin differ diff --git a/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/metadata.json b/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/metadata.json new file mode 100644 index 0000000..ccc4d40 --- /dev/null +++ b/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/metadata.json @@ -0,0 +1 @@ +{"version":4,"git_revision":22} \ No newline at end of file diff --git a/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/postings.bin b/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/postings.bin new file mode 100644 index 0000000..bf7a1a6 Binary files /dev/null and b/.git.bak/cursor/crepe/3494ad7d239fb32c8d637828f9b125fb5c0a1cc6/postings.bin differ diff --git a/.git.bak/description b/.git.bak/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.git.bak/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.git.bak/description_conflict_20260605_173855_Os6WiM0uLO b/.git.bak/description_conflict_20260605_173855_Os6WiM0uLO new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.git.bak/description_conflict_20260605_173855_Os6WiM0uLO @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.git.bak/gitfox/defaults.plist b/.git.bak/gitfox/defaults.plist new file mode 100644 index 0000000..ed84ebd Binary files /dev/null and b/.git.bak/gitfox/defaults.plist differ diff --git a/.git.bak/gk/config b/.git.bak/gk/config new file mode 100644 index 0000000..45c46cb --- /dev/null +++ b/.git.bak/gk/config @@ -0,0 +1,3 @@ +[branch "main"] + gk-merge-base = origin/main + gk-last-accessed = 2026-03-13T03:40:22.332Z diff --git a/.git.bak/hooks/applypatch-msg.sample b/.git.bak/hooks/applypatch-msg.sample new file mode 100644 index 0000000..a5d7b84 --- /dev/null +++ b/.git.bak/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.git.bak/hooks/applypatch-msg_conflict_20260605_173855_EwKce3PnYs.sample b/.git.bak/hooks/applypatch-msg_conflict_20260605_173855_EwKce3PnYs.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.git.bak/hooks/applypatch-msg_conflict_20260605_173855_EwKce3PnYs.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.git.bak/hooks/commit-msg.sample b/.git.bak/hooks/commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/.git.bak/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.git.bak/hooks/commit-msg_conflict_20260605_173855_FioyBD2w16.sample b/.git.bak/hooks/commit-msg_conflict_20260605_173855_FioyBD2w16.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.git.bak/hooks/commit-msg_conflict_20260605_173855_FioyBD2w16.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.git.bak/hooks/fsmonitor-watchman.sample b/.git.bak/hooks/fsmonitor-watchman.sample new file mode 100644 index 0000000..23e856f --- /dev/null +++ b/.git.bak/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.git.bak/hooks/fsmonitor-watchman_conflict_20260605_173855_vu7AXEDoV7.sample b/.git.bak/hooks/fsmonitor-watchman_conflict_20260605_173855_vu7AXEDoV7.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.git.bak/hooks/fsmonitor-watchman_conflict_20260605_173855_vu7AXEDoV7.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.git.bak/hooks/post-update.sample b/.git.bak/hooks/post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/.git.bak/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.git.bak/hooks/post-update_conflict_20260605_173855_5F2jBR8qql.sample b/.git.bak/hooks/post-update_conflict_20260605_173855_5F2jBR8qql.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.git.bak/hooks/post-update_conflict_20260605_173855_5F2jBR8qql.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.git.bak/hooks/pre-applypatch.sample b/.git.bak/hooks/pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/.git.bak/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.git.bak/hooks/pre-applypatch_conflict_20260605_173855_DzJsdws6HW.sample b/.git.bak/hooks/pre-applypatch_conflict_20260605_173855_DzJsdws6HW.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.git.bak/hooks/pre-applypatch_conflict_20260605_173855_DzJsdws6HW.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.git.bak/hooks/pre-commit.sample b/.git.bak/hooks/pre-commit.sample new file mode 100644 index 0000000..29ed5ee --- /dev/null +++ b/.git.bak/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff-index --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.git.bak/hooks/pre-commit_conflict_20260605_173855_AdTT2qmqZl.sample b/.git.bak/hooks/pre-commit_conflict_20260605_173855_AdTT2qmqZl.sample new file mode 100755 index 0000000..29ed5ee --- /dev/null +++ b/.git.bak/hooks/pre-commit_conflict_20260605_173855_AdTT2qmqZl.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff-index --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.git.bak/hooks/pre-merge-commit.sample b/.git.bak/hooks/pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/.git.bak/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.git.bak/hooks/pre-merge-commit_conflict_20260605_173855_AlWVWUyDZ7.sample b/.git.bak/hooks/pre-merge-commit_conflict_20260605_173855_AlWVWUyDZ7.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.git.bak/hooks/pre-merge-commit_conflict_20260605_173855_AlWVWUyDZ7.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.git.bak/hooks/pre-push.sample b/.git.bak/hooks/pre-push.sample new file mode 100644 index 0000000..4ce688d --- /dev/null +++ b/.git.bak/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.git.bak/hooks/pre-push_conflict_20260605_173855_vCbbcMQ9pL.sample b/.git.bak/hooks/pre-push_conflict_20260605_173855_vCbbcMQ9pL.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.git.bak/hooks/pre-push_conflict_20260605_173855_vCbbcMQ9pL.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.git.bak/hooks/pre-rebase.sample b/.git.bak/hooks/pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/.git.bak/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.git.bak/hooks/pre-rebase_conflict_20260605_173855_3CPUGju51k.sample b/.git.bak/hooks/pre-rebase_conflict_20260605_173855_3CPUGju51k.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.git.bak/hooks/pre-rebase_conflict_20260605_173855_3CPUGju51k.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.git.bak/hooks/pre-receive.sample b/.git.bak/hooks/pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/.git.bak/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.git.bak/hooks/pre-receive_conflict_20260605_173855_sopdKrarnd.sample b/.git.bak/hooks/pre-receive_conflict_20260605_173855_sopdKrarnd.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.git.bak/hooks/pre-receive_conflict_20260605_173855_sopdKrarnd.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.git.bak/hooks/prepare-commit-msg.sample b/.git.bak/hooks/prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/.git.bak/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.git.bak/hooks/prepare-commit-msg_conflict_20260605_173855_tEKRsgkOTt.sample b/.git.bak/hooks/prepare-commit-msg_conflict_20260605_173855_tEKRsgkOTt.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.git.bak/hooks/prepare-commit-msg_conflict_20260605_173855_tEKRsgkOTt.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.git.bak/hooks/push-to-checkout.sample b/.git.bak/hooks/push-to-checkout.sample new file mode 100644 index 0000000..af5a0c0 --- /dev/null +++ b/.git.bak/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + exit 1 +} + +unset GIT_DIR GIT_WORK_TREE +cd "$worktree" && + +if grep -q "^diff --git " "$1" +then + validate_patch "$1" +else + validate_cover_letter "$1" +fi && + +if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" +then + git config --unset-all sendemail.validateWorktree && + trap 'git worktree remove -ff "$worktree"' EXIT && + validate_series +fi diff --git a/.git.bak/hooks/sendemail-validate_conflict_20260605_173855_CPamPYMtTP.sample b/.git.bak/hooks/sendemail-validate_conflict_20260605_173855_CPamPYMtTP.sample new file mode 100755 index 0000000..640bcf8 --- /dev/null +++ b/.git.bak/hooks/sendemail-validate_conflict_20260605_173855_CPamPYMtTP.sample @@ -0,0 +1,77 @@ +#!/bin/sh + +# An example hook script to validate a patch (and/or patch series) before +# sending it via email. +# +# The hook should exit with non-zero status after issuing an appropriate +# message if it wants to prevent the email(s) from being sent. +# +# To enable this hook, rename this file to "sendemail-validate". +# +# By default, it will only check that the patch(es) can be applied on top of +# the default upstream branch without conflicts in a secondary worktree. After +# validation (successful or not) of the last patch of a series, the worktree +# will be deleted. +# +# The following config variables can be set to change the default remote and +# remote ref that are used to apply the patches against: +# +# sendemail.validateRemote (default: origin) +# sendemail.validateRemoteRef (default: HEAD) +# +# Replace the TODO placeholders with appropriate checks according to your +# needs. + +validate_cover_letter () { + file="$1" + # TODO: Replace with appropriate checks (e.g. spell checking). + true +} + +validate_patch () { + file="$1" + # Ensure that the patch applies without conflicts. + git am -3 "$file" || return + # TODO: Replace with appropriate checks for this patch + # (e.g. checkpatch.pl). + true +} + +validate_series () { + # TODO: Replace with appropriate checks for the whole series + # (e.g. quick build, coding style checks, etc.). + true +} + +# main ------------------------------------------------------------------------- + +if test "$GIT_SENDEMAIL_FILE_COUNTER" = 1 +then + remote=$(git config --default origin --get sendemail.validateRemote) && + ref=$(git config --default HEAD --get sendemail.validateRemoteRef) && + worktree=$(mktemp --tmpdir -d sendemail-validate.XXXXXXX) && + git worktree add -fd --checkout "$worktree" "refs/remotes/$remote/$ref" && + git config --replace-all sendemail.validateWorktree "$worktree" +else + worktree=$(git config --get sendemail.validateWorktree) +fi || { + echo "sendemail-validate: error: failed to prepare worktree" >&2 + exit 1 +} + +unset GIT_DIR GIT_WORK_TREE +cd "$worktree" && + +if grep -q "^diff --git " "$1" +then + validate_patch "$1" +else + validate_cover_letter "$1" +fi && + +if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" +then + git config --unset-all sendemail.validateWorktree && + trap 'git worktree remove -ff "$worktree"' EXIT && + validate_series +fi diff --git a/.git.bak/hooks/update.sample b/.git.bak/hooks/update.sample new file mode 100644 index 0000000..c4d426b --- /dev/null +++ b/.git.bak/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.git.bak/hooks/update_conflict_20260605_173855_dXm5FnO4Z5.sample b/.git.bak/hooks/update_conflict_20260605_173855_dXm5FnO4Z5.sample new file mode 100755 index 0000000..c4d426b --- /dev/null +++ b/.git.bak/hooks/update_conflict_20260605_173855_dXm5FnO4Z5.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.git.bak/index b/.git.bak/index new file mode 100644 index 0000000..beb849e Binary files /dev/null and b/.git.bak/index differ diff --git a/.git.bak/index (1) b/.git.bak/index (1) new file mode 100644 index 0000000..a66beea Binary files /dev/null and b/.git.bak/index (1) differ diff --git a/.git.bak/index_conflict_20260605_173855_bn3kwQrERq b/.git.bak/index_conflict_20260605_173855_bn3kwQrERq new file mode 100644 index 0000000..e87b430 Binary files /dev/null and b/.git.bak/index_conflict_20260605_173855_bn3kwQrERq differ diff --git a/.git.bak/info/exclude b/.git.bak/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.git.bak/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.git.bak/info/exclude_conflict_20260605_173855_GnJoZt9HQi b/.git.bak/info/exclude_conflict_20260605_173855_GnJoZt9HQi new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.git.bak/info/exclude_conflict_20260605_173855_GnJoZt9HQi @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.git.bak/info/refs b/.git.bak/info/refs new file mode 100644 index 0000000..80d1119 --- /dev/null +++ b/.git.bak/info/refs @@ -0,0 +1,3 @@ +ef1bbf7a35ff26c7067c6711781c14127f0a906b refs/heads/main +49af7ddd8e4a932c7817e62f92b747f026d9e388 refs/remotes/origin/HEAD +49af7ddd8e4a932c7817e62f92b747f026d9e388 refs/remotes/origin/main diff --git a/.git.bak/logs/HEAD b/.git.bak/logs/HEAD new file mode 100644 index 0000000..73beb09 --- /dev/null +++ b/.git.bak/logs/HEAD @@ -0,0 +1,72 @@ +41b62617210fe1b623c918d4971e425ce23e906a 9a69e0731cac232ad21873c332e9f31287cde8dc superschnups <114619791+superschnups@users.noreply.github.com> 1768770004 +0100 commit: Auto-backup: 2026-01-18 22:00 +9a69e0731cac232ad21873c332e9f31287cde8dc 88b2742518ddf99477cf819f0442a02b5431fc79 superschnups <114619791+superschnups@users.noreply.github.com> 1768866202 +0100 commit: Auto-backup: 2026-01-20 00:43 +88b2742518ddf99477cf819f0442a02b5431fc79 ac242806aae813c36639925c962934cf0d5d9dfe superschnups <114619791+superschnups@users.noreply.github.com> 1769118622 +0100 commit: Auto-backup: 2026-01-22 22:50 +ac242806aae813c36639925c962934cf0d5d9dfe a30119662e57564fbceb957cbb336b024d688703 superschnups <114619791+superschnups@users.noreply.github.com> 1769296965 +0100 commit: Auto-backup: 2026-01-25 00:22 +a30119662e57564fbceb957cbb336b024d688703 035b19f1c4cb34b40b6b78232c8d6b9c663d0a0e Sascha 1769374969 +0100 commit: Auto-backup: 2026-01-25 22:02 +035b19f1c4cb34b40b6b78232c8d6b9c663d0a0e 17dba2830bc1c1e41e786cc7ec21ca54c38c39da Sascha 1769375487 +0100 commit: Auto-backup: 2026-01-25 22:11 +17dba2830bc1c1e41e786cc7ec21ca54c38c39da 0f407fd971a4f12591558d9fafa6e645aabbbf2e Sascha 1769375558 +0100 commit: Auto-backup: 2026-01-25 22:12 +0f407fd971a4f12591558d9fafa6e645aabbbf2e 3e1ebdc24434b42d67de929610f2a6383d67c431 Sascha 1770063623 +0100 commit: Auto-backup: 2026-02-02 21:20 +3e1ebdc24434b42d67de929610f2a6383d67c431 49af7ddd8e4a932c7817e62f92b747f026d9e388 Sascha 1770242401 +0100 commit: Auto-backup: 2026-02-04 23:00 +49af7ddd8e4a932c7817e62f92b747f026d9e388 ef1bbf7a35ff26c7067c6711781c14127f0a906b Sascha 1771020039 +0100 commit: Auto-backup: 2026-02-13 23:00 +ef1bbf7a35ff26c7067c6711781c14127f0a906b 44de3f965f362a9b8645a7de9556df470362c4dd Sascha 1771024397 +0100 commit: update halt +44de3f965f362a9b8645a7de9556df470362c4dd 23fb10eefc71657a508fc5cb2eaaa25347bb48e9 Sascha 1771279202 +0100 commit: Auto-backup: 2026-02-16 23:00 +23fb10eefc71657a508fc5cb2eaaa25347bb48e9 142e2eb75799ec413ff72c6003c1e1be53ac6d39 Sascha 1771715224 +0100 commit (amend): Auto-backup: 2026-02-16 23:00 +142e2eb75799ec413ff72c6003c1e1be53ac6d39 af30d3374adceedcb4da52691504fd62ce19e334 Sascha 1771797600 +0100 commit: Auto-backup: 2026-02-22 23:00 +af30d3374adceedcb4da52691504fd62ce19e334 69de6fed7b89cd7974bb31047b646a7ec6280701 Sascha 1772056802 +0100 commit: Auto-backup: 2026-02-25 23:00 +69de6fed7b89cd7974bb31047b646a7ec6280701 9105721c8b3fdb8316d33c4212800073dc049306 Sascha 1772059256 +0100 commit: Auto-backup: 2026-02-25 23:40 +9105721c8b3fdb8316d33c4212800073dc049306 c0f2c57f901e64092e395c393ae2e22bbe6c2c19 Sascha 1772060274 +0100 commit: Auto-backup: 2026-02-25 23:57 +c0f2c57f901e64092e395c393ae2e22bbe6c2c19 f747cb711330511887b8fc42d228bcc663c24efd Sascha 1772060302 +0100 commit: Auto-backup: 2026-02-25 23:58 +f747cb711330511887b8fc42d228bcc663c24efd 2d86e55dc513c43af8aa7c6962adc8b3ef85507a Sascha 1772061195 +0100 commit: Auto-backup: 2026-02-26 00:13 +2d86e55dc513c43af8aa7c6962adc8b3ef85507a 26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff Sascha 1772061225 +0100 commit: Auto-backup: 2026-02-26 00:13 +26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff c424b3e52f4298fe65344295e62ea986aafcc959 Sascha 1772061272 +0100 commit: Auto-backup: 2026-02-26 00:14 +c424b3e52f4298fe65344295e62ea986aafcc959 76579c3bf027b59d074168f47accf54aa965cf8d Sascha 1772061286 +0100 commit: Auto-backup: 2026-02-26 00:14 +76579c3bf027b59d074168f47accf54aa965cf8d 153387c7fb5571f50c78ae502c1733b6ec49bc51 Sascha 1772061383 +0100 commit: Auto-backup: 2026-02-26 00:16 +153387c7fb5571f50c78ae502c1733b6ec49bc51 1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 Sascha 1772061573 +0100 commit: Auto-backup: 2026-02-26 00:19 +1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 a9d60660bdb3b56e01e2837bd69f240b955ed18b Sascha 1772061644 +0100 commit: Auto-backup: 2026-02-26 00:20 +a9d60660bdb3b56e01e2837bd69f240b955ed18b 3a269b68cc896251b79fc1db4f50f3aa24403076 Sascha 1772061707 +0100 commit: Auto-backup: 2026-02-26 00:21 +3a269b68cc896251b79fc1db4f50f3aa24403076 c25bff95b332ce7a46221578067cd8f78d2579cc Sascha 1772148674 +0100 commit: Auto-backup: 2026-02-27 00:31 +c25bff95b332ce7a46221578067cd8f78d2579cc 3e2b7944c35cd08eb4b655d02aa6d3c1e625b681 Sascha 1772229602 +0100 commit: Auto-backup: 2026-02-27 23:00 +3e2b7944c35cd08eb4b655d02aa6d3c1e625b681 14e0a5e755dcd635bf022abbcd477c77a65c2a58 Sascha 1772397944 +0100 commit: update halt +14e0a5e755dcd635bf022abbcd477c77a65c2a58 d302344e774f6434aa55c3a21a6a7323caf45871 Sascha 1772748003 +0100 commit: Auto-backup: 2026-03-05 23:00 +d302344e774f6434aa55c3a21a6a7323caf45871 983a6c83447d671c03e6aa410da6afa9993cdaeb Sascha 1772750873 +0100 commit: Auto-backup: 2026-03-05 23:47 +983a6c83447d671c03e6aa410da6afa9993cdaeb 2f0b79395fcccd0edfd49e790f89fe6403863ec4 Sascha 1772751087 +0100 commit: Auto-backup: 2026-03-05 23:51 +2f0b79395fcccd0edfd49e790f89fe6403863ec4 03dd86fa788f2aa81df0caf3f05d9527bf124708 Sascha 1772751677 +0100 commit: Auto-backup: 2026-03-06 00:01 +03dd86fa788f2aa81df0caf3f05d9527bf124708 97e2bd0e679d353a9bc035d09283ea233214e99c Sascha 1772834408 +0100 commit: Auto-backup: 2026-03-06 23:00 +97e2bd0e679d353a9bc035d09283ea233214e99c f6f3cee0812d7400a9eae0d33ab8bc2037b57d47 Sascha 1772920801 +0100 commit: Auto-backup: 2026-03-07 23:00 +f6f3cee0812d7400a9eae0d33ab8bc2037b57d47 249d970a90948ff7ef7c0b54260b8983527f231c Sascha 1773180000 +0100 commit: Auto-backup: 2026-03-10 23:00 +249d970a90948ff7ef7c0b54260b8983527f231c ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 Sascha 1773333437 +0100 commit: Lektion 1: Existenz-Prüfung abgeschlossen (Flux-Coding Workflow) +ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 e2d5f4feb38f5fc883059cc11eecd24c9bafb530 Sascha 1773439201 +0100 commit: Auto-backup: 2026-03-13 23:00 +e2d5f4feb38f5fc883059cc11eecd24c9bafb530 9cdec965cc7b49bfa63e00e6195b9ca309ff4e53 Sascha 1773698401 +0100 commit: Auto-backup: 2026-03-16 23:00 +9cdec965cc7b49bfa63e00e6195b9ca309ff4e53 c215075f34a7b3e82577dab8aa1192680f604b44 Sascha 1773784800 +0100 commit: Auto-backup: 2026-03-17 23:00 +c215075f34a7b3e82577dab8aa1192680f604b44 a88524451d19e25156cf0b79ae2f1b63b3ca9b99 Sascha 1773867789 +0100 commit: Auto-backup: 2026-03-18 22:03 +a88524451d19e25156cf0b79ae2f1b63b3ca9b99 96ebe4f634d95dcab882d8c16f8c760f782ae54e Sascha 1774389600 +0100 commit: Auto-backup: 2026-03-24 23:00 +96ebe4f634d95dcab882d8c16f8c760f782ae54e 3cd4a7cf1b715912338c31b86a941064ae8f3ada Sascha 1774476001 +0100 commit: Auto-backup: 2026-03-25 23:00 +3cd4a7cf1b715912338c31b86a941064ae8f3ada eb05d76857b1d0f806def15cfbd5a1c3aee05861 Sascha 1774562401 +0100 commit: Auto-backup: 2026-03-26 23:00 +eb05d76857b1d0f806def15cfbd5a1c3aee05861 0b44043bbab426fda0d9153b38232f2575480c52 Sascha 1774648801 +0100 commit: Auto-backup: 2026-03-27 23:00 +0b44043bbab426fda0d9153b38232f2575480c52 4a958bfd0c851abe432a9dc52ea1d029516d5dbc Sascha 1774735200 +0100 commit: Auto-backup: 2026-03-28 23:00 +4a958bfd0c851abe432a9dc52ea1d029516d5dbc c9f87a431e8f4048cbf51024f86a238596e532c0 Sascha 1774736087 +0100 commit: Auto-backup: 2026-03-28 23:14 +c9f87a431e8f4048cbf51024f86a238596e532c0 2d99b51d0522c08fb1267aad3c8269602e4a362a Sascha 1774818001 +0200 commit: Auto-backup: 2026-03-29 23:00 +2d99b51d0522c08fb1267aad3c8269602e4a362a 63b478c10a38d0cf00977ed4cea7637fc7f46fb2 Sascha 1775077201 +0200 commit: Auto-backup: 2026-04-01 23:00 +63b478c10a38d0cf00977ed4cea7637fc7f46fb2 216c0185a447bef25cd961d8cf8ec5a4b25d4212 bonzei 1775946959 +0200 commit: Auto-backup: 2026-04-12 00:35 +216c0185a447bef25cd961d8cf8ec5a4b25d4212 b097213e89da03d62d9d16191c49d20330c4f274 bonzei 1775947452 +0200 commit: Auto-backup: 2026-04-12 00:44 +b097213e89da03d62d9d16191c49d20330c4f274 ea527ee73ae181f9aeadd9d3ebb6e420285d0927 bonzei 1776282875 +0200 commit: Auto-backup: 2026-04-15 21:54 +ea527ee73ae181f9aeadd9d3ebb6e420285d0927 ba0c4c98b884f5cb062110ff820897d932ac9fdf bonzei 1776296421 +0200 commit: Auto-backup: 2026-04-16 01:40 +ba0c4c98b884f5cb062110ff820897d932ac9fdf 4610267d921b1cc3258710d4d752ce45a11355a6 bonzei 1776894449 +0200 commit: test +4610267d921b1cc3258710d4d752ce45a11355a6 f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 bonzei 1776894551 +0200 commit: origin +f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 49ed2e550ef671a3cb97f13ce7e442c00d922365 bonzei 1777661420 +0200 commit: 2026-05-01 +49ed2e550ef671a3cb97f13ce7e442c00d922365 4dff5dc7088a4ee9234760d9260217a64b200522 bonzei 1777708049 +0200 commit: last +4dff5dc7088a4ee9234760d9260217a64b200522 425c3e59d3623e886bfbf9b64a4a3863c83eabe8 bonzei 1777770275 +0200 commit: neue .zshrc +425c3e59d3623e886bfbf9b64a4a3863c83eabe8 ea3bd71d83d43471f59027d994c3e796264a2cc4 bonzei <114619791+superschnups@users.noreply.github.com> 1778546052 +0200 commit: fuck alles gelöscht +ea3bd71d83d43471f59027d994c3e796264a2cc4 ea3bd71d83d43471f59027d994c3e796264a2cc4 bonzei <114619791+superschnups@users.noreply.github.com> 1778877726 +0200 pull --no-rebase: updating HEAD +ea3bd71d83d43471f59027d994c3e796264a2cc4 647c8ed59c74815525ffaa2b7478521a5d872ab5 bonzei <114619791+superschnups@users.noreply.github.com> 1778877930 +0200 commit: ggg +647c8ed59c74815525ffaa2b7478521a5d872ab5 380bd85f0009b17e02091bd0c2747741c58cacbe bonzei <114619791+superschnups@users.noreply.github.com> 1779080348 +0200 commit: configFilesSammelbecken hinzugefügt +380bd85f0009b17e02091bd0c2747741c58cacbe e49a463cbcfbf085a08832f804c985fb55c2c9bb bonzei <114619791+superschnups@users.noreply.github.com> 1779315637 +0200 commit: script für shortcut manager hinzugefügt +e49a463cbcfbf085a08832f804c985fb55c2c9bb aad7143ac4a6a57a32b3975b1eb4e89df5a86241 bonzei <114619791+superschnups@users.noreply.github.com> 1779357013 +0200 commit: Auto-backup: 2026-05-21 11:50 +aad7143ac4a6a57a32b3975b1eb4e89df5a86241 fb66991bddc643cb3c5da7f74332c5e8450d92a7 bonzei <114619791+superschnups@users.noreply.github.com> 1779402780 +0200 commit: Auto-backup: 2026-05-22 00:33 +fb66991bddc643cb3c5da7f74332c5e8450d92a7 15f8a115b7c7f54daf96acc6de6185df7f833e54 bonzei <114619791+superschnups@users.noreply.github.com> 1779575581 +0200 commit: Auto-backup: 2026-05-24 00:33 +15f8a115b7c7f54daf96acc6de6185df7f833e54 88a9080d0cacb505e06f5663368333ffe871c68e bonzei <114619791+superschnups@users.noreply.github.com> 1779661981 +0200 commit: Auto-backup: 2026-05-25 00:33 +88a9080d0cacb505e06f5663368333ffe871c68e a27d33d68a2ac6d850a679bdd90adb18f8cff189 bonzei <114619791+superschnups@users.noreply.github.com> 1779921180 +0200 commit: Auto-backup: 2026-05-28 00:33 +a27d33d68a2ac6d850a679bdd90adb18f8cff189 ec7097b96282437312853ba39254d0e2f17b36ba bonzei <114619791+superschnups@users.noreply.github.com> 1780007581 +0200 commit: Auto-backup: 2026-05-29 00:33 +ec7097b96282437312853ba39254d0e2f17b36ba 0ff4e078bd0102f94c354fafd480832b8d8e77ad bonzei <114619791+superschnups@users.noreply.github.com> 1780093980 +0200 commit: Auto-backup: 2026-05-30 00:33 +0ff4e078bd0102f94c354fafd480832b8d8e77ad e075bccaa3c39f70eb84708c0b1ee2bc8450e46c bonzei <114619791+superschnups@users.noreply.github.com> 1780180380 +0200 commit: Auto-backup: 2026-05-31 00:33 +e075bccaa3c39f70eb84708c0b1ee2bc8450e46c 54c4d80c60fe5e759c754973d7f3c4d4c347819d bonzei <114619791+superschnups@users.noreply.github.com> 1780612381 +0200 commit: Auto-backup: 2026-06-05 00:33 diff --git a/.git.bak/logs/HEAD (1) b/.git.bak/logs/HEAD (1) new file mode 100644 index 0000000..c54116a --- /dev/null +++ b/.git.bak/logs/HEAD (1) @@ -0,0 +1,59 @@ +41b62617210fe1b623c918d4971e425ce23e906a 9a69e0731cac232ad21873c332e9f31287cde8dc superschnups <114619791+superschnups@users.noreply.github.com> 1768770004 +0100 commit: Auto-backup: 2026-01-18 22:00 +9a69e0731cac232ad21873c332e9f31287cde8dc 88b2742518ddf99477cf819f0442a02b5431fc79 superschnups <114619791+superschnups@users.noreply.github.com> 1768866202 +0100 commit: Auto-backup: 2026-01-20 00:43 +88b2742518ddf99477cf819f0442a02b5431fc79 ac242806aae813c36639925c962934cf0d5d9dfe superschnups <114619791+superschnups@users.noreply.github.com> 1769118622 +0100 commit: Auto-backup: 2026-01-22 22:50 +ac242806aae813c36639925c962934cf0d5d9dfe a30119662e57564fbceb957cbb336b024d688703 superschnups <114619791+superschnups@users.noreply.github.com> 1769296965 +0100 commit: Auto-backup: 2026-01-25 00:22 +a30119662e57564fbceb957cbb336b024d688703 035b19f1c4cb34b40b6b78232c8d6b9c663d0a0e Sascha 1769374969 +0100 commit: Auto-backup: 2026-01-25 22:02 +035b19f1c4cb34b40b6b78232c8d6b9c663d0a0e 17dba2830bc1c1e41e786cc7ec21ca54c38c39da Sascha 1769375487 +0100 commit: Auto-backup: 2026-01-25 22:11 +17dba2830bc1c1e41e786cc7ec21ca54c38c39da 0f407fd971a4f12591558d9fafa6e645aabbbf2e Sascha 1769375558 +0100 commit: Auto-backup: 2026-01-25 22:12 +0f407fd971a4f12591558d9fafa6e645aabbbf2e 3e1ebdc24434b42d67de929610f2a6383d67c431 Sascha 1770063623 +0100 commit: Auto-backup: 2026-02-02 21:20 +3e1ebdc24434b42d67de929610f2a6383d67c431 49af7ddd8e4a932c7817e62f92b747f026d9e388 Sascha 1770242401 +0100 commit: Auto-backup: 2026-02-04 23:00 +49af7ddd8e4a932c7817e62f92b747f026d9e388 ef1bbf7a35ff26c7067c6711781c14127f0a906b Sascha 1771020039 +0100 commit: Auto-backup: 2026-02-13 23:00 +ef1bbf7a35ff26c7067c6711781c14127f0a906b 44de3f965f362a9b8645a7de9556df470362c4dd Sascha 1771024397 +0100 commit: update halt +44de3f965f362a9b8645a7de9556df470362c4dd 23fb10eefc71657a508fc5cb2eaaa25347bb48e9 Sascha 1771279202 +0100 commit: Auto-backup: 2026-02-16 23:00 +23fb10eefc71657a508fc5cb2eaaa25347bb48e9 142e2eb75799ec413ff72c6003c1e1be53ac6d39 Sascha 1771715224 +0100 commit (amend): Auto-backup: 2026-02-16 23:00 +142e2eb75799ec413ff72c6003c1e1be53ac6d39 af30d3374adceedcb4da52691504fd62ce19e334 Sascha 1771797600 +0100 commit: Auto-backup: 2026-02-22 23:00 +af30d3374adceedcb4da52691504fd62ce19e334 69de6fed7b89cd7974bb31047b646a7ec6280701 Sascha 1772056802 +0100 commit: Auto-backup: 2026-02-25 23:00 +69de6fed7b89cd7974bb31047b646a7ec6280701 9105721c8b3fdb8316d33c4212800073dc049306 Sascha 1772059256 +0100 commit: Auto-backup: 2026-02-25 23:40 +9105721c8b3fdb8316d33c4212800073dc049306 c0f2c57f901e64092e395c393ae2e22bbe6c2c19 Sascha 1772060274 +0100 commit: Auto-backup: 2026-02-25 23:57 +c0f2c57f901e64092e395c393ae2e22bbe6c2c19 f747cb711330511887b8fc42d228bcc663c24efd Sascha 1772060302 +0100 commit: Auto-backup: 2026-02-25 23:58 +f747cb711330511887b8fc42d228bcc663c24efd 2d86e55dc513c43af8aa7c6962adc8b3ef85507a Sascha 1772061195 +0100 commit: Auto-backup: 2026-02-26 00:13 +2d86e55dc513c43af8aa7c6962adc8b3ef85507a 26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff Sascha 1772061225 +0100 commit: Auto-backup: 2026-02-26 00:13 +26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff c424b3e52f4298fe65344295e62ea986aafcc959 Sascha 1772061272 +0100 commit: Auto-backup: 2026-02-26 00:14 +c424b3e52f4298fe65344295e62ea986aafcc959 76579c3bf027b59d074168f47accf54aa965cf8d Sascha 1772061286 +0100 commit: Auto-backup: 2026-02-26 00:14 +76579c3bf027b59d074168f47accf54aa965cf8d 153387c7fb5571f50c78ae502c1733b6ec49bc51 Sascha 1772061383 +0100 commit: Auto-backup: 2026-02-26 00:16 +153387c7fb5571f50c78ae502c1733b6ec49bc51 1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 Sascha 1772061573 +0100 commit: Auto-backup: 2026-02-26 00:19 +1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 a9d60660bdb3b56e01e2837bd69f240b955ed18b Sascha 1772061644 +0100 commit: Auto-backup: 2026-02-26 00:20 +a9d60660bdb3b56e01e2837bd69f240b955ed18b 3a269b68cc896251b79fc1db4f50f3aa24403076 Sascha 1772061707 +0100 commit: Auto-backup: 2026-02-26 00:21 +3a269b68cc896251b79fc1db4f50f3aa24403076 c25bff95b332ce7a46221578067cd8f78d2579cc Sascha 1772148674 +0100 commit: Auto-backup: 2026-02-27 00:31 +c25bff95b332ce7a46221578067cd8f78d2579cc 3e2b7944c35cd08eb4b655d02aa6d3c1e625b681 Sascha 1772229602 +0100 commit: Auto-backup: 2026-02-27 23:00 +3e2b7944c35cd08eb4b655d02aa6d3c1e625b681 14e0a5e755dcd635bf022abbcd477c77a65c2a58 Sascha 1772397944 +0100 commit: update halt +14e0a5e755dcd635bf022abbcd477c77a65c2a58 d302344e774f6434aa55c3a21a6a7323caf45871 Sascha 1772748003 +0100 commit: Auto-backup: 2026-03-05 23:00 +d302344e774f6434aa55c3a21a6a7323caf45871 983a6c83447d671c03e6aa410da6afa9993cdaeb Sascha 1772750873 +0100 commit: Auto-backup: 2026-03-05 23:47 +983a6c83447d671c03e6aa410da6afa9993cdaeb 2f0b79395fcccd0edfd49e790f89fe6403863ec4 Sascha 1772751087 +0100 commit: Auto-backup: 2026-03-05 23:51 +2f0b79395fcccd0edfd49e790f89fe6403863ec4 03dd86fa788f2aa81df0caf3f05d9527bf124708 Sascha 1772751677 +0100 commit: Auto-backup: 2026-03-06 00:01 +03dd86fa788f2aa81df0caf3f05d9527bf124708 97e2bd0e679d353a9bc035d09283ea233214e99c Sascha 1772834408 +0100 commit: Auto-backup: 2026-03-06 23:00 +97e2bd0e679d353a9bc035d09283ea233214e99c f6f3cee0812d7400a9eae0d33ab8bc2037b57d47 Sascha 1772920801 +0100 commit: Auto-backup: 2026-03-07 23:00 +f6f3cee0812d7400a9eae0d33ab8bc2037b57d47 249d970a90948ff7ef7c0b54260b8983527f231c Sascha 1773180000 +0100 commit: Auto-backup: 2026-03-10 23:00 +249d970a90948ff7ef7c0b54260b8983527f231c ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 Sascha 1773333437 +0100 commit: Lektion 1: Existenz-Prüfung abgeschlossen (Flux-Coding Workflow) +ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 e2d5f4feb38f5fc883059cc11eecd24c9bafb530 Sascha 1773439201 +0100 commit: Auto-backup: 2026-03-13 23:00 +e2d5f4feb38f5fc883059cc11eecd24c9bafb530 9cdec965cc7b49bfa63e00e6195b9ca309ff4e53 Sascha 1773698401 +0100 commit: Auto-backup: 2026-03-16 23:00 +9cdec965cc7b49bfa63e00e6195b9ca309ff4e53 c215075f34a7b3e82577dab8aa1192680f604b44 Sascha 1773784800 +0100 commit: Auto-backup: 2026-03-17 23:00 +c215075f34a7b3e82577dab8aa1192680f604b44 a88524451d19e25156cf0b79ae2f1b63b3ca9b99 Sascha 1773867789 +0100 commit: Auto-backup: 2026-03-18 22:03 +a88524451d19e25156cf0b79ae2f1b63b3ca9b99 96ebe4f634d95dcab882d8c16f8c760f782ae54e Sascha 1774389600 +0100 commit: Auto-backup: 2026-03-24 23:00 +96ebe4f634d95dcab882d8c16f8c760f782ae54e 3cd4a7cf1b715912338c31b86a941064ae8f3ada Sascha 1774476001 +0100 commit: Auto-backup: 2026-03-25 23:00 +3cd4a7cf1b715912338c31b86a941064ae8f3ada eb05d76857b1d0f806def15cfbd5a1c3aee05861 Sascha 1774562401 +0100 commit: Auto-backup: 2026-03-26 23:00 +eb05d76857b1d0f806def15cfbd5a1c3aee05861 0b44043bbab426fda0d9153b38232f2575480c52 Sascha 1774648801 +0100 commit: Auto-backup: 2026-03-27 23:00 +0b44043bbab426fda0d9153b38232f2575480c52 4a958bfd0c851abe432a9dc52ea1d029516d5dbc Sascha 1774735200 +0100 commit: Auto-backup: 2026-03-28 23:00 +4a958bfd0c851abe432a9dc52ea1d029516d5dbc c9f87a431e8f4048cbf51024f86a238596e532c0 Sascha 1774736087 +0100 commit: Auto-backup: 2026-03-28 23:14 +c9f87a431e8f4048cbf51024f86a238596e532c0 2d99b51d0522c08fb1267aad3c8269602e4a362a Sascha 1774818001 +0200 commit: Auto-backup: 2026-03-29 23:00 +2d99b51d0522c08fb1267aad3c8269602e4a362a 63b478c10a38d0cf00977ed4cea7637fc7f46fb2 Sascha 1775077201 +0200 commit: Auto-backup: 2026-04-01 23:00 +63b478c10a38d0cf00977ed4cea7637fc7f46fb2 216c0185a447bef25cd961d8cf8ec5a4b25d4212 bonzei 1775946959 +0200 commit: Auto-backup: 2026-04-12 00:35 +216c0185a447bef25cd961d8cf8ec5a4b25d4212 b097213e89da03d62d9d16191c49d20330c4f274 bonzei 1775947452 +0200 commit: Auto-backup: 2026-04-12 00:44 +b097213e89da03d62d9d16191c49d20330c4f274 ea527ee73ae181f9aeadd9d3ebb6e420285d0927 bonzei 1776282875 +0200 commit: Auto-backup: 2026-04-15 21:54 +ea527ee73ae181f9aeadd9d3ebb6e420285d0927 ba0c4c98b884f5cb062110ff820897d932ac9fdf bonzei 1776296421 +0200 commit: Auto-backup: 2026-04-16 01:40 +ba0c4c98b884f5cb062110ff820897d932ac9fdf 4610267d921b1cc3258710d4d752ce45a11355a6 bonzei 1776894449 +0200 commit: test +4610267d921b1cc3258710d4d752ce45a11355a6 f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 bonzei 1776894551 +0200 commit: origin +f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 49ed2e550ef671a3cb97f13ce7e442c00d922365 bonzei 1777661420 +0200 commit: 2026-05-01 +49ed2e550ef671a3cb97f13ce7e442c00d922365 4dff5dc7088a4ee9234760d9260217a64b200522 bonzei 1777708049 +0200 commit: last +4dff5dc7088a4ee9234760d9260217a64b200522 425c3e59d3623e886bfbf9b64a4a3863c83eabe8 bonzei 1777770275 +0200 commit: neue .zshrc +425c3e59d3623e886bfbf9b64a4a3863c83eabe8 ea3bd71d83d43471f59027d994c3e796264a2cc4 bonzei <114619791+superschnups@users.noreply.github.com> 1778546052 +0200 commit: fuck alles gelöscht diff --git a/.git.bak/logs/HEAD_conflict_20260605_173855_tVdeBDZkpE b/.git.bak/logs/HEAD_conflict_20260605_173855_tVdeBDZkpE new file mode 100644 index 0000000..93c45ae --- /dev/null +++ b/.git.bak/logs/HEAD_conflict_20260605_173855_tVdeBDZkpE @@ -0,0 +1,30 @@ +0000000000000000000000000000000000000000 3f6417175e84de36f91fdbea99ef5bd0e58f51e5 bonzei 1775944009 +0200 commit (initial): first commit +3f6417175e84de36f91fdbea99ef5bd0e58f51e5 0000000000000000000000000000000000000000 bonzei 1775944009 +0200 Branch: renamed refs/heads/main to refs/heads/main +3f6417175e84de36f91fdbea99ef5bd0e58f51e5 3f6417175e84de36f91fdbea99ef5bd0e58f51e5 bonzei 1775944009 +0200 Branch: renamed refs/heads/main to refs/heads/main +3f6417175e84de36f91fdbea99ef5bd0e58f51e5 ddbe56763d606e4c39f9897f8d866a50b4548d5f bonzei 1775944114 +0200 commit: first commit +ddbe56763d606e4c39f9897f8d866a50b4548d5f 9899b947a8ef3078a526dc76330fed7998aff87a bonzei 1775946960 +0200 commit: Auto-backup: 2026-04-12 00:36 +9899b947a8ef3078a526dc76330fed7998aff87a ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b bonzei 1775950397 +0200 commit: Add Hugo restart script and static files +ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b eaddeb16be67205315dd8db7145e9b7a84f8bde9 bonzei 1776036267 +0200 commit: meine erfolge +eaddeb16be67205315dd8db7145e9b7a84f8bde9 fbbf85bfd731601e0c8bb86fd36a030d7ac0d6ce bonzei 1776282877 +0200 commit: Auto-backup: 2026-04-15 21:54 +fbbf85bfd731601e0c8bb86fd36a030d7ac0d6ce 4558a1638b23fe782becee1e496f1c3b3502c849 bonzei 1776288079 +0200 commit: tets +4558a1638b23fe782becee1e496f1c3b3502c849 b8e4f6c20b80bdab05cb47d0ffcf268ac01ae258 bonzei 1776894621 +0200 commit: origin +b8e4f6c20b80bdab05cb47d0ffcf268ac01ae258 0a6e506b02fade37e6eb512bd4aa1da72896f548 bonzei 1776894714 +0200 commit: 2026-04-22 +0a6e506b02fade37e6eb512bd4aa1da72896f548 52f7e61f472216b16d003e544fcbce8eeffaba7e bonzei 1776894832 +0200 commit: 2026-04-22 +52f7e61f472216b16d003e544fcbce8eeffaba7e dd5065a98c96e5b663ae2042bbeb89b04b4e616d bonzei 1777398908 +0200 commit: Auto-backup: 2026-04-28 19:55 +dd5065a98c96e5b663ae2042bbeb89b04b4e616d dd5065a98c96e5b663ae2042bbeb89b04b4e616d bonzei 1777412567 +0200 checkout: moving from main to main +dd5065a98c96e5b663ae2042bbeb89b04b4e616d 875350d7b1a39d148ada93ef2877b274d510cfd5 bonzei 1777662004 +0200 commit: Auto-backup: 2026-05-01 21:00 +875350d7b1a39d148ada93ef2877b274d510cfd5 d5ccc01499d2357a97d4a649f909abe9c3da0e65 bonzei <114619791+superschnups@users.noreply.github.com> 1778278140 +0200 commit: ha +d5ccc01499d2357a97d4a649f909abe9c3da0e65 c9783ea5585bf33ce28cf408409e970ab332e8a0 bonzei <114619791+superschnups@users.noreply.github.com> 1778278322 +0200 commit: neu +c9783ea5585bf33ce28cf408409e970ab332e8a0 e58692de19858c5c031415ba80c510ddb3eafd2b bonzei <114619791+superschnups@users.noreply.github.com> 1778278356 +0200 commit: oksoisses +e58692de19858c5c031415ba80c510ddb3eafd2b b9c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 bonzei <114619791+superschnups@users.noreply.github.com> 1778545051 +0200 commit: Auto-backup: 2026-05-12 02:17 +b9c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 d0db7805a962fb6ad09c4d419e3efbf77b49c744 bonzei <114619791+superschnups@users.noreply.github.com> 1779357116 +0200 commit: Auto-backup: 2026-05-21 11:51 +d0db7805a962fb6ad09c4d419e3efbf77b49c744 4ce5539bcfb60024c0e01cac818fda169b20924e bonzei <114619791+superschnups@users.noreply.github.com> 1779402781 +0200 commit: Auto-backup: 2026-05-22 00:33 +4ce5539bcfb60024c0e01cac818fda169b20924e 8b48cb742bc6ebbfa54fe9c40cf555f26d4e3f1f bonzei <114619791+superschnups@users.noreply.github.com> 1779489182 +0200 commit: Auto-backup: 2026-05-23 00:33 +8b48cb742bc6ebbfa54fe9c40cf555f26d4e3f1f ee9b8bf94722cb2594698f7217e537c60b4fa1b4 bonzei <114619791+superschnups@users.noreply.github.com> 1779661982 +0200 commit: Auto-backup: 2026-05-25 00:33 +ee9b8bf94722cb2594698f7217e537c60b4fa1b4 35345e6fcda387dc8f52c3990d592806041ab6e6 bonzei <114619791+superschnups@users.noreply.github.com> 1779748381 +0200 commit: Auto-backup: 2026-05-26 00:33 +35345e6fcda387dc8f52c3990d592806041ab6e6 f2a3507eea31b0f8168b47877e1d08abc092767c bonzei <114619791+superschnups@users.noreply.github.com> 1779921182 +0200 commit: Auto-backup: 2026-05-28 00:33 +f2a3507eea31b0f8168b47877e1d08abc092767c ad2ecd4bf7da56b32f6ccb58508c5ddf94493b6d bonzei <114619791+superschnups@users.noreply.github.com> 1780007583 +0200 commit: Auto-backup: 2026-05-29 00:33 +ad2ecd4bf7da56b32f6ccb58508c5ddf94493b6d 57876b6a74dee6a139999beb5feda4a4353214ec bonzei <114619791+superschnups@users.noreply.github.com> 1780093982 +0200 commit: Auto-backup: 2026-05-30 00:33 +57876b6a74dee6a139999beb5feda4a4353214ec ba2c3fdf86862d7e34570dcfebf972a63685cc09 bonzei <114619791+superschnups@users.noreply.github.com> 1780180398 +0200 commit: Auto-backup: 2026-05-31 00:33 +ba2c3fdf86862d7e34570dcfebf972a63685cc09 63fa92d15e838d5c88f0f55ae4f09d9da7e3aa1b bonzei <114619791+superschnups@users.noreply.github.com> 1780266782 +0200 commit: Auto-backup: 2026-06-01 00:33 +63fa92d15e838d5c88f0f55ae4f09d9da7e3aa1b 4428df4df4ee97153a72f4e1b8f62f5a95a45dc7 bonzei <114619791+superschnups@users.noreply.github.com> 1780612382 +0200 commit: Auto-backup: 2026-06-05 00:33 diff --git a/.git.bak/logs/refs/heads/main b/.git.bak/logs/refs/heads/main new file mode 100644 index 0000000..55b3d59 --- /dev/null +++ b/.git.bak/logs/refs/heads/main @@ -0,0 +1,71 @@ +41b62617210fe1b623c918d4971e425ce23e906a 9a69e0731cac232ad21873c332e9f31287cde8dc superschnups <114619791+superschnups@users.noreply.github.com> 1768770004 +0100 commit: Auto-backup: 2026-01-18 22:00 +9a69e0731cac232ad21873c332e9f31287cde8dc 88b2742518ddf99477cf819f0442a02b5431fc79 superschnups <114619791+superschnups@users.noreply.github.com> 1768866202 +0100 commit: Auto-backup: 2026-01-20 00:43 +88b2742518ddf99477cf819f0442a02b5431fc79 ac242806aae813c36639925c962934cf0d5d9dfe superschnups <114619791+superschnups@users.noreply.github.com> 1769118622 +0100 commit: Auto-backup: 2026-01-22 22:50 +ac242806aae813c36639925c962934cf0d5d9dfe a30119662e57564fbceb957cbb336b024d688703 superschnups <114619791+superschnups@users.noreply.github.com> 1769296965 +0100 commit: Auto-backup: 2026-01-25 00:22 +a30119662e57564fbceb957cbb336b024d688703 035b19f1c4cb34b40b6b78232c8d6b9c663d0a0e Sascha 1769374969 +0100 commit: Auto-backup: 2026-01-25 22:02 +035b19f1c4cb34b40b6b78232c8d6b9c663d0a0e 17dba2830bc1c1e41e786cc7ec21ca54c38c39da Sascha 1769375487 +0100 commit: Auto-backup: 2026-01-25 22:11 +17dba2830bc1c1e41e786cc7ec21ca54c38c39da 0f407fd971a4f12591558d9fafa6e645aabbbf2e Sascha 1769375558 +0100 commit: Auto-backup: 2026-01-25 22:12 +0f407fd971a4f12591558d9fafa6e645aabbbf2e 3e1ebdc24434b42d67de929610f2a6383d67c431 Sascha 1770063623 +0100 commit: Auto-backup: 2026-02-02 21:20 +3e1ebdc24434b42d67de929610f2a6383d67c431 49af7ddd8e4a932c7817e62f92b747f026d9e388 Sascha 1770242401 +0100 commit: Auto-backup: 2026-02-04 23:00 +49af7ddd8e4a932c7817e62f92b747f026d9e388 ef1bbf7a35ff26c7067c6711781c14127f0a906b Sascha 1771020039 +0100 commit: Auto-backup: 2026-02-13 23:00 +ef1bbf7a35ff26c7067c6711781c14127f0a906b 44de3f965f362a9b8645a7de9556df470362c4dd Sascha 1771024397 +0100 commit: update halt +44de3f965f362a9b8645a7de9556df470362c4dd 23fb10eefc71657a508fc5cb2eaaa25347bb48e9 Sascha 1771279202 +0100 commit: Auto-backup: 2026-02-16 23:00 +23fb10eefc71657a508fc5cb2eaaa25347bb48e9 142e2eb75799ec413ff72c6003c1e1be53ac6d39 Sascha 1771715224 +0100 commit (amend): Auto-backup: 2026-02-16 23:00 +142e2eb75799ec413ff72c6003c1e1be53ac6d39 af30d3374adceedcb4da52691504fd62ce19e334 Sascha 1771797600 +0100 commit: Auto-backup: 2026-02-22 23:00 +af30d3374adceedcb4da52691504fd62ce19e334 69de6fed7b89cd7974bb31047b646a7ec6280701 Sascha 1772056802 +0100 commit: Auto-backup: 2026-02-25 23:00 +69de6fed7b89cd7974bb31047b646a7ec6280701 9105721c8b3fdb8316d33c4212800073dc049306 Sascha 1772059256 +0100 commit: Auto-backup: 2026-02-25 23:40 +9105721c8b3fdb8316d33c4212800073dc049306 c0f2c57f901e64092e395c393ae2e22bbe6c2c19 Sascha 1772060274 +0100 commit: Auto-backup: 2026-02-25 23:57 +c0f2c57f901e64092e395c393ae2e22bbe6c2c19 f747cb711330511887b8fc42d228bcc663c24efd Sascha 1772060302 +0100 commit: Auto-backup: 2026-02-25 23:58 +f747cb711330511887b8fc42d228bcc663c24efd 2d86e55dc513c43af8aa7c6962adc8b3ef85507a Sascha 1772061195 +0100 commit: Auto-backup: 2026-02-26 00:13 +2d86e55dc513c43af8aa7c6962adc8b3ef85507a 26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff Sascha 1772061225 +0100 commit: Auto-backup: 2026-02-26 00:13 +26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff c424b3e52f4298fe65344295e62ea986aafcc959 Sascha 1772061272 +0100 commit: Auto-backup: 2026-02-26 00:14 +c424b3e52f4298fe65344295e62ea986aafcc959 76579c3bf027b59d074168f47accf54aa965cf8d Sascha 1772061286 +0100 commit: Auto-backup: 2026-02-26 00:14 +76579c3bf027b59d074168f47accf54aa965cf8d 153387c7fb5571f50c78ae502c1733b6ec49bc51 Sascha 1772061383 +0100 commit: Auto-backup: 2026-02-26 00:16 +153387c7fb5571f50c78ae502c1733b6ec49bc51 1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 Sascha 1772061573 +0100 commit: Auto-backup: 2026-02-26 00:19 +1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 a9d60660bdb3b56e01e2837bd69f240b955ed18b Sascha 1772061644 +0100 commit: Auto-backup: 2026-02-26 00:20 +a9d60660bdb3b56e01e2837bd69f240b955ed18b 3a269b68cc896251b79fc1db4f50f3aa24403076 Sascha 1772061707 +0100 commit: Auto-backup: 2026-02-26 00:21 +3a269b68cc896251b79fc1db4f50f3aa24403076 c25bff95b332ce7a46221578067cd8f78d2579cc Sascha 1772148674 +0100 commit: Auto-backup: 2026-02-27 00:31 +c25bff95b332ce7a46221578067cd8f78d2579cc 3e2b7944c35cd08eb4b655d02aa6d3c1e625b681 Sascha 1772229602 +0100 commit: Auto-backup: 2026-02-27 23:00 +3e2b7944c35cd08eb4b655d02aa6d3c1e625b681 14e0a5e755dcd635bf022abbcd477c77a65c2a58 Sascha 1772397944 +0100 commit: update halt +14e0a5e755dcd635bf022abbcd477c77a65c2a58 d302344e774f6434aa55c3a21a6a7323caf45871 Sascha 1772748003 +0100 commit: Auto-backup: 2026-03-05 23:00 +d302344e774f6434aa55c3a21a6a7323caf45871 983a6c83447d671c03e6aa410da6afa9993cdaeb Sascha 1772750873 +0100 commit: Auto-backup: 2026-03-05 23:47 +983a6c83447d671c03e6aa410da6afa9993cdaeb 2f0b79395fcccd0edfd49e790f89fe6403863ec4 Sascha 1772751087 +0100 commit: Auto-backup: 2026-03-05 23:51 +2f0b79395fcccd0edfd49e790f89fe6403863ec4 03dd86fa788f2aa81df0caf3f05d9527bf124708 Sascha 1772751677 +0100 commit: Auto-backup: 2026-03-06 00:01 +03dd86fa788f2aa81df0caf3f05d9527bf124708 97e2bd0e679d353a9bc035d09283ea233214e99c Sascha 1772834408 +0100 commit: Auto-backup: 2026-03-06 23:00 +97e2bd0e679d353a9bc035d09283ea233214e99c f6f3cee0812d7400a9eae0d33ab8bc2037b57d47 Sascha 1772920801 +0100 commit: Auto-backup: 2026-03-07 23:00 +f6f3cee0812d7400a9eae0d33ab8bc2037b57d47 249d970a90948ff7ef7c0b54260b8983527f231c Sascha 1773180000 +0100 commit: Auto-backup: 2026-03-10 23:00 +249d970a90948ff7ef7c0b54260b8983527f231c ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 Sascha 1773333437 +0100 commit: Lektion 1: Existenz-Prüfung abgeschlossen (Flux-Coding Workflow) +ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 e2d5f4feb38f5fc883059cc11eecd24c9bafb530 Sascha 1773439201 +0100 commit: Auto-backup: 2026-03-13 23:00 +e2d5f4feb38f5fc883059cc11eecd24c9bafb530 9cdec965cc7b49bfa63e00e6195b9ca309ff4e53 Sascha 1773698401 +0100 commit: Auto-backup: 2026-03-16 23:00 +9cdec965cc7b49bfa63e00e6195b9ca309ff4e53 c215075f34a7b3e82577dab8aa1192680f604b44 Sascha 1773784800 +0100 commit: Auto-backup: 2026-03-17 23:00 +c215075f34a7b3e82577dab8aa1192680f604b44 a88524451d19e25156cf0b79ae2f1b63b3ca9b99 Sascha 1773867789 +0100 commit: Auto-backup: 2026-03-18 22:03 +a88524451d19e25156cf0b79ae2f1b63b3ca9b99 96ebe4f634d95dcab882d8c16f8c760f782ae54e Sascha 1774389600 +0100 commit: Auto-backup: 2026-03-24 23:00 +96ebe4f634d95dcab882d8c16f8c760f782ae54e 3cd4a7cf1b715912338c31b86a941064ae8f3ada Sascha 1774476001 +0100 commit: Auto-backup: 2026-03-25 23:00 +3cd4a7cf1b715912338c31b86a941064ae8f3ada eb05d76857b1d0f806def15cfbd5a1c3aee05861 Sascha 1774562401 +0100 commit: Auto-backup: 2026-03-26 23:00 +eb05d76857b1d0f806def15cfbd5a1c3aee05861 0b44043bbab426fda0d9153b38232f2575480c52 Sascha 1774648801 +0100 commit: Auto-backup: 2026-03-27 23:00 +0b44043bbab426fda0d9153b38232f2575480c52 4a958bfd0c851abe432a9dc52ea1d029516d5dbc Sascha 1774735200 +0100 commit: Auto-backup: 2026-03-28 23:00 +4a958bfd0c851abe432a9dc52ea1d029516d5dbc c9f87a431e8f4048cbf51024f86a238596e532c0 Sascha 1774736087 +0100 commit: Auto-backup: 2026-03-28 23:14 +c9f87a431e8f4048cbf51024f86a238596e532c0 2d99b51d0522c08fb1267aad3c8269602e4a362a Sascha 1774818001 +0200 commit: Auto-backup: 2026-03-29 23:00 +2d99b51d0522c08fb1267aad3c8269602e4a362a 63b478c10a38d0cf00977ed4cea7637fc7f46fb2 Sascha 1775077201 +0200 commit: Auto-backup: 2026-04-01 23:00 +63b478c10a38d0cf00977ed4cea7637fc7f46fb2 216c0185a447bef25cd961d8cf8ec5a4b25d4212 bonzei 1775946959 +0200 commit: Auto-backup: 2026-04-12 00:35 +216c0185a447bef25cd961d8cf8ec5a4b25d4212 b097213e89da03d62d9d16191c49d20330c4f274 bonzei 1775947452 +0200 commit: Auto-backup: 2026-04-12 00:44 +b097213e89da03d62d9d16191c49d20330c4f274 ea527ee73ae181f9aeadd9d3ebb6e420285d0927 bonzei 1776282875 +0200 commit: Auto-backup: 2026-04-15 21:54 +ea527ee73ae181f9aeadd9d3ebb6e420285d0927 ba0c4c98b884f5cb062110ff820897d932ac9fdf bonzei 1776296421 +0200 commit: Auto-backup: 2026-04-16 01:40 +ba0c4c98b884f5cb062110ff820897d932ac9fdf 4610267d921b1cc3258710d4d752ce45a11355a6 bonzei 1776894449 +0200 commit: test +4610267d921b1cc3258710d4d752ce45a11355a6 f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 bonzei 1776894551 +0200 commit: origin +f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 49ed2e550ef671a3cb97f13ce7e442c00d922365 bonzei 1777661420 +0200 commit: 2026-05-01 +49ed2e550ef671a3cb97f13ce7e442c00d922365 4dff5dc7088a4ee9234760d9260217a64b200522 bonzei 1777708049 +0200 commit: last +4dff5dc7088a4ee9234760d9260217a64b200522 425c3e59d3623e886bfbf9b64a4a3863c83eabe8 bonzei 1777770275 +0200 commit: neue .zshrc +425c3e59d3623e886bfbf9b64a4a3863c83eabe8 ea3bd71d83d43471f59027d994c3e796264a2cc4 bonzei <114619791+superschnups@users.noreply.github.com> 1778546052 +0200 commit: fuck alles gelöscht +ea3bd71d83d43471f59027d994c3e796264a2cc4 647c8ed59c74815525ffaa2b7478521a5d872ab5 bonzei <114619791+superschnups@users.noreply.github.com> 1778877930 +0200 commit: ggg +647c8ed59c74815525ffaa2b7478521a5d872ab5 380bd85f0009b17e02091bd0c2747741c58cacbe bonzei <114619791+superschnups@users.noreply.github.com> 1779080348 +0200 commit: configFilesSammelbecken hinzugefügt +380bd85f0009b17e02091bd0c2747741c58cacbe e49a463cbcfbf085a08832f804c985fb55c2c9bb bonzei <114619791+superschnups@users.noreply.github.com> 1779315637 +0200 commit: script für shortcut manager hinzugefügt +e49a463cbcfbf085a08832f804c985fb55c2c9bb aad7143ac4a6a57a32b3975b1eb4e89df5a86241 bonzei <114619791+superschnups@users.noreply.github.com> 1779357013 +0200 commit: Auto-backup: 2026-05-21 11:50 +aad7143ac4a6a57a32b3975b1eb4e89df5a86241 fb66991bddc643cb3c5da7f74332c5e8450d92a7 bonzei <114619791+superschnups@users.noreply.github.com> 1779402780 +0200 commit: Auto-backup: 2026-05-22 00:33 +fb66991bddc643cb3c5da7f74332c5e8450d92a7 15f8a115b7c7f54daf96acc6de6185df7f833e54 bonzei <114619791+superschnups@users.noreply.github.com> 1779575581 +0200 commit: Auto-backup: 2026-05-24 00:33 +15f8a115b7c7f54daf96acc6de6185df7f833e54 88a9080d0cacb505e06f5663368333ffe871c68e bonzei <114619791+superschnups@users.noreply.github.com> 1779661981 +0200 commit: Auto-backup: 2026-05-25 00:33 +88a9080d0cacb505e06f5663368333ffe871c68e a27d33d68a2ac6d850a679bdd90adb18f8cff189 bonzei <114619791+superschnups@users.noreply.github.com> 1779921180 +0200 commit: Auto-backup: 2026-05-28 00:33 +a27d33d68a2ac6d850a679bdd90adb18f8cff189 ec7097b96282437312853ba39254d0e2f17b36ba bonzei <114619791+superschnups@users.noreply.github.com> 1780007581 +0200 commit: Auto-backup: 2026-05-29 00:33 +ec7097b96282437312853ba39254d0e2f17b36ba 0ff4e078bd0102f94c354fafd480832b8d8e77ad bonzei <114619791+superschnups@users.noreply.github.com> 1780093980 +0200 commit: Auto-backup: 2026-05-30 00:33 +0ff4e078bd0102f94c354fafd480832b8d8e77ad e075bccaa3c39f70eb84708c0b1ee2bc8450e46c bonzei <114619791+superschnups@users.noreply.github.com> 1780180380 +0200 commit: Auto-backup: 2026-05-31 00:33 +e075bccaa3c39f70eb84708c0b1ee2bc8450e46c 54c4d80c60fe5e759c754973d7f3c4d4c347819d bonzei <114619791+superschnups@users.noreply.github.com> 1780612381 +0200 commit: Auto-backup: 2026-06-05 00:33 diff --git a/.git.bak/logs/refs/heads/main (1) b/.git.bak/logs/refs/heads/main (1) new file mode 100644 index 0000000..c54116a --- /dev/null +++ b/.git.bak/logs/refs/heads/main (1) @@ -0,0 +1,59 @@ +41b62617210fe1b623c918d4971e425ce23e906a 9a69e0731cac232ad21873c332e9f31287cde8dc superschnups <114619791+superschnups@users.noreply.github.com> 1768770004 +0100 commit: Auto-backup: 2026-01-18 22:00 +9a69e0731cac232ad21873c332e9f31287cde8dc 88b2742518ddf99477cf819f0442a02b5431fc79 superschnups <114619791+superschnups@users.noreply.github.com> 1768866202 +0100 commit: Auto-backup: 2026-01-20 00:43 +88b2742518ddf99477cf819f0442a02b5431fc79 ac242806aae813c36639925c962934cf0d5d9dfe superschnups <114619791+superschnups@users.noreply.github.com> 1769118622 +0100 commit: Auto-backup: 2026-01-22 22:50 +ac242806aae813c36639925c962934cf0d5d9dfe a30119662e57564fbceb957cbb336b024d688703 superschnups <114619791+superschnups@users.noreply.github.com> 1769296965 +0100 commit: Auto-backup: 2026-01-25 00:22 +a30119662e57564fbceb957cbb336b024d688703 035b19f1c4cb34b40b6b78232c8d6b9c663d0a0e Sascha 1769374969 +0100 commit: Auto-backup: 2026-01-25 22:02 +035b19f1c4cb34b40b6b78232c8d6b9c663d0a0e 17dba2830bc1c1e41e786cc7ec21ca54c38c39da Sascha 1769375487 +0100 commit: Auto-backup: 2026-01-25 22:11 +17dba2830bc1c1e41e786cc7ec21ca54c38c39da 0f407fd971a4f12591558d9fafa6e645aabbbf2e Sascha 1769375558 +0100 commit: Auto-backup: 2026-01-25 22:12 +0f407fd971a4f12591558d9fafa6e645aabbbf2e 3e1ebdc24434b42d67de929610f2a6383d67c431 Sascha 1770063623 +0100 commit: Auto-backup: 2026-02-02 21:20 +3e1ebdc24434b42d67de929610f2a6383d67c431 49af7ddd8e4a932c7817e62f92b747f026d9e388 Sascha 1770242401 +0100 commit: Auto-backup: 2026-02-04 23:00 +49af7ddd8e4a932c7817e62f92b747f026d9e388 ef1bbf7a35ff26c7067c6711781c14127f0a906b Sascha 1771020039 +0100 commit: Auto-backup: 2026-02-13 23:00 +ef1bbf7a35ff26c7067c6711781c14127f0a906b 44de3f965f362a9b8645a7de9556df470362c4dd Sascha 1771024397 +0100 commit: update halt +44de3f965f362a9b8645a7de9556df470362c4dd 23fb10eefc71657a508fc5cb2eaaa25347bb48e9 Sascha 1771279202 +0100 commit: Auto-backup: 2026-02-16 23:00 +23fb10eefc71657a508fc5cb2eaaa25347bb48e9 142e2eb75799ec413ff72c6003c1e1be53ac6d39 Sascha 1771715224 +0100 commit (amend): Auto-backup: 2026-02-16 23:00 +142e2eb75799ec413ff72c6003c1e1be53ac6d39 af30d3374adceedcb4da52691504fd62ce19e334 Sascha 1771797600 +0100 commit: Auto-backup: 2026-02-22 23:00 +af30d3374adceedcb4da52691504fd62ce19e334 69de6fed7b89cd7974bb31047b646a7ec6280701 Sascha 1772056802 +0100 commit: Auto-backup: 2026-02-25 23:00 +69de6fed7b89cd7974bb31047b646a7ec6280701 9105721c8b3fdb8316d33c4212800073dc049306 Sascha 1772059256 +0100 commit: Auto-backup: 2026-02-25 23:40 +9105721c8b3fdb8316d33c4212800073dc049306 c0f2c57f901e64092e395c393ae2e22bbe6c2c19 Sascha 1772060274 +0100 commit: Auto-backup: 2026-02-25 23:57 +c0f2c57f901e64092e395c393ae2e22bbe6c2c19 f747cb711330511887b8fc42d228bcc663c24efd Sascha 1772060302 +0100 commit: Auto-backup: 2026-02-25 23:58 +f747cb711330511887b8fc42d228bcc663c24efd 2d86e55dc513c43af8aa7c6962adc8b3ef85507a Sascha 1772061195 +0100 commit: Auto-backup: 2026-02-26 00:13 +2d86e55dc513c43af8aa7c6962adc8b3ef85507a 26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff Sascha 1772061225 +0100 commit: Auto-backup: 2026-02-26 00:13 +26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff c424b3e52f4298fe65344295e62ea986aafcc959 Sascha 1772061272 +0100 commit: Auto-backup: 2026-02-26 00:14 +c424b3e52f4298fe65344295e62ea986aafcc959 76579c3bf027b59d074168f47accf54aa965cf8d Sascha 1772061286 +0100 commit: Auto-backup: 2026-02-26 00:14 +76579c3bf027b59d074168f47accf54aa965cf8d 153387c7fb5571f50c78ae502c1733b6ec49bc51 Sascha 1772061383 +0100 commit: Auto-backup: 2026-02-26 00:16 +153387c7fb5571f50c78ae502c1733b6ec49bc51 1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 Sascha 1772061573 +0100 commit: Auto-backup: 2026-02-26 00:19 +1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 a9d60660bdb3b56e01e2837bd69f240b955ed18b Sascha 1772061644 +0100 commit: Auto-backup: 2026-02-26 00:20 +a9d60660bdb3b56e01e2837bd69f240b955ed18b 3a269b68cc896251b79fc1db4f50f3aa24403076 Sascha 1772061707 +0100 commit: Auto-backup: 2026-02-26 00:21 +3a269b68cc896251b79fc1db4f50f3aa24403076 c25bff95b332ce7a46221578067cd8f78d2579cc Sascha 1772148674 +0100 commit: Auto-backup: 2026-02-27 00:31 +c25bff95b332ce7a46221578067cd8f78d2579cc 3e2b7944c35cd08eb4b655d02aa6d3c1e625b681 Sascha 1772229602 +0100 commit: Auto-backup: 2026-02-27 23:00 +3e2b7944c35cd08eb4b655d02aa6d3c1e625b681 14e0a5e755dcd635bf022abbcd477c77a65c2a58 Sascha 1772397944 +0100 commit: update halt +14e0a5e755dcd635bf022abbcd477c77a65c2a58 d302344e774f6434aa55c3a21a6a7323caf45871 Sascha 1772748003 +0100 commit: Auto-backup: 2026-03-05 23:00 +d302344e774f6434aa55c3a21a6a7323caf45871 983a6c83447d671c03e6aa410da6afa9993cdaeb Sascha 1772750873 +0100 commit: Auto-backup: 2026-03-05 23:47 +983a6c83447d671c03e6aa410da6afa9993cdaeb 2f0b79395fcccd0edfd49e790f89fe6403863ec4 Sascha 1772751087 +0100 commit: Auto-backup: 2026-03-05 23:51 +2f0b79395fcccd0edfd49e790f89fe6403863ec4 03dd86fa788f2aa81df0caf3f05d9527bf124708 Sascha 1772751677 +0100 commit: Auto-backup: 2026-03-06 00:01 +03dd86fa788f2aa81df0caf3f05d9527bf124708 97e2bd0e679d353a9bc035d09283ea233214e99c Sascha 1772834408 +0100 commit: Auto-backup: 2026-03-06 23:00 +97e2bd0e679d353a9bc035d09283ea233214e99c f6f3cee0812d7400a9eae0d33ab8bc2037b57d47 Sascha 1772920801 +0100 commit: Auto-backup: 2026-03-07 23:00 +f6f3cee0812d7400a9eae0d33ab8bc2037b57d47 249d970a90948ff7ef7c0b54260b8983527f231c Sascha 1773180000 +0100 commit: Auto-backup: 2026-03-10 23:00 +249d970a90948ff7ef7c0b54260b8983527f231c ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 Sascha 1773333437 +0100 commit: Lektion 1: Existenz-Prüfung abgeschlossen (Flux-Coding Workflow) +ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 e2d5f4feb38f5fc883059cc11eecd24c9bafb530 Sascha 1773439201 +0100 commit: Auto-backup: 2026-03-13 23:00 +e2d5f4feb38f5fc883059cc11eecd24c9bafb530 9cdec965cc7b49bfa63e00e6195b9ca309ff4e53 Sascha 1773698401 +0100 commit: Auto-backup: 2026-03-16 23:00 +9cdec965cc7b49bfa63e00e6195b9ca309ff4e53 c215075f34a7b3e82577dab8aa1192680f604b44 Sascha 1773784800 +0100 commit: Auto-backup: 2026-03-17 23:00 +c215075f34a7b3e82577dab8aa1192680f604b44 a88524451d19e25156cf0b79ae2f1b63b3ca9b99 Sascha 1773867789 +0100 commit: Auto-backup: 2026-03-18 22:03 +a88524451d19e25156cf0b79ae2f1b63b3ca9b99 96ebe4f634d95dcab882d8c16f8c760f782ae54e Sascha 1774389600 +0100 commit: Auto-backup: 2026-03-24 23:00 +96ebe4f634d95dcab882d8c16f8c760f782ae54e 3cd4a7cf1b715912338c31b86a941064ae8f3ada Sascha 1774476001 +0100 commit: Auto-backup: 2026-03-25 23:00 +3cd4a7cf1b715912338c31b86a941064ae8f3ada eb05d76857b1d0f806def15cfbd5a1c3aee05861 Sascha 1774562401 +0100 commit: Auto-backup: 2026-03-26 23:00 +eb05d76857b1d0f806def15cfbd5a1c3aee05861 0b44043bbab426fda0d9153b38232f2575480c52 Sascha 1774648801 +0100 commit: Auto-backup: 2026-03-27 23:00 +0b44043bbab426fda0d9153b38232f2575480c52 4a958bfd0c851abe432a9dc52ea1d029516d5dbc Sascha 1774735200 +0100 commit: Auto-backup: 2026-03-28 23:00 +4a958bfd0c851abe432a9dc52ea1d029516d5dbc c9f87a431e8f4048cbf51024f86a238596e532c0 Sascha 1774736087 +0100 commit: Auto-backup: 2026-03-28 23:14 +c9f87a431e8f4048cbf51024f86a238596e532c0 2d99b51d0522c08fb1267aad3c8269602e4a362a Sascha 1774818001 +0200 commit: Auto-backup: 2026-03-29 23:00 +2d99b51d0522c08fb1267aad3c8269602e4a362a 63b478c10a38d0cf00977ed4cea7637fc7f46fb2 Sascha 1775077201 +0200 commit: Auto-backup: 2026-04-01 23:00 +63b478c10a38d0cf00977ed4cea7637fc7f46fb2 216c0185a447bef25cd961d8cf8ec5a4b25d4212 bonzei 1775946959 +0200 commit: Auto-backup: 2026-04-12 00:35 +216c0185a447bef25cd961d8cf8ec5a4b25d4212 b097213e89da03d62d9d16191c49d20330c4f274 bonzei 1775947452 +0200 commit: Auto-backup: 2026-04-12 00:44 +b097213e89da03d62d9d16191c49d20330c4f274 ea527ee73ae181f9aeadd9d3ebb6e420285d0927 bonzei 1776282875 +0200 commit: Auto-backup: 2026-04-15 21:54 +ea527ee73ae181f9aeadd9d3ebb6e420285d0927 ba0c4c98b884f5cb062110ff820897d932ac9fdf bonzei 1776296421 +0200 commit: Auto-backup: 2026-04-16 01:40 +ba0c4c98b884f5cb062110ff820897d932ac9fdf 4610267d921b1cc3258710d4d752ce45a11355a6 bonzei 1776894449 +0200 commit: test +4610267d921b1cc3258710d4d752ce45a11355a6 f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 bonzei 1776894551 +0200 commit: origin +f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 49ed2e550ef671a3cb97f13ce7e442c00d922365 bonzei 1777661420 +0200 commit: 2026-05-01 +49ed2e550ef671a3cb97f13ce7e442c00d922365 4dff5dc7088a4ee9234760d9260217a64b200522 bonzei 1777708049 +0200 commit: last +4dff5dc7088a4ee9234760d9260217a64b200522 425c3e59d3623e886bfbf9b64a4a3863c83eabe8 bonzei 1777770275 +0200 commit: neue .zshrc +425c3e59d3623e886bfbf9b64a4a3863c83eabe8 ea3bd71d83d43471f59027d994c3e796264a2cc4 bonzei <114619791+superschnups@users.noreply.github.com> 1778546052 +0200 commit: fuck alles gelöscht diff --git a/.git.bak/logs/refs/heads/main_conflict_20260605_180756_bMxkotOqsA b/.git.bak/logs/refs/heads/main_conflict_20260605_180756_bMxkotOqsA new file mode 100644 index 0000000..730dfd1 --- /dev/null +++ b/.git.bak/logs/refs/heads/main_conflict_20260605_180756_bMxkotOqsA @@ -0,0 +1,28 @@ +0000000000000000000000000000000000000000 3f6417175e84de36f91fdbea99ef5bd0e58f51e5 bonzei 1775944009 +0200 commit (initial): first commit +3f6417175e84de36f91fdbea99ef5bd0e58f51e5 3f6417175e84de36f91fdbea99ef5bd0e58f51e5 bonzei 1775944009 +0200 Branch: renamed refs/heads/main to refs/heads/main +3f6417175e84de36f91fdbea99ef5bd0e58f51e5 ddbe56763d606e4c39f9897f8d866a50b4548d5f bonzei 1775944114 +0200 commit: first commit +ddbe56763d606e4c39f9897f8d866a50b4548d5f 9899b947a8ef3078a526dc76330fed7998aff87a bonzei 1775946960 +0200 commit: Auto-backup: 2026-04-12 00:36 +9899b947a8ef3078a526dc76330fed7998aff87a ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b bonzei 1775950397 +0200 commit: Add Hugo restart script and static files +ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b eaddeb16be67205315dd8db7145e9b7a84f8bde9 bonzei 1776036267 +0200 commit: meine erfolge +eaddeb16be67205315dd8db7145e9b7a84f8bde9 fbbf85bfd731601e0c8bb86fd36a030d7ac0d6ce bonzei 1776282877 +0200 commit: Auto-backup: 2026-04-15 21:54 +fbbf85bfd731601e0c8bb86fd36a030d7ac0d6ce 4558a1638b23fe782becee1e496f1c3b3502c849 bonzei 1776288079 +0200 commit: tets +4558a1638b23fe782becee1e496f1c3b3502c849 b8e4f6c20b80bdab05cb47d0ffcf268ac01ae258 bonzei 1776894621 +0200 commit: origin +b8e4f6c20b80bdab05cb47d0ffcf268ac01ae258 0a6e506b02fade37e6eb512bd4aa1da72896f548 bonzei 1776894714 +0200 commit: 2026-04-22 +0a6e506b02fade37e6eb512bd4aa1da72896f548 52f7e61f472216b16d003e544fcbce8eeffaba7e bonzei 1776894832 +0200 commit: 2026-04-22 +52f7e61f472216b16d003e544fcbce8eeffaba7e dd5065a98c96e5b663ae2042bbeb89b04b4e616d bonzei 1777398908 +0200 commit: Auto-backup: 2026-04-28 19:55 +dd5065a98c96e5b663ae2042bbeb89b04b4e616d 875350d7b1a39d148ada93ef2877b274d510cfd5 bonzei 1777662004 +0200 commit: Auto-backup: 2026-05-01 21:00 +875350d7b1a39d148ada93ef2877b274d510cfd5 d5ccc01499d2357a97d4a649f909abe9c3da0e65 bonzei <114619791+superschnups@users.noreply.github.com> 1778278140 +0200 commit: ha +d5ccc01499d2357a97d4a649f909abe9c3da0e65 c9783ea5585bf33ce28cf408409e970ab332e8a0 bonzei <114619791+superschnups@users.noreply.github.com> 1778278322 +0200 commit: neu +c9783ea5585bf33ce28cf408409e970ab332e8a0 e58692de19858c5c031415ba80c510ddb3eafd2b bonzei <114619791+superschnups@users.noreply.github.com> 1778278356 +0200 commit: oksoisses +e58692de19858c5c031415ba80c510ddb3eafd2b b9c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 bonzei <114619791+superschnups@users.noreply.github.com> 1778545051 +0200 commit: Auto-backup: 2026-05-12 02:17 +b9c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 d0db7805a962fb6ad09c4d419e3efbf77b49c744 bonzei <114619791+superschnups@users.noreply.github.com> 1779357116 +0200 commit: Auto-backup: 2026-05-21 11:51 +d0db7805a962fb6ad09c4d419e3efbf77b49c744 4ce5539bcfb60024c0e01cac818fda169b20924e bonzei <114619791+superschnups@users.noreply.github.com> 1779402781 +0200 commit: Auto-backup: 2026-05-22 00:33 +4ce5539bcfb60024c0e01cac818fda169b20924e 8b48cb742bc6ebbfa54fe9c40cf555f26d4e3f1f bonzei <114619791+superschnups@users.noreply.github.com> 1779489182 +0200 commit: Auto-backup: 2026-05-23 00:33 +8b48cb742bc6ebbfa54fe9c40cf555f26d4e3f1f ee9b8bf94722cb2594698f7217e537c60b4fa1b4 bonzei <114619791+superschnups@users.noreply.github.com> 1779661982 +0200 commit: Auto-backup: 2026-05-25 00:33 +ee9b8bf94722cb2594698f7217e537c60b4fa1b4 35345e6fcda387dc8f52c3990d592806041ab6e6 bonzei <114619791+superschnups@users.noreply.github.com> 1779748381 +0200 commit: Auto-backup: 2026-05-26 00:33 +35345e6fcda387dc8f52c3990d592806041ab6e6 f2a3507eea31b0f8168b47877e1d08abc092767c bonzei <114619791+superschnups@users.noreply.github.com> 1779921182 +0200 commit: Auto-backup: 2026-05-28 00:33 +f2a3507eea31b0f8168b47877e1d08abc092767c ad2ecd4bf7da56b32f6ccb58508c5ddf94493b6d bonzei <114619791+superschnups@users.noreply.github.com> 1780007583 +0200 commit: Auto-backup: 2026-05-29 00:33 +ad2ecd4bf7da56b32f6ccb58508c5ddf94493b6d 57876b6a74dee6a139999beb5feda4a4353214ec bonzei <114619791+superschnups@users.noreply.github.com> 1780093982 +0200 commit: Auto-backup: 2026-05-30 00:33 +57876b6a74dee6a139999beb5feda4a4353214ec ba2c3fdf86862d7e34570dcfebf972a63685cc09 bonzei <114619791+superschnups@users.noreply.github.com> 1780180398 +0200 commit: Auto-backup: 2026-05-31 00:33 +ba2c3fdf86862d7e34570dcfebf972a63685cc09 63fa92d15e838d5c88f0f55ae4f09d9da7e3aa1b bonzei <114619791+superschnups@users.noreply.github.com> 1780266782 +0200 commit: Auto-backup: 2026-06-01 00:33 +63fa92d15e838d5c88f0f55ae4f09d9da7e3aa1b 4428df4df4ee97153a72f4e1b8f62f5a95a45dc7 bonzei <114619791+superschnups@users.noreply.github.com> 1780612382 +0200 commit: Auto-backup: 2026-06-05 00:33 diff --git a/.git.bak/logs/refs/remotes/origin/HEAD b/.git.bak/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..a12c630 --- /dev/null +++ b/.git.bak/logs/refs/remotes/origin/HEAD @@ -0,0 +1,24 @@ +49af7ddd8e4a932c7817e62f92b747f026d9e388 49af7ddd8e4a932c7817e62f92b747f026d9e388 Sascha 1770504827 +0100 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1775950745 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1775952672 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1775954600 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1775956528 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1775992654 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1775994708 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1775996807 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1775998722 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776002001 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776003917 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776008979 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776013643 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776015600 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776017515 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776019430 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776021345 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776023671 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776025586 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776027501 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776029416 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776031332 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776033398 +0200 remote set-head +b097213e89da03d62d9d16191c49d20330c4f274 b097213e89da03d62d9d16191c49d20330c4f274 jessi 1776035313 +0200 remote set-head diff --git a/.git.bak/logs/refs/remotes/origin/HEAD_conflict_20260605_180756_5P8ypHkkTp b/.git.bak/logs/refs/remotes/origin/HEAD_conflict_20260605_180756_5P8ypHkkTp new file mode 100644 index 0000000..17ddb28 --- /dev/null +++ b/.git.bak/logs/refs/remotes/origin/HEAD_conflict_20260605_180756_5P8ypHkkTp @@ -0,0 +1,8 @@ +0000000000000000000000000000000000000000 ddbe56763d606e4c39f9897f8d866a50b4548d5f bonzei 1775946615 +0200 fetch +ddbe56763d606e4c39f9897f8d866a50b4548d5f ddbe56763d606e4c39f9897f8d866a50b4548d5f jessi 1775946615 +0200 remote set-head +9899b947a8ef3078a526dc76330fed7998aff87a 9899b947a8ef3078a526dc76330fed7998aff87a jessi 1775948543 +0200 remote set-head +ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b jessi 1775950400 +0200 remote set-head +ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b jessi 1776036225 +0200 remote set-head +eaddeb16be67205315dd8db7145e9b7a84f8bde9 eaddeb16be67205315dd8db7145e9b7a84f8bde9 jessi 1776036307 +0200 remote set-head +eaddeb16be67205315dd8db7145e9b7a84f8bde9 eaddeb16be67205315dd8db7145e9b7a84f8bde9 jessi 1776038357 +0200 remote set-head +eaddeb16be67205315dd8db7145e9b7a84f8bde9 eaddeb16be67205315dd8db7145e9b7a84f8bde9 jessi 1776040273 +0200 remote set-head diff --git a/.git.bak/logs/refs/remotes/origin/main b/.git.bak/logs/refs/remotes/origin/main new file mode 100644 index 0000000..da1f074 --- /dev/null +++ b/.git.bak/logs/refs/remotes/origin/main @@ -0,0 +1,42 @@ +807c61ddb33d7473eff57dbb20d05ef2cf211edc 88b2742518ddf99477cf819f0442a02b5431fc79 superschnups <114619791+superschnups@users.noreply.github.com> 1768866202 +0100 update by push +88b2742518ddf99477cf819f0442a02b5431fc79 ac242806aae813c36639925c962934cf0d5d9dfe superschnups <114619791+superschnups@users.noreply.github.com> 1769118623 +0100 update by push +ac242806aae813c36639925c962934cf0d5d9dfe a30119662e57564fbceb957cbb336b024d688703 superschnups <114619791+superschnups@users.noreply.github.com> 1769296966 +0100 update by push +a30119662e57564fbceb957cbb336b024d688703 17dba2830bc1c1e41e786cc7ec21ca54c38c39da Sascha 1769375488 +0100 update by push +17dba2830bc1c1e41e786cc7ec21ca54c38c39da 0f407fd971a4f12591558d9fafa6e645aabbbf2e Sascha 1769375558 +0100 update by push +0f407fd971a4f12591558d9fafa6e645aabbbf2e 3e1ebdc24434b42d67de929610f2a6383d67c431 Sascha 1770063624 +0100 update by push +3e1ebdc24434b42d67de929610f2a6383d67c431 49af7ddd8e4a932c7817e62f92b747f026d9e388 Sascha 1770419696 +0100 update by push +49af7ddd8e4a932c7817e62f92b747f026d9e388 44de3f965f362a9b8645a7de9556df470362c4dd Sascha 1771024419 +0100 update by push +44de3f965f362a9b8645a7de9556df470362c4dd 142e2eb75799ec413ff72c6003c1e1be53ac6d39 Sascha 1771715267 +0100 update by push +142e2eb75799ec413ff72c6003c1e1be53ac6d39 9105721c8b3fdb8316d33c4212800073dc049306 Sascha 1772059258 +0100 update by push +9105721c8b3fdb8316d33c4212800073dc049306 c0f2c57f901e64092e395c393ae2e22bbe6c2c19 Sascha 1772060276 +0100 update by push +c0f2c57f901e64092e395c393ae2e22bbe6c2c19 f747cb711330511887b8fc42d228bcc663c24efd Sascha 1772060303 +0100 update by push +f747cb711330511887b8fc42d228bcc663c24efd 2d86e55dc513c43af8aa7c6962adc8b3ef85507a Sascha 1772061197 +0100 update by push +2d86e55dc513c43af8aa7c6962adc8b3ef85507a 26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff Sascha 1772061226 +0100 update by push +26a80d21d31cd0ce2a7c1ae83d95d5a9e5c7a9ff c424b3e52f4298fe65344295e62ea986aafcc959 Sascha 1772061273 +0100 update by push +c424b3e52f4298fe65344295e62ea986aafcc959 76579c3bf027b59d074168f47accf54aa965cf8d Sascha 1772061287 +0100 update by push +76579c3bf027b59d074168f47accf54aa965cf8d 153387c7fb5571f50c78ae502c1733b6ec49bc51 Sascha 1772061384 +0100 update by push +153387c7fb5571f50c78ae502c1733b6ec49bc51 1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 Sascha 1772061575 +0100 update by push +1ae2e3eca333103d36dea70cbdff0e78b65eb6e8 a9d60660bdb3b56e01e2837bd69f240b955ed18b Sascha 1772061645 +0100 update by push +a9d60660bdb3b56e01e2837bd69f240b955ed18b 3a269b68cc896251b79fc1db4f50f3aa24403076 Sascha 1772061708 +0100 update by push +3a269b68cc896251b79fc1db4f50f3aa24403076 c25bff95b332ce7a46221578067cd8f78d2579cc Sascha 1772148675 +0100 update by push +c25bff95b332ce7a46221578067cd8f78d2579cc 14e0a5e755dcd635bf022abbcd477c77a65c2a58 Sascha 1772397959 +0100 update by push +14e0a5e755dcd635bf022abbcd477c77a65c2a58 983a6c83447d671c03e6aa410da6afa9993cdaeb Sascha 1772750873 +0100 update by push +983a6c83447d671c03e6aa410da6afa9993cdaeb 2f0b79395fcccd0edfd49e790f89fe6403863ec4 Sascha 1772751088 +0100 update by push +2f0b79395fcccd0edfd49e790f89fe6403863ec4 03dd86fa788f2aa81df0caf3f05d9527bf124708 Sascha 1772751678 +0100 update by push +03dd86fa788f2aa81df0caf3f05d9527bf124708 ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 Sascha 1773333461 +0100 update by push +ba73f6d2a884ba9a6971e8b358ed1a928c7943f7 e2d5f4feb38f5fc883059cc11eecd24c9bafb530 Sascha 1773451140 +0100 update by push +e2d5f4feb38f5fc883059cc11eecd24c9bafb530 a88524451d19e25156cf0b79ae2f1b63b3ca9b99 Sascha 1773867790 +0100 update by push +a88524451d19e25156cf0b79ae2f1b63b3ca9b99 c9f87a431e8f4048cbf51024f86a238596e532c0 Sascha 1774736088 +0100 update by push +c9f87a431e8f4048cbf51024f86a238596e532c0 216c0185a447bef25cd961d8cf8ec5a4b25d4212 bonzei 1775946960 +0200 update by push +216c0185a447bef25cd961d8cf8ec5a4b25d4212 b097213e89da03d62d9d16191c49d20330c4f274 bonzei 1775947453 +0200 update by push +b097213e89da03d62d9d16191c49d20330c4f274 ea527ee73ae181f9aeadd9d3ebb6e420285d0927 bonzei 1776282875 +0200 update by push +ea527ee73ae181f9aeadd9d3ebb6e420285d0927 ba0c4c98b884f5cb062110ff820897d932ac9fdf bonzei 1776296422 +0200 update by push +ba0c4c98b884f5cb062110ff820897d932ac9fdf f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 bonzei 1776894552 +0200 update by push +f566d6af8ecc90ab61c62ff0551b2030fdcc0d83 49ed2e550ef671a3cb97f13ce7e442c00d922365 bonzei 1777661838 +0200 update by push +49ed2e550ef671a3cb97f13ce7e442c00d922365 4dff5dc7088a4ee9234760d9260217a64b200522 bonzei 1777708066 +0200 update by push +4dff5dc7088a4ee9234760d9260217a64b200522 425c3e59d3623e886bfbf9b64a4a3863c83eabe8 bonzei 1777770289 +0200 update by push +425c3e59d3623e886bfbf9b64a4a3863c83eabe8 f47c97870063e13c10e35b37ec98c6456830caf3 bonzei <114619791+superschnups@users.noreply.github.com> 1778546217 +0200 pull: fast-forward +f47c97870063e13c10e35b37ec98c6456830caf3 647c8ed59c74815525ffaa2b7478521a5d872ab5 bonzei <114619791+superschnups@users.noreply.github.com> 1778877984 +0200 update by push +647c8ed59c74815525ffaa2b7478521a5d872ab5 380bd85f0009b17e02091bd0c2747741c58cacbe bonzei <114619791+superschnups@users.noreply.github.com> 1779080357 +0200 update by push +380bd85f0009b17e02091bd0c2747741c58cacbe e49a463cbcfbf085a08832f804c985fb55c2c9bb bonzei <114619791+superschnups@users.noreply.github.com> 1779315646 +0200 update by push +e49a463cbcfbf085a08832f804c985fb55c2c9bb aad7143ac4a6a57a32b3975b1eb4e89df5a86241 bonzei <114619791+superschnups@users.noreply.github.com> 1779357014 +0200 update by push diff --git a/.git.bak/logs/refs/remotes/origin/main_conflict_20260605_180756_vBnKcEwASD b/.git.bak/logs/refs/remotes/origin/main_conflict_20260605_180756_vBnKcEwASD new file mode 100644 index 0000000..2ea23ba --- /dev/null +++ b/.git.bak/logs/refs/remotes/origin/main_conflict_20260605_180756_vBnKcEwASD @@ -0,0 +1,15 @@ +0000000000000000000000000000000000000000 3f6417175e84de36f91fdbea99ef5bd0e58f51e5 bonzei 1775944010 +0200 update by push +3f6417175e84de36f91fdbea99ef5bd0e58f51e5 ddbe56763d606e4c39f9897f8d866a50b4548d5f bonzei 1775944128 +0200 update by push +ddbe56763d606e4c39f9897f8d866a50b4548d5f 9899b947a8ef3078a526dc76330fed7998aff87a bonzei 1775946961 +0200 update by push +9899b947a8ef3078a526dc76330fed7998aff87a ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b bonzei 1775950400 +0200 update by push +ad8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b eaddeb16be67205315dd8db7145e9b7a84f8bde9 bonzei 1776036306 +0200 update by push +eaddeb16be67205315dd8db7145e9b7a84f8bde9 fbbf85bfd731601e0c8bb86fd36a030d7ac0d6ce bonzei 1776282878 +0200 update by push +fbbf85bfd731601e0c8bb86fd36a030d7ac0d6ce 4558a1638b23fe782becee1e496f1c3b3502c849 bonzei 1776288080 +0200 update by push +4558a1638b23fe782becee1e496f1c3b3502c849 b8e4f6c20b80bdab05cb47d0ffcf268ac01ae258 bonzei 1776894623 +0200 update by push +b8e4f6c20b80bdab05cb47d0ffcf268ac01ae258 52f7e61f472216b16d003e544fcbce8eeffaba7e bonzei 1776894833 +0200 update by push +52f7e61f472216b16d003e544fcbce8eeffaba7e dd5065a98c96e5b663ae2042bbeb89b04b4e616d bonzei 1777398909 +0200 update by push +dd5065a98c96e5b663ae2042bbeb89b04b4e616d 875350d7b1a39d148ada93ef2877b274d510cfd5 bonzei 1777662005 +0200 update by push +875350d7b1a39d148ada93ef2877b274d510cfd5 d5ccc01499d2357a97d4a649f909abe9c3da0e65 bonzei <114619791+superschnups@users.noreply.github.com> 1778278166 +0200 update by push +d5ccc01499d2357a97d4a649f909abe9c3da0e65 e58692de19858c5c031415ba80c510ddb3eafd2b bonzei <114619791+superschnups@users.noreply.github.com> 1778278417 +0200 update by push +e58692de19858c5c031415ba80c510ddb3eafd2b b9c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 bonzei <114619791+superschnups@users.noreply.github.com> 1778545057 +0200 update by push +b9c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 d0db7805a962fb6ad09c4d419e3efbf77b49c744 bonzei <114619791+superschnups@users.noreply.github.com> 1779357117 +0200 update by push diff --git a/.git.bak/objects/00/11e9d65fcaefeaccd7c79a0357e8f2214695ed b/.git.bak/objects/00/11e9d65fcaefeaccd7c79a0357e8f2214695ed new file mode 100644 index 0000000..82bd584 --- /dev/null +++ b/.git.bak/objects/00/11e9d65fcaefeaccd7c79a0357e8f2214695ed @@ -0,0 +1 @@ +x}=o0;WBZѡ*j'\gU} ff +xzݍ =BHαXBlIK46QSlN8=6A~ V(ءk6u/N3?p}Eù7.*HUqֵZS(e!3]ѠqܶRSYZ^IXIpKqj8ІSYT;aHNvΫ+{S dm_OKFG __>S$9 3!8}hf~ndža^eÔ(\Gqt{x6#/WoxQ5y]r22l}v? d=ng5^ΨQ%6 ` @tptS Eٶp*:z?6Ƶc)w(ZxV \ No newline at end of file diff --git a/.git.bak/objects/05/f03d7bc798a9f4648e3eb561c688ad24bd7805 b/.git.bak/objects/05/f03d7bc798a9f4648e3eb561c688ad24bd7805 new file mode 100644 index 0000000..4a31301 Binary files /dev/null and b/.git.bak/objects/05/f03d7bc798a9f4648e3eb561c688ad24bd7805 differ diff --git a/.git.bak/objects/06/0f40dc4d392b3a17613dddc5c15f3699467121 b/.git.bak/objects/06/0f40dc4d392b3a17613dddc5c15f3699467121 new file mode 100644 index 0000000..bb72e09 Binary files /dev/null and b/.git.bak/objects/06/0f40dc4d392b3a17613dddc5c15f3699467121 differ diff --git a/.git.bak/objects/06/166077be4d1f620d89b9eb33c76d89e75857da b/.git.bak/objects/06/166077be4d1f620d89b9eb33c76d89e75857da new file mode 100644 index 0000000..7c5f401 Binary files /dev/null and b/.git.bak/objects/06/166077be4d1f620d89b9eb33c76d89e75857da differ diff --git a/.git.bak/objects/06/26b058c81782508c463e034f63524d528186b8 b/.git.bak/objects/06/26b058c81782508c463e034f63524d528186b8 new file mode 100644 index 0000000..49e9108 Binary files /dev/null and b/.git.bak/objects/06/26b058c81782508c463e034f63524d528186b8 differ diff --git a/.git.bak/objects/06/69b970b1e2362f8a2133e818e5fcb281eb60f3 b/.git.bak/objects/06/69b970b1e2362f8a2133e818e5fcb281eb60f3 new file mode 100644 index 0000000..366210c Binary files /dev/null and b/.git.bak/objects/06/69b970b1e2362f8a2133e818e5fcb281eb60f3 differ diff --git a/.git.bak/objects/06/6d83036195c9433b9c19885ce892ab1f9f2fd1 b/.git.bak/objects/06/6d83036195c9433b9c19885ce892ab1f9f2fd1 new file mode 100644 index 0000000..8030a78 Binary files /dev/null and b/.git.bak/objects/06/6d83036195c9433b9c19885ce892ab1f9f2fd1 differ diff --git a/.git.bak/objects/06/7627354b768e180e286f8c2efdb0c35a188e52 b/.git.bak/objects/06/7627354b768e180e286f8c2efdb0c35a188e52 new file mode 100644 index 0000000..e34f9c5 Binary files /dev/null and b/.git.bak/objects/06/7627354b768e180e286f8c2efdb0c35a188e52 differ diff --git a/.git.bak/objects/06/b9296804c5587a8f619c9e1abb28eec69b3de3 b/.git.bak/objects/06/b9296804c5587a8f619c9e1abb28eec69b3de3 new file mode 100644 index 0000000..62387f2 Binary files /dev/null and b/.git.bak/objects/06/b9296804c5587a8f619c9e1abb28eec69b3de3 differ diff --git a/.git.bak/objects/06/bd1ddeade193cbe81402a204b0e4aacebd0d9a b/.git.bak/objects/06/bd1ddeade193cbe81402a204b0e4aacebd0d9a new file mode 100644 index 0000000..5ec75ab --- /dev/null +++ b/.git.bak/objects/06/bd1ddeade193cbe81402a204b0e4aacebd0d9a @@ -0,0 +1,2 @@ +xMKO1 {_avR+qHAJFđ®P;yPxHgX6@8eQ@XEw"C.+le[iAW*SqҺR@>#P'qd&>#ڼOKDDr^KRā8{By龲84YK֬Gy+Oq +[M1b9 b_rZmy6?'c \ No newline at end of file diff --git a/.git.bak/objects/07/51cb10e94972be9a07b44cc261447bac726a7f b/.git.bak/objects/07/51cb10e94972be9a07b44cc261447bac726a7f new file mode 100644 index 0000000..8938bec --- /dev/null +++ b/.git.bak/objects/07/51cb10e94972be9a07b44cc261447bac726a7f @@ -0,0 +1,2 @@ +xeSn8g~ż%lcb(Ht]2(u-hTi'E[@@̹ԎܪAÚ+(M'řර_;5ah&#|{}`c<]F`#}k NkuB3YjИ H:CxnmgăvIO `F6 ׉Df3!<09>8E qhNS>*=::38['[2cpδsN/ӢOqu'?ԥd! _#Jσ=#:nBJ #Kt"JT~hRN~B~l@)$k jo5oz\%_m#A]-ՎJpCk}KD\"( ےJl妪+XJdak&=}+ZnQLji`UGc.TbOu]ӧNBejۭXB>Ox%b&y%cFT%,*yY +c83qN J:&oMi)- #RzK \ No newline at end of file diff --git a/.git.bak/objects/07/ab7497d60878d6cc693479392f831287eee8ba b/.git.bak/objects/07/ab7497d60878d6cc693479392f831287eee8ba new file mode 100644 index 0000000..da15688 Binary files /dev/null and b/.git.bak/objects/07/ab7497d60878d6cc693479392f831287eee8ba differ diff --git a/.git.bak/objects/07/f44cf611bb4814c7ca0dce292b97e69c20bb03 b/.git.bak/objects/07/f44cf611bb4814c7ca0dce292b97e69c20bb03 new file mode 100644 index 0000000..9da6d69 Binary files /dev/null and b/.git.bak/objects/07/f44cf611bb4814c7ca0dce292b97e69c20bb03 differ diff --git a/.git.bak/objects/07/f7295ee780fbfb881b953e92f79e49fe00f08c b/.git.bak/objects/07/f7295ee780fbfb881b953e92f79e49fe00f08c new file mode 100644 index 0000000..73fd16d Binary files /dev/null and b/.git.bak/objects/07/f7295ee780fbfb881b953e92f79e49fe00f08c differ diff --git a/.git.bak/objects/08/0dac371e6d8ba952c0c9a6f668e7195d77091e b/.git.bak/objects/08/0dac371e6d8ba952c0c9a6f668e7195d77091e new file mode 100644 index 0000000..c27b7fe --- /dev/null +++ b/.git.bak/objects/08/0dac371e6d8ba952c0c9a6f668e7195d77091e @@ -0,0 +1,2 @@ +xUA 0 =WS7!(xEked&7eT5VzYbjX.L 0iCpl +Kx1ΈXLIx׶_u-wH2&@o}׉Fp?P c I%SʔVF1V7Mv OX \ No newline at end of file diff --git a/.git.bak/objects/08/138a01af51a4a573b6bf6e3e922ee96bbaf856 b/.git.bak/objects/08/138a01af51a4a573b6bf6e3e922ee96bbaf856 new file mode 100644 index 0000000..bec3b47 Binary files /dev/null and b/.git.bak/objects/08/138a01af51a4a573b6bf6e3e922ee96bbaf856 differ diff --git a/.git.bak/objects/08/23d3eb88f121b93b1de4a4685ba58684a288e1 b/.git.bak/objects/08/23d3eb88f121b93b1de4a4685ba58684a288e1 new file mode 100644 index 0000000..f7a58a3 Binary files /dev/null and b/.git.bak/objects/08/23d3eb88f121b93b1de4a4685ba58684a288e1 differ diff --git a/.git.bak/objects/08/586d23386e3b925ea1499b275c115853865bbf b/.git.bak/objects/08/586d23386e3b925ea1499b275c115853865bbf new file mode 100644 index 0000000..8988885 --- /dev/null +++ b/.git.bak/objects/08/586d23386e3b925ea1499b275c115853865bbf @@ -0,0 +1,3 @@ +xTmk0 +OJ4 m)el+1 +|œf$۩I[7Iws)&'tvD3ɂ$!.y p܊ mW`p=hobV 1簺I_5`?1QjʳeA?RH_xt>|P Ց{f}"s2_^:\8B] + 9ffVVxc  'B돒۪@U𭨚Nf[Wҭ ,n 5V#K$ Nx=:} e +?'%א\M&(FVK!p#@׵qvW4+P:ol~HfWnWR)+M}BF{E :EgfucW(enPXjwԣd E' uYg7j`A Х:)UYNI'4UJZ4lrtРSyvGfeRoRlmKh3=Ij*)r:)+}HOX|7F՞,st6plc=']Jnm1_?Z٧lP6{v>f+Qi#b7,}y=TIeɗ^F5 PҹRѣ\ +ڱ0QY׽#=-e޵*fxL:wlWֹ8ikQ"g\62zWH \ No newline at end of file diff --git a/.git.bak/objects/13/0752046714d686d4b76ce039375d75293d74c5 b/.git.bak/objects/13/0752046714d686d4b76ce039375d75293d74c5 new file mode 100644 index 0000000..9bf2b28 Binary files /dev/null and b/.git.bak/objects/13/0752046714d686d4b76ce039375d75293d74c5 differ diff --git a/.git.bak/objects/13/33ed10bab28344b55c217d80ce4f6cc2555793 b/.git.bak/objects/13/33ed10bab28344b55c217d80ce4f6cc2555793 new file mode 100644 index 0000000..b80956d Binary files /dev/null and b/.git.bak/objects/13/33ed10bab28344b55c217d80ce4f6cc2555793 differ diff --git a/.git.bak/objects/13/59a7f50dd2ec0d569fee6650dfd08776dbdab7 b/.git.bak/objects/13/59a7f50dd2ec0d569fee6650dfd08776dbdab7 new file mode 100644 index 0000000..7057798 Binary files /dev/null and b/.git.bak/objects/13/59a7f50dd2ec0d569fee6650dfd08776dbdab7 differ diff --git a/.git.bak/objects/13/786948d3dffe7c6ea269b6f003aac770f30e80 b/.git.bak/objects/13/786948d3dffe7c6ea269b6f003aac770f30e80 new file mode 100644 index 0000000..aadcf56 Binary files /dev/null and b/.git.bak/objects/13/786948d3dffe7c6ea269b6f003aac770f30e80 differ diff --git a/.git.bak/objects/13/7a1e4aabc9852780cbdf144a879515c1ff2667 b/.git.bak/objects/13/7a1e4aabc9852780cbdf144a879515c1ff2667 new file mode 100644 index 0000000..40968e3 Binary files /dev/null and b/.git.bak/objects/13/7a1e4aabc9852780cbdf144a879515c1ff2667 differ diff --git a/.git.bak/objects/13/935a8ccf78a105bc508e4c8f88b9888f57f1b1 b/.git.bak/objects/13/935a8ccf78a105bc508e4c8f88b9888f57f1b1 new file mode 100644 index 0000000..da1bca2 Binary files /dev/null and b/.git.bak/objects/13/935a8ccf78a105bc508e4c8f88b9888f57f1b1 differ diff --git a/.git.bak/objects/14/1cb578b7722324d8e1799b2a41bac473f6a9c1 b/.git.bak/objects/14/1cb578b7722324d8e1799b2a41bac473f6a9c1 new file mode 100644 index 0000000..837ed8a Binary files /dev/null and b/.git.bak/objects/14/1cb578b7722324d8e1799b2a41bac473f6a9c1 differ diff --git a/.git.bak/objects/14/2e2eb75799ec413ff72c6003c1e1be53ac6d39 b/.git.bak/objects/14/2e2eb75799ec413ff72c6003c1e1be53ac6d39 new file mode 100644 index 0000000..a208573 Binary files /dev/null and b/.git.bak/objects/14/2e2eb75799ec413ff72c6003c1e1be53ac6d39 differ diff --git a/.git.bak/objects/14/34ade75d1fc4faf25a6ac5daed813e12eaed28 b/.git.bak/objects/14/34ade75d1fc4faf25a6ac5daed813e12eaed28 new file mode 100644 index 0000000..a3f16a1 --- /dev/null +++ b/.git.bak/objects/14/34ade75d1fc4faf25a6ac5daed813e12eaed28 @@ -0,0 +1,4 @@ +xeSmo0}&e!$4!] S9.64bg=gH}w%uokRu\An=8}EHjϣw.+x=}nwG5լ>?go!ӾhN1ܵXA p5𙐕0pDϰ6ݨ54]5uB5CX\" [2f P.hG*F2KV򇅂Eg /*9;Q-Isʗ dtI:  +n` +(>P QT^ed. qDL9N(!ꠚn[B`k4%c4G,\ŗ z \ No newline at end of file diff --git a/.git.bak/objects/14/7fa5498fcba0d6c7eff57377ae3a04b0f8acfc b/.git.bak/objects/14/7fa5498fcba0d6c7eff57377ae3a04b0f8acfc new file mode 100644 index 0000000..ad8a186 --- /dev/null +++ b/.git.bak/objects/14/7fa5498fcba0d6c7eff57377ae3a04b0f8acfc @@ -0,0 +1,2 @@ +x+)JMU00c040031Q MapmNzU!lILmtv ve0ٸ螹bvvC~|* rutuspZ4]ٖ(X̼ +bOznuN?+4iq TMAbrvbz*PU~܍O>w-dAJ \ No newline at end of file diff --git a/.git.bak/objects/14/ad9c699397bcc9818453c0b1b07996c1f6ee41 b/.git.bak/objects/14/ad9c699397bcc9818453c0b1b07996c1f6ee41 new file mode 100644 index 0000000..f4c5830 Binary files /dev/null and b/.git.bak/objects/14/ad9c699397bcc9818453c0b1b07996c1f6ee41 differ diff --git a/.git.bak/objects/14/b0822909320ff4ffafb1526212866f159470c5 b/.git.bak/objects/14/b0822909320ff4ffafb1526212866f159470c5 new file mode 100644 index 0000000..3e2920c Binary files /dev/null and b/.git.bak/objects/14/b0822909320ff4ffafb1526212866f159470c5 differ diff --git a/.git.bak/objects/14/b1f891b40cc88122b238cdfb966124d7268084 b/.git.bak/objects/14/b1f891b40cc88122b238cdfb966124d7268084 new file mode 100644 index 0000000..5e35976 --- /dev/null +++ b/.git.bak/objects/14/b1f891b40cc88122b238cdfb966124d7268084 @@ -0,0 +1,4 @@ +x]R͊0YO1 fP()u,#˛%VX}&}dK 7{[Ӱ +Ri=!=ykv rtW\G㜱un#؏ZCUAG-Tp־2PA\;}056P9gS!z|{kw/~&iu3 aΏ 6h]h a|T>9ttFpهm75eoA@x Va2^#2]]DV\es%$PȩT<.S*!/e. + f<[IdadW<@i-Q N򗵂H%Cet S7$tC_: Q$ mu]P +|XqȔc.zE@%/B +)6 q#ezJ4} )bz[b \ No newline at end of file diff --git a/.git.bak/objects/14/e0a5e755dcd635bf022abbcd477c77a65c2a58 b/.git.bak/objects/14/e0a5e755dcd635bf022abbcd477c77a65c2a58 new file mode 100644 index 0000000..5ed1d93 Binary files /dev/null and b/.git.bak/objects/14/e0a5e755dcd635bf022abbcd477c77a65c2a58 differ diff --git a/.git.bak/objects/15/3387c7fb5571f50c78ae502c1733b6ec49bc51 b/.git.bak/objects/15/3387c7fb5571f50c78ae502c1733b6ec49bc51 new file mode 100644 index 0000000..9496386 --- /dev/null +++ b/.git.bak/objects/15/3387c7fb5571f50c78ae502c1733b6ec49bc51 @@ -0,0 +1 @@ +xA!@QלiSTCf2q *hbzgp|z=VM=̙jU"qh!,"rxa#e. 0w,҂g%5[kZ~.QW?NobD 7w}5?Sa_g4NHcK \ No newline at end of file diff --git a/.git.bak/objects/15/864787999c3f8633fcd4912a4d790ea183c415 b/.git.bak/objects/15/864787999c3f8633fcd4912a4d790ea183c415 new file mode 100644 index 0000000..013c58c Binary files /dev/null and b/.git.bak/objects/15/864787999c3f8633fcd4912a4d790ea183c415 differ diff --git a/.git.bak/objects/15/986cd0edbb8218fdd4fe8f414b4e27b5767b1e b/.git.bak/objects/15/986cd0edbb8218fdd4fe8f414b4e27b5767b1e new file mode 100644 index 0000000..2596f6a Binary files /dev/null and b/.git.bak/objects/15/986cd0edbb8218fdd4fe8f414b4e27b5767b1e differ diff --git a/.git.bak/objects/15/b0073258aa35638c34bcf0a1c967e2e90d5a5e b/.git.bak/objects/15/b0073258aa35638c34bcf0a1c967e2e90d5a5e new file mode 100644 index 0000000..23c269b Binary files /dev/null and b/.git.bak/objects/15/b0073258aa35638c34bcf0a1c967e2e90d5a5e differ diff --git a/.git.bak/objects/15/c3d97a12b484c2a1c9735e24c952c3079876d0 b/.git.bak/objects/15/c3d97a12b484c2a1c9735e24c952c3079876d0 new file mode 100644 index 0000000..1f9d223 Binary files /dev/null and b/.git.bak/objects/15/c3d97a12b484c2a1c9735e24c952c3079876d0 differ diff --git a/.git.bak/objects/15/e93df350fb6b8552c6ba89289966a8b998064e b/.git.bak/objects/15/e93df350fb6b8552c6ba89289966a8b998064e new file mode 100644 index 0000000..ced4120 Binary files /dev/null and b/.git.bak/objects/15/e93df350fb6b8552c6ba89289966a8b998064e differ diff --git a/.git.bak/objects/15/f8a115b7c7f54daf96acc6de6185df7f833e54 b/.git.bak/objects/15/f8a115b7c7f54daf96acc6de6185df7f833e54 new file mode 100644 index 0000000..2d4f4da Binary files /dev/null and b/.git.bak/objects/15/f8a115b7c7f54daf96acc6de6185df7f833e54 differ diff --git a/.git.bak/objects/16/24f41c765168dd2b356ec4326dca3da5c95e2a b/.git.bak/objects/16/24f41c765168dd2b356ec4326dca3da5c95e2a new file mode 100644 index 0000000..85661b4 Binary files /dev/null and b/.git.bak/objects/16/24f41c765168dd2b356ec4326dca3da5c95e2a differ diff --git a/.git.bak/objects/16/351300f2507dae0a4a2dbe36ec664fdff81952 b/.git.bak/objects/16/351300f2507dae0a4a2dbe36ec664fdff81952 new file mode 100644 index 0000000..6a9d6e6 Binary files /dev/null and b/.git.bak/objects/16/351300f2507dae0a4a2dbe36ec664fdff81952 differ diff --git a/.git.bak/objects/16/55053d15ca7d95cc1d3442d16f83c12ab68b66 b/.git.bak/objects/16/55053d15ca7d95cc1d3442d16f83c12ab68b66 new file mode 100644 index 0000000..a80c534 Binary files /dev/null and b/.git.bak/objects/16/55053d15ca7d95cc1d3442d16f83c12ab68b66 differ diff --git a/.git.bak/objects/16/815b2fa111936c9681a1b76c5fce98421c1631 b/.git.bak/objects/16/815b2fa111936c9681a1b76c5fce98421c1631 new file mode 100644 index 0000000..58f261b Binary files /dev/null and b/.git.bak/objects/16/815b2fa111936c9681a1b76c5fce98421c1631 differ diff --git a/.git.bak/objects/16/83c945c72404d09ac99e024f6759fdf371e012 b/.git.bak/objects/16/83c945c72404d09ac99e024f6759fdf371e012 new file mode 100644 index 0000000..451ba20 Binary files /dev/null and b/.git.bak/objects/16/83c945c72404d09ac99e024f6759fdf371e012 differ diff --git a/.git.bak/objects/16/bfdfe2bb855afb2772294bba83b0cb5a622ee3 b/.git.bak/objects/16/bfdfe2bb855afb2772294bba83b0cb5a622ee3 new file mode 100644 index 0000000..8124793 --- /dev/null +++ b/.git.bak/objects/16/bfdfe2bb855afb2772294bba83b0cb5a622ee3 @@ -0,0 +1 @@ +x]91DxcKF1 Ae]]>a7Br6zF%4Tlu%R UW;52M \`upIֿg)$5; \ No newline at end of file diff --git a/.git.bak/objects/16/ffb93f24bece9519cc4a220a0c1d3c91481453 b/.git.bak/objects/16/ffb93f24bece9519cc4a220a0c1d3c91481453 new file mode 100644 index 0000000..aaa4f55 Binary files /dev/null and b/.git.bak/objects/16/ffb93f24bece9519cc4a220a0c1d3c91481453 differ diff --git a/.git.bak/objects/17/433239ee490b8f734c5c60198eae699e201c65 b/.git.bak/objects/17/433239ee490b8f734c5c60198eae699e201c65 new file mode 100644 index 0000000..2839682 Binary files /dev/null and b/.git.bak/objects/17/433239ee490b8f734c5c60198eae699e201c65 differ diff --git a/.git.bak/objects/17/895fe7cbff3e2051aa088786dc50d38552c970 b/.git.bak/objects/17/895fe7cbff3e2051aa088786dc50d38552c970 new file mode 100644 index 0000000..610468e Binary files /dev/null and b/.git.bak/objects/17/895fe7cbff3e2051aa088786dc50d38552c970 differ diff --git a/.git.bak/objects/17/f019b703a3174ca0601f68ac00a78e4e509239 b/.git.bak/objects/17/f019b703a3174ca0601f68ac00a78e4e509239 new file mode 100644 index 0000000..54bc4b6 Binary files /dev/null and b/.git.bak/objects/17/f019b703a3174ca0601f68ac00a78e4e509239 differ diff --git a/.git.bak/objects/17/f0db4c117af4856bc826fb1013efe8e11565c3 b/.git.bak/objects/17/f0db4c117af4856bc826fb1013efe8e11565c3 new file mode 100644 index 0000000..75b917d Binary files /dev/null and b/.git.bak/objects/17/f0db4c117af4856bc826fb1013efe8e11565c3 differ diff --git a/.git.bak/objects/18/236ca9c778df7c4ee188a687aec77f56e54001 b/.git.bak/objects/18/236ca9c778df7c4ee188a687aec77f56e54001 new file mode 100644 index 0000000..53cc285 Binary files /dev/null and b/.git.bak/objects/18/236ca9c778df7c4ee188a687aec77f56e54001 differ diff --git a/.git.bak/objects/18/26526e091b89c896e7099ccd891db79165e329 b/.git.bak/objects/18/26526e091b89c896e7099ccd891db79165e329 new file mode 100644 index 0000000..89de693 --- /dev/null +++ b/.git.bak/objects/18/26526e091b89c896e7099ccd891db79165e329 @@ -0,0 +1 @@ +x50Eݶ_A¢A>L;5;mܜAhvÙZk>BIMMJxy:R|tŠUHe{ NΊ> BsZ@`bFOtVlM}pҒMbwXqFMaPp/2Y? \ No newline at end of file diff --git a/.git.bak/objects/18/87d7898ca101e3caa9128ab679a57065686be9 b/.git.bak/objects/18/87d7898ca101e3caa9128ab679a57065686be9 new file mode 100644 index 0000000..ed7603e Binary files /dev/null and b/.git.bak/objects/18/87d7898ca101e3caa9128ab679a57065686be9 differ diff --git a/.git.bak/objects/18/bd93b5e6dfd2af35147a656b913b952cfc7043 b/.git.bak/objects/18/bd93b5e6dfd2af35147a656b913b952cfc7043 new file mode 100644 index 0000000..eefbba5 Binary files /dev/null and b/.git.bak/objects/18/bd93b5e6dfd2af35147a656b913b952cfc7043 differ diff --git a/.git.bak/objects/18/c63171cfd927fd9d4d69a89d2c360c81df67c6 b/.git.bak/objects/18/c63171cfd927fd9d4d69a89d2c360c81df67c6 new file mode 100644 index 0000000..82ec70c Binary files /dev/null and b/.git.bak/objects/18/c63171cfd927fd9d4d69a89d2c360c81df67c6 differ diff --git a/.git.bak/objects/18/e80805905c32cf286aa286e1a0c8f8248ec574 b/.git.bak/objects/18/e80805905c32cf286aa286e1a0c8f8248ec574 new file mode 100644 index 0000000..8201fff Binary files /dev/null and b/.git.bak/objects/18/e80805905c32cf286aa286e1a0c8f8248ec574 differ diff --git a/.git.bak/objects/19/117c1a059d1bfa7c6ff04d430bf21bb05b0621 b/.git.bak/objects/19/117c1a059d1bfa7c6ff04d430bf21bb05b0621 new file mode 100644 index 0000000..f4cadcf Binary files /dev/null and b/.git.bak/objects/19/117c1a059d1bfa7c6ff04d430bf21bb05b0621 differ diff --git a/.git.bak/objects/19/129e315fe593965a2fdd50ec0d1253bcbd2ece b/.git.bak/objects/19/129e315fe593965a2fdd50ec0d1253bcbd2ece new file mode 100644 index 0000000..334cf7e --- /dev/null +++ b/.git.bak/objects/19/129e315fe593965a2fdd50ec0d1253bcbd2ece @@ -0,0 +1,5 @@ +xUPMo0ٿQOӶCLؙmu7bU^U.}#~ŷP)S`,m_O > +^a#Ay9c0tsu +N%6ݙDG4 +n[=olC޺Kxqo7/AGd=OTڍº RP4sx M1[%B"͂UBnKMH44IiJ Kw|Q-A \ No newline at end of file diff --git a/.git.bak/objects/19/17595a714e11049ec9402d87aa625c68caa080 b/.git.bak/objects/19/17595a714e11049ec9402d87aa625c68caa080 new file mode 100644 index 0000000..eee0d10 Binary files /dev/null and b/.git.bak/objects/19/17595a714e11049ec9402d87aa625c68caa080 differ diff --git a/.git.bak/objects/19/210c9ff937c3ff04cb41755480630b4b638f9d b/.git.bak/objects/19/210c9ff937c3ff04cb41755480630b4b638f9d new file mode 100644 index 0000000..2793ef2 Binary files /dev/null and b/.git.bak/objects/19/210c9ff937c3ff04cb41755480630b4b638f9d differ diff --git a/.git.bak/objects/19/abfa604d5ef7bf3646c1a70a848c3f0df8105a b/.git.bak/objects/19/abfa604d5ef7bf3646c1a70a848c3f0df8105a new file mode 100644 index 0000000..f8b3161 Binary files /dev/null and b/.git.bak/objects/19/abfa604d5ef7bf3646c1a70a848c3f0df8105a differ diff --git a/.git.bak/objects/1a/29024ea215a7eefa9e372a75ac2d9c1b9e2abb b/.git.bak/objects/1a/29024ea215a7eefa9e372a75ac2d9c1b9e2abb new file mode 100644 index 0000000..e071bc5 --- /dev/null +++ b/.git.bak/objects/1a/29024ea215a7eefa9e372a75ac2d9c1b9e2abb @@ -0,0 +1,3 @@ +x}Qn0 ڞO Jф3 ԅl!b M}N[Tۤl./a|P-!eJӣH kޚbݠJԐA_t(z nݖw +&gӾj54k"Emj=iBF ^M~rU8WQS n9| &mc*Ю#9ҷ xD+ .M*=`ψQ.<0oOB5ʐ.-Nvm> fH#Z[B0F. +%> \F0n7_]qt>v9NJLG]V+sz#ݢMusۊAНOS#Bt#7V \ No newline at end of file diff --git a/.git.bak/objects/1a/2d5a3f764efeea36b603a6ebd3ac1b90c7f020 b/.git.bak/objects/1a/2d5a3f764efeea36b603a6ebd3ac1b90c7f020 new file mode 100644 index 0000000..6965fcd Binary files /dev/null and b/.git.bak/objects/1a/2d5a3f764efeea36b603a6ebd3ac1b90c7f020 differ diff --git a/.git.bak/objects/1a/9820e262b26b60fe71a4dcd9bc9cfd0a01f26e b/.git.bak/objects/1a/9820e262b26b60fe71a4dcd9bc9cfd0a01f26e new file mode 100644 index 0000000..6791338 Binary files /dev/null and b/.git.bak/objects/1a/9820e262b26b60fe71a4dcd9bc9cfd0a01f26e differ diff --git a/.git.bak/objects/1a/bf81b1f00b305519e52fe74477b2c5b71803c7 b/.git.bak/objects/1a/bf81b1f00b305519e52fe74477b2c5b71803c7 new file mode 100644 index 0000000..8aeb55d Binary files /dev/null and b/.git.bak/objects/1a/bf81b1f00b305519e52fe74477b2c5b71803c7 differ diff --git a/.git.bak/objects/1a/e2e3eca333103d36dea70cbdff0e78b65eb6e8 b/.git.bak/objects/1a/e2e3eca333103d36dea70cbdff0e78b65eb6e8 new file mode 100644 index 0000000..aecd2bd --- /dev/null +++ b/.git.bak/objects/1a/e2e3eca333103d36dea70cbdff0e78b65eb6e8 @@ -0,0 +1 @@ +xAN0 @Q9v!gtFL'ޟ퓾mۭwwR:sі%3q1"@)I씔jBI=!I%sDA~m;|]smmH1SHu6yF/4?J \ No newline at end of file diff --git a/.git.bak/objects/1a/f22f1ccc81743a834d7819404b9eee1eafad05 b/.git.bak/objects/1a/f22f1ccc81743a834d7819404b9eee1eafad05 new file mode 100644 index 0000000..4f9e555 Binary files /dev/null and b/.git.bak/objects/1a/f22f1ccc81743a834d7819404b9eee1eafad05 differ diff --git a/.git.bak/objects/1b/0a7455c9fa9b1f9f99f3a9c9635b6eb07c824a b/.git.bak/objects/1b/0a7455c9fa9b1f9f99f3a9c9635b6eb07c824a new file mode 100644 index 0000000..85a8f83 Binary files /dev/null and b/.git.bak/objects/1b/0a7455c9fa9b1f9f99f3a9c9635b6eb07c824a differ diff --git a/.git.bak/objects/1b/203452fc106c3cbdf1bfaa682c7fb2566a0077 b/.git.bak/objects/1b/203452fc106c3cbdf1bfaa682c7fb2566a0077 new file mode 100644 index 0000000..a3695d6 Binary files /dev/null and b/.git.bak/objects/1b/203452fc106c3cbdf1bfaa682c7fb2566a0077 differ diff --git a/.git.bak/objects/1b/6ba12b83c0bb3f02cebd2b424079e63d309231 b/.git.bak/objects/1b/6ba12b83c0bb3f02cebd2b424079e63d309231 new file mode 100644 index 0000000..e790e7b Binary files /dev/null and b/.git.bak/objects/1b/6ba12b83c0bb3f02cebd2b424079e63d309231 differ diff --git a/.git.bak/objects/1b/79ef27971272fe250ac2b36ac8d44c75b12248 b/.git.bak/objects/1b/79ef27971272fe250ac2b36ac8d44c75b12248 new file mode 100644 index 0000000..31458ca Binary files /dev/null and b/.git.bak/objects/1b/79ef27971272fe250ac2b36ac8d44c75b12248 differ diff --git a/.git.bak/objects/1b/e09d35c776cc0e9cc59519c2de6b9eecf8aa68 b/.git.bak/objects/1b/e09d35c776cc0e9cc59519c2de6b9eecf8aa68 new file mode 100644 index 0000000..47bc0c7 Binary files /dev/null and b/.git.bak/objects/1b/e09d35c776cc0e9cc59519c2de6b9eecf8aa68 differ diff --git a/.git.bak/objects/1b/ed0871bc2523d47c6cd4843464a9f64dbedcf0 b/.git.bak/objects/1b/ed0871bc2523d47c6cd4843464a9f64dbedcf0 new file mode 100644 index 0000000..184212c --- /dev/null +++ b/.git.bak/objects/1b/ed0871bc2523d47c6cd4843464a9f64dbedcf0 @@ -0,0 +1,2 @@ +x]A0E] Qw +S:Lxw!F X0pdil]H,Lr.tv&Ӊ@:x0XBY‡@ #Uac۲+r_t2beG*Gµ]aѮPh,5[; zUw멌5-1EO% D|5NZټ)t \ No newline at end of file diff --git a/.git.bak/objects/21/49627e457bb56eb6215becb2fbcea0c3320580 b/.git.bak/objects/21/49627e457bb56eb6215becb2fbcea0c3320580 new file mode 100644 index 0000000..83169fb Binary files /dev/null and b/.git.bak/objects/21/49627e457bb56eb6215becb2fbcea0c3320580 differ diff --git a/.git.bak/objects/21/6c0185a447bef25cd961d8cf8ec5a4b25d4212 b/.git.bak/objects/21/6c0185a447bef25cd961d8cf8ec5a4b25d4212 new file mode 100644 index 0000000..67a114c Binary files /dev/null and b/.git.bak/objects/21/6c0185a447bef25cd961d8cf8ec5a4b25d4212 differ diff --git a/.git.bak/objects/21/8fd5720f0dba9a507306325ff9e654a44918ce b/.git.bak/objects/21/8fd5720f0dba9a507306325ff9e654a44918ce new file mode 100644 index 0000000..788b7c5 Binary files /dev/null and b/.git.bak/objects/21/8fd5720f0dba9a507306325ff9e654a44918ce differ diff --git a/.git.bak/objects/21/a7ec0a55afcf572aed89766b11534c237fe765 b/.git.bak/objects/21/a7ec0a55afcf572aed89766b11534c237fe765 new file mode 100644 index 0000000..2adb4a5 Binary files /dev/null and b/.git.bak/objects/21/a7ec0a55afcf572aed89766b11534c237fe765 differ diff --git a/.git.bak/objects/21/d6a3ec9e2608289a45c8d5b6c6114714f9cb09 b/.git.bak/objects/21/d6a3ec9e2608289a45c8d5b6c6114714f9cb09 new file mode 100644 index 0000000..a09328d Binary files /dev/null and b/.git.bak/objects/21/d6a3ec9e2608289a45c8d5b6c6114714f9cb09 differ diff --git a/.git.bak/objects/21/dfe6908a2d8e32a249152161fd31127ba93f7b b/.git.bak/objects/21/dfe6908a2d8e32a249152161fd31127ba93f7b new file mode 100644 index 0000000..d54191d Binary files /dev/null and b/.git.bak/objects/21/dfe6908a2d8e32a249152161fd31127ba93f7b differ diff --git a/.git.bak/objects/21/f903923ef11aef5d6ca8ade40028520b82a37a b/.git.bak/objects/21/f903923ef11aef5d6ca8ade40028520b82a37a new file mode 100644 index 0000000..fee001c Binary files /dev/null and b/.git.bak/objects/21/f903923ef11aef5d6ca8ade40028520b82a37a differ diff --git a/.git.bak/objects/22/2b293dee9f8712b82a7e453c1f80e6e65348e7 b/.git.bak/objects/22/2b293dee9f8712b82a7e453c1f80e6e65348e7 new file mode 100644 index 0000000..1f56845 Binary files /dev/null and b/.git.bak/objects/22/2b293dee9f8712b82a7e453c1f80e6e65348e7 differ diff --git a/.git.bak/objects/22/2d2b58a343a582ba534945387b9106bbd514a4 b/.git.bak/objects/22/2d2b58a343a582ba534945387b9106bbd514a4 new file mode 100644 index 0000000..946b194 Binary files /dev/null and b/.git.bak/objects/22/2d2b58a343a582ba534945387b9106bbd514a4 differ diff --git a/.git.bak/objects/22/c2db2cd06d57366e0c86d9e08b1270e83e884d b/.git.bak/objects/22/c2db2cd06d57366e0c86d9e08b1270e83e884d new file mode 100644 index 0000000..bb176f2 Binary files /dev/null and b/.git.bak/objects/22/c2db2cd06d57366e0c86d9e08b1270e83e884d differ diff --git a/.git.bak/objects/22/e3f922ba048e5cd1a20ac6a5b77fbc3b155095 b/.git.bak/objects/22/e3f922ba048e5cd1a20ac6a5b77fbc3b155095 new file mode 100644 index 0000000..44ecd4c Binary files /dev/null and b/.git.bak/objects/22/e3f922ba048e5cd1a20ac6a5b77fbc3b155095 differ diff --git a/.git.bak/objects/23/212fdd79bccad13bb437cd3632f2430f22b710 b/.git.bak/objects/23/212fdd79bccad13bb437cd3632f2430f22b710 new file mode 100644 index 0000000..d834cf5 Binary files /dev/null and b/.git.bak/objects/23/212fdd79bccad13bb437cd3632f2430f22b710 differ diff --git a/.git.bak/objects/23/263ee69874e05f8def2237ffcab7c73e3eb782 b/.git.bak/objects/23/263ee69874e05f8def2237ffcab7c73e3eb782 new file mode 100644 index 0000000..0633ff8 Binary files /dev/null and b/.git.bak/objects/23/263ee69874e05f8def2237ffcab7c73e3eb782 differ diff --git a/.git.bak/objects/23/5406736d9d9485bbc0dd0820dd661110da7a4d b/.git.bak/objects/23/5406736d9d9485bbc0dd0820dd661110da7a4d new file mode 100644 index 0000000..6228015 Binary files /dev/null and b/.git.bak/objects/23/5406736d9d9485bbc0dd0820dd661110da7a4d differ diff --git a/.git.bak/objects/23/5fb79a2521611644ab093c3d739c8d90617818 b/.git.bak/objects/23/5fb79a2521611644ab093c3d739c8d90617818 new file mode 100644 index 0000000..486e6c3 Binary files /dev/null and b/.git.bak/objects/23/5fb79a2521611644ab093c3d739c8d90617818 differ diff --git a/.git.bak/objects/23/7e1b67d3b34c1ea0b860e578694cae98fc7903 b/.git.bak/objects/23/7e1b67d3b34c1ea0b860e578694cae98fc7903 new file mode 100644 index 0000000..6dc8f83 --- /dev/null +++ b/.git.bak/objects/23/7e1b67d3b34c1ea0b860e578694cae98fc7903 @@ -0,0 +1,5 @@ +xeR[o0޳ye{fS9\ b;wl6 )\]wӰ +r{BR{~ͱp3H{(;'|?Wn4sGؙفO9c078ua:oG\[ f8 +T&}0k5jnr6BCXR" [3X(W4#ݢzf/J3Cet ؓ4|@F9P`Ǯv+KG*^IZ%UH%KJ^@@'nDHlߵd戅#b6@~]j \ No newline at end of file diff --git a/.git.bak/objects/23/88fe073e3b830f05169d685566e8283d7f3805 b/.git.bak/objects/23/88fe073e3b830f05169d685566e8283d7f3805 new file mode 100644 index 0000000..0e67b95 Binary files /dev/null and b/.git.bak/objects/23/88fe073e3b830f05169d685566e8283d7f3805 differ diff --git a/.git.bak/objects/23/c73577049e4d754f368b16e4e0e040dbf14c4c b/.git.bak/objects/23/c73577049e4d754f368b16e4e0e040dbf14c4c new file mode 100644 index 0000000..03038d1 Binary files /dev/null and b/.git.bak/objects/23/c73577049e4d754f368b16e4e0e040dbf14c4c differ diff --git a/.git.bak/objects/23/d5cfd5522a9fcb0a45af3e18bb50bc9d48011d b/.git.bak/objects/23/d5cfd5522a9fcb0a45af3e18bb50bc9d48011d new file mode 100644 index 0000000..74bf5ae Binary files /dev/null and b/.git.bak/objects/23/d5cfd5522a9fcb0a45af3e18bb50bc9d48011d differ diff --git a/.git.bak/objects/23/d9659b80d4a47b1e565244a71f45e7d24206a6 b/.git.bak/objects/23/d9659b80d4a47b1e565244a71f45e7d24206a6 new file mode 100644 index 0000000..ba09628 Binary files /dev/null and b/.git.bak/objects/23/d9659b80d4a47b1e565244a71f45e7d24206a6 differ diff --git a/.git.bak/objects/23/fb10eefc71657a508fc5cb2eaaa25347bb48e9 b/.git.bak/objects/23/fb10eefc71657a508fc5cb2eaaa25347bb48e9 new file mode 100644 index 0000000..a1df89b Binary files /dev/null and b/.git.bak/objects/23/fb10eefc71657a508fc5cb2eaaa25347bb48e9 differ diff --git a/.git.bak/objects/24/406ed067deb8fda15daa970cafc9a580ab3181 b/.git.bak/objects/24/406ed067deb8fda15daa970cafc9a580ab3181 new file mode 100644 index 0000000..14b1e2f Binary files /dev/null and b/.git.bak/objects/24/406ed067deb8fda15daa970cafc9a580ab3181 differ diff --git a/.git.bak/objects/24/542c58ddd9ccb29274610ead3457fff9d47b8e b/.git.bak/objects/24/542c58ddd9ccb29274610ead3457fff9d47b8e new file mode 100644 index 0000000..c9d679e Binary files /dev/null and b/.git.bak/objects/24/542c58ddd9ccb29274610ead3457fff9d47b8e differ diff --git a/.git.bak/objects/24/849428bae69540a59077dd4d6b3d15ab7b097b b/.git.bak/objects/24/849428bae69540a59077dd4d6b3d15ab7b097b new file mode 100644 index 0000000..b01637b Binary files /dev/null and b/.git.bak/objects/24/849428bae69540a59077dd4d6b3d15ab7b097b differ diff --git a/.git.bak/objects/24/8de7af2bd16cc7f2b4d8017bbeb9e7a0b2ccd6 b/.git.bak/objects/24/8de7af2bd16cc7f2b4d8017bbeb9e7a0b2ccd6 new file mode 100644 index 0000000..4144ca9 Binary files /dev/null and b/.git.bak/objects/24/8de7af2bd16cc7f2b4d8017bbeb9e7a0b2ccd6 differ diff --git a/.git.bak/objects/24/9d970a90948ff7ef7c0b54260b8983527f231c b/.git.bak/objects/24/9d970a90948ff7ef7c0b54260b8983527f231c new file mode 100644 index 0000000..358ac2b Binary files /dev/null and b/.git.bak/objects/24/9d970a90948ff7ef7c0b54260b8983527f231c differ diff --git a/.git.bak/objects/24/a6bdde2903fac66f638e578b831a7600761207 b/.git.bak/objects/24/a6bdde2903fac66f638e578b831a7600761207 new file mode 100644 index 0000000..f8ef0ba Binary files /dev/null and b/.git.bak/objects/24/a6bdde2903fac66f638e578b831a7600761207 differ diff --git a/.git.bak/objects/24/ba8f7db3cf17d87cff4bd53977b5239d459f90 b/.git.bak/objects/24/ba8f7db3cf17d87cff4bd53977b5239d459f90 new file mode 100644 index 0000000..4d7d9d1 Binary files /dev/null and b/.git.bak/objects/24/ba8f7db3cf17d87cff4bd53977b5239d459f90 differ diff --git a/.git.bak/objects/25/255c4dbbe9609ed7839f417e465bd4022fdae6 b/.git.bak/objects/25/255c4dbbe9609ed7839f417e465bd4022fdae6 new file mode 100644 index 0000000..7c94bf3 Binary files /dev/null and b/.git.bak/objects/25/255c4dbbe9609ed7839f417e465bd4022fdae6 differ diff --git a/.git.bak/objects/25/3f1838ef01e519179515bdec086f97d2bed7c0 b/.git.bak/objects/25/3f1838ef01e519179515bdec086f97d2bed7c0 new file mode 100644 index 0000000..7400fb2 --- /dev/null +++ b/.git.bak/objects/25/3f1838ef01e519179515bdec086f97d2bed7c0 @@ -0,0 +1 @@ +xMk0{$/ͩK-MMi{ ac["(,;RMM!|Sk[w"xONI,F: 'oP Ar@1]vH߂itS|B!ƨ> l&e 4M,Ϩwm A4K^y2pJ#K @Q^K>0b.yKpM%+.\$ԋ1i EegpsK35ԯ7FhŐzcqDo i֯GDBFI?lg%bf/qNOG6I`/vw$$\@V|V4$V7oF5Ӱmԇd5iW!5s+HtvU*W+72663!{=99c;N{c2h+]3gtpZ=P743 +Jg<l3H u@g x{ɩQo;ӠfԞ~ YuϘAX̄jWn`/!.ԍ>rx\dHgw`ײ3od/hQobi8HYԱy Ԁw]-}*1.n$LADoaYB|]'QQٛ7Uo:iu|Tݩĭ+?4a5G9. +7l]LLLT+A*ȕXьWxe"M +k+%UFNR1RL|3=!(kV(Z磻@ޚB-7̟d.׌e]ĚRW\shW_l!؊g$ UGrM\ܠ jshŷ9STb1Ǝ^6"E<ϲee,ˢVx̠RS_d%2JV֪Dh'2PEW[hu2{G C QbHyZ yGq! cXLb&6l?/Gv^/&/g V?{O<ͮػX]R~7K \ No newline at end of file diff --git a/.git.bak/objects/28/9a370c8f644df453d0fb395ba4a5f3fd0d3e27 b/.git.bak/objects/28/9a370c8f644df453d0fb395ba4a5f3fd0d3e27 new file mode 100644 index 0000000..6b931db Binary files /dev/null and b/.git.bak/objects/28/9a370c8f644df453d0fb395ba4a5f3fd0d3e27 differ diff --git a/.git.bak/objects/28/a31618205d7dbeed5b966fe9d2c682bd9367f5 b/.git.bak/objects/28/a31618205d7dbeed5b966fe9d2c682bd9367f5 new file mode 100644 index 0000000..976c981 Binary files /dev/null and b/.git.bak/objects/28/a31618205d7dbeed5b966fe9d2c682bd9367f5 differ diff --git a/.git.bak/objects/28/eb2def1c043a04c241948936b9d0280488f8df b/.git.bak/objects/28/eb2def1c043a04c241948936b9d0280488f8df new file mode 100644 index 0000000..3f80e5f Binary files /dev/null and b/.git.bak/objects/28/eb2def1c043a04c241948936b9d0280488f8df differ diff --git a/.git.bak/objects/29/0762e94f4e2f2b52cc13ae4f2b63ac0269bfd1 b/.git.bak/objects/29/0762e94f4e2f2b52cc13ae4f2b63ac0269bfd1 new file mode 100644 index 0000000..15d96dc --- /dev/null +++ b/.git.bak/objects/29/0762e94f4e2f2b52cc13ae4f2b63ac0269bfd1 @@ -0,0 +1,4 @@ +x]RK0ٿbĩ"^Z7jH",嘇!Bl U+!Eѵ˷Rwy4DXyLl4Ks97/?7|3E'pƀ;B74d .\pmld4!)8 Lpx=4!6g3&ю&8X'"aiFx]#vP7^{hl Q5ҙH_3ۺ\ц!t{8ؙgY0!"X={n|0G:Nl`ǫCad3oEGJ:7il5{1ۡ'Q|YVޚ{`k'FOC[M荀\=Wd *e&2XߋRoʝP(EU)QP*&U.dLO½Ԑ˭K ;PJR uCŕ. +Z }, +YVzX7<ωWҲ:(Ѱ)L`q%P_FҜm'RDhA%K, VLХ{Y5JekU"<ʼn W +E=~vh2sĪ.S1X \ No newline at end of file diff --git a/.git.bak/objects/29/2415e23a192be6b7a7f35db37befa489117552 b/.git.bak/objects/29/2415e23a192be6b7a7f35db37befa489117552 new file mode 100644 index 0000000..1a7f442 Binary files /dev/null and b/.git.bak/objects/29/2415e23a192be6b7a7f35db37befa489117552 differ diff --git a/.git.bak/objects/29/2c550d50e848801e5347e13231152d431e2b7f b/.git.bak/objects/29/2c550d50e848801e5347e13231152d431e2b7f new file mode 100644 index 0000000..c14909d Binary files /dev/null and b/.git.bak/objects/29/2c550d50e848801e5347e13231152d431e2b7f differ diff --git a/.git.bak/objects/29/2cb827153b6dd5483406bf937d78db8130fa0b b/.git.bak/objects/29/2cb827153b6dd5483406bf937d78db8130fa0b new file mode 100644 index 0000000..f39e30a Binary files /dev/null and b/.git.bak/objects/29/2cb827153b6dd5483406bf937d78db8130fa0b differ diff --git a/.git.bak/objects/29/485f145923f245307543e0e6dc333f65997574 b/.git.bak/objects/29/485f145923f245307543e0e6dc333f65997574 new file mode 100644 index 0000000..99e1a7e Binary files /dev/null and b/.git.bak/objects/29/485f145923f245307543e0e6dc333f65997574 differ diff --git a/.git.bak/objects/29/5ffaee105efa144756fc0af48e61c3e681fd15 b/.git.bak/objects/29/5ffaee105efa144756fc0af48e61c3e681fd15 new file mode 100644 index 0000000..803a494 Binary files /dev/null and b/.git.bak/objects/29/5ffaee105efa144756fc0af48e61c3e681fd15 differ diff --git a/.git.bak/objects/29/b9050788878fef9ae0c6bfea9518a5ae58aab6 b/.git.bak/objects/29/b9050788878fef9ae0c6bfea9518a5ae58aab6 new file mode 100644 index 0000000..a663c0c Binary files /dev/null and b/.git.bak/objects/29/b9050788878fef9ae0c6bfea9518a5ae58aab6 differ diff --git a/.git.bak/objects/29/c410c7b4850d2640fef61629508a534fc98a74 b/.git.bak/objects/29/c410c7b4850d2640fef61629508a534fc98a74 new file mode 100644 index 0000000..a9b7687 --- /dev/null +++ b/.git.bak/objects/29/c410c7b4850d2640fef61629508a534fc98a74 @@ -0,0 +1 @@ +xm1O0+nR bʄ:%E%vpQ sNLݢL} Oχ pqDT)}A.:C;x%T-F%Iq'znl?Bd'O15^4MPfojCclr+ŌW vM} R>7kJC"oQV_|C;ҵR l ضkMvn=Mb^t_y%a֦bϣ41w>i$ \ No newline at end of file diff --git a/.git.bak/objects/29/d51782c77a93f2a32774350fb6e6229ebc3408 b/.git.bak/objects/29/d51782c77a93f2a32774350fb6e6229ebc3408 new file mode 100644 index 0000000..dc7c020 --- /dev/null +++ b/.git.bak/objects/29/d51782c77a93f2a32774350fb6e6229ebc3408 @@ -0,0 +1 @@ +xQN0eW$2Ub€TUIűAU;q#ӽ{]L(2 hRV|yAn_\GA%6h89aͲ(]SR~[Nk20!9@`ϥb@Y"1D-f'X',H)yb9ć!>6)v'_a\. 3Zη,bW]1aKVC+ruRhΫ낀m l7Lv+N \ No newline at end of file diff --git a/.git.bak/objects/29/d60caefad9162b81d464ad74f826a2f8a3df2e b/.git.bak/objects/29/d60caefad9162b81d464ad74f826a2f8a3df2e new file mode 100644 index 0000000..68ddaf2 Binary files /dev/null and b/.git.bak/objects/29/d60caefad9162b81d464ad74f826a2f8a3df2e differ diff --git a/.git.bak/objects/2a/2a13571375d28b56577ad1f91bddabde753f33 b/.git.bak/objects/2a/2a13571375d28b56577ad1f91bddabde753f33 new file mode 100644 index 0000000..236b534 Binary files /dev/null and b/.git.bak/objects/2a/2a13571375d28b56577ad1f91bddabde753f33 differ diff --git a/.git.bak/objects/2a/2f2bda2e1642ffe000bc588e962c55819b4777 b/.git.bak/objects/2a/2f2bda2e1642ffe000bc588e962c55819b4777 new file mode 100644 index 0000000..b2769d4 Binary files /dev/null and b/.git.bak/objects/2a/2f2bda2e1642ffe000bc588e962c55819b4777 differ diff --git a/.git.bak/objects/2a/3c5404ac7c93d0626d3b36eb06021616d8af7c b/.git.bak/objects/2a/3c5404ac7c93d0626d3b36eb06021616d8af7c new file mode 100644 index 0000000..964235e Binary files /dev/null and b/.git.bak/objects/2a/3c5404ac7c93d0626d3b36eb06021616d8af7c differ diff --git a/.git.bak/objects/2a/573574293a93259fa06edef5810076d4f9ac7d b/.git.bak/objects/2a/573574293a93259fa06edef5810076d4f9ac7d new file mode 100644 index 0000000..7d37f8f Binary files /dev/null and b/.git.bak/objects/2a/573574293a93259fa06edef5810076d4f9ac7d differ diff --git a/.git.bak/objects/2a/585c91f07351e9566d50faec67a0272367ba81 b/.git.bak/objects/2a/585c91f07351e9566d50faec67a0272367ba81 new file mode 100644 index 0000000..13cddfa Binary files /dev/null and b/.git.bak/objects/2a/585c91f07351e9566d50faec67a0272367ba81 differ diff --git a/.git.bak/objects/2a/94840c6ee509fc0eee1ca4574deea75163df27 b/.git.bak/objects/2a/94840c6ee509fc0eee1ca4574deea75163df27 new file mode 100644 index 0000000..522a48b Binary files /dev/null and b/.git.bak/objects/2a/94840c6ee509fc0eee1ca4574deea75163df27 differ diff --git a/.git.bak/objects/2a/e71cdb9425d0394e2ee363df151086c081c4c9 b/.git.bak/objects/2a/e71cdb9425d0394e2ee363df151086c081c4c9 new file mode 100644 index 0000000..1059083 Binary files /dev/null and b/.git.bak/objects/2a/e71cdb9425d0394e2ee363df151086c081c4c9 differ diff --git a/.git.bak/objects/2b/0a980fbd767e2c3ac910e34158964e7dcdbf2c b/.git.bak/objects/2b/0a980fbd767e2c3ac910e34158964e7dcdbf2c new file mode 100644 index 0000000..c514791 Binary files /dev/null and b/.git.bak/objects/2b/0a980fbd767e2c3ac910e34158964e7dcdbf2c differ diff --git a/.git.bak/objects/2b/1190ef5a4fe07d96e137a062a5eb41c1170e35 b/.git.bak/objects/2b/1190ef5a4fe07d96e137a062a5eb41c1170e35 new file mode 100644 index 0000000..87b1702 Binary files /dev/null and b/.git.bak/objects/2b/1190ef5a4fe07d96e137a062a5eb41c1170e35 differ diff --git a/.git.bak/objects/2b/2ddfc44fc94a0cbc44a5b39f8d3035f003bcdf b/.git.bak/objects/2b/2ddfc44fc94a0cbc44a5b39f8d3035f003bcdf new file mode 100644 index 0000000..8f395cd Binary files /dev/null and b/.git.bak/objects/2b/2ddfc44fc94a0cbc44a5b39f8d3035f003bcdf differ diff --git a/.git.bak/objects/2b/99a7da025f57138b7bc98245ac032425655f25 b/.git.bak/objects/2b/99a7da025f57138b7bc98245ac032425655f25 new file mode 100644 index 0000000..4a113bd Binary files /dev/null and b/.git.bak/objects/2b/99a7da025f57138b7bc98245ac032425655f25 differ diff --git a/.git.bak/objects/2c/021f304e712d18e77b08d5dd9f87d0bc241021 b/.git.bak/objects/2c/021f304e712d18e77b08d5dd9f87d0bc241021 new file mode 100644 index 0000000..18e063b --- /dev/null +++ b/.git.bak/objects/2c/021f304e712d18e77b08d5dd9f87d0bc241021 @@ -0,0 +1 @@ +xE10-C  |YwȜ%G)i4ġb&HX{} E:FQyq+y'-^8sH_R$*:|y+.\ \ No newline at end of file diff --git a/.git.bak/objects/2c/5ac3f59b3e7298a0053ebc9ae593edc8230547 b/.git.bak/objects/2c/5ac3f59b3e7298a0053ebc9ae593edc8230547 new file mode 100644 index 0000000..41b8ece Binary files /dev/null and b/.git.bak/objects/2c/5ac3f59b3e7298a0053ebc9ae593edc8230547 differ diff --git a/.git.bak/objects/2c/759e2532dc7274c4ddd71b3f96d06a1390eaa8 b/.git.bak/objects/2c/759e2532dc7274c4ddd71b3f96d06a1390eaa8 new file mode 100644 index 0000000..5590383 --- /dev/null +++ b/.git.bak/objects/2c/759e2532dc7274c4ddd71b3f96d06a1390eaa8 @@ -0,0 +1,2 @@ +x; @m_ +i.>AAtbN[1QċJR.F"h6%{ Tbc+`؁6Ey C_ ĸTc8eye%88!Pk m-,S h7u"%xpUxX{jؕi MMfRpWD{?UV[Jq?qSY\qϗ0lG*i&YƫvXǔGArvyTN \ No newline at end of file diff --git a/.git.bak/objects/2c/7fbdd75af53c48e4a1535c8342ad37063e0a52 b/.git.bak/objects/2c/7fbdd75af53c48e4a1535c8342ad37063e0a52 new file mode 100644 index 0000000..9890630 Binary files /dev/null and b/.git.bak/objects/2c/7fbdd75af53c48e4a1535c8342ad37063e0a52 differ diff --git a/.git.bak/objects/2c/a22458634e7b34fcabe777b160dffd36e96d4f b/.git.bak/objects/2c/a22458634e7b34fcabe777b160dffd36e96d4f new file mode 100644 index 0000000..f6c89fa Binary files /dev/null and b/.git.bak/objects/2c/a22458634e7b34fcabe777b160dffd36e96d4f differ diff --git a/.git.bak/objects/2d/3529d2e547634d1e42592db525bd0b7311c566 b/.git.bak/objects/2d/3529d2e547634d1e42592db525bd0b7311c566 new file mode 100644 index 0000000..5c7f73c Binary files /dev/null and b/.git.bak/objects/2d/3529d2e547634d1e42592db525bd0b7311c566 differ diff --git a/.git.bak/objects/2d/502eb54e4d7e2f2374494e32071d9416d56418 b/.git.bak/objects/2d/502eb54e4d7e2f2374494e32071d9416d56418 new file mode 100644 index 0000000..7f13fc4 Binary files /dev/null and b/.git.bak/objects/2d/502eb54e4d7e2f2374494e32071d9416d56418 differ diff --git a/.git.bak/objects/2d/86e55dc513c43af8aa7c6962adc8b3ef85507a b/.git.bak/objects/2d/86e55dc513c43af8aa7c6962adc8b3ef85507a new file mode 100644 index 0000000..9aaa639 Binary files /dev/null and b/.git.bak/objects/2d/86e55dc513c43af8aa7c6962adc8b3ef85507a differ diff --git a/.git.bak/objects/2d/99b51d0522c08fb1267aad3c8269602e4a362a b/.git.bak/objects/2d/99b51d0522c08fb1267aad3c8269602e4a362a new file mode 100644 index 0000000..09cbe40 --- /dev/null +++ b/.git.bak/objects/2d/99b51d0522c08fb1267aad3c8269602e4a362a @@ -0,0 +1,3 @@ +xA0 EgSx:r8q gnp +I?=x{-˽ኜX0{%6#k4uW$ ޙԀAT!*Q h[.Wn +?kڬwnm~ڢwi \JA :8 !;v[o屽@HqD?R==I1 \ No newline at end of file diff --git a/.git.bak/objects/2d/9a66a8acdbacede413918d9c0c8eaaacee7457 b/.git.bak/objects/2d/9a66a8acdbacede413918d9c0c8eaaacee7457 new file mode 100644 index 0000000..455f59d Binary files /dev/null and b/.git.bak/objects/2d/9a66a8acdbacede413918d9c0c8eaaacee7457 differ diff --git a/.git.bak/objects/2d/b03404c6a2f1a0dd014aef4ec7f36700386079 b/.git.bak/objects/2d/b03404c6a2f1a0dd014aef4ec7f36700386079 new file mode 100644 index 0000000..13b285e Binary files /dev/null and b/.git.bak/objects/2d/b03404c6a2f1a0dd014aef4ec7f36700386079 differ diff --git a/.git.bak/objects/2d/d3f5bc8773e851bbece237ab0d1e5060fdb7df b/.git.bak/objects/2d/d3f5bc8773e851bbece237ab0d1e5060fdb7df new file mode 100644 index 0000000..01d2919 Binary files /dev/null and b/.git.bak/objects/2d/d3f5bc8773e851bbece237ab0d1e5060fdb7df differ diff --git a/.git.bak/objects/2d/fc43c4c047b3fd96cad0a72d0c7965bf55838c b/.git.bak/objects/2d/fc43c4c047b3fd96cad0a72d0c7965bf55838c new file mode 100644 index 0000000..b889cf8 Binary files /dev/null and b/.git.bak/objects/2d/fc43c4c047b3fd96cad0a72d0c7965bf55838c differ diff --git a/.git.bak/objects/2e/039f7314d06db8e99d2b7ed331531ce35778b3 b/.git.bak/objects/2e/039f7314d06db8e99d2b7ed331531ce35778b3 new file mode 100644 index 0000000..1c8e6fe Binary files /dev/null and b/.git.bak/objects/2e/039f7314d06db8e99d2b7ed331531ce35778b3 differ diff --git a/.git.bak/objects/2e/41882dae0c5c05bc1cc6b588c9cd2bd78d7cd7 b/.git.bak/objects/2e/41882dae0c5c05bc1cc6b588c9cd2bd78d7cd7 new file mode 100644 index 0000000..6d02419 Binary files /dev/null and b/.git.bak/objects/2e/41882dae0c5c05bc1cc6b588c9cd2bd78d7cd7 differ diff --git a/.git.bak/objects/2e/47b60d5577b76c9679c880f071c670386b47d3 b/.git.bak/objects/2e/47b60d5577b76c9679c880f071c670386b47d3 new file mode 100644 index 0000000..abf7644 Binary files /dev/null and b/.git.bak/objects/2e/47b60d5577b76c9679c880f071c670386b47d3 differ diff --git a/.git.bak/objects/2e/662012ba50d9db131a2d6780b746d5468f7b0f b/.git.bak/objects/2e/662012ba50d9db131a2d6780b746d5468f7b0f new file mode 100644 index 0000000..67d899c Binary files /dev/null and b/.git.bak/objects/2e/662012ba50d9db131a2d6780b746d5468f7b0f differ diff --git a/.git.bak/objects/2e/70de9717e715b4fc05c7f8bdc4e8d63a33b859 b/.git.bak/objects/2e/70de9717e715b4fc05c7f8bdc4e8d63a33b859 new file mode 100644 index 0000000..d8f2d8f Binary files /dev/null and b/.git.bak/objects/2e/70de9717e715b4fc05c7f8bdc4e8d63a33b859 differ diff --git a/.git.bak/objects/2e/79f89a90f58369ef197534e8488158f379d264 b/.git.bak/objects/2e/79f89a90f58369ef197534e8488158f379d264 new file mode 100644 index 0000000..66259bc Binary files /dev/null and b/.git.bak/objects/2e/79f89a90f58369ef197534e8488158f379d264 differ diff --git a/.git.bak/objects/2e/89e63f7933e42b8ba543ede35d2a8fa3e4f100 b/.git.bak/objects/2e/89e63f7933e42b8ba543ede35d2a8fa3e4f100 new file mode 100644 index 0000000..5f77533 Binary files /dev/null and b/.git.bak/objects/2e/89e63f7933e42b8ba543ede35d2a8fa3e4f100 differ diff --git a/.git.bak/objects/2e/a50874b6d0cf0745444dfc5479769e67503a19 b/.git.bak/objects/2e/a50874b6d0cf0745444dfc5479769e67503a19 new file mode 100644 index 0000000..350961b Binary files /dev/null and b/.git.bak/objects/2e/a50874b6d0cf0745444dfc5479769e67503a19 differ diff --git a/.git.bak/objects/2e/decce2f0fa5adcc88ebc609440221621048c05 b/.git.bak/objects/2e/decce2f0fa5adcc88ebc609440221621048c05 new file mode 100644 index 0000000..54c8c02 Binary files /dev/null and b/.git.bak/objects/2e/decce2f0fa5adcc88ebc609440221621048c05 differ diff --git a/.git.bak/objects/2f/0b79395fcccd0edfd49e790f89fe6403863ec4 b/.git.bak/objects/2f/0b79395fcccd0edfd49e790f89fe6403863ec4 new file mode 100644 index 0000000..5ec0b89 --- /dev/null +++ b/.git.bak/objects/2f/0b79395fcccd0edfd49e790f89fe6403863ec4 @@ -0,0 +1 @@ +xMj@ @IJIhd 3߿9C>xڷ6 4oK%V#%mZ4Ex 1PŇI[ $YukNq;|˯^>>*m] 3HX2ݫǺc30rO9 K" \ No newline at end of file diff --git a/.git.bak/objects/2f/3355c509acd1a0e9d409f9e655939d6d18c2ec b/.git.bak/objects/2f/3355c509acd1a0e9d409f9e655939d6d18c2ec new file mode 100644 index 0000000..ed74f95 Binary files /dev/null and b/.git.bak/objects/2f/3355c509acd1a0e9d409f9e655939d6d18c2ec differ diff --git a/.git.bak/objects/2f/6dab4c10431239352ab4626e326bf4e97cad5c b/.git.bak/objects/2f/6dab4c10431239352ab4626e326bf4e97cad5c new file mode 100644 index 0000000..040ebc5 Binary files /dev/null and b/.git.bak/objects/2f/6dab4c10431239352ab4626e326bf4e97cad5c differ diff --git a/.git.bak/objects/2f/7f2fa28822113957adab0b2b7e9f494070505a b/.git.bak/objects/2f/7f2fa28822113957adab0b2b7e9f494070505a new file mode 100644 index 0000000..4cd0d53 Binary files /dev/null and b/.git.bak/objects/2f/7f2fa28822113957adab0b2b7e9f494070505a differ diff --git a/.git.bak/objects/2f/8aaeab5a05352e9025f499a0ab64902acd92ef b/.git.bak/objects/2f/8aaeab5a05352e9025f499a0ab64902acd92ef new file mode 100644 index 0000000..fabebec Binary files /dev/null and b/.git.bak/objects/2f/8aaeab5a05352e9025f499a0ab64902acd92ef differ diff --git a/.git.bak/objects/2f/9d7775ca65c49861fffbe98f9e68a86f916adc b/.git.bak/objects/2f/9d7775ca65c49861fffbe98f9e68a86f916adc new file mode 100644 index 0000000..7f97db8 Binary files /dev/null and b/.git.bak/objects/2f/9d7775ca65c49861fffbe98f9e68a86f916adc differ diff --git a/.git.bak/objects/2f/b32a0e63c9a140cc3acb351cd5ce6c3c75d501 b/.git.bak/objects/2f/b32a0e63c9a140cc3acb351cd5ce6c3c75d501 new file mode 100644 index 0000000..2ded258 --- /dev/null +++ b/.git.bak/objects/2f/b32a0e63c9a140cc3acb351cd5ce6c3c75d501 @@ -0,0 +1 @@ +xU;0 ;c.$x@2ڎaCX^uCȲ#˺OJ-R#WSԀEj o<*sajEݮ=* \ No newline at end of file diff --git a/.git.bak/objects/2f/b9a2b99762ce2bf164ce526e1387cc7ddfe703 b/.git.bak/objects/2f/b9a2b99762ce2bf164ce526e1387cc7ddfe703 new file mode 100644 index 0000000..4233631 Binary files /dev/null and b/.git.bak/objects/2f/b9a2b99762ce2bf164ce526e1387cc7ddfe703 differ diff --git a/.git.bak/objects/2f/de7bf6a941190aba3a15a5d280df73503881c8 b/.git.bak/objects/2f/de7bf6a941190aba3a15a5d280df73503881c8 new file mode 100644 index 0000000..ce8510c Binary files /dev/null and b/.git.bak/objects/2f/de7bf6a941190aba3a15a5d280df73503881c8 differ diff --git a/.git.bak/objects/30/fa42cd86682a8ddf0b3b6817236ca94d7463d3 b/.git.bak/objects/30/fa42cd86682a8ddf0b3b6817236ca94d7463d3 new file mode 100644 index 0000000..c1b47d5 Binary files /dev/null and b/.git.bak/objects/30/fa42cd86682a8ddf0b3b6817236ca94d7463d3 differ diff --git a/.git.bak/objects/31/1e1cbd8fd27220d6c8ac49144315660d1a27f1 b/.git.bak/objects/31/1e1cbd8fd27220d6c8ac49144315660d1a27f1 new file mode 100644 index 0000000..ca448b6 Binary files /dev/null and b/.git.bak/objects/31/1e1cbd8fd27220d6c8ac49144315660d1a27f1 differ diff --git a/.git.bak/objects/31/3382214599a9b52a408282b40c3f907407a30a b/.git.bak/objects/31/3382214599a9b52a408282b40c3f907407a30a new file mode 100644 index 0000000..56f0591 --- /dev/null +++ b/.git.bak/objects/31/3382214599a9b52a408282b40c3f907407a30a @@ -0,0 +1,3 @@ +xRao0sϋUhD nӄBN|m:v +s6lBO|{/%ɳ7&$5T9tF&'VFNhEFnWi<`*P.siN*B m x@4j+pŽwR2so8>#nnPΏi@)Z:83ܿˏVvRѴO{RGzV?%Z}Bܐag)]WgtN_zC.k!+}Ɨˋu1L}\^|^} *Z@1PA;Gk2:: 8l K&$~m*m-#<&ѼCZ +5c6?Ya;%/QD$?>W胜+5"lw. \ No newline at end of file diff --git a/.git.bak/objects/33/7adbdf9e2bb26a94f40aa5b0eb604f9365b9b0 b/.git.bak/objects/33/7adbdf9e2bb26a94f40aa5b0eb604f9365b9b0 new file mode 100644 index 0000000..e6451ad Binary files /dev/null and b/.git.bak/objects/33/7adbdf9e2bb26a94f40aa5b0eb604f9365b9b0 differ diff --git a/.git.bak/objects/33/905f0fc92c406715fef234ba43605c95390b30 b/.git.bak/objects/33/905f0fc92c406715fef234ba43605c95390b30 new file mode 100644 index 0000000..95e7602 Binary files /dev/null and b/.git.bak/objects/33/905f0fc92c406715fef234ba43605c95390b30 differ diff --git a/.git.bak/objects/33/a1c8fe4242319c176f1d70a64e8e7cded8bdd5 b/.git.bak/objects/33/a1c8fe4242319c176f1d70a64e8e7cded8bdd5 new file mode 100644 index 0000000..fcfbbe3 Binary files /dev/null and b/.git.bak/objects/33/a1c8fe4242319c176f1d70a64e8e7cded8bdd5 differ diff --git a/.git.bak/objects/33/cb0b3f1d2dc6fa7f8bd447ec1c7a3d584505b3 b/.git.bak/objects/33/cb0b3f1d2dc6fa7f8bd447ec1c7a3d584505b3 new file mode 100644 index 0000000..75b9075 Binary files /dev/null and b/.git.bak/objects/33/cb0b3f1d2dc6fa7f8bd447ec1c7a3d584505b3 differ diff --git a/.git.bak/objects/34/6274af81b1bb7beddde49e9634d37192ad0657 b/.git.bak/objects/34/6274af81b1bb7beddde49e9634d37192ad0657 new file mode 100644 index 0000000..8b60b7c Binary files /dev/null and b/.git.bak/objects/34/6274af81b1bb7beddde49e9634d37192ad0657 differ diff --git a/.git.bak/objects/34/81e903c489bc4e3e3004da8240409cbffe4b15 b/.git.bak/objects/34/81e903c489bc4e3e3004da8240409cbffe4b15 new file mode 100644 index 0000000..76274e7 Binary files /dev/null and b/.git.bak/objects/34/81e903c489bc4e3e3004da8240409cbffe4b15 differ diff --git a/.git.bak/objects/34/8af66002a6ea96b393b380134d8452c4fc1d40 b/.git.bak/objects/34/8af66002a6ea96b393b380134d8452c4fc1d40 new file mode 100644 index 0000000..bc14f9c --- /dev/null +++ b/.git.bak/objects/34/8af66002a6ea96b393b380134d8452c4fc1d40 @@ -0,0 +1,3 @@ +xM1N0E}Od~%$p?HNAh]nI"-3~^4Mcd[TstKNljSRf,]]W&ZI|Xgs;Zl|:+=%za*~} c\?׏sU8qB:@d{n*s +`THZE9.Rpo:؀:D R rLqg}`'Ga/D +ʥ o@ \ No newline at end of file diff --git a/.git.bak/objects/34/995e79d1528aaceca7d38f323df52514ba7d0f b/.git.bak/objects/34/995e79d1528aaceca7d38f323df52514ba7d0f new file mode 100644 index 0000000..d47cf6a --- /dev/null +++ b/.git.bak/objects/34/995e79d1528aaceca7d38f323df52514ba7d0f @@ -0,0 +1,4 @@ +x]RK0Ybi f +)-#+8V9ɖ F5[o_>d\Aj=:MHlo9XѲCٛ#8gA']qFIk4}5uB5YOl+34HFl/դ9ۘ +|ң|̠<^êM>.$bFDp=L4#36 ̍!/ 8gN5]yZc %(d'pz"Խxn `6ȅʥGyCbd /P ;; 5vlMox.x.q/ XD\zr}5 P[`ȋbkqlȿePSɀPHx^Ej+v +C\@l$,AH³" k<]X\.s|g8xtSp̍@RxR NdH lD\="+ր-M@EˠbQ$*؊4aX\3TF)R8< } $D$]~B)QbEl"W}tK l" DG%Dl ] $GvX \ No newline at end of file diff --git a/.git.bak/objects/34/b1a2de37216b60b749c23b6f894e51d701ecf0 b/.git.bak/objects/34/b1a2de37216b60b749c23b6f894e51d701ecf0 new file mode 100644 index 0000000..392c951 Binary files /dev/null and b/.git.bak/objects/34/b1a2de37216b60b749c23b6f894e51d701ecf0 differ diff --git a/.git.bak/objects/34/e60591349679d8cbdb1033a60eb5d171d7637e b/.git.bak/objects/34/e60591349679d8cbdb1033a60eb5d171d7637e new file mode 100644 index 0000000..af8e84c --- /dev/null +++ b/.git.bak/objects/34/e60591349679d8cbdb1033a60eb5d171d7637e @@ -0,0 +1 @@ +xMA0E]sY 1q@kV%ƻ Eow yRҳ:˞-lpZze4dEH=9[뚗Z#(4 YJw%|E뒽M*K89BYeBbLzi11$H8 \ No newline at end of file diff --git a/.git.bak/objects/35/0c0020174f7877681496735b26fa84bc37d819 b/.git.bak/objects/35/0c0020174f7877681496735b26fa84bc37d819 new file mode 100644 index 0000000..4aff7cc Binary files /dev/null and b/.git.bak/objects/35/0c0020174f7877681496735b26fa84bc37d819 differ diff --git a/.git.bak/objects/35/0fccd5aa88fb0a855d182db3073b17991b6cc2 b/.git.bak/objects/35/0fccd5aa88fb0a855d182db3073b17991b6cc2 new file mode 100644 index 0000000..c37d11a Binary files /dev/null and b/.git.bak/objects/35/0fccd5aa88fb0a855d182db3073b17991b6cc2 differ diff --git a/.git.bak/objects/35/2129ca356c8ce4ba2e5e6b78c092f401e0f2da b/.git.bak/objects/35/2129ca356c8ce4ba2e5e6b78c092f401e0f2da new file mode 100644 index 0000000..438fe08 Binary files /dev/null and b/.git.bak/objects/35/2129ca356c8ce4ba2e5e6b78c092f401e0f2da differ diff --git a/.git.bak/objects/35/2bfdabd228c58a83d22f1d739a33d5e0b0cf0f b/.git.bak/objects/35/2bfdabd228c58a83d22f1d739a33d5e0b0cf0f new file mode 100644 index 0000000..edea4d1 --- /dev/null +++ b/.git.bak/objects/35/2bfdabd228c58a83d22f1d739a33d5e0b0cf0f @@ -0,0 +1,5 @@ +x}=O0`f2eH*l\}?@8D%S:y^2d@{ ; `CsQҘU2ʠ>) vp5O1 !u#'- +ZƠNSp/n{νpӪ?Pp>`X]j(M + 7$j~߃6r0 C +rny)Řq̮TݺL +YSPtikBn/Y!zvC(~ \ No newline at end of file diff --git a/.git.bak/objects/35/345e6fcda387dc8f52c3990d592806041ab6e6 b/.git.bak/objects/35/345e6fcda387dc8f52c3990d592806041ab6e6 new file mode 100644 index 0000000..8ac9857 Binary files /dev/null and b/.git.bak/objects/35/345e6fcda387dc8f52c3990d592806041ab6e6 differ diff --git a/.git.bak/objects/35/3ff2caa9752df7b87b6529dceb6afc5cc6f219 b/.git.bak/objects/35/3ff2caa9752df7b87b6529dceb6afc5cc6f219 new file mode 100644 index 0000000..6f33428 Binary files /dev/null and b/.git.bak/objects/35/3ff2caa9752df7b87b6529dceb6afc5cc6f219 differ diff --git a/.git.bak/objects/35/9995436311ca2c69c0d05c1b7ad389aa63e9b9 b/.git.bak/objects/35/9995436311ca2c69c0d05c1b7ad389aa63e9b9 new file mode 100644 index 0000000..c9dcf84 Binary files /dev/null and b/.git.bak/objects/35/9995436311ca2c69c0d05c1b7ad389aa63e9b9 differ diff --git a/.git.bak/objects/35/fe82e61542b72e3bf3fecd6869a46f8fdbee60 b/.git.bak/objects/35/fe82e61542b72e3bf3fecd6869a46f8fdbee60 new file mode 100644 index 0000000..4ff61bf --- /dev/null +++ b/.git.bak/objects/35/fe82e61542b72e3bf3fecd6869a46f8fdbee60 @@ -0,0 +1 @@ +xU=O0+%NZѢ 10*;yvV Ǔ~,=]ݭK؈\1E_lVE쟄p6ȓUj?*vuTs"|j:.()}nRϤGZVѫ ߞ5>-/1$%>1]/:bﯽ 785.?u;[I;™B"ͯw:SXnIa*S!hQGujT}2 }޾:$; 'ErkQH>P \q&*&wm8WI"RP`'*e \ No newline at end of file diff --git a/.git.bak/objects/36/c76221dafc534fb7f0975ea34c4e7190ccd347 b/.git.bak/objects/36/c76221dafc534fb7f0975ea34c4e7190ccd347 new file mode 100644 index 0000000..cd2ad06 Binary files /dev/null and b/.git.bak/objects/36/c76221dafc534fb7f0975ea34c4e7190ccd347 differ diff --git a/.git.bak/objects/36/d0f2be797b982b27936bbd2bb0cf6625fbc6d7 b/.git.bak/objects/36/d0f2be797b982b27936bbd2bb0cf6625fbc6d7 new file mode 100644 index 0000000..1574e56 Binary files /dev/null and b/.git.bak/objects/36/d0f2be797b982b27936bbd2bb0cf6625fbc6d7 differ diff --git a/.git.bak/objects/36/f14d19ac67cab45b1de78cbdee960fb78b38fe b/.git.bak/objects/36/f14d19ac67cab45b1de78cbdee960fb78b38fe new file mode 100644 index 0000000..1d0ed48 --- /dev/null +++ b/.git.bak/objects/36/f14d19ac67cab45b1de78cbdee960fb78b38fe @@ -0,0 +1,3 @@ +x+)JMU041b040031Qtv ve(iSv¿%wnSTI^n +ü?z;n8e +SuuUsmņ@ P(.Jf|󹊬5Ԟ]tqM,> \ No newline at end of file diff --git a/.git.bak/objects/37/25da3d0cc4de08531aa0dfadc6dd162f1ffda6 b/.git.bak/objects/37/25da3d0cc4de08531aa0dfadc6dd162f1ffda6 new file mode 100644 index 0000000..cce1b5c Binary files /dev/null and b/.git.bak/objects/37/25da3d0cc4de08531aa0dfadc6dd162f1ffda6 differ diff --git a/.git.bak/objects/37/75ded27a03be158166586d1da6ac21cf4b31a1 b/.git.bak/objects/37/75ded27a03be158166586d1da6ac21cf4b31a1 new file mode 100644 index 0000000..ec795cd --- /dev/null +++ b/.git.bak/objects/37/75ded27a03be158166586d1da6ac21cf4b31a1 @@ -0,0 +1 @@ +x=1 a瞂Ad6BQOoY\y )cnLĖwA%|*mXbTK"?-!vhjjT~K+%5 \ No newline at end of file diff --git a/.git.bak/objects/37/7e5f87c784cd321d0b2bda4bde5f0b897351af b/.git.bak/objects/37/7e5f87c784cd321d0b2bda4bde5f0b897351af new file mode 100644 index 0000000..4d1c3db Binary files /dev/null and b/.git.bak/objects/37/7e5f87c784cd321d0b2bda4bde5f0b897351af differ diff --git a/.git.bak/objects/37/9782860f581fdb3f7c4b371f395a57d2a459ee b/.git.bak/objects/37/9782860f581fdb3f7c4b371f395a57d2a459ee new file mode 100644 index 0000000..2ed005c Binary files /dev/null and b/.git.bak/objects/37/9782860f581fdb3f7c4b371f395a57d2a459ee differ diff --git a/.git.bak/objects/37/b11eac5e47d1cb657f8106cba8ef75955e8855 b/.git.bak/objects/37/b11eac5e47d1cb657f8106cba8ef75955e8855 new file mode 100644 index 0000000..8c51e54 Binary files /dev/null and b/.git.bak/objects/37/b11eac5e47d1cb657f8106cba8ef75955e8855 differ diff --git a/.git.bak/objects/37/b1a2437d1d55a8ac14076015b978200441b0e0 b/.git.bak/objects/37/b1a2437d1d55a8ac14076015b978200441b0e0 new file mode 100644 index 0000000..25c4f7e Binary files /dev/null and b/.git.bak/objects/37/b1a2437d1d55a8ac14076015b978200441b0e0 differ diff --git a/.git.bak/objects/37/b4366b83e63e037cd447090ec25b39fce27e01 b/.git.bak/objects/37/b4366b83e63e037cd447090ec25b39fce27e01 new file mode 100644 index 0000000..e8e2ea6 Binary files /dev/null and b/.git.bak/objects/37/b4366b83e63e037cd447090ec25b39fce27e01 differ diff --git a/.git.bak/objects/37/c7e1aa6cbd4effd94ee28bd7b0655756b80cea b/.git.bak/objects/37/c7e1aa6cbd4effd94ee28bd7b0655756b80cea new file mode 100644 index 0000000..e7c16c2 Binary files /dev/null and b/.git.bak/objects/37/c7e1aa6cbd4effd94ee28bd7b0655756b80cea differ diff --git a/.git.bak/objects/37/ea38de20918592485461916dfbb859460fa22c b/.git.bak/objects/37/ea38de20918592485461916dfbb859460fa22c new file mode 100644 index 0000000..63dff5c Binary files /dev/null and b/.git.bak/objects/37/ea38de20918592485461916dfbb859460fa22c differ diff --git a/.git.bak/objects/37/ec93a14fdcd0d6e525d97c0cfa6b314eaa98d8 b/.git.bak/objects/37/ec93a14fdcd0d6e525d97c0cfa6b314eaa98d8 new file mode 100644 index 0000000..5496065 Binary files /dev/null and b/.git.bak/objects/37/ec93a14fdcd0d6e525d97c0cfa6b314eaa98d8 differ diff --git a/.git.bak/objects/37/edad16f5aca0263d8350f3654cf1f04a5c32cf b/.git.bak/objects/37/edad16f5aca0263d8350f3654cf1f04a5c32cf new file mode 100644 index 0000000..9b642bf Binary files /dev/null and b/.git.bak/objects/37/edad16f5aca0263d8350f3654cf1f04a5c32cf differ diff --git a/.git.bak/objects/37/f271d502af3462a1096267e4d8c569e6fc7da2 b/.git.bak/objects/37/f271d502af3462a1096267e4d8c569e6fc7da2 new file mode 100644 index 0000000..43def5f Binary files /dev/null and b/.git.bak/objects/37/f271d502af3462a1096267e4d8c569e6fc7da2 differ diff --git a/.git.bak/objects/38/0bd85f0009b17e02091bd0c2747741c58cacbe b/.git.bak/objects/38/0bd85f0009b17e02091bd0c2747741c58cacbe new file mode 100644 index 0000000..5d9ed37 Binary files /dev/null and b/.git.bak/objects/38/0bd85f0009b17e02091bd0c2747741c58cacbe differ diff --git a/.git.bak/objects/38/1e6aad4619cbed1e74bf64a0dc3fe216dc0abe b/.git.bak/objects/38/1e6aad4619cbed1e74bf64a0dc3fe216dc0abe new file mode 100644 index 0000000..3bc90d2 Binary files /dev/null and b/.git.bak/objects/38/1e6aad4619cbed1e74bf64a0dc3fe216dc0abe differ diff --git a/.git.bak/objects/38/42493ec68e8eb5a5377fa4c3a33e454be4e882 b/.git.bak/objects/38/42493ec68e8eb5a5377fa4c3a33e454be4e882 new file mode 100644 index 0000000..3b9d33c Binary files /dev/null and b/.git.bak/objects/38/42493ec68e8eb5a5377fa4c3a33e454be4e882 differ diff --git a/.git.bak/objects/38/5664fb6682eaca1696901420c5ec51cda8da8a b/.git.bak/objects/38/5664fb6682eaca1696901420c5ec51cda8da8a new file mode 100644 index 0000000..efcc3f1 Binary files /dev/null and b/.git.bak/objects/38/5664fb6682eaca1696901420c5ec51cda8da8a differ diff --git a/.git.bak/objects/38/57e199184a0a3f0d921e740525278af0f86ff3 b/.git.bak/objects/38/57e199184a0a3f0d921e740525278af0f86ff3 new file mode 100644 index 0000000..a66cd6a Binary files /dev/null and b/.git.bak/objects/38/57e199184a0a3f0d921e740525278af0f86ff3 differ diff --git a/.git.bak/objects/38/6b7b6946e47bc46f8138791049b4e6a7cef889 b/.git.bak/objects/38/6b7b6946e47bc46f8138791049b4e6a7cef889 new file mode 100644 index 0000000..656b6bc Binary files /dev/null and b/.git.bak/objects/38/6b7b6946e47bc46f8138791049b4e6a7cef889 differ diff --git a/.git.bak/objects/38/887d1be48bef8df1f21735408ee0ad1823fede b/.git.bak/objects/38/887d1be48bef8df1f21735408ee0ad1823fede new file mode 100644 index 0000000..c8cf421 Binary files /dev/null and b/.git.bak/objects/38/887d1be48bef8df1f21735408ee0ad1823fede differ diff --git a/.git.bak/objects/38/a4d8e4954ea30a156b8edd0802311f2ca2cf1c b/.git.bak/objects/38/a4d8e4954ea30a156b8edd0802311f2ca2cf1c new file mode 100644 index 0000000..294a3a8 Binary files /dev/null and b/.git.bak/objects/38/a4d8e4954ea30a156b8edd0802311f2ca2cf1c differ diff --git a/.git.bak/objects/39/00dd7e2ffe6d5205fde1cd3f890aa51ea36234 b/.git.bak/objects/39/00dd7e2ffe6d5205fde1cd3f890aa51ea36234 new file mode 100644 index 0000000..47b900a Binary files /dev/null and b/.git.bak/objects/39/00dd7e2ffe6d5205fde1cd3f890aa51ea36234 differ diff --git a/.git.bak/objects/39/a04d7f834bea5e8da37c4cf56973a7b3217dd5 b/.git.bak/objects/39/a04d7f834bea5e8da37c4cf56973a7b3217dd5 new file mode 100644 index 0000000..9ac86b5 Binary files /dev/null and b/.git.bak/objects/39/a04d7f834bea5e8da37c4cf56973a7b3217dd5 differ diff --git a/.git.bak/objects/39/d320f55de5640c327991c765af2fc16b9635cb b/.git.bak/objects/39/d320f55de5640c327991c765af2fc16b9635cb new file mode 100644 index 0000000..c7f1605 Binary files /dev/null and b/.git.bak/objects/39/d320f55de5640c327991c765af2fc16b9635cb differ diff --git a/.git.bak/objects/3a/12e8642651dc11e02842be181311761562f318 b/.git.bak/objects/3a/12e8642651dc11e02842be181311761562f318 new file mode 100644 index 0000000..5b021c6 Binary files /dev/null and b/.git.bak/objects/3a/12e8642651dc11e02842be181311761562f318 differ diff --git a/.git.bak/objects/3a/21a273dba046d85043d69a92bfbbe37e089069 b/.git.bak/objects/3a/21a273dba046d85043d69a92bfbbe37e089069 new file mode 100644 index 0000000..429ef9f --- /dev/null +++ b/.git.bak/objects/3a/21a273dba046d85043d69a92bfbbe37e089069 @@ -0,0 +1 @@ +xmRn09_8IJ8ԕTU]Hq;;3cG<{YDQy[[5&pM ~Pkeѣh;F{B 3#j+[t4!JX.,Op]RJWdA/t[;p{tdUI|4cz ZLwu4 =ғw9+^'rNRڹԻ =%Y^{+_riI:([j)`flUM-0͠ ZbbBsd+YAF pQ(h ^/~X'׿?? j#XRt )93A>a|uBɘmFL:+q7~+ >>$Z:3CԴ<Z'J / \ No newline at end of file diff --git a/.git.bak/objects/3b/c52ca412398ada7302bed6b54deca20bec2075 b/.git.bak/objects/3b/c52ca412398ada7302bed6b54deca20bec2075 new file mode 100644 index 0000000..99b2f4b Binary files /dev/null and b/.git.bak/objects/3b/c52ca412398ada7302bed6b54deca20bec2075 differ diff --git a/.git.bak/objects/3b/e57479275ca9a32fea94df05d59c3b7830af80 b/.git.bak/objects/3b/e57479275ca9a32fea94df05d59c3b7830af80 new file mode 100644 index 0000000..63c0f45 Binary files /dev/null and b/.git.bak/objects/3b/e57479275ca9a32fea94df05d59c3b7830af80 differ diff --git a/.git.bak/objects/3c/3d3c2f7b14c6a570e58184f68ef0894a5f812d b/.git.bak/objects/3c/3d3c2f7b14c6a570e58184f68ef0894a5f812d new file mode 100644 index 0000000..ea92cca Binary files /dev/null and b/.git.bak/objects/3c/3d3c2f7b14c6a570e58184f68ef0894a5f812d differ diff --git a/.git.bak/objects/3c/6c0b43907a04484b7c84e730c4868e0d74fca4 b/.git.bak/objects/3c/6c0b43907a04484b7c84e730c4868e0d74fca4 new file mode 100644 index 0000000..4592f68 Binary files /dev/null and b/.git.bak/objects/3c/6c0b43907a04484b7c84e730c4868e0d74fca4 differ diff --git a/.git.bak/objects/3c/870ea3413b9f44c9ad71a5ee8798b74334a971 b/.git.bak/objects/3c/870ea3413b9f44c9ad71a5ee8798b74334a971 new file mode 100644 index 0000000..c8a211b Binary files /dev/null and b/.git.bak/objects/3c/870ea3413b9f44c9ad71a5ee8798b74334a971 differ diff --git a/.git.bak/objects/3c/9d74dcd2f516cc9a1b6e3114d4d32af27467bb b/.git.bak/objects/3c/9d74dcd2f516cc9a1b6e3114d4d32af27467bb new file mode 100644 index 0000000..2218c63 Binary files /dev/null and b/.git.bak/objects/3c/9d74dcd2f516cc9a1b6e3114d4d32af27467bb differ diff --git a/.git.bak/objects/3c/d4a7cf1b715912338c31b86a941064ae8f3ada b/.git.bak/objects/3c/d4a7cf1b715912338c31b86a941064ae8f3ada new file mode 100644 index 0000000..1b709b1 --- /dev/null +++ b/.git.bak/objects/3c/d4a7cf1b715912338c31b86a941064ae8f3ada @@ -0,0 +1 @@ +xAj0E)f_F$3#idQpWgyր.P/%b;YBL K}6F,yIbC2Htblk=Gi6pȚSxRd׶Uyk,\~֖GYҶ~ `Ih8q;6΢u2 đ0 H,I \ No newline at end of file diff --git a/.git.bak/objects/3e/41168bf5d635bc6281f84a52a72b36aaa0db5e b/.git.bak/objects/3e/41168bf5d635bc6281f84a52a72b36aaa0db5e new file mode 100644 index 0000000..9f5e17c Binary files /dev/null and b/.git.bak/objects/3e/41168bf5d635bc6281f84a52a72b36aaa0db5e differ diff --git a/.git.bak/objects/3e/4d7b3bb5c788e1c13c71e30488fbebb00bbff9 b/.git.bak/objects/3e/4d7b3bb5c788e1c13c71e30488fbebb00bbff9 new file mode 100644 index 0000000..eeed9dc Binary files /dev/null and b/.git.bak/objects/3e/4d7b3bb5c788e1c13c71e30488fbebb00bbff9 differ diff --git a/.git.bak/objects/3e/b0a91dc1e21c704728dffd8ec1845ba630056f b/.git.bak/objects/3e/b0a91dc1e21c704728dffd8ec1845ba630056f new file mode 100644 index 0000000..fa8c792 Binary files /dev/null and b/.git.bak/objects/3e/b0a91dc1e21c704728dffd8ec1845ba630056f differ diff --git a/.git.bak/objects/3f/3c6aaf766d2662295a3c3b4a10d7281029afa4 b/.git.bak/objects/3f/3c6aaf766d2662295a3c3b4a10d7281029afa4 new file mode 100644 index 0000000..c8a87fb Binary files /dev/null and b/.git.bak/objects/3f/3c6aaf766d2662295a3c3b4a10d7281029afa4 differ diff --git a/.git.bak/objects/3f/5072e07037c5a85d1ce705a6a7b9ea8f5528d4 b/.git.bak/objects/3f/5072e07037c5a85d1ce705a6a7b9ea8f5528d4 new file mode 100644 index 0000000..4d8b623 Binary files /dev/null and b/.git.bak/objects/3f/5072e07037c5a85d1ce705a6a7b9ea8f5528d4 differ diff --git a/.git.bak/objects/3f/5d21165e7f6a5ed46e84227d91c8596c17fe88 b/.git.bak/objects/3f/5d21165e7f6a5ed46e84227d91c8596c17fe88 new file mode 100644 index 0000000..3906504 Binary files /dev/null and b/.git.bak/objects/3f/5d21165e7f6a5ed46e84227d91c8596c17fe88 differ diff --git a/.git.bak/objects/3f/6417175e84de36f91fdbea99ef5bd0e58f51e5 b/.git.bak/objects/3f/6417175e84de36f91fdbea99ef5bd0e58f51e5 new file mode 100644 index 0000000..0992864 Binary files /dev/null and b/.git.bak/objects/3f/6417175e84de36f91fdbea99ef5bd0e58f51e5 differ diff --git a/.git.bak/objects/3f/ac8f1b2a5d128a11e2e067e37cfbadc31457f8 b/.git.bak/objects/3f/ac8f1b2a5d128a11e2e067e37cfbadc31457f8 new file mode 100644 index 0000000..e2b1ec7 Binary files /dev/null and b/.git.bak/objects/3f/ac8f1b2a5d128a11e2e067e37cfbadc31457f8 differ diff --git a/.git.bak/objects/3f/bbddb6c11e38c4faf143ddb2ad4c8db7b869f9 b/.git.bak/objects/3f/bbddb6c11e38c4faf143ddb2ad4c8db7b869f9 new file mode 100644 index 0000000..4f227bf Binary files /dev/null and b/.git.bak/objects/3f/bbddb6c11e38c4faf143ddb2ad4c8db7b869f9 differ diff --git a/.git.bak/objects/3f/bf8927e00179deca5a8855b4b4c17da9450676 b/.git.bak/objects/3f/bf8927e00179deca5a8855b4b4c17da9450676 new file mode 100644 index 0000000..71c6597 Binary files /dev/null and b/.git.bak/objects/3f/bf8927e00179deca5a8855b4b4c17da9450676 differ diff --git a/.git.bak/objects/3f/f1f1fa397718be73e1bb4a44149f8df224a18a b/.git.bak/objects/3f/f1f1fa397718be73e1bb4a44149f8df224a18a new file mode 100644 index 0000000..faf4bab Binary files /dev/null and b/.git.bak/objects/3f/f1f1fa397718be73e1bb4a44149f8df224a18a differ diff --git a/.git.bak/objects/40/16ca18ebd3c846787ac6ac3dd11f63b444b17b b/.git.bak/objects/40/16ca18ebd3c846787ac6ac3dd11f63b444b17b new file mode 100644 index 0000000..5e6d3fb Binary files /dev/null and b/.git.bak/objects/40/16ca18ebd3c846787ac6ac3dd11f63b444b17b differ diff --git a/.git.bak/objects/40/a38b459f2375c36410ad97884c9aab280834b7 b/.git.bak/objects/40/a38b459f2375c36410ad97884c9aab280834b7 new file mode 100644 index 0000000..194295d Binary files /dev/null and b/.git.bak/objects/40/a38b459f2375c36410ad97884c9aab280834b7 differ diff --git a/.git.bak/objects/41/17b40f687aaebd97c3989c471aa9e67a085352 b/.git.bak/objects/41/17b40f687aaebd97c3989c471aa9e67a085352 new file mode 100644 index 0000000..372a4f6 Binary files /dev/null and b/.git.bak/objects/41/17b40f687aaebd97c3989c471aa9e67a085352 differ diff --git a/.git.bak/objects/41/54c08acb02bbe5e8e098f601a16d8e9aff4034 b/.git.bak/objects/41/54c08acb02bbe5e8e098f601a16d8e9aff4034 new file mode 100644 index 0000000..1e879df Binary files /dev/null and b/.git.bak/objects/41/54c08acb02bbe5e8e098f601a16d8e9aff4034 differ diff --git a/.git.bak/objects/41/840e7bc3e48cda894597cd18e562a37a174f7c b/.git.bak/objects/41/840e7bc3e48cda894597cd18e562a37a174f7c new file mode 100644 index 0000000..cad50d4 Binary files /dev/null and b/.git.bak/objects/41/840e7bc3e48cda894597cd18e562a37a174f7c differ diff --git a/.git.bak/objects/41/d2b564a4abbd0f4093162e3668c45dc2a88c2a b/.git.bak/objects/41/d2b564a4abbd0f4093162e3668c45dc2a88c2a new file mode 100644 index 0000000..44654c5 Binary files /dev/null and b/.git.bak/objects/41/d2b564a4abbd0f4093162e3668c45dc2a88c2a differ diff --git a/.git.bak/objects/42/3bc521defb0dee3a1ad100057f60596253a3ee b/.git.bak/objects/42/3bc521defb0dee3a1ad100057f60596253a3ee new file mode 100644 index 0000000..63a91e8 Binary files /dev/null and b/.git.bak/objects/42/3bc521defb0dee3a1ad100057f60596253a3ee differ diff --git a/.git.bak/objects/42/5950f9fc9ed7c09d78c749f27014cfdf4a84d3 b/.git.bak/objects/42/5950f9fc9ed7c09d78c749f27014cfdf4a84d3 new file mode 100644 index 0000000..8f13493 --- /dev/null +++ b/.git.bak/objects/42/5950f9fc9ed7c09d78c749f27014cfdf4a84d3 @@ -0,0 +1,2 @@ +xuPAj09؛jTZ`z0B/4={r*we$ + I3#mfU3XڢH1/gkk'tx&ٜIx~M.B[j[ SE1D48BTAix-'UUPp0oW'þC~9l$U%-bx!Y%R,'5l܌H \ No newline at end of file diff --git a/.git.bak/objects/42/5c3e59d3623e886bfbf9b64a4a3863c83eabe8 b/.git.bak/objects/42/5c3e59d3623e886bfbf9b64a4a3863c83eabe8 new file mode 100644 index 0000000..4852000 Binary files /dev/null and b/.git.bak/objects/42/5c3e59d3623e886bfbf9b64a4a3863c83eabe8 differ diff --git a/.git.bak/objects/42/db1a664264217f0b57017aba9c6d05e3d8f827 b/.git.bak/objects/42/db1a664264217f0b57017aba9c6d05e3d8f827 new file mode 100644 index 0000000..c9d1a11 Binary files /dev/null and b/.git.bak/objects/42/db1a664264217f0b57017aba9c6d05e3d8f827 differ diff --git a/.git.bak/objects/42/ddcad8f8bd748e91c4d62aeefdf4ac13a4f07a b/.git.bak/objects/42/ddcad8f8bd748e91c4d62aeefdf4ac13a4f07a new file mode 100644 index 0000000..a34fbc1 Binary files /dev/null and b/.git.bak/objects/42/ddcad8f8bd748e91c4d62aeefdf4ac13a4f07a differ diff --git a/.git.bak/objects/42/f9f0e94f589dcff5246e1503eb24f206e3b182 b/.git.bak/objects/42/f9f0e94f589dcff5246e1503eb24f206e3b182 new file mode 100644 index 0000000..dd05da3 Binary files /dev/null and b/.git.bak/objects/42/f9f0e94f589dcff5246e1503eb24f206e3b182 differ diff --git a/.git.bak/objects/43/0b705aca13c9c40f62066a3cb4815faacbd4ed b/.git.bak/objects/43/0b705aca13c9c40f62066a3cb4815faacbd4ed new file mode 100644 index 0000000..c94ec3c Binary files /dev/null and b/.git.bak/objects/43/0b705aca13c9c40f62066a3cb4815faacbd4ed differ diff --git a/.git.bak/objects/43/58aebddff7d665ae2012eb0ed4efaf95c2b2c8 b/.git.bak/objects/43/58aebddff7d665ae2012eb0ed4efaf95c2b2c8 new file mode 100644 index 0000000..85b88e4 Binary files /dev/null and b/.git.bak/objects/43/58aebddff7d665ae2012eb0ed4efaf95c2b2c8 differ diff --git a/.git.bak/objects/43/bee3bc93c9929d5ea7b88eb5d1bc16bcd4ad5c b/.git.bak/objects/43/bee3bc93c9929d5ea7b88eb5d1bc16bcd4ad5c new file mode 100644 index 0000000..019e927 Binary files /dev/null and b/.git.bak/objects/43/bee3bc93c9929d5ea7b88eb5d1bc16bcd4ad5c differ diff --git a/.git.bak/objects/44/04fa9e2f066ec32dcff6403bbae9f00fa25cea b/.git.bak/objects/44/04fa9e2f066ec32dcff6403bbae9f00fa25cea new file mode 100644 index 0000000..1e63031 Binary files /dev/null and b/.git.bak/objects/44/04fa9e2f066ec32dcff6403bbae9f00fa25cea differ diff --git a/.git.bak/objects/44/28df4df4ee97153a72f4e1b8f62f5a95a45dc7 b/.git.bak/objects/44/28df4df4ee97153a72f4e1b8f62f5a95a45dc7 new file mode 100644 index 0000000..c463d2f Binary files /dev/null and b/.git.bak/objects/44/28df4df4ee97153a72f4e1b8f62f5a95a45dc7 differ diff --git a/.git.bak/objects/44/3e716b85dc54a70d063109d4e9afa39022989d b/.git.bak/objects/44/3e716b85dc54a70d063109d4e9afa39022989d new file mode 100644 index 0000000..45ebca5 Binary files /dev/null and b/.git.bak/objects/44/3e716b85dc54a70d063109d4e9afa39022989d differ diff --git a/.git.bak/objects/44/45451fbe2ccd00617f2848e567afb5eecb6825 b/.git.bak/objects/44/45451fbe2ccd00617f2848e567afb5eecb6825 new file mode 100644 index 0000000..7fdcb72 Binary files /dev/null and b/.git.bak/objects/44/45451fbe2ccd00617f2848e567afb5eecb6825 differ diff --git a/.git.bak/objects/44/50550ef120f065a538cc64194315118575d0e5 b/.git.bak/objects/44/50550ef120f065a538cc64194315118575d0e5 new file mode 100644 index 0000000..86f0c49 Binary files /dev/null and b/.git.bak/objects/44/50550ef120f065a538cc64194315118575d0e5 differ diff --git a/.git.bak/objects/44/602294fdf7bc7086a8521dc44d54844d696cdb b/.git.bak/objects/44/602294fdf7bc7086a8521dc44d54844d696cdb new file mode 100644 index 0000000..acc240c Binary files /dev/null and b/.git.bak/objects/44/602294fdf7bc7086a8521dc44d54844d696cdb differ diff --git a/.git.bak/objects/44/7695b2e1220bea0ee1572544a47ccb864e69c0 b/.git.bak/objects/44/7695b2e1220bea0ee1572544a47ccb864e69c0 new file mode 100644 index 0000000..d7f99a2 Binary files /dev/null and b/.git.bak/objects/44/7695b2e1220bea0ee1572544a47ccb864e69c0 differ diff --git a/.git.bak/objects/44/a1f05157b1557d5f2245eb37dfd722623cb6af b/.git.bak/objects/44/a1f05157b1557d5f2245eb37dfd722623cb6af new file mode 100644 index 0000000..9e3d92f --- /dev/null +++ b/.git.bak/objects/44/a1f05157b1557d5f2245eb37dfd722623cb6af @@ -0,0 +1,2 @@ +x+)JMU045g040031Qp r rҎ.z) ^;/HҌmkُT PH)M.-fƦ쵬!L'+I@&&3d{iCnnsL>=g$&0|xݽK{?Ή +{u\d຾,10WAMԴE \ No newline at end of file diff --git a/.git.bak/objects/46/4a0190bb250fb40878c6bc423cc387a6cb3eda b/.git.bak/objects/46/4a0190bb250fb40878c6bc423cc387a6cb3eda new file mode 100644 index 0000000..89c322a Binary files /dev/null and b/.git.bak/objects/46/4a0190bb250fb40878c6bc423cc387a6cb3eda differ diff --git a/.git.bak/objects/46/b5dffb0c74d8e06000f8ee453ecdb4b2d5a0ec b/.git.bak/objects/46/b5dffb0c74d8e06000f8ee453ecdb4b2d5a0ec new file mode 100644 index 0000000..9d525f1 Binary files /dev/null and b/.git.bak/objects/46/b5dffb0c74d8e06000f8ee453ecdb4b2d5a0ec differ diff --git a/.git.bak/objects/46/f3b120b8724f7a62ece8975157c2df19e5f1b3 b/.git.bak/objects/46/f3b120b8724f7a62ece8975157c2df19e5f1b3 new file mode 100644 index 0000000..42c8624 Binary files /dev/null and b/.git.bak/objects/46/f3b120b8724f7a62ece8975157c2df19e5f1b3 differ diff --git a/.git.bak/objects/47/64e0bcc0d678515321dd5c3b958d5daf57ae00 b/.git.bak/objects/47/64e0bcc0d678515321dd5c3b958d5daf57ae00 new file mode 100644 index 0000000..3e934d5 Binary files /dev/null and b/.git.bak/objects/47/64e0bcc0d678515321dd5c3b958d5daf57ae00 differ diff --git a/.git.bak/objects/47/6891d8b90eb39ce7ab4f462d4c1d0c266ecddb b/.git.bak/objects/47/6891d8b90eb39ce7ab4f462d4c1d0c266ecddb new file mode 100644 index 0000000..062443c Binary files /dev/null and b/.git.bak/objects/47/6891d8b90eb39ce7ab4f462d4c1d0c266ecddb differ diff --git a/.git.bak/objects/47/9211a7b32761ad05e3f735e511424cfbf6c7d3 b/.git.bak/objects/47/9211a7b32761ad05e3f735e511424cfbf6c7d3 new file mode 100644 index 0000000..a9c25a3 --- /dev/null +++ b/.git.bak/objects/47/9211a7b32761ad05e3f735e511424cfbf6c7d3 @@ -0,0 +1,2 @@ +x}Tˎ8Y_\fAٞ bA$1`Jj[KlOQrYĎO,VUWU\Ejy^Jʩ,e|H$oiqcE7Zt޸zي,Ɂ.еuJ$I H2-. n qt׹7,#q`\-HZmQ3b,#9S5n6 &ې߬k8 08/tȯxQ1 ޙxr?T;+0FO0[  " g2x[HTwVyݱ@s47ZslKݧJ/Hݒ8f:Iu폃LLo?[O&ug~hlpbCwƪաٷx:c}'%nԩ<+$99=ڳP2Œ1{L$]"C#ϷFڱjO!4FeW(|>LY\.MQ}3ʽɦ4ZSv jdy^|zc>&szRZTb-QNrVeZ<4ԙ-dt0ٸE|AM({cޡ؇:EV=2bc¡|CL6y fbRwh7!D<./x/Ev0u +bFo&5gQH7me(kwl>KjxhJٛ~:xegl6dq ݋GwM \ No newline at end of file diff --git a/.git.bak/objects/47/da52e8bfe73ea5a01376f2fb51c2db968a0e5f b/.git.bak/objects/47/da52e8bfe73ea5a01376f2fb51c2db968a0e5f new file mode 100644 index 0000000..7994b61 Binary files /dev/null and b/.git.bak/objects/47/da52e8bfe73ea5a01376f2fb51c2db968a0e5f differ diff --git a/.git.bak/objects/47/fa9e240029eb6fa2906727e20ec843fc3b6308 b/.git.bak/objects/47/fa9e240029eb6fa2906727e20ec843fc3b6308 new file mode 100644 index 0000000..163a541 Binary files /dev/null and b/.git.bak/objects/47/fa9e240029eb6fa2906727e20ec843fc3b6308 differ diff --git a/.git.bak/objects/48/5f057b47582c553e933e275e19605e1ee5567b b/.git.bak/objects/48/5f057b47582c553e933e275e19605e1ee5567b new file mode 100644 index 0000000..cd0f973 Binary files /dev/null and b/.git.bak/objects/48/5f057b47582c553e933e275e19605e1ee5567b differ diff --git a/.git.bak/objects/48/6878a229317a54594c917437f7ebc9dbf82d37 b/.git.bak/objects/48/6878a229317a54594c917437f7ebc9dbf82d37 new file mode 100644 index 0000000..45069b3 --- /dev/null +++ b/.git.bak/objects/48/6878a229317a54594c917437f7ebc9dbf82d37 @@ -0,0 +1,5 @@ +xuTMo0 ݹBi&N- +=tغ0,-3ZY$91]$r)uIwT@vNRW5u`!QV/ +]{t$H $* υT'ᗢ\+oEzmRBvRV8M iE.*];݀M81H*|]( 5\4pRB vHޛć {IA8I@]ƂsnƛE*!*TڀZJ^)m ACQAA#Sdg}g,E`0(O +6HG͆pPCѱt)|5CR JTCviEB WCYȚl~Q4xS3쳁T ;]&BuƎOd)AQB, +45oFKhofh0KÚ>U9>4k‡qiЫ}W36bGE_h:iJKLmVm!d\]JQN=|7r?+7t2?۶H"7#l0hJËD8ϼD%OFi8P.hRrJv㘇'4cg_ſi XCO2Dj{.>8!ss+b^R@ +mUwV#n=_lzyf~t94% \ No newline at end of file diff --git a/.git.bak/objects/48/d2fb477241e837c6e8d349777aac312746029b b/.git.bak/objects/48/d2fb477241e837c6e8d349777aac312746029b new file mode 100644 index 0000000..a77fde1 Binary files /dev/null and b/.git.bak/objects/48/d2fb477241e837c6e8d349777aac312746029b differ diff --git a/.git.bak/objects/48/f05d01d0acae75acada5bd42a3442d0699d067 b/.git.bak/objects/48/f05d01d0acae75acada5bd42a3442d0699d067 new file mode 100644 index 0000000..64eae87 Binary files /dev/null and b/.git.bak/objects/48/f05d01d0acae75acada5bd42a3442d0699d067 differ diff --git a/.git.bak/objects/49/456e5fc60fa60714e6e0470bf9e30ab47ff675 b/.git.bak/objects/49/456e5fc60fa60714e6e0470bf9e30ab47ff675 new file mode 100644 index 0000000..d9eac04 Binary files /dev/null and b/.git.bak/objects/49/456e5fc60fa60714e6e0470bf9e30ab47ff675 differ diff --git a/.git.bak/objects/49/971890df8e2b9a4a5f4909fbd6678b862d8a50 b/.git.bak/objects/49/971890df8e2b9a4a5f4909fbd6678b862d8a50 new file mode 100644 index 0000000..4ef5c19 Binary files /dev/null and b/.git.bak/objects/49/971890df8e2b9a4a5f4909fbd6678b862d8a50 differ diff --git a/.git.bak/objects/49/db45a49e261c4097d95d44fa075c59bed86831 b/.git.bak/objects/49/db45a49e261c4097d95d44fa075c59bed86831 new file mode 100644 index 0000000..1deceec Binary files /dev/null and b/.git.bak/objects/49/db45a49e261c4097d95d44fa075c59bed86831 differ diff --git a/.git.bak/objects/49/ddb9a1d68fd76a82904ef694de6b2770c04575 b/.git.bak/objects/49/ddb9a1d68fd76a82904ef694de6b2770c04575 new file mode 100644 index 0000000..b4a2c63 Binary files /dev/null and b/.git.bak/objects/49/ddb9a1d68fd76a82904ef694de6b2770c04575 differ diff --git a/.git.bak/objects/49/ed2e550ef671a3cb97f13ce7e442c00d922365 b/.git.bak/objects/49/ed2e550ef671a3cb97f13ce7e442c00d922365 new file mode 100644 index 0000000..302f50a Binary files /dev/null and b/.git.bak/objects/49/ed2e550ef671a3cb97f13ce7e442c00d922365 differ diff --git a/.git.bak/objects/49/faa5df9c4a7590aad3e0f73b6100e733d4dc09 b/.git.bak/objects/49/faa5df9c4a7590aad3e0f73b6100e733d4dc09 new file mode 100644 index 0000000..c845c51 Binary files /dev/null and b/.git.bak/objects/49/faa5df9c4a7590aad3e0f73b6100e733d4dc09 differ diff --git a/.git.bak/objects/4a/2fdc625da1b3a7192658aacaa7b8c486cea763 b/.git.bak/objects/4a/2fdc625da1b3a7192658aacaa7b8c486cea763 new file mode 100644 index 0000000..74d02b1 Binary files /dev/null and b/.git.bak/objects/4a/2fdc625da1b3a7192658aacaa7b8c486cea763 differ diff --git a/.git.bak/objects/4a/3227c1ecba8bb4e5cb2820d11345e9549d64bf b/.git.bak/objects/4a/3227c1ecba8bb4e5cb2820d11345e9549d64bf new file mode 100644 index 0000000..5e03f71 Binary files /dev/null and b/.git.bak/objects/4a/3227c1ecba8bb4e5cb2820d11345e9549d64bf differ diff --git a/.git.bak/objects/4a/66dcf24e0b17dce66d4742994e726e5c45439a b/.git.bak/objects/4a/66dcf24e0b17dce66d4742994e726e5c45439a new file mode 100644 index 0000000..f5adcdf Binary files /dev/null and b/.git.bak/objects/4a/66dcf24e0b17dce66d4742994e726e5c45439a differ diff --git a/.git.bak/objects/4a/8124e17981823f31542d46e5ac4c685d901a7f b/.git.bak/objects/4a/8124e17981823f31542d46e5ac4c685d901a7f new file mode 100644 index 0000000..b14651b Binary files /dev/null and b/.git.bak/objects/4a/8124e17981823f31542d46e5ac4c685d901a7f differ diff --git a/.git.bak/objects/4a/958bfd0c851abe432a9dc52ea1d029516d5dbc b/.git.bak/objects/4a/958bfd0c851abe432a9dc52ea1d029516d5dbc new file mode 100644 index 0000000..594bc7c Binary files /dev/null and b/.git.bak/objects/4a/958bfd0c851abe432a9dc52ea1d029516d5dbc differ diff --git a/.git.bak/objects/4a/98362baf165d9190ab6bc7b627daeaad6fac8c b/.git.bak/objects/4a/98362baf165d9190ab6bc7b627daeaad6fac8c new file mode 100644 index 0000000..df40a32 --- /dev/null +++ b/.git.bak/objects/4a/98362baf165d9190ab6bc7b627daeaad6fac8c @@ -0,0 +1 @@ +x50EүĕA!iVaw3̝imT7܏#9.{5^YKPK”oij`yw&K.bm8.j9z)Æox+ֺqAYX ;7 +F%C; -A}K>"i:Zr o&ogz6ُq_YȕU4@l; Mh*RP`&Nc^br7^+!:JjU3ӽޥnhj0KY_ȇN \ No newline at end of file diff --git a/.git.bak/objects/4b/46d62ada7a01dc123d18a30dbcf1071b70ab0a b/.git.bak/objects/4b/46d62ada7a01dc123d18a30dbcf1071b70ab0a new file mode 100644 index 0000000..fd928d8 Binary files /dev/null and b/.git.bak/objects/4b/46d62ada7a01dc123d18a30dbcf1071b70ab0a differ diff --git a/.git.bak/objects/4b/817913d7c5c38794ae07e582d4b5ef8966188e b/.git.bak/objects/4b/817913d7c5c38794ae07e582d4b5ef8966188e new file mode 100644 index 0000000..0294c17 Binary files /dev/null and b/.git.bak/objects/4b/817913d7c5c38794ae07e582d4b5ef8966188e differ diff --git a/.git.bak/objects/4c/0fb2b0ab4cb0365fb8b4672b8c39c493e4d771 b/.git.bak/objects/4c/0fb2b0ab4cb0365fb8b4672b8c39c493e4d771 new file mode 100644 index 0000000..af474e1 Binary files /dev/null and b/.git.bak/objects/4c/0fb2b0ab4cb0365fb8b4672b8c39c493e4d771 differ diff --git a/.git.bak/objects/4c/2443cc0cfee4ebba3fe4b50c7d69120792b77f b/.git.bak/objects/4c/2443cc0cfee4ebba3fe4b50c7d69120792b77f new file mode 100644 index 0000000..b230fbf Binary files /dev/null and b/.git.bak/objects/4c/2443cc0cfee4ebba3fe4b50c7d69120792b77f differ diff --git a/.git.bak/objects/4c/5b6f757f46af739bceddb1092b5afede92b3e4 b/.git.bak/objects/4c/5b6f757f46af739bceddb1092b5afede92b3e4 new file mode 100644 index 0000000..0dc4471 Binary files /dev/null and b/.git.bak/objects/4c/5b6f757f46af739bceddb1092b5afede92b3e4 differ diff --git a/.git.bak/objects/4c/e5539bcfb60024c0e01cac818fda169b20924e b/.git.bak/objects/4c/e5539bcfb60024c0e01cac818fda169b20924e new file mode 100644 index 0000000..f13b3ff Binary files /dev/null and b/.git.bak/objects/4c/e5539bcfb60024c0e01cac818fda169b20924e differ diff --git a/.git.bak/objects/4d/482c43ea8220ecb2950f73321cb1fb8a9de225 b/.git.bak/objects/4d/482c43ea8220ecb2950f73321cb1fb8a9de225 new file mode 100644 index 0000000..697b96e Binary files /dev/null and b/.git.bak/objects/4d/482c43ea8220ecb2950f73321cb1fb8a9de225 differ diff --git a/.git.bak/objects/4d/bae6ba39717fee9d3a79df90e6d2381d16542f b/.git.bak/objects/4d/bae6ba39717fee9d3a79df90e6d2381d16542f new file mode 100644 index 0000000..a480246 Binary files /dev/null and b/.git.bak/objects/4d/bae6ba39717fee9d3a79df90e6d2381d16542f differ diff --git a/.git.bak/objects/4d/c0aea418e394e99282d5b6e9758f104da54d84 b/.git.bak/objects/4d/c0aea418e394e99282d5b6e9758f104da54d84 new file mode 100644 index 0000000..f224dd8 Binary files /dev/null and b/.git.bak/objects/4d/c0aea418e394e99282d5b6e9758f104da54d84 differ diff --git a/.git.bak/objects/4d/ff5dc7088a4ee9234760d9260217a64b200522 b/.git.bak/objects/4d/ff5dc7088a4ee9234760d9260217a64b200522 new file mode 100644 index 0000000..755eb32 --- /dev/null +++ b/.git.bak/objects/4d/ff5dc7088a4ee9234760d9260217a64b200522 @@ -0,0 +1,2 @@ +xK +1] W$=07ޜZvPuS801G>[<,#>haV&!Z2kmzȩ䣭vZ%n-* N4*xv;D \ No newline at end of file diff --git a/.git.bak/objects/4e/06e112d37174f4e66b0d92c23e8dc475b1c45c b/.git.bak/objects/4e/06e112d37174f4e66b0d92c23e8dc475b1c45c new file mode 100644 index 0000000..e830b8c Binary files /dev/null and b/.git.bak/objects/4e/06e112d37174f4e66b0d92c23e8dc475b1c45c differ diff --git a/.git.bak/objects/4e/0860a6eeb0ab38d672cb287a8681dde4881973 b/.git.bak/objects/4e/0860a6eeb0ab38d672cb287a8681dde4881973 new file mode 100644 index 0000000..3ceaf52 Binary files /dev/null and b/.git.bak/objects/4e/0860a6eeb0ab38d672cb287a8681dde4881973 differ diff --git a/.git.bak/objects/4e/5c3ff25ac158bba365548767e9fdd815a1788c b/.git.bak/objects/4e/5c3ff25ac158bba365548767e9fdd815a1788c new file mode 100644 index 0000000..7b6edf6 Binary files /dev/null and b/.git.bak/objects/4e/5c3ff25ac158bba365548767e9fdd815a1788c differ diff --git a/.git.bak/objects/4e/b389e1abb23a36d0dce1a4e645064f8ad3aaf7 b/.git.bak/objects/4e/b389e1abb23a36d0dce1a4e645064f8ad3aaf7 new file mode 100644 index 0000000..394e575 --- /dev/null +++ b/.git.bak/objects/4e/b389e1abb23a36d0dce1a4e645064f8ad3aaf7 @@ -0,0 +1 @@ +x+)JMU05d040031QMKLO-K.,564+Lfh|?jՇi1-!M%IgGF \ No newline at end of file diff --git a/.git.bak/objects/4e/cc31df8ab3fd311570d866b418514d159abfde b/.git.bak/objects/4e/cc31df8ab3fd311570d866b418514d159abfde new file mode 100644 index 0000000..94b55a2 Binary files /dev/null and b/.git.bak/objects/4e/cc31df8ab3fd311570d866b418514d159abfde differ diff --git a/.git.bak/objects/4f/21e7ef1e3d2ed8da18a9671f983b012e45198b b/.git.bak/objects/4f/21e7ef1e3d2ed8da18a9671f983b012e45198b new file mode 100644 index 0000000..5092e6c Binary files /dev/null and b/.git.bak/objects/4f/21e7ef1e3d2ed8da18a9671f983b012e45198b differ diff --git a/.git.bak/objects/4f/2840c0b72488218ac325a35022de790176be4d b/.git.bak/objects/4f/2840c0b72488218ac325a35022de790176be4d new file mode 100644 index 0000000..9ea9a3d Binary files /dev/null and b/.git.bak/objects/4f/2840c0b72488218ac325a35022de790176be4d differ diff --git a/.git.bak/objects/4f/51315d6af4bda48533904adf1c530d1ac95a4a b/.git.bak/objects/4f/51315d6af4bda48533904adf1c530d1ac95a4a new file mode 100644 index 0000000..3944f1d Binary files /dev/null and b/.git.bak/objects/4f/51315d6af4bda48533904adf1c530d1ac95a4a differ diff --git a/.git.bak/objects/4f/a61ca116009efc18ecbd1531538f31234ad103 b/.git.bak/objects/4f/a61ca116009efc18ecbd1531538f31234ad103 new file mode 100644 index 0000000..b111bfb Binary files /dev/null and b/.git.bak/objects/4f/a61ca116009efc18ecbd1531538f31234ad103 differ diff --git a/.git.bak/objects/4f/d812309feb7c1ba4a8b7007beec714753e1c7a b/.git.bak/objects/4f/d812309feb7c1ba4a8b7007beec714753e1c7a new file mode 100644 index 0000000..2b4fbc0 Binary files /dev/null and b/.git.bak/objects/4f/d812309feb7c1ba4a8b7007beec714753e1c7a differ diff --git a/.git.bak/objects/4f/e9e6f10036e619c2407f08ead54802bbfbcbd1 b/.git.bak/objects/4f/e9e6f10036e619c2407f08ead54802bbfbcbd1 new file mode 100644 index 0000000..0a42ac3 Binary files /dev/null and b/.git.bak/objects/4f/e9e6f10036e619c2407f08ead54802bbfbcbd1 differ diff --git a/.git.bak/objects/4f/f7e9a4143ee9077ca901075d44a0ed1aec570d b/.git.bak/objects/4f/f7e9a4143ee9077ca901075d44a0ed1aec570d new file mode 100644 index 0000000..94d30d7 Binary files /dev/null and b/.git.bak/objects/4f/f7e9a4143ee9077ca901075d44a0ed1aec570d differ diff --git a/.git.bak/objects/50/1287cd3b7024435d85a872bb1ba0b234db8e7f b/.git.bak/objects/50/1287cd3b7024435d85a872bb1ba0b234db8e7f new file mode 100644 index 0000000..eaa7216 Binary files /dev/null and b/.git.bak/objects/50/1287cd3b7024435d85a872bb1ba0b234db8e7f differ diff --git a/.git.bak/objects/50/1b5c24706cf009c1ae495c1555e8098c355388 b/.git.bak/objects/50/1b5c24706cf009c1ae495c1555e8098c355388 new file mode 100644 index 0000000..850f757 Binary files /dev/null and b/.git.bak/objects/50/1b5c24706cf009c1ae495c1555e8098c355388 differ diff --git a/.git.bak/objects/50/3eb1e6d0f5a1404c8e7f6c09fbda7e40fd29b4 b/.git.bak/objects/50/3eb1e6d0f5a1404c8e7f6c09fbda7e40fd29b4 new file mode 100644 index 0000000..73c95ab Binary files /dev/null and b/.git.bak/objects/50/3eb1e6d0f5a1404c8e7f6c09fbda7e40fd29b4 differ diff --git a/.git.bak/objects/50/605bf22f54e918d04ee963362cc6cee87a8eef b/.git.bak/objects/50/605bf22f54e918d04ee963362cc6cee87a8eef new file mode 100644 index 0000000..98e979b Binary files /dev/null and b/.git.bak/objects/50/605bf22f54e918d04ee963362cc6cee87a8eef differ diff --git a/.git.bak/objects/50/77e7bb4087913f8c8cf945caaf6deb86ab65bc b/.git.bak/objects/50/77e7bb4087913f8c8cf945caaf6deb86ab65bc new file mode 100644 index 0000000..ae11e2b Binary files /dev/null and b/.git.bak/objects/50/77e7bb4087913f8c8cf945caaf6deb86ab65bc differ diff --git a/.git.bak/objects/50/92b4dd8c867bc6073e0c13962b232ba9cb6c0a b/.git.bak/objects/50/92b4dd8c867bc6073e0c13962b232ba9cb6c0a new file mode 100644 index 0000000..e38c2ec Binary files /dev/null and b/.git.bak/objects/50/92b4dd8c867bc6073e0c13962b232ba9cb6c0a differ diff --git a/.git.bak/objects/51/071384556b5862d4ed6a5c38128f5bfa4aba8d b/.git.bak/objects/51/071384556b5862d4ed6a5c38128f5bfa4aba8d new file mode 100644 index 0000000..83f826e --- /dev/null +++ b/.git.bak/objects/51/071384556b5862d4ed6a5c38128f5bfa4aba8d @@ -0,0 +1,6 @@ +xJ1=)=RD*xVP/Z{PDt3%,B;:M|'Z`a23iPhK +U!? #,FV .s=)qUjs5vߡ0\MV/5(ޒ 8@cg +HV#q$XŚKFDv[4n1 +6N +ORf~/1_|F߃?Spa" z%6b|GWu>>!t5'e_<,P%a ޭ! ۄz5MJOĴi1`7{QRo7l? +Ke׽7kL \ No newline at end of file diff --git a/.git.bak/objects/51/0cae26e67a58d4c1cdfb4ed5afd80c0f50c782 b/.git.bak/objects/51/0cae26e67a58d4c1cdfb4ed5afd80c0f50c782 new file mode 100644 index 0000000..fcf16e0 Binary files /dev/null and b/.git.bak/objects/51/0cae26e67a58d4c1cdfb4ed5afd80c0f50c782 differ diff --git a/.git.bak/objects/51/228e5cecc2929c27b40f855a6f4eb4fb9baf7b b/.git.bak/objects/51/228e5cecc2929c27b40f855a6f4eb4fb9baf7b new file mode 100644 index 0000000..9134d9e --- /dev/null +++ b/.git.bak/objects/51/228e5cecc2929c27b40f855a6f4eb4fb9baf7b @@ -0,0 +1,3 @@ +xRN0jriR)jťJ4M6P!EC;3;3큶Y\E!8aKj]z! r6@'f0GsLސ6p )!>wJL Xl`}8{t|V8`|ETO=H/K%19Y'` +JXm1eGYaasy*`2ZiS9<B] +&BC.j [=1C]~k._ۣl?x`T{M,.x}=}4 \ No newline at end of file diff --git a/.git.bak/objects/51/df8f9707cebd8469d793a8d90050baac1c4d1d b/.git.bak/objects/51/df8f9707cebd8469d793a8d90050baac1c4d1d new file mode 100644 index 0000000..e5927af --- /dev/null +++ b/.git.bak/objects/51/df8f9707cebd8469d793a8d90050baac1c4d1d @@ -0,0 +1,5 @@ +xRn0_aLnAh +D +$Ǚ;OBwf줬8p@e{oMF}}J*!!EU/%L> ZW;QQ۠;O ɵpx_.Kz ɡi,>U<ַ1"ԟ"1^z o#[?RR}cR3t!; &HzBQxy>)#ZΟ ] [zgoS +D)j\-L$vu')L ں6=!q +股.“Dyb3fY8(z$&4o>\>hȀ2jV# \ No newline at end of file diff --git a/.git.bak/objects/52/174b6b6b28411c03f230e779c6f1edf93f9423 b/.git.bak/objects/52/174b6b6b28411c03f230e779c6f1edf93f9423 new file mode 100644 index 0000000..b5335e2 Binary files /dev/null and b/.git.bak/objects/52/174b6b6b28411c03f230e779c6f1edf93f9423 differ diff --git a/.git.bak/objects/52/2e3f4c7d63ac00654a73108fe18452f61352d6 b/.git.bak/objects/52/2e3f4c7d63ac00654a73108fe18452f61352d6 new file mode 100644 index 0000000..5cea203 Binary files /dev/null and b/.git.bak/objects/52/2e3f4c7d63ac00654a73108fe18452f61352d6 differ diff --git a/.git.bak/objects/52/523de989685ac06b53d8fad2c18bf34a8b7eaa b/.git.bak/objects/52/523de989685ac06b53d8fad2c18bf34a8b7eaa new file mode 100644 index 0000000..99e4e35 Binary files /dev/null and b/.git.bak/objects/52/523de989685ac06b53d8fad2c18bf34a8b7eaa differ diff --git a/.git.bak/objects/52/530ead25b837d65d05db58f35a14e0e48cb5a3 b/.git.bak/objects/52/530ead25b837d65d05db58f35a14e0e48cb5a3 new file mode 100644 index 0000000..a154a77 Binary files /dev/null and b/.git.bak/objects/52/530ead25b837d65d05db58f35a14e0e48cb5a3 differ diff --git a/.git.bak/objects/52/95454130d421f5b9e54bae4572b3615af696bf b/.git.bak/objects/52/95454130d421f5b9e54bae4572b3615af696bf new file mode 100644 index 0000000..40b2e99 Binary files /dev/null and b/.git.bak/objects/52/95454130d421f5b9e54bae4572b3615af696bf differ diff --git a/.git.bak/objects/52/d456e1aa382ca2f0274a26ccfc38be968c89fb b/.git.bak/objects/52/d456e1aa382ca2f0274a26ccfc38be968c89fb new file mode 100644 index 0000000..f12602f Binary files /dev/null and b/.git.bak/objects/52/d456e1aa382ca2f0274a26ccfc38be968c89fb differ diff --git a/.git.bak/objects/52/d9a5cf4e3549f7e6f245803a828be390edcaea b/.git.bak/objects/52/d9a5cf4e3549f7e6f245803a828be390edcaea new file mode 100644 index 0000000..0a62db8 Binary files /dev/null and b/.git.bak/objects/52/d9a5cf4e3549f7e6f245803a828be390edcaea differ diff --git a/.git.bak/objects/52/f7e61f472216b16d003e544fcbce8eeffaba7e b/.git.bak/objects/52/f7e61f472216b16d003e544fcbce8eeffaba7e new file mode 100644 index 0000000..ef53b15 Binary files /dev/null and b/.git.bak/objects/52/f7e61f472216b16d003e544fcbce8eeffaba7e differ diff --git a/.git.bak/objects/53/5e9f89be2994d5d63caa6dfc996d9cc2f49bb1 b/.git.bak/objects/53/5e9f89be2994d5d63caa6dfc996d9cc2f49bb1 new file mode 100644 index 0000000..996b76f Binary files /dev/null and b/.git.bak/objects/53/5e9f89be2994d5d63caa6dfc996d9cc2f49bb1 differ diff --git a/.git.bak/objects/53/77d5decebff55819d5fdd1aefc2bdd4f433280 b/.git.bak/objects/53/77d5decebff55819d5fdd1aefc2bdd4f433280 new file mode 100644 index 0000000..d429bff Binary files /dev/null and b/.git.bak/objects/53/77d5decebff55819d5fdd1aefc2bdd4f433280 differ diff --git a/.git.bak/objects/53/8ade14fa848dcce1b5b839ced17f5817fcd5ff b/.git.bak/objects/53/8ade14fa848dcce1b5b839ced17f5817fcd5ff new file mode 100644 index 0000000..84049d6 Binary files /dev/null and b/.git.bak/objects/53/8ade14fa848dcce1b5b839ced17f5817fcd5ff differ diff --git a/.git.bak/objects/53/b58d15daec2831e76389994a05bfb113fb07f7 b/.git.bak/objects/53/b58d15daec2831e76389994a05bfb113fb07f7 new file mode 100644 index 0000000..144152d Binary files /dev/null and b/.git.bak/objects/53/b58d15daec2831e76389994a05bfb113fb07f7 differ diff --git a/.git.bak/objects/54/1516bd0f23194a87482e272f48439100b70c73 b/.git.bak/objects/54/1516bd0f23194a87482e272f48439100b70c73 new file mode 100644 index 0000000..ca78e17 Binary files /dev/null and b/.git.bak/objects/54/1516bd0f23194a87482e272f48439100b70c73 differ diff --git a/.git.bak/objects/54/1fa6c20beee145efbbbf231d40e83bdee868d2 b/.git.bak/objects/54/1fa6c20beee145efbbbf231d40e83bdee868d2 new file mode 100644 index 0000000..7b32a9a --- /dev/null +++ b/.git.bak/objects/54/1fa6c20beee145efbbbf231d40e83bdee868d2 @@ -0,0 +1,2 @@ +x+)JMU045g040031Qp r rҎ.z) ^;/HҌmkُT PH)M.-fƦ쵬!L'+I@&&3t7/k33RFɋ&?g$&0|xݽK{?Ή +A \ No newline at end of file diff --git a/.git.bak/objects/54/4fbba3a418728f45d535ad1bffc02a254fcf6c b/.git.bak/objects/54/4fbba3a418728f45d535ad1bffc02a254fcf6c new file mode 100644 index 0000000..ba05eb7 Binary files /dev/null and b/.git.bak/objects/54/4fbba3a418728f45d535ad1bffc02a254fcf6c differ diff --git a/.git.bak/objects/54/871dc4cf25da5437fd052ff9e1995b8e377b3b b/.git.bak/objects/54/871dc4cf25da5437fd052ff9e1995b8e377b3b new file mode 100644 index 0000000..5baa0df Binary files /dev/null and b/.git.bak/objects/54/871dc4cf25da5437fd052ff9e1995b8e377b3b differ diff --git a/.git.bak/objects/54/9ae2f065ea5add2c4b3667e412a9d0e7d2b1af b/.git.bak/objects/54/9ae2f065ea5add2c4b3667e412a9d0e7d2b1af new file mode 100644 index 0000000..5cd8c02 Binary files /dev/null and b/.git.bak/objects/54/9ae2f065ea5add2c4b3667e412a9d0e7d2b1af differ diff --git a/.git.bak/objects/54/9dbd46e5a4c1df5f6d75e11e690d6dc8758421 b/.git.bak/objects/54/9dbd46e5a4c1df5f6d75e11e690d6dc8758421 new file mode 100644 index 0000000..42ff06d Binary files /dev/null and b/.git.bak/objects/54/9dbd46e5a4c1df5f6d75e11e690d6dc8758421 differ diff --git a/.git.bak/objects/54/9de82e30cd5749469875693cc82778289b4a4d b/.git.bak/objects/54/9de82e30cd5749469875693cc82778289b4a4d new file mode 100644 index 0000000..da8e4c3 Binary files /dev/null and b/.git.bak/objects/54/9de82e30cd5749469875693cc82778289b4a4d differ diff --git a/.git.bak/objects/54/aa0e80d41de4b8d2439b151512c3fc08c81822 b/.git.bak/objects/54/aa0e80d41de4b8d2439b151512c3fc08c81822 new file mode 100644 index 0000000..ba2f35c Binary files /dev/null and b/.git.bak/objects/54/aa0e80d41de4b8d2439b151512c3fc08c81822 differ diff --git a/.git.bak/objects/54/c4d80c60fe5e759c754973d7f3c4d4c347819d b/.git.bak/objects/54/c4d80c60fe5e759c754973d7f3c4d4c347819d new file mode 100644 index 0000000..1a9d967 Binary files /dev/null and b/.git.bak/objects/54/c4d80c60fe5e759c754973d7f3c4d4c347819d differ diff --git a/.git.bak/objects/55/62f00ed88c9b9c1ba622ef9c06a95b34d972c1 b/.git.bak/objects/55/62f00ed88c9b9c1ba622ef9c06a95b34d972c1 new file mode 100644 index 0000000..9f85439 Binary files /dev/null and b/.git.bak/objects/55/62f00ed88c9b9c1ba622ef9c06a95b34d972c1 differ diff --git a/.git.bak/objects/55/ac2453d39d72ef4c43ef100163e017a8c761b7 b/.git.bak/objects/55/ac2453d39d72ef4c43ef100163e017a8c761b7 new file mode 100644 index 0000000..58742a2 Binary files /dev/null and b/.git.bak/objects/55/ac2453d39d72ef4c43ef100163e017a8c761b7 differ diff --git a/.git.bak/objects/55/f9a585f0958898ba5e174186b9396c6ff4a897 b/.git.bak/objects/55/f9a585f0958898ba5e174186b9396c6ff4a897 new file mode 100644 index 0000000..93fc04a Binary files /dev/null and b/.git.bak/objects/55/f9a585f0958898ba5e174186b9396c6ff4a897 differ diff --git a/.git.bak/objects/56/1b40b2960ac4eac3d82455051510bb8005c353 b/.git.bak/objects/56/1b40b2960ac4eac3d82455051510bb8005c353 new file mode 100644 index 0000000..4aa3799 Binary files /dev/null and b/.git.bak/objects/56/1b40b2960ac4eac3d82455051510bb8005c353 differ diff --git a/.git.bak/objects/57/6fb51617719961375b38b15773244480b61a0e b/.git.bak/objects/57/6fb51617719961375b38b15773244480b61a0e new file mode 100644 index 0000000..42cfc52 Binary files /dev/null and b/.git.bak/objects/57/6fb51617719961375b38b15773244480b61a0e differ diff --git a/.git.bak/objects/57/876b6a74dee6a139999beb5feda4a4353214ec b/.git.bak/objects/57/876b6a74dee6a139999beb5feda4a4353214ec new file mode 100644 index 0000000..046a62a --- /dev/null +++ b/.git.bak/objects/57/876b6a74dee6a139999beb5feda4a4353214ec @@ -0,0 +1,2 @@ +xKN0Y%jBp!${'`TR=*DZwP_zcd١f[Duc^b&>GV#Jvy \q4H^4NE9>{gi\Ͻo#T7~A :, +M)E ~=4SkyD\W \ No newline at end of file diff --git a/.git.bak/objects/57/90e23e328e045e66ec6f0b98526157b6c2abcf b/.git.bak/objects/57/90e23e328e045e66ec6f0b98526157b6c2abcf new file mode 100644 index 0000000..c788354 Binary files /dev/null and b/.git.bak/objects/57/90e23e328e045e66ec6f0b98526157b6c2abcf differ diff --git a/.git.bak/objects/57/9ee086df0db8969167fab984d585dc7d4e797d b/.git.bak/objects/57/9ee086df0db8969167fab984d585dc7d4e797d new file mode 100644 index 0000000..2366bec Binary files /dev/null and b/.git.bak/objects/57/9ee086df0db8969167fab984d585dc7d4e797d differ diff --git a/.git.bak/objects/57/af92c745f5bf2fc309f25ed692b2db0bece82b b/.git.bak/objects/57/af92c745f5bf2fc309f25ed692b2db0bece82b new file mode 100644 index 0000000..5f0c890 Binary files /dev/null and b/.git.bak/objects/57/af92c745f5bf2fc309f25ed692b2db0bece82b differ diff --git a/.git.bak/objects/57/e8a78ab5218e7d424eabde5b6865997a14f500 b/.git.bak/objects/57/e8a78ab5218e7d424eabde5b6865997a14f500 new file mode 100644 index 0000000..21e9315 Binary files /dev/null and b/.git.bak/objects/57/e8a78ab5218e7d424eabde5b6865997a14f500 differ diff --git a/.git.bak/objects/57/ec7bd0754d50af9c5e96a208aed6d85c1e6d5e b/.git.bak/objects/57/ec7bd0754d50af9c5e96a208aed6d85c1e6d5e new file mode 100644 index 0000000..3ca1598 Binary files /dev/null and b/.git.bak/objects/57/ec7bd0754d50af9c5e96a208aed6d85c1e6d5e differ diff --git a/.git.bak/objects/58/6022936c59d39d5cd280a281f4ffc6fad932f5 b/.git.bak/objects/58/6022936c59d39d5cd280a281f4ffc6fad932f5 new file mode 100644 index 0000000..0b42d0f Binary files /dev/null and b/.git.bak/objects/58/6022936c59d39d5cd280a281f4ffc6fad932f5 differ diff --git a/.git.bak/objects/58/73c441e62a88335b478b30de3c2a319b945520 b/.git.bak/objects/58/73c441e62a88335b478b30de3c2a319b945520 new file mode 100644 index 0000000..e363a45 Binary files /dev/null and b/.git.bak/objects/58/73c441e62a88335b478b30de3c2a319b945520 differ diff --git a/.git.bak/objects/58/7d7fcb99fb5ebe371a44a21e773ac5da1b0429 b/.git.bak/objects/58/7d7fcb99fb5ebe371a44a21e773ac5da1b0429 new file mode 100644 index 0000000..ca8bf73 Binary files /dev/null and b/.git.bak/objects/58/7d7fcb99fb5ebe371a44a21e773ac5da1b0429 differ diff --git a/.git.bak/objects/58/a5db7834ad50f2f9a5814f49d98db106381316 b/.git.bak/objects/58/a5db7834ad50f2f9a5814f49d98db106381316 new file mode 100644 index 0000000..c495591 Binary files /dev/null and b/.git.bak/objects/58/a5db7834ad50f2f9a5814f49d98db106381316 differ diff --git a/.git.bak/objects/58/e378c7266f1c80e95f64cf76f436d632b68b9d b/.git.bak/objects/58/e378c7266f1c80e95f64cf76f436d632b68b9d new file mode 100644 index 0000000..973cb9a Binary files /dev/null and b/.git.bak/objects/58/e378c7266f1c80e95f64cf76f436d632b68b9d differ diff --git a/.git.bak/objects/59/0cb1736623e4bc02bb5cfd0d96c63a29a203bc b/.git.bak/objects/59/0cb1736623e4bc02bb5cfd0d96c63a29a203bc new file mode 100644 index 0000000..455671c Binary files /dev/null and b/.git.bak/objects/59/0cb1736623e4bc02bb5cfd0d96c63a29a203bc differ diff --git a/.git.bak/objects/59/31fd23eab9dd3be559cd4bd81253df87a5297c b/.git.bak/objects/59/31fd23eab9dd3be559cd4bd81253df87a5297c new file mode 100644 index 0000000..693c6d6 Binary files /dev/null and b/.git.bak/objects/59/31fd23eab9dd3be559cd4bd81253df87a5297c differ diff --git a/.git.bak/objects/59/93451b82e6b27d981e202b349641816d867ccf b/.git.bak/objects/59/93451b82e6b27d981e202b349641816d867ccf new file mode 100644 index 0000000..8641afe Binary files /dev/null and b/.git.bak/objects/59/93451b82e6b27d981e202b349641816d867ccf differ diff --git a/.git.bak/objects/59/c671b5af769bc5797843837056ae419ab22e80 b/.git.bak/objects/59/c671b5af769bc5797843837056ae419ab22e80 new file mode 100644 index 0000000..c81809e Binary files /dev/null and b/.git.bak/objects/59/c671b5af769bc5797843837056ae419ab22e80 differ diff --git a/.git.bak/objects/5a/012ea473352f1685b894698f41bdf2d4dc6806 b/.git.bak/objects/5a/012ea473352f1685b894698f41bdf2d4dc6806 new file mode 100644 index 0000000..6b93036 Binary files /dev/null and b/.git.bak/objects/5a/012ea473352f1685b894698f41bdf2d4dc6806 differ diff --git a/.git.bak/objects/5a/1bf249d4607e51737798c33260014fba958ee9 b/.git.bak/objects/5a/1bf249d4607e51737798c33260014fba958ee9 new file mode 100644 index 0000000..ba1f5c5 Binary files /dev/null and b/.git.bak/objects/5a/1bf249d4607e51737798c33260014fba958ee9 differ diff --git a/.git.bak/objects/5a/2ece252d1aaa7f2bc64e7eb958278a42c944dc b/.git.bak/objects/5a/2ece252d1aaa7f2bc64e7eb958278a42c944dc new file mode 100644 index 0000000..fc987bb Binary files /dev/null and b/.git.bak/objects/5a/2ece252d1aaa7f2bc64e7eb958278a42c944dc differ diff --git a/.git.bak/objects/5a/3a43cf8cf6d20324a49b75aff87d1bf902d108 b/.git.bak/objects/5a/3a43cf8cf6d20324a49b75aff87d1bf902d108 new file mode 100644 index 0000000..b0147ca Binary files /dev/null and b/.git.bak/objects/5a/3a43cf8cf6d20324a49b75aff87d1bf902d108 differ diff --git a/.git.bak/objects/5a/49992eafed9157e55fe5cf18a1eae8da8300fa b/.git.bak/objects/5a/49992eafed9157e55fe5cf18a1eae8da8300fa new file mode 100644 index 0000000..2ea606a Binary files /dev/null and b/.git.bak/objects/5a/49992eafed9157e55fe5cf18a1eae8da8300fa differ diff --git a/.git.bak/objects/5a/4a7c7149a79f113c536e08888acc70213674e8 b/.git.bak/objects/5a/4a7c7149a79f113c536e08888acc70213674e8 new file mode 100644 index 0000000..cae723f Binary files /dev/null and b/.git.bak/objects/5a/4a7c7149a79f113c536e08888acc70213674e8 differ diff --git a/.git.bak/objects/5a/6a44b386cfd17bb7a1dd1b21ab7052d5be6ec1 b/.git.bak/objects/5a/6a44b386cfd17bb7a1dd1b21ab7052d5be6ec1 new file mode 100644 index 0000000..329bdec Binary files /dev/null and b/.git.bak/objects/5a/6a44b386cfd17bb7a1dd1b21ab7052d5be6ec1 differ diff --git a/.git.bak/objects/5a/81bb7011db728d332c0946f13add94d1028130 b/.git.bak/objects/5a/81bb7011db728d332c0946f13add94d1028130 new file mode 100644 index 0000000..b963324 Binary files /dev/null and b/.git.bak/objects/5a/81bb7011db728d332c0946f13add94d1028130 differ diff --git a/.git.bak/objects/5a/86d2a8aeff6b6a27008e3e5f15000b27897f78 b/.git.bak/objects/5a/86d2a8aeff6b6a27008e3e5f15000b27897f78 new file mode 100644 index 0000000..5dee354 Binary files /dev/null and b/.git.bak/objects/5a/86d2a8aeff6b6a27008e3e5f15000b27897f78 differ diff --git a/.git.bak/objects/5a/8fcfe4d0d813c4608765b31342fe5297e5867f b/.git.bak/objects/5a/8fcfe4d0d813c4608765b31342fe5297e5867f new file mode 100644 index 0000000..15891d0 Binary files /dev/null and b/.git.bak/objects/5a/8fcfe4d0d813c4608765b31342fe5297e5867f differ diff --git a/.git.bak/objects/5a/e4c2b94cf78d9b64a5d87fe910119205728120 b/.git.bak/objects/5a/e4c2b94cf78d9b64a5d87fe910119205728120 new file mode 100644 index 0000000..3af8ce5 Binary files /dev/null and b/.git.bak/objects/5a/e4c2b94cf78d9b64a5d87fe910119205728120 differ diff --git a/.git.bak/objects/5a/f7cf6acb5a0649834b2142c3c0d9b09e3cd709 b/.git.bak/objects/5a/f7cf6acb5a0649834b2142c3c0d9b09e3cd709 new file mode 100644 index 0000000..c5ec4c0 Binary files /dev/null and b/.git.bak/objects/5a/f7cf6acb5a0649834b2142c3c0d9b09e3cd709 differ diff --git a/.git.bak/objects/5b/41e8e6c55e20dd0145ecb83f015a1ce12e9e92 b/.git.bak/objects/5b/41e8e6c55e20dd0145ecb83f015a1ce12e9e92 new file mode 100644 index 0000000..44af59b Binary files /dev/null and b/.git.bak/objects/5b/41e8e6c55e20dd0145ecb83f015a1ce12e9e92 differ diff --git a/.git.bak/objects/5b/5e741279d4b800b0c408c5efbac8de6ece450b b/.git.bak/objects/5b/5e741279d4b800b0c408c5efbac8de6ece450b new file mode 100644 index 0000000..be6561a Binary files /dev/null and b/.git.bak/objects/5b/5e741279d4b800b0c408c5efbac8de6ece450b differ diff --git a/.git.bak/objects/5b/6191264a71b599fdbf9c27aa4bbc1c7b793f75 b/.git.bak/objects/5b/6191264a71b599fdbf9c27aa4bbc1c7b793f75 new file mode 100644 index 0000000..a6cefab Binary files /dev/null and b/.git.bak/objects/5b/6191264a71b599fdbf9c27aa4bbc1c7b793f75 differ diff --git a/.git.bak/objects/5b/760b28fdb0d86fc48d906bb54d434286bfde1d b/.git.bak/objects/5b/760b28fdb0d86fc48d906bb54d434286bfde1d new file mode 100644 index 0000000..8f35e63 Binary files /dev/null and b/.git.bak/objects/5b/760b28fdb0d86fc48d906bb54d434286bfde1d differ diff --git a/.git.bak/objects/5b/d74f74e66614ff979f668d466c7e9351f834ff b/.git.bak/objects/5b/d74f74e66614ff979f668d466c7e9351f834ff new file mode 100644 index 0000000..a4185e5 Binary files /dev/null and b/.git.bak/objects/5b/d74f74e66614ff979f668d466c7e9351f834ff differ diff --git a/.git.bak/objects/5b/e251961acbdfa429cf087f94ad3b4c1719764e b/.git.bak/objects/5b/e251961acbdfa429cf087f94ad3b4c1719764e new file mode 100644 index 0000000..508e8f5 Binary files /dev/null and b/.git.bak/objects/5b/e251961acbdfa429cf087f94ad3b4c1719764e differ diff --git a/.git.bak/objects/5c/08e401ffa12001bd197d731cb1f5b7706fea70 b/.git.bak/objects/5c/08e401ffa12001bd197d731cb1f5b7706fea70 new file mode 100644 index 0000000..68ebf05 --- /dev/null +++ b/.git.bak/objects/5c/08e401ffa12001bd197d731cb1f5b7706fea70 @@ -0,0 +1,4 @@ +xŔn0S҆PwRY ֪!P8'Wǎlgb7#& Ot%EehQn9$:Q1M 9io_V^ä,%‚ VeX^e.1E+c + \ h d:[]"ޢt.5]DxUYuqͩUC൴`\ ,'U5~)q/ߌvhvDd:OSN;qщSφbNRlSaSBmAk>.zؠu8t^zi[T-:WpT r[n S>F?tR +wml'rTuqح󆟠xzv6 +JtJ٬d7)XScϝ oߏwoP֟&ğKma ?Ny? \ No newline at end of file diff --git a/.git.bak/objects/5c/250a007cc0184126e0029841ccbcc94b3fc9ca b/.git.bak/objects/5c/250a007cc0184126e0029841ccbcc94b3fc9ca new file mode 100644 index 0000000..353a4d9 Binary files /dev/null and b/.git.bak/objects/5c/250a007cc0184126e0029841ccbcc94b3fc9ca differ diff --git a/.git.bak/objects/5c/337df2ef951f6a36aabac8894211f06573ce6e b/.git.bak/objects/5c/337df2ef951f6a36aabac8894211f06573ce6e new file mode 100644 index 0000000..cad0a00 Binary files /dev/null and b/.git.bak/objects/5c/337df2ef951f6a36aabac8894211f06573ce6e differ diff --git a/.git.bak/objects/5c/463a25899a72ab94b17f0a29b937e0c0c3ee97 b/.git.bak/objects/5c/463a25899a72ab94b17f0a29b937e0c0c3ee97 new file mode 100644 index 0000000..ff9aa2d Binary files /dev/null and b/.git.bak/objects/5c/463a25899a72ab94b17f0a29b937e0c0c3ee97 differ diff --git a/.git.bak/objects/5c/c12d0585a386018d3c486be5a841d8377d15db b/.git.bak/objects/5c/c12d0585a386018d3c486be5a841d8377d15db new file mode 100644 index 0000000..9f1dc10 --- /dev/null +++ b/.git.bak/objects/5c/c12d0585a386018d3c486be5a841d8377d15db @@ -0,0 +1 @@ +xeA E]0U h-JĘݡFGr޽ BF^+KմBC  3Gu $LnZ c-(=A#jەIظvW0BnG4JDZ>VBtQk7sePk9wP7`t3t[NݡR̓3v_0b*>8a \ No newline at end of file diff --git a/.git.bak/objects/5d/1813614a329eb663bdb6b5b86253e1ab5e6ddd b/.git.bak/objects/5d/1813614a329eb663bdb6b5b86253e1ab5e6ddd new file mode 100644 index 0000000..8b78979 Binary files /dev/null and b/.git.bak/objects/5d/1813614a329eb663bdb6b5b86253e1ab5e6ddd differ diff --git a/.git.bak/objects/5d/2ed7cd9f9649f453120c5790eba2aa107e51a9 b/.git.bak/objects/5d/2ed7cd9f9649f453120c5790eba2aa107e51a9 new file mode 100644 index 0000000..7c7280e Binary files /dev/null and b/.git.bak/objects/5d/2ed7cd9f9649f453120c5790eba2aa107e51a9 differ diff --git a/.git.bak/objects/5d/30b6cf20343f3f694e5af80a21fca9f0440971 b/.git.bak/objects/5d/30b6cf20343f3f694e5af80a21fca9f0440971 new file mode 100644 index 0000000..f83f168 Binary files /dev/null and b/.git.bak/objects/5d/30b6cf20343f3f694e5af80a21fca9f0440971 differ diff --git a/.git.bak/objects/5d/30dfd0e717e87d741385c23f8eef4b0e06510e b/.git.bak/objects/5d/30dfd0e717e87d741385c23f8eef4b0e06510e new file mode 100644 index 0000000..5a79a5c --- /dev/null +++ b/.git.bak/objects/5d/30dfd0e717e87d741385c23f8eef4b0e06510e @@ -0,0 +1,2 @@ +xKn Dɢ! +fl)X +բޫXmi}i3xғ|2.g5%4N)yֲwIҀar:mRQDG5b4"6Zx7D3w>8~^y(}}}b#"5M*)^sS,%'[X;=~@XW>/ob \ No newline at end of file diff --git a/.git.bak/objects/5d/3d20096844b17956ee75c1f44e8885d7eb0396 b/.git.bak/objects/5d/3d20096844b17956ee75c1f44e8885d7eb0396 new file mode 100644 index 0000000..c0348cc --- /dev/null +++ b/.git.bak/objects/5d/3d20096844b17956ee75c1f44e8885d7eb0396 @@ -0,0 +1,3 @@ +xM10 Es +oIMCۑz|N\﷓m %5&K2l.0Fg 4GX{" z08ss] +OfUo]y=9 \ No newline at end of file diff --git a/.git.bak/objects/5d/5acf34cd272db93c2c5f16a9108b017e657282 b/.git.bak/objects/5d/5acf34cd272db93c2c5f16a9108b017e657282 new file mode 100644 index 0000000..6335600 Binary files /dev/null and b/.git.bak/objects/5d/5acf34cd272db93c2c5f16a9108b017e657282 differ diff --git a/.git.bak/objects/5d/7e2157f31d97514c00437582b77d3686b12ebd b/.git.bak/objects/5d/7e2157f31d97514c00437582b77d3686b12ebd new file mode 100644 index 0000000..bf43f7e Binary files /dev/null and b/.git.bak/objects/5d/7e2157f31d97514c00437582b77d3686b12ebd differ diff --git a/.git.bak/objects/5d/89413cc37de6cdd3f000aac13ccc48960dbd41 b/.git.bak/objects/5d/89413cc37de6cdd3f000aac13ccc48960dbd41 new file mode 100644 index 0000000..98d6566 Binary files /dev/null and b/.git.bak/objects/5d/89413cc37de6cdd3f000aac13ccc48960dbd41 differ diff --git a/.git.bak/objects/5d/ace2d74da5211f27fd23dd484a666ead8f1ef8 b/.git.bak/objects/5d/ace2d74da5211f27fd23dd484a666ead8f1ef8 new file mode 100644 index 0000000..9f154bb Binary files /dev/null and b/.git.bak/objects/5d/ace2d74da5211f27fd23dd484a666ead8f1ef8 differ diff --git a/.git.bak/objects/5d/f4233cb202efc92a8e874ef74f0c69d6ac29d1 b/.git.bak/objects/5d/f4233cb202efc92a8e874ef74f0c69d6ac29d1 new file mode 100644 index 0000000..3b92dc4 --- /dev/null +++ b/.git.bak/objects/5d/f4233cb202efc92a8e874ef74f0c69d6ac29d1 @@ -0,0 +1,3 @@ +xmQn _17T=3,a\,{9j}cq8_n&#]BRh{SOP1XS)\n& \ C,-=F BN3 {{Bp0`@'P&5$U[T +>@5L6j:@u޳ +ؿ\CJ>p<gѠ.LUT]v-Ň \ No newline at end of file diff --git a/.git.bak/objects/5e/02a5ab258a03b4d4775900db57b65b67ae4db6 b/.git.bak/objects/5e/02a5ab258a03b4d4775900db57b65b67ae4db6 new file mode 100644 index 0000000..1f6b672 Binary files /dev/null and b/.git.bak/objects/5e/02a5ab258a03b4d4775900db57b65b67ae4db6 differ diff --git a/.git.bak/objects/5e/540841f432413f874b4c75ffc7280f114c37eb b/.git.bak/objects/5e/540841f432413f874b4c75ffc7280f114c37eb new file mode 100644 index 0000000..712cf86 Binary files /dev/null and b/.git.bak/objects/5e/540841f432413f874b4c75ffc7280f114c37eb differ diff --git a/.git.bak/objects/5e/6fcff5ddd3fbf8bdda6310c224114d30b7509e b/.git.bak/objects/5e/6fcff5ddd3fbf8bdda6310c224114d30b7509e new file mode 100644 index 0000000..3e00fb4 --- /dev/null +++ b/.git.bak/objects/5e/6fcff5ddd3fbf8bdda6310c224114d30b7509e @@ -0,0 +1 @@ +xE10 PfoFԕ3&Fupܞ"exPg "xϼGSo($т`8QPKsRvuv%lפ#2xՠm>+ \ No newline at end of file diff --git a/.git.bak/objects/5e/8c03641adba4f8a149289f4107cc1c1802551d b/.git.bak/objects/5e/8c03641adba4f8a149289f4107cc1c1802551d new file mode 100644 index 0000000..9d1e0a9 Binary files /dev/null and b/.git.bak/objects/5e/8c03641adba4f8a149289f4107cc1c1802551d differ diff --git a/.git.bak/objects/5e/cdbf5db8a93a158241d17944cba44e5ffb41f1 b/.git.bak/objects/5e/cdbf5db8a93a158241d17944cba44e5ffb41f1 new file mode 100644 index 0000000..1c36712 Binary files /dev/null and b/.git.bak/objects/5e/cdbf5db8a93a158241d17944cba44e5ffb41f1 differ diff --git a/.git.bak/objects/5e/fec6664a22b0d93d6f9a529203f8846e5384f6 b/.git.bak/objects/5e/fec6664a22b0d93d6f9a529203f8846e5384f6 new file mode 100644 index 0000000..218d818 Binary files /dev/null and b/.git.bak/objects/5e/fec6664a22b0d93d6f9a529203f8846e5384f6 differ diff --git a/.git.bak/objects/5f/0a3bb0ebb650ac2ffc8126878cb684947d7b6c b/.git.bak/objects/5f/0a3bb0ebb650ac2ffc8126878cb684947d7b6c new file mode 100644 index 0000000..bc92f95 Binary files /dev/null and b/.git.bak/objects/5f/0a3bb0ebb650ac2ffc8126878cb684947d7b6c differ diff --git a/.git.bak/objects/5f/0eead1169fe5e7d661ff2bb2b9bede6967014b b/.git.bak/objects/5f/0eead1169fe5e7d661ff2bb2b9bede6967014b new file mode 100644 index 0000000..cd64219 --- /dev/null +++ b/.git.bak/objects/5f/0eead1169fe5e7d661ff2bb2b9bede6967014b @@ -0,0 +1 @@ +x];0DS$It]d-qP&,VuM;cI}V"@Yڪ8]Wrndc<&KyΙ}b* \ No newline at end of file diff --git a/.git.bak/objects/5f/2eade41bb753be2af7c1311da8689714e6b4c6 b/.git.bak/objects/5f/2eade41bb753be2af7c1311da8689714e6b4c6 new file mode 100644 index 0000000..f9fca25 Binary files /dev/null and b/.git.bak/objects/5f/2eade41bb753be2af7c1311da8689714e6b4c6 differ diff --git a/.git.bak/objects/5f/5fddeec53b514df79342efce6cae341b6309be b/.git.bak/objects/5f/5fddeec53b514df79342efce6cae341b6309be new file mode 100644 index 0000000..96bcccc Binary files /dev/null and b/.git.bak/objects/5f/5fddeec53b514df79342efce6cae341b6309be differ diff --git a/.git.bak/objects/5f/60cc0992cbae4f34123dedce058743617a842c b/.git.bak/objects/5f/60cc0992cbae4f34123dedce058743617a842c new file mode 100644 index 0000000..5116de7 Binary files /dev/null and b/.git.bak/objects/5f/60cc0992cbae4f34123dedce058743617a842c differ diff --git a/.git.bak/objects/5f/b5b0234cc6529968e3a127fda98cf8f328519a b/.git.bak/objects/5f/b5b0234cc6529968e3a127fda98cf8f328519a new file mode 100644 index 0000000..4570d7f Binary files /dev/null and b/.git.bak/objects/5f/b5b0234cc6529968e3a127fda98cf8f328519a differ diff --git a/.git.bak/objects/5f/d58315ed588027742dde690a31cd0a2610649d b/.git.bak/objects/5f/d58315ed588027742dde690a31cd0a2610649d new file mode 100644 index 0000000..50d1b99 Binary files /dev/null and b/.git.bak/objects/5f/d58315ed588027742dde690a31cd0a2610649d differ diff --git a/.git.bak/objects/60/12247c464a88a37c8711b0c40884ec8c8e182d b/.git.bak/objects/60/12247c464a88a37c8711b0c40884ec8c8e182d new file mode 100644 index 0000000..c152d95 Binary files /dev/null and b/.git.bak/objects/60/12247c464a88a37c8711b0c40884ec8c8e182d differ diff --git a/.git.bak/objects/60/221067c4d591554407b4700033aab9669a9b0e b/.git.bak/objects/60/221067c4d591554407b4700033aab9669a9b0e new file mode 100644 index 0000000..2da4c7f Binary files /dev/null and b/.git.bak/objects/60/221067c4d591554407b4700033aab9669a9b0e differ diff --git a/.git.bak/objects/60/598709a1b9356cf0ee3dd5d5ec366a658bf7a1 b/.git.bak/objects/60/598709a1b9356cf0ee3dd5d5ec366a658bf7a1 new file mode 100644 index 0000000..896a580 Binary files /dev/null and b/.git.bak/objects/60/598709a1b9356cf0ee3dd5d5ec366a658bf7a1 differ diff --git a/.git.bak/objects/60/7787d71c9a8f8ae817f4a878534d52a2ce0b70 b/.git.bak/objects/60/7787d71c9a8f8ae817f4a878534d52a2ce0b70 new file mode 100644 index 0000000..6209d2f Binary files /dev/null and b/.git.bak/objects/60/7787d71c9a8f8ae817f4a878534d52a2ce0b70 differ diff --git a/.git.bak/objects/60/85b6e84dbc760b9aa2fee924ef3bcb87989e93 b/.git.bak/objects/60/85b6e84dbc760b9aa2fee924ef3bcb87989e93 new file mode 100644 index 0000000..e5e0827 Binary files /dev/null and b/.git.bak/objects/60/85b6e84dbc760b9aa2fee924ef3bcb87989e93 differ diff --git a/.git.bak/objects/60/f12a6071ecfde47af3142e5233481a33c6d5be b/.git.bak/objects/60/f12a6071ecfde47af3142e5233481a33c6d5be new file mode 100644 index 0000000..d703f80 Binary files /dev/null and b/.git.bak/objects/60/f12a6071ecfde47af3142e5233481a33c6d5be differ diff --git a/.git.bak/objects/60/fb90e45970d491a68e6db8c72fcc531d13a44e b/.git.bak/objects/60/fb90e45970d491a68e6db8c72fcc531d13a44e new file mode 100644 index 0000000..0dc4464 Binary files /dev/null and b/.git.bak/objects/60/fb90e45970d491a68e6db8c72fcc531d13a44e differ diff --git a/.git.bak/objects/61/1fde3c2247b7690a68996fe1bcb1f89fed749c b/.git.bak/objects/61/1fde3c2247b7690a68996fe1bcb1f89fed749c new file mode 100644 index 0000000..781fb77 Binary files /dev/null and b/.git.bak/objects/61/1fde3c2247b7690a68996fe1bcb1f89fed749c differ diff --git a/.git.bak/objects/61/388e69e0daefab9d1d416f6a0a38c214e6a5f8 b/.git.bak/objects/61/388e69e0daefab9d1d416f6a0a38c214e6a5f8 new file mode 100644 index 0000000..391b1ac Binary files /dev/null and b/.git.bak/objects/61/388e69e0daefab9d1d416f6a0a38c214e6a5f8 differ diff --git a/.git.bak/objects/61/65fb0f735882b37c0d9674594b9f1cef3df5a9 b/.git.bak/objects/61/65fb0f735882b37c0d9674594b9f1cef3df5a9 new file mode 100644 index 0000000..c9e2237 Binary files /dev/null and b/.git.bak/objects/61/65fb0f735882b37c0d9674594b9f1cef3df5a9 differ diff --git a/.git.bak/objects/61/6ef8cb0b7840173f599fa9d2f9cd5ce329f3dc b/.git.bak/objects/61/6ef8cb0b7840173f599fa9d2f9cd5ce329f3dc new file mode 100644 index 0000000..9f057e4 Binary files /dev/null and b/.git.bak/objects/61/6ef8cb0b7840173f599fa9d2f9cd5ce329f3dc differ diff --git a/.git.bak/objects/61/8596389779061eb7f6f34edc61add4a517ca4f b/.git.bak/objects/61/8596389779061eb7f6f34edc61add4a517ca4f new file mode 100644 index 0000000..36e5f2e Binary files /dev/null and b/.git.bak/objects/61/8596389779061eb7f6f34edc61add4a517ca4f differ diff --git a/.git.bak/objects/61/a54f189ad93716226e80373a71a41c63e8743c b/.git.bak/objects/61/a54f189ad93716226e80373a71a41c63e8743c new file mode 100644 index 0000000..702eac8 Binary files /dev/null and b/.git.bak/objects/61/a54f189ad93716226e80373a71a41c63e8743c differ diff --git a/.git.bak/objects/61/afa2f18532ecd749469c7d9bdd15940a852f5f b/.git.bak/objects/61/afa2f18532ecd749469c7d9bdd15940a852f5f new file mode 100644 index 0000000..8eb344e Binary files /dev/null and b/.git.bak/objects/61/afa2f18532ecd749469c7d9bdd15940a852f5f differ diff --git a/.git.bak/objects/61/ca1a4933db43db96c20b5a1fb8a65e5f0fd118 b/.git.bak/objects/61/ca1a4933db43db96c20b5a1fb8a65e5f0fd118 new file mode 100644 index 0000000..e1c36e4 Binary files /dev/null and b/.git.bak/objects/61/ca1a4933db43db96c20b5a1fb8a65e5f0fd118 differ diff --git a/.git.bak/objects/62/387f2fcff7f76b1a114609a0b231cf37ce8721 b/.git.bak/objects/62/387f2fcff7f76b1a114609a0b231cf37ce8721 new file mode 100644 index 0000000..2263b7a Binary files /dev/null and b/.git.bak/objects/62/387f2fcff7f76b1a114609a0b231cf37ce8721 differ diff --git a/.git.bak/objects/62/7a81d0c760328910c25e561ae121db3b473127 b/.git.bak/objects/62/7a81d0c760328910c25e561ae121db3b473127 new file mode 100644 index 0000000..ce5b9f7 Binary files /dev/null and b/.git.bak/objects/62/7a81d0c760328910c25e561ae121db3b473127 differ diff --git a/.git.bak/objects/62/b901b7e8c1f92f113ad0bc728aed6595ee7a13 b/.git.bak/objects/62/b901b7e8c1f92f113ad0bc728aed6595ee7a13 new file mode 100644 index 0000000..37cc5f2 Binary files /dev/null and b/.git.bak/objects/62/b901b7e8c1f92f113ad0bc728aed6595ee7a13 differ diff --git a/.git.bak/objects/62/c2003168f588b4d470470278a2319c5950edc2 b/.git.bak/objects/62/c2003168f588b4d470470278a2319c5950edc2 new file mode 100644 index 0000000..c1dbc6d --- /dev/null +++ b/.git.bak/objects/62/c2003168f588b4d470470278a2319c5950edc2 @@ -0,0 +1,2 @@ +x}N0D9+H N[8p !"qSoQA@(޼3E~Uq }ЗQ +8gDk=3:æ%!sk{3c/R:[Z[,ٵkQG ξpg%[ cn6AZD~>IBHnGLj;AwO[T$= $0q)$~2Yfr9qkCCI; $3: \ No newline at end of file diff --git a/.git.bak/objects/62/ca6f16a59edd918b154f3c83fea23b4640bc86 b/.git.bak/objects/62/ca6f16a59edd918b154f3c83fea23b4640bc86 new file mode 100644 index 0000000..ab1df62 Binary files /dev/null and b/.git.bak/objects/62/ca6f16a59edd918b154f3c83fea23b4640bc86 differ diff --git a/.git.bak/objects/62/d6d237ff179b118746a64a34967f7ff4b5dff8 b/.git.bak/objects/62/d6d237ff179b118746a64a34967f7ff4b5dff8 new file mode 100644 index 0000000..d982f02 --- /dev/null +++ b/.git.bak/objects/62/d6d237ff179b118746a64a34967f7ff4b5dff8 @@ -0,0 +1,2 @@ +x]R[o0޳Oum$N1e_X^Q< \ No newline at end of file diff --git a/.git.bak/objects/63/00bfa90f7db7e86f3672b667951cb374b7f149 b/.git.bak/objects/63/00bfa90f7db7e86f3672b667951cb374b7f149 new file mode 100644 index 0000000..7e8af60 Binary files /dev/null and b/.git.bak/objects/63/00bfa90f7db7e86f3672b667951cb374b7f149 differ diff --git a/.git.bak/objects/63/0a495a1b368450225aeb2c58737149e905a3d8 b/.git.bak/objects/63/0a495a1b368450225aeb2c58737149e905a3d8 new file mode 100644 index 0000000..584bb09 Binary files /dev/null and b/.git.bak/objects/63/0a495a1b368450225aeb2c58737149e905a3d8 differ diff --git a/.git.bak/objects/63/9fca89de8e63e8959972388c7721cee47aa44d b/.git.bak/objects/63/9fca89de8e63e8959972388c7721cee47aa44d new file mode 100644 index 0000000..cb7d3f2 Binary files /dev/null and b/.git.bak/objects/63/9fca89de8e63e8959972388c7721cee47aa44d differ diff --git a/.git.bak/objects/63/b478c10a38d0cf00977ed4cea7637fc7f46fb2 b/.git.bak/objects/63/b478c10a38d0cf00977ed4cea7637fc7f46fb2 new file mode 100644 index 0000000..2e43403 Binary files /dev/null and b/.git.bak/objects/63/b478c10a38d0cf00977ed4cea7637fc7f46fb2 differ diff --git a/.git.bak/objects/63/d537d3f681143b17f9250b199a865297b020be b/.git.bak/objects/63/d537d3f681143b17f9250b199a865297b020be new file mode 100644 index 0000000..8d0e2f6 Binary files /dev/null and b/.git.bak/objects/63/d537d3f681143b17f9250b199a865297b020be differ diff --git a/.git.bak/objects/63/d8090c626cea207b5cc1fbb022dd51881bbf99 b/.git.bak/objects/63/d8090c626cea207b5cc1fbb022dd51881bbf99 new file mode 100644 index 0000000..5ba2ed6 --- /dev/null +++ b/.git.bak/objects/63/d8090c626cea207b5cc1fbb022dd51881bbf99 @@ -0,0 +1 @@ +xM ǝy(ICur/a@[#1ο9|"R-JoQb> U"azI! A2 +w|"$t6[mLԲH)3k#*B>iOE3oW/T\}>s0| 4Jq 0 :7鳷|>~r0,5\ \ No newline at end of file diff --git a/.git.bak/objects/63/fd21bf1af3548850bd5efbe2ab7a40a896cfc3 b/.git.bak/objects/63/fd21bf1af3548850bd5efbe2ab7a40a896cfc3 new file mode 100644 index 0000000..137a1e4 Binary files /dev/null and b/.git.bak/objects/63/fd21bf1af3548850bd5efbe2ab7a40a896cfc3 differ diff --git a/.git.bak/objects/64/4cd814b9d745714e4d16753de8bc8856e201e4 b/.git.bak/objects/64/4cd814b9d745714e4d16753de8bc8856e201e4 new file mode 100644 index 0000000..9b2c03b Binary files /dev/null and b/.git.bak/objects/64/4cd814b9d745714e4d16753de8bc8856e201e4 differ diff --git a/.git.bak/objects/64/507a443381a72f46f4e454f458f320a2bdf650 b/.git.bak/objects/64/507a443381a72f46f4e454f458f320a2bdf650 new file mode 100644 index 0000000..1c23bc7 Binary files /dev/null and b/.git.bak/objects/64/507a443381a72f46f4e454f458f320a2bdf650 differ diff --git a/.git.bak/objects/64/7c1f0976fd7838c1b8fe0ba59888f088fb3c5d b/.git.bak/objects/64/7c1f0976fd7838c1b8fe0ba59888f088fb3c5d new file mode 100644 index 0000000..e8beadc Binary files /dev/null and b/.git.bak/objects/64/7c1f0976fd7838c1b8fe0ba59888f088fb3c5d differ diff --git a/.git.bak/objects/64/7c8ed59c74815525ffaa2b7478521a5d872ab5 b/.git.bak/objects/64/7c8ed59c74815525ffaa2b7478521a5d872ab5 new file mode 100644 index 0000000..8e6dd71 --- /dev/null +++ b/.git.bak/objects/64/7c8ed59c74815525ffaa2b7478521a5d872ab5 @@ -0,0 +1,2 @@ +xKn Ghhܴ4r "9}8DvWѴU G;G0 k3#x/*WӲ rp̌ <ċM ^CpqR_~3xJgڎ8r~j +/cQcMөmSWS \ No newline at end of file diff --git a/.git.bak/objects/64/967ab2fc4c9675e32a4298893bdb2c0fc06cf0 b/.git.bak/objects/64/967ab2fc4c9675e32a4298893bdb2c0fc06cf0 new file mode 100644 index 0000000..dea5be8 Binary files /dev/null and b/.git.bak/objects/64/967ab2fc4c9675e32a4298893bdb2c0fc06cf0 differ diff --git a/.git.bak/objects/64/c091cec229dfcc3ac36844ec867470a326cfa6 b/.git.bak/objects/64/c091cec229dfcc3ac36844ec867470a326cfa6 new file mode 100644 index 0000000..19c9a76 Binary files /dev/null and b/.git.bak/objects/64/c091cec229dfcc3ac36844ec867470a326cfa6 differ diff --git a/.git.bak/objects/65/06e8f59904b634b18fc7753d1334ec234f4980 b/.git.bak/objects/65/06e8f59904b634b18fc7753d1334ec234f4980 new file mode 100644 index 0000000..8cf86b8 Binary files /dev/null and b/.git.bak/objects/65/06e8f59904b634b18fc7753d1334ec234f4980 differ diff --git a/.git.bak/objects/65/3d9eaa793317827ce724c4a0756110e9356fc8 b/.git.bak/objects/65/3d9eaa793317827ce724c4a0756110e9356fc8 new file mode 100644 index 0000000..39b0530 Binary files /dev/null and b/.git.bak/objects/65/3d9eaa793317827ce724c4a0756110e9356fc8 differ diff --git a/.git.bak/objects/65/4af30455614e47ad22cf53d1235f7c928bf42a b/.git.bak/objects/65/4af30455614e47ad22cf53d1235f7c928bf42a new file mode 100644 index 0000000..12007ab Binary files /dev/null and b/.git.bak/objects/65/4af30455614e47ad22cf53d1235f7c928bf42a differ diff --git a/.git.bak/objects/65/4d0bfe943437d43242325b1fbcff5f400d84ee b/.git.bak/objects/65/4d0bfe943437d43242325b1fbcff5f400d84ee new file mode 100644 index 0000000..79610ba Binary files /dev/null and b/.git.bak/objects/65/4d0bfe943437d43242325b1fbcff5f400d84ee differ diff --git a/.git.bak/objects/65/5ddef03900d059e7a42b346a643b215f22a926 b/.git.bak/objects/65/5ddef03900d059e7a42b346a643b215f22a926 new file mode 100644 index 0000000..f6497d7 Binary files /dev/null and b/.git.bak/objects/65/5ddef03900d059e7a42b346a643b215f22a926 differ diff --git a/.git.bak/objects/66/3f8c776ca4897a6efc6f23d4e4ac5cec426ca2 b/.git.bak/objects/66/3f8c776ca4897a6efc6f23d4e4ac5cec426ca2 new file mode 100644 index 0000000..2494c95 Binary files /dev/null and b/.git.bak/objects/66/3f8c776ca4897a6efc6f23d4e4ac5cec426ca2 differ diff --git a/.git.bak/objects/66/52ba18934de5cfdcba6904a0941add211af97c b/.git.bak/objects/66/52ba18934de5cfdcba6904a0941add211af97c new file mode 100644 index 0000000..196fc10 Binary files /dev/null and b/.git.bak/objects/66/52ba18934de5cfdcba6904a0941add211af97c differ diff --git a/.git.bak/objects/66/73e34b399c751c514731aa83221c7506a7508b b/.git.bak/objects/66/73e34b399c751c514731aa83221c7506a7508b new file mode 100644 index 0000000..2fa170b Binary files /dev/null and b/.git.bak/objects/66/73e34b399c751c514731aa83221c7506a7508b differ diff --git a/.git.bak/objects/66/a2cb800239b52fded1d03a2747967f17c92251 b/.git.bak/objects/66/a2cb800239b52fded1d03a2747967f17c92251 new file mode 100644 index 0000000..f50c548 Binary files /dev/null and b/.git.bak/objects/66/a2cb800239b52fded1d03a2747967f17c92251 differ diff --git a/.git.bak/objects/66/dc1646acda94940b050624fe61143ad22f6bf3 b/.git.bak/objects/66/dc1646acda94940b050624fe61143ad22f6bf3 new file mode 100644 index 0000000..54191ae Binary files /dev/null and b/.git.bak/objects/66/dc1646acda94940b050624fe61143ad22f6bf3 differ diff --git a/.git.bak/objects/68/12655c8879f5dc3ff3182ed0741fd8c93b347c b/.git.bak/objects/68/12655c8879f5dc3ff3182ed0741fd8c93b347c new file mode 100644 index 0000000..9a6a3d5 Binary files /dev/null and b/.git.bak/objects/68/12655c8879f5dc3ff3182ed0741fd8c93b347c differ diff --git a/.git.bak/objects/68/95843adb06f508a9cfed963d7d790458231110 b/.git.bak/objects/68/95843adb06f508a9cfed963d7d790458231110 new file mode 100644 index 0000000..211a181 Binary files /dev/null and b/.git.bak/objects/68/95843adb06f508a9cfed963d7d790458231110 differ diff --git a/.git.bak/objects/68/a345d8578004506a45296d6de9e091b7811272 b/.git.bak/objects/68/a345d8578004506a45296d6de9e091b7811272 new file mode 100644 index 0000000..84280c9 --- /dev/null +++ b/.git.bak/objects/68/a345d8578004506a45296d6de9e091b7811272 @@ -0,0 +1,3 @@ +xU +0D=+^Bկ%)*!V[JM Y&q +aPg5Ask5b9vF#0)0vї׸*5!:xg$j0 j j8 3iyIޒ᳈B #˿n!p. t.%Nh \ No newline at end of file diff --git a/.git.bak/objects/68/d86bab032fabc624b2e312ec3a87666a12b07c b/.git.bak/objects/68/d86bab032fabc624b2e312ec3a87666a12b07c new file mode 100644 index 0000000..49b0ab5 Binary files /dev/null and b/.git.bak/objects/68/d86bab032fabc624b2e312ec3a87666a12b07c differ diff --git a/.git.bak/objects/69/39c3b9d884031a5a6a992b9f9a20ba319e6372 b/.git.bak/objects/69/39c3b9d884031a5a6a992b9f9a20ba319e6372 new file mode 100644 index 0000000..775d3b3 Binary files /dev/null and b/.git.bak/objects/69/39c3b9d884031a5a6a992b9f9a20ba319e6372 differ diff --git a/.git.bak/objects/69/990da39b6da3103d72d74bd729e3372468f82b b/.git.bak/objects/69/990da39b6da3103d72d74bd729e3372468f82b new file mode 100644 index 0000000..41173d4 Binary files /dev/null and b/.git.bak/objects/69/990da39b6da3103d72d74bd729e3372468f82b differ diff --git a/.git.bak/objects/69/baab064d3dee2c65ec2919eac58a40a3da6b12 b/.git.bak/objects/69/baab064d3dee2c65ec2919eac58a40a3da6b12 new file mode 100644 index 0000000..fb29d83 Binary files /dev/null and b/.git.bak/objects/69/baab064d3dee2c65ec2919eac58a40a3da6b12 differ diff --git a/.git.bak/objects/69/bda497d35f347f1a510eef0fe2408e8d31923c b/.git.bak/objects/69/bda497d35f347f1a510eef0fe2408e8d31923c new file mode 100644 index 0000000..b1a0394 Binary files /dev/null and b/.git.bak/objects/69/bda497d35f347f1a510eef0fe2408e8d31923c differ diff --git a/.git.bak/objects/69/bdbc92ee1c2272f4ea3180319378f4c9ffb94c b/.git.bak/objects/69/bdbc92ee1c2272f4ea3180319378f4c9ffb94c new file mode 100644 index 0000000..87e425e Binary files /dev/null and b/.git.bak/objects/69/bdbc92ee1c2272f4ea3180319378f4c9ffb94c differ diff --git a/.git.bak/objects/69/c0b63eab22e32821df374c5e84a37c665c28c3 b/.git.bak/objects/69/c0b63eab22e32821df374c5e84a37c665c28c3 new file mode 100644 index 0000000..92bcd30 Binary files /dev/null and b/.git.bak/objects/69/c0b63eab22e32821df374c5e84a37c665c28c3 differ diff --git a/.git.bak/objects/69/de6fed7b89cd7974bb31047b646a7ec6280701 b/.git.bak/objects/69/de6fed7b89cd7974bb31047b646a7ec6280701 new file mode 100644 index 0000000..e432776 Binary files /dev/null and b/.git.bak/objects/69/de6fed7b89cd7974bb31047b646a7ec6280701 differ diff --git a/.git.bak/objects/6a/0c53c5b9ed0ecc1d4130caf9f61f6bdfcb2fd4 b/.git.bak/objects/6a/0c53c5b9ed0ecc1d4130caf9f61f6bdfcb2fd4 new file mode 100644 index 0000000..32badeb Binary files /dev/null and b/.git.bak/objects/6a/0c53c5b9ed0ecc1d4130caf9f61f6bdfcb2fd4 differ diff --git a/.git.bak/objects/6a/2ed51cbadb0bed00e9752088b644842838840e b/.git.bak/objects/6a/2ed51cbadb0bed00e9752088b644842838840e new file mode 100644 index 0000000..3ecaa15 Binary files /dev/null and b/.git.bak/objects/6a/2ed51cbadb0bed00e9752088b644842838840e differ diff --git a/.git.bak/objects/6a/4408ff3499e63fe95f77d50f11989a39cea860 b/.git.bak/objects/6a/4408ff3499e63fe95f77d50f11989a39cea860 new file mode 100644 index 0000000..6a01ce0 Binary files /dev/null and b/.git.bak/objects/6a/4408ff3499e63fe95f77d50f11989a39cea860 differ diff --git a/.git.bak/objects/6a/60e8c225c9baca25907f87c74b428e5d85de0c b/.git.bak/objects/6a/60e8c225c9baca25907f87c74b428e5d85de0c new file mode 100644 index 0000000..af43192 Binary files /dev/null and b/.git.bak/objects/6a/60e8c225c9baca25907f87c74b428e5d85de0c differ diff --git a/.git.bak/objects/6a/77e9d5ec1eaa9bf6381c3811b7ac13a7c9cf77 b/.git.bak/objects/6a/77e9d5ec1eaa9bf6381c3811b7ac13a7c9cf77 new file mode 100644 index 0000000..07a3679 Binary files /dev/null and b/.git.bak/objects/6a/77e9d5ec1eaa9bf6381c3811b7ac13a7c9cf77 differ diff --git a/.git.bak/objects/6a/91ec315c294c5f96a601a5d264c76b41da3683 b/.git.bak/objects/6a/91ec315c294c5f96a601a5d264c76b41da3683 new file mode 100644 index 0000000..31a4d66 Binary files /dev/null and b/.git.bak/objects/6a/91ec315c294c5f96a601a5d264c76b41da3683 differ diff --git a/.git.bak/objects/6a/bfe1434ebd5c15c245b9f0a7c25e36b581df19 b/.git.bak/objects/6a/bfe1434ebd5c15c245b9f0a7c25e36b581df19 new file mode 100644 index 0000000..96e4f30 --- /dev/null +++ b/.git.bak/objects/6a/bfe1434ebd5c15c245b9f0a7c25e36b581df19 @@ -0,0 +1,3 @@ +x]R͎0O1i+^*Y@l'"8M}IU+!!gq;>rݩ)Bbs~8xx> |7dҶr =i紙@;U;#8X=9YYROz:va9 +{ΙNKătIM^wУr6JDO~3{yqO١3!b "rr_'ڑl'P7Ku>TGs :3:uiJZ\;R,"[]A#bXy\#]L x (xXϫvm!hL{$o3"η /^asEoKFЦ@x R0gL<>")o(TT4̉YBIT2բ΢~-qM4;c1er/S \ No newline at end of file diff --git a/.git.bak/objects/6d/d2e5cdddb795d71a9a006d5b1a851e02a71cef b/.git.bak/objects/6d/d2e5cdddb795d71a9a006d5b1a851e02a71cef new file mode 100644 index 0000000..d31587e Binary files /dev/null and b/.git.bak/objects/6d/d2e5cdddb795d71a9a006d5b1a851e02a71cef differ diff --git a/.git.bak/objects/6d/dac89b56594491dfeafd505461b7cf7958e91f b/.git.bak/objects/6d/dac89b56594491dfeafd505461b7cf7958e91f new file mode 100644 index 0000000..59b7d9c Binary files /dev/null and b/.git.bak/objects/6d/dac89b56594491dfeafd505461b7cf7958e91f differ diff --git a/.git.bak/objects/6e/01b22235ca7e595b337afd443eb48810600ed1 b/.git.bak/objects/6e/01b22235ca7e595b337afd443eb48810600ed1 new file mode 100644 index 0000000..7d324f1 Binary files /dev/null and b/.git.bak/objects/6e/01b22235ca7e595b337afd443eb48810600ed1 differ diff --git a/.git.bak/objects/6e/56d57b56ae12cd64e97b1598bd6ebb16f9881d b/.git.bak/objects/6e/56d57b56ae12cd64e97b1598bd6ebb16f9881d new file mode 100644 index 0000000..928212f Binary files /dev/null and b/.git.bak/objects/6e/56d57b56ae12cd64e97b1598bd6ebb16f9881d differ diff --git a/.git.bak/objects/6e/769d40193bb2a485464b4747bcaca93a7aac17 b/.git.bak/objects/6e/769d40193bb2a485464b4747bcaca93a7aac17 new file mode 100644 index 0000000..44d5ae8 Binary files /dev/null and b/.git.bak/objects/6e/769d40193bb2a485464b4747bcaca93a7aac17 differ diff --git a/.git.bak/objects/6e/be221ca9023b9f757c2938b540e309efba03e8 b/.git.bak/objects/6e/be221ca9023b9f757c2938b540e309efba03e8 new file mode 100644 index 0000000..a713892 Binary files /dev/null and b/.git.bak/objects/6e/be221ca9023b9f757c2938b540e309efba03e8 differ diff --git a/.git.bak/objects/6e/d32768860727734a86427f0d23462c1f0b7969 b/.git.bak/objects/6e/d32768860727734a86427f0d23462c1f0b7969 new file mode 100644 index 0000000..2b3ff7e --- /dev/null +++ b/.git.bak/objects/6e/d32768860727734a86427f0d23462c1f0b7969 @@ -0,0 +1,5 @@ +xJ@=SL"zHVZ^,3;Ͽq^İwlXiK1g βyw!y}C.egDN j FBdZocC-z #T* XKT-1gh o\'Gb9 ++ rF%[XGO2LJښ`-n"O *U"x[}FW~>qQ2J{(~ٶ_ \ No newline at end of file diff --git a/.git.bak/objects/6f/02d452c4f2a20c5fe74e8af55ff6c632361577 b/.git.bak/objects/6f/02d452c4f2a20c5fe74e8af55ff6c632361577 new file mode 100644 index 0000000..8bcf7d8 --- /dev/null +++ b/.git.bak/objects/6f/02d452c4f2a20c5fe74e8af55ff6c632361577 @@ -0,0 +1,3 @@ +xeUQO0s~TmIJ]lʦUNrI,۲;Ǯۤos2.3rç7ӷ ! 5jK./ޓ;ɷsЄH[6w,a`|[dS2W4a|99ONIrJQ@IV?|}Ndp 9o LT=dzTI=syBd˦bR%}V[s[QOs)!܃tgUm|V +򂽘NɭPOSSҴ3)2 dWHJ1/+lΨY]!`aKk*pO*@!fֲ63Q;0Բ` t(`mL1kW. \ No newline at end of file diff --git a/.git.bak/objects/71/fdac1110bba222a716c4b56b90028a6a9e5af4 b/.git.bak/objects/71/fdac1110bba222a716c4b56b90028a6a9e5af4 new file mode 100644 index 0000000..34e408c Binary files /dev/null and b/.git.bak/objects/71/fdac1110bba222a716c4b56b90028a6a9e5af4 differ diff --git a/.git.bak/objects/72/3178937a3a729a4b701992983292246f55f92f b/.git.bak/objects/72/3178937a3a729a4b701992983292246f55f92f new file mode 100644 index 0000000..d39174b Binary files /dev/null and b/.git.bak/objects/72/3178937a3a729a4b701992983292246f55f92f differ diff --git a/.git.bak/objects/72/5ccb61a96e9a89faa7d0046cfffb78e1c92539 b/.git.bak/objects/72/5ccb61a96e9a89faa7d0046cfffb78e1c92539 new file mode 100644 index 0000000..8d4b886 Binary files /dev/null and b/.git.bak/objects/72/5ccb61a96e9a89faa7d0046cfffb78e1c92539 differ diff --git a/.git.bak/objects/72/899f40b1688342f6b995609fe13bac9e06fc04 b/.git.bak/objects/72/899f40b1688342f6b995609fe13bac9e06fc04 new file mode 100644 index 0000000..62c6f47 Binary files /dev/null and b/.git.bak/objects/72/899f40b1688342f6b995609fe13bac9e06fc04 differ diff --git a/.git.bak/objects/72/8b7188e17257374466e3f3f579aba3cc9e0d73 b/.git.bak/objects/72/8b7188e17257374466e3f3f579aba3cc9e0d73 new file mode 100644 index 0000000..55989de Binary files /dev/null and b/.git.bak/objects/72/8b7188e17257374466e3f3f579aba3cc9e0d73 differ diff --git a/.git.bak/objects/72/e0ebaa7f319d2bde03e55c8e58748245095f06 b/.git.bak/objects/72/e0ebaa7f319d2bde03e55c8e58748245095f06 new file mode 100644 index 0000000..c524c07 Binary files /dev/null and b/.git.bak/objects/72/e0ebaa7f319d2bde03e55c8e58748245095f06 differ diff --git a/.git.bak/objects/73/0276bd121df856ede4c51d6e7b63d071242487 b/.git.bak/objects/73/0276bd121df856ede4c51d6e7b63d071242487 new file mode 100644 index 0000000..7a85d3e Binary files /dev/null and b/.git.bak/objects/73/0276bd121df856ede4c51d6e7b63d071242487 differ diff --git a/.git.bak/objects/73/0d0183b80ce888f87e2120faf9dcb21258f745 b/.git.bak/objects/73/0d0183b80ce888f87e2120faf9dcb21258f745 new file mode 100644 index 0000000..477b050 Binary files /dev/null and b/.git.bak/objects/73/0d0183b80ce888f87e2120faf9dcb21258f745 differ diff --git a/.git.bak/objects/73/9bc50d89c43f581d083f44365ae77b9aa3c82d b/.git.bak/objects/73/9bc50d89c43f581d083f44365ae77b9aa3c82d new file mode 100644 index 0000000..44b2049 Binary files /dev/null and b/.git.bak/objects/73/9bc50d89c43f581d083f44365ae77b9aa3c82d differ diff --git a/.git.bak/objects/73/9cddc8c341426a67edc7ee150c60dd670a993b b/.git.bak/objects/73/9cddc8c341426a67edc7ee150c60dd670a993b new file mode 100644 index 0000000..780a67d Binary files /dev/null and b/.git.bak/objects/73/9cddc8c341426a67edc7ee150c60dd670a993b differ diff --git a/.git.bak/objects/74/2c5a4674794d9e7667c02dcbeb44bf8001b4d6 b/.git.bak/objects/74/2c5a4674794d9e7667c02dcbeb44bf8001b4d6 new file mode 100644 index 0000000..e6894b1 Binary files /dev/null and b/.git.bak/objects/74/2c5a4674794d9e7667c02dcbeb44bf8001b4d6 differ diff --git a/.git.bak/objects/74/36f64146e87d2ebe6cacac33af0aeedcc798fb b/.git.bak/objects/74/36f64146e87d2ebe6cacac33af0aeedcc798fb new file mode 100644 index 0000000..b9a925b Binary files /dev/null and b/.git.bak/objects/74/36f64146e87d2ebe6cacac33af0aeedcc798fb differ diff --git a/.git.bak/objects/74/482195934a98d0ce03d92cdabbc8a36e647d6f b/.git.bak/objects/74/482195934a98d0ce03d92cdabbc8a36e647d6f new file mode 100644 index 0000000..2c336d4 Binary files /dev/null and b/.git.bak/objects/74/482195934a98d0ce03d92cdabbc8a36e647d6f differ diff --git a/.git.bak/objects/74/96e1a74904b7364743a2ad20e252ec41c08adc b/.git.bak/objects/74/96e1a74904b7364743a2ad20e252ec41c08adc new file mode 100644 index 0000000..de3b605 Binary files /dev/null and b/.git.bak/objects/74/96e1a74904b7364743a2ad20e252ec41c08adc differ diff --git a/.git.bak/objects/74/b3fab6eeab5751cd3920efeab9a6437518e749 b/.git.bak/objects/74/b3fab6eeab5751cd3920efeab9a6437518e749 new file mode 100644 index 0000000..4bd5910 Binary files /dev/null and b/.git.bak/objects/74/b3fab6eeab5751cd3920efeab9a6437518e749 differ diff --git a/.git.bak/objects/74/c1b6d05a9c2b9c9ceecd107a79ddfb48feb76a b/.git.bak/objects/74/c1b6d05a9c2b9c9ceecd107a79ddfb48feb76a new file mode 100644 index 0000000..3c86cc9 Binary files /dev/null and b/.git.bak/objects/74/c1b6d05a9c2b9c9ceecd107a79ddfb48feb76a differ diff --git a/.git.bak/objects/74/df3f95bfe68e7f7a32f69173911b21209be1f2 b/.git.bak/objects/74/df3f95bfe68e7f7a32f69173911b21209be1f2 new file mode 100644 index 0000000..73c3951 Binary files /dev/null and b/.git.bak/objects/74/df3f95bfe68e7f7a32f69173911b21209be1f2 differ diff --git a/.git.bak/objects/75/16f72d5a3dc69c31b7dbad1629eedb95f8b7d6 b/.git.bak/objects/75/16f72d5a3dc69c31b7dbad1629eedb95f8b7d6 new file mode 100644 index 0000000..40d2b28 Binary files /dev/null and b/.git.bak/objects/75/16f72d5a3dc69c31b7dbad1629eedb95f8b7d6 differ diff --git a/.git.bak/objects/75/316346a81cb3b3ba74442fb24583d6972a48ee b/.git.bak/objects/75/316346a81cb3b3ba74442fb24583d6972a48ee new file mode 100644 index 0000000..4e7abdf --- /dev/null +++ b/.git.bak/objects/75/316346a81cb3b3ba74442fb24583d6972a48ee @@ -0,0 +1,2 @@ +xU1 +0sŀ(jO%LBPW7"Z3Vh9yO1 C̋Pi}xSALl. + nh&)3+Z4᳿{ب+ߙt]tP/ \ No newline at end of file diff --git a/.git.bak/objects/76/78975c998f466ef0e8f5a4709425d857620280 b/.git.bak/objects/76/78975c998f466ef0e8f5a4709425d857620280 new file mode 100644 index 0000000..46b9ada Binary files /dev/null and b/.git.bak/objects/76/78975c998f466ef0e8f5a4709425d857620280 differ diff --git a/.git.bak/objects/76/b0a2f7cfb2d0ad639b5e43999b17002c11c55e b/.git.bak/objects/76/b0a2f7cfb2d0ad639b5e43999b17002c11c55e new file mode 100644 index 0000000..1d9a0fd Binary files /dev/null and b/.git.bak/objects/76/b0a2f7cfb2d0ad639b5e43999b17002c11c55e differ diff --git a/.git.bak/objects/76/dcc0fd70907a399f767910ffa682293a5fe457 b/.git.bak/objects/76/dcc0fd70907a399f767910ffa682293a5fe457 new file mode 100644 index 0000000..803e950 Binary files /dev/null and b/.git.bak/objects/76/dcc0fd70907a399f767910ffa682293a5fe457 differ diff --git a/.git.bak/objects/77/146583b707f7b4b4f205083e5ee659d25019b2 b/.git.bak/objects/77/146583b707f7b4b4f205083e5ee659d25019b2 new file mode 100644 index 0000000..dfddd7d Binary files /dev/null and b/.git.bak/objects/77/146583b707f7b4b4f205083e5ee659d25019b2 differ diff --git a/.git.bak/objects/77/487dcaac5f502ad1172a54a7047bcafbfbda4d b/.git.bak/objects/77/487dcaac5f502ad1172a54a7047bcafbfbda4d new file mode 100644 index 0000000..f6215d0 Binary files /dev/null and b/.git.bak/objects/77/487dcaac5f502ad1172a54a7047bcafbfbda4d differ diff --git a/.git.bak/objects/77/84fab55d08875a01b24636f3a541c3d0bd39b2 b/.git.bak/objects/77/84fab55d08875a01b24636f3a541c3d0bd39b2 new file mode 100644 index 0000000..df31b16 Binary files /dev/null and b/.git.bak/objects/77/84fab55d08875a01b24636f3a541c3d0bd39b2 differ diff --git a/.git.bak/objects/77/8edb20730ef48c01002248f4d51e7752c13487 b/.git.bak/objects/77/8edb20730ef48c01002248f4d51e7752c13487 new file mode 100644 index 0000000..3a65ca3 Binary files /dev/null and b/.git.bak/objects/77/8edb20730ef48c01002248f4d51e7752c13487 differ diff --git a/.git.bak/objects/77/ddbe4a54b9dc9fb3360fcbaa284cd5ef8e0f5b b/.git.bak/objects/77/ddbe4a54b9dc9fb3360fcbaa284cd5ef8e0f5b new file mode 100644 index 0000000..66b1972 Binary files /dev/null and b/.git.bak/objects/77/ddbe4a54b9dc9fb3360fcbaa284cd5ef8e0f5b differ diff --git a/.git.bak/objects/78/4e56a09695adb47410cb6cf08e96334a9f9c1f b/.git.bak/objects/78/4e56a09695adb47410cb6cf08e96334a9f9c1f new file mode 100644 index 0000000..9580ae0 Binary files /dev/null and b/.git.bak/objects/78/4e56a09695adb47410cb6cf08e96334a9f9c1f differ diff --git a/.git.bak/objects/78/749d85b6182f9c7187ede873c10e4b4cc43b86 b/.git.bak/objects/78/749d85b6182f9c7187ede873c10e4b4cc43b86 new file mode 100644 index 0000000..da3d13e Binary files /dev/null and b/.git.bak/objects/78/749d85b6182f9c7187ede873c10e4b4cc43b86 differ diff --git a/.git.bak/objects/78/79f2ede47c266106a3dfa17ad6574f1b9aa7bf b/.git.bak/objects/78/79f2ede47c266106a3dfa17ad6574f1b9aa7bf new file mode 100644 index 0000000..86e5b55 Binary files /dev/null and b/.git.bak/objects/78/79f2ede47c266106a3dfa17ad6574f1b9aa7bf differ diff --git a/.git.bak/objects/78/a7a5f1cf2a03ebad4c4bacdfe9d2368470ca81 b/.git.bak/objects/78/a7a5f1cf2a03ebad4c4bacdfe9d2368470ca81 new file mode 100644 index 0000000..d93a33f Binary files /dev/null and b/.git.bak/objects/78/a7a5f1cf2a03ebad4c4bacdfe9d2368470ca81 differ diff --git a/.git.bak/objects/78/ae461702ead3044856b396f17288e65c7c84b1 b/.git.bak/objects/78/ae461702ead3044856b396f17288e65c7c84b1 new file mode 100644 index 0000000..40d3eb9 Binary files /dev/null and b/.git.bak/objects/78/ae461702ead3044856b396f17288e65c7c84b1 differ diff --git a/.git.bak/objects/78/e841495bf24d46a2995496bdf2816935b1e66e b/.git.bak/objects/78/e841495bf24d46a2995496bdf2816935b1e66e new file mode 100644 index 0000000..e5994fa --- /dev/null +++ b/.git.bak/objects/78/e841495bf24d46a2995496bdf2816935b1e66e @@ -0,0 +1,3 @@ +xuPJ0u8" \g6&%N5>Mۻ+Y!lBz_(|6Ӌ!DY5}6Aˏ'Kp=ԞM DboPSi`ӳp 7nYy +L,&2g6զ.*hRJV=).y>>E +7L3+#w 9vӊotv \ No newline at end of file diff --git a/.git.bak/objects/79/02780a4b0292900496c1ff2fda992c1468ce6d b/.git.bak/objects/79/02780a4b0292900496c1ff2fda992c1468ce6d new file mode 100644 index 0000000..ceee2d3 Binary files /dev/null and b/.git.bak/objects/79/02780a4b0292900496c1ff2fda992c1468ce6d differ diff --git a/.git.bak/objects/79/1eeff0c094d51fc53009527cd13884666987ef b/.git.bak/objects/79/1eeff0c094d51fc53009527cd13884666987ef new file mode 100644 index 0000000..f48e552 --- /dev/null +++ b/.git.bak/objects/79/1eeff0c094d51fc53009527cd13884666987ef @@ -0,0 +1 @@ +xRj@yb[lA-C0Ph=1%ҮuW;H{Grb7,{3oޛcEPaْS^URoo0Z5m̵uJP0 ] G6V) urfdG):t[vOg}ƻQ:s3ʹ3KhMg# mDqƾ~Etuu6DԎHKsNDO@2"t^Tlm`b:08 X8 XӁ<&pwF&n+c"I1PHc_.S IF<Ħc`G' XMAS]jqDsEӻhW˧x0E)q%wp@N7PX%S-ܲq):$J8e`@bOY"1E-^^v[,b/?1>q$%_ `pz +ԟ~$>H'rIMђc -mZd2_&˕Bn +.2g:/4ٙƫR5 \ No newline at end of file diff --git a/.git.bak/objects/7a/119ca03a2400cce378241edda8eb8a7da1b48e b/.git.bak/objects/7a/119ca03a2400cce378241edda8eb8a7da1b48e new file mode 100644 index 0000000..fd8e263 Binary files /dev/null and b/.git.bak/objects/7a/119ca03a2400cce378241edda8eb8a7da1b48e differ diff --git a/.git.bak/objects/7a/2f0ecce5658191e8670ab943d4f16655c279fc b/.git.bak/objects/7a/2f0ecce5658191e8670ab943d4f16655c279fc new file mode 100644 index 0000000..84dcffe Binary files /dev/null and b/.git.bak/objects/7a/2f0ecce5658191e8670ab943d4f16655c279fc differ diff --git a/.git.bak/objects/7a/8d8735752ef518698f1fe62b4edd16725898a8 b/.git.bak/objects/7a/8d8735752ef518698f1fe62b4edd16725898a8 new file mode 100644 index 0000000..06a9d82 Binary files /dev/null and b/.git.bak/objects/7a/8d8735752ef518698f1fe62b4edd16725898a8 differ diff --git a/.git.bak/objects/7a/a19c4fb104c31236f8419f421f848d7159ef8d b/.git.bak/objects/7a/a19c4fb104c31236f8419f421f848d7159ef8d new file mode 100644 index 0000000..c80c311 Binary files /dev/null and b/.git.bak/objects/7a/a19c4fb104c31236f8419f421f848d7159ef8d differ diff --git a/.git.bak/objects/7a/b1110f8bf3063fbbf34a8b9449875d2e612273 b/.git.bak/objects/7a/b1110f8bf3063fbbf34a8b9449875d2e612273 new file mode 100644 index 0000000..9e0c3c6 Binary files /dev/null and b/.git.bak/objects/7a/b1110f8bf3063fbbf34a8b9449875d2e612273 differ diff --git a/.git.bak/objects/7a/b5f9f2f9f098ac41b057d5b3fa2a95851926a9 b/.git.bak/objects/7a/b5f9f2f9f098ac41b057d5b3fa2a95851926a9 new file mode 100644 index 0000000..b1e277b Binary files /dev/null and b/.git.bak/objects/7a/b5f9f2f9f098ac41b057d5b3fa2a95851926a9 differ diff --git a/.git.bak/objects/7a/d88193e1f3599ebce7e63ed97854895fe87f33 b/.git.bak/objects/7a/d88193e1f3599ebce7e63ed97854895fe87f33 new file mode 100644 index 0000000..0bc1672 Binary files /dev/null and b/.git.bak/objects/7a/d88193e1f3599ebce7e63ed97854895fe87f33 differ diff --git a/.git.bak/objects/7b/06e160d92f0452a5c0d296e2054357d4eacec5 b/.git.bak/objects/7b/06e160d92f0452a5c0d296e2054357d4eacec5 new file mode 100644 index 0000000..6d92e90 Binary files /dev/null and b/.git.bak/objects/7b/06e160d92f0452a5c0d296e2054357d4eacec5 differ diff --git a/.git.bak/objects/7b/3a933dc72c900670a74b2cc8ebfe824aa7469c b/.git.bak/objects/7b/3a933dc72c900670a74b2cc8ebfe824aa7469c new file mode 100644 index 0000000..5004a46 Binary files /dev/null and b/.git.bak/objects/7b/3a933dc72c900670a74b2cc8ebfe824aa7469c differ diff --git a/.git.bak/objects/7b/98eaf3cc3718c334c0756443a73c1055d9f55f b/.git.bak/objects/7b/98eaf3cc3718c334c0756443a73c1055d9f55f new file mode 100644 index 0000000..441b2c2 Binary files /dev/null and b/.git.bak/objects/7b/98eaf3cc3718c334c0756443a73c1055d9f55f differ diff --git a/.git.bak/objects/7c/3d19b72f2a9757b495cca292544ffd48c808e2 b/.git.bak/objects/7c/3d19b72f2a9757b495cca292544ffd48c808e2 new file mode 100644 index 0000000..1a45389 Binary files /dev/null and b/.git.bak/objects/7c/3d19b72f2a9757b495cca292544ffd48c808e2 differ diff --git a/.git.bak/objects/7c/52bdf2529ad82aacf17bb895d18bc228da19ec b/.git.bak/objects/7c/52bdf2529ad82aacf17bb895d18bc228da19ec new file mode 100644 index 0000000..83b257a --- /dev/null +++ b/.git.bak/objects/7c/52bdf2529ad82aacf17bb895d18bc228da19ec @@ -0,0 +1,2 @@ +xU +0{W[Ķ^zbR *؃afbwy5y/jH<~e|/kP b̬T#y,ZVӣ=n+ \ No newline at end of file diff --git a/.git.bak/objects/7c/7fd802a3e47da3c082590dcaa81c6704931882 b/.git.bak/objects/7c/7fd802a3e47da3c082590dcaa81c6704931882 new file mode 100644 index 0000000..70155fc Binary files /dev/null and b/.git.bak/objects/7c/7fd802a3e47da3c082590dcaa81c6704931882 differ diff --git a/.git.bak/objects/7c/d9dcb9e384b6b1429d67faf0b943b0cd406950 b/.git.bak/objects/7c/d9dcb9e384b6b1429d67faf0b943b0cd406950 new file mode 100644 index 0000000..83160a1 Binary files /dev/null and b/.git.bak/objects/7c/d9dcb9e384b6b1429d67faf0b943b0cd406950 differ diff --git a/.git.bak/objects/7e/26c45734d7f5c3c431972dfd915744d3967fac b/.git.bak/objects/7e/26c45734d7f5c3c431972dfd915744d3967fac new file mode 100644 index 0000000..b86564e Binary files /dev/null and b/.git.bak/objects/7e/26c45734d7f5c3c431972dfd915744d3967fac differ diff --git a/.git.bak/objects/7e/5747be023988fb560d4fc0098e82b8197df340 b/.git.bak/objects/7e/5747be023988fb560d4fc0098e82b8197df340 new file mode 100644 index 0000000..dda1b32 --- /dev/null +++ b/.git.bak/objects/7e/5747be023988fb560d4fc0098e82b8197df340 @@ -0,0 +1,2 @@ +xRN@Åm=h<(/P))?ٖA‰cgj=ۛ+-uFN V5݋NÄ&^(ymn~U"N6r.U^f=mUjٌ&gA'<uXRGDA5;m gPyU8tA,5g,I L^h60}"W{RYY"PzP+HUV+1QeJٖ1wE3 e@R +2M& tӪ~]DsL)dDWv+,X\'])Vq8ȟ ȟb_Pg*u_ \ No newline at end of file diff --git a/.git.bak/objects/7e/6fef1a55b1069d9629237cd2f35a9bb89d6dfa b/.git.bak/objects/7e/6fef1a55b1069d9629237cd2f35a9bb89d6dfa new file mode 100644 index 0000000..773c0f2 Binary files /dev/null and b/.git.bak/objects/7e/6fef1a55b1069d9629237cd2f35a9bb89d6dfa differ diff --git a/.git.bak/objects/7e/74733026db22005684393bf7a54c895e9f4abe b/.git.bak/objects/7e/74733026db22005684393bf7a54c895e9f4abe new file mode 100644 index 0000000..09aa4ae Binary files /dev/null and b/.git.bak/objects/7e/74733026db22005684393bf7a54c895e9f4abe differ diff --git a/.git.bak/objects/7e/b6d74e2abc6402e175a40b897045637dcc2f52 b/.git.bak/objects/7e/b6d74e2abc6402e175a40b897045637dcc2f52 new file mode 100644 index 0000000..46287a0 Binary files /dev/null and b/.git.bak/objects/7e/b6d74e2abc6402e175a40b897045637dcc2f52 differ diff --git a/.git.bak/objects/7e/d2777c92a7991807c516027d5f73d0b47e781b b/.git.bak/objects/7e/d2777c92a7991807c516027d5f73d0b47e781b new file mode 100644 index 0000000..65999fb Binary files /dev/null and b/.git.bak/objects/7e/d2777c92a7991807c516027d5f73d0b47e781b differ diff --git a/.git.bak/objects/7f/22553d83d4756c3c006d69d39fca19b92bb9b1 b/.git.bak/objects/7f/22553d83d4756c3c006d69d39fca19b92bb9b1 new file mode 100644 index 0000000..894e5bc Binary files /dev/null and b/.git.bak/objects/7f/22553d83d4756c3c006d69d39fca19b92bb9b1 differ diff --git a/.git.bak/objects/7f/3d05c5ed2ac79c869d361c8cc97b0dbc977584 b/.git.bak/objects/7f/3d05c5ed2ac79c869d361c8cc97b0dbc977584 new file mode 100644 index 0000000..a5525cd --- /dev/null +++ b/.git.bak/objects/7f/3d05c5ed2ac79c869d361c8cc97b0dbc977584 @@ -0,0 +1,2 @@ +x+)JMU0d040031Qp ss׫a(f*+$#퓣y +UTRK \ No newline at end of file diff --git a/.git.bak/objects/7f/67aa2e4559a76ee17566e768445dc30208af8e b/.git.bak/objects/7f/67aa2e4559a76ee17566e768445dc30208af8e new file mode 100644 index 0000000..4a35090 Binary files /dev/null and b/.git.bak/objects/7f/67aa2e4559a76ee17566e768445dc30208af8e differ diff --git a/.git.bak/objects/80/2c1b4a2cb1d43f83b48ce852780eb49d637ac9 b/.git.bak/objects/80/2c1b4a2cb1d43f83b48ce852780eb49d637ac9 new file mode 100644 index 0000000..ca3010d Binary files /dev/null and b/.git.bak/objects/80/2c1b4a2cb1d43f83b48ce852780eb49d637ac9 differ diff --git a/.git.bak/objects/80/c23b0e07438c1569cad41e6013d602b635b2a5 b/.git.bak/objects/80/c23b0e07438c1569cad41e6013d602b635b2a5 new file mode 100644 index 0000000..e98fe1a Binary files /dev/null and b/.git.bak/objects/80/c23b0e07438c1569cad41e6013d602b635b2a5 differ diff --git a/.git.bak/objects/81/4c20b5a9e3c97f41dde308939b358f9ed93931 b/.git.bak/objects/81/4c20b5a9e3c97f41dde308939b358f9ed93931 new file mode 100644 index 0000000..3a06c6b Binary files /dev/null and b/.git.bak/objects/81/4c20b5a9e3c97f41dde308939b358f9ed93931 differ diff --git a/.git.bak/objects/81/9783e0c4352e64d34ed5809626d8961a692091 b/.git.bak/objects/81/9783e0c4352e64d34ed5809626d8961a692091 new file mode 100644 index 0000000..817d46e Binary files /dev/null and b/.git.bak/objects/81/9783e0c4352e64d34ed5809626d8961a692091 differ diff --git a/.git.bak/objects/81/e0d28ff16d54ba83e2c17fe709189f26904f18 b/.git.bak/objects/81/e0d28ff16d54ba83e2c17fe709189f26904f18 new file mode 100644 index 0000000..6f5d251 --- /dev/null +++ b/.git.bak/objects/81/e0d28ff16d54ba83e2c17fe709189f26904f18 @@ -0,0 +1,2 @@ +x+)JMU00c040031Q Ma}$_ǽ)7Nlc RP/ؕ":IFJ-ϖ U +2gG܏m^CǖGW1TQf^Jj^V1C'ǹ1;)4aP5ى@Uy wŋ[yI%5Z-8'OiEP ]+M7oGi;O2?3xEJ1XZ _v6͍RBbu*?9'EMcxhH{$0 F]=̏=]S:an#̯mw<L*x +fid3w:Ck Yn39h;ޝ}kyjZ *n?o/_Fo-~snW.uv2K!4rSRIG)'1w<,,ci *7[nx9m8F+W/uTF~C\M&Nl2uR \ No newline at end of file diff --git a/.git.bak/objects/86/ab7792a183f07db80a4c61a5d979917b1897db b/.git.bak/objects/86/ab7792a183f07db80a4c61a5d979917b1897db new file mode 100644 index 0000000..faa20c9 Binary files /dev/null and b/.git.bak/objects/86/ab7792a183f07db80a4c61a5d979917b1897db differ diff --git a/.git.bak/objects/86/b66f3949cd38df65365fefc4fe73ed1b8fb57f b/.git.bak/objects/86/b66f3949cd38df65365fefc4fe73ed1b8fb57f new file mode 100644 index 0000000..43ba981 Binary files /dev/null and b/.git.bak/objects/86/b66f3949cd38df65365fefc4fe73ed1b8fb57f differ diff --git a/.git.bak/objects/86/bbb3dc29e4847df14de2c2b4b168e065184643 b/.git.bak/objects/86/bbb3dc29e4847df14de2c2b4b168e065184643 new file mode 100644 index 0000000..194f38a --- /dev/null +++ b/.git.bak/objects/86/bbb3dc29e4847df14de2c2b4b168e065184643 @@ -0,0 +1,2 @@ +xQN0䜯[RJ!p᎜dC]9ȏyi3;)x~z| 27x+T2$( +ו~pl;E-i'"p 넮lz'Uk(̍EN_gQ`օ'2٬rl#qw;4UΰxYhl˗p4:q<)N-Q5BYڒpHbO? Fv짪 E_XհՉYd "VZ26aNmF,f~u~ߊNFwƝcxX]LP \ No newline at end of file diff --git a/.git.bak/objects/86/d204bcc645e3316ac4e29724b2b30855b00c3e b/.git.bak/objects/86/d204bcc645e3316ac4e29724b2b30855b00c3e new file mode 100644 index 0000000..c462695 Binary files /dev/null and b/.git.bak/objects/86/d204bcc645e3316ac4e29724b2b30855b00c3e differ diff --git a/.git.bak/objects/86/efd545fbc4e76ee87fc3970b4eff4f60e6ca25 b/.git.bak/objects/86/efd545fbc4e76ee87fc3970b4eff4f60e6ca25 new file mode 100644 index 0000000..5b7cfd8 Binary files /dev/null and b/.git.bak/objects/86/efd545fbc4e76ee87fc3970b4eff4f60e6ca25 differ diff --git a/.git.bak/objects/87/3272d93cf34c7d3c973a8204a23f479c36655c b/.git.bak/objects/87/3272d93cf34c7d3c973a8204a23f479c36655c new file mode 100644 index 0000000..b3b69bb Binary files /dev/null and b/.git.bak/objects/87/3272d93cf34c7d3c973a8204a23f479c36655c differ diff --git a/.git.bak/objects/87/5350d7b1a39d148ada93ef2877b274d510cfd5 b/.git.bak/objects/87/5350d7b1a39d148ada93ef2877b274d510cfd5 new file mode 100644 index 0000000..1630e11 --- /dev/null +++ b/.git.bak/objects/87/5350d7b1a39d148ada93ef2877b274d510cfd5 @@ -0,0 +1 @@ +xAN0 EY٣"Mx%N<3qT g`'_m0UuI\g6NY9ZTR8p4s"P,+F!Z"Q,$(yjS9v'ս{7?7C>ުmΧ W8g:yp?6KG8 ޡ?SJ \ No newline at end of file diff --git a/.git.bak/objects/87/dba747ec33c9e04e56061397fc879aa7a42b9a b/.git.bak/objects/87/dba747ec33c9e04e56061397fc879aa7a42b9a new file mode 100644 index 0000000..ec3fd24 Binary files /dev/null and b/.git.bak/objects/87/dba747ec33c9e04e56061397fc879aa7a42b9a differ diff --git a/.git.bak/objects/87/ec63df5aaaf0965c551b845482746762cd7251 b/.git.bak/objects/87/ec63df5aaaf0965c551b845482746762cd7251 new file mode 100644 index 0000000..7b85417 Binary files /dev/null and b/.git.bak/objects/87/ec63df5aaaf0965c551b845482746762cd7251 differ diff --git a/.git.bak/objects/87/edb70c5dff350ead1767422a25013efca5d8e3 b/.git.bak/objects/87/edb70c5dff350ead1767422a25013efca5d8e3 new file mode 100644 index 0000000..0000e26 Binary files /dev/null and b/.git.bak/objects/87/edb70c5dff350ead1767422a25013efca5d8e3 differ diff --git a/.git.bak/objects/87/f5727fb65c35e7a75fe15464473ffc0455739b b/.git.bak/objects/87/f5727fb65c35e7a75fe15464473ffc0455739b new file mode 100644 index 0000000..3a82bc0 Binary files /dev/null and b/.git.bak/objects/87/f5727fb65c35e7a75fe15464473ffc0455739b differ diff --git a/.git.bak/objects/87/fc8c84aedf765a2c908f451564e54ac27dcb85 b/.git.bak/objects/87/fc8c84aedf765a2c908f451564e54ac27dcb85 new file mode 100644 index 0000000..58de5c6 --- /dev/null +++ b/.git.bak/objects/87/fc8c84aedf765a2c908f451564e54ac27dcb85 @@ -0,0 +1,3 @@ +xU +0 Eܯ86 d_R|RZju}iK 4s :< +^97Xղ U,zqVuvYhPŦf! {LpI0pM0}lsx2mڑID?1R~(H#NM^ӷ/70DR \ No newline at end of file diff --git a/.git.bak/objects/88/12229bc59b5f365549fb3c799b32a4d4acdabc b/.git.bak/objects/88/12229bc59b5f365549fb3c799b32a4d4acdabc new file mode 100644 index 0000000..0115369 Binary files /dev/null and b/.git.bak/objects/88/12229bc59b5f365549fb3c799b32a4d4acdabc differ diff --git a/.git.bak/objects/88/1dc5c1351440ec717c3d62fc683f9aa85c3c46 b/.git.bak/objects/88/1dc5c1351440ec717c3d62fc683f9aa85c3c46 new file mode 100644 index 0000000..e8fc503 Binary files /dev/null and b/.git.bak/objects/88/1dc5c1351440ec717c3d62fc683f9aa85c3c46 differ diff --git a/.git.bak/objects/88/28acd8c2406f407088f30e12ce36427b1336b8 b/.git.bak/objects/88/28acd8c2406f407088f30e12ce36427b1336b8 new file mode 100644 index 0000000..90846f1 Binary files /dev/null and b/.git.bak/objects/88/28acd8c2406f407088f30e12ce36427b1336b8 differ diff --git a/.git.bak/objects/88/a9080d0cacb505e06f5663368333ffe871c68e b/.git.bak/objects/88/a9080d0cacb505e06f5663368333ffe871c68e new file mode 100644 index 0000000..05e6b72 Binary files /dev/null and b/.git.bak/objects/88/a9080d0cacb505e06f5663368333ffe871c68e differ diff --git a/.git.bak/objects/88/cf332f76837bdc99591ffe9581115a93a293e1 b/.git.bak/objects/88/cf332f76837bdc99591ffe9581115a93a293e1 new file mode 100644 index 0000000..2cd4a5e Binary files /dev/null and b/.git.bak/objects/88/cf332f76837bdc99591ffe9581115a93a293e1 differ diff --git a/.git.bak/objects/88/e13c60cb971c4b4ce1786d62a0df742a3e0523 b/.git.bak/objects/88/e13c60cb971c4b4ce1786d62a0df742a3e0523 new file mode 100644 index 0000000..1c952b4 Binary files /dev/null and b/.git.bak/objects/88/e13c60cb971c4b4ce1786d62a0df742a3e0523 differ diff --git a/.git.bak/objects/88/e897ebb9302b6f050cae8162d10a4315dfb339 b/.git.bak/objects/88/e897ebb9302b6f050cae8162d10a4315dfb339 new file mode 100644 index 0000000..5093d3b Binary files /dev/null and b/.git.bak/objects/88/e897ebb9302b6f050cae8162d10a4315dfb339 differ diff --git a/.git.bak/objects/89/0ad76c7eb990c75e4601becab263df961318fb b/.git.bak/objects/89/0ad76c7eb990c75e4601becab263df961318fb new file mode 100644 index 0000000..2ecf6be Binary files /dev/null and b/.git.bak/objects/89/0ad76c7eb990c75e4601becab263df961318fb differ diff --git a/.git.bak/objects/89/22ac35df63e21f496769b41b9f15ff8cd9542a b/.git.bak/objects/89/22ac35df63e21f496769b41b9f15ff8cd9542a new file mode 100644 index 0000000..6677ebe Binary files /dev/null and b/.git.bak/objects/89/22ac35df63e21f496769b41b9f15ff8cd9542a differ diff --git a/.git.bak/objects/89/3f52e3b7e559d2ee8797e30458787eb68c1ca3 b/.git.bak/objects/89/3f52e3b7e559d2ee8797e30458787eb68c1ca3 new file mode 100644 index 0000000..3fe95c9 Binary files /dev/null and b/.git.bak/objects/89/3f52e3b7e559d2ee8797e30458787eb68c1ca3 differ diff --git a/.git.bak/objects/89/73cded6589a6cc5a9e1718e3fb0d709fe6e8d8 b/.git.bak/objects/89/73cded6589a6cc5a9e1718e3fb0d709fe6e8d8 new file mode 100644 index 0000000..474e0be Binary files /dev/null and b/.git.bak/objects/89/73cded6589a6cc5a9e1718e3fb0d709fe6e8d8 differ diff --git a/.git.bak/objects/89/76d98b8e07a7672dabcca3d68e6852d8462d5e b/.git.bak/objects/89/76d98b8e07a7672dabcca3d68e6852d8462d5e new file mode 100644 index 0000000..2d78d7c --- /dev/null +++ b/.git.bak/objects/89/76d98b8e07a7672dabcca3d68e6852d8462d5e @@ -0,0 +1 @@ +x1 0F]_Qn*N.v(Izș䔂{~Qvn\83©3 W#X =EOsRO*lK@2\C]L7me\gO 8KiG( \ No newline at end of file diff --git a/.git.bak/objects/89/7cae1570efe9b622229f15e07fe45fe8284350 b/.git.bak/objects/89/7cae1570efe9b622229f15e07fe45fe8284350 new file mode 100644 index 0000000..210239c Binary files /dev/null and b/.git.bak/objects/89/7cae1570efe9b622229f15e07fe45fe8284350 differ diff --git a/.git.bak/objects/89/d542f6a4022fa409b0c38875c1c15991081a23 b/.git.bak/objects/89/d542f6a4022fa409b0c38875c1c15991081a23 new file mode 100644 index 0000000..6480e76 Binary files /dev/null and b/.git.bak/objects/89/d542f6a4022fa409b0c38875c1c15991081a23 differ diff --git a/.git.bak/objects/89/d723c5944898b232717b753a165501f04a766f b/.git.bak/objects/89/d723c5944898b232717b753a165501f04a766f new file mode 100644 index 0000000..81d67e4 Binary files /dev/null and b/.git.bak/objects/89/d723c5944898b232717b753a165501f04a766f differ diff --git a/.git.bak/objects/89/d8fcedfa318ca67c9ba8fe694ba06fd2b47044 b/.git.bak/objects/89/d8fcedfa318ca67c9ba8fe694ba06fd2b47044 new file mode 100644 index 0000000..26fe10e Binary files /dev/null and b/.git.bak/objects/89/d8fcedfa318ca67c9ba8fe694ba06fd2b47044 differ diff --git a/.git.bak/objects/89/ff39e7755b81678c1daba0c569eb0757a1c612 b/.git.bak/objects/89/ff39e7755b81678c1daba0c569eb0757a1c612 new file mode 100644 index 0000000..a5776b2 Binary files /dev/null and b/.git.bak/objects/89/ff39e7755b81678c1daba0c569eb0757a1c612 differ diff --git a/.git.bak/objects/8a/1d7b0e9ebbefa9b3696bd5bdd36b2f1f245f30 b/.git.bak/objects/8a/1d7b0e9ebbefa9b3696bd5bdd36b2f1f245f30 new file mode 100644 index 0000000..8ed695e --- /dev/null +++ b/.git.bak/objects/8a/1d7b0e9ebbefa9b3696bd5bdd36b2f1f245f30 @@ -0,0 +1,2 @@ +x}KkAs_k  IDfg{w[gy$3jzk诪\>: #54d[0\el؛ DKKU k뤯6m #Xawf@B @ +4(ء*U/V.3?wa t܁Xusdؘd)e~!av"!rX pN'4h8_B/< ]\>,K6zyH∪+gW"G569\-oXߍ'pԀ \ No newline at end of file diff --git a/.git.bak/objects/8a/35b5ec4bcc4ee2255976e61ab0bd3c23ae0743 b/.git.bak/objects/8a/35b5ec4bcc4ee2255976e61ab0bd3c23ae0743 new file mode 100644 index 0000000..a389b31 --- /dev/null +++ b/.git.bak/objects/8a/35b5ec4bcc4ee2255976e61ab0bd3c23ae0743 @@ -0,0 +1,2 @@ +xWAN0\Jr8O! +/ mi+%JLNJ3̬M&NB=zlO]Gq!Lo>ul06ۨ*3<ظ9b(wք:l҈R*|L6ʌ$  zZ/5k6b /.rM:9 h"ʒGu\[IRw]'Xgܛ.\QQvkۘUgN_k&4qUdY=pfsVu wxց]M]F0 "02(Cbc&(ɸ1_q#oL :;#>IP^ɟ֢\p0/tCP5(>Dq> `1D ZP \ No newline at end of file diff --git a/.git.bak/objects/8a/44039afddf0dd66c19adbdb62b289d22a56980 b/.git.bak/objects/8a/44039afddf0dd66c19adbdb62b289d22a56980 new file mode 100644 index 0000000..3503244 Binary files /dev/null and b/.git.bak/objects/8a/44039afddf0dd66c19adbdb62b289d22a56980 differ diff --git a/.git.bak/objects/8a/56d5b72fb008043cc69939648790ef482cdab8 b/.git.bak/objects/8a/56d5b72fb008043cc69939648790ef482cdab8 new file mode 100644 index 0000000..6a14b01 Binary files /dev/null and b/.git.bak/objects/8a/56d5b72fb008043cc69939648790ef482cdab8 differ diff --git a/.git.bak/objects/8b/011be00a99399ac5c79dac3251efa5964907cf b/.git.bak/objects/8b/011be00a99399ac5c79dac3251efa5964907cf new file mode 100644 index 0000000..c69d7f8 Binary files /dev/null and b/.git.bak/objects/8b/011be00a99399ac5c79dac3251efa5964907cf differ diff --git a/.git.bak/objects/8b/48cb742bc6ebbfa54fe9c40cf555f26d4e3f1f b/.git.bak/objects/8b/48cb742bc6ebbfa54fe9c40cf555f26d4e3f1f new file mode 100644 index 0000000..a080e07 Binary files /dev/null and b/.git.bak/objects/8b/48cb742bc6ebbfa54fe9c40cf555f26d4e3f1f differ diff --git a/.git.bak/objects/8b/aa58edb205f0c945f4102cafd106248e687647 b/.git.bak/objects/8b/aa58edb205f0c945f4102cafd106248e687647 new file mode 100644 index 0000000..ec6b7b7 Binary files /dev/null and b/.git.bak/objects/8b/aa58edb205f0c945f4102cafd106248e687647 differ diff --git a/.git.bak/objects/8b/b1db09c01a72a9712fc2033fee87e1fd0d4b92 b/.git.bak/objects/8b/b1db09c01a72a9712fc2033fee87e1fd0d4b92 new file mode 100644 index 0000000..1a87d18 Binary files /dev/null and b/.git.bak/objects/8b/b1db09c01a72a9712fc2033fee87e1fd0d4b92 differ diff --git a/.git.bak/objects/8b/ce1c20722d52d7cca401e706af8114cd161b97 b/.git.bak/objects/8b/ce1c20722d52d7cca401e706af8114cd161b97 new file mode 100644 index 0000000..d14ecc8 Binary files /dev/null and b/.git.bak/objects/8b/ce1c20722d52d7cca401e706af8114cd161b97 differ diff --git a/.git.bak/objects/8b/dbfc8154dad2999f38aaba5a91257e668ad6ee b/.git.bak/objects/8b/dbfc8154dad2999f38aaba5a91257e668ad6ee new file mode 100644 index 0000000..fe3675b Binary files /dev/null and b/.git.bak/objects/8b/dbfc8154dad2999f38aaba5a91257e668ad6ee differ diff --git a/.git.bak/objects/8b/de4e9a56313204c5cc43fceb634a5d0c69d6ca b/.git.bak/objects/8b/de4e9a56313204c5cc43fceb634a5d0c69d6ca new file mode 100644 index 0000000..a72e44a Binary files /dev/null and b/.git.bak/objects/8b/de4e9a56313204c5cc43fceb634a5d0c69d6ca differ diff --git a/.git.bak/objects/8c/bfdb4b80a49bf1257e3ab9aec79dbba3ff2343 b/.git.bak/objects/8c/bfdb4b80a49bf1257e3ab9aec79dbba3ff2343 new file mode 100644 index 0000000..4109ca7 Binary files /dev/null and b/.git.bak/objects/8c/bfdb4b80a49bf1257e3ab9aec79dbba3ff2343 differ diff --git a/.git.bak/objects/8c/f3ebcd775f0f5977bd2f590c5e91893e58c733 b/.git.bak/objects/8c/f3ebcd775f0f5977bd2f590c5e91893e58c733 new file mode 100644 index 0000000..1b9eff4 Binary files /dev/null and b/.git.bak/objects/8c/f3ebcd775f0f5977bd2f590c5e91893e58c733 differ diff --git a/.git.bak/objects/8d/0bf2435e7e4f5d6c01058b738243f6361b186b b/.git.bak/objects/8d/0bf2435e7e4f5d6c01058b738243f6361b186b new file mode 100644 index 0000000..1588db6 Binary files /dev/null and b/.git.bak/objects/8d/0bf2435e7e4f5d6c01058b738243f6361b186b differ diff --git a/.git.bak/objects/8d/5eff31295af99d16a28b821c7d96c929018d7e b/.git.bak/objects/8d/5eff31295af99d16a28b821c7d96c929018d7e new file mode 100644 index 0000000..94efe2a Binary files /dev/null and b/.git.bak/objects/8d/5eff31295af99d16a28b821c7d96c929018d7e differ diff --git a/.git.bak/objects/8d/6e716433ff4f99e99412f2e63523459dc0f9a8 b/.git.bak/objects/8d/6e716433ff4f99e99412f2e63523459dc0f9a8 new file mode 100644 index 0000000..b9455e8 --- /dev/null +++ b/.git.bak/objects/8d/6e716433ff4f99e99412f2e63523459dc0f9a8 @@ -0,0 +1,2 @@ +xMPN0fSX:'-C ltEr q-)ToÛb~w-[/7W_c%-+s4U^sE"̈́-C>L#@!LZ V*V|Y*Uf6iD1uFV`I Mr v񢋬$bgNobbu Wik&PlS9>җ;dv#`wf@B 4{@ +4(ء+U/N3?p}Mù7.jHq֙cA6zPlLOSܐY^IX\HpAq8mPSUԜOBS^:y6]]ޖBH&u.zF^2ҧ8jJ!IrfЍ!8}hf~nǚazE]d?SPi^R@(BNmڏKc>TK \ No newline at end of file diff --git a/.git.bak/objects/91/ab8cc6b3041bf25cf1014c5508e71b9863bf8b b/.git.bak/objects/91/ab8cc6b3041bf25cf1014c5508e71b9863bf8b new file mode 100644 index 0000000..22876df Binary files /dev/null and b/.git.bak/objects/91/ab8cc6b3041bf25cf1014c5508e71b9863bf8b differ diff --git a/.git.bak/objects/91/c24ec4a726497e218889190d533e754a8c1143 b/.git.bak/objects/91/c24ec4a726497e218889190d533e754a8c1143 new file mode 100644 index 0000000..c9ba7db Binary files /dev/null and b/.git.bak/objects/91/c24ec4a726497e218889190d533e754a8c1143 differ diff --git a/.git.bak/objects/92/11ac55353317c9139c79e358815e78da765114 b/.git.bak/objects/92/11ac55353317c9139c79e358815e78da765114 new file mode 100644 index 0000000..394b74c Binary files /dev/null and b/.git.bak/objects/92/11ac55353317c9139c79e358815e78da765114 differ diff --git a/.git.bak/objects/92/254be1bf075a9a50c2ae308a8f0d7f2ee11627 b/.git.bak/objects/92/254be1bf075a9a50c2ae308a8f0d7f2ee11627 new file mode 100644 index 0000000..ee9d21e Binary files /dev/null and b/.git.bak/objects/92/254be1bf075a9a50c2ae308a8f0d7f2ee11627 differ diff --git a/.git.bak/objects/92/3b8be2f14c65e78fd75a4fd34aba94fb733274 b/.git.bak/objects/92/3b8be2f14c65e78fd75a4fd34aba94fb733274 new file mode 100644 index 0000000..86a1994 Binary files /dev/null and b/.git.bak/objects/92/3b8be2f14c65e78fd75a4fd34aba94fb733274 differ diff --git a/.git.bak/objects/92/65236f288b7da2345b73a3bc290a6385d2b356 b/.git.bak/objects/92/65236f288b7da2345b73a3bc290a6385d2b356 new file mode 100644 index 0000000..e7f318b Binary files /dev/null and b/.git.bak/objects/92/65236f288b7da2345b73a3bc290a6385d2b356 differ diff --git a/.git.bak/objects/92/95d024a8c94ee27b3e2b437769599ac5f2b65d b/.git.bak/objects/92/95d024a8c94ee27b3e2b437769599ac5f2b65d new file mode 100644 index 0000000..938b451 Binary files /dev/null and b/.git.bak/objects/92/95d024a8c94ee27b3e2b437769599ac5f2b65d differ diff --git a/.git.bak/objects/92/cbdf66b64085e66970ae931f0486ab609e5061 b/.git.bak/objects/92/cbdf66b64085e66970ae931f0486ab609e5061 new file mode 100644 index 0000000..86bea73 Binary files /dev/null and b/.git.bak/objects/92/cbdf66b64085e66970ae931f0486ab609e5061 differ diff --git a/.git.bak/objects/92/e0cf83ce786aace226e6d56ab2d1ac5fc4afbf b/.git.bak/objects/92/e0cf83ce786aace226e6d56ab2d1ac5fc4afbf new file mode 100644 index 0000000..5a125ec Binary files /dev/null and b/.git.bak/objects/92/e0cf83ce786aace226e6d56ab2d1ac5fc4afbf differ diff --git a/.git.bak/objects/93/183ef5f0448585d4fe09742be017a2a1f857e9 b/.git.bak/objects/93/183ef5f0448585d4fe09742be017a2a1f857e9 new file mode 100644 index 0000000..160dc31 --- /dev/null +++ b/.git.bak/objects/93/183ef5f0448585d4fe09742be017a2a1f857e9 @@ -0,0 +1,2 @@ +x}Mk1{ίŵP +iO"&}: #54d[0\el؛ DKKU k뤯6m #Xawf@B 4[iPCU5H_8\f`aۆso\4ӑrjb ֙cv:9Ep 4U襓aM)]Yu蚯G%#}#/@P)D6>I"#>tsEcMv?0ވBϷ \ No newline at end of file diff --git a/.git.bak/objects/93/32a3fdae7060505c0a081614e697fa6cb56dc0 b/.git.bak/objects/93/32a3fdae7060505c0a081614e697fa6cb56dc0 new file mode 100644 index 0000000..d95225e Binary files /dev/null and b/.git.bak/objects/93/32a3fdae7060505c0a081614e697fa6cb56dc0 differ diff --git a/.git.bak/objects/93/665977e40d1ca1a1c4d6ed527514707930370d b/.git.bak/objects/93/665977e40d1ca1a1c4d6ed527514707930370d new file mode 100644 index 0000000..d800b91 Binary files /dev/null and b/.git.bak/objects/93/665977e40d1ca1a1c4d6ed527514707930370d differ diff --git a/.git.bak/objects/93/978e7d5b3d62d16972e7951ff9f683c7a006e4 b/.git.bak/objects/93/978e7d5b3d62d16972e7951ff9f683c7a006e4 new file mode 100644 index 0000000..320502a --- /dev/null +++ b/.git.bak/objects/93/978e7d5b3d62d16972e7951ff9f683c7a006e4 @@ -0,0 +1,2 @@ +xA +0E6Y'`A\ .8b$dB+ww{?30r>R1RWI1̰+R7qPC/;d&ђ =ҍ H&zܞ\bhba*ʧV=09:u޴Β:| \ No newline at end of file diff --git a/.git.bak/objects/93/af91119ae1f8cb470372fd8723fedd8b3a61ad b/.git.bak/objects/93/af91119ae1f8cb470372fd8723fedd8b3a61ad new file mode 100644 index 0000000..11eec5a Binary files /dev/null and b/.git.bak/objects/93/af91119ae1f8cb470372fd8723fedd8b3a61ad differ diff --git a/.git.bak/objects/93/c6341ce4d565c4cf120cdd137f76df9351ea35 b/.git.bak/objects/93/c6341ce4d565c4cf120cdd137f76df9351ea35 new file mode 100644 index 0000000..3d3581b --- /dev/null +++ b/.git.bak/objects/93/c6341ce4d565c4cf120cdd137f76df9351ea35 @@ -0,0 +1,14 @@ +xUn6o?aSd9mR7@Q q]aPfC*IɊ>yݑrZ`! +e +ɧ~MkAI7pk% +]f3sJ *a~d@?F콑:rmd.;3J) +Gg+ޥptwK5ISHfbT:_oFq+ +'w)LȢURVu +KYP F5ڧP^vO PXbkgI49_J]WyѴGm<ħe4s GCQJ:i4>!!锗K C,$|N~I'\wUܒC8&o{ +[HZX9FaFd~|jZf {>uCjr.aH +c2@ܴǯg z-NۀHwD +>O0S`x)8zy%*E_\!yBBS~7GߥHR pnnW)*M'j`K;p d~ӋW^o}r~6*3>.@|= 6~?wIxI)lzD[LC( +"DMIZbP!kn OЗ[7_L +85QuLHRd!e<,>E}oڐ1J"_]#7yɉ,דU[kk29ЗrguG kI#dm#`ӽY>۝=}bp уG;{Orr#r0!!yeSM-`4v{WR#Xm;v X1U4!𚊁RQj+5Q*,;iHz% +"T/+ +*'-|sm,pMDWиP( knb \ No newline at end of file diff --git a/.git.bak/objects/94/629ce6f5df60851017d35ef0091e75a2dd1193 b/.git.bak/objects/94/629ce6f5df60851017d35ef0091e75a2dd1193 new file mode 100644 index 0000000..cab45de Binary files /dev/null and b/.git.bak/objects/94/629ce6f5df60851017d35ef0091e75a2dd1193 differ diff --git a/.git.bak/objects/94/a44a8e83ff69f9167af25ae71c238d0f07250e b/.git.bak/objects/94/a44a8e83ff69f9167af25ae71c238d0f07250e new file mode 100644 index 0000000..301ef1a Binary files /dev/null and b/.git.bak/objects/94/a44a8e83ff69f9167af25ae71c238d0f07250e differ diff --git a/.git.bak/objects/94/fb9bc92c1cb3cccce6a426bf3ac6f8c33f9aa9 b/.git.bak/objects/94/fb9bc92c1cb3cccce6a426bf3ac6f8c33f9aa9 new file mode 100644 index 0000000..ef0c5e3 Binary files /dev/null and b/.git.bak/objects/94/fb9bc92c1cb3cccce6a426bf3ac6f8c33f9aa9 differ diff --git a/.git.bak/objects/95/0d30f7accdcaeb39d4a2c612e50fea431ea091 b/.git.bak/objects/95/0d30f7accdcaeb39d4a2c612e50fea431ea091 new file mode 100644 index 0000000..d7fb8ea Binary files /dev/null and b/.git.bak/objects/95/0d30f7accdcaeb39d4a2c612e50fea431ea091 differ diff --git a/.git.bak/objects/95/a01077316286f7241b2fd1195e8a8e33bbf4ee b/.git.bak/objects/95/a01077316286f7241b2fd1195e8a8e33bbf4ee new file mode 100644 index 0000000..c04d42b Binary files /dev/null and b/.git.bak/objects/95/a01077316286f7241b2fd1195e8a8e33bbf4ee differ diff --git a/.git.bak/objects/95/ec5d2c3b463162c56d17cd918ea37605e2c21e b/.git.bak/objects/95/ec5d2c3b463162c56d17cd918ea37605e2c21e new file mode 100644 index 0000000..4cab0bf Binary files /dev/null and b/.git.bak/objects/95/ec5d2c3b463162c56d17cd918ea37605e2c21e differ diff --git a/.git.bak/objects/95/f82703d08f358b00f180c7b479b9f33dff3dac b/.git.bak/objects/95/f82703d08f358b00f180c7b479b9f33dff3dac new file mode 100644 index 0000000..3b62f30 --- /dev/null +++ b/.git.bak/objects/95/f82703d08f358b00f180c7b479b9f33dff3dac @@ -0,0 +1,2 @@ +xTMO0_1H!jOri;PΌ?Ҧ4+aRc{f+eV0qƶVuMU:6~B#lFrD-Y6gaXFɅ3N/FXqoVֲ%ᎈQóv`WΏt]rEJߔY= 8M(5qr`)ynF?/=UGl1z`Ek6rEpTo1{%K34:\֍qfB]KU6G o\s>B exQzAR_Al>TF sFC N%G$Mzb:KIwt3@H]QmZnSB`ơYimK:GBe&ݘPk +,Ӕ<wDq=`zcȿ2 `ꋙ֞I֑~ۉy3YLmFw \ No newline at end of file diff --git a/.git.bak/objects/96/23d7bad8f2a32bb34c920ad7940fa719b9241d b/.git.bak/objects/96/23d7bad8f2a32bb34c920ad7940fa719b9241d new file mode 100644 index 0000000..97e2849 Binary files /dev/null and b/.git.bak/objects/96/23d7bad8f2a32bb34c920ad7940fa719b9241d differ diff --git a/.git.bak/objects/96/42c619708e579523913d5f1279adce80f1f324 b/.git.bak/objects/96/42c619708e579523913d5f1279adce80f1f324 new file mode 100644 index 0000000..b01b26b Binary files /dev/null and b/.git.bak/objects/96/42c619708e579523913d5f1279adce80f1f324 differ diff --git a/.git.bak/objects/96/797b8f4ae2b63cdd6212f47f5ba26ee037d7fb b/.git.bak/objects/96/797b8f4ae2b63cdd6212f47f5ba26ee037d7fb new file mode 100644 index 0000000..b775a4c Binary files /dev/null and b/.git.bak/objects/96/797b8f4ae2b63cdd6212f47f5ba26ee037d7fb differ diff --git a/.git.bak/objects/96/ebe4f634d95dcab882d8c16f8c760f782ae54e b/.git.bak/objects/96/ebe4f634d95dcab882d8c16f8c760f782ae54e new file mode 100644 index 0000000..24ec867 --- /dev/null +++ b/.git.bak/objects/96/ebe4f634d95dcab882d8c16f8c760f782ae54e @@ -0,0 +1,2 @@ +xKn0 D)\PfPz?h| -U@06b5rH4kGWCK{VqZ;96.&1,Fg™U(-\nK)vZop .̈́]KjaYKE){ +@ڦKJ \ No newline at end of file diff --git a/.git.bak/objects/97/25ddf3d42d9a0fccd6c3f7b69a794bf4fb6962 b/.git.bak/objects/97/25ddf3d42d9a0fccd6c3f7b69a794bf4fb6962 new file mode 100644 index 0000000..06d757b Binary files /dev/null and b/.git.bak/objects/97/25ddf3d42d9a0fccd6c3f7b69a794bf4fb6962 differ diff --git a/.git.bak/objects/97/55642ad9060cbcdb2e2e97c1d3b484815d355d b/.git.bak/objects/97/55642ad9060cbcdb2e2e97c1d3b484815d355d new file mode 100644 index 0000000..93d65e3 Binary files /dev/null and b/.git.bak/objects/97/55642ad9060cbcdb2e2e97c1d3b484815d355d differ diff --git a/.git.bak/objects/97/69e44e397cc2a8f089258833a733f3fe0627ef b/.git.bak/objects/97/69e44e397cc2a8f089258833a733f3fe0627ef new file mode 100644 index 0000000..ee58515 Binary files /dev/null and b/.git.bak/objects/97/69e44e397cc2a8f089258833a733f3fe0627ef differ diff --git a/.git.bak/objects/97/7a3f74ff250f360804bba9a646fd117b97047a b/.git.bak/objects/97/7a3f74ff250f360804bba9a646fd117b97047a new file mode 100644 index 0000000..56aba29 Binary files /dev/null and b/.git.bak/objects/97/7a3f74ff250f360804bba9a646fd117b97047a differ diff --git a/.git.bak/objects/97/ba5f14b84f4ea397e9795636d2285e77ce18cb b/.git.bak/objects/97/ba5f14b84f4ea397e9795636d2285e77ce18cb new file mode 100644 index 0000000..a165246 --- /dev/null +++ b/.git.bak/objects/97/ba5f14b84f4ea397e9795636d2285e77ce18cb @@ -0,0 +1,5 @@ +xuTn09_AmٮI PM4mJN".)V^7q9;3\9)B2d$ [ a r6L/P)C,#$n6SZ5|H k`K$vck,CHo49xwP ]-:Kthjɍȉѕ98M@.>dXw)E '׳Qxmn$gXt) Jb? +`tL]J(HWт&% ^ +bGZL|MQ]֢s+nӫoiÓoG)^g(Ѹ;AoO)k5IWBoˤ, +wvJtz!duvqc<*E]4{{I7NIC K8i%D%I&Bܹ-x.k(Wx3!ILtN&r)=:(?X^[6/)l^83Z +wR;x<Ij \ No newline at end of file diff --git a/.git.bak/objects/97/e2bd0e679d353a9bc035d09283ea233214e99c b/.git.bak/objects/97/e2bd0e679d353a9bc035d09283ea233214e99c new file mode 100644 index 0000000..cfadc21 Binary files /dev/null and b/.git.bak/objects/97/e2bd0e679d353a9bc035d09283ea233214e99c differ diff --git a/.git.bak/objects/97/ea8b45d6b2fe0a6276774c49f269eff385e832 b/.git.bak/objects/97/ea8b45d6b2fe0a6276774c49f269eff385e832 new file mode 100644 index 0000000..4ed1d8e Binary files /dev/null and b/.git.bak/objects/97/ea8b45d6b2fe0a6276774c49f269eff385e832 differ diff --git a/.git.bak/objects/97/f36e81cf3247ad1a2b5e2f5527bc128acd771a b/.git.bak/objects/97/f36e81cf3247ad1a2b5e2f5527bc128acd771a new file mode 100644 index 0000000..4adbcd9 Binary files /dev/null and b/.git.bak/objects/97/f36e81cf3247ad1a2b5e2f5527bc128acd771a differ diff --git a/.git.bak/objects/97/fc66e61884aaea47a99a47551482d92f16f310 b/.git.bak/objects/97/fc66e61884aaea47a99a47551482d92f16f310 new file mode 100644 index 0000000..39e1095 Binary files /dev/null and b/.git.bak/objects/97/fc66e61884aaea47a99a47551482d92f16f310 differ diff --git a/.git.bak/objects/98/0f93da8bcbe691fcb2ae9e8285859e750a6502 b/.git.bak/objects/98/0f93da8bcbe691fcb2ae9e8285859e750a6502 new file mode 100644 index 0000000..f9c6ee7 Binary files /dev/null and b/.git.bak/objects/98/0f93da8bcbe691fcb2ae9e8285859e750a6502 differ diff --git a/.git.bak/objects/98/3a6c83447d671c03e6aa410da6afa9993cdaeb b/.git.bak/objects/98/3a6c83447d671c03e6aa410da6afa9993cdaeb new file mode 100644 index 0000000..303dc1a Binary files /dev/null and b/.git.bak/objects/98/3a6c83447d671c03e6aa410da6afa9993cdaeb differ diff --git a/.git.bak/objects/98/3fbe8aec3f4e2d4add592bb1083b00d7366f66 b/.git.bak/objects/98/3fbe8aec3f4e2d4add592bb1083b00d7366f66 new file mode 100644 index 0000000..a83f5d0 Binary files /dev/null and b/.git.bak/objects/98/3fbe8aec3f4e2d4add592bb1083b00d7366f66 differ diff --git a/.git.bak/objects/98/80a558a7c91fefb0e6908318fbd991b6b93dcf b/.git.bak/objects/98/80a558a7c91fefb0e6908318fbd991b6b93dcf new file mode 100644 index 0000000..eb81f4e Binary files /dev/null and b/.git.bak/objects/98/80a558a7c91fefb0e6908318fbd991b6b93dcf differ diff --git a/.git.bak/objects/98/99b947a8ef3078a526dc76330fed7998aff87a b/.git.bak/objects/98/99b947a8ef3078a526dc76330fed7998aff87a new file mode 100644 index 0000000..2f1ed11 Binary files /dev/null and b/.git.bak/objects/98/99b947a8ef3078a526dc76330fed7998aff87a differ diff --git a/.git.bak/objects/98/9a7d7e52b73f18f7c594e9e173fc01c113fd55 b/.git.bak/objects/98/9a7d7e52b73f18f7c594e9e173fc01c113fd55 new file mode 100644 index 0000000..b01b7e1 Binary files /dev/null and b/.git.bak/objects/98/9a7d7e52b73f18f7c594e9e173fc01c113fd55 differ diff --git a/.git.bak/objects/98/a32ec7108cbd5e6bfff23d197785b2dee5bf6e b/.git.bak/objects/98/a32ec7108cbd5e6bfff23d197785b2dee5bf6e new file mode 100644 index 0000000..75ccff7 Binary files /dev/null and b/.git.bak/objects/98/a32ec7108cbd5e6bfff23d197785b2dee5bf6e differ diff --git a/.git.bak/objects/98/bfeff272f1b55f2463b000afb3aac031daacd4 b/.git.bak/objects/98/bfeff272f1b55f2463b000afb3aac031daacd4 new file mode 100644 index 0000000..c2b7687 Binary files /dev/null and b/.git.bak/objects/98/bfeff272f1b55f2463b000afb3aac031daacd4 differ diff --git a/.git.bak/objects/98/eab2522b86e5fe32c92524c4ec778b98066cbf b/.git.bak/objects/98/eab2522b86e5fe32c92524c4ec778b98066cbf new file mode 100644 index 0000000..aac8465 Binary files /dev/null and b/.git.bak/objects/98/eab2522b86e5fe32c92524c4ec778b98066cbf differ diff --git a/.git.bak/objects/99/157cf3d105e07072d856b72475983836e2a48a b/.git.bak/objects/99/157cf3d105e07072d856b72475983836e2a48a new file mode 100644 index 0000000..761ac37 Binary files /dev/null and b/.git.bak/objects/99/157cf3d105e07072d856b72475983836e2a48a differ diff --git a/.git.bak/objects/99/c130e1de342703106a2032f2d8f8329fea1af4 b/.git.bak/objects/99/c130e1de342703106a2032f2d8f8329fea1af4 new file mode 100644 index 0000000..d5c9a12 Binary files /dev/null and b/.git.bak/objects/99/c130e1de342703106a2032f2d8f8329fea1af4 differ diff --git a/.git.bak/objects/99/ce32a088f90f217c1e4b001f4e41d3ddd4f3ec b/.git.bak/objects/99/ce32a088f90f217c1e4b001f4e41d3ddd4f3ec new file mode 100644 index 0000000..93dc795 --- /dev/null +++ b/.git.bak/objects/99/ce32a088f90f217c1e4b001f4e41d3ddd4f3ec @@ -0,0 +1,2 @@ +xA +0E]JZ7F4(HݝԢ-p,ŸygTU+di:K\{V:͙Sz}I^Z(,f DVj7ju)E4u񒽠ٲNqVcw9_ gL10>~3bAUgzNw5 \ No newline at end of file diff --git a/.git.bak/objects/99/dfeb6c80dfed0a80dac97c6e9f04263fec7a8c b/.git.bak/objects/99/dfeb6c80dfed0a80dac97c6e9f04263fec7a8c new file mode 100644 index 0000000..8547080 Binary files /dev/null and b/.git.bak/objects/99/dfeb6c80dfed0a80dac97c6e9f04263fec7a8c differ diff --git a/.git.bak/objects/99/e3bc613e27d12d6ac0f916871cb83386738273 b/.git.bak/objects/99/e3bc613e27d12d6ac0f916871cb83386738273 new file mode 100644 index 0000000..c10b91c Binary files /dev/null and b/.git.bak/objects/99/e3bc613e27d12d6ac0f916871cb83386738273 differ diff --git a/.git.bak/objects/99/f43218075c862efae82ffa6f30aa9dd44b527f b/.git.bak/objects/99/f43218075c862efae82ffa6f30aa9dd44b527f new file mode 100644 index 0000000..4f25a6b Binary files /dev/null and b/.git.bak/objects/99/f43218075c862efae82ffa6f30aa9dd44b527f differ diff --git a/.git.bak/objects/9a/a39e16bc3d54e1aa20378d9638281aaed3a0de b/.git.bak/objects/9a/a39e16bc3d54e1aa20378d9638281aaed3a0de new file mode 100644 index 0000000..33f0e7b Binary files /dev/null and b/.git.bak/objects/9a/a39e16bc3d54e1aa20378d9638281aaed3a0de differ diff --git a/.git.bak/objects/9a/ac8105c40c486f4175ae3db805e2b3a534ae97 b/.git.bak/objects/9a/ac8105c40c486f4175ae3db805e2b3a534ae97 new file mode 100644 index 0000000..8451ede Binary files /dev/null and b/.git.bak/objects/9a/ac8105c40c486f4175ae3db805e2b3a534ae97 differ diff --git a/.git.bak/objects/9a/ef05d1431454458889fffb9f65677fdec77ab7 b/.git.bak/objects/9a/ef05d1431454458889fffb9f65677fdec77ab7 new file mode 100644 index 0000000..09d1aba Binary files /dev/null and b/.git.bak/objects/9a/ef05d1431454458889fffb9f65677fdec77ab7 differ diff --git a/.git.bak/objects/9b/0ec5cba07f309b93688bb93f0f5e8c6105876e b/.git.bak/objects/9b/0ec5cba07f309b93688bb93f0f5e8c6105876e new file mode 100644 index 0000000..e815512 Binary files /dev/null and b/.git.bak/objects/9b/0ec5cba07f309b93688bb93f0f5e8c6105876e differ diff --git a/.git.bak/objects/9b/13ad8ba555410581c1b389ca2cdfbd9d91310d b/.git.bak/objects/9b/13ad8ba555410581c1b389ca2cdfbd9d91310d new file mode 100644 index 0000000..5dce305 --- /dev/null +++ b/.git.bak/objects/9b/13ad8ba555410581c1b389ca2cdfbd9d91310d @@ -0,0 +1 @@ +xE0]S4qsr1 PN)W^,yU^N+wĕ Yڰ7;ߋh! iLLݪAj^5-vH*B#GX洛J4j Fmwv? \ No newline at end of file diff --git a/.git.bak/objects/9b/174ff069d550ef3cf93943bcd16ace4c4ae545 b/.git.bak/objects/9b/174ff069d550ef3cf93943bcd16ace4c4ae545 new file mode 100644 index 0000000..4aa98c8 Binary files /dev/null and b/.git.bak/objects/9b/174ff069d550ef3cf93943bcd16ace4c4ae545 differ diff --git a/.git.bak/objects/9b/291bddb2d0dd0e37ca82e6ac02a7002b6e0c44 b/.git.bak/objects/9b/291bddb2d0dd0e37ca82e6ac02a7002b6e0c44 new file mode 100644 index 0000000..081ea5f Binary files /dev/null and b/.git.bak/objects/9b/291bddb2d0dd0e37ca82e6ac02a7002b6e0c44 differ diff --git a/.git.bak/objects/9b/4823607b6071c67dd7b553767bfee98a49de1c b/.git.bak/objects/9b/4823607b6071c67dd7b553767bfee98a49de1c new file mode 100644 index 0000000..72b769d Binary files /dev/null and b/.git.bak/objects/9b/4823607b6071c67dd7b553767bfee98a49de1c differ diff --git a/.git.bak/objects/9b/5db8de036ffc6718969bee9193de36409235aa b/.git.bak/objects/9b/5db8de036ffc6718969bee9193de36409235aa new file mode 100644 index 0000000..9f1c611 --- /dev/null +++ b/.git.bak/objects/9b/5db8de036ffc6718969bee9193de36409235aa @@ -0,0 +1,2 @@ +x- +!^ŷSIt%1' 9isI~yc;kDm%&[A_=ݯr fSh "Z/'8*h3VC])d \ No newline at end of file diff --git a/.git.bak/objects/9b/7017b6983b478b37e0ee86e3e6b280ea6bc7e3 b/.git.bak/objects/9b/7017b6983b478b37e0ee86e3e6b280ea6bc7e3 new file mode 100644 index 0000000..74553b4 --- /dev/null +++ b/.git.bak/objects/9b/7017b6983b478b37e0ee86e3e6b280ea6bc7e3 @@ -0,0 +1,3 @@ +xWn5xIٔRN FȰ bu b;KN;ʒl@.h^E/M#%T) w9s|;g&O~{DZ6}Zi irI;<RX$^Xe:e+E:^h9fx2FFIc\'jg1diOcCDIT)i+mX:rOJ[z`{hͬP)+fV"WfDqU:nҋHiWv<):/:/:[$)Ӂ\Jf:AETe<JJ6Q%m)5>tg/\Xf+37΋V蹨Z((XFe깼ά6 2gsW:.OBYϑ!uWJ2~rȐjjCssUr:Q/xcPnveU\щ`j s݈YQ:Qz\~Q(7uaF+] ؄۷q4B+~WF,)(ݿv 9%X8z= +qXe&0XU}UC۶(⥲Am3o09ڵ߹Im!Z^oTi4 TiMUIŕ*#Raޒ鬎|S3I0?dE 4h+L̮58rw ;H~(t:+0"jǩ[K+W[:/gG)pQk]];ΝPkg/w\\9~UVbʙ1z^\xvuvMCA]:IM2Dq۴{ 44t""@mߠ8woǸMRT>5*15Xek_!L \ No newline at end of file diff --git a/.git.bak/objects/9b/8b2f82aec45421466c27d777de1d8565e03565 b/.git.bak/objects/9b/8b2f82aec45421466c27d777de1d8565e03565 new file mode 100644 index 0000000..2fecf9f Binary files /dev/null and b/.git.bak/objects/9b/8b2f82aec45421466c27d777de1d8565e03565 differ diff --git a/.git.bak/objects/9b/98595004b23ce56854e4be1181217591e34776 b/.git.bak/objects/9b/98595004b23ce56854e4be1181217591e34776 new file mode 100644 index 0000000..38f5ee4 Binary files /dev/null and b/.git.bak/objects/9b/98595004b23ce56854e4be1181217591e34776 differ diff --git a/.git.bak/objects/9b/a2dc077dd9f5ed292fcf3d7eaa2c396765a9d1 b/.git.bak/objects/9b/a2dc077dd9f5ed292fcf3d7eaa2c396765a9d1 new file mode 100644 index 0000000..559b1cc Binary files /dev/null and b/.git.bak/objects/9b/a2dc077dd9f5ed292fcf3d7eaa2c396765a9d1 differ diff --git a/.git.bak/objects/9b/aa9ef5f3918328785238aa8854cc2ca286c3f4 b/.git.bak/objects/9b/aa9ef5f3918328785238aa8854cc2ca286c3f4 new file mode 100644 index 0000000..88d3a67 Binary files /dev/null and b/.git.bak/objects/9b/aa9ef5f3918328785238aa8854cc2ca286c3f4 differ diff --git a/.git.bak/objects/9b/b13e1fcce9bbd89edf674df692e817890ed6fc b/.git.bak/objects/9b/b13e1fcce9bbd89edf674df692e817890ed6fc new file mode 100644 index 0000000..f73c906 Binary files /dev/null and b/.git.bak/objects/9b/b13e1fcce9bbd89edf674df692e817890ed6fc differ diff --git a/.git.bak/objects/9b/c43d65a9a7bee46efd1a81256a1bc93dcc1610 b/.git.bak/objects/9b/c43d65a9a7bee46efd1a81256a1bc93dcc1610 new file mode 100644 index 0000000..9deb55d Binary files /dev/null and b/.git.bak/objects/9b/c43d65a9a7bee46efd1a81256a1bc93dcc1610 differ diff --git a/.git.bak/objects/9b/db7f23773a7a69f2a9b883300b4e3b160d0928 b/.git.bak/objects/9b/db7f23773a7a69f2a9b883300b4e3b160d0928 new file mode 100644 index 0000000..7c12771 Binary files /dev/null and b/.git.bak/objects/9b/db7f23773a7a69f2a9b883300b4e3b160d0928 differ diff --git a/.git.bak/objects/9b/edb250ba6f5976c708674d9d6b539e7ff3050e b/.git.bak/objects/9b/edb250ba6f5976c708674d9d6b539e7ff3050e new file mode 100644 index 0000000..98d7ec7 Binary files /dev/null and b/.git.bak/objects/9b/edb250ba6f5976c708674d9d6b539e7ff3050e differ diff --git a/.git.bak/objects/9b/f356320c340d7720ec14bdd49018de7c237232 b/.git.bak/objects/9b/f356320c340d7720ec14bdd49018de7c237232 new file mode 100644 index 0000000..759c9dd --- /dev/null +++ b/.git.bak/objects/9b/f356320c340d7720ec14bdd49018de7c237232 @@ -0,0 +1 @@ +x+)JMU06g040031Q,.(aR:K!lj^Aي=9L \ No newline at end of file diff --git a/.git.bak/objects/9b/f87771b50fd506914eb8374434e7742f40ad4b b/.git.bak/objects/9b/f87771b50fd506914eb8374434e7742f40ad4b new file mode 100644 index 0000000..a2e68f5 Binary files /dev/null and b/.git.bak/objects/9b/f87771b50fd506914eb8374434e7742f40ad4b differ diff --git a/.git.bak/objects/9c/04ee2377be095654d21997cc75b28dc70bd0f4 b/.git.bak/objects/9c/04ee2377be095654d21997cc75b28dc70bd0f4 new file mode 100644 index 0000000..3131c69 Binary files /dev/null and b/.git.bak/objects/9c/04ee2377be095654d21997cc75b28dc70bd0f4 differ diff --git a/.git.bak/objects/9c/35cec93a5697a6c0858b8bbf8092c9dcca27ee b/.git.bak/objects/9c/35cec93a5697a6c0858b8bbf8092c9dcca27ee new file mode 100644 index 0000000..7b6e06a Binary files /dev/null and b/.git.bak/objects/9c/35cec93a5697a6c0858b8bbf8092c9dcca27ee differ diff --git a/.git.bak/objects/9c/6dbea8d4e44185e4227d426def1d2392cd768c b/.git.bak/objects/9c/6dbea8d4e44185e4227d426def1d2392cd768c new file mode 100644 index 0000000..09a3a62 Binary files /dev/null and b/.git.bak/objects/9c/6dbea8d4e44185e4227d426def1d2392cd768c differ diff --git a/.git.bak/objects/9c/74ad3fd79847bf955779bb5273c3b19cb1909d b/.git.bak/objects/9c/74ad3fd79847bf955779bb5273c3b19cb1909d new file mode 100644 index 0000000..eb9c432 Binary files /dev/null and b/.git.bak/objects/9c/74ad3fd79847bf955779bb5273c3b19cb1909d differ diff --git a/.git.bak/objects/9c/b0adad588de3b47b883b946c66cf74e99df00b b/.git.bak/objects/9c/b0adad588de3b47b883b946c66cf74e99df00b new file mode 100644 index 0000000..91edabd Binary files /dev/null and b/.git.bak/objects/9c/b0adad588de3b47b883b946c66cf74e99df00b differ diff --git a/.git.bak/objects/9c/dcd12217303cdbbf1c2524978db7ba3379555e b/.git.bak/objects/9c/dcd12217303cdbbf1c2524978db7ba3379555e new file mode 100644 index 0000000..4cec9de Binary files /dev/null and b/.git.bak/objects/9c/dcd12217303cdbbf1c2524978db7ba3379555e differ diff --git a/.git.bak/objects/9c/dec965cc7b49bfa63e00e6195b9ca309ff4e53 b/.git.bak/objects/9c/dec965cc7b49bfa63e00e6195b9ca309ff4e53 new file mode 100644 index 0000000..ad1d260 Binary files /dev/null and b/.git.bak/objects/9c/dec965cc7b49bfa63e00e6195b9ca309ff4e53 differ diff --git a/.git.bak/objects/9c/f48f5a1421c943f38a21bbf05efc249fb53a41 b/.git.bak/objects/9c/f48f5a1421c943f38a21bbf05efc249fb53a41 new file mode 100644 index 0000000..601d3aa --- /dev/null +++ b/.git.bak/objects/9c/f48f5a1421c943f38a21bbf05efc249fb53a41 @@ -0,0 +1,4 @@ +xTM6ٿERAr Z$Dگߗ=Հ.8;3tJD>tN8L04pIHLerH#v$78-#Rqr=2%rq&]WʜnoStORQJ;#{.RNou3\rj򌾹+㰭B rKwv7 y~M,}ʽM7ÂMŮ[-N1cf-_͝Ʊ/yّ@Lp>:*עх<0Fic +Js7z(rUM|vQ!,BD +T Wx!q9@ArΘ364PǤ£6Vb>H2 +e*kORR_zH?3N3)dA#׵k~|3KSgJ h B3 - +zWNa9ޏg*x/d|?0* \ No newline at end of file diff --git a/.git.bak/objects/9e/8de7b7462d0873329615f044d84ae0f9313e61 b/.git.bak/objects/9e/8de7b7462d0873329615f044d84ae0f9313e61 new file mode 100644 index 0000000..c73b350 Binary files /dev/null and b/.git.bak/objects/9e/8de7b7462d0873329615f044d84ae0f9313e61 differ diff --git a/.git.bak/objects/9e/a90e03922d5e31b32e5ff84f4e51a6ca0760b5 b/.git.bak/objects/9e/a90e03922d5e31b32e5ff84f4e51a6ca0760b5 new file mode 100644 index 0000000..f8e7b19 --- /dev/null +++ b/.git.bak/objects/9e/a90e03922d5e31b32e5ff84f4e51a6ca0760b5 @@ -0,0 +1,3 @@ +x]RK00ԂICFԱlJXARv'҂h4Fh[9si&&%qi݋qGvg㽱v}kNkGƝtB3E; t:#l x{ CLzShͨ=| E}X|"8u3N^M5LG 6u'ќ͝_= mo׳˵ a׀h +|.$ _}se{L*=8:^݄ c9.P8Wr٩7d)lZg?O69y rW~hP~!jK\.͔[ߎp˵3APYd<H`/Ԧ) +ur 8OQd _u #r(4ex\lBTU1ޱ5lL7V"ZPץJIv*k2-DH÷PKg<@ayN\qvh@DH F3GmlJs& dl˞Ha~éF T 'iY(J>5OIQXt'K$Lq ~ׂ-}?@Y`5^ӽp Y \ No newline at end of file diff --git a/.git.bak/objects/9e/ae101001ea3ce8ef4bfa003d03b775e7ae545c b/.git.bak/objects/9e/ae101001ea3ce8ef4bfa003d03b775e7ae545c new file mode 100644 index 0000000..c71d3fb Binary files /dev/null and b/.git.bak/objects/9e/ae101001ea3ce8ef4bfa003d03b775e7ae545c differ diff --git a/.git.bak/objects/9e/bb633d67743316863baf3504bfe1d47d53b033 b/.git.bak/objects/9e/bb633d67743316863baf3504bfe1d47d53b033 new file mode 100644 index 0000000..fd4e9c0 Binary files /dev/null and b/.git.bak/objects/9e/bb633d67743316863baf3504bfe1d47d53b033 differ diff --git a/.git.bak/objects/9e/bdfbf1491ef8bdffb942ee0b475e38a65379bf b/.git.bak/objects/9e/bdfbf1491ef8bdffb942ee0b475e38a65379bf new file mode 100644 index 0000000..343b9ee Binary files /dev/null and b/.git.bak/objects/9e/bdfbf1491ef8bdffb942ee0b475e38a65379bf differ diff --git a/.git.bak/objects/9e/e0fe5439bc5946696dfc6245195c3d3ce01029 b/.git.bak/objects/9e/e0fe5439bc5946696dfc6245195c3d3ce01029 new file mode 100644 index 0000000..1432695 Binary files /dev/null and b/.git.bak/objects/9e/e0fe5439bc5946696dfc6245195c3d3ce01029 differ diff --git a/.git.bak/objects/9e/f6583335d8670f8f86c7508cd047c6ae224a68 b/.git.bak/objects/9e/f6583335d8670f8f86c7508cd047c6ae224a68 new file mode 100644 index 0000000..52a2f2b Binary files /dev/null and b/.git.bak/objects/9e/f6583335d8670f8f86c7508cd047c6ae224a68 differ diff --git a/.git.bak/objects/9e/f835dfc8206d309abc35f6f4c19dec674ab2da b/.git.bak/objects/9e/f835dfc8206d309abc35f6f4c19dec674ab2da new file mode 100644 index 0000000..51b0224 Binary files /dev/null and b/.git.bak/objects/9e/f835dfc8206d309abc35f6f4c19dec674ab2da differ diff --git a/.git.bak/objects/9f/9e1f589a30be583a860f928382b3033c38749d b/.git.bak/objects/9f/9e1f589a30be583a860f928382b3033c38749d new file mode 100644 index 0000000..e6cc32f Binary files /dev/null and b/.git.bak/objects/9f/9e1f589a30be583a860f928382b3033c38749d differ diff --git a/.git.bak/objects/9f/b1266922155d3ba6231263a7e9c30e7e537f56 b/.git.bak/objects/9f/b1266922155d3ba6231263a7e9c30e7e537f56 new file mode 100644 index 0000000..f121a95 Binary files /dev/null and b/.git.bak/objects/9f/b1266922155d3ba6231263a7e9c30e7e537f56 differ diff --git a/.git.bak/objects/9f/b4433bb6191033c46321f44f373843eadc4c74 b/.git.bak/objects/9f/b4433bb6191033c46321f44f373843eadc4c74 new file mode 100644 index 0000000..c8a7a8b Binary files /dev/null and b/.git.bak/objects/9f/b4433bb6191033c46321f44f373843eadc4c74 differ diff --git a/.git.bak/objects/9f/d97ff7523f106de04c47adf74aa3a36db8dbbd b/.git.bak/objects/9f/d97ff7523f106de04c47adf74aa3a36db8dbbd new file mode 100644 index 0000000..7ad3254 Binary files /dev/null and b/.git.bak/objects/9f/d97ff7523f106de04c47adf74aa3a36db8dbbd differ diff --git a/.git.bak/objects/a0/1248b5729c1308909cdd62a8344b8de9b19c89 b/.git.bak/objects/a0/1248b5729c1308909cdd62a8344b8de9b19c89 new file mode 100644 index 0000000..5bd9a80 Binary files /dev/null and b/.git.bak/objects/a0/1248b5729c1308909cdd62a8344b8de9b19c89 differ diff --git a/.git.bak/objects/a0/25704bbc4ac19efbb381f1f90625db3a9ce713 b/.git.bak/objects/a0/25704bbc4ac19efbb381f1f90625db3a9ce713 new file mode 100644 index 0000000..a9620e4 Binary files /dev/null and b/.git.bak/objects/a0/25704bbc4ac19efbb381f1f90625db3a9ce713 differ diff --git a/.git.bak/objects/a0/264a222ac82d7271d755bbb40390961871601c b/.git.bak/objects/a0/264a222ac82d7271d755bbb40390961871601c new file mode 100644 index 0000000..a71a96e Binary files /dev/null and b/.git.bak/objects/a0/264a222ac82d7271d755bbb40390961871601c differ diff --git a/.git.bak/objects/a0/608ab8b370033e7ed14c5ffc4540661658a6bd b/.git.bak/objects/a0/608ab8b370033e7ed14c5ffc4540661658a6bd new file mode 100644 index 0000000..64c6727 --- /dev/null +++ b/.git.bak/objects/a0/608ab8b370033e7ed14c5ffc4540661658a6bd @@ -0,0 +1 @@ +xRN0朧JRZq`I3uF'K7IE|3Wtvd'Gߠ=qLUr w$հ=Y*&LdgËzYRZ߬N֧礷"6`ׅCFZjPCFy#M2cb4 fQ|1ˋwTm"UYipCo Z0gٞy<8Obve[AХ* V_[&G,$VN nE}C砼!o<8>EmHAFpjUR aDMĭ2WU3AJ{ bu4@yu~ \ No newline at end of file diff --git a/.git.bak/objects/a0/98b4a0108a8ec130c08c33b4967a0fd84b6376 b/.git.bak/objects/a0/98b4a0108a8ec130c08c33b4967a0fd84b6376 new file mode 100644 index 0000000..8dd950f Binary files /dev/null and b/.git.bak/objects/a0/98b4a0108a8ec130c08c33b4967a0fd84b6376 differ diff --git a/.git.bak/objects/a0/b4713ecd819d5f8a0ad27f057a3c60da55db0a b/.git.bak/objects/a0/b4713ecd819d5f8a0ad27f057a3c60da55db0a new file mode 100644 index 0000000..33c3032 Binary files /dev/null and b/.git.bak/objects/a0/b4713ecd819d5f8a0ad27f057a3c60da55db0a differ diff --git a/.git.bak/objects/a1/09cac7710d1355fa62cd014b26700be84fdd54 b/.git.bak/objects/a1/09cac7710d1355fa62cd014b26700be84fdd54 new file mode 100644 index 0000000..a601800 Binary files /dev/null and b/.git.bak/objects/a1/09cac7710d1355fa62cd014b26700be84fdd54 differ diff --git a/.git.bak/objects/a1/18497aabce42003addd8c0a798dc992a07a59e b/.git.bak/objects/a1/18497aabce42003addd8c0a798dc992a07a59e new file mode 100644 index 0000000..dd757fd --- /dev/null +++ b/.git.bak/objects/a1/18497aabce42003addd8c0a798dc992a07a59e @@ -0,0 +1,2 @@ +x]1 +0 P<ĩ7Bkj&Eo!#4vb&b2 ӒmxJO*UՃgpsշDoy?=T# \ No newline at end of file diff --git a/.git.bak/objects/a1/3107e24926aea33fb0cb22ae209ab2be115577 b/.git.bak/objects/a1/3107e24926aea33fb0cb22ae209ab2be115577 new file mode 100644 index 0000000..bc2ad28 Binary files /dev/null and b/.git.bak/objects/a1/3107e24926aea33fb0cb22ae209ab2be115577 differ diff --git a/.git.bak/objects/a1/4d53bea3f405d8f8fac61f92640cc6a7ca2e3a b/.git.bak/objects/a1/4d53bea3f405d8f8fac61f92640cc6a7ca2e3a new file mode 100644 index 0000000..a895f47 Binary files /dev/null and b/.git.bak/objects/a1/4d53bea3f405d8f8fac61f92640cc6a7ca2e3a differ diff --git a/.git.bak/objects/a1/6004005bf42fa3d7635be323a518f126e4a760 b/.git.bak/objects/a1/6004005bf42fa3d7635be323a518f126e4a760 new file mode 100644 index 0000000..479d398 Binary files /dev/null and b/.git.bak/objects/a1/6004005bf42fa3d7635be323a518f126e4a760 differ diff --git a/.git.bak/objects/a1/719fa2355f30891c4afc8c28407fab90f8aeda b/.git.bak/objects/a1/719fa2355f30891c4afc8c28407fab90f8aeda new file mode 100644 index 0000000..8fcae13 Binary files /dev/null and b/.git.bak/objects/a1/719fa2355f30891c4afc8c28407fab90f8aeda differ diff --git a/.git.bak/objects/a1/eb97b12554d379a28450b07b341e9807ce28fc b/.git.bak/objects/a1/eb97b12554d379a28450b07b341e9807ce28fc new file mode 100644 index 0000000..eae644b Binary files /dev/null and b/.git.bak/objects/a1/eb97b12554d379a28450b07b341e9807ce28fc differ diff --git a/.git.bak/objects/a2/070e80b4a63556efb5c0c8da3646a93b6e8d1e b/.git.bak/objects/a2/070e80b4a63556efb5c0c8da3646a93b6e8d1e new file mode 100644 index 0000000..233b47a Binary files /dev/null and b/.git.bak/objects/a2/070e80b4a63556efb5c0c8da3646a93b6e8d1e differ diff --git a/.git.bak/objects/a2/1d2e4e4a37e9def66a789eab30f28c019f5df9 b/.git.bak/objects/a2/1d2e4e4a37e9def66a789eab30f28c019f5df9 new file mode 100644 index 0000000..6c4ab6d Binary files /dev/null and b/.git.bak/objects/a2/1d2e4e4a37e9def66a789eab30f28c019f5df9 differ diff --git a/.git.bak/objects/a2/202dc39767adad11f1df67b2ffabba8aaf9cbd b/.git.bak/objects/a2/202dc39767adad11f1df67b2ffabba8aaf9cbd new file mode 100644 index 0000000..026f236 Binary files /dev/null and b/.git.bak/objects/a2/202dc39767adad11f1df67b2ffabba8aaf9cbd differ diff --git a/.git.bak/objects/a2/3167252719be841ad570eb655a703a4ae8fe9e b/.git.bak/objects/a2/3167252719be841ad570eb655a703a4ae8fe9e new file mode 100644 index 0000000..15725f0 Binary files /dev/null and b/.git.bak/objects/a2/3167252719be841ad570eb655a703a4ae8fe9e differ diff --git a/.git.bak/objects/a2/671bf753dfdc9caafbbfd3fe4a1ef6dabf15a5 b/.git.bak/objects/a2/671bf753dfdc9caafbbfd3fe4a1ef6dabf15a5 new file mode 100644 index 0000000..d15d3c9 Binary files /dev/null and b/.git.bak/objects/a2/671bf753dfdc9caafbbfd3fe4a1ef6dabf15a5 differ diff --git a/.git.bak/objects/a2/7c90c7c9070cf48ef29b77c69b1ee8dad70ec6 b/.git.bak/objects/a2/7c90c7c9070cf48ef29b77c69b1ee8dad70ec6 new file mode 100644 index 0000000..c4cfc02 Binary files /dev/null and b/.git.bak/objects/a2/7c90c7c9070cf48ef29b77c69b1ee8dad70ec6 differ diff --git a/.git.bak/objects/a2/7d33d68a2ac6d850a679bdd90adb18f8cff189 b/.git.bak/objects/a2/7d33d68a2ac6d850a679bdd90adb18f8cff189 new file mode 100644 index 0000000..5fe8613 Binary files /dev/null and b/.git.bak/objects/a2/7d33d68a2ac6d850a679bdd90adb18f8cff189 differ diff --git a/.git.bak/objects/a2/8f1e2ed94be840cf6041afceccb41cbaeb2389 b/.git.bak/objects/a2/8f1e2ed94be840cf6041afceccb41cbaeb2389 new file mode 100644 index 0000000..ba15cc7 Binary files /dev/null and b/.git.bak/objects/a2/8f1e2ed94be840cf6041afceccb41cbaeb2389 differ diff --git a/.git.bak/objects/a2/b73583bd6e39d785dc00256bd162c4fe2564e7 b/.git.bak/objects/a2/b73583bd6e39d785dc00256bd162c4fe2564e7 new file mode 100644 index 0000000..adff022 Binary files /dev/null and b/.git.bak/objects/a2/b73583bd6e39d785dc00256bd162c4fe2564e7 differ diff --git a/.git.bak/objects/a2/fc9f0f2286539446cb61339c6c8d837275b1c2 b/.git.bak/objects/a2/fc9f0f2286539446cb61339c6c8d837275b1c2 new file mode 100644 index 0000000..f16c764 Binary files /dev/null and b/.git.bak/objects/a2/fc9f0f2286539446cb61339c6c8d837275b1c2 differ diff --git a/.git.bak/objects/a3/37aafa4553750516af10d4783194e4a9481245 b/.git.bak/objects/a3/37aafa4553750516af10d4783194e4a9481245 new file mode 100644 index 0000000..24feae0 Binary files /dev/null and b/.git.bak/objects/a3/37aafa4553750516af10d4783194e4a9481245 differ diff --git a/.git.bak/objects/a3/3e4eb8e6df0a297b708da80d32de9eeb9a1efc b/.git.bak/objects/a3/3e4eb8e6df0a297b708da80d32de9eeb9a1efc new file mode 100644 index 0000000..ce33f82 --- /dev/null +++ b/.git.bak/objects/a3/3e4eb8e6df0a297b708da80d32de9eeb9a1efc @@ -0,0 +1 @@ +xOK1=S xݭ= B76Mnj2l~{z7xxBbܶQlʄ1C4Lߐ:E||najnkŮR-8`"ZVL0Cd{RdFМ  sHnT QRYwNKX"`8@bzV>9%bʶKh}Rw=FR3UZ[' ueB1-VVtW\~{O*`h;}1t8Z t \ No newline at end of file diff --git a/.git.bak/objects/a3/4cf827b5807161950cec7f37d91302e2bf7bf4 b/.git.bak/objects/a3/4cf827b5807161950cec7f37d91302e2bf7bf4 new file mode 100644 index 0000000..bd53376 --- /dev/null +++ b/.git.bak/objects/a3/4cf827b5807161950cec7f37d91302e2bf7bf4 @@ -0,0 +1 @@ +x+)JMU04`040031Qtv veJF/b'3xkU* rutuMa0?suUoX 3sAe楤Ve3ڊzFb~AmiP5ى@Uy //Ѵtw/3J$[9 \ No newline at end of file diff --git a/.git.bak/objects/a3/709860d3fdfccf8ffab934f4cf8d7af1225d28 b/.git.bak/objects/a3/709860d3fdfccf8ffab934f4cf8d7af1225d28 new file mode 100644 index 0000000..dc8e8e9 Binary files /dev/null and b/.git.bak/objects/a3/709860d3fdfccf8ffab934f4cf8d7af1225d28 differ diff --git a/.git.bak/objects/a3/858d4cf36253ebfd612bfa062260f8f4a20fcc b/.git.bak/objects/a3/858d4cf36253ebfd612bfa062260f8f4a20fcc new file mode 100644 index 0000000..6eadd56 Binary files /dev/null and b/.git.bak/objects/a3/858d4cf36253ebfd612bfa062260f8f4a20fcc differ diff --git a/.git.bak/objects/a4/081b013e2a7f3406e47ff109bc0c454905b4cf b/.git.bak/objects/a4/081b013e2a7f3406e47ff109bc0c454905b4cf new file mode 100644 index 0000000..06228af Binary files /dev/null and b/.git.bak/objects/a4/081b013e2a7f3406e47ff109bc0c454905b4cf differ diff --git a/.git.bak/objects/a4/4e43e56e07b9dce55d14eba09dcbbaf2024303 b/.git.bak/objects/a4/4e43e56e07b9dce55d14eba09dcbbaf2024303 new file mode 100644 index 0000000..176437a --- /dev/null +++ b/.git.bak/objects/a4/4e43e56e07b9dce55d14eba09dcbbaf2024303 @@ -0,0 +1,3 @@ +xUn0_aJvh P^nmbY3vV}圙񙋳Jfwf8'UfF}L^'6\ +|IhVPuiB)VD,lt: !ܖMInmVIy `{Gs\Yw+`7 }L1A6`L_ ~ (ݶ TbkWTPB㉇Gz8P]!i> 5Wsa5&i8.h $/- X!4/ZѴe4MM\L`Bqaɿ &^#ܵA9bb /f=98<.K_VXl!L 'C>(yPV1F*` =}T eL-4{(o|Ua8qG+xHOf,uUI-dӉi೥[[-uKk9c M$uw- +y]buIt6FhlHɆӐs4W/9O{)-vx'MR+3.L]3C1{^ D<ʥ~*t 5K35Fs."SrVQh5501D/Z[ѶɂyY@ʰ&*m]]t5X?>НG~ř&"/p^6R _d7PXPaʼnS2[FaF{w \ No newline at end of file diff --git a/.git.bak/objects/a4/69d1f4db0bba1e1c242b7b6d216a793a85b8f7 b/.git.bak/objects/a4/69d1f4db0bba1e1c242b7b6d216a793a85b8f7 new file mode 100644 index 0000000..05fe7bb Binary files /dev/null and b/.git.bak/objects/a4/69d1f4db0bba1e1c242b7b6d216a793a85b8f7 differ diff --git a/.git.bak/objects/a4/80de8915558fd70c18a77cbb43990d84f8cd33 b/.git.bak/objects/a4/80de8915558fd70c18a77cbb43990d84f8cd33 new file mode 100644 index 0000000..3af0e25 Binary files /dev/null and b/.git.bak/objects/a4/80de8915558fd70c18a77cbb43990d84f8cd33 differ diff --git a/.git.bak/objects/a4/9ee5a0b62136da6524703314e88b4199c4c208 b/.git.bak/objects/a4/9ee5a0b62136da6524703314e88b4199c4c208 new file mode 100644 index 0000000..4d6ea73 Binary files /dev/null and b/.git.bak/objects/a4/9ee5a0b62136da6524703314e88b4199c4c208 differ diff --git a/.git.bak/objects/a4/a26aa04cc17637ee7b76d699c5a98b74389917 b/.git.bak/objects/a4/a26aa04cc17637ee7b76d699c5a98b74389917 new file mode 100644 index 0000000..a148fda Binary files /dev/null and b/.git.bak/objects/a4/a26aa04cc17637ee7b76d699c5a98b74389917 differ diff --git a/.git.bak/objects/a4/b2d4cd850adb5cda64eb9e5692457a73c0947e b/.git.bak/objects/a4/b2d4cd850adb5cda64eb9e5692457a73c0947e new file mode 100644 index 0000000..9e73cbe Binary files /dev/null and b/.git.bak/objects/a4/b2d4cd850adb5cda64eb9e5692457a73c0947e differ diff --git a/.git.bak/objects/a4/ce56f3c90f60d3416e8e0328375c4b20213872 b/.git.bak/objects/a4/ce56f3c90f60d3416e8e0328375c4b20213872 new file mode 100644 index 0000000..f3284dd --- /dev/null +++ b/.git.bak/objects/a4/ce56f3c90f60d3416e8e0328375c4b20213872 @@ -0,0 +1,3 @@ +x1 +0ЭsEk{d1$ݍx]J2tn%cIJaʪr*jzR~.G+6 +%# \ No newline at end of file diff --git a/.git.bak/objects/a4/db68aa0aa946c6856d7f43c99efe03d5f7158b b/.git.bak/objects/a4/db68aa0aa946c6856d7f43c99efe03d5f7158b new file mode 100644 index 0000000..ecd73f2 Binary files /dev/null and b/.git.bak/objects/a4/db68aa0aa946c6856d7f43c99efe03d5f7158b differ diff --git a/.git.bak/objects/a5/0269e5ebc68b1943364ea34779aefea2c09604 b/.git.bak/objects/a5/0269e5ebc68b1943364ea34779aefea2c09604 new file mode 100644 index 0000000..f13925c --- /dev/null +++ b/.git.bak/objects/a5/0269e5ebc68b1943364ea34779aefea2c09604 @@ -0,0 +1,3 @@ +xQ=k0_aDL fi-etRBgǪƅj:ݻ}d%۩L=}R+ kC8SA4\8B`՚5:lXC \ +!cnaf/bp㭆j[Y4!CNn^?10b! nK|Qb^0FnJ + \ No newline at end of file diff --git a/.git.bak/objects/a5/07f5eb171d1c593b36accc959fe5b5714c9b2e b/.git.bak/objects/a5/07f5eb171d1c593b36accc959fe5b5714c9b2e new file mode 100644 index 0000000..2b4ed8d Binary files /dev/null and b/.git.bak/objects/a5/07f5eb171d1c593b36accc959fe5b5714c9b2e differ diff --git a/.git.bak/objects/a5/85f53d47bdf152a8e748887cbc55b76f3fbd9c b/.git.bak/objects/a5/85f53d47bdf152a8e748887cbc55b76f3fbd9c new file mode 100644 index 0000000..aa1f6e5 Binary files /dev/null and b/.git.bak/objects/a5/85f53d47bdf152a8e748887cbc55b76f3fbd9c differ diff --git a/.git.bak/objects/a5/a039ca18c7e2dd8d29c0485116d5470e467462 b/.git.bak/objects/a5/a039ca18c7e2dd8d29c0485116d5470e467462 new file mode 100644 index 0000000..c527c28 Binary files /dev/null and b/.git.bak/objects/a5/a039ca18c7e2dd8d29c0485116d5470e467462 differ diff --git a/.git.bak/objects/a5/a453d6423ce03ab95728a1e4522dae36a156ad b/.git.bak/objects/a5/a453d6423ce03ab95728a1e4522dae36a156ad new file mode 100644 index 0000000..72ea3fd Binary files /dev/null and b/.git.bak/objects/a5/a453d6423ce03ab95728a1e4522dae36a156ad differ diff --git a/.git.bak/objects/a5/ae3b559a40bb98994b56e9f0b9f8a04626289d b/.git.bak/objects/a5/ae3b559a40bb98994b56e9f0b9f8a04626289d new file mode 100644 index 0000000..b43ae70 Binary files /dev/null and b/.git.bak/objects/a5/ae3b559a40bb98994b56e9f0b9f8a04626289d differ diff --git a/.git.bak/objects/a5/fe5fa2998c34efb0a8e669780f5dc7bcd5cc8b b/.git.bak/objects/a5/fe5fa2998c34efb0a8e669780f5dc7bcd5cc8b new file mode 100644 index 0000000..4eb045d Binary files /dev/null and b/.git.bak/objects/a5/fe5fa2998c34efb0a8e669780f5dc7bcd5cc8b differ diff --git a/.git.bak/objects/a6/5c08c15a6e4c9c5500cbbb7a2b01327a5a8c4b b/.git.bak/objects/a6/5c08c15a6e4c9c5500cbbb7a2b01327a5a8c4b new file mode 100644 index 0000000..f630c2e Binary files /dev/null and b/.git.bak/objects/a6/5c08c15a6e4c9c5500cbbb7a2b01327a5a8c4b differ diff --git a/.git.bak/objects/a7/01784784caa89da73351764c193ab55e32c716 b/.git.bak/objects/a7/01784784caa89da73351764c193ab55e32c716 new file mode 100644 index 0000000..80619c0 Binary files /dev/null and b/.git.bak/objects/a7/01784784caa89da73351764c193ab55e32c716 differ diff --git a/.git.bak/objects/a7/0c6b2c4c1086c613b6f7c62fe5e0f3c2a34bea b/.git.bak/objects/a7/0c6b2c4c1086c613b6f7c62fe5e0f3c2a34bea new file mode 100644 index 0000000..420e933 Binary files /dev/null and b/.git.bak/objects/a7/0c6b2c4c1086c613b6f7c62fe5e0f3c2a34bea differ diff --git a/.git.bak/objects/a7/17e5ef68b8083f7bad29149c8d7d9e9c290f9b b/.git.bak/objects/a7/17e5ef68b8083f7bad29149c8d7d9e9c290f9b new file mode 100644 index 0000000..9c67307 Binary files /dev/null and b/.git.bak/objects/a7/17e5ef68b8083f7bad29149c8d7d9e9c290f9b differ diff --git a/.git.bak/objects/a7/51424cdcdd37aab366b9ed966e1ed9651308f5 b/.git.bak/objects/a7/51424cdcdd37aab366b9ed966e1ed9651308f5 new file mode 100644 index 0000000..04aa2ab Binary files /dev/null and b/.git.bak/objects/a7/51424cdcdd37aab366b9ed966e1ed9651308f5 differ diff --git a/.git.bak/objects/a7/60d8bb5f2879e4ee9fb5ee3951d9953c97cbb0 b/.git.bak/objects/a7/60d8bb5f2879e4ee9fb5ee3951d9953c97cbb0 new file mode 100644 index 0000000..f6575a0 Binary files /dev/null and b/.git.bak/objects/a7/60d8bb5f2879e4ee9fb5ee3951d9953c97cbb0 differ diff --git a/.git.bak/objects/a7/854a0fc5fb420607f8519afbbf588597f0628e b/.git.bak/objects/a7/854a0fc5fb420607f8519afbbf588597f0628e new file mode 100644 index 0000000..e5bc6b2 Binary files /dev/null and b/.git.bak/objects/a7/854a0fc5fb420607f8519afbbf588597f0628e differ diff --git a/.git.bak/objects/a7/ae8ee9b8a30ef2a73ff5a7a80adc3b1a845cae b/.git.bak/objects/a7/ae8ee9b8a30ef2a73ff5a7a80adc3b1a845cae new file mode 100644 index 0000000..1257541 --- /dev/null +++ b/.git.bak/objects/a7/ae8ee9b8a30ef2a73ff5a7a80adc3b1a845cae @@ -0,0 +1,6 @@ +x]RK0ٿbiWnK{I6đrbqR5{[ӷoH)XR(<ᑐ؞.>tG~ZS2 Ǜ5^j. pik@;Ԡ xF[Njp8`k_i vas5(lnr6BCqm&["huG.|'Q' -"*?:ю %&7P 9Xkiu뾓iUmuz:=-`quUCn!6$vX;U';L|ۜ#A!J\Wf,-/WbSvH;K~,%+ +ur5& ,p.9i-g85 +邧Ed,`. +9%7)od. + f<[JdaksdW<@iݠzA,/V"M EʮTh*N)_G5} $D$]vB)Q⒋,؈EVJ>h/ rY*l,Z?eni TgdBdQ \ No newline at end of file diff --git a/.git.bak/objects/aa/66be837057051a050543e34f8b6013eadb0ab5 b/.git.bak/objects/aa/66be837057051a050543e34f8b6013eadb0ab5 new file mode 100644 index 0000000..821a34f --- /dev/null +++ b/.git.bak/objects/aa/66be837057051a050543e34f8b6013eadb0ab5 @@ -0,0 +1 @@ +xuN@ )Lf5mauH TNI.!OSl.Lv7eY:e t#Iv_84w/GuPuY߻<Lji@#k ضaB8{舯!PAcs (vpk2,(@3 qOh;%Yi PANLw9FK^ dʿrsEU}|~ \ No newline at end of file diff --git a/.git.bak/objects/aa/927e44e31d486f807634887662efa39256bf84 b/.git.bak/objects/aa/927e44e31d486f807634887662efa39256bf84 new file mode 100644 index 0000000..cb32b74 Binary files /dev/null and b/.git.bak/objects/aa/927e44e31d486f807634887662efa39256bf84 differ diff --git a/.git.bak/objects/aa/d7143ac4a6a57a32b3975b1eb4e89df5a86241 b/.git.bak/objects/aa/d7143ac4a6a57a32b3975b1eb4e89df5a86241 new file mode 100644 index 0000000..e258681 Binary files /dev/null and b/.git.bak/objects/aa/d7143ac4a6a57a32b3975b1eb4e89df5a86241 differ diff --git a/.git.bak/objects/aa/fdf3b2b8f0ef01aa1b3e44596560eee3f38ff7 b/.git.bak/objects/aa/fdf3b2b8f0ef01aa1b3e44596560eee3f38ff7 new file mode 100644 index 0000000..be303ad --- /dev/null +++ b/.git.bak/objects/aa/fdf3b2b8f0ef01aa1b3e44596560eee3f38ff7 @@ -0,0 +1,2 @@ +x%̱0Fa>?MXL +jܡF"-&9"vQ C߸ h/1㡒Hh+Y6.bQepW qƓh]Cg ID' \ No newline at end of file diff --git a/.git.bak/objects/ab/0e5d7dcd43056d5d5288de0d08ca4177efb2db b/.git.bak/objects/ab/0e5d7dcd43056d5d5288de0d08ca4177efb2db new file mode 100644 index 0000000..cae0fbe Binary files /dev/null and b/.git.bak/objects/ab/0e5d7dcd43056d5d5288de0d08ca4177efb2db differ diff --git a/.git.bak/objects/ab/a7ab0412975a41899d61be28ff104c1db3fbf8 b/.git.bak/objects/ab/a7ab0412975a41899d61be28ff104c1db3fbf8 new file mode 100644 index 0000000..47d229d Binary files /dev/null and b/.git.bak/objects/ab/a7ab0412975a41899d61be28ff104c1db3fbf8 differ diff --git a/.git.bak/objects/ab/ea6d852e9baa772152be996c4a6ed5b2e8e514 b/.git.bak/objects/ab/ea6d852e9baa772152be996c4a6ed5b2e8e514 new file mode 100644 index 0000000..1bfa905 --- /dev/null +++ b/.git.bak/objects/ab/ea6d852e9baa772152be996c4a6ed5b2e8e514 @@ -0,0 +1,7 @@ +xuT]k0s~ +,+% Дm6P؃brdɓ3w%ۍۮo{kO{+I +l2m|muGnV%nK.ZEphfs\y9<;AiM(vy?d8 9=?7tD* +bEzJf"3:]fH$ՊL9V2O^,az`SŜ# *2=Mi.'b.cܣi\TŒ7> +,"eߗz-TmxgMc* +W尿K@6PFgdqK`P_[9}lDYgÕr +|6l>4~EM7C2yp/Eo@J QD1~x!|p#]n#Hьo`21auZ.#tL6С +h\֡Zaټ\rV*.%W_ 4F ۉk HQ-8R_^ڹ8}s7,>x)dC`{PW \ No newline at end of file diff --git a/.git.bak/objects/ac/d5acd6ab3cfd4441516573c5948db0ea6d7785 b/.git.bak/objects/ac/d5acd6ab3cfd4441516573c5948db0ea6d7785 new file mode 100644 index 0000000..af9f90a Binary files /dev/null and b/.git.bak/objects/ac/d5acd6ab3cfd4441516573c5948db0ea6d7785 differ diff --git a/.git.bak/objects/ad/2ecd4bf7da56b32f6ccb58508c5ddf94493b6d b/.git.bak/objects/ad/2ecd4bf7da56b32f6ccb58508c5ddf94493b6d new file mode 100644 index 0000000..abfc237 Binary files /dev/null and b/.git.bak/objects/ad/2ecd4bf7da56b32f6ccb58508c5ddf94493b6d differ diff --git a/.git.bak/objects/ad/4854dd95860fabad2bce3abf8573c09ff18e0d b/.git.bak/objects/ad/4854dd95860fabad2bce3abf8573c09ff18e0d new file mode 100644 index 0000000..c03fe46 Binary files /dev/null and b/.git.bak/objects/ad/4854dd95860fabad2bce3abf8573c09ff18e0d differ diff --git a/.git.bak/objects/ad/6f43e35f4a342bcac73ec92226b342f282097e b/.git.bak/objects/ad/6f43e35f4a342bcac73ec92226b342f282097e new file mode 100644 index 0000000..5e6162e Binary files /dev/null and b/.git.bak/objects/ad/6f43e35f4a342bcac73ec92226b342f282097e differ diff --git a/.git.bak/objects/ad/899cae9539e4cfdf5839528e4a78441d5b847f b/.git.bak/objects/ad/899cae9539e4cfdf5839528e4a78441d5b847f new file mode 100644 index 0000000..e7d0e06 Binary files /dev/null and b/.git.bak/objects/ad/899cae9539e4cfdf5839528e4a78441d5b847f differ diff --git a/.git.bak/objects/ad/8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b b/.git.bak/objects/ad/8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b new file mode 100644 index 0000000..cd5b0e7 Binary files /dev/null and b/.git.bak/objects/ad/8e5a5b8e02ba4bd9832d2f1471c9e51a4bc51b differ diff --git a/.git.bak/objects/ad/aa8d30b5f1c261360225c304a3b6b7345de31a b/.git.bak/objects/ad/aa8d30b5f1c261360225c304a3b6b7345de31a new file mode 100644 index 0000000..84d7fe0 Binary files /dev/null and b/.git.bak/objects/ad/aa8d30b5f1c261360225c304a3b6b7345de31a differ diff --git a/.git.bak/objects/ad/b957a513b6ea0e7e0b06020988ddbd7519c0bd b/.git.bak/objects/ad/b957a513b6ea0e7e0b06020988ddbd7519c0bd new file mode 100644 index 0000000..cc9ad9b Binary files /dev/null and b/.git.bak/objects/ad/b957a513b6ea0e7e0b06020988ddbd7519c0bd differ diff --git a/.git.bak/objects/ad/bf60de832f9d6e066625f09d708670291e1bfd b/.git.bak/objects/ad/bf60de832f9d6e066625f09d708670291e1bfd new file mode 100644 index 0000000..fdd0046 Binary files /dev/null and b/.git.bak/objects/ad/bf60de832f9d6e066625f09d708670291e1bfd differ diff --git a/.git.bak/objects/ad/d0faf21a3b90c93a86a2f3bd9363157391c0aa b/.git.bak/objects/ad/d0faf21a3b90c93a86a2f3bd9363157391c0aa new file mode 100644 index 0000000..5cecda1 Binary files /dev/null and b/.git.bak/objects/ad/d0faf21a3b90c93a86a2f3bd9363157391c0aa differ diff --git a/.git.bak/objects/ad/e59e71aa0f170b4ec49a32cf0d04ab5f73ad86 b/.git.bak/objects/ad/e59e71aa0f170b4ec49a32cf0d04ab5f73ad86 new file mode 100644 index 0000000..f6fd938 Binary files /dev/null and b/.git.bak/objects/ad/e59e71aa0f170b4ec49a32cf0d04ab5f73ad86 differ diff --git a/.git.bak/objects/ae/1f7bb9dbdf2e37054fc4092911cd7ef1bd1aa0 b/.git.bak/objects/ae/1f7bb9dbdf2e37054fc4092911cd7ef1bd1aa0 new file mode 100644 index 0000000..fbfcad9 Binary files /dev/null and b/.git.bak/objects/ae/1f7bb9dbdf2e37054fc4092911cd7ef1bd1aa0 differ diff --git a/.git.bak/objects/ae/35f7338085878df90750a5fea55b6d3e7268d9 b/.git.bak/objects/ae/35f7338085878df90750a5fea55b6d3e7268d9 new file mode 100644 index 0000000..3bb8f0e Binary files /dev/null and b/.git.bak/objects/ae/35f7338085878df90750a5fea55b6d3e7268d9 differ diff --git a/.git.bak/objects/ae/60d98e305145b06da0ddede84f7d20484c3e59 b/.git.bak/objects/ae/60d98e305145b06da0ddede84f7d20484c3e59 new file mode 100644 index 0000000..b124ceb Binary files /dev/null and b/.git.bak/objects/ae/60d98e305145b06da0ddede84f7d20484c3e59 differ diff --git a/.git.bak/objects/ae/7e3720a849eac8495fc5f55aba9ba57a4de8f6 b/.git.bak/objects/ae/7e3720a849eac8495fc5f55aba9ba57a4de8f6 new file mode 100644 index 0000000..4302c18 Binary files /dev/null and b/.git.bak/objects/ae/7e3720a849eac8495fc5f55aba9ba57a4de8f6 differ diff --git a/.git.bak/objects/ae/be5da094e5b8e5df4b90936de4f77747154fad b/.git.bak/objects/ae/be5da094e5b8e5df4b90936de4f77747154fad new file mode 100644 index 0000000..09311a8 Binary files /dev/null and b/.git.bak/objects/ae/be5da094e5b8e5df4b90936de4f77747154fad differ diff --git a/.git.bak/objects/ae/d0138278a940d6e7b2d43903e04eee233b957e b/.git.bak/objects/ae/d0138278a940d6e7b2d43903e04eee233b957e new file mode 100644 index 0000000..486cdc7 Binary files /dev/null and b/.git.bak/objects/ae/d0138278a940d6e7b2d43903e04eee233b957e differ diff --git a/.git.bak/objects/ae/eaeb5b4e1b832e01cb17055056dd11aba212b8 b/.git.bak/objects/ae/eaeb5b4e1b832e01cb17055056dd11aba212b8 new file mode 100644 index 0000000..7a9b7f1 Binary files /dev/null and b/.git.bak/objects/ae/eaeb5b4e1b832e01cb17055056dd11aba212b8 differ diff --git a/.git.bak/objects/ae/f9993084c3643257b6d6aea21f76017caf92a7 b/.git.bak/objects/ae/f9993084c3643257b6d6aea21f76017caf92a7 new file mode 100644 index 0000000..5bafb66 Binary files /dev/null and b/.git.bak/objects/ae/f9993084c3643257b6d6aea21f76017caf92a7 differ diff --git a/.git.bak/objects/af/25c5233814bc58790756759aec51e0d52645bc b/.git.bak/objects/af/25c5233814bc58790756759aec51e0d52645bc new file mode 100644 index 0000000..4012801 Binary files /dev/null and b/.git.bak/objects/af/25c5233814bc58790756759aec51e0d52645bc differ diff --git a/.git.bak/objects/af/30d3374adceedcb4da52691504fd62ce19e334 b/.git.bak/objects/af/30d3374adceedcb4da52691504fd62ce19e334 new file mode 100644 index 0000000..f766878 --- /dev/null +++ b/.git.bak/objects/af/30d3374adceedcb4da52691504fd62ce19e334 @@ -0,0 +1 @@ +xA0 9"I7ǘh *43e(Ц.f.0!D*1 "pHȁ$>ػ dd9 4872"zu ^4 ރRオ +'zi,ZMC']y g)"M w(`)# @Ľo \ No newline at end of file diff --git a/.git.bak/objects/af/ecdd5333d1c1a5f2f48080821281f20cadaf16 b/.git.bak/objects/af/ecdd5333d1c1a5f2f48080821281f20cadaf16 new file mode 100644 index 0000000..a5feafc Binary files /dev/null and b/.git.bak/objects/af/ecdd5333d1c1a5f2f48080821281f20cadaf16 differ diff --git a/.git.bak/objects/b0/66d2a4e49b0775b655a98a9d724b0935fd99ec b/.git.bak/objects/b0/66d2a4e49b0775b655a98a9d724b0935fd99ec new file mode 100644 index 0000000..9fb1cae Binary files /dev/null and b/.git.bak/objects/b0/66d2a4e49b0775b655a98a9d724b0935fd99ec differ diff --git a/.git.bak/objects/b0/6ab803c0f80f56c5c88b8dc394468aee3485f4 b/.git.bak/objects/b0/6ab803c0f80f56c5c88b8dc394468aee3485f4 new file mode 100644 index 0000000..74e53e8 Binary files /dev/null and b/.git.bak/objects/b0/6ab803c0f80f56c5c88b8dc394468aee3485f4 differ diff --git a/.git.bak/objects/b0/8c7e9b03f32103f7056f494bc82bdb9fcc4838 b/.git.bak/objects/b0/8c7e9b03f32103f7056f494bc82bdb9fcc4838 new file mode 100644 index 0000000..9b61b63 Binary files /dev/null and b/.git.bak/objects/b0/8c7e9b03f32103f7056f494bc82bdb9fcc4838 differ diff --git a/.git.bak/objects/b0/97213e89da03d62d9d16191c49d20330c4f274 b/.git.bak/objects/b0/97213e89da03d62d9d16191c49d20330c4f274 new file mode 100644 index 0000000..50a47eb --- /dev/null +++ b/.git.bak/objects/b0/97213e89da03d62d9d16191c49d20330c4f274 @@ -0,0 +1 @@ +xAn E#Gx08(0qxӗ3d>붭"WE,1)-\%Nӌ) C45ꢛ\(dYs'W"/Qӌ:4hm[V]Uli}YuR `:M>PtȉzpBdJ. \ No newline at end of file diff --git a/.git.bak/objects/b1/1d99e91e6d8ed211f8d8b1d3b457c6adf0044b b/.git.bak/objects/b1/1d99e91e6d8ed211f8d8b1d3b457c6adf0044b new file mode 100644 index 0000000..e14e1f3 Binary files /dev/null and b/.git.bak/objects/b1/1d99e91e6d8ed211f8d8b1d3b457c6adf0044b differ diff --git a/.git.bak/objects/b1/31000796f0cb804c38b121021940cd962cc1a7 b/.git.bak/objects/b1/31000796f0cb804c38b121021940cd962cc1a7 new file mode 100644 index 0000000..7990b74 Binary files /dev/null and b/.git.bak/objects/b1/31000796f0cb804c38b121021940cd962cc1a7 differ diff --git a/.git.bak/objects/b1/6a90ca3e2f9d63ff29f44f4263f2eab65a75dc b/.git.bak/objects/b1/6a90ca3e2f9d63ff29f44f4263f2eab65a75dc new file mode 100644 index 0000000..236b89b Binary files /dev/null and b/.git.bak/objects/b1/6a90ca3e2f9d63ff29f44f4263f2eab65a75dc differ diff --git a/.git.bak/objects/b1/73b7114a530d75183006a435aafe79c7faf38c b/.git.bak/objects/b1/73b7114a530d75183006a435aafe79c7faf38c new file mode 100644 index 0000000..4d027c7 Binary files /dev/null and b/.git.bak/objects/b1/73b7114a530d75183006a435aafe79c7faf38c differ diff --git a/.git.bak/objects/b1/c56658557b8162aa9f5ba8610ed03a5e558d9d b/.git.bak/objects/b1/c56658557b8162aa9f5ba8610ed03a5e558d9d new file mode 100644 index 0000000..fe5c978 Binary files /dev/null and b/.git.bak/objects/b1/c56658557b8162aa9f5ba8610ed03a5e558d9d differ diff --git a/.git.bak/objects/b1/fd27a7ca5e7f5c37dbeff6de2911f4f65af72c b/.git.bak/objects/b1/fd27a7ca5e7f5c37dbeff6de2911f4f65af72c new file mode 100644 index 0000000..3f81aa3 Binary files /dev/null and b/.git.bak/objects/b1/fd27a7ca5e7f5c37dbeff6de2911f4f65af72c differ diff --git a/.git.bak/objects/b2/01a5a523ed18bde69edd3b3deff3b63c463120 b/.git.bak/objects/b2/01a5a523ed18bde69edd3b3deff3b63c463120 new file mode 100644 index 0000000..165b6df --- /dev/null +++ b/.git.bak/objects/b2/01a5a523ed18bde69edd3b3deff3b63c463120 @@ -0,0 +1,2 @@ +xe +@6OqpTHEZmzk\0wô<ܲ%DzKɵ׃GCφbH&)6ܴڸoY#<'_SFm0U^kc1ԐF!|B( oJ2}_P򙕓qn~fS0ON \ No newline at end of file diff --git a/.git.bak/objects/b2/92257a44b2de8d9d5ea67ed958d1bd9bf7ab9b b/.git.bak/objects/b2/92257a44b2de8d9d5ea67ed958d1bd9bf7ab9b new file mode 100644 index 0000000..f6c3ad7 Binary files /dev/null and b/.git.bak/objects/b2/92257a44b2de8d9d5ea67ed958d1bd9bf7ab9b differ diff --git a/.git.bak/objects/b2/a1b33bf8160fd746c532d84adfff62bfdc5a53 b/.git.bak/objects/b2/a1b33bf8160fd746c532d84adfff62bfdc5a53 new file mode 100644 index 0000000..2a064e2 Binary files /dev/null and b/.git.bak/objects/b2/a1b33bf8160fd746c532d84adfff62bfdc5a53 differ diff --git a/.git.bak/objects/b2/b6bdd3c98349ba48b5dc150e66746dab1beec1 b/.git.bak/objects/b2/b6bdd3c98349ba48b5dc150e66746dab1beec1 new file mode 100644 index 0000000..f32a1c5 Binary files /dev/null and b/.git.bak/objects/b2/b6bdd3c98349ba48b5dc150e66746dab1beec1 differ diff --git a/.git.bak/objects/b2/bb141160cad31581cf39ee21813196ad13a5cd b/.git.bak/objects/b2/bb141160cad31581cf39ee21813196ad13a5cd new file mode 100644 index 0000000..b6297f2 Binary files /dev/null and b/.git.bak/objects/b2/bb141160cad31581cf39ee21813196ad13a5cd differ diff --git a/.git.bak/objects/b3/5b262db04543f863690301c6d48924da90afbb b/.git.bak/objects/b3/5b262db04543f863690301c6d48924da90afbb new file mode 100644 index 0000000..cb8cf1f --- /dev/null +++ b/.git.bak/objects/b3/5b262db04543f863690301c6d48924da90afbb @@ -0,0 +1 @@ +xuTj1BS ]KCCI .mMҀ֭Ĕ{G]w&9sfF i(fGo 4Sq6} 6ݵjp HP XI 8tDG ULwbyYWyrQ;ჱHO &'%ޝ{ BWDQgff芜(8_]IXs۔H!]oJJA)ԁ5^`(y# D)>G y';xyd\/ž[7e `sf2"ԃB>y?}`dL)-J\(k\bN,ܪ4i052mhWXKeQ1~J'1ˏT*kE}2vQI,}2󋫯WͷT]D`ohRםijS2bbf[zC5i|; !y~oWhl`B9Q.Jn6s'Q~n6/l+{ǟ N9nAD/N \ No newline at end of file diff --git a/.git.bak/objects/b4/492fa09e4279559345886766bcbe5d6586a41a b/.git.bak/objects/b4/492fa09e4279559345886766bcbe5d6586a41a new file mode 100644 index 0000000..da89816 Binary files /dev/null and b/.git.bak/objects/b4/492fa09e4279559345886766bcbe5d6586a41a differ diff --git a/.git.bak/objects/b4/581f1dd21a2d379afed3b84b2ae597ee1ad4f1 b/.git.bak/objects/b4/581f1dd21a2d379afed3b84b2ae597ee1ad4f1 new file mode 100644 index 0000000..227a691 Binary files /dev/null and b/.git.bak/objects/b4/581f1dd21a2d379afed3b84b2ae597ee1ad4f1 differ diff --git a/.git.bak/objects/b4/6bdee02cdded28483eb8bba655e56695abd6fa b/.git.bak/objects/b4/6bdee02cdded28483eb8bba655e56695abd6fa new file mode 100644 index 0000000..e7c973d Binary files /dev/null and b/.git.bak/objects/b4/6bdee02cdded28483eb8bba655e56695abd6fa differ diff --git a/.git.bak/objects/b4/738ca91882da115949bdd1c28e19243087fbed b/.git.bak/objects/b4/738ca91882da115949bdd1c28e19243087fbed new file mode 100644 index 0000000..2e7d7b4 Binary files /dev/null and b/.git.bak/objects/b4/738ca91882da115949bdd1c28e19243087fbed differ diff --git a/.git.bak/objects/b4/792c0b8e9c677e86dd4f485dd4acb7b4d2c755 b/.git.bak/objects/b4/792c0b8e9c677e86dd4f485dd4acb7b4d2c755 new file mode 100644 index 0000000..5e003b1 Binary files /dev/null and b/.git.bak/objects/b4/792c0b8e9c677e86dd4f485dd4acb7b4d2c755 differ diff --git a/.git.bak/objects/b4/7fdbca7ed3e437547fc75f39d138e966f79b3a b/.git.bak/objects/b4/7fdbca7ed3e437547fc75f39d138e966f79b3a new file mode 100644 index 0000000..3881b99 Binary files /dev/null and b/.git.bak/objects/b4/7fdbca7ed3e437547fc75f39d138e966f79b3a differ diff --git a/.git.bak/objects/b4/99cb6861f226e5f975ba814e3849f193b9dc1f b/.git.bak/objects/b4/99cb6861f226e5f975ba814e3849f193b9dc1f new file mode 100644 index 0000000..497e80c Binary files /dev/null and b/.git.bak/objects/b4/99cb6861f226e5f975ba814e3849f193b9dc1f differ diff --git a/.git.bak/objects/b4/b4688fbe21410f840ebadfc21512da78bc3cda b/.git.bak/objects/b4/b4688fbe21410f840ebadfc21512da78bc3cda new file mode 100644 index 0000000..68152bd Binary files /dev/null and b/.git.bak/objects/b4/b4688fbe21410f840ebadfc21512da78bc3cda differ diff --git a/.git.bak/objects/b5/046118c30938a4a804606d2d846358f331b4a3 b/.git.bak/objects/b5/046118c30938a4a804606d2d846358f331b4a3 new file mode 100644 index 0000000..7bfaab5 Binary files /dev/null and b/.git.bak/objects/b5/046118c30938a4a804606d2d846358f331b4a3 differ diff --git a/.git.bak/objects/b5/363ff8562bb6d98298f3a3f0ad990f3b8cf5be b/.git.bak/objects/b5/363ff8562bb6d98298f3a3f0ad990f3b8cf5be new file mode 100644 index 0000000..fa0032f Binary files /dev/null and b/.git.bak/objects/b5/363ff8562bb6d98298f3a3f0ad990f3b8cf5be differ diff --git a/.git.bak/objects/b5/4a7cc42ac48524d2de2fa43979367e09fbe385 b/.git.bak/objects/b5/4a7cc42ac48524d2de2fa43979367e09fbe385 new file mode 100644 index 0000000..c89f309 Binary files /dev/null and b/.git.bak/objects/b5/4a7cc42ac48524d2de2fa43979367e09fbe385 differ diff --git a/.git.bak/objects/b5/68ad393bd22da735d31af78462946a86d720f8 b/.git.bak/objects/b5/68ad393bd22da735d31af78462946a86d720f8 new file mode 100644 index 0000000..c6fd411 --- /dev/null +++ b/.git.bak/objects/b5/68ad393bd22da735d31af78462946a86d720f8 @@ -0,0 +1 @@ +x0F%r3!&:qAH_%%bwFU' >['#>,Cxmub( }g1@KmD 8X:踵( iեo0g43BVXr? < ,!Q㫝S7,B/JD \ No newline at end of file diff --git a/.git.bak/objects/b5/97fd85ae030ffa5acbe839bf9c75de5523485c b/.git.bak/objects/b5/97fd85ae030ffa5acbe839bf9c75de5523485c new file mode 100644 index 0000000..365902c Binary files /dev/null and b/.git.bak/objects/b5/97fd85ae030ffa5acbe839bf9c75de5523485c differ diff --git a/.git.bak/objects/b5/b672c4c411c8349d7fa3a4cb8e53edd4b45b88 b/.git.bak/objects/b5/b672c4c411c8349d7fa3a4cb8e53edd4b45b88 new file mode 100644 index 0000000..22eecda Binary files /dev/null and b/.git.bak/objects/b5/b672c4c411c8349d7fa3a4cb8e53edd4b45b88 differ diff --git a/.git.bak/objects/b5/d016edd9c4eef0bb227af4a01c49e73c5f78dc b/.git.bak/objects/b5/d016edd9c4eef0bb227af4a01c49e73c5f78dc new file mode 100644 index 0000000..637d6e4 Binary files /dev/null and b/.git.bak/objects/b5/d016edd9c4eef0bb227af4a01c49e73c5f78dc differ diff --git a/.git.bak/objects/b6/271f66ddd1bd6f71e5bfa17f2443cf116eb9c0 b/.git.bak/objects/b6/271f66ddd1bd6f71e5bfa17f2443cf116eb9c0 new file mode 100644 index 0000000..6d8bccb Binary files /dev/null and b/.git.bak/objects/b6/271f66ddd1bd6f71e5bfa17f2443cf116eb9c0 differ diff --git a/.git.bak/objects/b6/9adcc5a7f190f38c6907584432368e77d097d0 b/.git.bak/objects/b6/9adcc5a7f190f38c6907584432368e77d097d0 new file mode 100644 index 0000000..332f00f --- /dev/null +++ b/.git.bak/objects/b6/9adcc5a7f190f38c6907584432368e77d097d0 @@ -0,0 +1,3 @@ +xUA +0EQfoԴ; W@۔G"{gGߣ"!rpK#V +,M\Zxםݛn6(-&H#ՔwaLec NaF -o:5FlF|Q.q \ No newline at end of file diff --git a/.git.bak/objects/b6/a75242e87771e5ef075c56f24b66127f6f2829 b/.git.bak/objects/b6/a75242e87771e5ef075c56f24b66127f6f2829 new file mode 100644 index 0000000..6a3b6d2 Binary files /dev/null and b/.git.bak/objects/b6/a75242e87771e5ef075c56f24b66127f6f2829 differ diff --git a/.git.bak/objects/b6/ae4cd6daaf38a87273ebf824e374a340c55b98 b/.git.bak/objects/b6/ae4cd6daaf38a87273ebf824e374a340c55b98 new file mode 100644 index 0000000..376a4ef Binary files /dev/null and b/.git.bak/objects/b6/ae4cd6daaf38a87273ebf824e374a340c55b98 differ diff --git a/.git.bak/objects/b6/cb7a4e847eac43422c3f1cdeed48ad1700208d b/.git.bak/objects/b6/cb7a4e847eac43422c3f1cdeed48ad1700208d new file mode 100644 index 0000000..f9c4b6c Binary files /dev/null and b/.git.bak/objects/b6/cb7a4e847eac43422c3f1cdeed48ad1700208d differ diff --git a/.git.bak/objects/b6/ccea906b109d2fbdeab5033ef37fcf3c677451 b/.git.bak/objects/b6/ccea906b109d2fbdeab5033ef37fcf3c677451 new file mode 100644 index 0000000..ceb0c99 Binary files /dev/null and b/.git.bak/objects/b6/ccea906b109d2fbdeab5033ef37fcf3c677451 differ diff --git a/.git.bak/objects/b6/d0b7d6757512f58dbf65a8e92f953a483069ad b/.git.bak/objects/b6/d0b7d6757512f58dbf65a8e92f953a483069ad new file mode 100644 index 0000000..a0fada8 Binary files /dev/null and b/.git.bak/objects/b6/d0b7d6757512f58dbf65a8e92f953a483069ad differ diff --git a/.git.bak/objects/b6/ea1c1fd44ff6f4af6a8e4e5d4793004b9e8524 b/.git.bak/objects/b6/ea1c1fd44ff6f4af6a8e4e5d4793004b9e8524 new file mode 100644 index 0000000..b41abc1 Binary files /dev/null and b/.git.bak/objects/b6/ea1c1fd44ff6f4af6a8e4e5d4793004b9e8524 differ diff --git a/.git.bak/objects/b7/3bb61e18465d9a288a1a6e6e5c6afb1371b321 b/.git.bak/objects/b7/3bb61e18465d9a288a1a6e6e5c6afb1371b321 new file mode 100644 index 0000000..4218c07 Binary files /dev/null and b/.git.bak/objects/b7/3bb61e18465d9a288a1a6e6e5c6afb1371b321 differ diff --git a/.git.bak/objects/b7/42e368f560003b9c95c3ae9b96633034d6f9e9 b/.git.bak/objects/b7/42e368f560003b9c95c3ae9b96633034d6f9e9 new file mode 100644 index 0000000..3193a06 --- /dev/null +++ b/.git.bak/objects/b7/42e368f560003b9c95c3ae9b96633034d6f9e9 @@ -0,0 +1,2 @@ +xMV@ƻ)zB !ɳxX/WѐA%Q#6j]9:s ̝,w&/_K3Y3Ʀkl_ق.-Q9*qJU,E<2TLwȕbV$z\6ba/5j{pjpk& Mlb&&MגwMЗG 0T|ɉ|CQ*U-Jղt\Mwaw}sOm4Y*^*UJ"zH]`d+v)CK8˙Mr1]V-1m1ogy-bjGkbǣ#J;|&XНKj툩cU AUD5Xh:fpm j~OJz(FU*Q;A*i{ -5N8p.i4[ '86ؒpɜ B u3hh3 WB{) _؃.\GxnU>L;`xD_0n8;;BP`KV%Τ *qJ.}1#[&hNܕ $K+7d \ No newline at end of file diff --git a/.git.bak/objects/b8/02328ec02c49f77760f1e13538a5c03a1b8002 b/.git.bak/objects/b8/02328ec02c49f77760f1e13538a5c03a1b8002 new file mode 100644 index 0000000..5e2eb92 Binary files /dev/null and b/.git.bak/objects/b8/02328ec02c49f77760f1e13538a5c03a1b8002 differ diff --git a/.git.bak/objects/b8/5ef8f78ff14113fe26b3a04bf82c3d07f88a73 b/.git.bak/objects/b8/5ef8f78ff14113fe26b3a04bf82c3d07f88a73 new file mode 100644 index 0000000..715ba9d Binary files /dev/null and b/.git.bak/objects/b8/5ef8f78ff14113fe26b3a04bf82c3d07f88a73 differ diff --git a/.git.bak/objects/b8/7286a21e3eda5e94932818c21e2bd20b30e905 b/.git.bak/objects/b8/7286a21e3eda5e94932818c21e2bd20b30e905 new file mode 100644 index 0000000..e644fc2 Binary files /dev/null and b/.git.bak/objects/b8/7286a21e3eda5e94932818c21e2bd20b30e905 differ diff --git a/.git.bak/objects/b8/a678db4b5c59150921597e4d92b82e7b00f90d b/.git.bak/objects/b8/a678db4b5c59150921597e4d92b82e7b00f90d new file mode 100644 index 0000000..7a5b81e Binary files /dev/null and b/.git.bak/objects/b8/a678db4b5c59150921597e4d92b82e7b00f90d differ diff --git a/.git.bak/objects/b8/bf5262a0505c8b4bba7003a7cd1bd898fed789 b/.git.bak/objects/b8/bf5262a0505c8b4bba7003a7cd1bd898fed789 new file mode 100644 index 0000000..d83861c Binary files /dev/null and b/.git.bak/objects/b8/bf5262a0505c8b4bba7003a7cd1bd898fed789 differ diff --git a/.git.bak/objects/b8/ca53cca8f555a38ccd533e5f3b1e6a9ee429df b/.git.bak/objects/b8/ca53cca8f555a38ccd533e5f3b1e6a9ee429df new file mode 100644 index 0000000..9ed7c5e Binary files /dev/null and b/.git.bak/objects/b8/ca53cca8f555a38ccd533e5f3b1e6a9ee429df differ diff --git a/.git.bak/objects/b8/dbd9ddd6c8cafd0fb0a05d2875fc1069dfbd54 b/.git.bak/objects/b8/dbd9ddd6c8cafd0fb0a05d2875fc1069dfbd54 new file mode 100644 index 0000000..70e29d8 Binary files /dev/null and b/.git.bak/objects/b8/dbd9ddd6c8cafd0fb0a05d2875fc1069dfbd54 differ diff --git a/.git.bak/objects/b8/e4f6c20b80bdab05cb47d0ffcf268ac01ae258 b/.git.bak/objects/b8/e4f6c20b80bdab05cb47d0ffcf268ac01ae258 new file mode 100644 index 0000000..d037fed Binary files /dev/null and b/.git.bak/objects/b8/e4f6c20b80bdab05cb47d0ffcf268ac01ae258 differ diff --git a/.git.bak/objects/b8/f2cb8223d6be976c34ca8ca2ec47f3ffbc68c7 b/.git.bak/objects/b8/f2cb8223d6be976c34ca8ca2ec47f3ffbc68c7 new file mode 100644 index 0000000..34bd8e7 Binary files /dev/null and b/.git.bak/objects/b8/f2cb8223d6be976c34ca8ca2ec47f3ffbc68c7 differ diff --git a/.git.bak/objects/b8/fe1db5049a23a0c772a465e48932f3de7d5d65 b/.git.bak/objects/b8/fe1db5049a23a0c772a465e48932f3de7d5d65 new file mode 100644 index 0000000..1c38d4d Binary files /dev/null and b/.git.bak/objects/b8/fe1db5049a23a0c772a465e48932f3de7d5d65 differ diff --git a/.git.bak/objects/b9/2d46be2cd3dc21c004f16a9196d2bccbba16cc b/.git.bak/objects/b9/2d46be2cd3dc21c004f16a9196d2bccbba16cc new file mode 100644 index 0000000..badfca3 Binary files /dev/null and b/.git.bak/objects/b9/2d46be2cd3dc21c004f16a9196d2bccbba16cc differ diff --git a/.git.bak/objects/b9/c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 b/.git.bak/objects/b9/c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 new file mode 100644 index 0000000..6785253 Binary files /dev/null and b/.git.bak/objects/b9/c65ff32b5fb1ff9b3939f9f03ff5bdb9b17ef6 differ diff --git a/.git.bak/objects/b9/d5b1f631c523a7e8be6f15d3348f9f158e89bc b/.git.bak/objects/b9/d5b1f631c523a7e8be6f15d3348f9f158e89bc new file mode 100644 index 0000000..01ed1ef Binary files /dev/null and b/.git.bak/objects/b9/d5b1f631c523a7e8be6f15d3348f9f158e89bc differ diff --git a/.git.bak/objects/b9/db5b300e59cbb1078c5b392586180cea899d05 b/.git.bak/objects/b9/db5b300e59cbb1078c5b392586180cea899d05 new file mode 100644 index 0000000..136c43b Binary files /dev/null and b/.git.bak/objects/b9/db5b300e59cbb1078c5b392586180cea899d05 differ diff --git a/.git.bak/objects/b9/f34d5991077fe9fadc7d9187a7225db7e58fca b/.git.bak/objects/b9/f34d5991077fe9fadc7d9187a7225db7e58fca new file mode 100644 index 0000000..256115d Binary files /dev/null and b/.git.bak/objects/b9/f34d5991077fe9fadc7d9187a7225db7e58fca differ diff --git a/.git.bak/objects/ba/0c4c98b884f5cb062110ff820897d932ac9fdf b/.git.bak/objects/ba/0c4c98b884f5cb062110ff820897d932ac9fdf new file mode 100644 index 0000000..6ee9550 Binary files /dev/null and b/.git.bak/objects/ba/0c4c98b884f5cb062110ff820897d932ac9fdf differ diff --git a/.git.bak/objects/ba/2c3fdf86862d7e34570dcfebf972a63685cc09 b/.git.bak/objects/ba/2c3fdf86862d7e34570dcfebf972a63685cc09 new file mode 100644 index 0000000..297daf5 Binary files /dev/null and b/.git.bak/objects/ba/2c3fdf86862d7e34570dcfebf972a63685cc09 differ diff --git a/.git.bak/objects/ba/6422a951bf0e4823727c254a53d9e9ca77f431 b/.git.bak/objects/ba/6422a951bf0e4823727c254a53d9e9ca77f431 new file mode 100644 index 0000000..3bf8e57 Binary files /dev/null and b/.git.bak/objects/ba/6422a951bf0e4823727c254a53d9e9ca77f431 differ diff --git a/.git.bak/objects/ba/73f6d2a884ba9a6971e8b358ed1a928c7943f7 b/.git.bak/objects/ba/73f6d2a884ba9a6971e8b358ed1a928c7943f7 new file mode 100644 index 0000000..cbea146 --- /dev/null +++ b/.git.bak/objects/ba/73f6d2a884ba9a6971e8b358ed1a928c7943f7 @@ -0,0 +1,2 @@ +x1N0Es + +q26B AEDA=&8b>?鑬\wU2.8&'&kfO̜*hA޺zң Trq,GL1ąW#ZvnuuSjX?l2KRz[}x˿?aOQ,m˲_O2u||4[s \ No newline at end of file diff --git a/.git.bak/objects/ba/99af43fe36a32096fd9bdd451c200215f9293e b/.git.bak/objects/ba/99af43fe36a32096fd9bdd451c200215f9293e new file mode 100644 index 0000000..d51ad08 Binary files /dev/null and b/.git.bak/objects/ba/99af43fe36a32096fd9bdd451c200215f9293e differ diff --git a/.git.bak/objects/ba/f880971bcc9a4175c041b96e1c3ce141aac045 b/.git.bak/objects/ba/f880971bcc9a4175c041b96e1c3ce141aac045 new file mode 100644 index 0000000..8f5f067 Binary files /dev/null and b/.git.bak/objects/ba/f880971bcc9a4175c041b96e1c3ce141aac045 differ diff --git a/.git.bak/objects/bb/4b37a76c3f8abe294d04e7be2a7b0cd34ccf07 b/.git.bak/objects/bb/4b37a76c3f8abe294d04e7be2a7b0cd34ccf07 new file mode 100644 index 0000000..4033e7f Binary files /dev/null and b/.git.bak/objects/bb/4b37a76c3f8abe294d04e7be2a7b0cd34ccf07 differ diff --git a/.git.bak/objects/bb/7e7d6fcf70fdff4c5a48b7fa2ae3c9ba36fe47 b/.git.bak/objects/bb/7e7d6fcf70fdff4c5a48b7fa2ae3c9ba36fe47 new file mode 100644 index 0000000..9f1312c Binary files /dev/null and b/.git.bak/objects/bb/7e7d6fcf70fdff4c5a48b7fa2ae3c9ba36fe47 differ diff --git a/.git.bak/objects/bb/c64ebfc0a6a2f74e80500ffe54b27237724590 b/.git.bak/objects/bb/c64ebfc0a6a2f74e80500ffe54b27237724590 new file mode 100644 index 0000000..37f03b1 Binary files /dev/null and b/.git.bak/objects/bb/c64ebfc0a6a2f74e80500ffe54b27237724590 differ diff --git a/.git.bak/objects/bb/e7710332493c3e34f7328b56ef43c07db2f4a3 b/.git.bak/objects/bb/e7710332493c3e34f7328b56ef43c07db2f4a3 new file mode 100644 index 0000000..f323348 Binary files /dev/null and b/.git.bak/objects/bb/e7710332493c3e34f7328b56ef43c07db2f4a3 differ diff --git a/.git.bak/objects/bb/ef6964509e73f95e5b390b3923f919c72b6528 b/.git.bak/objects/bb/ef6964509e73f95e5b390b3923f919c72b6528 new file mode 100644 index 0000000..e9f4a96 Binary files /dev/null and b/.git.bak/objects/bb/ef6964509e73f95e5b390b3923f919c72b6528 differ diff --git a/.git.bak/objects/bb/f5df30e1b6cbff8f3fa3606c2c32500456542e b/.git.bak/objects/bb/f5df30e1b6cbff8f3fa3606c2c32500456542e new file mode 100644 index 0000000..0915b45 Binary files /dev/null and b/.git.bak/objects/bb/f5df30e1b6cbff8f3fa3606c2c32500456542e differ diff --git a/.git.bak/objects/bc/0c45c887ae18dbced2873bdde6c063122290a6 b/.git.bak/objects/bc/0c45c887ae18dbced2873bdde6c063122290a6 new file mode 100644 index 0000000..b9f859a Binary files /dev/null and b/.git.bak/objects/bc/0c45c887ae18dbced2873bdde6c063122290a6 differ diff --git a/.git.bak/objects/bc/4c08ca01c1b763d44103526bd08f26e8c9c820 b/.git.bak/objects/bc/4c08ca01c1b763d44103526bd08f26e8c9c820 new file mode 100644 index 0000000..a9570e3 Binary files /dev/null and b/.git.bak/objects/bc/4c08ca01c1b763d44103526bd08f26e8c9c820 differ diff --git a/.git.bak/objects/bc/93ddfb650df2a5e506692fe7af43d0316b8937 b/.git.bak/objects/bc/93ddfb650df2a5e506692fe7af43d0316b8937 new file mode 100644 index 0000000..faa2019 Binary files /dev/null and b/.git.bak/objects/bc/93ddfb650df2a5e506692fe7af43d0316b8937 differ diff --git a/.git.bak/objects/bc/fee4ed19d37f956307ed215eeb20599a496d4e b/.git.bak/objects/bc/fee4ed19d37f956307ed215eeb20599a496d4e new file mode 100644 index 0000000..f4825b9 Binary files /dev/null and b/.git.bak/objects/bc/fee4ed19d37f956307ed215eeb20599a496d4e differ diff --git a/.git.bak/objects/bd/1d94b7f12eb2144fd68163e6481ad0e5f2b70a b/.git.bak/objects/bd/1d94b7f12eb2144fd68163e6481ad0e5f2b70a new file mode 100644 index 0000000..ade2834 Binary files /dev/null and b/.git.bak/objects/bd/1d94b7f12eb2144fd68163e6481ad0e5f2b70a differ diff --git a/.git.bak/objects/bd/1e7c2a2af3b1e074b6bc5fba4e98b1294c923e b/.git.bak/objects/bd/1e7c2a2af3b1e074b6bc5fba4e98b1294c923e new file mode 100644 index 0000000..ecea08b Binary files /dev/null and b/.git.bak/objects/bd/1e7c2a2af3b1e074b6bc5fba4e98b1294c923e differ diff --git a/.git.bak/objects/bd/5d6bc0d90ac1a924e825a0f2c2c5c5a8021924 b/.git.bak/objects/bd/5d6bc0d90ac1a924e825a0f2c2c5c5a8021924 new file mode 100644 index 0000000..049f5b9 Binary files /dev/null and b/.git.bak/objects/bd/5d6bc0d90ac1a924e825a0f2c2c5c5a8021924 differ diff --git a/.git.bak/objects/bd/6dca4907536756c8f65e1561f67b918d29e66c b/.git.bak/objects/bd/6dca4907536756c8f65e1561f67b918d29e66c new file mode 100644 index 0000000..1d5535c Binary files /dev/null and b/.git.bak/objects/bd/6dca4907536756c8f65e1561f67b918d29e66c differ diff --git a/.git.bak/objects/bd/d626ce91477abbdd489b79988baebadbd3c897 b/.git.bak/objects/bd/d626ce91477abbdd489b79988baebadbd3c897 new file mode 100644 index 0000000..e492bf8 --- /dev/null +++ b/.git.bak/objects/bd/d626ce91477abbdd489b79988baebadbd3c897 @@ -0,0 +1 @@ +x50 DY㯈<b_:PC㠢Stto<|Xa`ƋWY3g$-pى;6Ң})br-%plBZ"k3 7sv+F+, \ No newline at end of file diff --git a/.git.bak/objects/bd/de6e9400e61c4f644d162b9533a54537e8ec4b b/.git.bak/objects/bd/de6e9400e61c4f644d162b9533a54537e8ec4b new file mode 100644 index 0000000..fd4607f --- /dev/null +++ b/.git.bak/objects/bd/de6e9400e61c4f644d162b9533a54537e8ec4b @@ -0,0 +1,2 @@ +xTMk0ٿB7Adl.-Bo= c[>xR;dcd4O7oڐn: Ҙ~ 0(08!54xRY[VO}9$o??SA榡|cn~^V/<^ckBLW[ BCd ZqGh}v2ȉ&W|ILJ+G ĀWc5q^|ܽ4~/ӱC H&*"=<ԙ+g%s%Y]!$S\ihfx+&dB=ˆ^n#ljE:OS/xlޠ٬&ޒ̕}'1e%8]SR9@h2\5'O{t3sWH۲\} /"~,䋘_9 E7/ +A߇ޗpe)ܬWd_ \ No newline at end of file diff --git a/.git.bak/objects/bd/f9002747e971f342607364e8557fc8bd3e80ec b/.git.bak/objects/bd/f9002747e971f342607364e8557fc8bd3e80ec new file mode 100644 index 0000000..341991c Binary files /dev/null and b/.git.bak/objects/bd/f9002747e971f342607364e8557fc8bd3e80ec differ diff --git a/.git.bak/objects/be/84007ee261813d3edfbc9535c082f01a395ca4 b/.git.bak/objects/be/84007ee261813d3edfbc9535c082f01a395ca4 new file mode 100644 index 0000000..e74dc5c Binary files /dev/null and b/.git.bak/objects/be/84007ee261813d3edfbc9535c082f01a395ca4 differ diff --git a/.git.bak/objects/be/9311d02655a22381f13078bfe868bcbd85b3a6 b/.git.bak/objects/be/9311d02655a22381f13078bfe868bcbd85b3a6 new file mode 100644 index 0000000..eb3bbcd Binary files /dev/null and b/.git.bak/objects/be/9311d02655a22381f13078bfe868bcbd85b3a6 differ diff --git a/.git.bak/objects/be/b716c17cc8833f3453e13a30034de9daf51e42 b/.git.bak/objects/be/b716c17cc8833f3453e13a30034de9daf51e42 new file mode 100644 index 0000000..bd7dcc6 Binary files /dev/null and b/.git.bak/objects/be/b716c17cc8833f3453e13a30034de9daf51e42 differ diff --git a/.git.bak/objects/be/dbe33f87099e919425a1b40256e2556255252f b/.git.bak/objects/be/dbe33f87099e919425a1b40256e2556255252f new file mode 100644 index 0000000..f522239 Binary files /dev/null and b/.git.bak/objects/be/dbe33f87099e919425a1b40256e2556255252f differ diff --git a/.git.bak/objects/bf/15e484c8f40a242f5fbf24676bda8da0e9e013 b/.git.bak/objects/bf/15e484c8f40a242f5fbf24676bda8da0e9e013 new file mode 100644 index 0000000..0584a5e Binary files /dev/null and b/.git.bak/objects/bf/15e484c8f40a242f5fbf24676bda8da0e9e013 differ diff --git a/.git.bak/objects/bf/4c57f259df2e16761b45e2636db307c89ba419 b/.git.bak/objects/bf/4c57f259df2e16761b45e2636db307c89ba419 new file mode 100644 index 0000000..0130785 --- /dev/null +++ b/.git.bak/objects/bf/4c57f259df2e16761b45e2636db307c89ba419 @@ -0,0 +1,3 @@ +xOn0ȨJo;"pz-%@3mק, JS.#W8B(:TQ1 +w4nWDvC&[P(“=64kFG +\.+e/6GߣI2K-]d{dIzЦ\AAglsk \ No newline at end of file diff --git a/.git.bak/objects/bf/9c7d6550b4efceee2f6f55350860097b218a0a b/.git.bak/objects/bf/9c7d6550b4efceee2f6f55350860097b218a0a new file mode 100644 index 0000000..0e19536 Binary files /dev/null and b/.git.bak/objects/bf/9c7d6550b4efceee2f6f55350860097b218a0a differ diff --git a/.git.bak/objects/bf/9e226f4e872bee53a930739e5381d013c47568 b/.git.bak/objects/bf/9e226f4e872bee53a930739e5381d013c47568 new file mode 100644 index 0000000..d35b577 Binary files /dev/null and b/.git.bak/objects/bf/9e226f4e872bee53a930739e5381d013c47568 differ diff --git a/.git.bak/objects/bf/9e99b5c8496c4a61e1f1a6269e84cb99dfa48f b/.git.bak/objects/bf/9e99b5c8496c4a61e1f1a6269e84cb99dfa48f new file mode 100644 index 0000000..8766e00 Binary files /dev/null and b/.git.bak/objects/bf/9e99b5c8496c4a61e1f1a6269e84cb99dfa48f differ diff --git a/.git.bak/objects/bf/e04d96fe8f73acd1cd503b46cb50ea655582cc b/.git.bak/objects/bf/e04d96fe8f73acd1cd503b46cb50ea655582cc new file mode 100644 index 0000000..7acb526 Binary files /dev/null and b/.git.bak/objects/bf/e04d96fe8f73acd1cd503b46cb50ea655582cc differ diff --git a/.git.bak/objects/bf/ec7f2ef9071ed98b30ebf8dfd4ac4b103e5271 b/.git.bak/objects/bf/ec7f2ef9071ed98b30ebf8dfd4ac4b103e5271 new file mode 100644 index 0000000..d4e4bf9 Binary files /dev/null and b/.git.bak/objects/bf/ec7f2ef9071ed98b30ebf8dfd4ac4b103e5271 differ diff --git a/.git.bak/objects/c0/2fcb6c39775f36fe90c2a8534b0d6e69f227d9 b/.git.bak/objects/c0/2fcb6c39775f36fe90c2a8534b0d6e69f227d9 new file mode 100644 index 0000000..ae01fbe Binary files /dev/null and b/.git.bak/objects/c0/2fcb6c39775f36fe90c2a8534b0d6e69f227d9 differ diff --git a/.git.bak/objects/c0/624828f3df93436bfbf1fbf1ee0ce4fc529db2 b/.git.bak/objects/c0/624828f3df93436bfbf1fbf1ee0ce4fc529db2 new file mode 100644 index 0000000..ffb4316 Binary files /dev/null and b/.git.bak/objects/c0/624828f3df93436bfbf1fbf1ee0ce4fc529db2 differ diff --git a/.git.bak/objects/c0/a4103811f69cdfefb43e1fd0a5a866da3c0cd9 b/.git.bak/objects/c0/a4103811f69cdfefb43e1fd0a5a866da3c0cd9 new file mode 100644 index 0000000..5a9e4bc Binary files /dev/null and b/.git.bak/objects/c0/a4103811f69cdfefb43e1fd0a5a866da3c0cd9 differ diff --git a/.git.bak/objects/c0/ab39d420236497dc5565f7465aac35420ad5ce b/.git.bak/objects/c0/ab39d420236497dc5565f7465aac35420ad5ce new file mode 100644 index 0000000..638d23b Binary files /dev/null and b/.git.bak/objects/c0/ab39d420236497dc5565f7465aac35420ad5ce differ diff --git a/.git.bak/objects/c0/ad39f86489d1bfdc3f0acd18602b77ec6ed742 b/.git.bak/objects/c0/ad39f86489d1bfdc3f0acd18602b77ec6ed742 new file mode 100644 index 0000000..ce192a5 Binary files /dev/null and b/.git.bak/objects/c0/ad39f86489d1bfdc3f0acd18602b77ec6ed742 differ diff --git a/.git.bak/objects/c0/d8beec90be402845db9d5afdaa87735ee8e29e b/.git.bak/objects/c0/d8beec90be402845db9d5afdaa87735ee8e29e new file mode 100644 index 0000000..961fa4f Binary files /dev/null and b/.git.bak/objects/c0/d8beec90be402845db9d5afdaa87735ee8e29e differ diff --git a/.git.bak/objects/c0/f2c57f901e64092e395c393ae2e22bbe6c2c19 b/.git.bak/objects/c0/f2c57f901e64092e395c393ae2e22bbe6c2c19 new file mode 100644 index 0000000..a75e41e --- /dev/null +++ b/.git.bak/objects/c0/f2c57f901e64092e395c393ae2e22bbe6c2c19 @@ -0,0 +1 @@ +xMn0@a>Q8LƓJ0J3}'=zomsҙy&3˔hXR1bFw'Y ᥛ?}b<\,4L1I1toU>RU(%9E8"!w}6ĆnR_g`Cs?#I \ No newline at end of file diff --git a/.git.bak/objects/c0/f896f2d88dfe3eff073d12bfffeefad9e909ee b/.git.bak/objects/c0/f896f2d88dfe3eff073d12bfffeefad9e909ee new file mode 100644 index 0000000..72fd7f5 Binary files /dev/null and b/.git.bak/objects/c0/f896f2d88dfe3eff073d12bfffeefad9e909ee differ diff --git a/.git.bak/objects/c1/1163115e5243ae4d0fdbff9735c6e3281bc30e b/.git.bak/objects/c1/1163115e5243ae4d0fdbff9735c6e3281bc30e new file mode 100644 index 0000000..38460e4 Binary files /dev/null and b/.git.bak/objects/c1/1163115e5243ae4d0fdbff9735c6e3281bc30e differ diff --git a/.git.bak/objects/c1/5755bb09fd1c7e4b7be1e22966818b3a3fe809 b/.git.bak/objects/c1/5755bb09fd1c7e4b7be1e22966818b3a3fe809 new file mode 100644 index 0000000..41fb266 Binary files /dev/null and b/.git.bak/objects/c1/5755bb09fd1c7e4b7be1e22966818b3a3fe809 differ diff --git a/.git.bak/objects/c1/5e87377bc84537acdceb74466320644592b72d b/.git.bak/objects/c1/5e87377bc84537acdceb74466320644592b72d new file mode 100644 index 0000000..95d09de Binary files /dev/null and b/.git.bak/objects/c1/5e87377bc84537acdceb74466320644592b72d differ diff --git a/.git.bak/objects/c1/73a4403c3d106742905d212d0ae8c0cbca1ee0 b/.git.bak/objects/c1/73a4403c3d106742905d212d0ae8c0cbca1ee0 new file mode 100644 index 0000000..b5bd9de Binary files /dev/null and b/.git.bak/objects/c1/73a4403c3d106742905d212d0ae8c0cbca1ee0 differ diff --git a/.git.bak/objects/c1/92ac55714d13077dc70a3e3a4319f85adae5f2 b/.git.bak/objects/c1/92ac55714d13077dc70a3e3a4319f85adae5f2 new file mode 100644 index 0000000..7945f56 Binary files /dev/null and b/.git.bak/objects/c1/92ac55714d13077dc70a3e3a4319f85adae5f2 differ diff --git a/.git.bak/objects/c1/a922a9afba84293f449dc4b661124fbac2fd5d b/.git.bak/objects/c1/a922a9afba84293f449dc4b661124fbac2fd5d new file mode 100644 index 0000000..b86668e Binary files /dev/null and b/.git.bak/objects/c1/a922a9afba84293f449dc4b661124fbac2fd5d differ diff --git a/.git.bak/objects/c1/b60e42565001098a0f166bf5c7361aabeadd74 b/.git.bak/objects/c1/b60e42565001098a0f166bf5c7361aabeadd74 new file mode 100644 index 0000000..6a2eb59 Binary files /dev/null and b/.git.bak/objects/c1/b60e42565001098a0f166bf5c7361aabeadd74 differ diff --git a/.git.bak/objects/c1/c804135ce32a6a4a1c36c9d20eaa4513dd2a9b b/.git.bak/objects/c1/c804135ce32a6a4a1c36c9d20eaa4513dd2a9b new file mode 100644 index 0000000..ee1c486 Binary files /dev/null and b/.git.bak/objects/c1/c804135ce32a6a4a1c36c9d20eaa4513dd2a9b differ diff --git a/.git.bak/objects/c1/d20400199df2a057e23d65f79e0593f9c74d5e b/.git.bak/objects/c1/d20400199df2a057e23d65f79e0593f9c74d5e new file mode 100644 index 0000000..abf2c1b Binary files /dev/null and b/.git.bak/objects/c1/d20400199df2a057e23d65f79e0593f9c74d5e differ diff --git a/.git.bak/objects/c1/d4c552456bde706a914f901e9ccd523ac44e7d b/.git.bak/objects/c1/d4c552456bde706a914f901e9ccd523ac44e7d new file mode 100644 index 0000000..5fb7190 Binary files /dev/null and b/.git.bak/objects/c1/d4c552456bde706a914f901e9ccd523ac44e7d differ diff --git a/.git.bak/objects/c1/ed4b143bbb53070a3ab308e6b4acda70b82c02 b/.git.bak/objects/c1/ed4b143bbb53070a3ab308e6b4acda70b82c02 new file mode 100644 index 0000000..030bc9d Binary files /dev/null and b/.git.bak/objects/c1/ed4b143bbb53070a3ab308e6b4acda70b82c02 differ diff --git a/.git.bak/objects/c2/15075f34a7b3e82577dab8aa1192680f604b44 b/.git.bak/objects/c2/15075f34a7b3e82577dab8aa1192680f604b44 new file mode 100644 index 0000000..8817caa Binary files /dev/null and b/.git.bak/objects/c2/15075f34a7b3e82577dab8aa1192680f604b44 differ diff --git a/.git.bak/objects/c2/47e826e67075a49071a07f830fadc62d28d86a b/.git.bak/objects/c2/47e826e67075a49071a07f830fadc62d28d86a new file mode 100644 index 0000000..e9eff97 Binary files /dev/null and b/.git.bak/objects/c2/47e826e67075a49071a07f830fadc62d28d86a differ diff --git a/.git.bak/objects/c2/5bff95b332ce7a46221578067cd8f78d2579cc b/.git.bak/objects/c2/5bff95b332ce7a46221578067cd8f78d2579cc new file mode 100644 index 0000000..5ab04ba --- /dev/null +++ b/.git.bak/objects/c2/5bff95b332ce7a46221578067cd8f78d2579cc @@ -0,0 +1,2 @@ +xm0 @5 E:C'( bG+_>I[gwUP,PpVk᠄N:V 3B.!h%Il-~qr=:mmoUg~yѕ˧ ld} +-9y?| ulW 0 J \ No newline at end of file diff --git a/.git.bak/objects/c2/658d7d1b31848c3b71960543cb0368e56cd4c7 b/.git.bak/objects/c2/658d7d1b31848c3b71960543cb0368e56cd4c7 new file mode 100644 index 0000000..7166c97 Binary files /dev/null and b/.git.bak/objects/c2/658d7d1b31848c3b71960543cb0368e56cd4c7 differ diff --git a/.git.bak/objects/c2/81c02cd793ad69c8e8cb338c96a6c4d466010f b/.git.bak/objects/c2/81c02cd793ad69c8e8cb338c96a6c4d466010f new file mode 100644 index 0000000..280d533 Binary files /dev/null and b/.git.bak/objects/c2/81c02cd793ad69c8e8cb338c96a6c4d466010f differ diff --git a/.git.bak/objects/c2/8bca5f82824661442a6895596d6260714ffe6f b/.git.bak/objects/c2/8bca5f82824661442a6895596d6260714ffe6f new file mode 100644 index 0000000..8ecfbec Binary files /dev/null and b/.git.bak/objects/c2/8bca5f82824661442a6895596d6260714ffe6f differ diff --git a/.git.bak/objects/c2/a1f94770390700cae40dcba5a325bd5dfd36db b/.git.bak/objects/c2/a1f94770390700cae40dcba5a325bd5dfd36db new file mode 100644 index 0000000..a88f1d4 Binary files /dev/null and b/.git.bak/objects/c2/a1f94770390700cae40dcba5a325bd5dfd36db differ diff --git a/.git.bak/objects/c2/b644c9e34c62be9c4d16e9ebfbabafdb347c5c b/.git.bak/objects/c2/b644c9e34c62be9c4d16e9ebfbabafdb347c5c new file mode 100644 index 0000000..0384a41 Binary files /dev/null and b/.git.bak/objects/c2/b644c9e34c62be9c4d16e9ebfbabafdb347c5c differ diff --git a/.git.bak/objects/c2/cbbdfc65c390afc3205f87dd95bc996e24cbb8 b/.git.bak/objects/c2/cbbdfc65c390afc3205f87dd95bc996e24cbb8 new file mode 100644 index 0000000..7fa4646 Binary files /dev/null and b/.git.bak/objects/c2/cbbdfc65c390afc3205f87dd95bc996e24cbb8 differ diff --git a/.git.bak/objects/c3/261c91e08c1a3c6499741ccd32d47612bea72c b/.git.bak/objects/c3/261c91e08c1a3c6499741ccd32d47612bea72c new file mode 100644 index 0000000..b7a75bb Binary files /dev/null and b/.git.bak/objects/c3/261c91e08c1a3c6499741ccd32d47612bea72c differ diff --git a/.git.bak/objects/c3/5962b973f29a69951ed7eae08c0abe6dfbb7da b/.git.bak/objects/c3/5962b973f29a69951ed7eae08c0abe6dfbb7da new file mode 100644 index 0000000..08dcb39 Binary files /dev/null and b/.git.bak/objects/c3/5962b973f29a69951ed7eae08c0abe6dfbb7da differ diff --git a/.git.bak/objects/c3/934d1c7d57119aa31103bc6389838c646e2fc2 b/.git.bak/objects/c3/934d1c7d57119aa31103bc6389838c646e2fc2 new file mode 100644 index 0000000..b6946ff Binary files /dev/null and b/.git.bak/objects/c3/934d1c7d57119aa31103bc6389838c646e2fc2 differ diff --git a/.git.bak/objects/c3/b044a489db1fe5d4a90adeb5b9625d777d2631 b/.git.bak/objects/c3/b044a489db1fe5d4a90adeb5b9625d777d2631 new file mode 100644 index 0000000..c1c26ea Binary files /dev/null and b/.git.bak/objects/c3/b044a489db1fe5d4a90adeb5b9625d777d2631 differ diff --git a/.git.bak/objects/c3/bfe4d4fe956aecceb49f159c89785b3c9f81fe b/.git.bak/objects/c3/bfe4d4fe956aecceb49f159c89785b3c9f81fe new file mode 100644 index 0000000..ff3d9ac Binary files /dev/null and b/.git.bak/objects/c3/bfe4d4fe956aecceb49f159c89785b3c9f81fe differ diff --git a/.git.bak/objects/c4/0a8e9406ca5824939df34ad88531e3385ddcdc b/.git.bak/objects/c4/0a8e9406ca5824939df34ad88531e3385ddcdc new file mode 100644 index 0000000..aa201aa Binary files /dev/null and b/.git.bak/objects/c4/0a8e9406ca5824939df34ad88531e3385ddcdc differ diff --git a/.git.bak/objects/c4/24b3e52f4298fe65344295e62ea986aafcc959 b/.git.bak/objects/c4/24b3e52f4298fe65344295e62ea986aafcc959 new file mode 100644 index 0000000..11b1a7c Binary files /dev/null and b/.git.bak/objects/c4/24b3e52f4298fe65344295e62ea986aafcc959 differ diff --git a/.git.bak/objects/c4/51faace1fefb2e8a052641772e0b6f7793b5af b/.git.bak/objects/c4/51faace1fefb2e8a052641772e0b6f7793b5af new file mode 100644 index 0000000..f61c106 Binary files /dev/null and b/.git.bak/objects/c4/51faace1fefb2e8a052641772e0b6f7793b5af differ diff --git a/.git.bak/objects/c4/9cecaa240c415345f455f2e4fbed99015c1713 b/.git.bak/objects/c4/9cecaa240c415345f455f2e4fbed99015c1713 new file mode 100644 index 0000000..5d80955 --- /dev/null +++ b/.git.bak/objects/c4/9cecaa240c415345f455f2e4fbed99015c1713 @@ -0,0 +1,2 @@ +xKOR05gHIMI,JUH+K.S(LӨR+MJ-҄1R+ +JlJe< \ No newline at end of file diff --git a/.git.bak/objects/c4/c8625b95be41e61422ed343b1a7b6e8644aca1 b/.git.bak/objects/c4/c8625b95be41e61422ed343b1a7b6e8644aca1 new file mode 100644 index 0000000..78c5b26 --- /dev/null +++ b/.git.bak/objects/c4/c8625b95be41e61422ed343b1a7b6e8644aca1 @@ -0,0 +1,2 @@ +x+)JMU00b040031QKJӫ*`X؛yN!?l RޯTcnjYZk_W^Xָ6*K[6sCfxA6XQuV[־uLNiAu0E%E YOd?$N=Te239iZR][23\QqF|FfqI~Q%r +S+.7,gt\ I]j^CKR&_%^t?HJ.Zl.KU6 Bos+(JͭBE{޴Ynx1m}>>1'38^3W&]rFL¤` T0sH2nxRI'3/A%%18Dg\mzğҕ>C(~VJLJuH|^=JaBCT90!J9{k \ No newline at end of file diff --git a/.git.bak/objects/cc/7046180ba4b47d7828035fe4c1ac4d3779dde3 b/.git.bak/objects/cc/7046180ba4b47d7828035fe4c1ac4d3779dde3 new file mode 100644 index 0000000..d749893 Binary files /dev/null and b/.git.bak/objects/cc/7046180ba4b47d7828035fe4c1ac4d3779dde3 differ diff --git a/.git.bak/objects/cc/7b34adbfa6a06d6d98b5a90277e55556185b8c b/.git.bak/objects/cc/7b34adbfa6a06d6d98b5a90277e55556185b8c new file mode 100644 index 0000000..c70c74e Binary files /dev/null and b/.git.bak/objects/cc/7b34adbfa6a06d6d98b5a90277e55556185b8c differ diff --git a/.git.bak/objects/cc/7e10358414a4f40eede8eef710c846c3dcb59a b/.git.bak/objects/cc/7e10358414a4f40eede8eef710c846c3dcb59a new file mode 100644 index 0000000..2de5ae3 Binary files /dev/null and b/.git.bak/objects/cc/7e10358414a4f40eede8eef710c846c3dcb59a differ diff --git a/.git.bak/objects/cc/97a50ab0bda37820def0ff57683e528be4389c b/.git.bak/objects/cc/97a50ab0bda37820def0ff57683e528be4389c new file mode 100644 index 0000000..bb29e9a Binary files /dev/null and b/.git.bak/objects/cc/97a50ab0bda37820def0ff57683e528be4389c differ diff --git a/.git.bak/objects/cd/22e865ed88f1178d008ba43428b1beee2d8223 b/.git.bak/objects/cd/22e865ed88f1178d008ba43428b1beee2d8223 new file mode 100644 index 0000000..b7839bf Binary files /dev/null and b/.git.bak/objects/cd/22e865ed88f1178d008ba43428b1beee2d8223 differ diff --git a/.git.bak/objects/cd/3c627b092b8ab621be2a5c74dfb60ed084c3bc b/.git.bak/objects/cd/3c627b092b8ab621be2a5c74dfb60ed084c3bc new file mode 100644 index 0000000..314186a Binary files /dev/null and b/.git.bak/objects/cd/3c627b092b8ab621be2a5c74dfb60ed084c3bc differ diff --git a/.git.bak/objects/cd/99af89f43875a75e1e370dba48eab750516f5d b/.git.bak/objects/cd/99af89f43875a75e1e370dba48eab750516f5d new file mode 100644 index 0000000..8a2902c Binary files /dev/null and b/.git.bak/objects/cd/99af89f43875a75e1e370dba48eab750516f5d differ diff --git a/.git.bak/objects/cd/9ebaaa9963f794167f74e00a37d9ceb42e7b91 b/.git.bak/objects/cd/9ebaaa9963f794167f74e00a37d9ceb42e7b91 new file mode 100644 index 0000000..c244b9a Binary files /dev/null and b/.git.bak/objects/cd/9ebaaa9963f794167f74e00a37d9ceb42e7b91 differ diff --git a/.git.bak/objects/cd/b5138a45b71c13cc54040ab608396cae474277 b/.git.bak/objects/cd/b5138a45b71c13cc54040ab608396cae474277 new file mode 100644 index 0000000..520c82f Binary files /dev/null and b/.git.bak/objects/cd/b5138a45b71c13cc54040ab608396cae474277 differ diff --git a/.git.bak/objects/cd/cdc1a4fa66b4fccb3a9498cd852900d5bdb9d9 b/.git.bak/objects/cd/cdc1a4fa66b4fccb3a9498cd852900d5bdb9d9 new file mode 100644 index 0000000..994fe90 Binary files /dev/null and b/.git.bak/objects/cd/cdc1a4fa66b4fccb3a9498cd852900d5bdb9d9 differ diff --git a/.git.bak/objects/cd/d014803474a4b76b981c475a32ebcaa81a36e5 b/.git.bak/objects/cd/d014803474a4b76b981c475a32ebcaa81a36e5 new file mode 100644 index 0000000..2ec176e Binary files /dev/null and b/.git.bak/objects/cd/d014803474a4b76b981c475a32ebcaa81a36e5 differ diff --git a/.git.bak/objects/ce/1bc2a4ae2ea0be0eac679b305b6d20d69a7793 b/.git.bak/objects/ce/1bc2a4ae2ea0be0eac679b305b6d20d69a7793 new file mode 100644 index 0000000..8f3d0a6 --- /dev/null +++ b/.git.bak/objects/ce/1bc2a4ae2ea0be0eac679b305b6d20d69a7793 @@ -0,0 +1 @@ +xm0DiWl k4誓B'aQ qC)ͬ{52- |9h[l,KkZuG4MhNi+Mف}dYt,6YJ7jĠ(m113^EgJFP:VSL0̓܉j*zDOVum{y \ No newline at end of file diff --git a/.git.bak/objects/ce/1dd98713317a95f0a72036434478172fe991d8 b/.git.bak/objects/ce/1dd98713317a95f0a72036434478172fe991d8 new file mode 100644 index 0000000..58fce20 Binary files /dev/null and b/.git.bak/objects/ce/1dd98713317a95f0a72036434478172fe991d8 differ diff --git a/.git.bak/objects/ce/2ad5b6ee57f4778a1f4838f7970093c7941c1c b/.git.bak/objects/ce/2ad5b6ee57f4778a1f4838f7970093c7941c1c new file mode 100644 index 0000000..1cd8de6 Binary files /dev/null and b/.git.bak/objects/ce/2ad5b6ee57f4778a1f4838f7970093c7941c1c differ diff --git a/.git.bak/objects/ce/2b354d964e5fd48fccee15a875e058631e4d99 b/.git.bak/objects/ce/2b354d964e5fd48fccee15a875e058631e4d99 new file mode 100644 index 0000000..efb0096 Binary files /dev/null and b/.git.bak/objects/ce/2b354d964e5fd48fccee15a875e058631e4d99 differ diff --git a/.git.bak/objects/ce/d755c79b9fb9b35bfe6d71ab4c07775264e9f0 b/.git.bak/objects/ce/d755c79b9fb9b35bfe6d71ab4c07775264e9f0 new file mode 100644 index 0000000..fa4dd41 Binary files /dev/null and b/.git.bak/objects/ce/d755c79b9fb9b35bfe6d71ab4c07775264e9f0 differ diff --git a/.git.bak/objects/ce/f934df0c4d063eb2459eec41b60a5bbcb1618b b/.git.bak/objects/ce/f934df0c4d063eb2459eec41b60a5bbcb1618b new file mode 100644 index 0000000..0d8e976 Binary files /dev/null and b/.git.bak/objects/ce/f934df0c4d063eb2459eec41b60a5bbcb1618b differ diff --git a/.git.bak/objects/cf/92b99d14f848c259a0676e5f6a822dd06e987d b/.git.bak/objects/cf/92b99d14f848c259a0676e5f6a822dd06e987d new file mode 100644 index 0000000..2795259 Binary files /dev/null and b/.git.bak/objects/cf/92b99d14f848c259a0676e5f6a822dd06e987d differ diff --git a/.git.bak/objects/cf/9616c4a6671026d27790a79dbf26732a5860fb b/.git.bak/objects/cf/9616c4a6671026d27790a79dbf26732a5860fb new file mode 100644 index 0000000..765ee12 Binary files /dev/null and b/.git.bak/objects/cf/9616c4a6671026d27790a79dbf26732a5860fb differ diff --git a/.git.bak/objects/cf/b7a65ef77820b97aefe39d2c1c3de1bc837f5e b/.git.bak/objects/cf/b7a65ef77820b97aefe39d2c1c3de1bc837f5e new file mode 100644 index 0000000..dc0cbeb Binary files /dev/null and b/.git.bak/objects/cf/b7a65ef77820b97aefe39d2c1c3de1bc837f5e differ diff --git a/.git.bak/objects/cf/c67d67f7d0d78b30ea1a3ce87c94f045ebd738 b/.git.bak/objects/cf/c67d67f7d0d78b30ea1a3ce87c94f045ebd738 new file mode 100644 index 0000000..93849a1 Binary files /dev/null and b/.git.bak/objects/cf/c67d67f7d0d78b30ea1a3ce87c94f045ebd738 differ diff --git a/.git.bak/objects/cf/c6affd0ab67ba717dfd79219fdf32716d07d0e b/.git.bak/objects/cf/c6affd0ab67ba717dfd79219fdf32716d07d0e new file mode 100644 index 0000000..9e07310 --- /dev/null +++ b/.git.bak/objects/cf/c6affd0ab67ba717dfd79219fdf32716d07d0e @@ -0,0 +1,2 @@ +x + Ю}MJV!#zW3EFѹ>;h]xÝx˘gZg)fT͗r'B(c} psߕYcgjl[" \ No newline at end of file diff --git a/.git.bak/objects/cf/e027599516f3d6c2165a1858d50d7810dc9dba b/.git.bak/objects/cf/e027599516f3d6c2165a1858d50d7810dc9dba new file mode 100644 index 0000000..8109c5d Binary files /dev/null and b/.git.bak/objects/cf/e027599516f3d6c2165a1858d50d7810dc9dba differ diff --git a/.git.bak/objects/d0/2b2c5d7375751139257aadde0ddbaab50f332b b/.git.bak/objects/d0/2b2c5d7375751139257aadde0ddbaab50f332b new file mode 100644 index 0000000..674d714 Binary files /dev/null and b/.git.bak/objects/d0/2b2c5d7375751139257aadde0ddbaab50f332b differ diff --git a/.git.bak/objects/d0/36b34ca100ae0492b224a925f6ced43e2cc13f b/.git.bak/objects/d0/36b34ca100ae0492b224a925f6ced43e2cc13f new file mode 100644 index 0000000..e7e0269 Binary files /dev/null and b/.git.bak/objects/d0/36b34ca100ae0492b224a925f6ced43e2cc13f differ diff --git a/.git.bak/objects/d0/380f29de7842d0f5451b79c93c77067b421324 b/.git.bak/objects/d0/380f29de7842d0f5451b79c93c77067b421324 new file mode 100644 index 0000000..a38aac8 Binary files /dev/null and b/.git.bak/objects/d0/380f29de7842d0f5451b79c93c77067b421324 differ diff --git a/.git.bak/objects/d0/53472dd58b3ca0593e9cb9bab33ac4e0eb2320 b/.git.bak/objects/d0/53472dd58b3ca0593e9cb9bab33ac4e0eb2320 new file mode 100644 index 0000000..e450e7f Binary files /dev/null and b/.git.bak/objects/d0/53472dd58b3ca0593e9cb9bab33ac4e0eb2320 differ diff --git a/.git.bak/objects/d0/bc72fec559ec41c3488bf26ec8b260bb8c1d38 b/.git.bak/objects/d0/bc72fec559ec41c3488bf26ec8b260bb8c1d38 new file mode 100644 index 0000000..2772e60 Binary files /dev/null and b/.git.bak/objects/d0/bc72fec559ec41c3488bf26ec8b260bb8c1d38 differ diff --git a/.git.bak/objects/d0/db7805a962fb6ad09c4d419e3efbf77b49c744 b/.git.bak/objects/d0/db7805a962fb6ad09c4d419e3efbf77b49c744 new file mode 100644 index 0000000..027ebb1 Binary files /dev/null and b/.git.bak/objects/d0/db7805a962fb6ad09c4d419e3efbf77b49c744 differ diff --git a/.git.bak/objects/d0/e860bbbd27d760ef6842eb14a49a5b8a7cd90b b/.git.bak/objects/d0/e860bbbd27d760ef6842eb14a49a5b8a7cd90b new file mode 100644 index 0000000..e2e50f6 Binary files /dev/null and b/.git.bak/objects/d0/e860bbbd27d760ef6842eb14a49a5b8a7cd90b differ diff --git a/.git.bak/objects/d0/f6502c81d1bb613b24d436e82d61c47b026cdb b/.git.bak/objects/d0/f6502c81d1bb613b24d436e82d61c47b026cdb new file mode 100644 index 0000000..c3cf59d Binary files /dev/null and b/.git.bak/objects/d0/f6502c81d1bb613b24d436e82d61c47b026cdb differ diff --git a/.git.bak/objects/d0/fa16a40fbd73f7c982a50b46afcd4601252ac3 b/.git.bak/objects/d0/fa16a40fbd73f7c982a50b46afcd4601252ac3 new file mode 100644 index 0000000..417ed74 Binary files /dev/null and b/.git.bak/objects/d0/fa16a40fbd73f7c982a50b46afcd4601252ac3 differ diff --git a/.git.bak/objects/d0/fa4fc561476122cde02a99081c01fce3c52410 b/.git.bak/objects/d0/fa4fc561476122cde02a99081c01fce3c52410 new file mode 100644 index 0000000..17e97c6 Binary files /dev/null and b/.git.bak/objects/d0/fa4fc561476122cde02a99081c01fce3c52410 differ diff --git a/.git.bak/objects/d1/76c1ab30e5193071f5f6a6b6e8aaa4402476c6 b/.git.bak/objects/d1/76c1ab30e5193071f5f6a6b6e8aaa4402476c6 new file mode 100644 index 0000000..c463242 Binary files /dev/null and b/.git.bak/objects/d1/76c1ab30e5193071f5f6a6b6e8aaa4402476c6 differ diff --git a/.git.bak/objects/d1/8f6f7197e6a5d852c592ba7539d58e9e4ea729 b/.git.bak/objects/d1/8f6f7197e6a5d852c592ba7539d58e9e4ea729 new file mode 100644 index 0000000..a145648 --- /dev/null +++ b/.git.bak/objects/d1/8f6f7197e6a5d852c592ba7539d58e9e4ea729 @@ -0,0 +1,2 @@ +xSM0_1mH V+QBr!ZN$.8 I%7fg22X]/_,[VP鑐?o3JK.h"V 4p=.kk[sEvam0WM%{VfYjhL/qQ:30,wV'ni+RP\+!8M +[5INdܯ,{_|TB+BTzzb󿝒Cxfʓ R”2z1 +hS9͇ )44vK|G=7BHxwG@h'qn +(%HaՄZ`?H \ No newline at end of file diff --git a/.git.bak/objects/d4/759b0a205c0c4200c62e7b307ddc9b218c48e3 b/.git.bak/objects/d4/759b0a205c0c4200c62e7b307ddc9b218c48e3 new file mode 100644 index 0000000..23a386c Binary files /dev/null and b/.git.bak/objects/d4/759b0a205c0c4200c62e7b307ddc9b218c48e3 differ diff --git a/.git.bak/objects/d4/c6ae0d76c9ac0c10c93062e5ff9cec277b07cd b/.git.bak/objects/d4/c6ae0d76c9ac0c10c93062e5ff9cec277b07cd new file mode 100644 index 0000000..f398695 Binary files /dev/null and b/.git.bak/objects/d4/c6ae0d76c9ac0c10c93062e5ff9cec277b07cd differ diff --git a/.git.bak/objects/d5/18d8376af9faa47af875d83c8cdd51a11f9099 b/.git.bak/objects/d5/18d8376af9faa47af875d83c8cdd51a11f9099 new file mode 100644 index 0000000..6b99cf7 Binary files /dev/null and b/.git.bak/objects/d5/18d8376af9faa47af875d83c8cdd51a11f9099 differ diff --git a/.git.bak/objects/d5/3d34bd598a5f775072eb59ddeb1834b41d02e5 b/.git.bak/objects/d5/3d34bd598a5f775072eb59ddeb1834b41d02e5 new file mode 100644 index 0000000..fd5fedf --- /dev/null +++ b/.git.bak/objects/d5/3d34bd598a5f775072eb59ddeb1834b41d02e5 @@ -0,0 +1,3 @@ +x_k0Oq 3,Q$:((FPJd;YRw"#{~:>$ !j*MH6 q*,f*Ja a\21E2$ 3!M@Sv$1p`_b(у6vF$.8sM߃ r+s*5v"xj`ř-*I=Hϣ6S;_GҞk9Z?pd5Y^mu-zΞ9hJF~ϣzJ-Nx!OY|&XZ +>"9~TKrFtjjzO5LW!ZqsAW>U#94Mo/oBܕ|m"4gGm1 :! S~ +m4_ny~l, \ No newline at end of file diff --git a/.git.bak/objects/d5/42db430ed3b58551bbfa688d47c591e9150cb7 b/.git.bak/objects/d5/42db430ed3b58551bbfa688d47c591e9150cb7 new file mode 100644 index 0000000..d376d28 Binary files /dev/null and b/.git.bak/objects/d5/42db430ed3b58551bbfa688d47c591e9150cb7 differ diff --git a/.git.bak/objects/d5/44d33a7e93cb8e88a0641d3666398c3d515759 b/.git.bak/objects/d5/44d33a7e93cb8e88a0641d3666398c3d515759 new file mode 100644 index 0000000..4b284cc Binary files /dev/null and b/.git.bak/objects/d5/44d33a7e93cb8e88a0641d3666398c3d515759 differ diff --git a/.git.bak/objects/d5/6b00e88cc59deb83a5cfec9d7bea3de29400ed b/.git.bak/objects/d5/6b00e88cc59deb83a5cfec9d7bea3de29400ed new file mode 100644 index 0000000..c647b32 --- /dev/null +++ b/.git.bak/objects/d5/6b00e88cc59deb83a5cfec9d7bea3de29400ed @@ -0,0 +1,3 @@ +x}O0}毸ABxD=,3D15mY4kq9 w~{.k-i^$t\;08&R +Rlw (g,_/а 6Lj5iAυQ')ׂ \ No newline at end of file diff --git a/.git.bak/objects/d5/802e73a2e12ad9b7e1316bbca6bb67c6eee505 b/.git.bak/objects/d5/802e73a2e12ad9b7e1316bbca6bb67c6eee505 new file mode 100644 index 0000000..9b23a12 Binary files /dev/null and b/.git.bak/objects/d5/802e73a2e12ad9b7e1316bbca6bb67c6eee505 differ diff --git a/.git.bak/objects/d5/96fbd0c769bc6342fc0bae2d19e8ef7b6b84ef b/.git.bak/objects/d5/96fbd0c769bc6342fc0bae2d19e8ef7b6b84ef new file mode 100644 index 0000000..a745c86 Binary files /dev/null and b/.git.bak/objects/d5/96fbd0c769bc6342fc0bae2d19e8ef7b6b84ef differ diff --git a/.git.bak/objects/d5/b7ee23e337d2a8c108228f3346a91c2dcab040 b/.git.bak/objects/d5/b7ee23e337d2a8c108228f3346a91c2dcab040 new file mode 100644 index 0000000..2048cbf Binary files /dev/null and b/.git.bak/objects/d5/b7ee23e337d2a8c108228f3346a91c2dcab040 differ diff --git a/.git.bak/objects/d5/ccc01499d2357a97d4a649f909abe9c3da0e65 b/.git.bak/objects/d5/ccc01499d2357a97d4a649f909abe9c3da0e65 new file mode 100644 index 0000000..c8aca9c Binary files /dev/null and b/.git.bak/objects/d5/ccc01499d2357a97d4a649f909abe9c3da0e65 differ diff --git a/.git.bak/objects/d5/d3894933695d3162e3d9ac205e615d1b026aea b/.git.bak/objects/d5/d3894933695d3162e3d9ac205e615d1b026aea new file mode 100644 index 0000000..5520ca9 Binary files /dev/null and b/.git.bak/objects/d5/d3894933695d3162e3d9ac205e615d1b026aea differ diff --git a/.git.bak/objects/d6/0ce0e6df2efd3f83c08b098d1b7b683b96ec84 b/.git.bak/objects/d6/0ce0e6df2efd3f83c08b098d1b7b683b96ec84 new file mode 100644 index 0000000..8ca96df Binary files /dev/null and b/.git.bak/objects/d6/0ce0e6df2efd3f83c08b098d1b7b683b96ec84 differ diff --git a/.git.bak/objects/d6/1dc0ecbaf69a2d0c54bd05a29c49da35337b78 b/.git.bak/objects/d6/1dc0ecbaf69a2d0c54bd05a29c49da35337b78 new file mode 100644 index 0000000..16d6e63 Binary files /dev/null and b/.git.bak/objects/d6/1dc0ecbaf69a2d0c54bd05a29c49da35337b78 differ diff --git a/.git.bak/objects/d6/2bfc0ecd5216c875e7694fd24eeed1e7ce3f2e b/.git.bak/objects/d6/2bfc0ecd5216c875e7694fd24eeed1e7ce3f2e new file mode 100644 index 0000000..7642872 Binary files /dev/null and b/.git.bak/objects/d6/2bfc0ecd5216c875e7694fd24eeed1e7ce3f2e differ diff --git a/.git.bak/objects/d6/6b4a2d89cda638ca1dcbba3da090e631175fc1 b/.git.bak/objects/d6/6b4a2d89cda638ca1dcbba3da090e631175fc1 new file mode 100644 index 0000000..83da4fd Binary files /dev/null and b/.git.bak/objects/d6/6b4a2d89cda638ca1dcbba3da090e631175fc1 differ diff --git a/.git.bak/objects/d6/8c8b716ff04186cd4c0ed8f85af474cfbfbc6a b/.git.bak/objects/d6/8c8b716ff04186cd4c0ed8f85af474cfbfbc6a new file mode 100644 index 0000000..74a5785 Binary files /dev/null and b/.git.bak/objects/d6/8c8b716ff04186cd4c0ed8f85af474cfbfbc6a differ diff --git a/.git.bak/objects/d6/dd3029d8c51858964fdf8e05228ab604334f5f b/.git.bak/objects/d6/dd3029d8c51858964fdf8e05228ab604334f5f new file mode 100644 index 0000000..47956bc Binary files /dev/null and b/.git.bak/objects/d6/dd3029d8c51858964fdf8e05228ab604334f5f differ diff --git a/.git.bak/objects/d7/39aad700f05683be109cf8c4f0fb9265851f36 b/.git.bak/objects/d7/39aad700f05683be109cf8c4f0fb9265851f36 new file mode 100644 index 0000000..0ddbbb6 Binary files /dev/null and b/.git.bak/objects/d7/39aad700f05683be109cf8c4f0fb9265851f36 differ diff --git a/.git.bak/objects/d7/8193ddeae4d19e2219801b35b16c13f5a87aa1 b/.git.bak/objects/d7/8193ddeae4d19e2219801b35b16c13f5a87aa1 new file mode 100644 index 0000000..1ecf3d1 Binary files /dev/null and b/.git.bak/objects/d7/8193ddeae4d19e2219801b35b16c13f5a87aa1 differ diff --git a/.git.bak/objects/d7/c430fdb3ae766b215ad8e072d6ac2212d7c619 b/.git.bak/objects/d7/c430fdb3ae766b215ad8e072d6ac2212d7c619 new file mode 100644 index 0000000..1a70182 Binary files /dev/null and b/.git.bak/objects/d7/c430fdb3ae766b215ad8e072d6ac2212d7c619 differ diff --git a/.git.bak/objects/d7/d1b39c8d870deab283b9b0868b8f423dbf0c6c b/.git.bak/objects/d7/d1b39c8d870deab283b9b0868b8f423dbf0c6c new file mode 100644 index 0000000..e358afe Binary files /dev/null and b/.git.bak/objects/d7/d1b39c8d870deab283b9b0868b8f423dbf0c6c differ diff --git a/.git.bak/objects/d7/ec2f2683781a988626980b7ec7de61d90afb11 b/.git.bak/objects/d7/ec2f2683781a988626980b7ec7de61d90afb11 new file mode 100644 index 0000000..64199c7 Binary files /dev/null and b/.git.bak/objects/d7/ec2f2683781a988626980b7ec7de61d90afb11 differ diff --git a/.git.bak/objects/d8/35e20b957be00d24b62cfc3e7243cc9f133ca2 b/.git.bak/objects/d8/35e20b957be00d24b62cfc3e7243cc9f133ca2 new file mode 100644 index 0000000..4dad961 Binary files /dev/null and b/.git.bak/objects/d8/35e20b957be00d24b62cfc3e7243cc9f133ca2 differ diff --git a/.git.bak/objects/d8/79a5f5c1a72171d3b0ac5abdbea591644ba173 b/.git.bak/objects/d8/79a5f5c1a72171d3b0ac5abdbea591644ba173 new file mode 100644 index 0000000..5842a76 Binary files /dev/null and b/.git.bak/objects/d8/79a5f5c1a72171d3b0ac5abdbea591644ba173 differ diff --git a/.git.bak/objects/d8/8f175b08822f946e8333471fd7fec70ffffff2 b/.git.bak/objects/d8/8f175b08822f946e8333471fd7fec70ffffff2 new file mode 100644 index 0000000..e428308 --- /dev/null +++ b/.git.bak/objects/d8/8f175b08822f946e8333471fd7fec70ffffff2 @@ -0,0 +1,3 @@ +x]Qj0 9_r[[ӠIc]am`;JձȿOX{2IIaxy!Lg(Sh* sG@EQʲ< @#StzH= +ZacZ17TZՙW`AINdGA. W]`EpO2O Η;x0tH{j M +,o0RJ  Ŵ O5n&z^'bADaz$|5>~z@>]5;.8a \ No newline at end of file diff --git a/.git.bak/objects/d8/bc87178dd38fca1829b9e2109c6f71e9721bdf b/.git.bak/objects/d8/bc87178dd38fca1829b9e2109c6f71e9721bdf new file mode 100644 index 0000000..adaafd1 Binary files /dev/null and b/.git.bak/objects/d8/bc87178dd38fca1829b9e2109c6f71e9721bdf differ diff --git a/.git.bak/objects/d8/c6cda07c012ba7a238afbebc9fb9f704f23244 b/.git.bak/objects/d8/c6cda07c012ba7a238afbebc9fb9f704f23244 new file mode 100644 index 0000000..0b02024 Binary files /dev/null and b/.git.bak/objects/d8/c6cda07c012ba7a238afbebc9fb9f704f23244 differ diff --git a/.git.bak/objects/d8/df62347a6fff095c753754b0a3dd30b6591b33 b/.git.bak/objects/d8/df62347a6fff095c753754b0a3dd30b6591b33 new file mode 100644 index 0000000..244c1d2 Binary files /dev/null and b/.git.bak/objects/d8/df62347a6fff095c753754b0a3dd30b6591b33 differ diff --git a/.git.bak/objects/d8/f8e1729e6af5193d05056c906fb24bc2da35cf b/.git.bak/objects/d8/f8e1729e6af5193d05056c906fb24bc2da35cf new file mode 100644 index 0000000..4ea4005 Binary files /dev/null and b/.git.bak/objects/d8/f8e1729e6af5193d05056c906fb24bc2da35cf differ diff --git a/.git.bak/objects/d9/0a1bc657a8c3b85c939c7b20e4ed4e4aba4ab0 b/.git.bak/objects/d9/0a1bc657a8c3b85c939c7b20e4ed4e4aba4ab0 new file mode 100644 index 0000000..862a8f8 --- /dev/null +++ b/.git.bak/objects/d9/0a1bc657a8c3b85c939c7b20e4ed4e4aba4ab0 @@ -0,0 +1 @@ +xU1 @ ꯐ̺StB&ktθb/o^YȻs4W$[ɹG;O0i c,g|"\8- \ No newline at end of file diff --git a/.git.bak/objects/da/9ee8f4e4404e5acf0af1045b6045534dbbfe06 b/.git.bak/objects/da/9ee8f4e4404e5acf0af1045b6045534dbbfe06 new file mode 100644 index 0000000..99c786c --- /dev/null +++ b/.git.bak/objects/da/9ee8f4e4404e5acf0af1045b6045534dbbfe06 @@ -0,0 +1 @@ +xU0 ;+]XHۑR wE j2'%!B,T;O)_AfVO-QbsNTg&jVv:(޹ZH5sbOn~yy}]`Cc #Q.w8.@HӀn6]7 K \ No newline at end of file diff --git a/.git.bak/objects/dd/5a8d84edd6e772556838cde9ad95cf13099551 b/.git.bak/objects/dd/5a8d84edd6e772556838cde9ad95cf13099551 new file mode 100644 index 0000000..4b2bb59 --- /dev/null +++ b/.git.bak/objects/dd/5a8d84edd6e772556838cde9ad95cf13099551 @@ -0,0 +1,2 @@ +x}QAN0W"UQA*!I։c;i-@蝝ٙq)u\^_1I @sBA!q`~*8ŗ]P5՜J[rRKFt vV x%O ՃAʅb*JاWT/(;ʪJgºќ[|s*OE!bSikW`ov.66;Σ)+5HSW Cd>O#[{ +X*(|de#d9!D \ No newline at end of file diff --git a/.git.bak/objects/dd/672a761b2f8212455353b05385b85573424567 b/.git.bak/objects/dd/672a761b2f8212455353b05385b85573424567 new file mode 100644 index 0000000..ae681c1 Binary files /dev/null and b/.git.bak/objects/dd/672a761b2f8212455353b05385b85573424567 differ diff --git a/.git.bak/objects/dd/6fbc988e8b71f9cc438d5ddf114f8ad704216f b/.git.bak/objects/dd/6fbc988e8b71f9cc438d5ddf114f8ad704216f new file mode 100644 index 0000000..3108a1a Binary files /dev/null and b/.git.bak/objects/dd/6fbc988e8b71f9cc438d5ddf114f8ad704216f differ diff --git a/.git.bak/objects/dd/be56763d606e4c39f9897f8d866a50b4548d5f b/.git.bak/objects/dd/be56763d606e4c39f9897f8d866a50b4548d5f new file mode 100644 index 0000000..358138b Binary files /dev/null and b/.git.bak/objects/dd/be56763d606e4c39f9897f8d866a50b4548d5f differ diff --git a/.git.bak/objects/dd/cd5cee08d6a2874cb1c0ed1464bc7cec7b4eb5 b/.git.bak/objects/dd/cd5cee08d6a2874cb1c0ed1464bc7cec7b4eb5 new file mode 100644 index 0000000..95ee985 Binary files /dev/null and b/.git.bak/objects/dd/cd5cee08d6a2874cb1c0ed1464bc7cec7b4eb5 differ diff --git a/.git.bak/objects/de/194dfdac06196a1276562fe032dac74952f063 b/.git.bak/objects/de/194dfdac06196a1276562fe032dac74952f063 new file mode 100644 index 0000000..1e36074 Binary files /dev/null and b/.git.bak/objects/de/194dfdac06196a1276562fe032dac74952f063 differ diff --git a/.git.bak/objects/de/22d1597600c04a9a62ffa597463413baf741fb b/.git.bak/objects/de/22d1597600c04a9a62ffa597463413baf741fb new file mode 100644 index 0000000..3ebce97 Binary files /dev/null and b/.git.bak/objects/de/22d1597600c04a9a62ffa597463413baf741fb differ diff --git a/.git.bak/objects/de/33e899e66db27eac77bb85d1b8afe183272e85 b/.git.bak/objects/de/33e899e66db27eac77bb85d1b8afe183272e85 new file mode 100644 index 0000000..505feac --- /dev/null +++ b/.git.bak/objects/de/33e899e66db27eac77bb85d1b8afe183272e85 @@ -0,0 +1,3 @@ +xe0iSl AQ~Ob'JtǻÏ J;fek]O,{~<!}Vh;suд8tXvG+MىdY ,YJԈAQ +nn6mM("D=qMUgb Q} >{_*Qr3{!%eYk:=y +*?=6mf@Qvym3i9/3 2QlI Y!dLa bRZis D<9x86WX1qvsf8%@rF3e/x:zb~5 M۔BبMk%#P!)`*T/*HjblIG-q\?PJQ"W)# ЏⰂs5=Mhs o!('1NN`JVk6n,Afe'}K(Ly&U^e!/TYq4T"5tPM&Rsk5#,:jYm_Ý/.U؉0RB%kE_CS9LWac]p\} /sXkX,k) R [mj-q㒠#Jʁ(((QHk] +z/L؊7 dE [qtjD(QViI5MpS\ɿsK \ No newline at end of file diff --git a/.git.bak/objects/de/9a587322cc607af7656f91cf4cc76d6c05ea61 b/.git.bak/objects/de/9a587322cc607af7656f91cf4cc76d6c05ea61 new file mode 100644 index 0000000..863d6cb Binary files /dev/null and b/.git.bak/objects/de/9a587322cc607af7656f91cf4cc76d6c05ea61 differ diff --git a/.git.bak/objects/de/a3013d6710ee273f49ac606a65d5211d480c88 b/.git.bak/objects/de/a3013d6710ee273f49ac606a65d5211d480c88 new file mode 100644 index 0000000..e0fd04a Binary files /dev/null and b/.git.bak/objects/de/a3013d6710ee273f49ac606a65d5211d480c88 differ diff --git a/.git.bak/objects/de/f48a3ccd01ec119d6d996fb6070d82de1641a5 b/.git.bak/objects/de/f48a3ccd01ec119d6d996fb6070d82de1641a5 new file mode 100644 index 0000000..4453ade Binary files /dev/null and b/.git.bak/objects/de/f48a3ccd01ec119d6d996fb6070d82de1641a5 differ diff --git a/.git.bak/objects/df/1f608d532606ba1df4eeaf3b6f577791dcd9ad b/.git.bak/objects/df/1f608d532606ba1df4eeaf3b6f577791dcd9ad new file mode 100644 index 0000000..058fd7e Binary files /dev/null and b/.git.bak/objects/df/1f608d532606ba1df4eeaf3b6f577791dcd9ad differ diff --git a/.git.bak/objects/df/31cbf3c064d00ba5f15a3bb13c957b598b96a1 b/.git.bak/objects/df/31cbf3c064d00ba5f15a3bb13c957b598b96a1 new file mode 100644 index 0000000..ef8c7f0 Binary files /dev/null and b/.git.bak/objects/df/31cbf3c064d00ba5f15a3bb13c957b598b96a1 differ diff --git a/.git.bak/objects/df/596a34f23c0ef931cd5b41139985b8d23e8e2f b/.git.bak/objects/df/596a34f23c0ef931cd5b41139985b8d23e8e2f new file mode 100644 index 0000000..fce12c1 --- /dev/null +++ b/.git.bak/objects/df/596a34f23c0ef931cd5b41139985b8d23e8e2f @@ -0,0 +1,3 @@ +x] +0 @=+rkAu $2ZT⿛ +1{y\m`ޢ  1]mbYbM_Opn+T$ o6zT5d:5lci5l6ucv0y6S9I잉 `$B$0aݍVlE˫l.y*Se%(pG9zo=|lAf8U4TƞA! @ 5cƛ4C{FjU:= gu[+``P^ K ·`Q0܁4=j\Be1^gH۳ɝ=yO?x 95W'MkB$JNͽXu7N}LT \ No newline at end of file diff --git a/.git.bak/objects/e0/75bccaa3c39f70eb84708c0b1ee2bc8450e46c b/.git.bak/objects/e0/75bccaa3c39f70eb84708c0b1ee2bc8450e46c new file mode 100644 index 0000000..ced755c --- /dev/null +++ b/.git.bak/objects/e0/75bccaa3c39f70eb84708c0b1ee2bc8450e46c @@ -0,0 +1,2 @@ +xKn GfEQ4 !{*J/ػT^zcIa^ !-+7ɭ1G-o|v 9K![>'C@ZJ$[i2whVts}\Ҹ~̟{Fc9$Z$ +@~?c2F}Jj`4J[ \ No newline at end of file diff --git a/.git.bak/objects/e0/a29251646c4cc40dd6b1be8d3e28674cd21ad1 b/.git.bak/objects/e0/a29251646c4cc40dd6b1be8d3e28674cd21ad1 new file mode 100644 index 0000000..48f7a43 --- /dev/null +++ b/.git.bak/objects/e0/a29251646c4cc40dd6b1be8d3e28674cd21ad1 @@ -0,0 +1,3 @@ +xe +@ĻsVE:ItЩ^aOUw] 3htedg֙t2'J7ڸ@&2RU}-7`}q%@9I+H™-b!1WM+,ÜG\yBHSpR +6g%uo}N\򸒚X.>`5XV8~XwoI ?b,oH;̪!um6>Nm/0$璶81z ^藐^Τt#q\A!X1T8qDM*E7EFZ˶˩{T@54qM$2"KF_±T{NPN{H?:JɈ\WMݙ \ No newline at end of file diff --git a/.git.bak/objects/e1/ec23af9ca8393d57bb9b9ef2bb129d387c6d71 b/.git.bak/objects/e1/ec23af9ca8393d57bb9b9ef2bb129d387c6d71 new file mode 100644 index 0000000..9ac372c Binary files /dev/null and b/.git.bak/objects/e1/ec23af9ca8393d57bb9b9ef2bb129d387c6d71 differ diff --git a/.git.bak/objects/e2/28065f3682d916a1474496f002a9c7bf23c2f4 b/.git.bak/objects/e2/28065f3682d916a1474496f002a9c7bf23c2f4 new file mode 100644 index 0000000..ac8e54a Binary files /dev/null and b/.git.bak/objects/e2/28065f3682d916a1474496f002a9c7bf23c2f4 differ diff --git a/.git.bak/objects/e2/2c69c998d55b0bb65cb0f501a96629372f834e b/.git.bak/objects/e2/2c69c998d55b0bb65cb0f501a96629372f834e new file mode 100644 index 0000000..6788f13 Binary files /dev/null and b/.git.bak/objects/e2/2c69c998d55b0bb65cb0f501a96629372f834e differ diff --git a/.git.bak/objects/e2/54f37f2ca692d2058f7c197cfdaaa7b065d8f7 b/.git.bak/objects/e2/54f37f2ca692d2058f7c197cfdaaa7b065d8f7 new file mode 100644 index 0000000..8974ffe Binary files /dev/null and b/.git.bak/objects/e2/54f37f2ca692d2058f7c197cfdaaa7b065d8f7 differ diff --git a/.git.bak/objects/e2/550c0fb7e8a8b16191ac89b2aaab429948720d b/.git.bak/objects/e2/550c0fb7e8a8b16191ac89b2aaab429948720d new file mode 100644 index 0000000..12824e3 --- /dev/null +++ b/.git.bak/objects/e2/550c0fb7e8a8b16191ac89b2aaab429948720d @@ -0,0 +1,2 @@ +x=A0 _Azf!ᬭ~Py8C .qt4:+O +.iZd@ \ No newline at end of file diff --git a/.git.bak/objects/e2/585c4bb5fd5c006efc11770cb0fafc13d05b18 b/.git.bak/objects/e2/585c4bb5fd5c006efc11770cb0fafc13d05b18 new file mode 100644 index 0000000..23c6eb3 Binary files /dev/null and b/.git.bak/objects/e2/585c4bb5fd5c006efc11770cb0fafc13d05b18 differ diff --git a/.git.bak/objects/e2/d5f4feb38f5fc883059cc11eecd24c9bafb530 b/.git.bak/objects/e2/d5f4feb38f5fc883059cc11eecd24c9bafb530 new file mode 100644 index 0000000..10af370 Binary files /dev/null and b/.git.bak/objects/e2/d5f4feb38f5fc883059cc11eecd24c9bafb530 differ diff --git a/.git.bak/objects/e2/df7c9f471356c48f14e7af2813119ffb6854bb b/.git.bak/objects/e2/df7c9f471356c48f14e7af2813119ffb6854bb new file mode 100644 index 0000000..3c82388 --- /dev/null +++ b/.git.bak/objects/e2/df7c9f471356c48f14e7af2813119ffb6854bb @@ -0,0 +1,3 @@ +x-N09w298BDD]tElN+\xwHS1>\.Ĝ $E<6ނP.),0)3%luL l}͜Ji +\'lЋujes*Sy.K(@1^W!GOcߪ77í0$$}á +?M- O \ No newline at end of file diff --git a/.git.bak/objects/e2/e9a497c1537b5cccc6432f1e805cfdef9150ca b/.git.bak/objects/e2/e9a497c1537b5cccc6432f1e805cfdef9150ca new file mode 100644 index 0000000..049ab82 Binary files /dev/null and b/.git.bak/objects/e2/e9a497c1537b5cccc6432f1e805cfdef9150ca differ diff --git a/.git.bak/objects/e3/0b4b7fcb6a0be1d729f87dda5e2c134a20b860 b/.git.bak/objects/e3/0b4b7fcb6a0be1d729f87dda5e2c134a20b860 new file mode 100644 index 0000000..41e3463 Binary files /dev/null and b/.git.bak/objects/e3/0b4b7fcb6a0be1d729f87dda5e2c134a20b860 differ diff --git a/.git.bak/objects/e3/4b0a188c9788483fdd0e8bd4bf0754a6c789b7 b/.git.bak/objects/e3/4b0a188c9788483fdd0e8bd4bf0754a6c789b7 new file mode 100644 index 0000000..c96b8d4 Binary files /dev/null and b/.git.bak/objects/e3/4b0a188c9788483fdd0e8bd4bf0754a6c789b7 differ diff --git a/.git.bak/objects/e3/6475cf878ca6beda4dfd1cd3881759b72270c6 b/.git.bak/objects/e3/6475cf878ca6beda4dfd1cd3881759b72270c6 new file mode 100644 index 0000000..6e9c8ff --- /dev/null +++ b/.git.bak/objects/e3/6475cf878ca6beda4dfd1cd3881759b72270c6 @@ -0,0 +1,2 @@ +xA + EN*^G&t*BV4 D ${/1=-Q q͘3}=TTYgxB(ʫA lO>Ty=8{^( n5Pc4;5t( \ No newline at end of file diff --git a/.git.bak/objects/e3/b1a4a0432de4040abb148717b30622542008b0 b/.git.bak/objects/e3/b1a4a0432de4040abb148717b30622542008b0 new file mode 100644 index 0000000..ace6636 Binary files /dev/null and b/.git.bak/objects/e3/b1a4a0432de4040abb148717b30622542008b0 differ diff --git a/.git.bak/objects/e3/b320b99bb4ede4db1ee05ab31215450c4a4edb b/.git.bak/objects/e3/b320b99bb4ede4db1ee05ab31215450c4a4edb new file mode 100644 index 0000000..fa8cf3f Binary files /dev/null and b/.git.bak/objects/e3/b320b99bb4ede4db1ee05ab31215450c4a4edb differ diff --git a/.git.bak/objects/e3/f3c45adb0926ee017f50a31be7151966b3cac0 b/.git.bak/objects/e3/f3c45adb0926ee017f50a31be7151966b3cac0 new file mode 100644 index 0000000..519f120 Binary files /dev/null and b/.git.bak/objects/e3/f3c45adb0926ee017f50a31be7151966b3cac0 differ diff --git a/.git.bak/objects/e3/f4961229c249a1d4f242d415b5193fc0ad5056 b/.git.bak/objects/e3/f4961229c249a1d4f242d415b5193fc0ad5056 new file mode 100644 index 0000000..104c4b2 --- /dev/null +++ b/.git.bak/objects/e3/f4961229c249a1d4f242d415b5193fc0ad5056 @@ -0,0 +1,2 @@ +xuA +0E]BIEҤ &nJnE*h !Gx3y1{T$fiLjhƽA-\G@tUm֡nr%I H0.PmO\ >_ Nck<-ˣU)>)[ |'6.?Y[ \ No newline at end of file diff --git a/.git.bak/objects/e4/0f729a10085463adc71b4772c2d988bae6f25f b/.git.bak/objects/e4/0f729a10085463adc71b4772c2d988bae6f25f new file mode 100644 index 0000000..5398b31 Binary files /dev/null and b/.git.bak/objects/e4/0f729a10085463adc71b4772c2d988bae6f25f differ diff --git a/.git.bak/objects/e4/210e01ea5a4def42ac84742b36d2cada422ca4 b/.git.bak/objects/e4/210e01ea5a4def42ac84742b36d2cada422ca4 new file mode 100644 index 0000000..48db57e Binary files /dev/null and b/.git.bak/objects/e4/210e01ea5a4def42ac84742b36d2cada422ca4 differ diff --git a/.git.bak/objects/e4/50b98066176c356c15d1f1a7de40eb834d2965 b/.git.bak/objects/e4/50b98066176c356c15d1f1a7de40eb834d2965 new file mode 100644 index 0000000..1cf8d0e Binary files /dev/null and b/.git.bak/objects/e4/50b98066176c356c15d1f1a7de40eb834d2965 differ diff --git a/.git.bak/objects/e4/9a463cbcfbf085a08832f804c985fb55c2c9bb b/.git.bak/objects/e4/9a463cbcfbf085a08832f804c985fb55c2c9bb new file mode 100644 index 0000000..1a5483c Binary files /dev/null and b/.git.bak/objects/e4/9a463cbcfbf085a08832f804c985fb55c2c9bb differ diff --git a/.git.bak/objects/e4/bdc1ef4f74812bfc15dbd980eab1f57282b753 b/.git.bak/objects/e4/bdc1ef4f74812bfc15dbd980eab1f57282b753 new file mode 100644 index 0000000..bc572f1 Binary files /dev/null and b/.git.bak/objects/e4/bdc1ef4f74812bfc15dbd980eab1f57282b753 differ diff --git a/.git.bak/objects/e4/bf1d69b1bb0df5acf1278e583264acdc1eefc5 b/.git.bak/objects/e4/bf1d69b1bb0df5acf1278e583264acdc1eefc5 new file mode 100644 index 0000000..70e52ee Binary files /dev/null and b/.git.bak/objects/e4/bf1d69b1bb0df5acf1278e583264acdc1eefc5 differ diff --git a/.git.bak/objects/e4/cbf614379406911fe01194fd368b0965dc059b b/.git.bak/objects/e4/cbf614379406911fe01194fd368b0965dc059b new file mode 100644 index 0000000..551ce82 Binary files /dev/null and b/.git.bak/objects/e4/cbf614379406911fe01194fd368b0965dc059b differ diff --git a/.git.bak/objects/e5/180d35defc02d17ca6660f4d987490d7c71d53 b/.git.bak/objects/e5/180d35defc02d17ca6660f4d987490d7c71d53 new file mode 100644 index 0000000..5e4302f Binary files /dev/null and b/.git.bak/objects/e5/180d35defc02d17ca6660f4d987490d7c71d53 differ diff --git a/.git.bak/objects/e5/36ad2c045bba26e9d1f93202a44833656adfad b/.git.bak/objects/e5/36ad2c045bba26e9d1f93202a44833656adfad new file mode 100644 index 0000000..9085143 Binary files /dev/null and b/.git.bak/objects/e5/36ad2c045bba26e9d1f93202a44833656adfad differ diff --git a/.git.bak/objects/e5/3c40022533f691fd17d623cd24a8ecb5a82669 b/.git.bak/objects/e5/3c40022533f691fd17d623cd24a8ecb5a82669 new file mode 100644 index 0000000..668793d --- /dev/null +++ b/.git.bak/objects/e5/3c40022533f691fd17d623cd24a8ecb5a82669 @@ -0,0 +1 @@ +x1o03+f#D$T2d@ JPh9Z ݻ޹i^WϮX%vU:zzkj;7 &8l:z$էۊBs!<^ 4:nזni]ymYi%6ǰh'D{.&9̨bfGdzMg1YXj0&(Δ&R \ No newline at end of file diff --git a/.git.bak/objects/e5/5c5a074b8ff61dd7550f2b813c1860b60328f1 b/.git.bak/objects/e5/5c5a074b8ff61dd7550f2b813c1860b60328f1 new file mode 100644 index 0000000..5d74f2a Binary files /dev/null and b/.git.bak/objects/e5/5c5a074b8ff61dd7550f2b813c1860b60328f1 differ diff --git a/.git.bak/objects/e5/8692de19858c5c031415ba80c510ddb3eafd2b b/.git.bak/objects/e5/8692de19858c5c031415ba80c510ddb3eafd2b new file mode 100644 index 0000000..ca08b6f Binary files /dev/null and b/.git.bak/objects/e5/8692de19858c5c031415ba80c510ddb3eafd2b differ diff --git a/.git.bak/objects/e5/abfcc96c84a488c3ec63adcd07d06a48d09b47 b/.git.bak/objects/e5/abfcc96c84a488c3ec63adcd07d06a48d09b47 new file mode 100644 index 0000000..79a14c5 --- /dev/null +++ b/.git.bak/objects/e5/abfcc96c84a488c3ec63adcd07d06a48d09b47 @@ -0,0 +1,2 @@ +x5 +!>Bԡ/]Vw5Y}BULRFg9*AX&#eX2qҰ9d>SP4)qlG'_DH l1 \ No newline at end of file diff --git a/.git.bak/objects/e5/b8183d9717d5917efee321be4bf12c01c025cb b/.git.bak/objects/e5/b8183d9717d5917efee321be4bf12c01c025cb new file mode 100644 index 0000000..0b78f6e Binary files /dev/null and b/.git.bak/objects/e5/b8183d9717d5917efee321be4bf12c01c025cb differ diff --git a/.git.bak/objects/e6/0a4a886a4512f60af1ce0ce144f6c6834e6830 b/.git.bak/objects/e6/0a4a886a4512f60af1ce0ce144f6c6834e6830 new file mode 100644 index 0000000..ee5c149 Binary files /dev/null and b/.git.bak/objects/e6/0a4a886a4512f60af1ce0ce144f6c6834e6830 differ diff --git a/.git.bak/objects/e6/1c248a83fdf2fa3f9dbb2deb050aeeec9c5f0f b/.git.bak/objects/e6/1c248a83fdf2fa3f9dbb2deb050aeeec9c5f0f new file mode 100644 index 0000000..418c74f Binary files /dev/null and b/.git.bak/objects/e6/1c248a83fdf2fa3f9dbb2deb050aeeec9c5f0f differ diff --git a/.git.bak/objects/e6/28301c8ddaa7e29711df9deeba34bc34375434 b/.git.bak/objects/e6/28301c8ddaa7e29711df9deeba34bc34375434 new file mode 100644 index 0000000..cd45c04 Binary files /dev/null and b/.git.bak/objects/e6/28301c8ddaa7e29711df9deeba34bc34375434 differ diff --git a/.git.bak/objects/e6/56874152ea065c5ff4373e1774098bfbb6cf43 b/.git.bak/objects/e6/56874152ea065c5ff4373e1774098bfbb6cf43 new file mode 100644 index 0000000..dd7439d Binary files /dev/null and b/.git.bak/objects/e6/56874152ea065c5ff4373e1774098bfbb6cf43 differ diff --git a/.git.bak/objects/e6/8bcb9b7df414d2ec12c6a1a690aa8832e59792 b/.git.bak/objects/e6/8bcb9b7df414d2ec12c6a1a690aa8832e59792 new file mode 100644 index 0000000..cea818d Binary files /dev/null and b/.git.bak/objects/e6/8bcb9b7df414d2ec12c6a1a690aa8832e59792 differ diff --git a/.git.bak/objects/e6/8df7bde39bb47aa1fd7eff4b317b3969de75bd b/.git.bak/objects/e6/8df7bde39bb47aa1fd7eff4b317b3969de75bd new file mode 100644 index 0000000..6a78cf4 Binary files /dev/null and b/.git.bak/objects/e6/8df7bde39bb47aa1fd7eff4b317b3969de75bd differ diff --git a/.git.bak/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/.git.bak/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 new file mode 100644 index 0000000..7112238 Binary files /dev/null and b/.git.bak/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 differ diff --git a/.git.bak/objects/e6/c47b9b051d9bdeb19eb26c362ff97907e9c69f b/.git.bak/objects/e6/c47b9b051d9bdeb19eb26c362ff97907e9c69f new file mode 100644 index 0000000..4e1db89 --- /dev/null +++ b/.git.bak/objects/e6/c47b9b051d9bdeb19eb26c362ff97907e9c69f @@ -0,0 +1 @@ +x + P3x -,AF&AF'IB(UQR9;!f ,r7K-(4kcc4Y>> \ No newline at end of file diff --git a/.git.bak/objects/e6/c51bee433645af0221f124bc33e7d7ca3626a6 b/.git.bak/objects/e6/c51bee433645af0221f124bc33e7d7ca3626a6 new file mode 100644 index 0000000..e9dfad8 Binary files /dev/null and b/.git.bak/objects/e6/c51bee433645af0221f124bc33e7d7ca3626a6 differ diff --git a/.git.bak/objects/e6/d08dc20cf20bc84e954762375ece363452c616 b/.git.bak/objects/e6/d08dc20cf20bc84e954762375ece363452c616 new file mode 100644 index 0000000..663c7b8 Binary files /dev/null and b/.git.bak/objects/e6/d08dc20cf20bc84e954762375ece363452c616 differ diff --git a/.git.bak/objects/e6/f39241f98dd890dda9d4dbea076540ed43cabc b/.git.bak/objects/e6/f39241f98dd890dda9d4dbea076540ed43cabc new file mode 100644 index 0000000..9892f3d Binary files /dev/null and b/.git.bak/objects/e6/f39241f98dd890dda9d4dbea076540ed43cabc differ diff --git a/.git.bak/objects/e7/41eb4110bd0efa96caa8971acbf3a1b177670a b/.git.bak/objects/e7/41eb4110bd0efa96caa8971acbf3a1b177670a new file mode 100644 index 0000000..9d0fb65 Binary files /dev/null and b/.git.bak/objects/e7/41eb4110bd0efa96caa8971acbf3a1b177670a differ diff --git a/.git.bak/objects/e7/57702534589f6970ce8cdfb8dfddd6fe700254 b/.git.bak/objects/e7/57702534589f6970ce8cdfb8dfddd6fe700254 new file mode 100644 index 0000000..e095011 Binary files /dev/null and b/.git.bak/objects/e7/57702534589f6970ce8cdfb8dfddd6fe700254 differ diff --git a/.git.bak/objects/e7/7384575189ab7a5451bafaacd97a8e76f3100d b/.git.bak/objects/e7/7384575189ab7a5451bafaacd97a8e76f3100d new file mode 100644 index 0000000..5a415cf Binary files /dev/null and b/.git.bak/objects/e7/7384575189ab7a5451bafaacd97a8e76f3100d differ diff --git a/.git.bak/objects/e7/8d5616f2888bdaf9ca90621962ae0353c382c0 b/.git.bak/objects/e7/8d5616f2888bdaf9ca90621962ae0353c382c0 new file mode 100644 index 0000000..52949ae Binary files /dev/null and b/.git.bak/objects/e7/8d5616f2888bdaf9ca90621962ae0353c382c0 differ diff --git a/.git.bak/objects/e7/9e041d9529bfa24dc638a72bbc28039c83d54f b/.git.bak/objects/e7/9e041d9529bfa24dc638a72bbc28039c83d54f new file mode 100644 index 0000000..dcf6a21 --- /dev/null +++ b/.git.bak/objects/e7/9e041d9529bfa24dc638a72bbc28039c83d54f @@ -0,0 +1,3 @@ +xUj0{ާ|! +&Br/=gըuFZ5^9rA3 -)2iAxbql߹Ok:}='ߩ_u0T"cOAF:x 7>H? aIp +%~`֢<,LjrhEztc\/Eߣ_1HjF \ No newline at end of file diff --git a/.git.bak/objects/e7/c5a02d519a13b3e4245480c2f7986c9707413d b/.git.bak/objects/e7/c5a02d519a13b3e4245480c2f7986c9707413d new file mode 100644 index 0000000..018cb72 Binary files /dev/null and b/.git.bak/objects/e7/c5a02d519a13b3e4245480c2f7986c9707413d differ diff --git a/.git.bak/objects/e8/4ac165e9fc43836dbd4dece4bcbbbb7532c61b b/.git.bak/objects/e8/4ac165e9fc43836dbd4dece4bcbbbb7532c61b new file mode 100644 index 0000000..9c44bf8 Binary files /dev/null and b/.git.bak/objects/e8/4ac165e9fc43836dbd4dece4bcbbbb7532c61b differ diff --git a/.git.bak/objects/e8/cc2c0f29eda4bad78039f1eff8380734cddcf7 b/.git.bak/objects/e8/cc2c0f29eda4bad78039f1eff8380734cddcf7 new file mode 100644 index 0000000..dbec0ce Binary files /dev/null and b/.git.bak/objects/e8/cc2c0f29eda4bad78039f1eff8380734cddcf7 differ diff --git a/.git.bak/objects/e9/0bac839267110ee7d3b9e1bbeb70ec1834856e b/.git.bak/objects/e9/0bac839267110ee7d3b9e1bbeb70ec1834856e new file mode 100644 index 0000000..016a3bb --- /dev/null +++ b/.git.bak/objects/e9/0bac839267110ee7d3b9e1bbeb70ec1834856e @@ -0,0 +1,2 @@ +xmRMo0弿ʡumЊVH !D{CTJ٬nT3d+q|ykkrپzZdL9/|O?~ޑVp.2{0vtU{GE#ǦL޹^y#ܾ}27O +߾B{Vo8vlJJsa8;6i+6=l>f^q,{ƍ];PLKjoGJ^6$=hKRԹP|p\$k([ו IPE)e6/0|/NsV7 yyA9? )V}fɪ\yI6or DN}a|0PP^(Z~ )hY,p;֪%Wī$gg$žf"M!b^͍dz8 &^ ~EDSWdA6[UBWE`d%$n" +՜0TW72<M{#-mYݬA9ڈQ(X68_;?1M%'ǵ>[#Bzdz#oĿ0 sKC ǨJQ!'PQ'4jI3 +G-+WYk@moБU~ +Ocːihm043R b O'#PӇ)YOG8>1wscnYp$" w9,xrW}rˡcx=/wʝ#Ϩ*ѿhF/A+TQ"i0&L3QBA d'׻XeSP9S9T[ -| 7FWPXДt:46+9lN5%zO :rz9^cXSΐgeS ]$Cn)ܦ50(!ƎFb3,:Dg7֘~dMVlN|(Ɔ(p|k-$xӢwrbQ +Qɾ+oS Oz/5 +%:z}ykDFR.$еǿP .` lR0[%3e; D[ERQXƩ<_Gk<@:.^q#ۤPOW/DMߵ \ No newline at end of file diff --git a/.git.bak/objects/e9/fed809a5ab515658d6e71f7ba5f631be769be4 b/.git.bak/objects/e9/fed809a5ab515658d6e71f7ba5f631be769be4 new file mode 100644 index 0000000..da1ef90 Binary files /dev/null and b/.git.bak/objects/e9/fed809a5ab515658d6e71f7ba5f631be769be4 differ diff --git a/.git.bak/objects/ea/351c553520e1bc62d53b97a316194c48ac49e6 b/.git.bak/objects/ea/351c553520e1bc62d53b97a316194c48ac49e6 new file mode 100644 index 0000000..87100e1 Binary files /dev/null and b/.git.bak/objects/ea/351c553520e1bc62d53b97a316194c48ac49e6 differ diff --git a/.git.bak/objects/ea/3bd71d83d43471f59027d994c3e796264a2cc4 b/.git.bak/objects/ea/3bd71d83d43471f59027d994c3e796264a2cc4 new file mode 100644 index 0000000..a5156f8 Binary files /dev/null and b/.git.bak/objects/ea/3bd71d83d43471f59027d994c3e796264a2cc4 differ diff --git a/.git.bak/objects/ea/527ee73ae181f9aeadd9d3ebb6e420285d0927 b/.git.bak/objects/ea/527ee73ae181f9aeadd9d3ebb6e420285d0927 new file mode 100644 index 0000000..57aeb20 Binary files /dev/null and b/.git.bak/objects/ea/527ee73ae181f9aeadd9d3ebb6e420285d0927 differ diff --git a/.git.bak/objects/ea/60f9f2658b086d29ebf017f4dbb78fa434ecb2 b/.git.bak/objects/ea/60f9f2658b086d29ebf017f4dbb78fa434ecb2 new file mode 100644 index 0000000..9e4d1c9 Binary files /dev/null and b/.git.bak/objects/ea/60f9f2658b086d29ebf017f4dbb78fa434ecb2 differ diff --git a/.git.bak/objects/ea/6ae61d285d0d649de8581c523e7e76921899f4 b/.git.bak/objects/ea/6ae61d285d0d649de8581c523e7e76921899f4 new file mode 100644 index 0000000..ccd8e02 Binary files /dev/null and b/.git.bak/objects/ea/6ae61d285d0d649de8581c523e7e76921899f4 differ diff --git a/.git.bak/objects/ea/6b9e2e9ac251526c95df2dd995cf5f1e861854 b/.git.bak/objects/ea/6b9e2e9ac251526c95df2dd995cf5f1e861854 new file mode 100644 index 0000000..041fddd Binary files /dev/null and b/.git.bak/objects/ea/6b9e2e9ac251526c95df2dd995cf5f1e861854 differ diff --git a/.git.bak/objects/ea/734fb73820316ed1c0f6a2f6e96dce0e3eb6f0 b/.git.bak/objects/ea/734fb73820316ed1c0f6a2f6e96dce0e3eb6f0 new file mode 100644 index 0000000..170eed7 Binary files /dev/null and b/.git.bak/objects/ea/734fb73820316ed1c0f6a2f6e96dce0e3eb6f0 differ diff --git a/.git.bak/objects/ea/b819f21f6c5833718a86fe88f7f43d00ff7776 b/.git.bak/objects/ea/b819f21f6c5833718a86fe88f7f43d00ff7776 new file mode 100644 index 0000000..20f27a3 --- /dev/null +++ b/.git.bak/objects/ea/b819f21f6c5833718a86fe88f7f43d00ff7776 @@ -0,0 +1,6 @@ +xTK1ga?H +CVPR!Fɒd.EN=]OwyydKeJL41Af4v*q+/Oik`W!Xd +y[gŸ&261i8+8q~cJav7ofыčV7ONOLRqewp (6wF_I +X'Qqp`tTq(QUb1N.<[OEG/mP \bPf@ec[LzE.{TIͯs%}T0.&F6 P82d'"$SRQJ_GoBGRXJ+Bd$R!J  X':hdꚌ 7HY1[B˫aa[[gt \ No newline at end of file diff --git a/.git.bak/objects/ea/ddeb16be67205315dd8db7145e9b7a84f8bde9 b/.git.bak/objects/ea/ddeb16be67205315dd8db7145e9b7a84f8bde9 new file mode 100644 index 0000000..cc9aca9 Binary files /dev/null and b/.git.bak/objects/ea/ddeb16be67205315dd8db7145e9b7a84f8bde9 differ diff --git a/.git.bak/objects/ea/ff73503c08b845400cd863481308e197f74fe6 b/.git.bak/objects/ea/ff73503c08b845400cd863481308e197f74fe6 new file mode 100644 index 0000000..3aceb4e Binary files /dev/null and b/.git.bak/objects/ea/ff73503c08b845400cd863481308e197f74fe6 differ diff --git a/.git.bak/objects/eb/024f5c51c925b5d3848177305b6173aa7762a9 b/.git.bak/objects/eb/024f5c51c925b5d3848177305b6173aa7762a9 new file mode 100644 index 0000000..bf7f173 Binary files /dev/null and b/.git.bak/objects/eb/024f5c51c925b5d3848177305b6173aa7762a9 differ diff --git a/.git.bak/objects/eb/05d76857b1d0f806def15cfbd5a1c3aee05861 b/.git.bak/objects/eb/05d76857b1d0f806def15cfbd5a1c3aee05861 new file mode 100644 index 0000000..1c7dafd Binary files /dev/null and b/.git.bak/objects/eb/05d76857b1d0f806def15cfbd5a1c3aee05861 differ diff --git a/.git.bak/objects/eb/76a0dd087165eaceb65607da67ab7405945906 b/.git.bak/objects/eb/76a0dd087165eaceb65607da67ab7405945906 new file mode 100644 index 0000000..27f0015 Binary files /dev/null and b/.git.bak/objects/eb/76a0dd087165eaceb65607da67ab7405945906 differ diff --git a/.git.bak/objects/eb/9c42c457a3b42f3af43e37ed62de4d704c413a b/.git.bak/objects/eb/9c42c457a3b42f3af43e37ed62de4d704c413a new file mode 100644 index 0000000..05efb57 Binary files /dev/null and b/.git.bak/objects/eb/9c42c457a3b42f3af43e37ed62de4d704c413a differ diff --git a/.git.bak/objects/eb/bf54e9c84a3b38c1836f3162bd1b9c36109d7c b/.git.bak/objects/eb/bf54e9c84a3b38c1836f3162bd1b9c36109d7c new file mode 100644 index 0000000..72d8a43 Binary files /dev/null and b/.git.bak/objects/eb/bf54e9c84a3b38c1836f3162bd1b9c36109d7c differ diff --git a/.git.bak/objects/eb/d6fa0c5b3969e15e4c6e444fbd1da32c250d2e b/.git.bak/objects/eb/d6fa0c5b3969e15e4c6e444fbd1da32c250d2e new file mode 100644 index 0000000..9a4f47c Binary files /dev/null and b/.git.bak/objects/eb/d6fa0c5b3969e15e4c6e444fbd1da32c250d2e differ diff --git a/.git.bak/objects/eb/dc1dcfd9c6ebf2dc73b19bc531e6d0310803c6 b/.git.bak/objects/eb/dc1dcfd9c6ebf2dc73b19bc531e6d0310803c6 new file mode 100644 index 0000000..53ffd9f --- /dev/null +++ b/.git.bak/objects/eb/dc1dcfd9c6ebf2dc73b19bc531e6d0310803c6 @@ -0,0 +1 @@ +x+)JMU04`040031Qp r rҎ.z) ^;/HҌmkُT PH)M.-fƦ쵬!L'+I@&&3edq)~+[,; \ No newline at end of file diff --git a/.git.bak/objects/eb/fed8e0dc39caaa6830d86ef0a0b3ae1fde4f6f b/.git.bak/objects/eb/fed8e0dc39caaa6830d86ef0a0b3ae1fde4f6f new file mode 100644 index 0000000..c2a2b3e Binary files /dev/null and b/.git.bak/objects/eb/fed8e0dc39caaa6830d86ef0a0b3ae1fde4f6f differ diff --git a/.git.bak/objects/ec/0a3f146d214ed31b462b1e663fce491ea50da3 b/.git.bak/objects/ec/0a3f146d214ed31b462b1e663fce491ea50da3 new file mode 100644 index 0000000..1a57481 Binary files /dev/null and b/.git.bak/objects/ec/0a3f146d214ed31b462b1e663fce491ea50da3 differ diff --git a/.git.bak/objects/ec/2be30de1663c20ea2166f33a583c9c0b84d029 b/.git.bak/objects/ec/2be30de1663c20ea2166f33a583c9c0b84d029 new file mode 100644 index 0000000..638e817 Binary files /dev/null and b/.git.bak/objects/ec/2be30de1663c20ea2166f33a583c9c0b84d029 differ diff --git a/.git.bak/objects/ec/49bf12877f62026e56899693bfadac77149498 b/.git.bak/objects/ec/49bf12877f62026e56899693bfadac77149498 new file mode 100644 index 0000000..c86669c Binary files /dev/null and b/.git.bak/objects/ec/49bf12877f62026e56899693bfadac77149498 differ diff --git a/.git.bak/objects/ec/6ddeaf54b62fd7e1c4032fcb97bf2bb91f0c15 b/.git.bak/objects/ec/6ddeaf54b62fd7e1c4032fcb97bf2bb91f0c15 new file mode 100644 index 0000000..4f68bb4 Binary files /dev/null and b/.git.bak/objects/ec/6ddeaf54b62fd7e1c4032fcb97bf2bb91f0c15 differ diff --git a/.git.bak/objects/ec/7097b96282437312853ba39254d0e2f17b36ba b/.git.bak/objects/ec/7097b96282437312853ba39254d0e2f17b36ba new file mode 100644 index 0000000..c790026 Binary files /dev/null and b/.git.bak/objects/ec/7097b96282437312853ba39254d0e2f17b36ba differ diff --git a/.git.bak/objects/ec/cd8b2d8bda7137ff8caf5b677617fc5e8cd2ea b/.git.bak/objects/ec/cd8b2d8bda7137ff8caf5b677617fc5e8cd2ea new file mode 100644 index 0000000..a608d7b Binary files /dev/null and b/.git.bak/objects/ec/cd8b2d8bda7137ff8caf5b677617fc5e8cd2ea differ diff --git a/.git.bak/objects/ec/e722327959f3bd9721488a035947387f1c1db1 b/.git.bak/objects/ec/e722327959f3bd9721488a035947387f1c1db1 new file mode 100644 index 0000000..c22d6e4 Binary files /dev/null and b/.git.bak/objects/ec/e722327959f3bd9721488a035947387f1c1db1 differ diff --git a/.git.bak/objects/ed/062a29006af168f641aa3500d40f15e070d179 b/.git.bak/objects/ed/062a29006af168f641aa3500d40f15e070d179 new file mode 100644 index 0000000..5d7bf61 Binary files /dev/null and b/.git.bak/objects/ed/062a29006af168f641aa3500d40f15e070d179 differ diff --git a/.git.bak/objects/ed/3f6192b114f140a084321767457f1eded06eca b/.git.bak/objects/ed/3f6192b114f140a084321767457f1eded06eca new file mode 100644 index 0000000..072eec5 Binary files /dev/null and b/.git.bak/objects/ed/3f6192b114f140a084321767457f1eded06eca differ diff --git a/.git.bak/objects/ed/6e5144a32fbb940455d83a3f02430c273031f8 b/.git.bak/objects/ed/6e5144a32fbb940455d83a3f02430c273031f8 new file mode 100644 index 0000000..f5488b2 Binary files /dev/null and b/.git.bak/objects/ed/6e5144a32fbb940455d83a3f02430c273031f8 differ diff --git a/.git.bak/objects/ed/9b5023f9217d5cfbc4c4f1c26ee6c5f3c8aa4b b/.git.bak/objects/ed/9b5023f9217d5cfbc4c4f1c26ee6c5f3c8aa4b new file mode 100644 index 0000000..440c900 Binary files /dev/null and b/.git.bak/objects/ed/9b5023f9217d5cfbc4c4f1c26ee6c5f3c8aa4b differ diff --git a/.git.bak/objects/ed/9c38aeb6c1f3f85c9eb0efa071349504dbfde6 b/.git.bak/objects/ed/9c38aeb6c1f3f85c9eb0efa071349504dbfde6 new file mode 100644 index 0000000..96d6955 Binary files /dev/null and b/.git.bak/objects/ed/9c38aeb6c1f3f85c9eb0efa071349504dbfde6 differ diff --git a/.git.bak/objects/ed/b24b1dc3324d6938191b41d7003db4489b7f90 b/.git.bak/objects/ed/b24b1dc3324d6938191b41d7003db4489b7f90 new file mode 100644 index 0000000..874036d Binary files /dev/null and b/.git.bak/objects/ed/b24b1dc3324d6938191b41d7003db4489b7f90 differ diff --git a/.git.bak/objects/ed/b55dfbca86a881da139244122c4f734d6a5844 b/.git.bak/objects/ed/b55dfbca86a881da139244122c4f734d6a5844 new file mode 100644 index 0000000..a6df839 Binary files /dev/null and b/.git.bak/objects/ed/b55dfbca86a881da139244122c4f734d6a5844 differ diff --git a/.git.bak/objects/ed/f7d6876283a89bb11677d972722c989fe57db4 b/.git.bak/objects/ed/f7d6876283a89bb11677d972722c989fe57db4 new file mode 100644 index 0000000..5a71381 Binary files /dev/null and b/.git.bak/objects/ed/f7d6876283a89bb11677d972722c989fe57db4 differ diff --git a/.git.bak/objects/ee/4673b6c4c7a7ed9ef41846fb09deff4b70692d b/.git.bak/objects/ee/4673b6c4c7a7ed9ef41846fb09deff4b70692d new file mode 100644 index 0000000..faf021e Binary files /dev/null and b/.git.bak/objects/ee/4673b6c4c7a7ed9ef41846fb09deff4b70692d differ diff --git a/.git.bak/objects/ee/509886b719acb764c8f2befa945382e8fcdce6 b/.git.bak/objects/ee/509886b719acb764c8f2befa945382e8fcdce6 new file mode 100644 index 0000000..1a33c95 Binary files /dev/null and b/.git.bak/objects/ee/509886b719acb764c8f2befa945382e8fcdce6 differ diff --git a/.git.bak/objects/ee/78ad261b1986c46d4dd6dc2a17446dce2c4498 b/.git.bak/objects/ee/78ad261b1986c46d4dd6dc2a17446dce2c4498 new file mode 100644 index 0000000..4479b8e Binary files /dev/null and b/.git.bak/objects/ee/78ad261b1986c46d4dd6dc2a17446dce2c4498 differ diff --git a/.git.bak/objects/ee/8abb523dbe0ad51949ad8f864207164f38b051 b/.git.bak/objects/ee/8abb523dbe0ad51949ad8f864207164f38b051 new file mode 100644 index 0000000..08c3aa0 Binary files /dev/null and b/.git.bak/objects/ee/8abb523dbe0ad51949ad8f864207164f38b051 differ diff --git a/.git.bak/objects/ee/93fa00ab2fbe05ba2ee0fcdc606d9aad12bd52 b/.git.bak/objects/ee/93fa00ab2fbe05ba2ee0fcdc606d9aad12bd52 new file mode 100644 index 0000000..011fcbd Binary files /dev/null and b/.git.bak/objects/ee/93fa00ab2fbe05ba2ee0fcdc606d9aad12bd52 differ diff --git a/.git.bak/objects/ee/9b8bf94722cb2594698f7217e537c60b4fa1b4 b/.git.bak/objects/ee/9b8bf94722cb2594698f7217e537c60b4fa1b4 new file mode 100644 index 0000000..8970745 --- /dev/null +++ b/.git.bak/objects/ee/9b8bf94722cb2594698f7217e537c60b4fa1b4 @@ -0,0 +1,2 @@ +xKN  +\^c.6B( tg_yrGKoD\"LVzAd7E7sRiVC1!Řљ|Ґ1&K4,2 X_:+{TjwگQqO^Ҩ~GG\S9߸8 TN>F/K k' qHJ?:[E \ No newline at end of file diff --git a/.git.bak/objects/ee/abd1c37ce03aeba427120b80997db32513f35f b/.git.bak/objects/ee/abd1c37ce03aeba427120b80997db32513f35f new file mode 100644 index 0000000..16688d0 Binary files /dev/null and b/.git.bak/objects/ee/abd1c37ce03aeba427120b80997db32513f35f differ diff --git a/.git.bak/objects/ee/db0a5d942a565eb7936a0dcf9cd07eae2402c1 b/.git.bak/objects/ee/db0a5d942a565eb7936a0dcf9cd07eae2402c1 new file mode 100644 index 0000000..6ae3f7c Binary files /dev/null and b/.git.bak/objects/ee/db0a5d942a565eb7936a0dcf9cd07eae2402c1 differ diff --git a/.git.bak/objects/ef/15729ea65c38a6c470d7abe63211efb0945c22 b/.git.bak/objects/ef/15729ea65c38a6c470d7abe63211efb0945c22 new file mode 100644 index 0000000..0246310 Binary files /dev/null and b/.git.bak/objects/ef/15729ea65c38a6c470d7abe63211efb0945c22 differ diff --git a/.git.bak/objects/ef/4dbfd999cc8194516debc50fc521e6b364be70 b/.git.bak/objects/ef/4dbfd999cc8194516debc50fc521e6b364be70 new file mode 100644 index 0000000..2fe4512 Binary files /dev/null and b/.git.bak/objects/ef/4dbfd999cc8194516debc50fc521e6b364be70 differ diff --git a/.git.bak/objects/ef/f903bc15368cd7d794a354ce6792fad1851573 b/.git.bak/objects/ef/f903bc15368cd7d794a354ce6792fad1851573 new file mode 100644 index 0000000..266cbea Binary files /dev/null and b/.git.bak/objects/ef/f903bc15368cd7d794a354ce6792fad1851573 differ diff --git a/.git.bak/objects/f0/05580f4a14f41cdb5545171df2c64bd325a488 b/.git.bak/objects/f0/05580f4a14f41cdb5545171df2c64bd325a488 new file mode 100644 index 0000000..ec57293 Binary files /dev/null and b/.git.bak/objects/f0/05580f4a14f41cdb5545171df2c64bd325a488 differ diff --git a/.git.bak/objects/f0/13ca077dce9d9ecd842ef6a337d9c875e4890b b/.git.bak/objects/f0/13ca077dce9d9ecd842ef6a337d9c875e4890b new file mode 100644 index 0000000..2814582 Binary files /dev/null and b/.git.bak/objects/f0/13ca077dce9d9ecd842ef6a337d9c875e4890b differ diff --git a/.git.bak/objects/f0/61bb6e87c2ea7a9bd6f0a5a6f1ed88c9c4561c b/.git.bak/objects/f0/61bb6e87c2ea7a9bd6f0a5a6f1ed88c9c4561c new file mode 100644 index 0000000..23c438f Binary files /dev/null and b/.git.bak/objects/f0/61bb6e87c2ea7a9bd6f0a5a6f1ed88c9c4561c differ diff --git a/.git.bak/objects/f0/e65b546c3e1ba4173f1d497d794ff2a2a370d5 b/.git.bak/objects/f0/e65b546c3e1ba4173f1d497d794ff2a2a370d5 new file mode 100644 index 0000000..036d07a Binary files /dev/null and b/.git.bak/objects/f0/e65b546c3e1ba4173f1d497d794ff2a2a370d5 differ diff --git a/.git.bak/objects/f0/eb8bba16c1dafbbcf6d9ff9bdcc86fff1520b3 b/.git.bak/objects/f0/eb8bba16c1dafbbcf6d9ff9bdcc86fff1520b3 new file mode 100644 index 0000000..0b9fc34 Binary files /dev/null and b/.git.bak/objects/f0/eb8bba16c1dafbbcf6d9ff9bdcc86fff1520b3 differ diff --git a/.git.bak/objects/f1/08ecd0a8ca1ec609529d3a0b76106c48e418a0 b/.git.bak/objects/f1/08ecd0a8ca1ec609529d3a0b76106c48e418a0 new file mode 100644 index 0000000..4dcbfeb Binary files /dev/null and b/.git.bak/objects/f1/08ecd0a8ca1ec609529d3a0b76106c48e418a0 differ diff --git a/.git.bak/objects/f1/0e8cd22366d532cd5a5973a5b801419779e99b b/.git.bak/objects/f1/0e8cd22366d532cd5a5973a5b801419779e99b new file mode 100644 index 0000000..cceb7cd Binary files /dev/null and b/.git.bak/objects/f1/0e8cd22366d532cd5a5973a5b801419779e99b differ diff --git a/.git.bak/objects/f1/353218f317b79398fb98cc947a44201de0d57a b/.git.bak/objects/f1/353218f317b79398fb98cc947a44201de0d57a new file mode 100644 index 0000000..3bd80c9 Binary files /dev/null and b/.git.bak/objects/f1/353218f317b79398fb98cc947a44201de0d57a differ diff --git a/.git.bak/objects/f1/b880554aae3ac981c255f24b8a38ff7bed627e b/.git.bak/objects/f1/b880554aae3ac981c255f24b8a38ff7bed627e new file mode 100644 index 0000000..aea166c Binary files /dev/null and b/.git.bak/objects/f1/b880554aae3ac981c255f24b8a38ff7bed627e differ diff --git a/.git.bak/objects/f1/d2f8dc116fa196e6dbe77e25d4bd487beaff41 b/.git.bak/objects/f1/d2f8dc116fa196e6dbe77e25d4bd487beaff41 new file mode 100644 index 0000000..e9abeb4 Binary files /dev/null and b/.git.bak/objects/f1/d2f8dc116fa196e6dbe77e25d4bd487beaff41 differ diff --git a/.git.bak/objects/f2/0915bea42e4016313176f9e8c1a154f457db3d b/.git.bak/objects/f2/0915bea42e4016313176f9e8c1a154f457db3d new file mode 100644 index 0000000..8d61f35 --- /dev/null +++ b/.git.bak/objects/f2/0915bea42e4016313176f9e8c1a154f457db3d @@ -0,0 +1 @@ +xTM09BPq6XYhmJ[-5kKB^lq( ͚7o8+UFtb? $hN" NiP56`P)Qc`s#k=V,Vn%J̞ wOQH?m@}Y!K5N]j {Z NH6SjP+bjI0JGrjٹ!MO˝HU &T#ql*oLJūyR[X'LkoIOQHP-qPCGu.QfD}ܛcDZRx^R>>.{O{Iӿ%hJa,w>u}k?#]ۂ(#B8v++2-BmJi;OZUls" 2[3Ⱥ*Yc!ծP<%_|ِ"iw[V+lam 'j֡̿hYG==NiJ'G ڟv^A/) \ No newline at end of file diff --git a/.git.bak/objects/f2/5df632a38fe4afa6deaee927d98fe891a258b2 b/.git.bak/objects/f2/5df632a38fe4afa6deaee927d98fe891a258b2 new file mode 100644 index 0000000..90b643f Binary files /dev/null and b/.git.bak/objects/f2/5df632a38fe4afa6deaee927d98fe891a258b2 differ diff --git a/.git.bak/objects/f2/869e256477a974a2a5b97a5d1c2e8f875183a8 b/.git.bak/objects/f2/869e256477a974a2a5b97a5d1c2e8f875183a8 new file mode 100644 index 0000000..cd35d56 Binary files /dev/null and b/.git.bak/objects/f2/869e256477a974a2a5b97a5d1c2e8f875183a8 differ diff --git a/.git.bak/objects/f2/891bd6278901f51a71a134b8b3734c49fe11de b/.git.bak/objects/f2/891bd6278901f51a71a134b8b3734c49fe11de new file mode 100644 index 0000000..7c4d838 Binary files /dev/null and b/.git.bak/objects/f2/891bd6278901f51a71a134b8b3734c49fe11de differ diff --git a/.git.bak/objects/f2/a3507eea31b0f8168b47877e1d08abc092767c b/.git.bak/objects/f2/a3507eea31b0f8168b47877e1d08abc092767c new file mode 100644 index 0000000..76d615d Binary files /dev/null and b/.git.bak/objects/f2/a3507eea31b0f8168b47877e1d08abc092767c differ diff --git a/.git.bak/objects/f2/b6a8b0e3c9020746409617bcd562c9368be451 b/.git.bak/objects/f2/b6a8b0e3c9020746409617bcd562c9368be451 new file mode 100644 index 0000000..a1f1a92 --- /dev/null +++ b/.git.bak/objects/f2/b6a8b0e3c9020746409617bcd562c9368be451 @@ -0,0 +1,3 @@ +xuRn19_1Hs*HFhQSQJBǞfx$]~1ɂmf{_ \ No newline at end of file diff --git a/.git.bak/objects/f3/04b279fe6bfa9084f1d2f1ac1fb01e1463fe25 b/.git.bak/objects/f3/04b279fe6bfa9084f1d2f1ac1fb01e1463fe25 new file mode 100644 index 0000000..2e5a5bc Binary files /dev/null and b/.git.bak/objects/f3/04b279fe6bfa9084f1d2f1ac1fb01e1463fe25 differ diff --git a/.git.bak/objects/f3/2d421c735d323b2b0d7ef478b1d612a939b1a5 b/.git.bak/objects/f3/2d421c735d323b2b0d7ef478b1d612a939b1a5 new file mode 100644 index 0000000..10210ff Binary files /dev/null and b/.git.bak/objects/f3/2d421c735d323b2b0d7ef478b1d612a939b1a5 differ diff --git a/.git.bak/objects/f3/3e3924122f641c7319172204b6929e5b01ff79 b/.git.bak/objects/f3/3e3924122f641c7319172204b6929e5b01ff79 new file mode 100644 index 0000000..83ef508 Binary files /dev/null and b/.git.bak/objects/f3/3e3924122f641c7319172204b6929e5b01ff79 differ diff --git a/.git.bak/objects/f3/6cf206b90ff764e9709be64d57f6da60b6307e b/.git.bak/objects/f3/6cf206b90ff764e9709be64d57f6da60b6307e new file mode 100644 index 0000000..1c8b079 Binary files /dev/null and b/.git.bak/objects/f3/6cf206b90ff764e9709be64d57f6da60b6307e differ diff --git a/.git.bak/objects/f3/8a8442df2764d983b53d72803e1c0f3b3d240c b/.git.bak/objects/f3/8a8442df2764d983b53d72803e1c0f3b3d240c new file mode 100644 index 0000000..33f9bc6 Binary files /dev/null and b/.git.bak/objects/f3/8a8442df2764d983b53d72803e1c0f3b3d240c differ diff --git a/.git.bak/objects/f3/f10c4a4c36bb690ab2f2f8565a95f400ab153c b/.git.bak/objects/f3/f10c4a4c36bb690ab2f2f8565a95f400ab153c new file mode 100644 index 0000000..de9e48e Binary files /dev/null and b/.git.bak/objects/f3/f10c4a4c36bb690ab2f2f8565a95f400ab153c differ diff --git a/.git.bak/objects/f4/78d58dca85b2c396e2da8a2251be0071c4e9e0 b/.git.bak/objects/f4/78d58dca85b2c396e2da8a2251be0071c4e9e0 new file mode 100644 index 0000000..f8a3190 Binary files /dev/null and b/.git.bak/objects/f4/78d58dca85b2c396e2da8a2251be0071c4e9e0 differ diff --git a/.git.bak/objects/f4/7c97870063e13c10e35b37ec98c6456830caf3 b/.git.bak/objects/f4/7c97870063e13c10e35b37ec98c6456830caf3 new file mode 100644 index 0000000..7d8a899 Binary files /dev/null and b/.git.bak/objects/f4/7c97870063e13c10e35b37ec98c6456830caf3 differ diff --git a/.git.bak/objects/f4/8a4140d5b992a7dcf512d6ae5c404acd7ef1e4 b/.git.bak/objects/f4/8a4140d5b992a7dcf512d6ae5c404acd7ef1e4 new file mode 100644 index 0000000..e4930c5 Binary files /dev/null and b/.git.bak/objects/f4/8a4140d5b992a7dcf512d6ae5c404acd7ef1e4 differ diff --git a/.git.bak/objects/f4/9b2a21a30cbe4c118925464a5374cc03828245 b/.git.bak/objects/f4/9b2a21a30cbe4c118925464a5374cc03828245 new file mode 100644 index 0000000..79b4360 Binary files /dev/null and b/.git.bak/objects/f4/9b2a21a30cbe4c118925464a5374cc03828245 differ diff --git a/.git.bak/objects/f4/cec7152578638f52f6fa67a96c748271e6b4b4 b/.git.bak/objects/f4/cec7152578638f52f6fa67a96c748271e6b4b4 new file mode 100644 index 0000000..e0158ad Binary files /dev/null and b/.git.bak/objects/f4/cec7152578638f52f6fa67a96c748271e6b4b4 differ diff --git a/.git.bak/objects/f4/d35475d17abd96f03b0e1133258703b284c785 b/.git.bak/objects/f4/d35475d17abd96f03b0e1133258703b284c785 new file mode 100644 index 0000000..05f83f6 --- /dev/null +++ b/.git.bak/objects/f4/d35475d17abd96f03b0e1133258703b284c785 @@ -0,0 +1,3 @@ +x]RN0W4k֬Q=Qc7I;.6)z!<{oHKdXDRajKڡV^S#LrmX%M)-&bʈP;ъ@{>I[jCkKtbc}5\rP2 *T`%Ae÷n{ $yp@t? O4ȴF#' l(1}46:zl` +X`)YhmX{[{ff<߼P o +6vX#N= ڢ#8eLWxoS K8TjZ$-`>13P6`1r]f\r  \ No newline at end of file diff --git a/.git.bak/objects/f5/4184498d938597c9ada3efcf682cc40d34c2d5 b/.git.bak/objects/f5/4184498d938597c9ada3efcf682cc40d34c2d5 new file mode 100644 index 0000000..9013360 Binary files /dev/null and b/.git.bak/objects/f5/4184498d938597c9ada3efcf682cc40d34c2d5 differ diff --git a/.git.bak/objects/f5/464145a8d35f7fb2790b790012d16ad5f84a0c b/.git.bak/objects/f5/464145a8d35f7fb2790b790012d16ad5f84a0c new file mode 100644 index 0000000..e192832 Binary files /dev/null and b/.git.bak/objects/f5/464145a8d35f7fb2790b790012d16ad5f84a0c differ diff --git a/.git.bak/objects/f5/66d6af8ecc90ab61c62ff0551b2030fdcc0d83 b/.git.bak/objects/f5/66d6af8ecc90ab61c62ff0551b2030fdcc0d83 new file mode 100644 index 0000000..8a85ccf Binary files /dev/null and b/.git.bak/objects/f5/66d6af8ecc90ab61c62ff0551b2030fdcc0d83 differ diff --git a/.git.bak/objects/f5/7033d41cae38501c8d8672b265343fae5e13a6 b/.git.bak/objects/f5/7033d41cae38501c8d8672b265343fae5e13a6 new file mode 100644 index 0000000..d3fefd3 --- /dev/null +++ b/.git.bak/objects/f5/7033d41cae38501c8d8672b265343fae5e13a6 @@ -0,0 +1 @@ +xeQ=o0_"/ șBS KN:& 9:bo<~L&I{ u”92$jIeRI 'Й{vi 1:n쐊߶嶩K &X*]6c8% WFə>Τt" B>q9r2QˉD-9ZQӦ¨*\e \oْ9G굈\zT{Eo"[$΁&/upZe J;(?J=rT=c5яz㊳4}w(lŞ)G;`yOuRr+[;oy)z4  \ No newline at end of file diff --git a/.git.bak/objects/f5/7725b0fed3b74b2ed13d99c0fe8ee65ab29f3c b/.git.bak/objects/f5/7725b0fed3b74b2ed13d99c0fe8ee65ab29f3c new file mode 100644 index 0000000..195185d Binary files /dev/null and b/.git.bak/objects/f5/7725b0fed3b74b2ed13d99c0fe8ee65ab29f3c differ diff --git a/.git.bak/objects/f5/9722a0c9d01ddadb082596e0755cb161ef503a b/.git.bak/objects/f5/9722a0c9d01ddadb082596e0755cb161ef503a new file mode 100644 index 0000000..f7b50b3 --- /dev/null +++ b/.git.bak/objects/f5/9722a0c9d01ddadb082596e0755cb161ef503a @@ -0,0 +1,3 @@ +xmPMO1_1G=" x!6v-=-H͛yjjhq3s߁}P;j 0H4+Ʃma!B[M@ 7W*oqvnQ恕<'Jx?w.cEAe?~YTU,l4w }䤄ہâk4Gгl* J+ˁ1. +.OǘD/z +>SUJPQnm 0PSϯ^g6 x \ No newline at end of file diff --git a/.git.bak/objects/f6/14df0614d49ab0292d16879cd5e03d1acc5f0f b/.git.bak/objects/f6/14df0614d49ab0292d16879cd5e03d1acc5f0f new file mode 100644 index 0000000..d78528e Binary files /dev/null and b/.git.bak/objects/f6/14df0614d49ab0292d16879cd5e03d1acc5f0f differ diff --git a/.git.bak/objects/f6/4a61adf583a75dfd8d519a37dbb879c6a9131f b/.git.bak/objects/f6/4a61adf583a75dfd8d519a37dbb879c6a9131f new file mode 100644 index 0000000..3b25c88 --- /dev/null +++ b/.git.bak/objects/f6/4a61adf583a75dfd8d519a37dbb879c6a9131f @@ -0,0 +1,4 @@ +xTnA䜯hcn q y( BѬ;3Q$o/flo``̸ַ=B*Y\xT^0[G-0Thc/u jO%\RƊnN_w{}gpA&__9Rsg)g!Ror'H&wiOZPYVR@|R֫2L`JǑn雌C3ct9'QtLlp[6*clC8Fesm熳Q FZm؂y2m:_cLxȨ0О3y}[sKaށ 29ۨ+g +&={* t&)FK f)A`rW +zc1&(E հ\hoaQ+UJ$ѐvp=:‰N +1k >3>esj+Aq\XL,Fgf9T c L{lBd$tQu6s-"]weՊٟ4 o~]=fޯ#~iɛȿR}Pi O}fwn\¼ƒgXKI8k=4u։<#1\t,c60OOu AE +0 \ No newline at end of file diff --git a/.git.bak/objects/f6/b37b52dec6faa7f48b9d1be5da2ad9b883be2f b/.git.bak/objects/f6/b37b52dec6faa7f48b9d1be5da2ad9b883be2f new file mode 100644 index 0000000..35fdcb2 --- /dev/null +++ b/.git.bak/objects/f6/b37b52dec6faa7f48b9d1be5da2ad9b883be2f @@ -0,0 +1,3 @@ +x]Qo0ũO !EG|!GP眶%uUg+]lsh=ķ=>5^7|};!9c{0Z=C{D-[(gx҃[?@ 5 [qvO報9[xԽ/}ۛN;YqN$.;bzDp= # ͅ!O8G1Փk#hLF.k݇)tD0{n `6ȅʩǷN#qCbd/]P )Xmߘ}!DUYٿzr}o=J08orڲҗ$vX97eOv9GB,ՖJ\Gf,-W+Qfjb 4%dEBSΰƳ8$<{eBA\!/PL+D rȒ,`. +9ǛJ72Ca3-%5YPh*B7^}|'JJ ₡2Hٙ +M)A(:خX(>OȂXdJ1BRny"!누8q2vF QOl[B`4} )bz7뛓y^ \ No newline at end of file diff --git a/.git.bak/objects/f6/cbcf7f9be9d45391c5e4e14d02541f59087351 b/.git.bak/objects/f6/cbcf7f9be9d45391c5e4e14d02541f59087351 new file mode 100644 index 0000000..5b6dd3d Binary files /dev/null and b/.git.bak/objects/f6/cbcf7f9be9d45391c5e4e14d02541f59087351 differ diff --git a/.git.bak/objects/f6/f3cee0812d7400a9eae0d33ab8bc2037b57d47 b/.git.bak/objects/f6/f3cee0812d7400a9eae0d33ab8bc2037b57d47 new file mode 100644 index 0000000..c67f6e0 Binary files /dev/null and b/.git.bak/objects/f6/f3cee0812d7400a9eae0d33ab8bc2037b57d47 differ diff --git a/.git.bak/objects/f7/1f2d93294a67ad5d9300aae07973e259f26068 b/.git.bak/objects/f7/1f2d93294a67ad5d9300aae07973e259f26068 new file mode 100644 index 0000000..0e3ca75 --- /dev/null +++ b/.git.bak/objects/f7/1f2d93294a67ad5d9300aae07973e259f26068 @@ -0,0 +1,2 @@ +x} +@E{+nO>h=8[JPAÝ9s^cmG<#^1L`b*)4Oaz< 4C #̸߬HmYB5bS eR ORFCy^-OhB]I"dkTQ{/?\T \ No newline at end of file diff --git a/.git.bak/objects/f7/3dfa146af822f55bb5959abf23d994be1c4cbf b/.git.bak/objects/f7/3dfa146af822f55bb5959abf23d994be1c4cbf new file mode 100644 index 0000000..94e6b70 Binary files /dev/null and b/.git.bak/objects/f7/3dfa146af822f55bb5959abf23d994be1c4cbf differ diff --git a/.git.bak/objects/f7/47cb711330511887b8fc42d228bcc663c24efd b/.git.bak/objects/f7/47cb711330511887b8fc42d228bcc663c24efd new file mode 100644 index 0000000..c07f960 --- /dev/null +++ b/.git.bak/objects/f7/47cb711330511887b8fc42d228bcc663c24efd @@ -0,0 +1 @@ +xAn0F}٣TNl3P Fs8COm]o73J}Q ̪RF6ϒfIl|RB5 jI8m#zl;ttFp9^lf03=vP\Œv A݋׿ꖞf\\z{׉q0O#Rb(Yla[*Ak;([/^GK׭ޮ\_4bXy\8i&2Fd+(x K`E+<"q쐴P{~",%*8/l8W|0*m g2Ny>"(T*o3*RT -xrV'd7<@, TnQ ^TA*aqP]gJ<5 EvURŊ"؈E$#t)W,*yHG$ĉ 8W+Jz c#ۢH S,OdY \ No newline at end of file diff --git a/.git.bak/objects/fa/65265a9d45a38560d60c71f0a3305802c39365 b/.git.bak/objects/fa/65265a9d45a38560d60c71f0a3305802c39365 new file mode 100644 index 0000000..675396b --- /dev/null +++ b/.git.bak/objects/fa/65265a9d45a38560d60c71f0a3305802c39365 @@ -0,0 +1 @@ +xAn0Eŧn' A"t 2.<6ܝ!*̼ۇۯL)}Z]6@)XߟM}GyySOpw0NEҸX&XTe Yb5#B{1f D$w>nj,9K)r(9Rjן-4d2婵[j5kWKcl \ No newline at end of file diff --git a/.git.bak/objects/fa/bd49767ff56398d3fa4453a4f991da08783983 b/.git.bak/objects/fa/bd49767ff56398d3fa4453a4f991da08783983 new file mode 100644 index 0000000..43d0191 --- /dev/null +++ b/.git.bak/objects/fa/bd49767ff56398d3fa4453a4f991da08783983 @@ -0,0 +1,3 @@ +xmPMO1_zhm,"j"nbhtnh,-門%H|ͼڸR:g廠 *gErLPO89Fe=K*൶^xFB/V :=/|%ȋxVCS3;n1`@ +Fҿ~ZYM<] p~[]"nQx׍N7+僊% +` Ai@'<NvJtA-u̅#az??Bɵ7YEg[t{z \ No newline at end of file diff --git a/.git.bak/objects/fa/c98aa63ddc2b916ba60434055a0414815d3f71 b/.git.bak/objects/fa/c98aa63ddc2b916ba60434055a0414815d3f71 new file mode 100644 index 0000000..9aca21c Binary files /dev/null and b/.git.bak/objects/fa/c98aa63ddc2b916ba60434055a0414815d3f71 differ diff --git a/.git.bak/objects/fb/26ebe1046ef500d48e49ea1a648fc160262adf b/.git.bak/objects/fb/26ebe1046ef500d48e49ea1a648fc160262adf new file mode 100644 index 0000000..61aef85 Binary files /dev/null and b/.git.bak/objects/fb/26ebe1046ef500d48e49ea1a648fc160262adf differ diff --git a/.git.bak/objects/fb/35beccad7e990844c8b39305e328db6b904f70 b/.git.bak/objects/fb/35beccad7e990844c8b39305e328db6b904f70 new file mode 100644 index 0000000..0a5a34d Binary files /dev/null and b/.git.bak/objects/fb/35beccad7e990844c8b39305e328db6b904f70 differ diff --git a/.git.bak/objects/fb/66991bddc643cb3c5da7f74332c5e8450d92a7 b/.git.bak/objects/fb/66991bddc643cb3c5da7f74332c5e8450d92a7 new file mode 100644 index 0000000..daf4311 Binary files /dev/null and b/.git.bak/objects/fb/66991bddc643cb3c5da7f74332c5e8450d92a7 differ diff --git a/.git.bak/objects/fb/82ad81b1b9ef0e07164e6bfecd8391264ef2c2 b/.git.bak/objects/fb/82ad81b1b9ef0e07164e6bfecd8391264ef2c2 new file mode 100644 index 0000000..6c42824 Binary files /dev/null and b/.git.bak/objects/fb/82ad81b1b9ef0e07164e6bfecd8391264ef2c2 differ diff --git a/.git.bak/objects/fb/8e73e1893b100932468397b89076261f47ae61 b/.git.bak/objects/fb/8e73e1893b100932468397b89076261f47ae61 new file mode 100644 index 0000000..1483295 Binary files /dev/null and b/.git.bak/objects/fb/8e73e1893b100932468397b89076261f47ae61 differ diff --git a/.git.bak/objects/fb/bf85bfd731601e0c8bb86fd36a030d7ac0d6ce b/.git.bak/objects/fb/bf85bfd731601e0c8bb86fd36a030d7ac0d6ce new file mode 100644 index 0000000..0bd9153 Binary files /dev/null and b/.git.bak/objects/fb/bf85bfd731601e0c8bb86fd36a030d7ac0d6ce differ diff --git a/.git.bak/objects/fb/ed187879c12efa431383a9d4b9f340e9c41184 b/.git.bak/objects/fb/ed187879c12efa431383a9d4b9f340e9c41184 new file mode 100644 index 0000000..45b7e33 Binary files /dev/null and b/.git.bak/objects/fb/ed187879c12efa431383a9d4b9f340e9c41184 differ diff --git a/.git.bak/objects/fc/2665246387bbd82bc0d6e905d6a0be5b5abbde b/.git.bak/objects/fc/2665246387bbd82bc0d6e905d6a0be5b5abbde new file mode 100644 index 0000000..8882221 Binary files /dev/null and b/.git.bak/objects/fc/2665246387bbd82bc0d6e905d6a0be5b5abbde differ diff --git a/.git.bak/objects/fc/2e6657aafcc80d2ca56fb9ba362cf949460478 b/.git.bak/objects/fc/2e6657aafcc80d2ca56fb9ba362cf949460478 new file mode 100644 index 0000000..130dff6 Binary files /dev/null and b/.git.bak/objects/fc/2e6657aafcc80d2ca56fb9ba362cf949460478 differ diff --git a/.git.bak/objects/fc/3dea7b4ae085168714ffb7b7fbe01646e858a5 b/.git.bak/objects/fc/3dea7b4ae085168714ffb7b7fbe01646e858a5 new file mode 100644 index 0000000..bc5bf59 Binary files /dev/null and b/.git.bak/objects/fc/3dea7b4ae085168714ffb7b7fbe01646e858a5 differ diff --git a/.git.bak/objects/fc/5acc8bc41502a08fa7d537987d05b0c7ef5775 b/.git.bak/objects/fc/5acc8bc41502a08fa7d537987d05b0c7ef5775 new file mode 100644 index 0000000..b413eaa --- /dev/null +++ b/.git.bak/objects/fc/5acc8bc41502a08fa7d537987d05b0c7ef5775 @@ -0,0 +1,3 @@ +xe +0Fwk +\\!mXILoJET-[|`\/z)N6Z2)JVr,IEt;U&yLM5Cl[ Ȏ .x`RSx#w ]ydC"&(箬!(7_)C|3cbjYOq7kN \ No newline at end of file diff --git a/.git.bak/objects/fc/cbe3bd283afee33d27130872681230f088c48d b/.git.bak/objects/fc/cbe3bd283afee33d27130872681230f088c48d new file mode 100644 index 0000000..adb9c34 Binary files /dev/null and b/.git.bak/objects/fc/cbe3bd283afee33d27130872681230f088c48d differ diff --git a/.git.bak/objects/fc/f70b2321dfaa7bf2c7e9ac52ce3e33adacccac b/.git.bak/objects/fc/f70b2321dfaa7bf2c7e9ac52ce3e33adacccac new file mode 100644 index 0000000..699ddc5 --- /dev/null +++ b/.git.bak/objects/fc/f70b2321dfaa7bf2c7e9ac52ce3e33adacccac @@ -0,0 +1 @@ +xMPAJ@<(s,! {_d=~`S4tdfx^[~K+cͦdɞ[TctSNǁSRf,؞2ڦLݣ2ŶpusSMe/@g{Pˆ78Is<+XcdcT 2ϔ~[\cP>Ń0QcJKqJr \ No newline at end of file diff --git a/.git.bak/objects/fd/10c843f2bab584e53933b7d1fc445b9aef9bfc b/.git.bak/objects/fd/10c843f2bab584e53933b7d1fc445b9aef9bfc new file mode 100644 index 0000000..a064f8d Binary files /dev/null and b/.git.bak/objects/fd/10c843f2bab584e53933b7d1fc445b9aef9bfc differ diff --git a/.git.bak/objects/fd/3888acb4dd7a0cdb0dae0761c593c95802d6be b/.git.bak/objects/fd/3888acb4dd7a0cdb0dae0761c593c95802d6be new file mode 100644 index 0000000..c7b1f5e Binary files /dev/null and b/.git.bak/objects/fd/3888acb4dd7a0cdb0dae0761c593c95802d6be differ diff --git a/.git.bak/objects/fd/4384cc0c34ce3e1e411bc8b0557680cf000eff b/.git.bak/objects/fd/4384cc0c34ce3e1e411bc8b0557680cf000eff new file mode 100644 index 0000000..7f0ca9c Binary files /dev/null and b/.git.bak/objects/fd/4384cc0c34ce3e1e411bc8b0557680cf000eff differ diff --git a/.git.bak/objects/fd/4a6c53a9cd1abacf91125dab3fde3163b4c412 b/.git.bak/objects/fd/4a6c53a9cd1abacf91125dab3fde3163b4c412 new file mode 100644 index 0000000..93270b4 Binary files /dev/null and b/.git.bak/objects/fd/4a6c53a9cd1abacf91125dab3fde3163b4c412 differ diff --git a/.git.bak/objects/fd/79c5b525a9d373331b39a48eaced9003877f1a b/.git.bak/objects/fd/79c5b525a9d373331b39a48eaced9003877f1a new file mode 100644 index 0000000..3fd08c6 Binary files /dev/null and b/.git.bak/objects/fd/79c5b525a9d373331b39a48eaced9003877f1a differ diff --git a/.git.bak/objects/fd/90f2d504422b14fbe14393fabdc0fc0a8db6a0 b/.git.bak/objects/fd/90f2d504422b14fbe14393fabdc0fc0a8db6a0 new file mode 100644 index 0000000..71bc15a Binary files /dev/null and b/.git.bak/objects/fd/90f2d504422b14fbe14393fabdc0fc0a8db6a0 differ diff --git a/.git.bak/objects/fd/cae282250939d41404fb71d26f7a5874b0e2d9 b/.git.bak/objects/fd/cae282250939d41404fb71d26f7a5874b0e2d9 new file mode 100644 index 0000000..810dcd6 Binary files /dev/null and b/.git.bak/objects/fd/cae282250939d41404fb71d26f7a5874b0e2d9 differ diff --git a/.git.bak/objects/fd/d220bcaab88b00b844736404c326fa6bdfbc0e b/.git.bak/objects/fd/d220bcaab88b00b844736404c326fa6bdfbc0e new file mode 100644 index 0000000..12f7762 Binary files /dev/null and b/.git.bak/objects/fd/d220bcaab88b00b844736404c326fa6bdfbc0e differ diff --git a/.git.bak/objects/fd/d2abe34d3c8d6d87679f4a2e9b87d6c7af487b b/.git.bak/objects/fd/d2abe34d3c8d6d87679f4a2e9b87d6c7af487b new file mode 100644 index 0000000..9c1400f Binary files /dev/null and b/.git.bak/objects/fd/d2abe34d3c8d6d87679f4a2e9b87d6c7af487b differ diff --git a/.git.bak/objects/fe/063684d40e5c7120b2bc401de57dede9cf1c04 b/.git.bak/objects/fe/063684d40e5c7120b2bc401de57dede9cf1c04 new file mode 100644 index 0000000..2729296 Binary files /dev/null and b/.git.bak/objects/fe/063684d40e5c7120b2bc401de57dede9cf1c04 differ diff --git a/.git.bak/objects/fe/72a9d9b52b1b616ce05a534ff53e7975928e23 b/.git.bak/objects/fe/72a9d9b52b1b616ce05a534ff53e7975928e23 new file mode 100644 index 0000000..e0318c1 Binary files /dev/null and b/.git.bak/objects/fe/72a9d9b52b1b616ce05a534ff53e7975928e23 differ diff --git a/.git.bak/objects/fe/8bca68c279dc2652523c1c6e74a2ad8340a761 b/.git.bak/objects/fe/8bca68c279dc2652523c1c6e74a2ad8340a761 new file mode 100644 index 0000000..ef99306 Binary files /dev/null and b/.git.bak/objects/fe/8bca68c279dc2652523c1c6e74a2ad8340a761 differ diff --git a/.git.bak/objects/fe/c67b1511638174e80b94f50cf9405148a4b4ef b/.git.bak/objects/fe/c67b1511638174e80b94f50cf9405148a4b4ef new file mode 100644 index 0000000..eea9abf --- /dev/null +++ b/.git.bak/objects/fe/c67b1511638174e80b94f50cf9405148a4b4ef @@ -0,0 +1 @@ +xEr Ep|nw ZPcc^dr޻B^SQM{QWFt NƁ7P%أ= 2R df^ǜĬE sŞFyŘ%G+GlIQytЋmo~p4]e#C?($N7_7=$.nfd`r71ks:uMz>T*7۞o!HzOv] kh㵪ҭB2zʮmE(=8y# 2 \ No newline at end of file diff --git a/.git.bak/objects/fe/cf6b6942d17bc7ae41a5e106dc98815c0db652 b/.git.bak/objects/fe/cf6b6942d17bc7ae41a5e106dc98815c0db652 new file mode 100644 index 0000000..e30aa3d Binary files /dev/null and b/.git.bak/objects/fe/cf6b6942d17bc7ae41a5e106dc98815c0db652 differ diff --git a/.git.bak/objects/fe/d2021e45ccecad02884a5decf70473c5abf2e8 b/.git.bak/objects/fe/d2021e45ccecad02884a5decf70473c5abf2e8 new file mode 100644 index 0000000..ca0a091 Binary files /dev/null and b/.git.bak/objects/fe/d2021e45ccecad02884a5decf70473c5abf2e8 differ diff --git a/.git.bak/objects/fe/e3f621ed517b821371decc956f3fa83bd3a45c b/.git.bak/objects/fe/e3f621ed517b821371decc956f3fa83bd3a45c new file mode 100644 index 0000000..d8d55bd Binary files /dev/null and b/.git.bak/objects/fe/e3f621ed517b821371decc956f3fa83bd3a45c differ diff --git a/.git.bak/objects/fe/ec9913cdf5dfed78afb62b62b0b45febeb4d50 b/.git.bak/objects/fe/ec9913cdf5dfed78afb62b62b0b45febeb4d50 new file mode 100644 index 0000000..994dca8 --- /dev/null +++ b/.git.bak/objects/fe/ec9913cdf5dfed78afb62b62b0b45febeb4d50 @@ -0,0 +1,5 @@ +xmTnF_q -H +.vcTq0y)NDZ?7d~-({̫f]|UU{q8'6Dq<[pOVB8& =ޔ!m8TuE|\|3o3fKoW1L0#o! Mj5ܔ!lVV|hrY3/vuxȷlF 6-<ŗ]Ѐ`&ic%g(#ͣ@l``BXR݄ jpҸpaYJˉ`N<~Po7G g \a2gĒY 顰֧fW߉_]thfaɏE97IJ&8?XE^H:MqΔTKQ;M;/lF:Cr9g,TY$30Uv-jZSRLfΙUfEs?~+e% Dq0:dOtDOG^~EET+:p^įEpO>W. +#{y˗z$tBYϊ+/ &2Es&o2Ia +SJ^j*Xf.i3huɠ~*kߑ Yph%L@[O: ԁdnktMp̍qX@+lέGSDl.x|{0H \ No newline at end of file diff --git a/.git.bak/objects/ff/0ce56698fdf54bea81ab3eaaecbc45c2f2d649 b/.git.bak/objects/ff/0ce56698fdf54bea81ab3eaaecbc45c2f2d649 new file mode 100644 index 0000000..f4d00ad Binary files /dev/null and b/.git.bak/objects/ff/0ce56698fdf54bea81ab3eaaecbc45c2f2d649 differ diff --git a/.git.bak/objects/ff/8c2a531b89061d61eadcdd419a752b79cd2daa b/.git.bak/objects/ff/8c2a531b89061d61eadcdd419a752b79cd2daa new file mode 100644 index 0000000..681e6c3 Binary files /dev/null and b/.git.bak/objects/ff/8c2a531b89061d61eadcdd419a752b79cd2daa differ diff --git a/.git.bak/objects/ff/94659872dad5e8c74d5449922c473ecf19d39a b/.git.bak/objects/ff/94659872dad5e8c74d5449922c473ecf19d39a new file mode 100644 index 0000000..87444ae Binary files /dev/null and b/.git.bak/objects/ff/94659872dad5e8c74d5449922c473ecf19d39a differ diff --git a/.git.bak/objects/ff/999e9d04d7fa3a725621912399df35f450c845 b/.git.bak/objects/ff/999e9d04d7fa3a725621912399df35f450c845 new file mode 100644 index 0000000..dd5c444 Binary files /dev/null and b/.git.bak/objects/ff/999e9d04d7fa3a725621912399df35f450c845 differ diff --git a/.git.bak/objects/ff/a51355dc7e5d3eb24f602f85f6ae57d087d310 b/.git.bak/objects/ff/a51355dc7e5d3eb24f602f85f6ae57d087d310 new file mode 100644 index 0000000..221e8a6 Binary files /dev/null and b/.git.bak/objects/ff/a51355dc7e5d3eb24f602f85f6ae57d087d310 differ diff --git a/.git.bak/objects/ff/bfe6986b13d110f470d8dfe370fa1e089a425a b/.git.bak/objects/ff/bfe6986b13d110f470d8dfe370fa1e089a425a new file mode 100644 index 0000000..f50fe67 Binary files /dev/null and b/.git.bak/objects/ff/bfe6986b13d110f470d8dfe370fa1e089a425a differ diff --git a/.git.bak/objects/info/commit-graph b/.git.bak/objects/info/commit-graph new file mode 100644 index 0000000..c181887 Binary files /dev/null and b/.git.bak/objects/info/commit-graph differ diff --git a/.git.bak/objects/info/packs b/.git.bak/objects/info/packs new file mode 100644 index 0000000..b41e690 --- /dev/null +++ b/.git.bak/objects/info/packs @@ -0,0 +1,2 @@ +P pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.pack + diff --git a/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.idx b/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.idx new file mode 100644 index 0000000..4694e84 Binary files /dev/null and b/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.idx differ diff --git a/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.pack b/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.pack new file mode 100644 index 0000000..14314b5 Binary files /dev/null and b/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.pack differ diff --git a/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.rev b/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.rev new file mode 100644 index 0000000..0b6a409 Binary files /dev/null and b/.git.bak/objects/pack/pack-923bdd73f85f1efc399e4835dad0ec9c0da4cb6d.rev differ diff --git a/.git.bak/refs/heads/main b/.git.bak/refs/heads/main new file mode 100644 index 0000000..13f16a9 --- /dev/null +++ b/.git.bak/refs/heads/main @@ -0,0 +1 @@ +54c4d80c60fe5e759c754973d7f3c4d4c347819d diff --git a/.git.bak/refs/heads/main (1) b/.git.bak/refs/heads/main (1) new file mode 100644 index 0000000..48796d0 --- /dev/null +++ b/.git.bak/refs/heads/main (1) @@ -0,0 +1 @@ +ea3bd71d83d43471f59027d994c3e796264a2cc4 diff --git a/.git.bak/refs/heads/main_conflict_20260605_180756_j7cWpXzAYi b/.git.bak/refs/heads/main_conflict_20260605_180756_j7cWpXzAYi new file mode 100644 index 0000000..44b4875 --- /dev/null +++ b/.git.bak/refs/heads/main_conflict_20260605_180756_j7cWpXzAYi @@ -0,0 +1 @@ +4428df4df4ee97153a72f4e1b8f62f5a95a45dc7 diff --git a/.git.bak/refs/remotes/origin/HEAD b/.git.bak/refs/remotes/origin/HEAD new file mode 100644 index 0000000..4b0a875 --- /dev/null +++ b/.git.bak/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/main diff --git a/.git.bak/refs/remotes/origin/HEAD_conflict_20260605_180756_vBpwWyC7S0 b/.git.bak/refs/remotes/origin/HEAD_conflict_20260605_180756_vBpwWyC7S0 new file mode 100644 index 0000000..4b0a875 --- /dev/null +++ b/.git.bak/refs/remotes/origin/HEAD_conflict_20260605_180756_vBpwWyC7S0 @@ -0,0 +1 @@ +ref: refs/remotes/origin/main diff --git a/.git.bak/refs/remotes/origin/main b/.git.bak/refs/remotes/origin/main new file mode 100644 index 0000000..d5556f2 --- /dev/null +++ b/.git.bak/refs/remotes/origin/main @@ -0,0 +1 @@ +aad7143ac4a6a57a32b3975b1eb4e89df5a86241 diff --git a/.git.bak/refs/remotes/origin/main_conflict_20260605_180756_xni5tPtfUA b/.git.bak/refs/remotes/origin/main_conflict_20260605_180756_xni5tPtfUA new file mode 100644 index 0000000..2784c03 --- /dev/null +++ b/.git.bak/refs/remotes/origin/main_conflict_20260605_180756_xni5tPtfUA @@ -0,0 +1 @@ +d0db7805a962fb6ad09c4d419e3efbf77b49c744 diff --git a/.git.bak/sourcetreeconfig b/.git.bak/sourcetreeconfig new file mode 100644 index 0000000..c241639 --- /dev/null +++ b/.git.bak/sourcetreeconfig @@ -0,0 +1,8 @@ +autorefresh=1 +savedIncoming=0 +lastUsedView=1 +savedOutgoing=0 +showBuildStatus=1 +disablerecursiveoperations=0 +lastCheckedRemotes=2026-03-05 20:24:31 +0000 +autorefreshremotes=1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..418f563 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# macOS system files +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +.DS_Store diff --git a/.gitignore_conflict_20260605_173855_1ad2ufGRmb b/.gitignore_conflict_20260605_173855_1ad2ufGRmb new file mode 100644 index 0000000..3775ded --- /dev/null +++ b/.gitignore_conflict_20260605_173855_1ad2ufGRmb @@ -0,0 +1,12 @@ +*.jpg +*.jpeg +*.png +*.gif +*.webp +*.svg +# oder ganzen Ordner: +/images/ +/img/ +/assets/images/ +public/ +static/img diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/.tmp.driveupload/17521 b/.tmp.driveupload/17521 new file mode 100644 index 0000000..ef9cf31 Binary files /dev/null and b/.tmp.driveupload/17521 differ diff --git a/.tmp.driveupload/50149 b/.tmp.driveupload/50149 new file mode 100644 index 0000000..50cf0ef --- /dev/null +++ b/.tmp.driveupload/50149 @@ -0,0 +1,2482 @@ + + + + + +MiyaKarate Admin + + + + + + + + + + + + +
+ + +
+
+

Übersicht

+

Willkommen zurück. Hier ist dein aktueller Stand.

+
+
+ +
+
M
+ MiyaKarate +
+
+
+ + +
+ +
+
+
+

Fotos gesamt

+

+
+ photo_library In der Galerie +
+
+
+

Kategorien

+

+
+ label Training, Wettkampf, Gürtel +
+
+
+

Letzter Upload

+

+
+ schedule Zuletzt hochgeladen +
+
+
+ + +
+
+

Schnellzugriff

+

Direkt loslegen.

+
+
+ + +
+
+ sports_martial_arts +
+
+
+ + +
+
+

Fotos nach Kategorie

+ +
+
+

Wird geladen…

+
+ +
+
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + diff --git a/.tmp.driveupload/50153 b/.tmp.driveupload/50153 new file mode 100644 index 0000000..3992f00 --- /dev/null +++ b/.tmp.driveupload/50153 @@ -0,0 +1,997 @@ +const express = require('express'); +const multer = require('multer'); +const sharp = require('sharp'); +const path = require('path'); +const fs = require('fs'); +const { exec } = require('child_process'); +const os = require('os'); +const cors = require('cors'); + +const app = express(); +const PORT = 3001; + +// CORS für den öffentlichen Gästebuch-Endpunkt +app.use(cors({ + origin: function(origin, callback) { + callback(null, true); + }, + methods: ['GET', 'POST', 'PUT', 'DELETE'], + allowedHeaders: ['Content-Type', 'Authorization'] +})); + +// --- BASIC AUTH CONFIG --- +const ADMIN_USER = 'admin'; +const ADMIN_PASS = 'emy2026'; // Empfehlung: Ändern! + +const IMAGES_DIR = path.join(__dirname, 'static/gallery/images'); +const HERO_DIR = path.join(__dirname, 'static/hero'); +const UEBERMICH_IMG_DIR = path.join(__dirname, 'static/uebermich'); +const DATA_FILE = path.join(__dirname, 'data/gallery.json'); +const HOMEPAGE_FILE = path.join(__dirname, 'data/homepage.json'); +const CATEGORIES_FILE = path.join(__dirname, 'data/categories.json'); +const UEBERMICH_FILE = path.join(__dirname, 'data/uebermich.json'); +const ERFOLGE_FILE = path.join(__dirname, 'data/erfolge.json'); +const ERFOLGE_IMG_DIR = path.join(__dirname, 'static/erfolge-img'); +const GALERIE_PAGE_FILE = path.join(__dirname, 'data/galerie.json'); +const GAESTEBUCH_FILE = path.join(__dirname, 'data/gaestebuch.json'); +const GLOBAL_FILE = path.join(__dirname, 'data/global.json'); +const GAESTEBUCH_IMG_DIR = path.join(__dirname, 'static/gaestebuch-img'); +const ERFOLGE_INTERACTIONS_FILE = path.join(__dirname, 'data/erfolge_interactions.json'); + +if (!fs.existsSync(UEBERMICH_IMG_DIR)) fs.mkdirSync(UEBERMICH_IMG_DIR, { recursive: true }); +if (!fs.existsSync(HERO_DIR)) fs.mkdirSync(HERO_DIR, { recursive: true }); +if (!fs.existsSync(ERFOLGE_IMG_DIR)) fs.mkdirSync(ERFOLGE_IMG_DIR, { recursive: true }); +if (!fs.existsSync(GAESTEBUCH_IMG_DIR)) fs.mkdirSync(GAESTEBUCH_IMG_DIR, { recursive: true }); + +// Basic Auth Middleware +app.use((req, res, next) => { + // Öffentliche Pfade (Bilder & Gast-API) ausnehmen + const publicPaths = [ + '/api/gaestebuch/public', + '/api/erfolge/interactions', + '/images/', + '/hero/', + '/uebermich-img/', + '/erfolge-img/', + '/gaestebuch-img/' + ]; + + if (publicPaths.some(p => req.path.startsWith(p))) { + return next(); + } + + const auth = { login: ADMIN_USER, password: ADMIN_PASS }; + const b64auth = (req.headers.authorization || '').split(' ')[1] || ''; + const [login, password] = Buffer.from(b64auth, 'base64').toString().split(':'); + + if (login && password && login === auth.login && password === auth.password) { + return next(); + } + + res.set('WWW-Authenticate', 'Basic realm="MiyaKarate Admin"'); + res.status(401).send('Authentication required.'); +}); + +app.use(express.json()); +app.use('/images', express.static(IMAGES_DIR)); + +// Multer: temporärer Speicher, dann sharp übernimmt +const upload = multer({ + storage: multer.memoryStorage(), + limits: { fileSize: 100 * 1024 * 1024 }, // 100MB limit für Videos + fileFilter: (req, file, cb) => { + if (file.mimetype.startsWith('image/') || file.mimetype.startsWith('video/')) cb(null, true); + else cb(new Error('Nur Bilder und Videos erlaubt!')); + } +}); + +function readGallery() { + return JSON.parse(fs.readFileSync(DATA_FILE, 'utf8')); +} +function writeGallery(data) { + fs.writeFileSync(DATA_FILE, JSON.stringify(data, null, 2)); +} + +// Upload +app.post('/api/upload', upload.array('photos', 20), async (req, res) => { + try { + const gallery = readGallery(); + const added = []; + + for (const file of req.files) { + const id = Date.now() + '-' + Math.random().toString(36).slice(2, 7); + const filename = id + '.webp'; + const thumbname = id + '-thumb.webp'; + + // Vollbild (max 1200px) + await sharp(file.buffer) + .resize(1200, 1200, { fit: 'inside', withoutEnlargement: true }) + .webp({ quality: 85 }) + .toFile(path.join(IMAGES_DIR, filename)); + + // Thumbnail (400px) + await sharp(file.buffer) + .resize(400, 400, { fit: 'cover' }) + .webp({ quality: 80 }) + .toFile(path.join(IMAGES_DIR, thumbname)); + + const photo = { + id, + filename, + thumb: thumbname, + title: req.body.title || file.originalname.replace(/\.[^.]+$/, ''), + kategorie: req.body.kategorie || 'Training', + datum: new Date().toISOString().slice(0, 10) + }; + gallery.photos.unshift(photo); + added.push(photo); + } + + writeGallery(gallery); + res.json({ ok: true, added }); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// Foto-Metadaten updaten +app.put('/api/photo/:id', (req, res) => { + const gallery = readGallery(); + const photo = gallery.photos.find(p => p.id === req.params.id); + if (!photo) return res.status(404).json({ ok: false }); + if (req.body.title !== undefined) photo.title = req.body.title; + if (req.body.kategorie !== undefined) photo.kategorie = req.body.kategorie; + writeGallery(gallery); + res.json({ ok: true, photo }); +}); + +// Foto löschen +app.delete('/api/photo/:id', (req, res) => { + const gallery = readGallery(); + const idx = gallery.photos.findIndex(p => p.id === req.params.id); + if (idx === -1) return res.status(404).json({ ok: false }); + const [photo] = gallery.photos.splice(idx, 1); + [photo.filename, photo.thumb].forEach(f => { + const fp = path.join(IMAGES_DIR, f); + if (fs.existsSync(fp)) fs.unlinkSync(fp); + }); + writeGallery(gallery); + res.json({ ok: true }); +}); + +// Alle Fotos +app.get('/api/photos', (req, res) => { + res.json(readGallery()); +}); + +// ── Kategorien API ──────────────────────────────────────────── +function readCategories() { + if (!fs.existsSync(CATEGORIES_FILE)) return ['Training', 'Wettkämpfe', 'Gürtelprüfungen']; + return JSON.parse(fs.readFileSync(CATEGORIES_FILE, 'utf8')); +} +function writeCategories(cats) { + fs.writeFileSync(CATEGORIES_FILE, JSON.stringify(cats, null, 2)); +} + +app.get('/api/categories', (req, res) => { + res.json(readCategories()); +}); + +app.post('/api/categories', (req, res) => { + const name = (req.body.name || '').trim(); + if (!name) return res.status(400).json({ ok: false, error: 'Name fehlt' }); + const cats = readCategories(); + if (cats.includes(name)) return res.status(409).json({ ok: false, error: 'Existiert bereits' }); + cats.push(name); + writeCategories(cats); + res.json({ ok: true, categories: cats }); + rebuildAndDeploy(); +}); + +app.delete('/api/categories/:name', (req, res) => { + const cats = readCategories().filter(c => c !== req.params.name); + writeCategories(cats); + res.json({ ok: true, categories: cats }); + rebuildAndDeploy(); +}); + +// ── Homepage API ────────────────────────────────────────────── +function readHomepage() { + return JSON.parse(fs.readFileSync(HOMEPAGE_FILE, 'utf8')); +} +function writeHomepage(data) { + fs.writeFileSync(HOMEPAGE_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/homepage', (req, res) => { + res.json(readHomepage()); +}); + +function rebuildAndDeploy() { + const isServer = os.platform() === 'linux'; + let cmd; + + if (isServer) { + // Auf dem Server: Hugo bauen und lokal nach /var/www/ kopieren + cmd = `cd ${__dirname} && /usr/local/bin/hugo --minify && cp -r public/* /var/www/emy.bonzeipunk.de/`; + } else { + // Lokal: Hugo bauen und per SSH/Rsync auf Server schieben + const SSH_KEY = '/Users/jessi/.ssh/vpsserver/vpsserver'; + cmd = `cd ${__dirname} && hugo --minify && SSH_ASKPASS_REQUIRE=never ssh-add ${SSH_KEY} <<< "bonzeikiller" 2>/dev/null; rsync -az --delete -e "ssh -o StrictHostKeyChecking=no -i ${SSH_KEY}" ${__dirname}/public/ root@217.160.212.198:/var/www/emy.bonzeipunk.de/`; + } + + console.log('Starte Rebuild/Deploy...'); + exec(cmd, { shell: '/bin/bash' }, (err, stdout, stderr) => { + if (err) { + console.error('Deploy-Fehler:', err.message); + console.error('Stderr:', stderr); + } else { + console.log('✓ Deploy erfolgreich'); + if (stdout) console.log('Stdout:', stdout); + } + }); +} + +app.put('/api/homepage', (req, res) => { + const hp = readHomepage(); + if (req.body.siteTitle !== undefined) hp.siteTitle = req.body.siteTitle; + if (req.body.badge !== undefined) hp.hero.badge = req.body.badge; + if (req.body.description !== undefined) hp.hero.description = req.body.description; + if (req.body.stats !== undefined) hp.stats = req.body.stats; + if (req.body.hero_karte !== undefined) hp.hero_karte = req.body.hero_karte; + if (req.body.pruefung_karte !== undefined) hp.pruefung_karte = req.body.pruefung_karte; + if (req.body.dojo_karte !== undefined) hp.dojo_karte = req.body.dojo_karte; + if (req.body.cta !== undefined) hp.cta = req.body.cta; + writeHomepage(hp); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.post('/api/homepage/image', upload.single('image'), async (req, res) => { + try { + const filename = 'hero.webp'; + await sharp(req.file.buffer) + .resize(1200, 1200, { fit: 'inside', withoutEnlargement: true }) + .webp({ quality: 88 }) + .toFile(path.join(HERO_DIR, filename)); + const hp = readHomepage(); + hp.hero.image = filename; + writeHomepage(hp); + res.json({ ok: true, image: filename }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +app.use('/hero', express.static(HERO_DIR)); +app.use('/uebermich-img', express.static(UEBERMICH_IMG_DIR)); +app.use('/erfolge-img', express.static(ERFOLGE_IMG_DIR)); +app.use('/gaestebuch-img', express.static(GAESTEBUCH_IMG_DIR)); + +// Über mich API +function readUebermich() { + return JSON.parse(fs.readFileSync(UEBERMICH_FILE, 'utf8')); +} +function writeUebermich(data) { + fs.writeFileSync(UEBERMICH_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/uebermich', (req, res) => { + res.json(readUebermich()); +}); + +app.put('/api/uebermich', (req, res) => { + const data = req.body; + writeUebermich(data); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.post('/api/uebermich/image', upload.single('image'), async (req, res) => { + try { + const filename = 'portrait.webp'; + await sharp(req.file.buffer) + .resize(800, 1000, { fit: 'cover', position: 'top' }) + .webp({ quality: 88 }) + .toFile(path.join(UEBERMICH_IMG_DIR, filename)); + const data = readUebermich(); + data.hero.image = filename; + writeUebermich(data); + res.json({ ok: true, image: filename }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// ── Erfolge API ─────────────────────────────────────────────── +function readErfolge() { + return JSON.parse(fs.readFileSync(ERFOLGE_FILE, 'utf8')); +} +function writeErfolge(data) { + fs.writeFileSync(ERFOLGE_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/erfolge', (req, res) => { + res.json(readErfolge()); +}); + +app.put('/api/erfolge', (req, res) => { + writeErfolge(req.body); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.post('/api/erfolge/image', upload.single('image'), async (req, res) => { + try { + const filename = 'hero.webp'; + await sharp(req.file.buffer) + .resize(1200, 1500, { fit: 'inside', withoutEnlargement: true }) + .webp({ quality: 88 }) + .toFile(path.join(ERFOLGE_IMG_DIR, filename)); + const data = readErfolge(); + data.hero.image = filename; + writeErfolge(data); + res.json({ ok: true, image: filename }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// ── Einzelerfolge (Markdown) API ────────────────────────────── +const ERFOLGE_CONTENT_DIR = path.join(__dirname, 'content/erfolge'); + +function parseFM(content) { + const match = content.match(/^---\r?\n([\s\S]+?)\r?\n---\r?\n([\s\S]*)$/); + if (!match) return { data: {}, content }; + const fm = match[1]; + const body = match[2]; + const data = {}; + fm.split('\n').forEach(line => { + const [key, ...rest] = line.split(':'); + if (key && rest.length) data[key.trim()] = rest.join(':').trim().replace(/^"|"$/g, ''); + }); + return { data, content: body }; +} + +app.get('/api/individual-successes', (req, res) => { + const files = fs.readdirSync(ERFOLGE_CONTENT_DIR).filter(f => f.endsWith('.md') && f !== '_index.md'); + const list = files.map(f => { + const c = fs.readFileSync(path.join(ERFOLGE_CONTENT_DIR, f), 'utf8'); + const { data } = parseFM(c); + return { fileName: f, title: data.title || f, rang: data.rang, image: data.image, weight: parseInt(data.weight) || 999 }; + }); + list.sort((a, b) => a.weight - b.weight); + res.json(list); +}); + +app.put('/api/individual-successes/reorder', (req, res) => { + const { order } = req.body; + if (!Array.isArray(order)) return res.status(400).json({ ok: false }); + + order.forEach((fileName, index) => { + const filePath = path.join(ERFOLGE_CONTENT_DIR, fileName); + if (!fs.existsSync(filePath)) return; + + const content = fs.readFileSync(filePath, 'utf8'); + const { data, content: body } = parseFM(content); + + data.weight = index + 1; + + let fmStr = '---\n'; + for (const k in data) { + if (data[k] !== undefined && data[k] !== null) { + if (k === 'weight') { + fmStr += `${k}: ${data[k]}\n`; + } else { + fmStr += `${k}: "${data[k]}"\n`; + } + } + } + fmStr += '---\n'; + fs.writeFileSync(filePath, fmStr + '\n' + body); + }); + + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.get('/api/individual-success/:file', (req, res) => { + const c = fs.readFileSync(path.join(ERFOLGE_CONTENT_DIR, req.params.file), 'utf8'); + const { data, content } = parseFM(c); + res.json({ ...data, content }); +}); + +app.put('/api/individual-success/:file', (req, res) => { + const filePath = path.join(ERFOLGE_CONTENT_DIR, req.params.file); + const oldContent = fs.readFileSync(filePath, 'utf8'); + const { data: oldData } = parseFM(oldContent); + const { title, rang, summary, content, ort, datum, kategorie, is_weitere_auszeichnung, image, images } = req.body; + + const newData = { ...oldData, title, rang, summary, ort, datum, kategorie, is_weitere_auszeichnung }; + if (image !== undefined) newData.image = image; + if (images !== undefined) newData.images = images; + let fmStr = '---\n'; + for (const k in newData) { + if (newData[k]) { + if (k === 'weight') { + fmStr += `${k}: ${newData[k]}\n`; + } else { + fmStr += `${k}: "${newData[k]}"\n`; + } + } + } + fmStr += '---\n'; + fs.writeFileSync(filePath, fmStr + '\n' + content); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.post('/api/individual-success/:file/images', upload.array('images', 5), async (req, res) => { + try { + const baseName = req.params.file.replace('.md', ''); + const filenames = []; + + for (const file of req.files) { + const isVideo = file.mimetype.startsWith('video/'); + const origExt = path.extname(file.originalname).toLowerCase(); + const ext = isVideo ? origExt : '.webp'; + const filename = `success-${baseName}-${Date.now()}-${Math.random().toString(36).slice(2,7)}${ext}`; + + if (isVideo) { + fs.writeFileSync(path.join(ERFOLGE_IMG_DIR, filename), file.buffer); + } else { + await sharp(file.buffer) + .resize(1000, 1000, { fit: 'inside', withoutEnlargement: true }) + .webp({ quality: 85 }) + .toFile(path.join(ERFOLGE_IMG_DIR, filename)); + } + filenames.push(filename); + } + + // In Markdown Datei schreiben + const filePath = path.join(ERFOLGE_CONTENT_DIR, req.params.file); + const c = fs.readFileSync(filePath, 'utf8'); + const { data, content } = parseFM(c); + + let existingImages = []; + try { existingImages = JSON.parse(req.body.existingImages || '[]'); } catch(e){} + const allImages = [...existingImages, ...filenames]; + + let mainIdx = parseInt(req.body.mainImageIndex) || 0; + if (mainIdx < 0 || mainIdx >= allImages.length) mainIdx = 0; + + if (allImages.length > 0) { + data.image = allImages[mainIdx]; // Vom User gewähltes Hauptbild + data.images = allImages.join(','); + } else { + delete data.image; + delete data.images; + } + + let fmStr = '---\n'; + for (const k in data) { + if (data[k]) fmStr += `${k}: "${data[k]}"\n`; + } + fmStr += '---\n'; + fs.writeFileSync(filePath, fmStr + '\n' + content); + + res.json({ ok: true, images: filenames }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// ── Galerie Seiten-Texte API ────────────────────────────────── +app.get('/api/galerie', (req, res) => { + res.json(JSON.parse(fs.readFileSync(GALERIE_PAGE_FILE, 'utf8'))); +}); +app.put('/api/galerie', (req, res) => { + fs.writeFileSync(GALERIE_PAGE_FILE, JSON.stringify(req.body, null, 2)); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +// ── Gästebuch API ───────────────────────────────────────────── +function readGaestebuch() { + return JSON.parse(fs.readFileSync(GAESTEBUCH_FILE, 'utf8')); +} +function writeGaestebuch(data) { + fs.writeFileSync(GAESTEBUCH_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/gaestebuch', (req, res) => { + res.json(readGaestebuch()); +}); + +app.put('/api/gaestebuch', (req, res) => { + writeGaestebuch(req.body); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +// Öffentlicher Endpunkt für neue Einträge +app.post('/api/gaestebuch/public', (req, res) => { + try { + const { name, text, email, subject } = req.body; + if (!name || !text) return res.status(400).json({ ok: false, error: 'Name und Text fehlen' }); + + const data = readGaestebuch(); + const newEntry = { + id: Date.now().toString(), + name: name.trim(), + rolle: subject || 'Besucher', + text: text.trim(), + farbe: 'default', + breit: false, + datum: new Date().toISOString() + }; + + data.eintraege.unshift(newEntry); // Oben anfügen + writeGaestebuch(data); + res.json({ ok: true }); + + // Nach kurzem Delay bauen, damit der User nicht warten muss + setTimeout(() => rebuildAndDeploy(), 500); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +app.post('/api/gaestebuch/image', upload.single('image'), async (req, res) => { + try { + const filename = 'hero.webp'; + await sharp(req.file.buffer) + .resize(1400, 600, { fit: 'cover', position: 'center' }) + .webp({ quality: 88 }) + .toFile(path.join(GAESTEBUCH_IMG_DIR, filename)); + const data = JSON.parse(fs.readFileSync(GAESTEBUCH_FILE, 'utf8')); + data.hero.image = filename; + fs.writeFileSync(GAESTEBUCH_FILE, JSON.stringify(data, null, 2)); + res.json({ ok: true, image: filename }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// ── Global (Social Links) API ───────────────────────────────── +app.get('/api/global', (req, res) => { + res.json(JSON.parse(fs.readFileSync(GLOBAL_FILE, 'utf8'))); +}); +app.put('/api/global', (req, res) => { + const current = JSON.parse(fs.readFileSync(GLOBAL_FILE, 'utf8')); + const updated = { ...current, ...req.body }; + fs.writeFileSync(GLOBAL_FILE, JSON.stringify(updated, null, 2)); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +// ── Erfolge Interactions (Likes/Comments) API ───────────────── +function readErfolgeInteractions() { + if (!fs.existsSync(ERFOLGE_INTERACTIONS_FILE)) { + return {}; + } + try { + return JSON.parse(fs.readFileSync(ERFOLGE_INTERACTIONS_FILE, 'utf8')); + } catch (e) { + return {}; + } +} + +function writeErfolgeInteractions(data) { + fs.writeFileSync(ERFOLGE_INTERACTIONS_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/erfolge/interactions', (req, res) => { + res.json(readErfolgeInteractions()); +}); + +app.post('/api/erfolge/interactions/like', (req, res) => { + try { + const { id } = req.body; + if (!id) return res.status(400).json({ ok: false, error: 'ID fehlt' }); + + const interactions = readErfolgeInteractions(); + if (!interactions[id]) { + interactions[id] = { likes: 0, comments: [] }; + } + interactions[id].likes = (interactions[id].likes || 0) + 1; + writeErfolgeInteractions(interactions); + + res.json({ ok: true, data: interactions[id] }); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +app.post('/api/erfolge/interactions/comment', (req, res) => { + try { + const { id, name, text } = req.body; + if (!id || !name || !text) return res.status(400).json({ ok: false, error: 'ID, Name oder Text fehlt' }); + + const interactions = readErfolgeInteractions(); + if (!interactions[id]) { + interactions[id] = { likes: 0, comments: [] }; + } + + const newComment = { + id: Date.now().toString() + '-' + Math.random().toString(36).slice(2, 7), + name: name.trim(), + text: text.trim(), + date: new Date().toISOString() + }; + + if (!interactions[id].comments) { + interactions[id].comments = []; + } + interactions[id].comments.push(newComment); + writeErfolgeInteractions(interactions); + + res.json({ ok: true, data: interactions[id], comment: newComment }); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// Admin-UI +app.get('/', (req, res) => { + res.sendFile(path.join(__dirname, 'admin.html')); +}); + +app.get('/__old', (req, res) => { + res.send(` + + + + +Galerie verwalten 📸 + + + + + + +
+
+
+

MiyaKarate

+

Galerie verwalten

+
+ + 🌐 Website ansehen + +
+
+ +
+ + +
+

+ 📤 Fotos hochladen +

+ + +
+
🖼️
+

Fotos hier reinziehen

+

oder hier klicken zum Auswählen

+

JPG, PNG, HEIC • bis zu 20 MB

+
+ + + +
+
+ + +
+
+ +
+ + + +
+
+
+ + + + + + + + +
+ + +
+
+

+ 🗂️ Meine Fotos + +

+
+ + + + +
+
+
+
+
📭
+

Noch keine Fotos

+

Lad dein erstes Foto hoch!

+
+
+
+
+ + + + + + + + + +`); +}); + +app.listen(PORT, () => { + console.log(`\n✨ MiyaKarate Admin läuft auf http://localhost:${PORT}\n`); +}); diff --git a/.tmp.driveupload/50195 b/.tmp.driveupload/50195 new file mode 100644 index 0000000..624c745 --- /dev/null +++ b/.tmp.driveupload/50195 @@ -0,0 +1,474 @@ + + + + + +{{ .Title }} | EmyKarate + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
+ {{ .Site.Data.homepage.hero.badge }} + + Karate Logo +

+ エミー
空手 +

+

+ [ Emy Karate ] +

+

+ {{ .Site.Data.homepage.hero.description }} +

+ +
+
+
+
+ {{ if .Site.Data.homepage.hero.image }} + Miya beim Karate-Tritt + {{ else }} + Emy beim Karate-Tritt + {{ end }} +
+
+
+ stars +
+
+

{{ .Site.Data.global.belt_rank }}

+

{{ .Site.Data.homepage.hero_karte.status }}

+
+
+
+
+
+
+
+ + + {{ $colors := slice "text-primary" "text-secondary" "text-primary-dim" }} +
+
+ {{ range $i, $s := .Site.Data.homepage.stats }} +
+

{{ $s.value }}

+

{{ $s.label }}

+
+ {{ end }} +
+
+ + +
+
+ Die neuesten Erfolge +

Meine Highlights

+
+
+ {{ range first 1 (where (where .Site.RegularPages "Section" "erfolge") "Params.is_weitere_auszeichnung" "!=" "true").ByWeight }} +
+
+ {{ .Params.rang | default "Highlight" }} +

{{ .Title }}

+

{{ .Summary }}

+ +
+ +
+
+
+ {{ .Content }} + + {{ if .Params.images }} +
+ {{ range $img := split .Params.images "," }} +
+ {{ if (or (strings.HasSuffix (lower $img) ".mp4") (strings.HasSuffix (lower $img) ".mov") (strings.HasSuffix (lower $img) ".webm") (strings.HasSuffix (lower $img) ".m4v")) }} + + play_circle + {{ else }} + + {{ end }} +
+ {{ end }} +
+ {{ end }} + + {{ if or .Params.datum .Params.ort .Params.kategorie }} +
+ {{ if or .Params.datum .Params.ort }} +
+ {{ if .Params.datum }}
{{ .Params.datum }}
{{ end }} + {{ if .Params.ort }}
{{ .Params.ort }}
{{ end }} +
+ {{ end }} + {{ if .Params.kategorie }} +
+
{{ .Params.kategorie }}
+
Kategorie
+
+ {{ end }} +
+ {{ end }} +
+ + Alle Erfolge im Detail ansehen arrow_forward + +
+
+
+ {{ if .Params.image }} + {{ .Title }} + {{ else }} + Highlight Thumbnail + {{ end }} +
+
+ {{ end }} + +
+ + + +
+ + +
+
+
+

{{ .Site.Data.homepage.cta.heading_main }} {{ .Site.Data.homepage.cta.heading_colored }}

+

{{ .Site.Data.homepage.cta.description }}

+ + {{ .Site.Data.homepage.cta.button_text }} + auto_awesome_motion + +
+
+ GALLERY GALLERY GALLERY +
+
+
+ + +
+
+
+ {{ .Site.Data.homepage.siteTitle | default .Site.Title }} +
+
+ {{ $social := .Site.Data.global.social }} + Instagram + YouTube + Email +
+
+ © 2024 {{ .Site.Data.homepage.siteTitle | default .Site.Title }}. Alle Rechte vorbehalten. +
+
+
+ + + + + + + + + + diff --git a/.tmp.driveupload/52387 b/.tmp.driveupload/52387 new file mode 100644 index 0000000..7e2d4c4 --- /dev/null +++ b/.tmp.driveupload/52387 @@ -0,0 +1,1168 @@ +const express = require('express'); +const multer = require('multer'); +const sharp = require('sharp'); +const path = require('path'); +const fs = require('fs'); +const { exec } = require('child_process'); +const os = require('os'); +const cors = require('cors'); + +const app = express(); +const PORT = process.env.PORT || 3001; +app.set('trust proxy', true); + +// CORS für den öffentlichen Gästebuch-Endpunkt +app.use(cors({ + origin: function(origin, callback) { + callback(null, true); + }, + methods: ['GET', 'POST', 'PUT', 'DELETE'], + allowedHeaders: ['Content-Type', 'Authorization'] +})); + +// --- BASIC AUTH CONFIG --- +const ADMIN_USER = 'admin'; +const ADMIN_PASS = 'bonzei'; // Empfehlung: Ändern! + +const IMAGES_DIR = path.join(__dirname, 'static/gallery/images'); +const HERO_DIR = path.join(__dirname, 'static/hero'); +const UEBERMICH_IMG_DIR = path.join(__dirname, 'static/uebermich'); +const DATA_FILE = path.join(__dirname, 'data/gallery.json'); +const HOMEPAGE_FILE = path.join(__dirname, 'data/homepage.json'); +const CATEGORIES_FILE = path.join(__dirname, 'data/categories.json'); +const UEBERMICH_FILE = path.join(__dirname, 'data/uebermich.json'); +const ERFOLGE_FILE = path.join(__dirname, 'data/erfolge.json'); +const ERFOLGE_IMG_DIR = path.join(__dirname, 'static/erfolge-img'); +const GALERIE_PAGE_FILE = path.join(__dirname, 'data/galerie.json'); +const GAESTEBUCH_FILE = path.join(__dirname, 'data/gaestebuch.json'); +const GLOBAL_FILE = path.join(__dirname, 'data/global.json'); +const GAESTEBUCH_IMG_DIR = path.join(__dirname, 'static/gaestebuch-img'); +const DYNAMIC_DATA_DIR = path.join(__dirname, 'data_dynamic'); +const ERFOLGE_INTERACTIONS_FILE = path.join(DYNAMIC_DATA_DIR, 'erfolge_interactions.json'); + +if (!fs.existsSync(DYNAMIC_DATA_DIR)) fs.mkdirSync(DYNAMIC_DATA_DIR, { recursive: true }); +if (!fs.existsSync(UEBERMICH_IMG_DIR)) fs.mkdirSync(UEBERMICH_IMG_DIR, { recursive: true }); +if (!fs.existsSync(HERO_DIR)) fs.mkdirSync(HERO_DIR, { recursive: true }); +if (!fs.existsSync(ERFOLGE_IMG_DIR)) fs.mkdirSync(ERFOLGE_IMG_DIR, { recursive: true }); +if (!fs.existsSync(GAESTEBUCH_IMG_DIR)) fs.mkdirSync(GAESTEBUCH_IMG_DIR, { recursive: true }); + + +// Basic Auth Middleware +app.use((req, res, next) => { + // Öffentliche Pfade definieren + const publicPaths = [ + '/api/gaestebuch/public', + '/api/erfolge-interactions', // GET und POST für Likes/Kommentare + '/images/', + '/hero/', + '/uebermich-img/', + '/erfolge-img/', + '/gaestebuch-img/' + ]; + + // Wenn es ein öffentlicher Pfad ist UND (es ist GET/POST ODER es ist nicht der Admin-Endpunkt) + // Speziell für Erfolge-Interaktionen: GET (laden) und POST (like/kommentar) sind frei. + // PUT (editieren) und DELETE (löschen) erfordern Login. + if (req.path.startsWith('/api/erfolge-interactions')) { + if (req.method === 'GET' || req.method === 'POST') { + return next(); + } + } + + if (publicPaths.some(p => req.path.startsWith(p) && p !== '/api/erfolge-interactions')) { + return next(); + } + + const auth = { login: ADMIN_USER, password: ADMIN_PASS }; + const b64auth = (req.headers.authorization || '').split(' ')[1] || ''; + if (!b64auth) { + res.set('WWW-Authenticate', 'Basic realm="MiyaKarate Admin"'); + return res.status(401).send('Authentication required.'); + } + + const [login, password] = Buffer.from(b64auth, 'base64').toString().split(':'); + + if (login === auth.login && password === auth.password) { + return next(); + } + + res.set('WWW-Authenticate', 'Basic realm="MiyaKarate Admin"'); + res.status(401).send('Authentication required.'); +}); + +app.use(express.json()); +app.use('/images', express.static(IMAGES_DIR)); + +// Multer: temporärer Speicher, dann sharp übernimmt +const upload = multer({ + storage: multer.memoryStorage(), + limits: { fileSize: 100 * 1024 * 1024 }, // 100MB limit für Videos + fileFilter: (req, file, cb) => { + if (file.mimetype.startsWith('image/') || file.mimetype.startsWith('video/')) cb(null, true); + else cb(new Error('Nur Bilder und Videos erlaubt!')); + } +}); + +function readGallery() { + return JSON.parse(fs.readFileSync(DATA_FILE, 'utf8')); +} +function writeGallery(data) { + fs.writeFileSync(DATA_FILE, JSON.stringify(data, null, 2)); +} + +// Upload +app.post('/api/upload', upload.array('photos', 20), async (req, res) => { + try { + const gallery = readGallery(); + const added = []; + + for (const file of req.files) { + const id = Date.now() + '-' + Math.random().toString(36).slice(2, 7); + const filename = id + '.webp'; + const thumbname = id + '-thumb.webp'; + + // Vollbild (max 1200px) + await sharp(file.buffer) + .resize(1200, 1200, { fit: 'inside', withoutEnlargement: true }) + .webp({ quality: 85 }) + .toFile(path.join(IMAGES_DIR, filename)); + + // Thumbnail (400px) + await sharp(file.buffer) + .resize(400, 400, { fit: 'cover' }) + .webp({ quality: 80 }) + .toFile(path.join(IMAGES_DIR, thumbname)); + + const photo = { + id, + filename, + thumb: thumbname, + title: req.body.title || file.originalname.replace(/\.[^.]+$/, ''), + kategorie: req.body.kategorie || 'Training', + datum: new Date().toISOString().slice(0, 10) + }; + gallery.photos.unshift(photo); + added.push(photo); + } + + writeGallery(gallery); + res.json({ ok: true, added }); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// Foto-Metadaten updaten +app.put('/api/photo/:id', (req, res) => { + const gallery = readGallery(); + const photo = gallery.photos.find(p => p.id === req.params.id); + if (!photo) return res.status(404).json({ ok: false }); + if (req.body.title !== undefined) photo.title = req.body.title; + if (req.body.kategorie !== undefined) photo.kategorie = req.body.kategorie; + writeGallery(gallery); + res.json({ ok: true, photo }); +}); + +// Foto löschen +app.delete('/api/photo/:id', (req, res) => { + const gallery = readGallery(); + const idx = gallery.photos.findIndex(p => p.id === req.params.id); + if (idx === -1) return res.status(404).json({ ok: false }); + const [photo] = gallery.photos.splice(idx, 1); + [photo.filename, photo.thumb].forEach(f => { + const fp = path.join(IMAGES_DIR, f); + if (fs.existsSync(fp)) fs.unlinkSync(fp); + }); + writeGallery(gallery); + res.json({ ok: true }); +}); + +// Alle Fotos +app.get('/api/photos', (req, res) => { + res.json(readGallery()); +}); + +// ── Kategorien API ──────────────────────────────────────────── +function readCategories() { + if (!fs.existsSync(CATEGORIES_FILE)) return ['Training', 'Wettkämpfe', 'Gürtelprüfungen']; + return JSON.parse(fs.readFileSync(CATEGORIES_FILE, 'utf8')); +} +function writeCategories(cats) { + fs.writeFileSync(CATEGORIES_FILE, JSON.stringify(cats, null, 2)); +} + +app.get('/api/categories', (req, res) => { + res.json(readCategories()); +}); + +app.post('/api/categories', (req, res) => { + const name = (req.body.name || '').trim(); + if (!name) return res.status(400).json({ ok: false, error: 'Name fehlt' }); + const cats = readCategories(); + if (cats.includes(name)) return res.status(409).json({ ok: false, error: 'Existiert bereits' }); + cats.push(name); + writeCategories(cats); + res.json({ ok: true, categories: cats }); + rebuildAndDeploy(); +}); + +app.delete('/api/categories/:name', (req, res) => { + const cats = readCategories().filter(c => c !== req.params.name); + writeCategories(cats); + res.json({ ok: true, categories: cats }); + rebuildAndDeploy(); +}); + +// ── Homepage API ────────────────────────────────────────────── +function readHomepage() { + return JSON.parse(fs.readFileSync(HOMEPAGE_FILE, 'utf8')); +} +function writeHomepage(data) { + fs.writeFileSync(HOMEPAGE_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/homepage', (req, res) => { + res.json(readHomepage()); +}); + +function rebuildAndDeploy() { + const isServer = os.platform() === 'linux'; + let cmd; + + if (isServer) { + // Auf dem Server: Hugo bauen und lokal nach /var/www/ kopieren + cmd = `cd ${__dirname} && /usr/local/bin/hugo --minify && cp -r public/* /var/www/emy-karate/ && cp -r public/* /var/www/emy.bonzeipunk.de/`; + } else { + // Lokal: Hugo bauen und per SSH/Rsync auf Server schieben + const SSH_KEY = '/Users/jessi/.ssh/vpsserver/vpsserver'; + cmd = `cd ${__dirname} && hugo --minify && SSH_ASKPASS_REQUIRE=never ssh-add ${SSH_KEY} <<< "bonzeikiller" 2>/dev/null; rsync -az --delete -e "ssh -o StrictHostKeyChecking=no -i ${SSH_KEY}" ${__dirname}/public/ root@217.160.212.198:/var/www/emy-karate/ && rsync -az --delete -e "ssh -o StrictHostKeyChecking=no -i ${SSH_KEY}" ${__dirname}/public/ root@217.160.212.198:/var/www/emy.bonzeipunk.de/`; + } + + console.log('Starte Rebuild/Deploy...'); + exec(cmd, { shell: '/bin/bash' }, (err, stdout, stderr) => { + if (err) { + console.error('Deploy-Fehler:', err.message); + console.error('Stderr:', stderr); + } else { + console.log('✓ Deploy erfolgreich'); + if (stdout) console.log('Stdout:', stdout); + } + }); +} + +app.put('/api/homepage', (req, res) => { + const hp = readHomepage(); + if (req.body.siteTitle !== undefined) hp.siteTitle = req.body.siteTitle; + if (req.body.badge !== undefined) hp.hero.badge = req.body.badge; + if (req.body.description !== undefined) hp.hero.description = req.body.description; + if (req.body.stats !== undefined) hp.stats = req.body.stats; + if (req.body.hero_karte !== undefined) hp.hero_karte = req.body.hero_karte; + if (req.body.pruefung_karte !== undefined) hp.pruefung_karte = req.body.pruefung_karte; + if (req.body.dojo_karte !== undefined) hp.dojo_karte = req.body.dojo_karte; + if (req.body.cta !== undefined) hp.cta = req.body.cta; + writeHomepage(hp); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.post('/api/homepage/image', upload.single('image'), async (req, res) => { + try { + const filename = 'hero.webp'; + await sharp(req.file.buffer) + .resize(1200, 1200, { fit: 'inside', withoutEnlargement: true }) + .webp({ quality: 88 }) + .toFile(path.join(HERO_DIR, filename)); + const hp = readHomepage(); + hp.hero.image = filename; + writeHomepage(hp); + res.json({ ok: true, image: filename }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +app.use('/hero', express.static(HERO_DIR)); +app.use('/uebermich-img', express.static(UEBERMICH_IMG_DIR)); +app.use('/erfolge-img', express.static(ERFOLGE_IMG_DIR)); +app.use('/gaestebuch-img', express.static(GAESTEBUCH_IMG_DIR)); + +// Über mich API +function readUebermich() { + return JSON.parse(fs.readFileSync(UEBERMICH_FILE, 'utf8')); +} +function writeUebermich(data) { + fs.writeFileSync(UEBERMICH_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/uebermich', (req, res) => { + res.json(readUebermich()); +}); + +app.put('/api/uebermich', (req, res) => { + const data = req.body; + writeUebermich(data); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.post('/api/uebermich/image', upload.single('image'), async (req, res) => { + try { + const filename = 'portrait.webp'; + await sharp(req.file.buffer) + .resize(800, 1000, { fit: 'cover', position: 'top' }) + .webp({ quality: 88 }) + .toFile(path.join(UEBERMICH_IMG_DIR, filename)); + const data = readUebermich(); + data.hero.image = filename; + writeUebermich(data); + res.json({ ok: true, image: filename }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// ── Erfolge API ─────────────────────────────────────────────── +function readErfolge() { + return JSON.parse(fs.readFileSync(ERFOLGE_FILE, 'utf8')); +} +function writeErfolge(data) { + fs.writeFileSync(ERFOLGE_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/erfolge', (req, res) => { + res.json(readErfolge()); +}); + +app.put('/api/erfolge', (req, res) => { + writeErfolge(req.body); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.post('/api/erfolge/image', upload.single('image'), async (req, res) => { + try { + const filename = 'hero.webp'; + await sharp(req.file.buffer) + .resize(1200, 1500, { fit: 'inside', withoutEnlargement: true }) + .webp({ quality: 88 }) + .toFile(path.join(ERFOLGE_IMG_DIR, filename)); + const data = readErfolge(); + data.hero.image = filename; + writeErfolge(data); + res.json({ ok: true, image: filename }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// ── Einzelerfolge (Markdown) API ────────────────────────────── +const ERFOLGE_CONTENT_DIR = path.join(__dirname, 'content/erfolge'); + +function parseFM(content) { + const match = content.match(/^---\r?\n([\s\S]+?)\r?\n---\r?\n([\s\S]*)$/); + if (!match) return { data: {}, content }; + const fm = match[1]; + const body = match[2]; + const data = {}; + fm.split('\n').forEach(line => { + const [key, ...rest] = line.split(':'); + if (key && rest.length) data[key.trim()] = rest.join(':').trim().replace(/^"|"$/g, ''); + }); + return { data, content: body }; +} + +app.get('/api/individual-successes', (req, res) => { + const files = fs.readdirSync(ERFOLGE_CONTENT_DIR).filter(f => f.endsWith('.md') && f !== '_index.md'); + const list = files.map(f => { + const c = fs.readFileSync(path.join(ERFOLGE_CONTENT_DIR, f), 'utf8'); + const { data } = parseFM(c); + return { fileName: f, title: data.title || f, rang: data.rang, image: data.image, weight: parseInt(data.weight) || 999 }; + }); + list.sort((a, b) => a.weight - b.weight); + res.json(list); +}); + +app.put('/api/individual-successes/reorder', (req, res) => { + const { order } = req.body; + if (!Array.isArray(order)) return res.status(400).json({ ok: false }); + + order.forEach((fileName, index) => { + const filePath = path.join(ERFOLGE_CONTENT_DIR, fileName); + if (!fs.existsSync(filePath)) return; + + const content = fs.readFileSync(filePath, 'utf8'); + const { data, content: body } = parseFM(content); + + data.weight = index + 1; + + let fmStr = '---\n'; + for (const k in data) { + if (data[k] !== undefined && data[k] !== null) { + if (k === 'weight') { + fmStr += `${k}: ${data[k]}\n`; + } else { + fmStr += `${k}: "${data[k]}"\n`; + } + } + } + fmStr += '---\n'; + fs.writeFileSync(filePath, fmStr + '\n' + body); + }); + + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.get('/api/individual-success/:file', (req, res) => { + const c = fs.readFileSync(path.join(ERFOLGE_CONTENT_DIR, req.params.file), 'utf8'); + const { data, content } = parseFM(c); + res.json({ ...data, content }); +}); + +app.put('/api/individual-success/:file', (req, res) => { + const filePath = path.join(ERFOLGE_CONTENT_DIR, req.params.file); + const oldContent = fs.readFileSync(filePath, 'utf8'); + const { data: oldData } = parseFM(oldContent); + const { title, rang, summary, content, ort, datum, kategorie, is_weitere_auszeichnung, image, images } = req.body; + + const newData = { ...oldData, title, rang, summary, ort, datum, kategorie, is_weitere_auszeichnung }; + if (image !== undefined) newData.image = image; + if (images !== undefined) newData.images = images; + let fmStr = '---\n'; + for (const k in newData) { + if (newData[k]) { + if (k === 'weight') { + fmStr += `${k}: ${newData[k]}\n`; + } else { + fmStr += `${k}: "${newData[k]}"\n`; + } + } + } + fmStr += '---\n'; + fs.writeFileSync(filePath, fmStr + '\n' + content); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.post('/api/individual-success/:file/images', upload.array('images', 5), async (req, res) => { + try { + const baseName = req.params.file.replace('.md', ''); + const filenames = []; + + for (const file of req.files) { + const isVideo = file.mimetype.startsWith('video/'); + const origExt = path.extname(file.originalname).toLowerCase(); + const ext = isVideo ? origExt : '.webp'; + const filename = `success-${baseName}-${Date.now()}-${Math.random().toString(36).slice(2,7)}${ext}`; + + if (isVideo) { + fs.writeFileSync(path.join(ERFOLGE_IMG_DIR, filename), file.buffer); + } else { + await sharp(file.buffer) + .resize(1000, 1000, { fit: 'inside', withoutEnlargement: true }) + .webp({ quality: 85 }) + .toFile(path.join(ERFOLGE_IMG_DIR, filename)); + } + filenames.push(filename); + } + + // In Markdown Datei schreiben + const filePath = path.join(ERFOLGE_CONTENT_DIR, req.params.file); + const c = fs.readFileSync(filePath, 'utf8'); + const { data, content } = parseFM(c); + + let existingImages = []; + try { existingImages = JSON.parse(req.body.existingImages || '[]'); } catch(e){} + const allImages = [...existingImages, ...filenames]; + + let mainIdx = parseInt(req.body.mainImageIndex) || 0; + if (mainIdx < 0 || mainIdx >= allImages.length) mainIdx = 0; + + if (allImages.length > 0) { + data.image = allImages[mainIdx]; // Vom User gewähltes Hauptbild + data.images = allImages.join(','); + } else { + delete data.image; + delete data.images; + } + + let fmStr = '---\n'; + for (const k in data) { + if (data[k]) fmStr += `${k}: "${data[k]}"\n`; + } + fmStr += '---\n'; + fs.writeFileSync(filePath, fmStr + '\n' + content); + + res.json({ ok: true, images: filenames }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// ── Galerie Seiten-Texte API ────────────────────────────────── +app.get('/api/galerie', (req, res) => { + res.json(JSON.parse(fs.readFileSync(GALERIE_PAGE_FILE, 'utf8'))); +}); +app.put('/api/galerie', (req, res) => { + fs.writeFileSync(GALERIE_PAGE_FILE, JSON.stringify(req.body, null, 2)); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +// ── Gästebuch API ───────────────────────────────────────────── +function readGaestebuch() { + return JSON.parse(fs.readFileSync(GAESTEBUCH_FILE, 'utf8')); +} +function writeGaestebuch(data) { + fs.writeFileSync(GAESTEBUCH_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/gaestebuch', (req, res) => { + res.json(readGaestebuch()); +}); + +app.put('/api/gaestebuch', (req, res) => { + writeGaestebuch(req.body); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +// Öffentlicher Endpunkt für neue Einträge +app.post('/api/gaestebuch/public', (req, res) => { + try { + const { name, text, email, subject } = req.body; + if (!name || !text) return res.status(400).json({ ok: false, error: 'Name und Text fehlen' }); + + const data = readGaestebuch(); + const newEntry = { + id: Date.now().toString(), + name: name.trim(), + rolle: subject || 'Besucher', + text: text.trim(), + farbe: 'default', + breit: false, + datum: new Date().toISOString() + }; + + data.eintraege.unshift(newEntry); // Oben anfügen + writeGaestebuch(data); + res.json({ ok: true }); + + // Nach kurzem Delay bauen, damit der User nicht warten muss + setTimeout(() => rebuildAndDeploy(), 500); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +app.post('/api/gaestebuch/image', upload.single('image'), async (req, res) => { + try { + const filename = 'hero.webp'; + await sharp(req.file.buffer) + .resize(1400, 600, { fit: 'cover', position: 'center' }) + .webp({ quality: 88 }) + .toFile(path.join(GAESTEBUCH_IMG_DIR, filename)); + const data = JSON.parse(fs.readFileSync(GAESTEBUCH_FILE, 'utf8')); + data.hero.image = filename; + fs.writeFileSync(GAESTEBUCH_FILE, JSON.stringify(data, null, 2)); + res.json({ ok: true, image: filename }); + rebuildAndDeploy(); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// ── Global (Social Links) API ───────────────────────────────── +app.get('/api/global', (req, res) => { + res.json(JSON.parse(fs.readFileSync(GLOBAL_FILE, 'utf8'))); +}); +app.put('/api/global', (req, res) => { + fs.writeFileSync(GLOBAL_FILE, JSON.stringify(req.body, null, 2)); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +// ── Erfolge Interactions (Likes/Comments) API ───────────────── +function readErfolgeInteractions() { + if (!fs.existsSync(ERFOLGE_INTERACTIONS_FILE)) { + return {}; + } + try { + return JSON.parse(fs.readFileSync(ERFOLGE_INTERACTIONS_FILE, 'utf8')); + } catch (e) { + return {}; + } +} + +function writeErfolgeInteractions(data) { + fs.writeFileSync(ERFOLGE_INTERACTIONS_FILE, JSON.stringify(data, null, 2)); +} + +function getClientIp(req) { + const forwarded = req.headers['x-forwarded-for']; + if (forwarded) { + return forwarded.split(',')[0].trim(); + } + return req.ip || req.socket.remoteAddress; +} + +app.get('/api/erfolge/interactions', (req, res) => { + try { + const clientIp = getClientIp(req); + const data = readErfolgeInteractions(); + const sanitized = {}; + for (const id in data) { + const item = data[id]; + const likedIps = item.likedIps || []; + const comments = item.comments || []; + + // Omit IP from comments in public response (GDPR-compliant) + const sanitizedComments = comments.map(c => ({ + id: c.id, + name: c.name, + text: c.text, + date: c.date + })); + + sanitized[id] = { + likes: typeof item.likes === 'number' ? item.likes : likedIps.length, + comments: sanitizedComments, + likedByUser: likedIps.includes(clientIp), + commentedByUser: comments.some(c => c.ip === clientIp) + }; + } + res.json(sanitized); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +app.post('/api/erfolge/interactions/like', (req, res) => { + try { + const { id } = req.body; + if (!id) return res.status(400).json({ ok: false, error: 'ID fehlt' }); + + const clientIp = getClientIp(req); + const interactions = readErfolgeInteractions(); + if (!interactions[id]) { + interactions[id] = { likes: 0, likedIps: [], comments: [] }; + } + if (!interactions[id].likedIps) { + interactions[id].likedIps = []; + } + + if (interactions[id].likedIps.includes(clientIp)) { + // Already liked, just return current status (GDPR-compliant, no IP leak) + return res.json({ + ok: true, + data: { + likes: interactions[id].likedIps.length, + comments: interactions[id].comments || [], + likedByUser: true + } + }); + } + + interactions[id].likedIps.push(clientIp); + interactions[id].likes = interactions[id].likedIps.length; + writeErfolgeInteractions(interactions); + + res.json({ + ok: true, + data: { + likes: interactions[id].likes, + comments: interactions[id].comments || [], + likedByUser: true + } + }); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +app.post('/api/erfolge/interactions/unlike', (req, res) => { + try { + const { id } = req.body; + if (!id) return res.status(400).json({ ok: false, error: 'ID fehlt' }); + + const clientIp = getClientIp(req); + const interactions = readErfolgeInteractions(); + if (interactions[id]) { + if (!interactions[id].likedIps) { + interactions[id].likedIps = []; + } + interactions[id].likedIps = interactions[id].likedIps.filter(ip => ip !== clientIp); + interactions[id].likes = interactions[id].likedIps.length; + writeErfolgeInteractions(interactions); + } + + const current = interactions[id] || { likes: 0, comments: [] }; + res.json({ + ok: true, + data: { + likes: current.likes || 0, + comments: current.comments || [], + likedByUser: false + } + }); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +app.post('/api/erfolge/interactions/comment', (req, res) => { + try { + const { id, name, text } = req.body; + if (!id || !name || !text) return res.status(400).json({ ok: false, error: 'ID, Name oder Text fehlt' }); + + const clientIp = getClientIp(req); + const interactions = readErfolgeInteractions(); + if (!interactions[id]) { + interactions[id] = { likes: 0, likedIps: [], comments: [] }; + } + if (!interactions[id].comments) { + interactions[id].comments = []; + } + + // Check if client IP already commented on this success + if (interactions[id].comments.some(c => c.ip === clientIp)) { + return res.status(400).json({ ok: false, error: 'Du hast bereits einen Kommentar hinterlassen.' }); + } + + const newComment = { + id: Date.now().toString() + '-' + Math.random().toString(36).slice(2, 7), + name: name.trim(), + text: text.trim(), + date: new Date().toISOString(), + ip: clientIp // Store IP for rate limiting + }; + + interactions[id].comments.push(newComment); + writeErfolgeInteractions(interactions); + + // Omit IP from comments in public response + const sanitizedComments = interactions[id].comments.map(c => ({ + id: c.id, + name: c.name, + text: c.text, + date: c.date + })); + + res.json({ + ok: true, + data: { + likes: typeof interactions[id].likes === 'number' ? interactions[id].likes : (interactions[id].likedIps || []).length, + comments: sanitizedComments, + likedByUser: (interactions[id].likedIps || []).includes(clientIp), + commentedByUser: true + }, + comment: { + id: newComment.id, + name: newComment.name, + text: newComment.text, + date: newComment.date + } + }); + } catch (e) { + res.status(500).json({ ok: false, error: e.message }); + } +}); + +// Admin-UI +app.get('/', (req, res) => { + res.sendFile(path.join(__dirname, 'admin.html')); +}); + +app.get('/__old', (req, res) => { + res.send(` + + + + +Galerie verwalten 📸 + + + + + + +
+
+
+

MiyaKarate

+

Galerie verwalten

+
+ + 🌐 Website ansehen + +
+
+ +
+ + +
+

+ 📤 Fotos hochladen +

+ + +
+
🖼️
+

Fotos hier reinziehen

+

oder hier klicken zum Auswählen

+

JPG, PNG, HEIC • bis zu 20 MB

+
+ + + +
+
+ + +
+
+ +
+ + + +
+
+
+ + + + + + + + +
+ + +
+
+

+ 🗂️ Meine Fotos + +

+
+ + + + +
+
+
+
+
📭
+

Noch keine Fotos

+

Lad dein erstes Foto hoch!

+
+
+
+
+ + + + + + + + + +`); +}); + + +// --- Erfolge Interaktionen (Likes & Kommentare) --- +const INTERACTIONS_FILE = path.join(__dirname, 'data', 'erfolge_interactions.json'); + +function readInteractions() { + if (!fs.existsSync(INTERACTIONS_FILE)) return {}; + return JSON.parse(fs.readFileSync(INTERACTIONS_FILE, 'utf8')); +} + +function writeInteractions(data) { + fs.writeFileSync(INTERACTIONS_FILE, JSON.stringify(data, null, 2)); +} + +app.get('/api/erfolge-interactions', (req, res) => { + res.json(readInteractions()); +}); + +app.put('/api/erfolge-interactions', (req, res) => { + writeInteractions(req.body); + res.json({ ok: true }); + rebuildAndDeploy(); +}); + +app.delete('/api/erfolge-interactions/comment/:erfolgId/:commentId', (req, res) => { + const { erfolgId, commentId } = req.params; + const interactions = readInteractions(); + if (interactions[erfolgId] && interactions[erfolgId].comments) { + interactions[erfolgId].comments = interactions[erfolgId].comments.filter(c => c.id !== commentId); + writeInteractions(interactions); + res.json({ ok: true }); + rebuildAndDeploy(); + } else { + res.status(404).json({ error: 'Not found' }); + } +}); + +app.listen(PORT, () => { + console.log(`\n✨ MiyaKarate Admin läuft auf http://localhost:${PORT}\n`); +}); diff --git a/.tmp.driveupload/52389 b/.tmp.driveupload/52389 new file mode 100644 index 0000000..1cc6e00 --- /dev/null +++ b/.tmp.driveupload/52389 @@ -0,0 +1,2436 @@ + + + + + +MiyaKarate Admin + + + + + + + + + + + + +
+ + +
+
+

Übersicht

+

Willkommen zurück. Hier ist dein aktueller Stand.

+
+
+ +
+
M
+ MiyaKarate +
+
+
+ + +
+ +
+
+
+

Fotos gesamt

+

+
+ photo_library In der Galerie +
+
+
+

Kategorien

+

+
+ label Training, Wettkampf, Gürtel +
+
+
+

Letzter Upload

+

+
+ schedule Zuletzt hochgeladen +
+
+
+ + +
+
+

Schnellzugriff

+

Direkt loslegen.

+
+
+ + +
+
+ sports_martial_arts +
+
+
+ + +
+
+

Fotos nach Kategorie

+ +
+
+

Wird geladen…

+
+ +
+
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + diff --git a/.tmp.driveupload/56939 b/.tmp.driveupload/56939 new file mode 100644 index 0000000..8575ee2 Binary files /dev/null and b/.tmp.driveupload/56939 differ diff --git a/.tmp.driveupload/57155 b/.tmp.driveupload/57155 new file mode 100644 index 0000000..aed2310 --- /dev/null +++ b/.tmp.driveupload/57155 @@ -0,0 +1,15 @@ +Galerie | EmyKarate verdammt
Visuelle Reise

Eingefangene
Momente

Die Kunst der Disziplin durch die Linse. Von intensiven Trainingseinheiten bis zum Triumph bei Gürtelprüfungen.

+ + + +

Hinter der Linse ha

Unsere Galerie ist nicht nur Fotos – sie ist ein Zeugnis der Disziplin, die wir jeden Tag im Dojo leben.

24

Turniere

20

Schüler

6

Gürtelprüfungen

\ No newline at end of file diff --git a/DEV/shortcut-app/data/shortcuts.json b/DEV/shortcut-app/data/shortcuts.json new file mode 100644 index 0000000..ead1d6d --- /dev/null +++ b/DEV/shortcut-app/data/shortcuts.json @@ -0,0 +1,31 @@ +{ + "bettertouchtool": [ + { + "name": "test mich doch", + "key": "strg+t", + "tags": [ + "bt" + ], + "description": "soso", + "date": "08.06.2026" + }, + { + "name": "chache space", + "key": "cmd+alt+<>", + "tags": [ + "global" + ], + "description": "haja", + "date": "08.06.2026" + } + ], + "global": [ + { + "name": "neue Notiz von überall", + "key": "alt+esc", + "tags": [], + "description": " ", + "date": "19.03.2026" + } + ] +} \ No newline at end of file diff --git a/DEV/shortcut-app/index.html b/DEV/shortcut-app/index.html new file mode 100644 index 0000000..88eaf38 --- /dev/null +++ b/DEV/shortcut-app/index.html @@ -0,0 +1,800 @@ + + + + + + Shortcuts Hub + + + + + + + + + + + + + + + +
+
+ + +
+
+ keyboard +
+
+

+ Shortcuts Hub + Dashboard +

+

Tastaturkürzel verwalten & pflegen

+
+
+ + +
+ + + + +
+
+ apps + 0 +
+
+ bolt + 0 +
+
+
+ +
+
+ + +
+
+ search + +
+
+ + +
+
+ + +
+
+

+ apps + Programme +

+
+ + + +
+
+ +
+ +
+
+ + +
+
+
+

Alle Shortcuts

+

0 Shortcuts geladen

+
+
+ + +
+
+ + +
+ + + + + + + + + + + + +
BezeichnungShortcutBeschreibung & TagsAktionen
+
+
+ +
+
+ + + + + +
+ + + + + + diff --git a/DEV/shortcut-app/node_modules/.bin/mime b/DEV/shortcut-app/node_modules/.bin/mime new file mode 120000 index 0000000..fbb7ee0 --- /dev/null +++ b/DEV/shortcut-app/node_modules/.bin/mime @@ -0,0 +1 @@ +../mime/cli.js \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/.package-lock.json b/DEV/shortcut-app/node_modules/.package-lock.json new file mode 100644 index 0000000..d630148 --- /dev/null +++ b/DEV/shortcut-app/node_modules/.package-lock.json @@ -0,0 +1,820 @@ +{ + "name": "shortcuts-dashboard", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + } + } +} diff --git a/DEV/shortcut-app/node_modules/accepts/HISTORY.md b/DEV/shortcut-app/node_modules/accepts/HISTORY.md new file mode 100644 index 0000000..cb5990c --- /dev/null +++ b/DEV/shortcut-app/node_modules/accepts/HISTORY.md @@ -0,0 +1,243 @@ +1.3.8 / 2022-02-02 +================== + + * deps: mime-types@~2.1.34 + - deps: mime-db@~1.51.0 + * deps: negotiator@0.6.3 + +1.3.7 / 2019-04-29 +================== + + * deps: negotiator@0.6.2 + - Fix sorting charset, encoding, and language with extra parameters + +1.3.6 / 2019-04-28 +================== + + * deps: mime-types@~2.1.24 + - deps: mime-db@~1.40.0 + +1.3.5 / 2018-02-28 +================== + + * deps: mime-types@~2.1.18 + - deps: mime-db@~1.33.0 + +1.3.4 / 2017-08-22 +================== + + * deps: mime-types@~2.1.16 + - deps: mime-db@~1.29.0 + +1.3.3 / 2016-05-02 +================== + + * deps: mime-types@~2.1.11 + - deps: mime-db@~1.23.0 + * deps: negotiator@0.6.1 + - perf: improve `Accept` parsing speed + - perf: improve `Accept-Charset` parsing speed + - perf: improve `Accept-Encoding` parsing speed + - perf: improve `Accept-Language` parsing speed + +1.3.2 / 2016-03-08 +================== + + * deps: mime-types@~2.1.10 + - Fix extension of `application/dash+xml` + - Update primary extension for `audio/mp4` + - deps: mime-db@~1.22.0 + +1.3.1 / 2016-01-19 +================== + + * deps: mime-types@~2.1.9 + - deps: mime-db@~1.21.0 + +1.3.0 / 2015-09-29 +================== + + * deps: mime-types@~2.1.7 + - deps: mime-db@~1.19.0 + * deps: negotiator@0.6.0 + - Fix including type extensions in parameters in `Accept` parsing + - Fix parsing `Accept` parameters with quoted equals + - Fix parsing `Accept` parameters with quoted semicolons + - Lazy-load modules from main entry point + - perf: delay type concatenation until needed + - perf: enable strict mode + - perf: hoist regular expressions + - perf: remove closures getting spec properties + - perf: remove a closure from media type parsing + - perf: remove property delete from media type parsing + +1.2.13 / 2015-09-06 +=================== + + * deps: mime-types@~2.1.6 + - deps: mime-db@~1.18.0 + +1.2.12 / 2015-07-30 +=================== + + * deps: mime-types@~2.1.4 + - deps: mime-db@~1.16.0 + +1.2.11 / 2015-07-16 +=================== + + * deps: mime-types@~2.1.3 + - deps: mime-db@~1.15.0 + +1.2.10 / 2015-07-01 +=================== + + * deps: mime-types@~2.1.2 + - deps: mime-db@~1.14.0 + +1.2.9 / 2015-06-08 +================== + + * deps: mime-types@~2.1.1 + - perf: fix deopt during mapping + +1.2.8 / 2015-06-07 +================== + + * deps: mime-types@~2.1.0 + - deps: mime-db@~1.13.0 + * perf: avoid argument reassignment & argument slice + * perf: avoid negotiator recursive construction + * perf: enable strict mode + * perf: remove unnecessary bitwise operator + +1.2.7 / 2015-05-10 +================== + + * deps: negotiator@0.5.3 + - Fix media type parameter matching to be case-insensitive + +1.2.6 / 2015-05-07 +================== + + * deps: mime-types@~2.0.11 + - deps: mime-db@~1.9.1 + * deps: negotiator@0.5.2 + - Fix comparing media types with quoted values + - Fix splitting media types with quoted commas + +1.2.5 / 2015-03-13 +================== + + * deps: mime-types@~2.0.10 + - deps: mime-db@~1.8.0 + +1.2.4 / 2015-02-14 +================== + + * Support Node.js 0.6 + * deps: mime-types@~2.0.9 + - deps: mime-db@~1.7.0 + * deps: negotiator@0.5.1 + - Fix preference sorting to be stable for long acceptable lists + +1.2.3 / 2015-01-31 +================== + + * deps: mime-types@~2.0.8 + - deps: mime-db@~1.6.0 + +1.2.2 / 2014-12-30 +================== + + * deps: mime-types@~2.0.7 + - deps: mime-db@~1.5.0 + +1.2.1 / 2014-12-30 +================== + + * deps: mime-types@~2.0.5 + - deps: mime-db@~1.3.1 + +1.2.0 / 2014-12-19 +================== + + * deps: negotiator@0.5.0 + - Fix list return order when large accepted list + - Fix missing identity encoding when q=0 exists + - Remove dynamic building of Negotiator class + +1.1.4 / 2014-12-10 +================== + + * deps: mime-types@~2.0.4 + - deps: mime-db@~1.3.0 + +1.1.3 / 2014-11-09 +================== + + * deps: mime-types@~2.0.3 + - deps: mime-db@~1.2.0 + +1.1.2 / 2014-10-14 +================== + + * deps: negotiator@0.4.9 + - Fix error when media type has invalid parameter + +1.1.1 / 2014-09-28 +================== + + * deps: mime-types@~2.0.2 + - deps: mime-db@~1.1.0 + * deps: negotiator@0.4.8 + - Fix all negotiations to be case-insensitive + - Stable sort preferences of same quality according to client order + +1.1.0 / 2014-09-02 +================== + + * update `mime-types` + +1.0.7 / 2014-07-04 +================== + + * Fix wrong type returned from `type` when match after unknown extension + +1.0.6 / 2014-06-24 +================== + + * deps: negotiator@0.4.7 + +1.0.5 / 2014-06-20 +================== + + * fix crash when unknown extension given + +1.0.4 / 2014-06-19 +================== + + * use `mime-types` + +1.0.3 / 2014-06-11 +================== + + * deps: negotiator@0.4.6 + - Order by specificity when quality is the same + +1.0.2 / 2014-05-29 +================== + + * Fix interpretation when header not in request + * deps: pin negotiator@0.4.5 + +1.0.1 / 2014-01-18 +================== + + * Identity encoding isn't always acceptable + * deps: negotiator@~0.4.0 + +1.0.0 / 2013-12-27 +================== + + * Genesis diff --git a/DEV/shortcut-app/node_modules/accepts/LICENSE b/DEV/shortcut-app/node_modules/accepts/LICENSE new file mode 100644 index 0000000..0616607 --- /dev/null +++ b/DEV/shortcut-app/node_modules/accepts/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/DEV/shortcut-app/node_modules/accepts/README.md b/DEV/shortcut-app/node_modules/accepts/README.md new file mode 100644 index 0000000..82680c5 --- /dev/null +++ b/DEV/shortcut-app/node_modules/accepts/README.md @@ -0,0 +1,140 @@ +# accepts + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][github-actions-ci-image]][github-actions-ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Higher level content negotiation based on [negotiator](https://www.npmjs.com/package/negotiator). +Extracted from [koa](https://www.npmjs.com/package/koa) for general use. + +In addition to negotiator, it allows: + +- Allows types as an array or arguments list, ie `(['text/html', 'application/json'])` + as well as `('text/html', 'application/json')`. +- Allows type shorthands such as `json`. +- Returns `false` when no types match +- Treats non-existent headers as `*` + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install accepts +``` + +## API + +```js +var accepts = require('accepts') +``` + +### accepts(req) + +Create a new `Accepts` object for the given `req`. + +#### .charset(charsets) + +Return the first accepted charset. If nothing in `charsets` is accepted, +then `false` is returned. + +#### .charsets() + +Return the charsets that the request accepts, in the order of the client's +preference (most preferred first). + +#### .encoding(encodings) + +Return the first accepted encoding. If nothing in `encodings` is accepted, +then `false` is returned. + +#### .encodings() + +Return the encodings that the request accepts, in the order of the client's +preference (most preferred first). + +#### .language(languages) + +Return the first accepted language. If nothing in `languages` is accepted, +then `false` is returned. + +#### .languages() + +Return the languages that the request accepts, in the order of the client's +preference (most preferred first). + +#### .type(types) + +Return the first accepted type (and it is returned as the same text as what +appears in the `types` array). If nothing in `types` is accepted, then `false` +is returned. + +The `types` array can contain full MIME types or file extensions. Any value +that is not a full MIME types is passed to `require('mime-types').lookup`. + +#### .types() + +Return the types that the request accepts, in the order of the client's +preference (most preferred first). + +## Examples + +### Simple type negotiation + +This simple example shows how to use `accepts` to return a different typed +respond body based on what the client wants to accept. The server lists it's +preferences in order and will get back the best match between the client and +server. + +```js +var accepts = require('accepts') +var http = require('http') + +function app (req, res) { + var accept = accepts(req) + + // the order of this list is significant; should be server preferred order + switch (accept.type(['json', 'html'])) { + case 'json': + res.setHeader('Content-Type', 'application/json') + res.write('{"hello":"world!"}') + break + case 'html': + res.setHeader('Content-Type', 'text/html') + res.write('hello, world!') + break + default: + // the fallback is text/plain, so no need to specify it above + res.setHeader('Content-Type', 'text/plain') + res.write('hello, world!') + break + } + + res.end() +} + +http.createServer(app).listen(3000) +``` + +You can test this out with the cURL program: +```sh +curl -I -H'Accept: text/html' http://localhost:3000/ +``` + +## License + +[MIT](LICENSE) + +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/accepts/master +[coveralls-url]: https://coveralls.io/r/jshttp/accepts?branch=master +[github-actions-ci-image]: https://badgen.net/github/checks/jshttp/accepts/master?label=ci +[github-actions-ci-url]: https://github.com/jshttp/accepts/actions/workflows/ci.yml +[node-version-image]: https://badgen.net/npm/node/accepts +[node-version-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/accepts +[npm-url]: https://npmjs.org/package/accepts +[npm-version-image]: https://badgen.net/npm/v/accepts diff --git a/DEV/shortcut-app/node_modules/accepts/index.js b/DEV/shortcut-app/node_modules/accepts/index.js new file mode 100644 index 0000000..e9b2f63 --- /dev/null +++ b/DEV/shortcut-app/node_modules/accepts/index.js @@ -0,0 +1,238 @@ +/*! + * accepts + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var Negotiator = require('negotiator') +var mime = require('mime-types') + +/** + * Module exports. + * @public + */ + +module.exports = Accepts + +/** + * Create a new Accepts object for the given req. + * + * @param {object} req + * @public + */ + +function Accepts (req) { + if (!(this instanceof Accepts)) { + return new Accepts(req) + } + + this.headers = req.headers + this.negotiator = new Negotiator(req) +} + +/** + * Check if the given `type(s)` is acceptable, returning + * the best match when true, otherwise `undefined`, in which + * case you should respond with 406 "Not Acceptable". + * + * The `type` value may be a single mime type string + * such as "application/json", the extension name + * such as "json" or an array `["json", "html", "text/plain"]`. When a list + * or array is given the _best_ match, if any is returned. + * + * Examples: + * + * // Accept: text/html + * this.types('html'); + * // => "html" + * + * // Accept: text/*, application/json + * this.types('html'); + * // => "html" + * this.types('text/html'); + * // => "text/html" + * this.types('json', 'text'); + * // => "json" + * this.types('application/json'); + * // => "application/json" + * + * // Accept: text/*, application/json + * this.types('image/png'); + * this.types('png'); + * // => undefined + * + * // Accept: text/*;q=.5, application/json + * this.types(['html', 'json']); + * this.types('html', 'json'); + * // => "json" + * + * @param {String|Array} types... + * @return {String|Array|Boolean} + * @public + */ + +Accepts.prototype.type = +Accepts.prototype.types = function (types_) { + var types = types_ + + // support flattened arguments + if (types && !Array.isArray(types)) { + types = new Array(arguments.length) + for (var i = 0; i < types.length; i++) { + types[i] = arguments[i] + } + } + + // no types, return all requested types + if (!types || types.length === 0) { + return this.negotiator.mediaTypes() + } + + // no accept header, return first given type + if (!this.headers.accept) { + return types[0] + } + + var mimes = types.map(extToMime) + var accepts = this.negotiator.mediaTypes(mimes.filter(validMime)) + var first = accepts[0] + + return first + ? types[mimes.indexOf(first)] + : false +} + +/** + * Return accepted encodings or best fit based on `encodings`. + * + * Given `Accept-Encoding: gzip, deflate` + * an array sorted by quality is returned: + * + * ['gzip', 'deflate'] + * + * @param {String|Array} encodings... + * @return {String|Array} + * @public + */ + +Accepts.prototype.encoding = +Accepts.prototype.encodings = function (encodings_) { + var encodings = encodings_ + + // support flattened arguments + if (encodings && !Array.isArray(encodings)) { + encodings = new Array(arguments.length) + for (var i = 0; i < encodings.length; i++) { + encodings[i] = arguments[i] + } + } + + // no encodings, return all requested encodings + if (!encodings || encodings.length === 0) { + return this.negotiator.encodings() + } + + return this.negotiator.encodings(encodings)[0] || false +} + +/** + * Return accepted charsets or best fit based on `charsets`. + * + * Given `Accept-Charset: utf-8, iso-8859-1;q=0.2, utf-7;q=0.5` + * an array sorted by quality is returned: + * + * ['utf-8', 'utf-7', 'iso-8859-1'] + * + * @param {String|Array} charsets... + * @return {String|Array} + * @public + */ + +Accepts.prototype.charset = +Accepts.prototype.charsets = function (charsets_) { + var charsets = charsets_ + + // support flattened arguments + if (charsets && !Array.isArray(charsets)) { + charsets = new Array(arguments.length) + for (var i = 0; i < charsets.length; i++) { + charsets[i] = arguments[i] + } + } + + // no charsets, return all requested charsets + if (!charsets || charsets.length === 0) { + return this.negotiator.charsets() + } + + return this.negotiator.charsets(charsets)[0] || false +} + +/** + * Return accepted languages or best fit based on `langs`. + * + * Given `Accept-Language: en;q=0.8, es, pt` + * an array sorted by quality is returned: + * + * ['es', 'pt', 'en'] + * + * @param {String|Array} langs... + * @return {Array|String} + * @public + */ + +Accepts.prototype.lang = +Accepts.prototype.langs = +Accepts.prototype.language = +Accepts.prototype.languages = function (languages_) { + var languages = languages_ + + // support flattened arguments + if (languages && !Array.isArray(languages)) { + languages = new Array(arguments.length) + for (var i = 0; i < languages.length; i++) { + languages[i] = arguments[i] + } + } + + // no languages, return all requested languages + if (!languages || languages.length === 0) { + return this.negotiator.languages() + } + + return this.negotiator.languages(languages)[0] || false +} + +/** + * Convert extnames to mime. + * + * @param {String} type + * @return {String} + * @private + */ + +function extToMime (type) { + return type.indexOf('/') === -1 + ? mime.lookup(type) + : type +} + +/** + * Check if mime is valid. + * + * @param {String} type + * @return {String} + * @private + */ + +function validMime (type) { + return typeof type === 'string' +} diff --git a/DEV/shortcut-app/node_modules/accepts/package.json b/DEV/shortcut-app/node_modules/accepts/package.json new file mode 100644 index 0000000..0f2d15d --- /dev/null +++ b/DEV/shortcut-app/node_modules/accepts/package.json @@ -0,0 +1,47 @@ +{ + "name": "accepts", + "description": "Higher-level content negotiation", + "version": "1.3.8", + "contributors": [ + "Douglas Christopher Wilson ", + "Jonathan Ong (http://jongleberry.com)" + ], + "license": "MIT", + "repository": "jshttp/accepts", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "devDependencies": { + "deep-equal": "1.0.1", + "eslint": "7.32.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.25.4", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "4.3.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "9.2.0", + "nyc": "15.1.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + }, + "keywords": [ + "content", + "negotiation", + "accept", + "accepts" + ] +} diff --git a/DEV/shortcut-app/node_modules/array-flatten/LICENSE b/DEV/shortcut-app/node_modules/array-flatten/LICENSE new file mode 100644 index 0000000..983fbe8 --- /dev/null +++ b/DEV/shortcut-app/node_modules/array-flatten/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/DEV/shortcut-app/node_modules/array-flatten/README.md b/DEV/shortcut-app/node_modules/array-flatten/README.md new file mode 100644 index 0000000..91fa5b6 --- /dev/null +++ b/DEV/shortcut-app/node_modules/array-flatten/README.md @@ -0,0 +1,43 @@ +# Array Flatten + +[![NPM version][npm-image]][npm-url] +[![NPM downloads][downloads-image]][downloads-url] +[![Build status][travis-image]][travis-url] +[![Test coverage][coveralls-image]][coveralls-url] + +> Flatten an array of nested arrays into a single flat array. Accepts an optional depth. + +## Installation + +``` +npm install array-flatten --save +``` + +## Usage + +```javascript +var flatten = require('array-flatten') + +flatten([1, [2, [3, [4, [5], 6], 7], 8], 9]) +//=> [1, 2, 3, 4, 5, 6, 7, 8, 9] + +flatten([1, [2, [3, [4, [5], 6], 7], 8], 9], 2) +//=> [1, 2, 3, [4, [5], 6], 7, 8, 9] + +(function () { + flatten(arguments) //=> [1, 2, 3] +})(1, [2, 3]) +``` + +## License + +MIT + +[npm-image]: https://img.shields.io/npm/v/array-flatten.svg?style=flat +[npm-url]: https://npmjs.org/package/array-flatten +[downloads-image]: https://img.shields.io/npm/dm/array-flatten.svg?style=flat +[downloads-url]: https://npmjs.org/package/array-flatten +[travis-image]: https://img.shields.io/travis/blakeembrey/array-flatten.svg?style=flat +[travis-url]: https://travis-ci.org/blakeembrey/array-flatten +[coveralls-image]: https://img.shields.io/coveralls/blakeembrey/array-flatten.svg?style=flat +[coveralls-url]: https://coveralls.io/r/blakeembrey/array-flatten?branch=master diff --git a/DEV/shortcut-app/node_modules/array-flatten/array-flatten.js b/DEV/shortcut-app/node_modules/array-flatten/array-flatten.js new file mode 100644 index 0000000..089117b --- /dev/null +++ b/DEV/shortcut-app/node_modules/array-flatten/array-flatten.js @@ -0,0 +1,64 @@ +'use strict' + +/** + * Expose `arrayFlatten`. + */ +module.exports = arrayFlatten + +/** + * Recursive flatten function with depth. + * + * @param {Array} array + * @param {Array} result + * @param {Number} depth + * @return {Array} + */ +function flattenWithDepth (array, result, depth) { + for (var i = 0; i < array.length; i++) { + var value = array[i] + + if (depth > 0 && Array.isArray(value)) { + flattenWithDepth(value, result, depth - 1) + } else { + result.push(value) + } + } + + return result +} + +/** + * Recursive flatten function. Omitting depth is slightly faster. + * + * @param {Array} array + * @param {Array} result + * @return {Array} + */ +function flattenForever (array, result) { + for (var i = 0; i < array.length; i++) { + var value = array[i] + + if (Array.isArray(value)) { + flattenForever(value, result) + } else { + result.push(value) + } + } + + return result +} + +/** + * Flatten an array, with the ability to define a depth. + * + * @param {Array} array + * @param {Number} depth + * @return {Array} + */ +function arrayFlatten (array, depth) { + if (depth == null) { + return flattenForever(array, []) + } + + return flattenWithDepth(array, [], depth) +} diff --git a/DEV/shortcut-app/node_modules/array-flatten/package.json b/DEV/shortcut-app/node_modules/array-flatten/package.json new file mode 100644 index 0000000..1a24e2a --- /dev/null +++ b/DEV/shortcut-app/node_modules/array-flatten/package.json @@ -0,0 +1,39 @@ +{ + "name": "array-flatten", + "version": "1.1.1", + "description": "Flatten an array of nested arrays into a single flat array", + "main": "array-flatten.js", + "files": [ + "array-flatten.js", + "LICENSE" + ], + "scripts": { + "test": "istanbul cover _mocha -- -R spec" + }, + "repository": { + "type": "git", + "url": "git://github.com/blakeembrey/array-flatten.git" + }, + "keywords": [ + "array", + "flatten", + "arguments", + "depth" + ], + "author": { + "name": "Blake Embrey", + "email": "hello@blakeembrey.com", + "url": "http://blakeembrey.me" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/blakeembrey/array-flatten/issues" + }, + "homepage": "https://github.com/blakeembrey/array-flatten", + "devDependencies": { + "istanbul": "^0.3.13", + "mocha": "^2.2.4", + "pre-commit": "^1.0.7", + "standard": "^3.7.3" + } +} diff --git a/DEV/shortcut-app/node_modules/body-parser/HISTORY.md b/DEV/shortcut-app/node_modules/body-parser/HISTORY.md new file mode 100644 index 0000000..e5c4fde --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/HISTORY.md @@ -0,0 +1,686 @@ +1.20.5 / 2026-04-24 +=================== +* refactor(json): simplify strict mode error string construction +* fix: extended urlencoded parsing of arrays with >100 elements (#716) +* deps: qs@~6.15.1 + +1.20.4 / 2025-12-01 +=================== + + * deps: qs@~6.14.0 + * deps: use tilde notation for dependencies + * deps: http-errors@~2.0.1 + * deps: raw-body@~2.5.3 + +1.20.3 / 2024-09-10 +=================== + + * deps: qs@6.13.0 + * add `depth` option to customize the depth level in the parser + * IMPORTANT: The default `depth` level for parsing URL-encoded data is now `32` (previously was `Infinity`) + +1.20.2 / 2023-02-21 +=================== + + * Fix strict json error message on Node.js 19+ + * deps: content-type@~1.0.5 + - perf: skip value escaping when unnecessary + * deps: raw-body@2.5.2 + +1.20.1 / 2022-10-06 +=================== + + * deps: qs@6.11.0 + * perf: remove unnecessary object clone + +1.20.0 / 2022-04-02 +=================== + + * Fix error message for json parse whitespace in `strict` + * Fix internal error when inflated body exceeds limit + * Prevent loss of async hooks context + * Prevent hanging when request already read + * deps: depd@2.0.0 + - Replace internal `eval` usage with `Function` constructor + - Use instance methods on `process` to check for listeners + * deps: http-errors@2.0.0 + - deps: depd@2.0.0 + - deps: statuses@2.0.1 + * deps: on-finished@2.4.1 + * deps: qs@6.10.3 + * deps: raw-body@2.5.1 + - deps: http-errors@2.0.0 + +1.19.2 / 2022-02-15 +=================== + + * deps: bytes@3.1.2 + * deps: qs@6.9.7 + * Fix handling of `__proto__` keys + * deps: raw-body@2.4.3 + - deps: bytes@3.1.2 + +1.19.1 / 2021-12-10 +=================== + + * deps: bytes@3.1.1 + * deps: http-errors@1.8.1 + - deps: inherits@2.0.4 + - deps: toidentifier@1.0.1 + - deps: setprototypeof@1.2.0 + * deps: qs@6.9.6 + * deps: raw-body@2.4.2 + - deps: bytes@3.1.1 + - deps: http-errors@1.8.1 + * deps: safe-buffer@5.2.1 + * deps: type-is@~1.6.18 + +1.19.0 / 2019-04-25 +=================== + + * deps: bytes@3.1.0 + - Add petabyte (`pb`) support + * deps: http-errors@1.7.2 + - Set constructor name when possible + - deps: setprototypeof@1.1.1 + - deps: statuses@'>= 1.5.0 < 2' + * deps: iconv-lite@0.4.24 + - Added encoding MIK + * deps: qs@6.7.0 + - Fix parsing array brackets after index + * deps: raw-body@2.4.0 + - deps: bytes@3.1.0 + - deps: http-errors@1.7.2 + - deps: iconv-lite@0.4.24 + * deps: type-is@~1.6.17 + - deps: mime-types@~2.1.24 + - perf: prevent internal `throw` on invalid type + +1.18.3 / 2018-05-14 +=================== + + * Fix stack trace for strict json parse error + * deps: depd@~1.1.2 + - perf: remove argument reassignment + * deps: http-errors@~1.6.3 + - deps: depd@~1.1.2 + - deps: setprototypeof@1.1.0 + - deps: statuses@'>= 1.3.1 < 2' + * deps: iconv-lite@0.4.23 + - Fix loading encoding with year appended + - Fix deprecation warnings on Node.js 10+ + * deps: qs@6.5.2 + * deps: raw-body@2.3.3 + - deps: http-errors@1.6.3 + - deps: iconv-lite@0.4.23 + * deps: type-is@~1.6.16 + - deps: mime-types@~2.1.18 + +1.18.2 / 2017-09-22 +=================== + + * deps: debug@2.6.9 + * perf: remove argument reassignment + +1.18.1 / 2017-09-12 +=================== + + * deps: content-type@~1.0.4 + - perf: remove argument reassignment + - perf: skip parameter parsing when no parameters + * deps: iconv-lite@0.4.19 + - Fix ISO-8859-1 regression + - Update Windows-1255 + * deps: qs@6.5.1 + - Fix parsing & compacting very deep objects + * deps: raw-body@2.3.2 + - deps: iconv-lite@0.4.19 + +1.18.0 / 2017-09-08 +=================== + + * Fix JSON strict violation error to match native parse error + * Include the `body` property on verify errors + * Include the `type` property on all generated errors + * Use `http-errors` to set status code on errors + * deps: bytes@3.0.0 + * deps: debug@2.6.8 + * deps: depd@~1.1.1 + - Remove unnecessary `Buffer` loading + * deps: http-errors@~1.6.2 + - deps: depd@1.1.1 + * deps: iconv-lite@0.4.18 + - Add support for React Native + - Add a warning if not loaded as utf-8 + - Fix CESU-8 decoding in Node.js 8 + - Improve speed of ISO-8859-1 encoding + * deps: qs@6.5.0 + * deps: raw-body@2.3.1 + - Use `http-errors` for standard emitted errors + - deps: bytes@3.0.0 + - deps: iconv-lite@0.4.18 + - perf: skip buffer decoding on overage chunk + * perf: prevent internal `throw` when missing charset + +1.17.2 / 2017-05-17 +=================== + + * deps: debug@2.6.7 + - Fix `DEBUG_MAX_ARRAY_LENGTH` + - deps: ms@2.0.0 + * deps: type-is@~1.6.15 + - deps: mime-types@~2.1.15 + +1.17.1 / 2017-03-06 +=================== + + * deps: qs@6.4.0 + - Fix regression parsing keys starting with `[` + +1.17.0 / 2017-03-01 +=================== + + * deps: http-errors@~1.6.1 + - Make `message` property enumerable for `HttpError`s + - deps: setprototypeof@1.0.3 + * deps: qs@6.3.1 + - Fix compacting nested arrays + +1.16.1 / 2017-02-10 +=================== + + * deps: debug@2.6.1 + - Fix deprecation messages in WebStorm and other editors + - Undeprecate `DEBUG_FD` set to `1` or `2` + +1.16.0 / 2017-01-17 +=================== + + * deps: debug@2.6.0 + - Allow colors in workers + - Deprecated `DEBUG_FD` environment variable + - Fix error when running under React Native + - Use same color for same namespace + - deps: ms@0.7.2 + * deps: http-errors@~1.5.1 + - deps: inherits@2.0.3 + - deps: setprototypeof@1.0.2 + - deps: statuses@'>= 1.3.1 < 2' + * deps: iconv-lite@0.4.15 + - Added encoding MS-31J + - Added encoding MS-932 + - Added encoding MS-936 + - Added encoding MS-949 + - Added encoding MS-950 + - Fix GBK/GB18030 handling of Euro character + * deps: qs@6.2.1 + - Fix array parsing from skipping empty values + * deps: raw-body@~2.2.0 + - deps: iconv-lite@0.4.15 + * deps: type-is@~1.6.14 + - deps: mime-types@~2.1.13 + +1.15.2 / 2016-06-19 +=================== + + * deps: bytes@2.4.0 + * deps: content-type@~1.0.2 + - perf: enable strict mode + * deps: http-errors@~1.5.0 + - Use `setprototypeof` module to replace `__proto__` setting + - deps: statuses@'>= 1.3.0 < 2' + - perf: enable strict mode + * deps: qs@6.2.0 + * deps: raw-body@~2.1.7 + - deps: bytes@2.4.0 + - perf: remove double-cleanup on happy path + * deps: type-is@~1.6.13 + - deps: mime-types@~2.1.11 + +1.15.1 / 2016-05-05 +=================== + + * deps: bytes@2.3.0 + - Drop partial bytes on all parsed units + - Fix parsing byte string that looks like hex + * deps: raw-body@~2.1.6 + - deps: bytes@2.3.0 + * deps: type-is@~1.6.12 + - deps: mime-types@~2.1.10 + +1.15.0 / 2016-02-10 +=================== + + * deps: http-errors@~1.4.0 + - Add `HttpError` export, for `err instanceof createError.HttpError` + - deps: inherits@2.0.1 + - deps: statuses@'>= 1.2.1 < 2' + * deps: qs@6.1.0 + * deps: type-is@~1.6.11 + - deps: mime-types@~2.1.9 + +1.14.2 / 2015-12-16 +=================== + + * deps: bytes@2.2.0 + * deps: iconv-lite@0.4.13 + * deps: qs@5.2.0 + * deps: raw-body@~2.1.5 + - deps: bytes@2.2.0 + - deps: iconv-lite@0.4.13 + * deps: type-is@~1.6.10 + - deps: mime-types@~2.1.8 + +1.14.1 / 2015-09-27 +=================== + + * Fix issue where invalid charset results in 400 when `verify` used + * deps: iconv-lite@0.4.12 + - Fix CESU-8 decoding in Node.js 4.x + * deps: raw-body@~2.1.4 + - Fix masking critical errors from `iconv-lite` + - deps: iconv-lite@0.4.12 + * deps: type-is@~1.6.9 + - deps: mime-types@~2.1.7 + +1.14.0 / 2015-09-16 +=================== + + * Fix JSON strict parse error to match syntax errors + * Provide static `require` analysis in `urlencoded` parser + * deps: depd@~1.1.0 + - Support web browser loading + * deps: qs@5.1.0 + * deps: raw-body@~2.1.3 + - Fix sync callback when attaching data listener causes sync read + * deps: type-is@~1.6.8 + - Fix type error when given invalid type to match against + - deps: mime-types@~2.1.6 + +1.13.3 / 2015-07-31 +=================== + + * deps: type-is@~1.6.6 + - deps: mime-types@~2.1.4 + +1.13.2 / 2015-07-05 +=================== + + * deps: iconv-lite@0.4.11 + * deps: qs@4.0.0 + - Fix dropping parameters like `hasOwnProperty` + - Fix user-visible incompatibilities from 3.1.0 + - Fix various parsing edge cases + * deps: raw-body@~2.1.2 + - Fix error stack traces to skip `makeError` + - deps: iconv-lite@0.4.11 + * deps: type-is@~1.6.4 + - deps: mime-types@~2.1.2 + - perf: enable strict mode + - perf: remove argument reassignment + +1.13.1 / 2015-06-16 +=================== + + * deps: qs@2.4.2 + - Downgraded from 3.1.0 because of user-visible incompatibilities + +1.13.0 / 2015-06-14 +=================== + + * Add `statusCode` property on `Error`s, in addition to `status` + * Change `type` default to `application/json` for JSON parser + * Change `type` default to `application/x-www-form-urlencoded` for urlencoded parser + * Provide static `require` analysis + * Use the `http-errors` module to generate errors + * deps: bytes@2.1.0 + - Slight optimizations + * deps: iconv-lite@0.4.10 + - The encoding UTF-16 without BOM now defaults to UTF-16LE when detection fails + - Leading BOM is now removed when decoding + * deps: on-finished@~2.3.0 + - Add defined behavior for HTTP `CONNECT` requests + - Add defined behavior for HTTP `Upgrade` requests + - deps: ee-first@1.1.1 + * deps: qs@3.1.0 + - Fix dropping parameters like `hasOwnProperty` + - Fix various parsing edge cases + - Parsed object now has `null` prototype + * deps: raw-body@~2.1.1 + - Use `unpipe` module for unpiping requests + - deps: iconv-lite@0.4.10 + * deps: type-is@~1.6.3 + - deps: mime-types@~2.1.1 + - perf: reduce try block size + - perf: remove bitwise operations + * perf: enable strict mode + * perf: remove argument reassignment + * perf: remove delete call + +1.12.4 / 2015-05-10 +=================== + + * deps: debug@~2.2.0 + * deps: qs@2.4.2 + - Fix allowing parameters like `constructor` + * deps: on-finished@~2.2.1 + * deps: raw-body@~2.0.1 + - Fix a false-positive when unpiping in Node.js 0.8 + - deps: bytes@2.0.1 + * deps: type-is@~1.6.2 + - deps: mime-types@~2.0.11 + +1.12.3 / 2015-04-15 +=================== + + * Slight efficiency improvement when not debugging + * deps: depd@~1.0.1 + * deps: iconv-lite@0.4.8 + - Add encoding alias UNICODE-1-1-UTF-7 + * deps: raw-body@1.3.4 + - Fix hanging callback if request aborts during read + - deps: iconv-lite@0.4.8 + +1.12.2 / 2015-03-16 +=================== + + * deps: qs@2.4.1 + - Fix error when parameter `hasOwnProperty` is present + +1.12.1 / 2015-03-15 +=================== + + * deps: debug@~2.1.3 + - Fix high intensity foreground color for bold + - deps: ms@0.7.0 + * deps: type-is@~1.6.1 + - deps: mime-types@~2.0.10 + +1.12.0 / 2015-02-13 +=================== + + * add `debug` messages + * accept a function for the `type` option + * use `content-type` to parse `Content-Type` headers + * deps: iconv-lite@0.4.7 + - Gracefully support enumerables on `Object.prototype` + * deps: raw-body@1.3.3 + - deps: iconv-lite@0.4.7 + * deps: type-is@~1.6.0 + - fix argument reassignment + - fix false-positives in `hasBody` `Transfer-Encoding` check + - support wildcard for both type and subtype (`*/*`) + - deps: mime-types@~2.0.9 + +1.11.0 / 2015-01-30 +=================== + + * make internal `extended: true` depth limit infinity + * deps: type-is@~1.5.6 + - deps: mime-types@~2.0.8 + +1.10.2 / 2015-01-20 +=================== + + * deps: iconv-lite@0.4.6 + - Fix rare aliases of single-byte encodings + * deps: raw-body@1.3.2 + - deps: iconv-lite@0.4.6 + +1.10.1 / 2015-01-01 +=================== + + * deps: on-finished@~2.2.0 + * deps: type-is@~1.5.5 + - deps: mime-types@~2.0.7 + +1.10.0 / 2014-12-02 +=================== + + * make internal `extended: true` array limit dynamic + +1.9.3 / 2014-11-21 +================== + + * deps: iconv-lite@0.4.5 + - Fix Windows-31J and X-SJIS encoding support + * deps: qs@2.3.3 + - Fix `arrayLimit` behavior + * deps: raw-body@1.3.1 + - deps: iconv-lite@0.4.5 + * deps: type-is@~1.5.3 + - deps: mime-types@~2.0.3 + +1.9.2 / 2014-10-27 +================== + + * deps: qs@2.3.2 + - Fix parsing of mixed objects and values + +1.9.1 / 2014-10-22 +================== + + * deps: on-finished@~2.1.1 + - Fix handling of pipelined requests + * deps: qs@2.3.0 + - Fix parsing of mixed implicit and explicit arrays + * deps: type-is@~1.5.2 + - deps: mime-types@~2.0.2 + +1.9.0 / 2014-09-24 +================== + + * include the charset in "unsupported charset" error message + * include the encoding in "unsupported content encoding" error message + * deps: depd@~1.0.0 + +1.8.4 / 2014-09-23 +================== + + * fix content encoding to be case-insensitive + +1.8.3 / 2014-09-19 +================== + + * deps: qs@2.2.4 + - Fix issue with object keys starting with numbers truncated + +1.8.2 / 2014-09-15 +================== + + * deps: depd@0.4.5 + +1.8.1 / 2014-09-07 +================== + + * deps: media-typer@0.3.0 + * deps: type-is@~1.5.1 + +1.8.0 / 2014-09-05 +================== + + * make empty-body-handling consistent between chunked requests + - empty `json` produces `{}` + - empty `raw` produces `new Buffer(0)` + - empty `text` produces `''` + - empty `urlencoded` produces `{}` + * deps: qs@2.2.3 + - Fix issue where first empty value in array is discarded + * deps: type-is@~1.5.0 + - fix `hasbody` to be true for `content-length: 0` + +1.7.0 / 2014-09-01 +================== + + * add `parameterLimit` option to `urlencoded` parser + * change `urlencoded` extended array limit to 100 + * respond with 413 when over `parameterLimit` in `urlencoded` + +1.6.7 / 2014-08-29 +================== + + * deps: qs@2.2.2 + - Remove unnecessary cloning + +1.6.6 / 2014-08-27 +================== + + * deps: qs@2.2.0 + - Array parsing fix + - Performance improvements + +1.6.5 / 2014-08-16 +================== + + * deps: on-finished@2.1.0 + +1.6.4 / 2014-08-14 +================== + + * deps: qs@1.2.2 + +1.6.3 / 2014-08-10 +================== + + * deps: qs@1.2.1 + +1.6.2 / 2014-08-07 +================== + + * deps: qs@1.2.0 + - Fix parsing array of objects + +1.6.1 / 2014-08-06 +================== + + * deps: qs@1.1.0 + - Accept urlencoded square brackets + - Accept empty values in implicit array notation + +1.6.0 / 2014-08-05 +================== + + * deps: qs@1.0.2 + - Complete rewrite + - Limits array length to 20 + - Limits object depth to 5 + - Limits parameters to 1,000 + +1.5.2 / 2014-07-27 +================== + + * deps: depd@0.4.4 + - Work-around v8 generating empty stack traces + +1.5.1 / 2014-07-26 +================== + + * deps: depd@0.4.3 + - Fix exception when global `Error.stackTraceLimit` is too low + +1.5.0 / 2014-07-20 +================== + + * deps: depd@0.4.2 + - Add `TRACE_DEPRECATION` environment variable + - Remove non-standard grey color from color output + - Support `--no-deprecation` argument + - Support `--trace-deprecation` argument + * deps: iconv-lite@0.4.4 + - Added encoding UTF-7 + * deps: raw-body@1.3.0 + - deps: iconv-lite@0.4.4 + - Added encoding UTF-7 + - Fix `Cannot switch to old mode now` error on Node.js 0.10+ + * deps: type-is@~1.3.2 + +1.4.3 / 2014-06-19 +================== + + * deps: type-is@1.3.1 + - fix global variable leak + +1.4.2 / 2014-06-19 +================== + + * deps: type-is@1.3.0 + - improve type parsing + +1.4.1 / 2014-06-19 +================== + + * fix urlencoded extended deprecation message + +1.4.0 / 2014-06-19 +================== + + * add `text` parser + * add `raw` parser + * check accepted charset in content-type (accepts utf-8) + * check accepted encoding in content-encoding (accepts identity) + * deprecate `bodyParser()` middleware; use `.json()` and `.urlencoded()` as needed + * deprecate `urlencoded()` without provided `extended` option + * lazy-load urlencoded parsers + * parsers split into files for reduced mem usage + * support gzip and deflate bodies + - set `inflate: false` to turn off + * deps: raw-body@1.2.2 + - Support all encodings from `iconv-lite` + +1.3.1 / 2014-06-11 +================== + + * deps: type-is@1.2.1 + - Switch dependency from mime to mime-types@1.0.0 + +1.3.0 / 2014-05-31 +================== + + * add `extended` option to urlencoded parser + +1.2.2 / 2014-05-27 +================== + + * deps: raw-body@1.1.6 + - assert stream encoding on node.js 0.8 + - assert stream encoding on node.js < 0.10.6 + - deps: bytes@1 + +1.2.1 / 2014-05-26 +================== + + * invoke `next(err)` after request fully read + - prevents hung responses and socket hang ups + +1.2.0 / 2014-05-11 +================== + + * add `verify` option + * deps: type-is@1.2.0 + - support suffix matching + +1.1.2 / 2014-05-11 +================== + + * improve json parser speed + +1.1.1 / 2014-05-11 +================== + + * fix repeated limit parsing with every request + +1.1.0 / 2014-05-10 +================== + + * add `type` option + * deps: pin for safety and consistency + +1.0.2 / 2014-04-14 +================== + + * use `type-is` module + +1.0.1 / 2014-03-20 +================== + + * lower default limits to 100kb diff --git a/DEV/shortcut-app/node_modules/body-parser/LICENSE b/DEV/shortcut-app/node_modules/body-parser/LICENSE new file mode 100644 index 0000000..386b7b6 --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/DEV/shortcut-app/node_modules/body-parser/README.md b/DEV/shortcut-app/node_modules/body-parser/README.md new file mode 100644 index 0000000..f6661b7 --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/README.md @@ -0,0 +1,476 @@ +# body-parser + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Build Status][ci-image]][ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] +[![OpenSSF Scorecard Badge][ossf-scorecard-badge]][ossf-scorecard-visualizer] + +Node.js body parsing middleware. + +Parse incoming request bodies in a middleware before your handlers, available +under the `req.body` property. + +**Note** As `req.body`'s shape is based on user-controlled input, all +properties and values in this object are untrusted and should be validated +before trusting. For example, `req.body.foo.toString()` may fail in multiple +ways, for example the `foo` property may not be there or may not be a string, +and `toString` may not be a function and instead a string or other user input. + +[Learn about the anatomy of an HTTP transaction in Node.js](https://nodejs.org/en/docs/guides/anatomy-of-an-http-transaction/). + +_This does not handle multipart bodies_, due to their complex and typically +large nature. For multipart bodies, you may be interested in the following +modules: + + * [busboy](https://www.npmjs.org/package/busboy#readme) and + [connect-busboy](https://www.npmjs.org/package/connect-busboy#readme) + * [multiparty](https://www.npmjs.org/package/multiparty#readme) and + [connect-multiparty](https://www.npmjs.org/package/connect-multiparty#readme) + * [formidable](https://www.npmjs.org/package/formidable#readme) + * [multer](https://www.npmjs.org/package/multer#readme) + +This module provides the following parsers: + + * [JSON body parser](#bodyparserjsonoptions) + * [Raw body parser](#bodyparserrawoptions) + * [Text body parser](#bodyparsertextoptions) + * [URL-encoded form body parser](#bodyparserurlencodedoptions) + +Other body parsers you might be interested in: + +- [body](https://www.npmjs.org/package/body#readme) +- [co-body](https://www.npmjs.org/package/co-body#readme) + +## Installation + +```sh +$ npm install body-parser +``` + +## API + +```js +var bodyParser = require('body-parser') +``` + +The `bodyParser` object exposes various factories to create middlewares. All +middlewares will populate the `req.body` property with the parsed body when +the `Content-Type` request header matches the `type` option, or an empty +object (`{}`) if there was no body to parse, the `Content-Type` was not matched, +or an error occurred. + +The various errors returned by this module are described in the +[errors section](#errors). + +### bodyParser.json([options]) + +Returns middleware that only parses `json` and only looks at requests where +the `Content-Type` header matches the `type` option. This parser accepts any +Unicode encoding of the body and supports automatic inflation of `gzip` and +`deflate` encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). + +#### Options + +The `json` function takes an optional `options` object that may contain any of +the following keys: + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### reviver + +The `reviver` option is passed directly to `JSON.parse` as the second +argument. You can find more information on this argument +[in the MDN documentation about JSON.parse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example.3A_Using_the_reviver_parameter). + +##### strict + +When set to `true`, will only accept arrays and objects; when `false` will +accept anything `JSON.parse` accepts. Defaults to `true`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a string, array of strings, or a function. If not a +function, `type` option is passed directly to the +[type-is](https://www.npmjs.org/package/type-is#readme) library and this can +be an extension name (like `json`), a mime type (like `application/json`), or +a mime type with a wildcard (like `*/*` or `*/json`). If a function, the `type` +option is called as `fn(req)` and the request is parsed if it returns a truthy +value. Defaults to `application/json`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.raw([options]) + +Returns middleware that parses all bodies as a `Buffer` and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser supports automatic inflation of `gzip` and `deflate` encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This will be a `Buffer` object +of the body. + +#### Options + +The `raw` function takes an optional `options` object that may contain any of +the following keys: + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a string, array of strings, or a function. +If not a function, `type` option is passed directly to the +[type-is](https://www.npmjs.org/package/type-is#readme) library and this +can be an extension name (like `bin`), a mime type (like +`application/octet-stream`), or a mime type with a wildcard (like `*/*` or +`application/*`). If a function, the `type` option is called as `fn(req)` +and the request is parsed if it returns a truthy value. Defaults to +`application/octet-stream`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.text([options]) + +Returns middleware that parses all bodies as a string and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser supports automatic inflation of `gzip` and `deflate` encodings. + +A new `body` string containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This will be a string of the +body. + +#### Options + +The `text` function takes an optional `options` object that may contain any of +the following keys: + +##### defaultCharset + +Specify the default character set for the text content if the charset is not +specified in the `Content-Type` header of the request. Defaults to `utf-8`. + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a string, array of strings, or a function. If not +a function, `type` option is passed directly to the +[type-is](https://www.npmjs.org/package/type-is#readme) library and this can +be an extension name (like `txt`), a mime type (like `text/plain`), or a mime +type with a wildcard (like `*/*` or `text/*`). If a function, the `type` +option is called as `fn(req)` and the request is parsed if it returns a +truthy value. Defaults to `text/plain`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +### bodyParser.urlencoded([options]) + +Returns middleware that only parses `urlencoded` bodies and only looks at +requests where the `Content-Type` header matches the `type` option. This +parser accepts only UTF-8 encoding of the body and supports automatic +inflation of `gzip` and `deflate` encodings. + +A new `body` object containing the parsed data is populated on the `request` +object after the middleware (i.e. `req.body`). This object will contain +key-value pairs, where the value can be a string or array (when `extended` is +`false`), or any type (when `extended` is `true`). + +#### Options + +The `urlencoded` function takes an optional `options` object that may contain +any of the following keys: + +##### extended + +The `extended` option allows to choose between parsing the URL-encoded data +with the `querystring` library (when `false`) or the `qs` library (when +`true`). The "extended" syntax allows for rich objects and arrays to be +encoded into the URL-encoded format, allowing for a JSON-like experience +with URL-encoded. For more information, please +[see the qs library](https://www.npmjs.org/package/qs#readme). + +Defaults to `true`, but using the default has been deprecated. Please +research into the difference between `qs` and `querystring` and choose the +appropriate setting. + +##### inflate + +When set to `true`, then deflated (compressed) bodies will be inflated; when +`false`, deflated bodies are rejected. Defaults to `true`. + +##### limit + +Controls the maximum request body size. If this is a number, then the value +specifies the number of bytes; if it is a string, the value is passed to the +[bytes](https://www.npmjs.com/package/bytes) library for parsing. Defaults +to `'100kb'`. + +##### parameterLimit + +The `parameterLimit` option controls the maximum number of parameters that +are allowed in the URL-encoded data. If a request contains more parameters +than this value, a 413 will be returned to the client. Defaults to `1000`. + +##### type + +The `type` option is used to determine what media type the middleware will +parse. This option can be a string, array of strings, or a function. If not +a function, `type` option is passed directly to the +[type-is](https://www.npmjs.org/package/type-is#readme) library and this can +be an extension name (like `urlencoded`), a mime type (like +`application/x-www-form-urlencoded`), or a mime type with a wildcard (like +`*/x-www-form-urlencoded`). If a function, the `type` option is called as +`fn(req)` and the request is parsed if it returns a truthy value. Defaults +to `application/x-www-form-urlencoded`. + +##### verify + +The `verify` option, if supplied, is called as `verify(req, res, buf, encoding)`, +where `buf` is a `Buffer` of the raw request body and `encoding` is the +encoding of the request. The parsing can be aborted by throwing an error. + +#### depth + +The `depth` option is used to configure the maximum depth of the `qs` library when `extended` is `true`. This allows you to limit the amount of keys that are parsed and can be useful to prevent certain types of abuse. Defaults to `32`. It is recommended to keep this value as low as possible. + +## Errors + +The middlewares provided by this module create errors using the +[`http-errors` module](https://www.npmjs.com/package/http-errors). The errors +will typically have a `status`/`statusCode` property that contains the suggested +HTTP response code, an `expose` property to determine if the `message` property +should be displayed to the client, a `type` property to determine the type of +error without matching against the `message`, and a `body` property containing +the read body, if available. + +The following are the common errors created, though any error can come through +for various reasons. + +### content encoding unsupported + +This error will occur when the request had a `Content-Encoding` header that +contained an encoding but the "inflation" option was set to `false`. The +`status` property is set to `415`, the `type` property is set to +`'encoding.unsupported'`, and the `charset` property will be set to the +encoding that is unsupported. + +### entity parse failed + +This error will occur when the request contained an entity that could not be +parsed by the middleware. The `status` property is set to `400`, the `type` +property is set to `'entity.parse.failed'`, and the `body` property is set to +the entity value that failed parsing. + +### entity verify failed + +This error will occur when the request contained an entity that could not be +failed verification by the defined `verify` option. The `status` property is +set to `403`, the `type` property is set to `'entity.verify.failed'`, and the +`body` property is set to the entity value that failed verification. + +### request aborted + +This error will occur when the request is aborted by the client before reading +the body has finished. The `received` property will be set to the number of +bytes received before the request was aborted and the `expected` property is +set to the number of expected bytes. The `status` property is set to `400` +and `type` property is set to `'request.aborted'`. + +### request entity too large + +This error will occur when the request body's size is larger than the "limit" +option. The `limit` property will be set to the byte limit and the `length` +property will be set to the request body's length. The `status` property is +set to `413` and the `type` property is set to `'entity.too.large'`. + +### request size did not match content length + +This error will occur when the request's length did not match the length from +the `Content-Length` header. This typically occurs when the request is malformed, +typically when the `Content-Length` header was calculated based on characters +instead of bytes. The `status` property is set to `400` and the `type` property +is set to `'request.size.invalid'`. + +### stream encoding should not be set + +This error will occur when something called the `req.setEncoding` method prior +to this middleware. This module operates directly on bytes only and you cannot +call `req.setEncoding` when using this module. The `status` property is set to +`500` and the `type` property is set to `'stream.encoding.set'`. + +### stream is not readable + +This error will occur when the request is no longer readable when this middleware +attempts to read it. This typically means something other than a middleware from +this module read the request body already and the middleware was also configured to +read the same request. The `status` property is set to `500` and the `type` +property is set to `'stream.not.readable'`. + +### too many parameters + +This error will occur when the content of the request exceeds the configured +`parameterLimit` for the `urlencoded` parser. The `status` property is set to +`413` and the `type` property is set to `'parameters.too.many'`. + +### unsupported charset "BOGUS" + +This error will occur when the request had a charset parameter in the +`Content-Type` header, but the `iconv-lite` module does not support it OR the +parser does not support it. The charset is contained in the message as well +as in the `charset` property. The `status` property is set to `415`, the +`type` property is set to `'charset.unsupported'`, and the `charset` property +is set to the charset that is unsupported. + +### unsupported content encoding "bogus" + +This error will occur when the request had a `Content-Encoding` header that +contained an unsupported encoding. The encoding is contained in the message +as well as in the `encoding` property. The `status` property is set to `415`, +the `type` property is set to `'encoding.unsupported'`, and the `encoding` +property is set to the encoding that is unsupported. + +### The input exceeded the depth + +This error occurs when using `bodyParser.urlencoded` with the `extended` property set to `true` and the input exceeds the configured `depth` option. The `status` property is set to `400`. It is recommended to review the `depth` option and evaluate if it requires a higher value. When the `depth` option is set to `32` (default value), the error will not be thrown. + +## Examples + +### Express/Connect top-level generic + +This example demonstrates adding a generic JSON and URL-encoded parser as a +top-level middleware, which will parse the bodies of all incoming requests. +This is the simplest setup. + +```js +var express = require('express') +var bodyParser = require('body-parser') + +var app = express() + +// parse application/x-www-form-urlencoded +app.use(bodyParser.urlencoded({ extended: false })) + +// parse application/json +app.use(bodyParser.json()) + +app.use(function (req, res) { + res.setHeader('Content-Type', 'text/plain') + res.write('you posted:\n') + res.end(JSON.stringify(req.body, null, 2)) +}) +``` + +### Express route-specific + +This example demonstrates adding body parsers specifically to the routes that +need them. In general, this is the most recommended way to use body-parser with +Express. + +```js +var express = require('express') +var bodyParser = require('body-parser') + +var app = express() + +// create application/json parser +var jsonParser = bodyParser.json() + +// create application/x-www-form-urlencoded parser +var urlencodedParser = bodyParser.urlencoded({ extended: false }) + +// POST /login gets urlencoded bodies +app.post('/login', urlencodedParser, function (req, res) { + res.send('welcome, ' + req.body.username) +}) + +// POST /api/users gets JSON bodies +app.post('/api/users', jsonParser, function (req, res) { + // create user in req.body +}) +``` + +### Change accepted type for parsers + +All the parsers accept a `type` option which allows you to change the +`Content-Type` that the middleware will parse. + +```js +var express = require('express') +var bodyParser = require('body-parser') + +var app = express() + +// parse various different custom JSON types as JSON +app.use(bodyParser.json({ type: 'application/*+json' })) + +// parse some custom thing into a Buffer +app.use(bodyParser.raw({ type: 'application/vnd.custom-type' })) + +// parse an HTML body into a string +app.use(bodyParser.text({ type: 'text/html' })) +``` + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/expressjs/body-parser/master?label=ci +[ci-url]: https://github.com/expressjs/body-parser/actions/workflows/ci.yml +[coveralls-image]: https://badgen.net/coveralls/c/github/expressjs/body-parser/master +[coveralls-url]: https://coveralls.io/r/expressjs/body-parser?branch=master +[node-version-image]: https://badgen.net/npm/node/body-parser +[node-version-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/body-parser +[npm-url]: https://npmjs.org/package/body-parser +[npm-version-image]: https://badgen.net/npm/v/body-parser +[ossf-scorecard-badge]: https://api.scorecard.dev/projects/github.com/expressjs/body-parser/badge +[ossf-scorecard-visualizer]: https://ossf.github.io/scorecard-visualizer/#/projects/github.com/expressjs/body-parser \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/body-parser/index.js b/DEV/shortcut-app/node_modules/body-parser/index.js new file mode 100644 index 0000000..bb24d73 --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/index.js @@ -0,0 +1,156 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var deprecate = require('depd')('body-parser') + +/** + * Cache of loaded parsers. + * @private + */ + +var parsers = Object.create(null) + +/** + * @typedef Parsers + * @type {function} + * @property {function} json + * @property {function} raw + * @property {function} text + * @property {function} urlencoded + */ + +/** + * Module exports. + * @type {Parsers} + */ + +exports = module.exports = deprecate.function(bodyParser, + 'bodyParser: use individual json/urlencoded middlewares') + +/** + * JSON parser. + * @public + */ + +Object.defineProperty(exports, 'json', { + configurable: true, + enumerable: true, + get: createParserGetter('json') +}) + +/** + * Raw parser. + * @public + */ + +Object.defineProperty(exports, 'raw', { + configurable: true, + enumerable: true, + get: createParserGetter('raw') +}) + +/** + * Text parser. + * @public + */ + +Object.defineProperty(exports, 'text', { + configurable: true, + enumerable: true, + get: createParserGetter('text') +}) + +/** + * URL-encoded parser. + * @public + */ + +Object.defineProperty(exports, 'urlencoded', { + configurable: true, + enumerable: true, + get: createParserGetter('urlencoded') +}) + +/** + * Create a middleware to parse json and urlencoded bodies. + * + * @param {object} [options] + * @return {function} + * @deprecated + * @public + */ + +function bodyParser (options) { + // use default type for parsers + var opts = Object.create(options || null, { + type: { + configurable: true, + enumerable: true, + value: undefined, + writable: true + } + }) + + var _urlencoded = exports.urlencoded(opts) + var _json = exports.json(opts) + + return function bodyParser (req, res, next) { + _json(req, res, function (err) { + if (err) return next(err) + _urlencoded(req, res, next) + }) + } +} + +/** + * Create a getter for loading a parser. + * @private + */ + +function createParserGetter (name) { + return function get () { + return loadParser(name) + } +} + +/** + * Load a parser module. + * @private + */ + +function loadParser (parserName) { + var parser = parsers[parserName] + + if (parser !== undefined) { + return parser + } + + // this uses a switch for static require analysis + switch (parserName) { + case 'json': + parser = require('./lib/types/json') + break + case 'raw': + parser = require('./lib/types/raw') + break + case 'text': + parser = require('./lib/types/text') + break + case 'urlencoded': + parser = require('./lib/types/urlencoded') + break + } + + // store to prevent invoking require() + return (parsers[parserName] = parser) +} diff --git a/DEV/shortcut-app/node_modules/body-parser/lib/read.js b/DEV/shortcut-app/node_modules/body-parser/lib/read.js new file mode 100644 index 0000000..fce6283 --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/lib/read.js @@ -0,0 +1,205 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var createError = require('http-errors') +var destroy = require('destroy') +var getBody = require('raw-body') +var iconv = require('iconv-lite') +var onFinished = require('on-finished') +var unpipe = require('unpipe') +var zlib = require('zlib') + +/** + * Module exports. + */ + +module.exports = read + +/** + * Read a request into a buffer and parse. + * + * @param {object} req + * @param {object} res + * @param {function} next + * @param {function} parse + * @param {function} debug + * @param {object} options + * @private + */ + +function read (req, res, next, parse, debug, options) { + var length + var opts = options + var stream + + // flag as parsed + req._body = true + + // read options + var encoding = opts.encoding !== null + ? opts.encoding + : null + var verify = opts.verify + + try { + // get the content stream + stream = contentstream(req, debug, opts.inflate) + length = stream.length + stream.length = undefined + } catch (err) { + return next(err) + } + + // set raw-body options + opts.length = length + opts.encoding = verify + ? null + : encoding + + // assert charset is supported + if (opts.encoding === null && encoding !== null && !iconv.encodingExists(encoding)) { + return next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: 'charset.unsupported' + })) + } + + // read body + debug('read body') + getBody(stream, opts, function (error, body) { + if (error) { + var _error + + if (error.type === 'encoding.unsupported') { + // echo back charset + _error = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: 'charset.unsupported' + }) + } else { + // set status code on error + _error = createError(400, error) + } + + // unpipe from stream and destroy + if (stream !== req) { + unpipe(req) + destroy(stream, true) + } + + // read off entire request + dump(req, function onfinished () { + next(createError(400, _error)) + }) + return + } + + // verify + if (verify) { + try { + debug('verify body') + verify(req, res, body, encoding) + } catch (err) { + next(createError(403, err, { + body: body, + type: err.type || 'entity.verify.failed' + })) + return + } + } + + // parse + var str = body + try { + debug('parse body') + str = typeof body !== 'string' && encoding !== null + ? iconv.decode(body, encoding) + : body + req.body = parse(str) + } catch (err) { + next(createError(400, err, { + body: str, + type: err.type || 'entity.parse.failed' + })) + return + } + + next() + }) +} + +/** + * Get the content stream of the request. + * + * @param {object} req + * @param {function} debug + * @param {boolean} [inflate=true] + * @return {object} + * @api private + */ + +function contentstream (req, debug, inflate) { + var encoding = (req.headers['content-encoding'] || 'identity').toLowerCase() + var length = req.headers['content-length'] + var stream + + debug('content-encoding "%s"', encoding) + + if (inflate === false && encoding !== 'identity') { + throw createError(415, 'content encoding unsupported', { + encoding: encoding, + type: 'encoding.unsupported' + }) + } + + switch (encoding) { + case 'deflate': + stream = zlib.createInflate() + debug('inflate body') + req.pipe(stream) + break + case 'gzip': + stream = zlib.createGunzip() + debug('gunzip body') + req.pipe(stream) + break + case 'identity': + stream = req + stream.length = length + break + default: + throw createError(415, 'unsupported content encoding "' + encoding + '"', { + encoding: encoding, + type: 'encoding.unsupported' + }) + } + + return stream +} + +/** + * Dump the contents of a request. + * + * @param {object} req + * @param {function} callback + * @api private + */ + +function dump (req, callback) { + if (onFinished.isFinished(req)) { + callback(null) + } else { + onFinished(req, callback) + req.resume() + } +} diff --git a/DEV/shortcut-app/node_modules/body-parser/lib/types/json.js b/DEV/shortcut-app/node_modules/body-parser/lib/types/json.js new file mode 100644 index 0000000..d1f510d --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/lib/types/json.js @@ -0,0 +1,243 @@ +/*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var bytes = require('bytes') +var contentType = require('content-type') +var createError = require('http-errors') +var debug = require('debug')('body-parser:json') +var read = require('../read') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = json + +/** + * RegExp to match the first non-space in a string. + * + * Allowed whitespace is defined in RFC 7159: + * + * ws = *( + * %x20 / ; Space + * %x09 / ; Horizontal tab + * %x0A / ; Line feed or New line + * %x0D ) ; Carriage return + */ + +var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/ // eslint-disable-line no-control-regex + +var JSON_SYNTAX_CHAR = '#' +var JSON_SYNTAX_REGEXP = /#+/g + +/** + * Create a middleware to parse JSON bodies. + * + * @param {object} [options] + * @return {function} + * @public + */ + +function json (options) { + var opts = options || {} + + var limit = typeof opts.limit !== 'number' + ? bytes.parse(opts.limit || '100kb') + : opts.limit + var inflate = opts.inflate !== false + var reviver = opts.reviver + var strict = opts.strict !== false + var type = opts.type || 'application/json' + var verify = opts.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + function parse (body) { + if (body.length === 0) { + // special-case empty json body, as it's a common client-side mistake + // TODO: maybe make this configurable or part of "strict" option + return {} + } + + if (strict) { + var first = firstchar(body) + + if (first !== '{' && first !== '[') { + debug('strict violation') + throw createStrictSyntaxError(body, first) + } + } + + try { + debug('parse json') + return JSON.parse(body, reviver) + } catch (e) { + throw normalizeJsonSyntaxError(e, { + message: e.message, + stack: e.stack + }) + } + } + + return function jsonParser (req, res, next) { + if (req._body) { + debug('body already parsed') + next() + return + } + + req.body = req.body || {} + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // assert charset per RFC 7159 sec 8.1 + var charset = getCharset(req) || 'utf-8' + if (charset.slice(0, 4) !== 'utf-') { + debug('invalid charset') + next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', { + charset: charset, + type: 'charset.unsupported' + })) + return + } + + // read + read(req, res, next, parse, debug, { + encoding: charset, + inflate: inflate, + limit: limit, + verify: verify + }) + } +} + +/** + * Create strict violation syntax error matching native error. + * + * @param {string} str + * @param {string} char + * @return {Error} + * @private + */ + +function createStrictSyntaxError (str, char) { + var index = str.indexOf(char) + var partial = '' + + if (index !== -1) { + partial = str.substring(0, index) + new Array(str.length - index + 1).join(JSON_SYNTAX_CHAR) + } + + try { + JSON.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation') + } catch (e) { + return normalizeJsonSyntaxError(e, { + message: e.message.replace(JSON_SYNTAX_REGEXP, function (placeholder) { + return str.substring(index, index + placeholder.length) + }), + stack: e.stack + }) + } +} + +/** + * Get the first non-whitespace character in a string. + * + * @param {string} str + * @return {function} + * @private + */ + +function firstchar (str) { + var match = FIRST_CHAR_REGEXP.exec(str) + + return match + ? match[1] + : undefined +} + +/** + * Get the charset of a request. + * + * @param {object} req + * @api private + */ + +function getCharset (req) { + try { + return (contentType.parse(req).parameters.charset || '').toLowerCase() + } catch (e) { + return undefined + } +} + +/** + * Normalize a SyntaxError for JSON.parse. + * + * @param {SyntaxError} error + * @param {object} obj + * @return {SyntaxError} + */ + +function normalizeJsonSyntaxError (error, obj) { + var keys = Object.getOwnPropertyNames(error) + + for (var i = 0; i < keys.length; i++) { + var key = keys[i] + if (key !== 'stack' && key !== 'message') { + delete error[key] + } + } + + // replace stack before message for Node.js 0.10 and below + error.stack = obj.stack.replace(error.message, obj.message) + error.message = obj.message + + return error +} + +/** + * Get the simple type checker. + * + * @param {string} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} diff --git a/DEV/shortcut-app/node_modules/body-parser/lib/types/raw.js b/DEV/shortcut-app/node_modules/body-parser/lib/types/raw.js new file mode 100644 index 0000000..f5d1b67 --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/lib/types/raw.js @@ -0,0 +1,101 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + */ + +var bytes = require('bytes') +var debug = require('debug')('body-parser:raw') +var read = require('../read') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = raw + +/** + * Create a middleware to parse raw bodies. + * + * @param {object} [options] + * @return {function} + * @api public + */ + +function raw (options) { + var opts = options || {} + + var inflate = opts.inflate !== false + var limit = typeof opts.limit !== 'number' + ? bytes.parse(opts.limit || '100kb') + : opts.limit + var type = opts.type || 'application/octet-stream' + var verify = opts.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + function parse (buf) { + return buf + } + + return function rawParser (req, res, next) { + if (req._body) { + debug('body already parsed') + next() + return + } + + req.body = req.body || {} + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // read + read(req, res, next, parse, debug, { + encoding: null, + inflate: inflate, + limit: limit, + verify: verify + }) + } +} + +/** + * Get the simple type checker. + * + * @param {string} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} diff --git a/DEV/shortcut-app/node_modules/body-parser/lib/types/text.js b/DEV/shortcut-app/node_modules/body-parser/lib/types/text.js new file mode 100644 index 0000000..083a009 --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/lib/types/text.js @@ -0,0 +1,121 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + */ + +var bytes = require('bytes') +var contentType = require('content-type') +var debug = require('debug')('body-parser:text') +var read = require('../read') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = text + +/** + * Create a middleware to parse text bodies. + * + * @param {object} [options] + * @return {function} + * @api public + */ + +function text (options) { + var opts = options || {} + + var defaultCharset = opts.defaultCharset || 'utf-8' + var inflate = opts.inflate !== false + var limit = typeof opts.limit !== 'number' + ? bytes.parse(opts.limit || '100kb') + : opts.limit + var type = opts.type || 'text/plain' + var verify = opts.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + function parse (buf) { + return buf + } + + return function textParser (req, res, next) { + if (req._body) { + debug('body already parsed') + next() + return + } + + req.body = req.body || {} + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // get charset + var charset = getCharset(req) || defaultCharset + + // read + read(req, res, next, parse, debug, { + encoding: charset, + inflate: inflate, + limit: limit, + verify: verify + }) + } +} + +/** + * Get the charset of a request. + * + * @param {object} req + * @api private + */ + +function getCharset (req) { + try { + return (contentType.parse(req).parameters.charset || '').toLowerCase() + } catch (e) { + return undefined + } +} + +/** + * Get the simple type checker. + * + * @param {string} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} diff --git a/DEV/shortcut-app/node_modules/body-parser/lib/types/urlencoded.js b/DEV/shortcut-app/node_modules/body-parser/lib/types/urlencoded.js new file mode 100644 index 0000000..892e346 --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/lib/types/urlencoded.js @@ -0,0 +1,299 @@ +/*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var bytes = require('bytes') +var contentType = require('content-type') +var createError = require('http-errors') +var debug = require('debug')('body-parser:urlencoded') +var deprecate = require('depd')('body-parser') +var read = require('../read') +var typeis = require('type-is') + +/** + * Module exports. + */ + +module.exports = urlencoded + +/** + * Cache of parser modules. + */ + +var parsers = Object.create(null) + +/** + * Create a middleware to parse urlencoded bodies. + * + * @param {object} [options] + * @return {function} + * @public + */ + +function urlencoded (options) { + var opts = options || {} + + // notice because option default will flip in next major + if (opts.extended === undefined) { + deprecate('undefined extended: provide extended option') + } + + var extended = opts.extended !== false + var inflate = opts.inflate !== false + var limit = typeof opts.limit !== 'number' + ? bytes.parse(opts.limit || '100kb') + : opts.limit + var type = opts.type || 'application/x-www-form-urlencoded' + var verify = opts.verify || false + + if (verify !== false && typeof verify !== 'function') { + throw new TypeError('option verify must be function') + } + + // create the appropriate query parser + var queryparse = extended + ? extendedparser(opts) + : simpleparser(opts) + + // create the appropriate type checking function + var shouldParse = typeof type !== 'function' + ? typeChecker(type) + : type + + function parse (body) { + return body.length + ? queryparse(body) + : {} + } + + return function urlencodedParser (req, res, next) { + if (req._body) { + debug('body already parsed') + next() + return + } + + req.body = req.body || {} + + // skip requests without bodies + if (!typeis.hasBody(req)) { + debug('skip empty body') + next() + return + } + + debug('content-type %j', req.headers['content-type']) + + // determine if request should be parsed + if (!shouldParse(req)) { + debug('skip parsing') + next() + return + } + + // assert charset + var charset = getCharset(req) || 'utf-8' + if (charset !== 'utf-8') { + debug('invalid charset') + next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', { + charset: charset, + type: 'charset.unsupported' + })) + return + } + + // read + read(req, res, next, parse, debug, { + debug: debug, + encoding: charset, + inflate: inflate, + limit: limit, + verify: verify + }) + } +} + +/** + * Get the extended query parser. + * + * @param {object} options + */ + +function extendedparser (options) { + var parameterLimit = options.parameterLimit !== undefined + ? options.parameterLimit + : 1000 + var depth = options.depth !== undefined ? options.depth : 32 + var parse = parser('qs') + + if (isNaN(parameterLimit) || parameterLimit < 1) { + throw new TypeError('option parameterLimit must be a positive number') + } + + if (isNaN(depth) || depth < 0) { + throw new TypeError('option depth must be a zero or a positive number') + } + + if (isFinite(parameterLimit)) { + parameterLimit = parameterLimit | 0 + } + + return function queryparse (body) { + var paramCount = parameterCount(body, parameterLimit) + + if (paramCount === undefined) { + debug('too many parameters') + throw createError(413, 'too many parameters', { + type: 'parameters.too.many' + }) + } + + var arrayLimit = Math.max(100, paramCount) + + debug('parse extended urlencoding') + try { + return parse(body, { + allowPrototypes: true, + arrayLimit: arrayLimit, + depth: depth, + strictDepth: true, + parameterLimit: parameterLimit + }) + } catch (err) { + if (err instanceof RangeError) { + throw createError(400, 'The input exceeded the depth', { + type: 'querystring.parse.rangeError' + }) + } else { + throw err + } + } + } +} + +/** + * Get the charset of a request. + * + * @param {object} req + * @api private + */ + +function getCharset (req) { + try { + return (contentType.parse(req).parameters.charset || '').toLowerCase() + } catch (e) { + return undefined + } +} + +/** + * Count the number of parameters, stopping once limit reached + * + * @param {string} body + * @param {number} limit + * @api private + */ + +function parameterCount (body, limit) { + var count = 0 + var index = -1 + + do { + count++ + if (count > limit) { + return undefined + } + index = body.indexOf('&', index + 1) + } while (index !== -1) + + return count +} + +/** + * Get parser for module name dynamically. + * + * @param {string} name + * @return {function} + * @api private + */ + +function parser (name) { + var mod = parsers[name] + + if (mod !== undefined) { + return mod.parse + } + + // this uses a switch for static require analysis + switch (name) { + case 'qs': + mod = require('qs') + break + case 'querystring': + mod = require('querystring') + break + } + + // store to prevent invoking require() + parsers[name] = mod + + return mod.parse +} + +/** + * Get the simple query parser. + * + * @param {object} options + */ + +function simpleparser (options) { + var parameterLimit = options.parameterLimit !== undefined + ? options.parameterLimit + : 1000 + var parse = parser('querystring') + + if (isNaN(parameterLimit) || parameterLimit < 1) { + throw new TypeError('option parameterLimit must be a positive number') + } + + if (isFinite(parameterLimit)) { + parameterLimit = parameterLimit | 0 + } + + return function queryparse (body) { + var paramCount = parameterCount(body, parameterLimit) + + if (paramCount === undefined) { + debug('too many parameters') + throw createError(413, 'too many parameters', { + type: 'parameters.too.many' + }) + } + + debug('parse urlencoding') + return parse(body, undefined, undefined, { maxKeys: parameterLimit }) + } +} + +/** + * Get the simple type checker. + * + * @param {string} type + * @return {function} + */ + +function typeChecker (type) { + return function checkType (req) { + return Boolean(typeis(req, type)) + } +} diff --git a/DEV/shortcut-app/node_modules/body-parser/package.json b/DEV/shortcut-app/node_modules/body-parser/package.json new file mode 100644 index 0000000..a1d16f8 --- /dev/null +++ b/DEV/shortcut-app/node_modules/body-parser/package.json @@ -0,0 +1,55 @@ +{ + "name": "body-parser", + "description": "Node.js body parsing middleware", + "version": "1.20.5", + "contributors": [ + "Douglas Christopher Wilson ", + "Jonathan Ong (http://jongleberry.com)" + ], + "license": "MIT", + "repository": "expressjs/body-parser", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "devDependencies": { + "eslint": "8.34.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-markdown": "3.0.0", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-standard": "4.1.0", + "methods": "1.1.2", + "mocha": "10.2.0", + "nyc": "15.1.0", + "safe-buffer": "5.2.1", + "supertest": "6.3.3" + }, + "files": [ + "lib/", + "LICENSE", + "HISTORY.md", + "index.js" + ], + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --require test/support/env --reporter spec --check-leaks --bail test/", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} diff --git a/DEV/shortcut-app/node_modules/bytes/History.md b/DEV/shortcut-app/node_modules/bytes/History.md new file mode 100644 index 0000000..d60ce0e --- /dev/null +++ b/DEV/shortcut-app/node_modules/bytes/History.md @@ -0,0 +1,97 @@ +3.1.2 / 2022-01-27 +================== + + * Fix return value for un-parsable strings + +3.1.1 / 2021-11-15 +================== + + * Fix "thousandsSeparator" incorrecting formatting fractional part + +3.1.0 / 2019-01-22 +================== + + * Add petabyte (`pb`) support + +3.0.0 / 2017-08-31 +================== + + * Change "kB" to "KB" in format output + * Remove support for Node.js 0.6 + * Remove support for ComponentJS + +2.5.0 / 2017-03-24 +================== + + * Add option "unit" + +2.4.0 / 2016-06-01 +================== + + * Add option "unitSeparator" + +2.3.0 / 2016-02-15 +================== + + * Drop partial bytes on all parsed units + * Fix non-finite numbers to `.format` to return `null` + * Fix parsing byte string that looks like hex + * perf: hoist regular expressions + +2.2.0 / 2015-11-13 +================== + + * add option "decimalPlaces" + * add option "fixedDecimals" + +2.1.0 / 2015-05-21 +================== + + * add `.format` export + * add `.parse` export + +2.0.2 / 2015-05-20 +================== + + * remove map recreation + * remove unnecessary object construction + +2.0.1 / 2015-05-07 +================== + + * fix browserify require + * remove node.extend dependency + +2.0.0 / 2015-04-12 +================== + + * add option "case" + * add option "thousandsSeparator" + * return "null" on invalid parse input + * support proper round-trip: bytes(bytes(num)) === num + * units no longer case sensitive when parsing + +1.0.0 / 2014-05-05 +================== + + * add negative support. fixes #6 + +0.3.0 / 2014-03-19 +================== + + * added terabyte support + +0.2.1 / 2013-04-01 +================== + + * add .component + +0.2.0 / 2012-10-28 +================== + + * bytes(200).should.eql('200b') + +0.1.0 / 2012-07-04 +================== + + * add bytes to string conversion [yields] diff --git a/DEV/shortcut-app/node_modules/bytes/LICENSE b/DEV/shortcut-app/node_modules/bytes/LICENSE new file mode 100644 index 0000000..63e95a9 --- /dev/null +++ b/DEV/shortcut-app/node_modules/bytes/LICENSE @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012-2014 TJ Holowaychuk +Copyright (c) 2015 Jed Watson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/DEV/shortcut-app/node_modules/bytes/Readme.md b/DEV/shortcut-app/node_modules/bytes/Readme.md new file mode 100644 index 0000000..5790e23 --- /dev/null +++ b/DEV/shortcut-app/node_modules/bytes/Readme.md @@ -0,0 +1,152 @@ +# Bytes utility + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][ci-image]][ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Utility to parse a string bytes (ex: `1TB`) to bytes (`1099511627776`) and vice-versa. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```bash +$ npm install bytes +``` + +## Usage + +```js +var bytes = require('bytes'); +``` + +#### bytes(number|string value, [options]): number|string|null + +Default export function. Delegates to either `bytes.format` or `bytes.parse` based on the type of `value`. + +**Arguments** + +| Name | Type | Description | +|---------|----------|--------------------| +| value | `number`|`string` | Number value to format or string value to parse | +| options | `Object` | Conversion options for `format` | + +**Returns** + +| Name | Type | Description | +|---------|------------------|-------------------------------------------------| +| results | `string`|`number`|`null` | Return null upon error. Numeric value in bytes, or string value otherwise. | + +**Example** + +```js +bytes(1024); +// output: '1KB' + +bytes('1KB'); +// output: 1024 +``` + +#### bytes.format(number value, [options]): string|null + +Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is + rounded. + +**Arguments** + +| Name | Type | Description | +|---------|----------|--------------------| +| value | `number` | Value in bytes | +| options | `Object` | Conversion options | + +**Options** + +| Property | Type | Description | +|-------------------|--------|-----------------------------------------------------------------------------------------| +| decimalPlaces | `number`|`null` | Maximum number of decimal places to include in output. Default value to `2`. | +| fixedDecimals | `boolean`|`null` | Whether to always display the maximum number of decimal places. Default value to `false` | +| thousandsSeparator | `string`|`null` | Example of values: `' '`, `','` and `'.'`... Default value to `''`. | +| unit | `string`|`null` | The unit in which the result will be returned (B/KB/MB/GB/TB). Default value to `''` (which means auto detect). | +| unitSeparator | `string`|`null` | Separator to use between number and unit. Default value to `''`. | + +**Returns** + +| Name | Type | Description | +|---------|------------------|-------------------------------------------------| +| results | `string`|`null` | Return null upon error. String value otherwise. | + +**Example** + +```js +bytes.format(1024); +// output: '1KB' + +bytes.format(1000); +// output: '1000B' + +bytes.format(1000, {thousandsSeparator: ' '}); +// output: '1 000B' + +bytes.format(1024 * 1.7, {decimalPlaces: 0}); +// output: '2KB' + +bytes.format(1024, {unitSeparator: ' '}); +// output: '1 KB' +``` + +#### bytes.parse(string|number value): number|null + +Parse the string value into an integer in bytes. If no unit is given, or `value` +is a number, it is assumed the value is in bytes. + +Supported units and abbreviations are as follows and are case-insensitive: + + * `b` for bytes + * `kb` for kilobytes + * `mb` for megabytes + * `gb` for gigabytes + * `tb` for terabytes + * `pb` for petabytes + +The units are in powers of two, not ten. This means 1kb = 1024b according to this parser. + +**Arguments** + +| Name | Type | Description | +|---------------|--------|--------------------| +| value | `string`|`number` | String to parse, or number in bytes. | + +**Returns** + +| Name | Type | Description | +|---------|-------------|-------------------------| +| results | `number`|`null` | Return null upon error. Value in bytes otherwise. | + +**Example** + +```js +bytes.parse('1KB'); +// output: 1024 + +bytes.parse('1024'); +// output: 1024 + +bytes.parse(1024); +// output: 1024 +``` + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/visionmedia/bytes.js/master?label=ci +[ci-url]: https://github.com/visionmedia/bytes.js/actions?query=workflow%3Aci +[coveralls-image]: https://badgen.net/coveralls/c/github/visionmedia/bytes.js/master +[coveralls-url]: https://coveralls.io/r/visionmedia/bytes.js?branch=master +[downloads-image]: https://badgen.net/npm/dm/bytes +[downloads-url]: https://npmjs.org/package/bytes +[npm-image]: https://badgen.net/npm/v/bytes +[npm-url]: https://npmjs.org/package/bytes diff --git a/DEV/shortcut-app/node_modules/bytes/index.js b/DEV/shortcut-app/node_modules/bytes/index.js new file mode 100644 index 0000000..6f2d0f8 --- /dev/null +++ b/DEV/shortcut-app/node_modules/bytes/index.js @@ -0,0 +1,170 @@ +/*! + * bytes + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015 Jed Watson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = bytes; +module.exports.format = format; +module.exports.parse = parse; + +/** + * Module variables. + * @private + */ + +var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g; + +var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/; + +var map = { + b: 1, + kb: 1 << 10, + mb: 1 << 20, + gb: 1 << 30, + tb: Math.pow(1024, 4), + pb: Math.pow(1024, 5), +}; + +var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i; + +/** + * Convert the given value in bytes into a string or parse to string to an integer in bytes. + * + * @param {string|number} value + * @param {{ + * case: [string], + * decimalPlaces: [number] + * fixedDecimals: [boolean] + * thousandsSeparator: [string] + * unitSeparator: [string] + * }} [options] bytes options. + * + * @returns {string|number|null} + */ + +function bytes(value, options) { + if (typeof value === 'string') { + return parse(value); + } + + if (typeof value === 'number') { + return format(value, options); + } + + return null; +} + +/** + * Format the given value in bytes into a string. + * + * If the value is negative, it is kept as such. If it is a float, + * it is rounded. + * + * @param {number} value + * @param {object} [options] + * @param {number} [options.decimalPlaces=2] + * @param {number} [options.fixedDecimals=false] + * @param {string} [options.thousandsSeparator=] + * @param {string} [options.unit=] + * @param {string} [options.unitSeparator=] + * + * @returns {string|null} + * @public + */ + +function format(value, options) { + if (!Number.isFinite(value)) { + return null; + } + + var mag = Math.abs(value); + var thousandsSeparator = (options && options.thousandsSeparator) || ''; + var unitSeparator = (options && options.unitSeparator) || ''; + var decimalPlaces = (options && options.decimalPlaces !== undefined) ? options.decimalPlaces : 2; + var fixedDecimals = Boolean(options && options.fixedDecimals); + var unit = (options && options.unit) || ''; + + if (!unit || !map[unit.toLowerCase()]) { + if (mag >= map.pb) { + unit = 'PB'; + } else if (mag >= map.tb) { + unit = 'TB'; + } else if (mag >= map.gb) { + unit = 'GB'; + } else if (mag >= map.mb) { + unit = 'MB'; + } else if (mag >= map.kb) { + unit = 'KB'; + } else { + unit = 'B'; + } + } + + var val = value / map[unit.toLowerCase()]; + var str = val.toFixed(decimalPlaces); + + if (!fixedDecimals) { + str = str.replace(formatDecimalsRegExp, '$1'); + } + + if (thousandsSeparator) { + str = str.split('.').map(function (s, i) { + return i === 0 + ? s.replace(formatThousandsRegExp, thousandsSeparator) + : s + }).join('.'); + } + + return str + unitSeparator + unit; +} + +/** + * Parse the string value into an integer in bytes. + * + * If no unit is given, it is assumed the value is in bytes. + * + * @param {number|string} val + * + * @returns {number|null} + * @public + */ + +function parse(val) { + if (typeof val === 'number' && !isNaN(val)) { + return val; + } + + if (typeof val !== 'string') { + return null; + } + + // Test if the string passed is valid + var results = parseRegExp.exec(val); + var floatValue; + var unit = 'b'; + + if (!results) { + // Nothing could be extracted from the given string + floatValue = parseInt(val, 10); + unit = 'b' + } else { + // Retrieve the value and the unit + floatValue = parseFloat(results[1]); + unit = results[4].toLowerCase(); + } + + if (isNaN(floatValue)) { + return null; + } + + return Math.floor(map[unit] * floatValue); +} diff --git a/DEV/shortcut-app/node_modules/bytes/package.json b/DEV/shortcut-app/node_modules/bytes/package.json new file mode 100644 index 0000000..f2b6a8b --- /dev/null +++ b/DEV/shortcut-app/node_modules/bytes/package.json @@ -0,0 +1,42 @@ +{ + "name": "bytes", + "description": "Utility to parse a string bytes to bytes and vice-versa", + "version": "3.1.2", + "author": "TJ Holowaychuk (http://tjholowaychuk.com)", + "contributors": [ + "Jed Watson ", + "Théo FIDRY " + ], + "license": "MIT", + "keywords": [ + "byte", + "bytes", + "utility", + "parse", + "parser", + "convert", + "converter" + ], + "repository": "visionmedia/bytes.js", + "devDependencies": { + "eslint": "7.32.0", + "eslint-plugin-markdown": "2.2.1", + "mocha": "9.2.0", + "nyc": "15.1.0" + }, + "files": [ + "History.md", + "LICENSE", + "Readme.md", + "index.js" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --check-leaks --reporter spec", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.eslintrc b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.eslintrc new file mode 100644 index 0000000..201e859 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.eslintrc @@ -0,0 +1,17 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "func-name-matching": 0, + "id-length": 0, + "new-cap": [2, { + "capIsNewExceptions": [ + "GetIntrinsic", + ], + }], + "no-extra-parens": 0, + "no-magic-numbers": 0, + }, +} diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.github/FUNDING.yml b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.github/FUNDING.yml new file mode 100644 index 0000000..0011e9d --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/call-bind-apply-helpers +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.nycrc b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.nycrc new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/CHANGELOG.md b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/CHANGELOG.md new file mode 100644 index 0000000..2484942 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/CHANGELOG.md @@ -0,0 +1,30 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.2](https://github.com/ljharb/call-bind-apply-helpers/compare/v1.0.1...v1.0.2) - 2025-02-12 + +### Commits + +- [types] improve inferred types [`e6f9586`](https://github.com/ljharb/call-bind-apply-helpers/commit/e6f95860a3c72879cb861a858cdfb8138fbedec1) +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `@types/tape`, `es-value-fixtures`, `for-each`, `has-strict-mode`, `object-inspect` [`e43d540`](https://github.com/ljharb/call-bind-apply-helpers/commit/e43d5409f97543bfbb11f345d47d8ce4e066d8c1) + +## [v1.0.1](https://github.com/ljharb/call-bind-apply-helpers/compare/v1.0.0...v1.0.1) - 2024-12-08 + +### Commits + +- [types] `reflectApply`: fix types [`4efc396`](https://github.com/ljharb/call-bind-apply-helpers/commit/4efc3965351a4f02cc55e836fa391d3d11ef2ef8) +- [Fix] `reflectApply`: oops, Reflect is not a function [`83cc739`](https://github.com/ljharb/call-bind-apply-helpers/commit/83cc7395de6b79b7730bdf092f1436f0b1263c75) +- [Dev Deps] update `@arethetypeswrong/cli` [`80bd5d3`](https://github.com/ljharb/call-bind-apply-helpers/commit/80bd5d3ae58b4f6b6995ce439dd5a1bcb178a940) + +## v1.0.0 - 2024-12-05 + +### Commits + +- Initial implementation, tests, readme [`7879629`](https://github.com/ljharb/call-bind-apply-helpers/commit/78796290f9b7430c9934d6f33d94ae9bc89fce04) +- Initial commit [`3f1dc16`](https://github.com/ljharb/call-bind-apply-helpers/commit/3f1dc164afc43285631b114a5f9dd9137b2b952f) +- npm init [`081df04`](https://github.com/ljharb/call-bind-apply-helpers/commit/081df048c312fcee400922026f6e97281200a603) +- Only apps should have lockfiles [`5b9ca0f`](https://github.com/ljharb/call-bind-apply-helpers/commit/5b9ca0fe8101ebfaf309c549caac4e0a017ed930) diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/LICENSE b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/LICENSE new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/README.md b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/README.md new file mode 100644 index 0000000..8fc0dae --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/README.md @@ -0,0 +1,62 @@ +# call-bind-apply-helpers [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Helper functions around Function call/apply/bind, for use in `call-bind`. + +The only packages that should likely ever use this package directly are `call-bind` and `get-intrinsic`. +Please use `call-bind` unless you have a very good reason not to. + +## Getting started + +```sh +npm install --save call-bind-apply-helpers +``` + +## Usage/Examples + +```js +const assert = require('assert'); +const callBindBasic = require('call-bind-apply-helpers'); + +function f(a, b) { + assert.equal(this, 1); + assert.equal(a, 2); + assert.equal(b, 3); + assert.equal(arguments.length, 2); +} + +const fBound = callBindBasic([f, 1]); + +delete Function.prototype.call; +delete Function.prototype.bind; + +fBound(2, 3); +``` + +## Tests + +Clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/call-bind-apply-helpers +[npm-version-svg]: https://versionbadg.es/ljharb/call-bind-apply-helpers.svg +[deps-svg]: https://david-dm.org/ljharb/call-bind-apply-helpers.svg +[deps-url]: https://david-dm.org/ljharb/call-bind-apply-helpers +[dev-deps-svg]: https://david-dm.org/ljharb/call-bind-apply-helpers/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/call-bind-apply-helpers#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/call-bind-apply-helpers.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/call-bind-apply-helpers.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/call-bind-apply-helpers.svg +[downloads-url]: https://npm-stat.com/charts.html?package=call-bind-apply-helpers +[codecov-image]: https://codecov.io/gh/ljharb/call-bind-apply-helpers/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/call-bind-apply-helpers/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/call-bind-apply-helpers +[actions-url]: https://github.com/ljharb/call-bind-apply-helpers/actions diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/actualApply.d.ts b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/actualApply.d.ts new file mode 100644 index 0000000..b87286a --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/actualApply.d.ts @@ -0,0 +1 @@ +export = Reflect.apply; \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/actualApply.js b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/actualApply.js new file mode 100644 index 0000000..ffa5135 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/actualApply.js @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); + +var $apply = require('./functionApply'); +var $call = require('./functionCall'); +var $reflectApply = require('./reflectApply'); + +/** @type {import('./actualApply')} */ +module.exports = $reflectApply || bind.call($call, $apply); diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/applyBind.d.ts b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/applyBind.d.ts new file mode 100644 index 0000000..d176c1a --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/applyBind.d.ts @@ -0,0 +1,19 @@ +import actualApply from './actualApply'; + +type TupleSplitHead = T['length'] extends N + ? T + : T extends [...infer R, any] + ? TupleSplitHead + : never + +type TupleSplitTail = O['length'] extends N + ? T + : T extends [infer F, ...infer R] + ? TupleSplitTail<[...R], N, [...O, F]> + : never + +type TupleSplit = [TupleSplitHead, TupleSplitTail] + +declare function applyBind(...args: TupleSplit, 2>[1]): ReturnType; + +export = applyBind; \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/applyBind.js b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/applyBind.js new file mode 100644 index 0000000..d2b7723 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/applyBind.js @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); +var $apply = require('./functionApply'); +var actualApply = require('./actualApply'); + +/** @type {import('./applyBind')} */ +module.exports = function applyBind() { + return actualApply(bind, $apply, arguments); +}; diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionApply.d.ts b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionApply.d.ts new file mode 100644 index 0000000..1f6e11b --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionApply.d.ts @@ -0,0 +1 @@ +export = Function.prototype.apply; \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionApply.js b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionApply.js new file mode 100644 index 0000000..c71df9c --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionApply.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionApply')} */ +module.exports = Function.prototype.apply; diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionCall.d.ts b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionCall.d.ts new file mode 100644 index 0000000..15e93df --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionCall.d.ts @@ -0,0 +1 @@ +export = Function.prototype.call; \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionCall.js b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionCall.js new file mode 100644 index 0000000..7a8d873 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/functionCall.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionCall')} */ +module.exports = Function.prototype.call; diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/index.d.ts b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/index.d.ts new file mode 100644 index 0000000..541516b --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/index.d.ts @@ -0,0 +1,64 @@ +type RemoveFromTuple< + Tuple extends readonly unknown[], + RemoveCount extends number, + Index extends 1[] = [] +> = Index["length"] extends RemoveCount + ? Tuple + : Tuple extends [infer First, ...infer Rest] + ? RemoveFromTuple + : Tuple; + +type ConcatTuples< + Prefix extends readonly unknown[], + Suffix extends readonly unknown[] +> = [...Prefix, ...Suffix]; + +type ExtractFunctionParams = T extends (this: infer TThis, ...args: infer P extends readonly unknown[]) => infer R + ? { thisArg: TThis; params: P; returnType: R } + : never; + +type BindFunction< + T extends (this: any, ...args: any[]) => any, + TThis, + TBoundArgs extends readonly unknown[], + ReceiverBound extends boolean +> = ExtractFunctionParams extends { + thisArg: infer OrigThis; + params: infer P extends readonly unknown[]; + returnType: infer R; +} + ? ReceiverBound extends true + ? (...args: RemoveFromTuple>) => R extends [OrigThis, ...infer Rest] + ? [TThis, ...Rest] // Replace `this` with `thisArg` + : R + : >>( + thisArg: U, + ...args: RemainingArgs + ) => R extends [OrigThis, ...infer Rest] + ? [U, ...ConcatTuples] // Preserve bound args in return type + : R + : never; + +declare function callBind< + const T extends (this: any, ...args: any[]) => any, + Extracted extends ExtractFunctionParams, + const TBoundArgs extends Partial & readonly unknown[], + const TThis extends Extracted["thisArg"] +>( + args: [fn: T, thisArg: TThis, ...boundArgs: TBoundArgs] +): BindFunction; + +declare function callBind< + const T extends (this: any, ...args: any[]) => any, + Extracted extends ExtractFunctionParams, + const TBoundArgs extends Partial & readonly unknown[] +>( + args: [fn: T, ...boundArgs: TBoundArgs] +): BindFunction; + +declare function callBind( + args: [fn: Exclude, ...rest: TArgs] +): never; + +// export as namespace callBind; +export = callBind; diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/index.js b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/index.js new file mode 100644 index 0000000..2f6dab4 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/index.js @@ -0,0 +1,15 @@ +'use strict'; + +var bind = require('function-bind'); +var $TypeError = require('es-errors/type'); + +var $call = require('./functionCall'); +var $actualApply = require('./actualApply'); + +/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */ +module.exports = function callBindBasic(args) { + if (args.length < 1 || typeof args[0] !== 'function') { + throw new $TypeError('a function is required'); + } + return $actualApply(bind, $call, args); +}; diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/package.json b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/package.json new file mode 100644 index 0000000..923b8be --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/package.json @@ -0,0 +1,85 @@ +{ + "name": "call-bind-apply-helpers", + "version": "1.0.2", + "description": "Helper functions around Function call/apply/bind, for use in `call-bind`", + "main": "index.js", + "exports": { + ".": "./index.js", + "./actualApply": "./actualApply.js", + "./applyBind": "./applyBind.js", + "./functionApply": "./functionApply.js", + "./functionCall": "./functionCall.js", + "./reflectApply": "./reflectApply.js", + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=auto", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/call-bind-apply-helpers.git" + }, + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/call-bind-apply-helpers/issues" + }, + "homepage": "https://github.com/ljharb/call-bind-apply-helpers#readme", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.3", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/for-each": "^0.3.3", + "@types/function-bind": "^1.1.10", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "has-strict-mode": "^1.1.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/reflectApply.d.ts b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/reflectApply.d.ts new file mode 100644 index 0000000..6b2ae76 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/reflectApply.d.ts @@ -0,0 +1,3 @@ +declare const reflectApply: false | typeof Reflect.apply; + +export = reflectApply; diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/reflectApply.js b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/reflectApply.js new file mode 100644 index 0000000..3d03caa --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/reflectApply.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./reflectApply')} */ +module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply; diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/test/index.js b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/test/index.js new file mode 100644 index 0000000..1cdc89e --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/test/index.js @@ -0,0 +1,63 @@ +'use strict'; + +var callBind = require('../'); +var hasStrictMode = require('has-strict-mode')(); +var forEach = require('for-each'); +var inspect = require('object-inspect'); +var v = require('es-value-fixtures'); + +var test = require('tape'); + +test('callBindBasic', function (t) { + forEach(v.nonFunctions, function (nonFunction) { + t['throws']( + // @ts-expect-error + function () { callBind([nonFunction]); }, + TypeError, + inspect(nonFunction) + ' is not a function' + ); + }); + + var sentinel = { sentinel: true }; + /** @type {(this: T, a: A, b: B) => [T | undefined, A, B]} */ + var func = function (a, b) { + // eslint-disable-next-line no-invalid-this + return [!hasStrictMode && this === global ? undefined : this, a, b]; + }; + t.equal(func.length, 2, 'original function length is 2'); + + /** type {(thisArg: unknown, a: number, b: number) => [unknown, number, number]} */ + var bound = callBind([func]); + /** type {((a: number, b: number) => [typeof sentinel, typeof a, typeof b])} */ + var boundR = callBind([func, sentinel]); + /** type {((b: number) => [typeof sentinel, number, typeof b])} */ + var boundArg = callBind([func, sentinel, /** @type {const} */ (1)]); + + // @ts-expect-error + t.deepEqual(bound(), [undefined, undefined, undefined], 'bound func with no args'); + + // @ts-expect-error + t.deepEqual(func(), [undefined, undefined, undefined], 'unbound func with too few args'); + // @ts-expect-error + t.deepEqual(bound(1, 2), [hasStrictMode ? 1 : Object(1), 2, undefined], 'bound func too few args'); + // @ts-expect-error + t.deepEqual(boundR(), [sentinel, undefined, undefined], 'bound func with receiver, with too few args'); + // @ts-expect-error + t.deepEqual(boundArg(), [sentinel, 1, undefined], 'bound func with receiver and arg, with too few args'); + + t.deepEqual(func(1, 2), [undefined, 1, 2], 'unbound func with right args'); + t.deepEqual(bound(1, 2, 3), [hasStrictMode ? 1 : Object(1), 2, 3], 'bound func with right args'); + t.deepEqual(boundR(1, 2), [sentinel, 1, 2], 'bound func with receiver, with right args'); + t.deepEqual(boundArg(2), [sentinel, 1, 2], 'bound func with receiver and arg, with right arg'); + + // @ts-expect-error + t.deepEqual(func(1, 2, 3), [undefined, 1, 2], 'unbound func with too many args'); + // @ts-expect-error + t.deepEqual(bound(1, 2, 3, 4), [hasStrictMode ? 1 : Object(1), 2, 3], 'bound func with too many args'); + // @ts-expect-error + t.deepEqual(boundR(1, 2, 3), [sentinel, 1, 2], 'bound func with receiver, with too many args'); + // @ts-expect-error + t.deepEqual(boundArg(2, 3), [sentinel, 1, 2], 'bound func with receiver and arg, with too many args'); + + t.end(); +}); diff --git a/DEV/shortcut-app/node_modules/call-bind-apply-helpers/tsconfig.json b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/tsconfig.json new file mode 100644 index 0000000..aef9993 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bind-apply-helpers/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/call-bound/.eslintrc b/DEV/shortcut-app/node_modules/call-bound/.eslintrc new file mode 100644 index 0000000..2612ed8 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/.eslintrc @@ -0,0 +1,13 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "new-cap": [2, { + "capIsNewExceptions": [ + "GetIntrinsic", + ], + }], + }, +} diff --git a/DEV/shortcut-app/node_modules/call-bound/.github/FUNDING.yml b/DEV/shortcut-app/node_modules/call-bound/.github/FUNDING.yml new file mode 100644 index 0000000..2a2a135 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/call-bound +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/DEV/shortcut-app/node_modules/call-bound/.nycrc b/DEV/shortcut-app/node_modules/call-bound/.nycrc new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/DEV/shortcut-app/node_modules/call-bound/CHANGELOG.md b/DEV/shortcut-app/node_modules/call-bound/CHANGELOG.md new file mode 100644 index 0000000..8bde4e9 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/CHANGELOG.md @@ -0,0 +1,42 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.4](https://github.com/ljharb/call-bound/compare/v1.0.3...v1.0.4) - 2025-03-03 + +### Commits + +- [types] improve types [`e648922`](https://github.com/ljharb/call-bound/commit/e6489222a9e54f350fbf952ceabe51fd8b6027ff) +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `@types/tape`, `es-value-fixtures`, `for-each`, `has-strict-mode`, `object-inspect` [`a42a5eb`](https://github.com/ljharb/call-bound/commit/a42a5ebe6c1b54fcdc7997c7dc64fdca9e936719) +- [Deps] update `call-bind-apply-helpers`, `get-intrinsic` [`f529eac`](https://github.com/ljharb/call-bound/commit/f529eac132404c17156bbc23ab2297a25d0f20b8) + +## [v1.0.3](https://github.com/ljharb/call-bound/compare/v1.0.2...v1.0.3) - 2024-12-15 + +### Commits + +- [Refactor] use `call-bind-apply-helpers` instead of `call-bind` [`5e0b134`](https://github.com/ljharb/call-bound/commit/5e0b13496df14fb7d05dae9412f088da8d3f75be) +- [Deps] update `get-intrinsic` [`41fc967`](https://github.com/ljharb/call-bound/commit/41fc96732a22c7b7e8f381f93ccc54bb6293be2e) +- [readme] fix example [`79a0137`](https://github.com/ljharb/call-bound/commit/79a0137723f7c6d09c9c05452bbf8d5efb5d6e49) +- [meta] add `sideEffects` flag [`08b07be`](https://github.com/ljharb/call-bound/commit/08b07be7f1c03f67dc6f3cdaf0906259771859f7) + +## [v1.0.2](https://github.com/ljharb/call-bound/compare/v1.0.1...v1.0.2) - 2024-12-10 + +### Commits + +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `gopd` [`e6a5ffe`](https://github.com/ljharb/call-bound/commit/e6a5ffe849368fe4f74dfd6cdeca1b9baa39e8d5) +- [Deps] update `call-bind`, `get-intrinsic` [`2aeb5b5`](https://github.com/ljharb/call-bound/commit/2aeb5b521dc2b2683d1345c753ea1161de2d1c14) +- [types] improve return type [`1a0c9fe`](https://github.com/ljharb/call-bound/commit/1a0c9fe3114471e7ca1f57d104e2efe713bb4871) + +## v1.0.1 - 2024-12-05 + +### Commits + +- Initial implementation, tests, readme, types [`6d94121`](https://github.com/ljharb/call-bound/commit/6d94121a9243602e506334069f7a03189fe3363d) +- Initial commit [`0eae867`](https://github.com/ljharb/call-bound/commit/0eae867334ea025c33e6e91cdecfc9df96680cf9) +- npm init [`71b2479`](https://github.com/ljharb/call-bound/commit/71b2479c6723e0b7d91a6b663613067e98b7b275) +- Only apps should have lockfiles [`c3754a9`](https://github.com/ljharb/call-bound/commit/c3754a949b7f9132b47e2d18c1729889736741eb) +- [actions] skip `npm ls` in node < 10 [`74275a5`](https://github.com/ljharb/call-bound/commit/74275a5186b8caf6309b6b97472bdcb0df4683a8) +- [Dev Deps] add missing peer dep [`1354de8`](https://github.com/ljharb/call-bound/commit/1354de8679413e4ae9c523d85f76fa7a5e032d97) diff --git a/DEV/shortcut-app/node_modules/call-bound/LICENSE b/DEV/shortcut-app/node_modules/call-bound/LICENSE new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/DEV/shortcut-app/node_modules/call-bound/README.md b/DEV/shortcut-app/node_modules/call-bound/README.md new file mode 100644 index 0000000..a44e43e --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/README.md @@ -0,0 +1,53 @@ +# call-bound [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`. + +## Getting started + +```sh +npm install --save call-bound +``` + +## Usage/Examples + +```js +const assert = require('assert'); +const callBound = require('call-bound'); + +const slice = callBound('Array.prototype.slice'); + +delete Function.prototype.call; +delete Function.prototype.bind; +delete Array.prototype.slice; + +assert.deepEqual(slice([1, 2, 3, 4], 1, -1), [2, 3]); +``` + +## Tests + +Clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/call-bound +[npm-version-svg]: https://versionbadg.es/ljharb/call-bound.svg +[deps-svg]: https://david-dm.org/ljharb/call-bound.svg +[deps-url]: https://david-dm.org/ljharb/call-bound +[dev-deps-svg]: https://david-dm.org/ljharb/call-bound/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/call-bound#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/call-bound.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/call-bound.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/call-bound.svg +[downloads-url]: https://npm-stat.com/charts.html?package=call-bound +[codecov-image]: https://codecov.io/gh/ljharb/call-bound/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/call-bound/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/call-bound +[actions-url]: https://github.com/ljharb/call-bound/actions diff --git a/DEV/shortcut-app/node_modules/call-bound/index.d.ts b/DEV/shortcut-app/node_modules/call-bound/index.d.ts new file mode 100644 index 0000000..5562f00 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/index.d.ts @@ -0,0 +1,94 @@ +type Intrinsic = typeof globalThis; + +type IntrinsicName = keyof Intrinsic | `%${keyof Intrinsic}%`; + +type IntrinsicPath = IntrinsicName | `${StripPercents}.${string}` | `%${StripPercents}.${string}%`; + +type AllowMissing = boolean; + +type StripPercents = T extends `%${infer U}%` ? U : T; + +type BindMethodPrecise = + F extends (this: infer This, ...args: infer Args) => infer R + ? (obj: This, ...args: Args) => R + : F extends { + (this: infer This1, ...args: infer Args1): infer R1; + (this: infer This2, ...args: infer Args2): infer R2 + } + ? { + (obj: This1, ...args: Args1): R1; + (obj: This2, ...args: Args2): R2 + } + : never + +// Extract method type from a prototype +type GetPrototypeMethod = + (typeof globalThis)[T] extends { prototype: any } + ? M extends keyof (typeof globalThis)[T]['prototype'] + ? (typeof globalThis)[T]['prototype'][M] + : never + : never + +// Get static property/method +type GetStaticMember = + P extends keyof (typeof globalThis)[T] ? (typeof globalThis)[T][P] : never + +// Type that maps string path to actual bound function or value with better precision +type BoundIntrinsic = + S extends `${infer Obj}.prototype.${infer Method}` + ? Obj extends keyof typeof globalThis + ? BindMethodPrecise> + : unknown + : S extends `${infer Obj}.${infer Prop}` + ? Obj extends keyof typeof globalThis + ? GetStaticMember + : unknown + : unknown + +declare function arraySlice(array: readonly T[], start?: number, end?: number): T[]; +declare function arraySlice(array: ArrayLike, start?: number, end?: number): T[]; +declare function arraySlice(array: IArguments, start?: number, end?: number): T[]; + +// Special cases for methods that need explicit typing +interface SpecialCases { + '%Object.prototype.isPrototypeOf%': (thisArg: {}, obj: unknown) => boolean; + '%String.prototype.replace%': { + (str: string, searchValue: string | RegExp, replaceValue: string): string; + (str: string, searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string + }; + '%Object.prototype.toString%': (obj: {}) => string; + '%Object.prototype.hasOwnProperty%': (obj: {}, v: PropertyKey) => boolean; + '%Array.prototype.slice%': typeof arraySlice; + '%Array.prototype.map%': (array: readonly T[], callbackfn: (value: T, index: number, array: readonly T[]) => U, thisArg?: any) => U[]; + '%Array.prototype.filter%': (array: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any) => T[]; + '%Array.prototype.indexOf%': (array: readonly T[], searchElement: T, fromIndex?: number) => number; + '%Function.prototype.apply%': (fn: (...args: A) => R, thisArg: any, args: A) => R; + '%Function.prototype.call%': (fn: (...args: A) => R, thisArg: any, ...args: A) => R; + '%Function.prototype.bind%': (fn: (...args: A) => R, thisArg: any, ...args: A) => (...remainingArgs: A) => R; + '%Promise.prototype.then%': { + (promise: Promise, onfulfilled: (value: T) => R | PromiseLike): Promise; + (promise: Promise, onfulfilled: ((value: T) => R | PromiseLike) | undefined | null, onrejected: (reason: any) => R | PromiseLike): Promise; + }; + '%RegExp.prototype.test%': (regexp: RegExp, str: string) => boolean; + '%RegExp.prototype.exec%': (regexp: RegExp, str: string) => RegExpExecArray | null; + '%Error.prototype.toString%': (error: Error) => string; + '%TypeError.prototype.toString%': (error: TypeError) => string; + '%String.prototype.split%': ( + obj: unknown, + splitter: string | RegExp | { + [Symbol.split](string: string, limit?: number): string[]; + }, + limit?: number | undefined + ) => string[]; +} + +/** + * Returns a bound function for a prototype method, or a value for a static property. + * + * @param name - The name of the intrinsic (e.g. 'Array.prototype.slice') + * @param {AllowMissing} [allowMissing] - Whether to allow missing intrinsics (default: false) + */ +declare function callBound, S extends IntrinsicPath>(name: K, allowMissing?: AllowMissing): SpecialCases[`%${StripPercents}%`]; +declare function callBound, S extends IntrinsicPath>(name: S, allowMissing?: AllowMissing): BoundIntrinsic; + +export = callBound; diff --git a/DEV/shortcut-app/node_modules/call-bound/index.js b/DEV/shortcut-app/node_modules/call-bound/index.js new file mode 100644 index 0000000..e9ade74 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/index.js @@ -0,0 +1,19 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); + +var callBindBasic = require('call-bind-apply-helpers'); + +/** @type {(thisArg: string, searchString: string, position?: number) => number} */ +var $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]); + +/** @type {import('.')} */ +module.exports = function callBoundIntrinsic(name, allowMissing) { + /* eslint no-extra-parens: 0 */ + + var intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing)); + if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { + return callBindBasic(/** @type {const} */ ([intrinsic])); + } + return intrinsic; +}; diff --git a/DEV/shortcut-app/node_modules/call-bound/package.json b/DEV/shortcut-app/node_modules/call-bound/package.json new file mode 100644 index 0000000..d542db4 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/package.json @@ -0,0 +1,99 @@ +{ + "name": "call-bound", + "version": "1.0.4", + "description": "Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=auto", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/call-bound.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "es", + "js", + "callbind", + "callbound", + "call", + "bind", + "bound", + "call-bind", + "call-bound", + "function", + "es-abstract" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/call-bound/issues" + }, + "homepage": "https://github.com/ljharb/call-bound#readme", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.4", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.3.0", + "@types/call-bind": "^1.0.5", + "@types/get-intrinsic": "^1.2.3", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "has-strict-mode": "^1.1.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/DEV/shortcut-app/node_modules/call-bound/test/index.js b/DEV/shortcut-app/node_modules/call-bound/test/index.js new file mode 100644 index 0000000..a2fc9f0 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/test/index.js @@ -0,0 +1,61 @@ +'use strict'; + +var test = require('tape'); + +var callBound = require('../'); + +/** @template {true} T @template U @typedef {T extends U ? T : never} AssertType */ + +test('callBound', function (t) { + // static primitive + t.equal(callBound('Array.length'), Array.length, 'Array.length yields itself'); + t.equal(callBound('%Array.length%'), Array.length, '%Array.length% yields itself'); + + // static non-function object + t.equal(callBound('Array.prototype'), Array.prototype, 'Array.prototype yields itself'); + t.equal(callBound('%Array.prototype%'), Array.prototype, '%Array.prototype% yields itself'); + t.equal(callBound('Array.constructor'), Array.constructor, 'Array.constructor yields itself'); + t.equal(callBound('%Array.constructor%'), Array.constructor, '%Array.constructor% yields itself'); + + // static function + t.equal(callBound('Date.parse'), Date.parse, 'Date.parse yields itself'); + t.equal(callBound('%Date.parse%'), Date.parse, '%Date.parse% yields itself'); + + // prototype primitive + t.equal(callBound('Error.prototype.message'), Error.prototype.message, 'Error.prototype.message yields itself'); + t.equal(callBound('%Error.prototype.message%'), Error.prototype.message, '%Error.prototype.message% yields itself'); + + var x = callBound('Object.prototype.toString'); + var y = callBound('%Object.prototype.toString%'); + + // prototype function + t.notEqual(x, Object.prototype.toString, 'Object.prototype.toString does not yield itself'); + t.notEqual(y, Object.prototype.toString, '%Object.prototype.toString% does not yield itself'); + t.equal(x(true), Object.prototype.toString.call(true), 'call-bound Object.prototype.toString calls into the original'); + t.equal(y(true), Object.prototype.toString.call(true), 'call-bound %Object.prototype.toString% calls into the original'); + + t['throws']( + // @ts-expect-error + function () { callBound('does not exist'); }, + SyntaxError, + 'nonexistent intrinsic throws' + ); + t['throws']( + // @ts-expect-error + function () { callBound('does not exist', true); }, + SyntaxError, + 'allowMissing arg still throws for unknown intrinsic' + ); + + t.test('real but absent intrinsic', { skip: typeof WeakRef !== 'undefined' }, function (st) { + st['throws']( + function () { callBound('WeakRef'); }, + TypeError, + 'real but absent intrinsic throws' + ); + st.equal(callBound('WeakRef', true), undefined, 'allowMissing arg avoids exception'); + st.end(); + }); + + t.end(); +}); diff --git a/DEV/shortcut-app/node_modules/call-bound/tsconfig.json b/DEV/shortcut-app/node_modules/call-bound/tsconfig.json new file mode 100644 index 0000000..8976d98 --- /dev/null +++ b/DEV/shortcut-app/node_modules/call-bound/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "ESNext", + "lib": ["es2024"], + }, + "exclude": [ + "coverage", + ], +} diff --git a/DEV/shortcut-app/node_modules/content-disposition/HISTORY.md b/DEV/shortcut-app/node_modules/content-disposition/HISTORY.md new file mode 100644 index 0000000..488effa --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-disposition/HISTORY.md @@ -0,0 +1,60 @@ +0.5.4 / 2021-12-10 +================== + + * deps: safe-buffer@5.2.1 + +0.5.3 / 2018-12-17 +================== + + * Use `safe-buffer` for improved Buffer API + +0.5.2 / 2016-12-08 +================== + + * Fix `parse` to accept any linear whitespace character + +0.5.1 / 2016-01-17 +================== + + * perf: enable strict mode + +0.5.0 / 2014-10-11 +================== + + * Add `parse` function + +0.4.0 / 2014-09-21 +================== + + * Expand non-Unicode `filename` to the full ISO-8859-1 charset + +0.3.0 / 2014-09-20 +================== + + * Add `fallback` option + * Add `type` option + +0.2.0 / 2014-09-19 +================== + + * Reduce ambiguity of file names with hex escape in buggy browsers + +0.1.2 / 2014-09-19 +================== + + * Fix periodic invalid Unicode filename header + +0.1.1 / 2014-09-19 +================== + + * Fix invalid characters appearing in `filename*` parameter + +0.1.0 / 2014-09-18 +================== + + * Make the `filename` argument optional + +0.0.0 / 2014-09-18 +================== + + * Initial release diff --git a/DEV/shortcut-app/node_modules/content-disposition/LICENSE b/DEV/shortcut-app/node_modules/content-disposition/LICENSE new file mode 100644 index 0000000..84441fb --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-disposition/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/DEV/shortcut-app/node_modules/content-disposition/README.md b/DEV/shortcut-app/node_modules/content-disposition/README.md new file mode 100644 index 0000000..3a0bb05 --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-disposition/README.md @@ -0,0 +1,142 @@ +# content-disposition + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][github-actions-ci-image]][github-actions-ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Create and parse HTTP `Content-Disposition` header + +## Installation + +```sh +$ npm install content-disposition +``` + +## API + +```js +var contentDisposition = require('content-disposition') +``` + +### contentDisposition(filename, options) + +Create an attachment `Content-Disposition` header value using the given file name, +if supplied. The `filename` is optional and if no file name is desired, but you +want to specify `options`, set `filename` to `undefined`. + +```js +res.setHeader('Content-Disposition', contentDisposition('∫ maths.pdf')) +``` + +**note** HTTP headers are of the ISO-8859-1 character set. If you are writing this +header through a means different from `setHeader` in Node.js, you'll want to specify +the `'binary'` encoding in Node.js. + +#### Options + +`contentDisposition` accepts these properties in the options object. + +##### fallback + +If the `filename` option is outside ISO-8859-1, then the file name is actually +stored in a supplemental field for clients that support Unicode file names and +a ISO-8859-1 version of the file name is automatically generated. + +This specifies the ISO-8859-1 file name to override the automatic generation or +disables the generation all together, defaults to `true`. + + - A string will specify the ISO-8859-1 file name to use in place of automatic + generation. + - `false` will disable including a ISO-8859-1 file name and only include the + Unicode version (unless the file name is already ISO-8859-1). + - `true` will enable automatic generation if the file name is outside ISO-8859-1. + +If the `filename` option is ISO-8859-1 and this option is specified and has a +different value, then the `filename` option is encoded in the extended field +and this set as the fallback field, even though they are both ISO-8859-1. + +##### type + +Specifies the disposition type, defaults to `"attachment"`. This can also be +`"inline"`, or any other value (all values except inline are treated like +`attachment`, but can convey additional information if both parties agree to +it). The type is normalized to lower-case. + +### contentDisposition.parse(string) + +```js +var disposition = contentDisposition.parse('attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt') +``` + +Parse a `Content-Disposition` header string. This automatically handles extended +("Unicode") parameters by decoding them and providing them under the standard +parameter name. This will return an object with the following properties (examples +are shown for the string `'attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt'`): + + - `type`: The disposition type (always lower case). Example: `'attachment'` + + - `parameters`: An object of the parameters in the disposition (name of parameter + always lower case and extended versions replace non-extended versions). Example: + `{filename: "€ rates.txt"}` + +## Examples + +### Send a file for download + +```js +var contentDisposition = require('content-disposition') +var destroy = require('destroy') +var fs = require('fs') +var http = require('http') +var onFinished = require('on-finished') + +var filePath = '/path/to/public/plans.pdf' + +http.createServer(function onRequest (req, res) { + // set headers + res.setHeader('Content-Type', 'application/pdf') + res.setHeader('Content-Disposition', contentDisposition(filePath)) + + // send file + var stream = fs.createReadStream(filePath) + stream.pipe(res) + onFinished(res, function () { + destroy(stream) + }) +}) +``` + +## Testing + +```sh +$ npm test +``` + +## References + +- [RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1][rfc-2616] +- [RFC 5987: Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters][rfc-5987] +- [RFC 6266: Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)][rfc-6266] +- [Test Cases for HTTP Content-Disposition header field (RFC 6266) and the Encodings defined in RFCs 2047, 2231 and 5987][tc-2231] + +[rfc-2616]: https://tools.ietf.org/html/rfc2616 +[rfc-5987]: https://tools.ietf.org/html/rfc5987 +[rfc-6266]: https://tools.ietf.org/html/rfc6266 +[tc-2231]: http://greenbytes.de/tech/tc2231/ + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/content-disposition.svg +[npm-url]: https://npmjs.org/package/content-disposition +[node-version-image]: https://img.shields.io/node/v/content-disposition.svg +[node-version-url]: https://nodejs.org/en/download +[coveralls-image]: https://img.shields.io/coveralls/jshttp/content-disposition.svg +[coveralls-url]: https://coveralls.io/r/jshttp/content-disposition?branch=master +[downloads-image]: https://img.shields.io/npm/dm/content-disposition.svg +[downloads-url]: https://npmjs.org/package/content-disposition +[github-actions-ci-image]: https://img.shields.io/github/workflow/status/jshttp/content-disposition/ci/master?label=ci +[github-actions-ci-url]: https://github.com/jshttp/content-disposition?query=workflow%3Aci diff --git a/DEV/shortcut-app/node_modules/content-disposition/index.js b/DEV/shortcut-app/node_modules/content-disposition/index.js new file mode 100644 index 0000000..ecec899 --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-disposition/index.js @@ -0,0 +1,458 @@ +/*! + * content-disposition + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = contentDisposition +module.exports.parse = parse + +/** + * Module dependencies. + * @private + */ + +var basename = require('path').basename +var Buffer = require('safe-buffer').Buffer + +/** + * RegExp to match non attr-char, *after* encodeURIComponent (i.e. not including "%") + * @private + */ + +var ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g // eslint-disable-line no-control-regex + +/** + * RegExp to match percent encoding escape. + * @private + */ + +var HEX_ESCAPE_REGEXP = /%[0-9A-Fa-f]{2}/ +var HEX_ESCAPE_REPLACE_REGEXP = /%([0-9A-Fa-f]{2})/g + +/** + * RegExp to match non-latin1 characters. + * @private + */ + +var NON_LATIN1_REGEXP = /[^\x20-\x7e\xa0-\xff]/g + +/** + * RegExp to match quoted-pair in RFC 2616 + * + * quoted-pair = "\" CHAR + * CHAR = + * @private + */ + +var QESC_REGEXP = /\\([\u0000-\u007f])/g // eslint-disable-line no-control-regex + +/** + * RegExp to match chars that must be quoted-pair in RFC 2616 + * @private + */ + +var QUOTE_REGEXP = /([\\"])/g + +/** + * RegExp for various RFC 2616 grammar + * + * parameter = token "=" ( token | quoted-string ) + * token = 1* + * separators = "(" | ")" | "<" | ">" | "@" + * | "," | ";" | ":" | "\" | <"> + * | "/" | "[" | "]" | "?" | "=" + * | "{" | "}" | SP | HT + * quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) + * qdtext = > + * quoted-pair = "\" CHAR + * CHAR = + * TEXT = + * LWS = [CRLF] 1*( SP | HT ) + * CRLF = CR LF + * CR = + * LF = + * SP = + * HT = + * CTL = + * OCTET = + * @private + */ + +var PARAM_REGEXP = /;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g // eslint-disable-line no-control-regex +var TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]+$/ +var TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/ + +/** + * RegExp for various RFC 5987 grammar + * + * ext-value = charset "'" [ language ] "'" value-chars + * charset = "UTF-8" / "ISO-8859-1" / mime-charset + * mime-charset = 1*mime-charsetc + * mime-charsetc = ALPHA / DIGIT + * / "!" / "#" / "$" / "%" / "&" + * / "+" / "-" / "^" / "_" / "`" + * / "{" / "}" / "~" + * language = ( 2*3ALPHA [ extlang ] ) + * / 4ALPHA + * / 5*8ALPHA + * extlang = *3( "-" 3ALPHA ) + * value-chars = *( pct-encoded / attr-char ) + * pct-encoded = "%" HEXDIG HEXDIG + * attr-char = ALPHA / DIGIT + * / "!" / "#" / "$" / "&" / "+" / "-" / "." + * / "^" / "_" / "`" / "|" / "~" + * @private + */ + +var EXT_VALUE_REGEXP = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/ + +/** + * RegExp for various RFC 6266 grammar + * + * disposition-type = "inline" | "attachment" | disp-ext-type + * disp-ext-type = token + * disposition-parm = filename-parm | disp-ext-parm + * filename-parm = "filename" "=" value + * | "filename*" "=" ext-value + * disp-ext-parm = token "=" value + * | ext-token "=" ext-value + * ext-token = + * @private + */ + +var DISPOSITION_TYPE_REGEXP = /^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/ // eslint-disable-line no-control-regex + +/** + * Create an attachment Content-Disposition header. + * + * @param {string} [filename] + * @param {object} [options] + * @param {string} [options.type=attachment] + * @param {string|boolean} [options.fallback=true] + * @return {string} + * @public + */ + +function contentDisposition (filename, options) { + var opts = options || {} + + // get type + var type = opts.type || 'attachment' + + // get parameters + var params = createparams(filename, opts.fallback) + + // format into string + return format(new ContentDisposition(type, params)) +} + +/** + * Create parameters object from filename and fallback. + * + * @param {string} [filename] + * @param {string|boolean} [fallback=true] + * @return {object} + * @private + */ + +function createparams (filename, fallback) { + if (filename === undefined) { + return + } + + var params = {} + + if (typeof filename !== 'string') { + throw new TypeError('filename must be a string') + } + + // fallback defaults to true + if (fallback === undefined) { + fallback = true + } + + if (typeof fallback !== 'string' && typeof fallback !== 'boolean') { + throw new TypeError('fallback must be a string or boolean') + } + + if (typeof fallback === 'string' && NON_LATIN1_REGEXP.test(fallback)) { + throw new TypeError('fallback must be ISO-8859-1 string') + } + + // restrict to file base name + var name = basename(filename) + + // determine if name is suitable for quoted string + var isQuotedString = TEXT_REGEXP.test(name) + + // generate fallback name + var fallbackName = typeof fallback !== 'string' + ? fallback && getlatin1(name) + : basename(fallback) + var hasFallback = typeof fallbackName === 'string' && fallbackName !== name + + // set extended filename parameter + if (hasFallback || !isQuotedString || HEX_ESCAPE_REGEXP.test(name)) { + params['filename*'] = name + } + + // set filename parameter + if (isQuotedString || hasFallback) { + params.filename = hasFallback + ? fallbackName + : name + } + + return params +} + +/** + * Format object to Content-Disposition header. + * + * @param {object} obj + * @param {string} obj.type + * @param {object} [obj.parameters] + * @return {string} + * @private + */ + +function format (obj) { + var parameters = obj.parameters + var type = obj.type + + if (!type || typeof type !== 'string' || !TOKEN_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + // start with normalized type + var string = String(type).toLowerCase() + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + var val = param.substr(-1) === '*' + ? ustring(parameters[param]) + : qstring(parameters[param]) + + string += '; ' + param + '=' + val + } + } + + return string +} + +/** + * Decode a RFC 5987 field value (gracefully). + * + * @param {string} str + * @return {string} + * @private + */ + +function decodefield (str) { + var match = EXT_VALUE_REGEXP.exec(str) + + if (!match) { + throw new TypeError('invalid extended field value') + } + + var charset = match[1].toLowerCase() + var encoded = match[2] + var value + + // to binary string + var binary = encoded.replace(HEX_ESCAPE_REPLACE_REGEXP, pdecode) + + switch (charset) { + case 'iso-8859-1': + value = getlatin1(binary) + break + case 'utf-8': + value = Buffer.from(binary, 'binary').toString('utf8') + break + default: + throw new TypeError('unsupported charset in extended field') + } + + return value +} + +/** + * Get ISO-8859-1 version of string. + * + * @param {string} val + * @return {string} + * @private + */ + +function getlatin1 (val) { + // simple Unicode -> ISO-8859-1 transformation + return String(val).replace(NON_LATIN1_REGEXP, '?') +} + +/** + * Parse Content-Disposition header string. + * + * @param {string} string + * @return {object} + * @public + */ + +function parse (string) { + if (!string || typeof string !== 'string') { + throw new TypeError('argument string is required') + } + + var match = DISPOSITION_TYPE_REGEXP.exec(string) + + if (!match) { + throw new TypeError('invalid type format') + } + + // normalize type + var index = match[0].length + var type = match[1].toLowerCase() + + var key + var names = [] + var params = {} + var value + + // calculate index to start at + index = PARAM_REGEXP.lastIndex = match[0].substr(-1) === ';' + ? index - 1 + : index + + // match parameters + while ((match = PARAM_REGEXP.exec(string))) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (names.indexOf(key) !== -1) { + throw new TypeError('invalid duplicate parameter') + } + + names.push(key) + + if (key.indexOf('*') + 1 === key.length) { + // decode extended value + key = key.slice(0, -1) + value = decodefield(value) + + // overwrite existing value + params[key] = value + continue + } + + if (typeof params[key] === 'string') { + continue + } + + if (value[0] === '"') { + // remove quotes and escapes + value = value + .substr(1, value.length - 2) + .replace(QESC_REGEXP, '$1') + } + + params[key] = value + } + + if (index !== -1 && index !== string.length) { + throw new TypeError('invalid parameter format') + } + + return new ContentDisposition(type, params) +} + +/** + * Percent decode a single character. + * + * @param {string} str + * @param {string} hex + * @return {string} + * @private + */ + +function pdecode (str, hex) { + return String.fromCharCode(parseInt(hex, 16)) +} + +/** + * Percent encode a single character. + * + * @param {string} char + * @return {string} + * @private + */ + +function pencode (char) { + return '%' + String(char) + .charCodeAt(0) + .toString(16) + .toUpperCase() +} + +/** + * Quote a string for HTTP. + * + * @param {string} val + * @return {string} + * @private + */ + +function qstring (val) { + var str = String(val) + + return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"' +} + +/** + * Encode a Unicode string for HTTP (RFC 5987). + * + * @param {string} val + * @return {string} + * @private + */ + +function ustring (val) { + var str = String(val) + + // percent encode as UTF-8 + var encoded = encodeURIComponent(str) + .replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode) + + return 'UTF-8\'\'' + encoded +} + +/** + * Class for parsed Content-Disposition header for v8 optimization + * + * @public + * @param {string} type + * @param {object} parameters + * @constructor + */ + +function ContentDisposition (type, parameters) { + this.type = type + this.parameters = parameters +} diff --git a/DEV/shortcut-app/node_modules/content-disposition/package.json b/DEV/shortcut-app/node_modules/content-disposition/package.json new file mode 100644 index 0000000..43c70ce --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-disposition/package.json @@ -0,0 +1,44 @@ +{ + "name": "content-disposition", + "description": "Create and parse Content-Disposition header", + "version": "0.5.4", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "keywords": [ + "content-disposition", + "http", + "rfc6266", + "res" + ], + "repository": "jshttp/content-disposition", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "devDependencies": { + "deep-equal": "1.0.1", + "eslint": "7.32.0", + "eslint-config-standard": "13.0.1", + "eslint-plugin-import": "2.25.3", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "5.2.0", + "eslint-plugin-standard": "4.1.0", + "istanbul": "0.4.5", + "mocha": "9.1.3" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" + } +} diff --git a/DEV/shortcut-app/node_modules/content-type/HISTORY.md b/DEV/shortcut-app/node_modules/content-type/HISTORY.md new file mode 100644 index 0000000..4583671 --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-type/HISTORY.md @@ -0,0 +1,29 @@ +1.0.5 / 2023-01-29 +================== + + * perf: skip value escaping when unnecessary + +1.0.4 / 2017-09-11 +================== + + * perf: skip parameter parsing when no parameters + +1.0.3 / 2017-09-10 +================== + + * perf: remove argument reassignment + +1.0.2 / 2016-05-09 +================== + + * perf: enable strict mode + +1.0.1 / 2015-02-13 +================== + + * Improve missing `Content-Type` header error message + +1.0.0 / 2015-02-01 +================== + + * Initial implementation, derived from `media-typer@0.3.0` diff --git a/DEV/shortcut-app/node_modules/content-type/LICENSE b/DEV/shortcut-app/node_modules/content-type/LICENSE new file mode 100644 index 0000000..34b1a2d --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-type/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/DEV/shortcut-app/node_modules/content-type/README.md b/DEV/shortcut-app/node_modules/content-type/README.md new file mode 100644 index 0000000..c1a922a --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-type/README.md @@ -0,0 +1,94 @@ +# content-type + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][ci-image]][ci-url] +[![Coverage Status][coveralls-image]][coveralls-url] + +Create and parse HTTP Content-Type header according to RFC 7231 + +## Installation + +```sh +$ npm install content-type +``` + +## API + +```js +var contentType = require('content-type') +``` + +### contentType.parse(string) + +```js +var obj = contentType.parse('image/svg+xml; charset=utf-8') +``` + +Parse a `Content-Type` header. This will return an object with the following +properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The media type (the type and subtype, always lower case). + Example: `'image/svg+xml'` + + - `parameters`: An object of the parameters in the media type (name of parameter + always lower case). Example: `{charset: 'utf-8'}` + +Throws a `TypeError` if the string is missing or invalid. + +### contentType.parse(req) + +```js +var obj = contentType.parse(req) +``` + +Parse the `Content-Type` header from the given `req`. Short-cut for +`contentType.parse(req.headers['content-type'])`. + +Throws a `TypeError` if the `Content-Type` header is missing or invalid. + +### contentType.parse(res) + +```js +var obj = contentType.parse(res) +``` + +Parse the `Content-Type` header set on the given `res`. Short-cut for +`contentType.parse(res.getHeader('content-type'))`. + +Throws a `TypeError` if the `Content-Type` header is missing or invalid. + +### contentType.format(obj) + +```js +var str = contentType.format({ + type: 'image/svg+xml', + parameters: { charset: 'utf-8' } +}) +``` + +Format an object into a `Content-Type` header. This will return a string of the +content type for the given object with the following properties (examples are +shown that produce the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The media type (will be lower-cased). Example: `'image/svg+xml'` + + - `parameters`: An object of the parameters in the media type (name of the + parameter will be lower-cased). Example: `{charset: 'utf-8'}` + +Throws a `TypeError` if the object contains an invalid type or parameter names. + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/content-type/master?label=ci +[ci-url]: https://github.com/jshttp/content-type/actions/workflows/ci.yml +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/content-type/master +[coveralls-url]: https://coveralls.io/r/jshttp/content-type?branch=master +[node-image]: https://badgen.net/npm/node/content-type +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/content-type +[npm-url]: https://npmjs.org/package/content-type +[npm-version-image]: https://badgen.net/npm/v/content-type diff --git a/DEV/shortcut-app/node_modules/content-type/index.js b/DEV/shortcut-app/node_modules/content-type/index.js new file mode 100644 index 0000000..41840e7 --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-type/index.js @@ -0,0 +1,225 @@ +/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1 + * + * parameter = token "=" ( token / quoted-string ) + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" + * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" + * / DIGIT / ALPHA + * ; any VCHAR, except delimiters + * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE + * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text + * obs-text = %x80-FF + * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + */ +var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex +var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/ // eslint-disable-line no-control-regex +var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/ + +/** + * RegExp to match quoted-pair in RFC 7230 sec 3.2.6 + * + * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + * obs-text = %x80-FF + */ +var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g // eslint-disable-line no-control-regex + +/** + * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6 + */ +var QUOTE_REGEXP = /([\\"])/g + +/** + * RegExp to match type in RFC 7231 sec 3.1.1.1 + * + * media-type = type "/" subtype + * type = token + * subtype = token + */ +var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/ + +/** + * Module exports. + * @public + */ + +exports.format = format +exports.parse = parse + +/** + * Format object to media type. + * + * @param {object} obj + * @return {string} + * @public + */ + +function format (obj) { + if (!obj || typeof obj !== 'object') { + throw new TypeError('argument obj is required') + } + + var parameters = obj.parameters + var type = obj.type + + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + var string = type + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError('invalid parameter name') + } + + string += '; ' + param + '=' + qstring(parameters[param]) + } + } + + return string +} + +/** + * Parse media type to object. + * + * @param {string|object} string + * @return {Object} + * @public + */ + +function parse (string) { + if (!string) { + throw new TypeError('argument string is required') + } + + // support req/res-like objects as argument + var header = typeof string === 'object' + ? getcontenttype(string) + : string + + if (typeof header !== 'string') { + throw new TypeError('argument string is required to be a string') + } + + var index = header.indexOf(';') + var type = index !== -1 + ? header.slice(0, index).trim() + : header.trim() + + if (!TYPE_REGEXP.test(type)) { + throw new TypeError('invalid media type') + } + + var obj = new ContentType(type.toLowerCase()) + + // parse parameters + if (index !== -1) { + var key + var match + var value + + PARAM_REGEXP.lastIndex = index + + while ((match = PARAM_REGEXP.exec(header))) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (value.charCodeAt(0) === 0x22 /* " */) { + // remove quotes + value = value.slice(1, -1) + + // remove escapes + if (value.indexOf('\\') !== -1) { + value = value.replace(QESC_REGEXP, '$1') + } + } + + obj.parameters[key] = value + } + + if (index !== header.length) { + throw new TypeError('invalid parameter format') + } + } + + return obj +} + +/** + * Get content-type from req/res objects. + * + * @param {object} + * @return {Object} + * @private + */ + +function getcontenttype (obj) { + var header + + if (typeof obj.getHeader === 'function') { + // res-like + header = obj.getHeader('content-type') + } else if (typeof obj.headers === 'object') { + // req-like + header = obj.headers && obj.headers['content-type'] + } + + if (typeof header !== 'string') { + throw new TypeError('content-type header is missing from object') + } + + return header +} + +/** + * Quote a string if necessary. + * + * @param {string} val + * @return {string} + * @private + */ + +function qstring (val) { + var str = String(val) + + // no need to quote tokens + if (TOKEN_REGEXP.test(str)) { + return str + } + + if (str.length > 0 && !TEXT_REGEXP.test(str)) { + throw new TypeError('invalid parameter value') + } + + return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"' +} + +/** + * Class to represent a content type. + * @private + */ +function ContentType (type) { + this.parameters = Object.create(null) + this.type = type +} diff --git a/DEV/shortcut-app/node_modules/content-type/package.json b/DEV/shortcut-app/node_modules/content-type/package.json new file mode 100644 index 0000000..9db19f6 --- /dev/null +++ b/DEV/shortcut-app/node_modules/content-type/package.json @@ -0,0 +1,42 @@ +{ + "name": "content-type", + "description": "Create and parse HTTP Content-Type header", + "version": "1.0.5", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "keywords": [ + "content-type", + "http", + "req", + "res", + "rfc7231" + ], + "repository": "jshttp/content-type", + "devDependencies": { + "deep-equal": "1.0.1", + "eslint": "8.32.0", + "eslint-config-standard": "15.0.1", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "10.2.0", + "nyc": "15.1.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "version": "node scripts/version-history.js && git add HISTORY.md" + } +} diff --git a/DEV/shortcut-app/node_modules/cookie-signature/History.md b/DEV/shortcut-app/node_modules/cookie-signature/History.md new file mode 100644 index 0000000..bcf8cc9 --- /dev/null +++ b/DEV/shortcut-app/node_modules/cookie-signature/History.md @@ -0,0 +1,42 @@ +1.0.7 / 2023-04-12 +================== + +* backport the buffer support from the 1.2.x release branch (thanks @FadhiliNjagi!) + +1.0.6 / 2015-02-03 +================== + +* use `npm test` instead of `make test` to run tests +* clearer assertion messages when checking input + +1.0.5 / 2014-09-05 +================== + +* add license to package.json + +1.0.4 / 2014-06-25 +================== + + * corrected avoidance of timing attacks (thanks @tenbits!) + +1.0.3 / 2014-01-28 +================== + + * [incorrect] fix for timing attacks + +1.0.2 / 2014-01-28 +================== + + * fix missing repository warning + * fix typo in test + +1.0.1 / 2013-04-15 +================== + + * Revert "Changed underlying HMAC algo. to sha512." + * Revert "Fix for timing attacks on MAC verification." + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/DEV/shortcut-app/node_modules/cookie-signature/Readme.md b/DEV/shortcut-app/node_modules/cookie-signature/Readme.md new file mode 100644 index 0000000..2559e84 --- /dev/null +++ b/DEV/shortcut-app/node_modules/cookie-signature/Readme.md @@ -0,0 +1,42 @@ + +# cookie-signature + + Sign and unsign cookies. + +## Example + +```js +var cookie = require('cookie-signature'); + +var val = cookie.sign('hello', 'tobiiscool'); +val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); + +var val = cookie.sign('hello', 'tobiiscool'); +cookie.unsign(val, 'tobiiscool').should.equal('hello'); +cookie.unsign(val, 'luna').should.be.false; +``` + +## License + +(The MIT License) + +Copyright (c) 2012 LearnBoost <tj@learnboost.com> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/cookie-signature/index.js b/DEV/shortcut-app/node_modules/cookie-signature/index.js new file mode 100644 index 0000000..336d487 --- /dev/null +++ b/DEV/shortcut-app/node_modules/cookie-signature/index.js @@ -0,0 +1,51 @@ +/** + * Module dependencies. + */ + +var crypto = require('crypto'); + +/** + * Sign the given `val` with `secret`. + * + * @param {String} val + * @param {String|NodeJS.ArrayBufferView|crypto.KeyObject} secret + * @return {String} + * @api private + */ + +exports.sign = function(val, secret){ + if ('string' !== typeof val) throw new TypeError("Cookie value must be provided as a string."); + if (null == secret) throw new TypeError("Secret key must be provided."); + return val + '.' + crypto + .createHmac('sha256', secret) + .update(val) + .digest('base64') + .replace(/\=+$/, ''); +}; + +/** + * Unsign and decode the given `val` with `secret`, + * returning `false` if the signature is invalid. + * + * @param {String} val + * @param {String|NodeJS.ArrayBufferView|crypto.KeyObject} secret + * @return {String|Boolean} + * @api private + */ + +exports.unsign = function(val, secret){ + if ('string' !== typeof val) throw new TypeError("Signed cookie string must be provided."); + if (null == secret) throw new TypeError("Secret key must be provided."); + var str = val.slice(0, val.lastIndexOf('.')) + , mac = exports.sign(str, secret); + + return sha1(mac) == sha1(val) ? str : false; +}; + +/** + * Private + */ + +function sha1(str){ + return crypto.createHash('sha1').update(str).digest('hex'); +} diff --git a/DEV/shortcut-app/node_modules/cookie-signature/package.json b/DEV/shortcut-app/node_modules/cookie-signature/package.json new file mode 100644 index 0000000..738487b --- /dev/null +++ b/DEV/shortcut-app/node_modules/cookie-signature/package.json @@ -0,0 +1,18 @@ +{ + "name": "cookie-signature", + "version": "1.0.7", + "description": "Sign and unsign cookies", + "keywords": ["cookie", "sign", "unsign"], + "author": "TJ Holowaychuk ", + "license": "MIT", + "repository": { "type": "git", "url": "https://github.com/visionmedia/node-cookie-signature.git"}, + "dependencies": {}, + "devDependencies": { + "mocha": "*", + "should": "*" + }, + "scripts": { + "test": "mocha --require should --reporter spec" + }, + "main": "index" +} \ No newline at end of file diff --git a/DEV/shortcut-app/node_modules/cookie/LICENSE b/DEV/shortcut-app/node_modules/cookie/LICENSE new file mode 100644 index 0000000..058b6b4 --- /dev/null +++ b/DEV/shortcut-app/node_modules/cookie/LICENSE @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/DEV/shortcut-app/node_modules/cookie/README.md b/DEV/shortcut-app/node_modules/cookie/README.md new file mode 100644 index 0000000..71fdac1 --- /dev/null +++ b/DEV/shortcut-app/node_modules/cookie/README.md @@ -0,0 +1,317 @@ +# cookie + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][ci-image]][ci-url] +[![Coverage Status][coveralls-image]][coveralls-url] + +Basic HTTP cookie parser and serializer for HTTP servers. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install cookie +``` + +## API + +```js +var cookie = require('cookie'); +``` + +### cookie.parse(str, options) + +Parse an HTTP `Cookie` header string and returning an object of all cookie name-value pairs. +The `str` argument is the string representing a `Cookie` header value and `options` is an +optional object containing additional parsing options. + +```js +var cookies = cookie.parse('foo=bar; equation=E%3Dmc%5E2'); +// { foo: 'bar', equation: 'E=mc^2' } +``` + +#### Options + +`cookie.parse` accepts these properties in the options object. + +##### decode + +Specifies a function that will be used to decode a cookie's value. Since the value of a cookie +has a limited character set (and must be a simple string), this function can be used to decode +a previously-encoded cookie value into a JavaScript string or other object. + +The default function is the global `decodeURIComponent`, which will decode any URL-encoded +sequences into their byte representations. + +**note** if an error is thrown from this function, the original, non-decoded cookie value will +be returned as the cookie's value. + +### cookie.serialize(name, value, options) + +Serialize a cookie name-value pair into a `Set-Cookie` header string. The `name` argument is the +name for the cookie, the `value` argument is the value to set the cookie to, and the `options` +argument is an optional object containing additional serialization options. + +```js +var setCookie = cookie.serialize('foo', 'bar'); +// foo=bar +``` + +#### Options + +`cookie.serialize` accepts these properties in the options object. + +##### domain + +Specifies the value for the [`Domain` `Set-Cookie` attribute][rfc-6265-5.2.3]. By default, no +domain is set, and most clients will consider the cookie to apply to only the current domain. + +##### encode + +Specifies a function that will be used to encode a cookie's value. Since value of a cookie +has a limited character set (and must be a simple string), this function can be used to encode +a value into a string suited for a cookie's value. + +The default function is the global `encodeURIComponent`, which will encode a JavaScript string +into UTF-8 byte sequences and then URL-encode any that fall outside of the cookie range. + +##### expires + +Specifies the `Date` object to be the value for the [`Expires` `Set-Cookie` attribute][rfc-6265-5.2.1]. +By default, no expiration is set, and most clients will consider this a "non-persistent cookie" and +will delete it on a condition like exiting a web browser application. + +**note** the [cookie storage model specification][rfc-6265-5.3] states that if both `expires` and +`maxAge` are set, then `maxAge` takes precedence, but it is possible not all clients by obey this, +so if both are set, they should point to the same date and time. + +##### httpOnly + +Specifies the `boolean` value for the [`HttpOnly` `Set-Cookie` attribute][rfc-6265-5.2.6]. When truthy, +the `HttpOnly` attribute is set, otherwise it is not. By default, the `HttpOnly` attribute is not set. + +**note** be careful when setting this to `true`, as compliant clients will not allow client-side +JavaScript to see the cookie in `document.cookie`. + +##### maxAge + +Specifies the `number` (in seconds) to be the value for the [`Max-Age` `Set-Cookie` attribute][rfc-6265-5.2.2]. +The given number will be converted to an integer by rounding down. By default, no maximum age is set. + +**note** the [cookie storage model specification][rfc-6265-5.3] states that if both `expires` and +`maxAge` are set, then `maxAge` takes precedence, but it is possible not all clients by obey this, +so if both are set, they should point to the same date and time. + +##### partitioned + +Specifies the `boolean` value for the [`Partitioned` `Set-Cookie`](rfc-cutler-httpbis-partitioned-cookies) +attribute. When truthy, the `Partitioned` attribute is set, otherwise it is not. By default, the +`Partitioned` attribute is not set. + +**note** This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it. + +More information about can be found in [the proposal](https://github.com/privacycg/CHIPS). + +##### path + +Specifies the value for the [`Path` `Set-Cookie` attribute][rfc-6265-5.2.4]. By default, the path +is considered the ["default path"][rfc-6265-5.1.4]. + +##### priority + +Specifies the `string` to be the value for the [`Priority` `Set-Cookie` attribute][rfc-west-cookie-priority-00-4.1]. + + - `'low'` will set the `Priority` attribute to `Low`. + - `'medium'` will set the `Priority` attribute to `Medium`, the default priority when not set. + - `'high'` will set the `Priority` attribute to `High`. + +More information about the different priority levels can be found in +[the specification][rfc-west-cookie-priority-00-4.1]. + +**note** This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it. + +##### sameSite + +Specifies the `boolean` or `string` to be the value for the [`SameSite` `Set-Cookie` attribute][rfc-6265bis-09-5.4.7]. + + - `true` will set the `SameSite` attribute to `Strict` for strict same site enforcement. + - `false` will not set the `SameSite` attribute. + - `'lax'` will set the `SameSite` attribute to `Lax` for lax same site enforcement. + - `'none'` will set the `SameSite` attribute to `None` for an explicit cross-site cookie. + - `'strict'` will set the `SameSite` attribute to `Strict` for strict same site enforcement. + +More information about the different enforcement levels can be found in +[the specification][rfc-6265bis-09-5.4.7]. + +**note** This is an attribute that has not yet been fully standardized, and may change in the future. +This also means many clients may ignore this attribute until they understand it. + +##### secure + +Specifies the `boolean` value for the [`Secure` `Set-Cookie` attribute][rfc-6265-5.2.5]. When truthy, +the `Secure` attribute is set, otherwise it is not. By default, the `Secure` attribute is not set. + +**note** be careful when setting this to `true`, as compliant clients will not send the cookie back to +the server in the future if the browser does not have an HTTPS connection. + +## Example + +The following example uses this module in conjunction with the Node.js core HTTP server +to prompt a user for their name and display it back on future visits. + +```js +var cookie = require('cookie'); +var escapeHtml = require('escape-html'); +var http = require('http'); +var url = require('url'); + +function onRequest(req, res) { + // Parse the query string + var query = url.parse(req.url, true, true).query; + + if (query && query.name) { + // Set a new cookie with the name + res.setHeader('Set-Cookie', cookie.serialize('name', String(query.name), { + httpOnly: true, + maxAge: 60 * 60 * 24 * 7 // 1 week + })); + + // Redirect back after setting cookie + res.statusCode = 302; + res.setHeader('Location', req.headers.referer || '/'); + res.end(); + return; + } + + // Parse the cookies on the request + var cookies = cookie.parse(req.headers.cookie || ''); + + // Get the visitor name set in the cookie + var name = cookies.name; + + res.setHeader('Content-Type', 'text/html; charset=UTF-8'); + + if (name) { + res.write('

Welcome back, ' + escapeHtml(name) + '!

'); + } else { + res.write('

Hello, new visitor!

'); + } + + res.write('
'); + res.write(' '); + res.end('
'); +} + +http.createServer(onRequest).listen(3000); +``` + +## Testing + +```sh +$ npm test +``` + +## Benchmark + +``` +$ npm run bench + +> cookie@0.5.0 bench +> node benchmark/index.js + + node@18.18.2 + acorn@8.10.0 + ada@2.6.0 + ares@1.19.1 + brotli@1.0.9 + cldr@43.1 + icu@73.2 + llhttp@6.0.11 + modules@108 + napi@9 + nghttp2@1.57.0 + nghttp3@0.7.0 + ngtcp2@0.8.1 + openssl@3.0.10+quic + simdutf@3.2.14 + tz@2023c + undici@5.26.3 + unicode@15.0 + uv@1.44.2 + uvwasi@0.0.18 + v8@10.2.154.26-node.26 + zlib@1.2.13.1-motley + +> node benchmark/parse-top.js + + cookie.parse - top sites + + 14 tests completed. + + parse accounts.google.com x 2,588,913 ops/sec ±0.74% (186 runs sampled) + parse apple.com x 2,370,002 ops/sec ±0.69% (186 runs sampled) + parse cloudflare.com x 2,213,102 ops/sec ±0.88% (188 runs sampled) + parse docs.google.com x 2,194,157 ops/sec ±1.03% (184 runs sampled) + parse drive.google.com x 2,265,084 ops/sec ±0.79% (187 runs sampled) + parse en.wikipedia.org x 457,099 ops/sec ±0.81% (186 runs sampled) + parse linkedin.com x 504,407 ops/sec ±0.89% (186 runs sampled) + parse maps.google.com x 1,230,959 ops/sec ±0.98% (186 runs sampled) + parse microsoft.com x 926,294 ops/sec ±0.88% (184 runs sampled) + parse play.google.com x 2,311,338 ops/sec ±0.83% (185 runs sampled) + parse support.google.com x 1,508,850 ops/sec ±0.86% (186 runs sampled) + parse www.google.com x 1,022,582 ops/sec ±1.32% (182 runs sampled) + parse youtu.be x 332,136 ops/sec ±1.02% (185 runs sampled) + parse youtube.com x 323,833 ops/sec ±0.77% (183 runs sampled) + +> node benchmark/parse.js + + cookie.parse - generic + + 6 tests completed. + + simple x 3,214,032 ops/sec ±1.61% (183 runs sampled) + decode x 587,237 ops/sec ±1.16% (187 runs sampled) + unquote x 2,954,618 ops/sec ±1.35% (183 runs sampled) + duplicates x 857,008 ops/sec ±0.89% (187 runs sampled) + 10 cookies x 292,133 ops/sec ±0.89% (187 runs sampled) + 100 cookies x 22,610 ops/sec ±0.68% (187 runs sampled) +``` + +## References + +- [RFC 6265: HTTP State Management Mechanism][rfc-6265] +- [Same-site Cookies][rfc-6265bis-09-5.4.7] + +[rfc-cutler-httpbis-partitioned-cookies]: https://tools.ietf.org/html/draft-cutler-httpbis-partitioned-cookies/ +[rfc-west-cookie-priority-00-4.1]: https://tools.ietf.org/html/draft-west-cookie-priority-00#section-4.1 +[rfc-6265bis-09-5.4.7]: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-09#section-5.4.7 +[rfc-6265]: https://tools.ietf.org/html/rfc6265 +[rfc-6265-5.1.4]: https://tools.ietf.org/html/rfc6265#section-5.1.4 +[rfc-6265-5.2.1]: https://tools.ietf.org/html/rfc6265#section-5.2.1 +[rfc-6265-5.2.2]: https://tools.ietf.org/html/rfc6265#section-5.2.2 +[rfc-6265-5.2.3]: https://tools.ietf.org/html/rfc6265#section-5.2.3 +[rfc-6265-5.2.4]: https://tools.ietf.org/html/rfc6265#section-5.2.4 +[rfc-6265-5.2.5]: https://tools.ietf.org/html/rfc6265#section-5.2.5 +[rfc-6265-5.2.6]: https://tools.ietf.org/html/rfc6265#section-5.2.6 +[rfc-6265-5.3]: https://tools.ietf.org/html/rfc6265#section-5.3 + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/cookie/master?label=ci +[ci-url]: https://github.com/jshttp/cookie/actions/workflows/ci.yml +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/cookie/master +[coveralls-url]: https://coveralls.io/r/jshttp/cookie?branch=master +[node-image]: https://badgen.net/npm/node/cookie +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/cookie +[npm-url]: https://npmjs.org/package/cookie +[npm-version-image]: https://badgen.net/npm/v/cookie diff --git a/DEV/shortcut-app/node_modules/cookie/SECURITY.md b/DEV/shortcut-app/node_modules/cookie/SECURITY.md new file mode 100644 index 0000000..fd4a6c5 --- /dev/null +++ b/DEV/shortcut-app/node_modules/cookie/SECURITY.md @@ -0,0 +1,25 @@ +# Security Policies and Procedures + +## Reporting a Bug + +The `cookie` team and community take all security bugs seriously. Thank +you for improving the security of the project. We appreciate your efforts and +responsible disclosure and will make every effort to acknowledge your +contributions. + +Report security bugs by emailing the current owner(s) of `cookie`. This +information can be found in the npm registry using the command +`npm owner ls cookie`. +If unsure or unable to get the information from the above, open an issue +in the [project issue tracker](https://github.com/jshttp/cookie/issues) +asking for the current contact information. + +To ensure the timely response to your report, please ensure that the entirety +of the report is contained within the email body and not solely behind a web +link or an attachment. + +At least one owner will acknowledge your email within 48 hours, and will send a +more detailed response within 48 hours indicating the next steps in handling +your report. After the initial reply to your report, the owners will +endeavor to keep you informed of the progress towards a fix and full +announcement, and may ask for additional information or guidance. diff --git a/DEV/shortcut-app/node_modules/cookie/index.js b/DEV/shortcut-app/node_modules/cookie/index.js new file mode 100644 index 0000000..acd5acd --- /dev/null +++ b/DEV/shortcut-app/node_modules/cookie/index.js @@ -0,0 +1,335 @@ +/*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +exports.parse = parse; +exports.serialize = serialize; + +/** + * Module variables. + * @private + */ + +var __toString = Object.prototype.toString +var __hasOwnProperty = Object.prototype.hasOwnProperty + +/** + * RegExp to match cookie-name in RFC 6265 sec 4.1.1 + * This refers out to the obsoleted definition of token in RFC 2616 sec 2.2 + * which has been replaced by the token definition in RFC 7230 appendix B. + * + * cookie-name = token + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / + * "*" / "+" / "-" / "." / "^" / "_" / + * "`" / "|" / "~" / DIGIT / ALPHA + */ + +var cookieNameRegExp = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; + +/** + * RegExp to match cookie-value in RFC 6265 sec 4.1.1 + * + * cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE ) + * cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E + * ; US-ASCII characters excluding CTLs, + * ; whitespace DQUOTE, comma, semicolon, + * ; and backslash + */ + +var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/; + +/** + * RegExp to match domain-value in RFC 6265 sec 4.1.1 + * + * domain-value = + * ; defined in [RFC1034], Section 3.5, as + * ; enhanced by [RFC1123], Section 2.1 + * =